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,31 @@
1
+ #ifndef PYCTYPE_H
2
+ #define PYCTYPE_H
3
+
4
+ #define PY_CTF_LOWER 0x01
5
+ #define PY_CTF_UPPER 0x02
6
+ #define PY_CTF_ALPHA (PY_CTF_LOWER|PY_CTF_UPPER)
7
+ #define PY_CTF_DIGIT 0x04
8
+ #define PY_CTF_ALNUM (PY_CTF_ALPHA|PY_CTF_DIGIT)
9
+ #define PY_CTF_SPACE 0x08
10
+ #define PY_CTF_XDIGIT 0x10
11
+
12
+ PyAPI_DATA(const unsigned int) _Py_ctype_table[256];
13
+
14
+ /* Unlike their C counterparts, the following macros are not meant to
15
+ * handle an int with any of the values [EOF, 0-UCHAR_MAX]. The argument
16
+ * must be a signed/unsigned char. */
17
+ #define Py_ISLOWER(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_LOWER)
18
+ #define Py_ISUPPER(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_UPPER)
19
+ #define Py_ISALPHA(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALPHA)
20
+ #define Py_ISDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_DIGIT)
21
+ #define Py_ISXDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_XDIGIT)
22
+ #define Py_ISALNUM(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALNUM)
23
+ #define Py_ISSPACE(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_SPACE)
24
+
25
+ PyAPI_DATA(const unsigned char) _Py_ctype_tolower[256];
26
+ PyAPI_DATA(const unsigned char) _Py_ctype_toupper[256];
27
+
28
+ #define Py_TOLOWER(c) (_Py_ctype_tolower[Py_CHARMASK(c)])
29
+ #define Py_TOUPPER(c) (_Py_ctype_toupper[Py_CHARMASK(c)])
30
+
31
+ #endif /* !PYCTYPE_H */
@@ -0,0 +1,41 @@
1
+
2
+ #ifndef Py_PYDEBUG_H
3
+ #define Py_PYDEBUG_H
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ PyAPI_DATA(int) Py_DebugFlag;
9
+ PyAPI_DATA(int) Py_VerboseFlag;
10
+ PyAPI_DATA(int) Py_InteractiveFlag;
11
+ PyAPI_DATA(int) Py_InspectFlag;
12
+ PyAPI_DATA(int) Py_OptimizeFlag;
13
+ PyAPI_DATA(int) Py_NoSiteFlag;
14
+ PyAPI_DATA(int) Py_BytesWarningFlag;
15
+ PyAPI_DATA(int) Py_UseClassExceptionsFlag;
16
+ PyAPI_DATA(int) Py_FrozenFlag;
17
+ PyAPI_DATA(int) Py_TabcheckFlag;
18
+ PyAPI_DATA(int) Py_UnicodeFlag;
19
+ PyAPI_DATA(int) Py_IgnoreEnvironmentFlag;
20
+ PyAPI_DATA(int) Py_DivisionWarningFlag;
21
+ PyAPI_DATA(int) Py_DontWriteBytecodeFlag;
22
+ PyAPI_DATA(int) Py_NoUserSiteDirectory;
23
+ /* _XXX Py_QnewFlag should go away in 3.0. It's true iff -Qnew is passed,
24
+ on the command line, and is used in 2.2 by ceval.c to make all "/" divisions
25
+ true divisions (which they will be in 3.0). */
26
+ PyAPI_DATA(int) _Py_QnewFlag;
27
+ /* Warn about 3.x issues */
28
+ PyAPI_DATA(int) Py_Py3kWarningFlag;
29
+ PyAPI_DATA(int) Py_HashRandomizationFlag;
30
+
31
+ /* this is a wrapper around getenv() that pays attention to
32
+ Py_IgnoreEnvironmentFlag. It should be used for getting variables like
33
+ PYTHONPATH and PYTHONHOME from the environment */
34
+ #define Py_GETENV(s) (Py_IgnoreEnvironmentFlag ? NULL : getenv(s))
35
+
36
+ PyAPI_FUNC(void) Py_FatalError(const char *message);
37
+
38
+ #ifdef __cplusplus
39
+ }
40
+ #endif
41
+ #endif /* !Py_PYDEBUG_H */
@@ -0,0 +1,329 @@
1
+ #ifndef Py_ERRORS_H
2
+ #define Py_ERRORS_H
3
+ #ifdef __cplusplus
4
+ extern "C" {
5
+ #endif
6
+
7
+ /* Error objects */
8
+
9
+ typedef struct {
10
+ PyObject_HEAD
11
+ PyObject *dict;
12
+ PyObject *args;
13
+ PyObject *message;
14
+ } PyBaseExceptionObject;
15
+
16
+ typedef struct {
17
+ PyObject_HEAD
18
+ PyObject *dict;
19
+ PyObject *args;
20
+ PyObject *message;
21
+ PyObject *msg;
22
+ PyObject *filename;
23
+ PyObject *lineno;
24
+ PyObject *offset;
25
+ PyObject *text;
26
+ PyObject *print_file_and_line;
27
+ } PySyntaxErrorObject;
28
+
29
+ #ifdef Py_USING_UNICODE
30
+ typedef struct {
31
+ PyObject_HEAD
32
+ PyObject *dict;
33
+ PyObject *args;
34
+ PyObject *message;
35
+ PyObject *encoding;
36
+ PyObject *object;
37
+ Py_ssize_t start;
38
+ Py_ssize_t end;
39
+ PyObject *reason;
40
+ } PyUnicodeErrorObject;
41
+ #endif
42
+
43
+ typedef struct {
44
+ PyObject_HEAD
45
+ PyObject *dict;
46
+ PyObject *args;
47
+ PyObject *message;
48
+ PyObject *code;
49
+ } PySystemExitObject;
50
+
51
+ typedef struct {
52
+ PyObject_HEAD
53
+ PyObject *dict;
54
+ PyObject *args;
55
+ PyObject *message;
56
+ PyObject *myerrno;
57
+ PyObject *strerror;
58
+ PyObject *filename;
59
+ } PyEnvironmentErrorObject;
60
+
61
+ #ifdef MS_WINDOWS
62
+ typedef struct {
63
+ PyObject_HEAD
64
+ PyObject *dict;
65
+ PyObject *args;
66
+ PyObject *message;
67
+ PyObject *myerrno;
68
+ PyObject *strerror;
69
+ PyObject *filename;
70
+ PyObject *winerror;
71
+ } PyWindowsErrorObject;
72
+ #endif
73
+
74
+ /* Error handling definitions */
75
+
76
+ PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
77
+ PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
78
+ PyAPI_FUNC(void) PyErr_SetString(PyObject *, const char *);
79
+ PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
80
+ PyAPI_FUNC(void) PyErr_Clear(void);
81
+ PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
82
+ PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
83
+
84
+ #ifdef Py_DEBUG
85
+ #define _PyErr_OCCURRED() PyErr_Occurred()
86
+ #else
87
+ #define _PyErr_OCCURRED() (_PyThreadState_Current->curexc_type)
88
+ #endif
89
+
90
+ /* Error testing and normalization */
91
+ PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
92
+ PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *);
93
+ PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
94
+ PyAPI_FUNC(void) _PyErr_ReplaceException(PyObject *, PyObject *, PyObject *);
95
+
96
+ /* */
97
+
98
+ #define PyExceptionClass_Check(x) \
99
+ (PyClass_Check((x)) || (PyType_Check((x)) && \
100
+ PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)))
101
+
102
+ #define PyExceptionInstance_Check(x) \
103
+ (PyInstance_Check((x)) || \
104
+ PyType_FastSubclass((x)->ob_type, Py_TPFLAGS_BASE_EXC_SUBCLASS))
105
+
106
+ #define PyExceptionClass_Name(x) \
107
+ (PyClass_Check((x)) \
108
+ ? PyString_AS_STRING(((PyClassObject*)(x))->cl_name) \
109
+ : (char *)(((PyTypeObject*)(x))->tp_name))
110
+
111
+ #define PyExceptionInstance_Class(x) \
112
+ ((PyInstance_Check((x)) \
113
+ ? (PyObject*)((PyInstanceObject*)(x))->in_class \
114
+ : (PyObject*)((x)->ob_type)))
115
+
116
+
117
+ /* Predefined exceptions */
118
+
119
+ PyAPI_DATA(PyObject *) PyExc_BaseException;
120
+ PyAPI_DATA(PyObject *) PyExc_Exception;
121
+ PyAPI_DATA(PyObject *) PyExc_StopIteration;
122
+ PyAPI_DATA(PyObject *) PyExc_GeneratorExit;
123
+ PyAPI_DATA(PyObject *) PyExc_StandardError;
124
+ PyAPI_DATA(PyObject *) PyExc_ArithmeticError;
125
+ PyAPI_DATA(PyObject *) PyExc_LookupError;
126
+
127
+ PyAPI_DATA(PyObject *) PyExc_AssertionError;
128
+ PyAPI_DATA(PyObject *) PyExc_AttributeError;
129
+ PyAPI_DATA(PyObject *) PyExc_EOFError;
130
+ PyAPI_DATA(PyObject *) PyExc_FloatingPointError;
131
+ PyAPI_DATA(PyObject *) PyExc_EnvironmentError;
132
+ PyAPI_DATA(PyObject *) PyExc_IOError;
133
+ PyAPI_DATA(PyObject *) PyExc_OSError;
134
+ PyAPI_DATA(PyObject *) PyExc_ImportError;
135
+ PyAPI_DATA(PyObject *) PyExc_IndexError;
136
+ PyAPI_DATA(PyObject *) PyExc_KeyError;
137
+ PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
138
+ PyAPI_DATA(PyObject *) PyExc_MemoryError;
139
+ PyAPI_DATA(PyObject *) PyExc_NameError;
140
+ PyAPI_DATA(PyObject *) PyExc_OverflowError;
141
+ PyAPI_DATA(PyObject *) PyExc_RuntimeError;
142
+ PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
143
+ PyAPI_DATA(PyObject *) PyExc_SyntaxError;
144
+ PyAPI_DATA(PyObject *) PyExc_IndentationError;
145
+ PyAPI_DATA(PyObject *) PyExc_TabError;
146
+ PyAPI_DATA(PyObject *) PyExc_ReferenceError;
147
+ PyAPI_DATA(PyObject *) PyExc_SystemError;
148
+ PyAPI_DATA(PyObject *) PyExc_SystemExit;
149
+ PyAPI_DATA(PyObject *) PyExc_TypeError;
150
+ PyAPI_DATA(PyObject *) PyExc_UnboundLocalError;
151
+ PyAPI_DATA(PyObject *) PyExc_UnicodeError;
152
+ PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError;
153
+ PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError;
154
+ PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError;
155
+ PyAPI_DATA(PyObject *) PyExc_ValueError;
156
+ PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError;
157
+ #ifdef MS_WINDOWS
158
+ PyAPI_DATA(PyObject *) PyExc_WindowsError;
159
+ #endif
160
+ #ifdef __VMS
161
+ PyAPI_DATA(PyObject *) PyExc_VMSError;
162
+ #endif
163
+
164
+ PyAPI_DATA(PyObject *) PyExc_BufferError;
165
+
166
+ PyAPI_DATA(PyObject *) PyExc_MemoryErrorInst;
167
+ PyAPI_DATA(PyObject *) PyExc_RecursionErrorInst;
168
+
169
+ /* Predefined warning categories */
170
+ PyAPI_DATA(PyObject *) PyExc_Warning;
171
+ PyAPI_DATA(PyObject *) PyExc_UserWarning;
172
+ PyAPI_DATA(PyObject *) PyExc_DeprecationWarning;
173
+ PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning;
174
+ PyAPI_DATA(PyObject *) PyExc_SyntaxWarning;
175
+ PyAPI_DATA(PyObject *) PyExc_RuntimeWarning;
176
+ PyAPI_DATA(PyObject *) PyExc_FutureWarning;
177
+ PyAPI_DATA(PyObject *) PyExc_ImportWarning;
178
+ PyAPI_DATA(PyObject *) PyExc_UnicodeWarning;
179
+ PyAPI_DATA(PyObject *) PyExc_BytesWarning;
180
+
181
+
182
+ /* Convenience functions */
183
+
184
+ PyAPI_FUNC(int) PyErr_BadArgument(void);
185
+ PyAPI_FUNC(PyObject *) PyErr_NoMemory(void);
186
+ PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
187
+ PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
188
+ PyObject *, PyObject *);
189
+ PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
190
+ PyObject *, const char *);
191
+ #ifdef MS_WINDOWS
192
+ PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
193
+ PyObject *, const Py_UNICODE *);
194
+ #endif /* MS_WINDOWS */
195
+
196
+ PyAPI_FUNC(PyObject *) PyErr_Format(PyObject *, const char *, ...)
197
+ Py_GCC_ATTRIBUTE((format(printf, 2, 3)));
198
+
199
+ #ifdef MS_WINDOWS
200
+ PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilenameObject(
201
+ int, const char *);
202
+ PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(
203
+ int, const char *);
204
+ PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename(
205
+ int, const Py_UNICODE *);
206
+ PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int);
207
+ PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject(
208
+ PyObject *,int, PyObject *);
209
+ PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
210
+ PyObject *,int, const char *);
211
+ PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename(
212
+ PyObject *,int, const Py_UNICODE *);
213
+ PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
214
+ #endif /* MS_WINDOWS */
215
+
216
+ /* Export the old function so that the existing API remains available: */
217
+ PyAPI_FUNC(void) PyErr_BadInternalCall(void);
218
+ PyAPI_FUNC(void) _PyErr_BadInternalCall(const char *filename, int lineno);
219
+ /* Mask the old API with a call to the new API for code compiled under
220
+ Python 2.0: */
221
+ #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__)
222
+
223
+ /* Function to create a new exception */
224
+ PyAPI_FUNC(PyObject *) PyErr_NewException(
225
+ char *name, PyObject *base, PyObject *dict);
226
+ PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc(
227
+ char *name, char *doc, PyObject *base, PyObject *dict);
228
+ PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *);
229
+
230
+ /* In sigcheck.c or signalmodule.c */
231
+ PyAPI_FUNC(int) PyErr_CheckSignals(void);
232
+ PyAPI_FUNC(void) PyErr_SetInterrupt(void);
233
+
234
+ /* In signalmodule.c */
235
+ int PySignal_SetWakeupFd(int fd);
236
+
237
+ /* Support for adding program text to SyntaxErrors */
238
+ PyAPI_FUNC(void) PyErr_SyntaxLocation(const char *, int);
239
+ PyAPI_FUNC(PyObject *) PyErr_ProgramText(const char *, int);
240
+
241
+ #ifdef Py_USING_UNICODE
242
+ /* The following functions are used to create and modify unicode
243
+ exceptions from C */
244
+
245
+ /* create a UnicodeDecodeError object */
246
+ PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create(
247
+ const char *, const char *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);
248
+
249
+ /* create a UnicodeEncodeError object */
250
+ PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(
251
+ const char *, const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);
252
+
253
+ /* create a UnicodeTranslateError object */
254
+ PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(
255
+ const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);
256
+
257
+ /* get the encoding attribute */
258
+ PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *);
259
+ PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *);
260
+
261
+ /* get the object attribute */
262
+ PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *);
263
+ PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *);
264
+ PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *);
265
+
266
+ /* get the value of the start attribute (the int * may not be NULL)
267
+ return 0 on success, -1 on failure */
268
+ PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *);
269
+ PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *);
270
+ PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *);
271
+
272
+ /* assign a new value to the start attribute
273
+ return 0 on success, -1 on failure */
274
+ PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t);
275
+ PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t);
276
+ PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t);
277
+
278
+ /* get the value of the end attribute (the int *may not be NULL)
279
+ return 0 on success, -1 on failure */
280
+ PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *);
281
+ PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *);
282
+ PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *);
283
+
284
+ /* assign a new value to the end attribute
285
+ return 0 on success, -1 on failure */
286
+ PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t);
287
+ PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t);
288
+ PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t);
289
+
290
+ /* get the value of the reason attribute */
291
+ PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *);
292
+ PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *);
293
+ PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *);
294
+
295
+ /* assign a new value to the reason attribute
296
+ return 0 on success, -1 on failure */
297
+ PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason(
298
+ PyObject *, const char *);
299
+ PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason(
300
+ PyObject *, const char *);
301
+ PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason(
302
+ PyObject *, const char *);
303
+ #endif
304
+
305
+
306
+ /* These APIs aren't really part of the error implementation, but
307
+ often needed to format error messages; the native C lib APIs are
308
+ not available on all platforms, which is why we provide emulations
309
+ for those platforms in Python/mysnprintf.c,
310
+ WARNING: The return value of snprintf varies across platforms; do
311
+ not rely on any particular behavior; eventually the C99 defn may
312
+ be reliable.
313
+ */
314
+ #if defined(MS_WIN32) && !defined(HAVE_SNPRINTF)
315
+ # define HAVE_SNPRINTF
316
+ # define snprintf _snprintf
317
+ # define vsnprintf _vsnprintf
318
+ #endif
319
+
320
+ #include <stdarg.h>
321
+ PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...)
322
+ Py_GCC_ATTRIBUTE((format(printf, 3, 4)));
323
+ PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va)
324
+ Py_GCC_ATTRIBUTE((format(printf, 3, 0)));
325
+
326
+ #ifdef __cplusplus
327
+ }
328
+ #endif
329
+ #endif /* !Py_ERRORS_H */
@@ -0,0 +1,50 @@
1
+ /* Stuff to export relevant 'expat' entry points from pyexpat to other
2
+ * parser modules, such as cElementTree. */
3
+
4
+ /* note: you must import expat.h before importing this module! */
5
+
6
+ #define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.1"
7
+ #define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI"
8
+
9
+ struct PyExpat_CAPI
10
+ {
11
+ char* magic; /* set to PyExpat_CAPI_MAGIC */
12
+ int size; /* set to sizeof(struct PyExpat_CAPI) */
13
+ int MAJOR_VERSION;
14
+ int MINOR_VERSION;
15
+ int MICRO_VERSION;
16
+ /* pointers to selected expat functions. add new functions at
17
+ the end, if needed */
18
+ const XML_LChar * (*ErrorString)(enum XML_Error code);
19
+ enum XML_Error (*GetErrorCode)(XML_Parser parser);
20
+ XML_Size (*GetErrorColumnNumber)(XML_Parser parser);
21
+ XML_Size (*GetErrorLineNumber)(XML_Parser parser);
22
+ enum XML_Status (*Parse)(
23
+ XML_Parser parser, const char *s, int len, int isFinal);
24
+ XML_Parser (*ParserCreate_MM)(
25
+ const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite,
26
+ const XML_Char *namespaceSeparator);
27
+ void (*ParserFree)(XML_Parser parser);
28
+ void (*SetCharacterDataHandler)(
29
+ XML_Parser parser, XML_CharacterDataHandler handler);
30
+ void (*SetCommentHandler)(
31
+ XML_Parser parser, XML_CommentHandler handler);
32
+ void (*SetDefaultHandlerExpand)(
33
+ XML_Parser parser, XML_DefaultHandler handler);
34
+ void (*SetElementHandler)(
35
+ XML_Parser parser, XML_StartElementHandler start,
36
+ XML_EndElementHandler end);
37
+ void (*SetNamespaceDeclHandler)(
38
+ XML_Parser parser, XML_StartNamespaceDeclHandler start,
39
+ XML_EndNamespaceDeclHandler end);
40
+ void (*SetProcessingInstructionHandler)(
41
+ XML_Parser parser, XML_ProcessingInstructionHandler handler);
42
+ void (*SetUnknownEncodingHandler)(
43
+ XML_Parser parser, XML_UnknownEncodingHandler handler,
44
+ void *encodingHandlerData);
45
+ void (*SetUserData)(XML_Parser parser, void *userData);
46
+ /* might be none for expat < 2.1.0 */
47
+ int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt);
48
+ /* always add new stuff to the end! */
49
+ };
50
+
@@ -0,0 +1,176 @@
1
+ #ifndef Py_PYFPE_H
2
+ #define Py_PYFPE_H
3
+ #ifdef __cplusplus
4
+ extern "C" {
5
+ #endif
6
+ /*
7
+ ---------------------------------------------------------------------
8
+ / Copyright (c) 1996. \
9
+ | The Regents of the University of California. |
10
+ | All rights reserved. |
11
+ | |
12
+ | Permission to use, copy, modify, and distribute this software for |
13
+ | any purpose without fee is hereby granted, provided that this en- |
14
+ | tire notice is included in all copies of any software which is or |
15
+ | includes a copy or modification of this software and in all |
16
+ | copies of the supporting documentation for such software. |
17
+ | |
18
+ | This work was produced at the University of California, Lawrence |
19
+ | Livermore National Laboratory under contract no. W-7405-ENG-48 |
20
+ | between the U.S. Department of Energy and The Regents of the |
21
+ | University of California for the operation of UC LLNL. |
22
+ | |
23
+ | DISCLAIMER |
24
+ | |
25
+ | This software was prepared as an account of work sponsored by an |
26
+ | agency of the United States Government. Neither the United States |
27
+ | Government nor the University of California nor any of their em- |
28
+ | ployees, makes any warranty, express or implied, or assumes any |
29
+ | liability or responsibility for the accuracy, completeness, or |
30
+ | usefulness of any information, apparatus, product, or process |
31
+ | disclosed, or represents that its use would not infringe |
32
+ | privately-owned rights. Reference herein to any specific commer- |
33
+ | cial products, process, or service by trade name, trademark, |
34
+ | manufacturer, or otherwise, does not necessarily constitute or |
35
+ | imply its endorsement, recommendation, or favoring by the United |
36
+ | States Government or the University of California. The views and |
37
+ | opinions of authors expressed herein do not necessarily state or |
38
+ | reflect those of the United States Government or the University |
39
+ | of California, and shall not be used for advertising or product |
40
+ \ endorsement purposes. /
41
+ ---------------------------------------------------------------------
42
+ */
43
+
44
+ /*
45
+ * Define macros for handling SIGFPE.
46
+ * Lee Busby, LLNL, November, 1996
47
+ * busby1@llnl.gov
48
+ *
49
+ *********************************************
50
+ * Overview of the system for handling SIGFPE:
51
+ *
52
+ * This file (Include/pyfpe.h) defines a couple of "wrapper" macros for
53
+ * insertion into your Python C code of choice. Their proper use is
54
+ * discussed below. The file Python/pyfpe.c defines a pair of global
55
+ * variables PyFPE_jbuf and PyFPE_counter which are used by the signal
56
+ * handler for SIGFPE to decide if a particular exception was protected
57
+ * by the macros. The signal handler itself, and code for enabling the
58
+ * generation of SIGFPE in the first place, is in a (new) Python module
59
+ * named fpectl. This module is standard in every respect. It can be loaded
60
+ * either statically or dynamically as you choose, and like any other
61
+ * Python module, has no effect until you import it.
62
+ *
63
+ * In the general case, there are three steps toward handling SIGFPE in any
64
+ * Python code:
65
+ *
66
+ * 1) Add the *_PROTECT macros to your C code as required to protect
67
+ * dangerous floating point sections.
68
+ *
69
+ * 2) Turn on the inclusion of the code by adding the ``--with-fpectl''
70
+ * flag at the time you run configure. If the fpectl or other modules
71
+ * which use the *_PROTECT macros are to be dynamically loaded, be
72
+ * sure they are compiled with WANT_SIGFPE_HANDLER defined.
73
+ *
74
+ * 3) When python is built and running, import fpectl, and execute
75
+ * fpectl.turnon_sigfpe(). This sets up the signal handler and enables
76
+ * generation of SIGFPE whenever an exception occurs. From this point
77
+ * on, any properly trapped SIGFPE should result in the Python
78
+ * FloatingPointError exception.
79
+ *
80
+ * Step 1 has been done already for the Python kernel code, and should be
81
+ * done soon for the NumPy array package. Step 2 is usually done once at
82
+ * python install time. Python's behavior with respect to SIGFPE is not
83
+ * changed unless you also do step 3. Thus you can control this new
84
+ * facility at compile time, or run time, or both.
85
+ *
86
+ ********************************
87
+ * Using the macros in your code:
88
+ *
89
+ * static PyObject *foobar(PyObject *self,PyObject *args)
90
+ * {
91
+ * ....
92
+ * PyFPE_START_PROTECT("Error in foobar", return 0)
93
+ * result = dangerous_op(somearg1, somearg2, ...);
94
+ * PyFPE_END_PROTECT(result)
95
+ * ....
96
+ * }
97
+ *
98
+ * If a floating point error occurs in dangerous_op, foobar returns 0 (NULL),
99
+ * after setting the associated value of the FloatingPointError exception to
100
+ * "Error in foobar". ``Dangerous_op'' can be a single operation, or a block
101
+ * of code, function calls, or any combination, so long as no alternate
102
+ * return is possible before the PyFPE_END_PROTECT macro is reached.
103
+ *
104
+ * The macros can only be used in a function context where an error return
105
+ * can be recognized as signaling a Python exception. (Generally, most
106
+ * functions that return a PyObject * will qualify.)
107
+ *
108
+ * Guido's original design suggestion for PyFPE_START_PROTECT and
109
+ * PyFPE_END_PROTECT had them open and close a local block, with a locally
110
+ * defined jmp_buf and jmp_buf pointer. This would allow recursive nesting
111
+ * of the macros. The Ansi C standard makes it clear that such local
112
+ * variables need to be declared with the "volatile" type qualifier to keep
113
+ * setjmp from corrupting their values. Some current implementations seem
114
+ * to be more restrictive. For example, the HPUX man page for setjmp says
115
+ *
116
+ * Upon the return from a setjmp() call caused by a longjmp(), the
117
+ * values of any non-static local variables belonging to the routine
118
+ * from which setjmp() was called are undefined. Code which depends on
119
+ * such values is not guaranteed to be portable.
120
+ *
121
+ * I therefore decided on a more limited form of nesting, using a counter
122
+ * variable (PyFPE_counter) to keep track of any recursion. If an exception
123
+ * occurs in an ``inner'' pair of macros, the return will apparently
124
+ * come from the outermost level.
125
+ *
126
+ */
127
+
128
+ #ifdef WANT_SIGFPE_HANDLER
129
+ #include <signal.h>
130
+ #include <setjmp.h>
131
+ #include <math.h>
132
+ extern jmp_buf PyFPE_jbuf;
133
+ extern int PyFPE_counter;
134
+ extern double PyFPE_dummy(void *);
135
+
136
+ #define PyFPE_START_PROTECT(err_string, leave_stmt) \
137
+ if (!PyFPE_counter++ && setjmp(PyFPE_jbuf)) { \
138
+ PyErr_SetString(PyExc_FloatingPointError, err_string); \
139
+ PyFPE_counter = 0; \
140
+ leave_stmt; \
141
+ }
142
+
143
+ /*
144
+ * This (following) is a heck of a way to decrement a counter. However,
145
+ * unless the macro argument is provided, code optimizers will sometimes move
146
+ * this statement so that it gets executed *before* the unsafe expression
147
+ * which we're trying to protect. That pretty well messes things up,
148
+ * of course.
149
+ *
150
+ * If the expression(s) you're trying to protect don't happen to return a
151
+ * value, you will need to manufacture a dummy result just to preserve the
152
+ * correct ordering of statements. Note that the macro passes the address
153
+ * of its argument (so you need to give it something which is addressable).
154
+ * If your expression returns multiple results, pass the last such result
155
+ * to PyFPE_END_PROTECT.
156
+ *
157
+ * Note that PyFPE_dummy returns a double, which is cast to int.
158
+ * This seeming insanity is to tickle the Floating Point Unit (FPU).
159
+ * If an exception has occurred in a preceding floating point operation,
160
+ * some architectures (notably Intel 80x86) will not deliver the interrupt
161
+ * until the *next* floating point operation. This is painful if you've
162
+ * already decremented PyFPE_counter.
163
+ */
164
+ #define PyFPE_END_PROTECT(v) PyFPE_counter -= (int)PyFPE_dummy(&(v));
165
+
166
+ #else
167
+
168
+ #define PyFPE_START_PROTECT(err_string, leave_stmt)
169
+ #define PyFPE_END_PROTECT(v)
170
+
171
+ #endif
172
+
173
+ #ifdef __cplusplus
174
+ }
175
+ #endif
176
+ #endif /* !Py_PYFPE_H */
@@ -0,0 +1,18 @@
1
+
2
+ #ifndef Py_PYGETOPT_H
3
+ #define Py_PYGETOPT_H
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ PyAPI_DATA(int) _PyOS_opterr;
9
+ PyAPI_DATA(int) _PyOS_optind;
10
+ PyAPI_DATA(char *) _PyOS_optarg;
11
+
12
+ PyAPI_FUNC(void) _PyOS_ResetGetOpt(void);
13
+ PyAPI_FUNC(int) _PyOS_GetOpt(int argc, char **argv, char *optstring);
14
+
15
+ #ifdef __cplusplus
16
+ }
17
+ #endif
18
+ #endif /* !Py_PYGETOPT_H */