py2docfx 0.1.16.dev2064350__py3-none-any.whl → 0.1.17__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 (388) hide show
  1. py2docfx/convert_prepare/environment.py +1 -3
  2. py2docfx/convert_prepare/get_source.py +1 -6
  3. py2docfx/convert_prepare/package_info.py +1 -1
  4. py2docfx/docfx_yaml/miss_reference.py +1 -1
  5. py2docfx/docfx_yaml/parameter_utils.py +58 -6
  6. py2docfx/docfx_yaml/tests/roots/test-translator-typing/code_with_typing.py +14 -0
  7. py2docfx/docfx_yaml/tests/roots/test-translator-typing/conf.py +18 -0
  8. py2docfx/docfx_yaml/tests/test_translator_typing.py +39 -0
  9. py2docfx/docfx_yaml/utils.py +2 -2
  10. py2docfx/venv/basevenv/Lib/site-packages/certifi/__init__.py +1 -1
  11. py2docfx/venv/basevenv/Lib/site-packages/certifi/core.py +1 -32
  12. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
  13. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/constant.py +17 -0
  14. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/legacy.py +1 -3
  15. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/md.py +19 -14
  16. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/utils.py +6 -0
  17. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/version.py +1 -1
  18. py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +1 -1
  19. py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +1 -2
  20. py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -2
  21. py2docfx/venv/basevenv/Lib/site-packages/packaging/_parser.py +1 -2
  22. py2docfx/venv/basevenv/Lib/site-packages/packaging/_tokenizer.py +5 -4
  23. py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +1 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +53 -22
  25. py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +1 -2
  26. py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +1 -2
  27. py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +39 -0
  28. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +6 -7
  29. py2docfx/venv/basevenv/Lib/site-packages/pygments/__init__.py +1 -1
  30. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/_sql_builtins.py +106 -0
  31. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/scripting.py +5 -3
  32. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/sql.py +24 -118
  33. py2docfx/venv/basevenv/Lib/site-packages/requests/__version__.py +2 -2
  34. py2docfx/venv/basevenv/Lib/site-packages/requests/compat.py +12 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/requests/models.py +3 -1
  36. py2docfx/venv/basevenv/Lib/site-packages/requests/utils.py +6 -16
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +0 -38
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_discovery.py +33 -0
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_entry_points.py +4 -0
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +0 -2
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +12 -3
  46. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +1 -1
  47. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_scripts.py +361 -0
  48. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +6 -0
  49. py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +25 -37
  50. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
  51. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
  52. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +29 -28
  53. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +39 -179
  54. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
  55. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
  56. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +0 -2
  57. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +3 -55
  58. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
  59. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +1 -1
  60. py2docfx/venv/basevenv/Lib/site-packages/setuptools/compat/py310.py +11 -0
  61. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +10 -12
  62. py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +34 -29
  63. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/contexts.py +0 -14
  64. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
  65. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
  66. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
  67. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
  68. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
  69. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
  70. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
  71. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
  72. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
  73. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
  74. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
  75. py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +49 -24
  76. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/__init__.py +6 -0
  77. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/arabic_stemmer.py +798 -797
  78. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/armenian_stemmer.py +212 -213
  79. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basestemmer.py +20 -54
  80. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basque_stemmer.py +202 -228
  81. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/catalan_stemmer.py +370 -375
  82. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/danish_stemmer.py +63 -61
  83. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_porter_stemmer.py +466 -0
  84. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_stemmer.py +1217 -343
  85. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/english_stemmer.py +295 -264
  86. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/esperanto_stemmer.py +588 -0
  87. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/estonian_stemmer.py +850 -0
  88. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/finnish_stemmer.py +144 -143
  89. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/french_stemmer.py +308 -246
  90. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/german_stemmer.py +224 -167
  91. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/greek_stemmer.py +1314 -1313
  92. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hindi_stemmer.py +39 -38
  93. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hungarian_stemmer.py +231 -256
  94. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/indonesian_stemmer.py +61 -64
  95. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/irish_stemmer.py +101 -106
  96. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/italian_stemmer.py +272 -272
  97. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/lithuanian_stemmer.py +233 -240
  98. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/nepali_stemmer.py +108 -134
  99. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/norwegian_stemmer.py +108 -63
  100. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/porter_stemmer.py +101 -108
  101. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/portuguese_stemmer.py +241 -250
  102. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/romanian_stemmer.py +332 -296
  103. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/russian_stemmer.py +178 -179
  104. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/serbian_stemmer.py +2331 -2332
  105. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/spanish_stemmer.py +254 -259
  106. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/swedish_stemmer.py +143 -70
  107. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/tamil_stemmer.py +638 -1491
  108. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/turkish_stemmer.py +326 -292
  109. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/yiddish_stemmer.py +245 -246
  110. py2docfx/venv/basevenv/Lib/site-packages/urllib3/_version.py +2 -2
  111. py2docfx/venv/basevenv/Lib/site-packages/urllib3/connection.py +87 -38
  112. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
  113. py2docfx/venv/basevenv/Lib/site-packages/urllib3/poolmanager.py +17 -1
  114. py2docfx/venv/basevenv/Lib/site-packages/urllib3/response.py +53 -24
  115. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/request.py +12 -4
  116. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_.py +1 -1
  117. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
  118. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +1 -1
  119. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +1 -1
  120. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +2 -1
  121. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +1 -1
  122. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +2 -2
  123. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +1 -1
  124. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/opentelemetry.py +13 -1
  125. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +2 -1
  126. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +1 -1
  127. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +1 -0
  128. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +23 -2
  129. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +12 -16
  130. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +22 -1
  131. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +10 -6
  132. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +13 -4
  133. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +3 -5
  134. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +2 -1
  135. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +3 -2
  136. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +1 -1
  137. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +1 -1
  138. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +1 -1
  139. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +1 -1
  140. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +1 -1
  141. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +22 -2
  142. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +2 -2
  143. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +17 -1
  144. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +4 -4
  145. py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +1 -1
  146. py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +1 -32
  147. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
  148. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +17 -0
  149. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +1 -3
  150. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +19 -14
  151. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +6 -0
  152. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +1 -1
  153. py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +2 -2
  154. py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +2 -2
  155. py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +2 -1
  156. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +35 -2
  157. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +33 -10
  158. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi +14 -5
  159. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi +2 -2
  160. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +3 -0
  161. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +49 -45
  162. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ciphers.pyi +2 -2
  163. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +2 -1
  164. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +2 -1
  165. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +10 -1
  166. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +3 -2
  167. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +8 -2
  168. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +3 -2
  169. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +6 -4
  170. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +2 -1
  171. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +2 -1
  172. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +9 -3
  173. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +7 -6
  174. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +2 -1
  175. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +79 -12
  176. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +9 -1
  177. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +2 -1
  178. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +5 -0
  179. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +4 -2
  180. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +1 -2
  181. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +12 -0
  182. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +16 -3
  183. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +47 -3
  184. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +16 -3
  185. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +16 -3
  186. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +14 -0
  187. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +14 -1
  188. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +14 -1
  189. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +6 -6
  190. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +5 -4
  191. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +18 -18
  192. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +5 -1
  193. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +5 -4
  194. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +4 -4
  195. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +7 -4
  196. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +1 -1
  197. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +1 -1
  198. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +7 -121
  199. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +2 -0
  200. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +21 -1
  201. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +48 -6
  202. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +68 -18
  203. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +3 -2
  204. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +2 -1
  205. py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +15 -3
  206. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +3 -0
  207. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +39 -6
  208. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +100 -49
  209. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +27 -15
  210. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +60 -25
  211. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +2 -0
  212. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +6 -0
  213. py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +17 -4
  214. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +6 -0
  215. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +1 -0
  216. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +13 -4
  217. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +7 -6
  218. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +8 -5
  219. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +7 -6
  220. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +7 -6
  221. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
  222. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +2 -36
  223. py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +240 -0
  224. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/_helpers.py +62 -0
  225. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +6 -0
  226. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +5 -1
  227. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +2 -1
  228. py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +91 -2
  229. py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +75 -0
  230. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +1 -0
  231. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +8 -1
  232. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +3 -1
  233. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +4 -1
  234. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +15 -5
  235. py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
  236. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +12 -0
  237. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +1 -1
  238. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
  239. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any.py +15 -1
  240. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +3 -3
  241. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +3 -3
  242. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +3 -3
  243. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +15 -2
  244. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +258 -113
  245. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +22 -8
  246. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +3 -3
  247. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +3 -3
  248. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +3 -3
  249. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +106 -23
  250. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +3 -1
  251. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
  252. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +21 -18
  253. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +8 -2
  254. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +60 -43
  255. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +4 -5
  256. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +16 -0
  257. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +2 -2
  258. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +3 -3
  259. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +3 -3
  260. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +11 -7
  261. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +3 -3
  262. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +3 -3
  263. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +3 -3
  264. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +29 -23
  265. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.pyi +41 -2
  266. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +1 -0
  267. py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +9 -5
  268. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +4 -5
  269. py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +1 -1
  270. py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +58 -30
  271. py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -1
  272. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -1
  273. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -1
  274. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -138
  275. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -93
  276. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -63
  277. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -206
  278. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -205
  279. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +355 -355
  280. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -79
  281. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -15
  282. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -314
  283. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -190
  284. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -62
  285. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -50
  286. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -176
  287. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -42
  288. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -87
  289. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -1
  290. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -50
  291. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -100
  292. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -480
  293. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -236
  294. py2docfx/venv/venv1/Lib/site-packages/packaging/__init__.py +1 -1
  295. py2docfx/venv/venv1/Lib/site-packages/packaging/_elffile.py +1 -2
  296. py2docfx/venv/venv1/Lib/site-packages/packaging/_manylinux.py +1 -2
  297. py2docfx/venv/venv1/Lib/site-packages/packaging/_parser.py +1 -2
  298. py2docfx/venv/venv1/Lib/site-packages/packaging/_tokenizer.py +5 -4
  299. py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/__init__.py +1 -1
  300. py2docfx/venv/venv1/Lib/site-packages/packaging/markers.py +53 -22
  301. py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +1 -2
  302. py2docfx/venv/venv1/Lib/site-packages/packaging/specifiers.py +1 -2
  303. py2docfx/venv/venv1/Lib/site-packages/packaging/tags.py +39 -0
  304. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +6 -7
  305. py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +2 -2
  306. py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +12 -0
  307. py2docfx/venv/venv1/Lib/site-packages/requests/models.py +3 -1
  308. py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +6 -16
  309. py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +2 -2
  310. py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -52
  311. py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -321
  312. py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -184
  313. py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -53
  314. py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -858
  315. py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -96
  316. py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -134
  317. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -485
  318. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -100
  319. py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -198
  320. py2docfx/venv/venv1/Lib/site-packages/rsa/py.typed +1 -1
  321. py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -95
  322. py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -72
  323. py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -97
  324. py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +0 -38
  325. py2docfx/venv/venv1/Lib/site-packages/setuptools/_discovery.py +33 -0
  326. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
  327. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  328. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
  329. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
  330. py2docfx/venv/venv1/Lib/site-packages/setuptools/_entry_points.py +4 -0
  331. py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +0 -2
  332. py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +12 -3
  333. py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +1 -1
  334. py2docfx/venv/venv1/Lib/site-packages/setuptools/_scripts.py +361 -0
  335. py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +6 -0
  336. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +25 -37
  337. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
  338. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
  339. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +29 -28
  340. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +39 -179
  341. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
  342. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
  343. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +0 -2
  344. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +3 -55
  345. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
  346. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +1 -1
  347. py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/py310.py +11 -0
  348. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +10 -12
  349. py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +34 -29
  350. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/contexts.py +0 -14
  351. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
  352. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
  353. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
  354. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
  355. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
  356. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
  357. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
  358. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
  359. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
  360. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
  361. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
  362. py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +49 -24
  363. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +357 -703
  364. py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +2 -2
  365. py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +87 -38
  366. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
  367. py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +17 -1
  368. py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +53 -24
  369. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +12 -4
  370. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +1 -1
  371. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/METADATA +1 -1
  372. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/RECORD +374 -372
  373. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/WHEEL +1 -1
  374. py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +0 -1137
  375. py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +0 -536
  376. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/server.py +0 -86
  377. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
  378. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
  379. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
  380. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +0 -119
  381. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +0 -121
  382. py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +0 -1137
  383. py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +0 -536
  384. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/server.py +0 -86
  385. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
  386. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
  387. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
  388. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,5 @@
