#
tokens: 47362/50000 5/808 files (page 31/168)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 31 of 168. Use http://codebase.md/romanshablio/mcp_server?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .DS_Store
├── .venv
│   ├── __pycache__
│   │   └── hello.cpython-312.pyc
│   ├── bin
│   │   ├── activate
│   │   ├── activate.csh
│   │   ├── activate.fish
│   │   ├── Activate.ps1
│   │   ├── flask
│   │   ├── normalizer
│   │   ├── pip
│   │   ├── pip3
│   │   ├── pip3.12
│   │   ├── python
│   │   ├── python3
│   │   └── python3.12
│   ├── hello.py
│   ├── lib
│   │   └── python3.12
│   │       └── site-packages
│   │           ├── beautifulsoup4-4.12.3.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── licenses
│   │           │   │   ├── AUTHORS
│   │           │   │   └── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   └── WHEEL
│   │           ├── blinker
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _utilities.cpython-312.pyc
│   │           │   │   └── base.cpython-312.pyc
│   │           │   ├── _utilities.py
│   │           │   ├── base.py
│   │           │   └── py.typed
│   │           ├── blinker-1.8.2.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── bs4
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── css.cpython-312.pyc
│   │           │   │   ├── dammit.cpython-312.pyc
│   │           │   │   ├── diagnose.cpython-312.pyc
│   │           │   │   ├── element.cpython-312.pyc
│   │           │   │   └── formatter.cpython-312.pyc
│   │           │   ├── builder
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── _html5lib.cpython-312.pyc
│   │           │   │   │   ├── _htmlparser.cpython-312.pyc
│   │           │   │   │   └── _lxml.cpython-312.pyc
│   │           │   │   ├── _html5lib.py
│   │           │   │   ├── _htmlparser.py
│   │           │   │   └── _lxml.py
│   │           │   ├── css.py
│   │           │   ├── dammit.py
│   │           │   ├── diagnose.py
│   │           │   ├── element.py
│   │           │   ├── formatter.py
│   │           │   └── tests
│   │           │       ├── __init__.py
│   │           │       ├── __pycache__
│   │           │       │   ├── __init__.cpython-312.pyc
│   │           │       │   ├── test_builder_registry.cpython-312.pyc
│   │           │       │   ├── test_builder.cpython-312.pyc
│   │           │       │   ├── test_css.cpython-312.pyc
│   │           │       │   ├── test_dammit.cpython-312.pyc
│   │           │       │   ├── test_docs.cpython-312.pyc
│   │           │       │   ├── test_element.cpython-312.pyc
│   │           │       │   ├── test_formatter.cpython-312.pyc
│   │           │       │   ├── test_fuzz.cpython-312.pyc
│   │           │       │   ├── test_html5lib.cpython-312.pyc
│   │           │       │   ├── test_htmlparser.cpython-312.pyc
│   │           │       │   ├── test_lxml.cpython-312.pyc
│   │           │       │   ├── test_navigablestring.cpython-312.pyc
│   │           │       │   ├── test_pageelement.cpython-312.pyc
│   │           │       │   ├── test_soup.cpython-312.pyc
│   │           │       │   ├── test_tag.cpython-312.pyc
│   │           │       │   └── test_tree.cpython-312.pyc
│   │           │       ├── fuzz
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4818336571064320.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4999465949331456.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5843991618256896.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5984173902397440.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6124268085182464.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6241471367348224.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6306874195312640.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase
│   │           │       │   ├── crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase
│   │           │       │   └── crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase
│   │           │       ├── test_builder_registry.py
│   │           │       ├── test_builder.py
│   │           │       ├── test_css.py
│   │           │       ├── test_dammit.py
│   │           │       ├── test_docs.py
│   │           │       ├── test_element.py
│   │           │       ├── test_formatter.py
│   │           │       ├── test_fuzz.py
│   │           │       ├── test_html5lib.py
│   │           │       ├── test_htmlparser.py
│   │           │       ├── test_lxml.py
│   │           │       ├── test_navigablestring.py
│   │           │       ├── test_pageelement.py
│   │           │       ├── test_soup.py
│   │           │       ├── test_tag.py
│   │           │       └── test_tree.py
│   │           ├── certifi
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   └── core.cpython-312.pyc
│   │           │   ├── cacert.pem
│   │           │   ├── core.py
│   │           │   └── py.typed
│   │           ├── certifi-2024.8.30.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── charset_normalizer
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   ├── api.cpython-312.pyc
│   │           │   │   ├── cd.cpython-312.pyc
│   │           │   │   ├── constant.cpython-312.pyc
│   │           │   │   ├── legacy.cpython-312.pyc
│   │           │   │   ├── md.cpython-312.pyc
│   │           │   │   ├── models.cpython-312.pyc
│   │           │   │   ├── utils.cpython-312.pyc
│   │           │   │   └── version.cpython-312.pyc
│   │           │   ├── api.py
│   │           │   ├── cd.py
│   │           │   ├── cli
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __main__.py
│   │           │   │   └── __pycache__
│   │           │   │       ├── __init__.cpython-312.pyc
│   │           │   │       └── __main__.cpython-312.pyc
│   │           │   ├── constant.py
│   │           │   ├── legacy.py
│   │           │   ├── md__mypyc.cpython-312-darwin.so
│   │           │   ├── md.cpython-312-darwin.so
│   │           │   ├── md.py
│   │           │   ├── models.py
│   │           │   ├── py.typed
│   │           │   ├── utils.py
│   │           │   └── version.py
│   │           ├── charset_normalizer-3.4.0.dist-info
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── click
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _compat.cpython-312.pyc
│   │           │   │   ├── _termui_impl.cpython-312.pyc
│   │           │   │   ├── _textwrap.cpython-312.pyc
│   │           │   │   ├── _winconsole.cpython-312.pyc
│   │           │   │   ├── core.cpython-312.pyc
│   │           │   │   ├── decorators.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── formatting.cpython-312.pyc
│   │           │   │   ├── globals.cpython-312.pyc
│   │           │   │   ├── parser.cpython-312.pyc
│   │           │   │   ├── shell_completion.cpython-312.pyc
│   │           │   │   ├── termui.cpython-312.pyc
│   │           │   │   ├── testing.cpython-312.pyc
│   │           │   │   ├── types.cpython-312.pyc
│   │           │   │   └── utils.cpython-312.pyc
│   │           │   ├── _compat.py
│   │           │   ├── _termui_impl.py
│   │           │   ├── _textwrap.py
│   │           │   ├── _winconsole.py
│   │           │   ├── core.py
│   │           │   ├── decorators.py
│   │           │   ├── exceptions.py
│   │           │   ├── formatting.py
│   │           │   ├── globals.py
│   │           │   ├── parser.py
│   │           │   ├── py.typed
│   │           │   ├── shell_completion.py
│   │           │   ├── termui.py
│   │           │   ├── testing.py
│   │           │   ├── types.py
│   │           │   └── utils.py
│   │           ├── click-8.1.7.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.rst
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── fake_useragent
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── errors.cpython-312.pyc
│   │           │   │   ├── fake.cpython-312.pyc
│   │           │   │   ├── log.cpython-312.pyc
│   │           │   │   ├── settings.cpython-312.pyc
│   │           │   │   └── utils.cpython-312.pyc
│   │           │   ├── data
│   │           │   │   └── browsers.json
│   │           │   ├── errors.py
│   │           │   ├── fake.py
│   │           │   ├── log.py
│   │           │   ├── settings.py
│   │           │   └── utils.py
│   │           ├── fake_useragent-1.5.1.dist-info
│   │           │   ├── AUTHORS
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── flask
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   ├── app.cpython-312.pyc
│   │           │   │   ├── blueprints.cpython-312.pyc
│   │           │   │   ├── cli.cpython-312.pyc
│   │           │   │   ├── config.cpython-312.pyc
│   │           │   │   ├── ctx.cpython-312.pyc
│   │           │   │   ├── debughelpers.cpython-312.pyc
│   │           │   │   ├── globals.cpython-312.pyc
│   │           │   │   ├── helpers.cpython-312.pyc
│   │           │   │   ├── logging.cpython-312.pyc
│   │           │   │   ├── sessions.cpython-312.pyc
│   │           │   │   ├── signals.cpython-312.pyc
│   │           │   │   ├── templating.cpython-312.pyc
│   │           │   │   ├── testing.cpython-312.pyc
│   │           │   │   ├── typing.cpython-312.pyc
│   │           │   │   ├── views.cpython-312.pyc
│   │           │   │   └── wrappers.cpython-312.pyc
│   │           │   ├── app.py
│   │           │   ├── blueprints.py
│   │           │   ├── cli.py
│   │           │   ├── config.py
│   │           │   ├── ctx.py
│   │           │   ├── debughelpers.py
│   │           │   ├── globals.py
│   │           │   ├── helpers.py
│   │           │   ├── json
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── provider.cpython-312.pyc
│   │           │   │   │   └── tag.cpython-312.pyc
│   │           │   │   ├── provider.py
│   │           │   │   └── tag.py
│   │           │   ├── logging.py
│   │           │   ├── py.typed
│   │           │   ├── sansio
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── app.cpython-312.pyc
│   │           │   │   │   ├── blueprints.cpython-312.pyc
│   │           │   │   │   └── scaffold.cpython-312.pyc
│   │           │   │   ├── app.py
│   │           │   │   ├── blueprints.py
│   │           │   │   ├── README.md
│   │           │   │   └── scaffold.py
│   │           │   ├── sessions.py
│   │           │   ├── signals.py
│   │           │   ├── templating.py
│   │           │   ├── testing.py
│   │           │   ├── typing.py
│   │           │   ├── views.py
│   │           │   └── wrappers.py
│   │           ├── flask-3.0.3.dist-info
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   └── WHEEL
│   │           ├── idna
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── codec.cpython-312.pyc
│   │           │   │   ├── compat.cpython-312.pyc
│   │           │   │   ├── core.cpython-312.pyc
│   │           │   │   ├── idnadata.cpython-312.pyc
│   │           │   │   ├── intranges.cpython-312.pyc
│   │           │   │   ├── package_data.cpython-312.pyc
│   │           │   │   └── uts46data.cpython-312.pyc
│   │           │   ├── codec.py
│   │           │   ├── compat.py
│   │           │   ├── core.py
│   │           │   ├── idnadata.py
│   │           │   ├── intranges.py
│   │           │   ├── package_data.py
│   │           │   ├── py.typed
│   │           │   └── uts46data.py
│   │           ├── idna-3.10.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.md
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── itsdangerous
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _json.cpython-312.pyc
│   │           │   │   ├── encoding.cpython-312.pyc
│   │           │   │   ├── exc.cpython-312.pyc
│   │           │   │   ├── serializer.cpython-312.pyc
│   │           │   │   ├── signer.cpython-312.pyc
│   │           │   │   ├── timed.cpython-312.pyc
│   │           │   │   └── url_safe.cpython-312.pyc
│   │           │   ├── _json.py
│   │           │   ├── encoding.py
│   │           │   ├── exc.py
│   │           │   ├── py.typed
│   │           │   ├── serializer.py
│   │           │   ├── signer.py
│   │           │   ├── timed.py
│   │           │   └── url_safe.py
│   │           ├── itsdangerous-2.2.0.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── jinja2
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _identifier.cpython-312.pyc
│   │           │   │   ├── async_utils.cpython-312.pyc
│   │           │   │   ├── bccache.cpython-312.pyc
│   │           │   │   ├── compiler.cpython-312.pyc
│   │           │   │   ├── constants.cpython-312.pyc
│   │           │   │   ├── debug.cpython-312.pyc
│   │           │   │   ├── defaults.cpython-312.pyc
│   │           │   │   ├── environment.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── ext.cpython-312.pyc
│   │           │   │   ├── filters.cpython-312.pyc
│   │           │   │   ├── idtracking.cpython-312.pyc
│   │           │   │   ├── lexer.cpython-312.pyc
│   │           │   │   ├── loaders.cpython-312.pyc
│   │           │   │   ├── meta.cpython-312.pyc
│   │           │   │   ├── nativetypes.cpython-312.pyc
│   │           │   │   ├── nodes.cpython-312.pyc
│   │           │   │   ├── optimizer.cpython-312.pyc
│   │           │   │   ├── parser.cpython-312.pyc
│   │           │   │   ├── runtime.cpython-312.pyc
│   │           │   │   ├── sandbox.cpython-312.pyc
│   │           │   │   ├── tests.cpython-312.pyc
│   │           │   │   ├── utils.cpython-312.pyc
│   │           │   │   └── visitor.cpython-312.pyc
│   │           │   ├── _identifier.py
│   │           │   ├── async_utils.py
│   │           │   ├── bccache.py
│   │           │   ├── compiler.py
│   │           │   ├── constants.py
│   │           │   ├── debug.py
│   │           │   ├── defaults.py
│   │           │   ├── environment.py
│   │           │   ├── exceptions.py
│   │           │   ├── ext.py
│   │           │   ├── filters.py
│   │           │   ├── idtracking.py
│   │           │   ├── lexer.py
│   │           │   ├── loaders.py
│   │           │   ├── meta.py
│   │           │   ├── nativetypes.py
│   │           │   ├── nodes.py
│   │           │   ├── optimizer.py
│   │           │   ├── parser.py
│   │           │   ├── py.typed
│   │           │   ├── runtime.py
│   │           │   ├── sandbox.py
│   │           │   ├── tests.py
│   │           │   ├── utils.py
│   │           │   └── visitor.py
│   │           ├── jinja2-3.1.4.dist-info
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── lxml
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _elementpath.cpython-312.pyc
│   │           │   │   ├── builder.cpython-312.pyc
│   │           │   │   ├── cssselect.cpython-312.pyc
│   │           │   │   ├── doctestcompare.cpython-312.pyc
│   │           │   │   ├── ElementInclude.cpython-312.pyc
│   │           │   │   ├── pyclasslookup.cpython-312.pyc
│   │           │   │   ├── sax.cpython-312.pyc
│   │           │   │   └── usedoctest.cpython-312.pyc
│   │           │   ├── _elementpath.cpython-312-darwin.so
│   │           │   ├── _elementpath.py
│   │           │   ├── apihelpers.pxi
│   │           │   ├── builder.cpython-312-darwin.so
│   │           │   ├── builder.py
│   │           │   ├── classlookup.pxi
│   │           │   ├── cleanup.pxi
│   │           │   ├── cssselect.py
│   │           │   ├── debug.pxi
│   │           │   ├── docloader.pxi
│   │           │   ├── doctestcompare.py
│   │           │   ├── dtd.pxi
│   │           │   ├── ElementInclude.py
│   │           │   ├── etree_api.h
│   │           │   ├── etree.cpython-312-darwin.so
│   │           │   ├── etree.h
│   │           │   ├── etree.pyx
│   │           │   ├── extensions.pxi
│   │           │   ├── html
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── _diffcommand.cpython-312.pyc
│   │           │   │   │   ├── _html5builder.cpython-312.pyc
│   │           │   │   │   ├── _setmixin.cpython-312.pyc
│   │           │   │   │   ├── builder.cpython-312.pyc
│   │           │   │   │   ├── clean.cpython-312.pyc
│   │           │   │   │   ├── defs.cpython-312.pyc
│   │           │   │   │   ├── diff.cpython-312.pyc
│   │           │   │   │   ├── ElementSoup.cpython-312.pyc
│   │           │   │   │   ├── formfill.cpython-312.pyc
│   │           │   │   │   ├── html5parser.cpython-312.pyc
│   │           │   │   │   ├── soupparser.cpython-312.pyc
│   │           │   │   │   └── usedoctest.cpython-312.pyc
│   │           │   │   ├── _diffcommand.py
│   │           │   │   ├── _html5builder.py
│   │           │   │   ├── _setmixin.py
│   │           │   │   ├── builder.py
│   │           │   │   ├── clean.py
│   │           │   │   ├── defs.py
│   │           │   │   ├── diff.cpython-312-darwin.so
│   │           │   │   ├── diff.py
│   │           │   │   ├── ElementSoup.py
│   │           │   │   ├── formfill.py
│   │           │   │   ├── html5parser.py
│   │           │   │   ├── soupparser.py
│   │           │   │   └── usedoctest.py
│   │           │   ├── includes
│   │           │   │   ├── __init__.pxd
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   ├── c14n.pxd
│   │           │   │   ├── config.pxd
│   │           │   │   ├── dtdvalid.pxd
│   │           │   │   ├── etree_defs.h
│   │           │   │   ├── etreepublic.pxd
│   │           │   │   ├── extlibs
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── libcharset.h
│   │           │   │   │   ├── localcharset.h
│   │           │   │   │   ├── zconf.h
│   │           │   │   │   └── zlib.h
│   │           │   │   ├── htmlparser.pxd
│   │           │   │   ├── libexslt
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── exslt.h
│   │           │   │   │   ├── exsltconfig.h
│   │           │   │   │   └── exsltexports.h
│   │           │   │   ├── libxml
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── c14n.h
│   │           │   │   │   ├── catalog.h
│   │           │   │   │   ├── chvalid.h
│   │           │   │   │   ├── debugXML.h
│   │           │   │   │   ├── dict.h
│   │           │   │   │   ├── encoding.h
│   │           │   │   │   ├── entities.h
│   │           │   │   │   ├── globals.h
│   │           │   │   │   ├── hash.h
│   │           │   │   │   ├── HTMLparser.h
│   │           │   │   │   ├── HTMLtree.h
│   │           │   │   │   ├── list.h
│   │           │   │   │   ├── nanoftp.h
│   │           │   │   │   ├── nanohttp.h
│   │           │   │   │   ├── parser.h
│   │           │   │   │   ├── parserInternals.h
│   │           │   │   │   ├── relaxng.h
│   │           │   │   │   ├── SAX.h
│   │           │   │   │   ├── SAX2.h
│   │           │   │   │   ├── schemasInternals.h
│   │           │   │   │   ├── schematron.h
│   │           │   │   │   ├── threads.h
│   │           │   │   │   ├── tree.h
│   │           │   │   │   ├── uri.h
│   │           │   │   │   ├── valid.h
│   │           │   │   │   ├── xinclude.h
│   │           │   │   │   ├── xlink.h
│   │           │   │   │   ├── xmlautomata.h
│   │           │   │   │   ├── xmlerror.h
│   │           │   │   │   ├── xmlexports.h
│   │           │   │   │   ├── xmlIO.h
│   │           │   │   │   ├── xmlmemory.h
│   │           │   │   │   ├── xmlmodule.h
│   │           │   │   │   ├── xmlreader.h
│   │           │   │   │   ├── xmlregexp.h
│   │           │   │   │   ├── xmlsave.h
│   │           │   │   │   ├── xmlschemas.h
│   │           │   │   │   ├── xmlschemastypes.h
│   │           │   │   │   ├── xmlstring.h
│   │           │   │   │   ├── xmlunicode.h
│   │           │   │   │   ├── xmlversion.h
│   │           │   │   │   ├── xmlwriter.h
│   │           │   │   │   ├── xpath.h
│   │           │   │   │   ├── xpathInternals.h
│   │           │   │   │   └── xpointer.h
│   │           │   │   ├── libxslt
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── attributes.h
│   │           │   │   │   ├── documents.h
│   │           │   │   │   ├── extensions.h
│   │           │   │   │   ├── extra.h
│   │           │   │   │   ├── functions.h
│   │           │   │   │   ├── imports.h
│   │           │   │   │   ├── keys.h
│   │           │   │   │   ├── namespaces.h
│   │           │   │   │   ├── numbersInternals.h
│   │           │   │   │   ├── pattern.h
│   │           │   │   │   ├── preproc.h
│   │           │   │   │   ├── security.h
│   │           │   │   │   ├── templates.h
│   │           │   │   │   ├── transform.h
│   │           │   │   │   ├── variables.h
│   │           │   │   │   ├── xslt.h
│   │           │   │   │   ├── xsltconfig.h
│   │           │   │   │   ├── xsltexports.h
│   │           │   │   │   ├── xsltInternals.h
│   │           │   │   │   ├── xsltlocale.h
│   │           │   │   │   └── xsltutils.h
│   │           │   │   ├── lxml-version.h
│   │           │   │   ├── relaxng.pxd
│   │           │   │   ├── schematron.pxd
│   │           │   │   ├── tree.pxd
│   │           │   │   ├── uri.pxd
│   │           │   │   ├── xinclude.pxd
│   │           │   │   ├── xmlerror.pxd
│   │           │   │   ├── xmlparser.pxd
│   │           │   │   ├── xmlschema.pxd
│   │           │   │   ├── xpath.pxd
│   │           │   │   └── xslt.pxd
│   │           │   ├── isoschematron
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   └── resources
│   │           │   │       ├── rng
│   │           │   │       │   └── iso-schematron.rng
│   │           │   │       └── xsl
│   │           │   │           ├── iso-schematron-xslt1
│   │           │   │           │   ├── iso_abstract_expand.xsl
│   │           │   │           │   ├── iso_dsdl_include.xsl
│   │           │   │           │   ├── iso_schematron_message.xsl
│   │           │   │           │   ├── iso_schematron_skeleton_for_xslt1.xsl
│   │           │   │           │   ├── iso_svrl_for_xslt1.xsl
│   │           │   │           │   └── readme.txt
│   │           │   │           ├── RNG2Schtrn.xsl
│   │           │   │           └── XSD2Schtrn.xsl
│   │           │   ├── iterparse.pxi
│   │           │   ├── lxml.etree_api.h
│   │           │   ├── lxml.etree.h
│   │           │   ├── nsclasses.pxi
│   │           │   ├── objectify.cpython-312-darwin.so
│   │           │   ├── objectify.pyx
│   │           │   ├── objectpath.pxi
│   │           │   ├── parser.pxi
│   │           │   ├── parsertarget.pxi
│   │           │   ├── proxy.pxi
│   │           │   ├── public-api.pxi
│   │           │   ├── pyclasslookup.py
│   │           │   ├── readonlytree.pxi
│   │           │   ├── relaxng.pxi
│   │           │   ├── sax.cpython-312-darwin.so
│   │           │   ├── sax.py
│   │           │   ├── saxparser.pxi
│   │           │   ├── schematron.pxi
│   │           │   ├── serializer.pxi
│   │           │   ├── usedoctest.py
│   │           │   ├── xinclude.pxi
│   │           │   ├── xmlerror.pxi
│   │           │   ├── xmlid.pxi
│   │           │   ├── xmlschema.pxi
│   │           │   ├── xpath.pxi
│   │           │   ├── xslt.pxi
│   │           │   └── xsltext.pxi
│   │           ├── lxml-5.3.0.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── LICENSES.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── markupsafe
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   └── _native.cpython-312.pyc
│   │           │   ├── _native.py
│   │           │   ├── _speedups.c
│   │           │   ├── _speedups.cpython-312-darwin.so
│   │           │   ├── _speedups.pyi
│   │           │   └── py.typed
│   │           ├── MarkupSafe-3.0.1.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── pip
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pip-runner__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   └── __pip-runner__.cpython-312.pyc
│   │           │   ├── _internal
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── build_env.cpython-312.pyc
│   │           │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   ├── configuration.cpython-312.pyc
│   │           │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   ├── main.cpython-312.pyc
│   │           │   │   │   ├── pyproject.cpython-312.pyc
│   │           │   │   │   ├── self_outdated_check.cpython-312.pyc
│   │           │   │   │   └── wheel_builder.cpython-312.pyc
│   │           │   │   ├── build_env.py
│   │           │   │   ├── cache.py
│   │           │   │   ├── cli
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── autocompletion.cpython-312.pyc
│   │           │   │   │   │   ├── base_command.cpython-312.pyc
│   │           │   │   │   │   ├── cmdoptions.cpython-312.pyc
│   │           │   │   │   │   ├── command_context.cpython-312.pyc
│   │           │   │   │   │   ├── index_command.cpython-312.pyc
│   │           │   │   │   │   ├── main_parser.cpython-312.pyc
│   │           │   │   │   │   ├── main.cpython-312.pyc
│   │           │   │   │   │   ├── parser.cpython-312.pyc
│   │           │   │   │   │   ├── progress_bars.cpython-312.pyc
│   │           │   │   │   │   ├── req_command.cpython-312.pyc
│   │           │   │   │   │   ├── spinners.cpython-312.pyc
│   │           │   │   │   │   └── status_codes.cpython-312.pyc
│   │           │   │   │   ├── autocompletion.py
│   │           │   │   │   ├── base_command.py
│   │           │   │   │   ├── cmdoptions.py
│   │           │   │   │   ├── command_context.py
│   │           │   │   │   ├── index_command.py
│   │           │   │   │   ├── main_parser.py
│   │           │   │   │   ├── main.py
│   │           │   │   │   ├── parser.py
│   │           │   │   │   ├── progress_bars.py
│   │           │   │   │   ├── req_command.py
│   │           │   │   │   ├── spinners.py
│   │           │   │   │   └── status_codes.py
│   │           │   │   ├── commands
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   │   ├── check.cpython-312.pyc
│   │           │   │   │   │   ├── completion.cpython-312.pyc
│   │           │   │   │   │   ├── configuration.cpython-312.pyc
│   │           │   │   │   │   ├── debug.cpython-312.pyc
│   │           │   │   │   │   ├── download.cpython-312.pyc
│   │           │   │   │   │   ├── freeze.cpython-312.pyc
│   │           │   │   │   │   ├── hash.cpython-312.pyc
│   │           │   │   │   │   ├── help.cpython-312.pyc
│   │           │   │   │   │   ├── index.cpython-312.pyc
│   │           │   │   │   │   ├── inspect.cpython-312.pyc
│   │           │   │   │   │   ├── install.cpython-312.pyc
│   │           │   │   │   │   ├── list.cpython-312.pyc
│   │           │   │   │   │   ├── search.cpython-312.pyc
│   │           │   │   │   │   ├── show.cpython-312.pyc
│   │           │   │   │   │   ├── uninstall.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── cache.py
│   │           │   │   │   ├── check.py
│   │           │   │   │   ├── completion.py
│   │           │   │   │   ├── configuration.py
│   │           │   │   │   ├── debug.py
│   │           │   │   │   ├── download.py
│   │           │   │   │   ├── freeze.py
│   │           │   │   │   ├── hash.py
│   │           │   │   │   ├── help.py
│   │           │   │   │   ├── index.py
│   │           │   │   │   ├── inspect.py
│   │           │   │   │   ├── install.py
│   │           │   │   │   ├── list.py
│   │           │   │   │   ├── search.py
│   │           │   │   │   ├── show.py
│   │           │   │   │   ├── uninstall.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── configuration.py
│   │           │   │   ├── distributions
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── base.cpython-312.pyc
│   │           │   │   │   │   ├── installed.cpython-312.pyc
│   │           │   │   │   │   ├── sdist.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── base.py
│   │           │   │   │   ├── installed.py
│   │           │   │   │   ├── sdist.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── exceptions.py
│   │           │   │   ├── index
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── collector.cpython-312.pyc
│   │           │   │   │   │   ├── package_finder.cpython-312.pyc
│   │           │   │   │   │   └── sources.cpython-312.pyc
│   │           │   │   │   ├── collector.py
│   │           │   │   │   ├── package_finder.py
│   │           │   │   │   └── sources.py
│   │           │   │   ├── locations
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _distutils.cpython-312.pyc
│   │           │   │   │   │   ├── _sysconfig.cpython-312.pyc
│   │           │   │   │   │   └── base.cpython-312.pyc
│   │           │   │   │   ├── _distutils.py
│   │           │   │   │   ├── _sysconfig.py
│   │           │   │   │   └── base.py
│   │           │   │   ├── main.py
│   │           │   │   ├── metadata
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _json.cpython-312.pyc
│   │           │   │   │   │   ├── base.cpython-312.pyc
│   │           │   │   │   │   └── pkg_resources.cpython-312.pyc
│   │           │   │   │   ├── _json.py
│   │           │   │   │   ├── base.py
│   │           │   │   │   ├── importlib
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _compat.cpython-312.pyc
│   │           │   │   │   │   │   ├── _dists.cpython-312.pyc
│   │           │   │   │   │   │   └── _envs.cpython-312.pyc
│   │           │   │   │   │   ├── _compat.py
│   │           │   │   │   │   ├── _dists.py
│   │           │   │   │   │   └── _envs.py
│   │           │   │   │   └── pkg_resources.py
│   │           │   │   ├── models
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── candidate.cpython-312.pyc
│   │           │   │   │   │   ├── direct_url.cpython-312.pyc
│   │           │   │   │   │   ├── format_control.cpython-312.pyc
│   │           │   │   │   │   ├── index.cpython-312.pyc
│   │           │   │   │   │   ├── installation_report.cpython-312.pyc
│   │           │   │   │   │   ├── link.cpython-312.pyc
│   │           │   │   │   │   ├── scheme.cpython-312.pyc
│   │           │   │   │   │   ├── search_scope.cpython-312.pyc
│   │           │   │   │   │   ├── selection_prefs.cpython-312.pyc
│   │           │   │   │   │   ├── target_python.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── candidate.py
│   │           │   │   │   ├── direct_url.py
│   │           │   │   │   ├── format_control.py
│   │           │   │   │   ├── index.py
│   │           │   │   │   ├── installation_report.py
│   │           │   │   │   ├── link.py
│   │           │   │   │   ├── scheme.py
│   │           │   │   │   ├── search_scope.py
│   │           │   │   │   ├── selection_prefs.py
│   │           │   │   │   ├── target_python.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── network
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── auth.cpython-312.pyc
│   │           │   │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   │   ├── download.cpython-312.pyc
│   │           │   │   │   │   ├── lazy_wheel.cpython-312.pyc
│   │           │   │   │   │   ├── session.cpython-312.pyc
│   │           │   │   │   │   ├── utils.cpython-312.pyc
│   │           │   │   │   │   └── xmlrpc.cpython-312.pyc
│   │           │   │   │   ├── auth.py
│   │           │   │   │   ├── cache.py
│   │           │   │   │   ├── download.py
│   │           │   │   │   ├── lazy_wheel.py
│   │           │   │   │   ├── session.py
│   │           │   │   │   ├── utils.py
│   │           │   │   │   └── xmlrpc.py
│   │           │   │   ├── operations
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── check.cpython-312.pyc
│   │           │   │   │   │   ├── freeze.cpython-312.pyc
│   │           │   │   │   │   └── prepare.cpython-312.pyc
│   │           │   │   │   ├── build
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── build_tracker.cpython-312.pyc
│   │           │   │   │   │   │   ├── metadata_editable.cpython-312.pyc
│   │           │   │   │   │   │   ├── metadata_legacy.cpython-312.pyc
│   │           │   │   │   │   │   ├── metadata.cpython-312.pyc
│   │           │   │   │   │   │   ├── wheel_editable.cpython-312.pyc
│   │           │   │   │   │   │   ├── wheel_legacy.cpython-312.pyc
│   │           │   │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   │   ├── build_tracker.py
│   │           │   │   │   │   ├── metadata_editable.py
│   │           │   │   │   │   ├── metadata_legacy.py
│   │           │   │   │   │   ├── metadata.py
│   │           │   │   │   │   ├── wheel_editable.py
│   │           │   │   │   │   ├── wheel_legacy.py
│   │           │   │   │   │   └── wheel.py
│   │           │   │   │   ├── check.py
│   │           │   │   │   ├── freeze.py
│   │           │   │   │   ├── install
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── editable_legacy.cpython-312.pyc
│   │           │   │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   │   ├── editable_legacy.py
│   │           │   │   │   │   └── wheel.py
│   │           │   │   │   └── prepare.py
│   │           │   │   ├── pyproject.py
│   │           │   │   ├── req
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── constructors.cpython-312.pyc
│   │           │   │   │   │   ├── req_file.cpython-312.pyc
│   │           │   │   │   │   ├── req_install.cpython-312.pyc
│   │           │   │   │   │   ├── req_set.cpython-312.pyc
│   │           │   │   │   │   └── req_uninstall.cpython-312.pyc
│   │           │   │   │   ├── constructors.py
│   │           │   │   │   ├── req_file.py
│   │           │   │   │   ├── req_install.py
│   │           │   │   │   ├── req_set.py
│   │           │   │   │   └── req_uninstall.py
│   │           │   │   ├── resolution
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   └── base.cpython-312.pyc
│   │           │   │   │   ├── base.py
│   │           │   │   │   ├── legacy
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── resolver.cpython-312.pyc
│   │           │   │   │   │   └── resolver.py
│   │           │   │   │   └── resolvelib
│   │           │   │   │       ├── __init__.py
│   │           │   │   │       ├── __pycache__
│   │           │   │   │       │   ├── __init__.cpython-312.pyc
│   │           │   │   │       │   ├── base.cpython-312.pyc
│   │           │   │   │       │   ├── candidates.cpython-312.pyc
│   │           │   │   │       │   ├── factory.cpython-312.pyc
│   │           │   │   │       │   ├── found_candidates.cpython-312.pyc
│   │           │   │   │       │   ├── provider.cpython-312.pyc
│   │           │   │   │       │   ├── reporter.cpython-312.pyc
│   │           │   │   │       │   ├── requirements.cpython-312.pyc
│   │           │   │   │       │   └── resolver.cpython-312.pyc
│   │           │   │   │       ├── base.py
│   │           │   │   │       ├── candidates.py
│   │           │   │   │       ├── factory.py
│   │           │   │   │       ├── found_candidates.py
│   │           │   │   │       ├── provider.py
│   │           │   │   │       ├── reporter.py
│   │           │   │   │       ├── requirements.py
│   │           │   │   │       └── resolver.py
│   │           │   │   ├── self_outdated_check.py
│   │           │   │   ├── utils
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _jaraco_text.cpython-312.pyc
│   │           │   │   │   │   ├── _log.cpython-312.pyc
│   │           │   │   │   │   ├── appdirs.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── compatibility_tags.cpython-312.pyc
│   │           │   │   │   │   ├── datetime.cpython-312.pyc
│   │           │   │   │   │   ├── deprecation.cpython-312.pyc
│   │           │   │   │   │   ├── direct_url_helpers.cpython-312.pyc
│   │           │   │   │   │   ├── egg_link.cpython-312.pyc
│   │           │   │   │   │   ├── encoding.cpython-312.pyc
│   │           │   │   │   │   ├── entrypoints.cpython-312.pyc
│   │           │   │   │   │   ├── filesystem.cpython-312.pyc
│   │           │   │   │   │   ├── filetypes.cpython-312.pyc
│   │           │   │   │   │   ├── glibc.cpython-312.pyc
│   │           │   │   │   │   ├── hashes.cpython-312.pyc
│   │           │   │   │   │   ├── logging.cpython-312.pyc
│   │           │   │   │   │   ├── misc.cpython-312.pyc
│   │           │   │   │   │   ├── packaging.cpython-312.pyc
│   │           │   │   │   │   ├── retry.cpython-312.pyc
│   │           │   │   │   │   ├── setuptools_build.cpython-312.pyc
│   │           │   │   │   │   ├── subprocess.cpython-312.pyc
│   │           │   │   │   │   ├── temp_dir.cpython-312.pyc
│   │           │   │   │   │   ├── unpacking.cpython-312.pyc
│   │           │   │   │   │   ├── urls.cpython-312.pyc
│   │           │   │   │   │   ├── virtualenv.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── _jaraco_text.py
│   │           │   │   │   ├── _log.py
│   │           │   │   │   ├── appdirs.py
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── compatibility_tags.py
│   │           │   │   │   ├── datetime.py
│   │           │   │   │   ├── deprecation.py
│   │           │   │   │   ├── direct_url_helpers.py
│   │           │   │   │   ├── egg_link.py
│   │           │   │   │   ├── encoding.py
│   │           │   │   │   ├── entrypoints.py
│   │           │   │   │   ├── filesystem.py
│   │           │   │   │   ├── filetypes.py
│   │           │   │   │   ├── glibc.py
│   │           │   │   │   ├── hashes.py
│   │           │   │   │   ├── logging.py
│   │           │   │   │   ├── misc.py
│   │           │   │   │   ├── packaging.py
│   │           │   │   │   ├── retry.py
│   │           │   │   │   ├── setuptools_build.py
│   │           │   │   │   ├── subprocess.py
│   │           │   │   │   ├── temp_dir.py
│   │           │   │   │   ├── unpacking.py
│   │           │   │   │   ├── urls.py
│   │           │   │   │   ├── virtualenv.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── vcs
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── bazaar.cpython-312.pyc
│   │           │   │   │   │   ├── git.cpython-312.pyc
│   │           │   │   │   │   ├── mercurial.cpython-312.pyc
│   │           │   │   │   │   ├── subversion.cpython-312.pyc
│   │           │   │   │   │   └── versioncontrol.cpython-312.pyc
│   │           │   │   │   ├── bazaar.py
│   │           │   │   │   ├── git.py
│   │           │   │   │   ├── mercurial.py
│   │           │   │   │   ├── subversion.py
│   │           │   │   │   └── versioncontrol.py
│   │           │   │   └── wheel_builder.py
│   │           │   ├── _vendor
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   └── typing_extensions.cpython-312.pyc
│   │           │   │   ├── cachecontrol
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _cmd.cpython-312.pyc
│   │           │   │   │   │   ├── adapter.cpython-312.pyc
│   │           │   │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   │   ├── controller.cpython-312.pyc
│   │           │   │   │   │   ├── filewrapper.cpython-312.pyc
│   │           │   │   │   │   ├── heuristics.cpython-312.pyc
│   │           │   │   │   │   ├── serialize.cpython-312.pyc
│   │           │   │   │   │   └── wrapper.cpython-312.pyc
│   │           │   │   │   ├── _cmd.py
│   │           │   │   │   ├── adapter.py
│   │           │   │   │   ├── cache.py
│   │           │   │   │   ├── caches
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── file_cache.cpython-312.pyc
│   │           │   │   │   │   │   └── redis_cache.cpython-312.pyc
│   │           │   │   │   │   ├── file_cache.py
│   │           │   │   │   │   └── redis_cache.py
│   │           │   │   │   ├── controller.py
│   │           │   │   │   ├── filewrapper.py
│   │           │   │   │   ├── heuristics.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── serialize.py
│   │           │   │   │   └── wrapper.py
│   │           │   │   ├── certifi
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   └── core.cpython-312.pyc
│   │           │   │   │   ├── cacert.pem
│   │           │   │   │   ├── core.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── distlib
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── database.cpython-312.pyc
│   │           │   │   │   │   ├── index.cpython-312.pyc
│   │           │   │   │   │   ├── locators.cpython-312.pyc
│   │           │   │   │   │   ├── manifest.cpython-312.pyc
│   │           │   │   │   │   ├── markers.cpython-312.pyc
│   │           │   │   │   │   ├── metadata.cpython-312.pyc
│   │           │   │   │   │   ├── resources.cpython-312.pyc
│   │           │   │   │   │   ├── scripts.cpython-312.pyc
│   │           │   │   │   │   ├── util.cpython-312.pyc
│   │           │   │   │   │   ├── version.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── database.py
│   │           │   │   │   ├── index.py
│   │           │   │   │   ├── locators.py
│   │           │   │   │   ├── manifest.py
│   │           │   │   │   ├── markers.py
│   │           │   │   │   ├── metadata.py
│   │           │   │   │   ├── resources.py
│   │           │   │   │   ├── scripts.py
│   │           │   │   │   ├── t32.exe
│   │           │   │   │   ├── t64-arm.exe
│   │           │   │   │   ├── t64.exe
│   │           │   │   │   ├── util.py
│   │           │   │   │   ├── version.py
│   │           │   │   │   ├── w32.exe
│   │           │   │   │   ├── w64-arm.exe
│   │           │   │   │   ├── w64.exe
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── distro
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   └── distro.cpython-312.pyc
│   │           │   │   │   ├── distro.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── idna
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── codec.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── core.cpython-312.pyc
│   │           │   │   │   │   ├── idnadata.cpython-312.pyc
│   │           │   │   │   │   ├── intranges.cpython-312.pyc
│   │           │   │   │   │   ├── package_data.cpython-312.pyc
│   │           │   │   │   │   └── uts46data.cpython-312.pyc
│   │           │   │   │   ├── codec.py
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── core.py
│   │           │   │   │   ├── idnadata.py
│   │           │   │   │   ├── intranges.py
│   │           │   │   │   ├── package_data.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   └── uts46data.py
│   │           │   │   ├── msgpack
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   │   ├── ext.cpython-312.pyc
│   │           │   │   │   │   └── fallback.cpython-312.pyc
│   │           │   │   │   ├── exceptions.py
│   │           │   │   │   ├── ext.py
│   │           │   │   │   └── fallback.py
│   │           │   │   ├── packaging
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _elffile.cpython-312.pyc
│   │           │   │   │   │   ├── _manylinux.cpython-312.pyc
│   │           │   │   │   │   ├── _musllinux.cpython-312.pyc
│   │           │   │   │   │   ├── _parser.cpython-312.pyc
│   │           │   │   │   │   ├── _structures.cpython-312.pyc
│   │           │   │   │   │   ├── _tokenizer.cpython-312.pyc
│   │           │   │   │   │   ├── markers.cpython-312.pyc
│   │           │   │   │   │   ├── metadata.cpython-312.pyc
│   │           │   │   │   │   ├── requirements.cpython-312.pyc
│   │           │   │   │   │   ├── specifiers.cpython-312.pyc
│   │           │   │   │   │   ├── tags.cpython-312.pyc
│   │           │   │   │   │   ├── utils.cpython-312.pyc
│   │           │   │   │   │   └── version.cpython-312.pyc
│   │           │   │   │   ├── _elffile.py
│   │           │   │   │   ├── _manylinux.py
│   │           │   │   │   ├── _musllinux.py
│   │           │   │   │   ├── _parser.py
│   │           │   │   │   ├── _structures.py
│   │           │   │   │   ├── _tokenizer.py
│   │           │   │   │   ├── markers.py
│   │           │   │   │   ├── metadata.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── requirements.py
│   │           │   │   │   ├── specifiers.py
│   │           │   │   │   ├── tags.py
│   │           │   │   │   ├── utils.py
│   │           │   │   │   └── version.py
│   │           │   │   ├── pkg_resources
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   └── __pycache__
│   │           │   │   │       └── __init__.cpython-312.pyc
│   │           │   │   ├── platformdirs
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   ├── android.cpython-312.pyc
│   │           │   │   │   │   ├── api.cpython-312.pyc
│   │           │   │   │   │   ├── macos.cpython-312.pyc
│   │           │   │   │   │   ├── unix.cpython-312.pyc
│   │           │   │   │   │   ├── version.cpython-312.pyc
│   │           │   │   │   │   └── windows.cpython-312.pyc
│   │           │   │   │   ├── android.py
│   │           │   │   │   ├── api.py
│   │           │   │   │   ├── macos.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── unix.py
│   │           │   │   │   ├── version.py
│   │           │   │   │   └── windows.py
│   │           │   │   ├── pygments
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   ├── cmdline.cpython-312.pyc
│   │           │   │   │   │   ├── console.cpython-312.pyc
│   │           │   │   │   │   ├── filter.cpython-312.pyc
│   │           │   │   │   │   ├── formatter.cpython-312.pyc
│   │           │   │   │   │   ├── lexer.cpython-312.pyc
│   │           │   │   │   │   ├── modeline.cpython-312.pyc
│   │           │   │   │   │   ├── plugin.cpython-312.pyc
│   │           │   │   │   │   ├── regexopt.cpython-312.pyc
│   │           │   │   │   │   ├── scanner.cpython-312.pyc
│   │           │   │   │   │   ├── sphinxext.cpython-312.pyc
│   │           │   │   │   │   ├── style.cpython-312.pyc
│   │           │   │   │   │   ├── token.cpython-312.pyc
│   │           │   │   │   │   ├── unistring.cpython-312.pyc
│   │           │   │   │   │   └── util.cpython-312.pyc
│   │           │   │   │   ├── cmdline.py
│   │           │   │   │   ├── console.py
│   │           │   │   │   ├── filter.py
│   │           │   │   │   ├── filters
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   └── __pycache__
│   │           │   │   │   │       └── __init__.cpython-312.pyc
│   │           │   │   │   ├── formatter.py
│   │           │   │   │   ├── formatters
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _mapping.cpython-312.pyc
│   │           │   │   │   │   │   ├── bbcode.cpython-312.pyc
│   │           │   │   │   │   │   ├── groff.cpython-312.pyc
│   │           │   │   │   │   │   ├── html.cpython-312.pyc
│   │           │   │   │   │   │   ├── img.cpython-312.pyc
│   │           │   │   │   │   │   ├── irc.cpython-312.pyc
│   │           │   │   │   │   │   ├── latex.cpython-312.pyc
│   │           │   │   │   │   │   ├── other.cpython-312.pyc
│   │           │   │   │   │   │   ├── pangomarkup.cpython-312.pyc
│   │           │   │   │   │   │   ├── rtf.cpython-312.pyc
│   │           │   │   │   │   │   ├── svg.cpython-312.pyc
│   │           │   │   │   │   │   ├── terminal.cpython-312.pyc
│   │           │   │   │   │   │   └── terminal256.cpython-312.pyc
│   │           │   │   │   │   ├── _mapping.py
│   │           │   │   │   │   ├── bbcode.py
│   │           │   │   │   │   ├── groff.py
│   │           │   │   │   │   ├── html.py
│   │           │   │   │   │   ├── img.py
│   │           │   │   │   │   ├── irc.py
│   │           │   │   │   │   ├── latex.py
│   │           │   │   │   │   ├── other.py
│   │           │   │   │   │   ├── pangomarkup.py
│   │           │   │   │   │   ├── rtf.py
│   │           │   │   │   │   ├── svg.py
│   │           │   │   │   │   ├── terminal.py
│   │           │   │   │   │   └── terminal256.py
│   │           │   │   │   ├── lexer.py
│   │           │   │   │   ├── lexers
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _mapping.cpython-312.pyc
│   │           │   │   │   │   │   └── python.cpython-312.pyc
│   │           │   │   │   │   ├── _mapping.py
│   │           │   │   │   │   └── python.py
│   │           │   │   │   ├── modeline.py
│   │           │   │   │   ├── plugin.py
│   │           │   │   │   ├── regexopt.py
│   │           │   │   │   ├── scanner.py
│   │           │   │   │   ├── sphinxext.py
│   │           │   │   │   ├── style.py
│   │           │   │   │   ├── styles
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── _mapping.cpython-312.pyc
│   │           │   │   │   │   └── _mapping.py
│   │           │   │   │   ├── token.py
│   │           │   │   │   ├── unistring.py
│   │           │   │   │   └── util.py
│   │           │   │   ├── pyproject_hooks
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _compat.cpython-312.pyc
│   │           │   │   │   │   └── _impl.cpython-312.pyc
│   │           │   │   │   ├── _compat.py
│   │           │   │   │   ├── _impl.py
│   │           │   │   │   └── _in_process
│   │           │   │   │       ├── __init__.py
│   │           │   │   │       ├── __pycache__
│   │           │   │   │       │   ├── __init__.cpython-312.pyc
│   │           │   │   │       │   └── _in_process.cpython-312.pyc
│   │           │   │   │       └── _in_process.py
│   │           │   │   ├── requests
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __version__.cpython-312.pyc
│   │           │   │   │   │   ├── _internal_utils.cpython-312.pyc
│   │           │   │   │   │   ├── adapters.cpython-312.pyc
│   │           │   │   │   │   ├── api.cpython-312.pyc
│   │           │   │   │   │   ├── auth.cpython-312.pyc
│   │           │   │   │   │   ├── certs.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── cookies.cpython-312.pyc
│   │           │   │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   │   ├── help.cpython-312.pyc
│   │           │   │   │   │   ├── hooks.cpython-312.pyc
│   │           │   │   │   │   ├── models.cpython-312.pyc
│   │           │   │   │   │   ├── packages.cpython-312.pyc
│   │           │   │   │   │   ├── sessions.cpython-312.pyc
│   │           │   │   │   │   ├── status_codes.cpython-312.pyc
│   │           │   │   │   │   ├── structures.cpython-312.pyc
│   │           │   │   │   │   └── utils.cpython-312.pyc
│   │           │   │   │   ├── __version__.py
│   │           │   │   │   ├── _internal_utils.py
│   │           │   │   │   ├── adapters.py
│   │           │   │   │   ├── api.py
│   │           │   │   │   ├── auth.py
│   │           │   │   │   ├── certs.py
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── cookies.py
│   │           │   │   │   ├── exceptions.py
│   │           │   │   │   ├── help.py
│   │           │   │   │   ├── hooks.py
│   │           │   │   │   ├── models.py
│   │           │   │   │   ├── packages.py
│   │           │   │   │   ├── sessions.py
│   │           │   │   │   ├── status_codes.py
│   │           │   │   │   ├── structures.py
│   │           │   │   │   └── utils.py
│   │           │   │   ├── resolvelib
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── providers.cpython-312.pyc
│   │           │   │   │   │   ├── reporters.cpython-312.pyc
│   │           │   │   │   │   ├── resolvers.cpython-312.pyc
│   │           │   │   │   │   └── structs.cpython-312.pyc
│   │           │   │   │   ├── compat
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── collections_abc.cpython-312.pyc
│   │           │   │   │   │   └── collections_abc.py
│   │           │   │   │   ├── providers.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── reporters.py
│   │           │   │   │   ├── resolvers.py
│   │           │   │   │   └── structs.py
│   │           │   │   ├── rich
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   ├── _cell_widths.cpython-312.pyc
│   │           │   │   │   │   ├── _emoji_codes.cpython-312.pyc
│   │           │   │   │   │   ├── _emoji_replace.cpython-312.pyc
│   │           │   │   │   │   ├── _export_format.cpython-312.pyc
│   │           │   │   │   │   ├── _extension.cpython-312.pyc
│   │           │   │   │   │   ├── _fileno.cpython-312.pyc
│   │           │   │   │   │   ├── _inspect.cpython-312.pyc
│   │           │   │   │   │   ├── _log_render.cpython-312.pyc
│   │           │   │   │   │   ├── _loop.cpython-312.pyc
│   │           │   │   │   │   ├── _null_file.cpython-312.pyc
│   │           │   │   │   │   ├── _palettes.cpython-312.pyc
│   │           │   │   │   │   ├── _pick.cpython-312.pyc
│   │           │   │   │   │   ├── _ratio.cpython-312.pyc
│   │           │   │   │   │   ├── _spinners.cpython-312.pyc
│   │           │   │   │   │   ├── _stack.cpython-312.pyc
│   │           │   │   │   │   ├── _timer.cpython-312.pyc
│   │           │   │   │   │   ├── _win32_console.cpython-312.pyc
│   │           │   │   │   │   ├── _windows_renderer.cpython-312.pyc
│   │           │   │   │   │   ├── _windows.cpython-312.pyc
│   │           │   │   │   │   ├── _wrap.cpython-312.pyc
│   │           │   │   │   │   ├── abc.cpython-312.pyc
│   │           │   │   │   │   ├── align.cpython-312.pyc
│   │           │   │   │   │   ├── ansi.cpython-312.pyc
│   │           │   │   │   │   ├── bar.cpython-312.pyc
│   │           │   │   │   │   ├── box.cpython-312.pyc
│   │           │   │   │   │   ├── cells.cpython-312.pyc
│   │           │   │   │   │   ├── color_triplet.cpython-312.pyc
│   │           │   │   │   │   ├── color.cpython-312.pyc
│   │           │   │   │   │   ├── columns.cpython-312.pyc
│   │           │   │   │   │   ├── console.cpython-312.pyc
│   │           │   │   │   │   ├── constrain.cpython-312.pyc
│   │           │   │   │   │   ├── containers.cpython-312.pyc
│   │           │   │   │   │   ├── control.cpython-312.pyc
│   │           │   │   │   │   ├── default_styles.cpython-312.pyc
│   │           │   │   │   │   ├── diagnose.cpython-312.pyc
│   │           │   │   │   │   ├── emoji.cpython-312.pyc
│   │           │   │   │   │   ├── errors.cpython-312.pyc
│   │           │   │   │   │   ├── file_proxy.cpython-312.pyc
│   │           │   │   │   │   ├── filesize.cpython-312.pyc
│   │           │   │   │   │   ├── highlighter.cpython-312.pyc
│   │           │   │   │   │   ├── json.cpython-312.pyc
│   │           │   │   │   │   ├── jupyter.cpython-312.pyc
│   │           │   │   │   │   ├── layout.cpython-312.pyc
│   │           │   │   │   │   ├── live_render.cpython-312.pyc
│   │           │   │   │   │   ├── live.cpython-312.pyc
│   │           │   │   │   │   ├── logging.cpython-312.pyc
│   │           │   │   │   │   ├── markup.cpython-312.pyc
│   │           │   │   │   │   ├── measure.cpython-312.pyc
│   │           │   │   │   │   ├── padding.cpython-312.pyc
│   │           │   │   │   │   ├── pager.cpython-312.pyc
│   │           │   │   │   │   ├── palette.cpython-312.pyc
│   │           │   │   │   │   ├── panel.cpython-312.pyc
│   │           │   │   │   │   ├── pretty.cpython-312.pyc
│   │           │   │   │   │   ├── progress_bar.cpython-312.pyc
│   │           │   │   │   │   ├── progress.cpython-312.pyc
│   │           │   │   │   │   ├── prompt.cpython-312.pyc
│   │           │   │   │   │   ├── protocol.cpython-312.pyc
│   │           │   │   │   │   ├── region.cpython-312.pyc
│   │           │   │   │   │   ├── repr.cpython-312.pyc
│   │           │   │   │   │   ├── rule.cpython-312.pyc
│   │           │   │   │   │   ├── scope.cpython-312.pyc
│   │           │   │   │   │   ├── screen.cpython-312.pyc
│   │           │   │   │   │   ├── segment.cpython-312.pyc
│   │           │   │   │   │   ├── spinner.cpython-312.pyc
│   │           │   │   │   │   ├── status.cpython-312.pyc
│   │           │   │   │   │   ├── style.cpython-312.pyc
│   │           │   │   │   │   ├── styled.cpython-312.pyc
│   │           │   │   │   │   ├── syntax.cpython-312.pyc
│   │           │   │   │   │   ├── table.cpython-312.pyc
│   │           │   │   │   │   ├── terminal_theme.cpython-312.pyc
│   │           │   │   │   │   ├── text.cpython-312.pyc
│   │           │   │   │   │   ├── theme.cpython-312.pyc
│   │           │   │   │   │   ├── themes.cpython-312.pyc
│   │           │   │   │   │   ├── traceback.cpython-312.pyc
│   │           │   │   │   │   └── tree.cpython-312.pyc
│   │           │   │   │   ├── _cell_widths.py
│   │           │   │   │   ├── _emoji_codes.py
│   │           │   │   │   ├── _emoji_replace.py
│   │           │   │   │   ├── _export_format.py
│   │           │   │   │   ├── _extension.py
│   │           │   │   │   ├── _fileno.py
│   │           │   │   │   ├── _inspect.py
│   │           │   │   │   ├── _log_render.py
│   │           │   │   │   ├── _loop.py
│   │           │   │   │   ├── _null_file.py
│   │           │   │   │   ├── _palettes.py
│   │           │   │   │   ├── _pick.py
│   │           │   │   │   ├── _ratio.py
│   │           │   │   │   ├── _spinners.py
│   │           │   │   │   ├── _stack.py
│   │           │   │   │   ├── _timer.py
│   │           │   │   │   ├── _win32_console.py
│   │           │   │   │   ├── _windows_renderer.py
│   │           │   │   │   ├── _windows.py
│   │           │   │   │   ├── _wrap.py
│   │           │   │   │   ├── abc.py
│   │           │   │   │   ├── align.py
│   │           │   │   │   ├── ansi.py
│   │           │   │   │   ├── bar.py
│   │           │   │   │   ├── box.py
│   │           │   │   │   ├── cells.py
│   │           │   │   │   ├── color_triplet.py
│   │           │   │   │   ├── color.py
│   │           │   │   │   ├── columns.py
│   │           │   │   │   ├── console.py
│   │           │   │   │   ├── constrain.py
│   │           │   │   │   ├── containers.py
│   │           │   │   │   ├── control.py
│   │           │   │   │   ├── default_styles.py
│   │           │   │   │   ├── diagnose.py
│   │           │   │   │   ├── emoji.py
│   │           │   │   │   ├── errors.py
│   │           │   │   │   ├── file_proxy.py
│   │           │   │   │   ├── filesize.py
│   │           │   │   │   ├── highlighter.py
│   │           │   │   │   ├── json.py
│   │           │   │   │   ├── jupyter.py
│   │           │   │   │   ├── layout.py
│   │           │   │   │   ├── live_render.py
│   │           │   │   │   ├── live.py
│   │           │   │   │   ├── logging.py
│   │           │   │   │   ├── markup.py
│   │           │   │   │   ├── measure.py
│   │           │   │   │   ├── padding.py
│   │           │   │   │   ├── pager.py
│   │           │   │   │   ├── palette.py
│   │           │   │   │   ├── panel.py
│   │           │   │   │   ├── pretty.py
│   │           │   │   │   ├── progress_bar.py
│   │           │   │   │   ├── progress.py
│   │           │   │   │   ├── prompt.py
│   │           │   │   │   ├── protocol.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── region.py
│   │           │   │   │   ├── repr.py
│   │           │   │   │   ├── rule.py
│   │           │   │   │   ├── scope.py
│   │           │   │   │   ├── screen.py
│   │           │   │   │   ├── segment.py
│   │           │   │   │   ├── spinner.py
│   │           │   │   │   ├── status.py
│   │           │   │   │   ├── style.py
│   │           │   │   │   ├── styled.py
│   │           │   │   │   ├── syntax.py
│   │           │   │   │   ├── table.py
│   │           │   │   │   ├── terminal_theme.py
│   │           │   │   │   ├── text.py
│   │           │   │   │   ├── theme.py
│   │           │   │   │   ├── themes.py
│   │           │   │   │   ├── traceback.py
│   │           │   │   │   └── tree.py
│   │           │   │   ├── tomli
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _parser.cpython-312.pyc
│   │           │   │   │   │   ├── _re.cpython-312.pyc
│   │           │   │   │   │   └── _types.cpython-312.pyc
│   │           │   │   │   ├── _parser.py
│   │           │   │   │   ├── _re.py
│   │           │   │   │   ├── _types.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── truststore
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _api.cpython-312.pyc
│   │           │   │   │   │   ├── _macos.cpython-312.pyc
│   │           │   │   │   │   ├── _openssl.cpython-312.pyc
│   │           │   │   │   │   ├── _ssl_constants.cpython-312.pyc
│   │           │   │   │   │   └── _windows.cpython-312.pyc
│   │           │   │   │   ├── _api.py
│   │           │   │   │   ├── _macos.py
│   │           │   │   │   ├── _openssl.py
│   │           │   │   │   ├── _ssl_constants.py
│   │           │   │   │   ├── _windows.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── typing_extensions.py
│   │           │   │   ├── urllib3
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _collections.cpython-312.pyc
│   │           │   │   │   │   ├── _version.cpython-312.pyc
│   │           │   │   │   │   ├── connection.cpython-312.pyc
│   │           │   │   │   │   ├── connectionpool.cpython-312.pyc
│   │           │   │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   │   ├── fields.cpython-312.pyc
│   │           │   │   │   │   ├── filepost.cpython-312.pyc
│   │           │   │   │   │   ├── poolmanager.cpython-312.pyc
│   │           │   │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   │   └── response.cpython-312.pyc
│   │           │   │   │   ├── _collections.py
│   │           │   │   │   ├── _version.py
│   │           │   │   │   ├── connection.py
│   │           │   │   │   ├── connectionpool.py
│   │           │   │   │   ├── contrib
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _appengine_environ.cpython-312.pyc
│   │           │   │   │   │   │   ├── appengine.cpython-312.pyc
│   │           │   │   │   │   │   ├── ntlmpool.cpython-312.pyc
│   │           │   │   │   │   │   ├── pyopenssl.cpython-312.pyc
│   │           │   │   │   │   │   ├── securetransport.cpython-312.pyc
│   │           │   │   │   │   │   └── socks.cpython-312.pyc
│   │           │   │   │   │   ├── _appengine_environ.py
│   │           │   │   │   │   ├── _securetransport
│   │           │   │   │   │   │   ├── __init__.py
│   │           │   │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   │   ├── bindings.cpython-312.pyc
│   │           │   │   │   │   │   │   └── low_level.cpython-312.pyc
│   │           │   │   │   │   │   ├── bindings.py
│   │           │   │   │   │   │   └── low_level.py
│   │           │   │   │   │   ├── appengine.py
│   │           │   │   │   │   ├── ntlmpool.py
│   │           │   │   │   │   ├── pyopenssl.py
│   │           │   │   │   │   ├── securetransport.py
│   │           │   │   │   │   └── socks.py
│   │           │   │   │   ├── exceptions.py
│   │           │   │   │   ├── fields.py
│   │           │   │   │   ├── filepost.py
│   │           │   │   │   ├── packages
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── six.cpython-312.pyc
│   │           │   │   │   │   ├── backports
│   │           │   │   │   │   │   ├── __init__.py
│   │           │   │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   │   ├── makefile.cpython-312.pyc
│   │           │   │   │   │   │   │   └── weakref_finalize.cpython-312.pyc
│   │           │   │   │   │   │   ├── makefile.py
│   │           │   │   │   │   │   └── weakref_finalize.py
│   │           │   │   │   │   └── six.py
│   │           │   │   │   ├── poolmanager.py
│   │           │   │   │   ├── request.py
│   │           │   │   │   ├── response.py
│   │           │   │   │   └── util
│   │           │   │   │       ├── __init__.py
│   │           │   │   │       ├── __pycache__
│   │           │   │   │       │   ├── __init__.cpython-312.pyc
│   │           │   │   │       │   ├── connection.cpython-312.pyc
│   │           │   │   │       │   ├── proxy.cpython-312.pyc
│   │           │   │   │       │   ├── queue.cpython-312.pyc
│   │           │   │   │       │   ├── request.cpython-312.pyc
│   │           │   │   │       │   ├── response.cpython-312.pyc
│   │           │   │   │       │   ├── retry.cpython-312.pyc
│   │           │   │   │       │   ├── ssl_.cpython-312.pyc
│   │           │   │   │       │   ├── ssl_match_hostname.cpython-312.pyc
│   │           │   │   │       │   ├── ssltransport.cpython-312.pyc
│   │           │   │   │       │   ├── timeout.cpython-312.pyc
│   │           │   │   │       │   ├── url.cpython-312.pyc
│   │           │   │   │       │   └── wait.cpython-312.pyc
│   │           │   │   │       ├── connection.py
│   │           │   │   │       ├── proxy.py
│   │           │   │   │       ├── queue.py
│   │           │   │   │       ├── request.py
│   │           │   │   │       ├── response.py
│   │           │   │   │       ├── retry.py
│   │           │   │   │       ├── ssl_.py
│   │           │   │   │       ├── ssl_match_hostname.py
│   │           │   │   │       ├── ssltransport.py
│   │           │   │   │       ├── timeout.py
│   │           │   │   │       ├── url.py
│   │           │   │   │       └── wait.py
│   │           │   │   └── vendor.txt
│   │           │   └── py.typed
│   │           ├── pip-24.2.dist-info
│   │           │   ├── AUTHORS.txt
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── requests
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __version__.cpython-312.pyc
│   │           │   │   ├── _internal_utils.cpython-312.pyc
│   │           │   │   ├── adapters.cpython-312.pyc
│   │           │   │   ├── api.cpython-312.pyc
│   │           │   │   ├── auth.cpython-312.pyc
│   │           │   │   ├── certs.cpython-312.pyc
│   │           │   │   ├── compat.cpython-312.pyc
│   │           │   │   ├── cookies.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── help.cpython-312.pyc
│   │           │   │   ├── hooks.cpython-312.pyc
│   │           │   │   ├── models.cpython-312.pyc
│   │           │   │   ├── packages.cpython-312.pyc
│   │           │   │   ├── sessions.cpython-312.pyc
│   │           │   │   ├── status_codes.cpython-312.pyc
│   │           │   │   ├── structures.cpython-312.pyc
│   │           │   │   └── utils.cpython-312.pyc
│   │           │   ├── __version__.py
│   │           │   ├── _internal_utils.py
│   │           │   ├── adapters.py
│   │           │   ├── api.py
│   │           │   ├── auth.py
│   │           │   ├── certs.py
│   │           │   ├── compat.py
│   │           │   ├── cookies.py
│   │           │   ├── exceptions.py
│   │           │   ├── help.py
│   │           │   ├── hooks.py
│   │           │   ├── models.py
│   │           │   ├── packages.py
│   │           │   ├── sessions.py
│   │           │   ├── status_codes.py
│   │           │   ├── structures.py
│   │           │   └── utils.py
│   │           ├── requests-2.32.3.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── soupsieve
│   │           │   ├── __init__.py
│   │           │   ├── __meta__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __meta__.cpython-312.pyc
│   │           │   │   ├── css_match.cpython-312.pyc
│   │           │   │   ├── css_parser.cpython-312.pyc
│   │           │   │   ├── css_types.cpython-312.pyc
│   │           │   │   ├── pretty.cpython-312.pyc
│   │           │   │   └── util.cpython-312.pyc
│   │           │   ├── css_match.py
│   │           │   ├── css_parser.py
│   │           │   ├── css_types.py
│   │           │   ├── pretty.py
│   │           │   ├── py.typed
│   │           │   └── util.py
│   │           ├── soupsieve-2.6.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── licenses
│   │           │   │   └── LICENSE.md
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── urllib3
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _base_connection.cpython-312.pyc
│   │           │   │   ├── _collections.cpython-312.pyc
│   │           │   │   ├── _request_methods.cpython-312.pyc
│   │           │   │   ├── _version.cpython-312.pyc
│   │           │   │   ├── connection.cpython-312.pyc
│   │           │   │   ├── connectionpool.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── fields.cpython-312.pyc
│   │           │   │   ├── filepost.cpython-312.pyc
│   │           │   │   ├── poolmanager.cpython-312.pyc
│   │           │   │   └── response.cpython-312.pyc
│   │           │   ├── _base_connection.py
│   │           │   ├── _collections.py
│   │           │   ├── _request_methods.py
│   │           │   ├── _version.py
│   │           │   ├── connection.py
│   │           │   ├── connectionpool.py
│   │           │   ├── contrib
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── pyopenssl.cpython-312.pyc
│   │           │   │   │   └── socks.cpython-312.pyc
│   │           │   │   ├── emscripten
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── connection.cpython-312.pyc
│   │           │   │   │   │   ├── fetch.cpython-312.pyc
│   │           │   │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   │   └── response.cpython-312.pyc
│   │           │   │   │   ├── connection.py
│   │           │   │   │   ├── emscripten_fetch_worker.js
│   │           │   │   │   ├── fetch.py
│   │           │   │   │   ├── request.py
│   │           │   │   │   └── response.py
│   │           │   │   ├── pyopenssl.py
│   │           │   │   └── socks.py
│   │           │   ├── exceptions.py
│   │           │   ├── fields.py
│   │           │   ├── filepost.py
│   │           │   ├── http2
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── connection.cpython-312.pyc
│   │           │   │   │   └── probe.cpython-312.pyc
│   │           │   │   ├── connection.py
│   │           │   │   └── probe.py
│   │           │   ├── poolmanager.py
│   │           │   ├── py.typed
│   │           │   ├── response.py
│   │           │   └── util
│   │           │       ├── __init__.py
│   │           │       ├── __pycache__
│   │           │       │   ├── __init__.cpython-312.pyc
│   │           │       │   ├── connection.cpython-312.pyc
│   │           │       │   ├── proxy.cpython-312.pyc
│   │           │       │   ├── request.cpython-312.pyc
│   │           │       │   ├── response.cpython-312.pyc
│   │           │       │   ├── retry.cpython-312.pyc
│   │           │       │   ├── ssl_.cpython-312.pyc
│   │           │       │   ├── ssl_match_hostname.cpython-312.pyc
│   │           │       │   ├── ssltransport.cpython-312.pyc
│   │           │       │   ├── timeout.cpython-312.pyc
│   │           │       │   ├── url.cpython-312.pyc
│   │           │       │   ├── util.cpython-312.pyc
│   │           │       │   └── wait.cpython-312.pyc
│   │           │       ├── connection.py
│   │           │       ├── proxy.py
│   │           │       ├── request.py
│   │           │       ├── response.py
│   │           │       ├── retry.py
│   │           │       ├── ssl_.py
│   │           │       ├── ssl_match_hostname.py
│   │           │       ├── ssltransport.py
│   │           │       ├── timeout.py
│   │           │       ├── url.py
│   │           │       ├── util.py
│   │           │       └── wait.py
│   │           ├── urllib3-2.2.3.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── licenses
│   │           │   │   └── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── useragent
│   │           │   ├── __init__.py
│   │           │   ├── __init__.pyc
│   │           │   ├── __pycache__
│   │           │   │   └── __init__.cpython-312.pyc
│   │           │   ├── resources
│   │           │   │   └── user_agent_data.json
│   │           │   └── test
│   │           │       ├── __init__.py
│   │           │       ├── __pycache__
│   │           │       │   └── __init__.cpython-312.pyc
│   │           │       ├── test_additional_os.json
│   │           │       ├── test_browser.json
│   │           │       ├── test_device.json
│   │           │       ├── test_firefox.json
│   │           │       ├── test_os.json
│   │           │       └── test_pgts_browser.json
│   │           ├── useragent-0.1.1.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── werkzeug
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _internal.cpython-312.pyc
│   │           │   │   ├── _reloader.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── formparser.cpython-312.pyc
│   │           │   │   ├── http.cpython-312.pyc
│   │           │   │   ├── local.cpython-312.pyc
│   │           │   │   ├── security.cpython-312.pyc
│   │           │   │   ├── serving.cpython-312.pyc
│   │           │   │   ├── test.cpython-312.pyc
│   │           │   │   ├── testapp.cpython-312.pyc
│   │           │   │   ├── urls.cpython-312.pyc
│   │           │   │   ├── user_agent.cpython-312.pyc
│   │           │   │   ├── utils.cpython-312.pyc
│   │           │   │   └── wsgi.cpython-312.pyc
│   │           │   ├── _internal.py
│   │           │   ├── _reloader.py
│   │           │   ├── datastructures
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── accept.cpython-312.pyc
│   │           │   │   │   ├── auth.cpython-312.pyc
│   │           │   │   │   ├── cache_control.cpython-312.pyc
│   │           │   │   │   ├── csp.cpython-312.pyc
│   │           │   │   │   ├── etag.cpython-312.pyc
│   │           │   │   │   ├── file_storage.cpython-312.pyc
│   │           │   │   │   ├── headers.cpython-312.pyc
│   │           │   │   │   ├── mixins.cpython-312.pyc
│   │           │   │   │   ├── range.cpython-312.pyc
│   │           │   │   │   └── structures.cpython-312.pyc
│   │           │   │   ├── accept.py
│   │           │   │   ├── accept.pyi
│   │           │   │   ├── auth.py
│   │           │   │   ├── cache_control.py
│   │           │   │   ├── cache_control.pyi
│   │           │   │   ├── csp.py
│   │           │   │   ├── csp.pyi
│   │           │   │   ├── etag.py
│   │           │   │   ├── etag.pyi
│   │           │   │   ├── file_storage.py
│   │           │   │   ├── file_storage.pyi
│   │           │   │   ├── headers.py
│   │           │   │   ├── headers.pyi
│   │           │   │   ├── mixins.py
│   │           │   │   ├── mixins.pyi
│   │           │   │   ├── range.py
│   │           │   │   ├── range.pyi
│   │           │   │   ├── structures.py
│   │           │   │   └── structures.pyi
│   │           │   ├── debug
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── console.cpython-312.pyc
│   │           │   │   │   ├── repr.cpython-312.pyc
│   │           │   │   │   └── tbtools.cpython-312.pyc
│   │           │   │   ├── console.py
│   │           │   │   ├── repr.py
│   │           │   │   ├── shared
│   │           │   │   │   ├── console.png
│   │           │   │   │   ├── debugger.js
│   │           │   │   │   ├── ICON_LICENSE.md
│   │           │   │   │   ├── less.png
│   │           │   │   │   ├── more.png
│   │           │   │   │   └── style.css
│   │           │   │   └── tbtools.py
│   │           │   ├── exceptions.py
│   │           │   ├── formparser.py
│   │           │   ├── http.py
│   │           │   ├── local.py
│   │           │   ├── middleware
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── dispatcher.cpython-312.pyc
│   │           │   │   │   ├── http_proxy.cpython-312.pyc
│   │           │   │   │   ├── lint.cpython-312.pyc
│   │           │   │   │   ├── profiler.cpython-312.pyc
│   │           │   │   │   ├── proxy_fix.cpython-312.pyc
│   │           │   │   │   └── shared_data.cpython-312.pyc
│   │           │   │   ├── dispatcher.py
│   │           │   │   ├── http_proxy.py
│   │           │   │   ├── lint.py
│   │           │   │   ├── profiler.py
│   │           │   │   ├── proxy_fix.py
│   │           │   │   └── shared_data.py
│   │           │   ├── py.typed
│   │           │   ├── routing
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── converters.cpython-312.pyc
│   │           │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   ├── map.cpython-312.pyc
│   │           │   │   │   ├── matcher.cpython-312.pyc
│   │           │   │   │   └── rules.cpython-312.pyc
│   │           │   │   ├── converters.py
│   │           │   │   ├── exceptions.py
│   │           │   │   ├── map.py
│   │           │   │   ├── matcher.py
│   │           │   │   └── rules.py
│   │           │   ├── sansio
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── http.cpython-312.pyc
│   │           │   │   │   ├── multipart.cpython-312.pyc
│   │           │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   ├── response.cpython-312.pyc
│   │           │   │   │   └── utils.cpython-312.pyc
│   │           │   │   ├── http.py
│   │           │   │   ├── multipart.py
│   │           │   │   ├── request.py
│   │           │   │   ├── response.py
│   │           │   │   └── utils.py
│   │           │   ├── security.py
│   │           │   ├── serving.py
│   │           │   ├── test.py
│   │           │   ├── testapp.py
│   │           │   ├── urls.py
│   │           │   ├── user_agent.py
│   │           │   ├── utils.py
│   │           │   ├── wrappers
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   └── response.cpython-312.pyc
│   │           │   │   ├── request.py
│   │           │   │   └── response.py
│   │           │   └── wsgi.py
│   │           └── werkzeug-3.0.4.dist-info
│   │               ├── INSTALLER
│   │               ├── LICENSE.txt
│   │               ├── METADATA
│   │               ├── RECORD
│   │               └── WHEEL
│   ├── pyvenv.cfg
│   ├── static
│   │   └── styles.css
│   ├── templates
│   │   └── index.html
│   └── test.py
├── cline_config.json
├── mcp_server.py
├── README.md
├── search_results.json
├── settings.json
└── test_files
    ├── text1.txt
    └── text2.txt
