From 6231f3810cb2fa7f4aa4c9dd14f3d05d3c598a61 Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:10:04 +0200 Subject: [PATCH 1/7] Add README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..57f7e22 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# DirStat + +Simple directory statistics. + +## Overview + +**DirStat** is a simple graphical web application to show +where your disk space has gone to help you to clean it up. From 46ea24d91e1ea7769164a2e5a55d2c6197770f00 Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:17:17 +0200 Subject: [PATCH 2/7] Add LICENSE --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..af549a0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + DirStat shows where your disk space has gone to help you to clean it up. + Copyright (C) 2018 Gaël Girodon + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + DirStat Copyright (C) 2018 Gaël Girodon + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From 87e10f103d231a8c12d5c92cbe8cd6548adaa2ff Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:21:48 +0200 Subject: [PATCH 3/7] Add .gitignore --- .gitignore | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b6171f6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# +# .gitignore +# + +# dep +vendor/ + +# Node.js +node_modules/ + +# Binaries +*.exe + +# Minified scripts & styles +web/*.min.* + +# IDE +*.iml +.idea/ From b1994b5e66a630d1ee1b3ebe491785ea379ab804 Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:26:08 +0200 Subject: [PATCH 4/7] Setup the project --- Gopkg.lock | 57 + Gopkg.toml | 34 + README.md | 50 + gulpfile.js | 41 + package-lock.json | 5214 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 35 + 6 files changed, 5431 insertions(+) create mode 100644 Gopkg.lock create mode 100644 Gopkg.toml create mode 100644 gulpfile.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/Gopkg.lock b/Gopkg.lock new file mode 100644 index 0000000..90d43ae --- /dev/null +++ b/Gopkg.lock @@ -0,0 +1,57 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + digest = "1:72139cbee5a41ff8a322681be104aa8d7e7c92a5f3ad5501ea3505042b050b57" + name = "github.com/gobuffalo/envy" + packages = ["."] + pruneopts = "UT" + revision = "e0b181c424e7ca1a36f6f2db4bdfd25ef3421e77" + version = "v1.6.7" + +[[projects]] + branch = "master" + digest = "1:85ddc26efaf04eb9af4d1053ff47e228d3e54defa97a41cf775718fdec29f907" + name = "github.com/gobuffalo/packd" + packages = ["."] + pruneopts = "UT" + revision = "7ae579e6d213dc991ed29e86e8d9484bd41f670f" + +[[projects]] + digest = "1:e9338b1991d0308276caec9f370e996a2819f6385e11ce2a9ff442c7656f80a1" + name = "github.com/gobuffalo/packr" + packages = ["."] + pruneopts = "UT" + revision = "5f6de44620e6028e94dd8f1a675086cbebc8fd4b" + version = "v1.15.1" + +[[projects]] + digest = "1:ecd9aa82687cf31d1585d4ac61d0ba180e42e8a6182b85bd785fcca8dfeefc1b" + name = "github.com/joho/godotenv" + packages = ["."] + pruneopts = "UT" + revision = "23d116af351c84513e1946b527c88823e476be13" + version = "v1.3.0" + +[[projects]] + branch = "master" + digest = "1:598aa4555d1ea05a7b949e31e7db0e7b2df21f8772c53cc42f6543dc6bf9a35a" + name = "github.com/markbates/oncer" + packages = ["."] + pruneopts = "UT" + revision = "05fccaae8fc423476d98fd4c3e4699ba0fbbde48" + +[[projects]] + digest = "1:40e195917a951a8bf867cd05de2a46aaf1806c50cf92eebf4c16f78cd196f747" + name = "github.com/pkg/errors" + packages = ["."] + pruneopts = "UT" + revision = "645ef00459ed84a119197bfb8d8205042c6df63d" + version = "v0.8.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + input-imports = ["github.com/gobuffalo/packr"] + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml new file mode 100644 index 0000000..f0d94d8 --- /dev/null +++ b/Gopkg.toml @@ -0,0 +1,34 @@ +# Gopkg.toml example +# +# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" +# +# [prune] +# non-go = false +# go-tests = true +# unused-packages = true + + +[prune] + go-tests = true + unused-packages = true + +[[constraint]] + name = "github.com/gobuffalo/packr" + version = "1.15.1" diff --git a/README.md b/README.md index 57f7e22..fa35220 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,53 @@ Simple directory statistics. **DirStat** is a simple graphical web application to show where your disk space has gone to help you to clean it up. + +## Guide + +### Quick start + +1. Download the [latest release](https://github.com/GaelGirodon/dir-stat/releases) +2. Start **DirStat** +3. Set the path of the directory to scan +4. Click on the 🔍 **Scan** button +5. Navigate in the treemap to show where your disk space has gone + +### CLI usage + +```shell +dirstat --port 8000 +``` + +## Development + +### Setup + +Install global dependencies: + +- Node.js >= 8 +- Go >= 1.11 +- [Packr](https://github.com/gobuffalo/packr) >= 1.15 + +Then, install project dependencies: + +```shell +npm run ensure +``` + +### Build + +```shell +npm run build +``` + +### Release + +1. Start the release: `git flow release start X.Y.Z` +2. Update the version number in [`package.json`](package.json) +3. Commit changes: `git commit -m "Bump the version number to X.Y.Z"` +4. Finish the release: `git flow release finish X.Y.Z` +5. Push to the repository: `git push --all origin && git push --tags` + +## License + +DirStat is licensed under the GNU General Public License. diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..bf0a8f8 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,41 @@ +/* + * gulpfile.js + */ + +var gulp = require('gulp'); +var cleanCSS = require('gulp-clean-css'); +var concat = require('gulp-concat'); +var sass = require('gulp-sass'); +var uglify = require('gulp-uglify'); + +sass.compiler = require('node-sass'); + +// Paths +var src = './assets/'; +var dest = './web/'; + +// Styles +gulp.task('sass', function () { + return gulp.src(src + 'sass/dirstat.scss') + .pipe(concat('dirstat.min.css')) + .pipe(sass().on('error', sass.logError)) + .pipe(cleanCSS({level: {1: {specialComments: false}}})) + .pipe(gulp.dest(dest)); +}); + +// Scripts +gulp.task('js', function () { + var scripts = [ + './node_modules/vue/dist/vue.min.js', + './node_modules/vue-resource/dist/vue-resource.min.js', + src + 'js/lib/*.js', + src + 'js/*.js' + ]; + return gulp.src(scripts) + .pipe(concat('dirstat.min.js')) + .pipe(uglify()) + .pipe(gulp.dest(dest)) +}); + +// Default task +gulp.task('default', ['sass', 'js']); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e2b873b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5214 @@ +{ + "name": "dir-stat", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "2.7.0", + "resolved": "http://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "http://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "requires": { + "acorn": "^2.1.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bootstrap": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.3.tgz", + "integrity": "sha512-rDFIzgXcof0jDyjNosjv4Sno77X4KuPeFxG2XZZv1/Kc8DRVGVADdoQyyOVDwPqL36DDmtCQbrpMCqvpPLJQ0w==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "canvas-toBlob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", + "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=" + }, + "canvg": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-1.5.3.tgz", + "integrity": "sha512-7Gn2IuQzvUQWPIuZuFHrzsTM0gkPz2RRT9OcbdmA03jeKk8kltrD8gqUzNX15ghY/4PV5bbe5lmD6yDLDY6Ybg==", + "requires": { + "jsdom": "^8.1.0", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^1.4.1", + "xmldom": "^0.1.22" + }, + "dependencies": { + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha1-1lBezbMEplldom+ktDMHMGd1lF0=" + } + } + }, + "canvg-browser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canvg-browser/-/canvg-browser-1.0.0.tgz", + "integrity": "sha1-xjy1qeegxwaYqch3g0c+YJFepIM=", + "requires": { + "rgbcolor": "0.0.4", + "stackblur": "^1.0.0", + "xmldom": "^0.1.22" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "cf-blob.js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/cf-blob.js/-/cf-blob.js-0.0.1.tgz", + "integrity": "sha1-9at+EueYyvCMz4KMaaug8GPYP5k=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + } + } + }, + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==" + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "requires": { + "cssom": "0.3.x" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-brush": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz", + "integrity": "sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" + }, + "d3-color": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.3.tgz", + "integrity": "sha512-x37qq3ChOTLd26hnps36lexMRhNXEtVxZ4B25rL0DVdDsGQIJGB18S7y9XDwlDD6MD/ZBzITCf4JjGMM10TZkw==" + }, + "d3-dispatch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", + "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==" + }, + "d3-drag": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz", + "integrity": "sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg==", + "requires": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "d3-dsv": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.10.tgz", + "integrity": "sha512-vqklfpxmtO2ZER3fq/B33R/BIz3A1PV0FaZRuFM8w6jLo7sUX1BZDh73fPlr0s327rzq4H6EN1q9U+eCBCSN8g==", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", + "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==" + }, + "d3-force": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.1.2.tgz", + "integrity": "sha512-p1vcHAUF1qH7yR+e8ip7Bs61AHjLeKkIn8Z2gzwU2lwEf2wkSpWdjXG0axudTHsVFnYGlMkFaEsVy2l8tAg1Gw==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-format": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", + "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==" + }, + "d3-geo": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.1.tgz", + "integrity": "sha512-GsG7x9G9sykseLviOVSJ3h5yjw0ItLopOtuDQKUt1TRklEegCw5WAmnIpYYiCkSH/QgUMleAeE2xZK38Qb+1+Q==", + "requires": { + "d3-array": "1" + } + }, + "d3-hierarchy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", + "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" + }, + "d3-interpolate": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", + "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", + "requires": { + "d3-color": "1" + } + }, + "d3-interpolate-path": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate-path/-/d3-interpolate-path-2.0.1.tgz", + "integrity": "sha512-JyDLj5i4p2FC9RooAlVGC19NZw3AvYR+aDFnxDtIZ5aknf+D+HrN2viEwtKJohINR08UoMszGby+VVcw2wGZIQ==", + "requires": { + "d3-interpolate": "^1.1.1" + } + }, + "d3-path": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz", + "integrity": "sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA==" + }, + "d3-polygon": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", + "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==" + }, + "d3-quadtree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.5.tgz", + "integrity": "sha512-U2tjwDFbZ75JRAg8A+cqMvqPg1G3BE7UTJn3h8DHjY/pnsAfWdbJKgyfcy7zKjqGtLAmI0q8aDSeG1TVIKRaHQ==" + }, + "d3-queue": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-3.0.7.tgz", + "integrity": "sha1-yTouVLQXwJWRKdfXP2z31Ckudhg=" + }, + "d3-request": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz", + "integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-dsv": "1", + "xmlhttprequest": "1" + } + }, + "d3-sankey": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.7.1.tgz", + "integrity": "sha1-0imDImj8aaf+yEgD6WwiVqYUxSE=", + "requires": { + "d3-array": "1", + "d3-collection": "1", + "d3-shape": "^1.2.0" + } + }, + "d3-scale": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.1.2.tgz", + "integrity": "sha512-bESpd64ylaKzCDzvULcmHKZTlzA/6DGSVwx7QSDj/EnX9cpSevsdiwdHFYI9ouo9tNBbV3v5xztHS2uFeOzh8Q==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "d3-selection": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.2.tgz", + "integrity": "sha512-OoXdv1nZ7h2aKMVg3kaUFbLLK5jXUFAMLD/Tu5JA96mjf8f2a9ZUESGY+C36t8R1WFeWk/e55hy54Ml2I62CRQ==" + }, + "d3-shape": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.2.tgz", + "integrity": "sha512-hUGEozlKecFZ2bOSNt7ENex+4Tk9uc/m0TtTEHBvitCBxUNjhzm5hS2GrrVRD/ae4IylSmxGeqX5tWC2rASMlQ==", + "requires": { + "d3-path": "1" + } + }, + "d3-tile": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/d3-tile/-/d3-tile-0.0.4.tgz", + "integrity": "sha1-LV+N7CB78+n9w4/HTkXXw6s6qAg=", + "requires": { + "d3-array": "1" + } + }, + "d3-time": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.10.tgz", + "integrity": "sha512-hF+NTLCaJHF/JqHN5hE8HVGAXPStEq6/omumPE/SxyHVrR7/qQxusFDo0t0c/44+sCGHthC7yNGFZIEgju0P8g==" + }, + "d3-time-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", + "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", + "requires": { + "d3-time": "1" + } + }, + "d3-timer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", + "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==" + }, + "d3-transition": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.3.tgz", + "integrity": "sha512-tEvo3qOXL6pZ1EzcXxFcPNxC/Ygivu5NoBY6mbzidATAeML86da+JfVIUzon3dNM6UX6zjDx+xbYDmMVtTSjuA==", + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-zoom": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.3.tgz", + "integrity": "sha512-xEBSwFx5Z9T3/VrwDkMt+mr0HCzv7XjpGURJ8lWmIC8wxe32L39eWHIasEe/e7Ox8MPU4p1hvH8PKN2olLzIBg==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3plus": { + "version": "2.0.0-alpha.17", + "resolved": "https://registry.npmjs.org/d3plus/-/d3plus-2.0.0-alpha.17.tgz", + "integrity": "sha512-ij/lszUn/d/3Q4LqgD57vo2m3etsq5qtAoNkqbiIWpK8CX/RuwitSoSd2mJ1/ztctAl8jfUifIDOOQqj5x5CNQ==", + "requires": { + "d3plus-axis": "^0.3.46", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.36", + "d3plus-geomap": "^0.5.3", + "d3plus-hierarchy": "^0.6.1", + "d3plus-legend": "^0.8.17", + "d3plus-network": "^0.3.0", + "d3plus-plot": "^0.7.8", + "d3plus-priestley": "^0.2.0", + "d3plus-shape": "^0.14.6", + "d3plus-text": "^0.9.28", + "d3plus-timeline": "^0.3.8", + "d3plus-tooltip": "^0.3.0", + "d3plus-viz": "^0.11.10" + } + }, + "d3plus-axis": { + "version": "0.3.51", + "resolved": "https://registry.npmjs.org/d3plus-axis/-/d3plus-axis-0.3.51.tgz", + "integrity": "sha512-F4HENvDGpRD9+fIxyLt8dhIrcVTtG50qJ8Zjim+IYhz0VE+tD4WO7E6ZDuz0KpzUJPuvFYiodSdppcvdmTLjdQ==", + "requires": { + "d3-array": "^1.2.4", + "d3-scale": "^2.1.2", + "d3-selection": "^1.3.2", + "d3-transition": "^1.1.3", + "d3plus-common": "^0.6.43", + "d3plus-format": "^0.1.1", + "d3plus-shape": "^0.16.0", + "d3plus-text": "^0.9.33" + }, + "dependencies": { + "d3plus-shape": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/d3plus-shape/-/d3plus-shape-0.16.0.tgz", + "integrity": "sha512-meX7nf0Y+hUTtvJ3ldkjlT9iDdLKfOjBy2Tjgm4wMyrB82uhcg52eOa8uJ3JDasj2ndoAdBUBjvdTkJCMbKqcw==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.3", + "d3-color": "^1.2.0", + "d3-interpolate-path": "^2.0.1", + "d3-polygon": "^1.0.2", + "d3-selection": "^1.3.0", + "d3-shape": "^1.2.0", + "d3-transition": "^1.1.1", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-text": "^0.9.32" + } + } + } + }, + "d3plus-color": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/d3plus-color/-/d3plus-color-0.6.2.tgz", + "integrity": "sha512-bYVr0y9ZzF7nRXO2sL2kHR1Ro9cCgz22yOE2ZwbX0u7Q3mzNBYk5a2o87FJK4rgEnaRFDexefvs1oixLuKJuSA==", + "requires": { + "d3-color": "^1.0.3", + "d3-scale": "^1.0.6", + "d3plus-common": "^0.6.29" + }, + "dependencies": { + "d3-scale": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.7.tgz", + "integrity": "sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-color": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + } + } + }, + "d3plus-common": { + "version": "0.6.43", + "resolved": "https://registry.npmjs.org/d3plus-common/-/d3plus-common-0.6.43.tgz", + "integrity": "sha512-93/puPRp3FQ9UlZ2K65WVjbFBtWI55KbIqGjXVMm0j3sRMHPakWjX+7Gj+r2KvXbLenqX7kzP3+y2gL6Ji5AhA==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.4", + "d3-selection": "^1.1.0", + "d3-transition": "^1.1.0" + } + }, + "d3plus-export": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/d3plus-export/-/d3plus-export-0.3.4.tgz", + "integrity": "sha512-+kjrytfA5hU4Rw/FOxqzPdozXpdSn87hQ4I5CFBn2lz8kCvqescJ8QAdKk2NFNRTku8PCQH8LHd5Puu7MWtmgA==", + "requires": { + "canvas-toBlob": "^1.0.0", + "canvg-browser": "^1.0.0", + "d3-selection": "^1.3.0", + "file-saver": "1.3.3", + "html2canvas": "^0.5.0-beta4", + "jspdf": "^1.3.3" + } + }, + "d3plus-form": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/d3plus-form/-/d3plus-form-0.2.6.tgz", + "integrity": "sha512-cZuhTf2nW78VUnyTkD8oqP3gxYOeReBf5OY0APYBeLUHJxnbvksmFwN3E163CHza/kreyC5m7dGwoFiZeWtTmQ==", + "requires": { + "d3-selection": "^1.1.0", + "d3plus-common": "^0.6.29" + } + }, + "d3plus-format": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/d3plus-format/-/d3plus-format-0.1.2.tgz", + "integrity": "sha512-R7NMAzpEfyLMQtUxK6TA+IuYmMMfg0jnbswLbS48hTRnPgrhl/nZe5PAisnrksucshmCEUwH9ETbJGNYY0rqcA==", + "requires": { + "d3-format": "^1.3.0" + } + }, + "d3plus-geomap": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/d3plus-geomap/-/d3plus-geomap-0.5.7.tgz", + "integrity": "sha512-FKGFCkRWRP/VHF+xAZOf1P1eS1Qp3FHjToa2c++K7zARZlF+BC2Hu5pwyJzXAjAb8QrkCg8wfcmyE7joCPJqYA==", + "requires": { + "d3-array": "^1.2.4", + "d3-color": "^1.2.3", + "d3-geo": "^1.11.1", + "d3-scale": "^2.1.2", + "d3-selection": "^1.3.2", + "d3-tile": "0.0.4", + "d3plus-common": "^0.6.43", + "d3plus-shape": "^0.16.0", + "d3plus-viz": "^0.11.17", + "topojson-client": "^3.0.0" + }, + "dependencies": { + "d3plus-shape": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/d3plus-shape/-/d3plus-shape-0.16.0.tgz", + "integrity": "sha512-meX7nf0Y+hUTtvJ3ldkjlT9iDdLKfOjBy2Tjgm4wMyrB82uhcg52eOa8uJ3JDasj2ndoAdBUBjvdTkJCMbKqcw==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.3", + "d3-color": "^1.2.0", + "d3-interpolate-path": "^2.0.1", + "d3-polygon": "^1.0.2", + "d3-selection": "^1.3.0", + "d3-shape": "^1.2.0", + "d3-transition": "^1.1.1", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-text": "^0.9.32" + } + } + } + }, + "d3plus-hierarchy": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/d3plus-hierarchy/-/d3plus-hierarchy-0.6.3.tgz", + "integrity": "sha512-xmWBJqcJlb8oVOdIHC9RC9o4klpRpIQzYlCOYglL9XQpMse9ulhAZQHvrRDtp3AjXIWJo5NFi0SSA3VM6lrTJA==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.1", + "d3-hierarchy": "^1.1.6", + "d3-scale": "^2.0.0", + "d3-shape": "^1.0.3", + "d3plus-common": "^0.6.39", + "d3plus-shape": "^0.14.11", + "d3plus-viz": "^0.11.14" + } + }, + "d3plus-legend": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/d3plus-legend/-/d3plus-legend-0.8.18.tgz", + "integrity": "sha512-uQ46i+CRPr3rzILV/wLzVGH2zAWg2lGDfIm4NhpmApU0hdSvNVTtVSO7n9EqrdJNx9fYImlRdnMPtzQSi14y8g==", + "requires": { + "d3-array": "^1.2.1", + "d3-interpolate": "^1.2.0", + "d3-scale": "^2.0.0", + "d3-selection": "^1.3.0", + "d3plus-axis": "^0.3.46", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-shape": "^0.16.0", + "d3plus-text": "^0.9.30" + }, + "dependencies": { + "d3plus-shape": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/d3plus-shape/-/d3plus-shape-0.16.0.tgz", + "integrity": "sha512-meX7nf0Y+hUTtvJ3ldkjlT9iDdLKfOjBy2Tjgm4wMyrB82uhcg52eOa8uJ3JDasj2ndoAdBUBjvdTkJCMbKqcw==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.3", + "d3-color": "^1.2.0", + "d3-interpolate-path": "^2.0.1", + "d3-polygon": "^1.0.2", + "d3-selection": "^1.3.0", + "d3-shape": "^1.2.0", + "d3-transition": "^1.1.1", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-text": "^0.9.32" + } + } + } + }, + "d3plus-network": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/d3plus-network/-/d3plus-network-0.3.2.tgz", + "integrity": "sha512-dpFkklw49TWiYaYxjOnLfJagecDA8MFGFMHMIRF25TEc3Ky1T8NPFJuLW6PUJsrs9kG/CYScFXABqoUZ6l/gwg==", + "requires": { + "d3-array": "^1.2.1", + "d3-force": "^1.1.0", + "d3-sankey": "^0.7.1", + "d3-scale": "^2.0.0", + "d3plus-common": "^0.6.35", + "d3plus-shape": "^0.14.11", + "d3plus-viz": "^0.11.14" + } + }, + "d3plus-plot": { + "version": "0.7.16", + "resolved": "https://registry.npmjs.org/d3plus-plot/-/d3plus-plot-0.7.16.tgz", + "integrity": "sha512-bawP5jzx4Qy7VoAg/QmmnH27tIPzf9183387bikF31dhMuLAcbw76PTO4bHtl3HoNhQqkE4QtmkWhkQgAlFzYA==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "^1.0.4", + "d3-scale": "^2.1.0", + "d3-selection": "^1.1.0", + "d3-shape": "^1.2.0", + "d3plus-axis": "^0.3.48", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.41", + "d3plus-shape": "^0.16.0", + "d3plus-viz": "^0.11.16" + }, + "dependencies": { + "d3plus-shape": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/d3plus-shape/-/d3plus-shape-0.16.0.tgz", + "integrity": "sha512-meX7nf0Y+hUTtvJ3ldkjlT9iDdLKfOjBy2Tjgm4wMyrB82uhcg52eOa8uJ3JDasj2ndoAdBUBjvdTkJCMbKqcw==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.3", + "d3-color": "^1.2.0", + "d3-interpolate-path": "^2.0.1", + "d3-polygon": "^1.0.2", + "d3-selection": "^1.3.0", + "d3-shape": "^1.2.0", + "d3-transition": "^1.1.1", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-text": "^0.9.32" + } + } + } + }, + "d3plus-priestley": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/d3plus-priestley/-/d3plus-priestley-0.2.2.tgz", + "integrity": "sha512-9rIooadIfvA2fcOxUeYbVy0dAhKdmhoUPkHUj931LM5OpXobPS1BhQGH3HfpgXqo1nGEf2lUSaF6XCEXTgG9IQ==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "^1.0.1", + "d3-scale": "^2.0.0", + "d3plus-axis": "^0.3.43", + "d3plus-common": "^0.6.34", + "d3plus-shape": "^0.16.0", + "d3plus-viz": "^0.11.0" + }, + "dependencies": { + "d3plus-shape": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/d3plus-shape/-/d3plus-shape-0.16.0.tgz", + "integrity": "sha512-meX7nf0Y+hUTtvJ3ldkjlT9iDdLKfOjBy2Tjgm4wMyrB82uhcg52eOa8uJ3JDasj2ndoAdBUBjvdTkJCMbKqcw==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.3", + "d3-color": "^1.2.0", + "d3-interpolate-path": "^2.0.1", + "d3-polygon": "^1.0.2", + "d3-selection": "^1.3.0", + "d3-shape": "^1.2.0", + "d3-transition": "^1.1.1", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-text": "^0.9.32" + } + } + } + }, + "d3plus-shape": { + "version": "0.14.11", + "resolved": "https://registry.npmjs.org/d3plus-shape/-/d3plus-shape-0.14.11.tgz", + "integrity": "sha512-GLUNXdulO7dwc3uuEd1zxZPhyr/i8snc6Zl5dbloddkHU76CvKU1esJh7VkUmIv5x/AcYcav5ngh2fhgeR7rbg==", + "requires": { + "d3-array": "^1.2.1", + "d3-collection": "^1.0.3", + "d3-color": "^1.2.0", + "d3-interpolate-path": "^2.0.1", + "d3-polygon": "^1.0.2", + "d3-selection": "^1.3.0", + "d3-shape": "^1.2.0", + "d3-transition": "^1.1.1", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.39", + "d3plus-text": "^0.9.32" + } + }, + "d3plus-text": { + "version": "0.9.33", + "resolved": "https://registry.npmjs.org/d3plus-text/-/d3plus-text-0.9.33.tgz", + "integrity": "sha512-geCIEtRLUqCNtu2bgu0JHNh1fZ05ID4YR2o0FwkerH87T9f0rZFU+Ywf0PlfKxsLVPQiShtCQ1To8QBxhRqUiA==", + "requires": { + "d3-array": "^1.2.0", + "d3-selection": "^1.3.0", + "d3-transition": "^1.1.0", + "d3plus-common": "^0.6.35" + } + }, + "d3plus-timeline": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/d3plus-timeline/-/d3plus-timeline-0.3.8.tgz", + "integrity": "sha512-TdaFCYk88IbZlZA0gsEuLfJUXmqsOw9sntDqRhr/22qTVzVgWCrwp94z1LaO2+HWbRsWsdhoQ+HvbpdDp4iWzg==", + "requires": { + "d3-brush": "^1.0.4", + "d3-selection": "^1.2.0", + "d3plus-axis": "^0.3.41", + "d3plus-common": "^0.6.29" + } + }, + "d3plus-tooltip": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/d3plus-tooltip/-/d3plus-tooltip-0.3.0.tgz", + "integrity": "sha512-j8p7mbomy0n69W7UMPH7uai4E3CrE9jZpe5HY62hf2HNZ2nohiO82dARBlRjIFNMJD1wlmZwavgj9vxpF3mTTQ==", + "requires": { + "d3-selection": "^1.3.0", + "d3-transition": "^1.1.1", + "d3plus-common": "^0.6.33", + "popper.js": "^1.14.3" + } + }, + "d3plus-viz": { + "version": "0.11.17", + "resolved": "https://registry.npmjs.org/d3plus-viz/-/d3plus-viz-0.11.17.tgz", + "integrity": "sha512-QFmEZkiKKXl4wosNdcika4ja91+H/HBzQuVnGD9B2HIzfOvhX7nwGnApZrRRGegJDM9jasYG6Pk2jp+Gf9HN4w==", + "requires": { + "d3-array": "^1.2.1", + "d3-brush": "^1.0.4", + "d3-collection": "^1.0.1", + "d3-color": "^1.2.0", + "d3-queue": "^3.0.7", + "d3-request": "^1.0.6", + "d3-selection": "^1.0.6", + "d3-transition": "^1.0.3", + "d3-zoom": "^1.6.0", + "d3plus-axis": "^0.3.48", + "d3plus-color": "^0.6.2", + "d3plus-common": "^0.6.41", + "d3plus-export": "^0.3.4", + "d3plus-form": "^0.2.6", + "d3plus-format": "^0.1.2", + "d3plus-legend": "^0.8.17", + "d3plus-text": "^0.9.32", + "d3plus-timeline": "^0.3.8", + "d3plus-tooltip": "^0.3.0", + "lrucache": "^1.0.3" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "deprecated": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", + "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, + "requires": { + "once": "~1.3.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "file-saver": { + "version": "1.3.3", + "resolved": "http://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz", + "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", + "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "flagged-respawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", + "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "dev": true, + "requires": { + "globule": "~0.1.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + } + }, + "glob-stream": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "dev": true, + "requires": { + "glob": "^4.3.1", + "glob2base": "^0.0.12", + "minimatch": "^2.0.1", + "ordered-read-streams": "^0.1.0", + "through2": "^0.6.1", + "unique-stream": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "dev": true, + "requires": { + "gaze": "^0.5.1" + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dev": true, + "requires": { + "find-index": "^0.1.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dev": true, + "requires": { + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + } + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + }, + "gulp": { + "version": "3.9.1", + "resolved": "http://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", + "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", + "dev": true, + "requires": { + "archy": "^1.0.0", + "chalk": "^1.0.0", + "deprecated": "^0.0.1", + "gulp-util": "^3.0.0", + "interpret": "^1.0.0", + "liftoff": "^2.1.0", + "minimist": "^1.1.0", + "orchestrator": "^0.3.0", + "pretty-hrtime": "^1.0.0", + "semver": "^4.1.0", + "tildify": "^1.0.0", + "v8flags": "^2.0.2", + "vinyl-fs": "^0.3.0" + } + }, + "gulp-clean-css": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.10.0.tgz", + "integrity": "sha512-7Isf9Y690o/Q5MVjEylH1H7L8WeZ89woW7DnhD5unTintOdZb67KdOayRgp9trUFo+f9UyJtuatV42e/+kghPg==", + "dev": true, + "requires": { + "clean-css": "4.2.1", + "plugin-error": "1.0.1", + "through2": "2.0.3", + "vinyl-sourcemaps-apply": "0.2.1" + } + }, + "gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", + "dev": true, + "requires": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } + } + }, + "gulp-sass": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.2.tgz", + "integrity": "sha512-q8psj4+aDrblJMMtRxihNBdovfzGrXJp1l4JU0Sz4b/Mhsi2DPrKFYCGDwjIWRENs04ELVHxdOJQ7Vs98OFohg==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "lodash.clonedeep": "^4.3.2", + "node-sass": "^4.8.3", + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "strip-ansi": "^4.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "gulp-uglify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.1.tgz", + "integrity": "sha512-KVffbGY9d4Wv90bW/B1KZJyunLMyfHTBbilpDvmcrj5Go0/a1G3uVpt+1gRBWSw/11dqR3coJ1oWNTt1AiXuWQ==", + "dev": true, + "requires": { + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash": "^4.13.1", + "make-error-cause": "^1.1.1", + "safe-buffer": "^5.1.2", + "through2": "^2.0.0", + "uglify-js": "^3.0.5", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "html2canvas": { + "version": "0.5.0-beta4", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-0.5.0-beta4.tgz", + "integrity": "sha1-goLGKsX9eBaPVwK15IdxV8qT854=" + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "8.5.0", + "resolved": "http://registry.npmjs.org/jsdom/-/jsdom-8.5.0.tgz", + "integrity": "sha1-1Nj12/J2hjW2KmKCO5R89wcevJg=", + "requires": { + "abab": "^1.0.0", + "acorn": "^2.4.0", + "acorn-globals": "^1.0.4", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.0 < 0.4.0", + "cssstyle": ">= 0.2.34 < 0.3.0", + "escodegen": "^1.6.1", + "iconv-lite": "^0.4.13", + "nwmatcher": ">= 1.3.7 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.55.0", + "sax": "^1.1.4", + "symbol-tree": ">= 3.1.0 < 4.0.0", + "tough-cookie": "^2.2.0", + "webidl-conversions": "^3.0.1", + "whatwg-url": "^2.0.1", + "xml-name-validator": ">= 2.0.1 < 3.0.0" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jspdf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-1.4.1.tgz", + "integrity": "sha512-2vYVdrvrQUdKKPyWHw81t1jEYYAJ6uFJ/HtTcGbI4qXIQEdl18dLEuL2wTeSv2GzeQLSgUvEvwsXsszuHK+PTw==", + "requires": { + "canvg": "^1.0", + "cf-blob.js": "0.0.1", + "file-saver": "1.3.8", + "omggif": "1.0.7", + "stackblur": "^1.0.0" + }, + "dependencies": { + "file-saver": { + "version": "1.3.8", + "resolved": "http://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz", + "integrity": "sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==" + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "lodash": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "lrucache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lrucache/-/lrucache-1.0.3.tgz", + "integrity": "sha1-Ox3tDRuoLhiLm9q6nu5khvhkpDQ=" + }, + "make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", + "dev": true + }, + "make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", + "dev": true, + "requires": { + "make-error": "^1.2.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "requires": { + "mime-db": "~1.37.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "nan": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", + "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natives": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", + "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.4.tgz", + "integrity": "sha512-MXyurANsUoE4/6KmfMkwGcBzAnJQ5xJBGW7Ei6ea8KnUKuzHr/SguVBIi3uaUAHtZCPUYkvlJ3Ef5T5VAwVpaA==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "omggif": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.7.tgz", + "integrity": "sha1-WdLuywJj3oRjWz/riHwMmXPx5J0=" + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "orchestrator": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", + "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", + "dev": true, + "requires": { + "end-of-stream": "~0.1.5", + "sequencify": "~0.0.7", + "stream-consume": "~0.1.0" + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", + "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "popper.js": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", + "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rgbcolor": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-0.0.4.tgz", + "integrity": "sha1-ygRhWi0D62Hknyp18jmkb7d9ix0=" + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "4.3.6", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "sequencify": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", + "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz", + "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz", + "integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stackblur": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stackblur/-/stackblur-1.0.0.tgz", + "integrity": "sha1-tAen4FyTsI1miDu4CNfLo6UD8S8=" + }, + "stackblur-canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-1.4.1.tgz", + "integrity": "sha1-hJqm+UsnL/JvZHH6QTDtH35HlVs=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-consume": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "dev": true, + "requires": { + "first-chunk-stream": "^1.0.0", + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "topojson-client": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.0.0.tgz", + "integrity": "sha1-H5kpOnfvQqRI0DKoGqmCtz82DS8=", + "requires": { + "commander": "2" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "^1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + }, + "vinyl-fs": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "dev": true, + "requires": { + "defaults": "^1.0.0", + "glob-stream": "^3.1.5", + "glob-watcher": "^0.0.6", + "graceful-fs": "^3.0.0", + "mkdirp": "^0.5.0", + "strip-bom": "^1.0.0", + "through2": "^0.6.1", + "vinyl": "^0.4.0" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + } + }, + "vue": { + "version": "2.5.17", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.17.tgz", + "integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ==" + }, + "vue-resource": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/vue-resource/-/vue-resource-1.5.1.tgz", + "integrity": "sha512-o6V4wNgeqP+9v9b2bPXrr20CGNQPEXjpbUWdZWq9GJhqVeAGcYoeTtn/D4q059ZiyN0DIrDv/ADrQUmlUQcsmg==", + "requires": { + "got": "^8.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-2.0.1.tgz", + "integrity": "sha1-U5ayBD8CDub3BNnEXqhRnnJN5lk=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f776138 --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "dir-stat", + "version": "0.0.0", + "description": "Simple directory statistics", + "scripts": { + "build:assets": "gulp", + "build": "npm run build:assets && packr build -i -o dirstat.exe .", + "ensure": "npm install && dep ensure", + "start": "dirstat" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/GaelGirodon/dir-stat.git" + }, + "author": "Gaël Girodon", + "license": "GPL-3.0-or-later", + "bugs": { + "url": "https://github.com/GaelGirodon/dir-stat/issues" + }, + "homepage": "https://github.com/GaelGirodon/dir-stat#readme", + "dependencies": { + "bootstrap": "^4.1.3", + "d3plus": "^2.0.0-alpha.17", + "vue": "^2.5.17", + "vue-resource": "^1.5.1" + }, + "devDependencies": { + "gulp": "^3.9.1", + "gulp-clean-css": "^3.10.0", + "gulp-concat": "^2.6.1", + "gulp-sass": "^4.0.2", + "gulp-uglify": "^3.0.1", + "node-sass": "^4.9.4" + } +} From 63d7b437851bf704ac88f69b6f1eef3f5db96d33 Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:36:27 +0200 Subject: [PATCH 5/7] Add project sources --- assets/js/dirstat.js | 105 +++++++++++++++++ assets/js/lib/d3plus.full.min.js | 31 +++++ assets/sass/dirstat.scss | 8 ++ dirstat.go | 190 +++++++++++++++++++++++++++++++ web/index.html | 76 +++++++++++++ 5 files changed, 410 insertions(+) create mode 100644 assets/js/dirstat.js create mode 100644 assets/js/lib/d3plus.full.min.js create mode 100644 assets/sass/dirstat.scss create mode 100644 dirstat.go create mode 100644 web/index.html diff --git a/assets/js/dirstat.js b/assets/js/dirstat.js new file mode 100644 index 0000000..f3181ef --- /dev/null +++ b/assets/js/dirstat.js @@ -0,0 +1,105 @@ +/* + * dirstat.js + */ + +/** + * DirStat Vue.js application + */ +var app = new Vue({ + el: '#app', + // Application data + data: { + // Path to the directory to scan + dir: '', + // Scan request currently processing + processing: false, + // Request error + error: null, + // Path to the current parent entry + path: [], + // Tree map + graph: null, + // Tree map sum mode + mode: 'count' + }, + // Computed properties + computed: { + // Current entry + current: function () { + return this.path.length >= 0 ? this.path[this.path.length - 1] : null; + }, + // Entries currently displayed + entries: function () { + var c = this.current; + return c ? c.children : []; + }, + // Available modes + modes: function () { + return ['count', 'size', 'depth']; + } + }, + // Methods + methods: { + // Scan the given directory + scan: function () { + this.error = null; + this.processing = true; + this.$http.get('stat?path=' + this.dir).then(function (data) { + var entry = data.body; + this.path = [entry]; + this.graph = new d3plus.Treemap() + .select('#treemap') + .data(this.entries) + .groupBy('name').sum(this.mode) + .tooltipConfig({ + title: function (d) { + return d.name + }, body: this.mapStats + }) + .on('click', this.openEntry) + .render(); + this.processing = false; + }).catch(function (err) { + this.processing = false; + this.error = 'Unable to analyse the given directory: ' + err.body.message; + }); + }, + // Map entry stats to a string + mapStats: function (d) { + return Math.round(d.size / (1024 * 1024)) + ' MB' + + ' / ' + d.count + ' entries / depth ' + d.depth + }, + // Render the tree map + renderTreemap: function () { + this.graph.sum(this.mode).data(this.entries).render(); + }, + // Open an entry (zoom in tree map) + openEntry: function (d) { + // Find child entry in entries and open it + var entry = this.entries.find(function (c) { + return c.name === d.name; + }); + if (entry.children && entry.children.length > 0) { + this.path.push(entry); // Push entry to path + this.renderTreemap(); // Render tree map + } // else: stop if children list is empty + }, + // Back to previous level in path + back: function () { + if (this.path.length > 1) { + this.path.pop(); + this.renderTreemap(); + } + }, + // Go back to another parent entry in the path + backTo: function (to) { + var previousPathLength = this.path.length; + while (this.path.length > 1 && this.current !== to) { + this.path.pop(); + } + if (this.path.length !== previousPathLength) { + this.renderTreemap(); // Current entry changed + } + } + } +}); diff --git a/assets/js/lib/d3plus.full.min.js b/assets/js/lib/d3plus.full.min.js new file mode 100644 index 0000000..626ac4a --- /dev/null +++ b/assets/js/lib/d3plus.full.min.js @@ -0,0 +1,31 @@ +/* + d3plus v2.0.0-alpha.17 + Data visualization made easy. A javascript library that extends the popular D3.js to enable fast and beautiful visualizations. + Copyright (c) 2018 D3plus - https://d3plus.org + @license MIT +*/ +if(typeof Object.assign!=="function"){Object.defineProperty(Object,"assign",{value:function t(e){"use strict";if(e===null){throw new TypeError("Cannot convert undefined or null to object")}var n=Object(e);for(var i=1;i>>0;if(r===0)return false;var o=n|0;var a=Math.max(o>=0?o:r-Math.abs(o),0);function s(t,e){return t===e||typeof t==="number"&&typeof e==="number"&&isNaN(t)&&isNaN(e)}while(ae?1:t>=e?0:NaN};var E=function(o){if(o.length===1){o=n(o)}return{left:function(t,e,n,i){if(n==null){n=0}if(i==null){i=t.length}while(n>>1;if(o(t[r],e)<0){n=r+1}else{i=r}}return n},right:function(t,e,n,i){if(n==null){n=0}if(i==null){i=t.length}while(n>>1;if(o(t[r],e)>0){i=r}else{n=r+1}}return n}}};function n(n){return function(t,e){return s(n(t),e)}}var i=E(s);var u=i.right;var h=function(t){return t===null?NaN:+t};var Ht=function(t,e){var n=t.length,i=-1,r,o,a;if(e==null){while(++i=r){o=a=r;while(++ir){o=r}if(a=r){o=a=r;while(++ir){o=r}if(a0){return[t]}if(i=e0){t=Math.ceil(t/s);e=Math.floor(e/s);a=new Array(o=Math.ceil(e-t+1));while(++r=0?(o>=a?10:o>=l?5:o>=f?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=a?10:o>=l?5:o>=f?2:1)}function S(t,e,n){var i=Math.abs(e-t)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;if(o>=a){r*=10}else if(o>=l){r*=5}else if(o>=f){r*=2}return e=1){return+n(t[i-1],i-1,t)}var i,r=(i-1)*e,o=Math.floor(r),a=+n(t[o],o,t),s=+n(t[o+1],o+1,t);return a+(s-a)*(r-o)};var Ut=function(t,e){var n=t.length,i=-1,r,o;if(e==null){while(++i=r){o=r;while(++io){o=r}}}}}else{while(++i=r){o=r;while(++io){o=r}}}}}return o};var r=function(t,e){var n=t.length,i=n,r=-1,o,a=0;if(e==null){while(++r=0){a=t[e];n=a.length;while(--n>=0){o[--r]=a[n]}}return o};var qt=function(t,e){var n=t.length,i=-1,r,o;if(e==null){while(++i=r){o=r;while(++ir){o=r}}}}}else{while(++i=r){o=r;while(++ir){o=r}}}}}return o};var Xt=function(t,e){var n=t.length,i=-1,r,o=0;if(e==null){while(++i=c.length){if(d!=null){t.sort(d)}return p!=null?p(t):t}var e=-1,o=t.length,a=c[n++],s,u,h=_(),l,f=i();while(++ec.length){return t}var i,r=e[n-1];if(p!=null&&n>=c.length){i=t.entries()}else{i=[],t.each(function(t,e){i.push({key:e,values:o(t,n)})})}return r!=null?i.sort(function(t,e){return r(t.key,e.key)}):i}return n={object:function(t){return g(t,0,y,m)},map:function(t){return g(t,0,b,x)},entries:function(t){return o(g(t,0,b,x),0)},key:function(t){c.push(t);return n},sortKeys:function(t){e[c.length-1]=t;return n},sortValues:function(t){d=t;return n},rollup:function(t){p=t;return n}}};function y(){return{}}function m(t,e,n){t[e]=n}function b(){return _()}function x(t,e,n){t.set(e,n)}var p=function(t){var e=[];for(var n in t){e.push(n)}return e};var g=Array.prototype;var k=g.map;var w=g.slice;var C={name:"implicit"};function M(i){var o=_(),a=[],r=C;i=i==null?[]:w.call(i);function s(t){var e=t+"",n=o.get(e);if(!n){if(r!==C){return r}o.set(e,n=a.push(t))}return i[(n-1)%i.length]}s.domain=function(t){if(!arguments.length){return a.slice()}a=[],o=_();var e=-1,n=t.length,i,r;while(++e>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1)):(e=H.exec(t))?Z(parseInt(e[1],16)):(e=V.exec(t))?new et(e[1],e[2],e[3],1):(e=U.exec(t))?new et(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=W.exec(t))?K(e[1],e[2],e[3],e[4]):(e=q.exec(t))?K(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=X.exec(t))?it(e[1],e[2]/100,e[3]/100,1):(e=G.exec(t))?it(e[1],e[2]/100,e[3]/100,e[4]):Y.hasOwnProperty(t)?Z(Y[t]):t==="transparent"?new et(NaN,NaN,NaN,0):null}function Z(t){return new et(t>>16&255,t>>8&255,t&255,1)}function K(t,e,n,i){if(i<=0){t=e=n=NaN}return new et(t,e,n,i)}function J(t){if(!(t instanceof z)){t=Q(t)}if(!t){return new et}t=t.rgb();return new et(t.r,t.g,t.b,t.opacity)}function tt(t,e,n,i){return arguments.length===1?J(t):new et(t,e,n,i==null?1:i)}function et(t,e,n,i){this.r=+t;this.g=+e;this.b=+n;this.opacity=+i}N(et,tt,P(z,{brighter:function(t){t=t==null?F:Math.pow(F,t);return new et(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){t=t==null?O:Math.pow(O,t);return new et(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&(0<=this.g&&this.g<=255)&&(0<=this.b&&this.b<=255)&&(0<=this.opacity&&this.opacity<=1)},hex:function(){return"#"+nt(this.r)+nt(this.g)+nt(this.b)},toString:function(){var t=this.opacity;t=isNaN(t)?1:Math.max(0,Math.min(1,t));return(t===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(t===1?")":", "+t+")")}}));function nt(t){t=Math.max(0,Math.min(255,Math.round(t)||0));return(t<16?"0":"")+t.toString(16)}function it(t,e,n,i){if(i<=0){t=e=n=NaN}else if(n<=0||n>=1){t=e=NaN}else if(e<=0){t=NaN}return new at(t,e,n,i)}function rt(t){if(t instanceof at){return new at(t.h,t.s,t.l,t.opacity)}if(!(t instanceof z)){t=Q(t)}if(!t){return new at}if(t instanceof at){return t}t=t.rgb();var e=t.r/255,n=t.g/255,i=t.b/255,r=Math.min(e,n,i),o=Math.max(e,n,i),a=NaN,s=o-r,u=(o+r)/2;if(s){if(e===o){a=(n-i)/s+(n0&&u<1?0:a}return new at(a,s,u,t.opacity)}function ot(t,e,n,i){return arguments.length===1?rt(t):new at(t,e,n,i==null?1:i)}function at(t,e,n,i){this.h=+t;this.s=+e;this.l=+n;this.opacity=+i}N(at,ot,P(z,{brighter:function(t){t=t==null?F:Math.pow(F,t);return new at(this.h,this.s,this.l*t,this.opacity)},darker:function(t){t=t==null?O:Math.pow(O,t);return new at(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new et(st(t>=240?t-240:t+120,r,i),st(t,r,i),st(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&(0<=this.l&&this.l<=1)&&(0<=this.opacity&&this.opacity<=1)}}));function st(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var ut=Math.PI/180;var ht=180/Math.PI;var lt=18;var ft=.96422;var ct=1;var dt=.82521;var pt=4/29;var gt=6/29;var vt=3*gt*gt;var _t=gt*gt*gt;function yt(t){if(t instanceof bt){return new bt(t.l,t.a,t.b,t.opacity)}if(t instanceof kt){if(isNaN(t.h)){return new bt(t.l,0,0,t.opacity)}var e=t.h*ut;return new bt(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}if(!(t instanceof et)){t=J(t)}var n=Et(t.r),i=Et(t.g),r=Et(t.b),o=xt((.2225045*n+.7168786*i+.0606169*r)/ct),a,s;if(n===i&&i===r){a=s=o}else{a=xt((.4360747*n+.3850649*i+.1430804*r)/ft);s=xt((.0139322*n+.0971045*i+.7141733*r)/dt)}return new bt(116*o-16,500*(a-o),200*(o-s),t.opacity)}function mt(t,e,n,i){return arguments.length===1?yt(t):new bt(t,e,n,i==null?1:i)}function bt(t,e,n,i){this.l=+t;this.a=+e;this.b=+n;this.opacity=+i}N(bt,mt,P(z,{brighter:function(t){return new bt(this.l+lt*(t==null?1:t),this.a,this.b,this.opacity)},darker:function(t){return new bt(this.l-lt*(t==null?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;e=ft*wt(e);t=ct*wt(t);n=dt*wt(n);return new et(Ct(3.1338561*e-1.6168667*t-.4906146*n),Ct(-.9787684*e+1.9161415*t+.033454*n),Ct(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function xt(t){return t>_t?Math.pow(t,1/3):t/vt+pt}function wt(t){return t>gt?t*t*t:vt*(t-pt)}function Ct(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Et(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function St(t){if(t instanceof kt){return new kt(t.h,t.c,t.l,t.opacity)}if(!(t instanceof bt)){t=yt(t)}if(t.a===0&&t.b===0){return new kt(NaN,0,t.l,t.opacity)}var e=Math.atan2(t.b,t.a)*ht;return new kt(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function At(t,e,n,i){return arguments.length===1?St(t):new kt(t,e,n,i==null?1:i)}function kt(t,e,n,i){this.h=+t;this.c=+e;this.l=+n;this.opacity=+i}N(kt,At,P(z,{brighter:function(t){return new kt(this.h,this.c,this.l+lt*(t==null?1:t),this.opacity)},darker:function(t){return new kt(this.h,this.c,this.l-lt*(t==null?1:t),this.opacity)},rgb:function(){return yt(this).rgb()}}));var Mt=-.14861;var Tt=+1.78277;var Bt=-.29227;var Dt=-.90649;var Nt=+1.97294;var Pt=Nt*Dt;var zt=Nt*Tt;var Ot=Tt*Bt-Dt*Mt;function Ft(t){if(t instanceof It){return new It(t.h,t.s,t.l,t.opacity)}if(!(t instanceof et)){t=J(t)}var e=t.r/255,n=t.g/255,i=t.b/255,r=(Ot*i+Pt*e-zt*n)/(Ot+Pt-zt),o=i-r,a=(Nt*(n-r)-Bt*o)/Dt,s=Math.sqrt(a*a+o*o)/(Nt*r*(1-r)),u=s?Math.atan2(a,o)*ht-120:NaN;return new It(u<0?u+360:u,s,r,t.opacity)}function Rt(t,e,n,i){return arguments.length===1?Ft(t):new It(t,e,n,i==null?1:i)}function It(t,e,n,i){this.h=+t;this.s=+e;this.l=+n;this.opacity=+i}N(It,Rt,P(z,{brighter:function(t){t=t==null?F:Math.pow(F,t);return new It(this.h,this.s,this.l*t,this.opacity)},darker:function(t){t=t==null?O:Math.pow(O,t);return new It(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*ut,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),i=Math.cos(t),r=Math.sin(t);return new et(255*(e+n*(Mt*i+Tt*r)),255*(e+n*(Bt*i+Dt*r)),255*(e+n*(Nt*i)),this.opacity)}}));var Lt=function(t){return function(){return t}};function jt(e,n){return function(t){return e+t*n}}function Yt(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(t){return Math.pow(e+t*n,i)}}function $t(t,e){var n=e-t;return n?jt(t,n>180||n<-180?n-360*Math.round(n/360):n):Lt(isNaN(t)?e:t)}function Qt(n){return(n=+n)===1?Zt:function(t,e){return e-t?Yt(t,e,n):Lt(isNaN(t)?e:t)}}function Zt(t,e){var n=e-t;return n?jt(t,n):Lt(isNaN(t)?e:t)}var Kt=function t(e){var a=Qt(e);function n(e,t){var n=a((e=tt(e)).r,(t=tt(t)).r),i=a(e.g,t.g),r=a(e.b,t.b),o=Zt(e.opacity,t.opacity);return function(t){e.r=n(t);e.g=i(t);e.b=r(t);e.opacity=o(t);return e+""}}n.gamma=t;return n}(1);var Jt=function(t,e){var n=e?e.length:0,i=t?Math.min(n,t.length):0,r=new Array(i),o=new Array(n),a;for(a=0;ae){o=i.slice(e,o);if(s[a]){s[a]+=o}else{s[++a]=o}}if((n=n[0])===(r=r[0])){if(s[a]){s[a]+=r}else{s[++a]=r}}else{s[++a]=null;u.push({i:a,x:ee(n,r)})}e=re.lastIndex}if(e180){e+=360}else if(e-t>180){t+=360}i.push({i:n.push(h(n)+"rotate(",null,r)-2,x:ee(t,e)})}else if(e){n.push(h(n)+"rotate("+e+r)}}function l(t,e,n,i){if(t!==e){i.push({i:n.push(h(n)+"skewX(",null,r)-2,x:ee(t,e)})}else if(e){n.push(h(n)+"skewX("+e+r)}}function f(t,e,n,i,r,o){if(t!==n||e!==i){var a=r.push(h(r)+"scale(",null,",",null,")");o.push({i:a-4,x:ee(t,n)},{i:a-2,x:ee(e,i)})}else if(n!==1||i!==1){r.push(h(r)+"scale("+n+","+i+")")}}return function(t,e){var r=[],o=[];t=n(t),e=n(e);i(t.translateX,t.translateY,e.translateX,e.translateY,r,o);a(t.rotate,e.rotate,r,o);l(t.skewX,e.skewX,r,o);f(t.scaleX,t.scaleY,e.scaleX,e.scaleY,r,o);t=e=null;return function(t){var e=-1,n=o.length,i;while(++e=n?1:i(t)}}}function je(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:i(t)}}}function He(t,e,n,i){var r=t[0],o=t[1],a=e[0],s=e[1];if(o2?Ve:He;u=h=null;return t}function t(t){return(u||(u=s(i,r,a?Le(e):e,o)))(+t)}t.invert=function(t){return(h||(h=s(r,i,Ie,a?je(n):n)))(+t)};t.domain=function(t){return arguments.length?(i=k.call(t,Fe),l()):i.slice()};t.range=function(t){return arguments.length?(r=w.call(t),l()):r.slice()};t.rangeRound=function(t){return r=w.call(t),o=he,l()};t.clamp=function(t){return arguments.length?(a=!!t,l()):a};t.interpolate=function(t){return arguments.length?(o=t,l()):o};return l()}var qe=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0){return null}var n,i=t.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]};var Xe=function(t){return t=qe(Math.abs(t)),t?t[1]:NaN};var Ge=function(s,u){return function(t,e){var n=t.length,i=[],r=0,o=s[0],a=0;while(n>0&&o>0){if(a+o+1>e){o=Math.max(1,e-a)}i.push(t.substring(n-=o,n+o));if((a+=o+1)>e){break}o=s[r=(r+1)%s.length]}return i.reverse().join(u)}};var Ye=function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}};var $e=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Qe(t){return new Ze(t)}Qe.prototype=Ze.prototype;function Ze(t){if(!(e=$e.exec(t))){throw new Error("invalid format: "+t)}var e;this.fill=e[1]||" ";this.align=e[2]||">";this.sign=e[3]||"-";this.symbol=e[4]||"";this.zero=!!e[5];this.width=e[6]&&+e[6];this.comma=!!e[7];this.precision=e[8]&&+e[8].slice(1);this.trim=!!e[9];this.type=e[10]||""}Ze.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};var Ke=function(t){t:for(var e=t.length,n=1,i=-1,r;n0){if(!+t[n]){break t}i=0}break}}return i>0?t.slice(0,i)+t.slice(r+1):t};var Je;var tn=function(t,e){var n=qe(t,e);if(!n){return t+""}var i=n[0],r=n[1],o=r-(Je=Math.max(-8,Math.min(8,Math.floor(r/3)))*3)+1,a=i.length;return o===a?i:o>a?i+new Array(o-a+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+qe(t,Math.max(0,e+o-1))[0]};var en=function(t,e){var n=qe(t,e);if(!n){return t+""}var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")};var nn={"%":function(t,e){return(t*100).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return en(t*100,e)},r:en,s:tn,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};var rn=function(t){return t};var on=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];var an=function(t){var w=t.grouping&&t.thousands?Ge(t.grouping,t.thousands):rn,i=t.currency,C=t.decimal,E=t.numerals?Ye(t.numerals):rn,r=t.percent||"%";function a(t){t=Qe(t);var h=t.fill,l=t.align,f=t.sign,e=t.symbol,c=t.zero,d=t.width,p=t.comma,g=t.precision,v=t.trim,_=t.type;if(_==="n"){p=true,_="g"}else if(!nn[_]){g==null&&(g=12),v=true,_="g"}if(c||h==="0"&&l==="="){c=true,h="0",l="="}var y=e==="$"?i[0]:e==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m=e==="$"?i[1]:/[%p]/.test(_)?r:"";var b=nn[_],x=/[defgprs%]/.test(_);g=g==null?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g));function n(t){var e=y,n=m,i,r,o;if(_==="c"){n=b(t)+n;t=""}else{t=+t;var a=t<0;t=b(Math.abs(t),g);if(v){t=Ke(t)}if(a&&+t===0){a=false}e=(a?f==="("?f:"-":f==="-"||f==="("?"":f)+e;n=(_==="s"?on[8+Je/3]:"")+n+(a&&f==="("?")":"");if(x){i=-1,r=t.length;while(++io||o>57){n=(o===46?C+t.slice(i+1):t.slice(i))+n;t=t.slice(0,i);break}}}}if(p&&!c){t=w(t,Infinity)}var s=e.length+t.length+n.length,u=s>1)+e+t+n+u.slice(s);break;default:t=u+e+t+n;break}return E(t)}n.toString=function(){return t+""};return n}function e(t,e){var n=a((t=Qe(t),t.type="f",t)),i=Math.max(-8,Math.min(8,Math.floor(Xe(e)/3)))*3,r=Math.pow(10,-i),o=on[8+i/3];return function(t){return n(r*t)+o}}return{format:a,formatPrefix:e}};var sn;var un;var hn;ln({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function ln(t){sn=an(t);un=sn.format;hn=sn.formatPrefix;return sn}var fn=function(t){return Math.max(0,-Xe(Math.abs(t)))};var cn=function(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Xe(e)/3)))*3-Xe(Math.abs(t)))};var dn=function(t,e){t=Math.abs(t),e=Math.abs(e)-t;return Math.max(0,Xe(e)-Xe(t))+1};var pn=function(t,e,n){var i=t[0],r=t[t.length-1],o=S(i,r,e==null?10:e),a;n=Qe(n==null?",f":n);switch(n.type){case"s":{var s=Math.max(Math.abs(i),Math.abs(r));if(n.precision==null&&!isNaN(a=cn(o,s))){n.precision=a}return hn(n,s)}case"":case"e":case"g":case"p":case"r":{if(n.precision==null&&!isNaN(a=dn(o,Math.max(Math.abs(i),Math.abs(r))))){n.precision=a-(n.type==="e")}break}case"f":case"%":{if(n.precision==null&&!isNaN(a=fn(o))){n.precision=a-(n.type==="%")*2}break}}return un(n)};function gn(s){var u=s.domain;s.ticks=function(t){var e=u();return v(e[0],e[e.length-1],t==null?10:t)};s.tickFormat=function(t,e){return pn(u(),t,e)};s.nice=function(t){if(t==null){t=10}var e=u(),n=0,i=e.length-1,r=e[n],o=e[i],a;if(o0){r=Math.floor(r/a)*a;o=Math.ceil(o/a)*a;a=c(r,o,t)}else if(a<0){r=Math.ceil(r*a)/a;o=Math.floor(o*a)/a;a=c(r,o,t)}if(a>0){e[n]=Math.floor(r/a)*a;e[i]=Math.ceil(o/a)*a;u(e)}else if(a<0){e[n]=Math.ceil(r*a)/a;e[i]=Math.floor(o*a)/a;u(e)}return s};return s}function vn(){var t=We(Ie,ee);t.copy=function(){return Ue(t,vn())};return gn(t)}function _n(){var e=[0,1];function n(t){return+t}n.invert=n;n.domain=n.range=function(t){return arguments.length?(e=k.call(t,Fe),n):e.slice()};n.copy=function(){return _n().domain(e)};return gn(n)}var yn=function(t,e){t=t.slice();var n=0,i=t.length-1,r=t[n],o=t[i],a;if(o0){for(;oi){break}f.push(h)}}}else{for(;o=1;--u){h=s*u;if(hi){break}f.push(h)}}}}else{f=v(o,a,Math.min(a-o,l)).map(g)}return r?f.reverse():f};e.tickFormat=function(t,n){if(n==null){n=d===10?".0e":","}if(typeof n!=="function"){n=un(n)}if(t===Infinity){return n}if(t==null){t=10}var i=Math.max(1,d*t/e.ticks().length);return function(t){var e=t/g(Math.round(p(t)));if(e*d0?i[e-1]:r[0],e=r?[o[r-1],i]:[o[e-1],o[e]]};e.copy=function(){return Bn().domain([n,i]).range(a)};return gn(e)}function Dn(){var n=[.5],i=[0,1],e=1;function r(t){if(t<=t){return i[u(n,t,0,e)]}}r.domain=function(t){return arguments.length?(n=w.call(t),e=Math.min(n.length,i.length-1),r):n.slice()};r.range=function(t){return arguments.length?(i=w.call(t),e=Math.min(n.length,i.length-1),r):i.slice()};r.invertExtent=function(t){var e=i.indexOf(t);return[n[e-1],n[e]]};r.copy=function(){return Dn().domain(n).range(i)};return r}var Nn=new Date;var Pn=new Date;function zn(o,a,n,i){function s(t){return o(t=new Date(+t)),t}s.floor=s;s.ceil=function(t){return o(t=new Date(t-1)),a(t,1),o(t),t};s.round=function(t){var e=s(t),n=s.ceil(t);return t-e0)){return i}do{i.push(r=new Date(+t)),a(t,n),o(t)}while(r=t){while(o(t),!n(t)){t.setTime(t-1)}}},function(t,e){if(t>=t){if(e<0){while(++e<=0){while(a(t,-1),!n(t)){}}}else{while(--e>=0){while(a(t,+1),!n(t)){}}}}})};if(n){s.count=function(t,e){Nn.setTime(+t),Pn.setTime(+e);o(Nn),o(Pn);return Math.floor(n(Nn,Pn))};s.every=function(e){e=Math.floor(e);return!isFinite(e)||!(e>0)?null:!(e>1)?s:s.filter(i?function(t){return i(t)%e===0}:function(t){return s.count(0,t)%e===0})}}return s}var On=zn(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});On.every=function(n){n=Math.floor(n);if(!isFinite(n)||!(n>0)){return null}if(!(n>1)){return On}return zn(function(t){t.setTime(Math.floor(t/n)*n)},function(t,e){t.setTime(+t+e*n)},function(t,e){return(e-t)/n})};var Fn=1e3;var Rn=6e4;var In=36e5;var Ln=864e5;var jn=6048e5;var Hn=zn(function(t){t.setTime(Math.floor(t/Fn)*Fn)},function(t,e){t.setTime(+t+e*Fn)},function(t,e){return(e-t)/Fn},function(t){return t.getUTCSeconds()});var Vn=zn(function(t){t.setTime(Math.floor(t/Rn)*Rn)},function(t,e){t.setTime(+t+e*Rn)},function(t,e){return(e-t)/Rn},function(t){return t.getMinutes()});var Un=zn(function(t){var e=t.getTimezoneOffset()*Rn%In;if(e<0){e+=In}t.setTime(Math.floor((+t-e)/In)*In+e)},function(t,e){t.setTime(+t+e*In)},function(t,e){return(e-t)/In},function(t){return t.getHours()});var Wn=zn(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Rn)/Ln},function(t){return t.getDate()-1});function qn(e){return zn(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7);t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e*7)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Rn)/jn})}var Xn=qn(0);var Gn=qn(1);var Yn=qn(2);var $n=qn(3);var Qn=qn(4);var Zn=qn(5);var Kn=qn(6);var Jn=zn(function(t){t.setDate(1);t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12},function(t){return t.getMonth()});var ti=zn(function(t){t.setMonth(0,1);t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});ti.every=function(n){return!isFinite(n=Math.floor(n))||!(n>0)?null:zn(function(t){t.setFullYear(Math.floor(t.getFullYear()/n)*n);t.setMonth(0,1);t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e*n)})};var ei=zn(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Rn)},function(t,e){return(e-t)/Rn},function(t){return t.getUTCMinutes()});var ni=zn(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*In)},function(t,e){return(e-t)/In},function(t){return t.getUTCHours()});var ii=zn(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/Ln},function(t){return t.getUTCDate()-1});function ri(e){return zn(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7);t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e*7)},function(t,e){return(e-t)/jn})}var oi=ri(0);var ai=ri(1);var si=ri(2);var ui=ri(3);var hi=ri(4);var li=ri(5);var fi=ri(6);var ci=zn(function(t){t.setUTCDate(1);t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12},function(t){return t.getUTCMonth()});var di=zn(function(t){t.setUTCMonth(0,1);t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});di.every=function(n){return!isFinite(n=Math.floor(n))||!(n>0)?null:zn(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/n)*n);t.setUTCMonth(0,1);t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e*n)})};function pi(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);e.setFullYear(t.y);return e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function gi(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));e.setUTCFullYear(t.y);return e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function vi(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function _i(t){var i=t.dateTime,r=t.date,o=t.time,e=t.periods,n=t.days,a=t.shortDays,s=t.months,u=t.shortMonths;var h=Ei(e),l=Si(e),f=Ei(n),c=Si(n),d=Ei(a),p=Si(a),g=Ei(s),v=Si(s),_=Ei(u),y=Si(u);var m={a:P,A:z,b:O,B:F,c:null,d:qi,e:qi,f:Qi,H:Xi,I:Gi,j:Yi,L:$i,m:Zi,M:Ki,p:R,Q:Ar,s:kr,S:Ji,u:tr,U:er,V:nr,w:ir,W:rr,x:null,X:null,y:or,Y:ar,Z:sr,"%":Sr};var b={a:I,A:L,b:j,B:H,c:null,d:ur,e:ur,f:dr,H:hr,I:lr,j:fr,L:cr,m:pr,M:gr,p:V,Q:Ar,s:kr,S:vr,u:_r,U:yr,V:mr,w:br,W:xr,x:null,X:null,y:wr,Y:Cr,Z:Er,"%":Sr};var x={a:A,A:k,b:M,B:T,c:B,d:Oi,e:Oi,f:Hi,H:Ri,I:Ri,j:Fi,L:ji,m:zi,M:Ii,p:S,Q:Ui,s:Wi,S:Li,u:ki,U:Mi,V:Ti,w:Ai,W:Bi,x:D,X:N,y:Ni,Y:Di,Z:Pi,"%":Vi};m.x=w(r,m);m.X=w(o,m);m.c=w(i,m);b.x=w(r,b);b.X=w(o,b);b.c=w(i,b);function w(u,h){return function(t){var e=[],n=-1,i=0,r=u.length,o,a,s;if(!(t instanceof Date)){t=new Date(+t)}while(++n53){return null}if(!("w"in e)){e.w=1}if("Z"in e){i=gi(vi(e.y)),r=i.getUTCDay();i=r>4||r===0?ai.ceil(i):ai(i);i=ii.offset(i,(e.V-1)*7);e.y=i.getUTCFullYear();e.m=i.getUTCMonth();e.d=i.getUTCDate()+(e.w+6)%7}else{i=a(vi(e.y)),r=i.getDay();i=r>4||r===0?Gn.ceil(i):Gn(i);i=Wn.offset(i,(e.V-1)*7);e.y=i.getFullYear();e.m=i.getMonth();e.d=i.getDate()+(e.w+6)%7}}else if("W"in e||"U"in e){if(!("w"in e)){e.w="u"in e?e.u%7:"W"in e?1:0}r="Z"in e?gi(vi(e.y)).getUTCDay():a(vi(e.y)).getDay();e.m=0;e.d="W"in e?(e.w+6)%7+e.W*7-(r+5)%7:e.w+e.U*7-(r+6)%7}if("Z"in e){e.H+=e.Z/100|0;e.M+=e.Z%100;return gi(e)}return a(e)}}function E(t,e,n,i){var r=0,o=e.length,a=n.length,s,u;while(r=a){return-1}s=e.charCodeAt(r++);if(s===37){s=e.charAt(r++);u=x[s in yi?e.charAt(r++):s];if(!u||(i=u(t,n,i))<0){return-1}}else if(s!=n.charCodeAt(i++)){return-1}}return i}function S(t,e,n){var i=h.exec(e.slice(n));return i?(t.p=l[i[0].toLowerCase()],n+i[0].length):-1}function A(t,e,n){var i=d.exec(e.slice(n));return i?(t.w=p[i[0].toLowerCase()],n+i[0].length):-1}function k(t,e,n){var i=f.exec(e.slice(n));return i?(t.w=c[i[0].toLowerCase()],n+i[0].length):-1}function M(t,e,n){var i=_.exec(e.slice(n));return i?(t.m=y[i[0].toLowerCase()],n+i[0].length):-1}function T(t,e,n){var i=g.exec(e.slice(n));return i?(t.m=v[i[0].toLowerCase()],n+i[0].length):-1}function B(t,e,n){return E(t,i,e,n)}function D(t,e,n){return E(t,r,e,n)}function N(t,e,n){return E(t,o,e,n)}function P(t){return a[t.getDay()]}function z(t){return n[t.getDay()]}function O(t){return u[t.getMonth()]}function F(t){return s[t.getMonth()]}function R(t){return e[+(t.getHours()>=12)]}function I(t){return a[t.getUTCDay()]}function L(t){return n[t.getUTCDay()]}function j(t){return u[t.getUTCMonth()]}function H(t){return s[t.getUTCMonth()]}function V(t){return e[+(t.getUTCHours()>=12)]}return{format:function(t){var e=w(t+="",m);e.toString=function(){return t};return e},parse:function(t){var e=C(t+="",pi);e.toString=function(){return t};return e},utcFormat:function(t){var e=w(t+="",b);e.toString=function(){return t};return e},utcParse:function(t){var e=C(t,gi);e.toString=function(){return t};return e}}}var yi={"-":"",_:" ",0:"0"};var mi=/^\s*\d+/;var bi=/^%/;var xi=/[\\^$*+?|[\]().{}]/g;function wi(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",o=r.length;return i+(o68?1900:2e3),n+i[0].length):-1}function Pi(t,e,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function zi(t,e,n){var i=mi.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function Oi(t,e,n){var i=mi.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function Fi(t,e,n){var i=mi.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function Ri(t,e,n){var i=mi.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function Ii(t,e,n){var i=mi.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function Li(t,e,n){var i=mi.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function ji(t,e,n){var i=mi.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function Hi(t,e,n){var i=mi.exec(e.slice(n,n+6));return i?(t.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function Vi(t,e,n){var i=bi.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function Ui(t,e,n){var i=mi.exec(e.slice(n));return i?(t.Q=+i[0],n+i[0].length):-1}function Wi(t,e,n){var i=mi.exec(e.slice(n));return i?(t.Q=+i[0]*1e3,n+i[0].length):-1}function qi(t,e){return wi(t.getDate(),e,2)}function Xi(t,e){return wi(t.getHours(),e,2)}function Gi(t,e){return wi(t.getHours()%12||12,e,2)}function Yi(t,e){return wi(1+Wn.count(ti(t),t),e,3)}function $i(t,e){return wi(t.getMilliseconds(),e,3)}function Qi(t,e){return $i(t,e)+"000"}function Zi(t,e){return wi(t.getMonth()+1,e,2)}function Ki(t,e){return wi(t.getMinutes(),e,2)}function Ji(t,e){return wi(t.getSeconds(),e,2)}function tr(t){var e=t.getDay();return e===0?7:e}function er(t,e){return wi(Xn.count(ti(t),t),e,2)}function nr(t,e){var n=t.getDay();t=n>=4||n===0?Qn(t):Qn.ceil(t);return wi(Qn.count(ti(t),t)+(ti(t).getDay()===4),e,2)}function ir(t){return t.getDay()}function rr(t,e){return wi(Gn.count(ti(t),t),e,2)}function or(t,e){return wi(t.getFullYear()%100,e,2)}function ar(t,e){return wi(t.getFullYear()%1e4,e,4)}function sr(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+wi(e/60|0,"0",2)+wi(e%60,"0",2)}function ur(t,e){return wi(t.getUTCDate(),e,2)}function hr(t,e){return wi(t.getUTCHours(),e,2)}function lr(t,e){return wi(t.getUTCHours()%12||12,e,2)}function fr(t,e){return wi(1+ii.count(di(t),t),e,3)}function cr(t,e){return wi(t.getUTCMilliseconds(),e,3)}function dr(t,e){return cr(t,e)+"000"}function pr(t,e){return wi(t.getUTCMonth()+1,e,2)}function gr(t,e){return wi(t.getUTCMinutes(),e,2)}function vr(t,e){return wi(t.getUTCSeconds(),e,2)}function _r(t){var e=t.getUTCDay();return e===0?7:e}function yr(t,e){return wi(oi.count(di(t),t),e,2)}function mr(t,e){var n=t.getUTCDay();t=n>=4||n===0?hi(t):hi.ceil(t);return wi(hi.count(di(t),t)+(di(t).getUTCDay()===4),e,2)}function br(t){return t.getUTCDay()}function xr(t,e){return wi(ai.count(di(t),t),e,2)}function wr(t,e){return wi(t.getUTCFullYear()%100,e,2)}function Cr(t,e){return wi(t.getUTCFullYear()%1e4,e,4)}function Er(){return"+0000"}function Sr(){return"%"}function Ar(t){return+t}function kr(t){return Math.floor(+t/1e3)}var Mr;var Tr;var Br;var Dr;Nr({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Nr(t){Mr=_i(t);Tr=Mr.format;Br=Mr.utcFormat;Dr=Mr.utcParse;return Mr}var Pr="%Y-%m-%dT%H:%M:%S.%LZ";function zr(t){return t.toISOString()}var Or=Date.prototype.toISOString?zr:Br(Pr);function Fr(t){var e=new Date(t);return isNaN(e)?null:e}var Rr=+new Date("2000-01-01T00:00:00.000Z")?Fr:Dr(Pr);var Ir=1e3;var Lr=Ir*60;var jr=Lr*60;var Hr=jr*24;var Vr=Hr*7;var Ur=Hr*30;var Wr=Hr*365;function qr(t){return new Date(t)}function Xr(t){return t instanceof Date?+t:+new Date(+t)}function Gr(a,e,n,i,r,o,s,u,h){var l=We(Ie,ee),f=l.invert,c=l.domain;var d=h(".%L"),p=h(":%S"),g=h("%I:%M"),v=h("%I %p"),_=h("%a %d"),y=h("%b %d"),m=h("%B"),b=h("%Y");var x=[[s,1,Ir],[s,5,5*Ir],[s,15,15*Ir],[s,30,30*Ir],[o,1,Lr],[o,5,5*Lr],[o,15,15*Lr],[o,30,30*Lr],[r,1,jr],[r,3,3*jr],[r,6,6*jr],[r,12,12*jr],[i,1,Hr],[i,2,2*Hr],[n,1,Vr],[e,1,Ur],[e,3,3*Ur],[a,1,Wr]];function w(t){return(s(t)=0&&(e=t.slice(0,n))!=="xmlns"){t=t.slice(n+1)}return Jr.hasOwnProperty(e)?{space:Jr[e],local:t}:t};function eo(n){return function(){var t=this.ownerDocument,e=this.namespaceURI;return e===Kr&&t.documentElement.namespaceURI===Kr?t.createElement(n):t.createElementNS(e,n)}}function no(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var io=function(t){var e=to(t);return(e.local?no:eo)(e)};function ro(){}var oo=function(t){return t==null?ro:function(){return this.querySelector(t)}};var ao=function(t){if(typeof t!=="function"){t=oo(t)}for(var e=this._groups,n=e.length,i=new Array(n),r=0;r=m){m=y+1}while(!(x=v[m])&&++m=0;){if(a=i[r]){if(o&&o!==a.nextSibling){o.parentNode.insertBefore(a,o)}o=a}}}return this};var ko=function(n){if(!n){n=Mo}function t(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}for(var e=this._groups,i=e.length,r=new Array(i),o=0;oe?1:t>=e?0:NaN}var To=function(){var t=arguments[0];arguments[0]=this;t.apply(null,arguments);return this};var Bo=function(){var t=new Array(this.size()),e=-1;this.each(function(){t[++e]=this});return t};var Do=function(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?Uo:typeof e==="function"?qo:Wo)(t,e,n==null?"":n)):Go(this.node(),t)};function Go(t,e){return t.style.getPropertyValue(e)||Vo(t).getComputedStyle(t,null).getPropertyValue(e)}function Yo(t){return function(){delete this[t]}}function $o(t,e){return function(){this[t]=e}}function Qo(e,n){return function(){var t=n.apply(this,arguments);if(t==null){delete this[e]}else{this[e]=t}}}var Zo=function(t,e){return arguments.length>1?this.each((e==null?Yo:typeof e==="function"?Qo:$o)(t,e)):this.node()[t]};function Ko(t){return t.trim().split(/^|\s+/)}function Jo(t){return t.classList||new ta(t)}function ta(t){this._node=t;this._names=Ko(t.getAttribute("class")||"")}ta.prototype={add:function(t){var e=this._names.indexOf(t);if(e<0){this._names.push(t);this._node.setAttribute("class",this._names.join(" "))}},remove:function(t){var e=this._names.indexOf(t);if(e>=0){this._names.splice(e,1);this._node.setAttribute("class",this._names.join(" "))}},contains:function(t){return this._names.indexOf(t)>=0}};function ea(t,e){var n=Jo(t),i=-1,r=e.length;while(++i=0){e=t.slice(n+1),t=t.slice(0,n)}return{type:t,name:e}})}function za(a){return function(){var t=this;var e=this.__on;if(!e){return}for(var n=0,i=-1,r=e.length,o;n=0){e=t.slice(n+1),t=t.slice(0,n)}if(t&&!i.hasOwnProperty(t)){throw new Error("unknown type: "+t)}return{type:t,name:e}})}Ja.prototype=Ka.prototype={constructor:Ja,on:function(t,e){var n=this._,i=ts(t+"",n),r,o=-1,a=i.length;if(arguments.length<2){while(++o0){for(var i=new Array(o),r=0,o,a;r=0){t._call.call(null,e)}t=t._next}--is}function ms(){ls=(hs=cs.now())+fs;is=rs=0;try{ys()}finally{is=0;xs();ls=0}}function bs(){var t=cs.now(),e=t-hs;if(e>as){fs-=e,hs=t}}function xs(){var t,e=ss,n,i=Infinity;while(e){if(e._call){if(i>e._time){i=e._time}t=e,e=e._next}else{n=e._next,e._next=null;e=t?t._next=n:ss=n}}us=t;ws(i)}function ws(t){if(is){return}if(rs){rs=clearTimeout(rs)}var e=t-ls;if(e>24){if(tAs){throw new Error("too late; already scheduled")}return n}function Os(t,e){var n=Fs(t,e);if(n.state>Ms){throw new Error("too late; already started")}return n}function Fs(t,e){var n=t.__transition;if(!n||!(n=n[e])){throw new Error("transition not found")}return n}function Rs(o,a,s){var u=o.__transition,h;u[a]=s;s.timer=_s(t,0,s.time);function t(t){s.state=ks;s.timer.restart(l,s.delay,s.time);if(s.delay<=t){l(t-s.delay)}}function l(t){var e,n,i,r;if(s.state!==ks){return c()}for(e in u){r=u[e];if(r.name!==s.name){continue}if(r.state===Ts){return Cs(l)}if(r.state===Bs){r.state=Ns;r.timer.stop();r.on.call("interrupt",o,o.__data__,r.index,r.group);delete u[e]}else if(+eMs&&i.state=0){t=t.slice(0,e)}return!t||t==="start"})}function cu(n,i,r){var o,a,s=fu(i)?zs:Os;return function(){var t=s(this,n),e=t.on;if(e!==o){(a=(o=e).copy()).on(i,r)}t.on=a}}var du=function(t,e){var n=this._id;return arguments.length<2?Fs(this.node(),n).on.on(t):this.each(cu(n,t,e))};function pu(i){return function(){var t=this;var e=this.parentNode;for(var n in t.__transition){if(+n!==i){return}}if(e){e.removeChild(this)}}}var gu=function(){return this.on("end.remove",pu(this._id))};var vu=function(t){var e=this._name,n=this._id;if(typeof t!=="function"){t=oo(t)}for(var i=this._groups,r=i.length,o=new Array(r),a=0;a=0){n=Wt(t.map(function(t){return t instanceof Array?t:[t]}));n=Array.from(new Set(n));if(n.length===1){n=n[0]}}else if(i.indexOf(String)>=0){n=Array.from(new Set(t));if(n.length===1){n=n[0]}}else if(i.indexOf(Number)>=0){n=Xt(t)}else if(i.indexOf(Object)>=0){n=Ju(t.filter(function(t){return t}))}else{n=Array.from(new Set(t.filter(function(t){return t!==void 0})));if(n.length===1){n=n[0]}}}a[e]=n});return a}var th=function(t){var r;if(typeof t==="number"){r=[t]}else{r=t.split(/\s+/)}if(r.length===1){r=[r[0],r[0],r[0],r[0]]}else if(r.length===2){r=r.concat(r)}else if(r.length===3){r.push(r[1])}return["top","right","bottom","left"].reduce(function(t,e,n){var i=parseFloat(r[n]);t[e]=i||0;return t},{})};var eh=function(){if("-webkit-transform"in document.body.style){return"-webkit-"}else if("-moz-transform"in document.body.style){return"-moz-"}else if("-ms-transform"in document.body.style){return"-ms-"}else if("-o-transform"in document.body.style){return"-o-"}else{return""}};var nh=function(t,e){if(e===void 0){e={}}for(var n in e){if({}.hasOwnProperty.call(e,n)){t.style(n,e[n])}}};var ih=function t(){this._duration=600;this._height=ju("height");this._id=ju("id");this._pointerEvents=Zu("auto");this._select;this._url=ju("url");this._width=ju("width");this._x=ju("x",0);this._y=ju("y",0)};ih.prototype.render=function t(e){var n=this;if(this._select===void 0){this.select(qa("body").append("svg").style("width",window.innerWidth+"px").style("height",window.innerHeight+"px").style("display","block").node())}var i=this._select.selectAll(".d3plus-Image").data(this._data,this._id);var r=i.enter().append("image").attr("class","d3plus-Image").attr("opacity",0).attr("width",0).attr("height",0).attr("x",function(t,e){return n._x(t,e)+n._width(t,e)/2}).attr("y",function(t,e){return n._y(t,e)+n._height(t,e)/2});var o=Pu().duration(this._duration),a=this,s=r.merge(i);s.attr("xlink:href",this._url).style("pointer-events",this._pointerEvents).transition(o).attr("opacity",1).attr("width",function(t,e){return n._width(t,e)}).attr("height",function(t,e){return n._height(t,e)}).attr("x",function(t,e){return n._x(t,e)}).attr("y",function(t,e){return n._y(t,e)}).each(function(t,e){var n=qa(this),i=a._url(t,e);var r=i.indexOf("http://")===0||i.indexOf("https://")===0;if(!r||i.indexOf(window.location.hostname)===0){var o=new ih;o.src=i;o.crossOrigin="Anonymous";o.onload=function(){var t=document.createElement("canvas");t.width=this.width;t.height=this.height;var e=t.getContext("2d");e.drawImage(this,0,0);n.attr("xlink:href",t.toDataURL("image/png"))}}});i.exit().transition(o).attr("width",function(t,e){return n._width(t,e)}).attr("height",function(t,e){return n._height(t,e)}).attr("x",function(t,e){return n._x(t,e)}).attr("y",function(t,e){return n._y(t,e)}).attr("opacity",0).remove();if(e){setTimeout(e,this._duration+100)}return this};ih.prototype.data=function t(e){return arguments.length?(this._data=e,this):this._data};ih.prototype.duration=function t(e){return arguments.length?(this._duration=e,this):this._duration};ih.prototype.height=function t(e){return arguments.length?(this._height=typeof e==="function"?e:Zu(e),this):this._height};ih.prototype.id=function t(e){return arguments.length?(this._id=e,this):this._id};ih.prototype.pointerEvents=function t(e){return arguments.length?(this._pointerEvents=typeof e==="function"?e:Zu(e),this):this._pointerEvents};ih.prototype.select=function t(e){return arguments.length?(this._select=qa(e),this):this._select};ih.prototype.url=function t(e){return arguments.length?(this._url=e,this):this._url};ih.prototype.width=function t(e){return arguments.length?(this._width=typeof e==="function"?e:Zu(e),this):this._width};ih.prototype.x=function t(e){return arguments.length?(this._x=typeof e==="function"?e:Zu(e),this):this._x};ih.prototype.y=function t(e){return arguments.length?(this._y=typeof e==="function"?e:Zu(e),this):this._y};var rh=function(t,e,n,i){if(n===void 0){n=1}if(i===void 0){i=1}t=ot(t);e=ot(e);var r=Math.abs(e.h*i-t.h*n);if(r>180){r-=360}var o=(Math.min(t.h,e.h)+r/2)%360;var a=t.l+(e.l*i-t.l*n)/2,s=t.s+(e.s*i-t.s*n)/2;if(o<0){o+=360}return ot("hsl("+o+","+s*100+"%,"+a*100+"%)").toString()};var oh=Array.prototype;var ah=oh.slice;var sh={name:"implicit"};function uh(i){var o=_(),a=[],r=sh;i=i==null?[]:ah.call(i);function s(t){var e=t+"",n=o.get(e);if(!n){if(r!==sh){return r}o.set(e,n=a.push(t))}return i[(n-1)%i.length]}s.domain=function(t){if(!arguments.length){return a.slice()}a=[],o=_();var e=-1,n=t.length,i,r;while(++e=0){return yh("missing",e)}else if(t===true){return yh("on",e)}else if(t===false){return yh("off",e)}var n=Q(t);if(!n){return yh("scale",e)(t)}return t.toString()};var bh=function(t,e){if(e===void 0){e={}}t=tt(t);var n=(t.r*299+t.g*587+t.b*114)/1e3;return n>=128?yh("dark",e):yh("light",e)};var xh=function(t){t=ot(t);if(t.l>.45){if(t.s>.8){t.s=.8}t.l=.45}return t.toString()};var wh=function(t,e){if(e===void 0){e=.5}t=ot(t);e*=1-t.l;t.l+=e;t.s-=e;return t.toString()};var Ch=function(t,e,n,i){if(n===void 0){n=1}if(i===void 0){i=1}t=ot(t);e=ot(e);var r=e.h*i-t.h*n;if(Math.abs(r)>180){r-=360}var o=(t.h-r)%360;var a=t.l-(e.l*i-t.l*n)/2,s=t.s-(e.s*i-t.s*n)/2;if(o<0){o+=360}return ot("hsl("+o+","+s*100+"%,"+a*100+"%)").toString()};var Eh=Math.PI;var Sh=2*Eh;var Ah=1e-6;var kh=Sh-Ah;function Mh(){this._x0=this._y0=this._x1=this._y1=null;this._=""}function Th(){return new Mh}Mh.prototype=Th.prototype={constructor:Mh,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,o){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+o)},arcTo:function(t,e,n,i,r){t=+t,e=+e,n=+n,i=+i,r=+r;var o=this._x1,a=this._y1,s=n-t,u=i-e,h=o-t,l=a-e,f=h*h+l*l;if(r<0){throw new Error("negative radius: "+r)}if(this._x1===null){this._+="M"+(this._x1=t)+","+(this._y1=e)}else if(!(f>Ah)){}else if(!(Math.abs(l*s-u*h)>Ah)||!r){this._+="L"+(this._x1=t)+","+(this._y1=e)}else{var c=n-o,d=i-a,p=s*s+u*u,g=c*c+d*d,v=Math.sqrt(p),_=Math.sqrt(f),y=r*Math.tan((Eh-Math.acos((p+f-g)/(2*v*_)))/2),m=y/_,b=y/v;if(Math.abs(m-1)>Ah){this._+="L"+(t+m*h)+","+(e+m*l)}this._+="A"+r+","+r+",0,0,"+ +(l*c>h*d)+","+(this._x1=t+b*s)+","+(this._y1=e+b*u)}},arc:function(t,e,n,i,r,o){t=+t,e=+e,n=+n;var a=n*Math.cos(i),s=n*Math.sin(i),u=t+a,h=e+s,l=1^o,f=o?i-r:r-i;if(n<0){throw new Error("negative radius: "+n)}if(this._x1===null){this._+="M"+u+","+h}else if(Math.abs(this._x1-u)>Ah||Math.abs(this._y1-h)>Ah){this._+="L"+u+","+h}if(!n){return}if(f<0){f=f%Sh+Sh}if(f>kh){this._+="A"+n+","+n+",0,1,"+l+","+(t-a)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=u)+","+(this._y1=h)}else if(f>Ah){this._+="A"+n+","+n+",0,"+ +(f>=Eh)+","+l+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))}},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var Bh=function(e){return function t(){return e}};var Dh=Math.abs;var Nh=Math.atan2;var Ph=Math.cos;var zh=Math.max;var Oh=Math.min;var Fh=Math.sin;var Rh=Math.sqrt;var Ih=1e-12;var Lh=Math.PI;var jh=Lh/2;var Hh=2*Lh;function Vh(t){return t>1?0:t<-1?Lh:Math.acos(t)}function Uh(t){return t>=1?jh:t<=-1?-jh:Math.asin(t)}function Wh(t){return t.innerRadius}function qh(t){return t.outerRadius}function Xh(t){return t.startAngle}function Gh(t){return t.endAngle}function Yh(t){return t&&t.padAngle}function $h(t,e,n,i,r,o,a,s){var u=n-t,h=i-e,l=a-r,f=s-o,c=(l*(e-o)-f*(t-r))/(f*u-l*h);return[t+c*u,e+c*h]}function Qh(t,e,n,i,r,o,a){var s=t-n,u=e-i,h=(a?o:-o)/Rh(s*s+u*u),l=h*u,f=-h*s,c=t+l,d=e+f,p=n+l,g=i+f,v=(c+p)/2,_=(d+g)/2,y=p-c,m=g-d,b=y*y+m*m,x=r-o,w=c*g-p*d,C=(m<0?-1:1)*Rh(zh(0,x*x*b-w*w)),E=(w*m-y*C)/b,S=(-w*y-m*C)/b,A=(w*m+y*C)/b,k=(-w*y+m*C)/b,M=E-v,T=S-_,B=A-v,D=k-_;if(M*M+T*T>B*B+D*D){E=A,S=k}return{cx:E,cy:S,x01:-l,y01:-f,x11:E*(r/x-1),y11:S*(r/x-1)}}var Zh=function(){var I=Wh,L=qh,j=Bh(0),H=null,V=Xh,U=Gh,W=Yh,q=null;function e(){var t,e,n=+I.apply(this,arguments),i=+L.apply(this,arguments),r=V.apply(this,arguments)-jh,o=U.apply(this,arguments)-jh,a=Dh(o-r),s=o>r;if(!q){q=t=Th()}if(iIh)){q.moveTo(0,0)}else if(a>Hh-Ih){q.moveTo(i*Ph(r),i*Fh(r));q.arc(0,0,i,r,o,!s);if(n>Ih){q.moveTo(n*Ph(o),n*Fh(o));q.arc(0,0,n,o,r,s)}}else{var u=r,h=o,l=r,f=o,c=a,d=a,p=W.apply(this,arguments)/2,g=p>Ih&&(H?+H.apply(this,arguments):Rh(n*n+i*i)),v=Oh(Dh(i-n)/2,+j.apply(this,arguments)),_=v,y=v,m,b;if(g>Ih){var x=Uh(g/n*Fh(p)),w=Uh(g/i*Fh(p));if((c-=x*2)>Ih){x*=s?1:-1,l+=x,f-=x}else{c=0,l=f=(r+o)/2}if((d-=w*2)>Ih){w*=s?1:-1,u+=w,h-=w}else{d=0,u=h=(r+o)/2}}var C=i*Ph(u),E=i*Fh(u),S=n*Ph(f),A=n*Fh(f);if(v>Ih){var k=i*Ph(h),M=i*Fh(h),T=n*Ph(l),B=n*Fh(l);if(aIh?$h(C,E,T,B,k,M,S,A):[S,A],N=C-D[0],P=E-D[1],z=k-D[0],O=M-D[1],F=1/Fh(Vh((N*z+P*O)/(Rh(N*N+P*P)*Rh(z*z+O*O)))/2),R=Rh(D[0]*D[0]+D[1]*D[1]);_=Oh(v,(n-R)/(F-1));y=Oh(v,(i-R)/(F+1))}}if(!(d>Ih)){q.moveTo(C,E)}else if(y>Ih){m=Qh(T,B,C,E,i,y,s);b=Qh(k,M,S,A,i,y,s);q.moveTo(m.cx+m.x01,m.cy+m.y01);if(yIh)||!(c>Ih)){q.lineTo(S,A)}else if(_>Ih){m=Qh(S,A,k,M,n,-_,s);b=Qh(C,E,T,B,n,-_,s);q.lineTo(m.cx+m.x01,m.cy+m.y01);if(_=n;--i){_.point(u[i],h[i])}_.lineEnd();_.areaEnd()}}if(a){u[e]=+l(o,e,t),h[e]=+c(o,e,t);_.point(f?+f(o,e,t):u[e],d?+d(o,e,t):h[e])}}if(s){return _=null,s+""||null}}function t(){return nl().defined(p).curve(v).context(g)}e.x=function(t){return arguments.length?(l=typeof t==="function"?t:Bh(+t),f=null,e):l};e.x0=function(t){return arguments.length?(l=typeof t==="function"?t:Bh(+t),e):l};e.x1=function(t){return arguments.length?(f=t==null?null:typeof t==="function"?t:Bh(+t),e):f};e.y=function(t){return arguments.length?(c=typeof t==="function"?t:Bh(+t),d=null,e):c};e.y0=function(t){return arguments.length?(c=typeof t==="function"?t:Bh(+t),e):c};e.y1=function(t){return arguments.length?(d=t==null?null:typeof t==="function"?t:Bh(+t),e):d};e.lineX0=e.lineY0=function(){return t().x(l).y(c)};e.lineY1=function(){return t().x(l).y(d)};e.lineX1=function(){return t().x(f).y(c)};e.defined=function(t){return arguments.length?(p=typeof t==="function"?t:Bh(!!t),e):p};e.curve=function(t){return arguments.length?(v=t,g!=null&&(_=v(g)),e):v};e.context=function(t){return arguments.length?(t==null?g=_=null:_=v(g=t),e):g};return e};var rl=function(t,e){return et?1:e>=t?0:NaN};var ol=function(t){return t};var al=function(){var p=ol,g=rl,v=null,_=Bh(0),y=Bh(Hh),m=Bh(0);function e(n){var t,e=n.length,i,r,o=0,a=new Array(e),s=new Array(e),u=+_.apply(this,arguments),h=Math.min(Hh,Math.max(-Hh,y.apply(this,arguments)-u)),l,f=Math.min(Math.abs(h)/e,m.apply(this,arguments)),c=f*(h<0?-1:1),d;for(t=0;t0){o+=d}}if(g!=null){a.sort(function(t,e){return g(s[t],s[e])})}else if(v!=null){a.sort(function(t,e){return v(n[t],n[e])})}for(t=0,r=o?(h-e*c)/o:0;t0?d*r:0)+c,s[i]={data:n[i],index:t,value:d,startAngle:u,endAngle:l,padAngle:f}}return s}e.value=function(t){return arguments.length?(p=typeof t==="function"?t:Bh(+t),e):p};e.sortValues=function(t){return arguments.length?(g=t,v=null,e):g};e.sort=function(t){return arguments.length?(v=t,g=null,e):v};e.startAngle=function(t){return arguments.length?(_=typeof t==="function"?t:Bh(+t),e):_};e.endAngle=function(t){return arguments.length?(y=typeof t==="function"?t:Bh(+t),e):y};e.padAngle=function(t){return arguments.length?(m=typeof t==="function"?t:Bh(+t),e):m};return e};var sl=hl(Jh);function ul(t){this._curve=t}ul.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function hl(e){function t(t){return new ul(e(t))}t._curve=e;return t}function ll(t){var e=t.curve;t.angle=t.x,delete t.x;t.radius=t.y,delete t.y;t.curve=function(t){return arguments.length?e(hl(t)):e()._curve};return t}var fl=function(){return ll(nl().curve(sl))};var cl=function(){var t=il().curve(sl),e=t.curve,n=t.lineX0,i=t.lineX1,r=t.lineY0,o=t.lineY1;t.angle=t.x,delete t.x;t.startAngle=t.x0,delete t.x0;t.endAngle=t.x1,delete t.x1;t.radius=t.y,delete t.y;t.innerRadius=t.y0,delete t.y0;t.outerRadius=t.y1,delete t.y1;t.lineStartAngle=function(){return ll(n())},delete t.lineX0;t.lineEndAngle=function(){return ll(i())},delete t.lineX1;t.lineInnerRadius=function(){return ll(r())},delete t.lineY0;t.lineOuterRadius=function(){return ll(o())},delete t.lineY1;t.curve=function(t){return arguments.length?e(hl(t)):e()._curve};return t};var dl=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]};var pl=Array.prototype.slice;function gl(t){return t.source}function vl(t){return t.target}function _l(r){var o=gl,a=vl,s=tl,u=el,h=null;function e(){var t,e=pl.call(arguments),n=o.apply(this,e),i=a.apply(this,e);if(!h){h=t=Th()}r(h,+s.apply(this,(e[0]=n,e)),+u.apply(this,e),+s.apply(this,(e[0]=i,e)),+u.apply(this,e));if(t){return h=null,t+""||null}}e.source=function(t){return arguments.length?(o=t,e):o};e.target=function(t){return arguments.length?(a=t,e):a};e.x=function(t){return arguments.length?(s=typeof t==="function"?t:Bh(+t),e):s};e.y=function(t){return arguments.length?(u=typeof t==="function"?t:Bh(+t),e):u};e.context=function(t){return arguments.length?(h=t==null?null:t,e):h};return e}function yl(t,e,n,i,r){t.moveTo(e,n);t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function ml(t,e,n,i,r){t.moveTo(e,n);t.bezierCurveTo(e,n=(n+r)/2,i,n,i,r)}function bl(t,e,n,i,r){var o=dl(e,n),a=dl(e,n=(n+r)/2),s=dl(i,n),u=dl(i,r);t.moveTo(o[0],o[1]);t.bezierCurveTo(a[0],a[1],s[0],s[1],u[0],u[1])}function xl(){return _l(yl)}function wl(){return _l(ml)}function Cl(){var t=_l(bl);t.angle=t.x,delete t.x;t.radius=t.y,delete t.y;return t}var El={draw:function(t,e){var n=Math.sqrt(e/Lh);t.moveTo(n,0);t.arc(0,0,n,0,Hh)}};var Sl={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n);t.lineTo(-n,-n);t.lineTo(-n,-3*n);t.lineTo(n,-3*n);t.lineTo(n,-n);t.lineTo(3*n,-n);t.lineTo(3*n,n);t.lineTo(n,n);t.lineTo(n,3*n);t.lineTo(-n,3*n);t.lineTo(-n,n);t.lineTo(-3*n,n);t.closePath()}};var Al=Math.sqrt(1/3);var kl=Al*2;var Ml={draw:function(t,e){var n=Math.sqrt(e/kl),i=n*Al;t.moveTo(0,-n);t.lineTo(i,0);t.lineTo(0,n);t.lineTo(-i,0);t.closePath()}};var Tl=.8908130915292852;var Bl=Math.sin(Lh/10)/Math.sin(7*Lh/10);var Dl=Math.sin(Hh/10)*Bl;var Nl=-Math.cos(Hh/10)*Bl;var Pl={draw:function(t,e){var n=Math.sqrt(e*Tl),i=Dl*n,r=Nl*n;t.moveTo(0,-n);t.lineTo(i,r);for(var o=1;o<5;++o){var a=Hh*o/5,s=Math.cos(a),u=Math.sin(a);t.lineTo(u*n,-s*n);t.lineTo(s*i-u*r,u*i+s*r)}t.closePath()}};var zl={draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}};var Ol=Math.sqrt(3);var Fl={draw:function(t,e){var n=-Math.sqrt(e/(Ol*3));t.moveTo(0,n*2);t.lineTo(-Ol*n,-n);t.lineTo(Ol*n,-n);t.closePath()}};var Rl=-.5;var Il=Math.sqrt(3)/2;var Ll=1/Math.sqrt(12);var jl=(Ll/2+1)*3;var Hl={draw:function(t,e){var n=Math.sqrt(e/jl),i=n/2,r=n*Ll,o=i,a=n*Ll+n,s=-o,u=a;t.moveTo(i,r);t.lineTo(o,a);t.lineTo(s,u);t.lineTo(Rl*i-Il*r,Il*i+Rl*r);t.lineTo(Rl*o-Il*a,Il*o+Rl*a);t.lineTo(Rl*s-Il*u,Il*s+Rl*u);t.lineTo(Rl*i+Il*r,Rl*r-Il*i);t.lineTo(Rl*o+Il*a,Rl*a-Il*o);t.lineTo(Rl*s+Il*u,Rl*u-Il*s);t.closePath()}};var Vl=[El,Sl,Ml,zl,Pl,Fl,Hl];var Ul=function(){var e=Bh(El),n=Bh(64),i=null;function r(){var t;if(!i){i=t=Th()}e.apply(this,arguments).draw(i,+n.apply(this,arguments));if(t){return i=null,t+""||null}}r.type=function(t){return arguments.length?(e=typeof t==="function"?t:Bh(t),r):e};r.size=function(t){return arguments.length?(n=typeof t==="function"?t:Bh(+t),r):n};r.context=function(t){return arguments.length?(i=t==null?null:t,r):i};return r};var Wl=function(){};function ql(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Xl(t){this._context=t}Xl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){switch(this._point){case 3:ql(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1){this._context.closePath()}this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ql(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};var Gl=function(t){return new Xl(t)};function Yl(t){this._context=t}Yl.prototype={areaStart:Wl,areaEnd:Wl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2);this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3);this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3);this._context.closePath();break}case 3:{this.point(this._x2,this._y2);this.point(this._x3,this._y3);this.point(this._x4,this._y4);break}}},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._x2=t,this._y2=e;break;case 1:this._point=2;this._x3=t,this._y3=e;break;case 2:this._point=3;this._x4=t,this._y4=e;this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ql(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};var $l=function(t){return new Yl(t)};function Ql(t){this._context=t}Ql.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3){this._context.closePath()}this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:ql(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};var Zl=function(t){return new Ql(t)};function Kl(t,e){this._basis=new Xl(t);this._beta=e}Kl.prototype={lineStart:function(){this._x=[];this._y=[];this._basis.lineStart()},lineEnd:function(){var t=this;var e=this._x,n=this._y,i=e.length-1;if(i>0){var r=e[0],o=n[0],a=e[i]-r,s=n[i]-o,u=-1,h;while(++u<=i){h=u/i;t._basis.point(t._beta*e[u]+(1-t._beta)*(r+h*a),t._beta*n[u]+(1-t._beta)*(o+h*s))}}this._x=this._y=null;this._basis.lineEnd()},point:function(t,e){this._x.push(+t);this._y.push(+e)}};var Jl=function e(n){function t(t){return n===1?new Xl(t):new Kl(t,n)}t.beta=function(t){return e(+t)};return t}(.85);function tf(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ef(t,e){this._context=t;this._k=(1-e)/6}ef.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:tf(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1){this._context.closePath()}this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;this._x1=t,this._y1=e;break;case 2:this._point=3;default:tf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var nf=function e(n){function t(t){return new ef(t,n)}t.tension=function(t){return e(+t)};return t}(0);function rf(t,e){this._context=t;this._k=(1-e)/6}rf.prototype={areaStart:Wl,areaEnd:Wl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3);this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3);this._context.closePath();break}case 3:{this.point(this._x3,this._y3);this.point(this._x4,this._y4);this.point(this._x5,this._y5);break}}},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._x3=t,this._y3=e;break;case 1:this._point=2;this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3;this._x5=t,this._y5=e;break;default:tf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var of=function e(n){function t(t){return new rf(t,n)}t.tension=function(t){return e(+t)};return t}(0);function af(t,e){this._context=t;this._k=(1-e)/6}af.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3){this._context.closePath()}this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:tf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var sf=function e(n){function t(t){return new af(t,n)}t.tension=function(t){return e(+t)};return t}(0);function uf(t,e,n){var i=t._x1,r=t._y1,o=t._x2,a=t._y2;if(t._l01_a>Ih){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/u;r=(r*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Ih){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/l;a=(a*h+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(i,r,o,a,t._x2,t._y2)}function hf(t,e){this._context=t;this._alpha=e}hf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}if(this._line||this._line!==0&&this._point===1){this._context.closePath()}this._line=1-this._line},point:function(t,e){t=+t,e=+e;if(this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:uf(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var lf=function e(n){function t(t){return n?new hf(t,n):new ef(t,0)}t.alpha=function(t){return e(+t)};return t}(.5);function ff(t,e){this._context=t;this._alpha=e}ff.prototype={areaStart:Wl,areaEnd:Wl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3);this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3);this._context.closePath();break}case 3:{this.point(this._x3,this._y3);this.point(this._x4,this._y4);this.point(this._x5,this._y5);break}}},point:function(t,e){t=+t,e=+e;if(this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;this._x3=t,this._y3=e;break;case 1:this._point=2;this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3;this._x5=t,this._y5=e;break;default:uf(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var cf=function e(n){function t(t){return n?new ff(t,n):new rf(t,0)}t.alpha=function(t){return e(+t)};return t}(.5);function df(t,e){this._context=t;this._alpha=e}df.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3){this._context.closePath()}this._line=1-this._line},point:function(t,e){t=+t,e=+e;if(this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:uf(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var pf=function e(n){function t(t){return n?new df(t,n):new af(t,0)}t.alpha=function(t){return e(+t)};return t}(.5);function gf(t){this._context=t}gf.prototype={areaStart:Wl,areaEnd:Wl,lineStart:function(){this._point=0},lineEnd:function(){if(this._point){this._context.closePath()}},point:function(t,e){t=+t,e=+e;if(this._point){this._context.lineTo(t,e)}else{this._point=1,this._context.moveTo(t,e)}}};var vf=function(t){return new gf(t)};function _f(t){return t<0?-1:1}function yf(t,e,n){var i=t._x1-t._x0,r=e-t._x1,o=(t._y1-t._y0)/(i||r<0&&-0),a=(n-t._y1)/(r||i<0&&-0),s=(o*r+a*i)/(i+r);return(_f(o)+_f(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function mf(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function bf(t,e,n){var i=t._x0,r=t._y0,o=t._x1,a=t._y1,s=(o-i)/3;t._context.bezierCurveTo(i+s,r+s*e,o-s,a-s*n,o,a)}function xf(t){this._context=t}xf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:bf(this,this._t0,mf(this,this._t0));break}if(this._line||this._line!==0&&this._point===1){this._context.closePath()}this._line=1-this._line},point:function(t,e){var n=NaN;t=+t,e=+e;if(t===this._x1&&e===this._y1){return}switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;bf(this,mf(this,n=yf(this,t,e)),n);break;default:bf(this,this._t0,n=yf(this,t,e));break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e;this._t0=n}};function wf(t){this._context=new Cf(t)}(wf.prototype=Object.create(xf.prototype)).point=function(t,e){xf.prototype.point.call(this,e,t)};function Cf(t){this._context=t}Cf.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,i,r,o){this._context.bezierCurveTo(e,t,i,n,o,r)}};function Ef(t){return new xf(t)}function Sf(t){return new wf(t)}function Af(t){this._context=t}Af.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[];this._y=[]},lineEnd:function(){var t=this;var e=this._x,n=this._y,i=e.length;if(i){this._line?this._context.lineTo(e[0],n[0]):this._context.moveTo(e[0],n[0]);if(i===2){this._context.lineTo(e[1],n[1])}else{var r=kf(e),o=kf(n);for(var a=0,s=1;s=0;--e){r[e]=(a[e]-r[e+1])/o[e]}o[n-1]=(t[n]+r[n-1])/2;for(e=0;e=0){this._t=1-this._t,this._line=1-this._line}},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0){this._context.lineTo(this._x,e);this._context.lineTo(t,e)}else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y);this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};var Bf=function(t){return new Tf(t,.5)};function Df(t){return new Tf(t,0)}function Nf(t){return new Tf(t,1)}var Pf=function(t,e){if(!((a=t.length)>1)){return}for(var n=1,i,r,o=t[e[0]],a,s=o.length;n=0){n[e]=e}return n};function Of(t,e){return t[e]}var Ff=function(){var f=Bh([]),c=zf,d=Pf,p=Of;function e(t){var e=f.apply(this,arguments),n,i=t.length,r=e.length,o=new Array(r),a;for(n=0;n0)){return}for(var n,i,r=0,o=t[0].length,a;r1)){return}for(var n,i=0,r,o,a,s,u,h=t[e[0]].length;i=0){r[0]=a,r[1]=a+=o}else if(o<0){r[1]=s,r[0]=s+=o}else{r[0]=a}}}};var Lf=function(t,e){if(!((r=t.length)>0)){return}for(var n=0,i=t[e[0]],r,o=i.length;n0)||!((o=(r=t[e[0]]).length)>0)){return}for(var n=0,i=1,r,o,a;i",")","}","]",".","!","?","u00BB","u300B","u3009"].concat(cc);var gc="က-ဪဿ-၉ၐ-ၕ";var vc="぀-ゟ゠-ヿ＀-+--}⦅-゚㐀-䶿";var _c="㐀-龿";var yc="ກ-ຮະ-ໄ່-໋ໍ-ໝ";var mc=gc+_c+yc;var bc=new RegExp("(\\"+cc.join("|\\")+")*[^\\s|\\"+cc.join("|\\")+"]*(\\"+cc.join("|\\")+")*","g");var xc=new RegExp("["+vc+"]");var wc=new RegExp("["+mc+"]");var Cc=new RegExp("(\\"+dc.join("|\\")+")*["+mc+"](\\"+pc.join("|\\")+"|\\"+fc.join("|\\")+")*|[a-z0-9]+","gi");var Ec=function(t){if(!wc.test(t)){return ac(t).match(bc).filter(function(t){return t.length})}return Wt(ac(t).match(bc).map(function(t){if(!xc.test(t)&&wc.test(t)){return t.match(Cc)}return[t]}))};var Sc=function(){var d="sans-serif",p=10,g=400,v=200,_,y=false,m=Ec,b=200;function e(t){t=ac(t);if(_===void 0){_=Math.ceil(p*1.4)}var e=m(t);var n={"font-family":d,"font-size":p,"font-weight":g,"line-height":_};var i=1,r="",o=false,a=0;var s=[],u=Gf(e,n),h=Gf(" ",n);for(var l=0;lb){if(!l&&!y){o=true;break}s[i-1]=Qf(s[i-1]);i++;if(_*i>v||c>b&&!y){o=true;break}a=0;s.push(f)}else if(!l){s[0]=f}else{s[i-1]+=f}r+=f;a+=c;a+=f.match(/[\s]*$/g)[0].length*h}return{lines:s,sentence:t,truncated:o,widths:Gf(s,n),words:e}}e.fontFamily=function(t){return arguments.length?(d=t,e):d};e.fontSize=function(t){return arguments.length?(p=t,e):p};e.fontWeight=function(t){return arguments.length?(g=t,e):g};e.height=function(t){return arguments.length?(v=t,e):v};e.lineHeight=function(t){return arguments.length?(_=t,e):_};e.overflow=function(t){return arguments.length?(y=t,e):y};e.split=function(t){return arguments.length?(m=t,e):m};e.width=function(t){return arguments.length?(b=t,e):b};return e};var Ac=function(t){function e(){var n=this;t.call(this);this._delay=0;this._duration=0;this._ellipsis=function(t,e){return e?t.replace(/\.|,$/g,"")+"...":""};this._fontColor=Zu("black");this._fontFamily=Zu(["Roboto","Helvetica Neue","HelveticaNeue","Helvetica","Arial","sans-serif"]);this._fontMax=Zu(50);this._fontMin=Zu(8);this._fontOpacity=Zu(1);this._fontResize=Zu(false);this._fontSize=Zu(10);this._fontWeight=Zu(400);this._height=ju("height",200);this._id=function(t,e){return t.id||""+e};this._lineHeight=function(t,e){return n._fontSize(t,e)*1.2};this._on={};this._overflow=Zu(false);this._padding=Zu(0);this._pointerEvents=Zu("auto");this._rotate=Zu(0);this._rotateAnchor=function(t){return[t.w/2,t.h/2]};this._split=Ec;this._text=ju("text");this._textAnchor=Zu("start");this._verticalAlign=Zu("top");this._width=ju("width",200);this._x=ju("x",0);this._y=ju("y",0)}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.render=function t(e){var N=this;if(this._select===void 0){this.select(qa("body").append("svg").style("width",window.innerWidth+"px").style("height",window.innerHeight+"px").node())}var P=this;var n=this._select.selectAll(".d3plus-textBox").data(this._data.reduce(function(t,e,n){var i=N._text(e,n);if(i===void 0){return t}var r=N._fontResize(e,n);var o=N._lineHeight(e,n)/N._fontSize(e,n);var a=r?N._fontMax(e,n):N._fontSize(e,n),s=r?a*o:N._lineHeight(e,n),u=1,h=[],l,f;var c={"font-family":rc(N._fontFamily(e,n)),"font-size":a,"font-weight":N._fontWeight(e,n),"line-height":s};var d=th(N._padding(e,n));var p=N._height(e,n)-(d.top+d.bottom),g=N._width(e,n)-(d.left+d.right);var v=Sc().fontFamily(c["font-family"]).fontSize(a).fontWeight(c["font-weight"]).lineHeight(s).height(p).overflow(N._overflow(e,n)).width(g);var _=N._fontMax(e,n),y=N._fontMin(e,n),m=N._verticalAlign(e,n),b=N._split(i,n);function x(){if(a_){a=_}if(r){s=a*o;v.fontSize(a).lineHeight(s);c["font-size"]=a;c["line-height"]=s}f=v(i);h=f.lines.filter(function(t){return t!==""});u=h.length;if(f.truncated){if(r){a--;if(ay&&(p>s||r&&p>y*o)){if(r){l=Gf(b,c);var w=1.165+g/p*.1,C=g*p,E=Ut(l),S=Xt(l,function(t){return t*s})*w;if(E>g||S>C){var A=Math.sqrt(C/S),k=g/E;var M=qt([A,k]);a=Math.floor(a*M)}var T=Math.floor(p*.8);if(a>T){a=T}}x()}if(h.length){var B=u*s;var D=m==="top"?0:m==="middle"?p/2-B/2:p-B;D-=s*.1;t.push({data:e,i:n,lines:h,fC:N._fontColor(e,n),fF:c["font-family"],fO:N._fontOpacity(e,n),fW:c["font-weight"],id:N._id(e,n),tA:N._textAnchor(e,n),widths:f.widths,fS:a,lH:s,w:g,h:p,x:N._x(e,n)+d.left,y:N._y(e,n)+D+d.top})}return t},[]),this._id);var i=Pu().duration(this._duration);if(this._duration===0){n.exit().remove()}else{n.exit().transition().delay(this._duration).remove();n.exit().selectAll("text").transition(i).attr("opacity",0)}function r(t){t.attr("transform",function(t,e){var n=P._rotateAnchor(t,e);return"translate("+t.x+", "+t.y+") rotate("+P._rotate(t,e)+", "+n[0]+", "+n[1]+")"})}var o=n.enter().append("g").attr("class","d3plus-textBox").attr("id",function(t){return"d3plus-textBox-"+uc(t.id)}).call(r).merge(n);var a=oc();o.style("pointer-events",function(t){return N._pointerEvents(t.data,t.i)}).each(function(n){function t(t){t.text(function(t){return Qf(t)}).attr("dir",a?"rtl":"ltr").attr("fill",n.fC).attr("text-anchor",n.tA).attr("font-family",n.fF).style("font-family",n.fF).attr("font-size",n.fS+"px").style("font-size",n.fS+"px").attr("font-weight",n.fW).style("font-weight",n.fW).attr("opacity",n.fO).style("opacity",n.fO).attr("x",(n.tA==="middle"?n.w/2:a?n.tA==="start"?n.w:0:n.tA==="end"?n.w:0)+"px").attr("y",function(t,e){return(e+1)*n.lH-(n.lH-n.fS)+"px"})}var e=qa(this).selectAll("text").data(n.lines);if(P._duration===0){e.call(t);e.exit().remove();e.enter().append("text").attr("dominant-baseline","alphabetic").style("baseline-shift","0%").attr("unicode-bidi","bidi-override").call(t)}else{e.transition(i).call(t);e.exit().transition(i).attr("opacity",0).remove();e.enter().append("text").attr("dominant-baseline","alphabetic").style("baseline-shift","0%").attr("opacity",0).call(t).merge(e).transition(i).delay(P._delay).call(t).attr("opacity",1)}}).transition(i).call(r);var s=Object.keys(this._on),u=s.reduce(function(t,n){t[n]=function(t,e){return N._on[n](t.data,e)};return t},{});for(var h=0;h=0){return a[r]}else if(o.includes(i)&&e!==0&&e!==u.length-1){return n}else{return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()}}else{return""}}).reduce(function(t,e,n){if(n&&i.charAt(t.length)===" "){t+=" "}t+=e;return t},"")};var Bc=function(t,e){var n=e[0]-t[0],i=e[1]-t[1];return n*n+i*i};var Dc=function(t,e){return Math.sqrt(Bc(t,e))};var Nc=function(e){function t(t){var i=this;if(t===void 0){t="g"}e.call(this);this._activeOpacity=.25;this._activeStyle={stroke:function(t,e){var n=i._fill(t,e);if(["transparent","none"].includes(n)){n=i._stroke(t,e)}return Q(n).darker(1)},"stroke-width":function(t,e){var n=i._strokeWidth(t,e)||1;return n*3}};this._backgroundImage=Zu(false);this._backgroundImageClass=new ih;this._data=[];this._duration=600;this._fill=Zu("black");this._fillOpacity=Zu(1);this._hoverOpacity=.5;this._hoverStyle={stroke:function(t,e){var n=i._fill(t,e);if(["transparent","none"].includes(n)){n=i._stroke(t,e)}return Q(n).darker(.5)},"stroke-width":function(t,e){var n=i._strokeWidth(t,e)||1;return n*2}};this._id=function(t,e){return t.id!==void 0?t.id:e};this._label=Zu(false);this._labelClass=new Ac;this._labelConfig={fontColor:function(t,e){return bh(i._fill(t,e))},fontSize:12,padding:5};this._name="Shape";this._opacity=Zu(1);this._pointerEvents=Zu("visiblePainted");this._rotate=Zu(0);this._rx=Zu(0);this._ry=Zu(0);this._scale=Zu(1);this._shapeRendering=Zu("geometricPrecision");this._stroke=function(t,e){return Q(i._fill(t,e)).darker(1)};this._strokeDasharray=Zu("0");this._strokeLinecap=Zu("butt");this._strokeOpacity=Zu(1);this._strokeWidth=Zu(0);this._tagName=t;this._textAnchor=Zu("start");this._vectorEffect=Zu("non-scaling-stroke");this._verticalAlign=Zu("top");this._x=ju("x",0);this._y=ju("y",0)}if(e){t.__proto__=e}t.prototype=Object.create(e&&e.prototype);t.prototype.constructor=t;t.prototype._aes=function t(){return{}};t.prototype._applyEvents=function t(e){var o=this;var a=Object.keys(this._on);var n=function(r){e.on(a[r],function(t,e){if(!o._on[a[r]]){return}if(t.i!==void 0){e=t.i}if(t.nested&&t.values){var n=Ya(o._select.node()),i=t.values.map(function(t){return Dc(n,[o._x(t,e),o._y(t,e)])});t=t.values[i.indexOf(qt(i))]}o._on[a[r]].bind(o)(t,e)})};for(var i=0;i *, g.d3plus-"+this._name+"-active > *").each(function(t){if(t&&t.parentNode){t.parentNode.appendChild(this)}else{this.parentNode.removeChild(this)}});this._group=Ku("g.d3plus-"+this._name+"-group",{parent:this._select});var o=this._update=Ku("g.d3plus-"+this._name+"-shape",{parent:this._group,update:{opacity:this._active?this._activeOpacity:1}}).selectAll(".d3plus-"+this._name).data(i,r);o.order().transition(this._transition).call(this._applyTransform.bind(this));var a=this._enter=o.enter().append(this._tagName).attr("class",function(t,e){return"d3plus-Shape d3plus-"+n._name+" d3plus-id-"+uc(n._nestWrapper(n._id)(t,e))}).call(this._applyTransform.bind(this)).attr("opacity",this._nestWrapper(this._opacity));var s=a.merge(o);s.attr("shape-rendering",this._nestWrapper(this._shapeRendering)).attr("pointer-events","none").transition(this._transition).attr("opacity",this._nestWrapper(this._opacity)).transition().attr("pointer-events",this._pointerEvents);var u=this._exit=o.exit();u.transition().delay(this._duration).remove();this._renderImage();this._renderLabels();this._hoverGroup=Ku("g.d3plus-"+this._name+"-hover",{parent:this._group});this._activeGroup=Ku("g.d3plus-"+this._name+"-active",{parent:this._group});var h=this._group.selectAll(".d3plus-HitArea").data(this._hitArea?i:[],r);h.order().call(this._applyTransform.bind(this));var l=this._name==="Line";l&&this._path.curve(Xf["curve"+this._curve.charAt(0).toUpperCase()+this._curve.slice(1)]).defined(this._defined).x(this._x).y(this._y);var f=h.enter().append(l?"path":"rect").attr("class",function(t,e){return"d3plus-HitArea d3plus-id-"+uc(n._nestWrapper(n._id)(t,e))}).attr("fill","black").attr("stroke","black").attr("pointer-events","painted").attr("opacity",0).call(this._applyTransform.bind(this));var c=this;var d=h.merge(f).each(function(t){var e=c._data.indexOf(t);var n=c._hitArea(t,e,c._aes(t,e));return n&&!(c._name==="Line"&&parseFloat(c._strokeWidth(t,e))>10)?qa(this).call(Uu,n):qa(this).remove()});h.exit().remove();this._applyEvents(this._hitArea?d:s);setTimeout(function(){if(n._active){n._renderActive()}else if(n._hover){n._renderHover()}if(e){e()}},this._duration+100);return this};t.prototype.active=function t(e){if(!arguments.length||e===undefined){return this._active}this._active=e;if(this._group){this._renderActive()}return this};t.prototype.activeOpacity=function t(e){return arguments.length?(this._activeOpacity=e,this):this._activeOpacity};t.prototype.activeStyle=function t(e){return arguments.length?(this._activeStyle=Vu({},this._activeStyle,e),this):this._activeStyle};t.prototype.backgroundImage=function t(e){return arguments.length?(this._backgroundImage=typeof e==="function"?e:Zu(e),this):this._backgroundImage};t.prototype.data=function t(e){return arguments.length?(this._data=e,this):this._data};t.prototype.duration=function t(e){return arguments.length?(this._duration=e,this):this._duration};t.prototype.fill=function t(e){return arguments.length?(this._fill=typeof e==="function"?e:Zu(e),this):this._fill};t.prototype.fillOpacity=function t(e){return arguments.length?(this._fillOpacity=typeof e==="function"?e:Zu(e),this):this._fillOpacity};t.prototype.hover=function t(e){if(!arguments.length||e===void 0){return this._hover}this._hover=e;if(this._group){this._renderHover()}return this};t.prototype.hoverStyle=function t(e){return arguments.length?(this._hoverStyle=Vu({},this._hoverStyle,e),this):this._hoverStyle};t.prototype.hoverOpacity=function t(e){return arguments.length?(this._hoverOpacity=e,this):this._hoverOpacity};t.prototype.hitArea=function t(e){return arguments.length?(this._hitArea=typeof e==="function"?e:Zu(e),this):this._hitArea};t.prototype.id=function t(e){return arguments.length?(this._id=e,this):this._id};t.prototype.label=function t(e){return arguments.length?(this._label=typeof e==="function"?e:Zu(e),this):this._label};t.prototype.labelBounds=function t(e){return arguments.length?(this._labelBounds=typeof e==="function"?e:Zu(e),this):this._labelBounds};t.prototype.labelConfig=function t(e){return arguments.length?(this._labelConfig=Vu(this._labelConfig,e),this):this._labelConfig};t.prototype.opacity=function t(e){return arguments.length?(this._opacity=typeof e==="function"?e:Zu(e),this):this._opacity};t.prototype.pointerEvents=function t(e){return arguments.length?(this._pointerEvents=typeof e==="function"?e:Zu(e),this):this._pointerEvents};t.prototype.rotate=function t(e){return arguments.length?(this._rotate=typeof e==="function"?e:Zu(e),this):this._rotate};t.prototype.rx=function t(e){return arguments.length?(this._rx=typeof e==="function"?e:Zu(e),this):this._rx};t.prototype.ry=function t(e){return arguments.length?(this._ry=typeof e==="function"?e:Zu(e),this):this._ry};t.prototype.scale=function t(e){return arguments.length?(this._scale=typeof e==="function"?e:Zu(e),this):this._scale};t.prototype.select=function t(e){return arguments.length?(this._select=qa(e),this):this._select};t.prototype.shapeRendering=function t(e){return arguments.length?(this._shapeRendering=typeof e==="function"?e:Zu(e),this):this._shapeRendering};t.prototype.sort=function t(e){return arguments.length?(this._sort=e,this):this._sort};t.prototype.stroke=function t(e){return arguments.length?(this._stroke=typeof e==="function"?e:Zu(e),this):this._stroke};t.prototype.strokeDasharray=function t(e){return arguments.length?(this._strokeDasharray=typeof e==="function"?e:Zu(e),this):this._strokeDasharray};t.prototype.strokeLinecap=function t(e){return arguments.length?(this._strokeLinecap=typeof e==="function"?e:Zu(e),this):this._strokeLinecap};t.prototype.strokeOpacity=function t(e){return arguments.length?(this._strokeOpacity=typeof e==="function"?e:Zu(e),this):this._strokeOpacity};t.prototype.strokeWidth=function t(e){return arguments.length?(this._strokeWidth=typeof e==="function"?e:Zu(e),this):this._strokeWidth};t.prototype.textAnchor=function t(e){return arguments.length?(this._textAnchor=typeof e==="function"?e:Zu(e),this):this._textAnchor};t.prototype.vectorEffect=function t(e){return arguments.length?(this._vectorEffect=typeof e==="function"?e:Zu(e),this):this._vectorEffect};t.prototype.verticalAlign=function t(e){return arguments.length?(this._verticalAlign=typeof e==="function"?e:Zu(e),this):this._verticalAlign};t.prototype.x=function t(e){return arguments.length?(this._x=typeof e==="function"?e:Zu(e),this):this._x};t.prototype.y=function t(e){return arguments.length?(this._y=typeof e==="function"?e:Zu(e),this):this._y};return t}(Yu);function Pc(t,e){var r=[];var o=[];function a(t,e){if(t.length===1){r.push(t[0]);o.push(t[0])}else{var n=Array(t.length-1);for(var i=0;i=3){e.x1=t[1][0];e.y1=t[1][1]}e.x=t[t.length-1][0];e.y=t[t.length-1][1];if(t.length===4){e.type="C"}else if(t.length===3){e.type="Q"}else{e.type="L"}return e}function Oc(t,e){e=e||2;var n=[];var i=t;var r=1/e;for(var o=0;o0){i-=1}else if(i0){i-=1}}}t[i]=(t[i]||0)+1;return t},[]);var r=i.reduce(function(t,e,n){if(n===o.length-1){var i=Ic(e,Object.assign({},o[o.length-1]));if(i[0].type==="M"){i.forEach(function(t){t.type="L"})}return t.concat(i)}return t.concat(Vc(o[n],o[n+1],e))},[]);r.unshift(o[0]);return r}function Wc(t){if(t==null){return""}return t.trim().replace(/[Z]/gi,"").replace(/\s+/," ").replace(/([MLCSTQAHV])\s*/gi,"$1")}function qc(t,n,e){var i=Wc(t);var r=Wc(n);var o=i===""?[]:i.split(/(?=[MLCSTQAHV])/gi);var a=r===""?[]:r.split(/(?=[MLCSTQAHV])/gi);if(!o.length&&!a.length){return function t(){return""}}if(!o.length){o.push(a[0])}else if(!a.length){a.push(o[0])}var s=o.map(Lc);var u=a.map(Lc);var h=Math.abs(a.length-o.length);if(h!==0){if(u.length>s.length){s=Uc(s,u,e)}else if(u.lengtho!==s>o&&r<(a-u)*(o-h)/(s-h)+u){l=!l}a=u,s=h}return l};var $c=function(t,e,n,i){var r=1e-9;var o=t[0]-e[0],a=n[0]-i[0],s=t[1]-e[1],u=n[1]-i[1];var h=o*u-s*a;if(Math.abs(h)Math.max(t[0],e[0])+i||oMath.max(t[1],e[1])+i)};var Zc=function(t,e,n,i){var r=$c(t,e,n,i);if(!r){return false}return Qc(t,e,r)&&Qc(n,i,r)};var Kc=function(t,e){var n=-1;var i=t.length;var r=e.length;var o=t[i-1];while(++ne[s]){if(_1){i=n[0];r=n[1]}else if(s>0){i+=o*s;r+=a*s}}o=t[0]-i;a=t[1]-r;return o*o+a*a}function id(t,e){var n,i=t[0];var r=[i];for(var o=1,a=t.length;oe){r.push(n);i=n}}if(i!==n){r.push(n)}return r}function rd(t,e,n,i,r){var o,a=i;for(var s=e+1;sa){o=s;a=u}}if(a>i){if(o-e>1){rd(t,e,o,i,r)}r.push(t[o]);if(n-o>1){rd(t,o,n,i,r)}}}function od(t,e){var n=t.length-1;var i=[t[0]];rd(t,0,n,e,i);i.push(t[n]);return i}var ad=function(t,e,n){if(e===void 0){e=1}if(n===void 0){n=false}if(t.length<=2){return t}var i=e*e;t=n?t:id(t,i);t=od(t,i);return t};var sd=.5;var ud=5;var hd={};var ld=function(t,e){var n,i;if(e===void 0){e={}}if(t.length<3){if(e.verbose){console.error("polygon has to have at least 3 points",t)}return null}var r=[];e=Object.assign({angle:Vt(-90,90+ud,ud),cache:true,maxAspectRatio:15,minAspectRatio:1,minHeight:0,minWidth:0,nTries:20,tolerance:.02,verbose:false},e);var o=e.angle instanceof Array?e.angle:typeof e.angle==="number"?[e.angle]:typeof e.angle==="string"&&!isNaN(e.angle)?[Number(e.angle)]:[];var a=e.aspectRatio instanceof Array?e.aspectRatio:typeof e.aspectRatio==="number"?[e.aspectRatio]:typeof e.aspectRatio==="string"&&!isNaN(e.aspectRatio)?[Number(e.aspectRatio)]:[];var s=e.origin&&e.origin instanceof Array?e.origin[0]instanceof Array?e.origin:[e.origin]:[];var u;if(e.cache){u=Wt(t).join(",");u+="-"+e.minAspectRatio;u+="-"+e.maxAspectRatio;u+="-"+e.minHeight;u+="-"+e.minWidth;u+="-"+o.join(",");u+="-"+s.join(",");if(hd[u]){return hd[u]}}var h=Math.abs(Xc(t));if(h===0){if(e.verbose){console.error("polygon has 0 area",t)}return null}var l=Ht(t,function(t){return t[0]});var f=l[0];var c=l[1];var d=Ht(t,function(t){return t[1]});var p=d[0];var g=d[1];var v=Math.min(c-f,g-p)*e.tolerance;if(v>0){t=ad(t,v)}if(e.events){r.push({type:"simplify",poly:t})}n=Ht(t,function(t){return t[0]}),f=n[0],c=n[1];i=Ht(t,function(t){return t[1]}),p=i[0],g=i[1];var _=[c-f,g-p];var y=_[0];var m=_[1];var b=Math.min(y,m)/50;if(!s.length){var x=Gc(t);if(isNaN(x[0])){if(e.verbose){console.error("cannot find centroid",t)}return null}if(Yc(t,x)){s.push(x)}while(s.length=b){r.push({type:"aRatio",aRatio:et})}while(it-nt>=b){var rt=(nt+it)/2;var ot=rt/et;var at=j[0];var st=j[1];var ut=[[at-rt/2,st-ot/2],[at+rt/2,st-ot/2],[at+rt/2,st+ot/2],[at-rt/2,st+ot/2]];ut=ed(ut,T,j);var ht=Kc(ut,t);if(ht){S=rt*ot;ut.push(ut[0]);A={area:S,cx:at,cy:st,width:rt,height:ot,angle:-M,points:ut};nt=rt}else{it=rt}if(e.events){r.push({type:"rectangle",areaFraction:rt*ot/h,cx:at,cy:st,width:rt,height:ot,angle:M,insidePoly:ht})}}}}}}if(e.cache){hd[u]=A}return e.events?Object.assign(A||{},{events:r}):A};var fd=function(o){function t(){var r=this;o.call(this);this._curve="linear";this._defined=function(){return true};this._labelBounds=function(t,e,n){var i=ld(n.points);if(!i){return null}return{angle:i.angle,width:i.width,height:i.height,x:i.cx-i.width/2-r._x(t,e),y:i.cy-i.height/2-r._y(t,e)}};this._labelConfig=Object.assign(this._labelConfig,{textAnchor:"middle",verticalAlign:"middle"});this._name="Area";this._x=ju("x");this._x0=ju("x");this._x1=null;this._y=Zu(0);this._y0=Zu(0);this._y1=ju("y")}if(o){t.__proto__=o}t.prototype=Object.create(o&&o.prototype);t.prototype.constructor=t;t.prototype._aes=function t(e){var n=this;var i=e.values.slice().sort(function(t,e){return n._y1?n._x(t)-n._x(e):n._y(t)-n._y(e)});var r=i.map(function(t,e){return[n._x0(t,e),n._y0(t,e)]});var o=i.reverse().map(function(t,e){return n._y1?[n._x(t,e),n._y1(t,e)]:[n._x1(t,e),n._y(t,e)]});var a=r.concat(o);if(r[0][1]>o[0][1]){a=a.reverse()}a.push(a[0]);return{points:a}};t.prototype._dataFilter=function t(i){var r=this;var e=Gt().key(this._id).entries(i).map(function(t){t.data=Ju(t.values);t.i=i.indexOf(t.values[0]);var e=Ht(t.values.map(r._x).concat(t.values.map(r._x0)).concat(r._x1?t.values.map(r._x1):[]));t.xR=e;t.width=e[1]-e[0];t.x=e[0]+t.width/2;var n=Ht(t.values.map(r._y).concat(t.values.map(r._y0)).concat(r._y1?t.values.map(r._y1):[]));t.yR=n;t.height=n[1]-n[0];t.y=n[0]+t.height/2;t.nested=true;t.translate=[t.x,t.y];t.__d3plusShape__=true;return t});e.key=function(t){return t.key};return e};t.prototype.render=function t(e){o.prototype.render.call(this,e);var n=this._path=il().defined(this._defined).curve(Xf["curve"+this._curve.charAt(0).toUpperCase()+this._curve.slice(1)]).x(this._x).x0(this._x0).x1(this._x1).y(this._y).y0(this._y0).y1(this._y1);var i=il().defined(function(t){return t}).curve(Xf["curve"+this._curve.charAt(0).toUpperCase()+this._curve.slice(1)]).x(this._x).x0(this._x0).x1(this._x1).y(this._y).y0(this._y0).y1(this._y1);this._enter.append("path").attr("transform",function(t){return"translate("+(-t.xR[0]-t.width/2)+", "+(-t.yR[0]-t.height/2)+")"}).attr("d",function(t){return n(t.values)}).call(this._applyStyle.bind(this));this._update.select("path").transition(this._transition).attr("transform",function(t){return"translate("+(-t.xR[0]-t.width/2)+", "+(-t.yR[0]-t.height/2)+")"}).attrTween("d",function(t){return qc(qa(this).attr("d"),n(t.values))}).call(this._applyStyle.bind(this));this._exit.select("path").transition(this._transition).attrTween("d",function(t){return qc(qa(this).attr("d"),i(t.values))});return this};t.prototype.curve=function t(e){return arguments.length?(this._curve=e,this):this._curve};t.prototype.defined=function t(e){return arguments.length?(this._defined=e,this):this._defined};t.prototype.x=function t(e){if(!arguments.length){return this._x}this._x=typeof e==="function"?e:Zu(e);this._x0=this._x;return this};t.prototype.x0=function t(e){if(!arguments.length){return this._x0}this._x0=typeof e==="function"?e:Zu(e);this._x=this._x0;return this};t.prototype.x1=function t(e){return arguments.length?(this._x1=typeof e==="function"||e===null?e:Zu(e),this):this._x1};t.prototype.y=function t(e){if(!arguments.length){return this._y}this._y=typeof e==="function"?e:Zu(e);this._y0=this._y;return this};t.prototype.y0=function t(e){if(!arguments.length){return this._y0}this._y0=typeof e==="function"?e:Zu(e);this._y=this._y0;return this};t.prototype.y1=function t(e){return arguments.length?(this._y1=typeof e==="function"||e===null?e:Zu(e),this):this._y1};return t}(Nc);var cd=function(r){function t(){var i=this;r.call(this,"rect");this._name="Bar";this._height=Zu(10);this._labelBounds=function(t,e,n){return{width:n.width,height:n.height,x:i._x1!==null?i._getX(t,e):-n.width/2,y:i._x1===null?i._getY(t,e):-n.height/2}};this._width=Zu(10);this._x=ju("x");this._x0=ju("x");this._x1=null;this._y=Zu(0);this._y0=Zu(0);this._y1=ju("y")}if(r){t.__proto__=r}t.prototype=Object.create(r&&r.prototype);t.prototype.constructor=t;t.prototype.render=function t(e){var n=this;r.prototype.render.call(this,e);this._enter.attr("width",function(t,e){return n._x1===null?n._getWidth(t,e):0}).attr("height",function(t,e){return n._x1!==null?n._getHeight(t,e):0}).attr("x",function(t,e){return n._x1===null?-n._getWidth(t,e)/2:0}).attr("y",function(t,e){return n._x1!==null?-n._getHeight(t,e)/2:0}).call(this._applyStyle.bind(this)).transition(this._transition).call(this._applyPosition.bind(this));this._update.transition(this._transition).call(this._applyStyle.bind(this)).call(this._applyPosition.bind(this));this._exit.transition(this._transition).attr("width",function(t,e){return n._x1===null?n._getWidth(t,e):0}).attr("height",function(t,e){return n._x1!==null?n._getHeight(t,e):0}).attr("x",function(t,e){return n._x1===null?-n._getWidth(t,e)/2:0}).attr("y",function(t,e){return n._x1!==null?-n._getHeight(t,e)/2:0});return this};t.prototype._aes=function t(e,n){return{height:this._getHeight(e,n),width:this._getWidth(e,n)}};t.prototype._applyPosition=function t(e){var n=this;e.attr("width",function(t,e){return n._getWidth(t,e)}).attr("height",function(t,e){return n._getHeight(t,e)}).attr("x",function(t,e){return n._x1!==null?n._getX(t,e):-n._getWidth(t,e)/2}).attr("y",function(t,e){return n._x1===null?n._getY(t,e):-n._getHeight(t,e)/2})};t.prototype._getHeight=function t(e,n){if(this._x1!==null){return this._height(e,n)}return Math.abs(this._y1(e,n)-this._y(e,n))};t.prototype._getWidth=function t(e,n){if(this._x1===null){return this._width(e,n)}return Math.abs(this._x1(e,n)-this._x(e,n))};t.prototype._getX=function t(e,n){var i=this._x1===null?this._x(e,n):this._x1(e,n)-this._x(e,n);if(i<0){return i}else{return 0}};t.prototype._getY=function t(e,n){var i=this._x1!==null?this._y(e,n):this._y1(e,n)-this._y(e,n);if(i<0){return i}else{return 0}};t.prototype.height=function t(e){return arguments.length?(this._height=typeof e==="function"?e:Zu(e),this):this._height};t.prototype.width=function t(e){return arguments.length?(this._width=typeof e==="function"?e:Zu(e),this):this._width};t.prototype.x0=function t(e){if(!arguments.length){return this._x0}this._x0=typeof e==="function"?e:Zu(e);this._x=this._x0;return this};t.prototype.x1=function t(e){return arguments.length?(this._x1=typeof e==="function"||e===null?e:Zu(e),this):this._x1};t.prototype.y0=function t(e){if(!arguments.length){return this._y0}this._y0=typeof e==="function"?e:Zu(e);this._y=this._y0;return this};t.prototype.y1=function t(e){return arguments.length?(this._y1=typeof e==="function"||e===null?e:Zu(e),this):this._y1};return t}(Nc);var dd=function(n){function t(){n.call(this,"circle");this._labelBounds=function(t,e,n){return{width:n.r*1.5,height:n.r*1.5,x:-n.r*.75,y:-n.r*.75}};this._labelConfig=Vu(this._labelConfig,{textAnchor:"middle",verticalAlign:"middle"});this._name="Circle";this._r=ju("r")}if(n){t.__proto__=n}t.prototype=Object.create(n&&n.prototype);t.prototype.constructor=t;t.prototype._applyPosition=function t(e){var n=this;e.attr("r",function(t,e){return n._r(t,e)}).attr("x",function(t,e){return-n._r(t,e)/2}).attr("y",function(t,e){return-n._r(t,e)/2})};t.prototype.render=function t(e){n.prototype.render.call(this,e);this._enter.attr("r",0).attr("x",0).attr("y",0).call(this._applyStyle.bind(this)).transition(this._transition).call(this._applyPosition.bind(this));this._update.transition(this._transition).call(this._applyStyle.bind(this)).call(this._applyPosition.bind(this));this._exit.transition(this._transition).attr("r",0).attr("x",0).attr("y",0);return this};t.prototype._aes=function t(e,n){return{r:this._r(e,n)}};t.prototype.r=function t(e){return arguments.length?(this._r=typeof e==="function"?e:Zu(e),this):this._r};return t}(Nc);var pd=function(r){function t(){var e=this;r.call(this);this._curve="linear";this._defined=function(t){return t};this._fill=Zu("none");this._hitArea=Zu({d:function(t){return e._path(t.values)},fill:"none","stroke-width":10,transform:null});this._name="Line";this._path=nl();this._stroke=Zu("black");this._strokeWidth=Zu(1)}if(r){t.__proto__=r}t.prototype=Object.create(r&&r.prototype);t.prototype.constructor=t;t.prototype._dataFilter=function t(i){var r=this;var e=Gt().key(this._id).entries(i).map(function(t){t.data=Ju(t.values);t.i=i.indexOf(t.values[0]);var e=Ht(t.values,r._x);t.xR=e;t.width=e[1]-e[0];t.x=e[0]+t.width/2;var n=Ht(t.values,r._y);t.yR=n;t.height=n[1]-n[0];t.y=n[0]+t.height/2;t.nested=true;t.translate=[t.x,t.y];t.__d3plusShape__=true;return t});e.key=function(t){return t.key};return e};t.prototype.render=function t(e){var n=this;r.prototype.render.call(this,e);var i=this;this._path.curve(Xf["curve"+this._curve.charAt(0).toUpperCase()+this._curve.slice(1)]).defined(this._defined).x(this._x).y(this._y);this._enter.append("path").attr("transform",function(t){return"translate("+(-t.xR[0]-t.width/2)+", "+(-t.yR[0]-t.height/2)+")"}).attr("d",function(t){return n._path(t.values)}).call(this._applyStyle.bind(this));this._update.select("path").transition(this._transition).attr("transform",function(t){return"translate("+(-t.xR[0]-t.width/2)+", "+(-t.yR[0]-t.height/2)+")"}).attrTween("d",function(t){return qc(qa(this).attr("d"),i._path(t.values))}).call(this._applyStyle.bind(this));return this};t.prototype._aes=function t(e,n){var i=this;return{points:e.values.map(function(t){return[i._x(t,n),i._y(t,n)]})}};t.prototype.curve=function t(e){return arguments.length?(this._curve=e,this):this._curve};t.prototype.defined=function t(e){return arguments.length?(this._defined=e,this):this._defined};return t}(Nc);var gd=Math.PI;var vd=function(t,e,n){if(n===void 0){n="circle"}if(t<0){t=gd*2+t}if(n==="square"){var i=45*(gd/180);var r=0,o=0;if(t5&&t%1===0){return new Date(t)}var e=""+t;var n=new RegExp(/^\d{1,2}[./-]\d{1,2}[./-](-*\d{1,4})$/g).exec(e),i=new RegExp(/^[A-z]{1,3} [A-z]{1,3} \d{1,2} (-*\d{1,4}) \d{1,2}:\d{1,2}:\d{1,2} [A-z]{1,3}-*\d{1,4} \([A-z]{1,3}\)/g).exec(e);if(n){var r=n[1];if(r.indexOf("-")===0){e=e.replace(r,r.substr(1))}var o=new Date(e);o.setFullYear(r);return o}else if(i){var a=i[1];if(a.indexOf("-")===0){e=e.replace(a,a.substr(1))}var s=new Date(e);s.setFullYear(a);return s}else if(!e.includes("/")&&!e.includes(" ")&&(!e.includes("-")||!e.indexOf("-"))){var u=new Date(e+"/01/01");u.setFullYear(t);return u}else{return new Date(e)}};var Cd=function(t){function e(){var e=this;t.call(this);this._align="middle";this._barConfig={stroke:"#000","stroke-width":1};this._domain=[0,10];this._duration=600;this._gridConfig={stroke:"#ccc","stroke-width":1};this._height=400;this._labelOffset=false;this.orient("bottom");this._outerBounds={width:0,height:0,x:0,y:0};this._padding=5;this._paddingInner=.1;this._paddingOuter=.1;this._rotateLabels=false;this._scale="linear";this._shape="Line";this._shapeConfig={fill:"#000",height:function(t){return t.tick?8:0},label:function(t){return t.text},labelBounds:function(t){return t.labelBounds},labelConfig:{fontColor:"#000",fontFamily:(new Ac).fontFamily(),fontResize:false,fontSize:Zu(10),padding:0,textAnchor:function(){var t=oc();return e._orient==="left"?t?"start":"end":e._orient==="right"?t?"end":"start":e._rotateLabels?e._orient==="bottom"?"end":"start":"middle"},verticalAlign:function(){return e._orient==="bottom"?"top":e._orient==="top"?"bottom":"middle"}},r:function(t){return t.tick?4:0},stroke:"#000",strokeWidth:1,width:function(t){return t.tick?8:0}};this._tickSize=5;this._titleClass=new Ac;this._titleConfig={fontSize:12,textAnchor:"middle"};this._width=400}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype._barPosition=function t(e){var n=this._position;var i=n.height;var r=n.x;var o=n.y;var a=n.opposite;var s=this._getDomain(),u=this._margin[a],h=["top","left"].includes(this._orient)?this._outerBounds[o]+this._outerBounds[i]-u:this._outerBounds[o]+u;e.call(Uu,this._barConfig).attr(r+"1",this._getPosition(s[0])-(this._scale==="band"?this._d3Scale.step()-this._d3Scale.bandwidth():0)).attr(r+"2",this._getPosition(s[s.length-1])+(this._scale==="band"?this._d3Scale.step():0)).attr(o+"1",h).attr(o+"2",h)};e.prototype._getDomain=function t(){var e=[];if(this._d3ScaleNegative){e=this._d3ScaleNegative.domain()}if(this._d3Scale){e=e.concat(this._d3Scale.domain())}var n=this._scale==="ordinal"?e:Ht(e);return e[0]>e[1]?n.reverse():n};e.prototype._getPosition=function t(e){return e<0&&this._d3ScaleNegative?this._d3ScaleNegative(e):this._d3Scale(e)};e.prototype._getRange=function t(){var e=[];if(this._d3ScaleNegative){e=this._d3ScaleNegative.range()}if(this._d3Scale){e=e.concat(this._d3Scale.range())}return e[0]>e[1]?Ht(e).reverse():Ht(e)};e.prototype._getTicks=function t(){var e=Mn().domain([10,400]).range([10,50]);var n=[];if(this._d3ScaleNegative){var i=this._d3ScaleNegative.range();var r=i[1]-i[0];n=this._d3ScaleNegative.ticks(Math.floor(r/e(r)))}if(this._d3Scale){var o=this._d3Scale.range();var a=o[1]-o[0];n=n.concat(this._d3Scale.ticks(Math.floor(a/e(a))))}return n};e.prototype._gridPosition=function t(e,n){if(n===void 0){n=false}var i=this._position;var r=i.height;var o=i.x;var a=i.y;var s=i.opposite;var u=this._margin[s],h=["top","left"].includes(this._orient)?this._outerBounds[a]+this._outerBounds[r]-u:this._outerBounds[a]+u,l=n?this._lastScale||this._getPosition.bind(this):this._getPosition.bind(this),f=["top","left"].includes(this._orient)?u:-u,c=this._scale==="band"?this._d3Scale.bandwidth()/2:0,d=function(t){return l(t.id)+c};e.call(Uu,this._gridConfig).attr(o+"1",d).attr(o+"2",d).attr(a+"1",h).attr(a+"2",n?h:h+f)};e.prototype.render=function t(e){var y=this;var n;if(this._select===void 0){this.select(qa("body").append("svg").attr("width",this._width+"px").attr("height",this._height+"px").node())}var i=this._position;var r=i.width;var m=i.height;var b=i.x;var x=i.y;var w=i.horizontal;var C=i.opposite;var o="d3plus-Axis-clip-"+this._uuid,E=["top","left"].includes(this._orient),S=this._padding,a=this._select,s=Pu().duration(this._duration);var u=this._range?this._range.slice():[undefined,undefined];if(u[0]===void 0){u[0]=S}if(u[1]===void 0){u[1]=this["_"+r]-S}this._size=u[1]-u[0];if(this._scale==="ordinal"&&this._domain.length>u.length){u=Vt(this._domain.length).map(function(t){return y._size*(t/(y._domain.length-1))+u[0]})}var A=this._margin={top:0,right:0,bottom:0,left:0};if(this._title){var h=this._titleConfig;var l=h.fontFamily;var f=h.fontSize;var c=h.lineHeight;var d=Sc().fontFamily(typeof l==="function"?l():l).fontSize(typeof f==="function"?f():f).lineHeight(typeof c==="function"?c():c).width(this._size).height(this["_"+m]-this._tickSize-S);var p=d(this._title).lines.length;A[this._orient]=p*d.lineHeight()+S}this._d3Scale=Zr["scale"+this._scale.charAt(0).toUpperCase()+this._scale.slice(1)]().domain(this._scale==="time"?this._domain.map(wd):this._domain);if(this._d3Scale.rangeRound){this._d3Scale.rangeRound(u)}else{this._d3Scale.range(u)}if(this._d3Scale.round){this._d3Scale.round(true)}if(this._d3Scale.paddingInner){this._d3Scale.paddingInner(this._paddingInner)}if(this._d3Scale.paddingOuter){this._d3Scale.paddingOuter(this._paddingOuter)}this._d3ScaleNegative=null;if(this._scale==="log"){var g=this._d3Scale.domain();if(g[0]===0){g[0]=1}if(g[g.length-1]===0){g[g.length-1]=-1}var v=this._d3Scale.range();if(g[0]<0&&g[g.length-1]<0){this._d3ScaleNegative=this._d3Scale.copy().domain(g).range(v);this._d3Scale=null}else if(g[0]>0&&g[g.length-1]>0){this._d3Scale.domain(g).range(v)}else{var _=Sn().domain([1,g[g[1]>0?1:0]]).range([0,1]);var k=_(Math.abs(g[g[1]<0?1:0]));var M=k/(k+1)*(v[1]-v[0]);if(g[0]>0){M=v[1]-v[0]-M}this._d3ScaleNegative=this._d3Scale.copy();(g[0]<0?this._d3Scale:this._d3ScaleNegative).domain([Math.sign(g[1]),g[1]]).range([v[0]+M,v[1]]);(g[0]<0?this._d3ScaleNegative:this._d3Scale).domain([g[0],Math.sign(g[0])]).range([v[0],v[0]+M])}}var T=this._ticks?this._scale==="time"?this._ticks.map(wd):this._ticks:(this._d3Scale?this._d3Scale.ticks:this._d3ScaleNegative.ticks)?this._getTicks():this._domain;var B=this._labels?this._scale==="time"?this._labels.map(wd):this._labels:(this._d3Scale?this._d3Scale.ticks:this._d3ScaleNegative.ticks)?this._getTicks():T;T=T.slice();B=B.slice();if(this._scale==="log"){B=B.filter(function(t){return Math.abs(t).toString().charAt(0)==="1"&&(y._d3Scale?t!==-1:t!==1)})}var D="⁰¹²³⁴⁵⁶⁷⁸⁹";var N=this._tickFormat?this._tickFormat:function(t){if(y._scale==="log"){var e=Math.round(Math.log(Math.abs(t))/Math.LN10);var n=Math.abs(t).toString().charAt(0);var i="10 "+(""+e).split("").map(function(t){return D[t]}).join("");if(n!=="1"){i=n+" x "+i}return t<0?"-"+i:i}return y._d3Scale.tickFormat?y._d3Scale.tickFormat(B.length-1)(t):t};if(this._scale==="time"){T=T.map(Number);B=B.map(Number)}else if(this._scale==="ordinal"){B=B.filter(function(t){return T.includes(t)})}T=T.sort(function(t,e){return y._getPosition(t)-y._getPosition(e)});B=B.sort(function(t,e){return y._getPosition(t)-y._getPosition(e)});var P=this._shape==="Circle"?this._shapeConfig.r:this._shape==="Rect"?this._shapeConfig[r]:this._shapeConfig.strokeWidth;var z=typeof P!=="function"?function(){return P}:P;var O=[];this._availableTicks=T;T.forEach(function(t,e){var n=z({id:t,tick:true},e);if(y._shape==="Circle"){n*=2}var i=y._getPosition(t);if(!O.length||Math.abs($u(i,O)-i)>n*2){O.push(i)}else{O.push(false)}});T=T.filter(function(t,e){return O[e]!==false});this._visibleTicks=T;var F=this._shape==="Circle"?typeof this._shapeConfig.r==="function"?this._shapeConfig.r({tick:true}):this._shapeConfig.r:this._shape==="Rect"?typeof this._shapeConfig[m]==="function"?this._shapeConfig[m]({tick:true}):this._shapeConfig[m]:this._tickSize,R=z({tick:true});if(typeof F==="function"){F=Ut(T.map(F))}if(this._shape==="Rect"){F/=2}if(typeof R==="function"){R=Ut(T.map(R))}if(this._shape!=="Circle"){R/=2}if(this._scale==="band"){this._space=this._d3Scale.bandwidth()}else if(B.length>1){this._space=0;for(var I=0;Iy._space){y._space=L}}}else{this._space=this._size}var j=B.map(function(t,e){var n=y._shapeConfig.labelConfig.fontFamily(t,e),i=y._shapeConfig.labelConfig.fontSize(t,e);var r=Sc().fontFamily(n).fontSize(i).lineHeight(y._shapeConfig.lineHeight?y._shapeConfig.lineHeight(t,e):undefined).width(w?y._space*2:y._maxSize?y._maxSize-F-S-y._margin.left-y._margin.right-y._tickSize:y._width-F-S).height(w?y._height-F-S:y._space*2);var o=r(N(t));o.lines=o.lines.filter(function(t){return t!==""});o.d=t;o.fS=i;o.width=o.lines.length?Math.ceil(Ut(o.lines.map(function(t){return Gf(t,{"font-family":n,"font-size":i})})))+i/4:0;o.height=o.lines.length?Math.ceil(o.lines.length*(r.lineHeight()+1)):0;o.offset=0;o.hidden=false;if(o.width%2){o.width++}return o});var H=Ut(j,function(t){return t.height})||0;if(w&&typeof this._labelRotation==="undefined"){for(var V=0;Vy._getPosition(Z)-K:false;var tt=Y||J;if(tt){y._rotateLabels=true;break}}}else if(w){this._rotateLabels=this._labelRotation}if(this._rotateLabels){j=B.map(function(t,e){var n=j[e];var i=y._shapeConfig.labelConfig.fontFamily(t,e),r=y._shapeConfig.labelConfig.fontSize(t,e);var o=y._shapeConfig.lineHeight?y._shapeConfig.lineHeight(t,e):r*1.4;var a=Sc().fontFamily(i).fontSize(r).lineHeight(y._shapeConfig.lineHeight?y._shapeConfig.lineHeight(t,e):undefined).height(o*2+1).width(y._maxSize?y._maxSize-y._margin.top-y._margin.bottom-y._tickSize:y._height);var s=y._getPosition(t);var u=B[e-1]||false;var h=B[e+1]||false;var l=u?s-o*2>y._getPosition(u)+o*2:h?s+o*21&&f.widths[0]>80;var d=l&&c?f.widths[0]/1.6:f.widths[0];var p=l&&c?o*2:o;return Object.assign(n,{height:d||0,lineHeight:o,numLines:l&&c?2:1,width:p||0})})}j.forEach(function(t,e){if(e){var n=j[e-1];if(!n.offset&&y._getPosition(t.d)-t[r]/2u[it]){var ht=ut-u[it];if(this._range===void 0||this._range[it]===void 0){this._size-=ht;u[it]-=ht}else if(this._range){nt[it]+=ht}}if(u.length>2){u=Vt(this._domain.length).map(function(t){return y._size*(t/(u.length-1))+u[0]})}u=u.map(Math.round);if(this._d3ScaleNegative){var lt=this._d3ScaleNegative.range();this._d3ScaleNegative[this._d3ScaleNegative.rangeRound?"rangeRound":"range"](this._d3Scale&&this._d3Scale.range()[0]1){this._space=0;for(var ct=0;cty._space){y._space=dt}}}else{this._space=this._size}var pt=this._shape==="Line"?0:F;var gt=this._outerBounds=(n={},n[m]=(Ut(j,function(t){return Math.ceil(t[m])})||0)+(j.length?S:0),n[r]=nt[it]-nt[0],n[b]=nt[0],n);A[this._orient]+=F;A[C]=this._gridSize!==void 0?Ut([this._gridSize,pt]):this["_"+m]-A[this._orient]-gt[m]-S;gt[m]+=A[C]+A[this._orient];gt[x]=this._align==="start"?this._padding:this._align==="end"?this["_"+m]-gt[m]-this._padding:this["_"+m]/2-gt[m]/2;var vt=Ku("g#d3plus-Axis-"+this._uuid,{parent:a});this._group=vt;var _t=Ku("g.grid",{parent:vt}).selectAll("line").data((this._gridSize!==0?this._grid||T:[]).map(function(t){return{id:t}}),function(t){return t.id});_t.exit().transition(s).attr("opacity",0).call(this._gridPosition.bind(this)).remove();_t.enter().append("line").attr("opacity",0).attr("clip-path","url(#"+o+")").call(this._gridPosition.bind(this),true).merge(_t).transition(s).attr("opacity",1).call(this._gridPosition.bind(this));var yt=B.filter(function(t,e){return j[e].lines.length&&!T.includes(t)});var mt=T.concat(yt).map(function(e){var t=j.filter(function(t){return t.d===e});var n=t.length?j.indexOf(t[0]):undefined;var i=y._getPosition(e);var r=t.length&&y._labelOffset?t[0].offset:0;var o=w?y._space:gt.width-A[y._position.opposite]-F-A[y._orient]+S;var a=t.length&&n>0?j.filter(function(t,e){return!t.hidden&&t.offset>=r&&e=r&&e>n}):false;s=s.length?s[0]:false;var u=Math.min(a?i-y._getPosition(a.d):o,s?y._getPosition(s.d)-i:o);if(t.length&&t[0].width>o){t[0].hidden=true;t[0].offset=r=0}var h=A[C],l=(F+r)*(E?-1:1),f=E?gt[x]+gt[m]-h:gt[x]+h;var c={id:e,labelBounds:{x:w?-u/2:y._orient==="left"?-o-S+l:l+S,y:w?y._orient==="bottom"?l+S:l-S-H:-u/2,width:w?u:o,height:w?H:u},size:T.includes(e)?l:0,text:B.includes(e)?N(e):false,tick:T.includes(e)};c[b]=i+(y._scale==="band"?y._d3Scale.bandwidth()/2:0);c[x]=f;var d=y._rotateLabels&&j.find(function(t){return t.d===e});if(d){var p=d.lineHeight;var g=d.numLines;var v=d.height;var _=d.width;c=Object.assign(c,{labelBounds:{x:-v/2,y:y._orient==="bottom"?l+S+(v-p*g)/2:l-S*2-(v+p*g)/2,width:v,height:_+1}})}return c});if(this._shape==="Line"){mt=mt.concat(mt.map(function(t){var e=Object.assign({},t);e[x]+=t.size;return e}))}(new xd[this._shape]).data(mt).duration(this._duration).labelConfig({ellipsis:function(t){return t&&t.length?t+"...":""},rotate:this._rotateLabels?-90:0}).select(Ku("g.ticks",{parent:vt}).node()).config(this._shapeConfig).render();var bt=vt.selectAll("line.bar").data([null]);bt.enter().append("line").attr("class","bar").attr("opacity",0).call(this._barPosition.bind(this)).merge(bt).transition(s).attr("opacity",1).call(this._barPosition.bind(this));this._titleClass.data(this._title?[{text:this._title}]:[]).duration(this._duration).height(A[this._orient]).rotate(this._orient==="left"?-90:this._orient==="right"?90:0).select(Ku("g.d3plus-Axis-title",{parent:vt}).node()).text(function(t){return t.text}).verticalAlign("middle").width(gt[r]).x(w?gt.x:this._orient==="left"?gt.x+A[this._orient]/2-gt[r]/2:gt.x+gt.width-A[this._orient]/2-gt[r]/2).y(w?this._orient==="bottom"?gt.y+gt.height-A.bottom+S:gt.y:gt.y-A[this._orient]/2+gt[r]/2).config(this._titleConfig).render();this._lastScale=this._getPosition.bind(this);if(e){setTimeout(e,this._duration+100)}return this};e.prototype.align=function t(e){return arguments.length?(this._align=e,this):this._align};e.prototype.barConfig=function t(e){return arguments.length?(this._barConfig=Object.assign(this._barConfig,e),this):this._barConfig};e.prototype.domain=function t(e){return arguments.length?(this._domain=e,this):this._domain};e.prototype.duration=function t(e){return arguments.length?(this._duration=e,this):this._duration};e.prototype.grid=function t(e){return arguments.length?(this._grid=e,this):this._grid};e.prototype.gridConfig=function t(e){return arguments.length?(this._gridConfig=Object.assign(this._gridConfig,e),this):this._gridConfig};e.prototype.gridSize=function t(e){return arguments.length?(this._gridSize=e,this):this._gridSize};e.prototype.height=function t(e){return arguments.length?(this._height=e,this):this._height};e.prototype.labels=function t(e){return arguments.length?(this._labels=e,this):this._labels};e.prototype.labelOffset=function t(e){return arguments.length?(this._labelOffset=e,this):this._labelOffset};e.prototype.labelRotation=function t(e){return arguments.length?(this._labelRotation=e,this):this._labelRotation};e.prototype.maxSize=function t(e){return arguments.length?(this._maxSize=e,this):this._maxSize};e.prototype.orient=function t(e){if(arguments.length){var n=["top","bottom"].includes(e),i={top:"bottom",right:"left",bottom:"top",left:"right"};this._position={horizontal:n,width:n?"width":"height",height:n?"height":"width",x:n?"x":"y",y:n?"y":"x",opposite:i[e]};return this._orient=e,this}return this._orient};e.prototype.outerBounds=function t(){return this._outerBounds};e.prototype.padding=function t(e){return arguments.length?(this._padding=e,this):this._padding};e.prototype.paddingInner=function t(e){return arguments.length?(this._paddingInner=e,this):this._paddingInner};e.prototype.paddingOuter=function t(e){return arguments.length?(this._paddingOuter=e,this):this._paddingOuter};e.prototype.range=function t(e){return arguments.length?(this._range=e,this):this._range};e.prototype.scale=function t(e){return arguments.length?(this._scale=e,this):this._scale};e.prototype.select=function t(e){return arguments.length?(this._select=qa(e),this):this._select};e.prototype.shape=function t(e){return arguments.length?(this._shape=e,this):this._shape};e.prototype.shapeConfig=function t(e){return arguments.length?(this._shapeConfig=Vu(this._shapeConfig,e),this):this._shapeConfig};e.prototype.tickFormat=function t(e){return arguments.length?(this._tickFormat=e,this):this._tickFormat};e.prototype.ticks=function t(e){return arguments.length?(this._ticks=e,this):this._ticks};e.prototype.tickSize=function t(e){return arguments.length?(this._tickSize=e,this):this._tickSize};e.prototype.title=function t(e){return arguments.length?(this._title=e,this):this._title};e.prototype.titleConfig=function t(e){return arguments.length?(this._titleConfig=Object.assign(this._titleConfig,e),this):this._titleConfig};e.prototype.width=function t(e){return arguments.length?(this._width=e,this):this._width};return e}(Yu);var Ed=function(t){function e(){t.call(this);this.orient("bottom")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;return e}(Cd);var Sd=function(t){function e(){t.call(this);this.orient("left")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;return e}(Cd);var Ad=function(t){function e(){t.call(this);this.orient("right")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;return e}(Cd);var kd=function(t){function e(){t.call(this);this.orient("top")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;return e}(Cd);var Md=function(){return new Td};function Td(){this.reset()}Td.prototype={constructor:Td,reset:function(){this.s=this.t=0},add:function(t){Dd(Bd,t,this.t);Dd(this,Bd.s,this.s);if(this.s){this.t+=Bd.t}else{this.s=Bd.t}},valueOf:function(){return this.s}};var Bd=new Td;function Dd(t,e,n){var i=t.s=e+n,r=i-e,o=i-r;t.t=e-o+(n-r)}var Nd=1e-6;var Pd=1e-12;var zd=Math.PI;var Od=zd/2;var Fd=zd/4;var Rd=zd*2;var Id=180/zd;var Ld=zd/180;var jd=Math.abs;var Hd=Math.atan;var Vd=Math.atan2;var Ud=Math.cos;var Wd=Math.ceil;var qd=Math.exp;var Xd=Math.log;var Gd=Math.pow;var Yd=Math.sin;var $d=Math.sign||function(t){return t>0?1:t<0?-1:0};var Qd=Math.sqrt;var Zd=Math.tan;function Kd(t){return t>1?0:t<-1?zd:Math.acos(t)}function Jd(t){return t>1?Od:t<-1?-Od:Math.asin(t)}function tp(t){return(t=Yd(t/2))*t}function ep(){}function np(t,e){if(t&&rp.hasOwnProperty(t.type)){rp[t.type](t,e)}}var ip={Feature:function(t,e){np(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,i=-1,r=n.length;while(++i=0?1:-1,r=i*n,o=Ud(e),a=Yd(e),s=pp*a,u=dp*o+s*Ud(r),h=s*i*Yd(r);up.add(Vd(h,u));cp=t,dp=o,pp=a}var bp=function(t){hp.reset();sp(t,gp);return hp*2};function xp(t){return[Vd(t[1],t[0]),Jd(t[2])]}function wp(t){var e=t[0],n=t[1],i=Ud(n);return[i*Ud(e),i*Yd(e),Yd(n)]}function Cp(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ep(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Sp(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ap(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function kp(t){var e=Qd(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Mp;var Tp;var Bp;var Dp;var Np;var Pp;var zp;var Op;var Fp=Md();var Rp;var Ip;var Lp={point:jp,lineStart:Vp,lineEnd:Up,polygonStart:function(){Lp.point=Wp;Lp.lineStart=qp;Lp.lineEnd=Xp;Fp.reset();gp.polygonStart()},polygonEnd:function(){gp.polygonEnd();Lp.point=jp;Lp.lineStart=Vp;Lp.lineEnd=Up;if(up<0){Mp=-(Bp=180),Tp=-(Dp=90)}else if(Fp>Nd){Dp=90}else if(Fp<-Nd){Tp=-90}Ip[0]=Mp,Ip[1]=Bp}};function jp(t,e){Rp.push(Ip=[Mp=t,Bp=t]);if(eDp){Dp=e}}function Hp(t,e){var n=wp([t*Ld,e*Ld]);if(Op){var i=Ep(Op,n),r=[i[1],-i[0],0],o=Ep(r,i);kp(o);o=xp(o);var a=t-Np,s=a>0?1:-1,u=o[0]*Id*s,h,l=jd(a)>180;if(l^(s*NpDp){Dp=h}}else if(u=(u+360)%360-180,l^(s*NpDp){Dp=e}}if(l){if(tGp(Mp,Bp)){Bp=t}}else{if(Gp(t,Bp)>Gp(Mp,Bp)){Mp=t}}}else{if(Bp>=Mp){if(tBp){Bp=t}}else{if(t>Np){if(Gp(Mp,t)>Gp(Mp,Bp)){Bp=t}}else{if(Gp(t,Bp)>Gp(Mp,Bp)){Mp=t}}}}}else{Rp.push(Ip=[Mp=t,Bp=t])}if(eDp){Dp=e}Op=n,Np=t}function Vp(){Lp.point=Hp}function Up(){Ip[0]=Mp,Ip[1]=Bp;Lp.point=jp;Op=null}function Wp(t,e){if(Op){var n=t-Np;Fp.add(jd(n)>180?n+(n>0?360:-360):n)}else{Pp=t,zp=e}gp.point(t,e);Hp(t,e)}function qp(){gp.lineStart()}function Xp(){Wp(Pp,zp);gp.lineEnd();if(jd(Fp)>Nd){Mp=-(Bp=180)}Ip[0]=Mp,Ip[1]=Bp;Op=null}function Gp(t,e){return(e-=t)<0?e+360:e}function Yp(t,e){return t[0]-e[0]}function $p(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eGp(i[0],i[1])){i[1]=r[1]}if(Gp(r[0],i[1])>Gp(i[0],i[1])){i[0]=r[0]}}else{o.push(i=r)}}for(a=-Infinity,n=o.length-1,e=0,i=o[n];e<=n;i=r,++e){r=o[e];if((s=Gp(i[1],r[0]))>a){a=s,Mp=r[0],Bp=i[1]}}}Rp=Ip=null;return Mp===Infinity||Tp===Infinity?[[NaN,NaN],[NaN,NaN]]:[[Mp,Tp],[Bp,Dp]]};var Zp;var Kp;var Jp;var tg;var eg;var ng;var ig;var rg;var og;var ag;var sg;var ug;var hg;var lg;var fg;var cg;var dg={sphere:ep,point:pg,lineStart:vg,lineEnd:mg,polygonStart:function(){dg.lineStart=bg;dg.lineEnd=xg},polygonEnd:function(){dg.lineStart=vg;dg.lineEnd=mg}};function pg(t,e){t*=Ld,e*=Ld;var n=Ud(e);gg(n*Ud(t),n*Yd(t),Yd(e))}function gg(t,e,n){++Zp;Jp+=(t-Jp)/Zp;tg+=(e-tg)/Zp;eg+=(n-eg)/Zp}function vg(){dg.point=_g}function _g(t,e){t*=Ld,e*=Ld;var n=Ud(e);lg=n*Ud(t);fg=n*Yd(t);cg=Yd(e);dg.point=yg;gg(lg,fg,cg)}function yg(t,e){t*=Ld,e*=Ld;var n=Ud(e),i=n*Ud(t),r=n*Yd(t),o=Yd(e),a=Vd(Qd((a=fg*o-cg*r)*a+(a=cg*i-lg*o)*a+(a=lg*r-fg*i)*a),lg*i+fg*r+cg*o);Kp+=a;ng+=a*(lg+(lg=i));ig+=a*(fg+(fg=r));rg+=a*(cg+(cg=o));gg(lg,fg,cg)}function mg(){dg.point=pg}function bg(){dg.point=wg}function xg(){Cg(ug,hg);dg.point=pg}function wg(t,e){ug=t,hg=e;t*=Ld,e*=Ld;dg.point=Cg;var n=Ud(e);lg=n*Ud(t);fg=n*Yd(t);cg=Yd(e);gg(lg,fg,cg)}function Cg(t,e){t*=Ld,e*=Ld;var n=Ud(e),i=n*Ud(t),r=n*Yd(t),o=Yd(e),a=fg*o-cg*r,s=cg*i-lg*o,u=lg*r-fg*i,h=Qd(a*a+s*s+u*u),l=Jd(h),f=h&&-l/h;og+=f*a;ag+=f*s;sg+=f*u;Kp+=l;ng+=l*(lg+(lg=i));ig+=l*(fg+(fg=r));rg+=l*(cg+(cg=o));gg(lg,fg,cg)}var Eg=function(t){Zp=Kp=Jp=tg=eg=ng=ig=rg=og=ag=sg=0;sp(t,dg);var e=og,n=ag,i=sg,r=e*e+n*n+i*i;if(rzd?t-Rd:t<-zd?t+Rd:t,e]}kg.invert=kg;function Mg(t,e,n){return(t%=Rd)?e||n?Ag(Bg(t),Dg(e,n)):Bg(t):e||n?Dg(e,n):kg}function Tg(n){return function(t,e){return t+=n,[t>zd?t-Rd:t<-zd?t+Rd:t,e]}}function Bg(t){var e=Tg(t);e.invert=Tg(-t);return e}function Dg(t,e){var s=Ud(t),u=Yd(t),h=Ud(e),l=Yd(e);function n(t,e){var n=Ud(e),i=Ud(t)*n,r=Yd(t)*n,o=Yd(e),a=o*s+i*u;return[Vd(r*h-a*l,i*s-o*u),Jd(a*h+r*l)]}n.invert=function(t,e){var n=Ud(e),i=Ud(t)*n,r=Yd(t)*n,o=Yd(e),a=o*h-r*l;return[Vd(r*h+o*l,i*s+a*u),Jd(a*s-i*u)]};return n}var Ng=function(e){e=Mg(e[0]*Ld,e[1]*Ld,e.length>2?e[2]*Ld:0);function t(t){t=e(t[0]*Ld,t[1]*Ld);return t[0]*=Id,t[1]*=Id,t}t.invert=function(t){t=e.invert(t[0]*Ld,t[1]*Ld);return t[0]*=Id,t[1]*=Id,t};return t};function Pg(t,e,n,i,r,o){if(!n){return}var a=Ud(e),s=Yd(e),u=i*n;if(r==null){r=e+i*Rd;o=e-u/2}else{r=zg(a,r);o=zg(a,o);if(i>0?ro){r+=i*Rd}}for(var h,l=r;i>0?l>o:l1){e.push(e.pop().concat(e.shift()))}},result:function(){var t=e;e=[];n=null;return t}}};var Rg=function(t,e){return jd(t[0]-e[0])=0;--u){o.point((f=l[u])[0],f[1])}}else{i(c.x,c.p.x,-1,o)}c=c.p}c=c.o;l=c.z;d=!d}while(!c.v);o.lineEnd()}};function jg(t){if(!(e=t.length)){return}var e,n=0,i=t[0],r;while(++n=0?1:-1,S=E*C,A=S>zd,k=g*x;Hg.add(Vd(k*E*Yd(S),v*w+k*Ud(S)));a+=A?C+E*Rd:C;if(A^d>=n^m>=n){var M=Ep(wp(c),wp(y));kp(M);var T=Ep(o,M);kp(T);var B=(A^C>=0?-1:1)*Jd(T[2]);if(i>B||i===B&&(M[0]||M[1])){s+=A^C>=0?1:-1}}}}return(a<-Nd||a0){if(!l){s.polygonStart(),l=true}s.lineStart();for(n=0;n1&&t&2){e.push(e.pop().concat(e.shift()))}c.push(e.filter(Wg))}return e}};function Wg(t){return t.length>1}function qg(t,e){return((t=t.x)[0]<0?t[1]-Od-Nd:Od-t[1])-((e=e.x)[0]<0?e[1]-Od-Nd:Od-e[1])}var Xg=Ug(function(){return true},Gg,$g,[-zd,-Od]);function Gg(r){var o=NaN,a=NaN,s=NaN,u;return{lineStart:function(){r.lineStart();u=1},point:function(t,e){var n=t>0?zd:-zd,i=jd(t-o);if(jd(i-zd)0?Od:-Od);r.point(s,a);r.lineEnd();r.lineStart();r.point(n,a);r.point(t,a);u=0}else if(s!==n&&i>=zd){if(jd(o-s)Nd?Hd((Yd(e)*(o=Ud(i))*Yd(n)-Yd(i)*(r=Ud(e))*Yd(t))/(r*o*a)):(e+i)/2}function $g(t,e,n,i){var r;if(t==null){r=n*Od;i.point(-zd,r);i.point(0,r);i.point(zd,r);i.point(zd,0);i.point(zd,-r);i.point(0,-r);i.point(-zd,-r);i.point(-zd,0);i.point(-zd,r)}else if(jd(t[0]-e[0])>Nd){var o=t[0]0,p=jd(B)>Nd;function t(t,e,n,i){Pg(i,r,o,n,t,e)}function g(t,e){return Ud(t)*Ud(e)>B}function e(s){var u,h,l,f,c;return{lineStart:function(){f=l=false;c=1},point:function(t,e){var n=[t,e],i,r=g(t,e),o=d?r?0:_(t,e):r?_(t+(t<0?zd:-zd),e):0;if(!u&&(f=l=r)){s.lineStart()}if(r!==l){i=v(u,n);if(!i||Rg(u,i)||Rg(n,i)){n[0]+=Nd;n[1]+=Nd;r=g(n[0],n[1])}}if(r!==l){c=0;if(r){s.lineStart();i=v(n,u);s.point(i[0],i[1])}else{i=v(u,n);s.point(i[0],i[1]);s.lineEnd()}u=i}else if(p&&u&&d^r){var a;if(!(o&h)&&(a=v(n,u,true))){c=0;if(d){s.lineStart();s.point(a[0][0],a[0][1]);s.point(a[1][0],a[1][1]);s.lineEnd()}else{s.point(a[1][0],a[1][1]);s.lineEnd();s.lineStart();s.point(a[0][0],a[0][1])}}}if(r&&(!u||!Rg(u,n))){s.point(n[0],n[1])}u=n,l=r,h=o},lineEnd:function(){if(l){s.lineEnd()}u=null},clean:function(){return c|(f&&l)<<1}}}function v(t,e,n){var i=wp(t),r=wp(e);var o=[1,0,0],a=Ep(i,r),s=Cp(a,a),u=a[0],h=s-u*u;if(!h){return!n&&t}var l=B*s/h,f=-B*u/h,c=Ep(o,a),d=Ap(o,l),p=Ap(a,f);Sp(d,p);var g=c,v=Cp(d,g),_=Cp(g,g),y=v*v-_*(Cp(d,d)-1);if(y<0){return}var m=Qd(y),b=Ap(g,(-v-m)/_);Sp(b,d);b=xp(b);if(!n){return b}var x=t[0],w=e[0],C=t[1],E=e[1],S;if(w0^b[1]<(jd(b[0]-x)zd^(x<=b[0]&&b[0]<=w)){var T=Ap(g,(-v+m)/_);Sp(T,d);return[b,xp(T)]}}function _(t,e){var n=d?r:zd-r,i=0;if(t<-n){i|=1}else if(t>n){i|=2}if(e<-n){i|=4}else if(e>n){i|=8}return i}return Ug(g,e,t,d?[0,-r]:[-zd,r-zd])};var Zg=function(t,e,n,i,r,o){var a=t[0],s=t[1],u=e[0],h=e[1],l=0,f=1,c=u-a,d=h-s,p;p=n-a;if(!c&&p>0){return}p/=c;if(c<0){if(p0){if(p>f){return}if(p>l){l=p}}p=r-a;if(!c&&p<0){return}p/=c;if(c<0){if(p>f){return}if(p>l){l=p}}else if(c>0){if(p0){return}p/=d;if(d<0){if(p0){if(p>f){return}if(p>l){l=p}}p=o-s;if(!d&&p<0){return}p/=d;if(d<0){if(p>f){return}if(p>l){l=p}}else if(d>0){if(p0){t[0]=a+l*c,t[1]=s+l*d}if(f<1){e[0]=a+f*c,e[1]=s+f*d}return true};var Kg=1e9;var Jg=-Kg;function tv(w,C,E,S){function A(t,e){return w<=t&&t<=E&&C<=e&&e<=S}function k(t,e,n,i){var r=0,o=0;if(t==null||(r=a(t,n))!==(o=a(e,n))||s(t,e)<0^n>0){do{i.point(r===0||r===3?w:E,r>1?S:C)}while((r=(r+n+4)%4)!==o)}else{i.point(e[0],e[1])}}function a(t,e){return jd(t[0]-w)0?0:3:jd(t[0]-E)0?2:1:jd(t[1]-C)0?1:0:e>0?3:2}function M(t,e){return s(t.x,e.x)}function s(t,e){var n=a(t,1),i=a(e,1);return n!==i?n-i:n===0?e[1]-t[1]:n===1?t[0]-e[0]:n===2?t[1]-e[1]:e[0]-t[0]}return function(i){var o=i,t=Fg(),r,f,a,s,u,h,l,c,d,p,g;var e={point:n,lineStart:m,lineEnd:b,polygonStart:_,polygonEnd:y};function n(t,e){if(A(t,e)){o.point(t,e)}}function v(){var t=0;for(var e=0,n=f.length;eS&&(h-s)*(S-u)>(l-u)*(w-s)){++t}}else{if(l<=S&&(h-s)*(S-u)<(l-u)*(w-s)){--t}}}}return t}function _(){o=t,r=[],f=[],g=true}function y(){var t=v(),e=g&&t,n=(r=Wt(r)).length;if(e||n){i.polygonStart();if(e){i.lineStart();k(null,null,1,i);i.lineEnd()}if(n){Lg(r,M,t,k,i)}i.polygonEnd()}o=i,r=f=a=null}function m(){e.point=x;if(f){f.push(a=[])}p=true;d=false;l=c=NaN}function b(){if(r){x(s,u);if(h&&d){t.rejoin()}r.push(t.result())}e.point=n;if(d){o.lineEnd()}}function x(t,e){var n=A(t,e);if(f){a.push([t,e])}if(p){s=t,u=e,h=n;p=false;if(n){o.lineStart();o.point(t,e)}}else{if(n&&d){o.point(t,e)}else{var i=[l=Math.max(Jg,Math.min(Kg,l)),c=Math.max(Jg,Math.min(Kg,c))],r=[t=Math.max(Jg,Math.min(Kg,t)),e=Math.max(Jg,Math.min(Kg,e))];if(Zg(i,r,w,C,E,S)){if(!d){o.lineStart();o.point(i[0],i[1])}o.point(r[0],r[1]);if(!n){o.lineEnd()}g=false}else if(n){o.lineStart();o.point(t,e);g=false}}}l=t,c=e,d=n}return e}}var ev=function(){var e=0,n=0,i=960,r=500,o,a,s;return s={stream:function(t){return o&&a===t?o:o=tv(e,n,i,r)(a=t)},extent:function(t){return arguments.length?(e=+t[0][0],n=+t[0][1],i=+t[1][0],r=+t[1][1],o=a=null,s):[[e,n],[i,r]]}}};var nv=Md();var iv;var rv;var ov;var av={sphere:ep,point:ep,lineStart:sv,lineEnd:ep,polygonStart:ep,polygonEnd:ep};function sv(){av.point=hv;av.lineEnd=uv}function uv(){av.point=av.lineEnd=ep}function hv(t,e){t*=Ld,e*=Ld;iv=t,rv=Yd(e),ov=Ud(e);av.point=lv}function lv(t,e){t*=Ld,e*=Ld;var n=Yd(e),i=Ud(e),r=jd(t-iv),o=Ud(r),a=Yd(r),s=i*a,u=ov*n-rv*i*o,h=rv*n+ov*i*o;nv.add(Vd(Qd(s*s+u*u),h));iv=t,rv=n,ov=i}var fv=function(t){nv.reset();sp(t,av);return+nv};var cv=[null,null];var dv={type:"LineString",coordinates:cv};var pv=function(t,e){cv[0]=t;cv[1]=e;return fv(dv)};var gv={Feature:function(t,e){return _v(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,i=-1,r=n.length;while(++iNd}).map(d)).concat(Vt(Wd(a/l)*l,o,l).filter(function(t){return jd(t%c)>Nd}).map(p))}y.lines=function(){return t().map(function(t){return{type:"LineString",coordinates:t}})};y.outline=function(){return{type:"Polygon",coordinates:[g(r).concat(v(s).slice(1),g(i).reverse().slice(1),v(u).reverse().slice(1))]}};y.extent=function(t){if(!arguments.length){return y.extentMinor()}return y.extentMajor(t).extentMinor(t)};y.extentMajor=function(t){if(!arguments.length){return[[r,u],[i,s]]}r=+t[0][0],i=+t[1][0];u=+t[0][1],s=+t[1][1];if(r>i){t=r,r=i,i=t}if(u>s){t=u,u=s,s=t}return y.precision(_)};y.extentMinor=function(t){if(!arguments.length){return[[n,a],[e,o]]}n=+t[0][0],e=+t[1][0];a=+t[0][1],o=+t[1][1];if(n>e){t=n,n=e,e=t}if(a>o){t=a,a=o,o=t}return y.precision(_)};y.step=function(t){if(!arguments.length){return y.stepMinor()}return y.stepMajor(t).stepMinor(t)};y.stepMajor=function(t){if(!arguments.length){return[f,c]}f=+t[0],c=+t[1];return y};y.stepMinor=function(t){if(!arguments.length){return[h,l]}h=+t[0],l=+t[1];return y};y.precision=function(t){if(!arguments.length){return _}_=+t;d=Ev(a,o,90);p=Sv(n,e,_);g=Ev(u,s,90);v=Sv(r,i,_);return y};return y.extentMajor([[-180,-90+Nd],[180,90-Nd]]).extentMinor([[-180,-80-Nd],[180,80+Nd]])}function kv(){return Av()()}var Mv=function(t,e){var n=t[0]*Ld,i=t[1]*Ld,r=e[0]*Ld,o=e[1]*Ld,a=Ud(i),s=Yd(i),u=Ud(o),h=Yd(o),l=a*Ud(n),f=a*Yd(n),c=u*Ud(r),d=u*Yd(r),p=2*Jd(Qd(tp(o-i)+a*u*tp(r-n))),g=Yd(p);var v=p?function(t){var e=Yd(t*=p)/g,n=Yd(p-t)/g,i=n*l+e*c,r=n*f+e*d,o=n*s+e*h;return[Vd(r,i)*Id,Vd(o,Qd(i*i+r*r))*Id]}:function(){return[n*Id,i*Id]};v.distance=p;return v};var Tv=function(t){return t};var Bv=Md();var Dv=Md();var Nv;var Pv;var zv;var Ov;var Fv={point:ep,lineStart:ep,lineEnd:ep,polygonStart:function(){Fv.lineStart=Rv;Fv.lineEnd=jv},polygonEnd:function(){Fv.lineStart=Fv.lineEnd=Fv.point=ep;Bv.add(jd(Dv));Dv.reset()},result:function(){var t=Bv/2;Bv.reset();return t}};function Rv(){Fv.point=Iv}function Iv(t,e){Fv.point=Lv;Nv=zv=t,Pv=Ov=e}function Lv(t,e){Dv.add(Ov*t-zv*e);zv=t,Ov=e}function jv(){Lv(Nv,Pv)}var Hv=Infinity;var Vv=Hv;var Uv=-Hv;var Wv=Uv;var qv={point:Xv,lineStart:ep,lineEnd:ep,polygonStart:ep,polygonEnd:ep,result:function(){var t=[[Hv,Vv],[Uv,Wv]];Uv=Wv=-(Vv=Hv=Infinity);return t}};function Xv(t,e){if(tUv){Uv=t}if(eWv){Wv=e}}var Gv=0;var Yv=0;var $v=0;var Qv=0;var Zv=0;var Kv=0;var Jv=0;var t_=0;var e_=0;var n_;var i_;var r_;var o_;var a_={point:s_,lineStart:u_,lineEnd:f_,polygonStart:function(){a_.lineStart=c_;a_.lineEnd=d_},polygonEnd:function(){a_.point=s_;a_.lineStart=u_;a_.lineEnd=f_},result:function(){var t=e_?[Jv/e_,t_/e_]:Kv?[Qv/Kv,Zv/Kv]:$v?[Gv/$v,Yv/$v]:[NaN,NaN];Gv=Yv=$v=Qv=Zv=Kv=Jv=t_=e_=0;return t}};function s_(t,e){Gv+=t;Yv+=e;++$v}function u_(){a_.point=h_}function h_(t,e){a_.point=l_;s_(r_=t,o_=e)}function l_(t,e){var n=t-r_,i=e-o_,r=Qd(n*n+i*i);Qv+=r*(r_+t)/2;Zv+=r*(o_+e)/2;Kv+=r;s_(r_=t,o_=e)}function f_(){a_.point=s_}function c_(){a_.point=p_}function d_(){g_(n_,i_)}function p_(t,e){a_.point=g_;s_(n_=r_=t,i_=o_=e)}function g_(t,e){var n=t-r_,i=e-o_,r=Qd(n*n+i*i);Qv+=r*(r_+t)/2;Zv+=r*(o_+e)/2;Kv+=r;r=o_*t-r_*e;Jv+=r*(r_+t);t_+=r*(o_+e);e_+=r*3;s_(r_=t,o_=e)}function v_(t){this._context=t}v_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0){this._context.closePath()}this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e);this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e);this._context.arc(t,e,this._radius,0,Rd);break}}},result:ep};var __=Md();var y_;var m_;var b_;var x_;var w_;var C_={point:ep,lineStart:function(){C_.point=E_},lineEnd:function(){if(y_){S_(m_,b_)}C_.point=ep},polygonStart:function(){y_=true},polygonEnd:function(){y_=null},result:function(){var t=+__;__.reset();return t}};function E_(t,e){C_.point=S_;m_=x_=t,b_=w_=e}function S_(t,e){x_-=t,w_-=e;__.add(Qd(x_*x_+w_*w_));x_=t,w_=e}function A_(){this._string=[]}A_.prototype={_radius:4.5,_circle:k_(4.5),pointRadius:function(t){if((t=+t)!==this._radius){this._radius=t,this._circle=null}return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0){this._string.push("Z")}this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._string.push("M",t,",",e);this._point=1;break}case 1:{this._string.push("L",t,",",e);break}default:{if(this._circle==null){this._circle=k_(this._radius)}this._string.push("M",t,",",e,this._circle);break}}},result:function(){if(this._string.length){var t=this._string.join("");this._string=[];return t}else{return null}}};function k_(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var M_=function(e,n){var i=4.5,r,o;function a(t){if(t){if(typeof i==="function"){o.pointRadius(+i.apply(this,arguments))}sp(t,r(o))}return o.result()}a.area=function(t){sp(t,r(Fv));return Fv.result()};a.measure=function(t){sp(t,r(C_));return C_.result()};a.bounds=function(t){sp(t,r(qv));return qv.result()};a.centroid=function(t){sp(t,r(a_));return a_.result()};a.projection=function(t){return arguments.length?(r=t==null?(e=null,Tv):(e=t).stream,a):e};a.context=function(t){if(!arguments.length){return n}o=t==null?(n=null,new A_):new v_(n=t);if(typeof i!=="function"){o.pointRadius(i)}return a};a.pointRadius=function(t){if(!arguments.length){return i}i=typeof t==="function"?t:(o.pointRadius(+t),+t);return a};return a.projection(e).context(n)};var T_=function(t){return{stream:B_(t)}};function B_(i){return function(t){var e=new D_;for(var n in i){e[n]=i[n]}e.stream=t;return e}}function D_(){}D_.prototype={constructor:D_,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function N_(t,e,n){var i=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]);if(i!=null){t.clipExtent(null)}sp(n,t.stream(qv));e(qv.result());if(i!=null){t.clipExtent(i)}return t}function P_(a,s,t){return N_(a,function(t){var e=s[1][0]-s[0][0],n=s[1][1]-s[0][1],i=Math.min(e/(t[1][0]-t[0][0]),n/(t[1][1]-t[0][1])),r=+s[0][0]+(e-i*(t[1][0]+t[0][0]))/2,o=+s[0][1]+(n-i*(t[1][1]+t[0][1]))/2;a.scale(150*i).translate([r,o])},t)}function z_(t,e,n){return P_(t,[[0,0],e],n)}function O_(o,a,t){return N_(o,function(t){var e=+a,n=e/(t[1][0]-t[0][0]),i=(e-n*(t[1][0]+t[0][0]))/2,r=-n*t[0][1];o.scale(150*n).translate([i,r])},t)}function F_(o,a,t){return N_(o,function(t){var e=+a,n=e/(t[1][1]-t[0][1]),i=-n*t[0][0],r=(e-n*(t[1][1]+t[0][1]))/2;o.scale(150*n).translate([i,r])},t)}var R_=16;var I_=Ud(30*Ld);var L_=function(t,e){return+e?H_(t,e):j_(t)};function j_(n){return B_({point:function(t,e){t=n(t,e);this.stream.point(t[0],t[1])}})}function H_(T,B){function D(t,e,n,i,r,o,a,s,u,h,l,f,c,d){var p=a-t,g=s-e,v=p*p+g*g;if(v>4*B&&c--){var _=i+h,y=r+l,m=o+f,b=Qd(_*_+y*y+m*m),x=Jd(m/=b),w=jd(jd(m)-1)B||jd((p*A+g*k)/v-.5)>.3||i*h+r*l+o*f2?t[2]%360*Ld:0,k()):[u*Id,h*Id,l*Id]};S.angle=function(t){return arguments.length?(c=t%360*Ld,k()):c*Id};S.precision=function(t){return arguments.length?(b=L_(x,m=t*t),M()):Qd(m)};S.fitExtent=function(t,e){return P_(S,t,e)};S.fitSize=function(t,e){return z_(S,t,e)};S.fitWidth=function(t,e){return O_(S,t,e)};S.fitHeight=function(t,e){return F_(S,t,e)};function k(){var t=q_(i,0,0,c).apply(null,n(a,s)),e=(c?q_:W_)(i,r-t[0],o-t[1],c);f=Mg(u,h,l);x=Ag(n,e);w=Ag(f,x);b=L_(x,m);return M()}function M(){C=E=null;return S}return function(){n=t.apply(this,arguments);S.invert=n.invert&&A;return k()}}function Y_(t){var e=0,n=zd/3,i=G_(t),r=i(e,n);r.parallels=function(t){return arguments.length?i(e=t[0]*Ld,n=t[1]*Ld):[e*Id,n*Id]};return r}function $_(t){var n=Ud(t);function e(t,e){return[t*n,Yd(e)/n]}e.invert=function(t,e){return[t/n,Jd(e*n)]};return e}function Q_(t,e){var n=Yd(t),i=(n+Yd(e))/2;if(jd(i)=.12&&r<.234&&i>=-.425&&i<-.214?a:r>=.166&&r<.234&&i>=-.214&&i<-.115?u:o).invert(t)};f.stream=function(t){return e&&n===t?e:e=J_([o.stream(n=t),a.stream(t),u.stream(t)])};f.precision=function(t){if(!arguments.length){return o.precision()}o.precision(t),a.precision(t),u.precision(t);return c()};f.scale=function(t){if(!arguments.length){return o.scale()}o.scale(t),a.scale(t*.35),u.scale(t);return f.translate(o.translate())};f.translate=function(t){if(!arguments.length){return o.translate()}var e=o.scale(),n=+t[0],i=+t[1];r=o.translate(t).clipExtent([[n-.455*e,i-.238*e],[n+.455*e,i+.238*e]]).stream(l);s=a.translate([n-.307*e,i+.201*e]).clipExtent([[n-.425*e+Nd,i+.12*e+Nd],[n-.214*e-Nd,i+.234*e-Nd]]).stream(l);h=u.translate([n-.205*e,i+.212*e]).clipExtent([[n-.214*e+Nd,i+.166*e+Nd],[n-.115*e-Nd,i+.234*e-Nd]]).stream(l);return c()};f.fitExtent=function(t,e){return P_(f,t,e)};f.fitSize=function(t,e){return z_(f,t,e)};f.fitWidth=function(t,e){return O_(f,t,e)};f.fitHeight=function(t,e){return F_(f,t,e)};function c(){e=n=null;return f}return f.scale(1070)};function ey(o){return function(t,e){var n=Ud(t),i=Ud(e),r=o(n*i);return[r*i*Yd(t),r*Yd(e)]}}function ny(a){return function(t,e){var n=Qd(t*t+e*e),i=a(n),r=Yd(i),o=Ud(i);return[Vd(t*r,n*o),Jd(n&&e*r/n)]}}var iy=ey(function(t){return Qd(2/(1+t))});iy.invert=ny(function(t){return 2*Jd(t/2)});var ry=function(){return X_(iy).scale(124.75).clipAngle(180-.001)};var oy=ey(function(t){return(t=Kd(t))&&t/Yd(t)});oy.invert=ny(function(t){return t});var ay=function(){return X_(oy).scale(79.4188).clipAngle(180-.001)};function sy(t,e){return[t,Xd(Zd((Od+e)/2))]}sy.invert=function(t,e){return[t,2*Hd(qd(e))-Od]};var uy=function(){return hy(sy).scale(961/Rd)};function hy(n){var i=X_(n),e=i.center,r=i.scale,o=i.translate,a=i.clipExtent,s=null,u,h,l;i.scale=function(t){return arguments.length?(r(t),f()):r()};i.translate=function(t){return arguments.length?(o(t),f()):o()};i.center=function(t){return arguments.length?(e(t),f()):e()};i.clipExtent=function(t){return arguments.length?(t==null?s=u=h=l=null:(s=+t[0][0],u=+t[0][1],h=+t[1][0],l=+t[1][1]),f()):s==null?null:[[s,u],[h,l]]};function f(){var t=zd*r(),e=i(Ng(i.rotate()).invert([0,0]));return a(s==null?[[e[0]-t,e[1]-t],[e[0]+t,e[1]+t]]:n===sy?[[Math.max(e[0]-t,s),u],[Math.min(e[0]+t,h),l]]:[[s,Math.max(e[1]-t,u)],[h,Math.min(e[1]+t,l)]])}return f()}function ly(t){return Zd((Od+t)/2)}function fy(t,e){var n=Ud(t),r=t===e?Yd(t):Xd(n/Ud(e))/Xd(ly(e)/ly(t)),o=n*Gd(ly(t),r)/r;if(!r){return sy}function i(t,e){if(o>0){if(e<-Od+Nd){e=-Od+Nd}}else{if(e>Od-Nd){e=Od-Nd}}var n=o/Gd(ly(e),r);return[n*Yd(r*t),o-n*Ud(r*t)]}i.invert=function(t,e){var n=o-e,i=$d(r)*Qd(t*t+n*n);return[Vd(t,jd(n))/r*$d(n),2*Hd(Gd(o/i,1/r))-Od]};return i}var cy=function(){return Y_(fy).scale(109.5).parallels([30,30])};function dy(t,e){return[t,e]}dy.invert=dy;var py=function(){return X_(dy).scale(152.63)};function gy(t,e){var n=Ud(t),r=t===e?Yd(t):(n-Ud(e))/(e-t),o=n/r+t;if(jd(r)Nd&&--i>0);return[t/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};var wy=function(){return X_(xy).scale(175.295)};function Cy(t,e){return[Ud(e)*Yd(t),Yd(e)]}Cy.invert=ny(Jd);var Ey=function(){return X_(Cy).scale(249.5).clipAngle(90+Nd)};function Sy(t,e){var n=Ud(e),i=1+Ud(t)*n;return[n*Yd(t)/i,Yd(e)/i]}Sy.invert=ny(function(t){return 2*Hd(t)});var Ay=function(){return X_(Sy).scale(250).clipAngle(142)};function ky(t,e){return[Xd(Zd((Od+e)/2)),-t]}ky.invert=function(t,e){return[-e,2*Hd(qd(t))-Od]};var My=function(){var t=hy(ky),e=t.center,n=t.rotate;t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])};t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])};return n([0,0,90]).scale(159.155)};var Ty=Object.freeze({geoArea:bp,geoBounds:Qp,geoCentroid:Eg,geoCircle:Og,geoClipAntimeridian:Xg,geoClipCircle:Qg,geoClipExtent:ev,geoClipRectangle:tv,geoContains:Cv,geoDistance:pv,geoGraticule:Av,geoGraticule10:kv,geoInterpolate:Mv,geoLength:fv,geoPath:M_,geoAlbers:K_,geoAlbersUsa:ty,geoAzimuthalEqualArea:ry,geoAzimuthalEqualAreaRaw:iy,geoAzimuthalEquidistant:ay,geoAzimuthalEquidistantRaw:oy,geoConicConformal:cy,geoConicConformalRaw:fy,geoConicEqualArea:Z_,geoConicEqualAreaRaw:Q_,geoConicEquidistant:vy,geoConicEquidistantRaw:gy,geoEquirectangular:py,geoEquirectangularRaw:dy,geoGnomonic:yy,geoGnomonicRaw:_y,geoIdentity:by,geoProjection:X_,geoProjectionMutator:G_,geoMercator:uy,geoMercatorRaw:sy,geoNaturalEarth1:wy,geoNaturalEarth1Raw:xy,geoOrthographic:Ey,geoOrthographicRaw:Cy,geoStereographic:Ay,geoStereographicRaw:Sy,geoTransverseMercator:My,geoTransverseMercatorRaw:ky,geoRotation:Ng,geoStream:sp,geoTransform:T_});var By=function(){var h=0,l=0,f=960,c=500,d=(h+f)/2,p=(l+c)/2,g=256,v=0,_=true;function e(){var t=Math.max(Math.log(g)/Math.LN2-8,0),n=Math.round(t+v),i=1<3&&e(t)};function e(t){var e=u.status,n;if(!e&&jy(u)||e>=200&&e<300||e===304){if(f){try{n=f.call(r,u)}catch(t){o.call("error",r,t);return}}else{n=u}o.call("load",r,n)}else{o.call("error",r,t)}}u.onprogress=function(t){o.call("progress",r,t)};r={header:function(t,e){t=(t+"").toLowerCase();if(arguments.length<2){return s.get(t)}if(e==null){s.remove(t)}else{s.set(t,e+"")}return r},mimeType:function(t){if(!arguments.length){return a}a=t==null?null:t+"";return r},responseType:function(t){if(!arguments.length){return c}c=t;return r},timeout:function(t){if(!arguments.length){return d}d=+t;return r},user:function(t){return arguments.length<1?h:(h=t==null?null:t+"",r)},password:function(t){return arguments.length<1?l:(l=t==null?null:t+"",r)},response:function(t){f=t;return r},get:function(t,e){return r.send("GET",t,e)},post:function(t,e){return r.send("POST",t,e)},send:function(t,e,n){u.open(t,i,true,h,l);if(a!=null&&!s.has("accept")){s.set("accept",a+",*/*")}if(u.setRequestHeader){s.each(function(t,e){u.setRequestHeader(e,t)})}if(a!=null&&u.overrideMimeType){u.overrideMimeType(a)}if(c!=null){u.responseType=c}if(d>0){u.timeout=d}if(n==null&&typeof e==="function"){n=e,e=null}if(n!=null&&n.length===1){n=Ly(n)}if(n!=null){r.on("error",n).on("load",function(t){n(null,t)})}o.call("beforesend",r,u);u.send(e==null?null:e);return r},abort:function(){u.abort();return r},on:function(){var t=o.on.apply(o,arguments);return t===o?r:t}};if(t!=null){if(typeof t!=="function"){throw new Error("invalid callback: "+t)}return r.get(t)}return r};function Ly(n){return function(t,e){n(t==null?e:null)}}function jy(t){var e=t.responseType;return e&&e!=="text"?t.response:t.responseText}var Hy=function(i,r){return function(t,e){var n=Iy(t).mimeType(i).response(r);if(e!=null){if(typeof e!=="function"){throw new Error("invalid callback: "+e)}return n.get(e)}return n}};Hy("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)});var Vy=Hy("application/json",function(t){return JSON.parse(t.responseText)});var Uy=Hy("text/plain",function(t){return t.responseText});Hy("application/xml",function(t){var e=t.responseXML;if(!e){throw new Error("parse error")}return e});var Wy={};var qy={};var Xy=34;var Gy=10;var Yy=13;function $y(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}function Qy(n,i){var r=$y(n);return function(t,e){return i(r(t),e,n)}}function Zy(t){var n=Object.create(null),i=[];t.forEach(function(t){for(var e in t){if(!(e in n)){i.push(n[e]=e)}}});return i}var Ky=function(i){var e=new RegExp('["'+i+"\n\r]"),f=i.charCodeAt(0);function t(t,n){var i,r,e=o(t,function(t,e){if(i){return i(t,e-1)}r=t,i=n?Qy(t,n):$y(t)});e.columns=r||[];return e}function o(i,t){var e=[],r=i.length,o=0,n=0,a,s=r<=0,u=false;if(i.charCodeAt(r-1)===Gy){--r}if(i.charCodeAt(r-1)===Yy){--r}function h(){if(s){return qy}if(u){return u=false,Wy}var t,e=o,n;if(i.charCodeAt(e)===Xy){while(o++=r){s=true}else if((n=i.charCodeAt(o++))===Gy){u=true}else if(n===Yy){u=true;if(i.charCodeAt(o)===Gy){++o}}return i.slice(e+1,t-1).replace(/""/g,'"')}while(oMath.abs(t[1]-k[1])){S=true}else{E=true}}k=t;w=true;gm();P()}function P(){var t;b=k[0]-A[0];x=k[1]-A[1];switch(i){case _m:case vm:{if(r){b=Math.max(u-h,Math.min(p-g,b)),l=h+b,v=g+b}if(o){x=Math.max(f-c,Math.min(_-y,x)),d=c+x,m=y+x}break}case ym:{if(r<0){b=Math.max(u-h,Math.min(p-h,b)),l=h+b,v=g}else if(r>0){b=Math.max(u-g,Math.min(p-g,b)),l=h,v=g+b}if(o<0){x=Math.max(f-c,Math.min(_-c,x)),d=c+x,m=y}else if(o>0){x=Math.max(f-y,Math.min(_-y,x)),d=c,m=y+x}break}case mm:{if(r){l=Math.max(u,Math.min(p,h-b*r)),v=Math.max(u,Math.min(p,g+b*r))}if(o){d=Math.max(f,Math.min(_,c-x*o)),m=Math.max(f,Math.min(_,y+x*o))}break}}if(v0){h=l-b}if(o<0){y=m-x}else if(o>0){c=d-x}i=_m;B.attr("cursor",Cm.selection);P()}break}default:return}gm()}function F(){switch(Ta.keyCode){case 16:{if(C){E=S=C=false;P()}break}case 18:{if(i===mm){if(r<0){g=v}else if(r>0){h=l}if(o<0){y=m}else if(o>0){c=d}i=ym;P()}break}case 32:{if(i===_m){if(Ta.altKey){if(r){g=v-b*r,h=l+b*r}if(o){y=m-x*o,c=d+x*o}i=mm}else{if(r<0){g=v}else if(r>0){h=l}if(o<0){y=m}else if(o>0){c=d}i=ym}B.attr("cursor",Cm[n]);P()}break}default:return}gm()}}function s(){var t=this.__brush||{selection:null};t.extent=e.apply(this,arguments);t.dim=R;return t}r.extent=function(t){return arguments.length?(e=typeof t==="function"?t:cm([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),r):e};r.filter=function(t){return arguments.length?(I=typeof t==="function"?t:cm(!!t),r):I};r.handleSize=function(t){return arguments.length?(i=+t,r):i};r.on=function(){var t=n.on.apply(n,arguments);return t===n?r:t};return r}var Fm=[].slice;var Rm={};function Im(t){this._size=t;this._call=this._error=null;this._tasks=[];this._data=[];this._waiting=this._active=this._ended=this._start=0}Im.prototype=Wm.prototype={constructor:Im,defer:function(t){if(typeof t!=="function"){throw new Error("invalid callback")}if(this._call){throw new Error("defer after await")}if(this._error!=null){return this}var e=Fm.call(arguments,1);e.push(t);++this._waiting,this._tasks.push(e);Lm(this);return this},abort:function(){if(this._error==null){Vm(this,new Error("abort"))}return this},await:function(n){if(typeof n!=="function"){throw new Error("invalid callback")}if(this._call){throw new Error("multiple await")}this._call=function(t,e){n.apply(null,[t].concat(e))};Um(this);return this},awaitAll:function(t){if(typeof t!=="function"){throw new Error("invalid callback")}if(this._call){throw new Error("multiple await")}this._call=t;Um(this);return this}};function Lm(e){if(!e._start){try{jm(e)}catch(t){if(e._tasks[e._ended+e._active-1]){Vm(e,t)}else if(!e._data){throw t}}}}function jm(t){while(t._start=t._waiting&&t._active=0){if(i=t._tasks[n]){t._tasks[n]=null;if(i.abort){try{i.abort()}catch(e){}}}}t._active=NaN;Um(t)}function Um(t){if(!t._active&&t._call){var e=t._data;t._data=undefined;t._call(t._error,e)}}function Wm(t){if(t==null){t=Infinity}else if(!((t=+t)>=1)){throw new Error("invalid concurrency")}return new Im(t)}var qm=function(t){return function(){return t}};function Xm(t,e,n){this.target=t;this.type=e;this.transform=n}function Gm(t,e,n){this.k=t;this.x=e;this.y=n}Gm.prototype={constructor:Gm,scale:function(t){return t===1?this:new Gm(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Gm(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ym=new Gm(1,0,0);$m.prototype=Gm.prototype;function $m(t){return t.__zoom||Ym}function Qm(){Ta.stopImmediatePropagation()}var Zm=function(){Ta.preventDefault();Ta.stopImmediatePropagation()};function Km(){return!Ta.button}function Jm(){var t=this,e,n;if(t instanceof SVGElement){t=t.ownerSVGElement||t;e=t.width.baseVal.value;n=t.height.baseVal.value}else{e=t.clientWidth;n=t.clientHeight}return[[0,0],[e,n]]}function tb(){return this.__zoom||Ym}function eb(){return-Ta.deltaY*(Ta.deltaMode?120:1)/500}function nb(){return"ontouchstart"in this}function ib(t,e,n){var i=t.invertX(e[0][0])-n[0][0],r=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}var rb=function(){var u=Km,f=Jm,p=ib,o=eb,e=nb,a=[0,Infinity],g=[[-Infinity,-Infinity],[Infinity,Infinity]],s=250,c=Te,h=[],n=Ka("start","zoom","end"),v,l,d=500,_=150,y=0;function m(t){t.property("__zoom",tb).on("wheel.zoom",i).on("mousedown.zoom",r).on("dblclick.zoom",A).filter(e).on("touchstart.zoom",k).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",T).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(t,e){var n=t.selection?t.selection():t;n.property("__zoom",tb);if(t!==n){C(t,e)}else{n.interrupt().each(function(){E(this,arguments).start().zoom(null,typeof e==="function"?e.apply(this,arguments):e).end()})}};m.scaleBy=function(t,n){m.scaleTo(t,function(){var t=this.__zoom.k,e=typeof n==="function"?n.apply(this,arguments):n;return t*e})};m.scaleTo=function(t,o){m.transform(t,function(){var t=f.apply(this,arguments),e=this.__zoom,n=w(t),i=e.invert(n),r=typeof o==="function"?o.apply(this,arguments):o;return p(x(b(e,r),n,i),t,g)})};m.translateBy=function(t,e,n){m.transform(t,function(){return p(this.__zoom.translate(typeof e==="function"?e.apply(this,arguments):e,typeof n==="function"?n.apply(this,arguments):n),f.apply(this,arguments),g)})};m.translateTo=function(t,i,r){m.transform(t,function(){var t=f.apply(this,arguments),e=this.__zoom,n=w(t);return p(Ym.translate(n[0],n[1]).scale(e.k).translate(typeof i==="function"?-i.apply(this,arguments):-i,typeof r==="function"?-r.apply(this,arguments):-r),t,g)})};function b(t,e){e=Math.max(a[0],Math.min(a[1],e));return e===t.k?t:new Gm(e,t.x,t.y)}function x(t,e,n){var i=e[0]-n[0]*t.k,r=e[1]-n[1]*t.k;return i===t.x&&r===t.y?t:new Gm(t.k,i,r)}function w(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function C(t,h,l){t.on("start.zoom",function(){E(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).end()}).tween("zoom",function(){var t=this,e=arguments,i=E(t,e),n=f.apply(t,e),r=l||w(n),o=Math.max(n[1][0]-n[0][0],n[1][1]-n[0][1]),a=t.__zoom,s=typeof h==="function"?h.apply(t,e):h,u=c(a.invert(r).concat(o/a.k),s.invert(r).concat(o/s.k));return function(t){if(t===1){t=s}else{var e=u(t),n=o/e[2];t=new Gm(n,r[0]-e[0]*n,r[1]-e[1]*n)}i.zoom(null,t)}})}function E(t,e){for(var n=0,i=h.length,r;ny}n.zoom("mouse",p(x(n.that.__zoom,n.mouse[0]=Ya(n.that),n.mouse[1]),n.extent,g))}function a(){t.on("mousemove.zoom mouseup.zoom",null);lm(Ta.view,n.moved);Zm();n.end()}}function A(){if(!u.apply(this,arguments)){return}var t=this.__zoom,e=Ya(this),n=t.invert(e),i=t.k*(Ta.shiftKey?.5:2),r=p(x(b(t,i),e,n),f.apply(this,arguments),g);Zm();if(s>0){qa(this).transition().duration(s).call(C,r,e)}else{qa(this).call(m.transform,r)}}function k(){var t=this;if(!u.apply(this,arguments)){return}var e=E(this,arguments),n=Ta.changedTouches,i,r=n.length,o,a,s;Qm();for(o=0;on.capacity){this.remove(n.linkedList.end.key)}return this};t.update=function(t,e){if(this.has(t)){this.set(t,e(this.get(t)))}return this};t.remove=function(t){var e=this._LRUCacheState;var n=e.hash[t];if(!n){return this}if(n===e.linkedList.head){e.linkedList.head=n.p}if(n===e.linkedList.end){e.linkedList.end=n.n}s(n.n,n.p);delete e.hash[t];delete e.data[t];e.linkedList.length-=1;return this};t.removeAll=function(){this._LRUCacheState=new n(this._LRUCacheState.capacity);return this};t.info=function(){var t=this._LRUCacheState;return{capacity:t.capacity,length:t.linkedList.length}};t.keys=function(){var t=[];var e=this._LRUCacheState.linkedList.head;while(e){t.push(e.key);e=e.p}return t};t.has=function(t){return!!this._LRUCacheState.hash[t]};t.staleKey=function(){return this._LRUCacheState.linkedList.end&&this._LRUCacheState.linkedList.end.key};t.popStale=function(){var t=this.staleKey();if(!t){return null}var e=[t,this._LRUCacheState.data[t]];this.remove(t);return e};function n(t){this.capacity=t>0?+t:Number.MAX_SAFE_INTEGER||Number.MAX_VALUE;this.data=Object.create?Object.create(null):{};this.hash=Object.create?Object.create(null):{};this.linkedList=new i}function i(){this.length=0;this.head=null;this.end=null}function o(t){this.key=t;this.p=null;this.n=null}function a(t,e){if(e===t.head){return}if(!t.end){t.end=e}else if(t.end===e){t.end=e.n}s(e.n,e.p);s(e,t.head);t.head=e;t.head.n=null}function s(t,e){if(t===e){return}if(t){t.p=e}if(e){e.n=t}}return e})});var hb=function(t){function e(){t.call(this);this._buttonStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px",margin:"0 5px"};this._data=[];this._text=ju("text");this._value=ju("value")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.render=function t(){var n=this;if(this._container===void 0){this.container(qa("body").append("div").node())}var e=this._container.selectAll("div#d3plus-Form-"+this._uuid).data([0]);var i=this._container.node().tagName.toLowerCase()==="foreignobject";e=e.enter().append(i?"xhtml:div":"div").attr("id","d3plus-Form-"+this._uuid).attr("class","d3plus-Form d3plus-Form-Button").merge(e);var r=e.selectAll("button").data(this._data,function(t,e){return n._value(t,e)});r.exit().remove();r=r.enter().append("button").attr("class","d3plus-Button").attr("type","button").merge(r).call(nh,this._buttonStyle).html(function(t,e){return n._text(t,e)});for(var o in n._on){if({}.hasOwnProperty.call(n._on,o)){r.on(o,n._on[o])}}return this};e.prototype.buttonStyle=function t(e){return arguments.length?(this._buttonStyle=e,this):this._buttonStyle};e.prototype.container=function t(e){return arguments.length?(this._container=qa(e),this):this._container};e.prototype.data=function t(e){return arguments.length?(this._data=e,this):this._data};e.prototype.text=function t(e){return arguments.length?(this._text=typeof e==="function"?e:Zu(e),this):this._text};e.prototype.value=function t(e){return arguments.length?(this._value=e,this):this._value};return e}(Yu);var lb=function(t){function e(){t.call(this);this._labelStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px","padding-right":"5px"};this._legendStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px","padding-right":"5px"};this._options=[];this._radioStyle={"margin-right":"10px"};this._text=ju("text");this._value=ju("value")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.render=function t(){var n=this;if(this._container===void 0){this.container(qa("body").append("div").node())}var o=this;var e=this._container.selectAll("div#d3plus-Form-"+this._uuid).data([0]);var i=this._container.node().tagName.toLowerCase()==="foreignobject";e=e.enter().append(i?"xhtml:div":"div").attr("id","d3plus-Form-"+this._uuid).attr("class","d3plus-Form d3plus-Form-Radio").merge(e);var a=e.selectAll("label").data(this._options,function(t,e){return n._value(t,e)});a.exit().each(function(){qa(this.nextSibling).remove()}).remove();a=a.enter().append("label").attr("class","d3plus-Label").attr("for",function(t,e){return n._uuid+"-"+n._value(t,e)}).each(function(t,e){var n=document.createElement("input");n.setAttribute("type","radio");n.setAttribute("name","d3plus-Radio-"+o._uuid);n.setAttribute("id",o._uuid+"-"+o._value(t,e));n.setAttribute("value",o._value(t,e));this.parentNode.insertBefore(n,this.nextSibling)}).merge(a).call(nh,this._labelStyle).html(function(t,e){return n._text(t,e)}).each(function(t,e){var n=o._checked===void 0?!e:""+o._value(t,e)===""+o._checked;qa(this).classed("active",n).style("cursor",n?"default":"pointer");var i=qa(this.nextSibling).property("checked",n).call(nh,o._radioStyle).style("cursor",n?"default":"pointer").on("change.d3plus",function(){o.checked(this.value);a.each(function(t,e){var n=""+o._value(t,e)===""+o._checked;qa(this).classed("active",n).style("cursor",n?"default":"pointer");qa(this.nextSibling).style("cursor",n?"default":"pointer")})});for(var r in o._on){if({}.hasOwnProperty.call(o._on,r)){i.on(r,o._on[r])}}});var r=e.selectAll("legend#d3plus-Legend-"+this._uuid).data(this._legend?[0]:[]);r.exit().remove();r.enter().insert("legend",".d3plus-Label").attr("id","d3plus-Legend-"+this._uuid).attr("class","d3plus-Legend").merge(r).call(nh,this._legendStyle).html(this._legend);return this};e.prototype.checked=function t(e){return arguments.length?(this._checked=e,this):this._checked};e.prototype.container=function t(e){return arguments.length?(this._container=qa(e),this):this._container};e.prototype.labelStyle=function t(e){return arguments.length?(this._labelStyle=e,this):this._labelStyle};e.prototype.legend=function t(e){return arguments.length?(this._legend=e,this):this._legend};e.prototype.legendStyle=function t(e){return arguments.length?(this._legendStyle=e,this):this._legendStyle};e.prototype.options=function t(e){return arguments.length?(this._options=e,this):this._options};e.prototype.radioStyle=function t(e){return arguments.length?(this._radioStyle=e,this):this._radioStyle};e.prototype.text=function t(e){return arguments.length?(this._text=typeof e==="function"?e:Zu(e),this):this._text};e.prototype.value=function t(e){return arguments.length?(this._value=e,this):this._value};return e}(Yu);var fb=function(t){function e(){t.call(this);this._labelStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px","margin-right":"5px"};this._options=[];this._optionStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px"};this._selectStyle={background:"#fafafa",border:"1px solid #ccc","border-radius":"0","font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px",outline:"0",padding:"3px 5px 4px"};this._text=ju("text");this._value=ju("value")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.render=function t(){var n=this;if(this._container===void 0){this.container(o("body").append("div").node())}var e=this;var i=this._container.selectAll("div#d3plus-Form-"+this._uuid).data([0]);var r=this._container.node().tagName.toLowerCase()==="foreignobject";i=i.enter().append(r?"xhtml:div":"div").attr("id","d3plus-Form-"+this._uuid).attr("class","d3plus-Form d3plus-Form-Select").merge(i);var o=i.selectAll("select#d3plus-Select-"+this._uuid).data([0]);o=o.enter().append("select").attr("id","d3plus-Select-"+this._uuid).attr("class","d3plus-Select").merge(o).call(nh,this._selectStyle).on("change.d3plus",function(){e.selected(this.value)});for(var a in n._on){if({}.hasOwnProperty.call(n._on,a)){o.on(a,n._on[a])}}var s=o.selectAll("option").data(this._options,function(t,e){return n._value(t,e)});s.exit().remove();s.enter().append("option").attr("class","d3plus-Option").merge(s).call(nh,this._optionStyle).attr("value",function(t,e){return n._value(t,e)}).html(function(t,e){return n._text(t,e)}).property("selected",function(t,e){return n._selected===void 0?!e:""+n._value(t,e)===""+n._selected});var u=i.selectAll("label#d3plus-Label-"+this._uuid).data(this._label?[0]:[]);u.exit().remove();u.enter().insert("label","#d3plus-Select-"+this._uuid).attr("id","d3plus-Label-"+this._uuid).attr("class","d3plus-Label").attr("for","d3plus-Select-"+this._uuid).merge(u).call(nh,this._labelStyle).html(this._label);return this};e.prototype.container=function t(e){return arguments.length?(this._container=qa(e),this):this._container};e.prototype.label=function t(e){return arguments.length?(this._label=e,this):this._label};e.prototype.labelStyle=function t(e){return arguments.length?(this._labelStyle=e,this):this._labelStyle};e.prototype.options=function t(e){return arguments.length?(this._options=e,this):this._options};e.prototype.optionStyle=function t(e){return arguments.length?(this._optionStyle=e,this):this._optionStyle};e.prototype.selected=function t(e){return arguments.length?(this._selected=e,this):this._selected};e.prototype.selectStyle=function t(e){return arguments.length?(this._selectStyle=e,this):this._selectStyle};e.prototype.text=function t(e){return arguments.length?(this._text=typeof e==="function"?e:Zu(e),this):this._text};e.prototype.value=function t(e){return arguments.length?(this._value=e,this):this._value};return e}(Yu);function cb(t){return t.slice().sort(function(t,e){return t-e})}function db(t){var e,n=0;for(var i=0;i0){var o=(n[e]-n[t-1])/(e-t+1);r=i[e]-i[t-1]-(e-t+1)*o*o}else{r=i[e]-n[e]*n[e]/(e+1)}if(r<0){return 0}return r}function vb(t,e,n,i,r,o,a){if(t>e){return}var s=Math.floor((t+e)/2);i[n][s]=i[n-1][s-1];r[n][s]=s;var u=n;if(t>n){u=Math.max(u,r[n][t-1]||0)}u=Math.max(u,r[n-1][s]||0);var h=s-1;if(e=u;--l){var f=gb(l,s,o,a);if(f+i[n-1][u-1]>=i[n][s]){break}var c=gb(u,s,o,a);var d=c+i[n-1][u-1];if(dt.length){throw new Error("Cannot generate more classes than there are data values")}var n=cb(t);var i=db(n);if(i===1){return[n]}var r=pb(e,n.length),o=pb(e,n.length);_b(n,o,r);var a=r[0].length-1;var s=[];for(var u=r.length-1;u>=0;u--){var h=r[u][a];s[u]=n.slice(h,a+1);if(u>0){a=h-1}}return s};var mb=function(t){function e(){t.call(this);this._axisClass=new Cd;this._axisConfig={gridSize:0};this._axisTest=new Cd;this._align="middle";this._color="#0C8040";this._data=[];this._duration=600;this._height=200;this._orient="bottom";this._outerBounds={width:0,height:0,x:0,y:0};this._padding=5;this._rectClass=new bd;this._rectConfig={stroke:"#000",strokeWidth:1};this._scale="linear";this._size=10;this._value=ju("value");this._width=400}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.render=function t(e){var n=this;var i;if(this._select===void 0){this.select(qa("body").append("svg").attr("width",this._width+"px").attr("height",this._height+"px").node())}var r=["bottom","top"].includes(this._orient);var o=r?"height":"width",a=r?"width":"height",s=r?"x":"y",u=r?"y":"x";this._group=Ku("g.d3plus-ColorScale",{parent:this._select});var h=Ht(this._data,this._value);var l=this._color,f,c;if(!(l instanceof Array)){l=[wh(l,.9),wh(l,.75),wh(l,.5),wh(l,.25),l]}if(this._scale==="jenks"){var d=this._data.map(this._value).filter(function(t){return t!==null&&typeof t==="number"});if(d.length<=l.length){var p=vn().domain(Vt(0,d.length-1)).interpolate(De).range(l);l=d.slice(0,d.length-1).map(function(t,e){return p(e)})}var g=yb(d,l.length);c=Wt(g.map(function(t,e){return e===g.length-1?[t[0],t[t.length-1]]:[t[0]]}));var v=new Set(c);if(c.length!==v.size){f=Array.from(v)}this._colorScale=Dn().domain(c).range(["black"].concat(l).concat(l[l.length-1]))}else{var _=(h[1]-h[0])/(l.length-1);var y=Vt(h[0],h[1]+_/2,_);if(this._scale==="buckets"){c=y}this._colorScale=vn().domain(y).range(l)}var m=Object.assign({domain:r?h:h.reverse(),duration:this._duration,height:this._height,labels:f||c,orient:this._orient,padding:this._padding,ticks:c,width:this._width},this._axisConfig);this._axisTest.select(Ku("g.d3plus-ColorScale-axisTest",{enter:{opacity:0},parent:this._group}).node()).config(m).render();var b=this._axisTest.outerBounds();this._outerBounds[a]=this["_"+a]-this._padding*2;this._outerBounds[o]=b[o]+this._size;this._outerBounds[s]=this._padding;this._outerBounds[u]=this._padding;if(this._align==="middle"){this._outerBounds[u]=(this["_"+o]-this._outerBounds[o])/2}else if(this._align==="end"){this._outerBounds[u]=this["_"+o]-this._padding-this._outerBounds[o]}var x=this._outerBounds[u]+(["bottom","right"].includes(this._orient)?this._size:0)-(m.padding||this._axisClass.padding());this._axisClass.select(Ku("g.d3plus-ColorScale-axis",{parent:this._group,update:{transform:"translate("+(r?0:x)+", "+(r?x:0)+")"}}).node()).config(m).align("start").render();var w=this._axisTest._getPosition.bind(this._axisTest);var C=this._axisTest._getRange();var E=this._group.selectAll("defs").data([0]);var S=E.enter().append("defs");S.append("linearGradient").attr("id","gradient-"+this._uuid);E=S.merge(E);E.select("linearGradient").attr(s+"1",r?"0%":"100%").attr(s+"2",r?"100%":"0%").attr(u+"1","0%").attr(u+"2","0%");var A=E.select("linearGradient").selectAll("stop").data(l);A.enter().append("stop").merge(A).attr("offset",function(t,e){return e/(l.length-1)*100+"%"}).attr("stop-color",String);function k(t,e){var n=Math.abs(w(c[e+1])-w(t));return n||2}this._rectClass.data(c?c.slice(0,c.length-1):[0]).id(function(t,e){return e}).select(Ku("g.d3plus-ColorScale-Rect",{parent:this._group}).node()).config((i={fill:c?function(t){return n._colorScale(t)}:"url(#gradient-"+this._uuid+")"},i[s]=c?function(t,e){return w(t)+k(t,e)/2-(["left","right"].includes(n._orient)?k(t,e):0)}:C[0]+(C[1]-C[0])/2,i[u]=this._outerBounds[u]+(["top","left"].includes(this._orient)?b[o]:0)+this._size/2,i[a]=c?k:C[1]-C[0],i[o]=this._size,i)).config(this._rectConfig).render();if(e){setTimeout(e,this._duration+100)}return this};e.prototype.axisConfig=function t(e){return arguments.length?(this._axisConfig=Object.assign(this._axisConfig,e),this):this._axisConfig};e.prototype.align=function t(e){return arguments.length?(this._align=e,this):this._align};e.prototype.color=function t(e){return arguments.length?(this._color=e,this):this._color};e.prototype.data=function t(e){return arguments.length?(this._data=e,this):this._data};e.prototype.duration=function t(e){return arguments.length?(this._duration=e,this):this._duration};e.prototype.height=function t(e){return arguments.length?(this._height=e,this):this._height};e.prototype.orient=function t(e){return arguments.length?(this._orient=e,this):this._orient};e.prototype.outerBounds=function t(){return this._outerBounds};e.prototype.padding=function t(e){return arguments.length?(this._padding=e,this):this._padding};e.prototype.rectConfig=function t(e){return arguments.length?(this._rectConfig=Object.assign(this._rectConfig,e),this):this._rectConfig};e.prototype.scale=function t(e){return arguments.length?(this._scale=e,this):this._scale};e.prototype.select=function t(e){return arguments.length?(this._select=qa(e),this):this._select};e.prototype.size=function t(e){return arguments.length?(this._size=e,this):this._size};e.prototype.value=function t(e){return arguments.length?(this._value=typeof e==="function"?e:Zu(e),this):this._value};e.prototype.width=function t(e){return arguments.length?(this._width=e,this):this._width};return e}(Yu);var bb=function(t){function e(){var a=this;t.call(this);this._align="center";this._data=[];this._direction="row";this._duration=600;this._height=200;this._id=ju("id");this._label=ju("id");this._lineData=[];this._outerBounds={width:0,height:0,x:0,y:0};this._padding=5;this._shape=Zu("Rect");this._shapes=[];this._shapeConfig={duration:this._duration,fill:ju("color"),height:Zu(10),hitArea:function(t,e){var n=a._lineData[e],i=Ut([n.height,n.shapeHeight]);return{width:n.width+n.shapeWidth,height:i,x:-n.shapeWidth/2,y:-i/2}},labelBounds:function(t,e,n){var i=a._lineData[e],r=n.r!==void 0?n.r:n.width/2;return{width:i.width,height:i.height,x:r+a._padding,y:-i.height/2+(i.lh-i.s)/2+1}},labelConfig:{fontColor:Zu("#444"),fontFamily:(new Ac).fontFamily(),fontResize:false,fontSize:Zu(10)},opacity:1,r:Zu(5),width:Zu(10),x:function(t,e){var n=a._lineData[e];var i=n.y;var r=a._align==="left"||a._align==="right"&&a._direction==="column"?0:a._align==="center"?(a._outerBounds.width-a._rowWidth(a._lineData.filter(function(t){return i===t.y})))/2:a._outerBounds.width-a._rowWidth(a._lineData.filter(function(t){return i===t.y}));var o=a._lineData.slice(0,e).filter(function(t){return i===t.y});return a._rowWidth(o)+a._padding*(o.length?n.sentence?2:1:0)+a._outerBounds.x+n.shapeWidth/2+r},y:function(t,e){var n=a._lineData[e];return n.y+a._titleHeight+a._outerBounds.y+Ut(a._lineData.filter(function(t){return n.y===t.y}).map(function(t){return t.height}).concat(a._data.map(function(t,e){return a._fetchConfig("height",t,e)})))/2}};this._titleClass=new Ac;this._titleConfig={};this._verticalAlign="middle";this._width=400}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype._fetchConfig=function t(e,n,i){var r=this._shapeConfig[e]||this._shapeConfig.labelConfig[e];if(!r&&e==="lineHeight"){return this._fetchConfig("fontSize",n,i)*1.4}return typeof r==="function"?r(n,i):r};e.prototype._rowHeight=function t(e){return Ut(e.map(function(t){return t.height}).concat(e.map(function(t){return t.shapeHeight})))+this._padding};e.prototype._rowWidth=function t(i){var r=this;return Xt(i.map(function(t,e){var n=r._padding*(e===i.length-1?0:t.width?2:1);return t.shapeWidth+t.width+n}))};e.prototype.render=function t(e){var h=this;if(this._select===void 0){this.select(qa("body").append("svg").attr("width",this._width+"px").attr("height",this._height+"px").node())}this._group=Ku("g.d3plus-Legend",{parent:this._select});var l=this._height;this._titleHeight=0;if(this._title){var n=this._titleConfig.fontFamily||this._titleClass.fontFamily()(),i=this._titleConfig.fontSize||this._titleClass.fontSize()();var r=r=this._titleConfig.lineHeight||this._titleClass.lineHeight();r=r?r():i*1.4;var o=Sc().fontFamily(n).fontSize(i).lineHeight(r).width(this._width).height(this._height)(this._title);this._titleHeight=r+o.lines.length+this._padding;l-=this._titleHeight}this._lineData=this._data.map(function(t,e){var n=h._label(t,e);var i={data:t,i:e,id:h._id(t,e),shapeWidth:h._fetchConfig("width",t,e),shapeHeight:h._fetchConfig("height",t,e),y:0};if(!n){i.sentence=false;i.words=[];i.height=0;i.width=0;return i}var r=h._fetchConfig("fontFamily",t,e),o=h._fetchConfig("lineHeight",t,e),a=h._fetchConfig("fontSize",t,e);var s=l-(h._data.length+1)*h._padding,u=h._width;i=Object.assign(i,Sc().fontFamily(r).fontSize(a).lineHeight(o).width(u).height(s)(n));i.width=Math.ceil(Ut(i.lines.map(function(t){return Gf(t,{"font-family":r,"font-size":a})})))+a*.75;i.height=Math.ceil(i.lines.length*(o+1));i.og={height:i.height,width:i.width};i.f=r;i.s=a;i.lh=o;return i});var a;var s=this._width-this._padding*2;a=this._rowWidth(this._lineData);if(this._direction==="column"||a>s){var u=1,f=[];var c=Ut(this._lineData.map(function(t){return t.words.length}));this._wrapLines=function(){var e=this;u++;if(u>c){return}var o=u===1?this._lineData.slice():this._lineData.filter(function(t){return t.width+t.shapeWidth+e._padding*(t.width?2:1)>s&&t.words.length>=u}).sort(function(t,e){return e.sentence.length-t.sentence.length});if(o.length&&l>o[0].height*u){var a=false;var t=function(t){var e=o[t];var n=e.og.height*u,i=e.og.width*(1.5*(1/u));var r=Sc().fontFamily(e.f).fontSize(e.s).lineHeight(e.lh).width(i).height(n)(e.sentence);if(!r.truncated){e.width=Math.ceil(Ut(r.lines.map(function(t){return Gf(t,{"font-family":e.f,"font-size":e.s})})))+e.s;e.height=r.lines.length*(e.lh+1)}else{a=true;return"break"}};for(var n=0;nl){f=[];break}if(o>s){f=[];t._wrapLines();break}else if(n+ol){a=Xt(this._lineData.map(function(t){return t.shapeWidth+h._padding}))-this._padding;for(var d=0;d=0){Eb=1;break}}function Ab(t){var e=false;return function(){if(e){return}e=true;window.Promise.resolve().then(function(){e=false;t()})}}function kb(t){var e=false;return function(){if(!e){e=true;setTimeout(function(){e=false;t()},Eb)}}}var Mb=wb&&window.Promise;var Tb=Mb?Ab:kb;function Bb(t){var e={};return t&&e.toString.call(t)==="[object Function]"}function Db(t,e){if(t.nodeType!==1){return[]}var n=getComputedStyle(t,null);return e?n[e]:n}function Nb(t){if(t.nodeName==="HTML"){return t}return t.parentNode||t.host}function Pb(t){if(!t){return document.body}switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Db(t),n=e.overflow,i=e.overflowX,r=e.overflowY;if(/(auto|scroll|overlay)/.test(n+r+i)){return t}return Pb(Nb(t))}var zb=wb&&!!(window.MSInputMethodContext&&document.documentMode);var Ob=wb&&/MSIE 10/.test(navigator.userAgent);function Fb(t){if(t===11){return zb}if(t===10){return Ob}return zb||Ob}function Rb(t){if(!t){return document.documentElement}var e=Fb(10)?document.body:null;var n=t.offsetParent;while(n===e&&t.nextElementSibling){n=(t=t.nextElementSibling).offsetParent}var i=n&&n.nodeName;if(!i||i==="BODY"||i==="HTML"){return t?t.ownerDocument.documentElement:document.documentElement}if(["TD","TABLE"].indexOf(n.nodeName)!==-1&&Db(n,"position")==="static"){return Rb(n)}return n}function Ib(t){var e=t.nodeName;if(e==="BODY"){return false}return e==="HTML"||Rb(t.firstElementChild)===t}function Lb(t){if(t.parentNode!==null){return Lb(t.parentNode)}return t}function jb(t,e){if(!t||!t.nodeType||!e||!e.nodeType){return document.documentElement}var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING;var i=n?t:e;var r=n?e:t;var o=document.createRange();o.setStart(i,0);o.setEnd(r,0);var a=o.commonAncestorContainer;if(t!==a&&e!==a||i.contains(r)){if(Ib(a)){return a}return Rb(a)}var s=Lb(t);if(s.host){return jb(s.host,e)}else{return jb(t,Lb(e).host)}}function Hb(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"top";var n=e==="top"?"scrollTop":"scrollLeft";var i=t.nodeName;if(i==="BODY"||i==="HTML"){var r=t.ownerDocument.documentElement;var o=t.ownerDocument.scrollingElement||r;return o[n]}return t[n]}function Vb(t,e){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var i=Hb(e,"top");var r=Hb(e,"left");var o=n?-1:1;t.top+=i*o;t.bottom+=i*o;t.left+=r*o;t.right+=r*o;return t}function Ub(t,e){var n=e==="x"?"Left":"Top";var i=n==="Left"?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Wb(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Fb(10)?n["offset"+t]+i["margin"+(t==="Height"?"Top":"Left")]+i["margin"+(t==="Height"?"Bottom":"Right")]:0)}function qb(){var t=document.body;var e=document.documentElement;var n=Fb(10)&&getComputedStyle(e);return{height:Wb("Height",t,e,n),width:Wb("Width",t,e,n)}}var Xb=function(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}};var Gb=function(){function i(t,e){for(var n=0;n2&&arguments[2]!==undefined?arguments[2]:false;var i=Fb(10);var r=e.nodeName==="HTML";var o=Zb(t);var a=Zb(e);var s=Pb(t);var u=Db(e);var h=parseFloat(u.borderTopWidth,10);var l=parseFloat(u.borderLeftWidth,10);if(n&&e.nodeName==="HTML"){a.top=Math.max(a.top,0);a.left=Math.max(a.left,0)}var f=Qb({top:o.top-a.top-h,left:o.left-a.left-l,width:o.width,height:o.height});f.marginTop=0;f.marginLeft=0;if(!i&&r){var c=parseFloat(u.marginTop,10);var d=parseFloat(u.marginLeft,10);f.top-=h-c;f.bottom-=h-c;f.left-=l-d;f.right-=l-d;f.marginTop=c;f.marginLeft=d}if(i&&!n?e.contains(s):e===s&&s.nodeName!=="BODY"){f=Vb(f,e)}return f}function Jb(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var n=t.ownerDocument.documentElement;var i=Kb(t,n);var r=Math.max(n.clientWidth,window.innerWidth||0);var o=Math.max(n.clientHeight,window.innerHeight||0);var a=!e?Hb(n):0;var s=!e?Hb(n,"left"):0;var u={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:r,height:o};return Qb(u)}function tx(t){var e=t.nodeName;if(e==="BODY"||e==="HTML"){return false}if(Db(t,"position")==="fixed"){return true}return tx(Nb(t))}function ex(t){if(!t||!t.parentElement||Fb()){return document.documentElement}var e=t.parentElement;while(e&&Db(e,"transform")==="none"){e=e.parentElement}return e||document.documentElement}function nx(t,e,n,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;var o={top:0,left:0};var a=r?ex(t):jb(t,e);if(i==="viewport"){o=Jb(a,r)}else{var s=void 0;if(i==="scrollParent"){s=Pb(Nb(e));if(s.nodeName==="BODY"){s=t.ownerDocument.documentElement}}else if(i==="window"){s=t.ownerDocument.documentElement}else{s=i}var u=Kb(s,a,r);if(s.nodeName==="HTML"&&!tx(a)){var h=qb(),l=h.height,f=h.width;o.top+=u.top-u.marginTop;o.bottom=l+u.top;o.left+=u.left-u.marginLeft;o.right=f+u.left}else{o=u}}o.left+=n;o.top+=n;o.right-=n;o.bottom-=n;return o}function ix(t){var e=t.width,n=t.height;return e*n}function rx(t,e,i,n,r){var o=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;if(t.indexOf("auto")===-1){return t}var a=nx(i,n,o,r);var s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}};var u=Object.keys(s).map(function(t){return $b({key:t},s[t],{area:ix(s[t])})}).sort(function(t,e){return e.area-t.area});var h=u.filter(function(t){var e=t.width,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight});var l=h.length>0?h[0].key:u[0].key;var f=t.split("-")[1];return l+(f?"-"+f:"")}function ox(t,e,n){var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var r=i?ex(e):jb(e,n);return Kb(n,r,i)}function ax(t){var e=getComputedStyle(t);var n=parseFloat(e.marginTop)+parseFloat(e.marginBottom);var i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);var r={width:t.offsetWidth+i,height:t.offsetHeight+n};return r}function sx(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function ux(t,e,n){n=n.split("-")[0];var i=ax(t);var r={width:i.width,height:i.height};var o=["right","left"].indexOf(n)!==-1;var a=o?"top":"left";var s=o?"left":"top";var u=o?"height":"width";var h=!o?"height":"width";r[a]=e[a]+e[u]/2-i[u]/2;if(n===s){r[s]=e[s]-i[h]}else{r[s]=e[sx(s)]}return r}function hx(t,e){if(Array.prototype.find){return t.find(e)}return t.filter(e)[0]}function lx(t,e,n){if(Array.prototype.findIndex){return t.findIndex(function(t){return t[e]===n})}var i=hx(t,function(t){return t[e]===n});return t.indexOf(i)}function fx(t,n,e){var i=e===undefined?t:t.slice(0,lx(t,"name",e));i.forEach(function(t){if(t["function"]){console.warn("`modifier.function` is deprecated, use `modifier.fn`!")}var e=t["function"]||t.fn;if(t.enabled&&Bb(e)){n.offsets.popper=Qb(n.offsets.popper);n.offsets.reference=Qb(n.offsets.reference);n=e(n,t)}});return n}function cx(){if(this.state.isDestroyed){return}var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:false,offsets:{}};t.offsets.reference=ox(this.state,this.popper,this.reference,this.options.positionFixed);t.placement=rx(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding);t.originalPlacement=t.placement;t.positionFixed=this.options.positionFixed;t.offsets.popper=ux(this.popper,t.offsets.reference,t.placement);t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute";t=fx(this.modifiers,t);if(!this.state.isCreated){this.state.isCreated=true;this.options.onCreate(t)}else{this.options.onUpdate(t)}}function dx(t,i){return t.some(function(t){var e=t.name,n=t.enabled;return n&&e===i})}function px(t){var e=[false,"ms","Webkit","Moz","O"];var n=t.charAt(0).toUpperCase()+t.slice(1);for(var i=0;ia[d]){t.offsets.popper[f]+=s[f]+p-a[d]}t.offsets.popper=Qb(t.offsets.popper);var g=s[f]+s[h]/2-p/2;var v=Db(t.instance.popper);var _=parseFloat(v["margin"+l],10);var y=parseFloat(v["border"+l+"Width"],10);var m=g-t.offsets.popper[f]-_-y;m=Math.max(Math.min(a[h]-p,m),0);t.arrowElement=i;t.offsets.arrow=(n={},Yb(n,f,Math.round(m)),Yb(n,c,""),n);return t}function Bx(t){if(t==="end"){return"start"}else if(t==="start"){return"end"}return t}var Dx=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"];var Nx=Dx.slice(3);function Px(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var n=Nx.indexOf(t);var i=Nx.slice(n+1).concat(Nx.slice(0,n));return e?i.reverse():i}var zx={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Ox(d,p){if(dx(d.instance.modifiers,"inner")){return d}if(d.flipped&&d.placement===d.originalPlacement){return d}var g=nx(d.instance.popper,d.instance.reference,p.padding,p.boundariesElement,d.positionFixed);var v=d.placement.split("-")[0];var _=sx(v);var y=d.placement.split("-")[1]||"";var m=[];switch(p.behavior){case zx.FLIP:m=[v,_];break;case zx.CLOCKWISE:m=Px(v);break;case zx.COUNTERCLOCKWISE:m=Px(v,true);break;default:m=p.behavior}m.forEach(function(t,e){if(v!==t||m.length===e+1){return d}v=d.placement.split("-")[0];_=sx(v);var n=d.offsets.popper;var i=d.offsets.reference;var r=Math.floor;var o=v==="left"&&r(n.right)>r(i.left)||v==="right"&&r(n.left)r(i.top)||v==="bottom"&&r(n.top)r(g.right);var u=r(n.top)r(g.bottom);var l=v==="left"&&a||v==="right"&&s||v==="top"&&u||v==="bottom"&&h;var f=["top","bottom"].indexOf(v)!==-1;var c=!!p.flipVariations&&(f&&y==="start"&&a||f&&y==="end"&&s||!f&&y==="start"&&u||!f&&y==="end"&&h);if(o||l||c){d.flipped=true;if(o||l){v=m[e+1]}if(c){y=Bx(y)}d.placement=v+(y?"-"+y:"");d.offsets.popper=$b({},d.offsets.popper,ux(d.instance.popper,d.offsets.reference,d.placement));d=fx(d.instance.modifiers,d,"flip")}});return d}function Fx(t){var e=t.offsets,n=e.popper,i=e.reference;var r=t.placement.split("-")[0];var o=Math.floor;var a=["top","bottom"].indexOf(r)!==-1;var s=a?"right":"bottom";var u=a?"left":"top";var h=a?"width":"height";if(n[s]o(i[s])){t.offsets.popper[u]=o(i[s])}return t}function Rx(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);var o=+r[1];var a=r[2];if(!o){return t}if(a.indexOf("%")===0){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}var u=Qb(s);return u[e]/100*o}else if(a==="vh"||a==="vw"){var h=void 0;if(a==="vh"){h=Math.max(document.documentElement.clientHeight,window.innerHeight||0)}else{h=Math.max(document.documentElement.clientWidth,window.innerWidth||0)}return h/100*o}else{return o}}function Ix(t,r,o,e){var a=[0,0];var s=["right","left"].indexOf(e)!==-1;var n=t.split(/(\+|\-)/).map(function(t){return t.trim()});var i=n.indexOf(hx(n,function(t){return t.search(/,|\s/)!==-1}));if(n[i]&&n[i].indexOf(",")===-1){console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.")}var u=/\s*,\s*|\s+/;var h=i!==-1?[n.slice(0,i).concat([n[i].split(u)[0]]),[n[i].split(u)[1]].concat(n.slice(i+1))]:[n];h=h.map(function(t,e){var n=(e===1?!s:s)?"height":"width";var i=false;return t.reduce(function(t,e){if(t[t.length-1]===""&&["+","-"].indexOf(e)!==-1){t[t.length-1]=e;i=true;return t}else if(i){t[t.length-1]+=e;i=false;return t}else{return t.concat(e)}},[]).map(function(t){return Rx(t,n,r,o)})});h.forEach(function(n,i){n.forEach(function(t,e){if(wx(t)){a[i]+=t*(n[e-1]==="-"?-1:1)}})});return a}function Lx(t,e){var n=e.offset;var i=t.placement,r=t.offsets,o=r.popper,a=r.reference;var s=i.split("-")[0];var u=void 0;if(wx(+n)){u=[+n,0]}else{u=Ix(n,o,a,s)}if(s==="left"){o.top+=u[0];o.left-=u[1]}else if(s==="right"){o.top+=u[0];o.left+=u[1]}else if(s==="top"){o.left+=u[0];o.top-=u[1]}else if(s==="bottom"){o.left+=u[0];o.top+=u[1]}t.popper=o;return t}function jx(t,r){var e=r.boundariesElement||Rb(t.instance.popper);if(t.instance.reference===e){e=Rb(e)}var n=px("transform");var i=t.instance.popper.style;var o=i.top,a=i.left,s=i[n];i.top="";i.left="";i[n]="";var u=nx(t.instance.popper,t.instance.reference,r.padding,e,t.positionFixed);i.top=o;i.left=a;i[n]=s;r.boundaries=u;var h=r.priority;var l=t.offsets.popper;var f={primary:function t(e){var n=l[e];if(l[e]u[e]&&!r.escapeWithReference){i=Math.min(l[n],u[e]-(e==="right"?l.width:l.height))}return Yb({},n,i)}};h.forEach(function(t){var e=["left","top"].indexOf(t)!==-1?"primary":"secondary";l=$b({},l,f[e](t))});t.offsets.popper=l;return t}function Hx(t){var e=t.placement;var n=e.split("-")[0];var i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,a=r.popper;var s=["bottom","top"].indexOf(n)!==-1;var u=s?"left":"top";var h=s?"width":"height";var l={start:Yb({},u,o[u]),end:Yb({},u,o[u]+o[h]-a[h])};t.offsets.popper=$b({},a,l[i])}return t}function Vx(t){if(!Mx(t.instance.modifiers,"hide","preventOverflow")){return t}var e=t.offsets.reference;var n=hx(t.instance.modifiers,function(t){return t.name==="preventOverflow"}).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&arguments[2]!==undefined?arguments[2]:{};Xb(this,o);this.scheduleUpdate=function(){return requestAnimationFrame(n.update)};this.update=Tb(this.update.bind(this));this.options=$b({},o.Defaults,i);this.state={isDestroyed:false,isCreated:false,scrollParents:[]};this.reference=t&&t.jquery?t[0]:t;this.popper=e&&e.jquery?e[0]:e;this.options.modifiers={};Object.keys($b({},o.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=$b({},o.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})});this.modifiers=Object.keys(this.options.modifiers).map(function(t){return $b({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order});this.modifiers.forEach(function(t){if(t.enabled&&Bb(t.onLoad)){t.onLoad(n.reference,n.popper,n.options,t,n.state)}});this.update();var r=this.options.eventsEnabled;if(r){this.enableEventListeners()}this.state.eventsEnabled=r}Gb(o,[{key:"update",value:function t(){return cx.call(this)}},{key:"destroy",value:function t(){return gx.call(this)}},{key:"enableEventListeners",value:function t(){return mx.call(this)}},{key:"disableEventListeners",value:function t(){return xx.call(this)}}]);return o}();Xx.Utils=(typeof window!=="undefined"?window:global).PopperUtils;Xx.placements=Dx;Xx.Defaults=qx;var Gx=function(t){function e(){t.call(this);this._arrow=ju("arrow","");this._arrowStyle={content:"",background:"inherit",border:"inherit","border-width":"0 1px 1px 0",height:"10px",position:"absolute",transform:"rotate(45deg)",width:"10px","z-index":"-1"};this._background=Zu("rgba(255, 255, 255, 1)");this._body=ju("body","");this._bodyStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"12px","font-weight":"400","z-index":"1"};this._border=Zu("1px solid rgba(0, 0, 0, 0.1)");this._borderRadius=Zu("2px");this._className="d3plus-tooltip";this._data=[];this._duration=Zu(200);this._footer=ju("footer","");this._footerStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"12px","font-weight":"400","z-index":"1"};this._height=Zu("auto");this._id=function(t,e){return t.id||""+e};this._offset=Zu(5);this._padding=Zu("5px");this._pointerEvents=Zu("auto");this._position=function(t){return[t.x,t.y]};this._prefix=eh();this._tableStyle={"border-spacing":"0",width:"100%"};this._tbody=[];this._tbodyStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"12px","text-align":"center"};this._thead=[];this._theadStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"12px","font-weight":"600","text-align":"center"};this._title=ju("title","");this._titleStyle={"font-family":"'Roboto', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif","font-size":"14px","font-weight":"600"};this._width=Zu("auto")}if(t){e.__proto__=t}e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.render=function t(e){var n=this;var i=this;var r=qa("body").selectAll("."+this._className).data(this._data,this._id);var o=r.enter().append("div").attr("class",this._className);var a=r.merge(o);function s(n){o.append("div").attr("class","d3plus-tooltip-"+n).attr("id",function(t,e){return"d3plus-tooltip-"+n+"-"+(t?i._id(t,e):"")});var t=a.select(".d3plus-tooltip-"+n).html(i["_"+n]);nh(t,i["_"+n+"Style"])}function u(t){if(typeof t==="function"){var e=qa(this.parentNode.parentNode).datum();return t(e,i._data.indexOf(e))}else{return t}}function h(t){t.style("background",i._background).style(i._prefix+"border-radius",i._borderRadius).style("pointer-events",i._pointerEvents).style("padding",i._padding).style("width",i._width).style("height",i._height).style("border",function(t,e){var n=qa(this).style("border");return n!=="0px none rgb(0, 0, 0)"?n:i._border(t,e)})}s("title");s("body");var l=o.append("table").attr("class","d3plus-tooltip-table");var f=a.select(".d3plus-tooltip-table");nh(f,this._tableStyle);l.append("thead").attr("class","d3plus-tooltip-thead");var c=a.select(".d3plus-tooltip-thead");nh(c,this._theadStyle);var d=c.selectAll("th").data(this._thead);d.enter().append("th").merge(d).html(u);d.exit().remove();l.append("tbody").attr("class","d3plus-tooltip-tbody");var p=a.select(".d3plus-tooltip-tbody");nh(p,this._tbodyStyle);var g=p.selectAll("tr").data(this._tbody);var v=g.enter().append("tr");g.exit().remove();var _=g.merge(v);var y=_.selectAll("td").data(function(t){return t});y.enter().append("td").merge(y).html(u);s("footer");s("arrow");o.call(h);var m=Pu().duration(this._duration);a.attr("id",function(t,e){return"d3plus-tooltip-"+(t?n._id(t,e):"")}).transition(m).style("opacity",1).call(h);r.exit().transition(m).style("opacity",0).remove();for(var b=0;b1;var a=Ku("g.d3plus-viz-colorScale",{condition:o&&!this._colorScaleConfig.select,enter:r,parent:this._select,transition:this._transition,update:r}).node();var s=t.filter(function(t,e){var n=i._colorScale(t,e);return n!==undefined&&n!==null});this._colorScaleClass.align({bottom:"end",left:"start",right:"end",top:"start"}[e]).duration(this._duration).data(s).height(n?this._height-(this._margin.bottom+this._margin.top):this._height-(this._margin.bottom+this._margin.top+this._padding.bottom+this._padding.top)).orient(e).select(a).value(this._colorScale).width(n?this._width-(this._margin.left+this._margin.right+this._padding.left+this._padding.right):this._width-(this._margin.left+this._margin.right)).config(this._colorScaleConfig).render();if(o){var u=this._colorScaleClass.outerBounds();if(this._colorScalePosition&&!this._colorScaleConfig.select&&u.height){if(n){this._margin[e]+=u.height+this._legendClass.padding()*2}else{this._margin[e]+=u.width+this._legendClass.padding()*2}}}}};var Zx=sb(function(e,t){(function(t){{e.exports=t()}})(function(){var R;return function o(a,s,u){function h(n,t){if(!s[n]){if(!a[n]){var e=typeof ab=="function"&&ab;if(!t&&e){return e(n,!0)}if(l){return l(n,!0)}var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[n]={exports:{}};a[n][0].call(r.exports,function(t){var e=a[n][1][t];return h(e?e:t)},r,r.exports,o,a,s,u)}return s[n].exports}var l=typeof ab=="function"&&ab;for(var t=0;t= 0x80 (not a basic code point)","invalid-input":"Invalid input"},f=y-m,E=Math.floor,S=String.fromCharCode,c;function A(t){throw new RangeError(l[t])}function d(t,e){var n=t.length;var i=[];while(n--){i[n]=e(t[n])}return i}function p(t,e){var n=t.split("@");var i="";if(n.length>1){i=n[0]+"@";t=n[1]}t=t.replace(h,".");var r=t.split(".");var o=d(r,e).join(".");return i+o}function k(t){var e=[],n=0,i=t.length,r,o;while(n=55296&&r<=56319&&n65535){t-=65536;e+=S(t>>>10&1023|55296);t=56320|t&1023}e+=S(t);return e}).join("")}function M(t){if(t-48<10){return t-22}if(t-65<26){return t-65}if(t-97<26){return t-97}return y}function T(t,e){return t+22+75*(t<26)-((e!=0)<<5)}function B(t,e,n){var i=0;t=n?E(t/a):t>>1;t+=E(t/e);for(;t>f*b>>1;i+=y){t=E(t/f)}return E(i+(f+1)*t/(t+o))}function g(t){var e=[],n=t.length,i,r=0,o=w,a=x,s,u,h,l,f,c,d,p,g;s=t.lastIndexOf(C);if(s<0){s=0}for(u=0;u=128){A("not-basic")}e.push(t.charCodeAt(u))}for(h=s>0?s+1:0;h=n){A("invalid-input")}d=M(t.charCodeAt(h++));if(d>=y||d>E((_-r)/f)){A("overflow")}r+=d*f;p=c<=a?m:c>=a+b?b:c-a;if(dE(_/g)){A("overflow")}f*=g}i=e.length+1;a=B(r-l,i,l==0);if(E(r/i)>_-o){A("overflow")}o+=E(r/i);r%=i;e.splice(r++,0,o)}return v(e)}function D(t){var e,n,i,r,o,a,s,u,h,l,f,c=[],d,p,g,v;t=k(t);d=t.length;e=w;n=0;o=x;for(a=0;a=e&&fE((_-n)/p)){A("overflow")}n+=(s-e)*p;e=s;for(a=0;a_){A("overflow")}if(f==e){for(u=n,h=y;;h+=y){l=h<=o?m:h>=o+b?b:h-o;if(u0){f(n.documentElement);clearInterval(t);if(r.type==="view"){u.contentWindow.scrollTo(o,a);if(/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(u.contentWindow.scrollY!==a||u.contentWindow.scrollX!==o)){n.documentElement.style.top=-a+"px";n.documentElement.style.left=-o+"px";n.documentElement.style.position="absolute"}}e(u)}},50)};n.open();n.write("");h(t,o,a);n.replaceChild(n.adoptNode(s),n.documentElement);n.close()})}},{"./log":13}],3:[function(t,e,n){function i(t){this.r=0;this.g=0;this.b=0;this.a=null;var e=this.fromArray(t)||this.namedColor(t)||this.rgb(t)||this.rgba(t)||this.hex6(t)||this.hex3(t)}i.prototype.darken=function(t){var e=1-t;return new i([Math.round(this.r*e),Math.round(this.g*e),Math.round(this.b*e),this.a])};i.prototype.isTransparent=function(){return this.a===0};i.prototype.isBlack=function(){return this.r===0&&this.g===0&&this.b===0};i.prototype.fromArray=function(t){if(Array.isArray(t)){this.r=Math.min(t[0],255);this.g=Math.min(t[1],255);this.b=Math.min(t[2],255);if(t.length>3){this.a=t[3]}}return Array.isArray(t)};var r=/^#([a-f0-9]{3})$/i;i.prototype.hex3=function(t){var e=null;if((e=t.match(r))!==null){this.r=parseInt(e[1][0]+e[1][0],16);this.g=parseInt(e[1][1]+e[1][1],16);this.b=parseInt(e[1][2]+e[1][2],16)}return e!==null};var o=/^#([a-f0-9]{6})$/i;i.prototype.hex6=function(t){var e=null;if((e=t.match(o))!==null){this.r=parseInt(e[1].substring(0,2),16);this.g=parseInt(e[1].substring(2,4),16);this.b=parseInt(e[1].substring(4,6),16)}return e!==null};var a=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/;i.prototype.rgb=function(t){var e=null;if((e=t.match(a))!==null){this.r=Number(e[1]);this.g=Number(e[2]);this.b=Number(e[3])}return e!==null};var s=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/;i.prototype.rgba=function(t){var e=null;if((e=t.match(s))!==null){this.r=Number(e[1]);this.g=Number(e[2]);this.b=Number(e[3]);this.a=Number(e[4])}return e!==null};i.prototype.toString=function(){return this.a!==null&&this.a!==1?"rgba("+[this.r,this.g,this.b,this.a].join(",")+")":"rgb("+[this.r,this.g,this.b].join(",")+")"};i.prototype.namedColor=function(t){t=t.toLowerCase();var e=u[t];if(e){this.r=e[0];this.g=e[1];this.b=e[2]}else if(t==="transparent"){this.r=this.g=this.b=this.a=0;return true}return!!e};i.prototype.isColor=true;var u={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};e.exports=i},{}],4:[function(t,e,n){var d=t("./support");var a=t("./renderers/canvas");var p=t("./imageloader");var g=t("./nodeparser");var i=t("./nodecontainer");var v=t("./log");var r=t("./utils");var o=t("./clone");var s=t("./proxy").loadUrlDocument;var _=r.getBounds;var f="data-html2canvas-node";var u=0;function h(t,e){var n=u++;e=e||{};if(e.logging){v.options.logging=true;v.options.start=Date.now()}e.async=typeof e.async==="undefined"?true:e.async;e.allowTaint=typeof e.allowTaint==="undefined"?false:e.allowTaint;e.removeContainer=typeof e.removeContainer==="undefined"?true:e.removeContainer;e.javascriptEnabled=typeof e.javascriptEnabled==="undefined"?false:e.javascriptEnabled;e.imageTimeout=typeof e.imageTimeout==="undefined"?1e4:e.imageTimeout;e.renderer=typeof e.renderer==="function"?e.renderer:a;e.strict=!!e.strict;if(typeof t==="string"){if(typeof e.proxy!=="string"){return Promise.reject("Proxy must be used when rendering url")}var i=e.width!=null?e.width:window.innerWidth;var r=e.height!=null?e.height:window.innerHeight;return s(C(t),e.proxy,document,i,r,e).then(function(t){return y(t.contentWindow.document.documentElement,t,e,i,r)})}var o=(t===undefined?[document.documentElement]:t.length?t:[t])[0];o.setAttribute(f+n,n);return c(o.ownerDocument,e,o.ownerDocument.defaultView.innerWidth,o.ownerDocument.defaultView.innerHeight,n).then(function(t){if(typeof e.onrendered==="function"){v("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas");e.onrendered(t)}return t})}h.CanvasRenderer=a;h.NodeContainer=i;h.log=v;h.utils=r;var l=typeof document==="undefined"||typeof Object.create!=="function"||typeof document.createElement("canvas").getContext!=="function"?function(){return Promise.reject("No canvas support")}:h;e.exports=l;function c(a,s,u,h,l){return o(a,a,u,h,s,a.defaultView.pageXOffset,a.defaultView.pageYOffset).then(function(t){v("Document cloned");var e=f+l;var n="["+e+"='"+l+"']";a.querySelector(n).removeAttribute(e);var i=t.contentWindow;var r=i.document.querySelector(n);var o=typeof s.onclone==="function"?Promise.resolve(s.onclone(i.document)):Promise.resolve(true);return o.then(function(){return y(r,t,s,u,h)})})}function y(e,n,i,t,r){var o=n.contentWindow;var a=new d(o.document);var s=new p(i,a);var u=_(e);var h=i.type==="view"?t:x(o.document);var l=i.type==="view"?r:w(o.document);var f=new i.renderer(h,l,s,i,document);var c=new g(e,f,a,s,i);return c.ready.then(function(){v("Finished rendering");var t;if(i.type==="view"){t=b(f.canvas,{width:f.canvas.width,height:f.canvas.height,top:0,left:0,x:0,y:0})}else if(e===o.document.body||e===o.document.documentElement||i.canvas!=null){t=f.canvas}else{t=b(f.canvas,{width:i.width!=null?i.width:u.width,height:i.height!=null?i.height:u.height,top:u.top,left:u.left,x:0,y:0})}m(n,i);return t})}function m(t,e){if(e.removeContainer){t.parentNode.removeChild(t);v("Cleaned up container")}}function b(t,e){var n=document.createElement("canvas");var i=Math.min(t.width-1,Math.max(0,e.left));var r=Math.min(t.width,Math.max(1,e.left+e.width));var o=Math.min(t.height-1,Math.max(0,e.top));var a=Math.min(t.height,Math.max(1,e.top+e.height));n.width=e.width;n.height=e.height;var s=r-i;var u=a-o;v("Cropping canvas at:","left:",e.left,"top:",e.top,"width:",s,"height:",u);v("Resulting crop with width",e.width,"and height",e.height,"with x",i,"and y",o);n.getContext("2d").drawImage(t,i,o,s,u,e.x,e.y,s,u);return n}function x(t){return Math.max(Math.max(t.body.scrollWidth,t.documentElement.scrollWidth),Math.max(t.body.offsetWidth,t.documentElement.offsetWidth),Math.max(t.body.clientWidth,t.documentElement.clientWidth))}function w(t){return Math.max(Math.max(t.body.scrollHeight,t.documentElement.scrollHeight),Math.max(t.body.offsetHeight,t.documentElement.offsetHeight),Math.max(t.body.clientHeight,t.documentElement.clientHeight))}function C(t){var e=document.createElement("a");e.href=t;e.href=e.href;return e}},{"./clone":2,"./imageloader":11,"./log":13,"./nodecontainer":14,"./nodeparser":15,"./proxy":16,"./renderers/canvas":20,"./support":22,"./utils":26}],5:[function(t,e,n){var i=t("./log");var r=t("./utils").smallImage;function o(t){this.src=t;i("DummyImageContainer for",t);if(!this.promise||!this.image){i("Initiating DummyImageContainer");o.prototype.image=new Image;var n=this.image;o.prototype.promise=new Promise(function(t,e){n.onload=t;n.onerror=e;n.src=r();if(n.complete===true){t(n)}})}}e.exports=o},{"./log":13,"./utils":26}],6:[function(t,e,n){var u=t("./utils").smallImage;function i(t,e){var n=document.createElement("div"),i=document.createElement("img"),r=document.createElement("span"),o="Hidden Text",a,s;n.style.visibility="hidden";n.style.fontFamily=t;n.style.fontSize=e;n.style.margin=0;n.style.padding=0;document.body.appendChild(n);i.src=u();i.width=1;i.height=1;i.style.margin=0;i.style.padding=0;i.style.verticalAlign="baseline";r.style.fontFamily=t;r.style.fontSize=e;r.style.margin=0;r.style.padding=0;r.appendChild(document.createTextNode(o));n.appendChild(r);n.appendChild(i);a=i.offsetTop-r.offsetTop+1;n.removeChild(r);n.appendChild(document.createTextNode(o));n.style.lineHeight="normal";i.style.verticalAlign="super";s=i.offsetTop-n.offsetTop+1;document.body.removeChild(n);this.baseline=a;this.lineWidth=1;this.middle=s}e.exports=i},{"./utils":26}],7:[function(t,e,n){var i=t("./font");function r(){this.data={}}r.prototype.getMetrics=function(t,e){if(this.data[t+"-"+e]===undefined){this.data[t+"-"+e]=new i(t,e)}return this.data[t+"-"+e]};e.exports=r},{"./font":6}],8:[function(o,t,e){var n=o("./utils");var a=n.getBounds;var r=o("./proxy").loadUrlDocument;function i(e,t,n){this.image=null;this.src=e;var i=this;var r=a(e);this.promise=(!t?this.proxyLoad(n.proxy,r,n):new Promise(function(t){if(e.contentWindow.document.URL==="about:blank"||e.contentWindow.document.documentElement==null){e.contentWindow.onload=e.onload=function(){t(e)}}else{t(e)}})).then(function(t){var e=o("./core");return e(t.contentWindow.document.documentElement,{type:"view",width:t.width,height:t.height,proxy:n.proxy,javascriptEnabled:n.javascriptEnabled,removeContainer:n.removeContainer,allowTaint:n.allowTaint,imageTimeout:n.imageTimeout/2})}).then(function(t){return i.image=t})}i.prototype.proxyLoad=function(t,e,n){var i=this.src;return r(i.src,t,i.ownerDocument,e.width,e.height,n)};t.exports=i},{"./core":4,"./proxy":16,"./utils":26}],9:[function(t,e,n){function i(t){this.src=t.value;this.colorStops=[];this.type=null;this.x0=.5;this.y0=.5;this.x1=.5;this.y1=.5;this.promise=Promise.resolve(true)}i.TYPES={LINEAR:1,RADIAL:2};i.REGEXP_COLORSTOP=/^\s*(rgba?\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}(?:,\s*[0-9\.]+)?\s*\)|[a-z]{3,20}|#[a-f0-9]{3,6})(?:\s+(\d{1,3}(?:\.\d+)?)(%|px)?)?(?:\s|$)/i;e.exports=i},{}],10:[function(t,e,n){function i(n,i){this.src=n;this.image=new Image;var r=this;this.tainted=null;this.promise=new Promise(function(t,e){r.image.onload=t;r.image.onerror=e;if(i){r.image.crossOrigin="anonymous"}r.image.src=n;if(r.image.complete===true){t(r.image)}})}e.exports=i},{}],11:[function(t,e,n){var o=t("./log");var i=t("./imagecontainer");var r=t("./dummyimagecontainer");var a=t("./proxyimagecontainer");var s=t("./framecontainer");var u=t("./svgcontainer");var h=t("./svgnodecontainer");var l=t("./lineargradientcontainer");var f=t("./webkitgradientcontainer");var c=t("./utils").bind;function d(t,e){this.link=null;this.options=t;this.support=e;this.origin=this.getOrigin(window.location.href)}d.prototype.findImages=function(t){var e=[];t.reduce(function(t,e){switch(e.node.nodeName){case"IMG":return t.concat([{args:[e.node.src],method:"url"}]);case"svg":case"IFRAME":return t.concat([{args:[e.node],method:e.node.nodeName}])}return t},[]).forEach(this.addImage(e,this.loadImage),this);return e};d.prototype.findBackgroundImage=function(t,e){e.parseBackgroundImages().filter(this.hasImageBackground).forEach(this.addImage(t,this.loadImage),this);return t};d.prototype.addImage=function(n,i){return function(e){e.args.forEach(function(t){if(!this.imageExists(n,t)){n.splice(0,0,i.call(this,e));o("Added image #"+n.length,typeof t==="string"?t.substring(0,100):t)}},this)}};d.prototype.hasImageBackground=function(t){return t.method!=="none"};d.prototype.loadImage=function(t){if(t.method==="url"){var e=t.args[0];if(this.isSVG(e)&&!this.support.svg&&!this.options.allowTaint){return new u(e)}else if(e.match(/data:image\/.*;base64,/i)){return new i(e.replace(/url\(['"]{0,}|['"]{0,}\)$/gi,""),false)}else if(this.isSameOrigin(e)||this.options.allowTaint===true||this.isSVG(e)){return new i(e,false)}else if(this.support.cors&&!this.options.allowTaint&&this.options.useCORS){return new i(e,true)}else if(this.options.proxy){return new a(e,this.options.proxy)}else{return new r(e)}}else if(t.method==="linear-gradient"){return new l(t)}else if(t.method==="gradient"){return new f(t)}else if(t.method==="svg"){return new h(t.args[0],this.support.svg)}else if(t.method==="IFRAME"){return new s(t.args[0],this.isSameOrigin(t.args[0].src),this.options)}else{return new r(t)}};d.prototype.isSVG=function(t){return t.substring(t.length-3).toLowerCase()==="svg"||u.prototype.isInline(t)};d.prototype.imageExists=function(t,e){return t.some(function(t){return t.src===e})};d.prototype.isSameOrigin=function(t){return this.getOrigin(t)===this.origin};d.prototype.getOrigin=function(t){var e=this.link||(this.link=document.createElement("a"));e.href=t;e.href=e.href;return e.protocol+e.hostname+e.port};d.prototype.getPromise=function(e){return this.timeout(e,this.options.imageTimeout)["catch"](function(){var t=new r(e.src);return t.promise.then(function(t){e.image=t})})};d.prototype.get=function(e){var n=null;return this.images.some(function(t){return(n=t).src===e})?n:null};d.prototype.fetch=function(t){this.images=t.reduce(c(this.findBackgroundImage,this),this.findImages(t));this.images.forEach(function(e,n){e.promise.then(function(){o("Succesfully loaded image #"+(n+1),e)},function(t){o("Failed loading image #"+(n+1),e,t)})});this.ready=Promise.all(this.images.map(this.getPromise,this));o("Finished searching images");return this};d.prototype.timeout=function(n,i){var r;var t=Promise.race([n.promise,new Promise(function(t,e){r=setTimeout(function(){o("Timed out loading image",n);e(n)},i)})]).then(function(t){clearTimeout(r);return t});t["catch"](function(){clearTimeout(r)});return t};e.exports=d},{"./dummyimagecontainer":5,"./framecontainer":8,"./imagecontainer":10,"./lineargradientcontainer":12,"./log":13,"./proxyimagecontainer":17,"./svgcontainer":23,"./svgnodecontainer":24,"./utils":26,"./webkitgradientcontainer":27}],12:[function(t,e,n){var r=t("./gradientcontainer");var o=t("./color");function i(t){r.apply(this,arguments);this.type=r.TYPES.LINEAR;var e=i.REGEXP_DIRECTION.test(t.args[0])||!r.REGEXP_COLORSTOP.test(t.args[0]);if(e){t.args[0].split(/\s+/).reverse().forEach(function(t,e){switch(t){case"left":this.x0=0;this.x1=1;break;case"top":this.y0=0;this.y1=1;break;case"right":this.x0=1;this.x1=0;break;case"bottom":this.y0=1;this.y1=0;break;case"to":var n=this.y0;var i=this.x0;this.y0=this.y1;this.x0=this.x1;this.x1=i;this.y1=n;break;case"center":break;default:var r=parseFloat(t,10)*.01;if(isNaN(r)){break}if(e===0){this.y0=r;this.y1=1-this.y0}else{this.x0=r;this.x1=1-this.x0}break}},this)}else{this.y0=0;this.y1=1}this.colorStops=t.args.slice(e?1:0).map(function(t){var e=t.match(r.REGEXP_COLORSTOP);var n=+e[2];var i=n===0?"%":e[3];return{color:new o(e[1]),stop:i==="%"?n/100:null}});if(this.colorStops[0].stop===null){this.colorStops[0].stop=0}if(this.colorStops[this.colorStops.length-1].stop===null){this.colorStops[this.colorStops.length-1].stop=1}this.colorStops.forEach(function(n,i){if(n.stop===null){this.colorStops.slice(i).some(function(t,e){if(t.stop!==null){n.stop=(t.stop-this.colorStops[i-1].stop)/(e+1)+this.colorStops[i-1].stop;return true}else{return false}},this)}},this)}i.prototype=Object.create(r.prototype);i.REGEXP_DIRECTION=/^\s*(?:to|left|right|top|bottom|center|\d{1,3}(?:\.\d+)?%?)(?:\s|$)/i;e.exports=i},{"./color":3,"./gradientcontainer":9}],13:[function(t,e,n){var i=function(){if(i.options.logging&&window.console&&window.console.log){Function.prototype.bind.call(window.console.log,window.console).apply(window.console,[Date.now()-i.options.start+"ms","html2canvas:"].concat([].slice.call(arguments,0)))}};i.options={logging:false};e.exports=i},{}],14:[function(t,e,n){var a=t("./color");var i=t("./utils");var r=i.getBounds;var o=i.parseBackgrounds;var s=i.offsetBounds;function u(t,e){this.node=t;this.parent=e;this.stack=null;this.bounds=null;this.borders=null;this.clip=[];this.backgroundClip=[];this.offsetBounds=null;this.visible=null;this.computedStyles=null;this.colors={};this.styles={};this.backgroundImages=null;this.transformData=null;this.transformMatrix=null;this.isPseudoElement=false;this.opacity=null}u.prototype.cloneTo=function(t){t.visible=this.visible;t.borders=this.borders;t.bounds=this.bounds;t.clip=this.clip;t.backgroundClip=this.backgroundClip;t.computedStyles=this.computedStyles;t.styles=this.styles;t.backgroundImages=this.backgroundImages;t.opacity=this.opacity};u.prototype.getOpacity=function(){return this.opacity===null?this.opacity=this.cssFloat("opacity"):this.opacity};u.prototype.assignStack=function(t){this.stack=t;t.children.push(this)};u.prototype.isElementVisible=function(){return this.node.nodeType===Node.TEXT_NODE?this.parent.visible:this.css("display")!=="none"&&this.css("visibility")!=="hidden"&&!this.node.hasAttribute("data-html2canvas-ignore")&&(this.node.nodeName!=="INPUT"||this.node.getAttribute("type")!=="hidden")};u.prototype.css=function(t){if(!this.computedStyles){this.computedStyles=this.isPseudoElement?this.parent.computedStyle(this.before?":before":":after"):this.computedStyle(null)}return this.styles[t]||(this.styles[t]=this.computedStyles[t])};u.prototype.prefixedCss=function(e){var t=["webkit","moz","ms","o"];var n=this.css(e);if(n===undefined){t.some(function(t){n=this.css(t+e.substr(0,1).toUpperCase()+e.substr(1));return n!==undefined},this)}return n===undefined?null:n};u.prototype.computedStyle=function(t){return this.node.ownerDocument.defaultView.getComputedStyle(this.node,t)};u.prototype.cssInt=function(t){var e=parseInt(this.css(t),10);return isNaN(e)?0:e};u.prototype.color=function(t){return this.colors[t]||(this.colors[t]=new a(this.css(t)))};u.prototype.cssFloat=function(t){var e=parseFloat(this.css(t));return isNaN(e)?0:e};u.prototype.fontWeight=function(){var t=this.css("fontWeight");switch(parseInt(t,10)){case 401:t="bold";break;case 400:t="normal";break}return t};u.prototype.parseClip=function(){var t=this.css("clip").match(this.CLIP);if(t){return{top:parseInt(t[1],10),right:parseInt(t[2],10),bottom:parseInt(t[3],10),left:parseInt(t[4],10)}}return null};u.prototype.parseBackgroundImages=function(){return this.backgroundImages||(this.backgroundImages=o(this.css("backgroundImage")))};u.prototype.cssList=function(t,e){var n=(this.css(t)||"").split(",");n=n[e||0]||n[0]||"auto";n=n.trim().split(" ");if(n.length===1){n=[n[0],f(n[0])?"auto":n[0]]}return n};u.prototype.parseBackgroundSize=function(t,e,n){var i=this.cssList("backgroundSize",n);var r,o;if(f(i[0])){r=t.width*parseFloat(i[0])/100}else if(/contain|cover/.test(i[0])){var a=t.width/t.height,s=e.width/e.height;return a0){this.renderIndex=0;this.asyncRenderer(this.renderQueue,t)}else{t()}},this))},this))}r.prototype.calculateOverflowClips=function(){this.nodes.forEach(function(t){if(H(t)){if(V(t)){t.appendToDOM()}t.borders=this.parseBorders(t);var e=t.css("overflow")==="hidden"?[t.borders.clip]:[];var n=t.parseClip();if(n&&["absolute","fixed"].indexOf(t.css("position"))!==-1){e.push([["rect",t.bounds.left+n.left,t.bounds.top+n.top,n.right-n.left,n.bottom-n.top]])}t.clip=o(t)?t.parent.clip.concat(e):e;t.backgroundClip=t.css("overflow")!=="hidden"?t.clip.concat([t.borders.clip]):t.clip;if(V(t)){t.cleanDOM()}}else if(U(t)){t.clip=o(t)?t.parent.clip:[]}if(!V(t)){t.bounds=null}},this)};function o(t){return t.parent&&t.parent.clip.length}r.prototype.asyncRenderer=function(t,e,n){n=n||Date.now();this.paint(t[this.renderIndex++]);if(t.length===this.renderIndex){e()}else if(n+20>Date.now()){this.asyncRenderer(t,e,n)}else{setTimeout(g(function(){this.asyncRenderer(t,e)},this),0)}};r.prototype.createPseudoHideStyles=function(t){this.createStyles(t,"."+f.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+':before { content: "" !important; display: none !important; }'+"."+f.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER+':after { content: "" !important; display: none !important; }')};r.prototype.disableAnimations=function(t){this.createStyles(t,"* { -webkit-animation: none !important; -moz-animation: none !important; -o-animation: none !important; animation: none !important; "+"-webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important;}")};r.prototype.createStyles=function(t,e){var n=t.createElement("style");n.innerHTML=e;t.body.appendChild(n)};r.prototype.getPseudoElements=function(t){var e=[[t]];if(t.node.nodeType===Node.ELEMENT_NODE){var n=this.getPseudoElement(t,":before");var i=this.getPseudoElement(t,":after");if(n){e.push(n)}if(i){e.push(i)}}return $(e)};function y(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})}r.prototype.getPseudoElement=function(t,e){var n=t.computedStyle(e);if(!n||!n.content||n.content==="none"||n.content==="-moz-alt-content"||n.display==="none"){return null}var i=Q(n.content);var r=i.substr(0,3)==="url";var o=document.createElement(r?"img":"html2canvaspseudoelement");var a=new f(o,t,e);for(var s=n.length-1;s>=0;s--){var u=y(n.item(s));o.style[u]=n[u]}o.className=f.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+" "+f.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER;if(r){o.src=v(i)[0].args[0];return[a]}else{var h=document.createTextNode(i);o.appendChild(h);return[a,new l(h,a)]}};r.prototype.getChildren=function(n){return $([].filter.call(n.node.childNodes,O).map(function(t){var e=[t.nodeType===Node.TEXT_NODE?new l(t,n):new h(t,n)].filter(Y);return t.nodeType===Node.ELEMENT_NODE&&e.length&&t.tagName!=="TEXTAREA"?e[0].isElementVisible()?e.concat(this.getChildren(e[0])):[]:e},this))};r.prototype.newStackingContext=function(t,e){var n=new p(e,t.getOpacity(),t.node,t.parent);t.cloneTo(n);var i=e?n.getParentStack(this):n.parent.stack;i.contexts.push(n);t.stack=n};r.prototype.createStackingContexts=function(){this.nodes.forEach(function(t){if(H(t)&&(this.isRootElement(t)||q(t)||F(t)||this.isBodyWithTransparentRoot(t)||t.hasTransform())){this.newStackingContext(t,true)}else if(H(t)&&(R(t)&&T(t)||L(t)||I(t))){this.newStackingContext(t,false)}else{t.assignStack(t.parent.stack)}},this)};r.prototype.isBodyWithTransparentRoot=function(t){return t.node.nodeName==="BODY"&&t.parent.color("backgroundColor").isTransparent()};r.prototype.isRootElement=function(t){return t.parent===null};r.prototype.sortStackingContexts=function(t){t.contexts.sort(W(t.contexts.slice(0)));t.contexts.forEach(this.sortStackingContexts,this)};r.prototype.parseTextBounds=function(a){return function(t,e,n){if(a.parent.css("textDecoration").substr(0,4)!=="none"||t.trim().length!==0){if(this.support.rangeBounds&&!a.parent.hasTransform()){var i=n.slice(0,e).join("").length;return this.getRangeBounds(a.node,i,t.length)}else if(a.node&&typeof a.node.data==="string"){var r=a.node.splitText(t.length);var o=this.getWrapperBounds(a.node,a.parent.hasTransform());a.node=r;return o}}else if(!this.support.rangeBounds||a.parent.hasTransform()){a.node=a.node.splitText(t.length)}return{}}};r.prototype.getWrapperBounds=function(t,e){var n=t.ownerDocument.createElement("html2canvaswrapper");var i=t.parentNode,r=t.cloneNode(true);n.appendChild(t.cloneNode(true));i.replaceChild(n,t);var o=e?_(n):a(n);i.replaceChild(r,n);return o};r.prototype.getRangeBounds=function(t,e,n){var i=this.range||(this.range=t.ownerDocument.createRange());i.setStart(t,e);i.setEnd(t,e+n);return i.getBoundingClientRect()};function m(){}r.prototype.parse=function(t){var e=t.contexts.filter(k);var n=t.children.filter(H);var i=n.filter(j(I));var r=i.filter(j(R)).filter(j(B));var o=n.filter(j(R)).filter(I);var a=i.filter(j(R)).filter(B);var s=t.contexts.concat(i.filter(R)).filter(T);var u=t.children.filter(U).filter(N);var h=t.contexts.filter(M);e.concat(r).concat(o).concat(a).concat(s).concat(u).concat(h).forEach(function(t){this.renderQueue.push(t);if(D(t)){this.parse(t);this.renderQueue.push(new m)}},this)};r.prototype.paint=function(t){try{if(t instanceof m){this.renderer.ctx.restore()}else if(U(t)){if(V(t.parent)){t.parent.appendToDOM()}this.paintText(t);if(V(t.parent)){t.parent.cleanDOM()}}else{this.paintNode(t)}}catch(t){s(t);if(this.options.strict){throw t}}};r.prototype.paintNode=function(t){if(D(t)){this.renderer.setOpacity(t.opacity);this.renderer.ctx.save();if(t.hasTransform()){this.renderer.setTransform(t.parseTransform())}}if(t.node.nodeName==="INPUT"&&t.node.type==="checkbox"){this.paintCheckbox(t)}else if(t.node.nodeName==="INPUT"&&t.node.type==="radio"){this.paintRadio(t)}else{this.paintElement(t)}};r.prototype.paintElement=function(n){var i=n.parseBounds();this.renderer.clip(n.backgroundClip,function(){this.renderer.renderBackground(n,i,n.borders.borders.map(G))},this);this.renderer.clip(n.clip,function(){this.renderer.renderBorders(n.borders.borders)},this);this.renderer.clip(n.backgroundClip,function(){switch(n.node.nodeName){case"svg":case"IFRAME":var t=this.images.get(n.node);if(t){this.renderer.renderImage(n,i,n.borders,t)}else{s("Error loading <"+n.node.nodeName+">",n.node)}break;case"IMG":var e=this.images.get(n.node.src);if(e){this.renderer.renderImage(n,i,n.borders,e)}else{s("Error loading ",n.node.src)}break;case"CANVAS":this.renderer.renderImage(n,i,n.borders,{image:n.node});break;case"SELECT":case"INPUT":case"TEXTAREA":this.paintFormValue(n);break}},this)};r.prototype.paintCheckbox=function(t){var e=t.parseBounds();var n=Math.min(e.width,e.height);var i={width:n-1,height:n-1,top:e.top,left:e.left};var r=[3,3];var o=[r,r,r,r];var a=[1,1,1,1].map(function(t){return{color:new d("#A5A5A5"),width:t}});var s=C(i,o,a);this.renderer.clip(t.backgroundClip,function(){this.renderer.rectangle(i.left+1,i.top+1,i.width-2,i.height-2,new d("#DEDEDE"));this.renderer.renderBorders(x(a,i,s,o));if(t.node.checked){this.renderer.font(new d("#424242"),"normal","normal","bold",n-3+"px","arial");this.renderer.text("✔",i.left+n/6,i.top+n-1)}},this)};r.prototype.paintRadio=function(t){var e=t.parseBounds();var n=Math.min(e.width,e.height)-2;this.renderer.clip(t.backgroundClip,function(){this.renderer.circleStroke(e.left+1,e.top+1,n,new d("#DEDEDE"),1,new d("#A5A5A5"));if(t.node.checked){this.renderer.circle(Math.ceil(e.left+n/4)+1,Math.ceil(e.top+n/4)+1,Math.floor(n/2),new d("#424242"))}},this)};r.prototype.paintFormValue=function(e){var t=e.getValue();if(t.length>0){var n=e.node.ownerDocument;var i=n.createElement("html2canvaswrapper");var r=["lineHeight","textAlign","fontFamily","fontWeight","fontSize","color","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","borderLeftStyle","borderTopStyle","borderLeftWidth","borderTopWidth","boxSizing","whiteSpace","wordWrap"];r.forEach(function(t){try{i.style[t]=e.css(t)}catch(t){s("html2canvas: Parse: Exception caught in renderFormValue: "+t.message)}});var o=e.parseBounds();i.style.position="fixed";i.style.left=o.left+"px";i.style.top=o.top+"px";i.textContent=t;n.body.appendChild(i);this.paintText(new l(i.firstChild,e));n.body.removeChild(i)}};r.prototype.paintText=function(n){n.applyTextTransform();var t=u.ucs2.decode(n.node.data);var i=(!this.options.letterRendering||P(n))&&!J(n.node.data)?Z(t):t.map(function(t){return u.ucs2.encode([t])});var e=n.parent.fontWeight();var r=n.parent.css("fontSize");var o=n.parent.css("fontFamily");var a=n.parent.parseTextShadows();this.renderer.font(n.parent.color("color"),n.parent.css("fontStyle"),n.parent.css("fontVariant"),e,r,o);if(a.length){this.renderer.fontShadow(a[0].color,a[0].offsetX,a[0].offsetY,a[0].blur)}else{this.renderer.clearShadow()}this.renderer.clip(n.parent.clip,function(){i.map(this.parseTextBounds(n),this).forEach(function(t,e){if(t){this.renderer.text(i[e],t.left,t.bottom);this.renderTextDecoration(n.parent,t,this.fontMetrics.getMetrics(o,r))}},this)},this)};r.prototype.renderTextDecoration=function(t,e,n){switch(t.css("textDecoration").split(" ")[0]){case"underline":this.renderer.rectangle(e.left,Math.round(e.top+n.baseline+n.lineWidth),e.width,1,t.color("color"));break;case"overline":this.renderer.rectangle(e.left,Math.round(e.top),e.width,1,t.color("color"));break;case"line-through":this.renderer.rectangle(e.left,Math.ceil(e.top+n.middle+n.lineWidth),e.width,1,t.color("color"));break}};var b={inset:[["darken",.6],["darken",.1],["darken",.1],["darken",.6]]};r.prototype.parseBorders=function(o){var t=o.parseBounds();var e=z(o);var n=["Top","Right","Bottom","Left"].map(function(t,e){var n=o.css("border"+t+"Style");var i=o.color("border"+t+"Color");if(n==="inset"&&i.isBlack()){i=new d([255,255,255,i.a])}var r=b[n]?b[n][e]:null;return{width:o.cssInt("border"+t+"Width"),color:r?i[r[0]](r[1]):i,args:null}});var i=C(t,e,n);return{clip:this.parseBackgroundClip(o,i,n,e,t),borders:x(n,t,i,e)}};function x(a,s,u,h){return a.map(function(t,e){if(t.width>0){var n=s.left;var i=s.top;var r=s.width;var o=s.height-a[2].width;switch(e){case 0:o=a[0].width;t.args=S({c1:[n,i],c2:[n+r,i],c3:[n+r-a[1].width,i+o],c4:[n+a[3].width,i+o]},h[0],h[1],u.topLeftOuter,u.topLeftInner,u.topRightOuter,u.topRightInner);break;case 1:n=s.left+s.width-a[1].width;r=a[1].width;t.args=S({c1:[n+r,i],c2:[n+r,i+o+a[2].width],c3:[n,i+o],c4:[n,i+a[0].width]},h[1],h[2],u.topRightOuter,u.topRightInner,u.bottomRightOuter,u.bottomRightInner);break;case 2:i=i+s.height-a[2].width;o=a[2].width;t.args=S({c1:[n+r,i+o],c2:[n,i+o],c3:[n+a[3].width,i],c4:[n+r-a[3].width,i]},h[2],h[3],u.bottomRightOuter,u.bottomRightInner,u.bottomLeftOuter,u.bottomLeftInner);break;case 3:r=a[3].width;t.args=S({c1:[n,i+o+a[2].width],c2:[n,i],c3:[n+r,i+a[0].width],c4:[n+r,i+o]},h[3],h[0],u.bottomLeftOuter,u.bottomLeftInner,u.topLeftOuter,u.topLeftInner);break}}return t})}r.prototype.parseBackgroundClip=function(t,e,n,i,r){var o=t.css("backgroundClip"),a=[];switch(o){case"content-box":case"padding-box":A(a,i[0],i[1],e.topLeftInner,e.topRightInner,r.left+n[3].width,r.top+n[0].width);A(a,i[1],i[2],e.topRightInner,e.bottomRightInner,r.left+r.width-n[1].width,r.top+n[0].width);A(a,i[2],i[3],e.bottomRightInner,e.bottomLeftInner,r.left+r.width-n[1].width,r.top+r.height-n[2].width);A(a,i[3],i[0],e.bottomLeftInner,e.topLeftInner,r.left+n[3].width,r.top+r.height-n[2].width);break;default:A(a,i[0],i[1],e.topLeftOuter,e.topRightOuter,r.left,r.top);A(a,i[1],i[2],e.topRightOuter,e.bottomRightOuter,r.left+r.width,r.top);A(a,i[2],i[3],e.bottomRightOuter,e.bottomLeftOuter,r.left+r.width,r.top+r.height);A(a,i[3],i[0],e.bottomLeftOuter,e.topLeftOuter,r.left,r.top+r.height);break}return a};function w(t,e,n,i){var r=4*((Math.sqrt(2)-1)/3);var o=n*r,a=i*r,s=t+n,u=e+i;return{topLeft:E({x:t,y:u},{x:t,y:u-a},{x:s-o,y:e},{x:s,y:e}),topRight:E({x:t,y:e},{x:t+o,y:e},{x:s,y:u-a},{x:s,y:u}),bottomRight:E({x:s,y:e},{x:s,y:e+a},{x:t+o,y:u},{x:t,y:u}),bottomLeft:E({x:s,y:u},{x:s-o,y:u},{x:t,y:e+a},{x:t,y:e})}}function C(t,e,n){var i=t.left,r=t.top,o=t.width,a=t.height,s=e[0][0]o+n[3].width?0:h-n[3].width,l-n[0].width).topRight.subdivide(.5),bottomRightOuter:w(i+_,r+v,f,c).bottomRight.subdivide(.5),bottomRightInner:w(i+Math.min(_,o-n[3].width),r+Math.min(v,a+n[0].width),Math.max(0,f-n[1].width),c-n[2].width).bottomRight.subdivide(.5),bottomLeftOuter:w(i,r+y,d,p).bottomLeft.subdivide(.5),bottomLeftInner:w(i+n[3].width,r+y,Math.max(0,d-n[3].width),p-n[2].width).bottomLeft.subdivide(.5)}}function E(s,u,h,l){var f=function(t,e,n){return{x:t.x+(e.x-t.x)*n,y:t.y+(e.y-t.y)*n}};return{start:s,startControl:u,endControl:h,end:l,subdivide:function(t){var e=f(s,u,t),n=f(u,h,t),i=f(h,l,t),r=f(e,n,t),o=f(n,i,t),a=f(r,o,t);return[E(s,e,r,a),E(a,o,i,l)]},curveTo:function(t){t.push(["bezierCurve",u.x,u.y,h.x,h.y,l.x,l.y])},curveToReversed:function(t){t.push(["bezierCurve",h.x,h.y,u.x,u.y,s.x,s.y])}}}function S(t,e,n,i,r,o,a){var s=[];if(e[0]>0||e[1]>0){s.push(["line",i[1].start.x,i[1].start.y]);i[1].curveTo(s)}else{s.push(["line",t.c1[0],t.c1[1]])}if(n[0]>0||n[1]>0){s.push(["line",o[0].start.x,o[0].start.y]);o[0].curveTo(s);s.push(["line",a[0].end.x,a[0].end.y]);a[0].curveToReversed(s)}else{s.push(["line",t.c2[0],t.c2[1]]);s.push(["line",t.c3[0],t.c3[1]])}if(e[0]>0||e[1]>0){s.push(["line",r[1].end.x,r[1].end.y]);r[1].curveToReversed(s)}else{s.push(["line",t.c4[0],t.c4[1]])}return s}function A(t,e,n,i,r,o,a){if(e[0]>0||e[1]>0){t.push(["line",i[0].start.x,i[0].start.y]);i[0].curveTo(t);i[1].curveTo(t)}else{t.push(["line",o,a])}if(n[0]>0||n[1]>0){t.push(["line",r[0].start.x,r[0].start.y])}}function k(t){return t.cssInt("zIndex")<0}function M(t){return t.cssInt("zIndex")>0}function T(t){return t.cssInt("zIndex")===0}function B(t){return["inline","inline-block","inline-table"].indexOf(t.css("display"))!==-1}function D(t){return t instanceof p}function N(t){return t.node.data.trim().length>0}function P(t){return/^(normal|none|0px)$/.test(t.parent.css("letterSpacing"))}function z(i){return["TopLeft","TopRight","BottomRight","BottomLeft"].map(function(t){var e=i.css("border"+t+"Radius");var n=e.split(" ");if(n.length<=1){n[1]=n[0]}return n.map(X)})}function O(t){return t.nodeType===Node.TEXT_NODE||t.nodeType===Node.ELEMENT_NODE}function F(t){var e=t.css("position");var n=["absolute","relative","fixed"].indexOf(e)!==-1?t.css("zIndex"):"auto";return n!=="auto"}function R(t){return t.css("position")!=="static"}function I(t){return t.css("float")!=="none"}function L(t){return["inline-block","inline-table"].indexOf(t.css("display"))!==-1}function j(t){var e=this;return function(){return!t.apply(e,arguments)}}function H(t){return t.node.nodeType===Node.ELEMENT_NODE}function V(t){return t.isPseudoElement===true}function U(t){return t.node.nodeType===Node.TEXT_NODE}function W(n){return function(t,e){return t.cssInt("zIndex")+n.indexOf(t)/n.length-(e.cssInt("zIndex")+n.indexOf(e)/n.length)}}function q(t){return t.getOpacity()<1}function X(t){return parseInt(t,10)}function G(t){return t.width}function Y(t){return t.node.nodeType!==Node.ELEMENT_NODE||["SCRIPT","HEAD","TITLE","OBJECT","BR","OPTION"].indexOf(t.node.nodeName)===-1}function $(t){return[].concat.apply([],t)}function Q(t){var e=t.substr(0,1);return e===t.substr(t.length-1)&&e.match(/'|"/)?t.substr(1,t.length-2):t}function Z(t){var e=[],n=0,i=false,r;while(t.length){if(K(t[n])===i){r=t.splice(0,n);if(r.length){e.push(u.ucs2.encode(r))}i=!i;n=0}else{n++}if(n>=t.length){r=t.splice(0,n);if(r.length){e.push(u.ucs2.encode(r))}}}return e}function K(t){return[32,13,10,9,45].indexOf(t)!==-1}function J(t){return/[^\u0000-\u00ff]/.test(t)}e.exports=r},{"./color":3,"./fontmetrics":7,"./log":13,"./nodecontainer":14,"./pseudoelementcontainer":18,"./stackingcontext":21,"./textcontainer":25,"./utils":26,punycode:1}],16:[function(t,e,n){var a=t("./xhr");var i=t("./utils");var s=t("./log");var u=t("./clone");var h=i.decode64;function l(t,e,n){var i="withCredentials"in new XMLHttpRequest;if(!e){return Promise.reject("No proxy configured")}var r=c(i);var o=d(e,t,r);return i?a(o):f(n,o,r).then(function(t){return h(t.content)})}var r=0;function o(t,e,n){var i="crossOrigin"in new Image;var r=c(i);var o=d(e,t,r);return i?Promise.resolve(o):f(n,o,r).then(function(t){return"data:"+t.type+";base64,"+t.content})}function f(r,o,a){return new Promise(function(e,n){var t=r.createElement("script");var i=function(){delete window.html2canvas.proxy[a];r.body.removeChild(t)};window.html2canvas.proxy[a]=function(t){i();e(t)};t.src=o;t.onerror=function(t){i();n(t)};r.body.appendChild(t)})}function c(t){return!t?"html2canvas_"+Date.now()+"_"+ ++r+"_"+Math.round(Math.random()*1e5):""}function d(t,e,n){return t+"?url="+encodeURIComponent(e)+(n.length?"&callback=html2canvas.proxy."+n:"")}function p(o){return function(e){var t=new DOMParser,n;try{n=t.parseFromString(e,"text/html")}catch(t){s("DOMParser not supported, falling back to createHTMLDocument");n=document.implementation.createHTMLDocument("");try{n.open();n.write(e);n.close()}catch(t){s("createHTMLDocument write not supported, falling back to document.body.innerHTML");n.body.innerHTML=e}}var i=n.querySelector("base");if(!i||!i.href.host){var r=n.createElement("base");r.href=o;n.head.insertBefore(r,n.head.firstChild)}return n}}function g(t,e,n,i,r,o){return new l(t,e,window.document).then(p(t)).then(function(t){return u(t,n,i,r,o,0,0)})}n.Proxy=l;n.ProxyURL=o;n.loadUrlDocument=g},{"./clone":2,"./log":13,"./utils":26,"./xhr":28}],17:[function(t,e,n){var o=t("./proxy").ProxyURL;function i(n,i){var t=document.createElement("a");t.href=n;n=t.href;this.src=n;this.image=new Image;var r=this;this.promise=new Promise(function(t,e){r.image.crossOrigin="Anonymous";r.image.onload=t;r.image.onerror=e;new o(n,i,document).then(function(t){r.image.src=t})["catch"](e)})}e.exports=i},{"./proxy":16}],18:[function(t,e,n){var i=t("./nodecontainer");function r(t,e,n){i.call(this,t,e);this.isPseudoElement=true;this.before=n===":before"}r.prototype.cloneTo=function(t){r.prototype.cloneTo.call(this,t);t.isPseudoElement=true;t.before=this.before};r.prototype=Object.create(i.prototype);r.prototype.appendToDOM=function(){if(this.before){this.parent.node.insertBefore(this.node,this.parent.node.firstChild)}else{this.parent.node.appendChild(this.node)}this.parent.node.className+=" "+this.getHideClass()};r.prototype.cleanDOM=function(){this.node.parentNode.removeChild(this.node);this.parent.node.className=this.parent.node.className.replace(this.getHideClass(),"")};r.prototype.getHideClass=function(){return this["PSEUDO_HIDE_ELEMENT_CLASS_"+(this.before?"BEFORE":"AFTER")]};r.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE="___html2canvas___pseudoelement_before";r.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER="___html2canvas___pseudoelement_after";e.exports=r},{"./nodecontainer":14}],19:[function(t,e,n){var u=t("./log");function i(t,e,n,i,r){this.width=t;this.height=e;this.images=n;this.options=i;this.document=r}i.prototype.renderImage=function(t,e,n,i){var r=t.cssInt("paddingLeft"),o=t.cssInt("paddingTop"),a=t.cssInt("paddingRight"),s=t.cssInt("paddingBottom"),u=n.borders;var h=e.width-(u[1].width+u[3].width+r+a);var l=e.height-(u[0].width+u[2].width+o+s);this.drawImage(i,0,0,i.image.width||h,i.image.height||l,e.left+r+u[3].width,e.top+o+u[0].width,h,l)};i.prototype.renderBackground=function(t,e,n){if(e.height>0&&e.width>0){this.renderBackgroundColor(t,e);this.renderBackgroundImage(t,e,n)}};i.prototype.renderBackgroundColor=function(t,e){var n=t.color("backgroundColor");if(!n.isTransparent()){this.rectangle(e.left,e.top,e.width,e.height,n)}};i.prototype.renderBorders=function(t){t.forEach(this.renderBorder,this)};i.prototype.renderBorder=function(t){if(!t.color.isTransparent()&&t.args!==null){this.drawShape(t.args,t.color)}};i.prototype.renderBackgroundImage=function(o,a,s){var t=o.parseBackgroundImages();t.reverse().forEach(function(t,e,n){switch(t.method){case"url":var i=this.images.get(t.args[0]);if(i){this.renderBackgroundRepeating(o,a,i,n.length-(e+1),s)}else{u("Error loading background-image",t.args[0])}break;case"linear-gradient":case"gradient":var r=this.images.get(t.value);if(r){this.renderBackgroundGradient(r,a,s)}else{u("Error loading background-image",t.args[0])}break;case"none":break;default:u("Unknown background-image type",t.args[0])}},this)};i.prototype.renderBackgroundRepeating=function(t,e,n,i,r){var o=t.parseBackgroundSize(e,n.image,i);var a=t.parseBackgroundPosition(e,n.image,i,o);var s=t.parseBackgroundRepeat(i);switch(s){case"repeat-x":case"repeat no-repeat":this.backgroundRepeatShape(n,a,o,e,e.left+r[3],e.top+a.top+r[0],99999,o.height,r);break;case"repeat-y":case"no-repeat repeat":this.backgroundRepeatShape(n,a,o,e,e.left+a.left+r[3],e.top+r[0],o.width,99999,r);break;case"no-repeat":this.backgroundRepeatShape(n,a,o,e,e.left+a.left+r[3],e.top+a.top+r[0],o.width,o.height,r);break;default:this.renderBackgroundRepeat(n,a,o,{top:e.top,left:e.left},r[3],r[0]);break}};e.exports=i},{"./log":13}],20:[function(t,e,n){var i=t("../renderer");var r=t("../lineargradientcontainer");var o=t("../log");function a(t,e){i.apply(this,arguments);this.canvas=this.options.canvas||this.document.createElement("canvas");if(!this.options.canvas){this.canvas.width=t;this.canvas.height=e}this.ctx=this.canvas.getContext("2d");this.taintCtx=this.document.createElement("canvas").getContext("2d");this.ctx.textBaseline="bottom";this.variables={};o("Initialized CanvasRenderer with size",t,"x",e)}a.prototype=Object.create(i.prototype);a.prototype.setFillStyle=function(t){this.ctx.fillStyle=typeof t==="object"&&!!t.isColor?t.toString():t;return this.ctx};a.prototype.rectangle=function(t,e,n,i,r){this.setFillStyle(r).fillRect(t,e,n,i)};a.prototype.circle=function(t,e,n,i){this.setFillStyle(i);this.ctx.beginPath();this.ctx.arc(t+n/2,e+n/2,n/2,0,Math.PI*2,true);this.ctx.closePath();this.ctx.fill()};a.prototype.circleStroke=function(t,e,n,i,r,o){this.circle(t,e,n,i);this.ctx.strokeStyle=o.toString();this.ctx.stroke()};a.prototype.drawShape=function(t,e){this.shape(t);this.setFillStyle(e).fill()};a.prototype.taints=function(e){if(e.tainted===null){this.taintCtx.drawImage(e.image,0,0);try{this.taintCtx.getImageData(0,0,1,1);e.tainted=false}catch(t){this.taintCtx=document.createElement("canvas").getContext("2d");e.tainted=true}}return e.tainted};a.prototype.drawImage=function(t,e,n,i,r,o,a,s,u){if(!this.taints(t)||this.options.allowTaint){this.ctx.drawImage(t.image,e,n,i,r,o,a,s,u)}};a.prototype.clip=function(t,e,n){this.ctx.save();t.filter(s).forEach(function(t){this.shape(t).clip()},this);e.call(n);this.ctx.restore()};a.prototype.shape=function(t){this.ctx.beginPath();t.forEach(function(t,e){if(t[0]==="rect"){this.ctx.rect.apply(this.ctx,t.slice(1))}else{this.ctx[e===0?"moveTo":t[0]+"To"].apply(this.ctx,t.slice(1))}},this);this.ctx.closePath();return this.ctx};a.prototype.font=function(t,e,n,i,r,o){this.setFillStyle(t).font=[e,n,i,r,o].join(" ").split(",")[0]};a.prototype.fontShadow=function(t,e,n,i){this.setVariable("shadowColor",t.toString()).setVariable("shadowOffsetY",e).setVariable("shadowOffsetX",n).setVariable("shadowBlur",i)};a.prototype.clearShadow=function(){this.setVariable("shadowColor","rgba(0,0,0,0)")};a.prototype.setOpacity=function(t){this.ctx.globalAlpha=t};a.prototype.setTransform=function(t){this.ctx.translate(t.origin[0],t.origin[1]);this.ctx.transform.apply(this.ctx,t.matrix);this.ctx.translate(-t.origin[0],-t.origin[1])};a.prototype.setVariable=function(t,e){if(this.variables[t]!==e){this.variables[t]=this.ctx[t]=e}return this};a.prototype.text=function(t,e,n){this.ctx.fillText(t,e,n)};a.prototype.backgroundRepeatShape=function(t,e,n,i,r,o,a,s,u){var h=[["line",Math.round(r),Math.round(o)],["line",Math.round(r+a),Math.round(o)],["line",Math.round(r+a),Math.round(s+o)],["line",Math.round(r),Math.round(s+o)]];this.clip([h],function(){this.renderBackgroundRepeat(t,e,n,i,u[3],u[0])},this)};a.prototype.renderBackgroundRepeat=function(t,e,n,i,r,o){var a=Math.round(i.left+e.left+r),s=Math.round(i.top+e.top+o);this.setFillStyle(this.ctx.createPattern(this.resizeImage(t,n),"repeat"));this.ctx.translate(a,s);this.ctx.fill();this.ctx.translate(-a,-s)};a.prototype.renderBackgroundGradient=function(t,e){if(t instanceof r){var n=this.ctx.createLinearGradient(e.left+e.width*t.x0,e.top+e.height*t.y0,e.left+e.width*t.x1,e.top+e.height*t.y1);t.colorStops.forEach(function(t){n.addColorStop(t.stop,t.color.toString())});this.rectangle(e.left,e.top,e.width,e.height,n)}};a.prototype.resizeImage=function(t,e){var n=t.image;if(n.width===e.width&&n.height===e.height){return n}var i,r=document.createElement("canvas");r.width=e.width;r.height=e.height;i=r.getContext("2d");i.drawImage(n,0,0,n.width,n.height,0,0,e.width,e.height);return r};function s(t){return t.length>0}e.exports=a},{"../lineargradientcontainer":12,"../log":13,"../renderer":19}],21:[function(t,e,n){var r=t("./nodecontainer");function i(t,e,n,i){r.call(this,n,i);this.ownStacking=t;this.contexts=[];this.children=[];this.opacity=(this.parent?this.parent.stack.opacity:1)*e}i.prototype=Object.create(r.prototype);i.prototype.getParentStack=function(t){var e=this.parent?this.parent.stack:null;return e?e.ownStacking?e:e.getParentStack(t):t.stack};e.exports=i},{"./nodecontainer":14}],22:[function(t,e,n){function i(t){this.rangeBounds=this.testRangeBounds(t);this.cors=this.testCORS();this.svg=this.testSVG()}i.prototype.testRangeBounds=function(t){var e,n,i,r,o=false;if(t.createRange){e=t.createRange();if(e.getBoundingClientRect){n=t.createElement("boundtest");n.style.height="123px";n.style.display="block";t.body.appendChild(n);e.selectNode(n);i=e.getBoundingClientRect();r=i.height;if(r===123){o=true}t.body.removeChild(n)}}return o};i.prototype.testCORS=function(){return typeof(new Image).crossOrigin!=="undefined"};i.prototype.testSVG=function(){var t=new Image;var e=document.createElement("canvas");var n=e.getContext("2d");t.src="data:image/svg+xml,";try{n.drawImage(t,0,0);e.toDataURL()}catch(t){return false}return true};e.exports=i},{}],23:[function(t,e,n){var i=t("./xhr");var r=t("./utils").decode64;function o(t){this.src=t;this.image=null;var n=this;this.promise=this.hasFabric().then(function(){return n.isInline(t)?Promise.resolve(n.inlineFormatting(t)):i(t)}).then(function(e){return new Promise(function(t){window.html2canvas.svg.fabric.loadSVGFromString(e,n.createCanvas.call(n,t))})})}o.prototype.hasFabric=function(){return!window.html2canvas.svg||!window.html2canvas.svg.fabric?Promise.reject(new Error("html2canvas.svg.js is not loaded, cannot render svg")):Promise.resolve()};o.prototype.inlineFormatting=function(t){return/^data:image\/svg\+xml;base64,/.test(t)?this.decode64(this.removeContentType(t)):this.removeContentType(t)};o.prototype.removeContentType=function(t){return t.replace(/^data:image\/svg\+xml(;base64)?,/,"")};o.prototype.isInline=function(t){return/^data:image\/svg\+xml/i.test(t)};o.prototype.createCanvas=function(i){var r=this;return function(t,e){var n=new window.html2canvas.svg.fabric.StaticCanvas("c");r.image=n.lowerCanvasEl;n.setWidth(e.width).setHeight(e.height).add(window.html2canvas.svg.fabric.util.groupSVGElements(t,e)).renderAll();i(n.lowerCanvasEl)}};o.prototype.decode64=function(t){return typeof window.atob==="function"?window.atob(t):r(t)};e.exports=o},{"./utils":26,"./xhr":28}],24:[function(t,e,n){var i=t("./svgcontainer");function r(n,t){this.src=n;this.image=null;var i=this;this.promise=t?new Promise(function(t,e){i.image=new Image;i.image.onload=t;i.image.onerror=e;i.image.src="data:image/svg+xml,"+(new XMLSerializer).serializeToString(n);if(i.image.complete===true){t(i.image)}}):this.hasFabric().then(function(){return new Promise(function(t){window.html2canvas.svg.fabric.parseSVGDocument(n,i.createCanvas.call(i,t))})})}r.prototype=Object.create(i.prototype);e.exports=r},{"./svgcontainer":23}],25:[function(t,e,n){var i=t("./nodecontainer");function r(t,e){i.call(this,t,e)}r.prototype=Object.create(i.prototype);r.prototype.applyTextTransform=function(){this.node.data=this.transform(this.parent.css("textTransform"))};r.prototype.transform=function(t){var e=this.node.data;switch(t){case"lowercase":return e.toLowerCase();case"capitalize":return e.replace(/(^|\s|:|-|\(|\))([a-z])/g,o);case"uppercase":return e.toUpperCase();default:return e}};function o(t,e,n){if(t.length>0){return e+n.toUpperCase()}}e.exports=r},{"./nodecontainer":14}],26:[function(t,e,n){n.smallImage=function t(){return"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"};n.bind=function(t,e){return function(){return t.apply(e,arguments)}};n.decode64=function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var n=t.length,i,r,o,a,s,u,h,l;var f="";for(i=0;i>4;h=(o&15)<<4|a>>2;l=(a&3)<<6|s;if(a===64){f+=String.fromCharCode(u)}else if(s===64||s===-1){f+=String.fromCharCode(u,h)}else{f+=String.fromCharCode(u,h,l)}}return f};n.getBounds=function(t){if(t.getBoundingClientRect){var e=t.getBoundingClientRect();var n=t.offsetWidth==null?e.width:t.offsetWidth;return{top:e.top,bottom:e.bottom||e.top+e.height,right:e.left+n,left:e.left,width:n,height:t.offsetHeight==null?e.height:t.offsetHeight}}return{}};n.offsetBounds=function(t){var e=t.offsetParent?n.offsetBounds(t.offsetParent):{top:0,left:0};return{top:t.offsetTop+e.top,bottom:t.offsetTop+t.offsetHeight+e.top,right:t.offsetLeft+e.left+t.offsetWidth,left:t.offsetLeft+e.left,width:t.offsetWidth,height:t.offsetHeight}};n.parseBackgrounds=function(t){var e=" \r\n\t",n,i,r,o,a,s=[],u=0,h=0,l,f;var c=function(){if(n){if(i.substr(0,1)==='"'){i=i.substr(1,i.length-2)}if(i){f.push(i)}if(n.substr(0,1)==="-"&&(o=n.indexOf("-",1)+1)>0){r=n.substr(0,o);n=n.substr(o)}s.push({prefix:r,method:n.toLowerCase(),value:a,args:f,image:null})}f=[];n=r=i=a=""};f=[];n=r=i=a="";t.split("").forEach(function(t){if(u===0&&e.indexOf(t)>-1){return}switch(t){case'"':if(!l){l=t}else if(l===t){l=null}break;case"(":if(l){break}else if(u===0){u=1;a+=t;return}else{h++}break;case")":if(l){break}else if(u===1){if(h===0){u=0;a+=t;c();return}else{h--}}break;case",":if(l){break}else if(u===0){c();return}else if(u===1){if(h===0&&!n.match(/^url$/i)){f.push(i);i="";a+=t;return}}break}a+=t;if(u===0){n+=t}else{i+=t}});c();return s}},{}],27:[function(t,e,n){var i=t("./gradientcontainer");function r(t){i.apply(this,arguments);this.type=t.args[0]==="linear"?i.TYPES.LINEAR:i.TYPES.RADIAL}r.prototype=Object.create(i.prototype);e.exports=r},{"./gradientcontainer":9}],28:[function(t,e,n){function i(i){return new Promise(function(t,e){var n=new XMLHttpRequest;n.open("GET",i);n.onload=function(){if(n.status===200){t(n.responseText)}else{e(new Error(n.statusText))}};n.onerror=function(){e(new Error("Network Error"))};n.send()})}e.exports=i},{}]},{},[4])(4)})});var Kx=function(t){var e=this;this.ok=false;this.alpha=1;if(t.charAt(0)=="#"){t=t.substr(1,6)}t=t.replace(/ /g,"");t=t.toLowerCase();var l={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};t=l[t]||t;var f=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3]),parseFloat(t[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}];for(var n=0;n3){e.alpha=a[3]}e.ok=true}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r;this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g;this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b;this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha;this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"};this.toHex=function(){var t=this.r.toString(16);var e=this.g.toString(16);var n=this.b.toString(16);if(t.length==1){t="0"+t}if(e.length==1){e="0"+e}if(n.length==1){n="0"+n}return"#"+t+e+n};this.getHelpXML=function(){var t=new Array;for(var e=0;e "+s.toRGB()+" -> "+s.toHex());a.appendChild(u);a.appendChild(h);o.appendChild(a)}catch(t){}}return o}};var Jx=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259];var tw=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function ew(t,e,n,i){if(isNaN(i)||i<1){return}i|=0;var r,o,a,s,u,h,l,f,c,d,p,g,v,_,y,m,b,x,w,C,E,S,A,k;var M=i+i+1;var T=e-1;var B=n-1;var D=i+1;var N=D*(D+1)/2;var P=new nw;var z=P;for(a=1;a>L;if(A!=0){A=255/A;t[h]=(f*I>>L)*A;t[h+1]=(c*I>>L)*A;t[h+2]=(d*I>>L)*A}else{t[h]=t[h+1]=t[h+2]=0}f-=g;c-=v;d-=_;p-=y;g-=F.r;v-=F.g;_-=F.b;y-=F.a;s=l+((s=r+i+1)>L;if(A>0){A=255/A;t[s]=(f*I>>L)*A;t[s+1]=(c*I>>L)*A;t[s+2]=(d*I>>L)*A}else{t[s]=t[s+1]=t[s+2]=0}f-=g;c-=v;d-=_;p-=y;g-=F.r;v-=F.g;_-=F.b;y-=F.a;s=r+((s=o+D)65535){t-=65536;var e=55296+(t>>10),n=56320+(t&1023);return String.fromCharCode(e,n)}else{return String.fromCharCode(t)}}function s(t){var e=t.slice(1,-1);if(e in i){return i[e]}else if(e.charAt(0)==="#"){return a(parseInt(e.substr(1).replace("x","0x")))}else{o.error("entity not found:"+t);return t}}function e(t){if(t>g){var e=n.substring(g,t).replace(/&#?\w+;/g,s);c&&u(g);r.characters(e,0,t-g);g=t}}function u(t,e){while(t>=l&&(e=f.exec(n))){h=e.index;l=h+e[0].length;c.lineNumber++}c.columnNumber=t-h+1}var h=0;var l=0;var f=/.*(?:\r\n?|\n)|.*$/g;var c=r.locator;var d=[{currentNSMap:t}];var p={};var g=0;while(true){try{var v=n.indexOf("<",g);if(v<0){if(!n.substr(g).match(/^\s*$/)){var _=r.doc;var y=_.createTextNode(n.substr(g));_.appendChild(y);r.currentElement=y}return}if(v>g){e(v)}switch(n.charAt(v+1)){case"/":var m=n.indexOf(">",v+3);var b=n.substring(v+2,m);var x=d.pop();if(m<0){b=n.substring(v+2).replace(/[\s<].*/,"");o.error("end tag name: "+b+" is not complete:"+x.tagName);m=v+1+b.length}else if(b.match(/\sg){g=m}else{e(Math.max(v,g)+1)}}}function _w(t,e){e.lineNumber=t.lineNumber;e.columnNumber=t.columnNumber;return e}function yw(t,e,n,i,r,o){var a;var s;var u=++e;var h=sw;while(true){var l=t.charAt(u);switch(l){case"=":if(h===uw){a=t.slice(e,u);h=lw}else if(h===hw){h=lw}else{throw new Error("attribute equal must after attrName")}break;case"'":case'"':if(h===lw||h===uw){if(h===uw){o.warning('attribute value must after "="');a=t.slice(e,u)}e=u+1;u=t.indexOf(l,e);if(u>0){s=t.slice(e,u).replace(/&#?\w+;/g,r);n.add(a,s,e-1);h=cw}else{throw new Error("attribute value no end '"+l+"' match")}}else if(h==fw){s=t.slice(e,u).replace(/&#?\w+;/g,r);n.add(a,s,e);o.warning('attribute "'+a+'" missed start quot('+l+")!!");e=u+1;h=cw}else{throw new Error('attribute value must after "="')}break;case"/":switch(h){case sw:n.setTagName(t.slice(e,u));case cw:case dw:case pw:h=pw;n.closed=true;case fw:case uw:case hw:break;default:throw new Error("attribute invalid close char('/')")}break;case"":o.error("unexpected end of input");if(h==sw){n.setTagName(t.slice(e,u))}return u;case">":switch(h){case sw:n.setTagName(t.slice(e,u));case cw:case dw:case pw:break;case fw:case uw:s=t.slice(e,u);if(s.slice(-1)==="/"){n.closed=true;s=s.slice(0,-1)}case hw:if(h===hw){s=a}if(h==fw){o.warning('attribute "'+s+'" missed quot(")!!');n.add(a,s.replace(/&#?\w+;/g,r),e)}else{if(i[""]!=="http://www.w3.org/1999/xhtml"||!s.match(/^(?:disabled|checked|selected)$/i)){o.warning('attribute "'+s+'" missed value!! "'+s+'" instead!!')}n.add(s,s,e)}break;case lw:throw new Error("attribute value missed!!")}return u;case"€":l=" ";default:if(l<=" "){switch(h){case sw:n.setTagName(t.slice(e,u));h=dw;break;case uw:a=t.slice(e,u);h=hw;break;case fw:var s=t.slice(e,u).replace(/&#?\w+;/g,r);o.warning('attribute "'+s+'" missed quot(")!!');n.add(a,s,e);case cw:h=dw;break}}else{switch(h){case hw:if(i[""]!=="http://www.w3.org/1999/xhtml"||!a.match(/^(?:disabled|checked|selected)$/i)){o.warning('attribute "'+a+'" missed value!! "'+a+'" instead2!!')}n.add(a,a,e);e=u;h=uw;break;case cw:o.warning('attribute space is required"'+a+'"!!');case dw:h=uw;e=u;break;case lw:h=fw;e=u;break;case pw:throw new Error("elements closed character '/' and '>' must be connected to")}}}u++}}function mw(t,e,n){var i=t.tagName;var r=null;var o=t.length;while(o--){var a=t[o];var s=a.qName;var u=a.value;var h=s.indexOf(":");if(h>0){var l=a.prefix=s.slice(0,h);var f=s.slice(h+1);var c=l==="xmlns"&&f}else{f=s;l=null;c=s==="xmlns"&&""}a.localName=f;if(c!==false){if(r==null){r={};ww(n,n={})}n[c]=r[c]=u;a.uri="http://www.w3.org/2000/xmlns/";e.startPrefixMapping(c,u)}}var o=t.length;while(o--){a=t[o];var l=a.prefix;if(l){if(l==="xml"){a.uri="http://www.w3.org/XML/1998/namespace"}if(l!=="xmlns"){a.uri=n[l||""]}}}var h=i.indexOf(":");if(h>0){l=t.prefix=i.slice(0,h);f=t.localName=i.slice(h+1)}else{l=null;f=t.localName=i}var d=t.uri=n[l||""];e.startElement(d,f,i,t);if(t.closed){e.endElement(d,f,i);if(r){for(l in r){e.endPrefixMapping(l)}}}else{t.currentNSMap=n;t.localNSMap=r;return true}}function bw(t,e,n,i,r){if(/^(?:script|textarea)$/i.test(n)){var o=t.indexOf("",e);var a=t.substring(e+1,o);if(/[&<]/.test(a)){if(/^script$/i.test(n)){r.characters(a,0,a.length);return o}a=a.replace(/&#?\w+;/g,i);r.characters(a,0,a.length);return o}}return e+1}function xw(t,e,n,i){var r=i[n];if(r==null){r=t.lastIndexOf("");if(re){n.comment(t,e+4,o-e-4);return o+3}else{i.error("Unclosed comment");return-1}}else{return-1}default:if(t.substr(e+3,6)=="CDATA["){var o=t.indexOf("]]>",e+9);n.startCDATA();n.characters(t,e+9,o-e-9);n.endCDATA();return o+3}var a=kw(t,e);var s=a.length;if(s>1&&/!doctype/i.test(a[0][0])){var u=a[1][0];var h=s>3&&/^public$/i.test(a[2][0])&&a[3][0];var l=s>4&&a[4][0];var f=a[s-1];n.startDTD(u,h&&h.replace(/^(['"])(.*?)\1$/,"$2"),l&&l.replace(/^(['"])(.*?)\1$/,"$2"));n.endDTD();return f.index+f[0].length}}return-1}function Ew(t,e,n){var i=t.indexOf("?>",e);if(i){var r=t.substring(e,i).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(r){n.processingInstruction(r[1],r[2]);return i+2}else{return-1}}return-1}function Sw(t){}Sw.prototype={setTagName:function(t){if(!aw.test(t)){throw new Error("invalid tagName:"+t)}this.tagName=t},add:function(t,e,n){if(!aw.test(t)){throw new Error("invalid attribute:"+t)}this[this.length++]={qName:t,value:e,offset:n}},length:0,getLocalName:function(t){return this[t].localName},getLocator:function(t){return this[t].locator},getQName:function(t){return this[t].qName},getURI:function(t){return this[t].uri},getValue:function(t){return this[t].value}};function Aw(t,e){t.__proto__=e;return t}if(!(Aw({},Aw.prototype)instanceof Aw)){Aw=function(t,e){function n(){}n.prototype=e;n=new n;for(e in t){n[e]=t[e]}return n}}function kw(t,e){var n;var i=[];var r=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;r.lastIndex=e;r.exec(t);while(n=r.exec(t)){i.push(n);if(n[1]){return i}}}var Mw=gw;var Tw={XMLReader:Mw};function Bw(t,e){for(var n in t){e[n]=t[n]}}function Dw(t,e){var n=t.prototype;if(Object.create){var i=Object.create(e.prototype);n.__proto__=i}if(!(n instanceof e)){var r=function(){};r.prototype=e.prototype;r=new r;Bw(n,r);t.prototype=n=r}if(n.constructor!=t){if(typeof t!="function"){console.error("unknow Class:"+t)}n.constructor=t}}var Nw="http://www.w3.org/1999/xhtml";var Pw={};var zw=Pw.ELEMENT_NODE=1;var Ow=Pw.ATTRIBUTE_NODE=2;var Fw=Pw.TEXT_NODE=3;var Rw=Pw.CDATA_SECTION_NODE=4;var Iw=Pw.ENTITY_REFERENCE_NODE=5;var Lw=Pw.ENTITY_NODE=6;var jw=Pw.PROCESSING_INSTRUCTION_NODE=7;var Hw=Pw.COMMENT_NODE=8;var Vw=Pw.DOCUMENT_NODE=9;var Uw=Pw.DOCUMENT_TYPE_NODE=10;var Ww=Pw.DOCUMENT_FRAGMENT_NODE=11;var qw=Pw.NOTATION_NODE=12;var Xw={};var Gw={};var Yw=Xw.INDEX_SIZE_ERR=(Gw[1]="Index size error",1);var $w=Xw.DOMSTRING_SIZE_ERR=(Gw[2]="DOMString size error",2);var Qw=Xw.HIERARCHY_REQUEST_ERR=(Gw[3]="Hierarchy request error",3);var Zw=Xw.WRONG_DOCUMENT_ERR=(Gw[4]="Wrong document",4);var Kw=Xw.INVALID_CHARACTER_ERR=(Gw[5]="Invalid character",5);var Jw=Xw.NO_DATA_ALLOWED_ERR=(Gw[6]="No data allowed",6);var tC=Xw.NO_MODIFICATION_ALLOWED_ERR=(Gw[7]="No modification allowed",7);var eC=Xw.NOT_FOUND_ERR=(Gw[8]="Not found",8);var nC=Xw.NOT_SUPPORTED_ERR=(Gw[9]="Not supported",9);var iC=Xw.INUSE_ATTRIBUTE_ERR=(Gw[10]="Attribute in use",10);var rC=Xw.INVALID_STATE_ERR=(Gw[11]="Invalid state",11);var oC=Xw.SYNTAX_ERR=(Gw[12]="Syntax error",12);var aC=Xw.INVALID_MODIFICATION_ERR=(Gw[13]="Invalid modification",13);var sC=Xw.NAMESPACE_ERR=(Gw[14]="Invalid namespace",14);var uC=Xw.INVALID_ACCESS_ERR=(Gw[15]="Invalid access",15);function hC(t,e){if(e instanceof Error){var n=e}else{n=this;Error.call(this,Gw[t]);this.message=Gw[t];if(Error.captureStackTrace){Error.captureStackTrace(this,hC)}}n.code=t;if(e){this.message=this.message+": "+e}return n}hC.prototype=Error.prototype;Bw(Xw,hC);function lC(){}lC.prototype={length:0,item:function(t){return this[t]||null},toString:function(t,e){var n=this;for(var i=[],r=0;r=0){var r=e.length-1;while(i0},lookupPrefix:function(t){var e=this;while(e){var n=e._nsMap;if(n){for(var i in n){if(n[i]==t){return i}}}e=e.nodeType==Ow?e.ownerDocument:e.parentNode}return null},lookupNamespaceURI:function(t){var e=this;while(e){var n=e._nsMap;if(n){if(t in n){return n[t]}}e=e.nodeType==Ow?e.ownerDocument:e.parentNode}return null},isDefaultNamespace:function(t){var e=this.lookupPrefix(t);return e==null}};function mC(t){return t=="<"&&"<"||t==">"&&">"||t=="&"&&"&"||t=='"'&&"""||"&#"+t.charCodeAt()+";"}Bw(Pw,yC);Bw(Pw,yC.prototype);function bC(t,e){if(e(t)){return true}if(t=t.firstChild){do{if(bC(t,e)){return true}}while(t=t.nextSibling)}}function xC(){}function wC(t,e,n){t&&t._inc++;var i=n.namespaceURI;if(i=="http://www.w3.org/2000/xmlns/"){e._nsMap[n.prefix?n.localName:""]=n.value}}function CC(t,e,n,i){t&&t._inc++;var r=n.namespaceURI;if(r=="http://www.w3.org/2000/xmlns/"){delete e._nsMap[n.prefix?n.localName:""]}}function EC(t,e,n){if(t&&t._inc){t._inc++;var i=e.childNodes;if(n){i[i.length++]=n}else{var r=e.firstChild;var o=0;while(r){i[o++]=r;r=r.nextSibling}i.length=o}}}function SC(t,e){var n=e.previousSibling;var i=e.nextSibling;if(n){n.nextSibling=i}else{t.firstChild=i}if(i){i.previousSibling=n}else{t.lastChild=n}EC(t.ownerDocument,t);return e}function AC(t,e,n){var i=e.parentNode;if(i){i.removeChild(e)}if(e.nodeType===Ww){var r=e.firstChild;if(r==null){return e}var o=e.lastChild}else{r=o=e}var a=n?n.previousSibling:t.lastChild;r.previousSibling=a;o.nextSibling=n;if(a){a.nextSibling=r}else{t.firstChild=r}if(n==null){t.lastChild=o}else{n.previousSibling=o}do{r.parentNode=t}while(r!==o&&(r=r.nextSibling));EC(t.ownerDocument||t,t);if(e.nodeType==Ww){e.firstChild=e.lastChild=null}return e}function kC(t,e){var n=e.parentNode;if(n){var i=t.lastChild;n.removeChild(e);var i=t.lastChild}var i=t.lastChild;e.parentNode=t;e.previousSibling=i;e.nextSibling=null;if(i){i.nextSibling=e}else{t.firstChild=e}t.lastChild=e;EC(t.ownerDocument,t,e);return e}xC.prototype={nodeName:"#document",nodeType:Vw,doctype:null,documentElement:null,_inc:1,insertBefore:function(t,e){var n=this;if(t.nodeType==Ww){var i=t.firstChild;while(i){var r=i.nextSibling;n.insertBefore(i,e);i=r}return t}if(this.documentElement==null&&t.nodeType==zw){this.documentElement=t}return AC(this,t,e),t.ownerDocument=this,t},removeChild:function(t){if(this.documentElement==t){this.documentElement=null}return SC(this,t)},importNode:function(t,e){return WC(this,t,e)},getElementById:function(e){var n=null;bC(this.documentElement,function(t){if(t.nodeType==zw){if(t.getAttribute("id")==e){n=t;return true}}});return n},createElement:function(t){var e=new MC;e.ownerDocument=this;e.nodeName=t;e.tagName=t;e.childNodes=new lC;var n=e.attributes=new dC;n._ownerElement=e;return e},createDocumentFragment:function(){var t=new IC;t.ownerDocument=this;t.childNodes=new lC;return t},createTextNode:function(t){var e=new DC;e.ownerDocument=this;e.appendData(t);return e},createComment:function(t){var e=new NC;e.ownerDocument=this;e.appendData(t);return e},createCDATASection:function(t){var e=new PC;e.ownerDocument=this;e.appendData(t);return e},createProcessingInstruction:function(t,e){var n=new LC;n.ownerDocument=this;n.tagName=n.target=t;n.nodeValue=n.data=e;return n},createAttribute:function(t){var e=new TC;e.ownerDocument=this;e.name=t;e.nodeName=t;e.localName=t;e.specified=true;return e},createEntityReference:function(t){var e=new RC;e.ownerDocument=this;e.nodeName=t;return e},createElementNS:function(t,e){var n=new MC;var i=e.split(":");var r=n.attributes=new dC;n.childNodes=new lC;n.ownerDocument=this;n.nodeName=e;n.tagName=e;n.namespaceURI=t;if(i.length==2){n.prefix=i[0];n.localName=i[1]}else{n.localName=e}r._ownerElement=n;return n},createAttributeNS:function(t,e){var n=new TC;var i=e.split(":");n.ownerDocument=this;n.nodeName=e;n.name=e;n.namespaceURI=t;n.specified=true;if(i.length==2){n.prefix=i[0];n.localName=i[1]}else{n.localName=e}return n}};Dw(xC,yC);function MC(){this._nsMap={}}MC.prototype={nodeType:zw,hasAttribute:function(t){return this.getAttributeNode(t)!=null},getAttribute:function(t){var e=this.getAttributeNode(t);return e&&e.value||""},getAttributeNode:function(t){return this.attributes.getNamedItem(t)},setAttribute:function(t,e){var n=this.ownerDocument.createAttribute(t);n.value=n.nodeValue=""+e;this.setAttributeNode(n)},removeAttribute:function(t){var e=this.getAttributeNode(t);e&&this.removeAttributeNode(e)},appendChild:function(t){if(t.nodeType===Ww){return this.insertBefore(t,null)}else{return kC(this,t)}},setAttributeNode:function(t){return this.attributes.setNamedItem(t)},setAttributeNodeNS:function(t){return this.attributes.setNamedItemNS(t)},removeAttributeNode:function(t){return this.attributes.removeNamedItem(t.nodeName)},removeAttributeNS:function(t,e){var n=this.getAttributeNodeNS(t,e);n&&this.removeAttributeNode(n)},hasAttributeNS:function(t,e){return this.getAttributeNodeNS(t,e)!=null},getAttributeNS:function(t,e){var n=this.getAttributeNodeNS(t,e);return n&&n.value||""},setAttributeNS:function(t,e,n){var i=this.ownerDocument.createAttributeNS(t,e);i.value=i.nodeValue=""+n;this.setAttributeNode(i)},getAttributeNodeNS:function(t,e){return this.attributes.getNamedItemNS(t,e)},getElementsByTagName:function(i){return new fC(this,function(e){var n=[];bC(e,function(t){if(t!==e&&t.nodeType==zw&&(i==="*"||t.tagName==i)){n.push(t)}});return n})},getElementsByTagNameNS:function(i,r){return new fC(this,function(e){var n=[];bC(e,function(t){if(t!==e&&t.nodeType===zw&&(i==="*"||t.namespaceURI===i)&&(r==="*"||t.localName==r)){n.push(t)}});return n})}};xC.prototype.getElementsByTagName=MC.prototype.getElementsByTagName;xC.prototype.getElementsByTagNameNS=MC.prototype.getElementsByTagNameNS;Dw(MC,yC);function TC(){}TC.prototype.nodeType=Ow;Dw(TC,yC);function BC(){}BC.prototype={data:"",substringData:function(t,e){return this.data.substring(t,t+e)},appendData:function(t){t=this.data+t;this.nodeValue=this.data=t;this.length=t.length},insertData:function(t,e){this.replaceData(t,0,e)},appendChild:function(t){throw new Error(Gw[Qw])},deleteData:function(t,e){this.replaceData(t,e,"")},replaceData:function(t,e,n){var i=this.data.substring(0,t);var r=this.data.substring(t+e);n=i+n+r;this.nodeValue=this.data=n;this.length=n.length}};Dw(BC,yC);function DC(){}DC.prototype={nodeName:"#text",nodeType:Fw,splitText:function(t){var e=this.data;var n=e.substring(t);e=e.substring(0,t);this.data=this.nodeValue=e;this.length=e.length;var i=this.ownerDocument.createTextNode(n);if(this.parentNode){this.parentNode.insertBefore(i,this.nextSibling)}return i}};Dw(DC,BC);function NC(){}NC.prototype={nodeName:"#comment",nodeType:Hw};Dw(NC,BC);function PC(){}PC.prototype={nodeName:"#cdata-section",nodeType:Rw};Dw(PC,BC);function zC(){}zC.prototype.nodeType=Uw;Dw(zC,yC);function OC(){}OC.prototype.nodeType=qw;Dw(OC,yC);function FC(){}FC.prototype.nodeType=Lw;Dw(FC,yC);function RC(){}RC.prototype.nodeType=Iw;Dw(RC,yC);function IC(){}IC.prototype.nodeName="#document-fragment";IC.prototype.nodeType=Ww;Dw(IC,yC);function LC(){}LC.prototype.nodeType=jw;Dw(LC,yC);function jC(){}jC.prototype.serializeToString=function(t,e,n){return HC.call(t,e,n)};yC.prototype.toString=HC;function HC(t,e){var n=[];var i=this.nodeType==9?this.documentElement:this;var r=i.prefix;var o=i.namespaceURI;if(o&&r==null){var r=i.lookupPrefix(o);if(r==null){var a=[{namespace:o,prefix:null}]}}UC(this,n,t,e,a);return n.join("")}function VC(t,e,n){var i=t.prefix||"";var r=t.namespaceURI;if(!i&&!r){return false}if(i==="xml"&&r==="http://www.w3.org/XML/1998/namespace"||r=="http://www.w3.org/2000/xmlns/"){return false}var o=n.length;while(o--){var a=n[o];if(a.prefix==i){return a.namespace!=r}}return true}function UC(t,e,n,i,r){if(i){t=i(t);if(t){if(typeof t=="string"){e.push(t);return}}else{return}}switch(t.nodeType){case zw:if(!r){r=[]}var o=t.attributes;var a=o.length;var s=t.firstChild;var u=t.tagName;n=Nw===t.namespaceURI||n;e.push("<",u);for(var h=0;h");if(n&&/^script$/i.test(u)){while(s){if(s.data){e.push(s.data)}else{UC(s,e,n,i,r)}s=s.nextSibling}}else{while(s){UC(s,e,n,i,r);s=s.nextSibling}}e.push("")}else{e.push("/>")}return;case Vw:case Ww:var s=t.firstChild;while(s){UC(s,e,n,i,r);s=s.nextSibling}return;case Ow:return e.push(" ",t.name,'="',t.value.replace(/[<&"]/g,mC),'"');case Fw:return e.push(t.data.replace(/[<&]/g,mC));case Rw:return e.push("");case Hw:return e.push("\x3c!--",t.data,"--\x3e");case Uw:var p=t.publicId;var g=t.systemId;e.push("')}else if(g&&g!="."){e.push(' SYSTEM "',g,'">')}else{var v=t.internalSubset;if(v){e.push(" [",v,"]")}e.push(">")}return;case jw:return e.push("");case Iw:return e.push("&",t.nodeName,";");default:e.push("??",t.nodeName)}}function WC(t,e,n){var i;switch(e.nodeType){case zw:i=e.cloneNode(false);i.ownerDocument=t;case Ww:break;case Ow:n=true;break}if(!i){i=e.cloneNode(false)}i.ownerDocument=t;i.parentNode=null;if(n){var r=e.firstChild;while(r){i.appendChild(WC(t,r,n));r=r.nextSibling}}return i}function qC(t,e,n){var i=new e.constructor;for(var r in e){var o=e[r];if(typeof o!="object"){if(o!=i[r]){i[r]=o}}}if(e.childNodes){i.childNodes=new lC}i.ownerDocument=t;switch(i.nodeType){case zw:var a=e.attributes;var s=i.attributes=new dC;var u=a.length;s._ownerElement=i;for(var h=0;h",amp:"&",quot:'"',apos:"'"};if(a){r.setDocumentLocator(a)}i.errorHandler=h(o,r,a);i.domBuilder=n.domBuilder||r;if(/\/x?html?$/.test(e)){u.nbsp=" ";u.copy="©";s[""]="http://www.w3.org/1999/xhtml"}s.xml=s.xml||"http://www.w3.org/XML/1998/namespace";if(t){i.parse(t,s,u)}else{i.errorHandler.error("invalid doc source")}return r.doc};function h(i,t,r){if(!i){if(t instanceof l){return t}i=t}var o={};var a=i instanceof Function;r=r||{};function e(e){var n=i[e];if(!n&&a){n=i.length==2?function(t){i(e,t)}:i}o[e]=n&&function(t){n("[xmldom "+e+"]\t"+t+s(r))}||function(){}}e("warning");e("error");e("fatalError");return o}function l(){this.cdata=false}function f(t,e){e.lineNumber=t.lineNumber;e.columnNumber=t.columnNumber}l.prototype={startDocument:function(){this.doc=(new i).createDocument(null,null,null);if(this.locator){this.doc.documentURI=this.locator.systemId}},startElement:function(t,e,n,i){var r=this;var o=this.doc;var a=o.createElementNS(t,n||e);var s=i.length;c(this,a);this.currentElement=a;this.locator&&f(this.locator,a);for(var u=0;u=e+n||e){return new java.lang.String(t,e,n)+""}return t}}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(t){l.prototype[t]=function(){return null}});function c(t,e){if(!t.currentElement){t.doc.appendChild(e)}else{t.currentElement.appendChild(e)}}var d=Tw.XMLReader;var i=e.DOMImplementation=QC.DOMImplementation;e.XMLSerializer=QC.XMLSerializer;e.DOMParser=n});"use strict";function KC(t,e,n){if(t==null&&e==null&&n==null){var i=document.querySelectorAll("svg");for(var r=0;r~\.\[:]+)/g;var n=/(\.[^\s\+>~\.\[:]+)/g;var o=/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi;var a=/(:[\w-]+\([^\)]*\))/gi;var s=/(:[^\s\+>~\.\[:]+)/g;var u=/([^\s\+>~\.\[:]+)/g;var h=function(t,e){var n=i.match(t);if(n==null){return}r[e]+=n.length;i=i.replace(t," ")};i=i.replace(/:not\(([^\)]*)\)/g," $1 ");i=i.replace(/{[^]*/gm," ");h(t,1);h(e,0);h(n,1);h(o,2);h(a,1);h(s,1);i=i.replace(/[\*\s\+>~]/g," ");i=i.replace(/[#\.]/g," ");h(u,2);return r.join("")}function eE(t){var N={opts:t};var l=JC();if(typeof CanvasRenderingContext2D!="undefined"){CanvasRenderingContext2D.prototype.drawSvg=function(t,e,n,i,r,o){var a={ignoreMouse:true,ignoreAnimation:true,ignoreDimensions:true,ignoreClear:true,offsetX:e,offsetY:n,scaleWidth:i,scaleHeight:r};for(var s in o){if(o.hasOwnProperty(s)){a[s]=o[s]}}KC(this.canvas,t,a)}}N.FRAMERATE=30;N.MAX_VIRTUAL_PIXELS=3e4;N.log=function(t){};if(N.opts.log==true&&typeof console!="undefined"){N.log=function(t){console.log(t)}}N.init=function(t){var e=0;N.UniqueId=function(){e++;return"canvg"+e};N.Definitions={};N.Styles={};N.StylesSpecificity={};N.Animations=[];N.Images=[];N.ctx=t;N.ViewPort=new function(){this.viewPorts=[];this.Clear=function(){this.viewPorts=[]};this.SetCurrent=function(t,e){this.viewPorts.push({width:t,height:e})};this.RemoveCurrent=function(){this.viewPorts.pop()};this.Current=function(){return this.viewPorts[this.viewPorts.length-1]};this.width=function(){return this.Current().width};this.height=function(){return this.Current().height};this.ComputeSize=function(t){if(t!=null&&typeof t=="number"){return t}if(t=="x"){return this.width()}if(t=="y"){return this.height()}return Math.sqrt(Math.pow(this.width(),2)+Math.pow(this.height(),2))/Math.sqrt(2)}}};N.init();N.ImagesLoaded=function(){for(var t=0;t]*>/,"");var e=new ActiveXObject("Microsoft.XMLDOM");e.async="false";e.loadXML(t);return e}};N.Property=function(t,e){this.name=t;this.value=e};N.Property.prototype.getValue=function(){return this.value};N.Property.prototype.hasValue=function(){return this.value!=null&&this.value!=""};N.Property.prototype.numValue=function(){if(!this.hasValue()){return 0}var t=parseFloat(this.value);if((this.value+"").match(/%$/)){t=t/100}return t};N.Property.prototype.valueOrDefault=function(t){if(this.hasValue()){return this.value}return t};N.Property.prototype.numValueOrDefault=function(t){if(this.hasValue()){return this.numValue()}return t};N.Property.prototype.addOpacity=function(t){var e=this.value;if(t.value!=null&&t.value!=""&&typeof this.value=="string"){var n=new Kx(this.value);if(n.ok){e="rgba("+n.r+", "+n.g+", "+n.b+", "+t.numValue()+")"}}return new N.Property(this.name,e)};N.Property.prototype.getDefinition=function(){var t=this.value.match(/#([^\)'"]+)/);if(t){t=t[1]}if(!t){t=this.value}return N.Definitions[t]};N.Property.prototype.isUrlDefinition=function(){return this.value.indexOf("url(")==0};N.Property.prototype.getFillStyleDefinition=function(t,e){var n=this.getDefinition();if(n!=null&&n.createGradient){return n.createGradient(N.ctx,t,e)}if(n!=null&&n.createPattern){if(n.getHrefAttribute().hasValue()){var i=n.attribute("patternTransform");n=n.getHrefAttribute().getDefinition();if(i.hasValue()){n.attribute("patternTransform",true).value=i.value}}return n.createPattern(N.ctx,t)}return null};N.Property.prototype.getDPI=function(t){return 96};N.Property.prototype.getEM=function(t){var e=12;var n=new N.Property("fontSize",N.Font.Parse(N.ctx.font).fontSize);if(n.hasValue()){e=n.toPixels(t)}return e};N.Property.prototype.getUnits=function(){var t=this.value+"";return t.replace(/[0-9\.\-]/g,"")};N.Property.prototype.toPixels=function(t,e){if(!this.hasValue()){return 0}var n=this.value+"";if(n.match(/em$/)){return this.numValue()*this.getEM(t)}if(n.match(/ex$/)){return this.numValue()*this.getEM(t)/2}if(n.match(/px$/)){return this.numValue()}if(n.match(/pt$/)){return this.numValue()*this.getDPI(t)*(1/72)}if(n.match(/pc$/)){return this.numValue()*15}if(n.match(/cm$/)){return this.numValue()*this.getDPI(t)/2.54}if(n.match(/mm$/)){return this.numValue()*this.getDPI(t)/25.4}if(n.match(/in$/)){return this.numValue()*this.getDPI(t)}if(n.match(/%$/)){return this.numValue()*N.ViewPort.ComputeSize(t)}var i=this.numValue();if(e&&i<1){return i*N.ViewPort.ComputeSize(t)}return i};N.Property.prototype.toMilliseconds=function(){if(!this.hasValue()){return 0}var t=this.value+"";if(t.match(/s$/)){return this.numValue()*1e3}if(t.match(/ms$/)){return this.numValue()}return this.numValue()};N.Property.prototype.toRadians=function(){if(!this.hasValue()){return 0}var t=this.value+"";if(t.match(/deg$/)){return this.numValue()*(Math.PI/180)}if(t.match(/grad$/)){return this.numValue()*(Math.PI/200)}if(t.match(/rad$/)){return this.numValue()}return this.numValue()*(Math.PI/180)};var e={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};N.Property.prototype.toTextBaseline=function(){if(!this.hasValue()){return null}return e[this.value]};N.Font=new function(){this.Styles="normal|italic|oblique|inherit";this.Variants="normal|small-caps|inherit";this.Weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";this.CreateFont=function(t,e,n,i,r,o){var a=o!=null?this.Parse(o):this.CreateFont("","","","","",N.ctx.font);return{fontFamily:r||a.fontFamily,fontSize:i||a.fontSize,fontStyle:t||a.fontStyle,fontWeight:n||a.fontWeight,fontVariant:e||a.fontVariant,toString:function(){return[this.fontStyle,this.fontVariant,this.fontWeight,this.fontSize,this.fontFamily].join(" ")}}};var a=this;this.Parse=function(t){var e={};var n=N.trim(N.compressSpaces(t||"")).split(" ");var i={fontSize:false,fontStyle:false,fontWeight:false,fontVariant:false};var r="";for(var o=0;othis.x2){this.x2=t}}if(e!=null){if(isNaN(this.y1)||isNaN(this.y2)){this.y1=e;this.y2=e}if(ethis.y2){this.y2=e}}};this.addX=function(t){this.addPoint(t,null)};this.addY=function(t){this.addPoint(null,t)};this.addBoundingBox=function(t){this.addPoint(t.x1,t.y1);this.addPoint(t.x2,t.y2)};this.addQuadraticCurve=function(t,e,n,i,r,o){var a=t+2/3*(n-t);var s=e+2/3*(i-e);var u=a+1/3*(r-t);var h=s+1/3*(o-e);this.addBezierCurve(t,e,a,u,s,h,r,o)};this.addBezierCurve=function(t,e,n,i,r,o,a,s){var u=this;var h=[t,e],l=[n,i],f=[r,o],c=[a,s];this.addPoint(h[0],h[1]);this.addPoint(c[0],c[1]);for(var d=0;d<=1;d++){var p=function(t){return Math.pow(1-t,3)*h[d]+3*Math.pow(1-t,2)*t*l[d]+3*(1-t)*Math.pow(t,2)*f[d]+Math.pow(t,3)*c[d]};var g=6*h[d]-12*l[d]+6*f[d];var v=-3*h[d]+9*l[d]-9*f[d]+3*c[d];var _=3*l[d]-3*h[d];if(v==0){if(g==0){continue}var y=-_/g;if(0=0;n--){e.transforms[n].unapply(t)}};this.applyToPoint=function(t){var e=this;for(var n=0;no){t.styles[r]=n[r];t.stylesSpecificity[r]=i}}}}}};if(a!=null&&a.nodeType==1){for(var e=0;e0){e.push([this.points[this.points.length-1],e[e.length-1][1]])}return e}};N.Element.polyline.prototype=new N.Element.PathElementBase;N.Element.polygon=function(t){this.base=N.Element.polyline;this.base(t);this.basePath=this.path;this.path=function(t){var e=this.basePath(t);if(t!=null){t.lineTo(this.points[0].x,this.points[0].y);t.closePath()}return e}};N.Element.polygon.prototype=new N.Element.polyline;N.Element.path=function(t){this.base=N.Element.PathElementBase;this.base(t);var e=this.attribute("d").value;e=e.replace(/,/gm," ");for(var n=0;n<2;n++){e=e.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm,"$1 $2")}e=e.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");e=e.replace(/([0-9])([+\-])/gm,"$1 $2");for(var n=0;n<2;n++){e=e.replace(/(\.[0-9]*)(\.)/gm,"$1 $2")}e=e.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");e=N.compressSpaces(e);e=N.trim(e);this.PathParser=new function(t){this.tokens=t.split(" ");this.reset=function(){this.i=-1;this.command="";this.previousCommand="";this.start=new N.Point(0,0);this.control=new N.Point(0,0);this.current=new N.Point(0,0);this.points=[];this.angles=[]};this.isEnd=function(){return this.i>=this.tokens.length-1};this.isCommandOrEnd=function(){if(this.isEnd()){return true}return this.tokens[this.i+1].match(/^[A-Za-z]$/)!=null};this.isRelativeCommand=function(){switch(this.command){case"m":case"l":case"h":case"v":case"c":case"s":case"q":case"t":case"a":case"z":return true;break}return false};this.getToken=function(){this.i++;return this.tokens[this.i]};this.getScalar=function(){return parseFloat(this.getToken())};this.nextCommand=function(){this.previousCommand=this.command;this.command=this.getToken()};this.getPoint=function(){var t=new N.Point(this.getScalar(),this.getScalar());return this.makeAbsolute(t)};this.getAsControlPoint=function(){var t=this.getPoint();this.control=t;return t};this.getAsCurrentPoint=function(){var t=this.getPoint();this.current=t;return t};this.getReflectedControlPoint=function(){if(this.previousCommand.toLowerCase()!="c"&&this.previousCommand.toLowerCase()!="s"&&this.previousCommand.toLowerCase()!="q"&&this.previousCommand.toLowerCase()!="t"){return this.current}var t=new N.Point(2*this.current.x-this.control.x,2*this.current.y-this.control.y);return t};this.makeAbsolute=function(t){if(this.isRelativeCommand()){t.x+=this.current.x;t.y+=this.current.y}return t};this.addMarker=function(t,e,n){if(n!=null&&this.angles.length>0&&this.angles[this.angles.length-1]==null){this.angles[this.angles.length-1]=this.points[this.points.length-1].angleTo(n)}this.addMarkerAngle(t,e==null?null:e.angleTo(t))};this.addMarkerAngle=function(t,e){this.points.push(t);this.angles.push(e)};this.getMarkerPoints=function(){return this.points};this.getMarkerAngles=function(){var t=this;for(var e=0;e1){l*=Math.sqrt(v);f*=Math.sqrt(v)}var _=(d==p?-1:1)*Math.sqrt((Math.pow(l,2)*Math.pow(f,2)-Math.pow(l,2)*Math.pow(g.y,2)-Math.pow(f,2)*Math.pow(g.x,2))/(Math.pow(l,2)*Math.pow(g.y,2)+Math.pow(f,2)*Math.pow(g.x,2)));if(isNaN(_)){_=0}var y=new N.Point(_*l*g.y/f,_*-f*g.x/l);var m=new N.Point((a.x+h.x)/2+Math.cos(c)*y.x-Math.sin(c)*y.y,(a.y+h.y)/2+Math.sin(c)*y.x+Math.cos(c)*y.y);var b=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))};var x=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(b(t)*b(e))};var w=function(t,e){return(t[0]*e[1]=1){A=0}var k=1-p?1:-1;var M=C+k*(A/2);var T=new N.Point(m.x+l*Math.cos(M),m.y+f*Math.sin(M));e.addMarkerAngle(T,M-k*Math.PI/2);e.addMarkerAngle(h,M-k*Math.PI);n.addPoint(h.x,h.y);if(t!=null){var x=l>f?l:f;var B=l>f?1:l/f;var D=l>f?f/l:1;t.translate(m.x,m.y);t.rotate(c);t.scale(B,D);t.arc(0,0,x,C,C+A,1-p);t.scale(1/B,1/D);t.rotate(-c);t.translate(-m.x,-m.y)}}break;case"Z":case"z":if(t!=null){t.closePath()}e.current=e.start}}return n};this.getMarkers=function(){var t=this.PathParser.getMarkerPoints();var e=this.PathParser.getMarkerAngles();var n=[];for(var i=0;i1){this.offset=1}var e=this.style("stop-color",true);if(e.value==""){e.value="#000"}if(this.style("stop-opacity").hasValue()){e=e.addOpacity(this.style("stop-opacity"))}this.color=e.value};N.Element.stop.prototype=new N.Element.ElementBase;N.Element.AnimateBase=function(t){this.base=N.Element.ElementBase;this.base(t);N.Animations.push(this);this.duration=0;this.begin=this.attribute("begin").toMilliseconds();this.maxDuration=this.begin+this.attribute("dur").toMilliseconds();this.getProperty=function(){var t=this.attribute("attributeType").value;var e=this.attribute("attributeName").value;if(t=="CSS"){return this.parent.style(e,true)}return this.parent.attribute(e,true)};this.initialValue=null;this.initialUnits="";this.removed=false;this.calcValue=function(){return""};this.update=function(t){if(this.initialValue==null){this.initialValue=this.getProperty().value;this.initialUnits=this.getProperty().getUnits()}if(this.duration>this.maxDuration){if(this.attribute("repeatCount").value=="indefinite"||this.attribute("repeatDur").value=="indefinite"){this.duration=0}else if(this.attribute("fill").valueOrDefault("remove")=="freeze"&&!this.frozen){this.frozen=true;this.parent.animationFrozen=true;this.parent.animationFrozenValue=this.getProperty().value}else if(this.attribute("fill").valueOrDefault("remove")=="remove"&&!this.removed){this.removed=true;this.getProperty().value=this.parent.animationFrozen?this.parent.animationFrozenValue:this.initialValue;return true}return false}this.duration=this.duration+t;var e=false;if(this.beginn&&a.attribute("x").hasValue()){break}r+=a.measureTextRecursive(t)}return-1*(i=="end"?r:r/2)}return 0};this.renderChild=function(t,e,n,i){var r=n.children[i];if(r.attribute("x").hasValue()){r.x=r.attribute("x").toPixels("x")+e.getAnchorDelta(t,n,i);if(r.attribute("dx").hasValue()){r.x+=r.attribute("dx").toPixels("x")}}else{if(r.attribute("dx").hasValue()){e.x+=r.attribute("dx").toPixels("x")}r.x=e.x}e.x=r.x+r.measureText(t);if(r.attribute("y").hasValue()){r.y=r.attribute("y").toPixels("y");if(r.attribute("dy").hasValue()){r.y+=r.attribute("dy").toPixels("y")}}else{if(r.attribute("dy").hasValue()){e.y+=r.attribute("dy").toPixels("y")}r.y=e.y}e.y=r.y;r.render(t);for(var i=0;i0&&e[n-1]!=" "&&n0&&e[n-1]!=" "&&(n==e.length-1||e[n+1]==" ")){o="initial"}if(typeof t.glyphs[i]!="undefined"){r=t.glyphs[i][o];if(r==null&&t.glyphs[i].type=="glyph"){r=t.glyphs[i]}}}else{r=t.glyphs[i]}if(r==null){r=t.missingGlyph}return r};this.renderChildren=function(t){var e=this;var n=this.parent.style("font-family").getDefinition();if(n!=null){var i=this.parent.style("font-size").numValueOrDefault(N.Font.Parse(N.ctx.font).fontSize);var r=this.parent.style("font-style").valueOrDefault(N.Font.Parse(N.ctx.font).fontStyle);var o=this.getText();if(n.isRTL){o=o.split("").reverse().join("")}var a=N.ToNumberArray(this.parent.attribute("dx").value);for(var s=0;s0){return""}return this.text}};N.Element.tspan.prototype=new N.Element.TextElementBase;N.Element.tref=function(t){this.base=N.Element.TextElementBase;this.base(t);this.getText=function(){var t=this.getHrefAttribute().getDefinition();if(t!=null){return t.children[0].getText()}}};N.Element.tref.prototype=new N.Element.TextElementBase;N.Element.a=function(t){var e=this;this.base=N.Element.TextElementBase;this.base(t);this.hasText=t.childNodes.length>0;for(var n=0;n0){var n=new N.Element.g;n.children=this.children;n.parent=this;n.render(t)}};this.onclick=function(){window.open(this.getHrefAttribute().value)};this.onmousemove=function(){N.ctx.canvas.style.cursor="pointer"}};N.Element.a.prototype=new N.Element.TextElementBase;N.Element.image=function(t){this.base=N.Element.RenderedElementBase;this.base(t);var e=this.getHrefAttribute().value;if(e==""){return}var o=e.match(/\.svg$/);N.Images.push(this);this.loaded=false;if(!o){this.img=document.createElement("img");if(N.opts["useCORS"]==true){this.img.crossOrigin="Anonymous"}var n=this;this.img.onload=function(){n.loaded=true};this.img.onerror=function(){N.log('ERROR: image "'+e+'" not found');n.loaded=true};this.img.src=e}else{this.img=N.ajax(e);this.loaded=true}this.renderChildren=function(t){var e=this.attribute("x").toPixels("x");var n=this.attribute("y").toPixels("y");var i=this.attribute("width").toPixels("x");var r=this.attribute("height").toPixels("y");if(i==0||r==0){return}t.save();if(o){t.drawSvg(this.img,e,n,i,r)}else{t.translate(e,n);N.AspectRatio(t,this.attribute("preserveAspectRatio").value,i,this.img.width,r,this.img.height,0,0);t.drawImage(this.img,0,0)}t.restore()};this.getBoundingBox=function(){var t=this.attribute("x").toPixels("x");var e=this.attribute("y").toPixels("y");var n=this.attribute("width").toPixels("x");var i=this.attribute("height").toPixels("y");return new N.BoundingBox(t,e,t+n,e+i)}};N.Element.image.prototype=new N.Element.RenderedElementBase;N.Element.g=function(t){this.base=N.Element.RenderedElementBase;this.base(t);this.getBoundingBox=function(){var t=this;var e=new N.BoundingBox;for(var n=0;n0){var _=g[v].indexOf("url");var y=g[v].indexOf(")",_);var m=g[v].substr(_+5,y-_-6);var b=N.parseXml(N.ajax(m));var x=b.getElementsByTagName("font");for(var w=0;w0&&!qa(this).selectAll("image, img, svg").size()){var k=this.cloneNode(true);qa(k).selectAll("*").each(function(){qa(this).call(iE);if(qa(this).attr("opacity")==="0"){this.parentNode.removeChild(this)}});$.push(Object.assign({},n,{type:"svg",value:k,tag:e}))}else if(this.childNodes.length>0){Q(this,n)}else{var M=this.cloneNode(true);qa(M).selectAll("*").each(function(){if(qa(this).attr("opacity")==="0"){this.parentNode.removeChild(this)}});if(e==="line"){qa(M).attr("x1",parseFloat(qa(M).attr("x1"))+n.x);qa(M).attr("x2",parseFloat(qa(M).attr("x2"))+n.x);qa(M).attr("y1",parseFloat(qa(M).attr("y1"))+n.y);qa(M).attr("y2",parseFloat(qa(M).attr("y2"))+n.y)}else if(e==="path"){var T=aE(M);var B=T[0];var D=T[1];var N=T[2];if(qa(M).attr("transform")){qa(M).attr("transform","scale("+B+")translate("+(D+n.x)+","+(N+n.y)+")")}}qa(M).call(iE);var P=qa(M).attr("fill");var z=P&&P.indexOf("url")===0;$.push(Object.assign({},n,{type:"svg",value:M,tag:e}));if(z){var O=qa(P.slice(4,-1)).node().cloneNode(true);var F=(O.tagName||"").toLowerCase();if(F==="pattern"){var R=aE(M);var I=R[0];var L=R[1];var j=R[2];n.scale*=I;n.x+=L;n.y+=j;Q(O,n)}}}}function Q(t,e){$a(t.childNodes).each(function(){i.bind(this)(e)})}for(var r=0;r"+r+"";c.save();c.translate(H.padding,H.padding);nE(f,u,Object.assign({},oE,{offsetX:e.x,offsetY:e.y}));c.restore();break;case"svg":var h=l?(new XMLSerializer).serializeToString(e.value):e.value.outerHTML;c.save();c.translate(H.padding+n.x,H.padding+n.y);c.rect(0,0,n.width,n.height);c.clip();nE(f,h,Object.assign({},oE,{offsetX:e.x+n.x,offsetY:e.y+n.y}));c.restore();break;default:console.warn("uncaught",e);break}}H.callback(f)}};(function(t){"use strict";var f=t.Uint8Array,e=t.HTMLCanvasElement,n=e&&e.prototype,u=/\s*;\s*base64\s*(?:;|$)/i,h="toDataURL",c,l=function(t){var e=t.length,n=new f(e/4*3|0),i=0,r=0,o=[0,0],a=0,s=0,u,h,l;while(e--){h=t.charCodeAt(i++);u=c[h-43];if(u!==255&&u!==l){o[1]=o[0];o[0]=h;s=s<<6|u;a++;if(a===4){n[r++]=s>>>16;if(o[1]!==61){n[r++]=s>>>8}if(o[0]!==61){n[r++]=s}a=0}}}return n};if(f){c=new f([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51])}if(e&&(!n.toBlob||!n.toBlobHD)){if(!n.toBlob){n.toBlob=function(t,e){if(!e){e="image/png"}if(this.mozGetAsFile){t(this.mozGetAsFile("canvas",e));return}if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(e)){t(this.msToBlob());return}var n=Array.prototype.slice.call(arguments,1),i=this[h].apply(this,n),r=i.indexOf(","),o=i.substring(r+1),a=u.test(i.substring(0,r)),s;if(Blob.fake){s=new Blob;if(a){s.encoding="base64"}else{s.encoding="URI"}s.data=o;s.size=o.length}else if(f){if(a){s=new Blob([l(o)],{type:e})}else{s=new Blob([decodeURIComponent(o)],{type:e})}}t(s)}}if(!n.toBlobHD&&n.toDataURLHD){n.toBlobHD=function(){h="toDataURLHD";var t=this.toBlob();h="toDataURL";return t}}else{n.toBlobHD=n.toBlob}}})(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||ob.content||ob);var uE=sb(function(t){var e=e||function(h){"use strict";if(typeof h==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=h.document,l=function(){return h.URL||h.webkitURL||h},f=t.createElementNS("http://www.w3.org/1999/xhtml","a"),c="download"in f,d=function(t){var e=new MouseEvent("click");t.dispatchEvent(e)},p=/constructor/i.test(h.HTMLElement)||h.safari,g=/CriOS\/[\d]+/.test(navigator.userAgent),o=function(t){(h.setImmediate||h.setTimeout)(function(){throw t},0)},v="application/octet-stream",n=1e3*40,_=function(t){var e=function(){if(typeof t==="string"){l().revokeObjectURL(t)}else{t.remove()}};setTimeout(e,n)},y=function(t,e,n){e=[].concat(e);var i=e.length;while(i--){var r=t["on"+e[i]];if(typeof r==="function"){try{r.call(t,n||t)}catch(t){o(t)}}}},m=function(t){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)){return new Blob([String.fromCharCode(65279),t],{type:t.type})}return t},i=function(e,t,n){if(!n){e=m(e)}var i=this,r=e.type,o=r===v,a,s=function(){y(i,"writestart progress write writeend".split(" "))},u=function(){if((g||o&&p)&&h.FileReader){var n=new FileReader;n.onloadend=function(){var t=g?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;");var e=h.open(t,"_blank");if(!e){h.location.href=t}t=undefined;i.readyState=i.DONE;s()};n.readAsDataURL(e);i.readyState=i.INIT;return}if(!a){a=l().createObjectURL(e)}if(o){h.location.href=a}else{var t=h.open(a,"_blank");if(!t){h.location.href=a}}i.readyState=i.DONE;s();_(a)};i.readyState=i.INIT;if(c){a=l().createObjectURL(e);setTimeout(function(){f.href=a;f.download=t;d(f);s();_(a);i.readyState=i.DONE});return}u()},e=i.prototype,r=function(t,e,n){return new i(t,e||t.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(t,e,n){e=e||t.name||"download";if(!n){t=m(t)}return navigator.msSaveOrOpenBlob(t,e)}}e.abort=function(){};e.readyState=e.INIT=0;e.WRITING=1;e.DONE=2;e.error=e.onwritestart=e.onprogress=e.onwrite=e.onabort=e.onerror=e.onwriteend=null;return r}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||ob.content);if("object"!=="undefined"&&t.exports){t.exports.saveAs=e}else if(typeof undefined!=="undefined"&&undefined!==null&&undefined.amd!==null){undefined("FileSaver.js",function(){return e})}});var hE=uE.saveAs;var lE={filename:"download",type:"png"};var fE=function(t,e,n){if(e===void 0){e={}}if(n===void 0){n={}}if(!t){return}e=Object.assign({},lE,e);var i=new RegExp(/(MSIE|Trident\/|Edge\/)/i).test(navigator.userAgent);if(!(t instanceof Array)&&e.type==="svg"){var r=i?(new XMLSerializer).serializeToString(t):t.outerHTML;hE(new Blob([r],{type:"application/svg+xml"}),e.filename+".svg")}sE(t,Object.assign({},n,{callback:function(t){if(n.callback){n.callback(t)}if(["jpg","png"].includes(e.type)){t.toBlob(function(t){return hE(t,e.filename)})}}}))};var cE={Button:hb,Radio:lb,Select:fb};var dE=function(){var l=this;var f=this;var c=["left","right","top","bottom"];var t=function(t){var s=c[t];var u=(l._controls||[]).filter(function(t){return!t.position&&s==="bottom"||t.position===s});if(l._downloadButton&&l._downloadPosition===s){u.push({data:[{text:"Download",value:1}],label:"downloadButton",on:{click:function(){var t=l._detectResize;if(t){l.detectResize(false).render()}fE(l._select.node(),Object.assign({title:l._title||undefined},l._downloadConfig),{callback:function(){setTimeout(function(){if(t){l.detectResize(t).render()}},5e3)}})}},type:"Button"})}var e=s==="top"||s==="bottom";var n={height:e?l._height-(l._margin.top+l._margin.bottom):l._height-(l._margin.top+l._margin.bottom+l._padding.top+l._padding.bottom),width:e?l._width-(l._margin.left+l._margin.right+l._padding.left+l._padding.right):l._width-(l._margin.left+l._margin.right)};n.x=(e?l._margin.left+l._padding.left:l._margin.left)+(s==="right"?n.width:0);n.y=(e?l._margin.top:l._margin.top+l._padding.top)+(s==="bottom"?n.height:0);var i=Ku("foreignObject.d3plus-viz-controls-"+s,{condition:u.length,enter:Object.assign({opacity:0},n),exit:Object.assign({opacity:0},n),parent:l._select,transition:l._transition,update:{height:n.height,opacity:1,width:n.width}});var h=i.selectAll("div.d3plus-viz-controls-container").data([null]);h=h.enter().append("xhtml:div").attr("class","d3plus-viz-controls-container").merge(h);if(u.length){var r=function(t){var e=Object.assign({},u[t]);var n={};if(e.on){var i=function(t){if({}.hasOwnProperty.call(e.on,t)){n[t]=function(){e.on[t].bind(f)(this.value)}}};for(var r in e.on){i(r)}}var o=e.label||s+"-"+t;if(!l._controlCache[o]){var a=e.type&&cE[e.type]?e.type:"Select";l._controlCache[o]=(new cE[a]).container(h.node());if(e.checked){l._controlCache[o].checked(e.checked)}if(e.selected){l._controlCache[o].selected(e.selected)}}delete e.checked;delete e.selected;l._controlCache[o].config(e).config({on:n}).config(l._controlConfig).render()};for(var o=0;o1||this._colorScale?s:[]).height(i?this._height-(this._margin.bottom+this._margin.top):this._height-(this._margin.bottom+this._margin.top+this._padding.bottom+this._padding.top)).select(a).verticalAlign(!i?"middle":n).width(i?this._width-(this._margin.left+this._margin.right+this._padding.left+this._padding.right):this._width-(this._margin.left+this._margin.right)).shapeConfig(Qu.bind(this)(this._shapeConfig,"legend")).config(this._legendConfig).shapeConfig({fill:u,opacity:h}).render();if(!this._legendConfig.select&&e.height){if(i){this._margin[n]+=e.height+this._legendClass.padding()*2}else{this._margin[n]+=e.width+this._legendClass.padding()*2}}}};function vE(n){var i=this;if(JSON.stringify(n)!==JSON.stringify(this._timelineSelection)){this._timelineSelection=n;if(!(n instanceof Array)){n=[n,n]}n=n.map(Number);this.timeFilter(function(t){var e=wd(i._time(t)).getTime();return e>=n[0]&&e<=n[1]}).render()}}var _E=function(t){var e=this;if(t===void 0){t=[]}var n=this._time&&this._timeline;var i=n?Array.from(new Set(this._data.map(this._time))).map(wd):[];n=n&&i.length>1;var r={transform:"translate("+(this._margin.left+this._padding.left)+", 0)"};var o=Ku("g.d3plus-viz-timeline",{condition:n,enter:r,parent:this._select,transition:this._transition,update:r}).node();if(n){var a=this._timelineClass.domain(Ht(i)).duration(this._duration).height(this._height-this._margin.bottom).select(o).ticks(i.sort(function(t,e){return+t-+e})).width(this._width-(this._margin.left+this._margin.right+this._padding.left+this._padding.right));if(this._timelineSelection===void 0){var s=Ht(t.map(this._time).map(wd));this._timelineSelection=s[0]===s[1]?s[0]:s;a.selection(this._timelineSelection)}var u=this._timelineConfig;a.config(u).on("brush",function(t){vE.bind(e)(t);if(u.on&&u.on.brush){u.on.brush(t)}}).on("end",function(t){vE.bind(e)(t);if(u.on&&u.on.end){u.on.end(t)}}).render();this._margin.bottom+=a.outerBounds().height+a.padding()*2}};var yE=function(t){if(t===void 0){t=[]}var e=this._title?this._title(t):false;var n={transform:"translate("+(this._margin.left+this._padding.left)+", "+this._margin.top+")"};var i=Ku("g.d3plus-viz-title",{enter:n,parent:this._select,transition:this._transition,update:n}).node();this._titleClass.data(e?[{text:e}]:[]).select(i).width(this._width-(this._margin.left+this._margin.right+this._padding.left+this._padding.right)).config(this._titleConfig).render();this._margin.top+=e?i.getBBox().height:0};var mE=function(t){if(t===void 0){t=[]}var e=typeof this._total==="function"?Xt(t.map(this._total)):this._total===true&&this._size?Xt(t.map(this._size)):false;var n={transform:"translate("+(this._margin.left+this._padding.left)+", "+this._margin.top+")"};var i=Ku("g.d3plus-viz-total",{enter:n,parent:this._select,transition:this._transition,update:n}).node();var r=typeof e==="number";this._totalClass.data(r?[{text:"Total: "+e}]:[]).select(i).width(this._width-(this._margin.left+this._margin.right+this._padding.left+this._padding.right)).config(this._totalConfig).render();this._margin.top+=r?i.getBBox().height:0};function bE(t,e){if(!t){return undefined}if(t.tagName===undefined||["BODY","HTML"].indexOf(t.tagName)>=0){var n=window["inner"+(e.charAt(0).toUpperCase()+e.slice(1))];var i=qa(t);if(e==="width"){n-=parseFloat(i.style("margin-left"),10);n-=parseFloat(i.style("margin-right"),10);n-=parseFloat(i.style("padding-left"),10);n-=parseFloat(i.style("padding-right"),10)}else{n-=parseFloat(i.style("margin-top"),10);n-=parseFloat(i.style("margin-bottom"),10);n-=parseFloat(i.style("padding-top"),10);n-=parseFloat(i.style("padding-bottom"),10)}return n}else{var r=parseFloat(qa(t).style(e),10);if(typeof r==="number"&&r>0){return r}else{return bE(t.parentNode,e)}}}var xE=function(t){return[bE(t,"width"),bE(t,"height")]};var wE=function(t,e){if(e===void 0){e=0}var n=window.pageXOffset!==undefined?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft;var i=window.pageYOffset!==undefined?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;var r=t.getBoundingClientRect();var o=r.height,a=r.left+n,s=r.top+i,u=r.width;return i+window.innerHeight>s+e&&i+ea+e&&n+e0){i.x=0}else if(i.x0){i.y=0}else if(i.y\n Loading Visualization\n Powered by D3plus\n ');this._loadingMessage=true;this._locale="en-US";this._lrucache=ub(10);this._messageClass=new Yx;this._messageMask="rgba(0, 0, 0, 0.1)";this._messageStyle={left:"0px",position:"absolute","text-align":"center",top:"45%",width:"100%"};this._noDataHTML=Zu("\n
\n No Data Available\n
");this._noDataMessage=true;this._on={click:CE.bind(this),mouseenter:EE.bind(this),mouseleave:SE.bind(this),"mousemove.shape":kE.bind(this),"mousemove.legend":AE.bind(this)};this._queue=[];this._scrollContainer=typeof window===undefined?"":window;this._shape=Zu("Rect");this._shapes=[];this._shapeConfig={fill:function(t,e){while(t.__d3plus__&&t.data){t=t.data;e=t.i}if(o._colorScale){var n=o._colorScale(t,e);if(n!==undefined&&n!==null){var i=o._colorScaleClass._colorScale;if(!i.domain().length){return i.range()[i.range().length-1]}return i(n)}}var r=o._color(t,e);if(Q(r)){return r}return mh(r)},labelConfig:{fontColor:function(t,e){var n=typeof o._shapeConfig.fill==="function"?o._shapeConfig.fill(t,e):o._shapeConfig.fill;return bh(n)}},opacity:Zu(1),stroke:function(t,e){var n=typeof o._shapeConfig.fill==="function"?o._shapeConfig.fill(t,e):o._shapeConfig.fill;return Q(n).darker()},strokeWidth:Zu(0)};this._timeline=true;this._timelineClass=(new xb).align("end");this._timelineConfig={};this._titleClass=new Ac;this._titleConfig={fontSize:12,padding:5,resize:false,textAnchor:"middle"};this._tooltip=true;this._tooltipClass=new Gx;this._tooltipConfig={duration:50,pointerEvents:"none",titleStyle:{"max-width":"200px"}};this._totalClass=new Ac;this._totalConfig={fontSize:10,padding:5,resize:false,textAnchor:"middle"};this._zoom=false;this._zoomBehavior=rb();this._zoomBrush=zm();this._zoomBrushHandleSize=1;this._zoomBrushHandleStyle={fill:"#444"};this._zoomBrushSelectionStyle={fill:"#777","stroke-width":0};this._zoomControlStyle={background:"rgba(255, 255, 255, 0.75)",border:"1px solid rgba(0, 0, 0, 0.75)",color:"rgba(0, 0, 0, 0.75)",display:"block",font:"900 15px/21px 'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",height:"20px",margin:"5px",opacity:.75,padding:0,"text-align":"center",width:"20px"};this._zoomControlStyleActive={background:"rgba(0, 0, 0, 0.75)",color:"rgba(255, 255, 255, 0.75)",opacity:1};this._zoomControlStyleHover={cursor:"pointer",opacity:1};this._zoomFactor=2;this._zoomMax=16;this._zoomPadding=20;this._zoomPan=true;this._zoomScroll=true}if(e){t.__proto__=e}t.prototype=Object.create(e&&e.prototype);t.prototype.constructor=t;t.prototype._preDraw=function t(){var i=this;var r=this;this._drawDepth=this._depth!==void 0?this._depth:this._groupBy.length-1;this._id=this._groupBy[this._drawDepth];this._ids=function(e,n){return i._groupBy.map(function(t){return!e||e.__d3plus__&&!e.data?undefined:t(e.__d3plus__?e.data:e,e.__d3plus__?e.i:n)}).filter(function(t){return t!==undefined&&t!==null&&t.constructor!==Array})};this._drawLabel=function(t,e){if(!t){return""}while(t.__d3plus__&&t.data){t=t.data;e=t.i}if(i._label){return i._label(t,e)}var n=r._ids(t,e).slice(0,i._drawDepth+1);return n[n.length-1]};if(this._time&&this._timeFilter===void 0&&this._data.length){var e=this._data.map(this._time).map(wd);var n=this._data[0],o=0;if(this._discrete&&"_"+this._discrete in this&&this["_"+this._discrete](n,o)===this._time(n,o)){this._timeFilter=function(){return true}}else{var a=+Ut(e);this._timeFilter=function(t,e){return+wd(i._time(t,e))===a}}}this._filteredData=[];var s=[];if(this._data.length){s=this._timeFilter?this._data.filter(this._timeFilter):this._data;if(this._filter){s=s.filter(this._filter)}var u=Gt();for(var h=0;h<=this._drawDepth;h++){u.key(i._groupBy[h])}if(this._discrete&&"_"+this._discrete in this){u.key(this["_"+this._discrete])}if(this._discrete&&"_"+this._discrete+"2"in this){u.key(this["_"+this._discrete+"2"])}u.rollup(function(t){return i._filteredData.push(Ju(t,i._aggs))}).entries(s)}if(this._noDataMessage&&!this._filteredData.length){this._messageClass.render({container:this._select.node().parentNode,html:this._noDataHTML(this),mask:this._messageMask,style:this._messageStyle})}};t.prototype._draw=function t(){if(this.legendPosition()==="left"||this.legendPosition()==="right"){gE.bind(this)(this._filteredData)}if(this.colorScalePosition()==="left"||this.colorScalePosition()==="right"){Qx.bind(this)(this._filteredData)}$x.bind(this)();yE.bind(this)(this._filteredData);mE.bind(this)(this._filteredData);_E.bind(this)(this._filteredData);dE.bind(this)(this._filteredData);if(this.legendPosition()==="top"||this.legendPosition()==="bottom"){gE.bind(this)(this._filteredData)}if(this.colorScalePosition()==="top"||this.colorScalePosition()==="bottom"){Qx.bind(this)(this._filteredData)}this._shapes=[]};t.prototype.render=function t(r){var o=this;this._margin={bottom:0,left:0,right:0,top:0};this._padding={bottom:0,left:0,right:0,top:0};this._transition=Pu().duration(this._duration);if(this._select===void 0||this._select.node().tagName.toLowerCase()!=="svg"){var e=this._select===void 0?qa("body").append("div"):this._select;var n=xE(e.node());var i=n[0];var a=n[1];var s=e.append("svg");i-=parseFloat(s.style("border-left-width"),10);i-=parseFloat(s.style("border-right-width"),10);a-=parseFloat(s.style("border-top-width"),10);a-=parseFloat(s.style("border-bottom-width"),10);if(!this._width){this._autoWidth=true;this.width(i)}if(!this._height){this._autoHeight=true;this.height(a)}s.style("width",this._width+"px").style("height",this._height+"px");this.select(s.node())}if(!this._width||!this._height){var u=xE(this._select.node());var h=u[0];var l=u[1];if(!this._width){this.width(h)}if(!this._height){this.height(l)}}this._select.transition(this._transition).style("width",this._width+"px").style("height",this._height+"px");clearInterval(this._visiblePoll);clearTimeout(this._resizePoll);qa(this._scrollContainer).on("scroll."+this._uuid,null);qa(this._scrollContainer).on("resize."+this._uuid,null);if(this._detectVisible&&this._select.style("visibility")==="hidden"){this._visiblePoll=setInterval(function(){if(o._select.style("visibility")!=="hidden"){clearInterval(o._visiblePoll);o.render(r)}},this._detectVisibleInterval)}else if(this._detectVisible&&this._select.style("display")==="none"){this._visiblePoll=setInterval(function(){if(o._select.style("display")!=="none"){clearInterval(o._visiblePoll);o.render(r)}},this._detectVisibleInterval)}else if(this._detectVisible&&!wE(this._select.node())){qa(this._scrollContainer).on("scroll."+this._uuid,function(){if(wE(o._select.node())){qa(o._scrollContainer).on("scroll."+o._uuid,null);o.render(r)}})}else{var f=Wm();if(this._loadingMessage){this._messageClass.render({container:this._select.node().parentNode,html:this._loadingHTML(this),mask:this._messageMask,style:this._messageStyle})}this._queue.forEach(function(t){var e=o._cache?o._lrucache.get(t[1]):undefined;if(!e){f.defer.apply(f,t)}else{o["_"+t[3]]=e}});this._queue=[];f.awaitAll(function(){o._preDraw();o._draw(r);BE.bind(o)();if(o._messageClass._isVisible&&(!o._noDataMessage||o._filteredData.length)){o._messageClass.hide()}if(o._detectResize&&(o._autoWidth||o._autoHeight)){qa(o._scrollContainer).on("resize."+o._uuid,function(){clearTimeout(o._resizePoll);o._resizePoll=setTimeout(function(){clearTimeout(o._resizePoll);var t=o._select.style("display");o._select.style("display","none");var e=xE(o._select.node().parentNode);var n=e[0];var i=e[1];n-=parseFloat(o._select.style("border-left-width"),10);n-=parseFloat(o._select.style("border-right-width"),10);i-=parseFloat(o._select.style("border-top-width"),10);i-=parseFloat(o._select.style("border-bottom-width"),10);o._select.style("display",t);if(o._autoWidth){o.width(n)}if(o._autoHeight){o.height(i)}o.render(r)},o._detectResizeDelay)})}if(r){setTimeout(r,o._duration+100)}})}qa("body").on("touchstart."+this._uuid,ME.bind(this));return this};t.prototype.active=function t(e){this._active=e;if(this._shapeConfig.activeOpacity!==1){this._shapes.forEach(function(t){return t.active(e)});if(this._legend){this._legendClass.active(e)}}return this};t.prototype.aggs=function t(e){return arguments.length?(this._aggs=Vu(this._aggs,e),this):this._aggs};t.prototype.backConfig=function t(e){return arguments.length?(this._backConfig=Vu(this._backConfig,e),this):this._backConfig};t.prototype.cache=function t(e){return arguments.length?(this._cache=e,this):this._cache};t.prototype.color=function t(e){return arguments.length?(this._color=!e||typeof e==="function"?e:ju(e),this):this._color};t.prototype.colorScale=function t(e){return arguments.length?(this._colorScale=!e||typeof e==="function"?e:ju(e),this):this._colorScale};t.prototype.colorScaleConfig=function t(e){return arguments.length?(this._colorScaleConfig=Vu(this._colorScaleConfig,e),this):this._colorScaleConfig};t.prototype.colorScalePosition=function t(e){return arguments.length?(this._colorScalePosition=e,this):this._colorScalePosition};t.prototype.controls=function t(e){return arguments.length?(this._controls=e,this):this._controls};t.prototype.controlConfig=function t(e){return arguments.length?(this._controlConfig=Vu(this._controlConfig,e),this):this._controlConfig};t.prototype.data=function t(e,n){if(arguments.length){var i=this._queue.find(function(t){return t[3]==="data"});var r=[sm.bind(this),e,n,"data"];if(i){this._queue[this._queue.indexOf(i)]=r}else{this._queue.push(r)}return this}return this._data};t.prototype.depth=function t(e){return arguments.length?(this._depth=e,this):this._depth};t.prototype.detectResize=function t(e){return arguments.length?(this._detectResize=e,this):this._detectResize};t.prototype.detectResizeDelay=function t(e){return arguments.length?(this._detectResizeDelay=e,this):this._detectResizeDelay};t.prototype.detectVisible=function t(e){return arguments.length?(this._detectVisible=e,this):this._detectVisible};t.prototype.detectVisibleInterval=function t(e){return arguments.length?(this._detectVisibleInterval=e,this):this._detectVisibleInterval};t.prototype.discrete=function t(e){return arguments.length?(this._discrete=e,this):this._discrete};t.prototype.downloadButton=function t(e){return arguments.length?(this._downloadButton=e,this):this._downloadButton};t.prototype.downloadConfig=function t(e){return arguments.length?(this._downloadConfig=Vu(this._downloadConfig,e),this):this._downloadConfig};t.prototype.downloadPosition=function t(e){return arguments.length?(this._downloadPosition=e,this):this._downloadPosition};t.prototype.duration=function t(e){return arguments.length?(this._duration=e,this):this._duration};t.prototype.filter=function t(e){return arguments.length?(this._filter=e,this):this._filter};t.prototype.groupBy=function t(e){var n=this;if(!arguments.length){return this._groupBy}if(!(e instanceof Array)){e=[e]}return this._groupBy=e.map(function(t){if(typeof t==="function"){return t}else{if(!n._aggs[t]){n._aggs[t]=function(t){var e=Array.from(new Set(t));return e.length===1?e[0]:e}}return ju(t)}}),this};t.prototype.height=function t(e){return arguments.length?(this._height=e,this):this._height};t.prototype.hover=function t(e){var n=this;var i=this._hover=e;if(this._shapeConfig.hoverOpacity!==1){if(typeof e==="function"){var r=Wt(this._shapes.map(function(t){return t.data()}));r=r.concat(this._legendClass.data());var o=e?r.filter(e):[];var a=[];o.map(this._ids).forEach(function(t){for(var e=1;e<=t.length;e++){a.push(JSON.stringify(t.slice(0,e)))}});a=a.filter(function(t,e){return a.indexOf(t)===e});if(a.length){i=function(t,e){return a.includes(JSON.stringify(n._ids(t,e)))}}}this._shapes.forEach(function(t){return t.hover(i)});if(this._legend){this._legendClass.hover(i)}}return this};t.prototype.label=function t(e){return arguments.length?(this._label=typeof e==="function"?e:Zu(e),this):this._label};t.prototype.legend=function t(e){return arguments.length?(this._legend=e,this):this._legend};t.prototype.legendConfig=function t(e){return arguments.length?(this._legendConfig=Vu(this._legendConfig,e),this):this._legendConfig};t.prototype.legendTooltip=function t(e){return arguments.length?(this._legendTooltip=Vu(this._legendTooltip,e),this):this._legendTooltip};t.prototype.legendPosition=function t(e){return arguments.length?(this._legendPosition=e,this):this._legendPosition};t.prototype.loadingHTML=function t(e){return arguments.length?(this._loadingHTML=typeof e==="function"?e:Zu(e),this):this._loadingHTML};t.prototype.loadingMessage=function t(e){return arguments.length?(this._loadingMessage=e,this):this._loadingMessage};t.prototype.locale=function t(e){return arguments.length?(this._locale=e,this):this._locale};t.prototype.messageMask=function t(e){return arguments.length?(this._messageMask=e,this):this._messageMask};t.prototype.messageStyle=function t(e){return arguments.length?(this._messageStyle=Vu(this._messageStyle,e),this):this._messageStyle};t.prototype.noDataHTML=function t(e){return arguments.length?(this._noDataHTML=typeof e==="function"?e:Zu(e),this):this._noDataHTML};t.prototype.noDataMessage=function t(e){return arguments.length?(this._noDataMessage=e,this):this._noDataMessage};t.prototype.scrollContainer=function t(e){return arguments.length?(this._scrollContainer=e,this):this._scrollContainer};t.prototype.select=function t(e){return arguments.length?(this._select=qa(e),this):this._select};t.prototype.shape=function t(e){return arguments.length?(this._shape=typeof e==="function"?e:Zu(e),this):this._shape};t.prototype.shapeConfig=function t(e){return arguments.length?(this._shapeConfig=Vu(this._shapeConfig,e),this):this._shapeConfig};t.prototype.time=function t(e){if(arguments.length){if(typeof e==="function"){this._time=e}else{this._time=ju(e);if(!this._aggs[e]){this._aggs[e]=function(t){var e=Array.from(new Set(t));return e.length===1?e[0]:e}}}return this}else{return this._time}};t.prototype.timeFilter=function t(e){return arguments.length?(this._timeFilter=e,this):this._timeFilter};t.prototype.timeline=function t(e){return arguments.length?(this._timeline=e,this):this._timeline};t.prototype.timelineConfig=function t(e){return arguments.length?(this._timelineConfig=Vu(this._timelineConfig,e),this):this._timelineConfig};t.prototype.title=function t(e){return arguments.length?(this._title=typeof e==="function"?e:Zu(e),this):this._title};t.prototype.titleConfig=function t(e){return arguments.length?(this._titleConfig=Vu(this._titleConfig,e),this):this._titleConfig};t.prototype.tooltip=function t(e){return arguments.length?(this._tooltip=e,this):this._tooltip};t.prototype.tooltipConfig=function t(e){return arguments.length?(this._tooltipConfig=Vu(this._tooltipConfig,e),this):this._tooltipConfig};t.prototype.total=function t(e){return arguments.length?(this._total=typeof e==="function"?e:ju(e),this):this._total};t.prototype.totalConfig=function t(e){return arguments.length?(this._totalConfig=Vu(this._totalConfig,e),this):this._totalConfig};t.prototype.width=function t(e){return arguments.length?(this._width=e,this):this._width};t.prototype.zoom=function t(e){return arguments.length?(this._zoom=e,this):this._zoom};t.prototype.zoomBrushHandleSize=function t(e){return arguments.length?(this._zoomBrushHandleSize=e,this):this._zoomBrushHandleSize};t.prototype.zoomBrushHandleStyle=function t(e){return arguments.length?(this._zoomBrushHandleStyle=e,this):this._zoomBrushHandleStyle};t.prototype.zoomBrushSelectionStyle=function t(e){return arguments.length?(this._zoomBrushSelectionStyle=e,this):this._zoomBrushSelectionStyle};t.prototype.zoomControlStyle=function t(e){return arguments.length?(this._zoomControlStyle=e,this):this._zoomControlStyle};t.prototype.zoomControlStyleActive=function t(e){return arguments.length?(this._zoomControlStyleActive=e,this):this._zoomControlStyleActive};t.prototype.zoomControlStyleHover=function t(e){return arguments.length?(this._zoomControlStyleHover=e,this):this._zoomControlStyleHover};t.prototype.zoomFactor=function t(e){return arguments.length?(this._zoomFactor=e,this):this._zoomFactor};t.prototype.zoomMax=function t(e){return arguments.length?(this._zoomMax=e,this):this._zoomMax};t.prototype.zoomPan=function t(e){return arguments.length?(this._zoomPan=e,this):this._zoomPan};t.prototype.zoomPadding=function t(e){return arguments.length?(this._zoomPadding=e,this):this._zoomPadding};t.prototype.zoomScroll=function t(e){return arguments.length?(this._zoomScroll=e,this):this._zoomScroll};return t}(Yu);function jE(t,e){var n=e&&t.objects[e]?e:Object.keys(t.objects)[0];return zy(t,t.objects[n])}var HE=function(S){function t(){var i=this;S.call(this);this._fitObject=false;this._noDataMessage=false;this._ocean="#cdd1d3";this._point=ju("point");this._pointSize=Zu(1);this._pointSizeMax=10;this._pointSizeMin=5;this._pointSizeScale="linear";this._projection=uy();this._projectionPadding=th(20);this._rotate=[0,0];this._shape=Zu("Circle");this._shapeConfig=Vu(this._shapeConfig,{hoverOpacity:1,Path:{fill:function(t){if(i._colorScale&&!i._coordData.features.includes(t)){var e=i._colorScale(t);if(e!==undefined&&e!==null){return i._colorScaleClass._colorScale(e)}}return"#f5f5f3"},on:{mouseenter:function(t){return!i._coordData.features.includes(t)?i._on.mouseenter.bind(i)(t):null},"mousemove.shape":function(t){return!i._coordData.features.includes(t)?i._on["mousemove.shape"].bind(i)(t):null},mouseleave:function(t){return!i._coordData.features.includes(t)?i._on.mouseleave.bind(i)(t):null}},stroke:function(t,e){var n=typeof i._shapeConfig.Path.fill==="function"?i._shapeConfig.Path.fill(t,e):i._shapeConfig.Path.fill;return Q(n).darker()},strokeWidth:1}});this._tiles=true;this._tileGen=By().wrap(false);this._tileUrl="https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}@2x.png";this._topojson=false;this._topojsonFilter=function(t){return!["010"].includes(t.id)};this._topojsonId=ju("id");this._zoom=true;this._zoomSet=false}if(S){t.__proto__=S}t.prototype=Object.create(S&&S.prototype);t.prototype.constructor=t;t.prototype._renderTiles=function t(e,n){var i=this;if(n===void 0){n=0}var r=[];if(this._tiles){r=this._tileGen.extent(this._zoomBehavior.translateExtent()).scale(this._projection.scale()*(2*Math.PI)*e.k).translate(e.apply(this._projection.translate()))();this._tileGroup.transition().duration(n).attr("transform",e)}var o=this._tileGroup.selectAll("image.tile").data(r,function(t){return t.x+"-"+t.y+"-"+t.z});o.exit().transition().duration(n).attr("opacity",0).remove();var a=r.scale/e.k;o.enter().append("image").attr("class","tile").attr("opacity",0).attr("xlink:href",function(t){return i._tileUrl.replace("{s}",["a","b","c"][Math.random()*3|0]).replace("{z}",t.z).replace("{x}",t.x).replace("{y}",t.y)}).attr("width",a).attr("height",a).attr("x",function(t){return t.x*a+r.translate[0]*a-e.x/e.k}).attr("y",function(t){return t.y*a+r.translate[1]*a-e.y/e.k}).transition().duration(n).attr("opacity",1)};t.prototype._draw=function t(e){var i=this;S.prototype._draw.call(this,e);var n=this._height-this._margin.top-this._margin.bottom,r=this._width-this._margin.left-this._margin.right;this._container=this._select.selectAll("svg.d3plus-geomap").data([0]);this._container=this._container.enter().append("svg").attr("class","d3plus-geomap").attr("opacity",0).attr("width",r).attr("height",n).attr("x",this._margin.left).attr("y",this._margin.top).style("background-color",this._ocean||"transparent").merge(this._container);this._container.transition(this._transition).attr("opacity",1).attr("width",r).attr("height",n).attr("x",this._margin.left).attr("y",this._margin.top);var o=this._container.selectAll("rect.d3plus-geomap-ocean").data([0]);o.enter().append("rect").attr("class","d3plus-geomap-ocean").merge(o).attr("width",r).attr("height",n).attr("fill",this._ocean||"transparent");this._tileGroup=this._container.selectAll("g.d3plus-geomap-tileGroup").data([0]);this._tileGroup=this._tileGroup.enter().append("g").attr("class","d3plus-geomap-tileGroup").merge(this._tileGroup);this._zoomGroup=this._container.selectAll("g.d3plus-geomap-zoomGroup").data([0]);this._zoomGroup=this._zoomGroup.enter().append("g").attr("class","d3plus-geomap-zoomGroup").merge(this._zoomGroup);var a=this._zoomGroup.selectAll("g.d3plus-geomap-paths").data([0]);a=a.enter().append("g").attr("class","d3plus-geomap-paths").merge(a);var s=this._coordData=this._topojson?jE(this._topojson,this._topojsonKey):{type:"FeatureCollection",features:[]};if(this._topojsonFilter){s.features=s.features.filter(this._topojsonFilter)}var u=this._path=M_().projection(this._projection);var h=this._filteredData.filter(function(t,e){return i._point(t,e)instanceof Array});var l=this._filteredData.filter(function(t,e){return!(i._point(t,e)instanceof Array)}).reduce(function(t,e){t[i._id(e)]=e;return t},{});var f=s.features.reduce(function(t,e){var n=i._topojsonId(e);t.push({__d3plus__:true,data:l[n],feature:e,id:n});return t},[]);var c=Zr["scale"+this._pointSizeScale.charAt(0).toUpperCase()+this._pointSizeScale.slice(1)]().domain(Ht(h,function(t,e){return i._pointSize(t,e)})).range([this._pointSizeMin,this._pointSizeMax]);if(!this._zoomSet){var d=this._fitObject?jE(this._fitObject,this._fitKey):s;this._extentBounds={type:"FeatureCollection",features:this._fitFilter?d.features.filter(this._fitFilter):d.features.slice()};this._extentBounds.features=this._extentBounds.features.reduce(function(t,e){if(e.geometry){var n={type:e.type,id:e.id,geometry:{coordinates:e.geometry.coordinates,type:e.geometry.type}};if(e.geometry.coordinates.length>1){var i=[],r=[];e.geometry.coordinates.forEach(function(t){n.geometry.coordinates=[t];i.push(u.area(n))});n.geometry.coordinates=[e.geometry.coordinates[i.indexOf(Ut(i))]];var o=u.centroid(n);e.geometry.coordinates.forEach(function(t){n.geometry.coordinates=[t];r.push(Dc(u.centroid(n),o))});var a=A(i.reduce(function(t,e,n){if(e){t.push(i[n]/e)}return t},[]),.9);n.geometry.coordinates=e.geometry.coordinates.filter(function(t,e){var n=r[e];return n===0||i[e]/n>=a})}t.push(n)}return t},[]);if(!this._extentBounds.features.length&&h.length){var p=[[undefined,undefined],[undefined,undefined]];h.forEach(function(t,e){var n=i._projection(i._point(t,e));if(p[0][0]===void 0||n[0]p[1][0]){p[1][0]=n[0]}if(p[0][1]===void 0||n[1]p[1][1]){p[1][1]=n[1]}});this._extentBounds={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:p.map(function(t){return i._projection.invert(t)})}}]};var g=Ut(h,function(t,e){return c(i._pointSize(t,e))});this._projectionPadding.top+=g;this._projectionPadding.right+=g;this._projectionPadding.bottom+=g;this._projectionPadding.left+=g}this._zoomBehavior.extent([[0,0],[r,n]]).scaleExtent([1,this._zoomMax]).translateExtent([[0,0],[r,n]]);this._zoomSet=true}this._projection=this._projection.fitExtent(this._extentBounds.features.length?[[this._projectionPadding.left,this._projectionPadding.top],[r-this._projectionPadding.right,n-this._projectionPadding.bottom]]:[[0,0],[r,n]],this._extentBounds.features.length?this._extentBounds:{type:"Sphere"});this._shapes.push((new md).data(f).d(function(t){return u(t.feature)}).select(a.node()).x(0).y(0).config(Qu.bind(this)(this._shapeConfig,"shape","Path")).render());var v=this._zoomGroup.selectAll("g.d3plus-geomap-pins").data([0]);v=v.enter().append("g").attr("class","d3plus-geomap-pins").merge(v);var _=(new dd).config(Qu.bind(this)(this._shapeConfig,"shape","Circle")).data(h).r(function(t,e){return c(i._pointSize(t,e))}).select(v.node()).sort(function(t,e){return i._pointSize(e)-i._pointSize(t)}).x(function(t,e){return i._projection(i._point(t,e))[0]}).y(function(t,e){return i._projection(i._point(t,e))[1]});var y=Object.keys(this._on);var m=y.filter(function(t){return t.includes(".Circle")}),b=y.filter(function(t){return!t.includes(".")}),x=y.filter(function(t){return t.includes(".shape")});for(var w=0;w=0){e+=n[i].value}}t.value=e}var qE=function(){return this.eachAfter(WE)};var XE=function(t){var e=this,n,i=[e],r,o,a;do{n=i.reverse(),i=[];while(e=n.pop()){t(e),r=e.children;if(r){for(o=0,a=r.length;o=0;--r){n.push(i[r])}}}return this};var YE=function(t){var e=this,n=[e],i=[],r,o,a;while(e=n.pop()){i.push(e),r=e.children;if(r){for(o=0,a=r.length;o=0){e+=n[i].value}t.value=e})};var QE=function(e){return this.eachBefore(function(t){if(t.children){t.children.sort(e)}})};var ZE=function(t){var e=this,n=KE(e,t),i=[e];while(e!==n){e=e.parent;i.push(e)}var r=i.length;while(t!==n){i.splice(r,0,t);t=t.parent}return i};function KE(t,e){if(t===e){return t}var n=t.ancestors(),i=e.ancestors(),r=null;t=n.pop();e=i.pop();while(t===e){r=t;t=n.pop();e=i.pop()}return r}var JE=function(){var t=this,e=[t];while(t=t.parent){e.push(t)}return e};var tS=function(){var e=[];this.each(function(t){e.push(t)});return e};var eS=function(){var e=[];this.eachBefore(function(t){if(!t.children){e.push(t)}});return e};var nS=function(){var e=this,n=[];e.each(function(t){if(t!==e){n.push({source:t.parent,target:t})}});return n};function iS(t,e){var n=new uS(t),i=+t.value&&(n.value=t.value),r,o=[n],a,s,u,h;if(e==null){e=oS}while(r=o.pop()){if(i){r.value=+r.data.value}if((s=e(r.data))&&(h=s.length)){r.children=new Array(h);for(u=h-1;u>=0;--u){o.push(a=r.children[u]=new uS(s[u]));a.parent=r;a.depth=r.depth+1}}}return n.eachBefore(sS)}function rS(){return iS(this).eachBefore(aS)}function oS(t){return t.children}function aS(t){t.data=t.data.data}function sS(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function uS(t){this.data=t;this.depth=this.height=0;this.parent=null}uS.prototype=iS.prototype={constructor:uS,count:qE,each:XE,eachAfter:YE,eachBefore:GE,sum:$E,sort:QE,path:ZE,ancestors:JE,descendants:tS,leaves:eS,links:nS,copy:rS};function hS(t){if(typeof t!=="function"){throw new Error}return t}function lS(){return 0}var fS=function(t){return function(){return t}};var cS=function(t){t.x0=Math.round(t.x0);t.y0=Math.round(t.y0);t.x1=Math.round(t.x1);t.y1=Math.round(t.y1)};var dS=function(t,e,n,i,r){var o=t.children,a,s=-1,u=o.length,h=t.value&&(i-e)/t.value;while(++s=0){o=i[r];o.z+=e;o.m+=e;e+=o.s+(n+=o.c)}}function mS(t,e,n){return t.a.parent===e.parent?t.a:n}function bS(t,e){this._=t;this.parent=null;this.children=null;this.A=null;this.a=this;this.z=0;this.m=0;this.c=0;this.s=0;this.t=null;this.i=e}bS.prototype=Object.create(uS.prototype);function xS(t){var e=new bS(t,0),n,i=[e],r,o,a,s;while(n=i.pop()){if(o=n._.children){n.children=new Array(s=o.length);for(a=s-1;a>=0;--a){i.push(r=n.children[a]=new bS(o[a],a));r.parent=n}}}(e.parent=new bS(null,0)).children=[e];return e}var wS=function(){var c=pS,h=1,l=1,f=null;function e(t){var e=xS(t);e.eachAfter(d),e.parent.m=-e.z;e.eachBefore(p);if(f){t.eachBefore(g)}else{var n=t,i=t,r=t;t.eachBefore(function(t){if(t.xi.x){i=t}if(t.depth>r.depth){r=t}});var o=n===i?1:c(n,i)/2,a=o-n.x,s=h/(i.x+o+a),u=l/(r.depth||1);t.eachBefore(function(t){t.x=(t.x+a)*s;t.y=t.depth*u})}return t}function d(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e){yS(t);var r=(e[0].z+e[e.length-1].z)/2;if(i){t.z=i.z+c(t._,i._);t.m=t.z-r}else{t.z=r}}else if(i){t.z=i.z+c(t._,i._)}t.parent.A=o(t,i,t.parent.A||n[0])}function p(t){t._.x=t.z+t.parent.m;t.m+=t.parent.m}function o(t,e,n){if(e){var i=t,r=t,o=e,a=i.parent.children[0],s=i.m,u=r.m,h=o.m,l=a.m,f;while(o=vS(o),i=gS(i),o&&i){a=gS(a);r=vS(r);r.a=t;f=o.z+h-i.z-s+c(o._,i._);if(f>0){_S(mS(o,t,n),t,f);s+=f;u+=f}h+=o.m;s+=i.m;l+=a.m;u+=r.m}if(o&&!vS(r)){r.t=o;r.m+=h-u}if(i&&!gS(a)){a.t=i;a.m+=s-l;n=t}}return n}function g(t){t.x*=h;t.y=t.depth*l}e.separation=function(t){return arguments.length?(c=t,e):c};e.size=function(t){return arguments.length?(f=false,h=+t[0],l=+t[1],e):f?null:[h,l]};e.nodeSize=function(t){return arguments.length?(f=true,h=+t[0],l=+t[1],e):f?[h,l]:null};return e};var CS=function(t,e,n,i,r){var o=t.children,a,s=-1,u=o.length,h=t.value&&(r-n)/t.value;while(++sy){y=h}w=v*v*x;m=Math.max(y/w,w/_);if(m>b){v-=h;break}b=m}a.push(u={value:v,dice:d1?t:1)};return t}(ES);var kS=function(){var a=AS,e=false,n=1,i=1,s=[0],u=lS,h=lS,l=lS,f=lS,c=lS;function r(t){t.x0=t.y0=0;t.x1=n;t.y1=i;t.eachBefore(o);s=[0];if(e){t.eachBefore(cS)}return t}function o(t){var e=s[t.depth],n=t.x0+e,i=t.y0+e,r=t.x1-e,o=t.y1-e;if(r1})).select(Ku("g.d3plus-Tree-Links",g).node()).config(Qu.bind(this)(this._shapeConfig,"shape","Path")).config({d:function(t){var e=l._shapeConfig.r;if(typeof e==="function"){e=e(t.data,t.i)}var n=t.parent.x-t.x+(l._orient==="vertical"?0:e),i=t.parent.y-t.y+(l._orient==="vertical"?e:0),r=l._orient==="vertical"?0:-e,o=l._orient==="vertical"?-e:0;return l._orient==="vertical"?"M"+r+","+o+"C"+r+","+(o+i)/2+" "+n+","+(o+i)/2+" "+n+","+i:"M"+r+","+o+"C"+(r+n)/2+","+o+" "+(r+n)/2+","+i+" "+n+","+i},id:function(t,e){return l._ids(t,e).join("-")}}).render());this._shapes.push((new dd).data(o).select(Ku("g.d3plus-Tree-Shapes",g).node()).config(Qu.bind(this)(this._shapeConfig,"shape","Circle")).config({id:function(t,e){return l._ids(t,e).join("-")},label:function(t,e){if(l._label){return l._label(t.data,e)}var n=l._ids(t,e).slice(0,t.depth);return n[n.length-1]},labelConfig:{textAnchor:function(t){return l._orient==="vertical"?"middle":t.data.children&&t.data.depth!==l._groupBy.length?"end":"start"},verticalAlign:function(t){return l._orient==="vertical"?t.data.depth===1?"bottom":"top":"middle"}},hitArea:function(t,e,n){var i=l._labelHeight,r=l._labelWidths[t.depth-1];return{width:l._orient==="vertical"?r:n.r*2+r,height:l._orient==="horizontal"?i:n.r*2+i,x:l._orient==="vertical"?-r/2:t.children&&t.depth!==l._groupBy.length?-(n.r+r):-n.r,y:l._orient==="horizontal"?-i/2:t.children&&t.depth!==l._groupBy.length?-(n.r+l._labelHeight):-n.r}},labelBounds:function(t,e,n){var i;var r=l._labelHeight,o=l._orient==="vertical"?"height":"width",a=l._labelWidths[t.depth-1],s=l._orient==="vertical"?"width":"height",u=l._orient==="vertical"?"x":"y",h=l._orient==="vertical"?"y":"x";return i={},i[s]=a,i[o]=r,i[u]=-a/2,i[h]=t.children&&t.depth!==l._groupBy.length?-(n.r+r):n.r,i}}).render());return this};t.prototype.orient=function t(e){return arguments.length?(this._orient=e,this):this._orient};t.prototype.separation=function t(e){return arguments.length?(this._separation=e,this):this._separation};return t}(LE);var DS=function(f){function t(){f.call(this);this._layoutPadding=1;this._shapeConfig=Vu({},this._shapeConfig,{labelConfig:{fontMax:20,fontResize:true,padding:15}});this._sort=function(t,e){return e.value-t.value};this._sum=ju("value");this._tile=AS;this._treemap=kS().round(true)}if(f){t.__proto__=f}t.prototype=Object.create(f&&f.prototype);t.prototype.constructor=t;t.prototype._draw=function t(e){var n=this;f.prototype._draw.call(this,e);var i=Gt();for(var r=0;r<=this._drawDepth;r++){i.key(n._groupBy[r])}i=i.entries(this._filteredData);var o=this._treemap.padding(this._layoutPadding).size([this._width-this._margin.left-this._margin.right,this._height-this._margin.top-this._margin.bottom]).tile(this._tile)(iS({values:i},function(t){return t.values}).sum(this._sum).sort(this._sort));var a=[],s=this;function u(t){for(var e=0;e=h._groupBy.length-1){if(h._focus&&h._focus===t.id){h.active(false);h._on.mouseenter.bind(h)(t,e);h._focus=undefined;h._zoomToBounds(null)}else{h.hover(false);var n=h._nodeGroupBy&&h._nodeGroupBy[h._drawDepth](t,e)?h._nodeGroupBy[h._drawDepth](t,e):h._id(t,e),i=h._linkLookup[n],r=h._nodeLookup[n];var o=[r.id];var a=[r.x-r.r,r.x+r.r],s=[r.y-r.r,r.y+r.r];i.forEach(function(t){o.push(t.id);if(t.x-t.ra[1]){a[1]=t.x+t.r}if(t.y-t.rs[1]){s[1]=t.y+t.r}});h.active(function(t,e){if(t.source&&t.target){return t.source.id===r.id||t.target.id===r.id}else{return o.includes(h._ids(t,e)[h._drawDepth])}});h._focus=t.id;var u=$m(h._container.node());a=a.map(function(t){return t*u.k+u.x});s=s.map(function(t){return t*u.k+u.y});h._zoomToBounds([[a[0],s[0]],[a[1],s[1]]])}}};this._on["click.legend"]=function(t,e){var n=h._id(t);var i=h._ids(t);i=i[i.length-1];if(h._hover&&h._drawDepth>=h._groupBy.length-1){if(h._focus&&h._focus===n){h.active(false);h._on.mouseenter.bind(h)(t,e);h._focus=undefined;h._zoomToBounds(null)}else{h.hover(false);var r=n.map(function(t){return h._nodeLookup[t]});var o=[i];var a=[r[0].x-r[0].r,r[0].x+r[0].r],s=[r[0].y-r[0].r,r[0].y+r[0].r];r.forEach(function(t){o.push(t.id);if(t.x-t.ra[1]){a[1]=t.x+t.r}if(t.y-t.rs[1]){s[1]=t.y+t.r}});h.active(function(t,e){if(t.source&&t.target){return o.includes(t.source.id)&&o.includes(t.target.id)}else{var n=h._ids(t,e);return o.includes(n[n.length-1])}});h._focus=n;var u=$m(h._container.node());a=a.map(function(t){return t*u.k+u.x});s=s.map(function(t){return t*u.k+u.y});h._zoomToBounds([[a[0],s[0]],[a[1],s[1]]])}h._on["mousemove.legend"].bind(h)(t,e)}};this._sizeMin=5;this._sizeScale="sqrt";this._shape=Zu("Circle");this._shapeConfig=Vu(this._shapeConfig,{labelConfig:{duration:0,fontMin:1,fontResize:true,labelPadding:0,textAnchor:"middle",verticalAlign:"middle"},Path:{fill:"none",label:false,stroke:"#eee",strokeWidth:1}});this._x=ju("x");this._y=ju("y");this._zoom=true}if(N){t.__proto__=N}t.prototype=Object.create(N&&N.prototype);t.prototype.constructor=t;t.prototype._draw=function t(e){var r=this;N.prototype._draw.call(this,e);var n=this._height-this._margin.top-this._margin.bottom,i="translate("+this._margin.left+", "+this._margin.top+")",o=this._transition,a=this._width-this._margin.left-this._margin.right;var s=this._filteredData.reduce(function(t,e,n){t[r._id(e,n)]=e;return t},{});var u=this._nodes.reduce(function(t,e,n){t[r._nodeGroupBy?r._nodeGroupBy[r._drawDepth](e,n):r._id(e,n)]=e;return t},{});u=Array.from(new Set(Object.keys(s).concat(Object.keys(u)))).map(function(t,e){var n=s[t],i=u[t];if(i===undefined){return false}return{__d3plus__:true,data:n||i,i:e,id:t,fx:n!==undefined&&r._x(n)!==undefined?r._x(n):r._x(i),fy:n!==undefined&&r._y(n)!==undefined?r._y(n):r._y(i),node:i,r:r._size?n!==undefined&&r._size(n)!==undefined?r._size(n):r._size(i):r._sizeMin,shape:n!==undefined&&r._shape(n)!==undefined?r._shape(n):r._shape(i)}}).filter(function(t){return t});var h=Ht(u.map(function(t){return t.fx})),l=Ht(u.map(function(t){return t.fy}));var f=vn().domain(h).range([0,a]),c=vn().domain(l).range([0,n]);var d=(h[1]-h[0])/(l[1]-l[0]),p=a/n;if(d>p){var g=n*p/d;c.range([(n-g)/2,n-(n-g)/2])}else{var v=a*d/p;f.range([(a-v)/2,a-(a-v)/2])}u.forEach(function(t){t.x=f(t.fx);t.y=c(t.fy)});var _=Ht(u.map(function(t){return t.r}));var y=this._sizeMax||qt(Wt(u.map(function(e){return u.map(function(t){return e===t?null:Dc([e.x,e.y],[t.x,t.y])})})))/2;var m=Zr["scale"+this._sizeScale.charAt(0).toUpperCase()+this._sizeScale.slice(1)]().domain(_).range([_[0]===_[1]?y:qt([y/2,this._sizeMin]),y]),b=f.domain(),x=c.domain();var w=b[1]-b[0],C=x[1]-x[0];u.forEach(function(t){var e=m(t.r);if(b[0]>f.invert(t.x-e)){b[0]=f.invert(t.x-e)}if(b[1]c.invert(t.y-e)){x[0]=c.invert(t.y-e)}if(x[1]a[1]){a[1]=t.x+t.r}if(t.y-t.rs[1]){s[1]=t.y+t.r}});u.hover(function(t,e){if(t.source&&t.target){return t.source.id===r.id||t.target.id===r.id}else{return o.includes(u._ids(t,e)[u._drawDepth])}})}};this._on["click.shape"]=function(t){u._center=t.id;u._draw()};this._sizeMin=5;this._sizeScale="sqrt";this._shape=Zu("Circle");this._shapeConfig=Vu(this._shapeConfig,{labelConfig:{duration:0,fontMin:1,fontResize:true,labelPadding:0,textAnchor:"middle",verticalAlign:"middle"},Path:{fill:"none",label:false,stroke:"#eee",strokeWidth:1}})}if(z){t.__proto__=z}t.prototype=Object.create(z&&z.prototype);t.prototype.constructor=t;t.prototype._draw=function t(e){var h=this;z.prototype._draw.call(this,e);var r=this._filteredData.reduce(function(t,e,n){t[h._id(e,n)]=e;return t},{});var l=this._nodes;if(!this._nodes.length&&this._links.length){var n=Array.from(new Set(this._links.reduce(function(t,e){return t.concat([e.source,e.target])},[])));l=n.map(function(t){return typeof t==="object"?t:{id:t}})}l=l.reduce(function(t,e,n){t[h._nodeGroupBy?h._nodeGroupBy[h._drawDepth](e,n):h._id(e,n)]=e;return t},{});l=Array.from(new Set(Object.keys(r).concat(Object.keys(l)))).map(function(t,e){var n=r[t],i=l[t];if(i===undefined){return false}return{__d3plus__:true,data:n||i,i:e,id:t,node:i,shape:n!==undefined&&h._shape(n)!==undefined?h._shape(n):h._shape(i)}}).filter(function(t){return t});var i=this._nodeLookup=l.reduce(function(t,e){t[e.id]=e;return t},{});var o=this._links.map(function(n){var t=["source","target"];return t.reduce(function(t,e){t[e]=typeof n[e]==="number"?l[n[e]]:i[n[e].id||n[e]];return t},{})});var a=o.reduce(function(t,e){if(!t[e.source.id]){t[e.source.id]=[]}t[e.source.id].push(e);if(!t[e.target.id]){t[e.target.id]=[]}t[e.target.id].push(e);return t},{});var f=this._height-this._margin.top-this._margin.bottom,s="translate("+this._margin.left+", "+this._margin.top+")",u=this._transition,c=this._width-this._margin.left-this._margin.right;var d=[],p=qt([f,c])/2,g=p/3;var v=g,_=g*2;var y=i[this._center];y.x=c/2;y.y=f/2;y.r=this._sizeMin?Ut([this._sizeMin,v*.65]):this._sizeMax?qt([this._sizeMax,v*.65]):v*.65;var m=[y],b=[];a[this._center].forEach(function(t){var e=t.source.id===h._center?t.target:t.source;e.edges=a[e.id].filter(function(t){return t.source.id!==h._center||t.target.id!==h._center});e.edge=t;m.push(e);b.push(e)});b.sort(function(t,e){return t.edges.length-e.edges.length});var x=[];var w=0;b.forEach(function(t){var r=t.id;t.edges=t.edges.filter(function(t){return!m.includes(t.source)&&t.target.id===r||!m.includes(t.target)&&t.source.id===r});w+=t.edges.length||1;t.edges.forEach(function(t){var e=t.source;var n=t.target;var i=n.id===r?e:n;m.push(i)})});var C=Math.PI*2;var E=0;b.forEach(function(o,t){var a=o.edges.length||1;var e=C/w*a;if(t===0){E-=e/2}var s=E+e/2-C/4;o.radians=s;o.x=c/2+v*Math.cos(s);o.y=f/2+v*Math.sin(s);E+=e;o.edges.forEach(function(t,e){var n=t.source.id===o.id?t.target:t.source;var i=C/w;var r=s-i*a/2+i/2+i*e;n.radians=r;n.x=c/2+_*Math.cos(r);n.y=f/2+_*Math.sin(r);x.push(n)})});var S=g/2;var A=g/4;var k=S/2-4;if(S/2-4<8){k=qt([S/2,8])}var M=A/2-4;if(A/2-4<4){M=qt([A/2,4])}if(M>g/10){M=g/10}if(M>k&&M>10){M=k*.75}if(k>M*1.5){k=M*1.5}k=Math.floor(k);M=Math.floor(M);var T;if(this._size){var B=Ht(r,function(t){return t.size});if(B[0]===B[1]){B[0]=0}T=vn().domain(B).rangeRound([3,qt([k,M])]);var D=y.size;y.r=T(D)}else{T=vn().domain([1,2]).rangeRound([k,M])}x.forEach(function(t){t.ring=2;var e=h._size?t.size:2;t.r=h._sizeMin?Ut([h._sizeMin,T(e)]):h._sizeMax?qt([h._sizeMax,T(e)]):T(e)});b.forEach(function(t){t.ring=1;var e=h._size?t.size:1;t.r=h._sizeMin?Ut([h._sizeMin,T(e)]):h._sizeMax?qt([h._sizeMax,T(e)]):T(e)});l=[y].concat(b).concat(x);b.forEach(function(u){var t=["source","target"];var n=u.edge;t.forEach(function(e){n[e]=l.find(function(t){return t.id===n[e].id})});d.push(n);a[u.id].forEach(function(i){var e=i.source.id===u.id?i.target:i.source;if(e.id!==y.id){var r=x.find(function(t){return t.id===e.id});if(!r){r=b.find(function(t){return t.id===e.id})}if(r){i.spline=true;var o=c/2;var a=f/2;var s=v+(_-v)*.5;var t=["source","target"];t.forEach(function(e,t){i[e+"X"]=i[e].x+Math.cos(i[e].ring===2?i[e].radians+Math.PI:i[e].radians)*i[e].r;i[e+"Y"]=i[e].y+Math.sin(i[e].ring===2?i[e].radians+Math.PI:i[e].radians)*i[e].r;i[e+"BisectX"]=o+s*Math.cos(i[e].radians);i[e+"BisectY"]=a+s*Math.sin(i[e].radians);i[e]=l.find(function(t){return t.id===i[e].id});if(i[e].edges===undefined){i[e].edges={}}var n=t===0?i.target.id:i.source.id;if(i[e].id===u.id){i[e].edges[n]={angle:u.radians+Math.PI,radius:g/2}}else{i[e].edges[n]={angle:r.radians,radius:g/2}}});d.push(i)}}})});l.forEach(function(t){if(t.id!==h._center){var e=h._shapeConfig.labelConfig.fontSize&&h._shapeConfig.labelConfig.fontSize(t)||11;var n=e*1.4;var i=n*2;var r=5;var o=g-t.r;var a=t.radians*(180/Math.PI);var s=t.r+r;var u="start";if(a<-90||a>90){s=-t.r-o-r;u="end";a+=180}t.labelBounds={x:s,y:-n/2,width:o,height:i};t.rotate=a;t.textAnchor=u}else{t.labelBounds={x:-v/2,y:-v/2,width:v,height:v}}});this._linkLookup=o.reduce(function(t,e){if(!t[e.source.id]){t[e.source.id]=[]}t[e.source.id].push(e.target);if(!t[e.target.id]){t[e.target.id]=[]}t[e.target.id].push(e.source);return t},{});this._shapes.push((new md).config(Qu.bind(this)(this._shapeConfig,"edge","Path")).id(function(t){return t.source.id+"_"+t.target.id}).d(function(t){return t.spline?"M"+t.sourceX+","+t.sourceY+"C"+t.sourceBisectX+","+t.sourceBisectY+" "+t.targetBisectX+","+t.targetBisectY+" "+t.targetX+","+t.targetY:"M"+t.source.x+","+t.source.y+" "+t.target.x+","+t.target.y}).data(d).select(Ku("g.d3plus-rings-links",{parent:this._select,transition:u,enter:{transform:s},update:{transform:s}}).node()).render());var N=this;var P={label:function(t){return l.length<=h._labelCutoff||(h._hover&&h._hover(t)||h._active&&h._active(t))?h._drawLabel(t.data||t.node,t.i):false},labelBounds:function(t){return t.labelBounds},labelConfig:{fontColor:function(t){return t.data.data.id===h._center?Qu.bind(N)(N._shapeConfig,"shape",t.key).labelConfig.fontColor(t):xh(Qu.bind(N)(N._shapeConfig,"shape",t.key).fill(t))},fontResize:function(t){return t.data.data.id===h._center},padding:0,textAnchor:function(t){return i[t.data.data.id].textAnchor||Qu.bind(N)(N._shapeConfig,"shape",t.key).labelConfig.textAnchor},verticalAlign:function(t){return t.data.data.id===h._center?"middle":"top"}},rotate:function(t){return i[t.id].rotate||0},select:Ku("g.d3plus-rings-nodes",{parent:this._select,transition:u,enter:{transform:s},update:{transform:s}}).node()};Gt().key(function(t){return t.shape}).entries(l).forEach(function(t){h._shapes.push((new xd[t.key]).config(Qu.bind(h)(h._shapeConfig,"shape",t.key)).config(P).data(t.values).render())});return this};t.prototype.center=function t(e){return arguments.length?(this._center=e,this):this._center};t.prototype.hover=function t(e){this._hover=e;this._shapes.forEach(function(t){return t.hover(e)});if(this._legend){this._legendClass.hover(e)}return this};t.prototype.links=function t(e,n){if(arguments.length){var i=this._queue.find(function(t){return t[3]==="links"});var r=[sm.bind(this),e,n,"links"];if(i){this._queue[this._queue.indexOf(i)]=r}else{this._queue.push(r)}return this}return this._links};t.prototype.nodeGroupBy=function t(e){var n=this;if(!arguments.length){return this._nodeGroupBy}if(!(e instanceof Array)){e=[e]}return this._nodeGroupBy=e.map(function(t){if(typeof t==="function"){return t}else{if(!n._aggs[t]){n._aggs[t]=function(t){var e=Array.from(new Set(t));return e.length===1?e[0]:e}}return ju(t)}}),this};t.prototype.nodes=function t(e,n){if(arguments.length){var i=this._queue.find(function(t){return t[3]==="nodes"});var r=[sm.bind(this),e,n,"nodes"];if(i){this._queue[this._queue.indexOf(i)]=r}else{this._queue.push(r)}return this}return this._nodes};t.prototype.size=function t(e){return arguments.length?(this._size=typeof e==="function"||!e?e:ju(e),this):this._size};t.prototype.sizeMax=function t(e){return arguments.length?(this._sizeMax=e,this):this._sizeMax};t.prototype.sizeMin=function t(e){return arguments.length?(this._sizeMin=e,this):this._sizeMin};t.prototype.sizeScale=function t(e){return arguments.length?(this._sizeScale=e,this):this._sizeScale};return t}(LE);var zS=function(t){if(t.includes("d3plus-buffer-start")){return t}var e=["d3plus-buffer-start"];t.forEach(function(t){e.push(t);e.push("d3plus-buffer-"+t)});return e};var OS=function(t){var e=this;var n=t.data;var i=t.x;var r=t.y;var o=t.x2;var a=t.y2;var s=t.buffer;if(s===void 0){s=10}var u=o?"x2":"x";var h=a?"y2":"y";var l=this._discrete==="x"?r:i;var f=l.domain().slice();var c=this._discrete==="x";if(c){f.reverse()}var d,p;if(this._stacked){var g=Gt().key(function(t){return t[e._discrete]}).entries(n).map(function(t){return t.values.map(function(t){return t[c?h:u]})});p=g.map(function(t){return Xt(t.filter(function(t){return t>0}))});d=g.map(function(t){return Xt(t.filter(function(t){return t<0}))})}else{p=n.map(function(t){return t[c?h:u]});d=p}var v=l(Ut(p));if(c?vl(0)){v+=c?-s:s}v=l.invert(v);var _=l(qt(d));if(c?_>l(0):_f[1]){f[1]=v}if(_c[1]){c[1]=i}}if(s.invert&&s(t[f])-g[0]d[0]){d[0]=r}}if(s.invert&&g[1]-s(t[f])c[1]){c[1]=r}}if(u.invert&&u(t[f])-g[0]d[0]){d[0]=o}}if(u.invert&&g[1]-u(t[f])l[1]){l[1]=c}if(this._discrete==="x"){l.reverse()}h.domain(l);return[i,r]};function LS(t){return this._sizeScaleD3(this._size?this._size(t):null)}var jS=function(jt){function t(){var n=this;jt.call(this);this._annotations=[];this._barPadding=0;this._buffer={Bar:OS,Circle:FS,Line:IS,Rect:RS};this._confidenceConfig={fillOpacity:Zu(.5)};this._groupPadding=5;this._shape=Zu("Circle");this._shapeConfig=Vu(this._shapeConfig,{Area:{label:function(t,e){return n._stacked?n._drawLabel(t,e):false},labelConfig:{fontResize:true}},Bar:{labelConfig:{textAnchor:function(){return n._discrete==="x"?"middle":"end"},verticalAlign:function(){return n._discrete==="x"?"top":"middle"}}},Circle:{r:LS.bind(this)},Line:{fill:Zu("none"),label:false,stroke:function(t,e){return mh(n._id(t,e))},strokeWidth:Zu(1)},Rect:{height:function(t){return LS.bind(n)(t)*2},width:function(t){return LS.bind(n)(t)*2}}});this._sizeMax=20;this._sizeMin=5;this._sizeScale="sqrt";this._stackOffset=If;this._stackOrder=zf;this._x=ju("x");this._x2=ju("x2");this._xAxis=(new Ed).align("end");this._x2Axis=(new kd).align("start");this._xTest=(new Ed).align("end").gridSize(0);this._x2Test=(new kd).align("start").gridSize(0);this._xConfig={};this._x2Config={padding:0};this._y=ju("y");this._y2=ju("y2");this._yAxis=(new Sd).align("start");this._yTest=(new Sd).align("start").gridSize(0);this._y2Axis=(new Ad).align("end");this._y2Test=(new Sd).align("end").gridSize(0);this._yConfig={gridConfig:{stroke:function(t){var e=n._yAxis.domain();return e[e.length-1]===t.id?"transparent":"#ccc"}}};this._y2Config={}}if(jt){t.__proto__=jt}t.prototype=Object.create(jt&&jt.prototype);t.prototype.constructor=t;t.prototype._draw=function t(e){var A=this;if(!this._filteredData.length){return this}var a=function(t,e){return A._stacked?""+(A._groupBy.length>1?A._ids(t,e).slice(0,-1).join("_"):"group"):""+A._ids(t,e).join("_")};var s=this._filteredData.map(function(t,e){return{__d3plus__:true,data:t,group:a(t,e),i:e,hci:A._confidence&&A._confidence[1]&&A._confidence[1](t,e),id:A._ids(t,e).slice(0,A._drawDepth+1).join("_"),lci:A._confidence&&A._confidence[0]&&A._confidence[0](t,e),shape:A._shape(t,e),x:A._x(t,e),x2:A._x2(t,e),y:A._y(t,e),y2:A._y2(t,e)}});this._formattedData=s;if(this._size){var n=Ht(s,function(t){return A._size(t.data)});this._sizeScaleD3=function(){return A._sizeMin};this._sizeScaleD3=Zr["scale"+this._sizeScale.charAt(0).toUpperCase()+this._sizeScale.slice(1)]().domain(n).range([n[0]===n[1]?this._sizeMax:qt([this._sizeMax/2,this._sizeMin]),this._sizeMax])}else{this._sizeScaleD3=function(){return A._sizeMin}}var i=s.some(function(t){return t.x2!==undefined}),r=s.some(function(t){return t.y2!==undefined});var o=this._height-this._margin.top-this._margin.bottom,u=this._discrete?this._discrete==="x"?"y":"x":undefined,h=this._discrete?this._discrete==="x"?"y2":"x2":undefined,l=[u,h],f=this._select,c=this._transition,d=this._width-this._margin.left-this._margin.right;var p=this._time&&s[0].x2===this._time(s[0].data,s[0].i),g=this._time&&s[0].x===this._time(s[0].data,s[0].i),v=this._time&&s[0].y2===this._time(s[0].data,s[0].i),_=this._time&&s[0].y===this._time(s[0].data,s[0].i);for(var y=0;ye){x[t][0]=e}else if(x[t]&&x[t][1]et?st-et:0;var Tt="translate("+(this._margin.left+Mt)+", "+(this._margin.top+ht)+")";var Bt=Ku("g.d3plus-plot-y-axis",{parent:f,transition:c,enter:{transform:Tt},update:{transform:Tt}});var Dt="translate(-"+this._margin.right+", "+(this._margin.top+ht)+")";var Nt=Ku("g.d3plus-plot-y2-axis",{parent:f,transition:c,enter:{transform:Dt},update:{transform:Dt}});this._xAxis.domain(D).height(o-(at+ht+Ct)).maxSize(o/2).range([st,d-(ct+wt)]).scale(N.toLowerCase()).select(At.node()).ticks(G).width(d).config(rt).config(this._xConfig).render();this._x2Axis.domain(i?P:D).height(o-(vt+ht+Ct)).range([st,d-(pt+wt)]).scale(z.toLowerCase()).select(kt.node()).ticks(i?X:G).width(d).config(rt).config(K).config(this._x2Config).render();L=function(t,e){if(e==="x2"){if(A._x2Config.scale==="log"&&t===0){t=P[0]<0?-1:1}return A._x2Axis._getPosition.bind(A._x2Axis)(t)}else{if(A._xConfig.scale==="log"&&t===0){t=D[0]<0?-1:1}return A._xAxis._getPosition.bind(A._xAxis)(t)}};var Pt=this._xAxis._getRange();this._yAxis.domain(O).height(o).maxSize(d/2).range([this._xAxis.outerBounds().y+at,o-(mt+ht+Ct)]).scale(F.toLowerCase()).select(Bt.node()).ticks($).width(Pt[Pt.length-1]).config(Q).config(this._yConfig).render();this._y2Axis.config(Q).domain(r?R:O).gridSize(0).height(o).range([this._xAxis.outerBounds().y+at,o-(xt+ht+Ct)]).scale(r?I.toLowerCase():F.toLowerCase()).select(Nt.node()).width(d-Ut([0,lt-it])).title(false).config(this._y2Config).config(J).render();H=function(t,e){if(e==="y2"){if(A._y2Config.scale==="log"&&t===0){t=R[0]<0?-1:1}return A._y2Axis._getPosition.bind(A._y2Axis)(t)-at}else{if(A._yConfig.scale==="log"&&t===0){t=O[0]<0?-1:1}return A._yAxis._getPosition.bind(A._yAxis)(t)-at}};var zt=this._yAxis._getRange();var Ot=Ku("g.d3plus-plot-annotations",{parent:f,transition:c,enter:{transform:Et},update:{transform:Et}}).node();this._annotations.forEach(function(t){(new xd[t.shape]).config(t).config({x:function(t){return t.x2?L(t.x2,"x2"):L(t.x)},x0:A._discrete==="x"?function(t){return t.x2?L(t.x2,"x2"):L(t.x)}:L(0),x1:A._discrete==="x"?null:function(t){return t.x2?L(t.x2,"x2"):L(t.x)},y:function(t){return t.y2?H(t.y2,"y2"):H(t.y)},y0:A._discrete==="y"?function(t){return t.y2?H(t.y2,"y2"):H(t.y)}:H(0)-Ft,y1:A._discrete==="y"?null:function(t){return t.y2?H(t.y2,"y2"):H(t.y)-Ft}}).select(Ot).render()});var Ft=this._xAxis.barConfig()["stroke-width"];if(Ft){Ft/=2}var Rt={duration:this._duration,label:function(t){return A._drawLabel(t.data,t.i)},select:Ku("g.d3plus-plot-shapes",{parent:f,transition:c,enter:{transform:Et},update:{transform:Et}}).node(),x:function(t){return t.x2?L(t.x2,"x2"):L(t.x)},x0:this._discrete==="x"?function(t){return t.x2?L(t.x2,"x2"):L(t.x)}:L(0),x1:this._discrete==="x"?null:function(t){return t.x2?L(t.x2,"x2"):L(t.x)},y:function(t){return t.y2?H(t.y2,"y2"):H(t.y)},y0:this._discrete==="y"?function(t){return t.y2?H(t.y2,"y2"):H(t.y)}:H(0)-Ft,y1:this._discrete==="y"?null:function(t){return t.y2?H(t.y2,"y2"):H(t.y)-Ft}};if(this._stacked){var It=u==="x"?L:H;Rt[""+u]=Rt[u+"0"]=function(t){var e=C.indexOf(t.id),n=b.indexOf(t.discrete);return e>=0?It(w[e][n][0]):It(0)};Rt[u+"1"]=function(t){var e=C.indexOf(t.id),n=b.indexOf(t.discrete);return e>=0?It(w[e][n][1]):It(0)}}var Lt=Object.keys(this._on);U.forEach(function(e){var t=(new xd[e.key]).config(Rt).data(e.values);if(e.key==="Bar"){var n;var i=A._discrete==="x"?L:H;var r=(A._discrete==="x"?D:O).filter(function(t){return typeof t!=="string"||t.indexOf("d3plus-buffer-")<0});var o=A._discrete==="x"?Pt:zt;if(r.length>1){n=i(r[1])-i(r[0])}else{n=o[o.length-1]-o[0]}n-=A._groupPadding;var a=n;var s=Gt().key(function(t){return t[A._discrete]}).key(function(t){return t.group}).entries(e.values);var u=Wt(s.map(function(t){return t.values.map(function(t){return t.key})}));var h=Array.from(new Set(u));if(Ut(s.map(function(t){return t.values.length}))===1){t[A._discrete](function(t,e){return Rt[A._discrete](t,e)})}else{a=(a-A._barPadding*h.length-1)/h.length;var l=n/2-a/2;var f=vn().domain([0,h.length-1]).range([-l,l]);t[A._discrete](function(t,e){return Rt[A._discrete](t,e)+f(h.indexOf(t.group))})}t.width(a);t.height(a)}else if(e.key==="Line"&&A._confidence){var c=Object.assign({},Rt);var d=A._discrete==="x"?"y":"x";var p=A._discrete==="x"?H:L;c[d+"0"]=function(t){return p(A._confidence[0]?t.lci:t[d])};c[d+"1"]=function(t){return p(A._confidence[1]?t.hci:t[d])};var g=(new fd).config(c).data(e.values);var v=Object.assign(A._shapeConfig,A._confidenceConfig);g.config(Qu.bind(A)(v,"shape","Area")).render();A._shapes.push(g)}var _=Lt.filter(function(t){return t.includes("."+e.key)}),y=Lt.filter(function(t){return!t.includes(".")}),m=Lt.filter(function(t){return t.includes(".shape")});var b=function(e){t.on(y[e],function(t){return A._on[y[e]](t.data,t.i)})};for(var x=0;x0}).sort(function(t,e){return t.start-e.start});var r;if(this._groupBy.length>1&&this._drawDepth>0){var o=Gt();var a=function(e){o.key(function(t){return n._groupBy[e](t.data,t.i)})};for(var s=0;s=this._padding*2?p-this._padding:p>2?p-2:p).label(function(t,e){return n._drawLabel(t.data,e)}).select(Ku("g.d3plus-priestley-shapes",{parent:this._select}).node()).width(function(t){var e=Math.abs(c(t.end)-c(t.start));return e>2?e-2:e}).x(function(t){return c(t.start)+(c(t.end)-c(t.start))/2}).y(function(t){return d(t.lane)}).config(Qu.bind(this)(this._shapeConfig,"shape","Rect")).render());return this};t.prototype.axisConfig=function t(e){return arguments.length?(this._axisConfig=Vu(this._axisConfig,e),this):this._axisConfig};t.prototype.end=function t(e){if(arguments.length){if(typeof e==="function"){this._end=e}else{this._end=ju(e);if(!this._aggs[e]){this._aggs[e]=function(t){return Ut(t)}}}return this}else{return this._end}};t.prototype.start=function t(e){if(arguments.length){if(typeof e==="function"){this._start=e}else{this._start=ju(e);if(!this._aggs[e]){this._aggs[e]=function(t){return qt(t)}}}return this}else{return this._start}};return t}(LE);t.version=e;t.Axis=Cd;t.AxisBottom=Ed;t.AxisLeft=Sd;t.AxisRight=Ad;t.AxisTop=kd;t.date=wd;t.colorAdd=rh;t.colorAssign=mh;t.colorContrast=bh;t.colorDefaults=_h;t.colorLegible=xh;t.colorLighter=wh;t.colorSubtract=Ch;t.accessor=ju;t.assign=Vu;t.attrize=Uu;t.BaseClass=Yu;t.closest=$u;t.configPrep=Qu;t.constant=Zu;t.elem=Ku;t.isObject=Hu;t.merge=Ju;t.parseSides=th;t.prefix=eh;t.stylize=nh;t.uuid=qu;t.Geomap=HE;t.Donut=UE;t.Pie=VE;t.Tree=BS;t.Treemap=DS;t.ckmeans=yb;t.ColorScale=mb;t.Legend=bb;t.Network=NS;t.Rings=PS;t.AreaPlot=HS;t.BarChart=VS;t.LinePlot=WS;t.Plot=jS;t.StackedArea=qS;t.Priestley=XS;t.Area=fd;t.Bar=cd;t.Circle=dd;t.Image=ih;t.Line=pd;t.Path=md;t.largestRect=ld;t.lineIntersection=$c;t.path2polygon=yd;t.pointDistance=Dc;t.pointDistanceSquared=Bc;t.pointRotate=td;t.polygonInside=Kc;t.polygonRayCast=Jc;t.polygonRotate=ed;t.segmentBoxContains=Qc;t.segmentsIntersect=Zc;t.shapeEdgePoint=vd;t.simplify=ad;t.Rect=bd;t.Shape=Nc;t.fontExists=rc;t.rtl=oc;t.stringify=ac;t.strip=uc;t.TextBox=Ac;t.textSplit=Ec;t.textWidth=Gf;t.textWrap=Sc;t.titleCase=Tc;t.trim=Yf;t.trimLeft=$f;t.trimRight=Qf;t.Timeline=xb;t.Tooltip=Gx;t.dataFold=Ry;t.dataLoad=sm;t.Viz=LE;Object.defineProperty(t,"__esModule",{value:true})}); \ No newline at end of file diff --git a/assets/sass/dirstat.scss b/assets/sass/dirstat.scss new file mode 100644 index 0000000..ae9728d --- /dev/null +++ b/assets/sass/dirstat.scss @@ -0,0 +1,8 @@ +/* + * dirstat.scss + */ +@import '../../node_modules/bootstrap/dist/css/bootstrap.min.css'; + +[v-cloak] { + display: none; +} \ No newline at end of file diff --git a/dirstat.go b/dirstat.go new file mode 100644 index 0000000..677d4b8 --- /dev/null +++ b/dirstat.go @@ -0,0 +1,190 @@ +package main + +import ( + "encoding/json" + "errors" + "flag" + "fmt" + "github.com/gobuffalo/packr" + "io/ioutil" + "log" + "net/http" + "os/exec" + fp "path/filepath" + "runtime" + "time" +) + +func main() { + // CLI flags + portFlag := flag.Int("port", 8080, "HTTP server port") + flag.Parse() + + // HTTP server address + port := *portFlag + addr := fmt.Sprintf("127.0.0.1:%d", port) + url := fmt.Sprintf("http://%s", addr) + + // Static file server + box := packr.NewBox("./web") + fs := http.FileServer(box) + http.Handle("/", fs) + + // Backend + http.HandleFunc("/stat", statHandler) + + // Open the browser when the server is ready + go func() { + for i := 0; i < 10; i++ { + time.Sleep(time.Second) + if resp, err := http.Get(url); err != nil { + continue + } else if resp.Body.Close(); resp.StatusCode != http.StatusOK { + continue + } + // Server is up and running + log.Printf("Available on %s", url) + log.Println("Opening browser...") + openBrowser(url) + break + } + }() + + // Start the HTTP server + log.Println("Starting up DirStat HTTP server...") + log.Fatal(http.ListenAndServe(addr, nil)) +} + +// +// HTTP server +// + +// Handle GET /stat +// Calculate directory statistics and return them as JSON +func statHandler(res http.ResponseWriter, req *http.Request) { + // Get path query param + path := req.URL.Query().Get("path") + if path == "" { + sendError(res, http.StatusBadRequest, "The path can't be empty") + return + } // else + // Calculate statistics for the given directory path + log.Printf("Scanning directory '%s'...", path) + if stat, err := scanDir(path); err != nil { // Scan failed + sendError(res, http.StatusBadRequest, "Failed scanning directory ("+err.Error()+")") + } else if output, err := json.Marshal(stat); err != nil { // Marshalling failed + sendError(res, http.StatusInternalServerError, "Failed encoding statistics to JSON ("+err.Error()+")") + } else { // Success: sending results + sendSuccess(res, output) + } +} + +// Send a success response with a body content +func sendSuccess(res http.ResponseWriter, body []byte) { + res.Header().Set("Content-Type", "application/json") + res.WriteHeader(http.StatusOK) + res.Write(body) +} + +// Send an error response with a custom status code and an error message +func sendError(res http.ResponseWriter, statusCode int, error string) { + log.Println(error) + res.Header().Set("Content-Type", "application/json") + res.WriteHeader(statusCode) + if body, err := json.Marshal(ErrorMessage{Message: error}); err == nil { + res.Write(body) + } +} + +// Error message structure. +type ErrorMessage struct { + Message string `json:"message"` +} + +// +// Directory statistics +// + +// Directory statistics structure. +type DirStat struct { + Path string `json:"path"` + Name string `json:"name"` + Count int `json:"count"` + Size int64 `json:"size"` + Depth int `json:"depth"` + Children []DirStat `json:"children"` +} + +// Create a new directory statistics object +// from a directory path and set default values. +func NewDirStat(path string) *DirStat { + return &DirStat{Path: path, Name: fp.Base(path), Count: 0, Size: 0, + Depth: 0, Children: []DirStat{}} +} + +// Append a child directory statistics object +// to the current directory statistics. +func (stat *DirStat) append(childStat DirStat) { + stat.Children = append(stat.Children, childStat) + stat.Size += childStat.Size + stat.Count += childStat.Count +} + +// Calculate directory statistics recursively. +func scanDir(path string) (stat *DirStat, err error) { + stat = NewDirStat(path) + files, err := ioutil.ReadDir(path) + if err != nil { + msg := fmt.Sprintf("Failed reading directory '%s'", path) + log.Println(msg) + return nil, errors.New(msg) + } // else: compute stats + for _, file := range files { + // Count entries in directory + stat.Count += 1 + childPath := fp.Join(path, file.Name()) + if file.IsDir() { + // Recursive call for directories + if childStat, err := scanDir(childPath); err == nil { + // Error is ignored + stat.append(*childStat) + } + } else if file.Mode().IsRegular() { + // Append file size + stat.Size += file.Size() + } + } + // Compute directory depth + if len(stat.Children) > 0 { + maxDepth := 0 + for _, s := range stat.Children { + if s.Depth > maxDepth { + maxDepth = s.Depth + } + } + stat.Depth = 1 + maxDepth + } + return +} + +// +// Util +// + +// Open the specified URL in the default browser of the user. +func openBrowser(url string) error { + var cmd string + var args []string + + switch runtime.GOOS { + case "windows": + cmd = "cmd" + args = []string{"/c", "start"} + case "darwin": + cmd = "open" + default: // "linux", "freebsd", "openbsd", "netbsd" + cmd = "xdg-open" + } + args = append(args, url) + return exec.Command(cmd, args...).Start() +} diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..a595fba --- /dev/null +++ b/web/index.html @@ -0,0 +1,76 @@ + + + + + + + DirStat + + + +
+ +
+

🗃 DirStat

+

+ DirStat is a simple graphical web application to show
+ where your disk space has gone to help you to clean it up. +

+
+ +
+ +
+ +
+ +
+
+ +
{{ error }}
+ +
+
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + From c433523bc08d0a91f0ab26cf182443129da3f583 Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:04:31 +0100 Subject: [PATCH 6/7] Add the packaging script --- .gitignore | 1 + README.md | 6 ++++++ scripts/package.ps1 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 scripts/package.ps1 diff --git a/.gitignore b/.gitignore index b6171f6..ed2b776 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ node_modules/ # Binaries *.exe +release/ # Minified scripts & styles web/*.min.* diff --git a/README.md b/README.md index fa35220..011fad2 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,12 @@ npm run ensure npm run build ``` +### Package + +```shell +./scripts/package.ps1 +``` + ### Release 1. Start the release: `git flow release start X.Y.Z` diff --git a/scripts/package.ps1 b/scripts/package.ps1 new file mode 100644 index 0000000..bcd8184 --- /dev/null +++ b/scripts/package.ps1 @@ -0,0 +1,45 @@ +# +# package.ps1 +# Package binary file for release +# + +# Exit script on first error +$ErrorActionPreference = "Stop" + +# Path to the script +$WorkingDir = $PSScriptRoot +# Project directory +$ProjectDir = Resolve-Path "$WorkingDir\.." +# Package directory +$PackageDir = "$ProjectDir\release" +# Application name +$AppName = "dirstat" +# Generated .zip file +$ZipFile = "$PackageDir\$AppName.zip" +# Generated file containing checksum +$ChecksumFile = "$PackageDir\$AppName.zip.sha256" + +# Clean previous generated files +Write-Host -ForegroundColor Yellow "Cleaning previous generated files" +if (Test-Path $PackageDir) { + Remove-Item -Recurse $PackageDir +} + +# Create Package directory +New-Item -Path $PackageDir -ItemType Directory | Out-Null + +# Build +npm run build + +# Compress binary into a .zip archive +Write-Host -ForegroundColor Yellow "Compressing files to $ZipFile" +Compress-Archive -LiteralPath "$ProjectDir\$AppName.exe" -CompressionLevel Optimal -DestinationPath $ZipFile + +# Compute checksum +Write-Host -ForegroundColor Yellow "Computing and writing checksum to $ChecksumFile" +$Hash = (Get-FileHash -Algorithm SHA256 $ZipFile).Hash.ToLower() +Set-Content -Path $ChecksumFile -Value "$Hash *$AppName.zip`n" -Encoding ASCII -NoNewline + +# Success message +Write-Host -ForegroundColor Green "Package successfully generated!" +Get-ChildItem $PackageDir From cc6db10e6102106602392adaf28af87c59252852 Mon Sep 17 00:00:00 2001 From: Gael Girodon Date: Sun, 28 Oct 2018 02:14:07 +0100 Subject: [PATCH 7/7] Bump the version number --- README.md | 2 +- package-lock.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 011fad2..9f14ab0 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ npm run build 1. Start the release: `git flow release start X.Y.Z` 2. Update the version number in [`package.json`](package.json) -3. Commit changes: `git commit -m "Bump the version number to X.Y.Z"` +3. Commit changes: `git commit -m "Bump the version number"` 4. Finish the release: `git flow release finish X.Y.Z` 5. Push to the repository: `git push --all origin && git push --tags` diff --git a/package-lock.json b/package-lock.json index e2b873b..95c2d54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "dir-stat", - "version": "0.0.0", + "version": "0.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f776138..012f74e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dir-stat", - "version": "0.0.0", + "version": "0.1.0", "description": "Simple directory statistics", "scripts": { "build:assets": "gulp",