1
- # Generated by Snowball 2.2.0 - https://snowballstem.org/
1
+ #-*- coding: utf-8 -*-
2
+ # Generated from arabic.sbl by Snowball 3.0.1 - https://snowballstem.org/
2
3
 
3
4
  from .basestemmer import BaseStemmer
4
5
  from .among import Among
@@ -7,301 +8,9 @@ from .among import Among
7
8
  class ArabicStemmer(BaseStemmer):
8
9
  '''
9
10
  This class implements the stemming algorithm defined by a snowball script.
10
- Generated by Snowball 2.2.0 - https://snowballstem.org/
11
+ Generated from arabic.sbl by Snowball 3.0.1 - https://snowballstem.org/
11
12
  '''
12
13
 
13
- a_0 = [
14
- Among(u"\u0640", -1, 1),
15
- Among(u"\u064B", -1, 1),
16
- Among(u"\u064C", -1, 1),
17
- Among(u"\u064D", -1, 1),
18
- Among(u"\u064E", -1, 1),
19
- Among(u"\u064F", -1, 1),
20
- Among(u"\u0650", -1, 1),
21
- Among(u"\u0651", -1, 1),
22
- Among(u"\u0652", -1, 1),
23
- Among(u"\u0660", -1, 2),
24
- Among(u"\u0661", -1, 3),
25
- Among(u"\u0662", -1, 4),
26
- Among(u"\u0663", -1, 5),
27
- Among(u"\u0664", -1, 6),
28
- Among(u"\u0665", -1, 7),
29
- Among(u"\u0666", -1, 8),
30
- Among(u"\u0667", -1, 9),
31
- Among(u"\u0668", -1, 10),
32
- Among(u"\u0669", -1, 11),
33
- Among(u"\uFE80", -1, 12),
34
- Among(u"\uFE81", -1, 16),
35
- Among(u"\uFE82", -1, 16),
36
- Among(u"\uFE83", -1, 13),
37
- Among(u"\uFE84", -1, 13),
38
- Among(u"\uFE85", -1, 17),
39
- Among(u"\uFE86", -1, 17),
40
- Among(u"\uFE87", -1, 14),
41
- Among(u"\uFE88", -1, 14),
42
- Among(u"\uFE89", -1, 15),
43
- Among(u"\uFE8A", -1, 15),
44
- Among(u"\uFE8B", -1, 15),
45
- Among(u"\uFE8C", -1, 15),
46
- Among(u"\uFE8D", -1, 18),
47
- Among(u"\uFE8E", -1, 18),
48
- Among(u"\uFE8F", -1, 19),
49
- Among(u"\uFE90", -1, 19),
50
- Among(u"\uFE91", -1, 19),
51
- Among(u"\uFE92", -1, 19),
52
- Among(u"\uFE93", -1, 20),
53
- Among(u"\uFE94", -1, 20),
54
- Among(u"\uFE95", -1, 21),
55
- Among(u"\uFE96", -1, 21),
56
- Among(u"\uFE97", -1, 21),
57
- Among(u"\uFE98", -1, 21),
58
- Among(u"\uFE99", -1, 22),
59
- Among(u"\uFE9A", -1, 22),
60
- Among(u"\uFE9B", -1, 22),
61
- Among(u"\uFE9C", -1, 22),
62
- Among(u"\uFE9D", -1, 23),
63
- Among(u"\uFE9E", -1, 23),
64
- Among(u"\uFE9F", -1, 23),
65
- Among(u"\uFEA0", -1, 23),
66
- Among(u"\uFEA1", -1, 24),
67
- Among(u"\uFEA2", -1, 24),
68
- Among(u"\uFEA3", -1, 24),
69
- Among(u"\uFEA4", -1, 24),
70
- Among(u"\uFEA5", -1, 25),
71
- Among(u"\uFEA6", -1, 25),
72
- Among(u"\uFEA7", -1, 25),
73
- Among(u"\uFEA8", -1, 25),
74
- Among(u"\uFEA9", -1, 26),
75
- Among(u"\uFEAA", -1, 26),
76
- Among(u"\uFEAB", -1, 27),
77
- Among(u"\uFEAC", -1, 27),
78
- Among(u"\uFEAD", -1, 28),
79
- Among(u"\uFEAE", -1, 28),
80
- Among(u"\uFEAF", -1, 29),
81
- Among(u"\uFEB0", -1, 29),
82
- Among(u"\uFEB1", -1, 30),
83
- Among(u"\uFEB2", -1, 30),
84
- Among(u"\uFEB3", -1, 30),
85
- Among(u"\uFEB4", -1, 30),
86
- Among(u"\uFEB5", -1, 31),
87
- Among(u"\uFEB6", -1, 31),
88
- Among(u"\uFEB7", -1, 31),
89
- Among(u"\uFEB8", -1, 31),
90
- Among(u"\uFEB9", -1, 32),
91
- Among(u"\uFEBA", -1, 32),
92
- Among(u"\uFEBB", -1, 32),
93
- Among(u"\uFEBC", -1, 32),
94
- Among(u"\uFEBD", -1, 33),
95
- Among(u"\uFEBE", -1, 33),
96
- Among(u"\uFEBF", -1, 33),
97
- Among(u"\uFEC0", -1, 33),
98
- Among(u"\uFEC1", -1, 34),
99
- Among(u"\uFEC2", -1, 34),
100
- Among(u"\uFEC3", -1, 34),
101
- Among(u"\uFEC4", -1, 34),
102
- Among(u"\uFEC5", -1, 35),
103
- Among(u"\uFEC6", -1, 35),
104
- Among(u"\uFEC7", -1, 35),
105
- Among(u"\uFEC8", -1, 35),
106
- Among(u"\uFEC9", -1, 36),
107
- Among(u"\uFECA", -1, 36),
108
- Among(u"\uFECB", -1, 36),
109
- Among(u"\uFECC", -1, 36),
110
- Among(u"\uFECD", -1, 37),
111
- Among(u"\uFECE", -1, 37),
112
- Among(u"\uFECF", -1, 37),
113
- Among(u"\uFED0", -1, 37),
114
- Among(u"\uFED1", -1, 38),
115
- Among(u"\uFED2", -1, 38),
116
- Among(u"\uFED3", -1, 38),
117
- Among(u"\uFED4", -1, 38),
118
- Among(u"\uFED5", -1, 39),
119
- Among(u"\uFED6", -1, 39),
120
- Among(u"\uFED7", -1, 39),
121
- Among(u"\uFED8", -1, 39),
122
- Among(u"\uFED9", -1, 40),
123
- Among(u"\uFEDA", -1, 40),
124
- Among(u"\uFEDB", -1, 40),
125
- Among(u"\uFEDC", -1, 40),
126
- Among(u"\uFEDD", -1, 41),
127
- Among(u"\uFEDE", -1, 41),
128
- Among(u"\uFEDF", -1, 41),
129
- Among(u"\uFEE0", -1, 41),
130
- Among(u"\uFEE1", -1, 42),
131
- Among(u"\uFEE2", -1, 42),
132
- Among(u"\uFEE3", -1, 42),
133
- Among(u"\uFEE4", -1, 42),
134
- Among(u"\uFEE5", -1, 43),
135
- Among(u"\uFEE6", -1, 43),
136
- Among(u"\uFEE7", -1, 43),
137
- Among(u"\uFEE8", -1, 43),
138
- Among(u"\uFEE9", -1, 44),
139
- Among(u"\uFEEA", -1, 44),
140
- Among(u"\uFEEB", -1, 44),
141
- Among(u"\uFEEC", -1, 44),
142
- Among(u"\uFEED", -1, 45),
143
- Among(u"\uFEEE", -1, 45),
144
- Among(u"\uFEEF", -1, 46),
145
- Among(u"\uFEF0", -1, 46),
146
- Among(u"\uFEF1", -1, 47),
147
- Among(u"\uFEF2", -1, 47),
148
- Among(u"\uFEF3", -1, 47),
149
- Among(u"\uFEF4", -1, 47),
150
- Among(u"\uFEF5", -1, 51),
151
- Among(u"\uFEF6", -1, 51),
152
- Among(u"\uFEF7", -1, 49),
153
- Among(u"\uFEF8", -1, 49),
154
- Among(u"\uFEF9", -1, 50),
155
- Among(u"\uFEFA", -1, 50),
156
- Among(u"\uFEFB", -1, 48),
157
- Among(u"\uFEFC", -1, 48)
158
- ]
159
-
160
- a_1 = [
161
- Among(u"\u0622", -1, 1),
162
- Among(u"\u0623", -1, 1),
163
- Among(u"\u0624", -1, 1),
164
- Among(u"\u0625", -1, 1),
165
- Among(u"\u0626", -1, 1)
166
- ]
167
-
168
- a_2 = [
169
- Among(u"\u0622", -1, 1),
170
- Among(u"\u0623", -1, 1),
171
- Among(u"\u0624", -1, 2),
172
- Among(u"\u0625", -1, 1),
173
- Among(u"\u0626", -1, 3)
174
- ]
175
-
176
- a_3 = [
177
- Among(u"\u0627\u0644", -1, 2),
178
- Among(u"\u0628\u0627\u0644", -1, 1),
179
- Among(u"\u0643\u0627\u0644", -1, 1),
180
- Among(u"\u0644\u0644", -1, 2)
181
- ]
182
-
183
- a_4 = [
184
- Among(u"\u0623\u0622", -1, 2),
185
- Among(u"\u0623\u0623", -1, 1),
186
- Among(u"\u0623\u0624", -1, 1),
187
- Among(u"\u0623\u0625", -1, 4),
188
- Among(u"\u0623\u0627", -1, 3)
189
- ]
190
-
191
- a_5 = [
192
- Among(u"\u0641", -1, 1),
193
- Among(u"\u0648", -1, 1)
194
- ]
195
-
196
- a_6 = [
197
- Among(u"\u0627\u0644", -1, 2),
198
- Among(u"\u0628\u0627\u0644", -1, 1),
199
- Among(u"\u0643\u0627\u0644", -1, 1),
200
- Among(u"\u0644\u0644", -1, 2)
201
- ]
202
-
203
- a_7 = [
204
- Among(u"\u0628", -1, 1),
205
- Among(u"\u0628\u0627", 0, -1),
206
- Among(u"\u0628\u0628", 0, 2),
207
- Among(u"\u0643\u0643", -1, 3)
208
- ]
209
-
210
- a_8 = [
211
- Among(u"\u0633\u0623", -1, 4),
212
- Among(u"\u0633\u062A", -1, 2),
213
- Among(u"\u0633\u0646", -1, 3),
214
- Among(u"\u0633\u064A", -1, 1)
215
- ]
216
-
217
- a_9 = [
218
- Among(u"\u062A\u0633\u062A", -1, 1),
219
- Among(u"\u0646\u0633\u062A", -1, 1),
220
- Among(u"\u064A\u0633\u062A", -1, 1)
221
- ]
222
-
223
- a_10 = [
224
- Among(u"\u0643\u0645\u0627", -1, 3),
225
- Among(u"\u0647\u0645\u0627", -1, 3),
226
- Among(u"\u0646\u0627", -1, 2),
227
- Among(u"\u0647\u0627", -1, 2),
228
- Among(u"\u0643", -1, 1),
229
- Among(u"\u0643\u0645", -1, 2),
230
- Among(u"\u0647\u0645", -1, 2),
231
- Among(u"\u0647\u0646", -1, 2),
232
- Among(u"\u0647", -1, 1),
233
- Among(u"\u064A", -1, 1)
234
- ]
235
-
236
- a_11 = [
237
- Among(u"\u0646", -1, 1)
238
- ]
239
-
240
- a_12 = [
241
- Among(u"\u0627", -1, 1),
242
- Among(u"\u0648", -1, 1),
243
- Among(u"\u064A", -1, 1)
244
- ]
245
-
246
- a_13 = [
247
- Among(u"\u0627\u062A", -1, 1)
248
- ]
249
-
250
- a_14 = [
251
- Among(u"\u062A", -1, 1)
252
- ]
253
-
254
- a_15 = [
255
- Among(u"\u0629", -1, 1)
256
- ]
257
-
258
- a_16 = [
259
- Among(u"\u064A", -1, 1)
260
- ]
261
-
262
- a_17 = [
263
- Among(u"\u0643\u0645\u0627", -1, 3),
264
- Among(u"\u0647\u0645\u0627", -1, 3),
265
- Among(u"\u0646\u0627", -1, 2),
266
- Among(u"\u0647\u0627", -1, 2),
267
- Among(u"\u0643", -1, 1),
268
- Among(u"\u0643\u0645", -1, 2),
269
- Among(u"\u0647\u0645", -1, 2),
270
- Among(u"\u0643\u0646", -1, 2),
271
- Among(u"\u0647\u0646", -1, 2),
272
- Among(u"\u0647", -1, 1),
273
- Among(u"\u0643\u0645\u0648", -1, 3),
274
- Among(u"\u0646\u064A", -1, 2)
275
- ]
276
-
277
- a_18 = [
278
- Among(u"\u0627", -1, 1),
279
- Among(u"\u062A\u0627", 0, 2),
280
- Among(u"\u062A\u0645\u0627", 0, 4),
281
- Among(u"\u0646\u0627", 0, 2),
282
- Among(u"\u062A", -1, 1),
283
- Among(u"\u0646", -1, 1),
284
- Among(u"\u0627\u0646", 5, 3),
285
- Among(u"\u062A\u0646", 5, 2),
286
- Among(u"\u0648\u0646", 5, 3),
287
- Among(u"\u064A\u0646", 5, 3),
288
- Among(u"\u064A", -1, 1)
289
- ]
290
-
291
- a_19 = [
292
- Among(u"\u0648\u0627", -1, 1),
293
- Among(u"\u062A\u0645", -1, 1)
294
- ]
295
-
296
- a_20 = [
297
- Among(u"\u0648", -1, 1),
298
- Among(u"\u062A\u0645\u0648", 0, 2)
299
- ]
300
-
301
- a_21 = [
302
- Among(u"\u0649", -1, 1)
303
- ]
304
-
305
14
  B_is_defined = False