```

# Files

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py:
--------------------------------------------------------------------------------

```python
  1 | """Android."""
  2 | 
  3 | from __future__ import annotations
  4 | 
  5 | import os
  6 | import re
  7 | import sys
  8 | from functools import lru_cache
  9 | from typing import TYPE_CHECKING, cast
 10 | 
 11 | from .api import PlatformDirsABC
 12 | 
 13 | 
 14 | class Android(PlatformDirsABC):
 15 |     """
 16 |     Follows the guidance `from here <https://android.stackexchange.com/a/216132>`_.
 17 | 
 18 |     Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`, `version
 19 |     <platformdirs.api.PlatformDirsABC.version>`, `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
 20 | 
 21 |     """
 22 | 
 23 |     @property
 24 |     def user_data_dir(self) -> str:
 25 |         """:return: data directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/files/<AppName>``"""
 26 |         return self._append_app_name_and_version(cast(str, _android_folder()), "files")
 27 | 
 28 |     @property
 29 |     def site_data_dir(self) -> str:
 30 |         """:return: data directory shared by users, same as `user_data_dir`"""
 31 |         return self.user_data_dir
 32 | 
 33 |     @property
 34 |     def user_config_dir(self) -> str:
 35 |         """
 36 |         :return: config directory tied to the user, e.g. \
 37 |         ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``
 38 |         """
 39 |         return self._append_app_name_and_version(cast(str, _android_folder()), "shared_prefs")
 40 | 
 41 |     @property
 42 |     def site_config_dir(self) -> str:
 43 |         """:return: config directory shared by the users, same as `user_config_dir`"""
 44 |         return self.user_config_dir
 45 | 
 46 |     @property
 47 |     def user_cache_dir(self) -> str:
 48 |         """:return: cache directory tied to the user, e.g.,``/data/user/<userid>/<packagename>/cache/<AppName>``"""
 49 |         return self._append_app_name_and_version(cast(str, _android_folder()), "cache")
 50 | 
 51 |     @property
 52 |     def site_cache_dir(self) -> str:
 53 |         """:return: cache directory shared by users, same as `user_cache_dir`"""
 54 |         return self.user_cache_dir
 55 | 
 56 |     @property
 57 |     def user_state_dir(self) -> str:
 58 |         """:return: state directory tied to the user, same as `user_data_dir`"""
 59 |         return self.user_data_dir
 60 | 
 61 |     @property
 62 |     def user_log_dir(self) -> str:
 63 |         """
 64 |         :return: log directory tied to the user, same as `user_cache_dir` if not opinionated else ``log`` in it,
 65 |           e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/log``
 66 |         """
 67 |         path = self.user_cache_dir
 68 |         if self.opinion:
 69 |             path = os.path.join(path, "log")  # noqa: PTH118
 70 |         return path
 71 | 
 72 |     @property
 73 |     def user_documents_dir(self) -> str:
 74 |         """:return: documents directory tied to the user e.g. ``/storage/emulated/0/Documents``"""
 75 |         return _android_documents_folder()
 76 | 
 77 |     @property
 78 |     def user_downloads_dir(self) -> str:
 79 |         """:return: downloads directory tied to the user e.g. ``/storage/emulated/0/Downloads``"""
 80 |         return _android_downloads_folder()
 81 | 
 82 |     @property
 83 |     def user_pictures_dir(self) -> str:
 84 |         """:return: pictures directory tied to the user e.g. ``/storage/emulated/0/Pictures``"""
 85 |         return _android_pictures_folder()
 86 | 
 87 |     @property
 88 |     def user_videos_dir(self) -> str:
 89 |         """:return: videos directory tied to the user e.g. ``/storage/emulated/0/DCIM/Camera``"""
 90 |         return _android_videos_folder()
 91 | 
 92 |     @property
 93 |     def user_music_dir(self) -> str:
 94 |         """:return: music directory tied to the user e.g. ``/storage/emulated/0/Music``"""
 95 |         return _android_music_folder()
 96 | 
 97 |     @property
 98 |     def user_desktop_dir(self) -> str:
 99 |         """:return: desktop directory tied to the user e.g. ``/storage/emulated/0/Desktop``"""
