o
     zqf                    @   s  d Z ddlmZ ddlZddlmZ edededed	d
ZedZ	i dfddZ
i dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfdd Zi dfd!d"Zi dfd#d$Zi dfd%d&ZdS )'z2.19.1    )DecimalN   )JsonSchemaValueException^.*$.+^.+$z^[^@]+@[^@]+\.[^@]+\Z)r   r   r   idn-email_re_patternc                 C      t | ||pdd  | S Ndata )[validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependenciesr   custom_formatsname_prefix r   /root/parts/websockify/install/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.pyvalidate      r   c              '   C   s^  t | tstd|pd d | d|pd d dddg ddd	dd
d	dg dddiddddddddgddddddgddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddg ddddg ddddidddg ddddiddg ddddEdiddEdigd8dg ddd	d+dtdidEdigidddiiddg ddd	d+dddYdtdigiddddidmiddg ddddg ddd	d+dddYdtdigiddddidmiddddddYdddĜddddddYddȜdg dʢdddddidmid˜dg d͢dddddYid˜ddddig dТddҜdoddd	g dԢdEdidEdigd8dEdidEdidEdidEdiddd dYd	ddEdiid؜ddEdidddidEdidڜd	dۜgd,gdܜdݜdޜdddddddYdddYgdddddd	d,dddidddidmgiid,gdddg didEdigdddddgdd	ddddYidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddd dddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddiddddddddddt | t}|r-t|  }d|v r |d | d }t |ts
td|pd d |d|pd d dd
d	dg dddiddddddddgddddddgdddt |t}|r tdg|  }|rbtd|p$d d tt|d	  |d|p7d d dd
d	dg dddiddddddddgddddddgdd
dt| }d|v r|d |d }	t |	tt	fstd|pd d |	d|pd d dg dddidddt |	tt	f}
|
rt
|	}t|	D ]<\}}t |tstd|pd djd#i t  d |d|pd djd#i t  d ddiddqd|v rO|d |d }t |ts$td|pd d |d|pd d ddddddt |trO|d |sOtd|p7d d |d|pAd d dddddddd|v r|d |d }t |tt	fstd|pnd d |d|pxd d dddgddddddt |tt	f}|rt
|}t|D ]=\}}t |tstd|pd djd#i t  d |d|pd djd#i t  d dddddq|r td|pd d t| d	 |d|pd d dd
d	dg dddiddddddddgddddddgdddd|v r=|d | d }t|||p8dd  d|v 	rz|d | d }t |t	s2td|pZd d |d|pdd d ddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddg ddddg ddddidddg ddddiddg ddddEdiddEdigd8dg ddd	d+dtdidEdigidddiiddg ddd	d+dddYdtdigiddddidmiddg ddddg ddd	d+dddYdtdigiddddidmiddddddYdddĜddddddYddȜdg dʢdddddidmid˜dg d͢dddddYid˜ddddig dТddҜdoddd	g dԢdEdidEdigd8dEdidEdidEdidEdiddd dYd	ddEdiid؜ddEdidddidEdidڜd	dۜgd,gdܜdݜdޜdddddddYdddYgdddddd	d,dddidddidmgiid,gdddg didEdigdddddgdd	ddddYidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddd dddt |t}|	rzt| }d|v 	r]|d |d }t|||	pXdd  d |v 	rz|d  |d  }t|||	pudd!  |r-td|	pd d" t| d	 | d|	pd d dddg ddd	dd
d	dg dddiddddddddgddddddgddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddg ddddg ddddidddg ddddiddg ddddEdiddEdigd8dg ddd	d+dtdidEdigidddiiddg ddd	d+dddYdtdigiddddidmiddg ddddg ddd	d+dddYdtdigiddddidmiddddddYdddĜddddddYddȜdg dʢdddddidmid˜dg d͢dddddYid˜ddddig dТddҜdoddd	g dԢdEdidEdigd8dEdidEdidEdidEdiddd dYd	ddEdiid؜ddEdidddidEdidڜd	dۜgd,gdܜdݜdޜdddddddYdddYgdddddd	d,dddidddidmgiid,gdddg didEdigdddddgdd	ddddYidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddd dddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddd| S ($  Nr   r    must be object'http://json-schema.org/draft-07/schema#zShttps://packaging.python.org/en/latest/specifications/declaring-build-dependencies/z+Data structure for ``pyproject.toml`` files)zKFile format containing build-time configurations for the Python ecosystem. zO:pep:`517` initially defined a build-system independent format for source treeszQwhich was complemented by :pep:`518` to provide a way of specifying dependencies zfor building Python projects.zYPlease notice the ``project`` table (as initially defined in  :pep:`621`) is not includedz3in this schema and should be considered separately.objectFz&Table used to store build-related dataarray)zKList of dependencies in the :pep:`508` format required to execute the buildz9system. Please notice that the resulting dependency graphz**MUST NOT contain cycles**typestringr   $$descriptionitemszLPython object that will be used to perform the build according to :pep:`517`zpep517-backend-referencer   descriptionformatzDList of directories to be prepended to ``sys.path`` when loading thezback-end, and running its hooksz0Should be a path (TODO: enforce it with format?))r   $comment)requiresbuild-backendbackend-pathr"   )r   r   additionalProperties
propertiesrequiredEhttps://packaging.python.org/en/latest/specifications/pyproject-toml/0Package metadata stored in the ``project`` tableBData structure for the **project** table inside ``pyproject.toml``$(as initially defined in :pep:`621`)nameIThe name (primary identifier) of the project. MUST be statically defined.pep508-identifierversion6The version of the project as supported by :pep:`440`.pep440r   'The `summary description of the projectF<https://packaging.python.org/specifications/core-metadata/#summary>`_r   r   readmezA`Full/detailed description of the project in the form of a READMEz,<https://peps.python.org/pep-0621/#readme>`_zGwith meaning similar to the one defined in `core metadata's DescriptionzJ<https://packaging.python.org/specifications/core-metadata/#description>`_zDRelative path to a text file (UTF-8) containing the full descriptionzDof the project. If the file path ends in case-insensitive ``.md`` orz8``.rst`` suffixes, then the content-type is respectivelyz#``text/markdown`` or ``text/x-rst``anyOffile<Relative path to a text file containing the full descriptionof the project.r&   r'   text!Full text describing the project.r   r   content-typez2Content-type (:rfc:`1341`) of the full descriptionz>(e.g. ``text/markdown``). The ``charset`` parameter is assumedzUTF-8 when not present."TODO: add regex pattern or format?r   r   r!   r   allOfr   oneOfrequires-pythonpep508-versionspec/`The Python version requirements of the projectO<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.r   r    r   license?`Project license <https://peps.python.org/pep-0621/#license>`_.DRelative path to the file (UTF-8) which contains the license for theproject.z7The license of the project whose meaning is that of thez%`License field from the core metadatazG<https://packaging.python.org/specifications/core-metadata/#license>`_.r   rG   authors$ref#/definitions/authorzJThe people or organizations considered to be the 'authors' of the project.zNThe exact meaning is open to interpretation (e.g. original or primary authors,z/current maintainers, or owners of the package).r   r   r   maintainersNThe people or organizations considered to be the 'maintainers' of the project.FSimilarly to ``authors``, the exact meaning is open to interpretation.keywordsNList of keywords to assist searching for the distribution in a larger catalog.r   r   r   classifierstrove-classifier3`PyPI classifier <https://pypi.org/classifiers/>`_.r   r    r   4`Trove classifiers <https://pypi.org/classifiers/>`_which apply to the project.urls@URLs associated with the project in the form ``label => value``.r   urlr   r    r   r   r%   patternPropertiesscripts#/definitions/entry-point-groupzDInstruct the installer to create command-line wrappers for the givenL`entry points <https://packaging.python.org/specifications/entry-points/>`_.)rT   r   gui-scripts)z;Instruct the installer to create GUI wrappers for the givenrl   zJThe difference between ``scripts`` and ``gui-scripts`` is only relevant inzWindows.entry-pointsz@Instruct the installer to expose the given modules/functions viaz9``entry-point`` discovery mechanism (useful for plugins).z9More information available in the `Python packaging guidez><https://packaging.python.org/specifications/entry-points/>`_.r    python-entrypoint-groupr   propertyNamesr%   ri   dependencies!Project (mandatory) dependencies.#/definitions/dependencyr   r   r   optional-dependencies#Optional dependency for the projectr   r   r   r   rr   r%   ri   dynamicGSpecifies which fields are intentionally unspecified and expected to be#dynamically provided by build toolsenumr/   r   r5   rH   rM   rS   rX   r[   r^   rd   rj   rm   rn   rs   rw   const version is listed in ``dynamic``containsr   r'   r&   	zAccording to :pep:`621`:zH    If the core metadata specification lists a field as "Required", thenzH    the metadata MUST specify the field statically or list it in dynamicz"In turn, `core metadata`_ defines:z=    The required fields are: Metadata-Version, Name, Version.z&    All the other fields are optional.zISince ``Metadata-Version`` is defined by the build back-end, ``name`` andzE``version`` are the only mandatory information in ``pyproject.toml``.zM.. _core metadata: https://packaging.python.org/specifications/core-metadata/notz	$$comment=version should be statically defined in the ``version`` fieldr'   r   Author or Maintainer5https://peps.python.org/pep-0621/#authors-maintainersIMUST be a valid email name, i.e. whatever can be put as a name, before anemail, in :rfc:`822`.	idn-emailMUST be a valid email addressr,   email$idtitler!   r   r%   r&   Entry-pointszLEntry-points are grouped together to indicate what sort of capabilities theyzprovide.zSee the `packaging guidesz=<https://packaging.python.org/specifications/entry-points/>`_zand `setuptools docszC<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_zfor more information.python-entrypoint-name6Reference to a Python object. It is either in the form<``importable.module``, or ``importable.module:object.attr``.python-entrypoint-reference9https://packaging.python.org/specifications/entry-points/r   r   r    r!   r   r   r   r   rr   r%   ri   
Dependency5Project dependency specification according to PEP 508pep508r   r   r   r   r    authorzentry-point-group
dependency$schemar   r   r   r   r&   r'   r%   ifthendefinitionsIhttps://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html``tool.distutils`` tablezC**EXPERIMENTAL** (NOT OFFICIALLY SUPPORTED): Use ``tool.distutils``z<subtables to configure arguments for ``distutils`` commands.zGOriginally, ``distutils`` allowed developers to configure arguments forz8``setup.py`` commands via `distutils configuration fileszN<https://setuptools.pypa.io/en/latest/deprecated/distutils/configfile.html>`_.zHSee also `the old Python docs <https://docs.python.org/3.11/install/>_`.global4Global options applied to all ``distutils`` commandsr   CTODO: Is there a practical way of making this schema more specific?r   r   r   r   r   r&   ri   r!   Dhttps://setuptools.pypa.io/en/latest/userguide/pyproject_config.html``tool.setuptools`` table
zL``setuptools``-specific configurations that can be set by users that requirezcustomization.zMThese configurations are completely optional and probably can be skipped whenzFcreating simple packages. They are equivalent to some of the `KeywordszA<https://setuptools.pypa.io/en/latest/references/keywords.html>`_zPused by the ``setup.py`` file, and can be set via the ``tool.setuptools`` table.z,It considers only ``setuptools`` `parameterszj<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration>`_zSthat are not covered by :pep:`621`; and intentionally excludes ``dependency_links``zFand ``setup_requires`` (incompatible with modern workflows/standards).	platformsprovides?Package and virtual package names contained within this package**(not supported by pip)**r   r   r   	obsoletes,Packages which this package renders obsoletezip-safezDWhether the project can be safely installed and run from a zip file.G**OBSOLETE**: only relevant for ``pkg_resources``, ``easy_install`` andA``setup.py install`` in the context of ``eggs`` (**DEPRECATED**).booleanr   r   script-filesz<Legacy way of defining scripts (entry-points are preferred).z4Equivalent to the ``script`` keyword in ``setup.py``zM(it was renamed to avoid confusion with entry-point based ``project.scripts``zdefined in :pep:`621`).zN**DISCOURAGED**: generic script wrappers are tricky and may not work properly.z:Whenever possible, please use ``project.scripts`` instead.1TODO: is this field deprecated/should be removed?r   r   r   r!   eager-resourceszFResources that should be extracted together, if any of them is needed,z<or if any C extensions included in the project are imported.r   r   packagesz5Packages that should be included in the distribution.z7It can be given either as a list of package identifiersz:or as a ``dict``-like structure with a single key ``find``z&which corresponds to a dynamic call toz4``setuptools.config.expand.find_packages`` function.zMThe ``find`` key is associated with a nested ``dict``-like structure that canzDcontain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,z;mimicking the keyword arguments of the associated function.#Array of Python package identifiers#/definitions/package-namer   r   r   #/definitions/find-directivepackage-dirzR:class:`dict`-like structure mapping from package names to directories where theirzcode can be found.zFThe empty string (as key) means that all packages are contained insidez9the given directory will be included in the distribution.r   r   r   r%   rr   ri   package-dataz5Mapping from package names to lists of glob patterns.zLUsually this option is not needed when using ``include-package-data = true``MFor more information on how to include data files, check ``setuptools`` `docsB<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.python-module-name*include-package-datazCAutomatically include any data files inside the package directoriesz%that are specified by ``MANIFEST.in``r   r   exclude-package-datazLMapping from package names to lists of glob patterns that should be excludedr   r   namespace-packagesEhttps://setuptools.pypa.io/en/latest/userguide/package_discovery.html=**DEPRECATED**: use implicit namespaces instead (:pep:`420`).r   r   r!   r   
py-modules'Modules that setuptools will manipulate0TODO: clarify the relationship with ``packages``r   r   r   r!   
data-fileszA``dict``-like structure where each key represents a directory andzFthe value is a list of glob patterns that should be installed in them.zK**DISCOURAGED**: please notice this might not work as expected with wheels.zKWhenever possible, consider using data files inside the package directorieszB(or create a new namespace package that only contains data files).zSee `data files supportr   r   r   ri   cmdclasszMMapping of distutils-style command names to ``setuptools.Command`` subclasseszJwhich in turn should be represented by strings with a qualified class namez+(i.e., "dotted" form with module), e.g.::

z;    cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}

zFThe command class should be a directly defined at the top-level of thez%containing module (no class nesting).python-qualified-identifierlicense-fileszO**PROVISIONAL**: list of glob patterns for all license files being distributed.z,(likely to become standard with :pep:`639`).zBBy default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``HTODO: revise if PEP 639 is accepted. Probably ``project.license-files``?r   r   r   r!   @Instructions for loading :pep:`621`-related metadata dynamicallyzBA version dynamically loaded via either the ``attr:`` or ``file:``zMdirectives. Please make sure the given file or attribute respects :pep:`440`.z3Also ensure to set ``project.dynamic`` accordingly.#/definitions/attr-directive#/definitions/file-directivez-#/definitions/file-directive-for-dependenciesr   rr   r%   ri   z,#/definitions/file-directive/properties/filer@   r9   r   r&   r%   r   r8   r'   r/   r^   r   rn   rs   rw   r5   r   r   r%   r&   Valid package name.Valid package name (importable or :pep:`561`).pep561-stub-namer   r   r   r   r8   'file:' directiveBValue is read from a file (or list of files and then concatenated)rG   r   r   r   r   r%   r&   r'   "'file:' directive for dependenciesr   z3**BETA**: subset of the ``requirements.txt`` formatz!without ``pip`` flags and optionsz*(one :pep:`508`-compliant string per line,z7lines that are blank or start with ``#`` are excluded).zSee `dynamic metadatazZ<https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata>`_.r   rE   'attr:' directiveHValue is read from a module attribute. Supports callables and iterables;(unsupported types are cast via ``str()``attrr   r   r   r   r%   r&   r'   'find:' directivefindDynamic `package discoveryJ<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.BDirectories to be searched for packages (Unix-style relative path)r   r   r   <Exclude packages that match the values listed in this field.6Can container shell-style wildcards (e.g. ``'pkg.*'``)BRestrict the found packages to just the ones listed in this field.CWhen ``True``, directories without a ``__init__.py`` file will also3be scanned for :pep:`420`-style implicit namespaceswhereexcludeinclude
namespacesr   r   r%   r&   r   r   r   r%   r&   zpackage-namezfile-directivezfile-directive-for-dependencieszattr-directivezfind-directiver   r   r   r   r   r%   r&   r   )	distutils
setuptools)r   r&   )build-systemprojecttool)r   r   r   r   r   r%   r&   r  valuer,   
definitionruler  z.build-system must be objectz.build-systemz.build-system must contain  propertiesr'   z$.build-system.requires must be arrayz.build-system.requiresz7.build-system.requires[{data__buildsystem__requires_x}] must be stringr#   z*.build-system.build-backend must be stringz.build-system.build-backendz<.build-system.build-backend must be pep517-backend-referencer$   z(.build-system.backend-path must be arrayz.build-system.backend-pathz>.build-system.backend-path[{data__buildsystem__backendpath_x}]z.build-system must not contain r%   r  z.projectr  z.tool must be objectz.toolr  z.tool.distutilsr  z.tool.setuptools must not contain r   )
isinstancedictr   setkeysremovestrsortedlisttuplelen	enumerater    localsMvalidate_https___packaging_python_org_en_latest_specifications_pyproject_tomlRvalidate_https___setuptools_pypa_io_en_latest_deprecated_distutils_configfile_htmlMvalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html)r   r   r   data_is_dict	data_keysdata__buildsystemdata__buildsystem_is_dictdata__buildsystem__missing_keysdata__buildsystem_keysdata__buildsystem__requires#data__buildsystem__requires_is_listdata__buildsystem__requires_lendata__buildsystem__requires_x data__buildsystem__requires_itemdata__buildsystem__buildbackenddata__buildsystem__backendpath&data__buildsystem__backendpath_is_list"data__buildsystem__backendpath_len data__buildsystem__backendpath_x#data__buildsystem__backendpath_itemdata__project
data__tooldata__tool_is_dictdata__tool_keysdata__tool__distutilsdata__tool__setuptoolsr   r   r   r       s           \ 