306
15
  B_is_verb = False
307
16
  B_is_noun = False
@@ -540,564 +249,856 @@ class ArabicStemmer(BaseStemmer):
540
249
  self.cursor = v_2
541
250
  return True
542
251
 
543
- def __r_Checks1(self):
252
+ def __r_Checks1(self):
253
+ self.bra = self.cursor
254
+ among_var = self.find_among(ArabicStemmer.a_3)
255
+ if among_var == 0:
256
+ return False
257
+ self.ket = self.cursor
258
+ if among_var == 1:
259
+ if len(self.current) <= 4:
260
+ return False
261
+ self.B_is_noun = True
262
+ self.B_is_verb = False
263
+ self.B_is_defined = True
264
+ else:
265
+ if len(self.current) <= 3:
266
+ return False
267
+ self.B_is_noun = True
268
+ self.B_is_verb = False
269
+ self.B_is_defined = True
270
+ return True
271
+
272
+ def __r_Prefix_Step1(self):
273
+ self.bra = self.cursor
274
+ among_var = self.find_among(ArabicStemmer.a_4)
275
+ if among_var == 0:
276
+ return False
277
+ self.ket = self.cursor
278
+ if among_var == 1:
279
+ if len(self.current) <= 3:
280
+ return False
281
+ if not self.slice_from(u"\u0623"):
282
+ return False
283
+ elif among_var == 2:
284
+ if len(self.current) <= 3:
285
+ return False
286
+ if not self.slice_from(u"\u0622"):
287
+ return False
288
+ elif among_var == 3:
289
+ if len(self.current) <= 3:
290
+ return False
291
+ if not self.slice_from(u"\u0627"):
292
+ return False
293
+ else:
294
+ if len(self.current) <= 3:
295
+ return False
296
+ if not self.slice_from(u"\u0625"):
297
+ return False
298
+ return True
299
+
300
+ def __r_Prefix_Step2(self):
301
+ self.bra = self.cursor
302
+ if self.find_among(ArabicStemmer.a_5) == 0:
303
+ return False
304
+ self.ket = self.cursor
305
+ if len(self.current) <= 3:
306
+ return False
307
+ v_1 = self.cursor
308
+ try:
309
+ if not self.eq_s(u"\u0627"):
310
+ raise lab0()
311
+ return False
312
+ except lab0: pass
313
+ self.cursor = v_1
314
+ if not self.slice_del():
315
+ return False
316
+
317
+ return True
318
+
319
+ def __r_Prefix_Step3a_Noun(self):
320
+ self.bra = self.cursor
321
+ among_var = self.find_among(ArabicStemmer.a_6)
322
+ if among_var == 0:
323
+ return False
324
+ self.ket = self.cursor
325
+ if among_var == 1:
326
+ if len(self.current) <= 5:
327
+ return False
328
+ if not self.slice_del():
329
+ return False
330
+
331
+ else:
332
+ if len(self.current) <= 4:
333
+ return False
334
+ if not self.slice_del():
335
+ return False
336
+
337
+ return True
338
+
339
+ def __r_Prefix_Step3b_Noun(self):
340
+ self.bra = self.cursor
341
+ among_var = self.find_among(ArabicStemmer.a_7)
342
+ if among_var == 0:
343
+ return False
344
+ self.ket = self.cursor
345
+ if among_var == 1:
346
+ if len(self.current) <= 3:
347
+ return False
348
+ if not self.slice_del():
349
+ return False
350
+
351
+ elif among_var == 2:
352
+ if len(self.current) <= 3:
353
+ return False
354
+ if not self.slice_from(u"\u0628"):
355
+ return False
356
+ elif among_var == 3:
357
+ if len(self.current) <= 3:
358
+ return False
359
+ if not self.slice_from(u"\u0643"):
360
+ return False
361
+ return True
362
+
363
+ def __r_Prefix_Step3_Verb(self):
364
+ self.bra = self.cursor
365
+ among_var = self.find_among(ArabicStemmer.a_8)
366
+ if among_var == 0:
367
+ return False
368
+ self.ket = self.cursor
369
+ if among_var == 1:
370
+ if len(self.current) <= 4:
371
+ return False
372
+ if not self.slice_from(u"\u064A"):
373
+ return False
374
+ elif among_var == 2:
375
+ if len(self.current) <= 4:
376
+ return False
377
+ if not self.slice_from(u"\u062A"):
378
+ return False
379
+ elif among_var == 3:
380
+ if len(self.current) <= 4:
381
+ return False
382
+ if not self.slice_from(u"\u0646"):
383
+ return False
384
+ else:
385
+ if len(self.current) <= 4:
386
+ return False
387
+ if not self.slice_from(u"\u0623"):
388
+ return False
389
+ return True
390
+
391
+ def __r_Prefix_Step4_Verb(self):
392
+ self.bra = self.cursor
393
+ if self.find_among(ArabicStemmer.a_9) == 0:
394
+ return False
395
+ self.ket = self.cursor
396
+ if len(self.current) <= 4:
397
+ return False
398
+ self.B_is_verb = True
399
+ self.B_is_noun = False
400
+ if not self.slice_from(u"\u0627\u0633\u062A"):
401
+ return False
402
+ return True
403
+
404
+ def __r_Suffix_Noun_Step1a(self):
405
+ self.ket = self.cursor
406
+ among_var = self.find_among_b(ArabicStemmer.a_10)
407
+ if among_var == 0:
408
+ return False
409
+ self.bra = self.cursor
410
+ if among_var == 1:
411
+ if len(self.current) < 4:
412
+ return False
413
+ if not self.slice_del():
414
+ return False
415
+
416
+ elif among_var == 2:
417
+ if len(self.current) < 5:
418
+ return False
419
+ if not self.slice_del():
420
+ return False
421
+
422
+ else:
423
+ if len(self.current) < 6:
424
+ return False
425
+ if not self.slice_del():
426
+ return False
427
+
428
+ return True
429
+
430
+ def __r_Suffix_Noun_Step1b(self):
431
+ self.ket = self.cursor
432
+ if self.find_among_b(ArabicStemmer.a_11) == 0:
433
+ return False
434
+ self.bra = self.cursor
435
+ if len(self.current) <= 5:
436
+ return False
437
+ if not self.slice_del():
438
+ return False
439
+
440
+ return True
441
+
442
+ def __r_Suffix_Noun_Step2a(self):
443
+ self.ket = self.cursor
444
+ if self.find_among_b(ArabicStemmer.a_12) == 0:
445
+ return False
446
+ self.bra = self.cursor
447
+ if len(self.current) <= 4:
448
+ return False
449
+ if not self.slice_del():
450
+ return False
451
+
452
+ return True
453
+
454
+ def __r_Suffix_Noun_Step2b(self):
455
+ self.ket = self.cursor
456
+ if self.find_among_b(ArabicStemmer.a_13) == 0:
457
+ return False
458
+ self.bra = self.cursor
459
+ if len(self.current) < 5:
460
+ return False
461
+ if not self.slice_del():
462
+ return False
463
+
464
+ return True
465
+
466
+ def __r_Suffix_Noun_Step2c1(self):
467
+ self.ket = self.cursor
468
+ if self.find_among_b(ArabicStemmer.a_14) == 0:
469
+ return False
470
+ self.bra = self.cursor
471
+ if len(self.current) < 4:
472
+ return False
473
+ if not self.slice_del():
474
+ return False
475
+
476
+ return True
477
+
478
+ def __r_Suffix_Noun_Step2c2(self):
479
+ self.ket = self.cursor
480
+ if self.find_among_b(ArabicStemmer.a_15) == 0:
481
+ return False
544
482
  self.bra = self.cursor
