diff --git a/.gitattributes b/.gitattributes index 8f3cd3f92c844df7cf53be32d2c246f798922412..653b6e516fb8d7b9b63fa278940ee49bb9a11545 100644 --- a/.gitattributes +++ b/.gitattributes @@ -144,3 +144,9 @@ hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_colors.cpytho hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_figure.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_image.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_legend.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text +hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_ticker.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text +hug/lib/python3.12/site-packages/mpl_toolkits/mplot3d/__pycache__/axes3d.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text +hug/lib/python3.12/site-packages/mpl_toolkits/mplot3d/tests/__pycache__/test_axes3d.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text +hug/lib/python3.12/site-packages/mpmath/__pycache__/function_docs.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text +hug/lib/python3.12/site-packages/mpmath/tests/__pycache__/test_fp.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text +hug/lib/python3.12/site-packages/mpmath/tests/__pycache__/test_functions2.cpython-312.pyc filter=lfs diff=lfs merge=lfs -text diff --git a/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/INSTALLER b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/INSTALLER new file mode 100644 index 0000000000000000000000000000000000000000..a1b589e38a32041e49332e5e81c2d363dc418d68 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/LICENSE b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..61d2d0f111f5a63241999113e8d6c7da5b2f7931 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/LICENSE @@ -0,0 +1,1253 @@ +License agreement for matplotlib versions 1.3.0 and later +========================================================= + +1. This LICENSE AGREEMENT is between the Matplotlib Development Team +("MDT"), and the Individual or Organization ("Licensee") accessing and +otherwise using matplotlib software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, MDT +hereby grants Licensee a nonexclusive, royalty-free, world-wide license +to reproduce, analyze, test, perform and/or display publicly, prepare +derivative works, distribute, and otherwise use matplotlib +alone or in any derivative version, provided, however, that MDT's +License Agreement and MDT's notice of copyright, i.e., "Copyright (c) +2012- Matplotlib Development Team; All Rights Reserved" are retained in +matplotlib alone or in any derivative version prepared by +Licensee. + +3. In the event Licensee prepares a derivative work that is based on or +incorporates matplotlib or any part thereof, and wants to +make the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to matplotlib . + +4. MDT is making matplotlib available to Licensee on an "AS +IS" basis. MDT MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, MDT MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB +WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. + +5. MDT SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR +LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING +MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF +THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between MDT and +Licensee. This License Agreement does not grant permission to use MDT +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using matplotlib , +Licensee agrees to be bound by the terms and conditions of this License +Agreement. + +License agreement for matplotlib versions prior to 1.3.0 +======================================================== + +1. This LICENSE AGREEMENT is between John D. Hunter ("JDH"), and the +Individual or Organization ("Licensee") accessing and otherwise using +matplotlib software in source or binary form and its associated +documentation. + +2. Subject to the terms and conditions of this License Agreement, JDH +hereby grants Licensee a nonexclusive, royalty-free, world-wide license +to reproduce, analyze, test, perform and/or display publicly, prepare +derivative works, distribute, and otherwise use matplotlib +alone or in any derivative version, provided, however, that JDH's +License Agreement and JDH's notice of copyright, i.e., "Copyright (c) +2002-2011 John D. Hunter; All Rights Reserved" are retained in +matplotlib alone or in any derivative version prepared by +Licensee. + +3. In the event Licensee prepares a derivative work that is based on or +incorporates matplotlib or any part thereof, and wants to +make the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to matplotlib. + +4. JDH is making matplotlib available to Licensee on an "AS +IS" basis. JDH MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, JDH MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB +WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. + +5. JDH SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR +LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING +MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF +THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between JDH and +Licensee. This License Agreement does not grant permission to use JDH +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using matplotlib, +Licensee agrees to be bound by the terms and conditions of this License +Agreement. +---- + +This binary distrubution of Matplotlib can also bundle the following software +(depending on the build): + +Name: AMS Fonts +Files: matplotlib/tests/cmr10.pfb +Description: Type-1 version of one of Knuth's Computer Modern fonts +License: OFL-1.1 + The cmr10.pfb file is a Type-1 version of one of Knuth's Computer Modern fonts. + It is included here as test data only, but the following license applies. + + Copyright (c) 1997, 2009, American Mathematical Society (http://www.ams.org). + All Rights Reserved. + + "cmb10" is a Reserved Font Name for this Font Software. + "cmbsy10" is a Reserved Font Name for this Font Software. + "cmbsy5" is a Reserved Font Name for this Font Software. + "cmbsy6" is a Reserved Font Name for this Font Software. + "cmbsy7" is a Reserved Font Name for this Font Software. + "cmbsy8" is a Reserved Font Name for this Font Software. + "cmbsy9" is a Reserved Font Name for this Font Software. + "cmbx10" is a Reserved Font Name for this Font Software. + "cmbx12" is a Reserved Font Name for this Font Software. + "cmbx5" is a Reserved Font Name for this Font Software. + "cmbx6" is a Reserved Font Name for this Font Software. + "cmbx7" is a Reserved Font Name for this Font Software. + "cmbx8" is a Reserved Font Name for this Font Software. + "cmbx9" is a Reserved Font Name for this Font Software. + "cmbxsl10" is a Reserved Font Name for this Font Software. + "cmbxti10" is a Reserved Font Name for this Font Software. + "cmcsc10" is a Reserved Font Name for this Font Software. + "cmcsc8" is a Reserved Font Name for this Font Software. + "cmcsc9" is a Reserved Font Name for this Font Software. + "cmdunh10" is a Reserved Font Name for this Font Software. + "cmex10" is a Reserved Font Name for this Font Software. + "cmex7" is a Reserved Font Name for this Font Software. + "cmex8" is a Reserved Font Name for this Font Software. + "cmex9" is a Reserved Font Name for this Font Software. + "cmff10" is a Reserved Font Name for this Font Software. + "cmfi10" is a Reserved Font Name for this Font Software. + "cmfib8" is a Reserved Font Name for this Font Software. + "cminch" is a Reserved Font Name for this Font Software. + "cmitt10" is a Reserved Font Name for this Font Software. + "cmmi10" is a Reserved Font Name for this Font Software. + "cmmi12" is a Reserved Font Name for this Font Software. + "cmmi5" is a Reserved Font Name for this Font Software. + "cmmi6" is a Reserved Font Name for this Font Software. + "cmmi7" is a Reserved Font Name for this Font Software. + "cmmi8" is a Reserved Font Name for this Font Software. + "cmmi9" is a Reserved Font Name for this Font Software. + "cmmib10" is a Reserved Font Name for this Font Software. + "cmmib5" is a Reserved Font Name for this Font Software. + "cmmib6" is a Reserved Font Name for this Font Software. + "cmmib7" is a Reserved Font Name for this Font Software. + "cmmib8" is a Reserved Font Name for this Font Software. + "cmmib9" is a Reserved Font Name for this Font Software. + "cmr10" is a Reserved Font Name for this Font Software. + "cmr12" is a Reserved Font Name for this Font Software. + "cmr17" is a Reserved Font Name for this Font Software. + "cmr5" is a Reserved Font Name for this Font Software. + "cmr6" is a Reserved Font Name for this Font Software. + "cmr7" is a Reserved Font Name for this Font Software. + "cmr8" is a Reserved Font Name for this Font Software. + "cmr9" is a Reserved Font Name for this Font Software. + "cmsl10" is a Reserved Font Name for this Font Software. + "cmsl12" is a Reserved Font Name for this Font Software. + "cmsl8" is a Reserved Font Name for this Font Software. + "cmsl9" is a Reserved Font Name for this Font Software. + "cmsltt10" is a Reserved Font Name for this Font Software. + "cmss10" is a Reserved Font Name for this Font Software. + "cmss12" is a Reserved Font Name for this Font Software. + "cmss17" is a Reserved Font Name for this Font Software. + "cmss8" is a Reserved Font Name for this Font Software. + "cmss9" is a Reserved Font Name for this Font Software. + "cmssbx10" is a Reserved Font Name for this Font Software. + "cmssdc10" is a Reserved Font Name for this Font Software. + "cmssi10" is a Reserved Font Name for this Font Software. + "cmssi12" is a Reserved Font Name for this Font Software. + "cmssi17" is a Reserved Font Name for this Font Software. + "cmssi8" is a Reserved Font Name for this Font Software. + "cmssi9" is a Reserved Font Name for this Font Software. + "cmssq8" is a Reserved Font Name for this Font Software. + "cmssqi8" is a Reserved Font Name for this Font Software. + "cmsy10" is a Reserved Font Name for this Font Software. + "cmsy5" is a Reserved Font Name for this Font Software. + "cmsy6" is a Reserved Font Name for this Font Software. + "cmsy7" is a Reserved Font Name for this Font Software. + "cmsy8" is a Reserved Font Name for this Font Software. + "cmsy9" is a Reserved Font Name for this Font Software. + "cmtcsc10" is a Reserved Font Name for this Font Software. + "cmtex10" is a Reserved Font Name for this Font Software. + "cmtex8" is a Reserved Font Name for this Font Software. + "cmtex9" is a Reserved Font Name for this Font Software. + "cmti10" is a Reserved Font Name for this Font Software. + "cmti12" is a Reserved Font Name for this Font Software. + "cmti7" is a Reserved Font Name for this Font Software. + "cmti8" is a Reserved Font Name for this Font Software. + "cmti9" is a Reserved Font Name for this Font Software. + "cmtt10" is a Reserved Font Name for this Font Software. + "cmtt12" is a Reserved Font Name for this Font Software. + "cmtt8" is a Reserved Font Name for this Font Software. + "cmtt9" is a Reserved Font Name for this Font Software. + "cmu10" is a Reserved Font Name for this Font Software. + "cmvtt10" is a Reserved Font Name for this Font Software. + "euex10" is a Reserved Font Name for this Font Software. + "euex7" is a Reserved Font Name for this Font Software. + "euex8" is a Reserved Font Name for this Font Software. + "euex9" is a Reserved Font Name for this Font Software. + "eufb10" is a Reserved Font Name for this Font Software. + "eufb5" is a Reserved Font Name for this Font Software. + "eufb7" is a Reserved Font Name for this Font Software. + "eufm10" is a Reserved Font Name for this Font Software. + "eufm5" is a Reserved Font Name for this Font Software. + "eufm7" is a Reserved Font Name for this Font Software. + "eurb10" is a Reserved Font Name for this Font Software. + "eurb5" is a Reserved Font Name for this Font Software. + "eurb7" is a Reserved Font Name for this Font Software. + "eurm10" is a Reserved Font Name for this Font Software. + "eurm5" is a Reserved Font Name for this Font Software. + "eurm7" is a Reserved Font Name for this Font Software. + "eusb10" is a Reserved Font Name for this Font Software. + "eusb5" is a Reserved Font Name for this Font Software. + "eusb7" is a Reserved Font Name for this Font Software. + "eusm10" is a Reserved Font Name for this Font Software. + "eusm5" is a Reserved Font Name for this Font Software. + "eusm7" is a Reserved Font Name for this Font Software. + "lasy10" is a Reserved Font Name for this Font Software. + "lasy5" is a Reserved Font Name for this Font Software. + "lasy6" is a Reserved Font Name for this Font Software. + "lasy7" is a Reserved Font Name for this Font Software. + "lasy8" is a Reserved Font Name for this Font Software. + "lasy9" is a Reserved Font Name for this Font Software. + "lasyb10" is a Reserved Font Name for this Font Software. + "lcircle1" is a Reserved Font Name for this Font Software. + "lcirclew" is a Reserved Font Name for this Font Software. + "lcmss8" is a Reserved Font Name for this Font Software. + "lcmssb8" is a Reserved Font Name for this Font Software. + "lcmssi8" is a Reserved Font Name for this Font Software. + "line10" is a Reserved Font Name for this Font Software. + "linew10" is a Reserved Font Name for this Font Software. + "msam10" is a Reserved Font Name for this Font Software. + "msam5" is a Reserved Font Name for this Font Software. + "msam6" is a Reserved Font Name for this Font Software. + "msam7" is a Reserved Font Name for this Font Software. + "msam8" is a Reserved Font Name for this Font Software. + "msam9" is a Reserved Font Name for this Font Software. + "msbm10" is a Reserved Font Name for this Font Software. + "msbm5" is a Reserved Font Name for this Font Software. + "msbm6" is a Reserved Font Name for this Font Software. + "msbm7" is a Reserved Font Name for this Font Software. + "msbm8" is a Reserved Font Name for this Font Software. + "msbm9" is a Reserved Font Name for this Font Software. + "wncyb10" is a Reserved Font Name for this Font Software. + "wncyi10" is a Reserved Font Name for this Font Software. + "wncyr10" is a Reserved Font Name for this Font Software. + "wncysc10" is a Reserved Font Name for this Font Software. + "wncyss10" is a Reserved Font Name for this Font Software. + + This Font Software is licensed under the SIL Open Font License, Version 1.1. + This license is copied below, and is also available with a FAQ at: + http://scripts.sil.org/OFL + + ----------------------------------------------------------- + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + ----------------------------------------------------------- + + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font creation + efforts of academic and linguistic communities, and to provide a free and + open framework in which fonts may be shared and improved in partnership + with others. + + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply + to any document created using the fonts or their derivatives. + + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + + "Original Version" refers to the collection of Font Software components as + distributed by the Copyright Holder(s). + + "Modified Version" refers to any derivative made by adding to, deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software to a + new environment. + + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + + 1) Neither the Font Software nor any of its individual components, + in Original or Modified Versions, may be sold by itself. + + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the corresponding + Copyright Holder. This restriction only applies to the primary font name as + presented to the users. + + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created + using the Font Software. + + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + + + +Name: BaKoMa Fonts +Files: matplotlib/mpl-data/fonts/ttf/cm*.ttf matplotlib/mpl-data/fonts/afm/cm*.afm +Description: Computer Modern Fonts in PostScript Type 1 and TrueType font formats. +License: BaKoMa Fonts Licence + BaKoMa Fonts Licence + -------------------- + + This licence covers two font packs (known as BaKoMa Fonts Collection, + which is available at `CTAN:fonts/cm/ps-type1/bakoma/'): + + 1) BaKoMa-CM (1.1/12-Nov-94) + Computer Modern Fonts in PostScript Type 1 and TrueType font formats. + + 2) BaKoMa-AMS (1.2/19-Jan-95) + AMS TeX fonts in PostScript Type 1 and TrueType font formats. + + Copyright (C) 1994, 1995, Basil K. Malyshev. All Rights Reserved. + + Permission to copy and distribute these fonts for any purpose is + hereby granted without fee, provided that the above copyright notice, + author statement and this permission notice appear in all copies of + these fonts and related documentation. + + Permission to modify and distribute modified fonts for any purpose is + hereby granted without fee, provided that the copyright notice, + author statement, this permission notice and location of original + fonts (http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma) + appear in all copies of modified fonts and related documentation. + + Permission to use these fonts (embedding into PostScript, PDF, SVG + and printing by using any software) is hereby granted without fee. + It is not required to provide any notices about using these fonts. + + Basil K. Malyshev + INSTITUTE FOR HIGH ENERGY PHYSICS + IHEP, OMVT + Moscow Region + 142281 PROTVINO + RUSSIA + + E-Mail: bakoma@mail.ru + or malyshev@mail.ihep.ru + + + + +Name: ColorBrewer Color Schemes +Files: lib/matplotlib/_cm.py +Description: Color schemes from ColorBrewer +License: Apache-2.0 + Apache-Style Software License for ColorBrewer software and ColorBrewer Color Schemes + + Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University. + + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for the + specific language governing permissions and limitations under the License. + + +Name: Courier 10 +Files: matplotlib/tests/Courier10PitchBT-Bold.pfb +Description: Courier 10 font, used in tests. +License: Bitstream-Charter + The Courier10PitchBT-Bold.pfb file is a Type-1 version of + Courier 10 Pitch BT Bold by Bitstream, obtained from + . It is included + here as test data only, but the following license applies. + + + (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA. + + You are hereby granted permission under all Bitstream propriety rights + to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream + Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts + for any purpose and without restriction; provided, that this notice is + left intact on all copies of such fonts and that Bitstream's trademark + is acknowledged as shown below on all unmodified copies of the 4 Charter + Type 1 fonts. + + BITSTREAM CHARTER is a registered trademark of Bitstream Inc. + + +Name: FreeType +Files: matplotlib/ft2font.*.so +Description: Font rendering library +License: FTL OR GPL-2.0-or-later + The FreeType 2 font engine is copyrighted work and cannot be used + legally without a software license. In order to make this project + usable to a vast majority of developers, we distribute it under two + mutually exclusive open-source licenses. + + This means that *you* must choose *one* of the two licenses described + below, then obey all its terms and conditions when using FreeType 2 in + any of your projects or products. + + - The FreeType License, found in the file `docs/FTL.TXT`, which is + similar to the original BSD license *with* an advertising clause + that forces you to explicitly cite the FreeType project in your + product's documentation. All details are in the license file. + This license is suited to products which don't use the GNU General + Public License. + + Note that this license is compatible to the GNU General Public + License version 3, but not version 2. + + - The GNU General Public License version 2, found in + `docs/GPLv2.TXT` (any later version can be used also), for + programs which already use the GPL. Note that the FTL is + incompatible with GPLv2 due to its advertisement clause. + + The contributed BDF and PCF drivers come with a license similar to + that of the X Window System. It is compatible to the above two + licenses (see files `src/bdf/README` and `src/pcf/README`). The same + holds for the source code files `src/base/fthash.c` and + `include/freetype/internal/fthash.h`; they were part of the BDF driver + in earlier FreeType versions. + + The gzip module uses the zlib license (see `src/gzip/zlib.h`) which + too is compatible to the above two licenses. + + The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code + taken almost verbatim from the HarfBuzz file `hb-ft.cc`, which uses + the 'Old MIT' license, compatible to the above two licenses. + + The MD5 checksum support (only used for debugging in development + builds) is in the public domain. + + +Name: HarfBuzz +Files: matplotlib/ft2font.*.so +Description: Text shaping library +License: MIT-Modern-Variant + HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. + For parts of HarfBuzz that are licensed under different licenses see individual + files names COPYING in subdirectories where applicable. + + Copyright © 2010-2022 Google, Inc. + Copyright © 2015-2020 Ebrahim Byagowi + Copyright © 2019,2020 Facebook, Inc. + Copyright © 2012,2015 Mozilla Foundation + Copyright © 2011 Codethink Limited + Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) + Copyright © 2009 Keith Stribley + Copyright © 2011 Martin Hosken and SIL International + Copyright © 2007 Chris Wilson + Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod + Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. + Copyright © 1998-2005 David Turner and Werner Lemberg + Copyright © 2016 Igalia S.L. + Copyright © 2022 Matthias Clasen + Copyright © 2018,2021 Khaled Hosny + Copyright © 2018,2019,2020 Adobe, Inc + Copyright © 2013-2015 Alexei Podtelezhnikov + + For full copyright notices consult the individual files in the package. + + + Permission is hereby granted, without written agreement and without + license or royalty fees, to use, copy, modify, and distribute this + software and its documentation for any purpose, provided that the + above copyright notice and the following two paragraphs appear in + all copies of this software. + + IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + + THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +Name: JSXTools resize observer +Files: lib/matplotlib/backends/web_backend/js/mpl.js +Description: Minimal polyfill for the ResizeObserver API +License: CC0-1.0 + # CC0 1.0 Universal + + ## Statement of Purpose + + The laws of most jurisdictions throughout the world automatically confer + exclusive Copyright and Related Rights (defined below) upon the creator and + subsequent owner(s) (each and all, an “owner”) of an original work of + authorship and/or a database (each, a “Work”). + + Certain owners wish to permanently relinquish those rights to a Work for the + purpose of contributing to a commons of creative, cultural and scientific works + (“Commons”) that the public can reliably and without fear of later claims of + infringement build upon, modify, incorporate in other works, reuse and + redistribute as freely as possible in any form whatsoever and for any purposes, + including without limitation commercial purposes. These owners may contribute + to the Commons to promote the ideal of a free culture and the further + production of creative, cultural and scientific works, or to gain reputation or + greater distribution for their Work in part through the use and efforts of + others. + + For these and/or other purposes and motivations, and without any expectation of + additional consideration or compensation, the person associating CC0 with a + Work (the “Affirmer”), to the extent that he or she is an owner of Copyright + and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and + publicly distribute the Work under its terms, with knowledge of his or her + Copyright and Related Rights in the Work and the meaning and intended legal + effect of CC0 on those rights. + + 1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights (“Copyright and + Related Rights”). Copyright and Related Rights include, but are not limited + to, the following: + 1. the right to reproduce, adapt, distribute, perform, display, communicate, + and translate a Work; + 2. moral rights retained by the original author(s) and/or performer(s); + 3. publicity and privacy rights pertaining to a person’s image or likeness + depicted in a Work; + 4. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(i), below; + 5. rights protecting the extraction, dissemination, use and reuse of data in + a Work; + 6. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + 7. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations + thereof. + + 2. Waiver. To the greatest extent permitted by, but not in contravention of, + applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and + unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright + and Related Rights and associated claims and causes of action, whether now + known or unknown (including existing as well as future claims and causes of + action), in the Work (i) in all territories worldwide, (ii) for the maximum + duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the “Waiver”). Affirmer + makes the Waiver for the benefit of each member of the public at large and + to the detriment of Affirmer’s heirs and successors, fully intending that + such Waiver shall not be subject to revocation, rescission, cancellation, + termination, or any other legal or equitable action to disrupt the quiet + enjoyment of the Work by the public as contemplated by Affirmer’s express + Statement of Purpose. + + 3. Public License Fallback. Should any part of the Waiver for any reason be + judged legally invalid or ineffective under applicable law, then the Waiver + shall be preserved to the maximum extent permitted taking into account + Affirmer’s express Statement of Purpose. In addition, to the extent the + Waiver is so judged Affirmer hereby grants to each affected person a + royalty-free, non transferable, non sublicensable, non exclusive, + irrevocable and unconditional license to exercise Affirmer’s Copyright and + Related Rights in the Work (i) in all territories worldwide, (ii) for the + maximum duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the “License”). The License + shall be deemed effective as of the date CC0 was applied by Affirmer to the + Work. Should any part of the License for any reason be judged legally + invalid or ineffective under applicable law, such partial invalidity or + ineffectiveness shall not invalidate the remainder of the License, and in + such case Affirmer hereby affirms that he or she will not (i) exercise any + of his or her remaining Copyright and Related Rights in the Work or (ii) + assert any associated claims and causes of action with respect to the Work, + in either case contrary to Affirmer’s express Statement of Purpose. + + 4. Limitations and Disclaimers. + 1. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + 2. Affirmer offers the Work as-is and makes no representations or warranties + of any kind concerning the Work, express, implied, statutory or + otherwise, including without limitation warranties of title, + merchantability, fitness for a particular purpose, non infringement, or + the absence of latent or other defects, accuracy, or the present or + absence of errors, whether or not discoverable, all to the greatest + extent permissible under applicable law. + 3. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person’s Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the Work. + 4. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to this + CC0 or use of the Work. + + For more information, please see + http://creativecommons.org/publicdomain/zero/1.0/. + + +Name: Last Resort fonts +Files: matplotlib/mpl-data/fonts/ttf/LastResortHE-Regular.ttf +Description: Last Resort High-Efficiency Font +License: OFL-1.1 + This Font Software is licensed under the SIL Open Font License, + Version 1.1. + + This license is copied below, and is also available with a FAQ at: + http://scripts.sil.org/OFL + + ----------------------------------------------------------- + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + ----------------------------------------------------------- + + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font + creation efforts of academic and linguistic communities, and to + provide a free and open framework in which fonts may be shared and + improved in partnership with others. + + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply to + any document created using the fonts or their derivatives. + + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + + "Original Version" refers to the collection of Font Software + components as distributed by the Copyright Holder(s). + + "Modified Version" refers to any derivative made by adding to, + deleting, or substituting -- in part or in whole -- any of the + components of the Original Version, by changing formats or by porting + the Font Software to a new environment. + + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, + modify, redistribute, and sell modified and unmodified copies of the + Font Software, subject to the following conditions: + + 1) Neither the Font Software nor any of its individual components, in + Original or Modified Versions, may be sold by itself. + + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the + corresponding Copyright Holder. This restriction only applies to the + primary font name as presented to the users. + + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created using + the Font Software. + + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + + SPDX-License-Identifier: OFL-1.1 + + +Name: libraqm +Files: matplotlib/ft2font.*.so +Description: Complex text layout library +License: MIT + The MIT License (MIT) + + Copyright © 2015 Information Technology Authority (ITA) + Copyright © 2016-2023 Khaled Hosny + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + +Name: QHull +Files: matplotlib/_qhull.*.so +Description: Convex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection +License: Qhull + Qhull, Copyright (c) 1993-2020 + + C.B. Barber + Arlington, MA + + and + + The National Science and Technology Research Center for + Computation and Visualization of Geometric Structures + (The Geometry Center) + University of Minnesota + + email: qhull@qhull.org + + This software includes Qhull from C.B. Barber and The Geometry Center. + Files derived from Qhull 1.0 are copyrighted by the Geometry Center. The + remaining files are copyrighted by C.B. Barber. Qhull is free software + and may be obtained via http from www.qhull.org. It may be freely copied, + modified, and redistributed under the following conditions: + + 1. All copyright notices must remain intact in all files. + + 2. A copy of this text file must be distributed along with any copies + of Qhull that you redistribute; this includes copies that you have + modified, or copies of programs or other software products that + include Qhull. + + 3. If you modify Qhull, you must include a notice giving the + name of the person performing the modification, the date of + modification, and the reason for such modification. + + 4. When distributing modified versions of Qhull, or other software + products that include Qhull, you must provide notice that the original + source code may be obtained as noted above. + + 5. There is no warranty or other guarantee of fitness for Qhull, it is + provided solely "as is". Bug reports or fixes may be sent to + qhull_bug@qhull.org; the authors may or may not act on them as + they desire. + + +Name: Qt4 Editor +Files: matplotlib/backends/qt_editor +Description: Module creating PyQt4 form dialogs/layouts to edit various type of parameters +License: MIT + Module creating PyQt4 form dialogs/layouts to edit various type of parameters + + + formlayout License Agreement (MIT License) + ------------------------------------------ + + Copyright (c) 2009 Pierre Raybaut + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +Name: SheenBidi +Files: matplotlib/ft2font.*.so +Description: Unicode Bidirectional Algorithm implementation +License: Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Name: Solarized +Files: matplotlib/mpl-data/stylelib/Solarize_Light2.mplstyle +Description: Solarized color scheme/style +License: MIT + https://github.com/altercation/solarized/blob/master/LICENSE + Copyright (c) 2011 Ethan Schoonover + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +Name: Stix fonts +Files: matplotlib/mpl-data/fonts/ttf/STIX*.ttf +Description: STIX fonts +License: OFL-1.1 + STIX Font License + + 24 May 2010 + + Copyright (c) 2001-2010 by the STI Pub Companies, consisting of the American + Institute of Physics, the American Chemical Society, the American Mathematical + Society, the American Physical Society, Elsevier, Inc., and The Institute of + Electrical and Electronic Engineers, Inc. (www.stixfonts.org), with Reserved + Font Name STIX Fonts, STIX Fonts (TM) is a trademark of The Institute of + Electrical and Electronics Engineers, Inc. + + Portions copyright (c) 1998-2003 by MicroPress, Inc. (www.micropress-inc.com), + with Reserved Font Name TM Math. To obtain additional mathematical fonts, please + contact MicroPress, Inc., 68-30 Harrow Street, Forest Hills, NY 11375, USA, + Phone: (718) 575-1816. + + Portions copyright (c) 1990 by Elsevier, Inc. + + This Font Software is licensed under the SIL Open Font License, Version 1.1. + This license is copied below, and is also available with a FAQ at: + https://scripts.sil.org/OFL + + ----------------------------------------------------------- + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + ----------------------------------------------------------- + + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font creation + efforts of academic and linguistic communities, and to provide a free and + open framework in which fonts may be shared and improved in partnership + with others. + + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply + to any document created using the fonts or their derivatives. + + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + + "Original Version" refers to the collection of Font Software components as + distributed by the Copyright Holder(s). + + "Modified Version" refers to any derivative made by adding to, deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software to a + new environment. + + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + + 1) Neither the Font Software nor any of its individual components, + in Original or Modified Versions, may be sold by itself. + + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the corresponding + Copyright Holder. This restriction only applies to the primary font name as + presented to the users. + + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created + using the Font Software. + + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + +Name: Yorick Colormaps +Files: lib/matplotlib/_cm.py +Description: Gist/Yorick colormaps +License: + BSD-style license for gist/yorick colormaps. + + Copyright: + + Copyright (c) 1996. The Regents of the University of California. + All rights reserved. + + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire + notice is included in all copies of any software which is or includes + a copy or modification of this software and in all copies of the + supporting documentation for such software. + + This work was produced at the University of California, Lawrence + Livermore National Laboratory under contract no. W-7405-ENG-48 between + the U.S. Department of Energy and The Regents of the University of + California for the operation of UC LLNL. + + + DISCLAIMER + + This software was prepared as an account of work sponsored by an + agency of the United States Government. Neither the United States + Government nor the University of California nor any of their + employees, makes any warranty, express or implied, or assumes any + liability or responsibility for the accuracy, completeness, or + usefulness of any information, apparatus, product, or process + disclosed, or represents that its use would not infringe + privately-owned rights. Reference herein to any specific commercial + products, process, or service by trade name, trademark, manufacturer, + or otherwise, does not necessarily constitute or imply its + endorsement, recommendation, or favoring by the United States + Government or the University of California. The views and opinions of + authors expressed herein do not necessarily state or reflect those of + the United States Government or the University of California, and + shall not be used for advertising or product endorsement purposes. + + + AUTHOR + + David H. Munro wrote Yorick and Gist. Berkeley Yacc (byacc) generated + the Yorick parser. The routines in Math are from LAPACK and FFTPACK; + MathC contains C translations by David H. Munro. The algorithms for + Yorick's random number generator and several special functions in + Yorick/include were taken from Numerical Recipes by Press, et. al., + although the Yorick implementations are unrelated to those in + Numerical Recipes. A small amount of code in Gist was adapted from + the X11R4 release, copyright M.I.T. -- the complete copyright notice + may be found in the (unused) file Gist/host.c. diff --git a/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/METADATA b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/METADATA new file mode 100644 index 0000000000000000000000000000000000000000..7cabdb5835719846494a52d21fdeb6d373af5cbc --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/METADATA @@ -0,0 +1,1366 @@ +Metadata-Version: 2.1 +Name: matplotlib +Version: 3.11.2 +Summary: Python plotting package +Author: John D. Hunter, Michael Droettboom +Author-Email: Unknown +License: License agreement for matplotlib versions 1.3.0 and later + ========================================================= + + 1. This LICENSE AGREEMENT is between the Matplotlib Development Team + ("MDT"), and the Individual or Organization ("Licensee") accessing and + otherwise using matplotlib software in source or binary form and its + associated documentation. + + 2. Subject to the terms and conditions of this License Agreement, MDT + hereby grants Licensee a nonexclusive, royalty-free, world-wide license + to reproduce, analyze, test, perform and/or display publicly, prepare + derivative works, distribute, and otherwise use matplotlib + alone or in any derivative version, provided, however, that MDT's + License Agreement and MDT's notice of copyright, i.e., "Copyright (c) + 2012- Matplotlib Development Team; All Rights Reserved" are retained in + matplotlib alone or in any derivative version prepared by + Licensee. + + 3. In the event Licensee prepares a derivative work that is based on or + incorporates matplotlib or any part thereof, and wants to + make the derivative work available to others as provided herein, then + Licensee hereby agrees to include in any such work a brief summary of + the changes made to matplotlib . + + 4. MDT is making matplotlib available to Licensee on an "AS + IS" basis. MDT MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, MDT MAKES NO AND + DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB + WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. + + 5. MDT SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR + LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING + MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF + THE POSSIBILITY THEREOF. + + 6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. + + 7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between MDT and + Licensee. This License Agreement does not grant permission to use MDT + trademarks or trade name in a trademark sense to endorse or promote + products or services of Licensee, or any third party. + + 8. By copying, installing or otherwise using matplotlib , + Licensee agrees to be bound by the terms and conditions of this License + Agreement. + + License agreement for matplotlib versions prior to 1.3.0 + ======================================================== + + 1. This LICENSE AGREEMENT is between John D. Hunter ("JDH"), and the + Individual or Organization ("Licensee") accessing and otherwise using + matplotlib software in source or binary form and its associated + documentation. + + 2. Subject to the terms and conditions of this License Agreement, JDH + hereby grants Licensee a nonexclusive, royalty-free, world-wide license + to reproduce, analyze, test, perform and/or display publicly, prepare + derivative works, distribute, and otherwise use matplotlib + alone or in any derivative version, provided, however, that JDH's + License Agreement and JDH's notice of copyright, i.e., "Copyright (c) + 2002-2011 John D. Hunter; All Rights Reserved" are retained in + matplotlib alone or in any derivative version prepared by + Licensee. + + 3. In the event Licensee prepares a derivative work that is based on or + incorporates matplotlib or any part thereof, and wants to + make the derivative work available to others as provided herein, then + Licensee hereby agrees to include in any such work a brief summary of + the changes made to matplotlib. + + 4. JDH is making matplotlib available to Licensee on an "AS + IS" basis. JDH MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, JDH MAKES NO AND + DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB + WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. + + 5. JDH SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR + LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING + MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF + THE POSSIBILITY THEREOF. + + 6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. + + 7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between JDH and + Licensee. This License Agreement does not grant permission to use JDH + trademarks or trade name in a trademark sense to endorse or promote + products or services of Licensee, or any third party. + + 8. By copying, installing or otherwise using matplotlib, + Licensee agrees to be bound by the terms and conditions of this License + Agreement. + ---- + + This binary distrubution of Matplotlib can also bundle the following software + (depending on the build): + + Name: AMS Fonts + Files: matplotlib/tests/cmr10.pfb + Description: Type-1 version of one of Knuth's Computer Modern fonts + License: OFL-1.1 + The cmr10.pfb file is a Type-1 version of one of Knuth's Computer Modern fonts. + It is included here as test data only, but the following license applies. + + Copyright (c) 1997, 2009, American Mathematical Society (http://www.ams.org). + All Rights Reserved. + + "cmb10" is a Reserved Font Name for this Font Software. + "cmbsy10" is a Reserved Font Name for this Font Software. + "cmbsy5" is a Reserved Font Name for this Font Software. + "cmbsy6" is a Reserved Font Name for this Font Software. + "cmbsy7" is a Reserved Font Name for this Font Software. + "cmbsy8" is a Reserved Font Name for this Font Software. + "cmbsy9" is a Reserved Font Name for this Font Software. + "cmbx10" is a Reserved Font Name for this Font Software. + "cmbx12" is a Reserved Font Name for this Font Software. + "cmbx5" is a Reserved Font Name for this Font Software. + "cmbx6" is a Reserved Font Name for this Font Software. + "cmbx7" is a Reserved Font Name for this Font Software. + "cmbx8" is a Reserved Font Name for this Font Software. + "cmbx9" is a Reserved Font Name for this Font Software. + "cmbxsl10" is a Reserved Font Name for this Font Software. + "cmbxti10" is a Reserved Font Name for this Font Software. + "cmcsc10" is a Reserved Font Name for this Font Software. + "cmcsc8" is a Reserved Font Name for this Font Software. + "cmcsc9" is a Reserved Font Name for this Font Software. + "cmdunh10" is a Reserved Font Name for this Font Software. + "cmex10" is a Reserved Font Name for this Font Software. + "cmex7" is a Reserved Font Name for this Font Software. + "cmex8" is a Reserved Font Name for this Font Software. + "cmex9" is a Reserved Font Name for this Font Software. + "cmff10" is a Reserved Font Name for this Font Software. + "cmfi10" is a Reserved Font Name for this Font Software. + "cmfib8" is a Reserved Font Name for this Font Software. + "cminch" is a Reserved Font Name for this Font Software. + "cmitt10" is a Reserved Font Name for this Font Software. + "cmmi10" is a Reserved Font Name for this Font Software. + "cmmi12" is a Reserved Font Name for this Font Software. + "cmmi5" is a Reserved Font Name for this Font Software. + "cmmi6" is a Reserved Font Name for this Font Software. + "cmmi7" is a Reserved Font Name for this Font Software. + "cmmi8" is a Reserved Font Name for this Font Software. + "cmmi9" is a Reserved Font Name for this Font Software. + "cmmib10" is a Reserved Font Name for this Font Software. + "cmmib5" is a Reserved Font Name for this Font Software. + "cmmib6" is a Reserved Font Name for this Font Software. + "cmmib7" is a Reserved Font Name for this Font Software. + "cmmib8" is a Reserved Font Name for this Font Software. + "cmmib9" is a Reserved Font Name for this Font Software. + "cmr10" is a Reserved Font Name for this Font Software. + "cmr12" is a Reserved Font Name for this Font Software. + "cmr17" is a Reserved Font Name for this Font Software. + "cmr5" is a Reserved Font Name for this Font Software. + "cmr6" is a Reserved Font Name for this Font Software. + "cmr7" is a Reserved Font Name for this Font Software. + "cmr8" is a Reserved Font Name for this Font Software. + "cmr9" is a Reserved Font Name for this Font Software. + "cmsl10" is a Reserved Font Name for this Font Software. + "cmsl12" is a Reserved Font Name for this Font Software. + "cmsl8" is a Reserved Font Name for this Font Software. + "cmsl9" is a Reserved Font Name for this Font Software. + "cmsltt10" is a Reserved Font Name for this Font Software. + "cmss10" is a Reserved Font Name for this Font Software. + "cmss12" is a Reserved Font Name for this Font Software. + "cmss17" is a Reserved Font Name for this Font Software. + "cmss8" is a Reserved Font Name for this Font Software. + "cmss9" is a Reserved Font Name for this Font Software. + "cmssbx10" is a Reserved Font Name for this Font Software. + "cmssdc10" is a Reserved Font Name for this Font Software. + "cmssi10" is a Reserved Font Name for this Font Software. + "cmssi12" is a Reserved Font Name for this Font Software. + "cmssi17" is a Reserved Font Name for this Font Software. + "cmssi8" is a Reserved Font Name for this Font Software. + "cmssi9" is a Reserved Font Name for this Font Software. + "cmssq8" is a Reserved Font Name for this Font Software. + "cmssqi8" is a Reserved Font Name for this Font Software. + "cmsy10" is a Reserved Font Name for this Font Software. + "cmsy5" is a Reserved Font Name for this Font Software. + "cmsy6" is a Reserved Font Name for this Font Software. + "cmsy7" is a Reserved Font Name for this Font Software. + "cmsy8" is a Reserved Font Name for this Font Software. + "cmsy9" is a Reserved Font Name for this Font Software. + "cmtcsc10" is a Reserved Font Name for this Font Software. + "cmtex10" is a Reserved Font Name for this Font Software. + "cmtex8" is a Reserved Font Name for this Font Software. + "cmtex9" is a Reserved Font Name for this Font Software. + "cmti10" is a Reserved Font Name for this Font Software. + "cmti12" is a Reserved Font Name for this Font Software. + "cmti7" is a Reserved Font Name for this Font Software. + "cmti8" is a Reserved Font Name for this Font Software. + "cmti9" is a Reserved Font Name for this Font Software. + "cmtt10" is a Reserved Font Name for this Font Software. + "cmtt12" is a Reserved Font Name for this Font Software. + "cmtt8" is a Reserved Font Name for this Font Software. + "cmtt9" is a Reserved Font Name for this Font Software. + "cmu10" is a Reserved Font Name for this Font Software. + "cmvtt10" is a Reserved Font Name for this Font Software. + "euex10" is a Reserved Font Name for this Font Software. + "euex7" is a Reserved Font Name for this Font Software. + "euex8" is a Reserved Font Name for this Font Software. + "euex9" is a Reserved Font Name for this Font Software. + "eufb10" is a Reserved Font Name for this Font Software. + "eufb5" is a Reserved Font Name for this Font Software. + "eufb7" is a Reserved Font Name for this Font Software. + "eufm10" is a Reserved Font Name for this Font Software. + "eufm5" is a Reserved Font Name for this Font Software. + "eufm7" is a Reserved Font Name for this Font Software. + "eurb10" is a Reserved Font Name for this Font Software. + "eurb5" is a Reserved Font Name for this Font Software. + "eurb7" is a Reserved Font Name for this Font Software. + "eurm10" is a Reserved Font Name for this Font Software. + "eurm5" is a Reserved Font Name for this Font Software. + "eurm7" is a Reserved Font Name for this Font Software. + "eusb10" is a Reserved Font Name for this Font Software. + "eusb5" is a Reserved Font Name for this Font Software. + "eusb7" is a Reserved Font Name for this Font Software. + "eusm10" is a Reserved Font Name for this Font Software. + "eusm5" is a Reserved Font Name for this Font Software. + "eusm7" is a Reserved Font Name for this Font Software. + "lasy10" is a Reserved Font Name for this Font Software. + "lasy5" is a Reserved Font Name for this Font Software. + "lasy6" is a Reserved Font Name for this Font Software. + "lasy7" is a Reserved Font Name for this Font Software. + "lasy8" is a Reserved Font Name for this Font Software. + "lasy9" is a Reserved Font Name for this Font Software. + "lasyb10" is a Reserved Font Name for this Font Software. + "lcircle1" is a Reserved Font Name for this Font Software. + "lcirclew" is a Reserved Font Name for this Font Software. + "lcmss8" is a Reserved Font Name for this Font Software. + "lcmssb8" is a Reserved Font Name for this Font Software. + "lcmssi8" is a Reserved Font Name for this Font Software. + "line10" is a Reserved Font Name for this Font Software. + "linew10" is a Reserved Font Name for this Font Software. + "msam10" is a Reserved Font Name for this Font Software. + "msam5" is a Reserved Font Name for this Font Software. + "msam6" is a Reserved Font Name for this Font Software. + "msam7" is a Reserved Font Name for this Font Software. + "msam8" is a Reserved Font Name for this Font Software. + "msam9" is a Reserved Font Name for this Font Software. + "msbm10" is a Reserved Font Name for this Font Software. + "msbm5" is a Reserved Font Name for this Font Software. + "msbm6" is a Reserved Font Name for this Font Software. + "msbm7" is a Reserved Font Name for this Font Software. + "msbm8" is a Reserved Font Name for this Font Software. + "msbm9" is a Reserved Font Name for this Font Software. + "wncyb10" is a Reserved Font Name for this Font Software. + "wncyi10" is a Reserved Font Name for this Font Software. + "wncyr10" is a Reserved Font Name for this Font Software. + "wncysc10" is a Reserved Font Name for this Font Software. + "wncyss10" is a Reserved Font Name for this Font Software. + + This Font Software is licensed under the SIL Open Font License, Version 1.1. + This license is copied below, and is also available with a FAQ at: + http://scripts.sil.org/OFL + + ----------------------------------------------------------- + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + ----------------------------------------------------------- + + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font creation + efforts of academic and linguistic communities, and to provide a free and + open framework in which fonts may be shared and improved in partnership + with others. + + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply + to any document created using the fonts or their derivatives. + + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + + "Original Version" refers to the collection of Font Software components as + distributed by the Copyright Holder(s). + + "Modified Version" refers to any derivative made by adding to, deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software to a + new environment. + + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + + 1) Neither the Font Software nor any of its individual components, + in Original or Modified Versions, may be sold by itself. + + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the corresponding + Copyright Holder. This restriction only applies to the primary font name as + presented to the users. + + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created + using the Font Software. + + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + + + + Name: BaKoMa Fonts + Files: matplotlib/mpl-data/fonts/ttf/cm*.ttf matplotlib/mpl-data/fonts/afm/cm*.afm + Description: Computer Modern Fonts in PostScript Type 1 and TrueType font formats. + License: BaKoMa Fonts Licence + BaKoMa Fonts Licence + -------------------- + + This licence covers two font packs (known as BaKoMa Fonts Collection, + which is available at `CTAN:fonts/cm/ps-type1/bakoma/'): + + 1) BaKoMa-CM (1.1/12-Nov-94) + Computer Modern Fonts in PostScript Type 1 and TrueType font formats. + + 2) BaKoMa-AMS (1.2/19-Jan-95) + AMS TeX fonts in PostScript Type 1 and TrueType font formats. + + Copyright (C) 1994, 1995, Basil K. Malyshev. All Rights Reserved. + + Permission to copy and distribute these fonts for any purpose is + hereby granted without fee, provided that the above copyright notice, + author statement and this permission notice appear in all copies of + these fonts and related documentation. + + Permission to modify and distribute modified fonts for any purpose is + hereby granted without fee, provided that the copyright notice, + author statement, this permission notice and location of original + fonts (http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma) + appear in all copies of modified fonts and related documentation. + + Permission to use these fonts (embedding into PostScript, PDF, SVG + and printing by using any software) is hereby granted without fee. + It is not required to provide any notices about using these fonts. + + Basil K. Malyshev + INSTITUTE FOR HIGH ENERGY PHYSICS + IHEP, OMVT + Moscow Region + 142281 PROTVINO + RUSSIA + + E-Mail: bakoma@mail.ru + or malyshev@mail.ihep.ru + + + + + Name: ColorBrewer Color Schemes + Files: lib/matplotlib/_cm.py + Description: Color schemes from ColorBrewer + License: Apache-2.0 + Apache-Style Software License for ColorBrewer software and ColorBrewer Color Schemes + + Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University. + + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for the + specific language governing permissions and limitations under the License. + + + Name: Courier 10 + Files: matplotlib/tests/Courier10PitchBT-Bold.pfb + Description: Courier 10 font, used in tests. + License: Bitstream-Charter + The Courier10PitchBT-Bold.pfb file is a Type-1 version of + Courier 10 Pitch BT Bold by Bitstream, obtained from + . It is included + here as test data only, but the following license applies. + + + (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA. + + You are hereby granted permission under all Bitstream propriety rights + to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream + Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts + for any purpose and without restriction; provided, that this notice is + left intact on all copies of such fonts and that Bitstream's trademark + is acknowledged as shown below on all unmodified copies of the 4 Charter + Type 1 fonts. + + BITSTREAM CHARTER is a registered trademark of Bitstream Inc. + + + Name: FreeType + Files: matplotlib/ft2font.*.so + Description: Font rendering library + License: FTL OR GPL-2.0-or-later + The FreeType 2 font engine is copyrighted work and cannot be used + legally without a software license. In order to make this project + usable to a vast majority of developers, we distribute it under two + mutually exclusive open-source licenses. + + This means that *you* must choose *one* of the two licenses described + below, then obey all its terms and conditions when using FreeType 2 in + any of your projects or products. + + - The FreeType License, found in the file `docs/FTL.TXT`, which is + similar to the original BSD license *with* an advertising clause + that forces you to explicitly cite the FreeType project in your + product's documentation. All details are in the license file. + This license is suited to products which don't use the GNU General + Public License. + + Note that this license is compatible to the GNU General Public + License version 3, but not version 2. + + - The GNU General Public License version 2, found in + `docs/GPLv2.TXT` (any later version can be used also), for + programs which already use the GPL. Note that the FTL is + incompatible with GPLv2 due to its advertisement clause. + + The contributed BDF and PCF drivers come with a license similar to + that of the X Window System. It is compatible to the above two + licenses (see files `src/bdf/README` and `src/pcf/README`). The same + holds for the source code files `src/base/fthash.c` and + `include/freetype/internal/fthash.h`; they were part of the BDF driver + in earlier FreeType versions. + + The gzip module uses the zlib license (see `src/gzip/zlib.h`) which + too is compatible to the above two licenses. + + The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code + taken almost verbatim from the HarfBuzz file `hb-ft.cc`, which uses + the 'Old MIT' license, compatible to the above two licenses. + + The MD5 checksum support (only used for debugging in development + builds) is in the public domain. + + + Name: HarfBuzz + Files: matplotlib/ft2font.*.so + Description: Text shaping library + License: MIT-Modern-Variant + HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. + For parts of HarfBuzz that are licensed under different licenses see individual + files names COPYING in subdirectories where applicable. + + Copyright © 2010-2022 Google, Inc. + Copyright © 2015-2020 Ebrahim Byagowi + Copyright © 2019,2020 Facebook, Inc. + Copyright © 2012,2015 Mozilla Foundation + Copyright © 2011 Codethink Limited + Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) + Copyright © 2009 Keith Stribley + Copyright © 2011 Martin Hosken and SIL International + Copyright © 2007 Chris Wilson + Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod + Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. + Copyright © 1998-2005 David Turner and Werner Lemberg + Copyright © 2016 Igalia S.L. + Copyright © 2022 Matthias Clasen + Copyright © 2018,2021 Khaled Hosny + Copyright © 2018,2019,2020 Adobe, Inc + Copyright © 2013-2015 Alexei Podtelezhnikov + + For full copyright notices consult the individual files in the package. + + + Permission is hereby granted, without written agreement and without + license or royalty fees, to use, copy, modify, and distribute this + software and its documentation for any purpose, provided that the + above copyright notice and the following two paragraphs appear in + all copies of this software. + + IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + + THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + + Name: JSXTools resize observer + Files: lib/matplotlib/backends/web_backend/js/mpl.js + Description: Minimal polyfill for the ResizeObserver API + License: CC0-1.0 + # CC0 1.0 Universal + + ## Statement of Purpose + + The laws of most jurisdictions throughout the world automatically confer + exclusive Copyright and Related Rights (defined below) upon the creator and + subsequent owner(s) (each and all, an “owner”) of an original work of + authorship and/or a database (each, a “Work”). + + Certain owners wish to permanently relinquish those rights to a Work for the + purpose of contributing to a commons of creative, cultural and scientific works + (“Commons”) that the public can reliably and without fear of later claims of + infringement build upon, modify, incorporate in other works, reuse and + redistribute as freely as possible in any form whatsoever and for any purposes, + including without limitation commercial purposes. These owners may contribute + to the Commons to promote the ideal of a free culture and the further + production of creative, cultural and scientific works, or to gain reputation or + greater distribution for their Work in part through the use and efforts of + others. + + For these and/or other purposes and motivations, and without any expectation of + additional consideration or compensation, the person associating CC0 with a + Work (the “Affirmer”), to the extent that he or she is an owner of Copyright + and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and + publicly distribute the Work under its terms, with knowledge of his or her + Copyright and Related Rights in the Work and the meaning and intended legal + effect of CC0 on those rights. + + 1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights (“Copyright and + Related Rights”). Copyright and Related Rights include, but are not limited + to, the following: + 1. the right to reproduce, adapt, distribute, perform, display, communicate, + and translate a Work; + 2. moral rights retained by the original author(s) and/or performer(s); + 3. publicity and privacy rights pertaining to a person’s image or likeness + depicted in a Work; + 4. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(i), below; + 5. rights protecting the extraction, dissemination, use and reuse of data in + a Work; + 6. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + 7. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations + thereof. + + 2. Waiver. To the greatest extent permitted by, but not in contravention of, + applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and + unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright + and Related Rights and associated claims and causes of action, whether now + known or unknown (including existing as well as future claims and causes of + action), in the Work (i) in all territories worldwide, (ii) for the maximum + duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the “Waiver”). Affirmer + makes the Waiver for the benefit of each member of the public at large and + to the detriment of Affirmer’s heirs and successors, fully intending that + such Waiver shall not be subject to revocation, rescission, cancellation, + termination, or any other legal or equitable action to disrupt the quiet + enjoyment of the Work by the public as contemplated by Affirmer’s express + Statement of Purpose. + + 3. Public License Fallback. Should any part of the Waiver for any reason be + judged legally invalid or ineffective under applicable law, then the Waiver + shall be preserved to the maximum extent permitted taking into account + Affirmer’s express Statement of Purpose. In addition, to the extent the + Waiver is so judged Affirmer hereby grants to each affected person a + royalty-free, non transferable, non sublicensable, non exclusive, + irrevocable and unconditional license to exercise Affirmer’s Copyright and + Related Rights in the Work (i) in all territories worldwide, (ii) for the + maximum duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the “License”). The License + shall be deemed effective as of the date CC0 was applied by Affirmer to the + Work. Should any part of the License for any reason be judged legally + invalid or ineffective under applicable law, such partial invalidity or + ineffectiveness shall not invalidate the remainder of the License, and in + such case Affirmer hereby affirms that he or she will not (i) exercise any + of his or her remaining Copyright and Related Rights in the Work or (ii) + assert any associated claims and causes of action with respect to the Work, + in either case contrary to Affirmer’s express Statement of Purpose. + + 4. Limitations and Disclaimers. + 1. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + 2. Affirmer offers the Work as-is and makes no representations or warranties + of any kind concerning the Work, express, implied, statutory or + otherwise, including without limitation warranties of title, + merchantability, fitness for a particular purpose, non infringement, or + the absence of latent or other defects, accuracy, or the present or + absence of errors, whether or not discoverable, all to the greatest + extent permissible under applicable law. + 3. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person’s Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the Work. + 4. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to this + CC0 or use of the Work. + + For more information, please see + http://creativecommons.org/publicdomain/zero/1.0/. + + + Name: Last Resort fonts + Files: matplotlib/mpl-data/fonts/ttf/LastResortHE-Regular.ttf + Description: Last Resort High-Efficiency Font + License: OFL-1.1 + This Font Software is licensed under the SIL Open Font License, + Version 1.1. + + This license is copied below, and is also available with a FAQ at: + http://scripts.sil.org/OFL + + ----------------------------------------------------------- + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + ----------------------------------------------------------- + + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font + creation efforts of academic and linguistic communities, and to + provide a free and open framework in which fonts may be shared and + improved in partnership with others. + + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply to + any document created using the fonts or their derivatives. + + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + + "Original Version" refers to the collection of Font Software + components as distributed by the Copyright Holder(s). + + "Modified Version" refers to any derivative made by adding to, + deleting, or substituting -- in part or in whole -- any of the + components of the Original Version, by changing formats or by porting + the Font Software to a new environment. + + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, + modify, redistribute, and sell modified and unmodified copies of the + Font Software, subject to the following conditions: + + 1) Neither the Font Software nor any of its individual components, in + Original or Modified Versions, may be sold by itself. + + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the + corresponding Copyright Holder. This restriction only applies to the + primary font name as presented to the users. + + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created using + the Font Software. + + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + + SPDX-License-Identifier: OFL-1.1 + + + Name: libraqm + Files: matplotlib/ft2font.*.so + Description: Complex text layout library + License: MIT + The MIT License (MIT) + + Copyright © 2015 Information Technology Authority (ITA) + Copyright © 2016-2023 Khaled Hosny + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + + Name: QHull + Files: matplotlib/_qhull.*.so + Description: Convex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection + License: Qhull + Qhull, Copyright (c) 1993-2020 + + C.B. Barber + Arlington, MA + + and + + The National Science and Technology Research Center for + Computation and Visualization of Geometric Structures + (The Geometry Center) + University of Minnesota + + email: qhull@qhull.org + + This software includes Qhull from C.B. Barber and The Geometry Center. + Files derived from Qhull 1.0 are copyrighted by the Geometry Center. The + remaining files are copyrighted by C.B. Barber. Qhull is free software + and may be obtained via http from www.qhull.org. It may be freely copied, + modified, and redistributed under the following conditions: + + 1. All copyright notices must remain intact in all files. + + 2. A copy of this text file must be distributed along with any copies + of Qhull that you redistribute; this includes copies that you have + modified, or copies of programs or other software products that + include Qhull. + + 3. If you modify Qhull, you must include a notice giving the + name of the person performing the modification, the date of + modification, and the reason for such modification. + + 4. When distributing modified versions of Qhull, or other software + products that include Qhull, you must provide notice that the original + source code may be obtained as noted above. + + 5. There is no warranty or other guarantee of fitness for Qhull, it is + provided solely "as is". Bug reports or fixes may be sent to + qhull_bug@qhull.org; the authors may or may not act on them as + they desire. + + + Name: Qt4 Editor + Files: matplotlib/backends/qt_editor + Description: Module creating PyQt4 form dialogs/layouts to edit various type of parameters + License: MIT + Module creating PyQt4 form dialogs/layouts to edit various type of parameters + + + formlayout License Agreement (MIT License) + ------------------------------------------ + + Copyright (c) 2009 Pierre Raybaut + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + Name: SheenBidi + Files: matplotlib/ft2font.*.so + Description: Unicode Bidirectional Algorithm implementation + License: Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Name: Solarized + Files: matplotlib/mpl-data/stylelib/Solarize_Light2.mplstyle + Description: Solarized color scheme/style + License: MIT + https://github.com/altercation/solarized/blob/master/LICENSE + Copyright (c) 2011 Ethan Schoonover + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + + Name: Stix fonts + Files: matplotlib/mpl-data/fonts/ttf/STIX*.ttf + Description: STIX fonts + License: OFL-1.1 + STIX Font License + + 24 May 2010 + + Copyright (c) 2001-2010 by the STI Pub Companies, consisting of the American + Institute of Physics, the American Chemical Society, the American Mathematical + Society, the American Physical Society, Elsevier, Inc., and The Institute of + Electrical and Electronic Engineers, Inc. (www.stixfonts.org), with Reserved + Font Name STIX Fonts, STIX Fonts (TM) is a trademark of The Institute of + Electrical and Electronics Engineers, Inc. + + Portions copyright (c) 1998-2003 by MicroPress, Inc. (www.micropress-inc.com), + with Reserved Font Name TM Math. To obtain additional mathematical fonts, please + contact MicroPress, Inc., 68-30 Harrow Street, Forest Hills, NY 11375, USA, + Phone: (718) 575-1816. + + Portions copyright (c) 1990 by Elsevier, Inc. + + This Font Software is licensed under the SIL Open Font License, Version 1.1. + This license is copied below, and is also available with a FAQ at: + https://scripts.sil.org/OFL + + ----------------------------------------------------------- + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + ----------------------------------------------------------- + + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font creation + efforts of academic and linguistic communities, and to provide a free and + open framework in which fonts may be shared and improved in partnership + with others. + + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply + to any document created using the fonts or their derivatives. + + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + + "Original Version" refers to the collection of Font Software components as + distributed by the Copyright Holder(s). + + "Modified Version" refers to any derivative made by adding to, deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software to a + new environment. + + "Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + + 1) Neither the Font Software nor any of its individual components, + in Original or Modified Versions, may be sold by itself. + + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the corresponding + Copyright Holder. This restriction only applies to the primary font name as + presented to the users. + + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + + 5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created + using the Font Software. + + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + + Name: Yorick Colormaps + Files: lib/matplotlib/_cm.py + Description: Gist/Yorick colormaps + License: + BSD-style license for gist/yorick colormaps. + + Copyright: + + Copyright (c) 1996. The Regents of the University of California. + All rights reserved. + + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire + notice is included in all copies of any software which is or includes + a copy or modification of this software and in all copies of the + supporting documentation for such software. + + This work was produced at the University of California, Lawrence + Livermore National Laboratory under contract no. W-7405-ENG-48 between + the U.S. Department of Energy and The Regents of the University of + California for the operation of UC LLNL. + + + DISCLAIMER + + This software was prepared as an account of work sponsored by an + agency of the United States Government. Neither the United States + Government nor the University of California nor any of their + employees, makes any warranty, express or implied, or assumes any + liability or responsibility for the accuracy, completeness, or + usefulness of any information, apparatus, product, or process + disclosed, or represents that its use would not infringe + privately-owned rights. Reference herein to any specific commercial + products, process, or service by trade name, trademark, manufacturer, + or otherwise, does not necessarily constitute or imply its + endorsement, recommendation, or favoring by the United States + Government or the University of California. The views and opinions of + authors expressed herein do not necessarily state or reflect those of + the United States Government or the University of California, and + shall not be used for advertising or product endorsement purposes. + + + AUTHOR + + David H. Munro wrote Yorick and Gist. Berkeley Yacc (byacc) generated + the Yorick parser. The routines in Math are from LAPACK and FFTPACK; + MathC contains C translations by David H. Munro. The algorithms for + Yorick's random number generator and several special functions in + Yorick/include were taken from Numerical Recipes by Press, et. al., + although the Yorick implementations are unrelated to those in + Numerical Recipes. A small amount of code in Gist was adapted from + the X11R4 release, copyright M.I.T. -- the complete copyright notice + may be found in the (unused) file Gist/host.c. + +Classifier: Development Status :: 5 - Production/Stable +Classifier: Framework :: Matplotlib +Classifier: Intended Audience :: Science/Research +Classifier: Intended Audience :: Education +Classifier: License :: OSI Approved :: Python Software Foundation License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 +Classifier: Topic :: Scientific/Engineering :: Visualization +Project-URL: Homepage, https://matplotlib.org +Project-URL: Download, https://matplotlib.org/stable/install/index.html +Project-URL: Documentation, https://matplotlib.org +Project-URL: Source Code, https://github.com/matplotlib/matplotlib +Project-URL: Bug Tracker, https://github.com/matplotlib/matplotlib/issues +Project-URL: Forum, https://discourse.matplotlib.org/ +Project-URL: Donate, https://numfocus.org/donate-to-matplotlib +Requires-Python: >=3.11 +Requires-Dist: contourpy>=1.0.1 +Requires-Dist: cycler>=0.10 +Requires-Dist: fonttools>=4.28.2 +Requires-Dist: kiwisolver>=1.3.1 +Requires-Dist: numpy>=1.25 +Requires-Dist: packaging>=20.0 +Requires-Dist: pillow>=9 +Requires-Dist: pyparsing>=3 +Requires-Dist: python-dateutil>=2.7 +Description-Content-Type: text/markdown + +[![PyPi](https://img.shields.io/pypi/v/matplotlib)](https://pypi.org/project/matplotlib/) +[![Conda](https://img.shields.io/conda/vn/conda-forge/matplotlib)](https://anaconda.org/conda-forge/matplotlib) +[![Downloads](https://img.shields.io/pypi/dm/matplotlib)](https://pypi.org/project/matplotlib) +[![NUMFocus](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) +[![LFX Health Score](https://insights.linuxfoundation.org/api/badge/health-score?project=matplotlib)](https://insights.linuxfoundation.org/project/matplotlib) + +[![Discourse help forum](https://img.shields.io/badge/help_forum-discourse-blue.svg)](https://discourse.matplotlib.org) +[![Discourse chat](https://img.shields.io/badge/chat-discourse-mediumaquamarine)](https://discourse.matplotlib.org/chat/c/matplotlib/2) +[![GitHub issues](https://img.shields.io/badge/issue_tracking-github-blue.svg)](https://github.com/matplotlib/matplotlib/issues) +[![Contributing](https://img.shields.io/badge/PR-Welcome-%23FF8300.svg?)](https://matplotlib.org/stable/devel/index.html) + +[![GitHub actions status](https://github.com/matplotlib/matplotlib/workflows/Tests/badge.svg)](https://github.com/matplotlib/matplotlib/actions?query=workflow%3ATests) +[![Azure pipelines status](https://dev.azure.com/matplotlib/matplotlib/_apis/build/status/matplotlib.matplotlib?branchName=main)](https://dev.azure.com/matplotlib/matplotlib/_build/latest?definitionId=1&branchName=main) +[![AppVeyor status](https://ci.appveyor.com/api/projects/status/github/matplotlib/matplotlib?branch=main&svg=true)](https://ci.appveyor.com/project/matplotlib/matplotlib) +[![Codecov status](https://codecov.io/github/matplotlib/matplotlib/badge.svg?branch=main&service=github)](https://app.codecov.io/gh/matplotlib/matplotlib) +[![EffVer Versioning](https://img.shields.io/badge/version_scheme-EffVer-0097a7)](https://jacobtomlinson.dev/effver) + +![Matplotlib logotype](https://matplotlib.org/stable/_static/logo2.svg) + +Matplotlib is a comprehensive library for creating static, animated, and +interactive visualizations in Python. + +Check out our [home page](https://matplotlib.org/) for more information. + +![image](https://matplotlib.org/stable/_static/readme_preview.png) + +Matplotlib produces publication-quality figures in a variety of hardcopy +formats and interactive environments across platforms. Matplotlib can be +used in Python scripts, Python/IPython shells, web application servers, +and various graphical user interface toolkits. + +## Install + +See the [install +documentation](https://matplotlib.org/stable/users/installing/index.html), +which is generated from `/doc/install/index.rst` + +## Contribute + +You've discovered a bug or something else you want to change — excellent! + +You've worked out a way to fix it — even better! + +You want to tell us about it — best of all! + +Start at the [contributing +guide](https://matplotlib.org/devdocs/devel/contribute.html)! + +## Contact + +[Discourse](https://discourse.matplotlib.org/) is the discussion forum +for general questions and discussions and our recommended starting +point. + +Our active mailing lists (which are mirrored on Discourse) are: + +- [Users](https://mail.python.org/mailman/listinfo/matplotlib-users) + mailing list: +- [Announcement](https://mail.python.org/mailman/listinfo/matplotlib-announce) + mailing list: +- [Development](https://mail.python.org/mailman/listinfo/matplotlib-devel) + mailing list: + +[Discourse Chat](https://discourse.matplotlib.org/chat/c/matplotlib/2) is for +coordinating development and asking questions directly related to contributing +to matplotlib. + +## Citing Matplotlib + +If Matplotlib contributes to a project that leads to publication, please +acknowledge this by citing Matplotlib. + +[A ready-made citation +entry](https://matplotlib.org/stable/users/project/citing.html) is +available. diff --git a/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/RECORD b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/RECORD new file mode 100644 index 0000000000000000000000000000000000000000..98d74d598a463423f32e0a78ac9cea694ab97d85 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/RECORD @@ -0,0 +1,891 @@ +__pycache__/pylab.cpython-312.pyc,, +matplotlib-3.11.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +matplotlib-3.11.2.dist-info/LICENSE,sha256=gi6OUoFHVppBl1WSruGcEZkqtme6UEUc2SkDHV_HRJE,63442 +matplotlib-3.11.2.dist-info/METADATA,sha256=5fUyIm0QJa8t0V_5Ud8nOR9m1GQDuCROph5rjrPk2AY,80264 +matplotlib-3.11.2.dist-info/RECORD,, +matplotlib-3.11.2.dist-info/WHEEL,sha256=3qIDcXCk577AXiK3pDifO-gE9U_MYWYGgtD78gLa2_U,137 +matplotlib/__init__.py,sha256=N6u3jnTp4AhaTjBqkZYG_6j_PCY974CuL02TjPp5zTI,56239 +matplotlib/__init__.pyi,sha256=hnkSJbatbDbjIU0O9Nb_8uALpyt7XmJmlua1Z9ti1xs,3648 +matplotlib/__pycache__/__init__.cpython-312.pyc,, +matplotlib/__pycache__/_afm.cpython-312.pyc,, +matplotlib/__pycache__/_animation_data.cpython-312.pyc,, +matplotlib/__pycache__/_blocking_input.cpython-312.pyc,, +matplotlib/__pycache__/_cm.cpython-312.pyc,, +matplotlib/__pycache__/_cm_bivar.cpython-312.pyc,, +matplotlib/__pycache__/_cm_listed.cpython-312.pyc,, +matplotlib/__pycache__/_cm_multivar.cpython-312.pyc,, +matplotlib/__pycache__/_color_data.cpython-312.pyc,, +matplotlib/__pycache__/_constrained_layout.cpython-312.pyc,, +matplotlib/__pycache__/_docstring.cpython-312.pyc,, +matplotlib/__pycache__/_enums.cpython-312.pyc,, +matplotlib/__pycache__/_fontconfig_pattern.cpython-312.pyc,, +matplotlib/__pycache__/_internal_utils.cpython-312.pyc,, +matplotlib/__pycache__/_layoutgrid.cpython-312.pyc,, +matplotlib/__pycache__/_mathtext.cpython-312.pyc,, +matplotlib/__pycache__/_mathtext_data.cpython-312.pyc,, +matplotlib/__pycache__/_pylab_helpers.cpython-312.pyc,, +matplotlib/__pycache__/_style_helpers.cpython-312.pyc,, +matplotlib/__pycache__/_text_helpers.cpython-312.pyc,, +matplotlib/__pycache__/_tight_bbox.cpython-312.pyc,, +matplotlib/__pycache__/_tight_layout.cpython-312.pyc,, +matplotlib/__pycache__/_type1font.cpython-312.pyc,, +matplotlib/__pycache__/_version.cpython-312.pyc,, +matplotlib/__pycache__/animation.cpython-312.pyc,, +matplotlib/__pycache__/artist.cpython-312.pyc,, +matplotlib/__pycache__/axis.cpython-312.pyc,, +matplotlib/__pycache__/backend_bases.cpython-312.pyc,, +matplotlib/__pycache__/backend_managers.cpython-312.pyc,, +matplotlib/__pycache__/backend_tools.cpython-312.pyc,, +matplotlib/__pycache__/bezier.cpython-312.pyc,, +matplotlib/__pycache__/category.cpython-312.pyc,, +matplotlib/__pycache__/cbook.cpython-312.pyc,, +matplotlib/__pycache__/cm.cpython-312.pyc,, +matplotlib/__pycache__/collections.cpython-312.pyc,, +matplotlib/__pycache__/colorbar.cpython-312.pyc,, +matplotlib/__pycache__/colorizer.cpython-312.pyc,, +matplotlib/__pycache__/colors.cpython-312.pyc,, +matplotlib/__pycache__/container.cpython-312.pyc,, +matplotlib/__pycache__/contour.cpython-312.pyc,, +matplotlib/__pycache__/dates.cpython-312.pyc,, +matplotlib/__pycache__/dviread.cpython-312.pyc,, +matplotlib/__pycache__/figure.cpython-312.pyc,, +matplotlib/__pycache__/font_manager.cpython-312.pyc,, +matplotlib/__pycache__/gridspec.cpython-312.pyc,, +matplotlib/__pycache__/hatch.cpython-312.pyc,, +matplotlib/__pycache__/image.cpython-312.pyc,, +matplotlib/__pycache__/inset.cpython-312.pyc,, +matplotlib/__pycache__/layout_engine.cpython-312.pyc,, +matplotlib/__pycache__/legend.cpython-312.pyc,, +matplotlib/__pycache__/legend_handler.cpython-312.pyc,, +matplotlib/__pycache__/lines.cpython-312.pyc,, +matplotlib/__pycache__/markers.cpython-312.pyc,, +matplotlib/__pycache__/mathtext.cpython-312.pyc,, +matplotlib/__pycache__/mlab.cpython-312.pyc,, +matplotlib/__pycache__/offsetbox.cpython-312.pyc,, +matplotlib/__pycache__/patches.cpython-312.pyc,, +matplotlib/__pycache__/path.cpython-312.pyc,, +matplotlib/__pycache__/patheffects.cpython-312.pyc,, +matplotlib/__pycache__/pylab.cpython-312.pyc,, +matplotlib/__pycache__/pyplot.cpython-312.pyc,, +matplotlib/__pycache__/quiver.cpython-312.pyc,, +matplotlib/__pycache__/rcsetup.cpython-312.pyc,, +matplotlib/__pycache__/sankey.cpython-312.pyc,, +matplotlib/__pycache__/scale.cpython-312.pyc,, +matplotlib/__pycache__/spines.cpython-312.pyc,, +matplotlib/__pycache__/stackplot.cpython-312.pyc,, +matplotlib/__pycache__/streamplot.cpython-312.pyc,, +matplotlib/__pycache__/table.cpython-312.pyc,, +matplotlib/__pycache__/texmanager.cpython-312.pyc,, +matplotlib/__pycache__/text.cpython-312.pyc,, +matplotlib/__pycache__/textpath.cpython-312.pyc,, +matplotlib/__pycache__/ticker.cpython-312.pyc,, +matplotlib/__pycache__/transforms.cpython-312.pyc,, +matplotlib/__pycache__/typing.cpython-312.pyc,, +matplotlib/__pycache__/units.cpython-312.pyc,, +matplotlib/__pycache__/widgets.cpython-312.pyc,, +matplotlib/_afm.py,sha256=l46JeOQkEGId4DblorgmEekC8yHG26pfGDZKbkJZJzY,16637 +matplotlib/_animation_data.py,sha256=JJJbbc-fMdPjkbQ7ng9BHL5i91VTDHQVTtEdWOvWBAI,7986 +matplotlib/_api/__init__.py,sha256=fiYs7djOGhZgwuLKpjresHjCnja9VBuOb3c8_tTDx4I,17391 +matplotlib/_api/__init__.pyi,sha256=2DfbEED4eeE5pEjHUFo9EgSN1UnediUYcYlwG8dCzMc,2322 +matplotlib/_api/__pycache__/__init__.cpython-312.pyc,, +matplotlib/_api/__pycache__/deprecation.cpython-312.pyc,, +matplotlib/_api/deprecation.py,sha256=Nk0GmpvN8rEPL2QSIHF7qqTlybjiX74VDNmJXy-FQtI,20733 +matplotlib/_api/deprecation.pyi,sha256=A8De57amX2GlZSrDYwVYCMxHFb8AsYGrH0k_bCxuJus,2217 +matplotlib/_blocking_input.py,sha256=VHNsxvX2mTx_xBknd30MSicVlRXS4dCDe9hDctbV5rk,1224 +matplotlib/_c_internal_utils.cpython-312-x86_64-linux-gnu.so,sha256=ekdE5NTdHv6MNv8pKP9oEcPwzCule8suhszoKFhtLH4,266840 +matplotlib/_c_internal_utils.pyi,sha256=Z3bLs9pMGXrmZjt-4_A-x4321bLP-B54xDbr4PIgUfc,377 +matplotlib/_cm.py,sha256=RNyeDygB0aBKSryfiLvqZy688uH9nvxPrEno_qntT5Y,70285 +matplotlib/_cm_bivar.py,sha256=RSIt5eWusEBkKSEYFq5h6MGlViWbEd7UQJLRlr8hz9w,95704 +matplotlib/_cm_listed.py,sha256=3a02mPUSnOsXkqRFNxKGwIvJCAKY5lezBUrqGcllnvk,135004 +matplotlib/_cm_multivar.py,sha256=0UjNFW7Sytj1t31QD99ebfr-al7NmCpWhKUOyq9VzK8,6630 +matplotlib/_color_data.py,sha256=k-wdTi6ArJxksqBfMT-7Uy2qWz8XX4Th5gsjf32CwmM,34780 +matplotlib/_color_data.pyi,sha256=RdBRk01yuf3jYVlCwG351tIBCxehizkZMnKs9c8gnOw,170 +matplotlib/_constrained_layout.py,sha256=uEH1lnCZz_FRmp2aGtt3iDPHGUw6Sdb38r-Gve82tR4,33041 +matplotlib/_docstring.py,sha256=u9yJorJidI8k1W8S01SIMqNmh5VOMVc-AqyES66EEdk,4435 +matplotlib/_docstring.pyi,sha256=Tr9ApmZkmt5HjoTf1IC4X13Nvjna_eW-yLQd5llCK8g,725 +matplotlib/_enums.py,sha256=ERb2JYSEfGdxqXqDlF97WGP4LT-B79k3rDu0KimVeWk,6175 +matplotlib/_enums.pyi,sha256=EqmZXhvqknq8WKey2susXmbIzq07O114jJ0RoWo6Qfg,302 +matplotlib/_fontconfig_pattern.py,sha256=LdC1dyLFbYFGcvpr6K_YcFpC8imHXOgJhli1Db-eaKQ,4368 +matplotlib/_image.cpython-312-x86_64-linux-gnu.so,sha256=Z2y1oTZWjA5ero3xsJobGmL9yFKcJKGNM9O7GcRWL1Y,602368 +matplotlib/_image.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/_internal_utils.py,sha256=nhK6LLWYW93fBcsFiO09JmqFj2rgHEsGYFOeaC7HRKw,2140 +matplotlib/_layoutgrid.py,sha256=mFB9asZVol2aV9hLBpdntuG5x1isKUrajF-3TUhCgso,21676 +matplotlib/_mathtext.py,sha256=_2bkK1whMKjj8EJJ2BkcJPQzxCiS-KDF1m1VJnSNYTI,118542 +matplotlib/_mathtext_data.py,sha256=kNTK1Yzh8bJoLqeFEDrVqG4qNDltAqqzhqDM8ZORC2w,68787 +matplotlib/_path.cpython-312-x86_64-linux-gnu.so,sha256=pXZiJlZbSmX7WMnB32C7FPxdIz3kG-W8TShCk2B-uIk,506712 +matplotlib/_path.pyi,sha256=YQm2xn97KT0x2sieHfZJqd3Qz2bxpgDPMzjWmtlxxzs,261 +matplotlib/_pylab_helpers.py,sha256=7Wcmb39shcllnTI_uICKW0vMB7kI8cZr8mQ8xgh70IM,4424 +matplotlib/_pylab_helpers.pyi,sha256=7OZKr-OL3ipVt1EDZ6e-tRwHASz-ijYfcIdlPczXhvQ,1012 +matplotlib/_qhull.cpython-312-x86_64-linux-gnu.so,sha256=47QOUdYua5EdnBWS6KSt0znhTjCXw4GNXXdKNQWacHo,755864 +matplotlib/_qhull.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/_style_helpers.py,sha256=LeTjS0RQLrTo5PosTsFXg1zukGCSMpzJLWiRCUHGPow,1781 +matplotlib/_text_helpers.py,sha256=CxOPGLxlj0xcI9mZPS0G6pJiHWlShVjnHSF05RqPzK0,1600 +matplotlib/_tight_bbox.py,sha256=sswNaE9IcVwIvhUQfAUq3CdJZYusKWeXKz-Dw0JXy2s,2821 +matplotlib/_tight_layout.py,sha256=A3vZKBmxci7w35OO9lxgfUqrRKgTr-N_dUza0M05WxE,12675 +matplotlib/_tri.cpython-312-x86_64-linux-gnu.so,sha256=I3MjU7yHCOV9arqu7PFJos_hX6V0xS3qT8VNmPdHk_s,439264 +matplotlib/_tri.pyi,sha256=bFnu97pIlSboJT3ijQBw4YlZdlR1UzXYtI3DkEPVzeM,1429 +matplotlib/_type1font.py,sha256=3n-dlsUP35U4CLBTmx28P7Tsdc4rxNnaURZi9xIFzr8,41640 +matplotlib/_version.py,sha256=KMmUcoybTFMzT_WAH2Kkg4xeBOm8OGLzSre1hxnJMwg,19 +matplotlib/animation.py,sha256=ZKnd2PEj-yq_3fXdSwgzpH0UDup4Uiwn7U1_L6IhTdI,74106 +matplotlib/animation.pyi,sha256=Uf4_f8vqu585xcpppq4__MwQgy9k6VIFltI_tcQXcMA,6833 +matplotlib/artist.py,sha256=xVqB2G22CreyL81ucEAaqEVY3l0bpuQKFsYPbx8Dvno,65786 +matplotlib/artist.pyi,sha256=cdWcuxzI_0BWm1Ij4XtPanAhClmXJywV2eYdEwBUgro,7321 +matplotlib/axes/__init__.py,sha256=aHE_zIjphIJkW4_1fyoFuEWTb7gCRewK5jNZWJHEdgM,351 +matplotlib/axes/__init__.pyi,sha256=HP1z2v-PboHQS4dQjvJ7XjUjX-zw6taZRTTB9oVKwYE,303 +matplotlib/axes/__pycache__/__init__.cpython-312.pyc,, +matplotlib/axes/__pycache__/_axes.cpython-312.pyc,, +matplotlib/axes/__pycache__/_base.cpython-312.pyc,, +matplotlib/axes/__pycache__/_secondary_axes.cpython-312.pyc,, +matplotlib/axes/_axes.py,sha256=9h4ctDV17KcLAcnIDxbTAV6RqBAf6c4Mw_3D2ARByKc,372902 +matplotlib/axes/_axes.pyi,sha256=DwqzbqB89ftBVvsboIBVK45nRfQmhy8whwPEEvfy_Ec,27942 +matplotlib/axes/_base.py,sha256=zv9NL6m9mesUUaJ4Er7zQ5AjhN1ZKpuEgvMbLqxV82s,197935 +matplotlib/axes/_base.pyi,sha256=76nYL7r3HGwbyjMs_95fzvAuZsiPi2Bxdqjo1t4uysU,17533 +matplotlib/axes/_secondary_axes.py,sha256=sqqq4HfgP_ZTjRpL-KacNHbu0OJxIKpWfeE4x5RZmpM,12922 +matplotlib/axes/_secondary_axes.pyi,sha256=SygaC_w29AbGAfBnwSKcltPBkaZUQclS42XDB9OmGaU,1782 +matplotlib/axis.py,sha256=97_5nSz_rnfnXuoPuUKi3Q0PwoxwLsy1QGkbynNkMrA,111990 +matplotlib/axis.pyi,sha256=pztTaGoPJ424AHZyE9iHo5NPvl_EjERgykTIgr5osbU,10246 +matplotlib/backend_bases.py,sha256=orFH-xSdiGL62HSZH3mmHPdto0d9_VivmXVaj5-AwHQ,138490 +matplotlib/backend_bases.pyi,sha256=233bGo5OUYb9mQxKw5yArCzPwPCKcD8X0dSbyYAftt4,17357 +matplotlib/backend_managers.py,sha256=RQheCO_cQBlaWsYMbAmswu0UPKU7bmLTI5LEFgotklA,11795 +matplotlib/backend_managers.pyi,sha256=agnuM0wiZRqSgqti2AgbKJijRLvEPNLOrSY8PEwLjFE,2253 +matplotlib/backend_tools.py,sha256=CvRSLGYETQAs8ryoJ4gizeJOj7QLzbWPfSlT17AciHY,33379 +matplotlib/backend_tools.pyi,sha256=T6q9_VHSF9Ca7yY2FJT6Fqbp0e5flzXFPU4g6UmjraU,4142 +matplotlib/backends/__init__.py,sha256=JowJe-tDrUBMNJTiJATgiEuACpgdxsKnRCYa-nC255A,206 +matplotlib/backends/__pycache__/__init__.cpython-312.pyc,, +matplotlib/backends/__pycache__/_backend_gtk.cpython-312.pyc,, +matplotlib/backends/__pycache__/_backend_pdf_ps.cpython-312.pyc,, +matplotlib/backends/__pycache__/_backend_tk.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_agg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_cairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_gtk3.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_gtk3agg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_gtk3cairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_gtk4.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_gtk4agg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_gtk4cairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_macosx.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_mixed.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_nbagg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_pdf.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_pgf.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_ps.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_qt.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_qt5.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_qt5agg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_qt5cairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_qtagg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_qtcairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_svg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_template.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_tkagg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_tkcairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_webagg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_webagg_core.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_wx.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_wxagg.cpython-312.pyc,, +matplotlib/backends/__pycache__/backend_wxcairo.cpython-312.pyc,, +matplotlib/backends/__pycache__/qt_compat.cpython-312.pyc,, +matplotlib/backends/__pycache__/registry.cpython-312.pyc,, +matplotlib/backends/_backend_agg.cpython-312-x86_64-linux-gnu.so,sha256=7MZKr6D1ttC5KrSaEQkl3E8eqPkGiTVcd9lsCNjIYTo,789856 +matplotlib/backends/_backend_agg.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/backends/_backend_gtk.py,sha256=73YLOI6Ztewd_c0cPkvBPxA2FFXeHJKtv9ie8F_HTBg,11318 +matplotlib/backends/_backend_pdf_ps.py,sha256=8nd42_khjFna-WORMUEZ_9w634YF5-GkLmL3FSePiJQ,15792 +matplotlib/backends/_backend_tk.py,sha256=mmVLWw8cmDyahEUocxnBcKPriG2cbhrM8NgHeuW-h7s,45650 +matplotlib/backends/_macosx.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/backends/_tkagg.cpython-312-x86_64-linux-gnu.so,sha256=S_Oz4ha4SRKrhKPgA96d4I5ssGdVYRUA2d1GDd9mzXI,291288 +matplotlib/backends/_tkagg.pyi,sha256=1yKnYKSgNFesrb0ZI5RQCyTO4zONgHW5MrJ9vq4HzyI,379 +matplotlib/backends/backend_agg.py,sha256=P5kuN0MFrkD7qjap2ndigyGWGWpeQHJMHOii4GuC5GM,23121 +matplotlib/backends/backend_cairo.py,sha256=Dv6HQX1fsNXAsKF3_28iXT8cuGbsPpL1CiRIXeYOFHQ,18623 +matplotlib/backends/backend_gtk3.py,sha256=qWjAZOCIM6tppqd2qpS2JfRtSpHAN2sVvaCu_7UeqKE,22399 +matplotlib/backends/backend_gtk3agg.py,sha256=aFJw05L5V-FyFSj_20l_FuC5piPf8fhKzft_m1NMhYc,2463 +matplotlib/backends/backend_gtk3cairo.py,sha256=zPsJzVm750if2LiQ9ybzsbX0rBhkP05XVvR9Lhz65so,1392 +matplotlib/backends/backend_gtk4.py,sha256=9hbYj5P6-bA2_3iLPUue1cdT0BvMzeSWA6bwXsWgG-o,23690 +matplotlib/backends/backend_gtk4agg.py,sha256=00i3qpIt9Tcf_S74GOWbeckiPlfVJoQ2pBbhXDMthF0,1262 +matplotlib/backends/backend_gtk4cairo.py,sha256=sqWm3WgfNO8EsBjqzsD4U4cAc0f4q5SufYx7ZJacDf0,1125 +matplotlib/backends/backend_macosx.py,sha256=Gjbu1MKXIZpCM_luMG6U7qDgwotcGSegCvYw-NNWxeQ,7397 +matplotlib/backends/backend_mixed.py,sha256=qfuFnC8FrlwUnjh13krzLbW3KoSsC4KmeOfmnuXXWg8,4837 +matplotlib/backends/backend_nbagg.py,sha256=ubhMhxfsv6-6cy8ip8SvGEn2pc9XgqilvH_MVYYdbKE,8026 +matplotlib/backends/backend_pdf.py,sha256=gSxmt_P6-pxdUr1BSvn5g4Wvt2LmP5yYT81c-numCS0,102799 +matplotlib/backends/backend_pgf.py,sha256=XYfcRUAABOAS_REh8gQLEZsEK7fSL-VSzJBWtx2WwBk,40667 +matplotlib/backends/backend_ps.py,sha256=oXyXS-pGBrF8ik5EnwNjRhk0miaQZ4ESVeYmzkuCheU,52915 +matplotlib/backends/backend_qt.py,sha256=L07xkywLyhyan2uG-upPrqsHqQjC4WTkBJAoUhjcP0U,46470 +matplotlib/backends/backend_qt5.py,sha256=kzfoo2ksEGsiWAa2LGtZYzKvfzqJJWyGOohohcRAu1g,787 +matplotlib/backends/backend_qt5agg.py,sha256=Vh7H8kqWH4X8a3VX2XZ2Vze9srwJavkNHAZxdJUz_bk,352 +matplotlib/backends/backend_qt5cairo.py,sha256=Go2Y0GVkXh1xh6x4F255_e5Xbwwws-OiD1Fc0805E78,292 +matplotlib/backends/backend_qtagg.py,sha256=ZjPtp5wR6tZGjbngPXRdVXYRhiPPrc5C0q2DmtdRkpY,3413 +matplotlib/backends/backend_qtcairo.py,sha256=e3SUG50VGqo68eS_8ebTCVQPa4AaxLxuo1JiWX4TIWg,1770 +matplotlib/backends/backend_svg.py,sha256=xIl3W5iR8Yv7MbcG5yQG2iZ6m1IDOl0f1g5ZIwxI1WU,51636 +matplotlib/backends/backend_template.py,sha256=qhWvXGiPeO2jvH61L3NCRYLReo--d4WJrQYanIaEmiE,8012 +matplotlib/backends/backend_tkagg.py,sha256=z9gB16fq2d-DUNpbeSDDLWaYmc0Jz3cDqNlBKhnQg0c,592 +matplotlib/backends/backend_tkcairo.py,sha256=OZWmYs0nvs1qp0OEkhZhhIbXkwBbK6frP0VDik7fu78,859 +matplotlib/backends/backend_webagg.py,sha256=jQhB9JA5tXcRwm6_7qlBg2-Q8_y-5hnv2IUNBPpCSbA,11014 +matplotlib/backends/backend_webagg_core.py,sha256=xJDU2egrWAGvHf9DU7HNP_HB_HLIY5I5aWyITjFN_o8,19622 +matplotlib/backends/backend_wx.py,sha256=lxysP5Z1cnw5ccbgoacQ5xIUiu4KJ8bEtbPlKvFe5hA,51826 +matplotlib/backends/backend_wxagg.py,sha256=tzcwYyW34j4LPfHm9uhuHwepwZIcspi3y8oPC8FJkdk,1468 +matplotlib/backends/backend_wxcairo.py,sha256=7pojY9Q9So6bShbiZgjzAo3cP3cBX0iGT6u8c_h94zc,868 +matplotlib/backends/qt_compat.py,sha256=hwZ78jPuXdKuU71aqqDZqCXYBEeNnfwzkZaGQeaH_9c,5381 +matplotlib/backends/qt_editor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/backends/qt_editor/__pycache__/__init__.cpython-312.pyc,, +matplotlib/backends/qt_editor/__pycache__/_formlayout.cpython-312.pyc,, +matplotlib/backends/qt_editor/__pycache__/figureoptions.cpython-312.pyc,, +matplotlib/backends/qt_editor/_formlayout.py,sha256=QmqqqLO6waqeSGOKjDNUwjvon53Z7yqil5AfqfftDWY,20953 +matplotlib/backends/qt_editor/figureoptions.py,sha256=foEm2WLOjiephUZwGT3XjPJ3Q4IGHC2GMcxzMgrQQ50,9855 +matplotlib/backends/registry.py,sha256=M2BHhBKbUJ8E2B2QExfVf8NbAK4ZFhJtmKRelBZZDh4,15480 +matplotlib/backends/web_backend/all_figures.html,sha256=44Y-GvIJbNlqQaKSW3kwVKpTxBSG1WsdYz3ZmYHlUsA,1753 +matplotlib/backends/web_backend/css/boilerplate.css,sha256=qui16QXRnQFNJDbcMasfH6KtN9hLjv8883U9cJmsVCE,2310 +matplotlib/backends/web_backend/css/fbm.css,sha256=wa4vNkNv7fQ_TufjJjecFZEzPMR6W8x6uXJga_wQILw,1456 +matplotlib/backends/web_backend/css/mpl.css,sha256=ruca_aA5kNnP-MZmLkriu8teVP1nIgwcFEpoB16j8Z4,1611 +matplotlib/backends/web_backend/css/page.css,sha256=ca3nO3TaPw7865PN5SlGJBTc2H3rBXQCMaFPywX29y4,1623 +matplotlib/backends/web_backend/ipython_inline_figure.html,sha256=wgSxUh3xpPAxOnZgSMnrhDM5hYncOfWRGgaCUezvedY,1311 +matplotlib/backends/web_backend/js/mpl.js,sha256=OMt_21axoqQKoVf9ttijR_2M1jOH7id0Q69sQfwZ_y4,25140 +matplotlib/backends/web_backend/js/mpl_tornado.js,sha256=Zs2Uzs7YUilG765nYvanCo-IK8HkHDtIum1KAq6bQ_w,302 +matplotlib/backends/web_backend/js/nbagg_mpl.js,sha256=F-By4ZjOSmwpNAkxUUxUk35qCjGlf0B28Z0aOyfpxDM,9514 +matplotlib/backends/web_backend/single_figure.html,sha256=wEBwF602JLHErBUEXiS6jXqmxYAIzHpa3MMFrnev6rs,1357 +matplotlib/bezier.py,sha256=Y8NbgCpFxxR6PGJoPygGbA_IXsYyLwIlfvLAAfi4pU4,21728 +matplotlib/bezier.pyi,sha256=k3lxqCXHmi2fEb5M1spj1WVsxvswA_pKdzN0obDbXYw,2646 +matplotlib/category.py,sha256=UsZ8rbADAH96YfpjD-N1DLTcS_cQwlszIIQ2ZRaiWm4,7377 +matplotlib/cbook.py,sha256=5__IsdXDiSqyi7LcznGSTfYZLQZ0AjyNiR-ZmUuGNkM,85524 +matplotlib/cbook.pyi,sha256=TCYTGVX6XTW9FEm2wq34NhkUPS1PisfUmrXw7POMrxQ,6398 +matplotlib/cm.py,sha256=pdc7wmRcuzs0FJD2j5BCaDznEM1qie_UwL9QUtJ066o,8206 +matplotlib/cm.pyi,sha256=PorGgiFbQOUvgzzAHe7OKQK7wk65sUoPRH9jNNeZMzg,5412 +matplotlib/collections.py,sha256=x33nwk7hg1OgUasmeWW2uHKwHEcoSbBoviiWyMPjoKI,103408 +matplotlib/collections.pyi,sha256=3GZ2nE8BJ2EfmwZjs9uAqqWccExx_JJUjjvm-A-Z314,11039 +matplotlib/colorbar.py,sha256=Cn8ku-sSVcwrim5Lit4UZJOXohozTnABfIIJOfEkrZM,61667 +matplotlib/colorbar.pyi,sha256=1o4F2DlVXp-roRz6Ko3f9STcW5U_QKLFolhtRHItgdk,4968 +matplotlib/colorizer.py,sha256=-WhzNI0-iVuctG72HSn6Chmy608o0q2JB2LYC3a3eGg,33983 +matplotlib/colorizer.pyi,sha256=tnMrZDj_AZgs3kYDmhnD4YcRdcJ4S0kaWG9wpWab2EI,3245 +matplotlib/colors.py,sha256=70Fz-egxC8dXFOMsOFVxnCeRbGxlG1yU458AFjhCzwQ,159006 +matplotlib/colors.pyi,sha256=FELbV30Fwm1dq39H8Zmc05RniFLoDZ2ykDu2aDgcVkg,17918 +matplotlib/container.py,sha256=Uex9WGmNxaBu8znJ4IlYMrEF0POmE7uAnCWpSe3kRuQ,8132 +matplotlib/container.pyi,sha256=7CZg-lyczPGuT0XRxhES4TDoWYyVwzpH8yQXLmbzXG0,2461 +matplotlib/contour.py,sha256=R1r2-rHgzXi-QPQ1OvqnZovOW2HZUVMKkXNlKKdNksg,70635 +matplotlib/contour.pyi,sha256=X6v5bBOSDIBYkFss9ODtbIdbHS5oHFytLHrwHyvLQRc,5284 +matplotlib/dates.py,sha256=-41nP7xXwkmfLdE4yHxslSClmzi2CwGm1Z1etlQO8jM,66406 +matplotlib/dviread.py,sha256=ek7fK2K9RUxhulY2jbcN4SBWwr6crxPpi9-qR0r5dXE,53612 +matplotlib/dviread.pyi,sha256=165jDLJDuF1TMze11sh2fKBodwMQZkyzu-vELHfVxms,3364 +matplotlib/figure.py,sha256=tECrClvgPLObE1KaL-xJfS2W3rCD4-VtYiBZPj7FZ9o,144757 +matplotlib/figure.pyi,sha256=NsPxdMKxpiLR0oz9eflrYeku5hRChommeeZqm_1287w,15662 +matplotlib/font_manager.py,sha256=0ORkvRr_jhgV03Wqi_xt0yhpl5s0jY7DuC7dYbgoh4g,65673 +matplotlib/font_manager.pyi,sha256=uMp62Capj9kXcu2XOhclF90Y3NRgSGLxI8o0V_5GmDE,6172 +matplotlib/ft2font.cpython-312-x86_64-linux-gnu.so,sha256=nNgs1I0jLgut5DXP8jM_x7HqANWVx3qxHnwoSCFYDZQ,2999496 +matplotlib/ft2font.pyi,sha256=wbja6PlzzMyM20vX9Q-L2Ic3XHzaBPnKl45m6MECQvk,11081 +matplotlib/gridspec.py,sha256=34OVMGdl2bk_mNay6GeDapsrB4bPWzmiYQMwnEMxr94,30513 +matplotlib/gridspec.pyi,sha256=iw2KNGeJ8W5ggYZbF5OHxXsX0pMczHcDMaGxJbv18BY,5495 +matplotlib/hatch.py,sha256=0E7gMZaFMF_vLYjjUG7sPq36e2w2eDIDuCPLj4cRyA0,8206 +matplotlib/hatch.pyi,sha256=OEFkNe8TgrBli_MDMW99Tvhr44S4ySPaYQomjVXpUUA,2098 +matplotlib/image.py,sha256=bh9hpUezcdqb07ILZZkakOxzs3BQT9SofRHRKTsuKnc,73960 +matplotlib/image.pyi,sha256=XkbGOsJR7nIzRFgFBzivi6WU-PlHvC-9yukWiq7RYpk,7065 +matplotlib/inset.py,sha256=KO-82520LcdcCaB68d3GeFdUJGgNtkvx6cDB4NZ0g9c,11281 +matplotlib/inset.pyi,sha256=c-IVW14bpqb3qu7bz0EabvNXJnZwJAXEXoQoIcrL8ns,968 +matplotlib/layout_engine.py,sha256=mwRNh13mIQ-wpjQVgBaB_LWKN1AiQTWldg-X9nLmVok,11433 +matplotlib/layout_engine.pyi,sha256=9cKFTFPCvwmKIygTUvrvOq1iWnFYme9Shniiv2QbC74,1788 +matplotlib/legend.py,sha256=F6C70yrOPrgXIWDupV-7PBSSxlnQ-AXs8DEm68sHKkQ,56894 +matplotlib/legend.pyi,sha256=kfp-f2PFzqYmH61HjaoRtdyI_7JAqXIkGaB1E5qdn38,5393 +matplotlib/legend_handler.py,sha256=Vy1ez79DsUnsondDgOMsqnevwL4Bh3KvjWWWEeXZv6w,29820 +matplotlib/legend_handler.pyi,sha256=3VEfeioGIAxhd3mhg4PXETZjCKf4OlXL0jz1MAFGtos,7655 +matplotlib/lines.py,sha256=6ShRHOwfnOGUVQCMGGPTN7Db0ccawrjUAiTI1cBp4Fw,60047 +matplotlib/lines.pyi,sha256=3tG7tD8GZ8YPphw4nmkgS9SfdLV8icW36bv61jb9RlU,6081 +matplotlib/markers.py,sha256=9cNxE0NveYpnr7uFXhD3Acw-aQ_J8a7A7zhDVtf8VA0,33695 +matplotlib/markers.pyi,sha256=FFFBsvilnbd8-5L04U70kfVoyBwc18w_fZ6DysTj9p0,1678 +matplotlib/mathtext.py,sha256=Q2PXhf35TAYkS_JElreyRBTFhmsdqDcWXKx8ICUkZ1c,5108 +matplotlib/mathtext.pyi,sha256=RCVxYGQ_CJ6wC7v_HkqoouU2PhtcvlJ1ffIyxzAC-so,1045 +matplotlib/mlab.py,sha256=57B_GKW0UgKb_HtGCCj0cJ2LOmw_zcIeRu4rZkxbswo,30951 +matplotlib/mlab.pyi,sha256=mkR7wbJS9eCQfCFsUWoXnqrAy0kcE3cVqpFZCeOGC_Q,3583 +matplotlib/mpl-data/fonts/afm/cmex10.afm,sha256=blR3ERmrVBV5XKkAnDCj4NMeYVgzH7cXtJ3u59u9GuE,12070 +matplotlib/mpl-data/fonts/afm/cmmi10.afm,sha256=5qwEOpedEo76bDUahyuuF1q0cD84tRrX-VQ4p3MlfBo,10416 +matplotlib/mpl-data/fonts/afm/cmr10.afm,sha256=WDvgC_D3UkGJg9u-J0U6RaT02lF4oz3lQxHtg1r3lYw,10101 +matplotlib/mpl-data/fonts/afm/cmsy10.afm,sha256=AbmzvCVWBceHRfmRfeJ9E6xzOQTFLk0U1zDfpf3_MaM,8295 +matplotlib/mpl-data/fonts/afm/cmti10.afm,sha256=BNnf_3S1lJdOB2RTn7pSIWaM8qBWR6Cilzw92iUzNw8,9645 +matplotlib/mpl-data/fonts/afm/cmtt10.afm,sha256=4ji7_mTpeWMa93o_UHBWPKCnqsBfhJJNllat1lJArP4,6501 +matplotlib/mpl-data/fonts/afm/pagd8a.afm,sha256=jjFrigwkTpYLqa26cpzZvKQNBo-PuF4bmDVqaM4pMWw,17183 +matplotlib/mpl-data/fonts/afm/pagdo8a.afm,sha256=sgNQdeYyx8J-itGw9h31y95aMBiTCRvmNSPTXwwS7xg,17255 +matplotlib/mpl-data/fonts/afm/pagk8a.afm,sha256=ZUtfHPloNqcvGMHMxaKDSlshhOcjwheUx143RwpGdIU,17241 +matplotlib/mpl-data/fonts/afm/pagko8a.afm,sha256=Yj1wBg6Jsqqz1KBfhRoJ3ACR-CMQol8Fj_ZM5NZ1gDk,17346 +matplotlib/mpl-data/fonts/afm/pbkd8a.afm,sha256=Zl5o6J_di9Y5j2EpHtjew-_sfg7-WoeVmO9PzOYSTUc,15157 +matplotlib/mpl-data/fonts/afm/pbkdi8a.afm,sha256=JAOno930iTyfZILMf11vWtiaTgrJcPpP6FRTRhEMMD4,15278 +matplotlib/mpl-data/fonts/afm/pbkl8a.afm,sha256=UJqJjOJ6xQDgDBLX157mKpohIJFVmHM-N6x2-DiGv14,15000 +matplotlib/mpl-data/fonts/afm/pbkli8a.afm,sha256=AWislZ2hDbs0ox_qOWREugsbS8_8lpL48LPMR40qpi0,15181 +matplotlib/mpl-data/fonts/afm/pcrb8a.afm,sha256=6j1TS2Uc7DWSc-8l42TGDc1u0Fg8JspeWfxFayjUwi8,15352 +matplotlib/mpl-data/fonts/afm/pcrbo8a.afm,sha256=smg3mjl9QaBDtQIt06ko5GvaxLsO9QtTvYANuE5hfG0,15422 +matplotlib/mpl-data/fonts/afm/pcrr8a.afm,sha256=7nxFr0Ehz4E5KG_zSE5SZOhxRH8MyfnCbw-7x5wu7tw,15339 +matplotlib/mpl-data/fonts/afm/pcrro8a.afm,sha256=NKEz7XtdFkh9cA8MvY-S3UOZlV2Y_J3tMEWFFxj7QSg,15443 +matplotlib/mpl-data/fonts/afm/phvb8a.afm,sha256=NAx4M4HjL7vANCJbc-tk04Vkol-T0oaXeQ3T2h-XUvM,17155 +matplotlib/mpl-data/fonts/afm/phvb8an.afm,sha256=8e_myD-AQkNF7q9XNLb2m76_lX2TUr3a5wog_LIE1sk,17086 +matplotlib/mpl-data/fonts/afm/phvbo8a.afm,sha256=8fkBRmJ-SWY2YrBg8fFyjJyrJp8daQ6JPO6LvhM8xPI,17230 +matplotlib/mpl-data/fonts/afm/phvbo8an.afm,sha256=aeVRvV4r15BBvxuRJ0MG8ZHuH2HViuIiCYkvuapmkmM,17195 +matplotlib/mpl-data/fonts/afm/phvl8a.afm,sha256=IyMYM-bgl-gI6rG0EuZZ2OLzlxJfGeSh8xqsh0t-eJQ,15627 +matplotlib/mpl-data/fonts/afm/phvlo8a.afm,sha256=s12C-eNnIDHJ_UVbuiprjxBjCiHIbS3Y8ORTC-qTpuI,15729 +matplotlib/mpl-data/fonts/afm/phvr8a.afm,sha256=Kt8KaRidts89EBIK29X2JomDUEDxvroeaJz_RNTi6r4,17839 +matplotlib/mpl-data/fonts/afm/phvr8an.afm,sha256=lL5fAHTRwODl-sB5mH7IfsD1tnnea4yRUK-_Ca2bQHM,17781 +matplotlib/mpl-data/fonts/afm/phvro8a.afm,sha256=3KqK3eejiR4hIFBUynuSX_4lMdE2V2T58xOF8lX-fwc,17919 +matplotlib/mpl-data/fonts/afm/phvro8an.afm,sha256=Vx9rRf3YfasMY7tz-njSxz67xHKk-fNkN7yBi0X2IP0,17877 +matplotlib/mpl-data/fonts/afm/pncb8a.afm,sha256=aoXepTcDQtQa_mspflMJkEFKefzXHoyjz6ioJVI0YNc,16028 +matplotlib/mpl-data/fonts/afm/pncbi8a.afm,sha256=pCWW1MYgy0EmvwaYsaYJaAI_LfrsKmDANHu7Pk0RaiU,17496 +matplotlib/mpl-data/fonts/afm/pncr8a.afm,sha256=0CIB2BLe9r-6_Wl5ObRTTf98UOrezmGQ8ZOuBX5kLks,16665 +matplotlib/mpl-data/fonts/afm/pncri8a.afm,sha256=5R-pLZOnaHNG8pjV6MP3Ai-d2OTQYR_cYCb5zQhzfSU,16920 +matplotlib/mpl-data/fonts/afm/pplb8a.afm,sha256=3EzUbNnXr5Ft5eFLY00W9oWu59rHORgDXUuJaOoKN58,15662 +matplotlib/mpl-data/fonts/afm/pplbi8a.afm,sha256=X_9tVspvrcMer3OS8qvdwjFFqpAXYZneyCL2NHA902g,15810 +matplotlib/mpl-data/fonts/afm/pplr8a.afm,sha256=ijMb497FDJ9nVdVMb21F7W3-cu9sb_9nF0oriFpSn8k,15752 +matplotlib/mpl-data/fonts/afm/pplri8a.afm,sha256=8KITbarcUUMi_hdoRLLmNHtlqs0TtOSKqtPFft7X5nY,15733 +matplotlib/mpl-data/fonts/afm/psyr.afm,sha256=Iyt8ajE4B2Tm34oBj2pKtctIf9kPfq05suQefq8p3Ro,9644 +matplotlib/mpl-data/fonts/afm/ptmb8a.afm,sha256=bL1fA1NC4_nW14Zrnxz4nHlXJb4dzELJPvodqKnYeMg,17983 +matplotlib/mpl-data/fonts/afm/ptmbi8a.afm,sha256=-_Ui6XlKaFTHEnkoS_-1GtIr5VtGa3gFQ2ezLOYHs08,18070 +matplotlib/mpl-data/fonts/afm/ptmr8a.afm,sha256=IEcsWcmzJyjCwkgsw4o6hIMmzlyXUglJat9s1PZNnEU,17942 +matplotlib/mpl-data/fonts/afm/ptmri8a.afm,sha256=49fQMg5fIGguZ7rgc_2styMK55Pv5bPTs7wCzqpcGpk,18068 +matplotlib/mpl-data/fonts/afm/putb8a.afm,sha256=qMaHTdpkrNL-m4DWhjpxJCSmgYkCv1qIzLlFfM0rl40,21532 +matplotlib/mpl-data/fonts/afm/putbi8a.afm,sha256=g7AVJyiTxeMpNk_1cSfmYgM09uNUfPlZyWGv3D1vcAk,21931 +matplotlib/mpl-data/fonts/afm/putr8a.afm,sha256=XYmNC5GQgSVAZKTIYdYeNksE6znNm9GF_0SmQlriqx0,22148 +matplotlib/mpl-data/fonts/afm/putri8a.afm,sha256=i7fVe-iLyLtQxCfAa4IxdxH-ufcHmMk7hbCGG5TxAY4,21891 +matplotlib/mpl-data/fonts/afm/pzcmi8a.afm,sha256=wyuoIWEZOcoXrSl1tPzLkEahik7kGi91JJj-tkFRG4A,16250 +matplotlib/mpl-data/fonts/afm/pzdr.afm,sha256=MyjLAnzKYRdQBfof1W3k_hf30MvqOkqL__G22mQ5xww,9467 +matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Bold.afm,sha256=sIDDI-B82VZ3C0mI_mHFITCZ7PVn37AIYMv1CrHX4sE,15333 +matplotlib/mpl-data/fonts/pdfcorefonts/Courier-BoldOblique.afm,sha256=zg61QobD3YU9UBfCXmvmhBNaFKno-xj8sY0b2RpgfLw,15399 +matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Oblique.afm,sha256=vRQm5j1sTUN4hicT1PcVZ9P9DTTUHhEzfPXqUUzVZhE,15441 +matplotlib/mpl-data/fonts/pdfcorefonts/Courier.afm,sha256=Mdcq2teZEBJrIqVXnsnhee7oZnTs6-P8_292kWGTrw4,15335 +matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Bold.afm,sha256=i2l4gcjuYXoXf28uK7yIVwuf0rnw6J7PwPVQeHj5iPw,69269 +matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-BoldOblique.afm,sha256=Um5O6qK11DXLt8uj_0IoWkc84TKqHK3bObSKUswQqvY,69365 +matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Oblique.afm,sha256=hVYDg2b52kqtbVeCzmiv25bW1yYdpkZS-LXlGREN2Rs,74392 +matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica.afm,sha256=23cvKDD7bQAJB3kdjSahJSTZaUOppznlIO6FXGslyW8,74292 +matplotlib/mpl-data/fonts/pdfcorefonts/Symbol.afm,sha256=P5UaoXr4y0qh4SiMa5uqijDT6ZDr2-jPmj1ayry593E,9740 +matplotlib/mpl-data/fonts/pdfcorefonts/Times-Bold.afm,sha256=cQTmr2LFPwKQE_sGQageMcmFicjye16mKJslsJLHQyE,64251 +matplotlib/mpl-data/fonts/pdfcorefonts/Times-BoldItalic.afm,sha256=pzWOdycm6RqocBWgAVY5Jq0z3Fp7LuqWgLNMx4q6OFw,59642 +matplotlib/mpl-data/fonts/pdfcorefonts/Times-Italic.afm,sha256=bK5puSMpGT_YUILwyJrXoxjfj7XJOdfv5TQ_iKsJRzw,66328 +matplotlib/mpl-data/fonts/pdfcorefonts/Times-Roman.afm,sha256=hhNrUnpazuDDKD1WpraPxqPWCYLrO7D7bMVOg-zI13o,60460 +matplotlib/mpl-data/fonts/pdfcorefonts/ZapfDingbats.afm,sha256=ZuOmt9GcKofjdOq8kqhPhtAIhOwkL2rTJTmZxAjFakA,9527 +matplotlib/mpl-data/fonts/pdfcorefonts/readme.txt,sha256=MRv8ppSITYYAb7lt5EOw9DWWNZIblfxsFhu5TQE7cpI,828 +matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf,sha256=sYS4njwQdfIva3FXW2_CDUlys8_TsjMiym_Vltyu8Wc,704128 +matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf,sha256=bt8CgxYBhq9FHL7nHnuEXy5Mq_Jku5ks5mjIPCVGXm8,641720 +matplotlib/mpl-data/fonts/ttf/DejaVuSans-Oblique.ttf,sha256=zN90s1DxH9PdV3TeUOXmNGoaXaH1t9X7g1kGZel6UhM,633840 +matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf,sha256=P99pyr8GBJ6nCgC1kZNA4s4ebQKwzDxLRPtoAb0eDSI,756072 +matplotlib/mpl-data/fonts/ttf/DejaVuSansDisplay.ttf,sha256=ggmdz7paqGjN_CdFGYlSX-MpL3N_s8ngMozpzvWWUvY,25712 +matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Bold.ttf,sha256=uq2ppRcv4giGJRr_BDP8OEYZEtXa8HKH577lZiCo2pY,331536 +matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-BoldOblique.ttf,sha256=ppCBwVx2yCfgonpaf1x0thNchDSZlVSV_6jCDTqYKIs,253116 +matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Oblique.ttf,sha256=KAUoE_enCfyJ9S0ZLcmV708P3Fw9e3OknWhJsZFtDNA,251472 +matplotlib/mpl-data/fonts/ttf/DejaVuSansMono.ttf,sha256=YC7Ia4lIz82VZIL-ZPlMNshndwFJ7y95HUYT9EO87LM,340240 +matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Bold.ttf,sha256=w3U_Lta8Zz8VhG3EWt2-s7nIcvMvsY_VOiHxvvHtdnY,355692 +matplotlib/mpl-data/fonts/ttf/DejaVuSerif-BoldItalic.ttf,sha256=2T7-x6nS6CZ2jRou6VuVhw4V4pWZqE80hK8d4c7C4YE,347064 +matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Italic.ttf,sha256=PnmU-8VPoQzjNSpC1Uj63X2crbacsRCbydlg9trFfwQ,345612 +matplotlib/mpl-data/fonts/ttf/DejaVuSerif.ttf,sha256=EHJElW6ZYrnpb6zNxVGCXgrgiYrhNzcTPhuSGi_TX_o,379740 +matplotlib/mpl-data/fonts/ttf/DejaVuSerifDisplay.ttf,sha256=KRTzLkfHd8J75Wd6-ufbTeefnkXeb8kJfZlJwjwU99U,14300 +matplotlib/mpl-data/fonts/ttf/LICENSE_DEJAVU,sha256=11k43sCY8G8Kw8AIUwZdlPAgvhw8Yu8dwpdboVtNmw4,4816 +matplotlib/mpl-data/fonts/ttf/LICENSE_STIX,sha256=urPTHf7wf0g2JPL2XycR52BluOcnMnixwHHt4QQcmVk,5476 +matplotlib/mpl-data/fonts/ttf/LastResortHE-Regular.ttf,sha256=YMSKv8BenyujNZnE3LpAEF0eznHTdh8LJvdaOLWxeJU,564228 +matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf,sha256=FnN4Ax4t3cYhbWeBnJJg6aBv_ExHjk4jy5im_USxg8I,448228 +matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf,sha256=6FM9xwg_o0a9oZM9YOpKg7Z9CUW86vGzVB-CtKDixqA,237360 +matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf,sha256=mHiP1LpI37sr0CbA4gokeosGxzcoeWKLemuw1bsJc2w,181152 +matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf,sha256=bPyzM9IrfDxiO9_UAXTxTIXD1nMcphZsHtyAFA6uhSc,175040 +matplotlib/mpl-data/fonts/ttf/STIXNonUni.ttf,sha256=Ulb34CEzWsSFTRgPDovxmJZOwvyCAXYnbhaqvGU3u1c,59108 +matplotlib/mpl-data/fonts/ttf/STIXNonUniBol.ttf,sha256=XRBqW3jR_8MBdFU0ObhiV7-kXwiBIMs7QVClHcT5tgs,30512 +matplotlib/mpl-data/fonts/ttf/STIXNonUniBolIta.ttf,sha256=pb22DnbDf2yQqizotc3wBDqFGC_g27YcCGJivH9-Le8,41272 +matplotlib/mpl-data/fonts/ttf/STIXNonUniIta.ttf,sha256=BMr9pWiBv2YIZdq04X4c3CgL6NPLUPrl64aV1N4w9Ug,46752 +matplotlib/mpl-data/fonts/ttf/STIXSizFiveSymReg.ttf,sha256=wYuH1gYUpCuusqItRH5kf9p_s6mUD-9X3L5RvRtKSxs,13656 +matplotlib/mpl-data/fonts/ttf/STIXSizFourSymBol.ttf,sha256=yNdvjUoSmsZCULmD7SVq9HabndG9P4dPhboL1JpAf0s,12228 +matplotlib/mpl-data/fonts/ttf/STIXSizFourSymReg.ttf,sha256=-9xVMYL4_1rcO8FiCKrCfR4PaSmKtA42ddLGqwtei1w,15972 +matplotlib/mpl-data/fonts/ttf/STIXSizOneSymBol.ttf,sha256=cYexyo8rZcdqMlpa9fNF5a2IoXLUTZuIvh0JD1Qp0i4,12556 +matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf,sha256=0lbHzpndzJmO8S42mlkhsz5NbvJLQCaH5Mcc7QZRDzc,19760 +matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymBol.ttf,sha256=3eBc-VtYbhQU3BnxiypfO6eAzEu8BdDvtIJSFbkS2oY,12192 +matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymReg.ttf,sha256=XFSKCptbESM8uxHtUFSAV2cybwxhSjd8dWVByq6f3w0,15836 +matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymBol.ttf,sha256=MUCYHrA0ZqFiSE_PjIGlJZgMuv79aUgQqE7Dtu3kuo0,12116 +matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymReg.ttf,sha256=_sdxDuEwBDtADpu9CyIXQxV7sIqA2TZVBCUiUjq5UCk,15704 +matplotlib/mpl-data/fonts/ttf/cmb10.ttf,sha256=B0SXtQxD6ldZcYFZH5iT04_BKofpUQT1ZX_CSB9hojo,25680 +matplotlib/mpl-data/fonts/ttf/cmex10.ttf,sha256=ryjwwXByOsd2pxv6WVrKCemNFa5cPVTOGa_VYZyWqQU,21092 +matplotlib/mpl-data/fonts/ttf/cmmi10.ttf,sha256=MJKWW4gR_WpnZXmWZIRRgfwd0TMLk3-RWAjEhdMWI00,32560 +matplotlib/mpl-data/fonts/ttf/cmr10.ttf,sha256=Tdl2GwWMAJ25shRfVe5mF9CTwnPdPWxbPkP_YRD6m_Y,26348 +matplotlib/mpl-data/fonts/ttf/cmss10.ttf,sha256=ffkag9BbLkcexjjLC0NaNgo8eSsJ_EKn2mfpHy55EVo,20376 +matplotlib/mpl-data/fonts/ttf/cmsy10.ttf,sha256=uyJu2TLz8QDNDlL15JEu5VO0G2nnv9uNOFTbDrZgUjI,29396 +matplotlib/mpl-data/fonts/ttf/cmti10.ttf,sha256=-fH59lQwiugve-REGuibCAiWs0zCILvqFzxemtz-Pvc,32808 +matplotlib/mpl-data/fonts/ttf/cmtt10.ttf,sha256=YhHwmuk1mZka_alwwkZp2tGnfiU9kVYk-_IS9wLwcdc,28136 +matplotlib/mpl-data/images/back-symbolic.svg,sha256=Okj_ressZkfe6Ewv_o7GF5toc5qWCeFkQ2cHQ25BdVE,1532 +matplotlib/mpl-data/images/back.pdf,sha256=ZR7CJo_dAeCM-KlaGvskgtHQyRtrPIolc8REOmcoqJk,1623 +matplotlib/mpl-data/images/back.png,sha256=E4dGf4Gnz1xJ1v2tMygHV0YNQgShreDeVApaMb-74mU,380 +matplotlib/mpl-data/images/back.svg,sha256=Okj_ressZkfe6Ewv_o7GF5toc5qWCeFkQ2cHQ25BdVE,1532 +matplotlib/mpl-data/images/back_large.png,sha256=9A6hUSQeszhYONE4ZuH3kvOItM0JfDVu6tkfromCbsQ,620 +matplotlib/mpl-data/images/filesave-symbolic.svg,sha256=dMGXvLSOHPu44kiWgZx-B_My_tLWaP6J6GgxJfL4FW0,2049 +matplotlib/mpl-data/images/filesave.pdf,sha256=P1EPPV2g50WTt8UaX-6kFoTZM1xVqo6S2H6FJ6Zd1ec,1734 +matplotlib/mpl-data/images/filesave.png,sha256=b7ctucrM_F2mG-DycTedG_a_y4pHkx3F-zM7l18GLhk,458 +matplotlib/mpl-data/images/filesave.svg,sha256=dMGXvLSOHPu44kiWgZx-B_My_tLWaP6J6GgxJfL4FW0,2049 +matplotlib/mpl-data/images/filesave_large.png,sha256=LNbRD5KZ3Kf7nbp-stx_a1_6XfGBSWUfDdpgmnzoRvk,720 +matplotlib/mpl-data/images/forward-symbolic.svg,sha256=kOiKq3a4mieMRLVCwQBdOMTRrWG2NOX_5-rbAFHpdmQ,1551 +matplotlib/mpl-data/images/forward.pdf,sha256=KIqIL4YId43LkcOxV_TT5uvz1SP8k5iUNUeJmAElMV8,1630 +matplotlib/mpl-data/images/forward.png,sha256=pKbLepgGiGeyY2TCBl8svjvm7Z4CS3iysFxcq4GR-wk,357 +matplotlib/mpl-data/images/forward.svg,sha256=kOiKq3a4mieMRLVCwQBdOMTRrWG2NOX_5-rbAFHpdmQ,1551 +matplotlib/mpl-data/images/forward_large.png,sha256=36h7m7DZDHql6kkdpNPckyi2LKCe_xhhyavWARz_2kQ,593 +matplotlib/mpl-data/images/hand.pdf,sha256=hspwkNY915KPD7AMWnVQs7LFPOtlcj0VUiLu76dMabQ,4172 +matplotlib/mpl-data/images/hand.png,sha256=2cchRETGKa0hYNKUxnJABwkyYXEBPqJy_VqSPlT0W2Q,979 +matplotlib/mpl-data/images/hand.svg,sha256=hxxBtakaVFA7mpZOGakvo0QUcb2x06rojeS5gnVmyuc,4906 +matplotlib/mpl-data/images/help-symbolic.svg,sha256=XVcFcuzcL3SQ3LjfSbtdLYDjoB5YUkj2jk2Gk8vaZF8,1890 +matplotlib/mpl-data/images/help.pdf,sha256=CeE978IMi0YWznWKjIT1R8IrP4KhZ0S7usPUvreSgcA,1813 +matplotlib/mpl-data/images/help.png,sha256=s4pQrqaQ0py8I7vc9hv3BI3DO_tky-7YBMpaHuBDCBY,472 +matplotlib/mpl-data/images/help.svg,sha256=XVcFcuzcL3SQ3LjfSbtdLYDjoB5YUkj2jk2Gk8vaZF8,1890 +matplotlib/mpl-data/images/help_large.png,sha256=1IwEyWfGRgnoCWM-r9CJHEogTJVD5n1c8LXTK4AJ4RE,747 +matplotlib/mpl-data/images/home-symbolic.svg,sha256=ptrus8h5PZTi9ahYfnaz-uZ8MAHCr72aPeMW48TBR9Q,1911 +matplotlib/mpl-data/images/home.pdf,sha256=e0e0pI-XRtPmvUCW2VTKL1DeYu1pvPmUUeRSgEbWmik,1737 +matplotlib/mpl-data/images/home.png,sha256=IcFdAAUa6_A0qt8IO3I8p4rpXpQgAlJ8ndBECCh7C1w,468 +matplotlib/mpl-data/images/home.svg,sha256=ptrus8h5PZTi9ahYfnaz-uZ8MAHCr72aPeMW48TBR9Q,1911 +matplotlib/mpl-data/images/home_large.png,sha256=uxS2O3tWOHh1iau7CaVV4ermIJaZ007ibm5Z3i8kXYg,790 +matplotlib/mpl-data/images/matplotlib.pdf,sha256=BkSUf-2xoij-eXfpV2t7y1JFKG1zD1gtV6aAg3Xi_wE,22852 +matplotlib/mpl-data/images/matplotlib.png,sha256=w8KLRYVa-voUZXa41hgJauQuoois23f3NFfdc72pUYY,1283 +matplotlib/mpl-data/images/matplotlib.svg,sha256=QiTIcqlQwGaVPtHsEk-vtmJk1wxwZSvijhqBe_b9VCI,62087 +matplotlib/mpl-data/images/matplotlib_large.png,sha256=ElRoue9grUqkZXJngk-nvh4GKfpvJ4gE69WryjCbX5U,3088 +matplotlib/mpl-data/images/move-symbolic.svg,sha256=_uamLnjQ20iwSuKbd8JvTXUFaRq4206MrpFWvtErr8I,2529 +matplotlib/mpl-data/images/move.pdf,sha256=CXk3PGK9WL5t-5J-G2X5Tl-nb6lcErTBS5oUj2St6aU,1867 +matplotlib/mpl-data/images/move.png,sha256=TmjR41IzSzxGbhiUcV64X0zx2BjrxbWH3cSKvnG2vzc,481 +matplotlib/mpl-data/images/move.svg,sha256=_uamLnjQ20iwSuKbd8JvTXUFaRq4206MrpFWvtErr8I,2529 +matplotlib/mpl-data/images/move_large.png,sha256=Skjz2nW_RTA5s_0g88gdq2hrVbm6DOcfYW4Fu42Fn9U,767 +matplotlib/mpl-data/images/qt4_editor_options.pdf,sha256=2qu6GVyBrJvVHxychQoJUiXPYxBylbH2j90QnytXs_w,1568 +matplotlib/mpl-data/images/qt4_editor_options.png,sha256=EryQjQ5hh2dwmIxtzCFiMN1U6Tnd11p1CDfgH5ZHjNM,380 +matplotlib/mpl-data/images/qt4_editor_options.svg,sha256=sdrNIxYT-BLvJ30ASnaRQ5PxF3SB41-pgdaIJT0KqBg,1264 +matplotlib/mpl-data/images/qt4_editor_options_large.png,sha256=-Pd-9Vh5aIr3PZa8O6Ge_BLo41kiEnpmkdDj8a11JkY,619 +matplotlib/mpl-data/images/subplots-symbolic.svg,sha256=Gq4fDSS99Rv5rbR8_nenV6jcY5VsKPARWeH-BZBk9CU,2150 +matplotlib/mpl-data/images/subplots.pdf,sha256=Q0syPMI5EvtgM-CE-YXKOkL9eFUAZnj_X2Ihoj6R4p4,1714 +matplotlib/mpl-data/images/subplots.png,sha256=MUfCItq3_yzb9yRieGOglpn0Y74h8IA7m5i70B63iRc,445 +matplotlib/mpl-data/images/subplots.svg,sha256=Gq4fDSS99Rv5rbR8_nenV6jcY5VsKPARWeH-BZBk9CU,2150 +matplotlib/mpl-data/images/subplots_large.png,sha256=Edu9SwVMQEXJZ5ogU5cyW7VLcwXJdhdf-EtxxmxdkIs,662 +matplotlib/mpl-data/images/zoom_to_rect-symbolic.svg,sha256=uMmdGkO43ZHlezkpieR3_MiqlEc5vROffRDOhY4sxm4,1499 +matplotlib/mpl-data/images/zoom_to_rect.pdf,sha256=SEvPc24gfZRpl-dHv7nx8KkxPyU66Kq4zgQTvGFm9KA,1609 +matplotlib/mpl-data/images/zoom_to_rect.png,sha256=aNz3QZBrIgxu9E-fFfaQweCVNitGuDUFoC27e5NU2L4,530 +matplotlib/mpl-data/images/zoom_to_rect.svg,sha256=uMmdGkO43ZHlezkpieR3_MiqlEc5vROffRDOhY4sxm4,1499 +matplotlib/mpl-data/images/zoom_to_rect_large.png,sha256=V6pkxmm6VwFExdg_PEJWdK37HB7k3cE_corLa7RbUMk,1016 +matplotlib/mpl-data/kpsewhich.lua,sha256=NlKifCv0ONjA6uH5f3gtpWtDzWT1RQnnIHpDAxZ6tC0,189 +matplotlib/mpl-data/matplotlibrc,sha256=i3bhOM6dyUSoQ9xqoe-e4OiGODWLELryJ80kjScbX1o,45318 +matplotlib/mpl-data/plot_directive/plot_directive.css,sha256=utSJ1oETz0UG6AC9hU134J_JY78ENijqMZXN0JMBUfk,318 +matplotlib/mpl-data/sample_data/Minduka_Present_Blue_Pack.png,sha256=XnKGiCanpDKalQ5anvo5NZSAeDP7fyflzQAaivuc0IE,13634 +matplotlib/mpl-data/sample_data/README.txt,sha256=ABz19VBKfGewdY39QInG9Qccgn1MTYV3bT5Ph7TCy2Y,128 +matplotlib/mpl-data/sample_data/Stocks.csv,sha256=72878aZNXGxd5wLvFUw_rnj-nfg4gqtrucZji-w830c,67924 +matplotlib/mpl-data/sample_data/axes_grid/bivariate_normal.npy,sha256=DpWZ9udAh6ospYqneEa27D6EkRgORFwHosacZXVu98U,1880 +matplotlib/mpl-data/sample_data/data_x_x2_x3.csv,sha256=A0SU3buOUGhT-NI_6LQ6p70fFSIU3iLFdgzvzrKR6SE,132 +matplotlib/mpl-data/sample_data/eeg.dat,sha256=KGVjFt8ABKz7p6XZirNfcxSTOpGGNuyA8JYErRKLRBc,25600 +matplotlib/mpl-data/sample_data/embedding_in_wx3.xrc,sha256=cUqVw5vDHNSZoaO4J0ebZUf5SrJP36775abs7R9Bclg,2186 +matplotlib/mpl-data/sample_data/goog.npz,sha256=QAkXzzDmtmT3sNqT18dFhg06qQCNqLfxYNLdEuajGLE,22845 +matplotlib/mpl-data/sample_data/grace_hopper.jpg,sha256=qMptc0dlcDsJcoq0f-WfRz2Trjln_CTHwCiMPHrbcTA,61306 +matplotlib/mpl-data/sample_data/jacksboro_fault_dem.npz,sha256=1JP1CjPoKkQgSUxU0fyhU50Xe9wnqxkLxf5ukvYvtjc,174061 +matplotlib/mpl-data/sample_data/logo2.png,sha256=DXNx4FXeyqxHy26AmvNELpwezQLxweLQY9HP7ktKIdc,22279 +matplotlib/mpl-data/sample_data/membrane.dat,sha256=q3lbQpIBpbtXXGNw1eFwkN_PwxdDGqk4L46IE2b0M1c,48000 +matplotlib/mpl-data/sample_data/msft.csv,sha256=GArKb0O3DgKZRsKdJf6lX3rMSf-PCekIiBoLNdgF7Mk,3211 +matplotlib/mpl-data/sample_data/s1045.ima.gz,sha256=MrQk1k9it-ccsk0p_VOTitVmTWCAVaZ6srKvQ2n4uJ4,33229 +matplotlib/mpl-data/sample_data/topobathy.npz,sha256=AkTgMpFwLfRQJNy1ysvE89TLMNct-n_TccSsYcQrT78,45224 +matplotlib/mpl-data/stylelib/Solarize_Light2.mplstyle,sha256=N4RvRAfKLFr2rIJKE5-WNkjzjpMCqPAfIg4FP0J69zw,1258 +matplotlib/mpl-data/stylelib/_classic_test_patch.mplstyle,sha256=f1vMomTMP9ebxMVnI9N0F8BNfqie4dav32pxKDXPu78,184 +matplotlib/mpl-data/stylelib/_mpl-gallery-nogrid.mplstyle,sha256=1VOL3USqD6iuGQaSynNg1QhyUwvKLnkLyUKdbBMnnqg,489 +matplotlib/mpl-data/stylelib/_mpl-gallery.mplstyle,sha256=MN-q59CiDqHXB8xFKXxzCbJJbJmNDhBe9lDJJAoMTPA,504 +matplotlib/mpl-data/stylelib/bmh.mplstyle,sha256=fB9iVyOPZ6qoP8jUx5nLabzfLisTbwR3S2Dvm5Ak_6k,687 +matplotlib/mpl-data/stylelib/classic.mplstyle,sha256=AK55dvIyzCgrUNlolDrbE4mFl6RnC-3c3f7Z_KteYF0,24591 +matplotlib/mpl-data/stylelib/dark_background.mplstyle,sha256=GzSBD06jvlRYOqu7D5Z5a5x25l9JnTgtObn7S4D9zug,607 +matplotlib/mpl-data/stylelib/fast.mplstyle,sha256=yTa2YEIIP9xi5V_G0p2vSlxghuhNwjRi9gPECMxyRiM,288 +matplotlib/mpl-data/stylelib/fivethirtyeight.mplstyle,sha256=IcBt2DSDz9CtuyCis9JZtT3Nqoh6LVO-dB66AxObUcA,780 +matplotlib/mpl-data/stylelib/ggplot.mplstyle,sha256=u2oPHMLWFtZcpIjHk2swi2Nrt4NgnEtof5lxcwM0RD0,956 +matplotlib/mpl-data/stylelib/grayscale.mplstyle,sha256=KCLg-pXpns9cnKDXKN2WH6mV41OH-6cbT-5zKQotSdw,526 +matplotlib/mpl-data/stylelib/petroff10.mplstyle,sha256=Qj7pPbHh3L25kdsPt1ypwvKR3dPzuOrFzzQTP3Mfilg,298 +matplotlib/mpl-data/stylelib/petroff6.mplstyle,sha256=b0Gtv5I2pSk0T-2tQfLZVqZqUExErabNil7ZkHtemDE,258 +matplotlib/mpl-data/stylelib/petroff8.mplstyle,sha256=a77Xdci5LARRG90BUMomu6G3gnRZFX5sr2UrBIFxoDc,278 +matplotlib/mpl-data/stylelib/seaborn-v0_8-bright.mplstyle,sha256=pDqn3-NUyVLvlfkYs8n8HzNZvmslVMChkeH-HtZuJIc,144 +matplotlib/mpl-data/stylelib/seaborn-v0_8-colorblind.mplstyle,sha256=eCSzFj5_2vR6n5qu1rHE46wvSVGZcdVqz85ov40ZsH8,148 +matplotlib/mpl-data/stylelib/seaborn-v0_8-dark-palette.mplstyle,sha256=p5ABKNQHRG7bk4HXqMQrRBjDlxGAo3RCXHdQmP7g-Ng,142 +matplotlib/mpl-data/stylelib/seaborn-v0_8-dark.mplstyle,sha256=I4xQ75vE5_9X4k0cNDiqhhnF3OcrZ2xlPX8Ll7OCkoE,667 +matplotlib/mpl-data/stylelib/seaborn-v0_8-darkgrid.mplstyle,sha256=2bXOSzS5gmPzRBrRmzVWyhg_7ZaBRQ6t_-O-cRuyZoA,670 +matplotlib/mpl-data/stylelib/seaborn-v0_8-deep.mplstyle,sha256=44dLcXjjRgR-6yaopgGRInaVgz3jk8VJVQTbBIcxRB0,142 +matplotlib/mpl-data/stylelib/seaborn-v0_8-muted.mplstyle,sha256=T4o3jvqKD_ImXDkp66XFOV_xrBVFUolJU34JDFk1Xkk,143 +matplotlib/mpl-data/stylelib/seaborn-v0_8-notebook.mplstyle,sha256=PcvZQbYrDdducrNlavBPmQ1g2minio_9GkUUFRdgtoM,382 +matplotlib/mpl-data/stylelib/seaborn-v0_8-paper.mplstyle,sha256=n0mboUp2C4Usq2j6tNWcu4TZ_YT4-kKgrYO0t-rz1yw,393 +matplotlib/mpl-data/stylelib/seaborn-v0_8-pastel.mplstyle,sha256=8nV8qRpbUrnFZeyE6VcQ1oRuZPLil2W74M2U37DNMOE,144 +matplotlib/mpl-data/stylelib/seaborn-v0_8-poster.mplstyle,sha256=dUaKqTE4MRfUq2rWVXbbou7kzD7Z9PE9Ko8aXLza8JA,403 +matplotlib/mpl-data/stylelib/seaborn-v0_8-talk.mplstyle,sha256=7FnBaBEdWBbncTm6_ER-EQVa_bZgU7dncgez-ez8R74,403 +matplotlib/mpl-data/stylelib/seaborn-v0_8-ticks.mplstyle,sha256=CITZmZFUFp40MK2Oz8tI8a7WRoCizQU9Z4J172YWfWw,665 +matplotlib/mpl-data/stylelib/seaborn-v0_8-white.mplstyle,sha256=WjJ6LEU6rlCwUugToawciAbKP9oERFHr9rfFlUrdTx0,665 +matplotlib/mpl-data/stylelib/seaborn-v0_8-whitegrid.mplstyle,sha256=ec4BjsNzmOvHptcJ3mdPxULF3S1_U1EUocuqfIpw-Nk,664 +matplotlib/mpl-data/stylelib/seaborn-v0_8.mplstyle,sha256=_Xu6qXKzi4b3GymCOB1b1-ykKTQ8xhDliZ8ezHGTiAs,1130 +matplotlib/mpl-data/stylelib/tableau-colorblind10.mplstyle,sha256=BsirZVd1LmPWT4tBIz6loZPjZcInoQrIGfC7rvzqmJw,190 +matplotlib/offsetbox.py,sha256=5rwJ63D9zBDMzdHQ3HHbDNT_1V3d2W09zcqi25x20Zw,57758 +matplotlib/offsetbox.pyi,sha256=sPUAlKHtZUSO2CCLgMP_QR7ZPuW156tvnxEr3LxVILo,9946 +matplotlib/patches.py,sha256=iYf67E9Ai879OljtdZjPBD_ukcXQUqywkbYImFert5Y,171615 +matplotlib/patches.pyi,sha256=NiO8MyBQwH2ma97thyPNGHjRreE62kyMhHGvHaZCbsY,23267 +matplotlib/path.py,sha256=XHJs8nZcfEVJ3nnTMnravVYT26DdTpvyCPr7SHme4S8,43936 +matplotlib/path.pyi,sha256=VfIuc2KpkcB28uzRjLvkC3Hq5HwH4Zp0Uyj9H9bwcWU,4808 +matplotlib/patheffects.py,sha256=PfGeLejmBx45hJeqsHih1u4Huwpxum1xu2g70Edp8rI,18443 +matplotlib/patheffects.pyi,sha256=7-FhuxGGrer94GtJ1sZ0YxOmK6Nv4oixTmsKb6-ijOg,3664 +matplotlib/projections/__init__.py,sha256=N0uT3oTBHmlnwEtieKznFg23skkDQzX27uyeryBIL2c,4467 +matplotlib/projections/__init__.pyi,sha256=D28dSYmwZcSBFBtNDer-QqE_lqXAhHKersuAlvi89jE,673 +matplotlib/projections/__pycache__/__init__.cpython-312.pyc,, +matplotlib/projections/__pycache__/geo.cpython-312.pyc,, +matplotlib/projections/__pycache__/polar.cpython-312.pyc,, +matplotlib/projections/geo.py,sha256=feR2dybCylhk6xe-MzxBr_e8MdbpVc8tBtCQQJ0V2co,17605 +matplotlib/projections/geo.pyi,sha256=vPfhvj7_e0ZnKjyfDUNC89RGCktycJBPnn5D8w0A7N8,3775 +matplotlib/projections/polar.py,sha256=gcUElfHBjjtjU6lXQncCvN5PNwpjZKSTjpt6FvrFCU8,55135 +matplotlib/projections/polar.pyi,sha256=IWNSLQIo5cXFBJur5VFVDQBwAtq5n1XFZMnrj85mCBg,6636 +matplotlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/pylab.py,sha256=VqUqd2J2-dKtltZtsYP8ePKoX1jsNDpTyqlcmpfC-lo,2369 +matplotlib/pyplot.py,sha256=LCe1c5rRADTyKGbMdkfOloxW-WJc8PeiiLgA6UkX6lE,155847 +matplotlib/quiver.py,sha256=W-zixDWnCs7QnDSJCQeUuCxnN3b4nVYvJdUy0lcH44E,49106 +matplotlib/quiver.pyi,sha256=eMKbg7y0l4J8VBgy1CDpxjDLWhhOYqO6GeVORWg3AqU,5795 +matplotlib/rcsetup.py,sha256=oFLqxK8hzozbWO5Jw6uVKvTC_14Y82zIt0F5P6ebX1k,119207 +matplotlib/rcsetup.pyi,sha256=V_-bIM0vzYVYNjkD2ils9uZmk-qKb31irca7THD-2Ew,4621 +matplotlib/sankey.py,sha256=eKA9DrX96-bpoWRdeNnvC73aJfPtCnB78WmMPCXQ9rc,36151 +matplotlib/sankey.pyi,sha256=u_bHOcMK8LH2GZ6zzqGaJc1UGEtQ8dQcRZvNeQXXye4,1427 +matplotlib/scale.py,sha256=SABIJGmygEVOtuekj4Zq57FGsn0TlWRP_AnfDpHJ18E,35495 +matplotlib/scale.pyi,sha256=cPbMLWU6xL-Py4s4zDxrp1OBEo96BxPWCnlM9hlX31Q,5349 +matplotlib/sphinxext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +matplotlib/sphinxext/__pycache__/__init__.cpython-312.pyc,, +matplotlib/sphinxext/__pycache__/figmpl_directive.cpython-312.pyc,, +matplotlib/sphinxext/__pycache__/mathmpl.cpython-312.pyc,, +matplotlib/sphinxext/__pycache__/plot_directive.cpython-312.pyc,, +matplotlib/sphinxext/__pycache__/roles.cpython-312.pyc,, +matplotlib/sphinxext/figmpl_directive.py,sha256=rgoJcGRfLdp4jiOlyBIwG83wcyfzbFVfrlrSCmDHL9g,9308 +matplotlib/sphinxext/mathmpl.py,sha256=CKIocBSV4prRMPR50NL6WxBTULBa1zReoqo7ZtbvCsc,7871 +matplotlib/sphinxext/plot_directive.py,sha256=ZKq2s2AbrZAsPivXMkbzHPeETJGcyWdDmLIIrq4Cnyw,35592 +matplotlib/sphinxext/roles.py,sha256=uAy1sUB1sMapU4B2yFLyW8FYU2mkSDfP7ZG58ElxBrM,5609 +matplotlib/spines.py,sha256=RDqNg1SofC4EqkQbfWfw0NfPTTvv3YR1c3u5KOMZJ0Q,22227 +matplotlib/spines.pyi,sha256=eceCS47bOawgkWdLUMIPt6XX_H-EtWS2t-euz5Bgkbg,2951 +matplotlib/stackplot.py,sha256=3c9ibnBwOOnYn1pBuySxoVnUrHj8RJMe5t7HV86sYK0,4833 +matplotlib/stackplot.pyi,sha256=BX2g3-6dJ4RhjjIguo-gwWhvKZNYqFCQYVw5SKvpM4c,561 +matplotlib/streamplot.py,sha256=tpZB_prP47QaZ8-9g9RFYb9hXQRI6xiZGo74ZvHl6jc,26778 +matplotlib/streamplot.pyi,sha256=jDfNYCh2aYok6GS21PSFlk0ezXopRSyIqbXLEwdjBI8,2815 +matplotlib/style/__init__.py,sha256=P51W3ycAFKVs50eNiWOxLVeDkcGCU5uvsMGwfJie2ik,8970 +matplotlib/style/__init__.pyi,sha256=0RVt0Dk9OknnJ9hewrTyGMfHO_EcJZfney48T9dpTFM,494 +matplotlib/style/__pycache__/__init__.cpython-312.pyc,, +matplotlib/style/__pycache__/core.cpython-312.pyc,, +matplotlib/style/core.py,sha256=pgH4fLy-IbLfe2KShTk4_n9frvysPw0mDCqTifRy2jc,799 +matplotlib/style/core.pyi,sha256=QfFnlkPGbrqjW7mc3jWHbG_wR6IQXL6h0aoEK-jJV9s,674 +matplotlib/table.py,sha256=BhM8vZVP4M60z4JXlR9ocIPFNTjl8ljUzPO7Wns1Pb8,28171 +matplotlib/table.pyi,sha256=Q6eMN5SrC0sO0qlZ-045Yn8OqenbTE1PXSxKh6p0tK0,3083 +matplotlib/testing/__init__.py,sha256=9l4ke9-njOZu5hqefgCTHWSjJrfmhQ3S-CKa1DqdDMg,10544 +matplotlib/testing/__init__.pyi,sha256=4mSZWIYwsor9NeM0bdsLMv76fH4phgb6VXEE0LSlzWM,1851 +matplotlib/testing/__pycache__/__init__.cpython-312.pyc,, +matplotlib/testing/__pycache__/_markers.cpython-312.pyc,, +matplotlib/testing/__pycache__/compare.cpython-312.pyc,, +matplotlib/testing/__pycache__/conftest.cpython-312.pyc,, +matplotlib/testing/__pycache__/decorators.cpython-312.pyc,, +matplotlib/testing/__pycache__/exceptions.cpython-312.pyc,, +matplotlib/testing/__pycache__/widgets.cpython-312.pyc,, +matplotlib/testing/_markers.py,sha256=0iNyOi25XLv_gTfSUqiRizdSqJzozePPBMRo72H2Je4,1419 +matplotlib/testing/compare.py,sha256=e7b_nY97v_5Of4iST-k4nAVluUCWcpNuC1zIUaliceU,20474 +matplotlib/testing/compare.pyi,sha256=IXB7omMIlVS0eInmpzjAQuNzV_rhJMz2o_py49WE_aA,1238 +matplotlib/testing/conftest.py,sha256=ZMH3YTrAdK3bdxzWN1xPN9IH0DdxeHmRk6wrcTBxhes,7335 +matplotlib/testing/conftest.pyi,sha256=EVFVsenji64J83V9tmiZq9zraUexFXJsiVpSNa8iZUQ,490 +matplotlib/testing/decorators.py,sha256=wwREwt0SazjCrO_hxrEn8C4nFX6tsOfeHdHawOE249s,18592 +matplotlib/testing/decorators.pyi,sha256=zC3dBVlAM0BkvpZB0jxaumvdcdUZBP7qvJdH8bYafbk,879 +matplotlib/testing/exceptions.py,sha256=72QmjiHG7DwxSvlJf8mei-hRit5AH3NKh0-osBo4YbY,138 +matplotlib/testing/jpl_units/Duration.py,sha256=9FMBu9uj6orCWtf23cf6_9HCFUC50xAHrCzaxATwQfM,3966 +matplotlib/testing/jpl_units/Epoch.py,sha256=-FGxeq-VvCS9GVPwOEE5ind_G4Tl9ztD-gYcW9CWzjo,6100 +matplotlib/testing/jpl_units/EpochConverter.py,sha256=fhWjyP567bzcTU_oNuJJpucoolqS88Nt-yEFg1-3yEk,2944 +matplotlib/testing/jpl_units/StrConverter.py,sha256=codGw9b_Zc-MG_YK4CiyMrnMR8ahR9hw836O2SsV8QI,2865 +matplotlib/testing/jpl_units/UnitDbl.py,sha256=ASemBFM4LOzn9i0glZUO0fprYvXm0FJqCsaEPLgLyDg,5886 +matplotlib/testing/jpl_units/UnitDblConverter.py,sha256=B8DssrQVyC4mwvSFP78cGL0vCnZgVhDaAbZE-jsXLUg,2828 +matplotlib/testing/jpl_units/UnitDblFormatter.py,sha256=sFPWK4euTSXOC-wUowUNk8SfWmfel-tc_niNKD1fLpI,658 +matplotlib/testing/jpl_units/__init__.py,sha256=p__9RUwrt2LJ2eoT2JPM-42XLxSJrfA4az3rN5uP6d4,2684 +matplotlib/testing/jpl_units/__pycache__/Duration.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/Epoch.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/EpochConverter.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/StrConverter.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/UnitDbl.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/UnitDblConverter.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/UnitDblFormatter.cpython-312.pyc,, +matplotlib/testing/jpl_units/__pycache__/__init__.cpython-312.pyc,, +matplotlib/testing/widgets.py,sha256=62mj2cTyoQ-dDOT66ygP8nW3aebqBFeLLTjUIuAN2ao,3671 +matplotlib/testing/widgets.pyi,sha256=Ioau7Q2aPRDZLx8hze2DOe3E1vn7QPxePC74WMR7tFc,831 +matplotlib/tests/__init__.py,sha256=XyXveEAxafB87gnbx0jkC0MggzKO8FvORq_6RtJRwo4,366 +matplotlib/tests/__pycache__/__init__.cpython-312.pyc,, +matplotlib/tests/__pycache__/conftest.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_afm.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_agg.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_agg_filter.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_animation.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_api.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_arrow_patches.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_artist.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_axes.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_axis.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_bases.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_cairo.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_gtk3.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_inline.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_macosx.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_nbagg.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_pdf.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_pgf.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_ps.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_qt.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_registry.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_svg.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_template.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_tk.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_tools.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backend_webagg.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_backends_interactive.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_basic.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_bbox_tight.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_bezier.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_category.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_cbook.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_collections.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_colorbar.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_colors.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_compare_images.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_constrainedlayout.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_container.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_contour.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_cycles.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_dates.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_datetime.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_determinism.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_doc.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_dviread.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_figure.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_font_manager.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_fontconfig_pattern.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_ft2font.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_getattr.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_gridspec.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_image.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_legend.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_lines.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_marker.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_mathtext.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_matplotlib.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_mlab.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_multivariate_colormaps.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_offsetbox.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_patches.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_path.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_patheffects.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_pickle.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_png.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_polar.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_preprocess_data.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_pyplot.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_quiver.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_rcparams.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_sankey.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_scale.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_simplification.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_skew.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_sphinxext.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_spines.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_streamplot.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_style.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_subplots.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_table.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_testing.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_texmanager.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_text.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_textpath.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_ticker.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_tightlayout.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_transforms.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_triangulation.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_type1font.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_units.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_usetex.cpython-312.pyc,, +matplotlib/tests/__pycache__/test_widgets.cpython-312.pyc,, +matplotlib/tests/conftest.py,sha256=-wk-4brT25WVZEZCj59fRBIFW9_groxH7EgYL_b3ZE4,155 +matplotlib/tests/test_afm.py,sha256=WZB9QYtEkBMotwXDZJEgwQXw6i5IWhzU_9FqmRAuYdg,4072 +matplotlib/tests/test_agg.py,sha256=VhwUw_uLwqONIa3UwFEVcOkhKV-Olis4vR5cIbUF6Yw,12561 +matplotlib/tests/test_agg_filter.py,sha256=mknYVGVgI-POUQd_gqP8dQQomKY3O3-Tu7-M3k58rjk,984 +matplotlib/tests/test_animation.py,sha256=9ZvmizKShfyXZIh-lDs65ezIyeMVHIn8d7bWZ6E8u6s,18516 +matplotlib/tests/test_api.py,sha256=MOlSZePFYQvGPVhUYDgkoV8W6K46h2KQwnQQAE-xMFw,6494 +matplotlib/tests/test_arrow_patches.py,sha256=xX6TUk0w9hPV3YsDVd7jOwTDbavgi0-IB1vxNL4Tk9E,7988 +matplotlib/tests/test_artist.py,sha256=K5ag8nugMwqWU--nYvxdyyrobQ4z4zZxArchkA1OUsg,19290 +matplotlib/tests/test_axes.py,sha256=NvKX0AJShCK88pJL6mkKffR3skjY4XCPgiCyc_1RgHo,356880 +matplotlib/tests/test_axis.py,sha256=QAH258GGIigGjy0ndWddiuulLcZSv6FUEsm1h2jVvNQ,5165 +matplotlib/tests/test_backend_bases.py,sha256=WyFbrdDGZSefXTXwKlOr0Lg0gYrjLYzRgPxPcQcTjyQ,22744 +matplotlib/tests/test_backend_cairo.py,sha256=YgEerdgqV7WgBwlHgez7Hiir4CsiHoyOFNqwgpItv4U,1958 +matplotlib/tests/test_backend_gtk3.py,sha256=YPsko8sYsWBT32tGZqbfursB21nXP_CtcbVLf1cyxI0,1154 +matplotlib/tests/test_backend_inline.py,sha256=Jz1kXYX2GxGqXGbDxM7Qf42nSofER3LoXouUeETA5Pc,1613 +matplotlib/tests/test_backend_macosx.py,sha256=spE9GsdCAhyVUTrt8qI-_GiTh8Zxs6yVu_-WeODZF4E,3654 +matplotlib/tests/test_backend_nbagg.py,sha256=nnOBu3CCrOkzNR4J0ip3Z-kwzH1H8KSl0pYJ3JP5jNM,1464 +matplotlib/tests/test_backend_pdf.py,sha256=MqlEOr-6zV_wz-gw48lTFAsbVMjXi4FFsOOhUFbxZVE,25905 +matplotlib/tests/test_backend_pgf.py,sha256=0UOyptCSCfw8cZLz2s-YKjUByF6NPPxscFqqxy1qmJg,14545 +matplotlib/tests/test_backend_ps.py,sha256=ciSempEz1VQi1Z25fkxVUIROb6GgaE9tFITojIK0jCc,14127 +matplotlib/tests/test_backend_qt.py,sha256=lWEszrp1-wLi83-r2iCPgvEOeFTY7M0gU_jfuOaomPk,13083 +matplotlib/tests/test_backend_registry.py,sha256=INoas9_cgejBS9BlFJxjPTeWdEhqxL8XRcuc-isUK7k,5517 +matplotlib/tests/test_backend_svg.py,sha256=Z9ofPheKm8nlK2WAu6qoKnPCzS1fbSHd1SectbFWcGo,23081 +matplotlib/tests/test_backend_template.py,sha256=uuE7oZ9pSBVDWrPL05B0WgCFsgv6HlXyetuPTfJn6a8,2184 +matplotlib/tests/test_backend_tk.py,sha256=ItkWudKTXvXKAzN0CheP3JnSpCqrC6tvRqonRGNyBNk,10729 +matplotlib/tests/test_backend_tools.py,sha256=C-B7NCkyWsQ5KzQEnI5Be16DsAHHZJU9P5v9--wsF-o,501 +matplotlib/tests/test_backend_webagg.py,sha256=xnEMmsz2vBiglpqg9IDh1gCGdGhxotgZpEinZn9W-Bg,2880 +matplotlib/tests/test_backends_interactive.py,sha256=o1pS1bxn-x-kTq5JmTKUM01etYONGnuE1mSLKML3UXs,30051 +matplotlib/tests/test_basic.py,sha256=Z2uMYhSeba3nYenou8utSATSEq4LjYvm_V9V6wKabFk,1117 +matplotlib/tests/test_bbox_tight.py,sha256=u4GzDkXNfKlUM6np2uGxxnhByij2nU_fhrwk7Wuib48,7181 +matplotlib/tests/test_bezier.py,sha256=4p-MnIIGD7Eok0hvYkZkrW0IW3ewa8rDs3epg0pvfoY,1719 +matplotlib/tests/test_category.py,sha256=p95i0_PMP2XiKjgNSkoek-fn_bVajw1TnT7H29o3yTI,12025 +matplotlib/tests/test_cbook.py,sha256=dbRtnPBqQDhjgkiv6NMoCbHm_wcRMfHYDZYHo-ErZCQ,39686 +matplotlib/tests/test_collections.py,sha256=A-IZKijRjS-Ll6qXZngK8dcO5U91msQmBFzqLB-nwOg,55601 +matplotlib/tests/test_colorbar.py,sha256=5JEigSYqmGCbe6-jBrsfYPmy2JmQgcZhxfqZVvLZ2sA,47196 +matplotlib/tests/test_colors.py,sha256=JyesmQZtSznT7MOE_ywLcGczmBevhGOLyB-efxDpqDU,80824 +matplotlib/tests/test_compare_images.py,sha256=JPXiDfFwvu8eso2KYgK6S5UKuVvm5u0hs9dHD8uTaAU,4592 +matplotlib/tests/test_constrainedlayout.py,sha256=ZNJZhikXXzJB-mrXUQZup_OPM5jWHu-p6AB_6kaOYsw,28421 +matplotlib/tests/test_container.py,sha256=H9CeLRsp0dzUboDigZIx9DA-G3npSEkrLxVWWwxEeWI,1957 +matplotlib/tests/test_contour.py,sha256=VPVF6Zl_AObq9vPMm-Verm_naCdaxCrpAa7wrmsoI88,32367 +matplotlib/tests/test_cycles.py,sha256=3KyRmWH29WUgvIXUT06tKVDNCfDWqxuxlLueIp-FIl0,5996 +matplotlib/tests/test_dates.py,sha256=eqHrRKOopQZAQywgiP1YBr8oVJnEVqrrhp9kTviOPqU,56606 +matplotlib/tests/test_datetime.py,sha256=kEiYIr28ubqbOqtxJGfFuHUxlZfObisl06RNHYh6R_o,33143 +matplotlib/tests/test_determinism.py,sha256=o1QtL1reYF0QkT7AXalnycViess_-fEcT8jSPzCWYnM,8453 +matplotlib/tests/test_doc.py,sha256=E76qBVlnA5jCH8Ma4DBozhzrEp9Jzqr3qsITIUIY7bY,1024 +matplotlib/tests/test_dviread.py,sha256=xkAS9zDhVSDbjqeDEI-Tx_xOpxJsEd7kwmOkP5HtZf8,5434 +matplotlib/tests/test_figure.py,sha256=cGWFgSr5bKGfnZ8YD-4ZmCvjKqk15L7mYwH6uHmPhFI,62502 +matplotlib/tests/test_font_manager.py,sha256=cJVzyKUH8zP9hgQGLVc6N05Qk3d_r1IuIoW82-INbPo,23064 +matplotlib/tests/test_fontconfig_pattern.py,sha256=LSR6lWF_0cVOshkGiflYaTCLcISRIJM6mjXm5QtDjX4,2168 +matplotlib/tests/test_ft2font.py,sha256=TqQW2qeOcxYUz5qCAY5CVxtvS844LPsBNxteNmToJuE,45214 +matplotlib/tests/test_getattr.py,sha256=NLejbWy-RCP-Iz5fWPdL3QmMguAL7C1qr-U_fDmKhtA,2065 +matplotlib/tests/test_gridspec.py,sha256=BhItYiH_21kQNZlUNDJoGZXX2Ebq3FhjaaJ4OrHIP1Q,2212 +matplotlib/tests/test_image.py,sha256=Hjxor7o6Io8FpHbgce_-TqGwV6rQPIinBREqkf8c1_A,73411 +matplotlib/tests/test_legend.py,sha256=WT_ILqZ1FLqBmNvHBJCSS-2o7rbnbEqffW-gbYKFP2c,66808 +matplotlib/tests/test_lines.py,sha256=Ygk7Jk-VK-9OwBZ-Mvv72PIw4gVcMi20mQNJB5QipzA,15883 +matplotlib/tests/test_marker.py,sha256=GviPXabZAZ3v3ZJt8dQHz03Unyi_3QscaKK7jSIO7hk,11505 +matplotlib/tests/test_mathtext.py,sha256=HlF0OH_0Yjy_RguZpn0WdETcwa5ftFisDanH5ZPuiQA,28659 +matplotlib/tests/test_matplotlib.py,sha256=oX_W2oqPkYQWtFPHQ3mjI-ELkEN9I9_XfFByHn3xZRs,5321 +matplotlib/tests/test_mlab.py,sha256=3Oz6fSvUYpe-ChSthSB_D1K8AuvLw-2__xx0G0PpVSg,42740 +matplotlib/tests/test_multivariate_colormaps.py,sha256=VaObR7nLIf7oW7xJWaBYnb1MgX3lZ3xN4I7Q7wivBAo,22004 +matplotlib/tests/test_offsetbox.py,sha256=a7cro-a-6zIspkzC7L4r-R9LsDccslTP_iITx6toYp0,18061 +matplotlib/tests/test_patches.py,sha256=bGcMfmb-O2bCTOIyj2IJwGbQTTZ_iUKBcaOBqAscZT4,40579 +matplotlib/tests/test_path.py,sha256=IxNUfgAsfWjJ9kbSD03P9sMFBAmkYMOa55q9pOQrMtQ,25154 +matplotlib/tests/test_patheffects.py,sha256=e6KR0v07Wqpz6qrZik4oU27i_i1ceO1xMR3AeUcnrRI,8611 +matplotlib/tests/test_pickle.py,sha256=9BMlxVkpA1a1z9anAbT12dieNeON33KLlVELzLozZuw,9535 +matplotlib/tests/test_png.py,sha256=Z5ItDAIjJpU0sgZ1xyWfsMFCMFaR9ALraqrOldaappc,1272 +matplotlib/tests/test_polar.py,sha256=q-2dCRGDfNOHHV4-4iiCFG7TPKz0Yw-XUfZ1OFKDRBM,22224 +matplotlib/tests/test_preprocess_data.py,sha256=FNx1TlPNCjkbqwPuGQ_RHbkcwzeNkBemoE-iFh2Glcw,11327 +matplotlib/tests/test_pyplot.py,sha256=k5u9e2RqNbx-sgqe1JfuhXwKWTHRedVYpfUkoc8us5Q,16820 +matplotlib/tests/test_quiver.py,sha256=MTwIhlIhIn6af6y6uB_ySMnhXFa5WfHGgLdE20u0gbA,12193 +matplotlib/tests/test_rcparams.py,sha256=udRLBCz-uYZEHxWJ1E9A0GqLF47hSVV12CZvzcIooSg,27232 +matplotlib/tests/test_sankey.py,sha256=78K4h0A8IW6YOKEIhbUHqbey4TopWi6iXriyr1AjUkA,3883 +matplotlib/tests/test_scale.py,sha256=zwaqvkGiG5x_eCuYA7rsssL0mHHIDYcC9hVPnD6HtHs,15545 +matplotlib/tests/test_simplification.py,sha256=YXbnai9WWzEpQJm8SsyL-EgK6D_EVPaeLCU1dR3B8EY,21852 +matplotlib/tests/test_skew.py,sha256=GGKc9kPpE6z33fl-WlKUr0tL0UzdtWa-Z6Qt4X_dxW8,6397 +matplotlib/tests/test_sphinxext.py,sha256=KNmfXJ8BNisSazyyiUkm3JLVn9lg6wLdHLw-3XenufA,11743 +matplotlib/tests/test_spines.py,sha256=J9ansYiGJOVap5VUlMreASkUONkd3fyjnJUsFO2Gi5Q,6583 +matplotlib/tests/test_streamplot.py,sha256=vWfB02KZhhfXFYFzm00ZkiDk01sF06FZx-ju0ibLIX4,8150 +matplotlib/tests/test_style.py,sha256=a41bWE7aFsSRtzuc6z3LpOF1c2t5i_vK2dWLM0VZ-WE,7040 +matplotlib/tests/test_subplots.py,sha256=Ch-emSStITK9myroAo6PxAqLmCSOm7KrWnqC3YPPvT8,11061 +matplotlib/tests/test_table.py,sha256=d1nHDbzGZH9yQLxNceJMhdGKtUVS55M5RzOSq6nmpjs,8678 +matplotlib/tests/test_testing.py,sha256=ZOiZey8Qvk6UBqRRxtTqP1GLtcQjMF6W__qif_Z2SCQ,865 +matplotlib/tests/test_texmanager.py,sha256=2xae7Qym_PzPh4G7bN3TSXjTRCxtrsOlTctgVryRbuY,2678 +matplotlib/tests/test_text.py,sha256=qvYCJEnZSxxd25SUBEVwWWaecbQVEqswnTJcXjqSzMY,45636 +matplotlib/tests/test_textpath.py,sha256=WLXvT5OzE6Tew4pr87LH-cgioCzM7srgMNRemiMEC5o,271 +matplotlib/tests/test_ticker.py,sha256=sCFNsjJRw5_KJjKClxDLo4CQQgfyUHnShyUPcHQLZOo,78180 +matplotlib/tests/test_tightlayout.py,sha256=_UDO90u3uPC6Yt1D_AJPEjuMj8Xoz1Bt_ViwRk0hriY,13974 +matplotlib/tests/test_transforms.py,sha256=juTMxd6enryTFW1saeDjgYNXLG2otrjNqkctYTXHGJg,49456 +matplotlib/tests/test_triangulation.py,sha256=Km7FiD6ujmmHHw8PvDPeVPFkDr_QWeyx9p_ROa_7Ols,55368 +matplotlib/tests/test_type1font.py,sha256=QidcU7R8kKffHkz1KxBBilRrW9ONN6hhVK5oT46cllg,9151 +matplotlib/tests/test_units.py,sha256=gbADzgyVZNcATjTceMIGr6ced-HlKBYhPiap120kBng,11687 +matplotlib/tests/test_usetex.py,sha256=DZvlXEygFE0E9kNku6DOvR2fYvoIuhw35ytMm5zY1Og,9504 +matplotlib/tests/test_widgets.py,sha256=dO5cK_8dGYmMUSEO-J_u_9cQWw_f8VuwWG3Xd7zemy8,72294 +matplotlib/texmanager.py,sha256=39qbB7wm2OMBcFFDRRBvU6qcjpDj_gX2jE5lcMF9yAY,15489 +matplotlib/texmanager.pyi,sha256=di3gbC9muXKTo5VCrW5ye-e19A1mrOl8e8lvI3b904A,1116 +matplotlib/text.py,sha256=Dh8BXXhD8nr2y-kJu8423I9gL8864H32w-M65UyvC5s,81539 +matplotlib/text.pyi,sha256=fkD1ABkqrkd8BpqmuJdtyY-boaNyO7g5geQ9RVLnboo,7664 +matplotlib/textpath.py,sha256=ZYxTKyPVHEOwHR7RBO723L2CYTqTVPCmGwCxTc6-RhI,12709 +matplotlib/textpath.pyi,sha256=L__fm9BMpxX3IimGbWGWnImzeQukCmYZxxqK8vlzeIo,2740 +matplotlib/ticker.py,sha256=SdRYahikSIOHQRsWjYBku2Dh9Z1HjhOZZeL3zvUJ4q0,114435 +matplotlib/ticker.pyi,sha256=8_I2_U8WR923XMyN4BUltbP3Wn1iLSDoIEo66OM8OtI,10671 +matplotlib/transforms.py,sha256=EJvSwlqoOVzSXBGpSjrHim8MbaPbBFAPSGzDlnpr4Og,102198 +matplotlib/transforms.pyi,sha256=adpr1xkd1U_sUPru2lBHCjTBhkCxfCjYAUxjoAS7D6w,13822 +matplotlib/tri/__init__.py,sha256=asnfefKRpJv7sGbfddCMybnJInVDPwgph7g0mpoh2u4,820 +matplotlib/tri/__pycache__/__init__.cpython-312.pyc,, +matplotlib/tri/__pycache__/_triangulation.cpython-312.pyc,, +matplotlib/tri/__pycache__/_tricontour.cpython-312.pyc,, +matplotlib/tri/__pycache__/_trifinder.cpython-312.pyc,, +matplotlib/tri/__pycache__/_triinterpolate.cpython-312.pyc,, +matplotlib/tri/__pycache__/_tripcolor.cpython-312.pyc,, +matplotlib/tri/__pycache__/_triplot.cpython-312.pyc,, +matplotlib/tri/__pycache__/_trirefine.cpython-312.pyc,, +matplotlib/tri/__pycache__/_tritools.cpython-312.pyc,, +matplotlib/tri/_triangulation.py,sha256=Ur2lKMOx4NrZxwyi0hBeBnVzicuKaCke0NkrZneSklM,9784 +matplotlib/tri/_triangulation.pyi,sha256=pVw1rvpIcl00p7V7E9GcvJSqQWyoxlZXX_p0_VSxTiY,1017 +matplotlib/tri/_tricontour.py,sha256=yxeH8QgBub1nTq9qbO5Iiiz81bcLXDeMcJHUS2Ahmns,10220 +matplotlib/tri/_tricontour.pyi,sha256=jnsAmVRX0-FOUw9ptUgci9J4T4JQRloKeH8fh8aAi-o,1155 +matplotlib/tri/_trifinder.py,sha256=3gUzJZDIwfdsSJUE8hIKso9e1-UGvynUN9HxaqC1EEc,3522 +matplotlib/tri/_trifinder.pyi,sha256=dXcZucacAS3Ch6nrDBPh2e3LYZLfZ7VwqpBUBb-vMPo,405 +matplotlib/tri/_triinterpolate.py,sha256=x4rKdM_W2rpo2o8ZbWKnbStegiISI1kwVfzumdAFEXE,62445 +matplotlib/tri/_triinterpolate.pyi,sha256=nR0o0Jm0uPH-6l0ft1WRHqYlq-6o84X6M0aX1UJ9IvE,1044 +matplotlib/tri/_tripcolor.py,sha256=R6z_Xb18njuLBukDYi5z0HDVOUMfYJd5KM-pSotaUxI,6818 +matplotlib/tri/_tripcolor.pyi,sha256=QsA-A2ohj3r_tAElt2-9pzi47JiU01tNlRPDIptqnh4,1781 +matplotlib/tri/_triplot.py,sha256=jlHSz36Z5S18zBKc639PlSqdhfl7jHol8ExlddJuDI4,3102 +matplotlib/tri/_triplot.pyi,sha256=9USU-BfitrcdQE8yWOUlBX59QBNoHCWivDon9JbDQ0k,446 +matplotlib/tri/_trirefine.py,sha256=ZMlWypiRCO2J55N5Pp9S6m5BlToHx-xqDBFMpFzOsbA,13179 +matplotlib/tri/_trirefine.pyi,sha256=J_PmjbeI6UbLaeecgj1OCvGe_sr9UUsNK9NGBSlQ320,1056 +matplotlib/tri/_tritools.py,sha256=wC9KVE6UqkWVHpyW9FU4hQdqRVRVmJlhaBF1EXsaD8U,10575 +matplotlib/tri/_tritools.pyi,sha256=XWwwvH2nIAmH8k59aRjnLBVQbTwKvd_FzdsRNASCJMw,402 +matplotlib/typing.py,sha256=GUTVrSUUihZUK7e2S46hSI4TLYor8NKYtll3Q4WNs44,16100 +matplotlib/units.py,sha256=7O-llc8k3GpdotUs2tWcEGgoUHHX-Y7o0R7f-1Jve3k,6429 +matplotlib/widgets.py,sha256=C59Pcj4zEttRs0jf3LLO7pU7NO5aRhE_ft0dVNuJZXs,165076 +matplotlib/widgets.pyi,sha256=OSsBf5e6HtB_q_Gy1JKE7AhXK1JhwH_PnhCJ4Lf-sNs,15923 +mpl_toolkits/axes_grid1/__init__.py,sha256=wiuUCQo1g20SW5T3mFOmI9dGCJY6aDmglpQw5DfszEU,371 +mpl_toolkits/axes_grid1/__pycache__/__init__.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/anchored_artists.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/axes_divider.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/axes_grid.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/axes_rgb.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/axes_size.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/inset_locator.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/mpl_axes.cpython-312.pyc,, +mpl_toolkits/axes_grid1/__pycache__/parasite_axes.cpython-312.pyc,, +mpl_toolkits/axes_grid1/anchored_artists.py,sha256=ZrOE3RiyT2ryUJ3gVqKxMynwJR28VtOZNKVZLIL29-c,17164 +mpl_toolkits/axes_grid1/axes_divider.py,sha256=1HdcmRGLNJLqzB2P4TnzDLILEgT5OyAE1h0ewLyqrE0,21894 +mpl_toolkits/axes_grid1/axes_grid.py,sha256=-jbfcf4CsKyrDymbkoEO5Nz1J_eytfGjRccD8xfnrU8,22631 +mpl_toolkits/axes_grid1/axes_rgb.py,sha256=pabgaWJuLTCPw2FlT6Zfy5d0_95CEvaLeosWRTElR98,5227 +mpl_toolkits/axes_grid1/axes_size.py,sha256=HRyPYDXlhj426dovCWx6oWng1JJd4t2fpVFN0MLGS2M,7714 +mpl_toolkits/axes_grid1/inset_locator.py,sha256=VzUWJ_CRtx8-tnU0szFzmxoipXS6jr3Aa6F4LlweEVk,19906 +mpl_toolkits/axes_grid1/mpl_axes.py,sha256=vFCttnj9JIgY3Mt2eOi-O_FVvdZ6SW_sBtIBFib6bz4,4251 +mpl_toolkits/axes_grid1/parasite_axes.py,sha256=5X0KNsH2qyquv159imnSqEw_fGUfe2n0L3PZQFK8AMQ,9489 +mpl_toolkits/axes_grid1/tests/__init__.py,sha256=sKLxL9jEJBX7eh5OumtXSOnTriPrJUkujTHFtnJVFrM,365 +mpl_toolkits/axes_grid1/tests/__pycache__/__init__.cpython-312.pyc,, +mpl_toolkits/axes_grid1/tests/__pycache__/conftest.cpython-312.pyc,, +mpl_toolkits/axes_grid1/tests/__pycache__/test_axes_grid1.cpython-312.pyc,, +mpl_toolkits/axes_grid1/tests/conftest.py,sha256=iIRgNlbYBxc9J044HaFllX2eF_usr_K56NRwlLl0fx4,128 +mpl_toolkits/axes_grid1/tests/test_axes_grid1.py,sha256=rTTELyuC4pMYXgTW46tcRto1PAg_LCgP3Vy52G74ETY,29149 +mpl_toolkits/axisartist/__init__.py,sha256=RPaNDl22FbmDP7ZRsku1yCqpoNqcclCk0a3rXj3G7fE,631 +mpl_toolkits/axisartist/__pycache__/__init__.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/angle_helper.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/axes_divider.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/axis_artist.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/axisline_style.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/axislines.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/floating_axes.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/grid_finder.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/grid_helper_curvelinear.cpython-312.pyc,, +mpl_toolkits/axisartist/__pycache__/parasite_axes.cpython-312.pyc,, +mpl_toolkits/axisartist/angle_helper.py,sha256=XWpJgc2aI5TcfMTe8LXCKQo3itMYrFV-N-OqP9qEDU8,13075 +mpl_toolkits/axisartist/axes_divider.py,sha256=65xSCQ9cHSC3KE7J7HxS4bfsDTAbPmwyz1jJ43BqnBs,122 +mpl_toolkits/axisartist/axis_artist.py,sha256=FKZa4dV2XFRUduHUPDFI1bmD9O-HMHnSgowmFpgCmmI,39652 +mpl_toolkits/axisartist/axisline_style.py,sha256=_M3Y-UdwLMTy25rhMnhFQtPRSf9q4czeSCJnh3d2h5I,6698 +mpl_toolkits/axisartist/axislines.py,sha256=0sNXeYuD5ADSSQH445AwXRnY3sbGAetqJkhZL0O_pT4,16217 +mpl_toolkits/axisartist/floating_axes.py,sha256=uFYqo5KvXwzWn1IT8HDIyjG3hK0R04DVifQCOMeDHYo,9995 +mpl_toolkits/axisartist/grid_finder.py,sha256=oiiDAXGt9OUa_geD1Y9zWaLkok6ABZkT-ZP6kFyLawI,12734 +mpl_toolkits/axisartist/grid_helper_curvelinear.py,sha256=aU65Cnj9vEJylDDFpauYIIIJhaQFg1BGVzSuK6zi7so,13506 +mpl_toolkits/axisartist/parasite_axes.py,sha256=Ydi4-0Lbczr6K7Sz1-fRwK4Tm8KlHrOIumx67Xbo_9c,244 +mpl_toolkits/axisartist/tests/__init__.py,sha256=sKLxL9jEJBX7eh5OumtXSOnTriPrJUkujTHFtnJVFrM,365 +mpl_toolkits/axisartist/tests/__pycache__/__init__.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/conftest.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/test_angle_helper.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/test_axis_artist.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/test_axislines.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/test_floating_axes.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/test_grid_finder.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/__pycache__/test_grid_helper_curvelinear.cpython-312.pyc,, +mpl_toolkits/axisartist/tests/conftest.py,sha256=iIRgNlbYBxc9J044HaFllX2eF_usr_K56NRwlLl0fx4,128 +mpl_toolkits/axisartist/tests/test_angle_helper.py,sha256=PwhJwBm2kk4uMyhdO5arQs8IlqSX2vN0hvUzI7YHqrw,5670 +mpl_toolkits/axisartist/tests/test_axis_artist.py,sha256=wXS2DUOvE6KkJeH6ZtMW6zXOiarfy2leqGKD8A-XGfQ,3707 +mpl_toolkits/axisartist/tests/test_axislines.py,sha256=iIYs5evzQ3BwXetimfXNZ5ELjtIsq8HRojYwaZfvRK0,4619 +mpl_toolkits/axisartist/tests/test_floating_axes.py,sha256=LzcunaAVpCqMIUdKDaO2Pzr6S1OPru86t_9zWgSWpy4,4644 +mpl_toolkits/axisartist/tests/test_grid_finder.py,sha256=cwQLDOdcJbAY2E7dr8595yzuNh1_Yh80r_O8WGT2hMY,1156 +mpl_toolkits/axisartist/tests/test_grid_helper_curvelinear.py,sha256=MzJcslJ4fvvWEFjxCzh9s9ur173al_U2-KqEuiax1qw,7255 +mpl_toolkits/mplot3d/__init__.py,sha256=fH9HdMfFMvjbIWqy2gjQnm2m3ae1CvLiuH6LwKHo0kI,49 +mpl_toolkits/mplot3d/__pycache__/__init__.cpython-312.pyc,, +mpl_toolkits/mplot3d/__pycache__/art3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/__pycache__/axes3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/__pycache__/axis3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/__pycache__/proj3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/art3d.py,sha256=ren1NFwzxWwMNfRNNHPZPBLVaI5R1YrnNy6aGjzp85Q,62109 +mpl_toolkits/mplot3d/axes3d.py,sha256=aCOw5p_lQlXugt45Ku76xeKBPyMgTuyLGtVAoDV67jU,171222 +mpl_toolkits/mplot3d/axis3d.py,sha256=2wqbeC9cjt-rCVKBPTZOo7qcZABEkaRe2IdsCDHngsg,32006 +mpl_toolkits/mplot3d/proj3d.py,sha256=SlJKkliaUhuAJ4VjDU1xMP8V-JiZbcIs6ugtgQUTRM0,8014 +mpl_toolkits/mplot3d/tests/__init__.py,sha256=sKLxL9jEJBX7eh5OumtXSOnTriPrJUkujTHFtnJVFrM,365 +mpl_toolkits/mplot3d/tests/__pycache__/__init__.cpython-312.pyc,, +mpl_toolkits/mplot3d/tests/__pycache__/conftest.cpython-312.pyc,, +mpl_toolkits/mplot3d/tests/__pycache__/test_art3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/tests/__pycache__/test_axes3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/tests/__pycache__/test_legend3d.cpython-312.pyc,, +mpl_toolkits/mplot3d/tests/conftest.py,sha256=iIRgNlbYBxc9J044HaFllX2eF_usr_K56NRwlLl0fx4,128 +mpl_toolkits/mplot3d/tests/test_art3d.py,sha256=oQlgtY24BEIfE4hpD1-O4GaYwW7Zqj2oKrcSMWNAPj8,3768 +mpl_toolkits/mplot3d/tests/test_axes3d.py,sha256=hELj8LOwuZ629nkuym-Tf3QVmi9urfAC6p0JZNBOGXw,114526 +mpl_toolkits/mplot3d/tests/test_legend3d.py,sha256=RxaPp7UlHHm_WUQYmQapktEh7BN4BrP30VmouGcJycU,4421 +pylab.py,sha256=zUXU0l7e7C5jmDSJbM0GLQxBun3xzuXNf1tuoZYA6Xk,110 diff --git a/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/WHEEL b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/WHEEL new file mode 100644 index 0000000000000000000000000000000000000000..d98ef534f680b37433e9ab0f8470bdbe56c303d8 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib-3.11.2.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: meson +Root-Is-Purelib: false +Tag: cp312-cp312-manylinux_2_17_x86_64 +Tag: cp312-cp312-manylinux2014_x86_64 + diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_patches.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_patches.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7c2cf039a923f1b14a925b95851ae4317871e4a2 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_patches.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_path.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_path.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04ba6dc707b7a990be871291ba1f52e07a679a2c Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_path.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_patheffects.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_patheffects.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed7ad9c0f571a20496c9af12546a6207cb2b212a Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_patheffects.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_pickle.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_pickle.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a23e29d294690dd9d10afee09c3984eff6b87f9d Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_pickle.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_png.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_png.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..976043f15420a6d770ceba7f7c15679435775757 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_png.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_polar.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_polar.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b41bc89ca0db18c2caae05f2861ffab023ae05b8 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_polar.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_preprocess_data.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_preprocess_data.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1c16d88e08179e588309d1472521c569efbed9bb Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_preprocess_data.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_pyplot.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_pyplot.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2c20236835dcf67ed60b5bfe65187da3b8884528 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_pyplot.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_quiver.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_quiver.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b00191c89036f80a84e2eefecef5f33f673172a3 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_quiver.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_rcparams.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_rcparams.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a7fa2d873f38343e1f1fe6dbefcd29e24015d2c Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_rcparams.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_sankey.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_sankey.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f09edfc62ccf7386c7b9369994db73d65241908f Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_sankey.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_scale.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_scale.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e3f9e3a3aa1131b28f50c01d614bd204d8be98c Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_scale.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_simplification.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_simplification.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d4c40097e988f9e19eab2987b6bab714bb01cfb0 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_simplification.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_skew.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_skew.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a953c599b22f3ba7f27695248191c38d634def54 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_skew.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_sphinxext.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_sphinxext.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..391ed34d738553842791a311e46dc67c002efcc5 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_sphinxext.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_spines.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_spines.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4f85fa852d763add0d4200b61836379a58cce318 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_spines.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_streamplot.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_streamplot.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..478b9a22ce9087c1cd60716ef0790c5c441b06d6 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_streamplot.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_style.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_style.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..803fd598c9e19d072114756594c3fbee21c6df2e Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_style.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_subplots.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_subplots.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..342a4b8f3d6e739c7f43c66ead1eebd724116967 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_subplots.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_table.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_table.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fe33a959e5ad51c73ec95372ede26ed4a0912618 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_table.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_testing.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_testing.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..47b73c6b334fc251ad230b570578d4b8f16f8581 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_testing.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_texmanager.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_texmanager.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f633a1590851ae92fa34186ad9d197ff1ea3afce Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_texmanager.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_text.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_text.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34c24402910d25928b4cb0eaf198a448be3ed564 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_text.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_textpath.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_textpath.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5eee30f4e2d0ceb966ae1d8e7fb142ad752d468f Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_textpath.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_ticker.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_ticker.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2979e13f0c57b017a742a240de0898f2e2efaaa6 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_ticker.cpython-312.pyc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:755eff19528cd066e9654eef25a243298935a7941149f56ad98454ab87735f0c +size 108683 diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_tightlayout.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_tightlayout.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d0ee9f989d80f8fb00bbaa5f85571c4d56c562d Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_tightlayout.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_transforms.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_transforms.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ba100f4fd8ff8b6d4ada9e2f8225c6e7c5a46228 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_transforms.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_triangulation.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_triangulation.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..adaabe7f7de9afc9ea724676b559b6e29d24f91f Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_triangulation.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_type1font.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_type1font.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec1dae826a172ddc117dc3344a0af616bfb65810 Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_type1font.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_units.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_units.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..edec9e3122d44304c59f17511f1ab3f3e06ef7df Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_units.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_usetex.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_usetex.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d753f9ed7f65ac2c09488c49c45a8aecd490bdfb Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_usetex.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_widgets.cpython-312.pyc b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_widgets.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..358bb59422cbb0dd751ef2ac19efb1e352a8faed Binary files /dev/null and b/hug/lib/python3.12/site-packages/matplotlib/tests/__pycache__/test_widgets.cpython-312.pyc differ diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/conftest.py b/hug/lib/python3.12/site-packages/matplotlib/tests/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..3f38f50ccc7fe197e793bc7e5e1f22460c85bee1 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib/tests/conftest.py @@ -0,0 +1,3 @@ +from matplotlib.testing.conftest import ( # noqa + pytest_configure, pytest_unconfigure, + high_memory, mpl_test_settings, pd, text_placeholders, xr) diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/test_afm.py b/hug/lib/python3.12/site-packages/matplotlib/tests/test_afm.py new file mode 100644 index 0000000000000000000000000000000000000000..bc1d587baf6be513d5bb15b08a4316ecdc663435 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib/tests/test_afm.py @@ -0,0 +1,148 @@ +from io import BytesIO +import pytest +import logging + +from matplotlib import _afm +from matplotlib import font_manager as fm + + +# See note in afm.py re: use of comma as decimal separator in the +# UnderlineThickness field and re: use of non-ASCII characters in the Notice +# field. +AFM_TEST_DATA = b"""StartFontMetrics 2.0 +Comment Comments are ignored. +Comment Creation Date:Mon Nov 13 12:34:11 GMT 2017 +FontName MyFont-Bold +EncodingScheme FontSpecific +FullName My Font Bold +FamilyName Test Fonts +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 56,789 +Version 001.000 +Notice Copyright \xa9 2017 No one. +FontBBox 0 -321 1234 369 +StartCharMetrics 3 +C 0 ; WX 250 ; N space ; B 0 0 0 0 ; +C 42 ; WX 1141 ; N foo ; B 40 60 800 360 ; +C 99 ; WX 583 ; N bar ; B 40 -10 543 210 ; +EndCharMetrics +EndFontMetrics +""" + + +def test_nonascii_str(): + # This tests that we also decode bytes as utf-8 properly. + # Else, font files with non ascii characters fail to load. + inp_str = "привет" + byte_str = inp_str.encode("utf8") + + ret = _afm._to_str(byte_str) + assert ret == inp_str + + +def test_parse_header(): + fh = BytesIO(AFM_TEST_DATA) + header = _afm._parse_header(fh) + assert header == { + 'StartFontMetrics': 2.0, + 'FontName': 'MyFont-Bold', + 'EncodingScheme': 'FontSpecific', + 'FullName': 'My Font Bold', + 'FamilyName': 'Test Fonts', + 'Weight': 'Bold', + 'ItalicAngle': 0.0, + 'IsFixedPitch': False, + 'UnderlinePosition': -100, + 'UnderlineThickness': 56.789, + 'Version': '001.000', + 'Notice': b'Copyright \xa9 2017 No one.', + 'FontBBox': [0, -321, 1234, 369], + 'StartCharMetrics': 3, + } + + +def test_parse_char_metrics(): + fh = BytesIO(AFM_TEST_DATA) + _afm._parse_header(fh) # position + metrics = _afm._parse_char_metrics(fh) + assert metrics == ( + { + 0: _afm.CharMetrics(250.0, 'space', (0, 0, 0, 0)), + 42: _afm.CharMetrics(1141.0, 'foo', (40, 60, 800, 360)), + 99: _afm.CharMetrics(583.0, 'bar', (40, -10, 543, 210)), + }, + { + 'space': _afm.CharMetrics(250.0, 'space', (0, 0, 0, 0)), + 'foo': _afm.CharMetrics(1141.0, 'foo', (40, 60, 800, 360)), + 'bar': _afm.CharMetrics(583.0, 'bar', (40, -10, 543, 210)), + } + ) + + +def test_get_familyname_guessed(): + fh = BytesIO(AFM_TEST_DATA) + font = _afm.AFM(fh) + del font._header['FamilyName'] # remove FamilyName, so we have to guess + assert font.get_familyname() == 'My Font' + + +def test_font_manager_weight_normalization(): + font = _afm.AFM(BytesIO( + AFM_TEST_DATA.replace(b"Weight Bold\n", b"Weight Custom\n"))) + assert fm.afmFontProperty("", font).weight == "normal" + + +@pytest.mark.parametrize( + "afm_data", + [ + b"""nope +really nope""", + b"""StartFontMetrics 2.0 +Comment Comments are ignored. +Comment Creation Date:Mon Nov 13 12:34:11 GMT 2017 +FontName MyFont-Bold +EncodingScheme FontSpecific""", + ], +) +def test_bad_afm(afm_data): + fh = BytesIO(afm_data) + with pytest.raises(RuntimeError): + _afm._parse_header(fh) + + +@pytest.mark.parametrize( + "afm_data", + [ + b"""StartFontMetrics 2.0 +Comment Comments are ignored. +Comment Creation Date:Mon Nov 13 12:34:11 GMT 2017 +Aardvark bob +FontName MyFont-Bold +EncodingScheme FontSpecific +StartCharMetrics 3""", + b"""StartFontMetrics 2.0 +Comment Comments are ignored. +Comment Creation Date:Mon Nov 13 12:34:11 GMT 2017 +ItalicAngle zero degrees +FontName MyFont-Bold +EncodingScheme FontSpecific +StartCharMetrics 3""", + ], +) +def test_malformed_header(afm_data, caplog): + fh = BytesIO(afm_data) + with caplog.at_level(logging.ERROR): + _afm._parse_header(fh) + + assert len(caplog.records) == 1 + + +def test_afm_kerning(): + fn = fm.findfont("Helvetica", fontext="afm") + with open(fn, 'rb') as fh: + afm = _afm.AFM(fh) + assert afm.get_kern_dist_from_name('A', 'V') == -70.0 + assert afm.get_kern_dist_from_name('V', 'A') == -80.0 diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/test_agg.py b/hug/lib/python3.12/site-packages/matplotlib/tests/test_agg.py new file mode 100644 index 0000000000000000000000000000000000000000..7ad21e83535c3cea21974757f763fd395c902b0d --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib/tests/test_agg.py @@ -0,0 +1,396 @@ +import io +import warnings + +import numpy as np +from numpy.testing import assert_array_almost_equal +from PIL import features, Image, TiffTags +import pytest + + +from matplotlib import ( + collections, patheffects, pyplot as plt, transforms as mtransforms, + rcParams, rc_context) +from matplotlib.backends.backend_agg import RendererAgg +from matplotlib.figure import Figure +from matplotlib.image import imread +from matplotlib.path import Path +from matplotlib.testing.decorators import image_comparison +from matplotlib.transforms import IdentityTransform + + +def require_pillow_feature(name): + with warnings.catch_warnings(): + warnings.simplefilter('ignore') + available = features.check(name.lower()) + return pytest.mark.skipif(not available, reason=f"{name} support not available") + + +def test_repeated_save_with_alpha(): + # We want an image which has a background color of bluish green, with an + # alpha of 0.25. + + fig = Figure([1, 0.4]) + fig.set_facecolor((0, 1, 0.4)) + fig.patch.set_alpha(0.25) + + # The target color is fig.patch.get_facecolor() + + buf = io.BytesIO() + + fig.savefig(buf, + facecolor=fig.get_facecolor(), + edgecolor='none') + + # Save the figure again to check that the + # colors don't bleed from the previous renderer. + buf.seek(0) + fig.savefig(buf, + facecolor=fig.get_facecolor(), + edgecolor='none') + + # Check the first pixel has the desired color & alpha + # (approx: 0, 1.0, 0.4, 0.25) + buf.seek(0) + assert_array_almost_equal(tuple(imread(buf)[0, 0]), + (0.0, 1.0, 0.4, 0.250), + decimal=3) + + +def test_large_single_path_collection(): + buff = io.BytesIO() + + # Generates a too-large single path in a path collection that + # would cause a segfault if the draw_markers optimization is + # applied. + f, ax = plt.subplots() + collection = collections.PathCollection( + [Path([[-10, 5], [10, 5], [10, -5], [-10, -5], [-10, 5]])]) + ax.add_artist(collection) + ax.set_xlim(10**-3, 1) + plt.savefig(buff) + + +def test_marker_with_nan(): + # This creates a marker with nans in it, which was segfaulting the + # Agg backend (see #3722) + fig, ax = plt.subplots(1) + steps = 1000 + data = np.arange(steps) + ax.semilogx(data) + ax.fill_between(data, data*0.8, data*1.2) + buf = io.BytesIO() + fig.savefig(buf, format='png') + + +def test_long_path(): + buff = io.BytesIO() + fig = Figure() + ax = fig.subplots() + points = np.ones(100_000) + points[::2] *= -1 + ax.plot(points) + fig.savefig(buff, format='png') + + +@image_comparison(['agg_filter.png'], remove_text=True, style='_classic_test') +def test_agg_filter(): + def smooth1d(x, window_len): + # copied from https://scipy-cookbook.readthedocs.io/ + s = np.r_[ + 2*x[0] - x[window_len:1:-1], x, 2*x[-1] - x[-1:-window_len:-1]] + w = np.hanning(window_len) + y = np.convolve(w/w.sum(), s, mode='same') + return y[window_len-1:-window_len+1] + + def smooth2d(A, sigma=3): + window_len = max(int(sigma), 3) * 2 + 1 + A = np.apply_along_axis(smooth1d, 0, A, window_len) + A = np.apply_along_axis(smooth1d, 1, A, window_len) + return A + + class BaseFilter: + + def get_pad(self, dpi): + return 0 + + def process_image(self, padded_src, dpi): + raise NotImplementedError("Should be overridden by subclasses") + + def __call__(self, im, dpi): + pad = self.get_pad(dpi) + padded_src = np.pad(im, [(pad, pad), (pad, pad), (0, 0)], + "constant") + tgt_image = self.process_image(padded_src, dpi) + return tgt_image, -pad, -pad + + class OffsetFilter(BaseFilter): + + def __init__(self, offsets=(0, 0)): + self.offsets = offsets + + def get_pad(self, dpi): + return int(max(self.offsets) / 72 * dpi) + + def process_image(self, padded_src, dpi): + ox, oy = self.offsets + a1 = np.roll(padded_src, int(ox / 72 * dpi), axis=1) + a2 = np.roll(a1, -int(oy / 72 * dpi), axis=0) + return a2 + + class GaussianFilter(BaseFilter): + """Simple Gaussian filter.""" + + def __init__(self, sigma, alpha=0.5, color=(0, 0, 0)): + self.sigma = sigma + self.alpha = alpha + self.color = color + + def get_pad(self, dpi): + return int(self.sigma*3 / 72 * dpi) + + def process_image(self, padded_src, dpi): + tgt_image = np.empty_like(padded_src) + tgt_image[:, :, :3] = self.color + tgt_image[:, :, 3] = smooth2d(padded_src[:, :, 3] * self.alpha, + self.sigma / 72 * dpi) + return tgt_image + + class DropShadowFilter(BaseFilter): + + def __init__(self, sigma, alpha=0.3, color=(0, 0, 0), offsets=(0, 0)): + self.gauss_filter = GaussianFilter(sigma, alpha, color) + self.offset_filter = OffsetFilter(offsets) + + def get_pad(self, dpi): + return max(self.gauss_filter.get_pad(dpi), + self.offset_filter.get_pad(dpi)) + + def process_image(self, padded_src, dpi): + t1 = self.gauss_filter.process_image(padded_src, dpi) + t2 = self.offset_filter.process_image(t1, dpi) + return t2 + + fig, ax = plt.subplots() + + # draw lines + line1, = ax.plot([0.1, 0.5, 0.9], [0.1, 0.9, 0.5], "bo-", + mec="b", mfc="w", lw=5, mew=3, ms=10, label="Line 1") + line2, = ax.plot([0.1, 0.5, 0.9], [0.5, 0.2, 0.7], "ro-", + mec="r", mfc="w", lw=5, mew=3, ms=10, label="Line 1") + + gauss = DropShadowFilter(4) + + for line in [line1, line2]: + + # draw shadows with same lines with slight offset. + xx = line.get_xdata() + yy = line.get_ydata() + shadow, = ax.plot(xx, yy) + shadow.update_from(line) + + # offset transform + transform = mtransforms.offset_copy( + line.get_transform(), fig, x=4.0, y=-6.0, units='points') + shadow.set_transform(transform) + + # adjust zorder of the shadow lines so that it is drawn below the + # original lines + shadow.set_zorder(line.get_zorder() - 0.5) + shadow.set_agg_filter(gauss) + shadow.set_rasterized(True) # to support mixed-mode renderers + + ax.set_xlim(0., 1.) + ax.set_ylim(0., 1.) + + ax.xaxis.set_visible(False) + ax.yaxis.set_visible(False) + + +def test_too_large_image(): + fig = plt.figure(figsize=(300, 2**25)) + buff = io.BytesIO() + with pytest.raises(ValueError): + fig.savefig(buff) + + +def test_chunksize(): + x = range(200) + + # Test without chunksize + fig, ax = plt.subplots() + ax.plot(x, np.sin(x)) + fig.canvas.draw() + + # Test with chunksize + fig, ax = plt.subplots() + rcParams['agg.path.chunksize'] = 105 + ax.plot(x, np.sin(x)) + fig.canvas.draw() + + +@pytest.mark.backend('Agg') +def test_jpeg_dpi(): + # Check that dpi is set correctly in jpg files. + plt.plot([0, 1, 2], [0, 1, 0]) + buf = io.BytesIO() + plt.savefig(buf, format="jpg", dpi=200) + im = Image.open(buf) + assert im.info['dpi'] == (200, 200) + + +def test_pil_kwargs_png(): + from PIL.PngImagePlugin import PngInfo + buf = io.BytesIO() + pnginfo = PngInfo() + pnginfo.add_text("Software", "test") + plt.figure().savefig(buf, format="png", pil_kwargs={"pnginfo": pnginfo}) + im = Image.open(buf) + assert im.info["Software"] == "test" + + +def test_pil_kwargs_tiff(): + buf = io.BytesIO() + pil_kwargs = {"description": "test image"} + plt.figure().savefig(buf, format="tiff", pil_kwargs=pil_kwargs) + im = Image.open(buf) + tags = {TiffTags.TAGS_V2[k].name: v for k, v in im.tag_v2.items()} + assert tags["ImageDescription"] == "test image" + + +@require_pillow_feature('WebP') +def test_pil_kwargs_webp(): + plt.plot([0, 1, 2], [0, 1, 0]) + buf_small = io.BytesIO() + pil_kwargs_low = {"quality": 1} + plt.savefig(buf_small, format="webp", pil_kwargs=pil_kwargs_low) + assert len(pil_kwargs_low) == 1 + buf_large = io.BytesIO() + pil_kwargs_high = {"quality": 100} + plt.savefig(buf_large, format="webp", pil_kwargs=pil_kwargs_high) + assert len(pil_kwargs_high) == 1 + assert buf_large.getbuffer().nbytes > buf_small.getbuffer().nbytes + + +@require_pillow_feature('AVIF') +def test_pil_kwargs_avif(): + plt.plot([0, 1, 2], [0, 1, 0]) + buf_small = io.BytesIO() + pil_kwargs_low = {"quality": 1} + plt.savefig(buf_small, format="avif", pil_kwargs=pil_kwargs_low) + assert len(pil_kwargs_low) == 1 + buf_large = io.BytesIO() + pil_kwargs_high = {"quality": 100} + plt.savefig(buf_large, format="avif", pil_kwargs=pil_kwargs_high) + assert len(pil_kwargs_high) == 1 + assert buf_large.getbuffer().nbytes > buf_small.getbuffer().nbytes + + +def test_gif_no_alpha(): + plt.plot([0, 1, 2], [0, 1, 0]) + buf = io.BytesIO() + plt.savefig(buf, format="gif", transparent=False) + im = Image.open(buf) + assert im.mode == "P" + assert im.info["transparency"] >= len(im.palette.colors) + + +def test_gif_alpha(): + plt.plot([0, 1, 2], [0, 1, 0]) + buf = io.BytesIO() + plt.savefig(buf, format="gif", transparent=True) + im = Image.open(buf) + assert im.mode == "P" + assert im.info["transparency"] < len(im.palette.colors) + + +@require_pillow_feature('WebP') +def test_webp_alpha(): + plt.plot([0, 1, 2], [0, 1, 0]) + buf = io.BytesIO() + plt.savefig(buf, format="webp", transparent=True) + im = Image.open(buf) + assert im.mode == "RGBA" + + +@require_pillow_feature('AVIF') +def test_avif_alpha(): + plt.plot([0, 1, 2], [0, 1, 0]) + buf = io.BytesIO() + plt.savefig(buf, format="avif", transparent=True) + im = Image.open(buf) + assert im.mode == "RGBA" + + +def test_draw_path_collection_error_handling(): + fig, ax = plt.subplots() + ax.scatter([1], [1]).set_paths(Path([(0, 1), (2, 3)])) + with pytest.raises(TypeError): + fig.canvas.draw() + + +def test_chunksize_fails(high_memory): + # NOTE: This test covers multiple independent test scenarios in a single + # function, because each scenario uses ~2GB of memory and we don't + # want parallel test executors to accidentally run multiple of these + # at the same time. + + N = 100_000 + dpi = 500 + w = 5*dpi + h = 6*dpi + + # make a Path that spans the whole w-h rectangle + x = np.linspace(0, w, N) + y = np.ones(N) * h + y[::2] = 0 + path = Path(np.vstack((x, y)).T) + # effectively disable path simplification (but leaving it "on") + path.simplify_threshold = 0 + + # setup the minimal GraphicsContext to draw a Path + ra = RendererAgg(w, h, dpi) + gc = ra.new_gc() + gc.set_linewidth(1) + gc.set_foreground('r') + + gc.set_hatch('/') + with pytest.raises(OverflowError, match='cannot split hatched path'): + ra.draw_path(gc, path, IdentityTransform()) + gc.set_hatch(None) + + with pytest.raises(OverflowError, match='cannot split filled path'): + ra.draw_path(gc, path, IdentityTransform(), (1, 0, 0)) + + # Set to zero to disable, currently defaults to 0, but let's be sure. + with rc_context({'agg.path.chunksize': 0}): + with pytest.raises(OverflowError, match='Please set'): + ra.draw_path(gc, path, IdentityTransform()) + + # Set big enough that we do not try to chunk. + with rc_context({'agg.path.chunksize': 1_000_000}): + with pytest.raises(OverflowError, match='Please reduce'): + ra.draw_path(gc, path, IdentityTransform()) + + # Small enough we will try to chunk, but big enough we will fail to render. + with rc_context({'agg.path.chunksize': 90_000}): + with pytest.raises(OverflowError, match='Please reduce'): + ra.draw_path(gc, path, IdentityTransform()) + + path.should_simplify = False + with pytest.raises(OverflowError, match="should_simplify is False"): + ra.draw_path(gc, path, IdentityTransform()) + + +def test_non_tuple_rgbaface(): + # This passes rgbaFace as an ndarray to draw_path. + fig = plt.figure() + fig.add_subplot(projection="3d").scatter( + [0, 1, 2], [0, 1, 2], path_effects=[patheffects.Stroke(linewidth=4)]) + fig.canvas.draw() + + +def test_rendered_height_floating_point_precision(): + fig = plt.figure(figsize=(1, 2.03), dpi=100) + assert fig.bbox.height < 203 # due to floating-point precision + fig.canvas.draw() + assert fig.canvas.buffer_rgba().shape == (203, 100, 4) diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/test_agg_filter.py b/hug/lib/python3.12/site-packages/matplotlib/tests/test_agg_filter.py new file mode 100644 index 0000000000000000000000000000000000000000..4c5b55a3d15c5827e1521b7676bfc8436e749967 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib/tests/test_agg_filter.py @@ -0,0 +1,30 @@ +import numpy as np + +import matplotlib.pyplot as plt +from matplotlib.testing.decorators import image_comparison + + +@image_comparison(baseline_images=['agg_filter_alpha'], + extensions=['gif', 'png', 'pdf'], style='mpl20') +def test_agg_filter_alpha(): + ax = plt.axes() + x, y = np.mgrid[0:7, 0:8] + data = x**2 - y**2 + mesh = ax.pcolormesh(data, cmap='Reds', zorder=5) + + def manual_alpha(im, dpi): + im[:, :, 3] *= 0.6 + print('CALLED') + return im, 0, 0 + + # Note: Doing alpha like this is not the same as setting alpha on + # the mesh itself. Currently meshes are drawn as independent patches, + # and we see fine borders around the blocks of color. See the SO + # question for an example: https://stackoverflow.com/q/20678817/ + mesh.set_agg_filter(manual_alpha) + + # Currently we must enable rasterization for this to have an effect in + # the PDF backend. + mesh.set_rasterized(True) + + ax.plot([0, 4, 7], [1, 3, 8]) diff --git a/hug/lib/python3.12/site-packages/matplotlib/tests/test_animation.py b/hug/lib/python3.12/site-packages/matplotlib/tests/test_animation.py new file mode 100644 index 0000000000000000000000000000000000000000..9beb025c2a2e3f96cfc6b3efc35cbc93e2aae968 --- /dev/null +++ b/hug/lib/python3.12/site-packages/matplotlib/tests/test_animation.py @@ -0,0 +1,573 @@ +import os +from pathlib import Path +import platform +import re +import shutil +import subprocess +import sys +import weakref + +import numpy as np +import pytest + +import matplotlib as mpl +from matplotlib import pyplot as plt +from matplotlib import animation +from matplotlib.animation import PillowWriter +from matplotlib.testing.decorators import check_figures_equal + + +@pytest.fixture() +def anim(request): + """Create a simple animation (with options).""" + fig, ax = plt.subplots() + line, = ax.plot([], []) + + ax.set_xlim(0, 10) + ax.set_ylim(-1, 1) + + def init(): + line.set_data([], []) + return line, + + def animate(i): + x = np.linspace(0, 10, 100) + y = np.sin(x + i) + line.set_data(x, y) + return line, + + # "klass" can be passed to determine the class returned by the fixture + kwargs = dict(getattr(request, 'param', {})) # make a copy + klass = kwargs.pop('klass', animation.FuncAnimation) + if 'frames' not in kwargs: + kwargs['frames'] = 5 + return klass(fig=fig, func=animate, init_func=init, **kwargs) + + +def test_invalid_writer(): + # Note, this triggers for Animation.save as well, but this is a lighter test. + with pytest.raises(ValueError, + match=r"'pllow' is not a valid value for writer\. " + r"Did you mean: 'pillow'\?"): + animation.writers['pllow'] + + +class NullMovieWriter(animation.AbstractMovieWriter): + """ + A minimal MovieWriter. It doesn't actually write anything. + It just saves the arguments that were given to the setup() and + grab_frame() methods as attributes, and counts how many times + grab_frame() is called. + + This class doesn't have an __init__ method with the appropriate + signature, and it doesn't define an isAvailable() method, so + it cannot be added to the 'writers' registry. + """ + + def setup(self, fig, outfile, dpi, *args): + self.fig = fig + self.outfile = outfile + self.dpi = dpi + self.args = args + self._count = 0 + + def grab_frame(self, **savefig_kwargs): + from matplotlib.animation import _validate_grabframe_kwargs + _validate_grabframe_kwargs(savefig_kwargs) + self.savefig_kwargs = savefig_kwargs + self._count += 1 + + def finish(self): + pass + + +def test_null_movie_writer(anim): + # Test running an animation with NullMovieWriter. + plt.rcParams["savefig.facecolor"] = "auto" + filename = "unused.null" + dpi = 50 + savefig_kwargs = dict(foo=0) + writer = NullMovieWriter() + + anim.save(filename, dpi=dpi, writer=writer, + savefig_kwargs=savefig_kwargs) + + assert writer.fig == plt.figure(1) # The figure used by anim fixture + assert writer.outfile == filename + assert writer.dpi == dpi + assert writer.args == () + # we enrich the savefig kwargs to ensure we composite transparent + # output to an opaque background + for k, v in savefig_kwargs.items(): + assert writer.savefig_kwargs[k] == v + assert writer._count == anim._save_count + + +def test_frame_size(): + # Test that the frame size is the canvas size and not the figure size + fig = plt.figure(figsize=(1, 2.03), dpi=100) + assert fig.bbox.height < 203 # due to floating-point precision + assert fig.canvas.get_width_height() == (100, 203) + + anim = animation.FuncAnimation(fig, lambda frame: tuple(), frames=1) + writer = NullMovieWriter() + anim.save("unused.null", dpi=100, writer=writer) + + assert writer.frame_size == fig.canvas.get_width_height() + + +@pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim']) +def test_animation_delete(anim): + if platform.python_implementation() == 'PyPy': + # Something in the test setup fixture lingers around into the test and + # breaks pytest.warns on PyPy. This garbage collection fixes it. + # https://foss.heptapod.net/pypy/pypy/-/issues/3536 + np.testing.break_cycles() + anim = animation.FuncAnimation(**anim) + with pytest.warns(Warning, match='Animation was deleted'): + del anim + np.testing.break_cycles() + + +def test_movie_writer_dpi_default(): + class DummyMovieWriter(animation.MovieWriter): + def _run(self): + pass + + # Test setting up movie writer with figure.dpi default. + fig = plt.figure() + + filename = "unused.null" + fps = 5 + codec = "unused" + bitrate = 1 + extra_args = ["unused"] + + writer = DummyMovieWriter(fps, codec, bitrate, extra_args) + writer.setup(fig, filename) + assert writer.dpi == fig.dpi + + +@animation.writers.register('null') +class RegisteredNullMovieWriter(NullMovieWriter): + + # To be able to add NullMovieWriter to the 'writers' registry, + # we must define an __init__ method with a specific signature, + # and we must define the class method isAvailable(). + # (These methods are not actually required to use an instance + # of this class as the 'writer' argument of Animation.save().) + + def __init__(self, fps=None, codec=None, bitrate=None, + extra_args=None, metadata=None): + pass + + @classmethod + def isAvailable(cls): + return True + + +WRITER_OUTPUT = [ + ('ffmpeg', 'movie.mp4'), + ('ffmpeg_file', 'movie.mp4'), + ('imagemagick', 'movie.gif'), + ('imagemagick_file', 'movie.gif'), + ('pillow', 'movie.gif'), + ('html', 'movie.html'), + ('null', 'movie.null') +] + + +def gen_writers(): + for writer, output in WRITER_OUTPUT: + if not animation.writers.is_available(writer): + mark = pytest.mark.skip(f"writer '{writer}' not available on this system") + yield pytest.param(writer, None, output, marks=[mark]) + yield pytest.param(writer, None, Path(output), marks=[mark]) + continue + + writer_class = animation.writers[writer] + for frame_format in getattr(writer_class, 'supported_formats', [None]): + yield writer, frame_format, output + yield writer, frame_format, Path(output) + + +# Smoke test for saving animations. In the future, we should probably +# design more sophisticated tests which compare resulting frames a-la +# matplotlib.testing.image_comparison +@pytest.mark.parametrize('writer, frame_format, output', list(gen_writers())) +@pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim']) +def test_save_animation_smoketest(tmp_path, writer, frame_format, output, anim): + if frame_format is not None: + plt.rcParams["animation.frame_format"] = frame_format + anim = animation.FuncAnimation(**anim) + dpi = None + codec = None + if writer == 'ffmpeg': + # Issue #8253 + anim._fig.set_size_inches((10.85, 9.21)) + dpi = 100. + codec = 'h264' + + anim.save(tmp_path / output, fps=30, writer=writer, bitrate=500, dpi=dpi, + codec=codec) + + del anim + + +@pytest.mark.parametrize('writer, frame_format, output', list(gen_writers())) +def test_grabframe(tmp_path, writer, frame_format, output): + WriterClass = animation.writers[writer] + + if frame_format is not None: + plt.rcParams["animation.frame_format"] = frame_format + + fig, ax = plt.subplots() + + dpi = None + codec = None + if writer == 'ffmpeg': + # Issue #8253 + fig.set_size_inches((10.85, 9.21)) + dpi = 100. + codec = 'h264' + + test_writer = WriterClass() + with test_writer.saving(fig, tmp_path / output, dpi): + # smoke test it works + test_writer.grab_frame() + for k in {'dpi', 'bbox_inches', 'format'}: + with pytest.raises( + TypeError, + match=f"grab_frame got an unexpected keyword argument {k!r}"): + test_writer.grab_frame(**{k: object()}) + + +@pytest.mark.parametrize('writer', [ + pytest.param( + 'ffmpeg', marks=pytest.mark.skipif( + not animation.FFMpegWriter.isAvailable(), + reason='Requires FFMpeg')), + pytest.param( + 'imagemagick', marks=pytest.mark.skipif( + not animation.ImageMagickWriter.isAvailable(), + reason='Requires ImageMagick')), +]) +@pytest.mark.parametrize('html, want', [ + ('none', None), + ('html5', '