t


Db
<<
Fd

   


        r r   c           z   !   C   sJ3  t | tstd|pd d | d|pd d dddg ddd	i d
dddiddddgddddddddgddddddg ddddg ddddidddg d dddidd!g d"d#dd$d%d&ddd'ddd(dgd)d*d+d,dd	d-dd.d/gd	d0dddid1dd2d3gddid4dd5d3gddid4dd6d7gd8d9d:id;gd<d=g d>dd	d?d@did$d%d&ddd'ddd(dgd)gidAddiidBdCg dDdd	d?dd'dd@dEigidAdddididBdFg dGdddHg dIdd	d?dd'dd@dEigidAdddididBdJddd'ddKdLdMdNdOddd'ddPdQdRg dSddAdddididTdUg dVddAddWdidTdXdddig dYdZd[d\dd]d	g d^d_d`dadbgdd	dcddWdidcgdddedfdgdd	dhdiddidddidgiidhgdjgd<dedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdkdlg dmidndeigdoddddd	dpdkdlg dmidndeigdoidqddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtdudvd$d%d&ddd'ddd(dgd)dedfdgdd	dhdiddidddidgiidhgdjdkdlg dmidedfdgdd	dhdiddidddidgiidhgdjgdod_d`dadbgdd	dcddWdidcgddd+d,dd	d-dd.d/gd	d0dddid1dd2d3gddid4dd5d3gddid4dd6d7gd8d9d:id;dwdxddyt | t}|rt|  }d
|v r2|d
 | d
 }t |ttfstd|pd dz |d|pd d{ dddidddyt |ttf}|r2t|}t	|D ]6\}}	t |	t