545
- among_var = self.find_among(ArabicStemmer.a_3)
546
- if among_var == 0:
483
+ if len(self.current) < 4:
484
+ return False
485
+ if not self.slice_del():
486
+ return False
487
+
488
+ return True
489
+
490
+ def __r_Suffix_Noun_Step3(self):
491
+ self.ket = self.cursor
492
+ if self.find_among_b(ArabicStemmer.a_16) == 0:
547
493
  return False
494
+ self.bra = self.cursor
495
+ if len(self.current) < 3:
496
+ return False
497
+ if not self.slice_del():
498
+ return False
499
+
500
+ return True
501
+
502
+ def __r_Suffix_Verb_Step1(self):
548
503
  self.ket = self.cursor
504
+ among_var = self.find_among_b(ArabicStemmer.a_17)
505
+ if among_var == 0:
506
+ return False
507
+ self.bra = self.cursor
549
508
  if among_var == 1:
550
- if not len(self.current) > 4:
509
+ if len(self.current) < 4:
551
510
  return False
552
- self.B_is_noun = True
553
- self.B_is_verb = False
554
- self.B_is_defined = True
511
+ if not self.slice_del():
512
+ return False
513
+
514
+ elif among_var == 2:
515
+ if len(self.current) < 5:
516
+ return False
517
+ if not self.slice_del():
518
+ return False
519
+
555
520
  else:
556
- if not len(self.current) > 3:
521
+ if len(self.current) < 6:
557
522
  return False
558
- self.B_is_noun = True
559
- self.B_is_verb = False
560
- self.B_is_defined = True
523
+ if not self.slice_del():
524
+ return False
525
+
561
526
  return True
562
527
 
563
- def __r_Prefix_Step1(self):
564
- self.bra = self.cursor
565
- among_var = self.find_among(ArabicStemmer.a_4)
528
+ def __r_Suffix_Verb_Step2a(self):
529
+ self.ket = self.cursor
530
+ among_var = self.find_among_b(ArabicStemmer.a_18)
566
531
  if among_var == 0:
567
532
  return False
568
- self.ket = self.cursor
533
+ self.bra = self.cursor
569
534
  if among_var == 1:
570
- if not len(self.current) > 3:
535
+ if len(self.current) < 4:
571
536
  return False
572
- if not self.slice_from(u"\u0623"):
537
+ if not self.slice_del():
573
538
  return False
539
+
574
540
  elif among_var == 2:
575
- if not len(self.current) > 3:
541
+ if len(self.current) < 5:
576
542
  return False
577
- if not self.slice_from(u"\u0622"):
543
+ if not self.slice_del():
578
544
  return False
545
+
579
546
  elif among_var == 3:
580
- if not len(self.current) > 3:
547
+ if len(self.current) <= 5:
581
548
  return False
582
- if not self.slice_from(u"\u0627"):
549
+ if not self.slice_del():
583
550
  return False
551
+
584
552
  else:
585
- if not len(self.current) > 3:
553
+ if len(self.current) < 6:
586
554
  return False
587
- if not self.slice_from(u"\u0625"):
555
+ if not self.slice_del():
588
556
  return False
557
+
589
558
  return True
590
559
 
591
- def __r_Prefix_Step2(self):
560
+ def __r_Suffix_Verb_Step2b(self):
561
+ self.ket = self.cursor
562
+ if self.find_among_b(ArabicStemmer.a_19) == 0:
563
+ return False
592
564
  self.bra = self.cursor