100 |         return "/storage/emulated/0/Desktop"
101 | 
102 |     @property
103 |     def user_runtime_dir(self) -> str:
104 |         """
105 |         :return: runtime directory tied to the user, same as `user_cache_dir` if not opinionated else ``tmp`` in it,
106 |           e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/tmp``
107 |         """
108 |         path = self.user_cache_dir
109 |         if self.opinion:
110 |             path = os.path.join(path, "tmp")  # noqa: PTH118
111 |         return path
112 | 
113 |     @property
114 |     def site_runtime_dir(self) -> str:
115 |         """:return: runtime directory shared by users, same as `user_runtime_dir`"""
116 |         return self.user_runtime_dir
117 | 
118 | 
119 | @lru_cache(maxsize=1)
120 | def _android_folder() -> str | None:  # noqa: C901, PLR0912
121 |     """:return: base folder for the Android OS or None if it cannot be found"""
122 |     result: str | None = None
123 |     # type checker isn't happy with our "import android", just don't do this when type checking see
124 |     # https://stackoverflow.com/a/61394121
125 |     if not TYPE_CHECKING:
126 |         try:
127 |             # First try to get a path to android app using python4android (if available)...
128 |             from android import mActivity  # noqa: PLC0415
129 | 
130 |             context = cast("android.content.Context", mActivity.getApplicationContext())  # noqa: F821
131 |             result = context.getFilesDir().getParentFile().getAbsolutePath()
132 |         except Exception:  # noqa: BLE001
133 |             result = None
134 |     if result is None:
135 |         try:
136 |             # ...and fall back to using plain pyjnius, if python4android isn't available or doesn't deliver any useful
137 |             # result...
138 |             from jnius import autoclass  # noqa: PLC0415
139 | 
140 |             context = autoclass("android.content.Context")
141 |             result = context.getFilesDir().getParentFile().getAbsolutePath()
142 |         except Exception:  # noqa: BLE001
143 |             result = None
144 |     if result is None:
145 |         # and if that fails, too, find an android folder looking at path on the sys.path
146 |         # warning: only works for apps installed under /data, not adopted storage etc.
147 |         pattern = re.compile(r"/data/(data|user/\d+)/(.+)/files")
148 |         for path in sys.path:
149 |             if pattern.match(path):
150 |                 result = path.split("/files")[0]
151 |                 break
152 |         else:
153 |             result = None
154 |     if result is None:
155 |         # one last try: find an android folder looking at path on the sys.path taking adopted storage paths into
156 |         # account
157 |         pattern = re.compile(r"/mnt/expand/[a-fA-F0-9-]{36}/(data|user/\d+)/(.+)/files")
158 |         for path in sys.path:
159 |             if pattern.match(path):
160 |                 result = path.split("/files")[0]
161 |                 break
162 |         else:
163 |             result = None
164 |     return result
165 | 
166 | 
167 | @lru_cache(maxsize=1)
168 | def _android_documents_folder() -> str:
169 |     """:return: documents folder for the Android OS"""
170 |     # Get directories with pyjnius
171 |     try:
172 |         from jnius import autoclass  # noqa: PLC0415
173 | 
174 |         context = autoclass("android.content.Context")
175 |         environment = autoclass("android.os.Environment")
176 |         documents_dir: str = context.getExternalFilesDir(environment.DIRECTORY_DOCUMENTS).getAbsolutePath()
177 |     except Exception:  # noqa: BLE001
178 |         documents_dir = "/storage/emulated/0/Documents"
179 | 
180 |     return documents_dir
181 | 
182 | 
183 | @lru_cache(maxsize=1)
184 | def _android_downloads_folder() -> str:
185 |     """:return: downloads folder for the Android OS"""
186 |     # Get directories with pyjnius
187 |     try:
188 |         from jnius import autoclass  # noqa: PLC0415
189 | 
190 |         context = autoclass("android.content.Context")
191 |         environment = autoclass("android.os.Environment")
192 |         downloads_dir: str = context.getExternalFilesDir(environment.DIRECTORY_DOWNLOADS).getAbsolutePath()
193 |     except Exception:  # noqa: BLE001
194 |         downloads_dir = "/storage/emulated/0/Downloads"
195 | 
196 |     return downloads_dir
197 | 
198 | 
199 | @lru_cache(maxsize=1)
200 | def _android_pictures_folder() -> str:
201 |     """:return: pictures folder for the Android OS"""
202 |     # Get directories with pyjnius
203 |     try:
204 |         from jnius import autoclass  # noqa: PLC0415
205 | 
206 |         context = autoclass("android.content.Context")
207 |         environment = autoclass("android.os.Environment")
208 |         pictures_dir: str = context.getExternalFilesDir(environment.DIRECTORY_PICTURES).getAbsolutePath()
209 |     except Exception:  # noqa: BLE001
210 |         pictures_dir = "/storage/emulated/0/Pictures"
211 | 
212 |     return pictures_dir
213 | 
214 | 
215 | @lru_cache(maxsize=1)
216 | def _android_videos_folder() -> str:
217 |     """:return: videos folder for the Android OS"""
218 |     # Get directories with pyjnius
219 |     try:
220 |         from jnius import autoclass  # noqa: PLC0415
221 | 
222 |         context = autoclass("android.content.Context")
223 |         environment = autoclass("android.os.Environment")
224 |         videos_dir: str = context.getExternalFilesDir(environment.DIRECTORY_DCIM).getAbsolutePath()
225 |     except Exception:  # noqa: BLE001
226 |         videos_dir = "/storage/emulated/0/DCIM/Camera"
227 | 
228 |     return videos_dir
229 | 
230 | 
231 | @lru_cache(maxsize=1)
232 | def _android_music_folder() -> str:
233 |     """:return: music folder for the Android OS"""
234 |     # Get directories with pyjnius
235 |     try:
236 |         from jnius import autoclass  # noqa: PLC0415
237 | 
238 |         context = autoclass("android.content.Context")
239 |         environment = autoclass("android.os.Environment")
240 |         music_dir: str = context.getExternalFilesDir(environment.DIRECTORY_MUSIC).getAbsolutePath()
241 |     except Exception:  # noqa: BLE001
242 |         music_dir = "/storage/emulated/0/Music"
243 | 
244 |     return music_dir
245 | 
246 | 
247 | __all__ = [
248 |     "Android",
249 | ]
250 | 
```

--------------------------------------------------------------------------------
/.venv/bin/Activate.ps1:
--------------------------------------------------------------------------------

```
  1 | <#
  2 | .Synopsis
  3 | Activate a Python virtual environment for the current PowerShell session.
  4 | 
  5 | .Description
  6 | Pushes the python executable for a virtual environment to the front of the
  7 | $Env:PATH environment variable and sets the prompt to signify that you are
  8 | in a Python virtual environment. Makes use of the command line switches as
  9 | well as the `pyvenv.cfg` file values present in the virtual environment.
 10 | 
 11 | .Parameter VenvDir
 12 | Path to the directory that contains the virtual environment to activate. The
 13 | default value for this is the parent of the directory that the Activate.ps1
 14 | script is located within.
 15 | 
 16 | .Parameter Prompt
 17 | The prompt prefix to display when this virtual environment is activated. By
 18 | default, this prompt is the name of the virtual environment folder (VenvDir)
 19 | surrounded by parentheses and followed by a single space (ie. '(.venv) ').
 20 | 
 21 | .Example
 22 | Activate.ps1
 23 | Activates the Python virtual environment that contains the Activate.ps1 script.
 24 | 
 25 | .Example
 26 | Activate.ps1 -Verbose
 27 | Activates the Python virtual environment that contains the Activate.ps1 script,
 28 | and shows extra information about the activation as it executes.
 29 | 
 30 | .Example
 31 | Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
 32 | Activates the Python virtual environment located in the specified location.
 33 | 
 34 | .Example
 35 | Activate.ps1 -Prompt "MyPython"
 36 | Activates the Python virtual environment that contains the Activate.ps1 script,
 37 | and prefixes the current prompt with the specified string (surrounded in
 38 | parentheses) while the virtual environment is active.
 39 | 
 40 | .Notes
 41 | On Windows, it may be required to enable this Activate.ps1 script by setting the
 42 | execution policy for the user. You can do this by issuing the following PowerShell
 43 | command:
 44 | 
 45 | PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
 46 | 
 47 | For more information on Execution Policies: 
 48 | https://go.microsoft.com/fwlink/?LinkID=135170
 49 | 
 50 | #>
 51 | Param(
 52 |     [Parameter(Mandatory = $false)]
 53 |     [String]
 54 |     $VenvDir,
 55 |     [Parameter(Mandatory = $false)]
 56 |     [String]
 57 |     $Prompt
 58 | )
 59 | 
 60 | <# Function declarations --------------------------------------------------- #>
 61 | 
 62 | <#
 63 | .Synopsis
 64 | Remove all shell session elements added by the Activate script, including the
 65 | addition of the virtual environment's Python executable from the beginning of
 66 | the PATH variable.
 67 | 
 68 | .Parameter NonDestructive
 69 | If present, do not remove this function from the global namespace for the
 70 | session.
 71 | 
 72 | #>
 73 | function global:deactivate ([switch]$NonDestructive) {
 74 |     # Revert to original values
 75 | 
 76 |     # The prior prompt:
 77 |     if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
 78 |         Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
 79 |         Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
 80 |     }
 81 | 
 82 |     # The prior PYTHONHOME:
 83 |     if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
 84 |         Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
 85 |         Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
 86 |     }
 87 | 
 88 |     # The prior PATH:
 89 |     if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
 90 |         Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
 91 |         Remove-Item -Path Env:_OLD_VIRTUAL_PATH
 92 |     }
 93 | 
 94 |     # Just remove the VIRTUAL_ENV altogether:
 95 |     if (Test-Path -Path Env:VIRTUAL_ENV) {
 96 |         Remove-Item -Path env:VIRTUAL_ENV
 97 |     }
 98 | 
 99 |     # Just remove VIRTUAL_ENV_PROMPT altogether.
