old htb folders
This commit is contained in:
2023-08-29 21:53:22 +02:00
parent 62ab804867
commit 82b0759f1e
21891 changed files with 6277643 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
CppHeaderParser-2.7.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
CppHeaderParser-2.7.4.dist-info/METADATA,sha256=11RbeV7-lHmESI-C5joEKNhHGjr8xdi4tJREsqBrbMk,68940
CppHeaderParser-2.7.4.dist-info/RECORD,,
CppHeaderParser-2.7.4.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
CppHeaderParser-2.7.4.dist-info/top_level.txt,sha256=4UgsLX-5jn837kgPUwW1c1agkUoMTg1uwAiw1o8F9u4,16
CppHeaderParser/CppHeaderParser.py,sha256=sJy3gCxIYEaJhycv7qcVOVtF0NOtGwdHRQqIgPFBqb0,114941
CppHeaderParser/__init__.py,sha256=GyQ2wTHnG_sNOV9qsfXzpsSR0jIz53bAJvuk_PNXDWA,162
CppHeaderParser/__pycache__/CppHeaderParser.cpython-310.pyc,,
CppHeaderParser/__pycache__/__init__.cpython-310.pyc,,
CppHeaderParser/doc/CppHeaderParser.html,sha256=6f-JZNB6WV136fz_qxjTSVQ2vMvvDSlU9o1TzGyoAko,116701
CppHeaderParser/examples/SampleClass.h,sha256=cTWht9zTXW9rn54a1WzAXT5wUcHRgF-fL0n8H4pVmPI,1154
CppHeaderParser/examples/__pycache__/readSampleClass.cpython-310.pyc,,
CppHeaderParser/examples/readSampleClass.py,sha256=nA1IcADzy69EuduAvkKlKLxNr2XuXa1Id7bz58ZRd-M,2157

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.38.4)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,6 @@
# CppHeaderParser package
# Author: Jashua Cloutier (contact via sourceforge username:senexcanis)
from .CppHeaderParser import *
#__all__ = ['CppHeaderParser']

View File

@@ -0,0 +1,76 @@
#include <vector>
#include <string>
#define DEF_1 1
#define OS_NAME "Linux"
using namespace std;
class SampleClass
{
public:
SampleClass();
/*!
* Method 1
*/
string meth1();
///
/// Method 2 description
///
/// @param v1 Variable 1
///
int meth2(int v1);
/**
* Method 3 description
*
* \param v1 Variable 1
* \param v2 Variable 2
*/
void meth3(const string & v1, vector<string> & v2);
/**********************************
* Method 4 description
*
* @return Return value
*********************************/
unsigned int meth4();
private:
void * meth5(){return NULL};
/// prop1 description
string prop1;
//! prop5 description
int prop5;
};
namespace Alpha
{
class AlphaClass
{
public:
AlphaClass();
void alphaMethod();
string alphaString;
};
namespace Omega
{
class OmegaClass
{
public:
OmegaClass();
string omegaString;
};
};
}
int sampleFreeFunction(int i)
{
return i + 1;
}
int anotherFreeFunction(void);
}

View File