593
- if self.find_among(ArabicStemmer.a_5) == 0:
565
+ if len(self.current) < 5:
566
+ return False
567
+ if not self.slice_del():
568
+ return False
569
+
570
+ return True
571
+
572
+ def __r_Suffix_Verb_Step2c(self):
573
+ self.ket = self.cursor
574
+ among_var = self.find_among_b(ArabicStemmer.a_20)
575
+ if among_var == 0:
594
576
  return False
577
+ self.bra = self.cursor
578
+ if among_var == 1:
579
+ if len(self.current) < 4:
580
+ return False
581
+ if not self.slice_del():
582
+ return False
583
+
584
+ else:
585
+ if len(self.current) < 6:
586
+ return False
587
+ if not self.slice_del():
588
+ return False
589
+
590
+ return True
591
+
592
+ def __r_Suffix_All_alef_maqsura(self):
595
593
  self.ket = self.cursor
596
- if not len(self.current) > 3:
594
+ if self.find_among_b(ArabicStemmer.a_21) == 0:
597
595
  return False
596
+ self.bra = self.cursor
597
+ if not self.slice_from(u"\u064A"):
598
+ return False
599
+ return True
600
+
601
+ def _stem(self):
602
+ self.B_is_noun = True
603
+ self.B_is_verb = True
604
+ self.B_is_defined = False
598
605
  v_1 = self.cursor
606
+ self.__r_Checks1()
607
+ self.cursor = v_1
608
+ self.__r_Normalize_pre()
609
+ self.limit_backward = self.cursor
610
+ self.cursor = self.limit
611
+ v_3 = self.limit - self.cursor
599
612
  try:
600
- if not self.eq_s(u"\u0627"):
601
- raise lab0()
602
- return False
613
+ try:
614
+ v_4 = self.limit - self.cursor
615
+ try:
616
+ if not self.B_is_verb:
617
+ raise lab2()
618
+ try:
619
+ v_5 = self.limit - self.cursor
620
+ try:
621
+ v_6 = 1
622
+ while True:
623
+ v_7 = self.limit - self.cursor
624
+ try:
625
+ if not self.__r_Suffix_Verb_Step1():
626
+ raise lab5()
627
+ v_6 -= 1
628
+ continue
629
+ except lab5: pass
630
+ self.cursor = self.limit - v_7
631
+ break
632
+ if v_6 > 0:
633
+ raise lab4()
634
+ try:
635
+ v_8 = self.limit - self.cursor
636
+ try:
637
+ if not self.__r_Suffix_Verb_Step2a():
638
+ raise lab7()
639
+ raise lab6()
640
+ except lab7: pass
641
+ self.cursor = self.limit - v_8
642
+ try:
643
+ if not self.__r_Suffix_Verb_Step2c():
644
+ raise lab8()
645
+ raise lab6()
646
+ except lab8: pass
647
+ self.cursor = self.limit - v_8
648
+ if self.cursor <= self.limit_backward:
649
+ raise lab4()
650
+ self.cursor -= 1
651
+ except lab6: pass
652
+ raise lab3()
653
+ except lab4: pass
654
+ self.cursor = self.limit - v_5
655
+ try:
656
+ if not self.__r_Suffix_Verb_Step2b():
657
+ raise lab9()
658
+ raise lab3()
659
+ except lab9: pass
660
+ self.cursor = self.limit - v_5
661
+ if not self.__r_Suffix_Verb_Step2a():
662
+ raise lab2()
663
+ except lab3: pass
664
+ raise lab1()
665
+ except lab2: pass
666
+ self.cursor = self.limit - v_4
667
+ try:
668
+ if not self.B_is_noun:
669
+ raise lab10()
670
+ v_9 = self.limit - self.cursor
671
+ try:
672
+ try:
673
+ v_10 = self.limit - self.cursor
674
+ try:
675
+ if not self.__r_Suffix_Noun_Step2c2():
676
+ raise lab13()
677
+ raise lab12()
678
+ except lab13: pass
679
+ self.cursor = self.limit - v_10
680
+ try:
681
+ try:
682
+ if not self.B_is_defined:
683
+ raise lab15()
684
+ raise lab14()
685
+ except lab15: pass
686
+ if not self.__r_Suffix_Noun_Step1a():
687
+ raise lab14()
688
+ try:
689
+ v_12 = self.limit - self.cursor
690
+ try:
691
+ if not self.__r_Suffix_Noun_Step2a():
692
+ raise lab17()
693
+ raise lab16()
694
+ except lab17: pass
695
+ self.cursor = self.limit - v_12
696
+ try:
697
+ if not self.__r_Suffix_Noun_Step2b():
698
+ raise lab18()
699
+ raise lab16()
700
+ except lab18: pass
701
+ self.cursor = self.limit - v_12
702
+ try:
703
+ if not self.__r_Suffix_Noun_Step2c1():
704
+ raise lab19()
705
+ raise lab16()
706
+ except lab19: pass
707
+ self.cursor = self.limit - v_12
708
+ if self.cursor <= self.limit_backward:
709
+ raise lab14()
710
+ self.cursor -= 1
711
+ except lab16: pass
712
+ raise lab12()
713
+ except lab14: pass
714
+ self.cursor = self.limit - v_10
715
+ try:
716
+ if not self.__r_Suffix_Noun_Step1b():
717
+ raise lab20()
718
+ try:
719
+ v_13 = self.limit - self.cursor
720
+ try:
721
+ if not self.__r_Suffix_Noun_Step2a():
722
+ raise lab22()
723
+ raise lab21()
724
+ except lab22: pass
725
+ self.cursor = self.limit - v_13
726
+ try:
727
+ if not self.__r_Suffix_Noun_Step2b():
728
+ raise lab23()
729
+ raise lab21()
730
+ except lab23: pass
731
+ self.cursor = self.limit - v_13
732
+ if not self.__r_Suffix_Noun_Step2c1():
733
+ raise lab20()
734
+ except lab21: pass
735
+ raise lab12()
736
+ except lab20: pass
737
+ self.cursor = self.limit - v_10
738
+ try:
739
+ try:
740
+ if not self.B_is_defined:
741
+ raise lab25()
742
+ raise lab24()
743
+ except lab25: pass
744
+ if not self.__r_Suffix_Noun_Step2a():
745
+ raise lab24()
746
+ raise lab12()
747
+ except lab24: pass
748
+ self.cursor = self.limit - v_10
749
+ if not self.__r_Suffix_Noun_Step2b():
750
+ self.cursor = self.limit - v_9
751
+ raise lab11()
752
+ except lab12: pass
753
+ except lab11: pass
754
+ if not self.__r_Suffix_Noun_Step3():
755
+ raise lab10()
756
+ raise lab1()
757
+ except lab10: pass
758
+ self.cursor = self.limit - v_4
759
+ if not self.__r_Suffix_All_alef_maqsura():
760
+ raise lab0()
761
+ except lab1: pass
603
762
  except lab0: pass