s0td|pd d|jdi t  d} |	d|pd d|jdi t  d ddiddyqd|v r|d | d }
t |
ttfshtd|pNd d~ |
d|pWd d ddgdddddddyt |
ttf}|rt|
}t	|
D ]p\}}t |t
std|pd djdi t  d} |d|pd djdi t  d dddddyt |t
r|d |std|pd djdi t  d |d|pd djdi t  d dddddyqzd|v r|d | d }t |ttfs!td|pd d |d|pd d ddgdddddddyt |ttf}|rt|}t	|D ]p\}}t |t
sitd|pCd djdi t  d} |d|pUd djdi t  d dddddyt |t
r|d |std|p|d djdi t  d |d|pd djdi t  d dddddyq3d|v r|d | d }t |tstd|pd d |d|pd d g dddddyd|v rS|d | d }t |ttfs
td|pd d |d|pd d g ddddiddddyt |ttf}|rSt|}t	|D ]6\}}t |t
sQtd|p,d djdi t  d} |d|p>d djdi t  d ddiddyqd|v r|d | d }t |ttfstd|pod d |d|pxd d g d dddidddyt |ttf}|rt|}t	|D ]6\}}t |t
std|pd djdi t  d} |d|pd djdi t  d ddiddyqd!|v r|d! | d! }d} | dk rRzat |ttfstd|pd d |d|pd d d#dd$d%d&ddd'ddd(dgd)d*ddyt |ttf}!|!rBt|}"t	|D ]\}#}$t|$||p5ddjdi t   q*| d7 } W n
 tyQ   Y nw | dk rszt|||p_dd  | d7 } W n
 tyr   Y nw | dkrtd|p~d d dt
|  d  |d|pd d g d"d#dd$d%d&ddd'ddd(dgd)d*d+d,dd	d-dd.d/gd	d0dddid1dd2d3gddid4dd5d3gddid4dd6d7gd8d9d:id;gd<didyd=|v r|d= | d= }%t |%ts*td|pd d |%d|pd d g d>dd	d?d@did$d%d&ddd'ddd(dgd)gidAddiidBddyt |%t}&|&rt|% }'|% D ]H\}(})tdA |(r|(|'v rR|'|( t |)t
std|p^d djdi t  d} |)d|ppd djdi t  d ddiddyq<|'rtd|pd d t
|' d |%d|pd d g d>dd	d?d@did$d%d&ddd'ddd(dgd)gidAddiidBddyt|%}*|*dkrd}+|%D ]}(zd},|,s	z$|(dkrtd|pd d |(d|pd d d@did@dy|,d7 },W n
 ty   Y nw |,s(zt|(||pdd  |,d7 },W n
 ty'   Y nw |,sVtd|p1d d |(d|p:d d d?d@did$d%d&ddd'ddd(dgd)gid?dyW q tye   d	}+Y qw |+std|pod d |%d|pxd d g d>dd	d?d@did$d%d&ddd'ddd(dgd)gidAddiidBddydC|v 
r|dC | dC }-t |-tstd|pd d |-d|pd d g dDdd	d?dd'dd@dEigidAdddididBddyt |-t}.|.
rt|- }/|- D ]\}0}1tdA |0	r|0|/v 	r|/|0 t |1ttf	sAtd|	pd djdi t  d |1d|	p+d djdi t  d dddidddyt |1ttf}2|2	rt|1}3t	|1D ]6\}4}5t |5t
	std|	pcd djdi t  d} |5d|	pud djdi t  d ddiddy	qSq|/	rtd|	pd d t