@@ -0,0 +1,63 @@
#!/usr/bin/python
import sys
sys.path = ["../"] + sys.path
import CppHeaderParser
try:
cppHeader = CppHeaderParser.CppHeader("SampleClass.h")
except CppHeaderParser.CppParseError as e:
print(e)
sys.exit(1)
print("CppHeaderParser view of %s"%cppHeader)
sampleClass = cppHeader.classes["SampleClass"]
print("Number of public methods %d"%(len(sampleClass["methods"]["public"])))
print("Number of private properties %d"%(len(sampleClass["properties"]["private"])))
meth3 = [m for m in sampleClass["methods"]["public"] if m["name"] == "meth3"][0] #get meth3
meth3ParamTypes = [t["type"] for t in meth3["parameters"]] #get meth3s parameters
print("Parameter Types for public method meth3 %s"%(meth3ParamTypes))
print("\nReturn type for meth1:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][1]["rtnType"])
print("\nDoxygen for meth2:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][2]["doxygen"])
print("\nParameters for meth3:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][3]["parameters"])
print("\nDoxygen for meth4:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][4]["doxygen"])
print("\nReturn type for meth5:")
print(cppHeader.classes["SampleClass"]["methods"]["private"][0]["rtnType"])
print("\nDoxygen type for prop1:")
print(cppHeader.classes["SampleClass"]["properties"]["private"][0]["doxygen"])
print("\nType for prop5:")
print(cppHeader.classes["SampleClass"]["properties"]["private"][1]["type"])
print("\nNamespace for AlphaClass is:")
print(cppHeader.classes["AlphaClass"]["namespace"])
print("\nReturn type for alphaMethod is:")
print(cppHeader.classes["AlphaClass"]["methods"]["public"][0]["rtnType"])
print("\nNamespace for OmegaClass is:")
print(cppHeader.classes["OmegaClass"]["namespace"])
print("\nType for omegaString is:")
print(cppHeader.classes["AlphaClass"]["properties"]["public"][0]["type"])
print("\nFree functions are:")
for func in cppHeader.functions:
print(" %s"%func["name"])
print("\n#includes are:")
for incl in cppHeader.includes:
print(" %s"%incl)
print("\n#defines are:")
for define in cppHeader.defines:
print(" %s"%define)

View File

@@ -0,0 +1,54 @@
GitPython was originally written by Michael Trier.
GitPython 0.2 was partially (re)written by Sebastian Thiel, based on 0.1.6 and git-dulwich.
Contributors are:
-Michael Trier <mtrier _at_ gmail.com>
-Alan Briolat
-Florian Apolloner <florian _at_ apolloner.eu>
-David Aguilar <davvid _at_ gmail.com>
-Jelmer Vernooij <jelmer _at_ samba.org>
-Steve Frécinaux <code _at_ istique.net>
-Kai Lautaportti <kai _at_ lautaportti.fi>
-Paul Sowden <paul _at_ idontsmoke.co.uk>
-Sebastian Thiel <byronimo _at_ gmail.com>
-Jonathan Chu <jonathan.chu _at_ me.com>
-Vincent Driessen <me _at_ nvie.com>
-Phil Elson <pelson _dot_ pub _at_ gmail.com>
-Bernard `Guyzmo` Pratz <guyzmo+gitpython+pub@m0g.net>
-Timothy B. Hartman <tbhartman _at_ gmail.com>
-Konstantin Popov <konstantin.popov.89 _at_ yandex.ru>
-Peter Jones <pjones _at_ redhat.com>
-Anson Mansfield <anson.mansfield _at_ gmail.com>
-Ken Odegard <ken.odegard _at_ gmail.com>
-Alexis Horgix Chotard
-Piotr Babij <piotr.babij _at_ gmail.com>
-Mikuláš Poul <mikulaspoul _at_ gmail.com>
-Charles Bouchard-Légaré <cblegare.atl _at_ ntis.ca>
-Yaroslav Halchenko <debian _at_ onerussian.com>
-Tim Swast <swast _at_ google.com>
-William Luc Ritchie
-David Host <hostdm _at_ outlook.com>
-A. Jesse Jiryu Davis <jesse _at_ emptysquare.net>
-Steven Whitman <ninloot _at_ gmail.com>
-Stefan Stancu <stefan.stancu _at_ gmail.com>
-César Izurieta <cesar _at_ caih.org>
-Arthur Milchior <arthur _at_ milchior.fr>
-Anil Khatri <anil.soccer.khatri _at_ gmail.com>
-JJ Graham <thetwoj _at_ gmail.com>
-Ben Thayer <ben _at_ benthayer.com>
-Dries Kennes <admin _at_ dries007.net>
-Pratik Anurag <panurag247365 _at_ gmail.com>
-Harmon <harmon.public _at_ gmail.com>
-Liam Beguin <liambeguin _at_ gmail.com>
-Ram Rachum <ram _at_ rachum.com>
-Alba Mendez <me _at_ alba.sh>
-Robert Westman <robert _at_ byteflux.io>
-Hugo van Kemenade
-Hiroki Tokunaga <tokusan441 _at_ gmail.com>
-Julien Mauroy <pro.julien.mauroy _at_ gmail.com>
-Patrick Gerard
-Luke Twist <itsluketwist@gmail.com>
-Joseph Hale <me _at_ jhale.dev>
-Santos Gallegos <stsewd _at_ proton.me>
Portions derived from other open source works and are clearly marked.

View File

@@ -0,0 +1,30 @@
Copyright (C) 2008, 2009 Michael Trier and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the GitPython project nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,33 @@
Metadata-Version: 2.1
Name: GitPython
Version: 3.1.30
Summary: GitPython is a python library used to interact with Git repositories
Home-page: https://github.com/gitpython-developers/GitPython
Author: Sebastian Thiel, Michael Trier
Author-email: byronimo@gmail.com, mtrier@gmail.com
License: BSD
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Typing :: Typed
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: gitdb (<5,>=4.0.1)
Requires-Dist: typing-extensions (>=3.7.4.3) ; python_version < "3.8"
GitPython is a python library used to interact with Git repositories

View File

@@ -0,0 +1,82 @@
GitPython-3.1.30.dist-info/AUTHORS,sha256=0F09KKrRmwH3zJ4gqo1tJMVlalC9bSunDNKlRvR6q2c,2158
GitPython-3.1.30.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
GitPython-3.1.30.dist-info/LICENSE,sha256=_WV__CzvY9JceMq3gI1BTdA6KC5jiTSR_RHDL5i-Z_s,1521
GitPython-3.1.30.dist-info/METADATA,sha256=sfBdL9phnpQUe_vUWoU98Lzf7Ci1wPO_GbXIfJPHnWo,1289
GitPython-3.1.30.dist-info/RECORD,,
GitPython-3.1.30.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
GitPython-3.1.30.dist-info/top_level.txt,sha256=0hzDuIp8obv624V3GmbqsagBWkk8ohtGU-Bc1PmTT0o,4
git/__init__.py,sha256=FvFbZFYaehC7EraP5CWE1LVE2i3i5fsGrwDdcrHjWYc,2342
git/__pycache__/__init__.cpython-310.pyc,,
git/__pycache__/cmd.cpython-310.pyc,,
git/__pycache__/compat.cpython-310.pyc,,
git/__pycache__/config.cpython-310.pyc,,
git/__pycache__/db.cpython-310.pyc,,
git/__pycache__/diff.cpython-310.pyc,,
git/__pycache__/exc.cpython-310.pyc,,
git/__pycache__/remote.cpython-310.pyc,,
git/__pycache__/types.cpython-310.pyc,,
git/__pycache__/util.cpython-310.pyc,,
git/cmd.py,sha256=giSgsNT1hqaOUkrvs_FCEchaDph_OQnBMmgRjhoG--s,53745
git/compat.py,sha256=3wWLkD9QrZvLiV6NtNxJILwGrLE2nw_SoLqaTEPH364,2256
git/config.py,sha256=OBczU5iAqalA8pMXmBF9zqeHjmo-yikppNqQwS_kO1M,34553
git/db.py,sha256=dEs2Bn-iDuHyero9afw8mrXHrLE7_CDExv943iWU9WI,2244
git/diff.py,sha256=-ZjBAja7Unmddu5ErIWkHJ9grEGeFu9fwOTxSL4PhGg,23310
git/exc.py,sha256=ys5ZYuvzvNN3TfcB5R_bUNRy3OEvURS5pJMdfy0Iws4,6446
git/index/__init__.py,sha256=43ovvVNocVRNiQd4fLqvUMuGGmwhBQ9SsiQ46vkvk1E,89
git/index/__pycache__/__init__.cpython-310.pyc,,
git/index/__pycache__/base.cpython-310.pyc,,
git/index/__pycache__/fun.cpython-310.pyc,,
git/index/__pycache__/typ.cpython-310.pyc,,
git/index/__pycache__/util.cpython-310.pyc,,
git/index/base.py,sha256=3o8bp4WcHa1eWfr_VNIU6Hh5uSzbN8mMOxMt2FWUxew,57519
git/index/fun.py,sha256=wL9DqjGKEdslU-2y0xjHXN_AexB8cKA19qhYizH-XB0,16395
git/index/typ.py,sha256=QnyWeqzU7_xnyiwOki5W633Jp9g5COqEf6B4PeW3hK8,6252
git/index/util.py,sha256=ISsWZjGiflooNr6XtElP4AhWUxQOakouvgeXC2PEepI,3475
git/objects/__init__.py,sha256=NW8HBfdZvBYe9W6IjMWafSj_DVlV2REmmrpWKrHkGVw,692
git/objects/__pycache__/__init__.cpython-310.pyc,,
git/objects/__pycache__/base.cpython-310.pyc,,
git/objects/__pycache__/blob.cpython-310.pyc,,
git/objects/__pycache__/commit.cpython-310.pyc,,
git/objects/__pycache__/fun.cpython-310.pyc,,
git/objects/__pycache__/tag.cpython-310.pyc,,
git/objects/__pycache__/tree.cpython-310.pyc,,
git/objects/__pycache__/util.cpython-310.pyc,,
git/objects/base.py,sha256=2sxMJgc-GKuWpKfiQIvlrrB7fWmEqIHZqJBXj7D2kKg,7856
git/objects/blob.py,sha256=FIbZTYniJ7nLsdrHuwhagFVs9tYoUIyXodRaHYLaQqs,986
git/objects/commit.py,sha256=vDQhBP1job-2C3dyHJM-y4d7vWOXnXuz0dxLlucdBjw,27270
git/objects/fun.py,sha256=JaiYEn8OOyBWo0u8vZ4jqVpe2Tn6w8usmbaKUYOOd5o,8610
git/objects/submodule/__init__.py,sha256=OsMeiex7cG6ev2f35IaJ5csH-eXchSoNKCt4HXUG5Ws,93
git/objects/submodule/__pycache__/__init__.cpython-310.pyc,,
git/objects/submodule/__pycache__/base.cpython-310.pyc,,
git/objects/submodule/__pycache__/root.cpython-310.pyc,,
git/objects/submodule/__pycache__/util.cpython-310.pyc,,
git/objects/submodule/base.py,sha256=GFgU8M0p-ojAqHsfWJ7_VMx23JE0FKaZdqW7SESYyNA,61023
git/objects/submodule/root.py,sha256=Ev_RnGzv4hi3UqEFMHuSR-uGR7kYpwOgwZFUG31X-Hc,19568
git/objects/submodule/util.py,sha256=u2zQGFWBmryqET0XWf9BuiY1OOgWB8YCU3Wz0xdp4E4,3380
git/objects/tag.py,sha256=ZXOLK_lV9E5G2aDl5t0hYDN2hhIhGF23HILHBnZgRX0,3840
git/objects/tree.py,sha256=kGgSnOIc9UhjPMUmTghc4yxxB9_1wdjeApEKWundvyQ,14228
git/objects/util.py,sha256=2rJhOrBgr_cXwE3-0AIKP3KrvJUMaztswEVvvv-meH4,22234
git/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
git/refs/__init__.py,sha256=PMF97jMUcivbCCEJnl2zTs-YtECNFp8rL8GHK8AitXU,203
git/refs/__pycache__/__init__.cpython-310.pyc,,
git/refs/__pycache__/head.cpython-310.pyc,,
git/refs/__pycache__/log.cpython-310.pyc,,
git/refs/__pycache__/reference.cpython-310.pyc,,
git/refs/__pycache__/remote.cpython-310.pyc,,
git/refs/__pycache__/symbolic.cpython-310.pyc,,
git/refs/__pycache__/tag.cpython-310.pyc,,
git/refs/head.py,sha256=rZ4LbFd05Gs9sAuSU5VQRDmJZfrwMwWtBpLlmiUQ-Zg,9756
git/refs/log.py,sha256=N8C00wvCoERgll8FPvAgPjrIi-nJLGWPAy3ctBnDCEM,11890
git/refs/reference.py,sha256=mKGI3YEoLPLbOdn8nX4XuRbFfE4zRBnJOET-dculg18,5413
git/refs/remote.py,sha256=E63Bh5ig1GYrk6FE46iNtS5P6ZgODyPXot8eJw-mxts,2556
git/refs/symbolic.py,sha256=XwfeYr1Zp-fuHAoGuVAXKk4EYlsuUMVu99OjJWuWDTQ,29967
git/refs/tag.py,sha256=FNoCZ3BdDl2i5kD3si2P9hoXU9rDAZ_YK0Rn84TmKT8,4419
git/remote.py,sha256=IUducN9ldq4zAdhbpgD3bAP61jZYviimkpllt9UlHIM,44276
git/repo/__init__.py,sha256=XMpdeowJRtTEd80jAcrKSQfMu2JZGMfPlpuIYHG2ZCk,80
git/repo/__pycache__/__init__.cpython-310.pyc,,
git/repo/__pycache__/base.cpython-310.pyc,,
git/repo/__pycache__/fun.cpython-310.pyc,,
git/repo/base.py,sha256=Z-iSc2iq3sV30MUj9tUSmcpp2Yg_WW0J-CoipwtqaCM,54313
git/repo/fun.py,sha256=7ZERvwfKFJV7lpP-EROwc_QffBKu3jZmpnDIrGCgAjE,12929
git/types.py,sha256=bA4El-NC7YNwQ9jNtkbWgT0QmmAfVs4PVSwBOE_D1Bo,3020
git/util.py,sha256=Szo7d9uXJB0ql-x9paWYmt7KQR5ZmLxe0Tsf0R_ZEB4,39858

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.37.0)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,19 @@
Copyright 2006-2022 the Mako authors and contributors <see AUTHORS file>.
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.

View File

@@ -0,0 +1,87 @@
Metadata-Version: 2.1
Name: Mako
Version: 1.2.4
Summary: A super-fast templating language that borrows the best ideas from the existing templating languages.
Home-page: https://www.makotemplates.org/
Author: Mike Bayer
Author-email: mike@zzzcomputing.com
License: MIT
Project-URL: Documentation, https://docs.makotemplates.org
Project-URL: Issue Tracker, https://github.com/sqlalchemy/mako
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: MarkupSafe (>=0.9.2)
Requires-Dist: importlib-metadata ; python_version < "3.8"
Provides-Extra: babel
Requires-Dist: Babel ; extra == 'babel'
Provides-Extra: lingua
Requires-Dist: lingua ; extra == 'lingua'
Provides-Extra: testing
Requires-Dist: pytest ; extra == 'testing'
=========================
Mako Templates for Python
=========================
Mako is a template library written in Python. It provides a familiar, non-XML
syntax which compiles into Python modules for maximum performance. Mako's
syntax and API borrows from the best ideas of many others, including Django
templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded
Python (i.e. Python Server Page) language, which refines the familiar ideas
of componentized layout and inheritance to produce one of the most
straightforward and flexible models available, while also maintaining close
ties to Python calling and scoping semantics.
Nutshell
========
::
<%inherit file="base.html"/>
<%
rows = [[v for v in range(0,10)] for row in range(0,10)]
%>
<table>
% for row in rows:
${makerow(row)}
% endfor
</table>
<%def name="makerow(row)">
<tr>
% for name in row:
<td>${name}</td>\
% endfor
</tr>
</%def>
Philosophy
===========
Python is a great scripting language. Don't reinvent the wheel...your templates can handle it !
Documentation
==============
See documentation for Mako at https://docs.makotemplates.org/en/latest/
License
========
Mako is licensed under an MIT-style license (see LICENSE).
Other incorporated projects may be licensed under different licenses.
All licenses allow for non-commercial and commercial use.

View File

@@ -0,0 +1,74 @@
../../../bin/mako-render,sha256=zTTSNeWtD8ZdV8y0mg1zNf0a59Ge6QDg5kHwFfRBls8,299
Mako-1.2.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
Mako-1.2.4.dist-info/LICENSE,sha256=dg8is-nqSlDrmSAb2N0RiGnygQjPtkzM5tGzBc-a6fo,1098
Mako-1.2.4.dist-info/METADATA,sha256=MlPkZcQ5bASEMtzkRaH8aRSQE6gmLH3KTnASUawz6eA,2909
Mako-1.2.4.dist-info/RECORD,,
Mako-1.2.4.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
Mako-1.2.4.dist-info/entry_points.txt,sha256=LsKkUsOsJQYbJ2M72hZCm968wi5K8Ywb5uFxCuN8Obk,512
Mako-1.2.4.dist-info/top_level.txt,sha256=LItdH8cDPetpUu8rUyBG3DObS6h9Gcpr9j_WLj2S-R0,5
mako/__init__.py,sha256=R1cQoVGhYA-fl43kNSPKm6kzdJOs28e8sq8WYMHctMQ,242
mako/__pycache__/__init__.cpython-310.pyc,,
mako/__pycache__/_ast_util.cpython-310.pyc,,
mako/__pycache__/ast.cpython-310.pyc,,
mako/__pycache__/cache.cpython-310.pyc,,
mako/__pycache__/cmd.cpython-310.pyc,,
mako/__pycache__/codegen.cpython-310.pyc,,
mako/__pycache__/compat.cpython-310.pyc,,
mako/__pycache__/exceptions.cpython-310.pyc,,
mako/__pycache__/filters.cpython-310.pyc,,
mako/__pycache__/lexer.cpython-310.pyc,,
mako/__pycache__/lookup.cpython-310.pyc,,
mako/__pycache__/parsetree.cpython-310.pyc,,
mako/__pycache__/pygen.cpython-310.pyc,,
mako/__pycache__/pyparser.cpython-310.pyc,,
mako/__pycache__/runtime.cpython-310.pyc,,
mako/__pycache__/template.cpython-310.pyc,,
mako/__pycache__/util.cpython-310.pyc,,
mako/_ast_util.py,sha256=BcwJLuE4E-aiFXi_fanO378Cn3Ou03bJxc6Incjse4Y,20247
mako/ast.py,sha256=h07xBpz2l19RSwpejrhkhgB4r5efpwGmsYOy_L8xvUc,6642
mako/cache.py,sha256=jkspun9tLgu0IVKSmo_fkL_DAbSTl2P5a5zkMBkjZvk,7680
mako/cmd.py,sha256=vQg9ip89KMsuZEGamCRAPg7UyDNlpMmnG3XHDNLHS5o,2814
mako/codegen.py,sha256=h1z8DGLkB92nbUz2OZGVmUKqPr9kVNbnNL8KnLizYAk,47309
mako/compat.py,sha256=Sa3Rzrjl44xo25nXUHbhfIrEoMgceq5-Ohl0FO6cCHk,1913
mako/exceptions.py,sha256=xQZKYdb-4d8rcrNFsFzjGSEuNG4upFqGNPErtSCDqfI,12530
mako/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
mako/ext/__pycache__/__init__.cpython-310.pyc,,
mako/ext/__pycache__/autohandler.cpython-310.pyc,,
mako/ext/__pycache__/babelplugin.cpython-310.pyc,,
mako/ext/__pycache__/beaker_cache.cpython-310.pyc,,
mako/ext/__pycache__/extract.cpython-310.pyc,,
mako/ext/__pycache__/linguaplugin.cpython-310.pyc,,
mako/ext/__pycache__/preprocessors.cpython-310.pyc,,
mako/ext/__pycache__/pygmentplugin.cpython-310.pyc,,
mako/ext/__pycache__/turbogears.cpython-310.pyc,,
mako/ext/autohandler.py,sha256=-hNv4VHbQplLGDt5e4mFsBC-QpfWMjKokOe0axDP308,1885
mako/ext/babelplugin.py,sha256=s6ZIAh1hUhsJIiF3j4soVHrFN_1cRJ_e3sEbz7ein7k,2091
mako/ext/beaker_cache.py,sha256=D6gh_ke7QOKiSJtq9v67RvmqCRMDJx-IwTcd-NDjKvk,2578
mako/ext/extract.py,sha256=EhXglj2eW5u80T3xWWB7jMgL8oNDfAQaD5E5IRiL9N0,4659
mako/ext/linguaplugin.py,sha256=iLip2gZ0ya5pooHrxwZrP8VFQfJidXmgPZ5h1j30Kow,1935
mako/ext/preprocessors.py,sha256=pEUbmfSO2zb4DuCt_-_oYnWypWiXs4MnJHxjTMiks5A,576
mako/ext/pygmentplugin.py,sha256=GuOd93TjetzpTfW5oUEtuPS7jKDHgJIH3Faiaq76S0c,4753
mako/ext/turbogears.py,sha256=mxFDF59NFK6cm__3qwGjZ1VAW0qdjJWNj23l6dcwqEg,2141
mako/filters.py,sha256=rlHJ2L5RFr5Gf-MyOJKZI7TSJpM5oBXH58niJWCp2-4,4658
mako/lexer.py,sha256=GOHNLeSlTIEa_yV8W5Qr27SjaPlJcO0Kij7Z2rpUkCA,15982
mako/lookup.py,sha256=_2VPSA2CgCiT0Vd9GnSIjyY5wlpXiB2C5luXJP7gym8,12429
mako/parsetree.py,sha256=pXbZP0orsT3iBIgWa9yD1TEfvytsCaXu2Ttws8RTMGM,19007
mako/pygen.py,sha256=K-l_hsvXfWdMTunfHyVxvA5EG4Uzr4Qaw6IUc3hw8zI,10416
mako/pyparser.py,sha256=diSXgo-ZwdZxbRsNZ1DmARQKVnlOFc6Qgx9Dc3wZB_U,7032
mako/runtime.py,sha256=MwO5T1rGy0yLeJiFh2hh5cO_kfd5_9fJq_vfBzLFe_0,27806
mako/template.py,sha256=gEhMPjKZ1Q_sYWWg6PLnRX-KBeTF0kBnyRZimlmgQks,23858
mako/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
mako/testing/__pycache__/__init__.cpython-310.pyc,,
mako/testing/__pycache__/_config.cpython-310.pyc,,
mako/testing/__pycache__/assertions.cpython-310.pyc,,
mako/testing/__pycache__/config.cpython-310.pyc,,
mako/testing/__pycache__/exclusions.cpython-310.pyc,,
mako/testing/__pycache__/fixtures.cpython-310.pyc,,
mako/testing/__pycache__/helpers.cpython-310.pyc,,
mako/testing/_config.py,sha256=k-qpnsnbXUoN-ykMN5BRpg84i1x0p6UsAddKQnrIytU,3566
mako/testing/assertions.py,sha256=XnYDPSnDFiEX9eO95OZ5LndZrUpJ6_xGofe6qDzJxqU,5162
mako/testing/config.py,sha256=wmYVZfzGvOK3mJUZpzmgO8-iIgvaCH41Woi4yDpxq6E,323
mako/testing/exclusions.py,sha256=_t6ADKdatk3f18tOfHV_ZY6u_ZwQsKphZ2MXJVSAOcI,1553
mako/testing/fixtures.py,sha256=nEp7wTusf7E0n3Q-BHJW2s_t1vx0KB9poadQ1BmIJzE,3044
mako/testing/helpers.py,sha256=kTaIg8OL1uvcuLptbRA_aJtGndIDDaxAzacYbv_Km1Q,1521
mako/util.py,sha256=XmYQmq6WfMAt-BPM7zhT9lybEqHVIWCM9wF1ukzqpew,10638

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.38.4)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,18 @@
[babel.extractors]
mako = mako.ext.babelplugin:extract [babel]
[console_scripts]
mako-render = mako.cmd:cmdline
[lingua.extractors]
mako = mako.ext.linguaplugin:LinguaMakoExtractor [lingua]
[pygments.lexers]
css+mako = mako.ext.pygmentplugin:MakoCssLexer
html+mako = mako.ext.pygmentplugin:MakoHtmlLexer
js+mako = mako.ext.pygmentplugin:MakoJavascriptLexer
mako = mako.ext.pygmentplugin:MakoLexer
xml+mako = mako.ext.pygmentplugin:MakoXmlLexer
[python.templating.engines]
mako = mako.ext.turbogears:TGPlugin

View File

@@ -0,0 +1,28 @@
Copyright 2010 Pallets
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,98 @@
Metadata-Version: 2.1
Name: MarkupSafe
Version: 2.1.2
Summary: Safely add untrusted strings to HTML/XML markup.
Home-page: https://palletsprojects.com/p/markupsafe/
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
Maintainer: Pallets
Maintainer-email: contact@palletsprojects.com
License: BSD-3-Clause
Project-URL: Donate, https://palletsprojects.com/donate
Project-URL: Documentation, https://markupsafe.palletsprojects.com/
Project-URL: Changes, https://markupsafe.palletsprojects.com/changes/
Project-URL: Source Code, https://github.com/pallets/markupsafe/
Project-URL: Issue Tracker, https://github.com/pallets/markupsafe/issues/
Project-URL: Twitter, https://twitter.com/PalletsTeam
Project-URL: Chat, https://discord.gg/pallets
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Text Processing :: Markup :: HTML
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE.rst
MarkupSafe
==========
MarkupSafe implements a text object that escapes characters so it is
safe to use in HTML and XML. Characters that have special meanings are
replaced so that they display as the actual characters. This mitigates
injection attacks, meaning untrusted user input can safely be displayed
on a page.
Installing
----------
Install and update using `pip`_:
.. code-block:: text
pip install -U MarkupSafe
.. _pip: https://pip.pypa.io/en/stable/getting-started/
Examples
--------
.. code-block:: pycon
>>> from markupsafe import Markup, escape
>>> # escape replaces special characters and wraps in Markup
>>> escape("<script>alert(document.cookie);</script>")
Markup('&lt;script&gt;alert(document.cookie);&lt;/script&gt;')
>>> # wrap in Markup to mark text "safe" and prevent escaping
>>> Markup("<strong>Hello</strong>")
Markup('<strong>hello</strong>')
>>> escape(Markup("<strong>Hello</strong>"))
Markup('<strong>hello</strong>')
>>> # Markup is a str subclass
>>> # methods and operators escape their arguments
>>> template = Markup("Hello <em>{name}</em>")
>>> template.format(name='"World"')
Markup('Hello <em>&#34;World&#34;</em>')
Donate
------
The Pallets organization develops and supports MarkupSafe and other
popular packages. In order to grow the community of contributors and
users, and allow the maintainers to devote more time to the projects,
`please donate today`_.
.. _please donate today: https://palletsprojects.com/donate
Links
-----
- Documentation: https://markupsafe.palletsprojects.com/
- Changes: https://markupsafe.palletsprojects.com/changes/
- PyPI Releases: https://pypi.org/project/MarkupSafe/
- Source Code: https://github.com/pallets/markupsafe/
- Issue Tracker: https://github.com/pallets/markupsafe/issues/
- Website: https://palletsprojects.com/p/markupsafe/
- Twitter: https://twitter.com/PalletsTeam
- Chat: https://discord.gg/pallets

View File

@@ -0,0 +1,14 @@
MarkupSafe-2.1.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
MarkupSafe-2.1.2.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475
MarkupSafe-2.1.2.dist-info/METADATA,sha256=jPw4iOiZg6adxZ5bdvjZapeNmPMINMGG2q2v2rI4SqA,3222
MarkupSafe-2.1.2.dist-info/RECORD,,
MarkupSafe-2.1.2.dist-info/WHEEL,sha256=nKSwEH5fkxvG0Vdj1Hx7vbuU-SGQ9Nxl4yFFsCilvhs,152
MarkupSafe-2.1.2.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11
markupsafe/__init__.py,sha256=LtjnhQ6AHmAgHl37cev2oQBXjr4xOF-QhdXgsCAL3-0,9306
markupsafe/__pycache__/__init__.cpython-310.pyc,,
markupsafe/__pycache__/_native.cpython-310.pyc,,
markupsafe/_native.py,sha256=GR86Qvo_GcgKmKreA1WmYN9ud17OFwkww8E-fiW-57s,1713
markupsafe/_speedups.c,sha256=X2XvQVtIdcK4Usz70BvkzoOfjTCmQlDkkjYSn-swE0g,7083
markupsafe/_speedups.cpython-310-x86_64-linux-gnu.so,sha256=q-R5Dmz4M_YwGSuHfu7tfTtFXHsYo1-TXTZq9OLxXa0,44232
markupsafe/_speedups.pyi,sha256=vfMCsOgbAXRNLUXkyuyonG8uEWKYU4PDqNuMaDELAYw,229
markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0

View File

@@ -0,0 +1,6 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.38.4)
Root-Is-Purelib: false
Tag: cp310-cp310-manylinux_2_17_x86_64
Tag: cp310-cp310-manylinux2014_x86_64

View File

@@ -0,0 +1,174 @@
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.

View File

@@ -0,0 +1,245 @@
Metadata-Version: 2.1
Name: PyNaCl
Version: 1.5.0
Summary: Python binding to the Networking and Cryptography (NaCl) library
Home-page: https://github.com/pyca/pynacl/
Author: The PyNaCl developers
Author-email: cryptography-dev@python.org
License: Apache License 2.0
Platform: UNKNOWN
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.6
Requires-Dist: cffi (>=1.4.1)
Provides-Extra: docs
Requires-Dist: sphinx (>=1.6.5) ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme ; extra == 'docs'
Provides-Extra: tests
Requires-Dist: pytest (!=3.3.0,>=3.2.1) ; extra == 'tests'
Requires-Dist: hypothesis (>=3.27.0) ; extra == 'tests'
===============================================
PyNaCl: Python binding to the libsodium library
===============================================
.. image:: https://img.shields.io/pypi/v/pynacl.svg
:target: https://pypi.org/project/PyNaCl/
:alt: Latest Version
.. image:: https://codecov.io/github/pyca/pynacl/coverage.svg?branch=main
:target: https://codecov.io/github/pyca/pynacl?branch=main
.. image:: https://img.shields.io/pypi/pyversions/pynacl.svg
:target: https://pypi.org/project/PyNaCl/
:alt: Compatible Python Versions
PyNaCl is a Python binding to `libsodium`_, which is a fork of the
`Networking and Cryptography library`_. These libraries have a stated goal of
improving usability, security and speed. It supports Python 3.6+ as well as
PyPy 3.
.. _libsodium: https://github.com/jedisct1/libsodium
.. _Networking and Cryptography library: https://nacl.cr.yp.to/
Features
--------
* Digital signatures
* Secret-key encryption
* Public-key encryption
* Hashing and message authentication
* Password based key derivation and password hashing
`Changelog`_
------------
.. _Changelog: https://pynacl.readthedocs.io/en/stable/changelog/
Installation
============
Binary wheel install
--------------------
PyNaCl ships as a binary wheel on macOS, Windows and Linux ``manylinux1`` [#many]_ ,
so all dependencies are included. Make sure you have an up-to-date pip
and run:
.. code-block:: console
$ pip install pynacl
Faster wheel build
------------------
You can define the environment variable ``LIBSODIUM_MAKE_ARGS`` to pass arguments to ``make``
and enable `parallelization`_:
.. code-block:: console
$ LIBSODIUM_MAKE_ARGS=-j4 pip install pynacl
Linux source build
------------------
PyNaCl relies on `libsodium`_, a portable C library. A copy is bundled
with PyNaCl so to install you can run:
.. code-block:: console
$ pip install pynacl
If you'd prefer to use the version of ``libsodium`` provided by your
distribution, you can disable the bundled copy during install by running:
.. code-block:: console
$ SODIUM_INSTALL=system pip install pynacl
.. warning:: Usage of the legacy ``easy_install`` command provided by setuptools
is generally discouraged, and is completely unsupported in PyNaCl's case.
.. _parallelization: https://www.gnu.org/software/make/manual/html_node/Parallel.html
.. _libsodium: https://github.com/jedisct1/libsodium
.. [#many] `manylinux1 wheels <https://www.python.org/dev/peps/pep-0513/>`_
are built on a baseline linux environment based on Centos 5.11
and should work on most x86 and x86_64 glibc based linux environments.
Changelog
=========
1.5.0 (2022-01-07)
------------------
* **BACKWARDS INCOMPATIBLE:** Removed support for Python 2.7 and Python 3.5.
* **BACKWARDS INCOMPATIBLE:** We no longer distribute ``manylinux1``
wheels.
* Added ``manylinux2014``, ``manylinux_2_24``, ``musllinux``, and macOS
``universal2`` wheels (the latter supports macOS ``arm64``).
* Update ``libsodium`` to 1.0.18-stable (July 25, 2021 release).
* Add inline type hints.
1.4.0 (2020-05-25)
------------------
* Update ``libsodium`` to 1.0.18.
* **BACKWARDS INCOMPATIBLE:** We no longer distribute 32-bit ``manylinux1``
wheels. Continuing to produce them was a maintenance burden.
* Added support for Python 3.8, and removed support for Python 3.4.
* Add low level bindings for extracting the seed and the public key
from crypto_sign_ed25519 secret key
* Add low level bindings for deterministic random generation.
* Add ``wheel`` and ``setuptools`` setup_requirements in ``setup.py`` (#485)
* Fix checks on very slow builders (#481, #495)
* Add low-level bindings to ed25519 arithmetic functions
* Update low-level blake2b state implementation
* Fix wrong short-input behavior of SealedBox.decrypt() (#517)
* Raise CryptPrefixError exception instead of InvalidkeyError when trying
to check a password against a verifier stored in a unknown format (#519)
* Add support for minimal builds of libsodium. Trying to call functions
not available in a minimal build will raise an UnavailableError
exception. To compile a minimal build of the bundled libsodium, set
the SODIUM_INSTALL_MINIMAL environment variable to any non-empty
string (e.g. ``SODIUM_INSTALL_MINIMAL=1``) for setup.
1.3.0 2018-09-26
----------------
* Added support for Python 3.7.
* Update ``libsodium`` to 1.0.16.
* Run and test all code examples in PyNaCl docs through sphinx's
doctest builder.
* Add low-level bindings for chacha20-poly1305 AEAD constructions.
* Add low-level bindings for the chacha20-poly1305 secretstream constructions.
* Add low-level bindings for ed25519ph pre-hashed signing construction.
* Add low-level bindings for constant-time increment and addition
on fixed-precision big integers represented as little-endian
byte sequences.
* Add low-level bindings for the ISO/IEC 7816-4 compatible padding API.
* Add low-level bindings for libsodium's crypto_kx... key exchange
construction.
* Set hypothesis deadline to None in tests/test_pwhash.py to avoid
incorrect test failures on slower processor architectures. GitHub
issue #370
1.2.1 - 2017-12-04
------------------
* Update hypothesis minimum allowed version.
* Infrastructure: add proper configuration for readthedocs builder
runtime environment.
1.2.0 - 2017-11-01
------------------
* Update ``libsodium`` to 1.0.15.
* Infrastructure: add jenkins support for automatic build of
``manylinux1`` binary wheels
* Added support for ``SealedBox`` construction.
* Added support for ``argon2i`` and ``argon2id`` password hashing constructs
and restructured high-level password hashing implementation to expose
the same interface for all hashers.
* Added support for 128 bit ``siphashx24`` variant of ``siphash24``.
* Added support for ``from_seed`` APIs for X25519 keypair generation.
* Dropped support for Python 3.3.
1.1.2 - 2017-03-31
------------------
* reorder link time library search path when using bundled
libsodium
1.1.1 - 2017-03-15
------------------
* Fixed a circular import bug in ``nacl.utils``.
1.1.0 - 2017-03-14
------------------
* Dropped support for Python 2.6.
* Added ``shared_key()`` method on ``Box``.
* You can now pass ``None`` to ``nonce`` when encrypting with ``Box`` or
``SecretBox`` and it will automatically generate a random nonce.
* Added support for ``siphash24``.
* Added support for ``blake2b``.
* Added support for ``scrypt``.
* Update ``libsodium`` to 1.0.11.
* Default to the bundled ``libsodium`` when compiling.
* All raised exceptions are defined mixing-in
``nacl.exceptions.CryptoError``
1.0.1 - 2016-01-24
------------------
* Fix an issue with absolute paths that prevented the creation of wheels.
1.0 - 2016-01-23
----------------
* PyNaCl has been ported to use the new APIs available in cffi 1.0+.
Due to this change we no longer support PyPy releases older than 2.6.
* Python 3.2 support has been dropped.
* Functions to convert between Ed25519 and Curve25519 keys have been added.
0.3.0 - 2015-03-04
------------------
* The low-level API (`nacl.c.*`) has been changed to match the
upstream NaCl C/C++ conventions (as well as those of other NaCl bindings).
The order of arguments and return values has changed significantly. To
avoid silent failures, `nacl.c` has been removed, and replaced with
`nacl.bindings` (with the new argument ordering). If you have code which
calls these functions (e.g. `nacl.c.crypto_box_keypair()`), you must review
the new docstrings and update your code/imports to match the new
conventions.

View File

@@ -0,0 +1,68 @@
PyNaCl-1.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
PyNaCl-1.5.0.dist-info/LICENSE,sha256=0xdK1j5yHUydzLitQyCEiZLTFDabxGMZcgtYAskVP-k,9694
PyNaCl-1.5.0.dist-info/METADATA,sha256=OJaXCiHgNRywLY9cj3X2euddUPZ4dnyyqAQMU01X4j0,8634
PyNaCl-1.5.0.dist-info/RECORD,,
PyNaCl-1.5.0.dist-info/WHEEL,sha256=TIQeZFe3DwXBO5UGlCH1aKpf5Cx6FJLbIUqd-Sq2juI,185
PyNaCl-1.5.0.dist-info/top_level.txt,sha256=wfdEOI_G2RIzmzsMyhpqP17HUh6Jcqi99to9aHLEslo,13
nacl/__init__.py,sha256=0IUunzBT8_Jn0DUdHacBExOYeAEMggo8slkfjo7O0XM,1116
nacl/__pycache__/__init__.cpython-310.pyc,,
nacl/__pycache__/encoding.cpython-310.pyc,,
nacl/__pycache__/exceptions.cpython-310.pyc,,
nacl/__pycache__/hash.cpython-310.pyc,,
nacl/__pycache__/hashlib.cpython-310.pyc,,
nacl/__pycache__/public.cpython-310.pyc,,
nacl/__pycache__/secret.cpython-310.pyc,,
nacl/__pycache__/signing.cpython-310.pyc,,
nacl/__pycache__/utils.cpython-310.pyc,,
nacl/_sodium.abi3.so,sha256=uJ6RwSnbb9wO4esR0bVUqrfFHtBOGm34IQIdmaE1fGY,2740136
nacl/bindings/__init__.py,sha256=BDlStrds2EuUS4swOL4pnf92PWVS_CHRCptX3KhEX-s,16997
nacl/bindings/__pycache__/__init__.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_aead.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_box.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_core.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_generichash.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_hash.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_kx.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_pwhash.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_scalarmult.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_secretbox.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_secretstream.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_shorthash.cpython-310.pyc,,
nacl/bindings/__pycache__/crypto_sign.cpython-310.pyc,,
nacl/bindings/__pycache__/randombytes.cpython-310.pyc,,
nacl/bindings/__pycache__/sodium_core.cpython-310.pyc,,
nacl/bindings/__pycache__/utils.cpython-310.pyc,,
nacl/bindings/crypto_aead.py,sha256=BIw1k_JCfr5ylZk0RF5rCFIM1fhfLkEa-aiWkrfffNE,15597
nacl/bindings/crypto_box.py,sha256=Ox0NG2t4MsGhBAa7Kgah4o0gc99ULMsqkdX56ofOouY,10139
nacl/bindings/crypto_core.py,sha256=6u9G3y7H-QrawO785UkFFFtwDoCkeHE63GOUl9p5-eA,13736
nacl/bindings/crypto_generichash.py,sha256=9mX0DGIIzicr-uXrqFM1nU4tirasbixDwbcdfV7W1fc,8852
nacl/bindings/crypto_hash.py,sha256=Rg1rsEwE3azhsQT-dNVPA4NB9VogJAKn1EfxYt0pPe0,2175
nacl/bindings/crypto_kx.py,sha256=oZNVlNgROpHOa1XQ_uZe0tqIkdfuApeJlRnwR23_74k,6723
nacl/bindings/crypto_pwhash.py,sha256=laVDo4xFUuGyEjtZAU510AklBF6ablBy7Z3HN1WDYjY,18848
nacl/bindings/crypto_scalarmult.py,sha256=_DX-mst2uCnzjo6fP5HRTnhv1BC95B9gmJc3L_or16g,8244
nacl/bindings/crypto_secretbox.py,sha256=KgZ1VvkCJDlQ85jtfe9c02VofPvuEgZEhWni-aX3MsM,2914
nacl/bindings/crypto_secretstream.py,sha256=G0FgZS01qA5RzWzm5Bdms8Yy_lvgdZDoUYYBActPmvQ,11165
nacl/bindings/crypto_shorthash.py,sha256=PQU7djHTLDGdVs-w_TsivjFHHp5EK5k2Yh6p-6z0T60,2603
nacl/bindings/crypto_sign.py,sha256=53j2im9E4F79qT_2U8IfCAc3lzg0VMwEjvAPEUccVDg,10342
nacl/bindings/randombytes.py,sha256=uBK3W4WcjgnjZdWanrX0fjYZpr9KHbBgNMl9rui-Ojc,1563
nacl/bindings/sodium_core.py,sha256=9Y9CX--sq-TaPaQRPRpx8SWDSS9PJOja_Cqb-yqyJNQ,1039
nacl/bindings/utils.py,sha256=KDwQnadXeNMbqEA1SmpNyCVo5k8MiUQa07QM66VzfXM,4298
nacl/encoding.py,sha256=qTAPc2MXSkdh4cqDVY0ra6kHyViHMCmEo_re7cgGk5w,2915
nacl/exceptions.py,sha256=GZH32aJtZgqCO4uz0LRsev8z0WyvAYuV3YVqT9AAQq4,2451
nacl/hash.py,sha256=EYBOe6UVc9SUQINEmyuRSa1QGRSvdwdrBzTL1tdFLU8,6392
nacl/hashlib.py,sha256=L5Fv75St8AMPvb-GhA4YqX5p1mC_Sb4HhC1NxNQMpJA,4400
nacl/public.py,sha256=RVGCWQRjIJOmW-8sNrVLtsDjMMGx30i6UyfViGCnQNA,14792
nacl/pwhash/__init__.py,sha256=XSDXd7wQHNLEHl0mkHfVb5lFQsp6ygHkhen718h0BSM,2675
nacl/pwhash/__pycache__/__init__.cpython-310.pyc,,
nacl/pwhash/__pycache__/_argon2.cpython-310.pyc,,
nacl/pwhash/__pycache__/argon2i.cpython-310.pyc,,
nacl/pwhash/__pycache__/argon2id.cpython-310.pyc,,
nacl/pwhash/__pycache__/scrypt.cpython-310.pyc,,
nacl/pwhash/_argon2.py,sha256=jL1ChR9biwYh3RSuc-LJ2-W4DlVLHpir-XHGX8cpeJQ,1779
nacl/pwhash/argon2i.py,sha256=IIvIuO9siKUu5-Wpz0SGiltLQv7Du_mi9BUE8INRK_4,4405
nacl/pwhash/argon2id.py,sha256=H22i8O4j9Ws4L3JsXl9TRcJzDcyaVumhQRPzINAgJWM,4433
nacl/pwhash/scrypt.py,sha256=fMr3Qht1a1EY8aebNNntfLRjinIPXtKYKKrrBhY5LDc,6986
nacl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
nacl/secret.py,sha256=kauBNuP-0rb3TjU2EMBMu5Vnmzjnscp1bRqMspy5LzU,12108
nacl/signing.py,sha256=kbTEUyHLUMaNLv1nCjxzGxCs82Qs5w8gxE_CnEwPuIU,8337
nacl/utils.py,sha256=gmlTD1x9ZNwzHd8LpALH1CHud-Htv8ejRb3y7TyS9f0,2341

View File

@@ -0,0 +1,7 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.37.1)
Root-Is-Purelib: false
Tag: cp36-abi3-manylinux_2_17_x86_64
Tag: cp36-abi3-manylinux2014_x86_64
Tag: cp36-abi3-manylinux_2_24_x86_64

View File

@@ -0,0 +1,202 @@
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.

View File

@@ -0,0 +1,52 @@
Metadata-Version: 2.1
Name: PySMT
Version: 0.9.5
Summary: A solver-agnostic library for SMT Formulae manipulation and solving
Home-page: http://www.pysmt.org
Author: PySMT Team
Author-email: info@pysmt.org
License: APACHE
Platform: UNKNOWN
============================================================
pySMT: A library for SMT formulae manipulation and solving
============================================================
pySMT makes working with Satisfiability Modulo Theory simple.
Among others, you can:
* Define formulae in a solver independent way in a simple and
inutitive way,
* Write ad-hoc simplifiers and operators,
* Dump your problems in the SMT-Lib format,
* Solve them using one of the native solvers, or by wrapping any
SMT-Lib complaint solver.
Supported Theories and Solvers
==============================
pySMT provides methods to define a formula in Linear Real Arithmetic (LRA),
Real Difference Logic (RDL), their combination (LIRA),
Equalities and Uninterpreted Functions (EUF), Bit-Vectors (BV), and Arrays (A).
The following solvers are supported through native APIs:
* MathSAT (http://mathsat.fbk.eu/)
* Z3 (https://github.com/Z3Prover/z3/)
* CVC4 (http://cvc4.cs.nyu.edu/web/)
* Yices 2 (http://yices.csl.sri.com/)
* CUDD (http://vlsi.colorado.edu/~fabio/CUDD/)
* PicoSAT (http://fmv.jku.at/picosat/)
* Boolector (http://fmv.jku.at/boolector/)
Additionally, you can use any SMT-LIB 2 compliant solver.
PySMT assumes that the python bindings for the SMT Solver are installed and
accessible from your PYTHONPATH.
Wanna know more?
================
Visit http://www.pysmt.org

View File

@@ -0,0 +1,13 @@
Copyright 2014 Andrea Micheli and Marco Gario
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.

View File

@@ -0,0 +1,261 @@
../../../bin/pysmt-install,sha256=DNnnzMMz6XNnMhxwG3YU2XKnUyMLhXB7smfaqZqL3mw,302
PySMT-0.9.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
PySMT-0.9.5.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
PySMT-0.9.5.dist-info/METADATA,sha256=GKZouaNpe3efcmOKrTR2-EwSQQZ7MKKoJL0Mj4MThX8,1614
PySMT-0.9.5.dist-info/NOTICE,sha256=Ns-Jsa6nbqZUiTEEAM6HqioSZIxQ2RCJzxoBlWQaUfc,601
PySMT-0.9.5.dist-info/RECORD,,
PySMT-0.9.5.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
PySMT-0.9.5.dist-info/entry_points.txt,sha256=si0hIk-v3V35G3p8QGINoQ4QW-v4RYDRqj-asgyCgeM,58
PySMT-0.9.5.dist-info/top_level.txt,sha256=NwHQbpTaZMEvjIUdC0bvvj-WUyULe-nt-opK3YQNRMk,6
pysmt/__init__.py,sha256=sgXspvK-vsvPdKGlMw84NT58IETLk-1zaVv9Q1mKiEE,1586
pysmt/__main__.py,sha256=rR-MV1QtLYqtVoJyY3m5B5Iz-lua0-5o6YSB0W4lKy8,1085
pysmt/__pycache__/__init__.cpython-310.pyc,,
pysmt/__pycache__/__main__.cpython-310.pyc,,
pysmt/__pycache__/configuration.cpython-310.pyc,,
pysmt/__pycache__/constants.cpython-310.pyc,,
pysmt/__pycache__/decorators.cpython-310.pyc,,
pysmt/__pycache__/environment.cpython-310.pyc,,
pysmt/__pycache__/exceptions.cpython-310.pyc,,
pysmt/__pycache__/factory.cpython-310.pyc,,
pysmt/__pycache__/fnode.cpython-310.pyc,,
pysmt/__pycache__/formula.cpython-310.pyc,,
pysmt/__pycache__/logics.cpython-310.pyc,,
pysmt/__pycache__/operators.cpython-310.pyc,,
pysmt/__pycache__/oracles.cpython-310.pyc,,
pysmt/__pycache__/parsing.cpython-310.pyc,,
pysmt/__pycache__/printers.cpython-310.pyc,,
pysmt/__pycache__/rewritings.cpython-310.pyc,,
pysmt/__pycache__/shortcuts.cpython-310.pyc,,
pysmt/__pycache__/simplifier.cpython-310.pyc,,
pysmt/__pycache__/substituter.cpython-310.pyc,,
pysmt/__pycache__/type_checker.cpython-310.pyc,,
pysmt/__pycache__/typing.cpython-310.pyc,,
pysmt/__pycache__/utils.cpython-310.pyc,,
pysmt/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pysmt/cmd/__pycache__/__init__.cpython-310.pyc,,
pysmt/cmd/__pycache__/check_version.cpython-310.pyc,,
pysmt/cmd/__pycache__/install.cpython-310.pyc,,
pysmt/cmd/__pycache__/shell.cpython-310.pyc,,
pysmt/cmd/check_version.py,sha256=ZGCZNEsUPzQ8b_yMNfBRNzp40yDqagWgQ-pNAh7Z54k,2366
pysmt/cmd/install.py,sha256=oNJ08HrCgYaD8FlRJWHGd2Nn-Or9QO3T7GzTRTykWgg,10203
pysmt/cmd/installers/__init__.py,sha256=mcX_yjJR-OX4OXWRV26rblVs-RIbGsiNM4vuRbUYynY,1094
pysmt/cmd/installers/__pycache__/__init__.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/base.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/bdd.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/btor.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/cvc4.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/msat.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/pico.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/yices.cpython-310.pyc,,
pysmt/cmd/installers/__pycache__/z3.cpython-310.pyc,,
pysmt/cmd/installers/base.py,sha256=O7IvDpPhEMJty671jiyZa9gE2IEPxkhdSANj3F5ul1c,12781
pysmt/cmd/installers/bdd.py,sha256=D_DbY6V53mVKHlvlVCgjoqUd7oyFrocmd-fu2hOIeiE,2559
pysmt/cmd/installers/btor.py,sha256=_kzYFCzK_I-8oginaLwQ9ge4-8PPPdqwwHHh-S9aztk,4086
pysmt/cmd/installers/cvc4.py,sha256=6jmG4lKzi8e6j-6syvRtZZaqUCfulFHUl0Uho6bOlBs,3936
pysmt/cmd/installers/msat.py,sha256=NSnFk-MXHWHyFcSMLzkuNBA26stZyP3dyyu1FdyIj78,5144
pysmt/cmd/installers/pico.py,sha256=XJpVbY5YHboL3OEMBvjwv8QwKdJ7Y62Blb78tEGyMxU,3141
pysmt/cmd/installers/yices.py,sha256=qGWAvOXWDrSgeCKgQrl4G1OOT8PytKJss1u2svVo_FE,3312
pysmt/cmd/installers/z3.py,sha256=qNbmmcrzCTIjhGxelvGbVKIqTvqacgXcQt-Kft7Sqg8,3336
pysmt/cmd/shell.py,sha256=tnPywd1h5V5buZFOn02h3W-C10gm_6pRH_4gaJ7HvH4,4334
pysmt/configuration.py,sha256=MUIhnwCs-R8BIEPAu80GKlnX70RZLsyYvkIcnQFJAWU,4539
pysmt/constants.py,sha256=l5obyz_O3gGbTaGaNWXgxNKuCobZNkHFrWTHWrr-qMw,4844
pysmt/decorators.py,sha256=jJoeGihyhmC3ewY14mJ5RXn2pC_fAG5QNV7eunyF9K0,3965
pysmt/environment.py,sha256=rdaxQ0uwmMPmcW4d5WnTYAyHNSCpRTgzRLaXQccG5-4,6522
pysmt/exceptions.py,sha256=qnBmGIrnZTXyOtmrH0tcgsoO0NaqpREFcewDJt_8RNA,4419
pysmt/factory.py,sha256=iNag-fUAdm6lA4f_3Z6IKhV1FG-9MnPD47HPAlBMoxQ,23923
pysmt/fnode.py,sha256=dj4U7a9_PIFrZClRjqjKoLp0Pv3tw6jERxFYTYoKefc,33628
pysmt/formula.py,sha256=NCC2m2F3swFvYXxU263HSntj-g_RlSCCFRJ_NFsf2fA,43460
pysmt/logics.py,sha256=IcC3ihCc-5LsPJxsxJ3okXU0ajTVU7ACgLsX_z-hkIg,27818
pysmt/operators.py,sha256=RU4H9E5eVjPgAar_9hIoCexq-Yc5v0xdHAMM69FcYX8,8132
pysmt/oracles.py,sha256=cC-zd_qiK8daGUNn6MYKZrqFynVrih0xciDMo9YafnE,19461
pysmt/parsing.py,sha256=a3RY-ogJUSCx1BwePHL51AoD4jGjap1_6ML7S18hzuc,20786
pysmt/printers.py,sha256=QtniPM5i-CHyX1XTTNQ98VezUnOc5Ca7GR3NSW2R_2w,13387
pysmt/rewritings.py,sha256=Tdcs3idDut1o-bmSfXdi22hYRd_CoubOckminsBIjBg,33289
pysmt/shortcuts.py,sha256=JtDbnVuwuXieVlHOcaVq7uClKAwdXxh2p5wHPVdYbgY,38485
pysmt/simplifier.py,sha256=igDczAkE5f3ctDxN_Hh2iP54ZFj_ezKRucPtgrodGzo,41464
pysmt/smtlib/__init__.py,sha256=JXBHtcb4Lv-Sb8whc9JuGbRH2EBLWwtLUh3PL9HhNE8,650
pysmt/smtlib/__pycache__/__init__.cpython-310.pyc,,
pysmt/smtlib/__pycache__/annotations.cpython-310.pyc,,
pysmt/smtlib/__pycache__/commands.cpython-310.pyc,,
pysmt/smtlib/__pycache__/printers.cpython-310.pyc,,
pysmt/smtlib/__pycache__/script.cpython-310.pyc,,
pysmt/smtlib/__pycache__/solver.cpython-310.pyc,,
pysmt/smtlib/__pycache__/utils.cpython-310.pyc,,
pysmt/smtlib/annotations.py,sha256=BKL6CbUTVFxT-PojRNetfcPtor9ExAOzcxng0Ic25-k,4167
pysmt/smtlib/commands.py,sha256=RG0swe9N0r4i7TuiivjKbalm8pBeULDLd5TG9lAdy0U,1940
pysmt/smtlib/parser/__init__.py,sha256=sFXCpzvX9nZhVVMJWAZTE35ae-SPW6S2xBDL8bqprvM,4025
pysmt/smtlib/parser/__pycache__/__init__.cpython-310.pyc,,
pysmt/smtlib/parser/__pycache__/parser.cpython-310.pyc,,
pysmt/smtlib/parser/parser.py,sha256=S49Tm85cWODPNsvAnVD1JVGcs37IWOYVbSR2eksChL4,58385
pysmt/smtlib/printers.py,sha256=jjX3qAHdbRd5BkKfMcjIrV305f43TDyZY0FwGFrEQRM,24551
pysmt/smtlib/script.py,sha256=4tATsRYDavjz1DVKXzfVVZxVXYOtBRhh4Ya0Ng4XxHY,13387
pysmt/smtlib/solver.py,sha256=dWBzYBuYDVyCsQI1KlqndxpqX4xHQUDcHAuefwbHv24,7987
pysmt/smtlib/utils.py,sha256=9Lrg-6qQujmbj7meIOhc8mt2WwxbvURFy0SGHYILCKc,2043
pysmt/solvers/__init__.py,sha256=JXBHtcb4Lv-Sb8whc9JuGbRH2EBLWwtLUh3PL9HhNE8,650
pysmt/solvers/__pycache__/__init__.cpython-310.pyc,,
pysmt/solvers/__pycache__/bdd.cpython-310.pyc,,
pysmt/solvers/__pycache__/btor.cpython-310.pyc,,
pysmt/solvers/__pycache__/cvc4.cpython-310.pyc,,
pysmt/solvers/__pycache__/eager.cpython-310.pyc,,
pysmt/solvers/__pycache__/interpolation.cpython-310.pyc,,
pysmt/solvers/__pycache__/msat.cpython-310.pyc,,
pysmt/solvers/__pycache__/options.cpython-310.pyc,,
pysmt/solvers/__pycache__/pico.cpython-310.pyc,,
pysmt/solvers/__pycache__/portfolio.cpython-310.pyc,,
pysmt/solvers/__pycache__/qelim.cpython-310.pyc,,
pysmt/solvers/__pycache__/smtlib.cpython-310.pyc,,
pysmt/solvers/__pycache__/solver.cpython-310.pyc,,
pysmt/solvers/__pycache__/yices.cpython-310.pyc,,
pysmt/solvers/__pycache__/z3.cpython-310.pyc,,
pysmt/solvers/bdd.py,sha256=gWECYJ_83Nq3Yog0pq3OZ0MegoxbHQ920gIjkheTB2g,15936
pysmt/solvers/btor.py,sha256=N7_JuCdEznLjWlj8Yj2TNCmNbIIcdxPSb66F6P289bA,23813
pysmt/solvers/cvc4.py,sha256=odWm_MAgoPlhOf6gaarZQAqQS4fN-8PH-xGIYaiErQE,24538
pysmt/solvers/eager.py,sha256=Py2_XaFj7YIOotH3Zv14JhmyLiZPTxKwzLuLztFqNIs,3297
pysmt/solvers/interpolation.py,sha256=SEpInJ12x1aTpsWLjkl8fuY00BvDYDzF3rhDNOhdoWA,1853
pysmt/solvers/msat.py,sha256=34PJPLIMZZmrhtq1N-L3qm38cI_I0kBWe-K_xMeDb5Q,54967
pysmt/solvers/options.py,sha256=05L2GcydstFDUVqZ2JSUt45_9q2Z6_2PjCMJOvE8ka8,3837
pysmt/solvers/pico.py,sha256=SyYF_0VVsL9oMIInuytF6F_qOalpctDCwuv-lTF2gzs,10630
pysmt/solvers/portfolio.py,sha256=fhwPiQXZIuywMLiqj8uXTnKxHTCZF3gIbjn9xplsusw,9059
pysmt/solvers/qelim.py,sha256=W56EJtlERK3vDjFMfUMLgQBI6WKSNlAHfyjTelQavu8,4823
pysmt/solvers/smtlib.py,sha256=GIYkoYeySubQ28IH6hQqoeayQUEeNQnyBCXeAx7DAOo,8997
pysmt/solvers/solver.py,sha256=oPURxkSQZm1g5z-GEHeKXtL4482Qp1p54DlW7PQevNA,17663
pysmt/solvers/yices.py,sha256=e1iF_6YOOD0GiWNQUcf2pLtPmCNCp-8sS7ZqEFmze3I,23347
pysmt/solvers/z3.py,sha256=_XMiY04kJVdpyfBSN8p5qPaEsCjZ60uBr4na55Vcq1k,40768
pysmt/substituter.py,sha256=PsoEuybD2XWiWR03_ZjDK4W9zKxm-tqKp96qbprFCyM,13812
pysmt/test/__init__.py,sha256=9YsAQOuHVQ4N8MzKN9U0eAfRjPiKBVH_D_xV1MJZjkg,4985
pysmt/test/__pycache__/__init__.cpython-310.pyc,,
pysmt/test/__pycache__/examples.cpython-310.pyc,,
pysmt/test/__pycache__/test_array.cpython-310.pyc,,
pysmt/test/__pycache__/test_back.cpython-310.pyc,,
pysmt/test/__pycache__/test_bdd.cpython-310.pyc,,
pysmt/test/__pycache__/test_bv.cpython-310.pyc,,
pysmt/test/__pycache__/test_bv_simplification.cpython-310.pyc,,
pysmt/test/__pycache__/test_cnf.cpython-310.pyc,,
pysmt/test/__pycache__/test_configuration.cpython-310.pyc,,
pysmt/test/__pycache__/test_constants.cpython-310.pyc,,
pysmt/test/__pycache__/test_cvc4_quantifiers.cpython-310.pyc,,
pysmt/test/__pycache__/test_dwf.cpython-310.pyc,,
pysmt/test/__pycache__/test_eager_model.cpython-310.pyc,,
pysmt/test/__pycache__/test_env.cpython-310.pyc,,
pysmt/test/__pycache__/test_euf.cpython-310.pyc,,
pysmt/test/__pycache__/test_formula.cpython-310.pyc,,
pysmt/test/__pycache__/test_hr_parsing.cpython-310.pyc,,
pysmt/test/__pycache__/test_imports.cpython-310.pyc,,
pysmt/test/__pycache__/test_int.cpython-310.pyc,,
pysmt/test/__pycache__/test_interpolation.cpython-310.pyc,,
pysmt/test/__pycache__/test_lira.cpython-310.pyc,,
pysmt/test/__pycache__/test_logics.cpython-310.pyc,,
pysmt/test/__pycache__/test_models.cpython-310.pyc,,
pysmt/test/__pycache__/test_native_qe.cpython-310.pyc,,
pysmt/test/__pycache__/test_nia.cpython-310.pyc,,
pysmt/test/__pycache__/test_nlira.cpython-310.pyc,,
pysmt/test/__pycache__/test_oracles.cpython-310.pyc,,
pysmt/test/__pycache__/test_portfolio.cpython-310.pyc,,
pysmt/test/__pycache__/test_printing.cpython-310.pyc,,
pysmt/test/__pycache__/test_qe.cpython-310.pyc,,
pysmt/test/__pycache__/test_regressions.cpython-310.pyc,,
pysmt/test/__pycache__/test_rewritings.cpython-310.pyc,,
pysmt/test/__pycache__/test_shannon_expansion.cpython-310.pyc,,
pysmt/test/__pycache__/test_simplify.cpython-310.pyc,,
pysmt/test/__pycache__/test_size.cpython-310.pyc,,
pysmt/test/__pycache__/test_solving.cpython-310.pyc,,
pysmt/test/__pycache__/test_sorts.cpython-310.pyc,,
pysmt/test/__pycache__/test_string.cpython-310.pyc,,
pysmt/test/__pycache__/test_typechecker.cpython-310.pyc,,
pysmt/test/__pycache__/test_unsat_cores.cpython-310.pyc,,
pysmt/test/__pycache__/test_walker_ext.cpython-310.pyc,,
pysmt/test/__pycache__/test_walkers.cpython-310.pyc,,
pysmt/test/examples.py,sha256=F-K-_rpBLZjIMLmv7UVTlWWJ7TZiGq5gW_cHmYb2LTI,39096
pysmt/test/smtlib/__init__.py,sha256=JXBHtcb4Lv-Sb8whc9JuGbRH2EBLWwtLUh3PL9HhNE8,650
pysmt/test/smtlib/__pycache__/__init__.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/parser_utils.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_annotations.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_fuzzed.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_generic_wrapper.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_griggio.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_model_validation.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_examples.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_extensibility.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_lra.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_arrays.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_lia.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_lira.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_lra.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_nia.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_nra.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_uf.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_qf_ufbv.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_parser_type_error.cpython-310.pyc,,
pysmt/test/smtlib/__pycache__/test_smtlibscript.cpython-310.pyc,,
pysmt/test/smtlib/parser_utils.py,sha256=MpK9opJa3jPF-IsT7Bf79ihMXmwk7nL-b-k_ab2MU_8,8434
pysmt/test/smtlib/test_annotations.py,sha256=AyL8tZUMySQgUOmT8UPB_dnEglWCOo5EXM6kQxL_I3o,6209
pysmt/test/smtlib/test_fuzzed.py,sha256=pswc1F2ngXMZo-laFOs6pXnDg69JMfGPx1vMTsXdAX0,2124
pysmt/test/smtlib/test_generic_wrapper.py,sha256=Gn_cWynRWAFqUcAWpRgmJlkkwHcqdnARZN0-blRwM-Q,7869
pysmt/test/smtlib/test_griggio.py,sha256=oyMAlqdFoaDHxBRP7sWNRiQijowzLjRliJp3d0wLXQc,2893
pysmt/test/smtlib/test_model_validation.py,sha256=xHHBkbANSNnxuc8HFUVcEANde0zsZZdTWPtIWVazw7c,3076
pysmt/test/smtlib/test_parser_examples.py,sha256=qp0Xj9u49v5GihD-6WACydLJfJhc53h9thWGYjthPoU,9930
pysmt/test/smtlib/test_parser_extensibility.py,sha256=C3erKM1HzUmKc7_zf6sIjXx43jXh0P4tSsp7rpNPeos,3659
pysmt/test/smtlib/test_parser_lra.py,sha256=B2diWIu8B2ZRkCtO0nFbrYlKptUTarNFC3fm5mtcQUc,972
pysmt/test/smtlib/test_parser_qf_arrays.py,sha256=B9p3rKoRgctL1C_2t_JiL86hLokutK8AVKU1jqiMkyQ,987
pysmt/test/smtlib/test_parser_qf_lia.py,sha256=TPwvbAnb9m9872vi1zzblZ5TRdsYONe3r-18DjuXz4c,981
pysmt/test/smtlib/test_parser_qf_lira.py,sha256=GZEQ4kc0OERbDayJ1OPH9tyaAaDpfnvum52ySQGQjJw,988
pysmt/test/smtlib/test_parser_qf_lra.py,sha256=HLcJY0k1B-4vQqmNst0PfAT19n0WJtwA4oJWyfzk6vU,982
pysmt/test/smtlib/test_parser_qf_nia.py,sha256=xRf8Tk6Yh5sb483YvzSL7eG3lVAQ5KHija8OzfIeNAw,981
pysmt/test/smtlib/test_parser_qf_nra.py,sha256=a6VWFQtv_v2bqLe598NTdcK1v9cM9Q3loOOtFCsMmhM,979
pysmt/test/smtlib/test_parser_qf_uf.py,sha256=iKWadVfvZEKkjuP0lXo3BoEk3ISoDYyi_x4MhTt6Q_Q,978
pysmt/test/smtlib/test_parser_qf_ufbv.py,sha256=G3Nnt4awK1A6nwDvKRv4zoFwtGHawvlf4KSVYJRltGA,984
pysmt/test/smtlib/test_parser_type_error.py,sha256=cnil1KNDYkxc52pnqOC1ch8joGbaWWqepQmYABtTHLM,1129
pysmt/test/smtlib/test_smtlibscript.py,sha256=x-ukB65HeccNZ9I3GUxvOf8MHCyfzc8qKBXgtQwOgmg,11013
pysmt/test/test_array.py,sha256=5ohIVh9UH9ajhg3elsFXqaxcRfHOuTaorE7IfsruYek,5788
pysmt/test/test_back.py,sha256=pkbOyy4YOOY430qbfZ0UtZAU22thQX1slgl3nItkpXs,3402
pysmt/test/test_bdd.py,sha256=GsFiq0YQd3exbN9k2fCurKZlvDl3H2VAucYc9tKGKEc,6195
pysmt/test/test_bv.py,sha256=-pnOgslpMAeK9US4f_z4CU8LK0ZmDr-yceS1u1kwgps,12284
pysmt/test/test_bv_simplification.py,sha256=R7cdr_Ob2TAQF-NG0Z3JtKApBif9e893xhWa0kX6Kbc,14511
pysmt/test/test_cnf.py,sha256=eeIhziVmAI2Q8wFKlj0zkdMSvM_GKtu1-Up8nY_2cRk,3369
pysmt/test/test_configuration.py,sha256=uyCmS8-cdeI844TGqmzHBlFPtHBJhT_mKrrWJUF0AN0,3757
pysmt/test/test_constants.py,sha256=wdqc9duJ8Ykt1LCxy2CL3Mt_7Gal5-bCVL7QT5GHS3s,4618
pysmt/test/test_cvc4_quantifiers.py,sha256=iFGkqpsHoDBgSS2VFTi9siT6fq9-ieipkpr_cIrA7xY,1851
pysmt/test/test_dwf.py,sha256=nQubO2IYjW3NnRjNz3xkhpXgK_5coZp9uZ_U-ElmFRw,2850
pysmt/test/test_eager_model.py,sha256=hF9V8wQYXVeyW2Bo4sACa98xeJtfOMYjMvjWMHQaGag,3662
pysmt/test/test_env.py,sha256=tshVfiKotjMUNXl0RCo7-itTnVJimWGPyMkuGHX_B6I,4118
pysmt/test/test_euf.py,sha256=B0VRx1NwfKZZIG5Fc6gYPj7G6gNWMzYJvgbh-2q2E28,3455
pysmt/test/test_formula.py,sha256=k-Gy5-8lHQ-1tGRI_ta8bJ-DjdYLQxYZJ-zPhH_anO8,38595
pysmt/test/test_hr_parsing.py,sha256=xp6FLs_6UMAJEcIfEIytB3KCa1pE8-rGoU8v1N-n3X4,2754
pysmt/test/test_imports.py,sha256=micwbKICxYXjEcKgc3eBEsnTKFRiLSBaso2l2cX0GDw,1561
pysmt/test/test_int.py,sha256=dk72Q6viqRUs9XiPB40n6RrwiqsV6GbbKuSlYaQMU9k,1980
pysmt/test/test_interpolation.py,sha256=WTodZtnxH5slIvUWbHbjjnI2o0naXgZwZawTGhh3E0o,3941
pysmt/test/test_lira.py,sha256=1B4y1y2U-5CttF6h22tniJkAedUDIwjp1Ad0_Ha_s-8,2175
pysmt/test/test_logics.py,sha256=zHDuqccNLC1XM77JWfya47cM-tshC_k2-NL1EYqOBnI,6734
pysmt/test/test_models.py,sha256=npqGoF-3DgAw0DTx6se32ZEZRFBJDcnkppzgyjLDbps,2748
pysmt/test/test_native_qe.py,sha256=RGZgwbpAkPBTjIqcCbOkZ_nQXIDZ4Fznrr7Ldx6oA38,3439
pysmt/test/test_nia.py,sha256=bYi1P3IVDPpsAKqMyV90wP-73lb_TgJCpOAj9RY2B_g,6500
pysmt/test/test_nlira.py,sha256=PYXWtRKtWdIW-I3WvMyOqPjqiClc-h3qRm1Yw2SA8bQ,4417
pysmt/test/test_oracles.py,sha256=cHBPTUoi9cPmIvR-DG4bbzohOaBdUJzpKLoQXImxS_c,5615
pysmt/test/test_portfolio.py,sha256=CNLuCfnf6PEAMJzLOiFTgm1-7qaEpGzafdoQwPvd2AY,7133
pysmt/test/test_printing.py,sha256=iKOSUrA3aOsG27RQ84fXNqsUGmVHcGgN8mt05ThVGAw,8749
pysmt/test/test_qe.py,sha256=hX81DSq_05xti3e6f0KTHgYMAbd-sSYG6gSN3ds-cLI,7136
pysmt/test/test_regressions.py,sha256=OHBptJUWQnUkXT17VH4z9Qea0QQeUF2v4sw_RYyottE,20119
pysmt/test/test_rewritings.py,sha256=EZDYoFG965bxUy8CxzZRYAwPrZFQdZd509zQI6gU0Z4,15625
pysmt/test/test_shannon_expansion.py,sha256=yaiZuB24wj1Zi-KdzRTmWuzAVaF9bQ603uto7zi6XBs,3082
pysmt/test/test_simplify.py,sha256=EdBm2rGD9OzQ2t7cuWjO0oUvSsni6gWHi4GvGTxogls,7620
pysmt/test/test_size.py,sha256=p3aqCMHfBiGLxvF0P8hE-PRQTT8VMPIJCjblq8Txh1w,3261
pysmt/test/test_solving.py,sha256=P7dH4q_VxOELH6KH59h0Bpgz8CUsziiPdjhQQqQTGbo,24829
pysmt/test/test_sorts.py,sha256=erfInyPH91WVB8JBUYLteTo5X5skKKP3vEXdUUKC-YE,6033
pysmt/test/test_string.py,sha256=Y6VBfkLNKuePo8-HIzcwBH3eaYj0i-k1Y8tpFyw03zw,8096
pysmt/test/test_typechecker.py,sha256=obrRf5LSkrZjw2Kn7B4WNWVUykE7c9tU3jW-dEteHBs,6977
pysmt/test/test_unsat_cores.py,sha256=J-ip4SInZ9l96NCsLsKmvIiSI04hKpdyrPeKRh6b6aM,6563
pysmt/test/test_walker_ext.py,sha256=4x6Ew522P_0fLpKRIL0_0igB4I3_VrWWA4juuqolhag,3522
pysmt/test/test_walkers.py,sha256=AKVMvEUtMBht08bE1vCMaeMtdgGa6j_weDSHz_9Br3Q,9481
pysmt/type_checker.py,sha256=1hQzFFaiKiFkdQW3-ClwNoOf8w3ZMYAbQ0rCrYdmS-I,13271
pysmt/typing.py,sha256=GioU08mUxqsjFmmAYfBYj51mmJoBcFZDunc-t99QKng,17714
pysmt/utils.py,sha256=t13jG-E8kQNxG_JmS79GDy3SnBohSobwjJTjZHFf3fE,2302
pysmt/walkers/__init__.py,sha256=D6iHibVpqaZFzcpgYnNf3NVMxPyouAeeonTDSwCToRg,1585
pysmt/walkers/__pycache__/__init__.cpython-310.pyc,,
pysmt/walkers/__pycache__/dag.cpython-310.pyc,,
pysmt/walkers/__pycache__/generic.cpython-310.pyc,,
pysmt/walkers/__pycache__/identitydag.cpython-310.pyc,,
pysmt/walkers/__pycache__/tree.cpython-310.pyc,,
pysmt/walkers/dag.py,sha256=pUdVTZx7CQyjrAb6jMfmsqS07J4kiDqHU8R4_9UvwkQ,5352
pysmt/walkers/generic.py,sha256=q1j1T2RvCeJn1PM0H5d8vNV4FTYAEQgT7h8X5DJhDf8,4534
pysmt/walkers/identitydag.py,sha256=f_D5qA198ayd3QO4u59fBX1RS_UiSBnPeV9O3ULvQv0,8737
pysmt/walkers/tree.py,sha256=WIWN9IM0riWkaD40iP4Tt3BCN21iSdE1S7gRZqy56SU,2846

View File

@@ -0,0 +1,6 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.34.2)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any

View File

@@ -0,0 +1,3 @@
[console_scripts]
pysmt-install = pysmt.cmd.install:main

View File

@@ -0,0 +1,22 @@
Copyright 2006 Dan-Haim. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of Dan Haim nor the names of his contributors may be used
to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY DAN HAIM "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL DAN HAIM OR HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMANGE.

View File

@@ -0,0 +1,321 @@
Metadata-Version: 2.1
Name: PySocks
Version: 1.7.1
Summary: A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information.
Home-page: https://github.com/Anorov/PySocks
Author: Anorov
Author-email: anorov.vorona@gmail.com
License: BSD
Keywords: socks,proxy
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
Description-Content-Type: text/markdown
PySocks
=======
PySocks lets you send traffic through SOCKS and HTTP proxy servers. It is a modern fork of [SocksiPy](http://socksipy.sourceforge.net/) with bug fixes and extra features.
Acts as a drop-in replacement to the socket module. Seamlessly configure SOCKS proxies for any socket object by calling `socket_object.set_proxy()`.
----------------
Features
========
* SOCKS proxy client for Python 2.7 and 3.4+
* TCP supported
* UDP mostly supported (issues may occur in some edge cases)
* HTTP proxy client included but not supported or recommended (you should use urllib2's or requests' own HTTP proxy interface)
* urllib2 handler included. `pip install` / `setup.py install` will automatically install the `sockshandler` module.
Installation
============
pip install PySocks
Or download the tarball / `git clone` and...
python setup.py install
These will install both the `socks` and `sockshandler` modules.
Alternatively, include just `socks.py` in your project.
--------------------------------------------
*Warning:* PySocks/SocksiPy only supports HTTP proxies that use CONNECT tunneling. Certain HTTP proxies may not work with this library. If you wish to use HTTP (not SOCKS) proxies, it is recommended that you rely on your HTTP client's native proxy support (`proxies` dict for `requests`, or `urllib2.ProxyHandler` for `urllib2`) instead.
--------------------------------------------
Usage
=====
## socks.socksocket ##
import socks
s = socks.socksocket() # Same API as socket.socket in the standard lib
s.set_proxy(socks.SOCKS5, "localhost") # SOCKS4 and SOCKS5 use port 1080 by default
# Or
s.set_proxy(socks.SOCKS4, "localhost", 4444)
# Or
s.set_proxy(socks.HTTP, "5.5.5.5", 8888)
# Can be treated identical to a regular socket object
s.connect(("www.somesite.com", 80))
s.sendall("GET / HTTP/1.1 ...")
print s.recv(4096)
## Monkeypatching ##
To monkeypatch the entire standard library with a single default proxy:
import urllib2
import socket
import socks
socks.set_default_proxy(socks.SOCKS5, "localhost")
socket.socket = socks.socksocket
urllib2.urlopen("http://www.somesite.com/") # All requests will pass through the SOCKS proxy
Note that monkeypatching may not work for all standard modules or for all third party modules, and generally isn't recommended. Monkeypatching is usually an anti-pattern in Python.
## urllib2 Handler ##
Example use case with the `sockshandler` urllib2 handler. Note that you must import both `socks` and `sockshandler`, as the handler is its own module separate from PySocks. The module is included in the PyPI package.
import urllib2
import socks
from sockshandler import SocksiPyHandler
opener = urllib2.build_opener(SocksiPyHandler(socks.SOCKS5, "127.0.0.1", 9050))
print opener.open("http://www.somesite.com/") # All requests made by the opener will pass through the SOCKS proxy
--------------------------------------------
Original SocksiPy README attached below, amended to reflect API changes.
--------------------------------------------
SocksiPy
A Python SOCKS module.
(C) 2006 Dan-Haim. All rights reserved.
See LICENSE file for details.
*WHAT IS A SOCKS PROXY?*
A SOCKS proxy is a proxy server at the TCP level. In other words, it acts as
a tunnel, relaying all traffic going through it without modifying it.
SOCKS proxies can be used to relay traffic using any network protocol that
uses TCP.
*WHAT IS SOCKSIPY?*
This Python module allows you to create TCP connections through a SOCKS
proxy without any special effort.
It also supports relaying UDP packets with a SOCKS5 proxy.
*PROXY COMPATIBILITY*
SocksiPy is compatible with three different types of proxies:
1. SOCKS Version 4 (SOCKS4), including the SOCKS4a extension.
2. SOCKS Version 5 (SOCKS5).
3. HTTP Proxies which support tunneling using the CONNECT method.
*SYSTEM REQUIREMENTS*
Being written in Python, SocksiPy can run on any platform that has a Python
interpreter and TCP/IP support.
This module has been tested with Python 2.3 and should work with greater versions
just as well.
INSTALLATION
-------------
Simply copy the file "socks.py" to your Python's `lib/site-packages` directory,
and you're ready to go. [Editor's note: it is better to use `python setup.py install` for PySocks]
USAGE
------
First load the socks module with the command:
>>> import socks
>>>
The socks module provides a class called `socksocket`, which is the base to all of the module's functionality.
The `socksocket` object has the same initialization parameters as the normal socket
object to ensure maximal compatibility, however it should be noted that `socksocket` will only function with family being `AF_INET` and
type being either `SOCK_STREAM` or `SOCK_DGRAM`.
Generally, it is best to initialize the `socksocket` object with no parameters
>>> s = socks.socksocket()
>>>
The `socksocket` object has an interface which is very similiar to socket's (in fact
the `socksocket` class is derived from socket) with a few extra methods.
To select the proxy server you would like to use, use the `set_proxy` method, whose
syntax is:
set_proxy(proxy_type, addr[, port[, rdns[, username[, password]]]])
Explanation of the parameters:
`proxy_type` - The type of the proxy server. This can be one of three possible
choices: `PROXY_TYPE_SOCKS4`, `PROXY_TYPE_SOCKS5` and `PROXY_TYPE_HTTP` for SOCKS4,
SOCKS5 and HTTP servers respectively. `SOCKS4`, `SOCKS5`, and `HTTP` are all aliases, respectively.
`addr` - The IP address or DNS name of the proxy server.
`port` - The port of the proxy server. Defaults to 1080 for socks and 8080 for http.
`rdns` - This is a boolean flag than modifies the behavior regarding DNS resolving.
If it is set to True, DNS resolving will be preformed remotely, on the server.
If it is set to False, DNS resolving will be preformed locally. Please note that
setting this to True with SOCKS4 servers actually use an extension to the protocol,
called SOCKS4a, which may not be supported on all servers (SOCKS5 and http servers
always support DNS). The default is True.
`username` - For SOCKS5 servers, this allows simple username / password authentication
with the server. For SOCKS4 servers, this parameter will be sent as the userid.
This parameter is ignored if an HTTP server is being used. If it is not provided,
authentication will not be used (servers may accept unauthenticated requests).
`password` - This parameter is valid only for SOCKS5 servers and specifies the
respective password for the username provided.
Example of usage:
>>> s.set_proxy(socks.SOCKS5, "socks.example.com") # uses default port 1080
>>> s.set_proxy(socks.SOCKS4, "socks.test.com", 1081)
After the set_proxy method has been called, simply call the connect method with the
traditional parameters to establish a connection through the proxy:
>>> s.connect(("www.sourceforge.net", 80))
>>>
Connection will take a bit longer to allow negotiation with the proxy server.
Please note that calling connect without calling `set_proxy` earlier will connect
without a proxy (just like a regular socket).
Errors: Any errors in the connection process will trigger exceptions. The exception
may either be generated by the underlying socket layer or may be custom module
exceptions, whose details follow:
class `ProxyError` - This is a base exception class. It is not raised directly but
rather all other exception classes raised by this module are derived from it.
This allows an easy way to catch all proxy-related errors. It descends from `IOError`.
All `ProxyError` exceptions have an attribute `socket_err`, which will contain either a
caught `socket.error` exception, or `None` if there wasn't any.
class `GeneralProxyError` - When thrown, it indicates a problem which does not fall
into another category.
* `Sent invalid data` - This error means that unexpected data has been received from
the server. The most common reason is that the server specified as the proxy is
not really a SOCKS4/SOCKS5/HTTP proxy, or maybe the proxy type specified is wrong.
* `Connection closed unexpectedly` - The proxy server unexpectedly closed the connection.
This may indicate that the proxy server is experiencing network or software problems.
* `Bad proxy type` - This will be raised if the type of the proxy supplied to the
set_proxy function was not one of `SOCKS4`/`SOCKS5`/`HTTP`.
* `Bad input` - This will be raised if the `connect()` method is called with bad input
parameters.
class `SOCKS5AuthError` - This indicates that the connection through a SOCKS5 server
failed due to an authentication problem.
* `Authentication is required` - This will happen if you use a SOCKS5 server which
requires authentication without providing a username / password at all.
* `All offered authentication methods were rejected` - This will happen if the proxy
requires a special authentication method which is not supported by this module.
* `Unknown username or invalid password` - Self descriptive.
class `SOCKS5Error` - This will be raised for SOCKS5 errors which are not related to
authentication.
The parameter is a tuple containing a code, as given by the server,
and a description of the
error. The possible errors, according to the RFC, are:
* `0x01` - General SOCKS server failure - If for any reason the proxy server is unable to
fulfill your request (internal server error).
* `0x02` - connection not allowed by ruleset - If the address you're trying to connect to
is blacklisted on the server or requires authentication.
* `0x03` - Network unreachable - The target could not be contacted. A router on the network
had replied with a destination net unreachable error.
* `0x04` - Host unreachable - The target could not be contacted. A router on the network
had replied with a destination host unreachable error.
* `0x05` - Connection refused - The target server has actively refused the connection
(the requested port is closed).
* `0x06` - TTL expired - The TTL value of the SYN packet from the proxy to the target server
has expired. This usually means that there are network problems causing the packet
to be caught in a router-to-router "ping-pong".
* `0x07` - Command not supported - For instance if the server does not support UDP.
* `0x08` - Address type not supported - The client has provided an invalid address type.
When using this module, this error should not occur.
class `SOCKS4Error` - This will be raised for SOCKS4 errors. The parameter is a tuple
containing a code and a description of the error, as given by the server. The
possible error, according to the specification are:
* `0x5B` - Request rejected or failed - Will be raised in the event of an failure for any
reason other then the two mentioned next.
* `0x5C` - request rejected because SOCKS server cannot connect to identd on the client -
The Socks server had tried an ident lookup on your computer and has failed. In this
case you should run an identd server and/or configure your firewall to allow incoming
connections to local port 113 from the remote server.
* `0x5D` - request rejected because the client program and identd report different user-ids -
The Socks server had performed an ident lookup on your computer and has received a
different userid than the one you have provided. Change your userid (through the
username parameter of the set_proxy method) to match and try again.
class `HTTPError` - This will be raised for HTTP errors. The message will contain
the HTTP status code and provided error message.
After establishing the connection, the object behaves like a standard socket.
Methods like `makefile()` and `settimeout()` should behave just like regular sockets.
Call the `close()` method to close the connection.
In addition to the `socksocket` class, an additional function worth mentioning is the
`set_default_proxy` function. The parameters are the same as the `set_proxy` method.
This function will set default proxy settings for newly created `socksocket` objects,
in which the proxy settings haven't been changed via the `set_proxy` method.
This is quite useful if you wish to force 3rd party modules to use a SOCKS proxy,
by overriding the socket object.
For example:
>>> socks.set_default_proxy(socks.SOCKS5, "socks.example.com")
>>> socket.socket = socks.socksocket
>>> urllib.urlopen("http://www.sourceforge.net/")
PROBLEMS
---------
Please open a GitHub issue at https://github.com/Anorov/PySocks

View File

@@ -0,0 +1,10 @@
PySocks-1.7.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
PySocks-1.7.1.dist-info/LICENSE,sha256=cCfiFOAU63i3rcwc7aWspxOnn8T2oMUsnaWz5wfm_-k,1401
PySocks-1.7.1.dist-info/METADATA,sha256=zbQMizjPOOP4DhEiEX24XXjNrYuIxF9UGUpN0uFDB6Y,13235
PySocks-1.7.1.dist-info/RECORD,,
PySocks-1.7.1.dist-info/WHEEL,sha256=t_MpApv386-8PVts2R6wsTifdIn0vbUDTVv61IbqFC8,92
PySocks-1.7.1.dist-info/top_level.txt,sha256=TKSOIfCFBoK9EY8FBYbYqC3PWd3--G15ph9n8-QHPDk,19
__pycache__/socks.cpython-310.pyc,,
__pycache__/sockshandler.cpython-310.pyc,,
socks.py,sha256=xOYn27t9IGrbTBzWsUUuPa0YBuplgiUykzkOB5V5iFY,31086
sockshandler.py,sha256=2SYGj-pwt1kjgLoZAmyeaEXCeZDWRmfVS_QG6kErGtY,3966

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.33.3)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,264 @@
Pygments is written and maintained by Georg Brandl <georg@python.org>.
Major developers are Tim Hatch <tim@timhatch.com> and Armin Ronacher
<armin.ronacher@active-4.com>.
Other contributors, listed alphabetically, are:
* Sam Aaron -- Ioke lexer
* Jean Abou Samra -- LilyPond lexer
* João Abecasis -- JSLT lexer
* Ali Afshar -- image formatter
* Thomas Aglassinger -- Easytrieve, JCL, Rexx, Transact-SQL and VBScript
lexers
* Muthiah Annamalai -- Ezhil lexer
* Kumar Appaiah -- Debian control lexer
* Andreas Amann -- AppleScript lexer
* Timothy Armstrong -- Dart lexer fixes
* Jeffrey Arnold -- R/S, Rd, BUGS, Jags, and Stan lexers
* Eiríkr Åsheim -- Uxntal lexer
* Jeremy Ashkenas -- CoffeeScript lexer
* José Joaquín Atria -- Praat lexer
* Stefan Matthias Aust -- Smalltalk lexer
* Lucas Bajolet -- Nit lexer
* Ben Bangert -- Mako lexers
* Max Battcher -- Darcs patch lexer
* Thomas Baruchel -- APL lexer
* Tim Baumann -- (Literate) Agda lexer
* Paul Baumgart, 280 North, Inc. -- Objective-J lexer
* Michael Bayer -- Myghty lexers
* Thomas Beale -- Archetype lexers
* John Benediktsson -- Factor lexer
* Trevor Bergeron -- mIRC formatter
* Vincent Bernat -- LessCSS lexer
* Christopher Bertels -- Fancy lexer
* Sébastien Bigaret -- QVT Operational lexer
* Jarrett Billingsley -- MiniD lexer
* Adam Blinkinsop -- Haskell, Redcode lexers
* Stéphane Blondon -- Procfile, SGF and Sieve lexers
* Frits van Bommel -- assembler lexers
* Pierre Bourdon -- bugfixes
* Martijn Braam -- Kernel log lexer, BARE lexer
* Matthias Bussonnier -- ANSI style handling for terminal-256 formatter
* chebee7i -- Python traceback lexer improvements
* Hiram Chirino -- Scaml and Jade lexers
* Mauricio Caceres -- SAS and Stata lexers.
* Ian Cooper -- VGL lexer
* David Corbett -- Inform, Jasmin, JSGF, Snowball, and TADS 3 lexers
* Leaf Corcoran -- MoonScript lexer
* Christopher Creutzig -- MuPAD lexer
* Daniël W. Crompton -- Pike lexer
* Pete Curry -- bugfixes
* Bryan Davis -- EBNF lexer
* Bruno Deferrari -- Shen lexer
* Walter Dörwald -- UL4 lexer
* Luke Drummond -- Meson lexer
* Giedrius Dubinskas -- HTML formatter improvements
* Owen Durni -- Haxe lexer
* Alexander Dutton, Oxford University Computing Services -- SPARQL lexer
* James Edwards -- Terraform lexer
* Nick Efford -- Python 3 lexer
* Sven Efftinge -- Xtend lexer
* Artem Egorkine -- terminal256 formatter
* Matthew Fernandez -- CAmkES lexer
* Paweł Fertyk -- GDScript lexer, HTML formatter improvements
* Michael Ficarra -- CPSA lexer
* James H. Fisher -- PostScript lexer
* William S. Fulton -- SWIG lexer
* Carlos Galdino -- Elixir and Elixir Console lexers
* Michael Galloy -- IDL lexer
* Naveen Garg -- Autohotkey lexer
* Simon Garnotel -- FreeFem++ lexer
* Laurent Gautier -- R/S lexer
* Alex Gaynor -- PyPy log lexer
* Richard Gerkin -- Igor Pro lexer
* Alain Gilbert -- TypeScript lexer
* Alex Gilding -- BlitzBasic lexer
* GitHub, Inc -- DASM16, Augeas, TOML, and Slash lexers
* Bertrand Goetzmann -- Groovy lexer
* Krzysiek Goj -- Scala lexer
* Rostyslav Golda -- FloScript lexer
* Andrey Golovizin -- BibTeX lexers
* Matt Good -- Genshi, Cheetah lexers
* Michał Górny -- vim modeline support
* Alex Gosse -- TrafficScript lexer
* Patrick Gotthardt -- PHP namespaces support
* Hubert Gruniaux -- C and C++ lexer improvements
* Olivier Guibe -- Asymptote lexer
* Phil Hagelberg -- Fennel lexer
* Florian Hahn -- Boogie lexer
* Martin Harriman -- SNOBOL lexer
* Matthew Harrison -- SVG formatter
* Steven Hazel -- Tcl lexer
* Dan Michael Heggø -- Turtle lexer
* Aslak Hellesøy -- Gherkin lexer
* Greg Hendershott -- Racket lexer
* Justin Hendrick -- ParaSail lexer
* Jordi Gutiérrez Hermoso -- Octave lexer
* David Hess, Fish Software, Inc. -- Objective-J lexer
* Ken Hilton -- Typographic Number Theory and Arrow lexers
* Varun Hiremath -- Debian control lexer
* Rob Hoelz -- Perl 6 lexer
* Doug Hogan -- Mscgen lexer
* Ben Hollis -- Mason lexer
* Max Horn -- GAP lexer
* Fred Hornsey -- OMG IDL Lexer
* Alastair Houghton -- Lexer inheritance facility
* Tim Howard -- BlitzMax lexer
* Dustin Howett -- Logos lexer
* Ivan Inozemtsev -- Fantom lexer
* Hiroaki Itoh -- Shell console rewrite, Lexers for PowerShell session,
MSDOS session, BC, WDiff
* Brian R. Jackson -- Tea lexer
* Christian Jann -- ShellSession lexer
* Dennis Kaarsemaker -- sources.list lexer
* Dmitri Kabak -- Inferno Limbo lexer
* Igor Kalnitsky -- vhdl lexer
* Colin Kennedy - USD lexer
* Alexander Kit -- MaskJS lexer
* Pekka Klärck -- Robot Framework lexer
* Gerwin Klein -- Isabelle lexer
* Eric Knibbe -- Lasso lexer
* Stepan Koltsov -- Clay lexer
* Oliver Kopp - Friendly grayscale style
* Adam Koprowski -- Opa lexer
* Benjamin Kowarsch -- Modula-2 lexer
* Domen Kožar -- Nix lexer
* Oleh Krekel -- Emacs Lisp lexer
* Alexander Kriegisch -- Kconfig and AspectJ lexers
* Marek Kubica -- Scheme lexer
* Jochen Kupperschmidt -- Markdown processor
* Gerd Kurzbach -- Modelica lexer
* Jon Larimer, Google Inc. -- Smali lexer
* Olov Lassus -- Dart lexer
* Matt Layman -- TAP lexer
* Kristian Lyngstøl -- Varnish lexers
* Sylvestre Ledru -- Scilab lexer
* Chee Sing Lee -- Flatline lexer
* Mark Lee -- Vala lexer
* Pete Lomax -- Phix lexer
* Valentin Lorentz -- C++ lexer improvements
* Ben Mabey -- Gherkin lexer
* Angus MacArthur -- QML lexer
* Louis Mandel -- X10 lexer
* Louis Marchand -- Eiffel lexer
* Simone Margaritelli -- Hybris lexer
* Tim Martin - World of Warcraft TOC lexer
* Kirk McDonald -- D lexer
* Gordon McGregor -- SystemVerilog lexer
* Stephen McKamey -- Duel/JBST lexer
* Brian McKenna -- F# lexer
* Charles McLaughlin -- Puppet lexer
* Kurt McKee -- Tera Term macro lexer, PostgreSQL updates, MySQL overhaul, JSON lexer
* Joe Eli McIlvain -- Savi lexer
* Lukas Meuser -- BBCode formatter, Lua lexer
* Cat Miller -- Pig lexer
* Paul Miller -- LiveScript lexer
* Hong Minhee -- HTTP lexer
* Michael Mior -- Awk lexer
* Bruce Mitchener -- Dylan lexer rewrite
* Reuben Morais -- SourcePawn lexer
* Jon Morton -- Rust lexer
* Paulo Moura -- Logtalk lexer
* Mher Movsisyan -- DTD lexer
* Dejan Muhamedagic -- Crmsh lexer
* Ana Nelson -- Ragel, ANTLR, R console lexers
* Kurt Neufeld -- Markdown lexer
* Nam T. Nguyen -- Monokai style
* Jesper Noehr -- HTML formatter "anchorlinenos"
* Mike Nolta -- Julia lexer
* Avery Nortonsmith -- Pointless lexer
* Jonas Obrist -- BBCode lexer
* Edward O'Callaghan -- Cryptol lexer
* David Oliva -- Rebol lexer
* Pat Pannuto -- nesC lexer
* Jon Parise -- Protocol buffers and Thrift lexers
* Benjamin Peterson -- Test suite refactoring
* Ronny Pfannschmidt -- BBCode lexer
* Dominik Picheta -- Nimrod lexer
* Andrew Pinkham -- RTF Formatter Refactoring
* Clément Prévost -- UrbiScript lexer
* Tanner Prynn -- cmdline -x option and loading lexers from files
* Oleh Prypin -- Crystal lexer (based on Ruby lexer)
* Nick Psaris -- K and Q lexers
* Xidorn Quan -- Web IDL lexer
* Elias Rabel -- Fortran fixed form lexer
* raichoo -- Idris lexer
* Daniel Ramirez -- GDScript lexer
* Kashif Rasul -- CUDA lexer
* Nathan Reed -- HLSL lexer
* Justin Reidy -- MXML lexer
* Norman Richards -- JSON lexer
* Corey Richardson -- Rust lexer updates
* Fabrizio Riguzzi -- cplint leder
* Lubomir Rintel -- GoodData MAQL and CL lexers
* Andre Roberge -- Tango style
* Georg Rollinger -- HSAIL lexer
* Michiel Roos -- TypoScript lexer
* Konrad Rudolph -- LaTeX formatter enhancements
* Mario Ruggier -- Evoque lexers
* Miikka Salminen -- Lovelace style, Hexdump lexer, lexer enhancements
* Stou Sandalski -- NumPy, FORTRAN, tcsh and XSLT lexers
* Matteo Sasso -- Common Lisp lexer
* Joe Schafer -- Ada lexer
* Max Schillinger -- TiddlyWiki5 lexer
* Ken Schutte -- Matlab lexers
* René Schwaiger -- Rainbow Dash style
* Sebastian Schweizer -- Whiley lexer
* Tassilo Schweyer -- Io, MOOCode lexers
* Pablo Seminario -- PromQL lexer
* Ted Shaw -- AutoIt lexer
* Joerg Sieker -- ABAP lexer
* Robert Simmons -- Standard ML lexer
* Kirill Simonov -- YAML lexer
* Corbin Simpson -- Monte lexer
* Ville Skyttä -- ASCII armored lexer
* Alexander Smishlajev -- Visual FoxPro lexer
* Steve Spigarelli -- XQuery lexer
* Jerome St-Louis -- eC lexer
* Camil Staps -- Clean and NuSMV lexers; Solarized style
* James Strachan -- Kotlin lexer
* Tom Stuart -- Treetop lexer
* Colin Sullivan -- SuperCollider lexer
* Ben Swift -- Extempore lexer
* tatt61880 -- Kuin lexer
* Edoardo Tenani -- Arduino lexer
* Tiberius Teng -- default style overhaul
* Jeremy Thurgood -- Erlang, Squid config lexers
* Brian Tiffin -- OpenCOBOL lexer
* Bob Tolbert -- Hy lexer
* Doug Torrance -- Macaulay2 lexer
* Matthias Trute -- Forth lexer
* Tuoa Spi T4 -- Bdd lexer
* Erick Tryzelaar -- Felix lexer
* Alexander Udalov -- Kotlin lexer improvements
* Thomas Van Doren -- Chapel lexer
* Daniele Varrazzo -- PostgreSQL lexers
* Abe Voelker -- OpenEdge ABL lexer
* Pepijn de Vos -- HTML formatter CTags support
* Matthias Vallentin -- Bro lexer
* Benoît Vinot -- AMPL lexer
* Linh Vu Hong -- RSL lexer
* Immanuel Washington -- Smithy lexer
* Nathan Weizenbaum -- Haml and Sass lexers
* Nathan Whetsell -- Csound lexers
* Dietmar Winkler -- Modelica lexer
* Nils Winter -- Smalltalk lexer
* Davy Wybiral -- Clojure lexer
* Whitney Young -- ObjectiveC lexer
* Diego Zamboni -- CFengine3 lexer
* Enrique Zamudio -- Ceylon lexer
* Alex Zimin -- Nemerle lexer
* Rob Zimmerman -- Kal lexer
* Vincent Zurczak -- Roboconf lexer
* Hubert Gruniaux -- C and C++ lexer improvements
* Thomas Symalla -- AMDGPU Lexer
* 15b3 -- Image Formatter improvements
* Fabian Neumann -- CDDL lexer
* Thomas Duboucher -- CDDL lexer
* Philipp Imhof -- Pango Markup formatter
* Thomas Voss -- Sed lexer
* Martin Fischer -- WCAG contrast testing
* Marc Auberer -- Spice lexer
Many thanks for all contributions!

View File

@@ -0,0 +1,25 @@
Copyright (c) 2006-2022 by the respective authors (see AUTHORS file).
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,38 @@
Metadata-Version: 2.1
Name: Pygments
Version: 2.14.0
Summary: Pygments is a syntax highlighting package written in Python.
Home-page: https://pygments.org/
Author: Georg Brandl
Author-email: georg@python.org
License: BSD-2-Clause
Project-URL: Documentation, https://pygments.org/docs/
Project-URL: Source, https://github.com/pygments/pygments
Project-URL: Bug Tracker, https://github.com/pygments/pygments/issues
Project-URL: Changelog, https://github.com/pygments/pygments/blob/master/CHANGES
Keywords: syntax highlighting
Platform: any
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Text Processing :: Filters
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Provides-Extra: plugins
Requires-Dist: importlib-metadata ; (python_version < "3.8") and extra == 'plugins'

View File

@@ -0,0 +1,607 @@
../../../bin/pygmentize,sha256=eqR9lguCs6sM6BnRYlefUyhERGMUiyKW8eFYR2NMYFc,301
Pygments-2.14.0.dist-info/AUTHORS,sha256=OzlKwZii64dQrA-dyL7ayg_ogm5_OXUi_uwMmFwC3Xo,9737
Pygments-2.14.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
Pygments-2.14.0.dist-info/LICENSE,sha256=qdZvHVJt8C4p3Oc0NtNOVuhjL0bCdbvf_HBWnogvnxc,1331
Pygments-2.14.0.dist-info/METADATA,sha256=SnXak0f9bFv55eBI1WcwoHxo06g8XQC13OzWyskwwxk,1606
Pygments-2.14.0.dist-info/RECORD,,
Pygments-2.14.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
Pygments-2.14.0.dist-info/entry_points.txt,sha256=uUXw-XhMKBEX4pWcCtpuTTnPhL3h7OEE2jWi51VQsa8,53
Pygments-2.14.0.dist-info/top_level.txt,sha256=RjKKqrVIStoebLHdbs0yZ2Lk4rS7cxGguXsLCYvZ2Ak,9
pygments/__init__.py,sha256=G6KeoinsUh_ixOUfvUm9YQbF853QdZ4xxinie2AxBi0,2975
pygments/__main__.py,sha256=H4FKgvsbzW61IXZbQ7n6JYJg674Z5MrYCWl4SvdXl4k,348
pygments/__pycache__/__init__.cpython-310.pyc,,
pygments/__pycache__/__main__.cpython-310.pyc,,
pygments/__pycache__/cmdline.cpython-310.pyc,,
pygments/__pycache__/console.cpython-310.pyc,,
pygments/__pycache__/filter.cpython-310.pyc,,
pygments/__pycache__/formatter.cpython-310.pyc,,
pygments/__pycache__/lexer.cpython-310.pyc,,
pygments/__pycache__/modeline.cpython-310.pyc,,
pygments/__pycache__/plugin.cpython-310.pyc,,
pygments/__pycache__/regexopt.cpython-310.pyc,,
pygments/__pycache__/scanner.cpython-310.pyc,,
pygments/__pycache__/sphinxext.cpython-310.pyc,,
pygments/__pycache__/style.cpython-310.pyc,,
pygments/__pycache__/token.cpython-310.pyc,,
pygments/__pycache__/unistring.cpython-310.pyc,,
pygments/__pycache__/util.cpython-310.pyc,,
pygments/cmdline.py,sha256=fHBl85_v0FRqjw-Krp9-QcjIjwoHsq7OcVhHAkUJDvA,23530
pygments/console.py,sha256=hQfqCFuOlGk7DW2lPQYepsw-wkOH1iNt9ylNA1eRymM,1697
pygments/filter.py,sha256=NglMmMPTRRv-zuRSE_QbWid7JXd2J4AvwjCW2yWALXU,1938
pygments/filters/__init__.py,sha256=Te1zPTE-avGuVnGrBVrOuLP89Q_g8trWgJvsPR5A00A,40338
pygments/filters/__pycache__/__init__.cpython-310.pyc,,
pygments/formatter.py,sha256=5mKfYy6YY9mvQ-t4vqMNuNqRBIeEIJCSdRixbniZ68E,2893
pygments/formatters/__init__.py,sha256=DjQIdYN6tqUG-yaGE88vdRO84MORotwpDonds73WNtY,4764
pygments/formatters/__pycache__/__init__.cpython-310.pyc,,
pygments/formatters/__pycache__/_mapping.cpython-310.pyc,,
pygments/formatters/__pycache__/bbcode.cpython-310.pyc,,
pygments/formatters/__pycache__/groff.cpython-310.pyc,,
pygments/formatters/__pycache__/html.cpython-310.pyc,,
pygments/formatters/__pycache__/img.cpython-310.pyc,,
pygments/formatters/__pycache__/irc.cpython-310.pyc,,
pygments/formatters/__pycache__/latex.cpython-310.pyc,,
pygments/formatters/__pycache__/other.cpython-310.pyc,,
pygments/formatters/__pycache__/pangomarkup.cpython-310.pyc,,
pygments/formatters/__pycache__/rtf.cpython-310.pyc,,
pygments/formatters/__pycache__/svg.cpython-310.pyc,,
pygments/formatters/__pycache__/terminal.cpython-310.pyc,,
pygments/formatters/__pycache__/terminal256.cpython-310.pyc,,
pygments/formatters/_mapping.py,sha256=fCZgvsM6UEuZUG7J6lr47eVss5owKd_JyaNbDfxeqmQ,4104
pygments/formatters/bbcode.py,sha256=aHDvFf02NTvo1oyFh7d7Nc-diEuJENhYHfgO5ni8y-c,3290
pygments/formatters/groff.py,sha256=YwId80AP8EkfwEJHmKhHC7cGSugSLROhALR6si4TaOI,5062
pygments/formatters/html.py,sha256=hXjnogf8HKeUOU-Xfklt52ult8dWKbSIvswmrfQGqc8,35565
pygments/formatters/img.py,sha256=ErNknc6pWtb20k3OmOmbx9Yk2ltn3gJfIf3kztIfnAg,21914
pygments/formatters/irc.py,sha256=BvaE_RpG1sWZY-HsV3rSOB6yfHiursKer-z4FoMAplE,4945
pygments/formatters/latex.py,sha256=hu2im0X4ORQ1ctOwWbHsDqyJwBMD7QQVps0IkgIz6yk,19303
pygments/formatters/other.py,sha256=dLf0bcqCxQmSk0NdEUdQMjDBw6l-Uqr3ioLbM-xE8kQ,5025
pygments/formatters/pangomarkup.py,sha256=zTQdtK1097fcGfOM4NOItdp966y448deui0pxveauHQ,2200
pygments/formatters/rtf.py,sha256=VrqLrq7dGZpxCkydzWbE0PWz7CS3h8rcrNXgNotQ178,4990
pygments/formatters/svg.py,sha256=hrRO4p-XoOGxf9_6y2SVysO-o1h_AdPMsVwaNbKf1Ww,7299
pygments/formatters/terminal.py,sha256=ExPmcdOucmPNXeXGxHZe1gs1ihoDtiPVn8eswy0CTiM,4626
pygments/formatters/terminal256.py,sha256=YWmNHtnycxCPe0IeIxSrUziquIzejubuZMkG9a4Mubw,11717
pygments/lexer.py,sha256=pG-6VE6DB8oXjxmG9SgDBTsIpf4afTDG6USMFBlRhRY,31987
pygments/lexers/__init__.py,sha256=na2cMfV3HpzF0xweVrzn3OT-AusS1xJv_SnOkcBBb6s,11116
pygments/lexers/__pycache__/__init__.cpython-310.pyc,,
pygments/lexers/__pycache__/_ada_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_asy_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_cl_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_cocoa_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_csound_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_css_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_julia_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_lasso_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_lilypond_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_lua_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_mapping.cpython-310.pyc,,
pygments/lexers/__pycache__/_mql_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_mysql_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_openedge_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_php_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_postgres_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_qlik_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_scheme_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_scilab_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_sourcemod_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_stan_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_stata_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_tsql_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_usd_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_vbscript_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/_vim_builtins.cpython-310.pyc,,
pygments/lexers/__pycache__/actionscript.cpython-310.pyc,,
pygments/lexers/__pycache__/ada.cpython-310.pyc,,
pygments/lexers/__pycache__/agile.cpython-310.pyc,,
pygments/lexers/__pycache__/algebra.cpython-310.pyc,,
pygments/lexers/__pycache__/ambient.cpython-310.pyc,,
pygments/lexers/__pycache__/amdgpu.cpython-310.pyc,,
pygments/lexers/__pycache__/ampl.cpython-310.pyc,,
pygments/lexers/__pycache__/apdlexer.cpython-310.pyc,,
pygments/lexers/__pycache__/apl.cpython-310.pyc,,
pygments/lexers/__pycache__/archetype.cpython-310.pyc,,
pygments/lexers/__pycache__/arrow.cpython-310.pyc,,
pygments/lexers/__pycache__/arturo.cpython-310.pyc,,
pygments/lexers/__pycache__/asc.cpython-310.pyc,,
pygments/lexers/__pycache__/asm.cpython-310.pyc,,
pygments/lexers/__pycache__/automation.cpython-310.pyc,,
pygments/lexers/__pycache__/bare.cpython-310.pyc,,
pygments/lexers/__pycache__/basic.cpython-310.pyc,,
pygments/lexers/__pycache__/bdd.cpython-310.pyc,,
pygments/lexers/__pycache__/berry.cpython-310.pyc,,
pygments/lexers/__pycache__/bibtex.cpython-310.pyc,,
pygments/lexers/__pycache__/boa.cpython-310.pyc,,
pygments/lexers/__pycache__/business.cpython-310.pyc,,
pygments/lexers/__pycache__/c_cpp.cpython-310.pyc,,
pygments/lexers/__pycache__/c_like.cpython-310.pyc,,
pygments/lexers/__pycache__/capnproto.cpython-310.pyc,,
pygments/lexers/__pycache__/cddl.cpython-310.pyc,,
pygments/lexers/__pycache__/chapel.cpython-310.pyc,,
pygments/lexers/__pycache__/clean.cpython-310.pyc,,
pygments/lexers/__pycache__/comal.cpython-310.pyc,,
pygments/lexers/__pycache__/compiled.cpython-310.pyc,,
pygments/lexers/__pycache__/configs.cpython-310.pyc,,
pygments/lexers/__pycache__/console.cpython-310.pyc,,
pygments/lexers/__pycache__/cplint.cpython-310.pyc,,
pygments/lexers/__pycache__/crystal.cpython-310.pyc,,
pygments/lexers/__pycache__/csound.cpython-310.pyc,,
pygments/lexers/__pycache__/css.cpython-310.pyc,,
pygments/lexers/__pycache__/d.cpython-310.pyc,,
pygments/lexers/__pycache__/dalvik.cpython-310.pyc,,
pygments/lexers/__pycache__/data.cpython-310.pyc,,
pygments/lexers/__pycache__/devicetree.cpython-310.pyc,,
pygments/lexers/__pycache__/diff.cpython-310.pyc,,
pygments/lexers/__pycache__/dotnet.cpython-310.pyc,,
pygments/lexers/__pycache__/dsls.cpython-310.pyc,,
pygments/lexers/__pycache__/dylan.cpython-310.pyc,,
pygments/lexers/__pycache__/ecl.cpython-310.pyc,,
pygments/lexers/__pycache__/eiffel.cpython-310.pyc,,
pygments/lexers/__pycache__/elm.cpython-310.pyc,,
pygments/lexers/__pycache__/elpi.cpython-310.pyc,,
pygments/lexers/__pycache__/email.cpython-310.pyc,,
pygments/lexers/__pycache__/erlang.cpython-310.pyc,,
pygments/lexers/__pycache__/esoteric.cpython-310.pyc,,
pygments/lexers/__pycache__/ezhil.cpython-310.pyc,,
pygments/lexers/__pycache__/factor.cpython-310.pyc,,
pygments/lexers/__pycache__/fantom.cpython-310.pyc,,
pygments/lexers/__pycache__/felix.cpython-310.pyc,,
pygments/lexers/__pycache__/fift.cpython-310.pyc,,
pygments/lexers/__pycache__/floscript.cpython-310.pyc,,
pygments/lexers/__pycache__/forth.cpython-310.pyc,,
pygments/lexers/__pycache__/fortran.cpython-310.pyc,,
pygments/lexers/__pycache__/foxpro.cpython-310.pyc,,
pygments/lexers/__pycache__/freefem.cpython-310.pyc,,
pygments/lexers/__pycache__/func.cpython-310.pyc,,
pygments/lexers/__pycache__/functional.cpython-310.pyc,,
pygments/lexers/__pycache__/futhark.cpython-310.pyc,,
pygments/lexers/__pycache__/gcodelexer.cpython-310.pyc,,
pygments/lexers/__pycache__/gdscript.cpython-310.pyc,,
pygments/lexers/__pycache__/go.cpython-310.pyc,,
pygments/lexers/__pycache__/grammar_notation.cpython-310.pyc,,
pygments/lexers/__pycache__/graph.cpython-310.pyc,,
pygments/lexers/__pycache__/graphics.cpython-310.pyc,,
pygments/lexers/__pycache__/graphviz.cpython-310.pyc,,
pygments/lexers/__pycache__/gsql.cpython-310.pyc,,
pygments/lexers/__pycache__/haskell.cpython-310.pyc,,
pygments/lexers/__pycache__/haxe.cpython-310.pyc,,
pygments/lexers/__pycache__/hdl.cpython-310.pyc,,
pygments/lexers/__pycache__/hexdump.cpython-310.pyc,,
pygments/lexers/__pycache__/html.cpython-310.pyc,,
pygments/lexers/__pycache__/idl.cpython-310.pyc,,
pygments/lexers/__pycache__/igor.cpython-310.pyc,,
pygments/lexers/__pycache__/inferno.cpython-310.pyc,,
pygments/lexers/__pycache__/installers.cpython-310.pyc,,
pygments/lexers/__pycache__/int_fiction.cpython-310.pyc,,
pygments/lexers/__pycache__/iolang.cpython-310.pyc,,
pygments/lexers/__pycache__/j.cpython-310.pyc,,
pygments/lexers/__pycache__/javascript.cpython-310.pyc,,
pygments/lexers/__pycache__/jmespath.cpython-310.pyc,,
pygments/lexers/__pycache__/jslt.cpython-310.pyc,,
pygments/lexers/__pycache__/jsonnet.cpython-310.pyc,,
pygments/lexers/__pycache__/julia.cpython-310.pyc,,
pygments/lexers/__pycache__/jvm.cpython-310.pyc,,
pygments/lexers/__pycache__/kuin.cpython-310.pyc,,
pygments/lexers/__pycache__/lilypond.cpython-310.pyc,,
pygments/lexers/__pycache__/lisp.cpython-310.pyc,,
pygments/lexers/__pycache__/macaulay2.cpython-310.pyc,,
pygments/lexers/__pycache__/make.cpython-310.pyc,,
pygments/lexers/__pycache__/markup.cpython-310.pyc,,
pygments/lexers/__pycache__/math.cpython-310.pyc,,
pygments/lexers/__pycache__/matlab.cpython-310.pyc,,
pygments/lexers/__pycache__/maxima.cpython-310.pyc,,
pygments/lexers/__pycache__/meson.cpython-310.pyc,,
pygments/lexers/__pycache__/mime.cpython-310.pyc,,
pygments/lexers/__pycache__/minecraft.cpython-310.pyc,,
pygments/lexers/__pycache__/mips.cpython-310.pyc,,
pygments/lexers/__pycache__/ml.cpython-310.pyc,,
pygments/lexers/__pycache__/modeling.cpython-310.pyc,,
pygments/lexers/__pycache__/modula2.cpython-310.pyc,,
pygments/lexers/__pycache__/monte.cpython-310.pyc,,
pygments/lexers/__pycache__/mosel.cpython-310.pyc,,
pygments/lexers/__pycache__/ncl.cpython-310.pyc,,
pygments/lexers/__pycache__/nimrod.cpython-310.pyc,,
pygments/lexers/__pycache__/nit.cpython-310.pyc,,
pygments/lexers/__pycache__/nix.cpython-310.pyc,,
pygments/lexers/__pycache__/oberon.cpython-310.pyc,,
pygments/lexers/__pycache__/objective.cpython-310.pyc,,
pygments/lexers/__pycache__/ooc.cpython-310.pyc,,
pygments/lexers/__pycache__/other.cpython-310.pyc,,
pygments/lexers/__pycache__/parasail.cpython-310.pyc,,
pygments/lexers/__pycache__/parsers.cpython-310.pyc,,
pygments/lexers/__pycache__/pascal.cpython-310.pyc,,
pygments/lexers/__pycache__/pawn.cpython-310.pyc,,
pygments/lexers/__pycache__/perl.cpython-310.pyc,,
pygments/lexers/__pycache__/phix.cpython-310.pyc,,
pygments/lexers/__pycache__/php.cpython-310.pyc,,
pygments/lexers/__pycache__/pointless.cpython-310.pyc,,
pygments/lexers/__pycache__/pony.cpython-310.pyc,,
pygments/lexers/__pycache__/praat.cpython-310.pyc,,
pygments/lexers/__pycache__/procfile.cpython-310.pyc,,
pygments/lexers/__pycache__/prolog.cpython-310.pyc,,
pygments/lexers/__pycache__/promql.cpython-310.pyc,,
pygments/lexers/__pycache__/python.cpython-310.pyc,,
pygments/lexers/__pycache__/q.cpython-310.pyc,,
pygments/lexers/__pycache__/qlik.cpython-310.pyc,,
pygments/lexers/__pycache__/qvt.cpython-310.pyc,,
pygments/lexers/__pycache__/r.cpython-310.pyc,,
pygments/lexers/__pycache__/rdf.cpython-310.pyc,,
pygments/lexers/__pycache__/rebol.cpython-310.pyc,,
pygments/lexers/__pycache__/resource.cpython-310.pyc,,
pygments/lexers/__pycache__/ride.cpython-310.pyc,,
pygments/lexers/__pycache__/rita.cpython-310.pyc,,
pygments/lexers/__pycache__/rnc.cpython-310.pyc,,
pygments/lexers/__pycache__/roboconf.cpython-310.pyc,,
pygments/lexers/__pycache__/robotframework.cpython-310.pyc,,
pygments/lexers/__pycache__/ruby.cpython-310.pyc,,
pygments/lexers/__pycache__/rust.cpython-310.pyc,,
pygments/lexers/__pycache__/sas.cpython-310.pyc,,
pygments/lexers/__pycache__/savi.cpython-310.pyc,,
pygments/lexers/__pycache__/scdoc.cpython-310.pyc,,
pygments/lexers/__pycache__/scripting.cpython-310.pyc,,
pygments/lexers/__pycache__/sgf.cpython-310.pyc,,
pygments/lexers/__pycache__/shell.cpython-310.pyc,,
pygments/lexers/__pycache__/sieve.cpython-310.pyc,,
pygments/lexers/__pycache__/slash.cpython-310.pyc,,
pygments/lexers/__pycache__/smalltalk.cpython-310.pyc,,
pygments/lexers/__pycache__/smithy.cpython-310.pyc,,
pygments/lexers/__pycache__/smv.cpython-310.pyc,,
pygments/lexers/__pycache__/snobol.cpython-310.pyc,,
pygments/lexers/__pycache__/solidity.cpython-310.pyc,,
pygments/lexers/__pycache__/sophia.cpython-310.pyc,,
pygments/lexers/__pycache__/special.cpython-310.pyc,,
pygments/lexers/__pycache__/spice.cpython-310.pyc,,
pygments/lexers/__pycache__/sql.cpython-310.pyc,,
pygments/lexers/__pycache__/srcinfo.cpython-310.pyc,,
pygments/lexers/__pycache__/stata.cpython-310.pyc,,
pygments/lexers/__pycache__/supercollider.cpython-310.pyc,,
pygments/lexers/__pycache__/tal.cpython-310.pyc,,
pygments/lexers/__pycache__/tcl.cpython-310.pyc,,
pygments/lexers/__pycache__/teal.cpython-310.pyc,,
pygments/lexers/__pycache__/templates.cpython-310.pyc,,
pygments/lexers/__pycache__/teraterm.cpython-310.pyc,,
pygments/lexers/__pycache__/testing.cpython-310.pyc,,
pygments/lexers/__pycache__/text.cpython-310.pyc,,
pygments/lexers/__pycache__/textedit.cpython-310.pyc,,
pygments/lexers/__pycache__/textfmts.cpython-310.pyc,,
pygments/lexers/__pycache__/theorem.cpython-310.pyc,,
pygments/lexers/__pycache__/thingsdb.cpython-310.pyc,,
pygments/lexers/__pycache__/tlb.cpython-310.pyc,,
pygments/lexers/__pycache__/tnt.cpython-310.pyc,,
pygments/lexers/__pycache__/trafficscript.cpython-310.pyc,,
pygments/lexers/__pycache__/typoscript.cpython-310.pyc,,
pygments/lexers/__pycache__/ul4.cpython-310.pyc,,
pygments/lexers/__pycache__/unicon.cpython-310.pyc,,
pygments/lexers/__pycache__/urbi.cpython-310.pyc,,
pygments/lexers/__pycache__/usd.cpython-310.pyc,,
pygments/lexers/__pycache__/varnish.cpython-310.pyc,,
pygments/lexers/__pycache__/verification.cpython-310.pyc,,
pygments/lexers/__pycache__/web.cpython-310.pyc,,
pygments/lexers/__pycache__/webassembly.cpython-310.pyc,,
pygments/lexers/__pycache__/webidl.cpython-310.pyc,,
pygments/lexers/__pycache__/webmisc.cpython-310.pyc,,
pygments/lexers/__pycache__/whiley.cpython-310.pyc,,
pygments/lexers/__pycache__/wowtoc.cpython-310.pyc,,
pygments/lexers/__pycache__/wren.cpython-310.pyc,,
pygments/lexers/__pycache__/x10.cpython-310.pyc,,
pygments/lexers/__pycache__/xorg.cpython-310.pyc,,
pygments/lexers/__pycache__/yang.cpython-310.pyc,,
pygments/lexers/__pycache__/zig.cpython-310.pyc,,
pygments/lexers/_ada_builtins.py,sha256=9BqorV9ID_Z5RLBeVbQn9aKg6j7TCk-knBgfDn9D2Ec,1543
pygments/lexers/_asy_builtins.py,sha256=quZMwEPSom6Fs9yC9kVxUdKuSaNiwDgwzR_XiuEDE2I,27287
pygments/lexers/_cl_builtins.py,sha256=750nWBIkaITu_ox67sfmcwEx7AuV1_m-GvbUI3im_cs,13994
pygments/lexers/_cocoa_builtins.py,sha256=6DmhiEpFVh6TQwfLNh1c5MQ3oQAPiPRHcNpIFPSbBII,105182
pygments/lexers/_csound_builtins.py,sha256=tmvd0MF7849I7LncGtKGIAovDW-oOQNnLU-coNqoTxI,18414
pygments/lexers/_css_builtins.py,sha256=fghSPBeEm_bOYuzDZH03s9YymLIGzGzKOnCFDMZPeW0,12446
pygments/lexers/_julia_builtins.py,sha256=hNIvB343zzkLq2SEnlpx7lzOj5fwYZN6Dv6upo3gus4,11883
pygments/lexers/_lasso_builtins.py,sha256=1FXcRTixcTHwYyUTlRGebtcfsn-m7_UbKSfoAtPMtY4,134510
pygments/lexers/_lilypond_builtins.py,sha256=YtYhV518MbcENY59RQQDygsO7MBLDMD9A2NQc4lKbfw,106781
pygments/lexers/_lua_builtins.py,sha256=D4C-HLWIHNfq-zKdI0h6ihL9psB-Vas8HH2r7Pgr0rI,8080
pygments/lexers/_mapping.py,sha256=lSx8z1rjmGROaWOVpDJ6PcxYkgVVnlsXfErWRwgVXcg,64980
pygments/lexers/_mql_builtins.py,sha256=g54kSJXLwIsMGQFUbvP-bB03_S0ypjt5P8_wOmIf_3s,24713
pygments/lexers/_mysql_builtins.py,sha256=stNurNB2CsukMyF9InuKa1zstRdbVRy0SrngsNqBsjk,25806
pygments/lexers/_openedge_builtins.py,sha256=b9Jaw-Ji90vnrlykHfHL5rre9Lu7A3Yp1_ICTQWraLE,49398
pygments/lexers/_php_builtins.py,sha256=8gc7AiFhgs9f1RDcMj3v7f0jtVoZZ6snHC9zJCkWgSg,107876
pygments/lexers/_postgres_builtins.py,sha256=pr7tgitRL_ramhQCIOHIoIV9okWgrnDg2DPtAbb0lMU,12316
pygments/lexers/_qlik_builtins.py,sha256=Z3NWn8hW3SgjsKseHjIy4n_U-Ogli0JaXSf9AAO0WDc,12595
pygments/lexers/_scheme_builtins.py,sha256=1jEwdJB0KQhsYX9zBicy7ny0UEb0C9087kofxHW0S2s,32564
pygments/lexers/_scilab_builtins.py,sha256=oDqV7i2FzHfn_ac6Cope9C6FRO5UC1X9aMaiCju_ZcI,52377
pygments/lexers/_sourcemod_builtins.py,sha256=Sg7_eD5LsZxmiAn5lP0I65Fg0xffjBW_jOQRxuTL73g,26745
pygments/lexers/_stan_builtins.py,sha256=CYZl5FHihyFyL3DT_CBePc-6JsUYx5byZuykq6gwWik,13445
pygments/lexers/_stata_builtins.py,sha256=FlTQXy1mTrU4dtDwHLn_BgjfXgLJHCjT5ppgfSk3-9k,27227
pygments/lexers/_tsql_builtins.py,sha256=RVFZu9_cQBjE-6tbR32zPTmf9EbAmOfcEcscCjwvv-o,15460
pygments/lexers/_usd_builtins.py,sha256=zzudqdYKn7_bsD2UimVTGCR8oW4O9ks2k0KVw-j8hkU,1658
pygments/lexers/_vbscript_builtins.py,sha256=0zOPR5Slupgp8ZqWTXu7FHwMDgJYzT8x44ZbRGNtVpU,4225
pygments/lexers/_vim_builtins.py,sha256=aKqubOlfPOl0F5ge8HWjdz7WAeV_sWNyEOx94wcQQCc,57066
pygments/lexers/actionscript.py,sha256=PjwYIKgYMtaBbzMYkLxlxcVNoGrkwVd5O63nOiKwEuE,11676
pygments/lexers/ada.py,sha256=93CBleaaRa6uL5LcXgNKSXmggNZ74bZK4ndwjuTNlms,5320
pygments/lexers/agile.py,sha256=95de0QM13cXvQYPrDmy-A0hfNxsqq-nSsJtCpY3DCIY,876
pygments/lexers/algebra.py,sha256=DOKWvYgOwGlLQVJ3xKd1gym5Vte21MH2C15V6C0r3ZA,9873
pygments/lexers/ambient.py,sha256=8f7H7fqB5lWYRt7WRiI0S8ECbOwbthnL4qS6cbJc65s,2606
pygments/lexers/amdgpu.py,sha256=UT5-b6ililJ6BwMpoBDvjBT2vQw0jeObH57c18KzfUg,1603
pygments/lexers/ampl.py,sha256=VxuaBx5r5ilMLY9HxzGcKr2g4FyWl9xgd_IKOrorIHc,4177
pygments/lexers/apdlexer.py,sha256=9ZO8SSyfTqQhkDzjbOflO-kALnheHiT5lWb_S1gW-2Q,26654
pygments/lexers/apl.py,sha256=N_9pYe_LVWI6-0HD31VmBZsF-6or3h4Q2QYp0jxY-vU,3405
pygments/lexers/archetype.py,sha256=55YRoEaaFiehkC_UMgUYOGxDFIgbXRXfUwMzG49ufCU,11469
pygments/lexers/arrow.py,sha256=ed8-CWv3vVPw2UDDutxGBTFeEsnX-aI2a-LRtdE0EWg,3565
pygments/lexers/arturo.py,sha256=xrtbS2mrQPqABQSo2plP0wpSvfxoteC8l-ivs5epitA,11417
pygments/lexers/asc.py,sha256=1JaNmliU60TOhdRtVWDNEWz2AyQavIz-lj8HiypdwZ4,1621
pygments/lexers/asm.py,sha256=ZrFEGjh2sM7HXPcFj3GiERjVLkhrgP57SJvhONxnsOo,41243
pygments/lexers/automation.py,sha256=MVjc_Y-gtjhF9AnMzTt1gy8ZmLmpzqzMRrLyVomL-zs,19815
pygments/lexers/bare.py,sha256=3aSBX6Y80dSblHZkfKSch8f4rBHC9kxPC5l5t4XWtbY,3021
pygments/lexers/basic.py,sha256=3zrIqhU10IzBV3_BSNmkvijOhvFRjHoRRWyQZmi-ORQ,27923
pygments/lexers/bdd.py,sha256=qBXpTsbDA-4oQtFmFEUrNON5N5jDMcDCS1xPMx6V4E8,1652
pygments/lexers/berry.py,sha256=GW5guQj9TKMhiZWusJtA8ln9uqMOwyPx-RlhULEp20c,3211
pygments/lexers/bibtex.py,sha256=zF5J72nLbshzVi9C-bnd0ZAp6wRApFG4y-opcqCPo3k,4723
pygments/lexers/boa.py,sha256=uU2IZb1Q0Eg38dkCvJI0sUCeptv8nyLO8svJp8VXjXY,3915
pygments/lexers/business.py,sha256=_oNhVsxHMz8o6VSM8QNId-LgbUBpt2jQYYX4Iv73P6s,28112
pygments/lexers/c_cpp.py,sha256=Dpu955YDV1bFzgG0vUis76w6jiL-1SJDUGzt3aVW7LA,17791
pygments/lexers/c_like.py,sha256=2L0E2kXTDdgdxeK4MG12wbEDCz1XYrV4PqHfr7mYJeU,29206
pygments/lexers/capnproto.py,sha256=RJMrCyFnGC-2G8ABritL4n75GYeQSDEahe3S0nJ6k-I,2175
pygments/lexers/cddl.py,sha256=toE1wOpZM03lDcJabkcdGtnbRtzYnfaDPsls5tcCHCM,5182
pygments/lexers/chapel.py,sha256=JqJ5oLEdg-tkOSAxxzT11dwRYGWT9asNH_5VTgd0oWk,5014
pygments/lexers/clean.py,sha256=lVUtk21Oj4qGIbfxmNkifuVvlMvAwv_-EM0p6V3lqUY,6395
pygments/lexers/comal.py,sha256=6jEqPDl9tB4y3mnUa-op7u5p-4fjhcJ9jZfj8pMU8tU,3156
pygments/lexers/compiled.py,sha256=vS3om47ex-h22RRuVCuV75235Q3Mw86UJ6qJy7fQZ5Q,1407
pygments/lexers/configs.py,sha256=p28OShOMl53sG1EQ42p9-3XN98CgseQd6bLhhvjDoR8,41825
pygments/lexers/console.py,sha256=AWdMlp5AZ42FS3P_VUkz50bDbVjLnHmks49hXTbt_IU,4148
pygments/lexers/cplint.py,sha256=ImcRkFnOVtvBR67V23GgXBPXZrPeCqDXEAoTnDxTFbI,1390
pygments/lexers/crystal.py,sha256=G0f2vAs1hb1I7rVCHpcDmlmGbiFyBfBB_vn7XMOLHEY,15756
pygments/lexers/csound.py,sha256=J3y_XkCo3YkBccdVTm51SqNWsSdQY3PqNKeDAJrdVBw,16994
pygments/lexers/css.py,sha256=BD55SDuaHybbq2_c4CQUGLpSsF9bwZ4WxCDs1rWlwT8,25314
pygments/lexers/d.py,sha256=p2CPwH1nlmRkL9ZOuI-ngPsOgLahHY8jsXJa47g0f6M,9875
pygments/lexers/dalvik.py,sha256=FPrqh0Utlf2rObbwAYlMy2NHdTUWsmoZO19NfxYvkpQ,4607
pygments/lexers/data.py,sha256=mtCLYefrhV_9DOn4C4ccwSJHHOMXof3iY1LONYBRO5s,26940
pygments/lexers/devicetree.py,sha256=eta85yUbVbdFz2qGxQpwEWgiP_oVwL8WlLlFibswJWI,4020
pygments/lexers/diff.py,sha256=N24UjVL9y1CAdotLVWLCsNONm6ze6zJN7Obgz5Twvkg,5164
pygments/lexers/dotnet.py,sha256=ajyH5dwlp2phHF9HtrqryLlrEgmovHmdUlxQ46YK6tg,29696
pygments/lexers/dsls.py,sha256=rOq1dt09hd_9bLtwNVZNy0UGzu30OFe3r0SLCCGXnJw,36774
pygments/lexers/dylan.py,sha256=fOgYUc9mXkf6tRGd82wUrsEOAroXa2gYxzMhJzDGZsU,10380
pygments/lexers/ecl.py,sha256=udGTA3tPw86hP_v0J5YodBURQkMx2MeMd9ixPcWdOP0,6372
pygments/lexers/eiffel.py,sha256=S6-eiKz9qjZXk_VJE9xLa8NrEO3V0F7hdbkVtu4Zt_w,2690
pygments/lexers/elm.py,sha256=Ic3AK6wH19iQtETVAU71cvq2bS_x9F__NIm4KlOsBXg,3152
pygments/lexers/elpi.py,sha256=wN0qfDD2ezOt6UdaNc66la9I7bmqsW7hfNTx6ZANNc4,6370
pygments/lexers/email.py,sha256=Ieu8fO3GapDB0lV2dI_ZnNj-us7Ts-CVlbLQrVdYXoc,4742
pygments/lexers/erlang.py,sha256=JTjs9wXOuydAy7gNM2Uw38_o3lFRHwV7c7Cpye_J3iI,19170
pygments/lexers/esoteric.py,sha256=72umCmQ9PjY0Clo6dZW7mnY_XnDyDExAcwicyJaiN4U,10396
pygments/lexers/ezhil.py,sha256=ozD2yYcKYuZy8Y3vkbKEQH9TlEMcgcUsmza5D1ORHcw,3273
pygments/lexers/factor.py,sha256=wxWEioRLplqZ3ZJpibJCctp_rEuVJVZ2Z9YcWc8wqsA,19531
pygments/lexers/fantom.py,sha256=lunJPZfkUF9-OAi0tNcy_JR0mudGYtHVM0y0HWsJ8Vo,10197
pygments/lexers/felix.py,sha256=H5ttiqj4qDENOPl3g0hZUDuplxA_M16JAXstmbXWALI,9646
pygments/lexers/fift.py,sha256=7R0YDRX1XmPPzFa1Tre1VIFxh89TkACkviAMK-voCyM,1621
pygments/lexers/floscript.py,sha256=TKZZDq6wihSZwkjk3DrRZ2TXq0bOyEgqHycaReyHseY,2668
pygments/lexers/forth.py,sha256=UFjgCW4XsvnQYO-DXKEISPp2RvbBB2JVSd6sBrM_Sbo,7194
pygments/lexers/fortran.py,sha256=avYkb_TXUX8QWt7rrZGyFq3Z_Oug67_x8tnh88G0HhU,10336
pygments/lexers/foxpro.py,sha256=s1qwixRW9cCywqsVnZJ0ik_1B17lxPjEF4T0k6Xz7xo,26212
pygments/lexers/freefem.py,sha256=5QwQX6ciIm2dW63VlAF9uD09Elsgy6drU0CCvdsv-OU,26914
pygments/lexers/func.py,sha256=uFfm5KAI09ahrDYb6HOnIaUxjdFQ4-OhWFEGCdGxwuY,3622
pygments/lexers/functional.py,sha256=XPPWLCDQt1LYwLXZxpTfAatB0BkjiubUiVOIHQvCjQ0,674
pygments/lexers/futhark.py,sha256=5RlltUlCtYzAB9iAWvobVsEV4S6X_qFypT0ZxiB3tXY,3732
pygments/lexers/gcodelexer.py,sha256=8kvQasYLSeFa7yjipOx8e0zgGGFQOJgFWLz4PtXpLt4,826
pygments/lexers/gdscript.py,sha256=HpLvRVPYswGG2aSDSUq-JtOvDCtdyj6wkDxK-wIB9SU,7543
pygments/lexers/go.py,sha256=m9ZZlulHhx_5D-tyrVrqOng9maHrPLYBnxxVg61PvhI,3761
pygments/lexers/grammar_notation.py,sha256=LjsPCa5mtiVfagjiLuf9bEHZQTFW6nsbDeQYLC0kCa8,7980
pygments/lexers/graph.py,sha256=Cm_dBin3iW31jXPy1yRq9dU0-3Zksyy-IKVlKLJF8Nc,3861
pygments/lexers/graphics.py,sha256=m-uomUeUeQIxZAIcza4OrZ5y7UuDK9akXWVyvyxLzcI,38931
pygments/lexers/graphviz.py,sha256=ZujNvllszspMI0BD6BaZgxO1UKZHTCM8WmQ-OmKube4,1935
pygments/lexers/gsql.py,sha256=tbOWBBzp17gicHj5CXzY1SP8d218ubqhl56bga6bFUE,3991
pygments/lexers/haskell.py,sha256=bsWwYungJg1QEZALjPJP3rlY2pCRSmbBYpDoNGC6FTA,32898
pygments/lexers/haxe.py,sha256=aBXcC389HlgCTjP0cfzFlC9t0lHrXwW4uerZ4HQy3NM,30976
pygments/lexers/hdl.py,sha256=xlunVpnsP05fMYaL1XDOFJ8lK9I_TtE48G4CI3p0uQg,22520
pygments/lexers/hexdump.py,sha256=kuh1bgrn_zrulUZyc8vv1-7ZBppKVOZN8BaK7vTqjwU,3603
pygments/lexers/html.py,sha256=B9LiFqh9VB9CL5BWhdi3_VcFE6tCs3__owyh6cqJP_0,19879
pygments/lexers/idl.py,sha256=1vtdhCVNzDel2Z-xAXKfteKRPYzjqOzmVqWV2xyunVE,15450
pygments/lexers/igor.py,sha256=cEGrCOODpPGVRJ5mQlfyOcvi0qUHwWro6X1Mm1G_1P4,30631
pygments/lexers/inferno.py,sha256=jd1m9w-NuLYi_X-xTx_lBoXloTZ2UDVoPUKyndBgaHg,3136
pygments/lexers/installers.py,sha256=HBZL4pkolvNL78X9hF5WFoDWA_LY9Ev0oOoBAKAVNcw,13178
pygments/lexers/int_fiction.py,sha256=qeYrFla6FqxJedcw0IXzOciKbJP1kV2QmDpEJ7rpkPU,57119
pygments/lexers/iolang.py,sha256=5wdWeVVgybETc94uPmLGUcsedr5viXQ0bnpNTVua0Bo,1906
pygments/lexers/j.py,sha256=Yut2H1YqXaIobVCPd0vHPGVrqfVmDpsjAoHqvnVWPpo,4854
pygments/lexers/javascript.py,sha256=c4Shx5iwskXf2crPPE8xwi_yEwQE-TWJfbtF_NovFlw,62859
pygments/lexers/jmespath.py,sha256=OtJKUxa_heEFHEOcFkxfFW4iKkp9FQX3thwxJV7yeK4,2059
pygments/lexers/jslt.py,sha256=ihdYKXtQGA6ODksKVTuujbv9pZNI_VkejgX2IRQEuq4,3701
pygments/lexers/jsonnet.py,sha256=a2RSW6jmVHJ967m4g_ScEXDEvfVnqGQa-3feIqntgS8,5635
pygments/lexers/julia.py,sha256=_BUPw1GQL-HlGcoXsldV6IIMfliqSqhaExxwJiDHMWY,11646
pygments/lexers/jvm.py,sha256=GWd3TIJO4vxbkagY6P2PnlDsqBPdyssXi89XdSyiX_8,72929
pygments/lexers/kuin.py,sha256=S-BE0wZXAixkA4HkgXEs7CX9AWS89msaeqNxacQ7Ij4,11406
pygments/lexers/lilypond.py,sha256=C8Kaipx58ESHp25shlS0x3m1AVO6Nlmy78b8CsRjeg8,9753
pygments/lexers/lisp.py,sha256=tvWRtYFrCuC7ZI4HEbK9hhnj_DlRARjqs1_tYBntfN4,144039
pygments/lexers/macaulay2.py,sha256=NnhQW3v-jRTSgupYv-pCKpixQBxR8vMfPvsQAErGnNQ,31914
pygments/lexers/make.py,sha256=XhIe6D0hx1gNm-K8lr7fFhu6Shv-kEZZubzK6wZw1VQ,7550
pygments/lexers/markup.py,sha256=Oj38Jny-qi6fpMkx6Ww5cYAtJeK-jzKU_U2dmUYhbe0,26797
pygments/lexers/math.py,sha256=QG4321ZoGwGMptGIUZbVkVP6nrYiKLKMocWEiYemdUI,676
pygments/lexers/matlab.py,sha256=BmYtM5CkDfuIWVgFfLLTuzZEu2NN9P6h9Nj4zL-gvFM,132852
pygments/lexers/maxima.py,sha256=sp3epFxSmL9aMtavhkPxHObjHCo9CUayrE5GCwPBOVc,2716
pygments/lexers/meson.py,sha256=KGfRzEHGeurl6nmyCyvLPBp6sKgH9-dmGe89elmGzTA,4337
pygments/lexers/mime.py,sha256=BuvfQO-eDIXWRJePQnjd_U3WQ__ViSoNHPG_nOsYi7w,7538
pygments/lexers/minecraft.py,sha256=iw2qLM8gFrXh0XkmrmygqO1JV4UrYgBllgUMb4BnQao,13846
pygments/lexers/mips.py,sha256=Byt2XnCaAkkLsFdutzj_JjgoHPOUSnb0IonjFDN6XbU,4604
pygments/lexers/ml.py,sha256=X0VM9cbykg3QpAY6GyAcIFLt5BftnTMUS4VzgZWKj1k,35324
pygments/lexers/modeling.py,sha256=-ZV9DRyDQcCcJJG0yvXD_PS_KoRd-u9zfJYnHX0d_lk,13524
pygments/lexers/modula2.py,sha256=eeuDGPFGFTdnGRXgyvI0HGpO8Iakadc2ZOOXbeRT9Yc,53073
pygments/lexers/monte.py,sha256=4l8-KCATmILYp2q_5Sa0gUfiwj37y_ttw99ILapY1e4,6290
pygments/lexers/mosel.py,sha256=StaXhfFdQTKB0mSCStxmA58VSD88sJnkjwNxHmk5qmI,9187
pygments/lexers/ncl.py,sha256=XJaGVsSHlAavTRuP8dUB9Fn7duwmTsiNRKKVL9pmhlQ,63962
pygments/lexers/nimrod.py,sha256=kwqLEglbD7KvOcYPa4lGM2sRKCMmUXQN93Zc1WDtPls,6416
pygments/lexers/nit.py,sha256=6hXbZnP3JabZ_VW0XrZDwruqvxavvwYwwsWqyCog0Cs,2726
pygments/lexers/nix.py,sha256=t9hU1L9H703AAaYAJjbA24C2LRXNxOl0_TZKw3ZpcVw,4015
pygments/lexers/oberon.py,sha256=ilMvauo5aCL_qmp0D4dOF_1QHuNNBbsJzPUwo_R1Zks,4169
pygments/lexers/objective.py,sha256=a15atNurUMQVN-16fPVnVGk9BRwhXUOb8N_ghIwb_PY,22961
pygments/lexers/ooc.py,sha256=0xLNAdkdaBA7ntHA5i3MKjOs0mh-9c77VQu3ELeYU4E,2982
pygments/lexers/other.py,sha256=9-OZdK9kQ3rHtEBOnyZ6YYn0FL8evjU1X2YiDMdr72I,1744
pygments/lexers/parasail.py,sha256=et4cbhlJ2tFgBpYPC6x_dUNHoHUVoQZEVL8cjSTuPHQ,2720
pygments/lexers/parsers.py,sha256=lP8WV60UmS910YydAGg3utDFH6XmXMxV4YY4Ydvf8Tw,25904
pygments/lexers/pascal.py,sha256=Gdxz8judFa9SNdaQddXbePCd6Efs-y4PhhE9gbhQuQY,30880
pygments/lexers/pawn.py,sha256=lJXk4GDxSAmf17l9YTuogxJa2QLZP_1ClvTH1Ijx_wQ,8146
pygments/lexers/perl.py,sha256=daB5xbHa2KNy8iPjCsQBVc0ITO3j85Tj7T5JovHmrtM,39170
pygments/lexers/phix.py,sha256=r607k8eFtYRWRcd3jF8SOYVN76PFs7wASFZCUdshOhQ,23252
pygments/lexers/php.py,sha256=8kg3Ag31akIHkL0jyTS0zcea0tolK6V6HhL1jPTL3tE,12505
pygments/lexers/pointless.py,sha256=FoxCSiJKEaYKKvbZ9kA6JqUZ-v3bDcadr9KaMhoNy-U,1975
pygments/lexers/pony.py,sha256=spaEuSzStQqCwAsMOyj8PCzkZ7yt2kzQVGUyLF89CuI,3244
pygments/lexers/praat.py,sha256=Lni_aar1kVyTX4mjmpPJphNKCZv4Y5NiwNmHkozo-_4,12677
pygments/lexers/procfile.py,sha256=LZO6OtDRwqaC4H0qI7ixRxOKrugOEdj-Ea6rarRfpoI,1156
pygments/lexers/prolog.py,sha256=xtXLU_SDHAWZ47PcpW_LdxdJTQQbIt0i1YZRWiAuQ9k,12351
pygments/lexers/promql.py,sha256=DYp4nDL_XcOqv98aProsERw1WoE_IyZdXhIAKk2oCYk,4715
pygments/lexers/python.py,sha256=YgccSRDRVwTiSipcoGTI3JukSFokKb6psKNRSgDICbQ,53524
pygments/lexers/q.py,sha256=GXhzLT6qbsc0LzuERBD2Gj_evoXsGZJNBhVrjOs4T0Q,6932
pygments/lexers/qlik.py,sha256=vLcdNqAz5fGmc0sRzY4USgip-IfXUI_pq151LepCR48,3665
pygments/lexers/qvt.py,sha256=6n_eR2ewHMH4FbXHQYMVlKxTwzlpA47vZHi6lmC774M,6072
pygments/lexers/r.py,sha256=rVeYGy-2QPLUFYxPKsOdmKJHto226A-9zoQawR7ATiY,6185
pygments/lexers/rdf.py,sha256=xTL6e309sP14fufIEenM2xgdYVH1MSAwUPFIPmQOCfw,15790
pygments/lexers/rebol.py,sha256=JQZ51eBw8l5oB5-mJU8a5MghibS7on0HX3opXVMQlNI,18600
pygments/lexers/resource.py,sha256=c5tALpcF4NXW0aaVDqMPW52mA3iA1L82QD6JUqat9sg,2902
pygments/lexers/ride.py,sha256=05W-azkVXs-vDcUj7rPjHa0dgYADNsVrFEw-iW4Pdl8,5056
pygments/lexers/rita.py,sha256=7e4bKm6GJ0xJVxOrxRXyWdfBvnYcWcvk4Ldnv-e-WvE,1128
pygments/lexers/rnc.py,sha256=myQvBz1qIMlXCsk89e5bUSt9xzhWwB8xIOQ0loIZjmU,1973
pygments/lexers/roboconf.py,sha256=7tqDyH39xHWW4BwFW3Om9EGIEKFE_Ni536-jiyU86Hw,1962
pygments/lexers/robotframework.py,sha256=yGrjLaHIasu61f_t3YNcjU783VGoU2tS2AGrHjznsq0,18449
pygments/lexers/ruby.py,sha256=Vx_knTQ2iQoBAlR_desRWdMQvT0De30AuHcSTnaZvvI,22775
pygments/lexers/rust.py,sha256=vO6yuMivmnS-gMFPsjkZF3PMinR8m_kZzhiT_7zMCNs,8216
pygments/lexers/sas.py,sha256=Qz-lJKNVIRtOnvLcApjMz3ZZnwny55EJft7nK1MRd8g,9400
pygments/lexers/savi.py,sha256=i5i3tzl96ZElfzYlCaT8kROG7BYCOTigocHAnzDyZ28,4645
pygments/lexers/scdoc.py,sha256=NpJ2F0Orr_ayE3OoNrF0R8o_4aCquBtqAVBiqZNvCvg,2239
pygments/lexers/scripting.py,sha256=b4tK7psshicd8sEVPP-REXHE8Qbi_F12s_u317rAig0,70014
pygments/lexers/sgf.py,sha256=mQxTXsHkgL3hvY1zdwppghJXVN4icKGGWqMK8_dOKzw,1986
pygments/lexers/shell.py,sha256=MolJW_OgLwseg-9F3k3ckps0ao6T6HwoDM9lF2AlDnc,36344
pygments/lexers/sieve.py,sha256=gYZmeIRE-RcEeJt8hELzhVKHdOKwkPaB3uFqlc5Le6M,2441
pygments/lexers/slash.py,sha256=qfYTQ3WWkn8Pe1NmWAvehyWwJbT1juA5WUS4R3VCjmQ,8482
pygments/lexers/smalltalk.py,sha256=JYnNJBqtimRyR9ykEsQkFplJiCLGoXW7VvA4BKXqCiQ,7206
pygments/lexers/smithy.py,sha256=0QhvgEQ101fF1yBSBdqJFBxSGUZFy43phlMNfCTFBRs,2660
pygments/lexers/smv.py,sha256=bXloPLxcyDntLqvKqh_Po5qe0cqYe_DOpiLRFKEV5oo,2773
pygments/lexers/snobol.py,sha256=YBwLeRfXaT8dZTMqnzeuAsBeu7Pix0vfUlpTSLye4XY,2732
pygments/lexers/solidity.py,sha256=9tkwj6imMH9GMG5g7iyC2rCuTMEUURW7bRxt77EgWh8,3127
pygments/lexers/sophia.py,sha256=jHWK3Cnznj7rqbSpEIZS_GE5a_TNfNv0OC1Afy8YtFE,3330
pygments/lexers/special.py,sha256=IwOkIlL8a555xHR7hMLWiuYVWTb-Gix19BoZ0d24LaQ,3414
pygments/lexers/spice.py,sha256=g5f8iqkKG6UV_8BcclZWVYH-btNk6nvZW7aSyiq2UF8,2694
pygments/lexers/sql.py,sha256=dGo7jbOcqbLSBPElnH45AkeGKhjZAvGf67euotbbGtw,34151
pygments/lexers/srcinfo.py,sha256=7csqeQayNYiNT6HYRwfH7xVM5ZzYlrtHGDBXpojzN3A,1693
pygments/lexers/stata.py,sha256=Bprs-_8e6BhgNuO4xl5toeL2-cPnr7TobR0X-l8svhU,6416
pygments/lexers/supercollider.py,sha256=5TxrBNAERHERxWLeEcQoc65a0eQdk3UmMRwhpQP3CwE,3698
pygments/lexers/tal.py,sha256=-VVpJ8R0YenDzPZjW47x8zuRkc3wGuXiynHD5_U5TaQ,2639
pygments/lexers/tcl.py,sha256=G52CxD_OkWm4WtRc5mr51RMyngU0UoMT4DssseRdi1c,5513
pygments/lexers/teal.py,sha256=m4yWBEetrTC-brmLt5fv6t1GEnFF8Wlb1RFYkRK5fA8,3523
pygments/lexers/templates.py,sha256=R6O_ATWGVvMLiQJW45Z5ZHqN1mkyG-bM2ofC_y1NiOk,72695
pygments/lexers/teraterm.py,sha256=dipxLoZEBB9L4-QPH3hcbgjr4puRO9a5_jzCz8tcoPI,9719
pygments/lexers/testing.py,sha256=Oz6NAbYkthNO8pVbqXoFCCyg7EHZ-KziTXCGMJ8VMDI,10767
pygments/lexers/text.py,sha256=T598C2HVyjqr3SLJOyrSaOAyvWMdRkh0KJVto4Reey4,1029
pygments/lexers/textedit.py,sha256=9BqDTqb_yyW4kLXG8o9JJZraHuRY3G3Rjp7-m2cnGFI,7609
pygments/lexers/textfmts.py,sha256=tB12c6K46HNlPnMkYJsOkHq1WgOU5Q9iJBRk43jR2RY,15192
pygments/lexers/theorem.py,sha256=nudVRoSM49oG7lIqr8vtQuijaUL291YA0TlMljsZVaY,20157
pygments/lexers/thingsdb.py,sha256=OoxmXDAFqdjDoFCTMpRFaTkcFsb2ysNqf6xu6RnnufY,4228
pygments/lexers/tlb.py,sha256=WISgfhh5GezvA1GbEQR8PPhZTuDy4m8F9r0tmZrGR4w,1377
pygments/lexers/tnt.py,sha256=yelC-PhBToBfpQIZiDbzKHlQasNCETMvrczpRGg2oCE,10457
pygments/lexers/trafficscript.py,sha256=w5Mdqgijll6h8P8VfFEHtxrwgDoQVpjFQ_M9026QjBw,1474
pygments/lexers/typoscript.py,sha256=M3CIQyFyoWtWnL4qtCgcYN6W4_Qt_oOX2tOt564q2rc,8207
pygments/lexers/ul4.py,sha256=kAtCB6j6zZ6dSttxGyabWRBoik-Vy4TU5kIT-7zEYqg,8956
pygments/lexers/unicon.py,sha256=UuyTkgoXTq3Kl-J5FW7rka1yrwBCvO_AFhWomNDxbR8,18512
pygments/lexers/urbi.py,sha256=kz7TX7UPHOr_liD_FQRpBn3268KD4InI9SmPIp7BlhY,6037
pygments/lexers/usd.py,sha256=N9MUFsDqJZzw8ZdDWYaMrX_XIKxk9T2M0402pJZpYTE,3513
pygments/lexers/varnish.py,sha256=eHQM2dbFYi-TI_413YOFB33YhldIjrNa5uefHOPFojs,7273
pygments/lexers/verification.py,sha256=A8BIr2VUYLJCGjKgfH5-aAxqWoph_iTzg5mbpXihMpY,3885
pygments/lexers/web.py,sha256=hgpw-BBgmZfROb8xFI5ZNBLF12MP9fRmlI2DQ79TRYM,894
pygments/lexers/webassembly.py,sha256=4s2yUHCgioi2KhbRiB3MCphhGxh0IJatCPKmRLp3cVY,5699
pygments/lexers/webidl.py,sha256=-XzNoWNfCbFk7Os7y8cvjR0U7iek9cdDZrcxkxxTzCU,10517
pygments/lexers/webmisc.py,sha256=kPeKj6PdhqEWUs5jpfRmKJQwDPDx2PbIFXwOuARx6dg,40549
pygments/lexers/whiley.py,sha256=xbY5vJKypVrRNnfgqDAVhzSbtyFEmOnnG9YrXDnhEPc,4018
pygments/lexers/wowtoc.py,sha256=QZD9uT1Npm1gmhsx-Lg7HuLZUYmsf_DdPlQZvqJam18,4021
pygments/lexers/wren.py,sha256=oQaw4I2-VTnSLlQ5SDDxMT62HVZrekJbsPUbvhpkxJM,3239
pygments/lexers/x10.py,sha256=slBniBkTAoeARUp-8Pq0Uf_P7Xw0_ZdmKPjYaazZ92Q,1920
pygments/lexers/xorg.py,sha256=HyrsUM9WU0ktPnMn-7DYgyrPyb2xQHpClPl5O5XWLkk,902
pygments/lexers/yang.py,sha256=360AyTrEZNSFFN4xACs4xsAls4XqgjqOvVGOX7uJJ1c,4500
pygments/lexers/zig.py,sha256=5pzDDrS-b5QRa9LC9bxO19e7JR6nCan7JAJa1FJdbhM,3953
pygments/modeline.py,sha256=gIbMSYrjSWPk0oATz7W9vMBYkUyTK2OcdVyKjioDRvA,986
pygments/plugin.py,sha256=0JlFSNPQ2SXzB4IEQDnHeKlmjhsT-0ONajPUHCbShb4,2579
pygments/regexopt.py,sha256=c6xcXGpGgvCET_3VWawJJqAnOp0QttFpQEdOPNY2Py0,3072
pygments/scanner.py,sha256=F2T2G6cpkj-yZtzGQr-sOBw5w5-96UrJWveZN6va2aM,3092
pygments/sphinxext.py,sha256=ZZtT7K-3_CV2894C3m-K1rZcsZPo94pcZuZfvLQy2ns,6816
pygments/style.py,sha256=DkiPE6Gj8YmBigEnlln1cI9QVEOHbi8IY-RyVSwQbYE,6245
pygments/styles/__init__.py,sha256=RvZV2e6sBYYz5DJ-Z3bNeMm1UEBAJBQbxkIf1-w1BAI,3395
pygments/styles/__pycache__/__init__.cpython-310.pyc,,
pygments/styles/__pycache__/abap.cpython-310.pyc,,
pygments/styles/__pycache__/algol.cpython-310.pyc,,
pygments/styles/__pycache__/algol_nu.cpython-310.pyc,,
pygments/styles/__pycache__/arduino.cpython-310.pyc,,
pygments/styles/__pycache__/autumn.cpython-310.pyc,,
pygments/styles/__pycache__/borland.cpython-310.pyc,,
pygments/styles/__pycache__/bw.cpython-310.pyc,,
pygments/styles/__pycache__/colorful.cpython-310.pyc,,
pygments/styles/__pycache__/default.cpython-310.pyc,,
pygments/styles/__pycache__/dracula.cpython-310.pyc,,
pygments/styles/__pycache__/emacs.cpython-310.pyc,,
pygments/styles/__pycache__/friendly.cpython-310.pyc,,
pygments/styles/__pycache__/friendly_grayscale.cpython-310.pyc,,
pygments/styles/__pycache__/fruity.cpython-310.pyc,,
pygments/styles/__pycache__/gh_dark.cpython-310.pyc,,
pygments/styles/__pycache__/gruvbox.cpython-310.pyc,,
pygments/styles/__pycache__/igor.cpython-310.pyc,,
pygments/styles/__pycache__/inkpot.cpython-310.pyc,,
pygments/styles/__pycache__/lilypond.cpython-310.pyc,,
pygments/styles/__pycache__/lovelace.cpython-310.pyc,,
pygments/styles/__pycache__/manni.cpython-310.pyc,,
pygments/styles/__pycache__/material.cpython-310.pyc,,
pygments/styles/__pycache__/monokai.cpython-310.pyc,,
pygments/styles/__pycache__/murphy.cpython-310.pyc,,
pygments/styles/__pycache__/native.cpython-310.pyc,,
pygments/styles/__pycache__/nord.cpython-310.pyc,,
pygments/styles/__pycache__/onedark.cpython-310.pyc,,
pygments/styles/__pycache__/paraiso_dark.cpython-310.pyc,,
pygments/styles/__pycache__/paraiso_light.cpython-310.pyc,,
pygments/styles/__pycache__/pastie.cpython-310.pyc,,
pygments/styles/__pycache__/perldoc.cpython-310.pyc,,
pygments/styles/__pycache__/rainbow_dash.cpython-310.pyc,,
pygments/styles/__pycache__/rrt.cpython-310.pyc,,
pygments/styles/__pycache__/sas.cpython-310.pyc,,
pygments/styles/__pycache__/solarized.cpython-310.pyc,,
pygments/styles/__pycache__/staroffice.cpython-310.pyc,,
pygments/styles/__pycache__/stata_dark.cpython-310.pyc,,
pygments/styles/__pycache__/stata_light.cpython-310.pyc,,
pygments/styles/__pycache__/tango.cpython-310.pyc,,
pygments/styles/__pycache__/trac.cpython-310.pyc,,
pygments/styles/__pycache__/vim.cpython-310.pyc,,
pygments/styles/__pycache__/vs.cpython-310.pyc,,
pygments/styles/__pycache__/xcode.cpython-310.pyc,,
pygments/styles/__pycache__/zenburn.cpython-310.pyc,,
pygments/styles/abap.py,sha256=7QsS8lOQh_M3dr76KQ3-RaYIBfEWeNosEgMsBvu_2QU,705
pygments/styles/algol.py,sha256=kz5ILXpiYKJF11_4xOPxpG91Wm8zGt6RBqiL3sH3oRQ,2216
pygments/styles/algol_nu.py,sha256=_-Pl6edSeuJDt5XLQLwXPhy85nYhnjKiMTSFtMZ-2O8,2231
pygments/styles/arduino.py,sha256=xydJymOW4pLjX_ZUuyRpKNL0Cpbi-dGNT3-VQUW9wu4,4443
pygments/styles/autumn.py,sha256=Se4tPjreFfhX3XskKNGUEdvfobNL-itd5qO33-zsrZg,2096
pygments/styles/borland.py,sha256=6hivq7_FxLDJoXXy-2HBsojFca8b7ulblJCYt8LbTUs,1514
pygments/styles/bw.py,sha256=QcIDiosv20OYBe0D5mu1KZx6ll6L7w06__IUsivjvH0,1308
pygments/styles/colorful.py,sha256=K2uHGWEd3fO5bAhHbp_5Z3FBTioHlZFSbPsvvvCKjbc,2730
pygments/styles/default.py,sha256=Y2OCPkQo96Nhut9JJ5gKiSUdw34jZyF0mztYKt8sdHk,2488
pygments/styles/dracula.py,sha256=n5y1aKUaRVeFAyQUhzCYfAYAYb_mB0qGNNHbOoEgMvI,3314
pygments/styles/emacs.py,sha256=hPlFDlCx5uOxQS2-lfJ_iWp7t6NzKzV8pG-nRL4QaDY,2439
pygments/styles/friendly.py,sha256=lk-aZIv6oU6BcP1nuzk7YnCyfT8N09zvGPLTijZaptU,2502
pygments/styles/friendly_grayscale.py,sha256=jU9YccoY0WEZbLnyQ6Ms_GD9UU9nIxyYJ01cOK3vK74,2707
pygments/styles/fruity.py,sha256=YSLME-2ldk806w2q8KwPEwJG_lUwbDjgUOON6GWqPOQ,1274
pygments/styles/gh_dark.py,sha256=1uTXQQLge1c0sSlYdWpO8E-oHZpA3cZtp8lg697V_5c,3481
pygments/styles/gruvbox.py,sha256=wXEvbg9oUVIberD9NK09HqxXZF9hJZU_wWID6N91auM,3230
pygments/styles/igor.py,sha256=HShSIPfYFBjb7-_OKS1ybrJ7LGFAYf-mIbbFVORONvg,692
pygments/styles/inkpot.py,sha256=PuYymWU-qaLZlJUvm9IV8apx0cud8JyTUMMc7yKVZes,2302
pygments/styles/lilypond.py,sha256=fvNi0XzR4Y_nikorTzBBiACkrgbb6XKWrElT4x6fwhQ,2016
pygments/styles/lovelace.py,sha256=O1B_qFnjWqMvjPkmrdJjP6L14C1nodQst_TkbcsQPzQ,3117
pygments/styles/manni.py,sha256=0wijm_0LctgoBpeJFR_spuriSafmxEm_r8AQLGwiMJc,2350
pygments/styles/material.py,sha256=DenZF_lrw1qy9vYyb78VJMRQd9WvjgZvkuquG7Pjcno,4083
pygments/styles/monokai.py,sha256=WXuj6DE33quDFva-6iG2h0UPXJd9AttKRsQCKzsFFvA,5063
pygments/styles/murphy.py,sha256=XBQ8cnbj8-UJ1BPSrVZ71RJLg4cnG_27G3JMEJhH3q8,2703
pygments/styles/native.py,sha256=4dM251hEDZSHpn3TDmKESTw4ipkKhJbjUEGoioiqsdU,1948
pygments/styles/nord.py,sha256=XgccTxZtXlQg04u4ZTrsFBviCoqqCEp2REiAj5flQbM,5244
pygments/styles/onedark.py,sha256=to_IrmgcfyPsjRiikCDi3ApkDXMrtmv1C_zA7DmF4Ok,1664
pygments/styles/paraiso_dark.py,sha256=wqFMXgju9IpuODurCHwdRpyE0vzZCh3sjvEfIy_elvU,5526
pygments/styles/paraiso_light.py,sha256=1EbYrcy_zP081a0iad2x2jE7789F28T8TSVD_A5eb0Y,5530
pygments/styles/pastie.py,sha256=hT4VrEWQiTK26ewereBf124SQ6nvBRXQU1QQa8DGb-I,2425
pygments/styles/perldoc.py,sha256=3hw_EUgbnm_JhvMhDZq7B54oRhIM1N8hsovlZIqUF_k,2128
pygments/styles/rainbow_dash.py,sha256=tRcpKBqufUNlbtbxWuZhlXEMg98kUcWlIfIvBvgt098,2432
pygments/styles/rrt.py,sha256=MgLkoeLMjoyqEd52hZSutH54LzPQG7fPAcyAG8iDo9I,874
pygments/styles/sas.py,sha256=NhE8FA1mbbleQlJnC6m7sQVBKrOE1vSqbPc3v7c6Lno,1393
pygments/styles/solarized.py,sha256=fgBJq12PRG1UspBft3r0fMdZxFjI9Etm8XfiTNdiZRg,4078
pygments/styles/staroffice.py,sha256=YLgK5QjuZndITzDTlzbQs5tztp-p2-5MbUJ2XY7aX00,770
pygments/styles/stata_dark.py,sha256=tWF-PomZTIodRJaZVbv1gZK_PAkFr86qQwzAq0_xC4M,1198
pygments/styles/stata_light.py,sha256=VBSqRQQJJWOHOwpInZ0ClSRETRCcTRARJ3-PWzZ92D0,1227
pygments/styles/tango.py,sha256=rAVsYXJtnDwf1Zpy8JCC5zasEiUx-XNemZGe8kqBGC8,7039
pygments/styles/trac.py,sha256=Ota0CWC6xlZmXWoDWlhQAe71ruww_ZURrOAXZSI6Xfk,1885
pygments/styles/vim.py,sha256=Z3D9OFwGm8LhgIgzlwL4nBcke8t2YtL1R93k3mx_RJk,1922
pygments/styles/vs.py,sha256=rZHvA7M5hjZ1ZHB1zMP06Ktn6MU55_8z6AyHCTFXxxM,1026
pygments/styles/xcode.py,sha256=SyX3Rh4_g5F_Vz9ntWDhSFuBerPp_tj4j3VrMSG2zcE,1453
pygments/styles/zenburn.py,sha256=1EF8-K8mbl4Ooe0idwQo0rZOVXSaZK5m3HJrVT7HkZk,2148
pygments/token.py,sha256=vA2yNHGJBHfq4jNQSah7C9DmIOp34MmYHPA8P-cYAHI,6184
pygments/unistring.py,sha256=gP3gK-6C4oAFjjo9HvoahsqzuV4Qz0jl0E0OxfDerHI,63187
pygments/util.py,sha256=KgwpWWC3By5AiNwxGTI7oI9aXupH2TyZWukafBJe0Mg,9110

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.38.4)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,2 @@
[console_scripts]
pygmentize = pygments.cmdline:main

View File

@@ -0,0 +1,42 @@
ROPgadget project (>= v5.0)
===================================================
Authors:
* Jonathan Salwan
Contributors:
* hugsy - Has added the --offset option
* Francisco Falcon - Has fixed the --badbytes option and added the count/loaddb/save2db console features
* Kevin Hamacher - Added some functionality for using ROPgadget as library. Also added support for x86(_64) jmp {r,e}sp/call {r,e}sp instructions
* Florian Meier - Added the 64b ROP chain generation
* Álvaro Felipe Melchor (increase performance)
* Sascha Schirra (features, python3, bugs fix)
* Stephen Edwards (increase performance)
* Mikhail Davidov (features)
* penguin-wwy (features)
ROPgadget initial project (<= v4.0.3)
===================================================
Authors:
* Jonathan Salwan
* Allan Wirth
Contributors:
* Hellman (Bug Fix)
* Axel "0vercl0k" Souchet (Bug Fix)
* k3rensk1 (Bug repport)
* brianairb (Bug Fix)
* cao (Bug Fix)
* dark-rose (Made searching for gadgets faster)
* Dennis Semakin (Bug Fix)

View File

@@ -0,0 +1,27 @@
This is the software license for the ROPgadget project.
Copyright (c) 2016. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the developers nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,21 @@
Metadata-Version: 2.1
Name: ROPGadget
Version: 7.2
Summary: This tool lets you search your gadgets on your binaries to facilitate your ROP exploitation.
Home-page: https://github.com/JonathanSalwan/ROPgadget
Author: Jonathan Salwan
Author-email: jonathan.salwan@gmail.com
License: BSD
Platform: UNKNOWN
Classifier: Topic :: Security
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Requires-Dist: capstone
ROPgadget supports ELF, PE and Mach-O format on x86, x64, ARM, ARM64, PowerPC, SPARC and MIPS architectures.
http://www.shell-storm.org/project/ROPgadget/

View File

@@ -0,0 +1,48 @@
../../../bin/ROPgadget,sha256=66sfel-RC7XoIo2NJuiT6QWvowTlLGpfYhi6N7RuKig,274
ROPGadget-7.2.dist-info/AUTHORS,sha256=NMlD11PmGPnCjgFuqYHDYC-4h43ryNgnF-vDFADsPtk,1010
ROPGadget-7.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
ROPGadget-7.2.dist-info/LICENSE_BSD.txt,sha256=Nr4LPAtrALjBb31cALlbpiq6Z1u1UIueJE-OduStN24,1527
ROPGadget-7.2.dist-info/METADATA,sha256=pX319dwSerCUjOIcrTwlp-X8TwK3lMdZ0CUNuVUxEms,789
ROPGadget-7.2.dist-info/RECORD,,
ROPGadget-7.2.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
ROPGadget-7.2.dist-info/top_level.txt,sha256=twJ2yeGjspwsxe8agsNyKtHVn2XcYeK2jK9tGyYZsL8,10
ropgadget/__init__.py,sha256=pwsoDdW3amGfTskGli31tHFL1bmOH8YbXl_6y7eCbZs,676
ropgadget/__pycache__/__init__.cpython-310.pyc,,
ropgadget/__pycache__/args.cpython-310.pyc,,
ropgadget/__pycache__/binary.cpython-310.pyc,,
ropgadget/__pycache__/core.cpython-310.pyc,,
ropgadget/__pycache__/gadgets.cpython-310.pyc,,
ropgadget/__pycache__/options.cpython-310.pyc,,
ropgadget/__pycache__/rgutils.cpython-310.pyc,,
ropgadget/__pycache__/updateAlert.cpython-310.pyc,,
ropgadget/__pycache__/version.cpython-310.pyc,,
ropgadget/args.py,sha256=vYn3Qoni0AXxy3XgMCHQ_xlv3VNhnlZmNOWBljqBAzs,9109
ropgadget/binary.py,sha256=eF3tdRw6Y_zb2x6OeCzf1uZsqVwF137LHlV-GUoZxlQ,2409
ropgadget/core.py,sha256=O6A6DVPwZq_rZFYW3zuvCWJ1nLvjWNjrEYuvjaS-A0w,21995
ropgadget/gadgets.py,sha256=VT2fGJIeIsU0pn5X6sMhMuKODCFTO4pKKIe5tr15zng,17957
ropgadget/loaders/__init__.py,sha256=iCtHQx-LPhAa0UwAL-PB5DlOvr9D8vBYyTrRHWHF1Vg,286
ropgadget/loaders/__pycache__/__init__.cpython-310.pyc,,
ropgadget/loaders/__pycache__/elf.cpython-310.pyc,,
ropgadget/loaders/__pycache__/macho.cpython-310.pyc,,
ropgadget/loaders/__pycache__/pe.cpython-310.pyc,,
ropgadget/loaders/__pycache__/raw.cpython-310.pyc,,
ropgadget/loaders/__pycache__/universal.cpython-310.pyc,,
ropgadget/loaders/elf.py,sha256=QWwYInRirhNBNIR8AxJEYieoe1SkHgqj7saVWf_ApW8,14262
ropgadget/loaders/macho.py,sha256=lRY0rRm8G9BROdl2effOHP5eDN2FhnTs-YMviIGbMmE,12456
ropgadget/loaders/pe.py,sha256=I2VZWw34jq96mEg_wKBZifSNP1qeVcPdUYG2pkmGAqk,10636
ropgadget/loaders/raw.py,sha256=zo3RS-lWMmbQ1GTBYAHHh_9qrsfoFg1mP6aQS4NonxQ,2098
ropgadget/loaders/universal.py,sha256=xOXEkw0O6UNGfi6goq3lxHfCcmZHAJrUhBnEz7aq4d0,3289
ropgadget/options.py,sha256=_whM33afPeuZZFIY080xi7kHJGh0yMh0-DqlnKotEUU,5108
ropgadget/rgutils.py,sha256=F4AK1G2HFjek3A99eSXSw6VkIfT0Vokt1AjiEktArpc,597
ropgadget/ropchain/__init__.py,sha256=06ABVGAa7OnSHOGVGOuA3z_fsSFY91LvhwYZMxx7uk0,199
ropgadget/ropchain/__pycache__/__init__.cpython-310.pyc,,
ropgadget/ropchain/__pycache__/ropmaker.cpython-310.pyc,,
ropgadget/ropchain/arch/__init__.py,sha256=FwKOJ2oMmQQAEF5C9GnK6UhWeHI1Je_j-xf-c33V2TY,219
ropgadget/ropchain/arch/__pycache__/__init__.cpython-310.pyc,,
ropgadget/ropchain/arch/__pycache__/ropmakerx64.cpython-310.pyc,,
ropgadget/ropchain/arch/__pycache__/ropmakerx86.cpython-310.pyc,,
ropgadget/ropchain/arch/ropmakerx64.py,sha256=WK6gs8PeOXg371aDZjIqUv_cx-P95STIw35UfNu6Tkg,9156
ropgadget/ropchain/arch/ropmakerx86.py,sha256=HqNLWnt4ZeCDYaCUkWuvgHMQ1JIkkbPtwPYVWrJSvMg,9087
ropgadget/ropchain/ropmaker.py,sha256=wh9DowNHYuNeA4yh6aJexfZpN3X7rFKPkYq1KUNM0hM,1124
ropgadget/updateAlert.py,sha256=HunDsYzUukxnxKQTudoIxMrhCRBbkV5QquJY0fh3mb0,1244
ropgadget/version.py,sha256=mDeU8eQAze6lO8gQgKMYLKV6T3XeNhzVlItWsDepBNM,291

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.34.2)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,222 @@
# don't import any costly modules
import sys
import os
is_pypy = '__pypy__' in sys.builtin_module_names
def warn_distutils_present():
if 'distutils' not in sys.modules:
return
if is_pypy and sys.version_info < (3, 7):
# PyPy for 3.6 unconditionally imports distutils, so bypass the warning
# https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
return
import warnings
warnings.warn(
"Distutils was imported before Setuptools, but importing Setuptools "
"also replaces the `distutils` module in `sys.modules`. This may lead "
"to undesirable behaviors or errors. To avoid these issues, avoid "
"using distutils directly, ensure that setuptools is installed in the "
"traditional way (e.g. not an editable install), and/or make sure "
"that setuptools is always imported before distutils."
)
def clear_distutils():
if 'distutils' not in sys.modules:
return
import warnings
warnings.warn("Setuptools is replacing distutils.")
mods = [
name
for name in sys.modules
if name == "distutils" or name.startswith("distutils.")
]
for name in mods:
del sys.modules[name]
def enabled():
"""
Allow selection of distutils by environment variable.
"""
which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local')
return which == 'local'
def ensure_local_distutils():
import importlib
clear_distutils()
# With the DistutilsMetaFinder in place,
# perform an import to cause distutils to be
# loaded from setuptools._distutils. Ref #2906.
with shim():
importlib.import_module('distutils')
# check that submodules load as expected
core = importlib.import_module('distutils.core')
assert '_distutils' in core.__file__, core.__file__
assert 'setuptools._distutils.log' not in sys.modules
def do_override():
"""
Ensure that the local copy of distutils is preferred over stdlib.
See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
for more motivation.
"""
if enabled():
warn_distutils_present()
ensure_local_distutils()
class _TrivialRe:
def __init__(self, *patterns):
self._patterns = patterns
def match(self, string):
return all(pat in string for pat in self._patterns)
class DistutilsMetaFinder:
def find_spec(self, fullname, path, target=None):
# optimization: only consider top level modules and those
# found in the CPython test suite.
if path is not None and not fullname.startswith('test.'):
return
method_name = 'spec_for_{fullname}'.format(**locals())
method = getattr(self, method_name, lambda: None)
return method()
def spec_for_distutils(self):
if self.is_cpython():
return
import importlib
import importlib.abc
import importlib.util
try:
mod = importlib.import_module('setuptools._distutils')
except Exception:
# There are a couple of cases where setuptools._distutils
# may not be present:
# - An older Setuptools without a local distutils is
# taking precedence. Ref #2957.
# - Path manipulation during sitecustomize removes
# setuptools from the path but only after the hook
# has been loaded. Ref #2980.
# In either case, fall back to stdlib behavior.
return
class DistutilsLoader(importlib.abc.Loader):
def create_module(self, spec):
mod.__name__ = 'distutils'
return mod
def exec_module(self, module):
pass
return importlib.util.spec_from_loader(
'distutils', DistutilsLoader(), origin=mod.__file__
)
@staticmethod
def is_cpython():
"""
Suppress supplying distutils for CPython (build and tests).
Ref #2965 and #3007.
"""
return os.path.isfile('pybuilddir.txt')
def spec_for_pip(self):
"""
Ensure stdlib distutils when running under pip.
See pypa/pip#8761 for rationale.
"""
if self.pip_imported_during_build():
return
clear_distutils()
self.spec_for_distutils = lambda: None
@classmethod
def pip_imported_during_build(cls):
"""
Detect if pip is being imported in a build script. Ref #2355.
"""
import traceback
return any(
cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None)
)
@staticmethod
def frame_file_is_setup(frame):
"""
Return True if the indicated frame suggests a setup.py file.
"""
# some frames may not have __file__ (#2940)
return frame.f_globals.get('__file__', '').endswith('setup.py')
def spec_for_sensitive_tests(self):
"""
Ensure stdlib distutils when running select tests under CPython.
python/cpython#91169
"""
clear_distutils()
self.spec_for_distutils = lambda: None
sensitive_tests = (
[
'test.test_distutils',
'test.test_peg_generator',
'test.test_importlib',
]
if sys.version_info < (3, 10)
else [
'test.test_distutils',
]
)
for name in DistutilsMetaFinder.sensitive_tests:
setattr(
DistutilsMetaFinder,
f'spec_for_{name}',
DistutilsMetaFinder.spec_for_sensitive_tests,
)
DISTUTILS_FINDER = DistutilsMetaFinder()
def add_shim():
DISTUTILS_FINDER in sys.meta_path or insert_shim()
class shim:
def __enter__(self):
insert_shim()
def __exit__(self, exc, value, tb):
remove_shim()
def insert_shim():
sys.meta_path.insert(0, DISTUTILS_FINDER)
def remove_shim():
try:
sys.meta_path.remove(DISTUTILS_FINDER)
except ValueError:
pass

View File

@@ -0,0 +1 @@
__import__('_distutils_hack').do_override()

View File

@@ -0,0 +1,24 @@
Copyright (c) 2015, The Regents of the University of California
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,17 @@
Metadata-Version: 2.1
Name: ailment
Version: 9.2.35
Summary: The angr intermediate language.
Home-page: https://github.com/angr/ailment
License: BSD-2-Clause
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
# AILment
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
AIL is the angr intermediate language.

View File

@@ -0,0 +1,26 @@
ailment-9.2.35.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
ailment-9.2.35.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
ailment-9.2.35.dist-info/METADATA,sha256=V27btAiiAx0Cml-y2BFKNFyqxvuA57RPMI8lRtbUNzg,562
ailment-9.2.35.dist-info/RECORD,,
ailment-9.2.35.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
ailment-9.2.35.dist-info/top_level.txt,sha256=umMYjBtkyUxaG8cNAFoLiaZZwvC2WMEI4K29_Yrg_6I,8
ailment/__init__.py,sha256=CDVL_VZOJBbaijFixynY1zsXDFbz29sX-uczzh3xh1A,1905
ailment/__pycache__/__init__.cpython-310.pyc,,
ailment/__pycache__/block.cpython-310.pyc,,
ailment/__pycache__/converter_common.cpython-310.pyc,,
ailment/__pycache__/converter_pcode.cpython-310.pyc,,
ailment/__pycache__/converter_vex.cpython-310.pyc,,
ailment/__pycache__/expression.cpython-310.pyc,,
ailment/__pycache__/manager.cpython-310.pyc,,
ailment/__pycache__/statement.cpython-310.pyc,,
ailment/__pycache__/tagged_object.cpython-310.pyc,,
ailment/__pycache__/utils.cpython-310.pyc,,
ailment/block.py,sha256=DiNR51qTyosIU4TcZ5pr5BDQlc3ttJby5bNHy1OafUY,2113
ailment/converter_common.py,sha256=79_x_ylOSSwrqhbPTEX-9Z2CgBJMeXME-_9_eOGFu2I,145
ailment/converter_pcode.py,sha256=a1PCyFtTgq5VlvQetrD0nicvhhjxxZHC00JeAdpKI5k,18928
ailment/converter_vex.py,sha256=oGeYhCwpLR0xcqE38dd4RvfA-UncojcGStDnW-MOvfs,24272
ailment/expression.py,sha256=-X6J-iDhUgSsBfgN6LW4bhU6OqSQEspp4aPzghEoEmo,32246
ailment/manager.py,sha256=JkiotpQ6NNCA8uTWJmp5oAVxsDQQfLtwSIBYB2Smmrc,704
ailment/statement.py,sha256=hHULnIaFm3h-1ofC4K4Svyc8zVam6T-0WaO1dNQgvQ4,19034
ailment/tagged_object.py,sha256=_mIG9Ni20GmA73i-aVnU454rE_SusN67QxIWykZeZe4,1538
ailment/utils.py,sha256=NKyWR3YF6MMgNmRLSCwL-h4A6pRdvd0KgMmMdkgBJzs,2665

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.38.4)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,73 @@
__version__ = "9.2.35"
import logging
from typing import Set
from .block import Block
from . import statement as Stmt
from . import expression as Expr
from .statement import Assignment
from .expression import Expression, Const, Tmp, Register, UnaryOp, BinaryOp
from .converter_common import Converter
from .manager import Manager
log = logging.getLogger(__name__)
available_converters: Set[str] = set()
try:
from .converter_vex import VEXIRSBConverter
import pyvex
available_converters.add("vex")
except ImportError as e:
log.debug("Could not import VEXIRSBConverter")
log.debug(e)
try:
from .converter_pcode import PCodeIRSBConverter
from angr.engines import pcode
available_converters.add("pcode")
except ImportError as e:
log.debug("Could not import PCodeIRSBConverter")
log.debug(e)
class IRSBConverter(Converter):
@staticmethod
def convert(irsb, manager): # pylint:disable=arguments-differ
"""
Convert the given IRSB to an AIL block
:param irsb: The IRSB to convert
:param manager: The manager to use
:return: Returns the converted block
"""
if "pcode" in available_converters and isinstance(irsb, pcode.lifter.IRSB):
return PCodeIRSBConverter.convert(irsb, manager)
elif "vex" in available_converters and isinstance(irsb, pyvex.IRSB):
return VEXIRSBConverter.convert(irsb, manager)
else:
raise ValueError("No converter available for %s" % type(irsb))
__all__ = [
"available_converters",
"Block",
"Stmt",
"Expr",
"Assignment",
"Expression",
"Const",
"Tmp",
"Register",
"UnaryOp",
"BinaryOp",
"Manager",
"IRSBConverter",
*(["PCodeIRSBConverter"] if "pcode" in available_converters else []),
*(["VEXIRSBConverter"] if "vex" in available_converters else []),
]

View File

@@ -0,0 +1,70 @@
from typing import List, TYPE_CHECKING
if TYPE_CHECKING:
from .statement import Statement
class Block:
"""
Describes an AIL block.
"""
__slots__ = (
"addr",
"original_size",
"statements",
"idx",
)
def __init__(self, addr, original_size, statements=None, idx=None):
self.addr = addr
self.original_size = original_size
self.statements: List["Statement"] = [] if statements is None else statements
self.idx = idx
def copy(self, statements=None):
return Block(
addr=self.addr,
original_size=self.original_size,
statements=self.statements[::] if statements is None else statements,
idx=self.idx,
)
def __repr__(self):
if self.idx is None:
return "<AILBlock %#x of %d statements>" % (self.addr, len(self.statements))
else:
return "<AILBlock %#x.%d of %d statements>" % (self.addr, self.idx, len(self.statements))
def __str__(self):
if self.idx is None:
block_str = "## Block %x\n" % self.addr
else:
block_str = "## Block %x.%d\n" % (self.addr, self.idx)
stmts_str = "\n".join(
[
("%02d | %s | " % (i, hex(getattr(stmt, "ins_addr", 0)))) + str(stmt)
for i, stmt in enumerate(self.statements)
]
)
block_str += stmts_str
return block_str
def __eq__(self, other):
return (
type(other) is Block
and self.addr == other.addr
and self.statements == other.statements
and self.idx == other.idx
)
def likes(self, other):
return (
type(other) is Block
and len(self.statements) == len(other.statements)
and all(s1.likes(s2) for s1, s2 in zip(self.statements, other.statements))
)
def __hash__(self):
# Changing statements does not change the hash of a block, which allows in-place statement editing
return hash((Block, self.addr, self.idx))

Some files were not shown because too many files have changed in this diff Show More