604
- self.cursor = v_1
605
- if not self.slice_del():
606
- return False
607
-
608
- return True
609
-
610
- def __r_Prefix_Step3a_Noun(self):
611
- self.bra = self.cursor
612
- among_var = self.find_among(ArabicStemmer.a_6)
613
- if among_var == 0:
614
- return False
615
- self.ket = self.cursor
616
- if among_var == 1:
617
- if not len(self.current) > 5:
618
- return False
619
- if not self.slice_del():
620
- return False
621
-
622
- else:
623
- if not len(self.current) > 4:
624
- return False
625
- if not self.slice_del():
626
- return False
627
-
628
- return True
629
-
630
- def __r_Prefix_Step3b_Noun(self):
631
- self.bra = self.cursor
632
- among_var = self.find_among(ArabicStemmer.a_7)
633
- if among_var == 0:
634
- return False
635
- self.ket = self.cursor
636
- if among_var == 1:
637
- if not len(self.current) > 3:
638
- return False
639
- if not self.slice_del():
640
- return False
641
-
642
- elif among_var == 2:
643
- if not len(self.current) > 3:
644
- return False
645
- if not self.slice_from(u"\u0628"):
646
- return False
647
- elif among_var == 3:
648
- if not len(self.current) > 3:
649
- return False
650
- if not self.slice_from(u"\u0643"):
651
- return False
652
- return True
653
-
654
- def __r_Prefix_Step3_Verb(self):
655
- self.bra = self.cursor
656
- among_var = self.find_among(ArabicStemmer.a_8)
657
- if among_var == 0:
658
- return False
659
- self.ket = self.cursor
660
- if among_var == 1:
661
- if not len(self.current) > 4:
662
- return False
663
- if not self.slice_from(u"\u064A"):
664
- return False
665
- elif among_var == 2:
666
- if not len(self.current) > 4:
667
- return False
668
- if not self.slice_from(u"\u062A"):
669
- return False
670
- elif among_var == 3:
671
- if not len(self.current) > 4:
672
- return False
673
- if not self.slice_from(u"\u0646"):
674
- return False
675
- else:
676
- if not len(self.current) > 4:
677
- return False
678
- if not self.slice_from(u"\u0623"):
679
- return False
680
- return True
681
-
682
- def __r_Prefix_Step4_Verb(self):
683
- self.bra = self.cursor
684
- if self.find_among(ArabicStemmer.a_9) == 0:
685
- return False
686
- self.ket = self.cursor
687
- if not len(self.current) > 4:
688
- return False
689
- self.B_is_verb = True
690
- self.B_is_noun = False
691
- if not self.slice_from(u"\u0627\u0633\u062A"):
692
- return False
693
- return True
694
-
695
- def __r_Suffix_Noun_Step1a(self):
696
- self.ket = self.cursor
697
- among_var = self.find_among_b(ArabicStemmer.a_10)
698
- if among_var == 0:
699
- return False
700
- self.bra = self.cursor
701
- if among_var == 1:
702
- if not len(self.current) >= 4:
703
- return False
704
- if not self.slice_del():
705
- return False
706
-
707
- elif among_var == 2:
708
- if not len(self.current) >= 5:
709
- return False
710
- if not self.slice_del():
711
- return False
712
-
713
- else:
714
- if not len(self.current) >= 6:
715
- return False
716
- if not self.slice_del():
717
- return False
718
-
719
- return True
720
-
721
- def __r_Suffix_Noun_Step1b(self):
722
- self.ket = self.cursor
723
- if self.find_among_b(ArabicStemmer.a_11) == 0:
724
- return False
725
- self.bra = self.cursor
726
- if not len(self.current) > 5:
727
- return False
728
- if not self.slice_del():
729
- return False
730
-
731
- return True
732
-
733
- def __r_Suffix_Noun_Step2a(self):
734
- self.ket = self.cursor
735
- if self.find_among_b(ArabicStemmer.a_12) == 0:
736
- return False
737
- self.bra = self.cursor
738
- if not len(self.current) > 4:
739
- return False
740
- if not self.slice_del():
741
- return False
742
-
743
- return True
744
-
745
- def __r_Suffix_Noun_Step2b(self):
746
- self.ket = self.cursor
747
- if self.find_among_b(ArabicStemmer.a_13) == 0:
748
- return False
749
- self.bra = self.cursor
750
- if not len(self.current) >= 5:
751
- return False
752
- if not self.slice_del():
753
- return False
754
-
763
+ self.cursor = self.limit - v_3
764
+ self.cursor = self.limit_backward
765
+ v_15 = self.cursor
766
+ try:
767
+ v_16 = self.cursor
768
+ try:
769
+ if not self.__r_Prefix_Step1():
770
+ self.cursor = v_16
771
+ raise lab27()
772
+ except lab27: pass
773
+ v_17 = self.cursor
774
+ try:
775
+ if not self.__r_Prefix_Step2():
776
+ self.cursor = v_17
777
+ raise lab28()
778
+ except lab28: pass
779
+ try:
780
+ v_18 = self.cursor
781
+ try:
782
+ if not self.__r_Prefix_Step3a_Noun():
783
+ raise lab30()
784
+ raise lab29()
785
+ except lab30: pass
786
+ self.cursor = v_18
787
+ try:
788
+ if not self.B_is_noun:
789
+ raise lab31()
790
+ if not self.__r_Prefix_Step3b_Noun():
791
+ raise lab31()
792
+ raise lab29()
793
+ except lab31: pass
794
+ self.cursor = v_18
795
+ if not self.B_is_verb:
796
+ raise lab26()
797
+ v_19 = self.cursor
798
+ try:
799
+ if not self.__r_Prefix_Step3_Verb():
800
+ self.cursor = v_19
801
+ raise lab32()
802
+ except lab32: pass
803
+ if not self.__r_Prefix_Step4_Verb():
804
+ raise lab26()
805
+ except lab29: pass
806
+ except lab26: pass
807
+ self.cursor = v_15
808
+ self.__r_Normalize_post()
755
809
  return True
756
810
 
757
- def __r_Suffix_Noun_Step2c1(self):
758
- self.ket = self.cursor
759
- if self.find_among_b(ArabicStemmer.a_14) == 0:
760
- return False
761
- self.bra = self.cursor
762
- if not len(self.current) >= 4:
763
- return False
764
- if not self.slice_del():
765
- return False
811
+ a_0 = [
812
+ Among(u"\u0640", -1, 1),
813
+ Among(u"\u064B", -1, 1),
814
+ Among(u"\u064C", -1, 1),
815
+ Among(u"\u064D", -1, 1),
816
+ Among(u"\u064E", -1, 1),
817
+ Among(u"\u064F", -1, 1),
818
+ Among(u"\u0650", -1, 1),
819
+ Among(u"\u0651", -1, 1),
820
+ Among(u"\u0652", -1, 1),
821
+ Among(u"\u0660", -1, 2),
822
+ Among(u"\u0661", -1, 3),
823
+ Among(u"\u0662", -1, 4),
824
+ Among(u"\u0663", -1, 5),
825
+ Among(u"\u0664", -1, 6),
826
+ Among(u"\u0665", -1, 7),
827
+ Among(u"\u0666", -1, 8),
828
+ Among(u"\u0667", -1, 9),
829
+ Among(u"\u0668", -1, 10),
830
+ Among(u"\u0669", -1, 11),
831
+ Among(u"\uFE80", -1, 12),
832
+ Among(u"\uFE81", -1, 16),
833
+ Among(u"\uFE82", -1, 16),
834
+ Among(u"\uFE83", -1, 13),
835
+ Among(u"\uFE84", -1, 13),
836
+ Among(u"\uFE85", -1, 17),
837
+ Among(u"\uFE86", -1, 17),
838
+ Among(u"\uFE87", -1, 14),
839
+ Among(u"\uFE88", -1, 14),
840
+ Among(u"\uFE89", -1, 15),
841
+ Among(u"\uFE8A", -1, 15),
842
+ Among(u"\uFE8B", -1, 15),
843
+ Among(u"\uFE8C", -1, 15),
844
+ Among(u"\uFE8D", -1, 18),
845
+ Among(u"\uFE8E", -1, 18),
846
+ Among(u"\uFE8F", -1, 19),
847
+ Among(u"\uFE90", -1, 19),
848
+ Among(u"\uFE91", -1, 19),
849
+ Among(u"\uFE92", -1, 19),
850
+ Among(u"\uFE93", -1, 20),
851
+ Among(u"\uFE94", -1, 20),
852
+ Among(u"\uFE95", -1, 21),
853
+ Among(u"\uFE96", -1, 21),
854
+ Among(u"\uFE97", -1, 21),
855
+ Among(u"\uFE98", -1, 21),
856
+ Among(u"\uFE99", -1, 22),
857
+ Among(u"\uFE9A", -1, 22),
858
+ Among(u"\uFE9B", -1, 22),
859
+ Among(u"\uFE9C", -1, 22),
860
+ Among(u"\uFE9D", -1, 23),
861
+ Among(u"\uFE9E", -1, 23),
862
+ Among(u"\uFE9F", -1, 23),
863
+ Among(u"\uFEA0", -1, 23),
864
+ Among(u"\uFEA1", -1, 24),
865
+ Among(u"\uFEA2", -1, 24),
866
+ Among(u"\uFEA3", -1, 24),
867
+ Among(u"\uFEA4", -1, 24),
868
+ Among(u"\uFEA5", -1, 25),
869
+ Among(u"\uFEA6", -1, 25),
870
+ Among(u"\uFEA7", -1, 25),
871
+ Among(u"\uFEA8", -1, 25),
872
+ Among(u"\uFEA9", -1, 26),
873
+ Among(u"\uFEAA", -1, 26),
874
+ Among(u"\uFEAB", -1, 27),
875
+ Among(u"\uFEAC", -1, 27),
876
+ Among(u"\uFEAD", -1, 28),
877
+ Among(u"\uFEAE", -1, 28),
878
+ Among(u"\uFEAF", -1, 29),
879
+ Among(u"\uFEB0", -1, 29),
880
+ Among(u"\uFEB1", -1, 30),
881
+ Among(u"\uFEB2", -1, 30),
882
+ Among(u"\uFEB3", -1, 30),
883
+ Among(u"\uFEB4", -1, 30),
884
+ Among(u"\uFEB5", -1, 31),
885
+ Among(u"\uFEB6", -1, 31),
886
+ Among(u"\uFEB7", -1, 31),
887
+ Among(u"\uFEB8", -1, 31),
888
+ Among(u"\uFEB9", -1, 32),
889
+ Among(u"\uFEBA", -1, 32),
890
+ Among(u"\uFEBB", -1, 32),
891
+ Among(u"\uFEBC", -1, 32),
892
+ Among(u"\uFEBD", -1, 33),
893
+ Among(u"\uFEBE", -1, 33),
894
+ Among(u"\uFEBF", -1, 33),
895
+ Among(u"\uFEC0", -1, 33),
896
+ Among(u"\uFEC1", -1, 34),
897
+ Among(u"\uFEC2", -1, 34),
898
+ Among(u"\uFEC3", -1, 34),
899
+ Among(u"\uFEC4", -1, 34),
900
+ Among(u"\uFEC5", -1, 35),
901
+ Among(u"\uFEC6", -1, 35),
902
+ Among(u"\uFEC7", -1, 35),
903
+ Among(u"\uFEC8", -1, 35),
904
+ Among(u"\uFEC9", -1, 36),
905
+ Among(u"\uFECA", -1, 36),
906
+ Among(u"\uFECB", -1, 36),
907
+ Among(u"\uFECC", -1, 36),
908
+ Among(u"\uFECD", -1, 37),
909
+ Among(u"\uFECE", -1, 37),
910
+ Among(u"\uFECF", -1, 37),
911
+ Among(u"\uFED0", -1, 37),
912
+ Among(u"\uFED1", -1, 38),
913
+ Among(u"\uFED2", -1, 38),
914
+ Among(u"\uFED3", -1, 38),
915
+ Among(u"\uFED4", -1, 38),
916
+ Among(u"\uFED5", -1, 39),
917
+ Among(u"\uFED6", -1, 39),
918
+ Among(u"\uFED7", -1, 39),
919
+ Among(u"\uFED8", -1, 39),
920
+ Among(u"\uFED9", -1, 40),
921
+ Among(u"\uFEDA", -1, 40),
922
+ Among(u"\uFEDB", -1, 40),
923
+ Among(u"\uFEDC", -1, 40),
924
+ Among(u"\uFEDD", -1, 41),
925
+ Among(u"\uFEDE", -1, 41),
926
+ Among(u"\uFEDF", -1, 41),
927
+ Among(u"\uFEE0", -1, 41),
928
+ Among(u"\uFEE1", -1, 42),
929
+ Among(u"\uFEE2", -1, 42),
930
+ Among(u"\uFEE3", -1, 42),
931
+ Among(u"\uFEE4", -1, 42),
932
+ Among(u"\uFEE5", -1, 43),
933
+ Among(u"\uFEE6", -1, 43),
934
+ Among(u"\uFEE7", -1, 43),
935
+ Among(u"\uFEE8", -1, 43),
936
+ Among(u"\uFEE9", -1, 44),
937
+ Among(u"\uFEEA", -1, 44),
938
+ Among(u"\uFEEB", -1, 44),
939
+ Among(u"\uFEEC", -1, 44),
940
+ Among(u"\uFEED", -1, 45),
941
+ Among(u"\uFEEE", -1, 45),
942
+ Among(u"\uFEEF", -1, 46),
943
+ Among(u"\uFEF0", -1, 46),
944
+ Among(u"\uFEF1", -1, 47),
945
+ Among(u"\uFEF2", -1, 47),
946
+ Among(u"\uFEF3", -1, 47),
947
+ Among(u"\uFEF4", -1, 47),
948
+ Among(u"\uFEF5", -1, 51),
949
+ Among(u"\uFEF6", -1, 51),
950
+ Among(u"\uFEF7", -1, 49),
951
+ Among(u"\uFEF8", -1, 49),
952
+ Among(u"\uFEF9", -1, 50),
953
+ Among(u"\uFEFA", -1, 50),
954
+ Among(u"\uFEFB", -1, 48),
955
+ Among(u"\uFEFC", -1, 48)
956
+ ]
766
957
 