|/ d |-d|	pd d g dDdd	d?dd'dd@dEigidAdddididBddyt|-}6|6dk
rd}7|-D ]}0zd}8|8
s1zMt |0t
	std|	pd d |0d|	pd d dd'dddyt |0t

r!|d' |0
s!td|
pd d |0d|
pd d dd'dddy|8d7 }8W n
 t
y0   Y nw |8
scz$|0dEk
rStd|
p@d d |0d|
pId d d@dEid@dy|8d7 }8W n
 t
yb   Y nw |8
std|
pld d |0d|
pud d d?dd'dd@dEigid?dyW 	q t
y   d	}7Y 	qw |7
std|
pd d |-d|
pd d g dDdd	d?dd'dd@dEigidAdddididBddydF|v 
r|dF | dF }9t |9t
std|
pd d |9d|
pd d g dGddddydH|v r |dH | dH }:t |:ts;td|pd d |:d|pd d g dIdd	d?dd'dd@dEigidAdddididBddyt |:t};|;r t|: }<|: D ]\}=}>tdA |=r|=|<v rc|<|= t |>ttfstd|pqd djdi t  d |>d|pd djdi t  d dddidddyt |>ttf}?|?rt|>}@t	|>D ]6\}A}Bt |Bt
std|pd djdi t  d} |Bd|pd djdi t  d ddiddyqqM|<rtd|pd d t
|< d |:d|pd d g dIdd	d?dd'dd@dEigidAdddididBddyt|:}C|Cdkr d}D|:D ]}=zd}E|EszMt |=t
sRtd|p>d d |=d|pGd d dd'dddyt |=t
ry|d' |=sytd|ped d |=d|pnd d dd'dddy|Ed7 }EW n
 ty   Y nw |Esz$|=dEkrtd|pd d |=d|pd d d@dEid@dy|Ed7 }EW n
 ty   Y nw |Estd|pd d |=d|pd d d?dd'dd@dEigid?dyW q) ty   d	}DY q)w |Ds td|pd d |:d|p d d g dIdd	d?dd'dd@dEigidAdddididBddydJ|v r|dJ | dJ }Ft |FttfsUtd|p<d d |Fd|pEd d ddd'ddKdLdMddyt |Fttf}G|Grt|F}Ht	|FD ]p\}I}Jt |Jt
std|pwd djdi t  d} |Jd|pd djdi t  d dd'dddyt |Jt
r|d' |Jstd|pd djdi t  d |Jd|pd djdi t  d dd'dddyqgdN|v r|dN | dN }Kt |Kttfstd|pd d |Kd|pd d dOddd'ddPdQddyt |Kttf}L|Lrt|K}Mt	|KD ]p\}N}Ot |Ot
sUtd|p/d djdi t  d} |Od|pAd djdi t  d dd'dddyt |Ot
r|d' |Ostd|phd djdi t  d |Od|pzd djdi t  d dd'dddyqdR|v rq|dR | dR }Pt |Ptstd|pd d |Pd|pd d g dSddAdddididTddyt |Pt}Q|Qrqt|P }R|P D ]\}S}TtdA |Sro|S|Rv r|R|S t |Tttfs&td|pd djdi t  d |Td|pd djdi t  d dddidddyt |Tttf}U|Urot|T}Vt	|TD ]6\}W}Xt |Xt
smtd|pHd djdi t  d} |Xd|pZd djdi t  d ddiddyq8qdU|v r<|dU | dU }Yt |Ytstd|pd d |Yd|pd d g dVddAddWdidTddyt |Yt}Z|Zr<t|Y }[|Y D ]\}\}]tdA |\r:|\|[v r|[|\ t |]t
std|pd djdi t  d} |]d|pd djdi t  d ddWdddyt |]t
r:|dW |]s:td|pd djdi t  d |]d|p&d djdi t  d ddWdddyqdX|v r|dX | dX }^t |^ttfsrtd|pXd d |^d|pad d dddig dYdZd[ddyt |^ttf}_|_rt|^}`t	|^D ]6\}a}bt |bt
std|pd djdi t  d} |bd|pd djdi t  d ddiddyqd\|v r|d\ | d\ }ct |ctstd|pd d |cd|pd d dd]d	g d^d_d`dadbgdd	dcddWdidcgdddedfdgdd	dhdiddidddidgiidhgdjgd<dedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdkdlg dmidndeigdoddddd	dpdkdlg dmidndeigdoidqddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtdudvddyt |ct}d|drt|c }ed|ev rd|ed͡ |cd }fd}g|gdk rzt|f||pdd  |gd7 }gW n
 ty   Y nw |gdk rzt|f||pdd  |gd7 }gW n
 ty   Y nw |gdkrdtd|pd d dt
