quarchpy 2.1.14.dev4__py2.py3-none-any.whl → 2.1.14.dev5__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (730) hide show
  1. quarchpy/.idea/.name +1 -0
  2. quarchpy/.idea/workspace.xml +70 -11
  3. quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
  4. quarchpy/__pycache__/run.cpython-311.pyc +0 -0
  5. quarchpy/_version.py +1 -1
  6. quarchpy/_version.py.bak +1 -0
  7. quarchpy/connection_specific/QPS/qis/qis.jar +0 -0
  8. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.04.jar +0 -0
  9. quarchpy/connection_specific/QPS/qps.jar +0 -0
  10. quarchpy/connection_specific/QPS/scriptCommands.txt +2 -2
  11. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
  12. quarchpy/connection_specific/connection_QIS.py +6 -4
  13. quarchpy/connection_specific/connection_ReST.py +26 -16
  14. quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
  15. quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
  16. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
  17. quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
  18. quarchpy/device/scanDevices.py +2 -4
  19. quarchpy/device/scanDevices.py.bak +657 -0
  20. quarchpy/qis/qisFuncs.py +25 -42
  21. quarchpy/qis/qisFuncs.py.bak +213 -0
  22. quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
  23. quarchpy/qps/qpsFuncs.py +18 -22
  24. quarchpy/qps/qpsFuncs.py.bak +224 -0
  25. quarchpy/venv/.gitignore +2 -0
  26. quarchpy/venv/Include/Python-ast.h +535 -0
  27. quarchpy/venv/Include/Python.h +181 -0
  28. quarchpy/venv/Include/abstract.h +1396 -0
  29. quarchpy/venv/Include/asdl.h +45 -0
  30. quarchpy/venv/Include/ast.h +13 -0
  31. quarchpy/venv/Include/bitset.h +32 -0
  32. quarchpy/venv/Include/boolobject.h +36 -0
  33. quarchpy/venv/Include/bufferobject.h +33 -0
  34. quarchpy/venv/Include/bytearrayobject.h +57 -0
  35. quarchpy/venv/Include/bytes_methods.h +75 -0
  36. quarchpy/venv/Include/bytesobject.h +27 -0
  37. quarchpy/venv/Include/cStringIO.h +73 -0
  38. quarchpy/venv/Include/cellobject.h +28 -0
  39. quarchpy/venv/Include/ceval.h +154 -0
  40. quarchpy/venv/Include/classobject.h +83 -0
  41. quarchpy/venv/Include/cobject.h +89 -0
  42. quarchpy/venv/Include/code.h +116 -0
  43. quarchpy/venv/Include/codecs.h +212 -0
  44. quarchpy/venv/Include/compile.h +40 -0
  45. quarchpy/venv/Include/complexobject.h +66 -0
  46. quarchpy/venv/Include/datetime.h +239 -0
  47. quarchpy/venv/Include/descrobject.h +94 -0
  48. quarchpy/venv/Include/dictobject.h +160 -0
  49. quarchpy/venv/Include/dtoa.h +15 -0
  50. quarchpy/venv/Include/enumobject.h +17 -0
  51. quarchpy/venv/Include/errcode.h +37 -0
  52. quarchpy/venv/Include/eval.h +25 -0
  53. quarchpy/venv/Include/fileobject.h +97 -0
  54. quarchpy/venv/Include/floatobject.h +140 -0
  55. quarchpy/venv/Include/frameobject.h +89 -0
  56. quarchpy/venv/Include/funcobject.h +76 -0
  57. quarchpy/venv/Include/genobject.h +40 -0
  58. quarchpy/venv/Include/graminit.h +87 -0
  59. quarchpy/venv/Include/grammar.h +94 -0
  60. quarchpy/venv/Include/import.h +71 -0
  61. quarchpy/venv/Include/intobject.h +84 -0
  62. quarchpy/venv/Include/intrcheck.h +15 -0
  63. quarchpy/venv/Include/iterobject.h +23 -0
  64. quarchpy/venv/Include/listobject.h +68 -0
  65. quarchpy/venv/Include/longintrepr.h +103 -0
  66. quarchpy/venv/Include/longobject.h +135 -0
  67. quarchpy/venv/Include/marshal.h +25 -0
  68. quarchpy/venv/Include/memoryobject.h +74 -0
  69. quarchpy/venv/Include/metagrammar.h +18 -0
  70. quarchpy/venv/Include/methodobject.h +93 -0
  71. quarchpy/venv/Include/modsupport.h +134 -0
  72. quarchpy/venv/Include/moduleobject.h +24 -0
  73. quarchpy/venv/Include/node.h +41 -0
  74. quarchpy/venv/Include/object.h +1046 -0
  75. quarchpy/venv/Include/objimpl.h +369 -0
  76. quarchpy/venv/Include/opcode.h +171 -0
  77. quarchpy/venv/Include/osdefs.h +63 -0
  78. quarchpy/venv/Include/parsetok.h +64 -0
  79. quarchpy/venv/Include/patchlevel.h +43 -0
  80. quarchpy/venv/Include/pgen.h +18 -0
  81. quarchpy/venv/Include/pgenheaders.h +43 -0
  82. quarchpy/venv/Include/py_curses.h +177 -0
  83. quarchpy/venv/Include/pyarena.h +62 -0
  84. quarchpy/venv/Include/pycapsule.h +56 -0
  85. quarchpy/venv/Include/pyconfig.h +770 -0
  86. quarchpy/venv/Include/pyctype.h +31 -0
  87. quarchpy/venv/Include/pydebug.h +41 -0
  88. quarchpy/venv/Include/pyerrors.h +329 -0
  89. quarchpy/venv/Include/pyexpat.h +50 -0
  90. quarchpy/venv/Include/pyfpe.h +176 -0
  91. quarchpy/venv/Include/pygetopt.h +18 -0
  92. quarchpy/venv/Include/pymacconfig.h +102 -0
  93. quarchpy/venv/Include/pymactoolbox.h +232 -0
  94. quarchpy/venv/Include/pymath.h +214 -0
  95. quarchpy/venv/Include/pymem.h +122 -0
  96. quarchpy/venv/Include/pyport.h +950 -0
  97. quarchpy/venv/Include/pystate.h +200 -0
  98. quarchpy/venv/Include/pystrcmp.h +23 -0
  99. quarchpy/venv/Include/pystrtod.h +45 -0
  100. quarchpy/venv/Include/pythonrun.h +181 -0
  101. quarchpy/venv/Include/pythread.h +41 -0
  102. quarchpy/venv/Include/rangeobject.h +28 -0
  103. quarchpy/venv/Include/setobject.h +99 -0
  104. quarchpy/venv/Include/sliceobject.h +50 -0
  105. quarchpy/venv/Include/stringobject.h +210 -0
  106. quarchpy/venv/Include/structmember.h +99 -0
  107. quarchpy/venv/Include/structseq.h +41 -0
  108. quarchpy/venv/Include/symtable.h +98 -0
  109. quarchpy/venv/Include/sysmodule.h +31 -0
  110. quarchpy/venv/Include/timefuncs.h +26 -0
  111. quarchpy/venv/Include/token.h +85 -0
  112. quarchpy/venv/Include/traceback.h +31 -0
  113. quarchpy/venv/Include/tupleobject.h +61 -0
  114. quarchpy/venv/Include/ucnhash.h +33 -0
  115. quarchpy/venv/Include/unicodeobject.h +1413 -0
  116. quarchpy/venv/Include/warnings.h +23 -0
  117. quarchpy/venv/Include/weakrefobject.h +82 -0
  118. quarchpy/venv/Lib/os.py +742 -0
  119. quarchpy/venv/Lib/os.pyc +0 -0
  120. quarchpy/venv/Lib/site-packages/_virtualenv.pth +1 -0
  121. quarchpy/venv/Lib/site-packages/_virtualenv.py +130 -0
  122. quarchpy/venv/Lib/site-packages/_virtualenv.pyc +0 -0
  123. quarchpy/venv/Lib/site-packages/easy_install.py +5 -0
  124. quarchpy/venv/Lib/site-packages/pip/__init__.py +18 -0
  125. quarchpy/venv/Lib/site-packages/pip/__main__.py +26 -0
  126. quarchpy/venv/Lib/site-packages/pip/_internal/__init__.py +17 -0
  127. quarchpy/venv/Lib/site-packages/pip/_internal/build_env.py +242 -0
  128. quarchpy/venv/Lib/site-packages/pip/_internal/cache.py +346 -0
  129. quarchpy/venv/Lib/site-packages/pip/_internal/cli/__init__.py +4 -0
  130. quarchpy/venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +164 -0
  131. quarchpy/venv/Lib/site-packages/pip/_internal/cli/base_command.py +260 -0
  132. quarchpy/venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +971 -0
  133. quarchpy/venv/Lib/site-packages/pip/_internal/cli/command_context.py +36 -0
  134. quarchpy/venv/Lib/site-packages/pip/_internal/cli/main.py +75 -0
  135. quarchpy/venv/Lib/site-packages/pip/_internal/cli/main_parser.py +96 -0
  136. quarchpy/venv/Lib/site-packages/pip/_internal/cli/parser.py +285 -0
  137. quarchpy/venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +280 -0
  138. quarchpy/venv/Lib/site-packages/pip/_internal/cli/req_command.py +436 -0
  139. quarchpy/venv/Lib/site-packages/pip/_internal/cli/spinners.py +173 -0
  140. quarchpy/venv/Lib/site-packages/pip/_internal/cli/status_codes.py +8 -0
  141. quarchpy/venv/Lib/site-packages/pip/_internal/commands/__init__.py +123 -0
  142. quarchpy/venv/Lib/site-packages/pip/_internal/commands/cache.py +234 -0
  143. quarchpy/venv/Lib/site-packages/pip/_internal/commands/check.py +51 -0
  144. quarchpy/venv/Lib/site-packages/pip/_internal/commands/completion.py +98 -0
  145. quarchpy/venv/Lib/site-packages/pip/_internal/commands/configuration.py +280 -0
  146. quarchpy/venv/Lib/site-packages/pip/_internal/commands/debug.py +230 -0
  147. quarchpy/venv/Lib/site-packages/pip/_internal/commands/download.py +143 -0
  148. quarchpy/venv/Lib/site-packages/pip/_internal/commands/freeze.py +116 -0
  149. quarchpy/venv/Lib/site-packages/pip/_internal/commands/hash.py +63 -0
  150. quarchpy/venv/Lib/site-packages/pip/_internal/commands/help.py +46 -0
  151. quarchpy/venv/Lib/site-packages/pip/_internal/commands/install.py +737 -0
  152. quarchpy/venv/Lib/site-packages/pip/_internal/commands/list.py +327 -0
  153. quarchpy/venv/Lib/site-packages/pip/_internal/commands/search.py +169 -0
  154. quarchpy/venv/Lib/site-packages/pip/_internal/commands/show.py +186 -0
  155. quarchpy/venv/Lib/site-packages/pip/_internal/commands/uninstall.py +95 -0
  156. quarchpy/venv/Lib/site-packages/pip/_internal/commands/wheel.py +198 -0
  157. quarchpy/venv/Lib/site-packages/pip/_internal/configuration.py +407 -0
  158. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/__init__.py +24 -0
  159. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/base.py +46 -0
  160. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/installed.py +25 -0
  161. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/sdist.py +105 -0
  162. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/wheel.py +37 -0
  163. quarchpy/venv/Lib/site-packages/pip/_internal/exceptions.py +391 -0
  164. quarchpy/venv/Lib/site-packages/pip/_internal/index/__init__.py +2 -0
  165. quarchpy/venv/Lib/site-packages/pip/_internal/index/collector.py +667 -0
  166. quarchpy/venv/Lib/site-packages/pip/_internal/index/package_finder.py +1015 -0
  167. quarchpy/venv/Lib/site-packages/pip/_internal/locations.py +193 -0
  168. quarchpy/venv/Lib/site-packages/pip/_internal/main.py +16 -0
  169. quarchpy/venv/Lib/site-packages/pip/_internal/models/__init__.py +2 -0
  170. quarchpy/venv/Lib/site-packages/pip/_internal/models/candidate.py +39 -0
  171. quarchpy/venv/Lib/site-packages/pip/_internal/models/direct_url.py +243 -0
  172. quarchpy/venv/Lib/site-packages/pip/_internal/models/format_control.py +92 -0
  173. quarchpy/venv/Lib/site-packages/pip/_internal/models/index.py +34 -0
  174. quarchpy/venv/Lib/site-packages/pip/_internal/models/link.py +246 -0
  175. quarchpy/venv/Lib/site-packages/pip/_internal/models/scheme.py +31 -0
  176. quarchpy/venv/Lib/site-packages/pip/_internal/models/search_scope.py +135 -0
  177. quarchpy/venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +50 -0
  178. quarchpy/venv/Lib/site-packages/pip/_internal/models/target_python.py +117 -0
  179. quarchpy/venv/Lib/site-packages/pip/_internal/models/wheel.py +78 -0
  180. quarchpy/venv/Lib/site-packages/pip/_internal/network/__init__.py +2 -0
  181. quarchpy/venv/Lib/site-packages/pip/_internal/network/auth.py +310 -0
  182. quarchpy/venv/Lib/site-packages/pip/_internal/network/cache.py +79 -0
  183. quarchpy/venv/Lib/site-packages/pip/_internal/network/download.py +202 -0
  184. quarchpy/venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +231 -0
  185. quarchpy/venv/Lib/site-packages/pip/_internal/network/session.py +428 -0
  186. quarchpy/venv/Lib/site-packages/pip/_internal/network/utils.py +97 -0
  187. quarchpy/venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +53 -0
  188. quarchpy/venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  189. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  190. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  191. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +77 -0
  192. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +47 -0
  193. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +113 -0
  194. quarchpy/venv/Lib/site-packages/pip/_internal/operations/check.py +155 -0
  195. quarchpy/venv/Lib/site-packages/pip/_internal/operations/freeze.py +277 -0
  196. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +2 -0
  197. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +52 -0
  198. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/legacy.py +130 -0
  199. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +846 -0
  200. quarchpy/venv/Lib/site-packages/pip/_internal/operations/prepare.py +608 -0
  201. quarchpy/venv/Lib/site-packages/pip/_internal/pyproject.py +196 -0
  202. quarchpy/venv/Lib/site-packages/pip/_internal/req/__init__.py +103 -0
  203. quarchpy/venv/Lib/site-packages/pip/_internal/req/constructors.py +476 -0
  204. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_file.py +574 -0
  205. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_install.py +907 -0
  206. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_set.py +204 -0
  207. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_tracker.py +151 -0
  208. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +657 -0
  209. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  210. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/base.py +21 -0
  211. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  212. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +473 -0
  213. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  214. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +156 -0
  215. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +604 -0
  216. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +504 -0
  217. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +101 -0
  218. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +174 -0
  219. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +84 -0
  220. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +201 -0
  221. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +296 -0
  222. quarchpy/venv/Lib/site-packages/pip/_internal/self_outdated_check.py +197 -0
  223. quarchpy/venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  224. quarchpy/venv/Lib/site-packages/pip/_internal/utils/appdirs.py +44 -0
  225. quarchpy/venv/Lib/site-packages/pip/_internal/utils/compat.py +293 -0
  226. quarchpy/venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +178 -0
  227. quarchpy/venv/Lib/site-packages/pip/_internal/utils/datetime.py +14 -0
  228. quarchpy/venv/Lib/site-packages/pip/_internal/utils/deprecation.py +104 -0
  229. quarchpy/venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +126 -0
  230. quarchpy/venv/Lib/site-packages/pip/_internal/utils/distutils_args.py +48 -0
  231. quarchpy/venv/Lib/site-packages/pip/_internal/utils/encoding.py +41 -0
  232. quarchpy/venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +31 -0
  233. quarchpy/venv/Lib/site-packages/pip/_internal/utils/filesystem.py +224 -0
  234. quarchpy/venv/Lib/site-packages/pip/_internal/utils/filetypes.py +26 -0
  235. quarchpy/venv/Lib/site-packages/pip/_internal/utils/glibc.py +98 -0
  236. quarchpy/venv/Lib/site-packages/pip/_internal/utils/hashes.py +169 -0
  237. quarchpy/venv/Lib/site-packages/pip/_internal/utils/inject_securetransport.py +36 -0
  238. quarchpy/venv/Lib/site-packages/pip/_internal/utils/logging.py +399 -0
  239. quarchpy/venv/Lib/site-packages/pip/_internal/utils/misc.py +962 -0
  240. quarchpy/venv/Lib/site-packages/pip/_internal/utils/models.py +44 -0
  241. quarchpy/venv/Lib/site-packages/pip/_internal/utils/packaging.py +95 -0
  242. quarchpy/venv/Lib/site-packages/pip/_internal/utils/parallel.py +107 -0
  243. quarchpy/venv/Lib/site-packages/pip/_internal/utils/pkg_resources.py +44 -0
  244. quarchpy/venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py +181 -0
  245. quarchpy/venv/Lib/site-packages/pip/_internal/utils/subprocess.py +299 -0
  246. quarchpy/venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +284 -0
  247. quarchpy/venv/Lib/site-packages/pip/_internal/utils/typing.py +38 -0
  248. quarchpy/venv/Lib/site-packages/pip/_internal/utils/unpacking.py +281 -0
  249. quarchpy/venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  250. quarchpy/venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +119 -0
  251. quarchpy/venv/Lib/site-packages/pip/_internal/utils/wheel.py +225 -0
  252. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  253. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +123 -0
  254. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/git.py +454 -0
  255. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +172 -0
  256. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/subversion.py +340 -0
  257. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +735 -0
  258. quarchpy/venv/Lib/site-packages/pip/_internal/wheel_builder.py +362 -0
  259. quarchpy/venv/Lib/site-packages/pip/_vendor/__init__.py +114 -0
  260. quarchpy/venv/Lib/site-packages/pip/_vendor/appdirs.py +633 -0
  261. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
  262. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +57 -0
  263. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +133 -0
  264. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
  265. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
  266. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +146 -0
  267. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +33 -0
  268. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
  269. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +376 -0
  270. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +80 -0
  271. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +135 -0
  272. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +188 -0
  273. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +29 -0
  274. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +3 -0
  275. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  276. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/cacert.pem +4606 -0
  277. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/core.py +60 -0
  278. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/__init__.py +39 -0
  279. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
  280. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/big5prober.py +47 -0
  281. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/chardistribution.py +233 -0
  282. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py +106 -0
  283. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
  284. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
  285. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py +85 -0
  286. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
  287. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/compat.py +34 -0
  288. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/cp949prober.py +49 -0
  289. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/enums.py +76 -0
  290. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/escprober.py +101 -0
  291. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/escsm.py +246 -0
  292. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
  293. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
  294. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euckrprober.py +47 -0
  295. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py +387 -0
  296. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euctwprober.py +46 -0
  297. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py +283 -0
  298. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py +46 -0
  299. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py +292 -0
  300. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/jisfreq.py +325 -0
  301. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/jpcntx.py +233 -0
  302. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +228 -0
  303. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langcyrillicmodel.py +333 -0
  304. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py +225 -0
  305. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py +200 -0
  306. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py +225 -0
  307. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py +199 -0
  308. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py +193 -0
  309. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/latin1prober.py +145 -0
  310. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
  311. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +54 -0
  312. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
  313. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py +132 -0
  314. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +73 -0
  315. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
  316. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
  317. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/utf8prober.py +82 -0
  318. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/version.py +9 -0
  319. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/__init__.py +6 -0
  320. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/ansi.py +102 -0
  321. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py +258 -0
  322. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/initialise.py +80 -0
  323. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/win32.py +152 -0
  324. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/winterm.py +169 -0
  325. quarchpy/venv/Lib/site-packages/pip/_vendor/contextlib2.py +518 -0
  326. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +23 -0
  327. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -0
  328. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -0
  329. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py +764 -0
  330. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -0
  331. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +786 -0
  332. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -0
  333. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1120 -0
  334. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/database.py +1339 -0
  335. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/index.py +516 -0
  336. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/locators.py +1302 -0
  337. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/manifest.py +393 -0
  338. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/markers.py +131 -0
  339. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/metadata.py +1056 -0
  340. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/resources.py +355 -0
  341. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +419 -0
  342. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  343. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  344. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/util.py +1761 -0
  345. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/version.py +736 -0
  346. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  347. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  348. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/wheel.py +1018 -0
  349. quarchpy/venv/Lib/site-packages/pip/_vendor/distro.py +1230 -0
  350. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/__init__.py +35 -0
  351. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_ihatexml.py +289 -0
  352. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_inputstream.py +918 -0
  353. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_tokenizer.py +1735 -0
  354. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__init__.py +5 -0
  355. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_trie/_base.py +40 -0
  356. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_trie/py.py +67 -0
  357. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_utils.py +159 -0
  358. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/constants.py +2946 -0
  359. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  360. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -0
  361. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/base.py +12 -0
  362. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -0
  363. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -0
  364. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -0
  365. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +916 -0
  366. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -0
  367. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/html5parser.py +2795 -0
  368. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
  369. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
  370. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
  371. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -0
  372. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -0
  373. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/base.py +417 -0
  374. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +239 -0
  375. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +343 -0
  376. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +392 -0
  377. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -0
  378. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/base.py +252 -0
  379. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -0
  380. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +131 -0
  381. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +215 -0
  382. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +69 -0
  383. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/__init__.py +2 -0
  384. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/codec.py +118 -0
  385. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/compat.py +12 -0
  386. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/core.py +400 -0
  387. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +2050 -0
  388. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/intranges.py +53 -0
  389. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/package_data.py +2 -0
  390. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8357 -0
  391. quarchpy/venv/Lib/site-packages/pip/_vendor/ipaddress.py +2420 -0
  392. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +54 -0
  393. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/_version.py +1 -0
  394. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  395. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +191 -0
  396. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +1063 -0
  397. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/__about__.py +27 -0
  398. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +26 -0
  399. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/_compat.py +38 -0
  400. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +86 -0
  401. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/_typing.py +48 -0
  402. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/markers.py +328 -0
  403. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +151 -0
  404. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +864 -0
  405. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/tags.py +852 -0
  406. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/utils.py +67 -0
  407. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/version.py +556 -0
  408. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/__init__.py +6 -0
  409. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/_in_process.py +280 -0
  410. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/build.py +124 -0
  411. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/check.py +203 -0
  412. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/colorlog.py +115 -0
  413. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/compat.py +34 -0
  414. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/dirtools.py +44 -0
  415. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/envbuild.py +167 -0
  416. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/meta.py +92 -0
  417. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/wrappers.py +327 -0
  418. quarchpy/venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3296 -0
  419. quarchpy/venv/Lib/site-packages/pip/_vendor/pkg_resources/py31compat.py +23 -0
  420. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/__init__.py +177 -0
  421. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/bar.py +91 -0
  422. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/counter.py +41 -0
  423. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/spinner.py +43 -0
  424. quarchpy/venv/Lib/site-packages/pip/_vendor/pyparsing.py +7107 -0
  425. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/__init__.py +144 -0
  426. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  427. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
  428. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/adapters.py +533 -0
  429. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/api.py +161 -0
  430. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/auth.py +305 -0
  431. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/certs.py +18 -0
  432. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/compat.py +76 -0
  433. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/cookies.py +549 -0
  434. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +123 -0
  435. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/help.py +119 -0
  436. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/hooks.py +34 -0
  437. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/models.py +956 -0
  438. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/packages.py +16 -0
  439. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/sessions.py +781 -0
  440. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +123 -0
  441. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/structures.py +105 -0
  442. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/utils.py +988 -0
  443. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
  444. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  445. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
  446. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +119 -0
  447. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +37 -0
  448. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +454 -0
  449. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +149 -0
  450. quarchpy/venv/Lib/site-packages/pip/_vendor/retrying.py +267 -0
  451. quarchpy/venv/Lib/site-packages/pip/_vendor/six.py +982 -0
  452. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/__init__.py +25 -0
  453. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/decoder.py +1057 -0
  454. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/encoder.py +304 -0
  455. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/ordered.py +15 -0
  456. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/tz.py +24 -0
  457. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +85 -0
  458. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +337 -0
  459. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  460. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +535 -0
  461. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1067 -0
  462. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  463. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  464. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  465. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  466. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +396 -0
  467. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  468. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +121 -0
  469. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +509 -0
  470. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  471. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  472. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +313 -0
  473. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  474. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  475. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +5 -0
  476. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  477. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  478. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1021 -0
  479. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +22 -0
  480. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +160 -0
  481. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +536 -0
  482. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/request.py +170 -0
  483. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/response.py +821 -0
  484. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  485. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +150 -0
  486. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +56 -0
  487. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  488. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +143 -0
  489. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  490. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +601 -0
  491. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +474 -0
  492. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  493. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +268 -0
  494. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +430 -0
  495. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +153 -0
  496. quarchpy/venv/Lib/site-packages/pip/_vendor/vendor.txt +24 -0
  497. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
  498. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/labels.py +231 -0
  499. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
  500. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/tests.py +153 -0
  501. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
  502. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/INSTALLER +1 -0
  503. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/LICENSE.txt +20 -0
  504. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/METADATA +94 -0
  505. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/RECORD +812 -0
  506. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/WHEEL +6 -0
  507. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/entry_points.txt +5 -0
  508. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/top_level.txt +1 -0
  509. quarchpy/venv/Lib/site-packages/pip-20.3.4.virtualenv +0 -0
  510. quarchpy/venv/Lib/site-packages/pkg_resources/__init__.py +3296 -0
  511. quarchpy/venv/Lib/site-packages/pkg_resources/__init__.pyc +0 -0
  512. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  513. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/__init__.pyc +0 -0
  514. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/appdirs.py +608 -0
  515. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/appdirs.pyc +0 -0
  516. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__about__.py +21 -0
  517. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__about__.pyc +0 -0
  518. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__init__.py +14 -0
  519. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__init__.pyc +0 -0
  520. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_compat.py +30 -0
  521. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_compat.pyc +0 -0
  522. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_structures.py +68 -0
  523. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_structures.pyc +0 -0
  524. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/markers.py +301 -0
  525. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/markers.pyc +0 -0
  526. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/requirements.py +127 -0
  527. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/requirements.pyc +0 -0
  528. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/specifiers.py +774 -0
  529. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/specifiers.pyc +0 -0
  530. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/utils.py +14 -0
  531. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/version.py +393 -0
  532. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/version.pyc +0 -0
  533. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/pyparsing.py +5742 -0
  534. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/pyparsing.pyc +0 -0
  535. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/six.py +868 -0
  536. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/six.pyc +0 -0
  537. quarchpy/venv/Lib/site-packages/pkg_resources/extern/__init__.py +73 -0
  538. quarchpy/venv/Lib/site-packages/pkg_resources/extern/__init__.pyc +0 -0
  539. quarchpy/venv/Lib/site-packages/pkg_resources/py31compat.py +23 -0
  540. quarchpy/venv/Lib/site-packages/pkg_resources/py31compat.pyc +0 -0
  541. quarchpy/venv/Lib/site-packages/setuptools/__init__.py +245 -0
  542. quarchpy/venv/Lib/site-packages/setuptools/_deprecation_warning.py +7 -0
  543. quarchpy/venv/Lib/site-packages/setuptools/_imp.py +73 -0
  544. quarchpy/venv/Lib/site-packages/setuptools/_vendor/__init__.py +0 -0
  545. quarchpy/venv/Lib/site-packages/setuptools/_vendor/ordered_set.py +488 -0
  546. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/__about__.py +27 -0
  547. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +26 -0
  548. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/_compat.py +31 -0
  549. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +68 -0
  550. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +296 -0
  551. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +138 -0
  552. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +749 -0
  553. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +404 -0
  554. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +57 -0
  555. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/version.py +420 -0
  556. quarchpy/venv/Lib/site-packages/setuptools/_vendor/pyparsing.py +5742 -0
  557. quarchpy/venv/Lib/site-packages/setuptools/_vendor/six.py +868 -0
  558. quarchpy/venv/Lib/site-packages/setuptools/archive_util.py +173 -0
  559. quarchpy/venv/Lib/site-packages/setuptools/build_meta.py +264 -0
  560. quarchpy/venv/Lib/site-packages/setuptools/cli-32.exe +0 -0
  561. quarchpy/venv/Lib/site-packages/setuptools/cli-64.exe +0 -0
  562. quarchpy/venv/Lib/site-packages/setuptools/cli.exe +0 -0
  563. quarchpy/venv/Lib/site-packages/setuptools/command/__init__.py +17 -0
  564. quarchpy/venv/Lib/site-packages/setuptools/command/alias.py +80 -0
  565. quarchpy/venv/Lib/site-packages/setuptools/command/bdist_egg.py +502 -0
  566. quarchpy/venv/Lib/site-packages/setuptools/command/bdist_rpm.py +43 -0
  567. quarchpy/venv/Lib/site-packages/setuptools/command/bdist_wininst.py +21 -0
  568. quarchpy/venv/Lib/site-packages/setuptools/command/build_clib.py +98 -0
  569. quarchpy/venv/Lib/site-packages/setuptools/command/build_ext.py +327 -0
  570. quarchpy/venv/Lib/site-packages/setuptools/command/build_py.py +270 -0
  571. quarchpy/venv/Lib/site-packages/setuptools/command/develop.py +221 -0
  572. quarchpy/venv/Lib/site-packages/setuptools/command/dist_info.py +36 -0
  573. quarchpy/venv/Lib/site-packages/setuptools/command/easy_install.py +2347 -0
  574. quarchpy/venv/Lib/site-packages/setuptools/command/egg_info.py +717 -0
  575. quarchpy/venv/Lib/site-packages/setuptools/command/install.py +125 -0
  576. quarchpy/venv/Lib/site-packages/setuptools/command/install_egg_info.py +62 -0
  577. quarchpy/venv/Lib/site-packages/setuptools/command/install_lib.py +121 -0
  578. quarchpy/venv/Lib/site-packages/setuptools/command/install_scripts.py +65 -0
  579. quarchpy/venv/Lib/site-packages/setuptools/command/launcher manifest.xml +15 -0
  580. quarchpy/venv/Lib/site-packages/setuptools/command/py36compat.py +136 -0
  581. quarchpy/venv/Lib/site-packages/setuptools/command/register.py +18 -0
  582. quarchpy/venv/Lib/site-packages/setuptools/command/rotate.py +66 -0
  583. quarchpy/venv/Lib/site-packages/setuptools/command/saveopts.py +22 -0
  584. quarchpy/venv/Lib/site-packages/setuptools/command/sdist.py +252 -0
  585. quarchpy/venv/Lib/site-packages/setuptools/command/setopt.py +149 -0
  586. quarchpy/venv/Lib/site-packages/setuptools/command/test.py +279 -0
  587. quarchpy/venv/Lib/site-packages/setuptools/command/upload.py +17 -0
  588. quarchpy/venv/Lib/site-packages/setuptools/command/upload_docs.py +206 -0
  589. quarchpy/venv/Lib/site-packages/setuptools/config.py +659 -0
  590. quarchpy/venv/Lib/site-packages/setuptools/dep_util.py +23 -0
  591. quarchpy/venv/Lib/site-packages/setuptools/depends.py +176 -0
  592. quarchpy/venv/Lib/site-packages/setuptools/dist.py +1274 -0
  593. quarchpy/venv/Lib/site-packages/setuptools/errors.py +16 -0
  594. quarchpy/venv/Lib/site-packages/setuptools/extension.py +57 -0
  595. quarchpy/venv/Lib/site-packages/setuptools/extern/__init__.py +73 -0
  596. quarchpy/venv/Lib/site-packages/setuptools/glob.py +174 -0
  597. quarchpy/venv/Lib/site-packages/setuptools/gui-32.exe +0 -0
  598. quarchpy/venv/Lib/site-packages/setuptools/gui-64.exe +0 -0
  599. quarchpy/venv/Lib/site-packages/setuptools/gui.exe +0 -0
  600. quarchpy/venv/Lib/site-packages/setuptools/installer.py +150 -0
  601. quarchpy/venv/Lib/site-packages/setuptools/launch.py +35 -0
  602. quarchpy/venv/Lib/site-packages/setuptools/lib2to3_ex.py +62 -0
  603. quarchpy/venv/Lib/site-packages/setuptools/monkey.py +179 -0
  604. quarchpy/venv/Lib/site-packages/setuptools/msvc.py +1679 -0
  605. quarchpy/venv/Lib/site-packages/setuptools/namespaces.py +107 -0
  606. quarchpy/venv/Lib/site-packages/setuptools/package_index.py +1136 -0
  607. quarchpy/venv/Lib/site-packages/setuptools/py27compat.py +60 -0
  608. quarchpy/venv/Lib/site-packages/setuptools/py31compat.py +32 -0
  609. quarchpy/venv/Lib/site-packages/setuptools/py33compat.py +59 -0
  610. quarchpy/venv/Lib/site-packages/setuptools/py34compat.py +13 -0
  611. quarchpy/venv/Lib/site-packages/setuptools/sandbox.py +491 -0
  612. quarchpy/venv/Lib/site-packages/setuptools/script (dev).tmpl +6 -0
  613. quarchpy/venv/Lib/site-packages/setuptools/script.tmpl +3 -0
  614. quarchpy/venv/Lib/site-packages/setuptools/site-patch.py +74 -0
  615. quarchpy/venv/Lib/site-packages/setuptools/ssl_support.py +260 -0
  616. quarchpy/venv/Lib/site-packages/setuptools/unicode_utils.py +44 -0
  617. quarchpy/venv/Lib/site-packages/setuptools/version.py +6 -0
  618. quarchpy/venv/Lib/site-packages/setuptools/wheel.py +220 -0
  619. quarchpy/venv/Lib/site-packages/setuptools/windows_support.py +29 -0
  620. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/INSTALLER +1 -0
  621. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/LICENSE +19 -0
  622. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/METADATA +86 -0
  623. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/RECORD +207 -0
  624. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/WHEEL +6 -0
  625. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/dependency_links.txt +2 -0
  626. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/entry_points.txt +69 -0
  627. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/top_level.txt +3 -0
  628. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/zip-safe +1 -0
  629. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.virtualenv +0 -0
  630. quarchpy/venv/Lib/site-packages/wheel/__init__.py +1 -0
  631. quarchpy/venv/Lib/site-packages/wheel/__main__.py +19 -0
  632. quarchpy/venv/Lib/site-packages/wheel/bdist_wheel.py +492 -0
  633. quarchpy/venv/Lib/site-packages/wheel/cli/__init__.py +88 -0
  634. quarchpy/venv/Lib/site-packages/wheel/cli/convert.py +269 -0
  635. quarchpy/venv/Lib/site-packages/wheel/cli/pack.py +82 -0
  636. quarchpy/venv/Lib/site-packages/wheel/cli/unpack.py +25 -0
  637. quarchpy/venv/Lib/site-packages/wheel/macosx_libfile.py +428 -0
  638. quarchpy/venv/Lib/site-packages/wheel/metadata.py +133 -0
  639. quarchpy/venv/Lib/site-packages/wheel/pkginfo.py +43 -0
  640. quarchpy/venv/Lib/site-packages/wheel/util.py +46 -0
  641. quarchpy/venv/Lib/site-packages/wheel/vendored/__init__.py +0 -0
  642. quarchpy/venv/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
  643. quarchpy/venv/Lib/site-packages/wheel/vendored/packaging/_typing.py +48 -0
  644. quarchpy/venv/Lib/site-packages/wheel/vendored/packaging/tags.py +866 -0
  645. quarchpy/venv/Lib/site-packages/wheel/wheelfile.py +181 -0
  646. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/INSTALLER +1 -0
  647. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/LICENSE.txt +22 -0
  648. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/METADATA +69 -0
  649. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/RECORD +49 -0
  650. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/WHEEL +6 -0
  651. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/entry_points.txt +6 -0
  652. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/top_level.txt +1 -0
  653. quarchpy/venv/Lib/site-packages/wheel-0.37.1.virtualenv +0 -0
  654. quarchpy/venv/Lib/site.py +190 -0
  655. quarchpy/venv/Lib/site.pyc +0 -0
  656. quarchpy/venv/Scripts/activate +83 -0
  657. quarchpy/venv/Scripts/activate.bat +39 -0
  658. quarchpy/venv/Scripts/activate.fish +100 -0
  659. quarchpy/venv/Scripts/activate.nu +41 -0
  660. quarchpy/venv/Scripts/activate.ps1 +60 -0
  661. quarchpy/venv/Scripts/activate_this.py +32 -0
  662. quarchpy/venv/Scripts/deactivate.bat +19 -0
  663. quarchpy/venv/Scripts/deactivate.nu +11 -0
  664. quarchpy/venv/Scripts/easy_install-2.7.exe +0 -0
  665. quarchpy/venv/Scripts/easy_install.exe +0 -0
  666. quarchpy/venv/Scripts/easy_install2.7.exe +0 -0
  667. quarchpy/venv/Scripts/easy_install2.exe +0 -0
  668. quarchpy/venv/Scripts/pip-2.7.exe +0 -0
  669. quarchpy/venv/Scripts/pip.exe +0 -0
  670. quarchpy/venv/Scripts/pip2.7.exe +0 -0
  671. quarchpy/venv/Scripts/pip2.exe +0 -0
  672. quarchpy/venv/Scripts/pydoc.bat +1 -0
  673. quarchpy/venv/Scripts/python.exe +0 -0
  674. quarchpy/venv/Scripts/python27.dll +0 -0
  675. quarchpy/venv/Scripts/pythonw.exe +0 -0
  676. quarchpy/venv/Scripts/wheel-2.7.exe +0 -0
  677. quarchpy/venv/Scripts/wheel.exe +0 -0
  678. quarchpy/venv/Scripts/wheel2.7.exe +0 -0
  679. quarchpy/venv/Scripts/wheel2.exe +0 -0
  680. quarchpy/venv/libs/_bsddb.lib +0 -0
  681. quarchpy/venv/libs/_ctypes.lib +0 -0
  682. quarchpy/venv/libs/_ctypes_test.lib +0 -0
  683. quarchpy/venv/libs/_elementtree.lib +0 -0
  684. quarchpy/venv/libs/_hashlib.lib +0 -0
  685. quarchpy/venv/libs/_msi.lib +0 -0
  686. quarchpy/venv/libs/_multiprocessing.lib +0 -0
  687. quarchpy/venv/libs/_socket.lib +0 -0
  688. quarchpy/venv/libs/_sqlite3.lib +0 -0
  689. quarchpy/venv/libs/_ssl.lib +0 -0
  690. quarchpy/venv/libs/_testcapi.lib +0 -0
  691. quarchpy/venv/libs/_tkinter.lib +0 -0
  692. quarchpy/venv/libs/bz2.lib +0 -0
  693. quarchpy/venv/libs/libpython27.a +0 -0
  694. quarchpy/venv/libs/pyexpat.lib +0 -0
  695. quarchpy/venv/libs/python27.lib +0 -0
  696. quarchpy/venv/libs/select.lib +0 -0
  697. quarchpy/venv/libs/unicodedata.lib +0 -0
  698. quarchpy/venv/libs/winsound.lib +0 -0
  699. quarchpy/venv/pyvenv.cfg +8 -0
  700. {quarchpy-2.1.14.dev4.dist-info → quarchpy-2.1.14.dev5.dist-info}/METADATA +1 -1
  701. quarchpy-2.1.14.dev5.dist-info/RECORD +1219 -0
  702. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.02.jar +0 -0
  703. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.8.jar +0 -0
  704. quarchpy/connection_specific/QPS/qis/qis_lib/Collections-1.2.jar +0 -0
  705. quarchpy/connection_specific/QPS/qis/qis_lib/Desktop-1.0.jar +0 -0
  706. quarchpy/connection_specific/QPS/qis/qis_lib/Executor-3.11.jar +0 -0
  707. quarchpy/connection_specific/QPS/qis/qis_lib/JNA-1.0.jar +0 -0
  708. quarchpy/connection_specific/QPS/qis/qis_lib/OS-1.6.jar +0 -0
  709. quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.9.jar +0 -0
  710. quarchpy/connection_specific/QPS/qis/qis_lib/SystemTray-4.2.1.jar +0 -0
  711. quarchpy/connection_specific/QPS/qis/qis_lib/Updates-1.1.jar +0 -0
  712. quarchpy/connection_specific/QPS/qis/qis_lib/Utilities-1.39.jar +0 -0
  713. quarchpy/connection_specific/QPS/qis/qis_lib/commons-csv-1.8.jar +0 -0
  714. quarchpy/connection_specific/QPS/qis/qis_lib/javassist-3.29.2-GA.jar +0 -0
  715. quarchpy/connection_specific/QPS/qis/qis_lib/jna-jpms-5.12.1.jar +0 -0
  716. quarchpy/connection_specific/QPS/qis/qis_lib/jna-platform-jpms-5.12.1.jar +0 -0
  717. quarchpy/connection_specific/QPS/qis/qis_lib/kotlin-stdlib-1.7.22.jar +0 -0
  718. quarchpy/connection_specific/QPS/qis/qis_lib/slf4j-api-2.0.9.jar +0 -0
  719. quarchpy/connection_specific/QPS/qis/qis_lib/slf4j-simple-2.0.9.jar +0 -0
  720. quarchpy/connection_specific/QPS/qis/resources/filters/filters.csv +0 -1004
  721. quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.9.jar +0 -0
  722. quarchpy/connection_specific/QPS/qps_lib/commons-lang3-3.12.0.jar +0 -0
  723. quarchpy/connection_specific/QPS/qps_lib/opencsv-5.9.jar +0 -0
  724. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.4.jar +0 -0
  725. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.5.jar +0 -0
  726. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.6.jar +0 -0
  727. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.7.jar +0 -0
  728. quarchpy-2.1.14.dev4.dist-info/RECORD +0 -561
  729. {quarchpy-2.1.14.dev4.dist-info → quarchpy-2.1.14.dev5.dist-info}/WHEEL +0 -0
  730. {quarchpy-2.1.14.dev4.dist-info → quarchpy-2.1.14.dev5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,252 @@
1
+ from __future__ import absolute_import, division, unicode_literals
2
+
3
+ from xml.dom import Node
4
+ from ..constants import namespaces, voidElements, spaceCharacters
5
+
6
+ __all__ = ["DOCUMENT", "DOCTYPE", "TEXT", "ELEMENT", "COMMENT", "ENTITY", "UNKNOWN",
7
+ "TreeWalker", "NonRecursiveTreeWalker"]
8
+
9
+ DOCUMENT = Node.DOCUMENT_NODE
10
+ DOCTYPE = Node.DOCUMENT_TYPE_NODE
11
+ TEXT = Node.TEXT_NODE
12
+ ELEMENT = Node.ELEMENT_NODE
13
+ COMMENT = Node.COMMENT_NODE
14
+ ENTITY = Node.ENTITY_NODE
15
+ UNKNOWN = "<#UNKNOWN#>"
16
+
17
+ spaceCharacters = "".join(spaceCharacters)
18
+
19
+
20
+ class TreeWalker(object):
21
+ """Walks a tree yielding tokens
22
+
23
+ Tokens are dicts that all have a ``type`` field specifying the type of the
24
+ token.
25
+
26
+ """
27
+ def __init__(self, tree):
28
+ """Creates a TreeWalker
29
+
30
+ :arg tree: the tree to walk
31
+
32
+ """
33
+ self.tree = tree
34
+
35
+ def __iter__(self):
36
+ raise NotImplementedError
37
+
38
+ def error(self, msg):
39
+ """Generates an error token with the given message
40
+
41
+ :arg msg: the error message
42
+
43
+ :returns: SerializeError token
44
+
45
+ """
46
+ return {"type": "SerializeError", "data": msg}
47
+
48
+ def emptyTag(self, namespace, name, attrs, hasChildren=False):
49
+ """Generates an EmptyTag token
50
+
51
+ :arg namespace: the namespace of the token--can be ``None``
52
+
53
+ :arg name: the name of the element
54
+
55
+ :arg attrs: the attributes of the element as a dict
56
+
57
+ :arg hasChildren: whether or not to yield a SerializationError because
58
+ this tag shouldn't have children
59
+
60
+ :returns: EmptyTag token
61
+
62
+ """
63
+ yield {"type": "EmptyTag", "name": name,
64
+ "namespace": namespace,
65
+ "data": attrs}
66
+ if hasChildren:
67
+ yield self.error("Void element has children")
68
+
69
+ def startTag(self, namespace, name, attrs):
70
+ """Generates a StartTag token
71
+
72
+ :arg namespace: the namespace of the token--can be ``None``
73
+
74
+ :arg name: the name of the element
75
+
76
+ :arg attrs: the attributes of the element as a dict
77
+
78
+ :returns: StartTag token
79
+
80
+ """
81
+ return {"type": "StartTag",
82
+ "name": name,
83
+ "namespace": namespace,
84
+ "data": attrs}
85
+
86
+ def endTag(self, namespace, name):
87
+ """Generates an EndTag token
88
+
89
+ :arg namespace: the namespace of the token--can be ``None``
90
+
91
+ :arg name: the name of the element
92
+
93
+ :returns: EndTag token
94
+
95
+ """
96
+ return {"type": "EndTag",
97
+ "name": name,
98
+ "namespace": namespace}
99
+
100
+ def text(self, data):
101
+ """Generates SpaceCharacters and Characters tokens
102
+
103
+ Depending on what's in the data, this generates one or more
104
+ ``SpaceCharacters`` and ``Characters`` tokens.
105
+
106
+ For example:
107
+
108
+ >>> from html5lib.treewalkers.base import TreeWalker
109
+ >>> # Give it an empty tree just so it instantiates
110
+ >>> walker = TreeWalker([])
111
+ >>> list(walker.text(''))
112
+ []
113
+ >>> list(walker.text(' '))
114
+ [{u'data': ' ', u'type': u'SpaceCharacters'}]
115
+ >>> list(walker.text(' abc ')) # doctest: +NORMALIZE_WHITESPACE
116
+ [{u'data': ' ', u'type': u'SpaceCharacters'},
117
+ {u'data': u'abc', u'type': u'Characters'},
118
+ {u'data': u' ', u'type': u'SpaceCharacters'}]
119
+
120
+ :arg data: the text data
121
+
122
+ :returns: one or more ``SpaceCharacters`` and ``Characters`` tokens
123
+
124
+ """
125
+ data = data
126
+ middle = data.lstrip(spaceCharacters)
127
+ left = data[:len(data) - len(middle)]
128
+ if left:
129
+ yield {"type": "SpaceCharacters", "data": left}
130
+ data = middle
131
+ middle = data.rstrip(spaceCharacters)
132
+ right = data[len(middle):]
133
+ if middle:
134
+ yield {"type": "Characters", "data": middle}
135
+ if right:
136
+ yield {"type": "SpaceCharacters", "data": right}
137
+
138
+ def comment(self, data):
139
+ """Generates a Comment token
140
+
141
+ :arg data: the comment
142
+
143
+ :returns: Comment token
144
+
145
+ """
146
+ return {"type": "Comment", "data": data}
147
+
148
+ def doctype(self, name, publicId=None, systemId=None):
149
+ """Generates a Doctype token
150
+
151
+ :arg name:
152
+
153
+ :arg publicId:
154
+
155
+ :arg systemId:
156
+
157
+ :returns: the Doctype token
158
+
159
+ """
160
+ return {"type": "Doctype",
161
+ "name": name,
162
+ "publicId": publicId,
163
+ "systemId": systemId}
164
+
165
+ def entity(self, name):
166
+ """Generates an Entity token
167
+
168
+ :arg name: the entity name
169
+
170
+ :returns: an Entity token
171
+
172
+ """
173
+ return {"type": "Entity", "name": name}
174
+
175
+ def unknown(self, nodeType):
176
+ """Handles unknown node types"""
177
+ return self.error("Unknown node type: " + nodeType)
178
+
179
+
180
+ class NonRecursiveTreeWalker(TreeWalker):
181
+ def getNodeDetails(self, node):
182
+ raise NotImplementedError
183
+
184
+ def getFirstChild(self, node):
185
+ raise NotImplementedError
186
+
187
+ def getNextSibling(self, node):
188
+ raise NotImplementedError
189
+
190
+ def getParentNode(self, node):
191
+ raise NotImplementedError
192
+
193
+ def __iter__(self):
194
+ currentNode = self.tree
195
+ while currentNode is not None:
196
+ details = self.getNodeDetails(currentNode)
197
+ type, details = details[0], details[1:]
198
+ hasChildren = False
199
+
200
+ if type == DOCTYPE:
201
+ yield self.doctype(*details)
202
+
203
+ elif type == TEXT:
204
+ for token in self.text(*details):
205
+ yield token
206
+
207
+ elif type == ELEMENT:
208
+ namespace, name, attributes, hasChildren = details
209
+ if (not namespace or namespace == namespaces["html"]) and name in voidElements:
210
+ for token in self.emptyTag(namespace, name, attributes,
211
+ hasChildren):
212
+ yield token
213
+ hasChildren = False
214
+ else:
215
+ yield self.startTag(namespace, name, attributes)
216
+
217
+ elif type == COMMENT:
218
+ yield self.comment(details[0])
219
+
220
+ elif type == ENTITY:
221
+ yield self.entity(details[0])
222
+
223
+ elif type == DOCUMENT:
224
+ hasChildren = True
225
+
226
+ else:
227
+ yield self.unknown(details[0])
228
+
229
+ if hasChildren:
230
+ firstChild = self.getFirstChild(currentNode)
231
+ else:
232
+ firstChild = None
233
+
234
+ if firstChild is not None:
235
+ currentNode = firstChild
236
+ else:
237
+ while currentNode is not None:
238
+ details = self.getNodeDetails(currentNode)
239
+ type, details = details[0], details[1:]
240
+ if type == ELEMENT:
241
+ namespace, name, attributes, hasChildren = details
242
+ if (namespace and namespace != namespaces["html"]) or name not in voidElements:
243
+ yield self.endTag(namespace, name)
244
+ if self.tree is currentNode:
245
+ currentNode = None
246
+ break
247
+ nextSibling = self.getNextSibling(currentNode)
248
+ if nextSibling is not None:
249
+ currentNode = nextSibling
250
+ break
251
+ else:
252
+ currentNode = self.getParentNode(currentNode)
@@ -0,0 +1,43 @@
1
+ from __future__ import absolute_import, division, unicode_literals
2
+
3
+ from xml.dom import Node
4
+
5
+ from . import base
6
+
7
+
8
+ class TreeWalker(base.NonRecursiveTreeWalker):
9
+ def getNodeDetails(self, node):
10
+ if node.nodeType == Node.DOCUMENT_TYPE_NODE:
11
+ return base.DOCTYPE, node.name, node.publicId, node.systemId
12
+
13
+ elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE):
14
+ return base.TEXT, node.nodeValue
15
+
16
+ elif node.nodeType == Node.ELEMENT_NODE:
17
+ attrs = {}
18
+ for attr in list(node.attributes.keys()):
19
+ attr = node.getAttributeNode(attr)
20
+ if attr.namespaceURI:
21
+ attrs[(attr.namespaceURI, attr.localName)] = attr.value
22
+ else:
23
+ attrs[(None, attr.name)] = attr.value
24
+ return (base.ELEMENT, node.namespaceURI, node.nodeName,
25
+ attrs, node.hasChildNodes())
26
+
27
+ elif node.nodeType == Node.COMMENT_NODE:
28
+ return base.COMMENT, node.nodeValue
29
+
30
+ elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE):
31
+ return (base.DOCUMENT,)
32
+
33
+ else:
34
+ return base.UNKNOWN, node.nodeType
35
+
36
+ def getFirstChild(self, node):
37
+ return node.firstChild
38
+
39
+ def getNextSibling(self, node):
40
+ return node.nextSibling
41
+
42
+ def getParentNode(self, node):
43
+ return node.parentNode
@@ -0,0 +1,131 @@
1
+ from __future__ import absolute_import, division, unicode_literals
2
+
3
+ from collections import OrderedDict
4
+ import re
5
+
6
+ from pip._vendor.six import string_types
7
+
8
+ from . import base
9
+ from .._utils import moduleFactoryFactory
10
+
11
+ tag_regexp = re.compile("{([^}]*)}(.*)")
12
+
13
+
14
+ def getETreeBuilder(ElementTreeImplementation):
15
+ ElementTree = ElementTreeImplementation
16
+ ElementTreeCommentType = ElementTree.Comment("asd").tag
17
+
18
+ class TreeWalker(base.NonRecursiveTreeWalker): # pylint:disable=unused-variable
19
+ """Given the particular ElementTree representation, this implementation,
20
+ to avoid using recursion, returns "nodes" as tuples with the following
21
+ content:
22
+
23
+ 1. The current element
24
+
25
+ 2. The index of the element relative to its parent
26
+
27
+ 3. A stack of ancestor elements
28
+
29
+ 4. A flag "text", "tail" or None to indicate if the current node is a
30
+ text node; either the text or tail of the current element (1)
31
+ """
32
+ def getNodeDetails(self, node):
33
+ if isinstance(node, tuple): # It might be the root Element
34
+ elt, _, _, flag = node
35
+ if flag in ("text", "tail"):
36
+ return base.TEXT, getattr(elt, flag)
37
+ else:
38
+ node = elt
39
+
40
+ if not(hasattr(node, "tag")):
41
+ node = node.getroot()
42
+
43
+ if node.tag in ("DOCUMENT_ROOT", "DOCUMENT_FRAGMENT"):
44
+ return (base.DOCUMENT,)
45
+
46
+ elif node.tag == "<!DOCTYPE>":
47
+ return (base.DOCTYPE, node.text,
48
+ node.get("publicId"), node.get("systemId"))
49
+
50
+ elif node.tag == ElementTreeCommentType:
51
+ return base.COMMENT, node.text
52
+
53
+ else:
54
+ assert isinstance(node.tag, string_types), type(node.tag)
55
+ # This is assumed to be an ordinary element
56
+ match = tag_regexp.match(node.tag)
57
+ if match:
58
+ namespace, tag = match.groups()
59
+ else:
60
+ namespace = None
61
+ tag = node.tag
62
+ attrs = OrderedDict()
63
+ for name, value in list(node.attrib.items()):
64
+ match = tag_regexp.match(name)
65
+ if match:
66
+ attrs[(match.group(1), match.group(2))] = value
67
+ else:
68
+ attrs[(None, name)] = value
69
+ return (base.ELEMENT, namespace, tag,
70
+ attrs, len(node) or node.text)
71
+
72
+ def getFirstChild(self, node):
73
+ if isinstance(node, tuple):
74
+ element, key, parents, flag = node
75
+ else:
76
+ element, key, parents, flag = node, None, [], None
77
+
78
+ if flag in ("text", "tail"):
79
+ return None
80
+ else:
81
+ if element.text:
82
+ return element, key, parents, "text"
83
+ elif len(element):
84
+ parents.append(element)
85
+ return element[0], 0, parents, None
86
+ else:
87
+ return None
88
+
89
+ def getNextSibling(self, node):
90
+ if isinstance(node, tuple):
91
+ element, key, parents, flag = node
92
+ else:
93
+ return None
94
+
95
+ if flag == "text":
96
+ if len(element):
97
+ parents.append(element)
98
+ return element[0], 0, parents, None
99
+ else:
100
+ return None
101
+ else:
102
+ if element.tail and flag != "tail":
103
+ return element, key, parents, "tail"
104
+ elif key < len(parents[-1]) - 1:
105
+ return parents[-1][key + 1], key + 1, parents, None
106
+ else:
107
+ return None
108
+
109
+ def getParentNode(self, node):
110
+ if isinstance(node, tuple):
111
+ element, key, parents, flag = node
112
+ else:
113
+ return None
114
+
115
+ if flag == "text":
116
+ if not parents:
117
+ return element
118
+ else:
119
+ return element, key, parents, None
120
+ else:
121
+ parent = parents.pop()
122
+ if not parents:
123
+ return parent
124
+ else:
125
+ assert list(parents[-1]).count(parent) == 1
126
+ return parent, list(parents[-1]).index(parent), parents, None
127
+
128
+ return locals()
129
+
130
+
131
+ getETreeModule = moduleFactoryFactory(getETreeBuilder)
@@ -0,0 +1,215 @@
1
+ from __future__ import absolute_import, division, unicode_literals
2
+ from pip._vendor.six import text_type
3
+
4
+ from collections import OrderedDict
5
+
6
+ from lxml import etree
7
+ from ..treebuilders.etree import tag_regexp
8
+
9
+ from . import base
10
+
11
+ from .. import _ihatexml
12
+
13
+
14
+ def ensure_str(s):
15
+ if s is None:
16
+ return None
17
+ elif isinstance(s, text_type):
18
+ return s
19
+ else:
20
+ return s.decode("ascii", "strict")
21
+
22
+
23
+ class Root(object):
24
+ def __init__(self, et):
25
+ self.elementtree = et
26
+ self.children = []
27
+
28
+ try:
29
+ if et.docinfo.internalDTD:
30
+ self.children.append(Doctype(self,
31
+ ensure_str(et.docinfo.root_name),
32
+ ensure_str(et.docinfo.public_id),
33
+ ensure_str(et.docinfo.system_url)))
34
+ except AttributeError:
35
+ pass
36
+
37
+ try:
38
+ node = et.getroot()
39
+ except AttributeError:
40
+ node = et
41
+
42
+ while node.getprevious() is not None:
43
+ node = node.getprevious()
44
+ while node is not None:
45
+ self.children.append(node)
46
+ node = node.getnext()
47
+
48
+ self.text = None
49
+ self.tail = None
50
+
51
+ def __getitem__(self, key):
52
+ return self.children[key]
53
+
54
+ def getnext(self):
55
+ return None
56
+
57
+ def __len__(self):
58
+ return 1
59
+
60
+
61
+ class Doctype(object):
62
+ def __init__(self, root_node, name, public_id, system_id):
63
+ self.root_node = root_node
64
+ self.name = name
65
+ self.public_id = public_id
66
+ self.system_id = system_id
67
+
68
+ self.text = None
69
+ self.tail = None
70
+
71
+ def getnext(self):
72
+ return self.root_node.children[1]
73
+
74
+
75
+ class FragmentRoot(Root):
76
+ def __init__(self, children):
77
+ self.children = [FragmentWrapper(self, child) for child in children]
78
+ self.text = self.tail = None
79
+
80
+ def getnext(self):
81
+ return None
82
+
83
+
84
+ class FragmentWrapper(object):
85
+ def __init__(self, fragment_root, obj):
86
+ self.root_node = fragment_root
87
+ self.obj = obj
88
+ if hasattr(self.obj, 'text'):
89
+ self.text = ensure_str(self.obj.text)
90
+ else:
91
+ self.text = None
92
+ if hasattr(self.obj, 'tail'):
93
+ self.tail = ensure_str(self.obj.tail)
94
+ else:
95
+ self.tail = None
96
+
97
+ def __getattr__(self, name):
98
+ return getattr(self.obj, name)
99
+
100
+ def getnext(self):
101
+ siblings = self.root_node.children
102
+ idx = siblings.index(self)
103
+ if idx < len(siblings) - 1:
104
+ return siblings[idx + 1]
105
+ else:
106
+ return None
107
+
108
+ def __getitem__(self, key):
109
+ return self.obj[key]
110
+
111
+ def __bool__(self):
112
+ return bool(self.obj)
113
+
114
+ def getparent(self):
115
+ return None
116
+
117
+ def __str__(self):
118
+ return str(self.obj)
119
+
120
+ def __unicode__(self):
121
+ return str(self.obj)
122
+
123
+ def __len__(self):
124
+ return len(self.obj)
125
+
126
+
127
+ class TreeWalker(base.NonRecursiveTreeWalker):
128
+ def __init__(self, tree):
129
+ # pylint:disable=redefined-variable-type
130
+ if isinstance(tree, list):
131
+ self.fragmentChildren = set(tree)
132
+ tree = FragmentRoot(tree)
133
+ else:
134
+ self.fragmentChildren = set()
135
+ tree = Root(tree)
136
+ base.NonRecursiveTreeWalker.__init__(self, tree)
137
+ self.filter = _ihatexml.InfosetFilter()
138
+
139
+ def getNodeDetails(self, node):
140
+ if isinstance(node, tuple): # Text node
141
+ node, key = node
142
+ assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key
143
+ return base.TEXT, ensure_str(getattr(node, key))
144
+
145
+ elif isinstance(node, Root):
146
+ return (base.DOCUMENT,)
147
+
148
+ elif isinstance(node, Doctype):
149
+ return base.DOCTYPE, node.name, node.public_id, node.system_id
150
+
151
+ elif isinstance(node, FragmentWrapper) and not hasattr(node, "tag"):
152
+ return base.TEXT, ensure_str(node.obj)
153
+
154
+ elif node.tag == etree.Comment:
155
+ return base.COMMENT, ensure_str(node.text)
156
+
157
+ elif node.tag == etree.Entity:
158
+ return base.ENTITY, ensure_str(node.text)[1:-1] # strip &;
159
+
160
+ else:
161
+ # This is assumed to be an ordinary element
162
+ match = tag_regexp.match(ensure_str(node.tag))
163
+ if match:
164
+ namespace, tag = match.groups()
165
+ else:
166
+ namespace = None
167
+ tag = ensure_str(node.tag)
168
+ attrs = OrderedDict()
169
+ for name, value in list(node.attrib.items()):
170
+ name = ensure_str(name)
171
+ value = ensure_str(value)
172
+ match = tag_regexp.match(name)
173
+ if match:
174
+ attrs[(match.group(1), match.group(2))] = value
175
+ else:
176
+ attrs[(None, name)] = value
177
+ return (base.ELEMENT, namespace, self.filter.fromXmlName(tag),
178
+ attrs, len(node) > 0 or node.text)
179
+
180
+ def getFirstChild(self, node):
181
+ assert not isinstance(node, tuple), "Text nodes have no children"
182
+
183
+ assert len(node) or node.text, "Node has no children"
184
+ if node.text:
185
+ return (node, "text")
186
+ else:
187
+ return node[0]
188
+
189
+ def getNextSibling(self, node):
190
+ if isinstance(node, tuple): # Text node
191
+ node, key = node
192
+ assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key
193
+ if key == "text":
194
+ # XXX: we cannot use a "bool(node) and node[0] or None" construct here
195
+ # because node[0] might evaluate to False if it has no child element
196
+ if len(node):
197
+ return node[0]
198
+ else:
199
+ return None
200
+ else: # tail
201
+ return node.getnext()
202
+
203
+ return (node, "tail") if node.tail else node.getnext()
204
+
205
+ def getParentNode(self, node):
206
+ if isinstance(node, tuple): # Text node
207
+ node, key = node
208
+ assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key
209
+ if key == "text":
210
+ return node
211
+ # else: fallback to "normal" processing
212
+ elif node in self.fragmentChildren:
213
+ return None
214
+
215
+ return node.getparent()
@@ -0,0 +1,69 @@
1
+ from __future__ import absolute_import, division, unicode_literals
2
+
3
+ from genshi.core import QName
4
+ from genshi.core import START, END, XML_NAMESPACE, DOCTYPE, TEXT
5
+ from genshi.core import START_NS, END_NS, START_CDATA, END_CDATA, PI, COMMENT
6
+
7
+ from . import base
8
+
9
+ from ..constants import voidElements, namespaces
10
+
11
+
12
+ class TreeWalker(base.TreeWalker):
13
+ def __iter__(self):
14
+ # Buffer the events so we can pass in the following one
15
+ previous = None
16
+ for event in self.tree:
17
+ if previous is not None:
18
+ for token in self.tokens(previous, event):
19
+ yield token
20
+ previous = event
21
+
22
+ # Don't forget the final event!
23
+ if previous is not None:
24
+ for token in self.tokens(previous, None):
25
+ yield token
26
+
27
+ def tokens(self, event, next):
28
+ kind, data, _ = event
29
+ if kind == START:
30
+ tag, attribs = data
31
+ name = tag.localname
32
+ namespace = tag.namespace
33
+ converted_attribs = {}
34
+ for k, v in attribs:
35
+ if isinstance(k, QName):
36
+ converted_attribs[(k.namespace, k.localname)] = v
37
+ else:
38
+ converted_attribs[(None, k)] = v
39
+
40
+ if namespace == namespaces["html"] and name in voidElements:
41
+ for token in self.emptyTag(namespace, name, converted_attribs,
42
+ not next or next[0] != END or
43
+ next[1] != tag):
44
+ yield token
45
+ else:
46
+ yield self.startTag(namespace, name, converted_attribs)
47
+
48
+ elif kind == END:
49
+ name = data.localname
50
+ namespace = data.namespace
51
+ if namespace != namespaces["html"] or name not in voidElements:
52
+ yield self.endTag(namespace, name)
53
+
54
+ elif kind == COMMENT:
55
+ yield self.comment(data)
56
+
57
+ elif kind == TEXT:
58
+ for token in self.text(data):
59
+ yield token
60
+
61
+ elif kind == DOCTYPE:
62
+ yield self.doctype(*data)
63
+
64
+ elif kind in (XML_NAMESPACE, DOCTYPE, START_NS, END_NS,
65
+ START_CDATA, END_CDATA, PI):
66
+ pass
67
+
68
+ else:
69
+ yield self.unknown(kind)