767
- return True
958
+ a_1 = [
959
+ Among(u"\u0622", -1, 1),
960
+ Among(u"\u0623", -1, 1),
961
+ Among(u"\u0624", -1, 1),
962
+ Among(u"\u0625", -1, 1),
963
+ Among(u"\u0626", -1, 1)
964
+ ]
768
965
 
769
- def __r_Suffix_Noun_Step2c2(self):
770
- self.ket = self.cursor
771
- if self.find_among_b(ArabicStemmer.a_15) == 0:
772
- return False
773
- self.bra = self.cursor
774
- if not len(self.current) >= 4:
775
- return False
776
- if not self.slice_del():
777
- return False
966
+ a_2 = [
967
+ Among(u"\u0622", -1, 1),
968
+ Among(u"\u0623", -1, 1),
969
+ Among(u"\u0624", -1, 2),
970
+ Among(u"\u0625", -1, 1),
971
+ Among(u"\u0626", -1, 3)
972
+ ]
778
973
 
779
- return True
974
+ a_3 = [
975
+ Among(u"\u0627\u0644", -1, 2),
976
+ Among(u"\u0628\u0627\u0644", -1, 1),
977
+ Among(u"\u0643\u0627\u0644", -1, 1),
978
+ Among(u"\u0644\u0644", -1, 2)
979
+ ]
780
980
 
781
- def __r_Suffix_Noun_Step3(self):
782
- self.ket = self.cursor
783
- if self.find_among_b(ArabicStemmer.a_16) == 0:
784
- return False
785
- self.bra = self.cursor
786
- if not len(self.current) >= 3:
787
- return False
788
- if not self.slice_del():
789
- return False
981
+ a_4 = [
982
+ Among(u"\u0623\u0622", -1, 2),
983
+ Among(u"\u0623\u0623", -1, 1),
984
+ Among(u"\u0623\u0624", -1, 1),
985
+ Among(u"\u0623\u0625", -1, 4),
986
+ Among(u"\u0623\u0627", -1, 3)
987
+ ]
790
988
 
791
- return True
989
+ a_5 = [
990
+ Among(u"\u0641", -1, 1),
991
+ Among(u"\u0648", -1, 1)
992
+ ]
792
993
 
793
- def __r_Suffix_Verb_Step1(self):
794
- self.ket = self.cursor
795
- among_var = self.find_among_b(ArabicStemmer.a_17)
796
- if among_var == 0:
797
- return False
798
- self.bra = self.cursor
799
- if among_var == 1:
800
- if not len(self.current) >= 4:
801
- return False
802
- if not self.slice_del():
803
- return False
994
+ a_6 = [
995
+ Among(u"\u0627\u0644", -1, 2),
996
+ Among(u"\u0628\u0627\u0644", -1, 1),
997
+ Among(u"\u0643\u0627\u0644", -1, 1),
998
+ Among(u"\u0644\u0644", -1, 2)
999
+ ]
804
1000
 
805
- elif among_var == 2:
806
- if not len(self.current) >= 5:
807
- return False
808
- if not self.slice_del():
809
- return False
1001
+ a_7 = [
1002
+ Among(u"\u0628", -1, 1),
1003
+ Among(u"\u0628\u0627", 0, -1),
1004
+ Among(u"\u0628\u0628", 0, 2),
1005
+ Among(u"\u0643\u0643", -1, 3)
1006
+ ]
810
1007
 
811
- else:
812
- if not len(self.current) >= 6:
813
- return False
814
- if not self.slice_del():
815
- return False
1008
+ a_8 = [
1009
+ Among(u"\u0633\u0623", -1, 4),
1010
+ Among(u"\u0633\u062A", -1, 2),
1011
+ Among(u"\u0633\u0646", -1, 3),
1012
+ Among(u"\u0633\u064A", -1, 1)
1013
+ ]
816
1014
 
817
- return True
1015
+ a_9 = [
1016
+ Among(u"\u062A\u0633\u062A", -1, 1),
1017
+ Among(u"\u0646\u0633\u062A", -1, 1),
1018
+ Among(u"\u064A\u0633\u062A", -1, 1)
1019
+ ]
818
1020
 
819
- def __r_Suffix_Verb_Step2a(self):
820
- self.ket = self.cursor
821
- among_var = self.find_among_b(ArabicStemmer.a_18)
822
- if among_var == 0:
823
- return False
824
- self.bra = self.cursor
825
- if among_var == 1:
826
- if not len(self.current) >= 4:
827
- return False
828
- if not self.slice_del():
829
- return False
1021
+ a_10 = [
1022
+ Among(u"\u0643\u0645\u0627", -1, 3),
1023
+ Among(u"\u0647\u0645\u0627", -1, 3),
1024
+ Among(u"\u0646\u0627", -1, 2),
1025
+ Among(u"\u0647\u0627", -1, 2),
1026
+ Among(u"\u0643", -1, 1),
1027
+ Among(u"\u0643\u0645", -1, 2),
1028
+ Among(u"\u0647\u0645", -1, 2),
1029
+ Among(u"\u0647\u0646", -1, 2),
1030
+ Among(u"\u0647", -1, 1),
1031
+ Among(u"\u064A", -1, 1)
1032
+ ]
830
1033
 
831
- elif among_var == 2:
832
- if not len(self.current) >= 5:
833
- return False
834
- if not self.slice_del():
835
- return False
1034
+ a_11 = [
1035
+ Among(u"\u0646", -1, 1)
1036
+ ]
836
1037
 
837
- elif among_var == 3:
838
- if not len(self.current) > 5:
839
- return False
840
- if not self.slice_del():
841
- return False
1038
+ a_12 = [
1039
+ Among(u"\u0627", -1, 1),
1040
+ Among(u"\u0648", -1, 1),
1041
+ Among(u"\u064A", -1, 1)
1042
+ ]
842
1043
 
843
- else:
844
- if not len(self.current) >= 6:
845
- return False
846
- if not self.slice_del():
847
- return False
1044
+ a_13 = [
1045
+ Among(u"\u0627\u062A", -1, 1)
1046
+ ]
848
1047
 
849
- return True
1048
+ a_14 = [
1049
+ Among(u"\u062A", -1, 1)
1050
+ ]
850
1051
 
851
- def __r_Suffix_Verb_Step2b(self):
852
- self.ket = self.cursor
853
- if self.find_among_b(ArabicStemmer.a_19) == 0:
854
- return False
855
- self.bra = self.cursor
856
- if not len(self.current) >= 5:
857
- return False
858
- if not self.slice_del():
859
- return False
1052
+ a_15 = [
1053
+ Among(u"\u0629", -1, 1)
1054
+ ]
860
1055
 
861
- return True
1056
+ a_16 = [
1057
+ Among(u"\u064A", -1, 1)
1058
+ ]
862
1059
 