|g d  |fd|p/d d g d^d_d`dadbgdd	dcddWdidcgdddedfdgdd	dhdiddidddidgiidhgdjgd<didyd|ev r}|edС |cd }ht|h||pydd  d|ev r|edҡ |cd }it|i||pdd  d|ev r|edԡ |cd }jt|j||pdd  d|ev r|ed֡ |cd }kt|k||pdd  d|ev r|edء |cd }lt |ltstd|pd d |ld|pd d ddddd	dpdkdlg dmidndeigdoidqddyt |lt}m|mrt|l }n|l D ])\}o}ptdp |orB|o|nv r0|n|o t|p||p7ddjdi t   q|nrytd|pMd d t
|n d |ld|p\d d ddddd	dpdkdlg dmidndeigdoidqddyt|l}q|qdkrd}r|lD ]Y}ozJt |ot
std|pd d |od|pd d dddddyt |ot
r|d |ostd|pd d |od|pd d dddddyW q ty   d	}rY qw |rstd|pd d |ld|pd d ddddd	dpdkdlg dmidndeigdoidqddyd|ev r|ed |cd }st |stsktd|p)d d |sd|p2d d ddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtddyd}t|tszt|s||pxdd  |td7 }tW n
 ty   Y nw |tsYzt |ststd|pd d |sd|pd d dddididdidddidgidrd	dsddyt |st}u|urIt|s }vd|vv r|vd |sd }wt |wt
std|pd d |wd|pd d ddiddydh|vv r|vdh |sdh }xt|x||pdd  |vrItd|pd d t
|v d |sd|p-d d dddididdidddidgidrd	dsddy|td7 }tW n
 tyX   Y nw |tstd|pbd d |sd|pkd d ddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtd?dyt |st}u|urtdhg|s  }y|yrtd|pd d t
t|yd  |sd|pd d ddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtddy|ertd|pd d t
|e d |cd|p d d dd]d	g d^d_d`dadbgdd	dcddWdidcgdddedfdgdd	dhdiddidddidgiidhgdjgd<dedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdkdlg dmidndeigdoddddd	dpdkdlg dmidndeigdoidqddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtdudvddy|rtd|pd d t
| d | d|pd d dddg ddd	i d
dddiddddgddddddddgddddddg ddddg ddddidddg d dddidd!g d"d#dd$d%d&ddd'ddd(dgd)d*d+d,dd	d-dd.d/gd	d0dddid1dd2d3gddid4dd5d3gddid4dd6d7gd8d9d:id;gd<d=g d>dd	d?d@did$d%d&ddd'ddd(dgd)gidAddiidBdCg dDdd	d?dd'dd@dEigidAdddididBdFg dGdddHg dIdd	d?dd'dd@dEigidAdddididBdJddd'ddKdLdMdNdOddd'ddPdQdRg dSddAdddididTdUg dVddAddWdidTdXdddig dYdZd[d\dd]d	g d^d_d`dadbgdd	dcddWdidcgdddedfdgdd	dhdiddidddidgiidhgdjgd<dedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdedfdgdd	dhdiddidddidgiidhgdjdkdlg dmidndeigdoddddd	dpdkdlg dmidndeigdoidqddedfdgdd	dhdiddidddidgiidhgdjdddididdidddidgidrd	dsgdhgdtdudvd$d%d&ddd'ddd(dgd)dedfdgdd	dhdiddidddidgiidhgdjdkdlg dmidedfdgdd	dhdiddidddidgiidhgdjgdod_d`dadbgdd	dcddWdidcgddd+d,dd	d-dd.d/gd	d0dddid1dd2d3gddid4dd5d3gddid4dd6d7gd8d9d:id;dwdxddy| S )Nr   r   r   r   r   r   r   r   Fr   r   r   r   ry   r   r   r   r.   rg   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r	  r
  r  r  r   r  r  r  r4   r  r  r  rF   r   r   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r{   r   r   r   r   r  r  r  r  r   r   r   r9   rG   r   r   r   r   rT   r   r   r   r   r   r   r   r   r  r  r  z.platforms must be arrayz
.platformsz.platforms[{data__platforms_x}]r#  z.provides must be arrayz	.providesz.provides[{data__provides_x}]z must be pep508-identifierr    z.obsoletes must be arrayz
.obsoletesz.obsoletes[{data__obsoletes_x}]z.zip-safe must be booleanz	.zip-safez.script-files must be arrayz.script-filesz$.script-files[{data__scriptfiles_x}]z.eager-resources must be arrayz.eager-resourcesz*.eager-resources[{data__eagerresources_x}]r      z.packages must be arrayz	.packagesz.packages[{data__packages_x}]r   z1.packages must be valid exactly by one definition ( matches found)z.package-dir must be objectz.package-dirz#.package-dir.{data__packagedir_key}z.package-dir must not contain r"  r%   Tz/.package-dir must be same as const definition: z2.package-dir cannot be validated by any definitionz5.package-dir must be named by propertyName definitionrr   z.package-data must be objectz.package-dataz%.package-data.{data__packagedata_key} must be arrayz@.package-data.{data__packagedata_key}[{data__packagedata_val_x}]z.package-data must not contain z.package-data must be stringz(.package-data must be python-module-namez1.package-data must be same as const definition: *z3.package-data cannot be validated by any definitionz6.package-data must be named by propertyName definitionz%.include-package-data must be booleanz.include-package-dataz$.exclude-package-data must be objectz.exclude-package-dataz4.exclude-package-data.{data__excludepackagedata_key}zV.exclude-package-data.{data__excludepackagedata_key}[{data__excludepackagedata_val_x}]z'.exclude-package-data must not contain z$.exclude-package-data must be stringz0.exclude-package-data must be python-module-namez9.exclude-package-data must be same as const definition: *z;.exclude-package-data cannot be validated by any definitionz>.exclude-package-data must be named by propertyName definitionz!.namespace-packages must be arrayz.namespace-packagesz0.namespace-packages[{data__namespacepackages_x}] must be python-module-namez.py-modules must be arrayz.py-modulesz .py-modules[{data__pymodules_x}]z.data-files must be objectz.data-filesz!.data-files.{data__datafiles_key}z:.data-files.{data__datafiles_key}[{data__datafiles_val_x}]z.cmdclass must be objectz	.cmdclassz.cmdclass.{data__cmdclass_key}z$ must be python-qualified-identifierz.license-files must be arrayz.license-filesz&.license-files[{data__licensefiles_x}]z.dynamic must be object.dynamicr/   z.dynamic.versionz8.dynamic.version must be valid exactly by one definitionr^   z.dynamic.classifiersr   z.dynamic.descriptionrn   z.dynamic.entry-pointsrs   z.dynamic.dependenciesrw   z-.dynamic.optional-dependencies must be objectz.dynamic.optional-dependencieszH.dynamic.optional-dependencies.{data__dynamic__optionaldependencies_key}z0.dynamic.optional-dependencies must not contain z-.dynamic.optional-dependencies must be stringz8.dynamic.optional-dependencies must be pep508-identifierzG.dynamic.optional-dependencies must be named by propertyName definitionr5   z.dynamic.readme must be objectz.dynamic.readmer@   z+.dynamic.readme.content-type must be stringz.dynamic.readme.content-typez.dynamic.readme.filez!.dynamic.readme must not contain z5.dynamic.readme cannot be validated by any definitionz.dynamic.readme must contain r'   z.dynamic must not contain r$  r   )r%  r&  r   r'  r(  r)  r,  r-  r.  r/  r*  r    r0  boolgvalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_package_nameivalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_find_directiver   REGEX_PATTERNSsearchivalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_attr_directiveivalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directivezvalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_for_dependenciesyvalidate_https___setuptools_pypa_io_en_latest_userguide_pyproject_config_html__definitions_file_directive_properties_filer+  )zr   r   r   r4  r5  data__platformsdata__platforms_is_listdata__platforms_lendata__platforms_xdata__platforms_itemdata__providesdata__provides_is_listdata__provides_lendata__provides_xdata__provides_itemdata__obsoletesdata__obsoletes_is_listdata__obsoletes_lendata__obsoletes_xdata__obsoletes_itemdata__zipsafedata__scriptfilesdata__scriptfiles_is_listdata__scriptfiles_lendata__scriptfiles_xdata__scriptfiles_itemdata__eagerresourcesdata__eagerresources_is_listdata__eagerresources_lendata__eagerresources_xdata__eagerresources_itemdata__packagesdata__packages_one_of_count1data__packages_is_listdata__packages_lendata__packages_xdata__packages_itemdata__packagedirdata__packagedir_is_dictdata__packagedir_keysdata__packagedir_keydata__packagedir_valdata__packagedir_lendata__packagedir_property_names"data__packagedir_key_any_of_count2data__packagedatadata__packagedata_is_dictdata__packagedata_keysdata__packagedata_keydata__packagedata_valdata__packagedata_val_is_listdata__packagedata_val_lendata__packagedata_val_xdata__packagedata_val_itemdata__packagedata_len data__packagedata_property_names#data__packagedata_key_any_of_count3data__includepackagedatadata__excludepackagedata data__excludepackagedata_is_dictdata__excludepackagedata_keysdata__excludepackagedata_keydata__excludepackagedata_val$data__excludepackagedata_val_is_list data__excludepackagedata_val_lendata__excludepackagedata_val_x!data__excludepackagedata_val_itemdata__excludepackagedata_len'data__excludepackagedata_property_names*data__excludepackagedata_key_any_of_count4data__namespacepackagesdata__namespacepackages_is_listdata__namespacepackages_lendata__namespacepackages_xdata__namespacepackages_itemdata__pymodulesdata__pymodules_is_listdata__pymodules_lendata__pymodules_xdata__pymodules_itemdata__datafilesdata__datafiles_is_dictdata__datafiles_keysdata__datafiles_keydata__datafiles_valdata__datafiles_val_is_listdata__datafiles_val_lendata__datafiles_val_xdata__datafiles_val_itemdata__cmdclassdata__cmdclass_is_dictdata__cmdclass_keysdata__cmdclass_keydata__cmdclass_valdata__licensefilesdata__licensefiles_is_listdata__licensefiles_lendata__licensefiles_xdata__licensefiles_itemdata__dynamicdata__dynamic_is_dictdata__dynamic_keysdata__dynamic__version$data__dynamic__version_one_of_count5data__dynamic__classifiersdata__dynamic__descriptiondata__dynamic__entrypointsdata__dynamic__dependencies#data__dynamic__optionaldependencies+data__dynamic__optionaldependencies_is_dict(data__dynamic__optionaldependencies_keys'data__dynamic__optionaldependencies_key'data__dynamic__optionaldependencies_val'data__dynamic__optionaldependencies_len2data__dynamic__optionaldependencies_property_namesdata__dynamic__readme#data__dynamic__readme_any_of_count6data__dynamic__readme_is_dictdata__dynamic__readme_keys"data__dynamic__readme__contenttypedata__dynamic__readme__file#data__dynamic__readme__missing_keysr   r   r   r3  i   s      P 


8V

@XX

@XX

8

@V

>V


R(



n


Vz

2V
n

^


\Vj
44
2@
^

8

^


\Vj
44
2@
^

>XX

>XX

H


\V

D


XX

@V

 















X


$d
44
X

V


2

b
     ` r3  c              	   C   s  d}|dk r2z"t | ts#td|pd d | d|pd d ddidd|d	7 }W n	 ty1   Y nw |dk rzkt | ttfsXtd|pCd d
 | d|pKd d dddidddt | ttf}|rt| }t| D ]2\}}t |tstd|pwd djdi t  d |d|pd djdi t  d ddiddqi|d	7 }W n	 ty   Y nw |d	krtd|pd d dt| d  | d|pd d dddidddidgidd| S )Nr   rK  r   r   r#  r   r   r  r   rN  r   ry   z
[{data_x}]z( must be valid exactly by one definitionrL  rM  rG   r   )	r%  r*  r   r,  r-  r.  r/  r    r0  )r   r   r   data_one_of_count7data_is_listdata_lendata_x	data_itemr   r   r   rY    s.   
.4
RPrY  c                 C   r	   r
   )rW  r   r   r   r   rX  *  r   rX  c                 C   sD  t | ts0td|p
d d | d|pd d dddddd	d
ddidddidgiid	gdddt | t}|rtd	g|   }|rvtd|pHd d tt|d  | d|pXd d dddddd	d
ddidddidgiid	gdddt|  }d	|v rj|d	 | d	 }d}|dk rz"t |tstd|pd d |d|pd d ddidd|d7 }W n	 ty   Y nw |dk r;zot |tt	fstd|pd d |d|pd d dddidddt |tt	f}|r+t
|}	t|D ]5\}
}t |ts*td|pd djd!i t  d |d|pd djd!i t  d ddiddq|d7 }W n
 ty:   Y nw |dkrjtd|pFd d dt| d  |d|pWd d d
ddidddidgid
d|rtd|psd d t| d | d|pd d dddddd	d
ddidddidgiid	gdd d| S )"Nr   r   r   r   r   r   r   Fr9   rG   r   r   r   ry   r   r   must contain r"  r'   r   rK  z.file must be stringz.filer   z.file must be arrayz.file[{data__file_x}]r#  z-.file must be valid exactly by one definitionrL  rM  r$  r%   r   )r%  r&  r   r'  r(  r*  r+  r)  r,  r-  r.  r/  r    r0  )r   r   r   r4  data__missing_keysr5  
data__filedata__file_one_of_count8data__file_is_listdata__file_lendata__file_xdata__file_itemr   r   r   rW  .  sH   
V
f


.
4V
TfrW  c                 C   s  t | ts*td|p
d d | d|pd d ddddgdd	d
dddid
gdddt | t}|rtd
g|   }|ritd|pAd d tt|d  | d|pQd d ddddgdd	d
dddid
gdddt|  }d
|v r|d
 | d
 }t |tstd|pd d |d|pd d dddddt |tr|d |std|pd d |d|pd d ddddd|rtd|pd d t| d | d|pd d ddddgdd	d
dddid
gddd| S )Nr   r   r   r   r   r  r  r   Fr  r   r   rg   r  r   r  r  r"  r'   z.attr must be stringz.attrz).attr must be python-qualified-identifierr    r$  r%   )r%  r&  r   r'  r(  r*  r+  r)  )r   r   r   r4  r  r5  
data__attrr   r   r   rV  S  s&   
J
Z

0
0VrV  c                 C   s  t | tsItd|p
d d | d|pd d ddddddd	d
gdddddiddddgddiddddgddiddddgdddidddt | t}|rt|  }d|v r|d | d }t |tstd|pod d |d|pwd d dd	d
gdddddiddddgddiddddgddiddddgdddddt |t}|rt| }d|v r,|d |d }t |ttfstd|pd d |d|pd d  ddddidddt |ttf}	|	r,t|}
t	|D ]5\}}t |t
s+td|pd d!jd2i t  d" |d|pd d!jd2i t  d ddiddqd#|v r|d# |d# }t |ttfsatd|pHd d$ |d|pQd d% dddgddidddt |ttf}|rt|}t	|D ]6\}}t |t
std|pd d&jd2i t  d" |d|pd d&jd2i t  d ddiddqsd'|v r(|d' |d' }t |ttfstd|pd d( |d|pd d) dddgddidddt |ttf}|r(t|}t	|D ]6\}}t |t
s&td|pd d*jd2i t  d" |d|pd d*jd2i t  d ddiddqd+|v rX|d+ |d+ }t |tsXtd|pBd d, |d|pKd d- dddgddd|rtd|pad d. t
| d/ |d|ppd d dd	d
gdddddiddddgddiddddgddiddddgdddd0d|rtd|pd d1 t
| d/ | d|pd d ddddddd	d
gdddddiddddgddiddddgddiddddgdddidd0d| S )3Nr   r   r   r   r  r   Fr  r  r  r	  r   r   r   r
  r  r  r   r  r   r  r  r4   r  r  r  r  z.find must be objectz.findr  z.find.where must be arrayz.find.wherez".find.where[{data__find__where_x}]r#  r  z.find.exclude must be arrayz.find.excludez&.find.exclude[{data__find__exclude_x}]r  z.find.include must be arrayz.find.includez&.find.include[{data__find__include_x}]r  z .find.namespaces must be booleanz.find.namespacesz.find must not contain r"  r%   r$  r   )r%  r&  r   r'  r(  r)  r,  r-  r.  r/  r*  r    r0  rQ  )r   r   r   r4  r5  
data__finddata__find_is_dictdata__find_keysdata__find__wheredata__find__where_is_listdata__find__where_lendata__find__where_xdata__find__where_itemdata__find__excludedata__find__exclude_is_listdata__find__exclude_lendata__find__exclude_xdata__find__exclude_itemdata__find__includedata__find__include_is_listdata__find__include_lendata__find__include_xdata__find__include_itemdata__find__namespacesr   r   r   rS  h  sv   




x


6V

>V

>V

8rS  c                 C   s  t | ts(td|p
d d | d|pd d ddddddd	dd
d	gdddd}|s|zFt | tsJtd|p7d d | d|p?d d ddd	ddt | trm|d | smtd|pZd d | d|pbd d ddd	dd|d7 }W n	 ty{   Y nw |szFt | tstd|pd d | d|pd d dd
d	ddt | tr|d
 | std|pd d | d|pd d dd
d	dd|d7 }W n	 ty   Y nw |std|pd d | d|pd d ddddddd	dd
d	gddd| S )Nr   r   r#  r   r   r   r   r   rg   r   r   r   r  r   rO  r    r   z must be pep561-stub-namez& cannot be validated by any definitionr8   r%  r*  r   )r   r   r   data_any_of_count9r   r   r   rR    s0   
F
0
0
0
0FrR  c                 C   s\  t | ts.td|p
d d | d|pd d dddg ddd	dd
didddiiddddt | t}|rt|  }d	|v re|d	 | d	 }t |tsetd|pRd d |d|pZd d dd
ddd|  D ]B\}}td |r||v r}|| t |tstd|pd dj	di t
  d |d|pd dj	di t
  d ddiddqi| S )Nr   r   r   r   r   r   r   r   r   r   r?   r   r   r   r   r  z.global must be objectz.global.{data_key}r   )r%  r&  r   r'  r(  r)  r   rT  rU  r    r0  )r   r   r   r4  r5  data__globaldata_keydata_valr   r   r   r2    s$   
R


0

Rr2  c           S      C   s%  t | tstd|pd d | d|pd d dddddgd	i d
dddddddddddddgddg ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dAd3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dDd3dEdidFdGdHd3ddIdJd<dKdLgd@dMd	dNd7dOddPdQidRdSdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d_dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d`g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdid7dOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gd7dpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	d7dd8d9gddd:d;d<d=d>dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^dfdgddhdidjd~ddEdt | t}|r^td
g|   }|rtd|pd d tt|d  | d|pd d dddddgd	i d
dddddddddddddgddg ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dAd3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dDd3dEdidFdGdHd3ddIdJd<dKdLgd@dMd	dNd7dOddPdQidRdSdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d_dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d`g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdid7dOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gd7dpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	d7dd8d9gddd:d;d<d=d>dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^dfdgddhdidjd~dddt|  }d
|v r|d
 | d
 }t |tstd|pd d |d|pd d dddddEdt |tr|d |std|pd d |d|pd d dddddWdd|v rV|d | d }t |ts.td|pd d |d|p"d d dddddEdt |trV|d |sVtd|pAd d |d|pJd d dddddWdd|v r|d | d }t |tstd|ppd d |d|pyd d dddgddEdd|v r:|d | d }	d}
|
dk rz(t |	tstd|pd d |	d|pd d dg dddEd|
d7 }
W n
 ty   Y nw |
dk rzt |	tstd|pd d |	d|pd d d	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%dEdd}|szzt |	t}|rtdg|	  }|r_td|p;d d tt|d  |	d|pLd d ddddgdidgdddt|	 }d|v r|d |	d }t |tstd|pd d |d|pd d dddgddEd|d7 }W n
 ty   Y nw |s)zvt |	t}|rtdg|	  }|rtd|pd d tt|d  |	d|pd d dddd idgdddt|	 }d|v r|d |	d }t |tstd|pd d |d|pd d ddd dEd|d7 }W n
 ty(   Y nw |s[td|p2d d |	d|p;d d dddddgdidgddddd idgdgiddt |	t}|rtd!g|	  }|rtd|pud d tt|d  |	d|pd d d!dg d"d#d$id!gdddt|	 }d!|v r|d! |	d! }t |tstd|pd d |d|pd d dg d"d#d$dEd|
d7 }
W n
 ty   Y nw |
dkr:td|pd d dt|
 d  |	d|pd d g ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&ddd'|v r|d' | d' }t |tsktd|pTd d |d|p]d d dd(d)d*gd+dEdt |tr|d( |std|p~d d |d|pd d dd(d)d*gd+dWdd,|v r|d, | d, }d}|dk r/zzt |t}|rtdg|  }|rtd|pd d tt|d  |d|pd d ddd.d/gdidgdddt| }d|v r|d |d }t |tstd|p	d d |d|pd d dd.d/gddEd|d7 }W n
 ty.   Y nw |dk rzzt |t}|rtdg|  }|rstd|pOd d tt|d  |d|p`d d ddg d0didgdddt| }d|v r|d |d }t |tstd|pd d |d|pd d dg d0ddEd|d7 }W n
 ty   Y nw |dkrtd|pd d dt| d  |d|pd d d-ddd.d/gdidgdddg d0didgdgd1ddd2|v 	rh|d2 | d2 }t |tt	f	s>td|	pd d |d|	pd d d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dEdt |tt	f}|	rht
