#
tokens: 47308/50000 1/808 files (page 136/168)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 136 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/lxml/includes/libxml/parser.h:
--------------------------------------------------------------------------------

```
   1 | /*
   2 |  * Summary: the core parser module
   3 |  * Description: Interfaces, constants and types related to the XML parser
   4 |  *
   5 |  * Copy: See Copyright for the status of this software.
   6 |  *
   7 |  * Author: Daniel Veillard
   8 |  */
   9 | 
  10 | #ifndef __XML_PARSER_H__
  11 | #define __XML_PARSER_H__
  12 | 
  13 | #include <libxml/xmlversion.h>
  14 | #define XML_TREE_INTERNALS
  15 | #include <libxml/tree.h>
  16 | #undef XML_TREE_INTERNALS
  17 | #include <libxml/dict.h>
  18 | #include <libxml/hash.h>
  19 | #include <libxml/valid.h>
  20 | #include <libxml/entities.h>
  21 | #include <libxml/xmlerror.h>
  22 | #include <libxml/xmlstring.h>
  23 | #include <libxml/xmlmemory.h>
  24 | #include <libxml/encoding.h>
  25 | #include <libxml/xmlIO.h>
  26 | /* for compatibility */
  27 | #include <libxml/SAX2.h>
  28 | #include <libxml/threads.h>
  29 | 
  30 | #ifdef __cplusplus
  31 | extern "C" {
  32 | #endif
  33 | 
  34 | /**
  35 |  * XML_DEFAULT_VERSION:
  36 |  *
  37 |  * The default version of XML used: 1.0
  38 |  */
  39 | #define XML_DEFAULT_VERSION	"1.0"
  40 | 
  41 | /**
  42 |  * xmlParserInput:
  43 |  *
  44 |  * An xmlParserInput is an input flow for the XML processor.
  45 |  * Each entity parsed is associated an xmlParserInput (except the
  46 |  * few predefined ones). This is the case both for internal entities
  47 |  * - in which case the flow is already completely in memory - or
  48 |  * external entities - in which case we use the buf structure for
  49 |  * progressive reading and I18N conversions to the internal UTF-8 format.
  50 |  */
  51 | 
  52 | /**
  53 |  * xmlParserInputDeallocate:
  54 |  * @str:  the string to deallocate
  55 |  *
  56 |  * Callback for freeing some parser input allocations.
  57 |  */
  58 | typedef void (* xmlParserInputDeallocate)(xmlChar *str);
  59 | 
  60 | struct _xmlParserInput {
  61 |     /* Input buffer */
  62 |     xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */
  63 | 
  64 |     const char *filename;             /* The file analyzed, if any */
  65 |     const char *directory;            /* the directory/base of the file */
  66 |     const xmlChar *base;              /* Base of the array to parse */
  67 |     const xmlChar *cur;               /* Current char being parsed */
  68 |     const xmlChar *end;               /* end of the array to parse */
  69 |     int length;                       /* length if known */
  70 |     int line;                         /* Current line */
  71 |     int col;                          /* Current column */
  72 |     unsigned long consumed;           /* How many xmlChars already consumed */
  73 |     xmlParserInputDeallocate free;    /* function to deallocate the base */
  74 |     const xmlChar *encoding;          /* unused */
  75 |     const xmlChar *version;           /* the version string for entity */
  76 |     int flags;                        /* Flags */
  77 |     int id;                           /* an unique identifier for the entity */
  78 |     unsigned long parentConsumed;     /* consumed bytes from parents */
  79 |     xmlEntityPtr entity;              /* entity, if any */
  80 | };
  81 | 
  82 | /**
  83 |  * xmlParserNodeInfo:
  84 |  *
  85 |  * The parser can be asked to collect Node information, i.e. at what
  86 |  * place in the file they were detected.
  87 |  * NOTE: This is off by default and not very well tested.
  88 |  */
  89 | typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
  90 | typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
  91 | 
  92 | struct _xmlParserNodeInfo {
  93 |   const struct _xmlNode* node;
  94 |   /* Position & line # that text that created the node begins & ends on */
  95 |   unsigned long begin_pos;
  96 |   unsigned long begin_line;
  97 |   unsigned long end_pos;
  98 |   unsigned long end_line;
  99 | };
 100 | 
 101 | typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
 102 | typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
 103 | struct _xmlParserNodeInfoSeq {
 104 |   unsigned long maximum;
 105 |   unsigned long length;
 106 |   xmlParserNodeInfo* buffer;
 107 | };
 108 | 
 109 | /**
 110 |  * xmlParserInputState:
 111 |  *
 112 |  * The parser is now working also as a state based parser.
 113 |  * The recursive one use the state info for entities processing.
 114 |  */
 115 | typedef enum {
 116 |     XML_PARSER_EOF = -1,	/* nothing is to be parsed */
 117 |     XML_PARSER_START = 0,	/* nothing has been parsed */
 118 |     XML_PARSER_MISC,		/* Misc* before int subset */
 119 |     XML_PARSER_PI,		/* Within a processing instruction */
 120 |     XML_PARSER_DTD,		/* within some DTD content */
 121 |     XML_PARSER_PROLOG,		/* Misc* after internal subset */
 122 |     XML_PARSER_COMMENT,		/* within a comment */
 123 |     XML_PARSER_START_TAG,	/* within a start tag */
 124 |     XML_PARSER_CONTENT,		/* within the content */
 125 |     XML_PARSER_CDATA_SECTION,	/* within a CDATA section */
 126 |     XML_PARSER_END_TAG,		/* within a closing tag */
 127 |     XML_PARSER_ENTITY_DECL,	/* within an entity declaration */
 128 |     XML_PARSER_ENTITY_VALUE,	/* within an entity value in a decl */
 129 |     XML_PARSER_ATTRIBUTE_VALUE,	/* within an attribute value */
 130 |     XML_PARSER_SYSTEM_LITERAL,	/* within a SYSTEM value */
 131 |     XML_PARSER_EPILOG,		/* the Misc* after the last end tag */
 132 |     XML_PARSER_IGNORE,		/* within an IGNORED section */
 133 |     XML_PARSER_PUBLIC_LITERAL,	/* within a PUBLIC value */
 134 |     XML_PARSER_XML_DECL         /* before XML decl (but after BOM) */
 135 | } xmlParserInputState;
 136 | 
 137 | /**
 138 |  * XML_DETECT_IDS:
 139 |  *
 140 |  * Bit in the loadsubset context field to tell to do ID/REFs lookups.
 141 |  * Use it to initialize xmlLoadExtDtdDefaultValue.
 142 |  */
 143 | #define XML_DETECT_IDS		2
 144 | 
 145 | /**
 146 |  * XML_COMPLETE_ATTRS:
 147 |  *
 148 |  * Bit in the loadsubset context field to tell to do complete the
 149 |  * elements attributes lists with the ones defaulted from the DTDs.
 150 |  * Use it to initialize xmlLoadExtDtdDefaultValue.
 151 |  */
 152 | #define XML_COMPLETE_ATTRS	4
 153 | 
 154 | /**
 155 |  * XML_SKIP_IDS:
 156 |  *
 157 |  * Bit in the loadsubset context field to tell to not do ID/REFs registration.
 158 |  * Used to initialize xmlLoadExtDtdDefaultValue in some special cases.
 159 |  */
 160 | #define XML_SKIP_IDS		8
 161 | 
 162 | /**
 163 |  * xmlParserMode:
 164 |  *
 165 |  * A parser can operate in various modes
 166 |  */
 167 | typedef enum {
 168 |     XML_PARSE_UNKNOWN = 0,
 169 |     XML_PARSE_DOM = 1,
 170 |     XML_PARSE_SAX = 2,
 171 |     XML_PARSE_PUSH_DOM = 3,
 172 |     XML_PARSE_PUSH_SAX = 4,
 173 |     XML_PARSE_READER = 5
 174 | } xmlParserMode;
 175 | 
 176 | typedef struct _xmlStartTag xmlStartTag;
 177 | typedef struct _xmlParserNsData xmlParserNsData;
 178 | typedef struct _xmlAttrHashBucket xmlAttrHashBucket;
 179 | 
 180 | /**
 181 |  * xmlParserCtxt:
 182 |  *
 183 |  * The parser context.
 184 |  * NOTE This doesn't completely define the parser state, the (current ?)
 185 |  *      design of the parser uses recursive function calls since this allow
 186 |  *      and easy mapping from the production rules of the specification
 187 |  *      to the actual code. The drawback is that the actual function call
 188 |  *      also reflect the parser state. However most of the parsing routines
 189 |  *      takes as the only argument the parser context pointer, so migrating
 190 |  *      to a state based parser for progressive parsing shouldn't be too hard.
 191 |  */
 192 | struct _xmlParserCtxt {
 193 |     struct _xmlSAXHandler *sax;       /* The SAX handler */
 194 |     void            *userData;        /* For SAX interface only, used by DOM build */
 195 |     xmlDocPtr           myDoc;        /* the document being built */
 196 |     int            wellFormed;        /* is the document well formed */
 197 |     int       replaceEntities;        /* shall we replace entities ? */
 198 |     const xmlChar    *version;        /* the XML version string */
 199 |     const xmlChar   *encoding;        /* the declared encoding, if any */
 200 |     int            standalone;        /* standalone document */
 201 |     int                  html;        /* an HTML(1) document
 202 |                                        * 3 is HTML after <head>
 203 |                                        * 10 is HTML after <body>
 204 |                                        */
 205 | 
 206 |     /* Input stream stack */
 207 |     xmlParserInputPtr  input;         /* Current input stream */
 208 |     int                inputNr;       /* Number of current input streams */
 209 |     int                inputMax;      /* Max number of input streams */
 210 |     xmlParserInputPtr *inputTab;      /* stack of inputs */
 211 | 
 212 |     /* Node analysis stack only used for DOM building */
 213 |     xmlNodePtr         node;          /* Current parsed Node */
 214 |     int                nodeNr;        /* Depth of the parsing stack */
 215 |     int                nodeMax;       /* Max depth of the parsing stack */
 216 |     xmlNodePtr        *nodeTab;       /* array of nodes */
 217 | 
 218 |     int record_info;                  /* Whether node info should be kept */
 219 |     xmlParserNodeInfoSeq node_seq;    /* info about each node parsed */
 220 | 
 221 |     int errNo;                        /* error code */
 222 | 
 223 |     int     hasExternalSubset;        /* reference and external subset */
 224 |     int             hasPErefs;        /* the internal subset has PE refs */
 225 |     int              external;        /* are we parsing an external entity */
 226 | 
 227 |     int                 valid;        /* is the document valid */
 228 |     int              validate;        /* shall we try to validate ? */
 229 |     xmlValidCtxt        vctxt;        /* The validity context */
 230 | 
 231 |     xmlParserInputState instate;      /* current type of input */
 232 |     int                 token;        /* next char look-ahead */
 233 | 
 234 |     char           *directory;        /* the data directory */
 235 | 
 236 |     /* Node name stack */
 237 |     const xmlChar     *name;          /* Current parsed Node */
 238 |     int                nameNr;        /* Depth of the parsing stack */
 239 |     int                nameMax;       /* Max depth of the parsing stack */
 240 |     const xmlChar *   *nameTab;       /* array of nodes */
 241 | 
 242 |     long               nbChars;       /* unused */
 243 |     long            checkIndex;       /* used by progressive parsing lookup */
 244 |     int             keepBlanks;       /* ugly but ... */
 245 |     int             disableSAX;       /* SAX callbacks are disabled */
 246 |     int               inSubset;       /* Parsing is in int 1/ext 2 subset */
 247 |     const xmlChar *    intSubName;    /* name of subset */
 248 |     xmlChar *          extSubURI;     /* URI of external subset */
 249 |     xmlChar *          extSubSystem;  /* SYSTEM ID of external subset */
 250 | 
 251 |     /* xml:space values */
 252 |     int *              space;         /* Should the parser preserve spaces */
 253 |     int                spaceNr;       /* Depth of the parsing stack */
 254 |     int                spaceMax;      /* Max depth of the parsing stack */
 255 |     int *              spaceTab;      /* array of space infos */
 256 | 
 257 |     int                depth;         /* to prevent entity substitution loops */
 258 |     xmlParserInputPtr  entity;        /* used to check entities boundaries */
 259 |     int                charset;       /* unused */
 260 |     int                nodelen;       /* Those two fields are there to */
 261 |     int                nodemem;       /* Speed up large node parsing */
 262 |     int                pedantic;      /* signal pedantic warnings */
 263 |     void              *_private;      /* For user data, libxml won't touch it */
 264 | 
 265 |     int                loadsubset;    /* should the external subset be loaded */
 266 |     int                linenumbers;   /* set line number in element content */
 267 |     void              *catalogs;      /* document's own catalog */
 268 |     int                recovery;      /* run in recovery mode */
 269 |     int                progressive;   /* is this a progressive parsing */
 270 |     xmlDictPtr         dict;          /* dictionary for the parser */
 271 |     const xmlChar *   *atts;          /* array for the attributes callbacks */
 272 |     int                maxatts;       /* the size of the array */
 273 |     int                docdict;       /* use strings from dict to build tree */
 274 | 
 275 |     /*
 276 |      * pre-interned strings
 277 |      */
 278 |     const xmlChar *str_xml;
 279 |     const xmlChar *str_xmlns;
 280 |     const xmlChar *str_xml_ns;
 281 | 
 282 |     /*
 283 |      * Everything below is used only by the new SAX mode
 284 |      */
 285 |     int                sax2;          /* operating in the new SAX mode */
 286 |     int                nsNr;          /* the number of inherited namespaces */
 287 |     int                nsMax;         /* the size of the arrays */
 288 |     const xmlChar *   *nsTab;         /* the array of prefix/namespace name */
 289 |     unsigned          *attallocs;     /* which attribute were allocated */
 290 |     xmlStartTag       *pushTab;       /* array of data for push */
 291 |     xmlHashTablePtr    attsDefault;   /* defaulted attributes if any */
 292 |     xmlHashTablePtr    attsSpecial;   /* non-CDATA attributes if any */
 293 |     int                nsWellFormed;  /* is the document XML Namespace okay */
 294 |     int                options;       /* Extra options */
 295 | 
 296 |     /*
 297 |      * Those fields are needed only for streaming parsing so far
 298 |      */
 299 |     int               dictNames;    /* Use dictionary names for the tree */
 300 |     int               freeElemsNr;  /* number of freed element nodes */
 301 |     xmlNodePtr        freeElems;    /* List of freed element nodes */
 302 |     int               freeAttrsNr;  /* number of freed attributes nodes */
 303 |     xmlAttrPtr        freeAttrs;    /* List of freed attributes nodes */
 304 | 
 305 |     /*
 306 |      * the complete error information for the last error.
 307 |      */
 308 |     xmlError          lastError;
 309 |     xmlParserMode     parseMode;    /* the parser mode */
 310 |     unsigned long    nbentities;    /* unused */
 311 |     unsigned long  sizeentities;    /* size of parsed entities */
 312 | 
 313 |     /* for use by HTML non-recursive parser */
 314 |     xmlParserNodeInfo *nodeInfo;      /* Current NodeInfo */
 315 |     int                nodeInfoNr;    /* Depth of the parsing stack */
 316 |     int                nodeInfoMax;   /* Max depth of the parsing stack */
 317 |     xmlParserNodeInfo *nodeInfoTab;   /* array of nodeInfos */
 318 | 
 319 |     int                input_id;      /* we need to label inputs */
 320 |     unsigned long      sizeentcopy;   /* volume of entity copy */
 321 | 
 322 |     int           endCheckState;    /* quote state for push parser */
 323 |     unsigned short     nbErrors;    /* number of errors */
 324 |     unsigned short   nbWarnings;    /* number of warnings */
 325 |     unsigned            maxAmpl;    /* maximum amplification factor */
 326 | 
 327 |     xmlParserNsData       *nsdb;    /* namespace database */
 328 |     unsigned        attrHashMax;    /* allocated size */
 329 |     xmlAttrHashBucket *attrHash;    /* atttribute hash table */
 330 | };
 331 | 
 332 | /**
 333 |  * xmlSAXLocator:
 334 |  *
 335 |  * A SAX Locator.
 336 |  */
 337 | struct _xmlSAXLocator {
 338 |     const xmlChar *(*getPublicId)(void *ctx);
 339 |     const xmlChar *(*getSystemId)(void *ctx);
 340 |     int (*getLineNumber)(void *ctx);
 341 |     int (*getColumnNumber)(void *ctx);
 342 | };
 343 | 
 344 | /**
 345 |  * xmlSAXHandler:
 346 |  *
 347 |  * A SAX handler is bunch of callbacks called by the parser when processing
 348 |  * of the input generate data or structure information.
 349 |  */
 350 | 
 351 | /**
 352 |  * resolveEntitySAXFunc:
 353 |  * @ctx:  the user data (XML parser context)
 354 |  * @publicId: The public ID of the entity
 355 |  * @systemId: The system ID of the entity
 356 |  *
 357 |  * Callback:
 358 |  * The entity loader, to control the loading of external entities,
 359 |  * the application can either:
 360 |  *    - override this resolveEntity() callback in the SAX block
 361 |  *    - or better use the xmlSetExternalEntityLoader() function to
 362 |  *      set up it's own entity resolution routine
 363 |  *
 364 |  * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
 365 |  */
 366 | typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
 367 | 				const xmlChar *publicId,
 368 | 				const xmlChar *systemId);
 369 | /**
 370 |  * internalSubsetSAXFunc:
 371 |  * @ctx:  the user data (XML parser context)
 372 |  * @name:  the root element name
 373 |  * @ExternalID:  the external ID
 374 |  * @SystemID:  the SYSTEM ID (e.g. filename or URL)
 375 |  *
 376 |  * Callback on internal subset declaration.
 377 |  */
 378 | typedef void (*internalSubsetSAXFunc) (void *ctx,
 379 | 				const xmlChar *name,
 380 | 				const xmlChar *ExternalID,
 381 | 				const xmlChar *SystemID);
 382 | /**
 383 |  * externalSubsetSAXFunc:
 384 |  * @ctx:  the user data (XML parser context)
 385 |  * @name:  the root element name
 386 |  * @ExternalID:  the external ID
 387 |  * @SystemID:  the SYSTEM ID (e.g. filename or URL)
 388 |  *
 389 |  * Callback on external subset declaration.
 390 |  */
 391 | typedef void (*externalSubsetSAXFunc) (void *ctx,
 392 | 				const xmlChar *name,
 393 | 				const xmlChar *ExternalID,
 394 | 				const xmlChar *SystemID);
 395 | /**
 396 |  * getEntitySAXFunc:
 397 |  * @ctx:  the user data (XML parser context)
 398 |  * @name: The entity name
 399 |  *
 400 |  * Get an entity by name.
 401 |  *
 402 |  * Returns the xmlEntityPtr if found.
 403 |  */
 404 | typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
 405 | 				const xmlChar *name);
 406 | /**
 407 |  * getParameterEntitySAXFunc:
 408 |  * @ctx:  the user data (XML parser context)
 409 |  * @name: The entity name
 410 |  *
 411 |  * Get a parameter entity by name.
 412 |  *
 413 |  * Returns the xmlEntityPtr if found.
 414 |  */
 415 | typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
 416 | 				const xmlChar *name);
 417 | /**
 418 |  * entityDeclSAXFunc:
 419 |  * @ctx:  the user data (XML parser context)
 420 |  * @name:  the entity name
 421 |  * @type:  the entity type
 422 |  * @publicId: The public ID of the entity
 423 |  * @systemId: The system ID of the entity
 424 |  * @content: the entity value (without processing).
 425 |  *
 426 |  * An entity definition has been parsed.
 427 |  */
 428 | typedef void (*entityDeclSAXFunc) (void *ctx,
 429 | 				const xmlChar *name,
 430 | 				int type,
 431 | 				const xmlChar *publicId,
 432 | 				const xmlChar *systemId,
 433 | 				xmlChar *content);
 434 | /**
 435 |  * notationDeclSAXFunc:
 436 |  * @ctx:  the user data (XML parser context)
 437 |  * @name: The name of the notation
 438 |  * @publicId: The public ID of the entity
 439 |  * @systemId: The system ID of the entity
 440 |  *
 441 |  * What to do when a notation declaration has been parsed.
 442 |  */
 443 | typedef void (*notationDeclSAXFunc)(void *ctx,
 444 | 				const xmlChar *name,
 445 | 				const xmlChar *publicId,
 446 | 				const xmlChar *systemId);
 447 | /**
 448 |  * attributeDeclSAXFunc:
 449 |  * @ctx:  the user data (XML parser context)
 450 |  * @elem:  the name of the element
 451 |  * @fullname:  the attribute name
 452 |  * @type:  the attribute type
 453 |  * @def:  the type of default value
 454 |  * @defaultValue: the attribute default value
 455 |  * @tree:  the tree of enumerated value set
 456 |  *
 457 |  * An attribute definition has been parsed.
 458 |  */
 459 | typedef void (*attributeDeclSAXFunc)(void *ctx,
 460 | 				const xmlChar *elem,
 461 | 				const xmlChar *fullname,
 462 | 				int type,
 463 | 				int def,
 464 | 				const xmlChar *defaultValue,
 465 | 				xmlEnumerationPtr tree);
 466 | /**
 467 |  * elementDeclSAXFunc:
 468 |  * @ctx:  the user data (XML parser context)
 469 |  * @name:  the element name
 470 |  * @type:  the element type
 471 |  * @content: the element value tree
 472 |  *
 473 |  * An element definition has been parsed.
 474 |  */
 475 | typedef void (*elementDeclSAXFunc)(void *ctx,
 476 | 				const xmlChar *name,
 477 | 				int type,
 478 | 				xmlElementContentPtr content);
 479 | /**
 480 |  * unparsedEntityDeclSAXFunc:
 481 |  * @ctx:  the user data (XML parser context)
 482 |  * @name: The name of the entity
 483 |  * @publicId: The public ID of the entity
 484 |  * @systemId: The system ID of the entity
 485 |  * @notationName: the name of the notation
 486 |  *
 487 |  * What to do when an unparsed entity declaration is parsed.
 488 |  */
 489 | typedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
 490 | 				const xmlChar *name,
 491 | 				const xmlChar *publicId,
 492 | 				const xmlChar *systemId,
 493 | 				const xmlChar *notationName);
 494 | /**
 495 |  * setDocumentLocatorSAXFunc:
 496 |  * @ctx:  the user data (XML parser context)
 497 |  * @loc: A SAX Locator
 498 |  *
 499 |  * Receive the document locator at startup, actually xmlDefaultSAXLocator.
 500 |  * Everything is available on the context, so this is useless in our case.
 501 |  */
 502 | typedef void (*setDocumentLocatorSAXFunc) (void *ctx,
 503 | 				xmlSAXLocatorPtr loc);
 504 | /**
 505 |  * startDocumentSAXFunc:
 506 |  * @ctx:  the user data (XML parser context)
 507 |  *
 508 |  * Called when the document start being processed.
 509 |  */
 510 | typedef void (*startDocumentSAXFunc) (void *ctx);
 511 | /**
 512 |  * endDocumentSAXFunc:
 513 |  * @ctx:  the user data (XML parser context)
 514 |  *
 515 |  * Called when the document end has been detected.
 516 |  */
 517 | typedef void (*endDocumentSAXFunc) (void *ctx);
 518 | /**
 519 |  * startElementSAXFunc:
 520 |  * @ctx:  the user data (XML parser context)
 521 |  * @name:  The element name, including namespace prefix
 522 |  * @atts:  An array of name/value attributes pairs, NULL terminated
 523 |  *
 524 |  * Called when an opening tag has been processed.
 525 |  */
 526 | typedef void (*startElementSAXFunc) (void *ctx,
 527 | 				const xmlChar *name,
 528 | 				const xmlChar **atts);
 529 | /**
 530 |  * endElementSAXFunc:
 531 |  * @ctx:  the user data (XML parser context)
 532 |  * @name:  The element name
 533 |  *
 534 |  * Called when the end of an element has been detected.
 535 |  */
 536 | typedef void (*endElementSAXFunc) (void *ctx,
 537 | 				const xmlChar *name);
 538 | /**
 539 |  * attributeSAXFunc:
 540 |  * @ctx:  the user data (XML parser context)
 541 |  * @name:  The attribute name, including namespace prefix
 542 |  * @value:  The attribute value
 543 |  *
 544 |  * Handle an attribute that has been read by the parser.
 545 |  * The default handling is to convert the attribute into an
 546 |  * DOM subtree and past it in a new xmlAttr element added to
 547 |  * the element.
 548 |  */
 549 | typedef void (*attributeSAXFunc) (void *ctx,
 550 | 				const xmlChar *name,
 551 | 				const xmlChar *value);
 552 | /**
 553 |  * referenceSAXFunc:
 554 |  * @ctx:  the user data (XML parser context)
 555 |  * @name:  The entity name
 556 |  *
 557 |  * Called when an entity reference is detected.
 558 |  */
 559 | typedef void (*referenceSAXFunc) (void *ctx,
 560 | 				const xmlChar *name);
 561 | /**
 562 |  * charactersSAXFunc:
 563 |  * @ctx:  the user data (XML parser context)
 564 |  * @ch:  a xmlChar string
 565 |  * @len: the number of xmlChar
 566 |  *
 567 |  * Receiving some chars from the parser.
 568 |  */
 569 | typedef void (*charactersSAXFunc) (void *ctx,
 570 | 				const xmlChar *ch,
 571 | 				int len);
 572 | /**
 573 |  * ignorableWhitespaceSAXFunc:
 574 |  * @ctx:  the user data (XML parser context)
 575 |  * @ch:  a xmlChar string
 576 |  * @len: the number of xmlChar
 577 |  *
 578 |  * Receiving some ignorable whitespaces from the parser.
 579 |  * UNUSED: by default the DOM building will use characters.
 580 |  */
 581 | typedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
 582 | 				const xmlChar *ch,
 583 | 				int len);
 584 | /**
 585 |  * processingInstructionSAXFunc:
 586 |  * @ctx:  the user data (XML parser context)
 587 |  * @target:  the target name
 588 |  * @data: the PI data's
 589 |  *
 590 |  * A processing instruction has been parsed.
 591 |  */
 592 | typedef void (*processingInstructionSAXFunc) (void *ctx,
 593 | 				const xmlChar *target,
 594 | 				const xmlChar *data);
 595 | /**
 596 |  * commentSAXFunc:
 597 |  * @ctx:  the user data (XML parser context)
 598 |  * @value:  the comment content
 599 |  *
 600 |  * A comment has been parsed.
 601 |  */
 602 | typedef void (*commentSAXFunc) (void *ctx,
 603 | 				const xmlChar *value);
 604 | /**
 605 |  * cdataBlockSAXFunc:
 606 |  * @ctx:  the user data (XML parser context)
 607 |  * @value:  The pcdata content
 608 |  * @len:  the block length
 609 |  *
 610 |  * Called when a pcdata block has been parsed.
 611 |  */
 612 | typedef void (*cdataBlockSAXFunc) (
 613 | 	                        void *ctx,
 614 | 				const xmlChar *value,
 615 | 				int len);
 616 | /**
 617 |  * warningSAXFunc:
 618 |  * @ctx:  an XML parser context
 619 |  * @msg:  the message to display/transmit
 620 |  * @...:  extra parameters for the message display
 621 |  *
 622 |  * Display and format a warning messages, callback.
 623 |  */
 624 | typedef void (*warningSAXFunc) (void *ctx,
 625 | 				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 626 | /**
 627 |  * errorSAXFunc:
 628 |  * @ctx:  an XML parser context
 629 |  * @msg:  the message to display/transmit
 630 |  * @...:  extra parameters for the message display
 631 |  *
 632 |  * Display and format an error messages, callback.
 633 |  */
 634 | typedef void (*errorSAXFunc) (void *ctx,
 635 | 				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 636 | /**
 637 |  * fatalErrorSAXFunc:
 638 |  * @ctx:  an XML parser context
 639 |  * @msg:  the message to display/transmit
 640 |  * @...:  extra parameters for the message display
 641 |  *
 642 |  * Display and format fatal error messages, callback.
 643 |  * Note: so far fatalError() SAX callbacks are not used, error()
 644 |  *       get all the callbacks for errors.
 645 |  */
 646 | typedef void (*fatalErrorSAXFunc) (void *ctx,
 647 | 				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
 648 | /**
 649 |  * isStandaloneSAXFunc:
 650 |  * @ctx:  the user data (XML parser context)
 651 |  *
 652 |  * Is this document tagged standalone?
 653 |  *
 654 |  * Returns 1 if true
 655 |  */
 656 | typedef int (*isStandaloneSAXFunc) (void *ctx);
 657 | /**
 658 |  * hasInternalSubsetSAXFunc:
 659 |  * @ctx:  the user data (XML parser context)
 660 |  *
 661 |  * Does this document has an internal subset.
 662 |  *
 663 |  * Returns 1 if true
 664 |  */
 665 | typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
 666 | 
 667 | /**
 668 |  * hasExternalSubsetSAXFunc:
 669 |  * @ctx:  the user data (XML parser context)
 670 |  *
 671 |  * Does this document has an external subset?
 672 |  *
 673 |  * Returns 1 if true
 674 |  */
 675 | typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
 676 | 
 677 | /************************************************************************
 678 |  *									*
 679 |  *			The SAX version 2 API extensions		*
 680 |  *									*
 681 |  ************************************************************************/
 682 | /**
 683 |  * XML_SAX2_MAGIC:
 684 |  *
 685 |  * Special constant found in SAX2 blocks initialized fields
 686 |  */
 687 | #define XML_SAX2_MAGIC 0xDEEDBEAF
 688 | 
 689 | /**
 690 |  * startElementNsSAX2Func:
 691 |  * @ctx:  the user data (XML parser context)
 692 |  * @localname:  the local name of the element
 693 |  * @prefix:  the element namespace prefix if available
 694 |  * @URI:  the element namespace name if available
 695 |  * @nb_namespaces:  number of namespace definitions on that node
 696 |  * @namespaces:  pointer to the array of prefix/URI pairs namespace definitions
 697 |  * @nb_attributes:  the number of attributes on that node
 698 |  * @nb_defaulted:  the number of defaulted attributes. The defaulted
 699 |  *                  ones are at the end of the array
 700 |  * @attributes:  pointer to the array of (localname/prefix/URI/value/end)
 701 |  *               attribute values.
 702 |  *
 703 |  * SAX2 callback when an element start has been detected by the parser.
 704 |  * It provides the namespace information for the element, as well as
 705 |  * the new namespace declarations on the element.
 706 |  */
 707 | 
 708 | typedef void (*startElementNsSAX2Func) (void *ctx,
 709 | 					const xmlChar *localname,
 710 | 					const xmlChar *prefix,
 711 | 					const xmlChar *URI,
 712 | 					int nb_namespaces,
 713 | 					const xmlChar **namespaces,
 714 | 					int nb_attributes,
 715 | 					int nb_defaulted,
 716 | 					const xmlChar **attributes);
 717 | 
 718 | /**
 719 |  * endElementNsSAX2Func:
 720 |  * @ctx:  the user data (XML parser context)
 721 |  * @localname:  the local name of the element
 722 |  * @prefix:  the element namespace prefix if available
 723 |  * @URI:  the element namespace name if available
 724 |  *
 725 |  * SAX2 callback when an element end has been detected by the parser.
 726 |  * It provides the namespace information for the element.
 727 |  */
 728 | 
 729 | typedef void (*endElementNsSAX2Func)   (void *ctx,
 730 | 					const xmlChar *localname,
 731 | 					const xmlChar *prefix,
 732 | 					const xmlChar *URI);
 733 | 
 734 | 
 735 | struct _xmlSAXHandler {
 736 |     internalSubsetSAXFunc internalSubset;
 737 |     isStandaloneSAXFunc isStandalone;
 738 |     hasInternalSubsetSAXFunc hasInternalSubset;
 739 |     hasExternalSubsetSAXFunc hasExternalSubset;
 740 |     resolveEntitySAXFunc resolveEntity;
 741 |     getEntitySAXFunc getEntity;
 742 |     entityDeclSAXFunc entityDecl;
 743 |     notationDeclSAXFunc notationDecl;
 744 |     attributeDeclSAXFunc attributeDecl;
 745 |     elementDeclSAXFunc elementDecl;
 746 |     unparsedEntityDeclSAXFunc unparsedEntityDecl;
 747 |     setDocumentLocatorSAXFunc setDocumentLocator;
 748 |     startDocumentSAXFunc startDocument;
 749 |     endDocumentSAXFunc endDocument;
 750 |     /*
 751 |      * `startElement` and `endElement` are only used by the legacy SAX1
 752 |      * interface and should not be used in new software. If you really
 753 |      * have to enable SAX1, the preferred way is set the `initialized`
 754 |      * member to 1 instead of XML_SAX2_MAGIC.
 755 |      *
 756 |      * For backward compatibility, it's also possible to set the
 757 |      * `startElementNs` and `endElementNs` handlers to NULL.
 758 |      *
 759 |      * You can also set the XML_PARSE_SAX1 parser option, but versions
 760 |      * older than 2.12.0 will probably crash if this option is provided
 761 |      * together with custom SAX callbacks.
 762 |      */
 763 |     startElementSAXFunc startElement;
 764 |     endElementSAXFunc endElement;
 765 |     referenceSAXFunc reference;
 766 |     charactersSAXFunc characters;
 767 |     ignorableWhitespaceSAXFunc ignorableWhitespace;
 768 |     processingInstructionSAXFunc processingInstruction;
 769 |     commentSAXFunc comment;
 770 |     warningSAXFunc warning;
 771 |     errorSAXFunc error;
 772 |     fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
 773 |     getParameterEntitySAXFunc getParameterEntity;
 774 |     cdataBlockSAXFunc cdataBlock;
 775 |     externalSubsetSAXFunc externalSubset;
 776 |     /*
 777 |      * `initialized` should always be set to XML_SAX2_MAGIC to enable the
 778 |      * modern SAX2 interface.
 779 |      */
 780 |     unsigned int initialized;
 781 |     /*
 782 |      * The following members are only used by the SAX2 interface.
 783 |      */
 784 |     void *_private;
 785 |     startElementNsSAX2Func startElementNs;
 786 |     endElementNsSAX2Func endElementNs;
 787 |     xmlStructuredErrorFunc serror;
 788 | };
 789 | 
 790 | /*
 791 |  * SAX Version 1
 792 |  */
 793 | typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
 794 | typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
 795 | struct _xmlSAXHandlerV1 {
 796 |     internalSubsetSAXFunc internalSubset;
 797 |     isStandaloneSAXFunc isStandalone;
 798 |     hasInternalSubsetSAXFunc hasInternalSubset;
 799 |     hasExternalSubsetSAXFunc hasExternalSubset;
 800 |     resolveEntitySAXFunc resolveEntity;
 801 |     getEntitySAXFunc getEntity;
 802 |     entityDeclSAXFunc entityDecl;
 803 |     notationDeclSAXFunc notationDecl;
 804 |     attributeDeclSAXFunc attributeDecl;
 805 |     elementDeclSAXFunc elementDecl;
 806 |     unparsedEntityDeclSAXFunc unparsedEntityDecl;
 807 |     setDocumentLocatorSAXFunc setDocumentLocator;
 808 |     startDocumentSAXFunc startDocument;
 809 |     endDocumentSAXFunc endDocument;
 810 |     startElementSAXFunc startElement;
 811 |     endElementSAXFunc endElement;
 812 |     referenceSAXFunc reference;
 813 |     charactersSAXFunc characters;
 814 |     ignorableWhitespaceSAXFunc ignorableWhitespace;
 815 |     processingInstructionSAXFunc processingInstruction;
 816 |     commentSAXFunc comment;
 817 |     warningSAXFunc warning;
 818 |     errorSAXFunc error;
 819 |     fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
 820 |     getParameterEntitySAXFunc getParameterEntity;
 821 |     cdataBlockSAXFunc cdataBlock;
 822 |     externalSubsetSAXFunc externalSubset;
 823 |     unsigned int initialized;
 824 | };
 825 | 
 826 | 
 827 | /**
 828 |  * xmlExternalEntityLoader:
 829 |  * @URL: The System ID of the resource requested
 830 |  * @ID: The Public ID of the resource requested
 831 |  * @context: the XML parser context
 832 |  *
 833 |  * External entity loaders types.
 834 |  *
 835 |  * Returns the entity input parser.
 836 |  */
 837 | typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
 838 | 					 const char *ID,
 839 | 					 xmlParserCtxtPtr context);
 840 | 
 841 | /*
 842 |  * Variables
 843 |  */
 844 | 
 845 | XMLPUBVAR const char *const xmlParserVersion;
 846 | #ifdef LIBXML_THREAD_ENABLED
 847 | /* backward compatibility */
 848 | XMLPUBFUN const char *const *__xmlParserVersion(void);
 849 | #endif
 850 | 
 851 | /** DOC_DISABLE */
 852 | #define XML_GLOBALS_PARSER_CORE \
 853 |   XML_OP(oldXMLWDcompatibility, int, XML_DEPRECATED) \
 854 |   XML_OP(xmlDefaultSAXLocator, xmlSAXLocator, XML_DEPRECATED) \
 855 |   XML_OP(xmlDoValidityCheckingDefaultValue, int, XML_DEPRECATED) \
 856 |   XML_OP(xmlGetWarningsDefaultValue, int, XML_DEPRECATED) \
 857 |   XML_OP(xmlKeepBlanksDefaultValue, int, XML_DEPRECATED) \
 858 |   XML_OP(xmlLineNumbersDefaultValue, int, XML_DEPRECATED) \
 859 |   XML_OP(xmlLoadExtDtdDefaultValue, int, XML_DEPRECATED) \
 860 |   XML_OP(xmlParserDebugEntities, int, XML_DEPRECATED) \
 861 |   XML_OP(xmlPedanticParserDefaultValue, int, XML_DEPRECATED) \
 862 |   XML_OP(xmlSubstituteEntitiesDefaultValue, int, XML_DEPRECATED)
 863 | 
 864 | #ifdef LIBXML_OUTPUT_ENABLED
 865 |   #define XML_GLOBALS_PARSER_OUTPUT \
 866 |     XML_OP(xmlIndentTreeOutput, int, XML_NO_ATTR) \
 867 |     XML_OP(xmlTreeIndentString, const char *, XML_NO_ATTR) \
 868 |     XML_OP(xmlSaveNoEmptyTags, int, XML_NO_ATTR)
 869 | #else
 870 |   #define XML_GLOBALS_PARSER_OUTPUT
 871 | #endif
 872 | 
 873 | #ifdef LIBXML_SAX1_ENABLED
 874 |   #define XML_GLOBALS_PARSER_SAX1 \
 875 |     XML_OP(xmlDefaultSAXHandler, xmlSAXHandlerV1, XML_DEPRECATED)
 876 | #else
 877 |   #define XML_GLOBALS_PARSER_SAX1
 878 | #endif
 879 | 
 880 | #define XML_GLOBALS_PARSER \
 881 |   XML_GLOBALS_PARSER_CORE \
 882 |   XML_GLOBALS_PARSER_OUTPUT \
 883 |   XML_GLOBALS_PARSER_SAX1
 884 | 
 885 | #define XML_OP XML_DECLARE_GLOBAL
 886 | XML_GLOBALS_PARSER
 887 | #undef XML_OP
 888 | 
 889 | #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
 890 |   #define oldXMLWDcompatibility XML_GLOBAL_MACRO(oldXMLWDcompatibility)
 891 |   #define xmlDefaultSAXHandler XML_GLOBAL_MACRO(xmlDefaultSAXHandler)
 892 |   #define xmlDefaultSAXLocator XML_GLOBAL_MACRO(xmlDefaultSAXLocator)
 893 |   #define xmlDoValidityCheckingDefaultValue \
 894 |     XML_GLOBAL_MACRO(xmlDoValidityCheckingDefaultValue)
 895 |   #define xmlGetWarningsDefaultValue \
 896 |     XML_GLOBAL_MACRO(xmlGetWarningsDefaultValue)
 897 |   #define xmlKeepBlanksDefaultValue XML_GLOBAL_MACRO(xmlKeepBlanksDefaultValue)
 898 |   #define xmlLineNumbersDefaultValue \
 899 |     XML_GLOBAL_MACRO(xmlLineNumbersDefaultValue)
 900 |   #define xmlLoadExtDtdDefaultValue XML_GLOBAL_MACRO(xmlLoadExtDtdDefaultValue)
 901 |   #define xmlParserDebugEntities XML_GLOBAL_MACRO(xmlParserDebugEntities)
 902 |   #define xmlPedanticParserDefaultValue \
 903 |     XML_GLOBAL_MACRO(xmlPedanticParserDefaultValue)
 904 |   #define xmlSubstituteEntitiesDefaultValue \
 905 |     XML_GLOBAL_MACRO(xmlSubstituteEntitiesDefaultValue)
 906 |   #ifdef LIBXML_OUTPUT_ENABLED
 907 |     #define xmlIndentTreeOutput XML_GLOBAL_MACRO(xmlIndentTreeOutput)
 908 |     #define xmlTreeIndentString XML_GLOBAL_MACRO(xmlTreeIndentString)
 909 |     #define xmlSaveNoEmptyTags XML_GLOBAL_MACRO(xmlSaveNoEmptyTags)
 910 |   #endif
 911 | #endif
 912 | /** DOC_ENABLE */
 913 | 
 914 | /*
 915 |  * Init/Cleanup
 916 |  */
 917 | XMLPUBFUN void
 918 | 		xmlInitParser		(void);
 919 | XMLPUBFUN void
 920 | 		xmlCleanupParser	(void);
 921 | XML_DEPRECATED
 922 | XMLPUBFUN void
 923 | 		xmlInitGlobals		(void);
 924 | XML_DEPRECATED
 925 | XMLPUBFUN void
 926 | 		xmlCleanupGlobals	(void);
 927 | 
 928 | /*
 929 |  * Input functions
 930 |  */
 931 | XML_DEPRECATED
 932 | XMLPUBFUN int
 933 | 		xmlParserInputRead	(xmlParserInputPtr in,
 934 | 					 int len);
 935 | XML_DEPRECATED
 936 | XMLPUBFUN int
 937 | 		xmlParserInputGrow	(xmlParserInputPtr in,
 938 | 					 int len);
 939 | 
 940 | /*
 941 |  * Basic parsing Interfaces
 942 |  */
 943 | #ifdef LIBXML_SAX1_ENABLED
 944 | XMLPUBFUN xmlDocPtr
 945 | 		xmlParseDoc		(const xmlChar *cur);
 946 | XMLPUBFUN xmlDocPtr
 947 | 		xmlParseFile		(const char *filename);
 948 | XMLPUBFUN xmlDocPtr
 949 | 		xmlParseMemory		(const char *buffer,
 950 | 					 int size);
 951 | #endif /* LIBXML_SAX1_ENABLED */
 952 | XML_DEPRECATED XMLPUBFUN int
 953 | 		xmlSubstituteEntitiesDefault(int val);
 954 | XML_DEPRECATED XMLPUBFUN int
 955 |                 xmlThrDefSubstituteEntitiesDefaultValue(int v);
 956 | XMLPUBFUN int
 957 | 		xmlKeepBlanksDefault	(int val);
 958 | XML_DEPRECATED XMLPUBFUN int
 959 | 		xmlThrDefKeepBlanksDefaultValue(int v);
 960 | XMLPUBFUN void
 961 | 		xmlStopParser		(xmlParserCtxtPtr ctxt);
 962 | XML_DEPRECATED XMLPUBFUN int
 963 | 		xmlPedanticParserDefault(int val);
 964 | XML_DEPRECATED XMLPUBFUN int
 965 |                 xmlThrDefPedanticParserDefaultValue(int v);
 966 | XML_DEPRECATED XMLPUBFUN int
 967 | 		xmlLineNumbersDefault	(int val);
 968 | XML_DEPRECATED XMLPUBFUN int
 969 |                 xmlThrDefLineNumbersDefaultValue(int v);
 970 | XML_DEPRECATED XMLPUBFUN int
 971 |                 xmlThrDefDoValidityCheckingDefaultValue(int v);
 972 | XML_DEPRECATED XMLPUBFUN int
 973 |                 xmlThrDefGetWarningsDefaultValue(int v);
 974 | XML_DEPRECATED XMLPUBFUN int
 975 |                 xmlThrDefLoadExtDtdDefaultValue(int v);
 976 | XML_DEPRECATED XMLPUBFUN int
 977 |                 xmlThrDefParserDebugEntities(int v);
 978 | 
 979 | #ifdef LIBXML_SAX1_ENABLED
 980 | /*
 981 |  * Recovery mode
 982 |  */
 983 | XML_DEPRECATED
 984 | XMLPUBFUN xmlDocPtr
 985 | 		xmlRecoverDoc		(const xmlChar *cur);
 986 | XML_DEPRECATED
 987 | XMLPUBFUN xmlDocPtr
 988 | 		xmlRecoverMemory	(const char *buffer,
 989 | 					 int size);
 990 | XML_DEPRECATED
 991 | XMLPUBFUN xmlDocPtr
 992 | 		xmlRecoverFile		(const char *filename);
 993 | #endif /* LIBXML_SAX1_ENABLED */
 994 | 
 995 | /*
 996 |  * Less common routines and SAX interfaces
 997 |  */
 998 | XMLPUBFUN int
 999 | 		xmlParseDocument	(xmlParserCtxtPtr ctxt);
1000 | XMLPUBFUN int
1001 | 		xmlParseExtParsedEnt	(xmlParserCtxtPtr ctxt);
1002 | #ifdef LIBXML_SAX1_ENABLED
1003 | XML_DEPRECATED
1004 | XMLPUBFUN int
1005 | 		xmlSAXUserParseFile	(xmlSAXHandlerPtr sax,
1006 | 					 void *user_data,
1007 | 					 const char *filename);
1008 | XML_DEPRECATED
1009 | XMLPUBFUN int
1010 | 		xmlSAXUserParseMemory	(xmlSAXHandlerPtr sax,
1011 | 					 void *user_data,
1012 | 					 const char *buffer,
1013 | 					 int size);
1014 | XML_DEPRECATED
1015 | XMLPUBFUN xmlDocPtr
1016 | 		xmlSAXParseDoc		(xmlSAXHandlerPtr sax,
1017 | 					 const xmlChar *cur,
1018 | 					 int recovery);
1019 | XML_DEPRECATED
1020 | XMLPUBFUN xmlDocPtr
1021 | 		xmlSAXParseMemory	(xmlSAXHandlerPtr sax,
1022 | 					 const char *buffer,
1023 | 					 int size,
1024 | 					 int recovery);
1025 | XML_DEPRECATED
1026 | XMLPUBFUN xmlDocPtr
1027 | 		xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
1028 | 					 const char *buffer,
1029 | 					 int size,
1030 | 					 int recovery,
1031 | 					 void *data);
1032 | XML_DEPRECATED
1033 | XMLPUBFUN xmlDocPtr
1034 | 		xmlSAXParseFile		(xmlSAXHandlerPtr sax,
1035 | 					 const char *filename,
1036 | 					 int recovery);
1037 | XML_DEPRECATED
1038 | XMLPUBFUN xmlDocPtr
1039 | 		xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax,
1040 | 					 const char *filename,
1041 | 					 int recovery,
1042 | 					 void *data);
1043 | XML_DEPRECATED
1044 | XMLPUBFUN xmlDocPtr
1045 | 		xmlSAXParseEntity	(xmlSAXHandlerPtr sax,
1046 | 					 const char *filename);
1047 | XML_DEPRECATED
1048 | XMLPUBFUN xmlDocPtr
1049 | 		xmlParseEntity		(const char *filename);
1050 | #endif /* LIBXML_SAX1_ENABLED */
1051 | 
1052 | #ifdef LIBXML_VALID_ENABLED
1053 | XML_DEPRECATED
1054 | XMLPUBFUN xmlDtdPtr
1055 | 		xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
1056 | 					 const xmlChar *ExternalID,
1057 | 					 const xmlChar *SystemID);
1058 | XMLPUBFUN xmlDtdPtr
1059 | 		xmlParseDTD		(const xmlChar *ExternalID,
1060 | 					 const xmlChar *SystemID);
1061 | XMLPUBFUN xmlDtdPtr
1062 | 		xmlIOParseDTD		(xmlSAXHandlerPtr sax,
1063 | 					 xmlParserInputBufferPtr input,
1064 | 					 xmlCharEncoding enc);
1065 | #endif /* LIBXML_VALID_ENABLE */
1066 | #ifdef LIBXML_SAX1_ENABLED
1067 | XMLPUBFUN int
1068 | 		xmlParseBalancedChunkMemory(xmlDocPtr doc,
1069 | 					 xmlSAXHandlerPtr sax,
1070 | 					 void *user_data,
1071 | 					 int depth,
1072 | 					 const xmlChar *string,
1073 | 					 xmlNodePtr *lst);
1074 | #endif /* LIBXML_SAX1_ENABLED */
1075 | XMLPUBFUN xmlParserErrors
1076 | 		xmlParseInNodeContext	(xmlNodePtr node,
1077 | 					 const char *data,
1078 | 					 int datalen,
1079 | 					 int options,
1080 | 					 xmlNodePtr *lst);
1081 | #ifdef LIBXML_SAX1_ENABLED
1082 | XMLPUBFUN int
1083 | 		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
1084 |                      xmlSAXHandlerPtr sax,
1085 |                      void *user_data,
1086 |                      int depth,
1087 |                      const xmlChar *string,
1088 |                      xmlNodePtr *lst,
1089 |                      int recover);
1090 | XML_DEPRECATED
1091 | XMLPUBFUN int
1092 | 		xmlParseExternalEntity	(xmlDocPtr doc,
1093 | 					 xmlSAXHandlerPtr sax,
1094 | 					 void *user_data,
1095 | 					 int depth,
1096 | 					 const xmlChar *URL,
1097 | 					 const xmlChar *ID,
1098 | 					 xmlNodePtr *lst);
1099 | #endif /* LIBXML_SAX1_ENABLED */
1100 | XMLPUBFUN int
1101 | 		xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
1102 | 					 const xmlChar *URL,
1103 | 					 const xmlChar *ID,
1104 | 					 xmlNodePtr *lst);
1105 | 
1106 | /*
1107 |  * Parser contexts handling.
1108 |  */
1109 | XMLPUBFUN xmlParserCtxtPtr
1110 | 		xmlNewParserCtxt	(void);
1111 | XMLPUBFUN xmlParserCtxtPtr
1112 | 		xmlNewSAXParserCtxt	(const xmlSAXHandler *sax,
1113 | 					 void *userData);
1114 | XMLPUBFUN int
1115 | 		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
1116 | XMLPUBFUN void
1117 | 		xmlClearParserCtxt	(xmlParserCtxtPtr ctxt);
1118 | XMLPUBFUN void
1119 | 		xmlFreeParserCtxt	(xmlParserCtxtPtr ctxt);
1120 | #ifdef LIBXML_SAX1_ENABLED
1121 | XML_DEPRECATED
1122 | XMLPUBFUN void
1123 | 		xmlSetupParserForBuffer	(xmlParserCtxtPtr ctxt,
1124 | 					 const xmlChar* buffer,
1125 | 					 const char *filename);
1126 | #endif /* LIBXML_SAX1_ENABLED */
1127 | XMLPUBFUN xmlParserCtxtPtr
1128 | 		xmlCreateDocParserCtxt	(const xmlChar *cur);
1129 | 
1130 | #ifdef LIBXML_LEGACY_ENABLED
1131 | /*
1132 |  * Reading/setting optional parsing features.
1133 |  */
1134 | XML_DEPRECATED
1135 | XMLPUBFUN int
1136 | 		xmlGetFeaturesList	(int *len,
1137 | 					 const char **result);
1138 | XML_DEPRECATED
1139 | XMLPUBFUN int
1140 | 		xmlGetFeature		(xmlParserCtxtPtr ctxt,
1141 | 					 const char *name,
1142 | 					 void *result);
1143 | XML_DEPRECATED
1144 | XMLPUBFUN int
1145 | 		xmlSetFeature		(xmlParserCtxtPtr ctxt,
1146 | 					 const char *name,
1147 | 					 void *value);
1148 | #endif /* LIBXML_LEGACY_ENABLED */
1149 | 
1150 | #ifdef LIBXML_PUSH_ENABLED
1151 | /*
1152 |  * Interfaces for the Push mode.
1153 |  */
1154 | XMLPUBFUN xmlParserCtxtPtr
1155 | 		xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
1156 | 					 void *user_data,
1157 | 					 const char *chunk,
1158 | 					 int size,
1159 | 					 const char *filename);
1160 | XMLPUBFUN int
1161 | 		xmlParseChunk		(xmlParserCtxtPtr ctxt,
1162 | 					 const char *chunk,
1163 | 					 int size,
1164 | 					 int terminate);
1165 | #endif /* LIBXML_PUSH_ENABLED */
1166 | 
1167 | /*
1168 |  * Special I/O mode.
1169 |  */
1170 | 
1171 | XMLPUBFUN xmlParserCtxtPtr
1172 | 		xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax,
1173 | 					 void *user_data,
1174 | 					 xmlInputReadCallback   ioread,
1175 | 					 xmlInputCloseCallback  ioclose,
1176 | 					 void *ioctx,
1177 | 					 xmlCharEncoding enc);
1178 | 
1179 | XMLPUBFUN xmlParserInputPtr
1180 | 		xmlNewIOInputStream	(xmlParserCtxtPtr ctxt,
1181 | 					 xmlParserInputBufferPtr input,
1182 | 					 xmlCharEncoding enc);
1183 | 
1184 | /*
1185 |  * Node infos.
1186 |  */
1187 | XMLPUBFUN const xmlParserNodeInfo*
1188 | 		xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctxt,
1189 | 				         const xmlNodePtr node);
1190 | XMLPUBFUN void
1191 | 		xmlInitNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
1192 | XMLPUBFUN void
1193 | 		xmlClearNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
1194 | XMLPUBFUN unsigned long
1195 | 		xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
1196 |                                          const xmlNodePtr node);
1197 | XMLPUBFUN void
1198 | 		xmlParserAddNodeInfo	(xmlParserCtxtPtr ctxt,
1199 | 					 const xmlParserNodeInfoPtr info);
1200 | 
1201 | /*
1202 |  * External entities handling actually implemented in xmlIO.
1203 |  */
1204 | 
1205 | XMLPUBFUN void
1206 | 		xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
1207 | XMLPUBFUN xmlExternalEntityLoader
1208 | 		xmlGetExternalEntityLoader(void);
1209 | XMLPUBFUN xmlParserInputPtr
1210 | 		xmlLoadExternalEntity	(const char *URL,
1211 | 					 const char *ID,
1212 | 					 xmlParserCtxtPtr ctxt);
1213 | 
1214 | /*
1215 |  * Index lookup, actually implemented in the encoding module
1216 |  */
1217 | XMLPUBFUN long
1218 | 		xmlByteConsumed		(xmlParserCtxtPtr ctxt);
1219 | 
1220 | /*
1221 |  * New set of simpler/more flexible APIs
1222 |  */
1223 | /**
1224 |  * xmlParserOption:
1225 |  *
1226 |  * This is the set of XML parser options that can be passed down
1227 |  * to the xmlReadDoc() and similar calls.
1228 |  */
1229 | typedef enum {
1230 |     XML_PARSE_RECOVER	= 1<<0,	/* recover on errors */
1231 |     XML_PARSE_NOENT	= 1<<1,	/* substitute entities */
1232 |     XML_PARSE_DTDLOAD	= 1<<2,	/* load the external subset */
1233 |     XML_PARSE_DTDATTR	= 1<<3,	/* default DTD attributes */
1234 |     XML_PARSE_DTDVALID	= 1<<4,	/* validate with the DTD */
1235 |     XML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
1236 |     XML_PARSE_NOWARNING	= 1<<6,	/* suppress warning reports */
1237 |     XML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
1238 |     XML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
1239 |     XML_PARSE_SAX1	= 1<<9,	/* use the SAX1 interface internally */
1240 |     XML_PARSE_XINCLUDE	= 1<<10,/* Implement XInclude substitution  */
1241 |     XML_PARSE_NONET	= 1<<11,/* Forbid network access */
1242 |     XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionary */
1243 |     XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
1244 |     XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
1245 |     XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
1246 |     XML_PARSE_COMPACT   = 1<<16,/* compact small text nodes; no modification of
1247 |                                    the tree allowed afterwards (will possibly
1248 | 				   crash if you try to modify the tree) */
1249 |     XML_PARSE_OLD10	= 1<<17,/* parse using XML-1.0 before update 5 */
1250 |     XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */
1251 |     XML_PARSE_HUGE      = 1<<19,/* relax any hardcoded limit from the parser */
1252 |     XML_PARSE_OLDSAX    = 1<<20,/* parse using SAX2 interface before 2.7.0 */
1253 |     XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */
1254 |     XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
1255 | } xmlParserOption;
1256 | 
1257 | XMLPUBFUN void
1258 | 		xmlCtxtReset		(xmlParserCtxtPtr ctxt);
1259 | XMLPUBFUN int
1260 | 		xmlCtxtResetPush	(xmlParserCtxtPtr ctxt,
1261 | 					 const char *chunk,
1262 | 					 int size,
1263 | 					 const char *filename,
1264 | 					 const char *encoding);
1265 | XMLPUBFUN int
1266 | 		xmlCtxtUseOptions	(xmlParserCtxtPtr ctxt,
1267 | 					 int options);
1268 | XMLPUBFUN void
1269 | 		xmlCtxtSetMaxAmplification(xmlParserCtxtPtr ctxt,
1270 | 					 unsigned maxAmpl);
1271 | XMLPUBFUN xmlDocPtr
1272 | 		xmlReadDoc		(const xmlChar *cur,
1273 | 					 const char *URL,
1274 | 					 const char *encoding,
1275 | 					 int options);
1276 | XMLPUBFUN xmlDocPtr
1277 | 		xmlReadFile		(const char *URL,
1278 | 					 const char *encoding,
1279 | 					 int options);
1280 | XMLPUBFUN xmlDocPtr
1281 | 		xmlReadMemory		(const char *buffer,
1282 | 					 int size,
1283 | 					 const char *URL,
1284 | 					 const char *encoding,
1285 | 					 int options);
1286 | XMLPUBFUN xmlDocPtr
1287 | 		xmlReadFd		(int fd,
1288 | 					 const char *URL,
1289 | 					 const char *encoding,
1290 | 					 int options);
1291 | XMLPUBFUN xmlDocPtr
1292 | 		xmlReadIO		(xmlInputReadCallback ioread,
1293 | 					 xmlInputCloseCallback ioclose,
1294 | 					 void *ioctx,
1295 | 					 const char *URL,
1296 | 					 const char *encoding,
1297 | 					 int options);
1298 | XMLPUBFUN xmlDocPtr
1299 | 		xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
1300 | 					 const xmlChar *cur,
1301 | 					 const char *URL,
1302 | 					 const char *encoding,
1303 | 					 int options);
1304 | XMLPUBFUN xmlDocPtr
1305 | 		xmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
1306 | 					 const char *filename,
1307 | 					 const char *encoding,
1308 | 					 int options);
1309 | XMLPUBFUN xmlDocPtr
1310 | 		xmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
1311 | 					 const char *buffer,
1312 | 					 int size,
1313 | 					 const char *URL,
1314 | 					 const char *encoding,
1315 | 					 int options);
1316 | XMLPUBFUN xmlDocPtr
1317 | 		xmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
1318 | 					 int fd,
1319 | 					 const char *URL,
1320 | 					 const char *encoding,
1321 | 					 int options);
1322 | XMLPUBFUN xmlDocPtr
1323 | 		xmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
1324 | 					 xmlInputReadCallback ioread,
1325 | 					 xmlInputCloseCallback ioclose,
1326 | 					 void *ioctx,
1327 | 					 const char *URL,
1328 | 					 const char *encoding,
1329 | 					 int options);
1330 | 
1331 | /*
1332 |  * Library wide options
1333 |  */
1334 | /**
1335 |  * xmlFeature:
1336 |  *
1337 |  * Used to examine the existence of features that can be enabled
1338 |  * or disabled at compile-time.
1339 |  * They used to be called XML_FEATURE_xxx but this clashed with Expat
1340 |  */
1341 | typedef enum {
1342 |     XML_WITH_THREAD = 1,
1343 |     XML_WITH_TREE = 2,
1344 |     XML_WITH_OUTPUT = 3,
1345 |     XML_WITH_PUSH = 4,
1346 |     XML_WITH_READER = 5,
1347 |     XML_WITH_PATTERN = 6,
1348 |     XML_WITH_WRITER = 7,
1349 |     XML_WITH_SAX1 = 8,
1350 |     XML_WITH_FTP = 9,
1351 |     XML_WITH_HTTP = 10,
1352 |     XML_WITH_VALID = 11,
1353 |     XML_WITH_HTML = 12,
1354 |     XML_WITH_LEGACY = 13,
1355 |     XML_WITH_C14N = 14,
1356 |     XML_WITH_CATALOG = 15,
1357 |     XML_WITH_XPATH = 16,
1358 |     XML_WITH_XPTR = 17,
1359 |     XML_WITH_XINCLUDE = 18,
1360 |     XML_WITH_ICONV = 19,
1361 |     XML_WITH_ISO8859X = 20,
1362 |     XML_WITH_UNICODE = 21,
1363 |     XML_WITH_REGEXP = 22,
1364 |     XML_WITH_AUTOMATA = 23,
1365 |     XML_WITH_EXPR = 24,
1366 |     XML_WITH_SCHEMAS = 25,
1367 |     XML_WITH_SCHEMATRON = 26,
1368 |     XML_WITH_MODULES = 27,
1369 |     XML_WITH_DEBUG = 28,
1370 |     XML_WITH_DEBUG_MEM = 29,
1371 |     XML_WITH_DEBUG_RUN = 30,
1372 |     XML_WITH_ZLIB = 31,
1373 |     XML_WITH_ICU = 32,
1374 |     XML_WITH_LZMA = 33,
1375 |     XML_WITH_NONE = 99999 /* just to be sure of allocation size */
1376 | } xmlFeature;
1377 | 
1378 | XMLPUBFUN int
1379 | 		xmlHasFeature		(xmlFeature feature);
1380 | 
1381 | #ifdef __cplusplus
1382 | }
1383 | #endif
1384 | #endif /* __XML_PARSER_H__ */
1385 | 
```
Page 136/168FirstPrevNextLast