100 |     if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
101 |         Remove-Item -Path env:VIRTUAL_ENV_PROMPT
102 |     }
103 | 
104 |     # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
105 |     if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
106 |         Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
107 |     }
108 | 
109 |     # Leave deactivate function in the global namespace if requested:
110 |     if (-not $NonDestructive) {
111 |         Remove-Item -Path function:deactivate
112 |     }
113 | }
114 | 
115 | <#
116 | .Description
117 | Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
118 | given folder, and returns them in a map.
119 | 
120 | For each line in the pyvenv.cfg file, if that line can be parsed into exactly
121 | two strings separated by `=` (with any amount of whitespace surrounding the =)
122 | then it is considered a `key = value` line. The left hand string is the key,
123 | the right hand is the value.
124 | 
125 | If the value starts with a `'` or a `"` then the first and last character is
126 | stripped from the value before being captured.
127 | 
128 | .Parameter ConfigDir
129 | Path to the directory that contains the `pyvenv.cfg` file.
130 | #>
131 | function Get-PyVenvConfig(
132 |     [String]
133 |     $ConfigDir
134 | ) {
135 |     Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
136 | 
137 |     # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
138 |     $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
139 | 
140 |     # An empty map will be returned if no config file is found.
141 |     $pyvenvConfig = @{ }
142 | 
143 |     if ($pyvenvConfigPath) {
144 | 
145 |         Write-Verbose "File exists, parse `key = value` lines"
146 |         $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
147 | 
148 |         $pyvenvConfigContent | ForEach-Object {
149 |             $keyval = $PSItem -split "\s*=\s*", 2
150 |             if ($keyval[0] -and $keyval[1]) {
151 |                 $val = $keyval[1]
152 | 
153 |                 # Remove extraneous quotations around a string value.
154 |                 if ("'""".Contains($val.Substring(0, 1))) {
155 |                     $val = $val.Substring(1, $val.Length - 2)
156 |                 }
157 | 
158 |                 $pyvenvConfig[$keyval[0]] = $val
159 |                 Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
160 |             }
161 |         }
162 |     }
163 |     return $pyvenvConfig
164 | }
165 | 
166 | 
167 | <# Begin Activate script --------------------------------------------------- #>
168 | 
169 | # Determine the containing directory of this script
170 | $VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
171 | $VenvExecDir = Get-Item -Path $VenvExecPath
172 | 
173 | Write-Verbose "Activation script is located in path: '$VenvExecPath'"
174 | Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
175 | Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
176 | 
177 | # Set values required in priority: CmdLine, ConfigFile, Default
178 | # First, get the location of the virtual environment, it might not be
179 | # VenvExecDir if specified on the command line.
180 | if ($VenvDir) {
181 |     Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
182 | }
183 | else {
184 |     Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
185 |     $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
186 |     Write-Verbose "VenvDir=$VenvDir"
187 | }
188 | 
189 | # Next, read the `pyvenv.cfg` file to determine any required value such
190 | # as `prompt`.
191 | $pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
192 | 
193 | # Next, set the prompt from the command line, or the config file, or
194 | # just use the name of the virtual environment folder.
195 | if ($Prompt) {
196 |     Write-Verbose "Prompt specified as argument, using '$Prompt'"
197 | }
198 | else {
199 |     Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
200 |     if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
201 |         Write-Verbose "  Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
202 |         $Prompt = $pyvenvCfg['prompt'];
203 |     }
204 |     else {
205 |         Write-Verbose "  Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
206 |         Write-Verbose "  Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
207 |         $Prompt = Split-Path -Path $venvDir -Leaf
208 |     }
209 | }
210 | 
211 | Write-Verbose "Prompt = '$Prompt'"
212 | Write-Verbose "VenvDir='$VenvDir'"
213 | 
214 | # Deactivate any currently active virtual environment, but leave the
215 | # deactivate function in place.
216 | deactivate -nondestructive
217 | 
218 | # Now set the environment variable VIRTUAL_ENV, used by many tools to determine
219 | # that there is an activated venv.
220 | $env:VIRTUAL_ENV = $VenvDir
221 | 
222 | if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
223 | 
224 |     Write-Verbose "Setting prompt to '$Prompt'"
225 | 
226 |     # Set the prompt to include the env name
227 |     # Make sure _OLD_VIRTUAL_PROMPT is global
228 |     function global:_OLD_VIRTUAL_PROMPT { "" }
229 |     Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
230 |     New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
231 | 
232 |     function global:prompt {
233 |         Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
234 |         _OLD_VIRTUAL_PROMPT
235 |     }
236 |     $env:VIRTUAL_ENV_PROMPT = $Prompt
237 | }
238 | 
239 | # Clear PYTHONHOME
240 | if (Test-Path -Path Env:PYTHONHOME) {
241 |     Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
242 |     Remove-Item -Path Env:PYTHONHOME
243 | }
244 | 
245 | # Add the venv to the PATH
246 | Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
247 | $Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
248 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltutils.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: set of utilities for the XSLT engine
  3 |  * Description: interfaces for the utilities module of the XSLT engine.
  4 |  *              things like message handling, profiling, and other
  5 |  *              generally useful routines.
  6 |  *
  7 |  * Copy: See Copyright for the status of this software.
  8 |  *
  9 |  * Author: Daniel Veillard
 10 |  */
 11 | 
 12 | #ifndef __XML_XSLTUTILS_H__
 13 | #define __XML_XSLTUTILS_H__
 14 | 
 15 | #include <libxslt/xsltconfig.h>
 16 | #include <libxml/xpath.h>
 17 | #include <libxml/dict.h>
 18 | #include <libxml/xmlerror.h>
 19 | #include "xsltexports.h"
 20 | #include "xsltInternals.h"
 21 | 
 22 | #ifdef __cplusplus
 23 | extern "C" {
 24 | #endif
 25 | 
 26 | /**
 27 |  * XSLT_TODO:
 28 |  *
 29 |  * Macro to flag unimplemented blocks.
 30 |  */
 31 | #define XSLT_TODO							\
 32 |     xsltGenericError(xsltGenericErrorContext,				\
 33 | 	    "Unimplemented block at %s:%d\n",				\
 34 |             __FILE__, __LINE__);
 35 | 
 36 | /**
 37 |  * XSLT_STRANGE:
 38 |  *
 39 |  * Macro to flag that a problem was detected internally.
 40 |  */
 41 | #define XSLT_STRANGE							\
 42 |     xsltGenericError(xsltGenericErrorContext,				\
 43 | 	    "Internal error at %s:%d\n",				\
 44 |             __FILE__, __LINE__);
 45 | 
 46 | /**
 47 |  * IS_XSLT_ELEM:
 48 |  *
 49 |  * Checks that the element pertains to XSLT namespace.
 50 |  */
 51 | #define IS_XSLT_ELEM(n)							\
 52 |     (((n) != NULL) && ((n)->type == XML_ELEMENT_NODE) &&                \
 53 |      ((n)->ns != NULL) && (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
 54 | 
 55 | /**
 56 |  * IS_XSLT_NAME:
 57 |  *
 58 |  * Checks the value of an element in XSLT namespace.
 59 |  */
 60 | #define IS_XSLT_NAME(n, val)						\
 61 |     (xmlStrEqual((n)->name, (const xmlChar *) (val)))
 62 | 
 63 | /**
 64 |  * IS_XSLT_REAL_NODE:
 65 |  *
 66 |  * Check that a node is a 'real' one: document, element, text or attribute.
 67 |  */
 68 | #define IS_XSLT_REAL_NODE(n)						\
 69 |     (((n) != NULL) &&							\
 70 |      (((n)->type == XML_ELEMENT_NODE) ||				\
 71 |       ((n)->type == XML_TEXT_NODE) ||					\
 72 |       ((n)->type == XML_CDATA_SECTION_NODE) ||				\
 73 |       ((n)->type == XML_ATTRIBUTE_NODE) ||				\
 74 |       ((n)->type == XML_DOCUMENT_NODE) ||				\
 75 |       ((n)->type == XML_HTML_DOCUMENT_NODE) ||				\
 76 |       ((n)->type == XML_COMMENT_NODE) ||				\
 77 |       ((n)->type == XML_PI_NODE)))
 78 | 
 79 | /*
 80 |  * Our own version of namespaced attributes lookup.
 81 |  */
 82 | XSLTPUBFUN xmlChar * XSLTCALL
 83 | 		xsltGetNsProp	(xmlNodePtr node,
 84 | 				 const xmlChar *name,
 85 | 				 const xmlChar *nameSpace);
 86 | XSLTPUBFUN const xmlChar * XSLTCALL
 87 | 		xsltGetCNsProp	(xsltStylesheetPtr style,
 88 | 				 xmlNodePtr node,
 89 | 				 const xmlChar *name,
 90 | 				 const xmlChar *nameSpace);
 91 | XSLTPUBFUN int XSLTCALL
 92 | 		xsltGetUTF8Char	(const unsigned char *utf,
 93 | 				 int *len);
 94 | #ifdef IN_LIBXSLT
 95 | /** DOC_DISABLE */
 96 | XSLTPUBFUN int XSLTCALL
 97 | 		xsltGetUTF8CharZ (const unsigned char *utf,
 98 | 				  int *len);
 99 | /** DOC_ENABLE */
100 | #endif
101 | 
102 | /*
103 |  * XSLT Debug Tracing Tracing Types
104 |  */
105 | typedef enum {
106 | 	XSLT_TRACE_ALL =		-1,
107 | 	XSLT_TRACE_NONE =		0,
108 | 	XSLT_TRACE_COPY_TEXT =		1<<0,
109 | 	XSLT_TRACE_PROCESS_NODE =	1<<1,
110 | 	XSLT_TRACE_APPLY_TEMPLATE =	1<<2,
111 | 	XSLT_TRACE_COPY =		1<<3,
112 | 	XSLT_TRACE_COMMENT =		1<<4,
113 | 	XSLT_TRACE_PI =			1<<5,
114 | 	XSLT_TRACE_COPY_OF =		1<<6,
115 | 	XSLT_TRACE_VALUE_OF =		1<<7,
116 | 	XSLT_TRACE_CALL_TEMPLATE =	1<<8,
117 | 	XSLT_TRACE_APPLY_TEMPLATES =	1<<9,
118 | 	XSLT_TRACE_CHOOSE =		1<<10,
119 | 	XSLT_TRACE_IF =			1<<11,
120 | 	XSLT_TRACE_FOR_EACH =		1<<12,
121 | 	XSLT_TRACE_STRIP_SPACES =	1<<13,
122 | 	XSLT_TRACE_TEMPLATES =		1<<14,
123 | 	XSLT_TRACE_KEYS =		1<<15,
124 | 	XSLT_TRACE_VARIABLES =		1<<16
125 | } xsltDebugTraceCodes;
126 | 
127 | /**
128 |  * XSLT_TRACE:
129 |  *
130 |  * Control the type of xsl debugtrace messages emitted.
131 |  */
132 | #define XSLT_TRACE(ctxt,code,call)	\
133 | 	if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \
134 | 	    call
135 | 
136 | XSLTPUBFUN void XSLTCALL
137 | 		xsltDebugSetDefaultTrace(xsltDebugTraceCodes val);
138 | XSLTPUBFUN xsltDebugTraceCodes XSLTCALL
139 | 		xsltDebugGetDefaultTrace(void);
140 | 
141 | /*
142 |  * XSLT specific error and debug reporting functions.
143 |  */
144 | XSLTPUBVAR xmlGenericErrorFunc xsltGenericError;
145 | XSLTPUBVAR void *xsltGenericErrorContext;
146 | XSLTPUBVAR xmlGenericErrorFunc xsltGenericDebug;
147 | XSLTPUBVAR void *xsltGenericDebugContext;
148 | 
149 | XSLTPUBFUN void XSLTCALL
150 | 		xsltPrintErrorContext		(xsltTransformContextPtr ctxt,
151 | 	                                         xsltStylesheetPtr style,
152 | 						 xmlNodePtr node);
153 | XSLTPUBFUN void XSLTCALL
154 | 		xsltMessage			(xsltTransformContextPtr ctxt,
155 | 						 xmlNodePtr node,
156 | 						 xmlNodePtr inst);
157 | XSLTPUBFUN void XSLTCALL
158 | 		xsltSetGenericErrorFunc		(void *ctx,
159 | 						 xmlGenericErrorFunc handler);
160 | XSLTPUBFUN void XSLTCALL
161 | 		xsltSetGenericDebugFunc		(void *ctx,
162 | 						 xmlGenericErrorFunc handler);
163 | XSLTPUBFUN void XSLTCALL
164 | 		xsltSetTransformErrorFunc	(xsltTransformContextPtr ctxt,
165 | 						 void *ctx,
166 | 						 xmlGenericErrorFunc handler);
167 | XSLTPUBFUN void XSLTCALL
168 | 		xsltTransformError		(xsltTransformContextPtr ctxt,
169 | 						 xsltStylesheetPtr style,
170 | 						 xmlNodePtr node,
171 | 						 const char *msg,
172 | 						 ...) LIBXSLT_ATTR_FORMAT(4,5);
173 | 
174 | XSLTPUBFUN int XSLTCALL
175 | 		xsltSetCtxtParseOptions		(xsltTransformContextPtr ctxt,
176 | 						 int options);
177 | /*
178 |  * Sorting.
179 |  */
180 | 
181 | XSLTPUBFUN void XSLTCALL
182 | 		xsltDocumentSortFunction	(xmlNodeSetPtr list);
183 | XSLTPUBFUN void XSLTCALL
184 | 		xsltSetSortFunc			(xsltSortFunc handler);
185 | XSLTPUBFUN void XSLTCALL
186 | 		xsltSetCtxtSortFunc		(xsltTransformContextPtr ctxt,
187 | 						 xsltSortFunc handler);
188 | XSLTPUBFUN void XSLTCALL
189 | 		xsltSetCtxtLocaleHandlers	(xsltTransformContextPtr ctxt,
190 | 						 xsltNewLocaleFunc newLocale,
191 | 						 xsltFreeLocaleFunc freeLocale,
192 | 						 xsltGenSortKeyFunc genSortKey);
193 | XSLTPUBFUN void XSLTCALL
194 | 		xsltDefaultSortFunction		(xsltTransformContextPtr ctxt,
195 | 						 xmlNodePtr *sorts,
196 | 						 int nbsorts);
197 | XSLTPUBFUN void XSLTCALL
198 | 		xsltDoSortFunction		(xsltTransformContextPtr ctxt,
199 | 						 xmlNodePtr * sorts,
200 | 						 int nbsorts);
201 | XSLTPUBFUN xmlXPathObjectPtr * XSLTCALL
202 | 		xsltComputeSortResult		(xsltTransformContextPtr ctxt,
203 | 						 xmlNodePtr sort);
204 | 
205 | /*
206 |  * QNames handling.
207 |  */
208 | 
209 | XSLTPUBFUN const xmlChar * XSLTCALL
210 | 		xsltSplitQName			(xmlDictPtr dict,
211 | 						 const xmlChar *name,
212 | 						 const xmlChar **prefix);
213 | XSLTPUBFUN const xmlChar * XSLTCALL
214 | 		xsltGetQNameURI			(xmlNodePtr node,
215 | 						 xmlChar **name);
216 | 
217 | XSLTPUBFUN const xmlChar * XSLTCALL
218 | 		xsltGetQNameURI2		(xsltStylesheetPtr style,
219 | 						 xmlNodePtr node,
220 | 						 const xmlChar **name);
221 | 
222 | /*
223 |  * Output, reuse libxml I/O buffers.
224 |  */
225 | XSLTPUBFUN int XSLTCALL
226 | 		xsltSaveResultTo		(xmlOutputBufferPtr buf,
227 | 						 xmlDocPtr result,
228 | 						 xsltStylesheetPtr style);
229 | XSLTPUBFUN int XSLTCALL
230 | 		xsltSaveResultToFilename	(const char *URI,
231 | 						 xmlDocPtr result,
232 | 						 xsltStylesheetPtr style,
233 | 						 int compression);
234 | XSLTPUBFUN int XSLTCALL
235 | 		xsltSaveResultToFile		(FILE *file,
236 | 						 xmlDocPtr result,
237 | 						 xsltStylesheetPtr style);
238 | XSLTPUBFUN int XSLTCALL
239 | 		xsltSaveResultToFd		(int fd,
240 | 						 xmlDocPtr result,
241 | 						 xsltStylesheetPtr style);
242 | XSLTPUBFUN int XSLTCALL
243 | 		xsltSaveResultToString          (xmlChar **doc_txt_ptr,
244 |                                                  int * doc_txt_len,
245 |                                                  xmlDocPtr result,
246 |                                                  xsltStylesheetPtr style);
247 | 
248 | /*
249 |  * XPath interface
250 |  */
251 | XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL
252 | 		xsltXPathCompile		(xsltStylesheetPtr style,
253 | 						 const xmlChar *str);
254 | XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL
255 | 		xsltXPathCompileFlags		(xsltStylesheetPtr style,
256 | 						 const xmlChar *str,
257 | 						 int flags);
258 | 
259 | #ifdef IN_LIBXSLT
260 | /** DOC_DISABLE */
261 | #define XSLT_SOURCE_NODE_MASK       15u
262 | #define XSLT_SOURCE_NODE_HAS_KEY    1u
263 | #define XSLT_SOURCE_NODE_HAS_ID     2u
264 | int
265 | xsltGetSourceNodeFlags(xmlNodePtr node);
266 | int
267 | xsltSetSourceNodeFlags(xsltTransformContextPtr ctxt, xmlNodePtr node,
268 |                        int flags);
269 | int
270 | xsltClearSourceNodeFlags(xmlNodePtr node, int flags);
271 | void **
272 | xsltGetPSVIPtr(xmlNodePtr cur);
273 | /** DOC_ENABLE */
274 | #endif
275 | 
276 | #ifdef WITH_PROFILER
277 | /*
278 |  * Profiling.
279 |  */
280 | XSLTPUBFUN void XSLTCALL
281 | 		xsltSaveProfiling		(xsltTransformContextPtr ctxt,
282 | 						 FILE *output);
283 | XSLTPUBFUN xmlDocPtr XSLTCALL
284 | 		xsltGetProfileInformation	(xsltTransformContextPtr ctxt);
285 | 
286 | XSLTPUBFUN long XSLTCALL
287 | 		xsltTimestamp			(void);
288 | XSLTPUBFUN void XSLTCALL
289 | 		xsltCalibrateAdjust		(long delta);
290 | #endif
291 | 
292 | /**
293 |  * XSLT_TIMESTAMP_TICS_PER_SEC:
294 |  *
295 |  * Sampling precision for profiling
296 |  */
297 | #define XSLT_TIMESTAMP_TICS_PER_SEC 100000l
298 | 
299 | /*
300 |  * Hooks for the debugger.
301 |  */
302 | 
303 | typedef enum {
304 |     XSLT_DEBUG_NONE = 0, /* no debugging allowed */
305 |     XSLT_DEBUG_INIT,
306 |     XSLT_DEBUG_STEP,
307 |     XSLT_DEBUG_STEPOUT,
308 |     XSLT_DEBUG_NEXT,
309 |     XSLT_DEBUG_STOP,
310 |     XSLT_DEBUG_CONT,
311 |     XSLT_DEBUG_RUN,
312 |     XSLT_DEBUG_RUN_RESTART,
313 |     XSLT_DEBUG_QUIT
314 | } xsltDebugStatusCodes;
315 | 
316 | XSLTPUBVAR int xslDebugStatus;
317 | 
318 | typedef void (*xsltHandleDebuggerCallback) (xmlNodePtr cur, xmlNodePtr node,
319 | 			xsltTemplatePtr templ, xsltTransformContextPtr ctxt);
320 | typedef int (*xsltAddCallCallback) (xsltTemplatePtr templ, xmlNodePtr source);
321 | typedef void (*xsltDropCallCallback) (void);
322 | 
323 | XSLTPUBFUN int XSLTCALL
324 | 		xsltGetDebuggerStatus		(void);
325 | #ifdef WITH_DEBUGGER
326 | XSLTPUBFUN void XSLTCALL
327 | 		xsltSetDebuggerStatus		(int value);
328 | XSLTPUBFUN int XSLTCALL
329 | 		xsltSetDebuggerCallbacks	(int no, void *block);
330 | XSLTPUBFUN int XSLTCALL
331 | 		xslAddCall			(xsltTemplatePtr templ,
332 | 						 xmlNodePtr source);
333 | XSLTPUBFUN void XSLTCALL
334 | 		xslDropCall			(void);
335 | #endif
336 | 
337 | #ifdef __cplusplus
338 | }
339 | #endif
340 | 
341 | #endif /* __XML_XSLTUTILS_H__ */
342 | 
343 | 
344 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_vendor/rich/tree.py:
--------------------------------------------------------------------------------

```python
  1 | from typing import Iterator, List, Optional, Tuple
  2 | 
  3 | from ._loop import loop_first, loop_last
  4 | from .console import Console, ConsoleOptions, RenderableType, RenderResult
  5 | from .jupyter import JupyterMixin
  6 | from .measure import Measurement
  7 | from .segment import Segment
  8 | from .style import Style, StyleStack, StyleType
  9 | from .styled import Styled
 10 | 
 11 | 
 12 | class Tree(JupyterMixin):
 13 |     """A renderable for a tree structure.
 14 | 
 15 |     Args:
 16 |         label (RenderableType): The renderable or str for the tree label.
 17 |         style (StyleType, optional): Style of this tree. Defaults to "tree".
 18 |         guide_style (StyleType, optional): Style of the guide lines. Defaults to "tree.line".
 19 |         expanded (bool, optional): Also display children. Defaults to True.
 20 |         highlight (bool, optional): Highlight renderable (if str). Defaults to False.
 21 |     """
 22 | 
 23 |     def __init__(
 24 |         self,
 25 |         label: RenderableType,
 26 |         *,
 27 |         style: StyleType = "tree",
 28 |         guide_style: StyleType = "tree.line",
 29 |         expanded: bool = True,
 30 |         highlight: bool = False,
 31 |         hide_root: bool = False,
 32 |     ) -> None:
 33 |         self.label = label
 34 |         self.style = style
 35 |         self.guide_style = guide_style
 36 |         self.children: List[Tree] = []
 37 |         self.expanded = expanded
 38 |         self.highlight = highlight
 39 |         self.hide_root = hide_root
 40 | 
 41 |     def add(
 42 |         self,
 43 |         label: RenderableType,
 44 |         *,
 45 |         style: Optional[StyleType] = None,
 46 |         guide_style: Optional[StyleType] = None,
 47 |         expanded: bool = True,
 48 |         highlight: Optional[bool] = False,
 49 |     ) -> "Tree":
 50 |         """Add a child tree.
 51 | 
 52 |         Args:
 53 |             label (RenderableType): The renderable or str for the tree label.
 54 |             style (StyleType, optional): Style of this tree. Defaults to "tree".
 55 |             guide_style (StyleType, optional): Style of the guide lines. Defaults to "tree.line".
 56 |             expanded (bool, optional): Also display children. Defaults to True.
 57 |             highlight (Optional[bool], optional): Highlight renderable (if str). Defaults to False.
 58 | 
 59 |         Returns:
 60 |             Tree: A new child Tree, which may be further modified.
 61 |         """
 62 |         node = Tree(
 63 |             label,
 64 |             style=self.style if style is None else style,
 65 |             guide_style=self.guide_style if guide_style is None else guide_style,
 66 |             expanded=expanded,
 67 |             highlight=self.highlight if highlight is None else highlight,
 68 |         )
 69 |         self.children.append(node)
 70 |         return node
 71 | 
 72 |     def __rich_console__(
 73 |         self, console: "Console", options: "ConsoleOptions"
 74 |     ) -> "RenderResult":
 75 |         stack: List[Iterator[Tuple[bool, Tree]]] = []
 76 |         pop = stack.pop
 77 |         push = stack.append
 78 |         new_line = Segment.line()
 79 | 
 80 |         get_style = console.get_style
 81 |         null_style = Style.null()
 82 |         guide_style = get_style(self.guide_style, default="") or null_style
 83 |         SPACE, CONTINUE, FORK, END = range(4)
 84 | 
 85 |         ASCII_GUIDES = ("    ", "|   ", "+-- ", "`-- ")
 86 |         TREE_GUIDES = [
 87 |             ("    ", "│   ", "├── ", "└── "),
 88 |             ("    ", "┃   ", "┣━━ ", "┗━━ "),
 89 |             ("    ", "║   ", "╠══ ", "╚══ "),
 90 |         ]
 91 |         _Segment = Segment
 92 | 
 93 |         def make_guide(index: int, style: Style) -> Segment:
 94 |             """Make a Segment for a level of the guide lines."""
 95 |             if options.ascii_only:
 96 |                 line = ASCII_GUIDES[index]
 97 |             else:
 98 |                 guide = 1 if style.bold else (2 if style.underline2 else 0)
 99 |                 line = TREE_GUIDES[0 if options.legacy_windows else guide][index]
100 |             return _Segment(line, style)
101 | 
102 |         levels: List[Segment] = [make_guide(CONTINUE, guide_style)]
103 |         push(iter(loop_last([self])))
104 | 
105 |         guide_style_stack = StyleStack(get_style(self.guide_style))
106 |         style_stack = StyleStack(get_style(self.style))
107 |         remove_guide_styles = Style(bold=False, underline2=False)
108 | 
109 |         depth = 0
110 | 
111 |         while stack:
112 |             stack_node = pop()
113 |             try:
114 |                 last, node = next(stack_node)
115 |             except StopIteration:
116 |                 levels.pop()
117 |                 if levels:
118 |                     guide_style = levels[-1].style or null_style
119 |                     levels[-1] = make_guide(FORK, guide_style)
120 |                     guide_style_stack.pop()
121 |                     style_stack.pop()
122 |                 continue
123 |             push(stack_node)
124 |             if last:
125 |                 levels[-1] = make_guide(END, levels[-1].style or null_style)
126 | 
127 |             guide_style = guide_style_stack.current + get_style(node.guide_style)
128 |             style = style_stack.current + get_style(node.style)
129 |             prefix = levels[(2 if self.hide_root else 1) :]
130 |             renderable_lines = console.render_lines(
131 |                 Styled(node.label, style),
132 |                 options.update(
133 |                     width=options.max_width
134 |                     - sum(level.cell_length for level in prefix),
135 |                     highlight=self.highlight,
136 |                     height=None,
137 |                 ),
138 |                 pad=options.justify is not None,
139 |             )
140 | 
141 |             if not (depth == 0 and self.hide_root):
142 |                 for first, line in loop_first(renderable_lines):
143 |                     if prefix:
144 |                         yield from _Segment.apply_style(
145 |                             prefix,
146 |                             style.background_style,
147 |                             post_style=remove_guide_styles,
148 |                         )
149 |                     yield from line
150 |                     yield new_line
151 |                     if first and prefix:
152 |                         prefix[-1] = make_guide(
153 |                             SPACE if last else CONTINUE, prefix[-1].style or null_style
154 |                         )
155 | 
156 |             if node.expanded and node.children:
157 |                 levels[-1] = make_guide(
158 |                     SPACE if last else CONTINUE, levels[-1].style or null_style
159 |                 )
160 |                 levels.append(
161 |                     make_guide(END if len(node.children) == 1 else FORK, guide_style)
162 |                 )
163 |                 style_stack.push(get_style(node.style))
164 |                 guide_style_stack.push(get_style(node.guide_style))
165 |                 push(iter(loop_last(node.children)))
166 |                 depth += 1
167 | 
168 |     def __rich_measure__(
169 |         self, console: "Console", options: "ConsoleOptions"
170 |     ) -> "Measurement":
171 |         stack: List[Iterator[Tree]] = [iter([self])]
172 |         pop = stack.pop
173 |         push = stack.append
174 |         minimum = 0
175 |         maximum = 0
176 |         measure = Measurement.get
177 |         level = 0
178 |         while stack:
179 |             iter_tree = pop()
180 |             try:
181 |                 tree = next(iter_tree)
182 |             except StopIteration:
183 |                 level -= 1
184 |                 continue
185 |             push(iter_tree)
186 |             min_measure, max_measure = measure(console, options, tree.label)
187 |             indent = level * 4
188 |             minimum = max(min_measure + indent, minimum)
189 |             maximum = max(max_measure + indent, maximum)
190 |             if tree.expanded and tree.children:
191 |                 push(iter(tree.children))
192 |                 level += 1
193 |         return Measurement(minimum, maximum)
194 | 
195 | 
196 | if __name__ == "__main__":  # pragma: no cover
197 |     from pip._vendor.rich.console import Group
198 |     from pip._vendor.rich.markdown import Markdown
199 |     from pip._vendor.rich.panel import Panel
200 |     from pip._vendor.rich.syntax import Syntax
201 |     from pip._vendor.rich.table import Table
202 | 
203 |     table = Table(row_styles=["", "dim"])
204 | 
205 |     table.add_column("Released", style="cyan", no_wrap=True)
206 |     table.add_column("Title", style="magenta")
207 |     table.add_column("Box Office", justify="right", style="green")
208 | 
209 |     table.add_row("Dec 20, 2019", "Star Wars: The Rise of Skywalker", "$952,110,690")
210 |     table.add_row("May 25, 2018", "Solo: A Star Wars Story", "$393,151,347")
211 |     table.add_row("Dec 15, 2017", "Star Wars Ep. V111: The Last Jedi", "$1,332,539,889")
212 |     table.add_row("Dec 16, 2016", "Rogue One: A Star Wars Story", "$1,332,439,889")
213 | 
214 |     code = """\
215 | class Segment(NamedTuple):
216 |     text: str = ""
217 |     style: Optional[Style] = None
218 |     is_control: bool = False
219 | """
220 |     syntax = Syntax(code, "python", theme="monokai", line_numbers=True)
221 | 
222 |     markdown = Markdown(
223 |         """\
224 | ### example.md
225 | > Hello, World!
226 | >
227 | > Markdown _all_ the things
228 | """
229 |     )
230 | 
231 |     root = Tree("🌲 [b green]Rich Tree", highlight=True, hide_root=True)
232 | 
233 |     node = root.add(":file_folder: Renderables", guide_style="red")
234 |     simple_node = node.add(":file_folder: [bold yellow]Atomic", guide_style="uu green")
235 |     simple_node.add(Group("📄 Syntax", syntax))
236 |     simple_node.add(Group("📄 Markdown", Panel(markdown, border_style="green")))
237 | 
238 |     containers_node = node.add(
239 |         ":file_folder: [bold magenta]Containers", guide_style="bold magenta"
240 |     )
241 |     containers_node.expanded = True
242 |     panel = Panel.fit("Just a panel", border_style="red")
243 |     containers_node.add(Group("📄 Panels", panel))
244 | 
245 |     containers_node.add(Group("📄 [b magenta]Table", table))
246 | 
247 |     console = Console()
248 | 
249 |     console.print(root)
250 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlversion.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: compile-time version information
  3 |  * Description: compile-time version information for the XML library
  4 |  *
  5 |  * Copy: See Copyright for the status of this software.
  6 |  *
  7 |  * Author: Daniel Veillard
  8 |  */
  9 | 
 10 | #ifndef __XML_VERSION_H__
 11 | #define __XML_VERSION_H__
 12 | 
 13 | #include <libxml/xmlexports.h>
 14 | 
 15 | #ifdef __cplusplus
 16 | extern "C" {
 17 | #endif
 18 | 
 19 | /*
 20 |  * use those to be sure nothing nasty will happen if
 21 |  * your library and includes mismatch
 22 |  */
 23 | #ifndef LIBXML2_COMPILING_MSCCDEF
 24 | XMLPUBFUN void xmlCheckVersion(int version);
 25 | #endif /* LIBXML2_COMPILING_MSCCDEF */
 26 | 
 27 | /**
 28 |  * LIBXML_DOTTED_VERSION:
 29 |  *
 30 |  * the version string like "1.2.3"
 31 |  */
 32 | #define LIBXML_DOTTED_VERSION "2.12.9"
 33 | 
 34 | /**
 35 |  * LIBXML_VERSION:
 36 |  *
 37 |  * the version number: 1.2.3 value is 10203
 38 |  */
 39 | #define LIBXML_VERSION 21209
 40 | 
 41 | /**
 42 |  * LIBXML_VERSION_STRING:
 43 |  *
 44 |  * the version number string, 1.2.3 value is "10203"
 45 |  */
 46 | #define LIBXML_VERSION_STRING "21209"
 47 | 
 48 | /**
 49 |  * LIBXML_VERSION_EXTRA:
 50 |  *
 51 |  * extra version information, used to show a git commit description
 52 |  */
 53 | #define LIBXML_VERSION_EXTRA ""
 54 | 
 55 | /**
 56 |  * LIBXML_TEST_VERSION:
 57 |  *
 58 |  * Macro to check that the libxml version in use is compatible with
 59 |  * the version the software has been compiled against
 60 |  */
 61 | #define LIBXML_TEST_VERSION xmlCheckVersion(21209);
 62 | 
 63 | #ifndef VMS
 64 | #if 0
 65 | /**
 66 |  * WITH_TRIO:
 67 |  *
 68 |  * defined if the trio support need to be configured in
 69 |  */
 70 | #define WITH_TRIO
 71 | #else
 72 | /**
 73 |  * WITHOUT_TRIO:
 74 |  *
 75 |  * defined if the trio support should not be configured in
 76 |  */
 77 | #define WITHOUT_TRIO
 78 | #endif
 79 | #else /* VMS */
 80 | /**
 81 |  * WITH_TRIO:
 82 |  *
 83 |  * defined if the trio support need to be configured in
 84 |  */
 85 | #define WITH_TRIO 1
 86 | #endif /* VMS */
 87 | 
 88 | /**
 89 |  * LIBXML_THREAD_ENABLED:
 90 |  *
 91 |  * Whether the thread support is configured in
 92 |  */
 93 | #if 1
 94 | #define LIBXML_THREAD_ENABLED
 95 | #endif
 96 | 
 97 | /**
 98 |  * LIBXML_THREAD_ALLOC_ENABLED:
 99 |  *
100 |  * Whether the allocation hooks are per-thread
101 |  */
102 | #if 0
103 | #define LIBXML_THREAD_ALLOC_ENABLED
104 | #endif
105 | 
106 | /**
107 |  * LIBXML_TREE_ENABLED:
108 |  *
109 |  * Whether the DOM like tree manipulation API support is configured in
110 |  */
111 | #if 1
112 | #define LIBXML_TREE_ENABLED
113 | #endif
114 | 
115 | /**
116 |  * LIBXML_OUTPUT_ENABLED:
117 |  *
118 |  * Whether the serialization/saving support is configured in
119 |  */
120 | #if 1
121 | #define LIBXML_OUTPUT_ENABLED
122 | #endif
123 | 
124 | /**
125 |  * LIBXML_PUSH_ENABLED:
126 |  *
127 |  * Whether the push parsing interfaces are configured in
128 |  */
129 | #if 1
130 | #define LIBXML_PUSH_ENABLED
131 | #endif
132 | 
133 | /**
134 |  * LIBXML_READER_ENABLED:
135 |  *
136 |  * Whether the xmlReader parsing interface is configured in
137 |  */
138 | #if 1
139 | #define LIBXML_READER_ENABLED
140 | #endif
141 | 
142 | /**
143 |  * LIBXML_PATTERN_ENABLED:
144 |  *
145 |  * Whether the xmlPattern node selection interface is configured in
146 |  */
147 | #if 1
148 | #define LIBXML_PATTERN_ENABLED
149 | #endif
150 | 
151 | /**
152 |  * LIBXML_WRITER_ENABLED:
153 |  *
154 |  * Whether the xmlWriter saving interface is configured in
155 |  */
156 | #if 1
157 | #define LIBXML_WRITER_ENABLED
158 | #endif
159 | 
160 | /**
161 |  * LIBXML_SAX1_ENABLED:
162 |  *
163 |  * Whether the older SAX1 interface is configured in
164 |  */
165 | #if 1
166 | #define LIBXML_SAX1_ENABLED
167 | #endif
168 | 
169 | /**
170 |  * LIBXML_FTP_ENABLED:
171 |  *
172 |  * Whether the FTP support is configured in
173 |  */
174 | #if 0
175 | #define LIBXML_FTP_ENABLED
176 | #endif
177 | 
178 | /**
179 |  * LIBXML_HTTP_ENABLED:
180 |  *
181 |  * Whether the HTTP support is configured in
182 |  */
183 | #if 1
184 | #define LIBXML_HTTP_ENABLED
185 | #endif
186 | 
187 | /**
188 |  * LIBXML_VALID_ENABLED:
189 |  *
190 |  * Whether the DTD validation support is configured in
191 |  */
192 | #if 1
193 | #define LIBXML_VALID_ENABLED
194 | #endif
195 | 
196 | /**
197 |  * LIBXML_HTML_ENABLED:
198 |  *
199 |  * Whether the HTML support is configured in
200 |  */
201 | #if 1
202 | #define LIBXML_HTML_ENABLED
203 | #endif
204 | 
205 | /**
206 |  * LIBXML_LEGACY_ENABLED:
207 |  *
208 |  * Whether the deprecated APIs are compiled in for compatibility
209 |  */
210 | #if 0
211 | #define LIBXML_LEGACY_ENABLED
212 | #endif
213 | 
214 | /**
215 |  * LIBXML_C14N_ENABLED:
216 |  *
217 |  * Whether the Canonicalization support is configured in
218 |  */
219 | #if 1
220 | #define LIBXML_C14N_ENABLED
221 | #endif
222 | 
223 | /**
224 |  * LIBXML_CATALOG_ENABLED:
225 |  *
226 |  * Whether the Catalog support is configured in
227 |  */
228 | #if 1
229 | #define LIBXML_CATALOG_ENABLED
230 | #endif
231 | 
232 | /**
233 |  * LIBXML_XPATH_ENABLED:
234 |  *
235 |  * Whether XPath is configured in
236 |  */
237 | #if 1
238 | #define LIBXML_XPATH_ENABLED
239 | #endif
240 | 
241 | /**
242 |  * LIBXML_XPTR_ENABLED:
243 |  *
244 |  * Whether XPointer is configured in
245 |  */
246 | #if 1
247 | #define LIBXML_XPTR_ENABLED
248 | #endif
249 | 
250 | /**
251 |  * LIBXML_XPTR_LOCS_ENABLED:
252 |  *
253 |  * Whether support for XPointer locations is configured in
254 |  */
255 | #if 0
256 | #define LIBXML_XPTR_LOCS_ENABLED
257 | #endif
258 | 
259 | /**
260 |  * LIBXML_XINCLUDE_ENABLED:
261 |  *
262 |  * Whether XInclude is configured in
263 |  */
264 | #if 1
265 | #define LIBXML_XINCLUDE_ENABLED
266 | #endif
267 | 
268 | /**
269 |  * LIBXML_ICONV_ENABLED:
270 |  *
271 |  * Whether iconv support is available
272 |  */
273 | #if 1
274 | #define LIBXML_ICONV_ENABLED
275 | #endif
276 | 
277 | /**
278 |  * LIBXML_ICU_ENABLED:
279 |  *
280 |  * Whether icu support is available
281 |  */
282 | #if 0
283 | #define LIBXML_ICU_ENABLED
284 | #endif
285 | 
286 | /**
287 |  * LIBXML_ISO8859X_ENABLED:
288 |  *
289 |  * Whether ISO-8859-* support is made available in case iconv is not
290 |  */
291 | #if 1
292 | #define LIBXML_ISO8859X_ENABLED
293 | #endif
294 | 
295 | /**
296 |  * LIBXML_DEBUG_ENABLED:
297 |  *
298 |  * Whether Debugging module is configured in
299 |  */
300 | #if 1
301 | #define LIBXML_DEBUG_ENABLED
302 | #endif
303 | 
304 | /**
305 |  * DEBUG_MEMORY_LOCATION:
306 |  *
307 |  * Whether the memory debugging is configured in
308 |  */
309 | #if 0
310 | #define DEBUG_MEMORY_LOCATION
311 | #endif
312 | 
313 | /**
314 |  * LIBXML_DEBUG_RUNTIME:
315 |  *
316 |  * Removed
317 |  */
318 | #if 0
319 | #define LIBXML_DEBUG_RUNTIME
320 | #endif
321 | 
322 | /**
323 |  * LIBXML_UNICODE_ENABLED:
324 |  *
325 |  * Whether the Unicode related interfaces are compiled in
326 |  */
327 | #if 1
328 | #define LIBXML_UNICODE_ENABLED
329 | #endif
330 | 
331 | /**
332 |  * LIBXML_REGEXP_ENABLED:
333 |  *
334 |  * Whether the regular expressions interfaces are compiled in
335 |  */
336 | #if 1
337 | #define LIBXML_REGEXP_ENABLED
338 | #endif
339 | 
340 | /**
341 |  * LIBXML_AUTOMATA_ENABLED:
342 |  *
343 |  * Whether the automata interfaces are compiled in
344 |  */
345 | #if 1
346 | #define LIBXML_AUTOMATA_ENABLED
347 | #endif
348 | 
349 | /**
350 |  * LIBXML_EXPR_ENABLED:
351 |  *
352 |  * Whether the formal expressions interfaces are compiled in
353 |  *
354 |  * This code is unused and disabled unconditionally for now.
355 |  */
356 | #if 0
357 | #define LIBXML_EXPR_ENABLED
358 | #endif
359 | 
360 | /**
361 |  * LIBXML_SCHEMAS_ENABLED:
362 |  *
363 |  * Whether the Schemas validation interfaces are compiled in
364 |  */
365 | #if 1
366 | #define LIBXML_SCHEMAS_ENABLED
367 | #endif
368 | 
369 | /**
370 |  * LIBXML_SCHEMATRON_ENABLED:
371 |  *
372 |  * Whether the Schematron validation interfaces are compiled in
373 |  */
374 | #if 1
375 | #define LIBXML_SCHEMATRON_ENABLED
376 | #endif
377 | 
378 | /**
379 |  * LIBXML_MODULES_ENABLED:
380 |  *
381 |  * Whether the module interfaces are compiled in
382 |  */
383 | #if 1
384 | #define LIBXML_MODULES_ENABLED
385 | /**
386 |  * LIBXML_MODULE_EXTENSION:
387 |  *
388 |  * the string suffix used by dynamic modules (usually shared libraries)
389 |  */
390 | #define LIBXML_MODULE_EXTENSION ".so" 
391 | #endif
392 | 
393 | /**
394 |  * LIBXML_ZLIB_ENABLED:
395 |  *
396 |  * Whether the Zlib support is compiled in
397 |  */
398 | #if 1
399 | #define LIBXML_ZLIB_ENABLED
400 | #endif
401 | 
402 | /**
403 |  * LIBXML_LZMA_ENABLED:
404 |  *
405 |  * Whether the Lzma support is compiled in
406 |  */
407 | #if 0
408 | #define LIBXML_LZMA_ENABLED
409 | #endif
410 | 
411 | #ifdef __GNUC__
412 | /** DOC_DISABLE */
413 | 
414 | #ifndef ATTRIBUTE_UNUSED
415 | # if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
416 | #  define ATTRIBUTE_UNUSED __attribute__((unused))
417 | # else
418 | #  define ATTRIBUTE_UNUSED
419 | # endif
420 | #endif
421 | 
422 | #ifndef LIBXML_ATTR_ALLOC_SIZE
423 | # if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
424 | #  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
425 | # else
426 | #  define LIBXML_ATTR_ALLOC_SIZE(x)
427 | # endif
428 | #else
429 | # define LIBXML_ATTR_ALLOC_SIZE(x)
430 | #endif
431 | 
432 | #ifndef LIBXML_ATTR_FORMAT
433 | # if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
434 | #  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
435 | # else
436 | #  define LIBXML_ATTR_FORMAT(fmt,args)
437 | # endif
438 | #else
439 | # define LIBXML_ATTR_FORMAT(fmt,args)
440 | #endif
441 | 
442 | #ifndef XML_DEPRECATED
443 | #  if defined (IN_LIBXML) || (__GNUC__ * 100 + __GNUC_MINOR__ < 301)
444 | #    define XML_DEPRECATED
445 | /* Available since at least GCC 3.1 */
446 | #  else
447 | #    define XML_DEPRECATED __attribute__((deprecated))
448 | #  endif
449 | #endif
450 | 
451 | #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)
452 |   #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 800)
453 |     #define XML_IGNORE_FPTR_CAST_WARNINGS \
454 |       _Pragma("GCC diagnostic push") \
455 |       _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
456 |       _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"")
457 |   #else
458 |     #define XML_IGNORE_FPTR_CAST_WARNINGS \
459 |       _Pragma("GCC diagnostic push") \
460 |       _Pragma("GCC diagnostic ignored \"-Wpedantic\"")
461 |   #endif
462 |   #define XML_POP_WARNINGS \
463 |     _Pragma("GCC diagnostic pop")
464 | #else
465 |   #define XML_IGNORE_FPTR_CAST_WARNINGS
466 |   #define XML_POP_WARNINGS
467 | #endif
468 | 
469 | #else /* ! __GNUC__ */
470 | #define ATTRIBUTE_UNUSED
471 | #define LIBXML_ATTR_ALLOC_SIZE(x)
472 | #define LIBXML_ATTR_FORMAT(fmt,args)
473 | #ifndef XML_DEPRECATED
474 | #  if defined (IN_LIBXML) || !defined (_MSC_VER)
475 | #    define XML_DEPRECATED
476 | /* Available since Visual Studio 2005 */
477 | #  elif defined (_MSC_VER) && (_MSC_VER >= 1400)
478 | #    define XML_DEPRECATED __declspec(deprecated)
479 | #  endif
480 | #endif
481 | #if defined (_MSC_VER) && (_MSC_VER >= 1400)
482 | #  define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push))
483 | #else
484 | #  define XML_IGNORE_FPTR_CAST_WARNINGS
485 | #endif
486 | #ifndef XML_POP_WARNINGS
487 | #  if defined (_MSC_VER) && (_MSC_VER >= 1400)
488 | #    define XML_POP_WARNINGS __pragma(warning(pop))
489 | #  else
490 | #    define XML_POP_WARNINGS
491 | #  endif
492 | #endif
493 | #endif /* __GNUC__ */
494 | 
495 | #define XML_NO_ATTR
496 | 
497 | #ifdef LIBXML_THREAD_ENABLED
498 |   #define XML_DECLARE_GLOBAL(name, type, attrs) \
499 |     attrs XMLPUBFUN type *__##name(void);
500 |   #define XML_GLOBAL_MACRO(name) (*__##name())
501 | #else
502 |   #define XML_DECLARE_GLOBAL(name, type, attrs) \
503 |     attrs XMLPUBVAR type name;
504 | #endif
505 | 
506 | #ifdef __cplusplus
507 | }
508 | #endif /* __cplusplus */
509 | #endif
510 | 
511 | 
512 | 
```
Page 31/168FirstPrevNextLast