|}t|D ]\}}t|||	p[ddjdi t   	qPdA|v 	r|dA | dA }t |tt	f	std|	pd d |d|	pd d d3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dEdt |tt	f} | 	rt
|}!t|D ]\}"}#t|#||	pddjdi t   	qdD|v 
rT|dD | dD }$t |$tt	f
std|	pd d |$d|	pd d d3dEdidFdGdEdt |$tt	f}%|%
rTt
|$}&t|$D ]6\}'}(t |(t
sRtd|
p-d djdi t  d |(d|
p?d djdi t  d dEdidEd
qdH|v r|dH | dH })t |)tt	f
std|
ppd d |)d|
pyd d d3ddIdJd<dKdLgd@dEdt |)tt	f}*|*rt
|)}+t|)D ]r\},}-t |-t
std|
pd djdi t  d |-d|
pd djdi t  d ddIdJd<dEdt |-tr|dI |-std|
pd djdi t  d |-d|
pd djdi t  d ddIdJd<dWd
qdM|v r|dM | dM }.t |.tsEtd|p*d d |.d|p3d d d	dNd7dOddPdQidRdEdt |.t}/|/rt|. }0|. D ]\}1}2tdO |1r|1|0v rm|0|1 t |2tstd|pyd djdi t  d |2d|pd djdi t  d ddPdQdEdt |2tr|dP |2std|pd djdi t  d |2d|pd djdi t  d ddPdQdWdqW|0rtd|pd d t|0 d |.d|pd d d	dNd7dOddPdQidRdddS|v r|dS | dS }3t|3||pdd  d_|v r6|d_ | d_ }4t|4||p2dd  d`|v r@|d` | d` }5t |5t}6|6r@t|5 }7|5 D ])\}8}9tdO |8r~|8|7v rl|7|8 t|9||psddjdi t   qV|7rtd|pd d t|7 d |5d|pd d g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddt
|5}:|:dkr@d};|5D ]8}8z)t |8tr|db |8std|pd d |8d|pd d dWdbidWdW q ty   d7};Y qw |;s@td|pd d |5d|pd d g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcdddd|v r|dd | dd }<t |<tt	fswtd|p\d d |<d|ped d d3dedfdgddhdidjdkdEdt |<tt	f}=|=rt
|<}>t|<D ]\}?}@t|@||pddjdi t   qdl|v r|dl | dl }At |Atstd|pd d |Ad|pd d d	dmdWdid7dOd3dfdgddhdidjdnidodEdt |At}B|Brt|A }C|A D ]{\}D}EtdO |Drk|D|Cv r|C|D t |Ett	fsAtd|pd djdi t  d |Ed|p'd djdi t  d d3dfdgddhdidjdndEdt |Ett	f}F|Frkt
|E}Gt|ED ]\}H}It|I||p^ddjdi t   qSq|Crtd|pvd d t|C d |Ad|pd d d	dmdWdid7dOd3dfdgddhdidjdnidoddt
|A}J|Jdkrd}K|AD ]8}Dz)t |Dtr|d |Dstd|pd d |Dd|pd d dWdidWdW q ty   d7}KY qw |Kstd|pd d |Ad|pd d d	dmdWdid7dOd3dfdgddhdidjdnidodddp|v r|dp | dp }Lt |Ltt	fsJtd|p/d d |Ld|p8d d d3dqdrgdsg dtidudEdt |Ltt	f}M|Mrt
|L}Nt|LD ]7\}O}P|Pdtvrtd|pkd djdi t  d |Pd|p}d djdi t  d dsg dtidsdq\|r^td|pd d t| d | d|pd d dddddgd	i d
dddddddddddddgddg ddg ddd	dddddgdidgddddd idgdgid!dg d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dAd3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dDd3dEdidFdGdHd3ddIdJd<dKdLgd@dMd	dNd7dOddPdQidRdSdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d_dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d`g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdid7dOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gd7dpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	d7dd8d9gddd:d;d<d=d>dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^dfdgddhdidjd~dddzzt | t}|rtdpg|   }|rtd|pzd d tt|d  | d|pd d dpgdpdvdidwgdxidyddt|  }dp|v r|dp | dp }Lt |Ltt	f}M|Mrd7}Q|LD ]0}Rz#|Rdkrtd|pd d |Rd|pd d dvdidvdd}QW  n ty   Y qw |Qstd|pd d |Ld|pd d dvdidwgdxddW n
 ty   Y n)w td|p$d d | d|p-d d dpgdpdvdidwgdxidyg dzd{ddW n tyR   Y | S w t | t}|rtdg|   }|rtd|pmd d tt|d  | d|p~d d dgd|gd}dd| S )Nr   r   r   r   r(   r)   r*   r+   r   r,   r   r-   r.   r   r/   r0   r1   r   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rF   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r   rU   r   r   Fr   r   r   r   ra   r   r   rV   rW   rX   rY   rZ   r[   r   r\   r]   r^   r_   r`   rb   rc   rd   re   r   rf   rg   rh   rj   rk   r   r   r    r   r   r   r   r   r   r   rm   rn   ro   rp   rq   rs   rt   ru   r   r   r   r   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  r'   .name must be string.namez.name must be pep508-identifierz.version must be stringz.versionz.version must be pep440z.description must be stringz.descriptionr   rK  z.readme must be stringz.readmer   z.readme must be objectz.readme must contain z.readme.file must be stringz.readme.filez.readme.text must be stringz.readme.textz-.readme cannot be validated by any definitionz#.readme.content-type must be stringz.readme.content-typez/.readme must be valid exactly by one definitionrL  rM  rG   z.requires-python must be stringz.requires-pythonz+.requires-python must be pep508-versionspecz.license must contain z.licensez.license.file must be stringz.license.filez.license.text must be stringz.license.textz0.license must be valid exactly by one definitionz.authors must be arrayz.authorsz.authors[{data__authors_x}]z.maintainers must be arrayz.maintainersz#.maintainers[{data__maintainers_x}]z.keywords must be arrayz	.keywordsz.keywords[{data__keywords_x}]r#  z.classifiers must be arrayz.classifiersz#.classifiers[{data__classifiers_x}]z must be trove-classifierz.urls must be objectz.urlsz.urls.{data__urls_key}z must be urlz.urls must not contain r%   z.scriptsz.gui-scriptsz%.entry-points.{data__entrypoints_key}z.entry-points must not contain z.entry-pointsTz-.entry-points must be python-entrypoint-groupz6.entry-points must be named by propertyName definitionrr   z.dependencies must be arrayz.dependenciesz%.dependencies[{data__dependencies_x}]z%.optional-dependencies must be objectz.optional-dependenciesz7.optional-dependencies.{data__optionaldependencies_key}rN  z[.optional-dependencies.{data__optionaldependencies_key}[{data__optionaldependencies_val_x}]z(.optional-dependencies must not contain z0.optional-dependencies must be pep508-identifierz?.optional-dependencies must be named by propertyName definitionz.dynamic must be arrayrP  z.dynamic[{data__dynamic_x}]z must be one of ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']r$  z2.dynamic must be same as const definition: versionz0.dynamic must contain one of contains definitionr   z' must NOT match a disallowed definitionr   r   )r%  r&  r   r'  r(  r*  r+  r)  r,  r-  r.  r/  bvalidate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_authorr    r0  r   rT  rU  mvalidate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_entry_point_groupfvalidate_https___packaging_python_org_en_latest_specifications_pyproject_toml___definitions_dependency)Sr   r   r   r4  r  r5  
data__namedata__versiondata__descriptiondata__readmedata__readme_one_of_count10data__readme_any_of_count11data__readme_is_dictdata__readme__missing_keysdata__readme_keysdata__readme__filedata__readme__textdata__readme__contenttypedata__requirespythondata__licensedata__license_one_of_count12data__license_is_dictdata__license__missing_keysdata__license_keysdata__license__filedata__license__textdata__authorsdata__authors_is_listdata__authors_lendata__authors_xdata__authors_itemdata__maintainersdata__maintainers_is_listdata__maintainers_lendata__maintainers_xdata__maintainers_itemdata__keywordsdata__keywords_is_listdata__keywords_lendata__keywords_xdata__keywords_itemdata__classifiersdata__classifiers_is_listdata__classifiers_lendata__classifiers_xdata__classifiers_item
data__urlsdata__urls_is_dictdata__urls_keysdata__urls_keydata__urls_valdata__scriptsdata__guiscriptsdata__entrypointsdata__entrypoints_is_dictdata__entrypoints_keysdata__entrypoints_keydata__entrypoints_valdata__entrypoints_len data__entrypoints_property_namesdata__dependenciesdata__dependencies_is_listdata__dependencies_lendata__dependencies_xdata__dependencies_itemdata__optionaldependencies"data__optionaldependencies_is_dictdata__optionaldependencies_keysdata__optionaldependencies_keydata__optionaldependencies_val&data__optionaldependencies_val_is_list"data__optionaldependencies_val_len data__optionaldependencies_val_x#data__optionaldependencies_val_itemdata__optionaldependencies_len)data__optionaldependencies_property_namesr  data__dynamic_is_listdata__dynamic_lendata__dynamic_xdata__dynamic_itemdata__dynamic_containsdata__dynamic_keyr   r   r   r1    s     
   

66

66

8


8

T

8
P

4^
V

:


::



T

8

T

8
t

`(

`(

:V

BZZ

B


XXN








$z
2
n

B(

T


d(`
2
T

B
Z   
V


2:P
Hr1  c              
   C   s   t | ts td|p
d d | d|pd d dddddd	d
dt | trF|d | sFtd|p0d d | d|p8d d dddddd	dd| S )Nr   r   r#  ru   r   r   r   r   r   r   r  z must be pep508r    r  r   r   r   r   r    s   
6
6r  c           	      C   s  t | ts/td|p
d d | d|pd d dddg ddd	id
ddddgdddidddt | t}|rit|  }|  D ]\}}td |r||v rU|| t |t	std|p_d dj
d i t  d |d|ppd dj
d i t  d dddgdddddt |t	r|d |std|pd dj
d i t  d |d|pd dj
d i t  d dddgdddddqA|rtd|pd d t	| d | d|pd d dddg ddd	id
ddddgdddidddt| }|dkrid}| D ]8}z)t |t	r*|d	 |s*td|pd d |d|p d d dd	iddW q ty9   d
}Y qw |sitd|pCd d | d|pLd d dddg ddd	id
ddddgdddiddd| S )!Nr   r   r   rk   r   r   r   r    r   Fr   r   r   r   r   r   r   r   r   r  r  r#  z$ must be python-entrypoint-referencer$  r"  r%   r   Tz must be python-entrypoint-namez) must be named by propertyName definitionrr   r   )r%  r&  r   r'  r(  r   rT  rU  r)  r*  r    r0  r.  )	r   r   r   r4  r5  r  r  r  data_property_namesr   r   r   r    s@   
T


\
\`
2
Xr  c                 C   s  t | ts-td|p
d d | d|pd d dddddd	d
dgdd	dddddddt | t}|rt|  }d|v rf|d | d }t |tsftd|pQd d |d|pYd d d	d
dgdddd|v r|d | d }t |tstd|p}d d |d|pd d d	dddddt |trtd |std|pd d |d|pd d d	ddddd|rtd|pd d t| d | d|pd d dddddd	d
dgdd	ddddddd| S ) Nr   r   r   rU   r   r   r   Fr   r   r   r4   r   r   ra   r   r   r   r  r,   r  r  r   z.email must be stringz.emailr   z.email must be idn-emailr    r$  r"  r%   )	r%  r&  r   r'  r(  r)  r*  rT  match)r   r   r   r4  r5  r  data__emailr   r   r   r  ;  s*   
P


4

2
2\r  )VERSIONdecimalr   refastjsonschema_exceptionsr   compilerT  r   NoneTyper   r   r3  rY  rX  rW  rV  rS  rR  r2  r1  r  r  r  r   r   r   r   <module>   s:   I   ,%:  G