This directory contains a minimal vendored subset of the "defusedxml" package
(https://github.com/tiran/defusedxml), version 0.7.1.

Only the modules required to safely parse XML/KML content are included:
  - __init__.py
  - common.py
  - ElementTree.py

It is bundled directly with this QGIS plugin so that XML parsing is hardened
against XML-based attacks (XXE, entity expansion / "billion laughs", external
DTD resolution) without requiring users to manually install an extra Python
package into their QGIS environment.

Intentional deviations from upstream (to keep the vendored surface minimal
and avoid unused/dead code flagged by linters and security scanners):
  - The upstream defuse_stdlib() helper was removed from __init__.py. It
    monkey-patches xmlrpc, minidom, pulldom, sax, expatbuilder, and
    cElementTree - none of which this plugin uses or vendors. This plugin
    only ever calls ElementTree.fromstring() on KML content.
  - The Python 2 compatibility branch in ElementTree.py was removed, since
    QGIS 3.x/4.x only ever run on Python 3.
Both changes are structural removals of unused code paths; the Python 3
ElementTree.fromstring() behavior is identical to upstream.

Copyright (c) 2013 Christian Heimes <christian@python.org>
Licensed to the PSF under a Contributor Agreement.
See LICENSE in this directory for full license text (PSF License).

Upstream project: https://github.com/tiran/defusedxml
PyPI:             https://pypi.org/project/defusedxml/