863
- def __r_Suffix_Verb_Step2c(self):
864
- self.ket = self.cursor
865
- among_var = self.find_among_b(ArabicStemmer.a_20)
866
- if among_var == 0:
867
- return False
868
- self.bra = self.cursor
869
- if among_var == 1:
870
- if not len(self.current) >= 4:
871
- return False
872
- if not self.slice_del():
873
- return False
1060
+ a_17 = [
1061
+ Among(u"\u0643\u0645\u0627", -1, 3),
1062
+ Among(u"\u0647\u0645\u0627", -1, 3),
1063
+ Among(u"\u0646\u0627", -1, 2),
1064
+ Among(u"\u0647\u0627", -1, 2),
1065
+ Among(u"\u0643", -1, 1),
1066
+ Among(u"\u0643\u0645", -1, 2),
1067
+ Among(u"\u0647\u0645", -1, 2),
1068
+ Among(u"\u0643\u0646", -1, 2),
1069
+ Among(u"\u0647\u0646", -1, 2),
1070
+ Among(u"\u0647", -1, 1),
1071
+ Among(u"\u0643\u0645\u0648", -1, 3),
1072
+ Among(u"\u0646\u064A", -1, 2)
1073
+ ]
874
1074
 
875
- else:
876
- if not len(self.current) >= 6:
877
- return False
878
- if not self.slice_del():
879
- return False
1075
+ a_18 = [
1076
+ Among(u"\u0627", -1, 1),
1077
+ Among(u"\u062A\u0627", 0, 2),
1078
+ Among(u"\u062A\u0645\u0627", 0, 4),
1079
+ Among(u"\u0646\u0627", 0, 2),
1080
+ Among(u"\u062A", -1, 1),
1081
+ Among(u"\u0646", -1, 1),
1082
+ Among(u"\u0627\u0646", 5, 3),
1083
+ Among(u"\u062A\u0646", 5, 2),
1084
+ Among(u"\u0648\u0646", 5, 3),
1085
+ Among(u"\u064A\u0646", 5, 3),
1086
+ Among(u"\u064A", -1, 1)
1087
+ ]
880
1088
 
881
- return True
1089
+ a_19 = [
1090
+ Among(u"\u0648\u0627", -1, 1),
1091
+ Among(u"\u062A\u0645", -1, 1)
1092
+ ]
882
1093
 
883
- def __r_Suffix_All_alef_maqsura(self):
884
- self.ket = self.cursor
885
- if self.find_among_b(ArabicStemmer.a_21) == 0:
886
- return False
887
- self.bra = self.cursor
888
- if not self.slice_from(u"\u064A"):
889
- return False
890
- return True
1094
+ a_20 = [
1095
+ Among(u"\u0648", -1, 1),
1096
+ Among(u"\u062A\u0645\u0648", 0, 2)
1097
+ ]
891
1098
 
892
- def _stem(self):
893
- self.B_is_noun = True
894
- self.B_is_verb = True
895
- self.B_is_defined = False
896
- v_1 = self.cursor
897
- self.__r_Checks1()
898
- self.cursor = v_1
899
- self.__r_Normalize_pre()
900
- self.limit_backward = self.cursor
901
- self.cursor = self.limit
902
- v_3 = self.limit - self.cursor
903
- try:
904
- try:
905
- v_4 = self.limit - self.cursor
906
- try:
907
- if not self.B_is_verb:
908
- raise lab2()
909
- try:
910
- v_5 = self.limit - self.cursor
911
- try:
912
- v_6 = 1
913
- while True:
914
- v_7 = self.limit - self.cursor
915
- try:
916
- if not self.__r_Suffix_Verb_Step1():
917
- raise lab5()
918
- v_6 -= 1
919
- continue
920
- except lab5: pass
921
- self.cursor = self.limit - v_7
922
- break
923
- if v_6 > 0:
924
- raise lab4()
925
- try:
926
- v_8 = self.limit - self.cursor
927
- try:
928
- if not self.__r_Suffix_Verb_Step2a():
929
- raise lab7()
930
- raise lab6()
931
- except lab7: pass
932
- self.cursor = self.limit - v_8
933
- try:
934
- if not self.__r_Suffix_Verb_Step2c():
935
- raise lab8()
936
- raise lab6()
937
- except lab8: pass
938
- self.cursor = self.limit - v_8
939
- if self.cursor <= self.limit_backward:
940
- raise lab4()
941
- self.cursor -= 1
942
- except lab6: pass
943
- raise lab3()
944
- except lab4: pass
945
- self.cursor = self.limit - v_5
946
- try:
947
- if not self.__r_Suffix_Verb_Step2b():
948
- raise lab9()
949
- raise lab3()
950
- except lab9: pass
951
- self.cursor = self.limit - v_5
952
- if not self.__r_Suffix_Verb_Step2a():
953
- raise lab2()
954
- except lab3: pass
955
- raise lab1()
956
- except lab2: pass
957
- self.cursor = self.limit - v_4
958
- try:
959
- if not self.B_is_noun:
960
- raise lab10()
961
- v_9 = self.limit - self.cursor
962
- try:
963
- try:
964
- v_10 = self.limit - self.cursor
965
- try:
966
- if not self.__r_Suffix_Noun_Step2c2():
967
- raise lab13()
968
- raise lab12()
969
- except lab13: pass
970
- self.cursor = self.limit - v_10
971
- try:
972
- try:
973
- if not self.B_is_defined:
974
- raise lab15()
975
- raise lab14()
976
- except lab15: pass
977
- if not self.__r_Suffix_Noun_Step1a():
978
- raise lab14()
979
- try:
980
- v_12 = self.limit - self.cursor
981
- try:
982
- if not self.__r_Suffix_Noun_Step2a():
983
- raise lab17()
984
- raise lab16()
985
- except lab17: pass
986
- self.cursor = self.limit - v_12
987
- try:
988
- if not self.__r_Suffix_Noun_Step2b():
989
- raise lab18()
990
- raise lab16()
991
- except lab18: pass
992
- self.cursor = self.limit - v_12
993
- try:
994
- if not self.__r_Suffix_Noun_Step2c1():
995
- raise lab19()
996
- raise lab16()
997
- except lab19: pass
998
- self.cursor = self.limit - v_12
999
- if self.cursor <= self.limit_backward:
1000
- raise lab14()
1001
- self.cursor -= 1
1002
- except lab16: pass
1003
- raise lab12()
1004
- except lab14: pass
1005
- self.cursor = self.limit - v_10
1006
- try:
1007
- if not self.__r_Suffix_Noun_Step1b():
1008
- raise lab20()
1009
- try:
1010
- v_13 = self.limit - self.cursor
1011
- try:
1012
- if not self.__r_Suffix_Noun_Step2a():
1013
- raise lab22()
1014
- raise lab21()
1015
- except lab22: pass
1016
- self.cursor = self.limit - v_13
1017
- try:
1018
- if not self.__r_Suffix_Noun_Step2b():
1019
- raise lab23()
1020
- raise lab21()
1021
- except lab23: pass
1022
- self.cursor = self.limit - v_13
1023
- if not self.__r_Suffix_Noun_Step2c1():
1024
- raise lab20()
1025
- except lab21: pass
1026
- raise lab12()
1027
- except lab20: pass
1028
- self.cursor = self.limit - v_10
1029
- try:
1030
- try:
1031
- if not self.B_is_defined:
1032
- raise lab25()
1033
- raise lab24()
1034
- except lab25: pass
1035
- if not self.__r_Suffix_Noun_Step2a():
1036
- raise lab24()
1037
- raise lab12()
1038
- except lab24: pass
1039
- self.cursor = self.limit - v_10
1040
- if not self.__r_Suffix_Noun_Step2b():
1041
- self.cursor = self.limit - v_9
1042
- raise lab11()
1043
- except lab12: pass
1044
- except lab11: pass
1045
- if not self.__r_Suffix_Noun_Step3():
1046
- raise lab10()
1047
- raise lab1()
1048
- except lab10: pass
1049
- self.cursor = self.limit - v_4
1050
- if not self.__r_Suffix_All_alef_maqsura():
1051
- raise lab0()
1052
- except lab1: pass
1053
- except lab0: pass
1054
- self.cursor = self.limit - v_3
1055
- self.cursor = self.limit_backward
1056
- v_15 = self.cursor
1057
- try:
1058
- v_16 = self.cursor
1059
- try:
1060
- if not self.__r_Prefix_Step1():
1061
- self.cursor = v_16
1062
- raise lab27()
1063
- except lab27: pass
1064
- v_17 = self.cursor
1065
- try:
1066
- if not self.__r_Prefix_Step2():
1067
- self.cursor = v_17
1068
- raise lab28()
1069
- except lab28: pass
1070
- try:
1071
- v_18 = self.cursor
1072
- try:
1073
- if not self.__r_Prefix_Step3a_Noun():
1074
- raise lab30()
1075
- raise lab29()
1076
- except lab30: pass
1077
- self.cursor = v_18
1078
- try:
1079
- if not self.B_is_noun:
1080
- raise lab31()
1081
- if not self.__r_Prefix_Step3b_Noun():
1082
- raise lab31()
1083
- raise lab29()
1084
- except lab31: pass
1085
- self.cursor = v_18
1086
- if not self.B_is_verb:
1087
- raise lab26()
1088
- v_19 = self.cursor
1089
- try:
1090
- if not self.__r_Prefix_Step3_Verb():
1091
- self.cursor = v_19
1092
- raise lab32()
1093
- except lab32: pass
1094
- if not self.__r_Prefix_Step4_Verb():
1095
- raise lab26()
1096
- except lab29: pass
1097
- except lab26: pass
1098
- self.cursor = v_15
1099
- self.__r_Normalize_post()
1100
- return True
1099
+ a_21 = [
1100
+ Among(u"\u0649", -1, 1)
1101
+ ]
1101
1102
 
1102
1103
 
1103
1104
  class lab0(BaseException): pass