synapse 2.197.0__tar.gz → 2.199.0__tar.gz

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.

Potentially problematic release.


This version of synapse might be problematic. Click here for more details.

Files changed (626) hide show
  1. {synapse-2.197.0/synapse.egg-info → synapse-2.199.0}/PKG-INFO +1 -1
  2. {synapse-2.197.0 → synapse-2.199.0}/pyproject.toml +1 -1
  3. {synapse-2.197.0 → synapse-2.199.0}/synapse/axon.py +3 -0
  4. {synapse-2.197.0 → synapse-2.199.0}/synapse/common.py +3 -0
  5. {synapse-2.197.0 → synapse-2.199.0}/synapse/cortex.py +1 -3
  6. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/aha.py +3 -0
  7. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/ast.py +277 -165
  8. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/auth.py +39 -11
  9. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/cell.py +22 -4
  10. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/hive.py +2 -1
  11. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/hiveauth.py +10 -1
  12. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/jsonstor.py +6 -5
  13. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/layer.py +6 -5
  14. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/node.py +10 -4
  15. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/parser.py +46 -21
  16. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/schemas.py +13 -0
  17. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/snap.py +112 -36
  18. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/storm.lark +13 -11
  19. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/storm.py +11 -10
  20. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/storm_format.py +3 -2
  21. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormtypes.py +13 -4
  22. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/version.py +2 -2
  23. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/view.py +2 -1
  24. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/infotech.py +18 -0
  25. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/risk.py +9 -0
  26. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/syn.py +18 -2
  27. synapse-2.199.0/synapse/tests/files/stormpkg/badendpoints.yaml +7 -0
  28. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/testpkg.yaml +8 -0
  29. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_cortex.py +108 -0
  30. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_datamodel.py +27 -5
  31. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_aha.py +22 -12
  32. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_ast.py +57 -0
  33. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_auth.py +143 -2
  34. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_grammar.py +54 -2
  35. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_lmdbslab.py +24 -0
  36. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_storm.py +24 -0
  37. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_macro.py +3 -3
  38. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormtypes.py +14 -2
  39. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_infotech.py +13 -0
  40. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_risk.py +6 -0
  41. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_syn.py +58 -0
  42. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_genpkg.py +10 -0
  43. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/utils.py +17 -0
  44. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/hive/load.py +1 -0
  45. {synapse-2.197.0 → synapse-2.199.0/synapse.egg-info}/PKG-INFO +1 -1
  46. {synapse-2.197.0 → synapse-2.199.0}/synapse.egg-info/SOURCES.txt +1 -0
  47. {synapse-2.197.0 → synapse-2.199.0}/LICENSE +0 -0
  48. {synapse-2.197.0 → synapse-2.199.0}/README.rst +0 -0
  49. {synapse-2.197.0 → synapse-2.199.0}/setup.cfg +0 -0
  50. {synapse-2.197.0 → synapse-2.199.0}/synapse/__init__.py +0 -0
  51. {synapse-2.197.0 → synapse-2.199.0}/synapse/cells.py +0 -0
  52. {synapse-2.197.0 → synapse-2.199.0}/synapse/cmds/__init__.py +0 -0
  53. {synapse-2.197.0 → synapse-2.199.0}/synapse/cmds/boss.py +0 -0
  54. {synapse-2.197.0 → synapse-2.199.0}/synapse/cmds/cortex.py +0 -0
  55. {synapse-2.197.0 → synapse-2.199.0}/synapse/cmds/hive.py +0 -0
  56. {synapse-2.197.0 → synapse-2.199.0}/synapse/cryotank.py +0 -0
  57. {synapse-2.197.0 → synapse-2.199.0}/synapse/daemon.py +0 -0
  58. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/__init__.py +0 -0
  59. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  60. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/attack-flow/README.md +0 -0
  61. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  62. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  63. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  64. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  65. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  66. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/iana.tlds.mpk +0 -0
  67. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/README.md +0 -0
  68. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  69. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  70. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  71. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  72. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  73. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  74. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  75. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  76. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  77. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  78. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  79. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  80. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  81. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  82. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  83. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  84. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  85. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  86. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  87. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  88. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  89. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  90. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  91. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  92. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  93. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  94. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  95. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  96. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  97. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  98. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  99. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  100. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  101. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  102. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  103. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  104. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  105. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  106. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  107. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  108. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  109. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  110. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  111. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  112. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  113. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  114. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  115. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  116. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  117. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  118. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  119. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  120. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  121. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  122. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  123. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  124. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  125. {synapse-2.197.0 → synapse-2.199.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  126. {synapse-2.197.0 → synapse-2.199.0}/synapse/datamodel.py +0 -0
  127. {synapse-2.197.0 → synapse-2.199.0}/synapse/exc.py +0 -0
  128. {synapse-2.197.0 → synapse-2.199.0}/synapse/glob.py +0 -0
  129. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/__init__.py +0 -0
  130. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/agenda.py +0 -0
  131. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/autodoc.py +0 -0
  132. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/base.py +0 -0
  133. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/boss.py +0 -0
  134. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/cache.py +0 -0
  135. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/certdir.py +0 -0
  136. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/chop.py +0 -0
  137. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/cli.py +0 -0
  138. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/cmd.py +0 -0
  139. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/cmdr.py +0 -0
  140. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/config.py +0 -0
  141. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/const.py +0 -0
  142. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/coro.py +0 -0
  143. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/crypto/__init__.py +0 -0
  144. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/crypto/coin.py +0 -0
  145. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/crypto/ecc.py +0 -0
  146. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/crypto/passwd.py +0 -0
  147. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/crypto/rsa.py +0 -0
  148. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/crypto/tinfoil.py +0 -0
  149. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/datfile.py +0 -0
  150. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/drive.py +0 -0
  151. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/dyndeps.py +0 -0
  152. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/encoding.py +0 -0
  153. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/gis.py +0 -0
  154. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/grammar.py +0 -0
  155. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/hashitem.py +0 -0
  156. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/hashset.py +0 -0
  157. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/health.py +0 -0
  158. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/httpapi.py +0 -0
  159. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/ingest.py +0 -0
  160. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/interval.py +0 -0
  161. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/link.py +0 -0
  162. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/lmdbslab.py +0 -0
  163. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/modelrev.py +0 -0
  164. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/module.py +0 -0
  165. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/modules.py +0 -0
  166. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/msgpack.py +0 -0
  167. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/multislabseqn.py +0 -0
  168. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/nexus.py +0 -0
  169. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/oauth.py +0 -0
  170. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/output.py +0 -0
  171. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/platforms/__init__.py +0 -0
  172. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/platforms/common.py +0 -0
  173. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/platforms/darwin.py +0 -0
  174. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/platforms/freebsd.py +0 -0
  175. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/platforms/linux.py +0 -0
  176. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/platforms/windows.py +0 -0
  177. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/queue.py +0 -0
  178. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/ratelimit.py +0 -0
  179. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/reflect.py +0 -0
  180. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/rstorm.py +0 -0
  181. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/scope.py +0 -0
  182. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/scrape.py +0 -0
  183. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/share.py +0 -0
  184. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/slaboffs.py +0 -0
  185. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/slabseqn.py +0 -0
  186. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/spooled.py +0 -0
  187. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormctrl.py +0 -0
  188. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormhttp.py +0 -0
  189. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/__init__.py +0 -0
  190. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/aha.py +0 -0
  191. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/auth.py +0 -0
  192. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/backup.py +0 -0
  193. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/basex.py +0 -0
  194. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/cache.py +0 -0
  195. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/cell.py +0 -0
  196. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/compression.py +0 -0
  197. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/cortex.py +0 -0
  198. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/easyperm.py +0 -0
  199. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/env.py +0 -0
  200. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/ethereum.py +0 -0
  201. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/gen.py +0 -0
  202. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/gis.py +0 -0
  203. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/graph.py +0 -0
  204. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/hashes.py +0 -0
  205. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/hex.py +0 -0
  206. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/imap.py +0 -0
  207. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/index.py +0 -0
  208. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/infosec.py +0 -0
  209. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/ipv6.py +0 -0
  210. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/iters.py +0 -0
  211. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/json.py +0 -0
  212. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/log.py +0 -0
  213. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/macro.py +0 -0
  214. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/math.py +0 -0
  215. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/mime.py +0 -0
  216. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/model.py +0 -0
  217. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/modelext.py +0 -0
  218. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/notifications.py +0 -0
  219. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/oauth.py +0 -0
  220. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/pack.py +0 -0
  221. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/project.py +0 -0
  222. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/random.py +0 -0
  223. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/scrape.py +0 -0
  224. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/smtp.py +0 -0
  225. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/spooled.py +0 -0
  226. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/stats.py +0 -0
  227. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/stix.py +0 -0
  228. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/storm.py +0 -0
  229. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/tabular.py +0 -0
  230. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/utils.py +0 -0
  231. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/vault.py +0 -0
  232. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/version.py +0 -0
  233. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/xml.py +0 -0
  234. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormlib/yaml.py +0 -0
  235. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormsvc.py +0 -0
  236. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/stormwhois.py +0 -0
  237. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/structlog.py +0 -0
  238. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/task.py +0 -0
  239. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/thishost.py +0 -0
  240. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/thisplat.py +0 -0
  241. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/threads.py +0 -0
  242. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/time.py +0 -0
  243. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/trigger.py +0 -0
  244. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/types.py +0 -0
  245. {synapse-2.197.0 → synapse-2.199.0}/synapse/lib/urlhelp.py +0 -0
  246. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/__init__.py +0 -0
  247. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/cvss.py +0 -0
  248. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/iana.py +0 -0
  249. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/iso3166.py +0 -0
  250. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/macho.py +0 -0
  251. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/pe.py +0 -0
  252. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/phonenum.py +0 -0
  253. {synapse-2.197.0 → synapse-2.199.0}/synapse/lookup/timezones.py +0 -0
  254. {synapse-2.197.0 → synapse-2.199.0}/synapse/mindmeld.py +0 -0
  255. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/__init__.py +0 -0
  256. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/auth.py +0 -0
  257. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/base.py +0 -0
  258. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/belief.py +0 -0
  259. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/biz.py +0 -0
  260. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/crypto.py +0 -0
  261. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/dns.py +0 -0
  262. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/doc.py +0 -0
  263. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/economic.py +0 -0
  264. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/entity.py +0 -0
  265. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/files.py +0 -0
  266. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/geopol.py +0 -0
  267. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/geospace.py +0 -0
  268. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/gov/__init__.py +0 -0
  269. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/gov/cn.py +0 -0
  270. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/gov/intl.py +0 -0
  271. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/gov/us.py +0 -0
  272. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/inet.py +0 -0
  273. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/language.py +0 -0
  274. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/material.py +0 -0
  275. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/math.py +0 -0
  276. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/media.py +0 -0
  277. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/orgs.py +0 -0
  278. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/person.py +0 -0
  279. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/planning.py +0 -0
  280. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/proj.py +0 -0
  281. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/science.py +0 -0
  282. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/telco.py +0 -0
  283. {synapse-2.197.0 → synapse-2.199.0}/synapse/models/transport.py +0 -0
  284. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/__init__.py +0 -0
  285. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/aha.py +0 -0
  286. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/axon.py +0 -0
  287. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/cell.py +0 -0
  288. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/cortex.py +0 -0
  289. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/cryotank.py +0 -0
  290. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/jsonstor.py +0 -0
  291. {synapse-2.197.0 → synapse-2.199.0}/synapse/servers/stemcell.py +0 -0
  292. {synapse-2.197.0 → synapse-2.199.0}/synapse/telepath.py +0 -0
  293. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/__init__.py +0 -0
  294. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  295. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/__init__.py +0 -0
  296. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  297. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  298. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  299. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  300. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  301. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  302. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  303. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  304. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  305. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  306. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  307. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  308. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  309. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/users/root.key +0 -0
  310. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  311. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/certdir/users/user.key +0 -0
  312. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  313. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  314. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/cpedata.json +0 -0
  315. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  316. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  317. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  318. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  319. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  320. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stix_export/basic.json +0 -0
  321. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  322. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  323. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  324. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  325. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  326. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  327. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  328. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  329. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  330. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  331. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  332. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormmod/common +0 -0
  333. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  334. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  335. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  336. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  337. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  338. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  339. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  340. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  341. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  342. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  343. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  344. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  345. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  346. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  347. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  348. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  349. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  350. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  351. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  352. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  353. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  354. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  355. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/test.dat +0 -0
  356. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  357. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/nopmod.py +0 -0
  358. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_axon.py +0 -0
  359. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_cmds_boss.py +0 -0
  360. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_cmds_cortex.py +0 -0
  361. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_cmds_hive.py +0 -0
  362. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_common.py +0 -0
  363. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_cryotank.py +0 -0
  364. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_daemon.py +0 -0
  365. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_data.py +0 -0
  366. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_exc.py +0 -0
  367. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_glob.py +0 -0
  368. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_init.py +0 -0
  369. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_agenda.py +0 -0
  370. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_autodoc.py +0 -0
  371. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_base.py +0 -0
  372. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_boss.py +0 -0
  373. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_cache.py +0 -0
  374. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_cell.py +0 -0
  375. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_certdir.py +0 -0
  376. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_chop.py +0 -0
  377. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_cli.py +0 -0
  378. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_config.py +0 -0
  379. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_const.py +0 -0
  380. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_coro.py +0 -0
  381. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  382. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  383. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  384. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  385. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_datfile.py +0 -0
  386. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  387. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_encoding.py +0 -0
  388. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_gis.py +0 -0
  389. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_hashitem.py +0 -0
  390. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_hashset.py +0 -0
  391. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_health.py +0 -0
  392. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_hive.py +0 -0
  393. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_httpapi.py +0 -0
  394. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_interval.py +0 -0
  395. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  396. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_layer.py +0 -0
  397. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_link.py +0 -0
  398. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_modelrev.py +0 -0
  399. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_module.py +0 -0
  400. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_msgpack.py +0 -0
  401. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  402. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_nexus.py +0 -0
  403. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_node.py +0 -0
  404. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_output.py +0 -0
  405. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  406. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_queue.py +0 -0
  407. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  408. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_reflect.py +0 -0
  409. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_rstorm.py +0 -0
  410. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_scope.py +0 -0
  411. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_scrape.py +0 -0
  412. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  413. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  414. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_snap.py +0 -0
  415. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_spooled.py +0 -0
  416. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_storm_format.py +0 -0
  417. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  418. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  419. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  420. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  421. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  422. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  423. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  424. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  425. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  426. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  427. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  428. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  429. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  430. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  431. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  432. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  433. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  434. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  435. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  436. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  437. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  438. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  439. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  440. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  441. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  442. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  443. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  444. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  445. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  446. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  447. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  448. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  449. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  450. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  451. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  452. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  453. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  454. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  455. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  456. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  457. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  458. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  459. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  460. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_structlog.py +0 -0
  461. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_task.py +0 -0
  462. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_thishost.py +0 -0
  463. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_time.py +0 -0
  464. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_trigger.py +0 -0
  465. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_types.py +0 -0
  466. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  467. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_version.py +0 -0
  468. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lib_view.py +0 -0
  469. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  470. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  471. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_mindmeld.py +0 -0
  472. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_auth.py +0 -0
  473. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_base.py +0 -0
  474. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_belief.py +0 -0
  475. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_biz.py +0 -0
  476. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_crypto.py +0 -0
  477. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_dns.py +0 -0
  478. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_doc.py +0 -0
  479. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_economic.py +0 -0
  480. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_files.py +0 -0
  481. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_geopol.py +0 -0
  482. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_geospace.py +0 -0
  483. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_gov_cn.py +0 -0
  484. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_gov_intl.py +0 -0
  485. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_gov_us.py +0 -0
  486. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_inet.py +0 -0
  487. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_language.py +0 -0
  488. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_material.py +0 -0
  489. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_math.py +0 -0
  490. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_media.py +0 -0
  491. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_orgs.py +0 -0
  492. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_person.py +0 -0
  493. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_planning.py +0 -0
  494. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_proj.py +0 -0
  495. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_science.py +0 -0
  496. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_telco.py +0 -0
  497. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_model_transport.py +0 -0
  498. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_servers_axon.py +0 -0
  499. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_servers_cortex.py +0 -0
  500. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_servers_cryotank.py +0 -0
  501. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_servers_stemcell.py +0 -0
  502. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_servers_univ.py +0 -0
  503. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_telepath.py +0 -0
  504. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_aha.py +0 -0
  505. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_apikey.py +0 -0
  506. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_autodoc.py +0 -0
  507. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  508. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_backup.py +0 -0
  509. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_cellauth.py +0 -0
  510. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_changelog.py +0 -0
  511. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  512. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  513. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_csvtool.py +0 -0
  514. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  515. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_easycert.py +0 -0
  516. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_feed.py +0 -0
  517. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_guid.py +0 -0
  518. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  519. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_hiveload.py +0 -0
  520. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_hivesave.py +0 -0
  521. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  522. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_livebackup.py +0 -0
  523. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_modrole.py +0 -0
  524. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_moduser.py +0 -0
  525. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_promote.py +0 -0
  526. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_pullfile.py +0 -0
  527. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_pushfile.py +0 -0
  528. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_reload.py +0 -0
  529. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_rstorm.py +0 -0
  530. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_snapshot.py +0 -0
  531. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_tools_storm.py +0 -0
  532. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_utils.py +0 -0
  533. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_utils_getrefs.py +0 -0
  534. {synapse-2.197.0 → synapse-2.199.0}/synapse/tests/test_utils_stormcov.py +0 -0
  535. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/__init__.py +0 -0
  536. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/__init__.py +0 -0
  537. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/clone.py +0 -0
  538. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/easycert.py +0 -0
  539. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/enroll.py +0 -0
  540. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/list.py +0 -0
  541. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/mirror.py +0 -0
  542. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/provision/__init__.py +0 -0
  543. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/provision/service.py +0 -0
  544. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/aha/provision/user.py +0 -0
  545. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/apikey.py +0 -0
  546. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/autodoc.py +0 -0
  547. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/axon2axon.py +0 -0
  548. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/backup.py +0 -0
  549. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/cellauth.py +0 -0
  550. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/changelog.py +0 -0
  551. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/cmdr.py +0 -0
  552. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/cryo/__init__.py +0 -0
  553. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/cryo/cat.py +0 -0
  554. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/cryo/list.py +0 -0
  555. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/csvtool.py +0 -0
  556. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/docker/__init__.py +0 -0
  557. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/docker/validate.py +0 -0
  558. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/easycert.py +0 -0
  559. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/feed.py +0 -0
  560. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/genpkg.py +0 -0
  561. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/guid.py +0 -0
  562. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/healthcheck.py +0 -0
  563. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/hive/__init__.py +0 -0
  564. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/hive/save.py +0 -0
  565. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/json2mpk.py +0 -0
  566. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/livebackup.py +0 -0
  567. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/modrole.py +0 -0
  568. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/moduser.py +0 -0
  569. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/promote.py +0 -0
  570. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/pullfile.py +0 -0
  571. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/pushfile.py +0 -0
  572. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/reload.py +0 -0
  573. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/rstorm.py +0 -0
  574. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/snapshot.py +0 -0
  575. {synapse-2.197.0 → synapse-2.199.0}/synapse/tools/storm.py +0 -0
  576. {synapse-2.197.0 → synapse-2.199.0}/synapse/utils/__init__.py +0 -0
  577. {synapse-2.197.0 → synapse-2.199.0}/synapse/utils/getrefs.py +0 -0
  578. {synapse-2.197.0 → synapse-2.199.0}/synapse/utils/stormcov/__init__.py +0 -0
  579. {synapse-2.197.0 → synapse-2.199.0}/synapse/utils/stormcov/plugin.py +0 -0
  580. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/__init__.py +0 -0
  581. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  582. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  583. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/base58.py +0 -0
  584. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/convert.py +0 -0
  585. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  586. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  587. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  588. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/LICENSE +0 -0
  589. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/__init__.py +0 -0
  590. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  591. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  592. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  593. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  594. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  595. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  596. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  597. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  598. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  599. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  600. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  601. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  602. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  603. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  604. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  605. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  606. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  607. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  608. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  609. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  610. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/utils.py +0 -0
  611. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/LICENSE +0 -0
  612. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/__init__.py +0 -0
  613. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/constants.py +0 -0
  614. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  615. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  616. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  617. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  618. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  619. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  620. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  621. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  622. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  623. {synapse-2.197.0 → synapse-2.199.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  624. {synapse-2.197.0 → synapse-2.199.0}/synapse.egg-info/dependency_links.txt +0 -0
  625. {synapse-2.197.0 → synapse-2.199.0}/synapse.egg-info/requires.txt +0 -0
  626. {synapse-2.197.0 → synapse-2.199.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: synapse
3
- Version: 2.197.0
3
+ Version: 2.199.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.197.0'
7
+ version = '2.199.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -1017,6 +1017,7 @@ class Axon(s_cell.Cell):
1017
1017
  '''
1018
1018
  for item in self.axonhist.carve(tick, tock=tock):
1019
1019
  yield item
1020
+ await asyncio.sleep(0)
1020
1021
 
1021
1022
  async def hashes(self, offs, wait=False, timeout=None):
1022
1023
  '''
@@ -1086,10 +1087,12 @@ class Axon(s_cell.Cell):
1086
1087
 
1087
1088
  async for byts in self._getBytsOffsSize(sha256, offs, size):
1088
1089
  yield byts
1090
+ await asyncio.sleep(0)
1089
1091
 
1090
1092
  else:
1091
1093
  async for byts in self._get(sha256):
1092
1094
  yield byts
1095
+ await asyncio.sleep(0)
1093
1096
 
1094
1097
  async def _get(self, sha256):
1095
1098
 
@@ -1222,6 +1222,9 @@ def trimText(text: str, n: int = 256, placeholder: str = '...') -> str:
1222
1222
  assert n > plen
1223
1223
  return f'{text[:mlen]}{placeholder}'
1224
1224
 
1225
+ def queryhash(text):
1226
+ return hashlib.md5(text.encode(errors='surrogatepass'), usedforsecurity=False).hexdigest()
1227
+
1225
1228
  def _patch_http_cookies():
1226
1229
  '''
1227
1230
  Patch stdlib http.cookies._unquote from the 3.11.10 implementation if
@@ -4656,10 +4656,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4656
4656
  if not path:
4657
4657
  return await self.cellapi.anit(self, link, user)
4658
4658
 
4659
- # allow an admin to directly open the cortex hive
4660
- # (perhaps this should be a Cell() level pattern)
4661
4659
  if path[0] == 'hive' and user.isAdmin():
4662
- s_common.deprecated('Cortex /hive telepath path', curv='2.167.0')
4660
+ s_common.deprecated('Cortex /hive telepath path', curv='2.198.0', eolv='2.199.0')
4663
4661
  return await self.hiveapi.anit(self.hive, user)
4664
4662
 
4665
4663
  if path[0] == 'layer':
@@ -1592,6 +1592,7 @@ class AhaCell(s_cell.Cell):
1592
1592
  self.slab.delete(iden, db='aha:provs')
1593
1593
  provinfo = s_msgpack.un(byts)
1594
1594
  logger.info(f'Deleted service provisioning service={provinfo.get("conf").get("aha:name")}, iden={iden.decode()}')
1595
+ await asyncio.sleep(0)
1595
1596
 
1596
1597
  @s_nexus.Pusher.onPushAuto('aha:enroll:clear')
1597
1598
  async def clearAhaUserEnrolls(self):
@@ -1599,6 +1600,7 @@ class AhaCell(s_cell.Cell):
1599
1600
  self.slab.delete(iden, db='aha:enrolls')
1600
1601
  userinfo = s_msgpack.un(byts)
1601
1602
  logger.info(f'Deleted user enrollment username={userinfo.get("name")}, iden={iden.decode()}')
1603
+ await asyncio.sleep(0)
1602
1604
 
1603
1605
  @s_nexus.Pusher.onPushAuto('aha:clone:clear')
1604
1606
  async def clearAhaClones(self):
@@ -1606,6 +1608,7 @@ class AhaCell(s_cell.Cell):
1606
1608
  self.slab.delete(lkey, db='aha:clones')
1607
1609
  cloninfo = s_msgpack.un(byts)
1608
1610
  logger.info(f'Deleted AHA clone enrollment username={cloninfo.get("host")}, iden={s_common.ehex(lkey)}')
1611
+ await asyncio.sleep(0)
1609
1612
 
1610
1613
  @s_nexus.Pusher.onPushAuto('aha:svc:prov:del')
1611
1614
  async def delAhaSvcProv(self, iden):
@@ -62,7 +62,7 @@ class AstNode:
62
62
 
63
63
  def getPosInfo(self):
64
64
  return {
65
- 'hash': hashlib.md5(self.astinfo.text.encode(), usedforsecurity=False).hexdigest(),
65
+ 'hash': s_common.queryhash(self.astinfo.text),
66
66
  'lines': (self.astinfo.sline, self.astinfo.eline),
67
67
  'columns': (self.astinfo.scol, self.astinfo.ecol),
68
68
  'offsets': (self.astinfo.soff, self.astinfo.eoff),
@@ -699,7 +699,92 @@ class SubGraph:
699
699
  yield node, path
700
700
 
701
701
  class Oper(AstNode):
702
- pass
702
+
703
+ async def yieldFromValu(self, runt, valu, vkid):
704
+
705
+ viewiden = runt.snap.view.iden
706
+
707
+ # there is nothing in None... ;)
708
+ if valu is None:
709
+ return
710
+
711
+ # a little DWIM on what we get back...
712
+ # ( most common case will be stormtypes libs agenr -> iden|buid )
713
+ # buid list -> nodes
714
+ if isinstance(valu, bytes):
715
+ node = await runt.snap.getNodeByBuid(valu)
716
+ if node is not None:
717
+ yield node
718
+
719
+ return
720
+
721
+ # iden list -> nodes
722
+ if isinstance(valu, str):
723
+ try:
724
+ buid = s_common.uhex(valu)
725
+ except binascii.Error:
726
+ mesg = 'Yield string must be iden in hexdecimal. Got: %r' % (valu,)
727
+ raise vkid.addExcInfo(s_exc.BadLiftValu(mesg=mesg))
728
+
729
+ node = await runt.snap.getNodeByBuid(buid)
730
+ if node is not None:
731
+ yield node
732
+
733
+ return
734
+
735
+ if isinstance(valu, types.AsyncGeneratorType):
736
+ try:
737
+ async for item in valu:
738
+ async for node in self.yieldFromValu(runt, item, vkid):
739
+ yield node
740
+ finally:
741
+ await valu.aclose()
742
+ return
743
+
744
+ if isinstance(valu, types.GeneratorType):
745
+ try:
746
+ for item in valu:
747
+ async for node in self.yieldFromValu(runt, item, vkid):
748
+ yield node
749
+ finally:
750
+ valu.close()
751
+ return
752
+
753
+ if isinstance(valu, (list, tuple, set)):
754
+ for item in valu:
755
+ async for node in self.yieldFromValu(runt, item, vkid):
756
+ yield node
757
+ return
758
+
759
+ if isinstance(valu, s_stormtypes.Node):
760
+ valu = valu.valu
761
+ if valu.snap.view.iden != viewiden:
762
+ mesg = f'Node is not from the current view. Node {valu.iden()} is from {valu.snap.view.iden} expected {viewiden}'
763
+ raise vkid.addExcInfo(s_exc.BadLiftValu(mesg=mesg))
764
+ yield valu
765
+ return
766
+
767
+ if isinstance(valu, s_node.Node):
768
+ if valu.snap.view.iden != viewiden:
769
+ mesg = f'Node is not from the current view. Node {valu.iden()} is from {valu.snap.view.iden} expected {viewiden}'
770
+ raise vkid.addExcInfo(s_exc.BadLiftValu(mesg=mesg))
771
+ yield valu
772
+ return
773
+
774
+ if isinstance(valu, (s_stormtypes.List, s_stormtypes.Set)):
775
+ for item in valu.valu:
776
+ async for node in self.yieldFromValu(runt, item, vkid):
777
+ yield node
778
+ return
779
+
780
+ if isinstance(valu, s_stormtypes.Prim):
781
+ async with contextlib.aclosing(valu.nodes()) as genr:
782
+ async for node in genr:
783
+ if node.snap.view.iden != viewiden:
784
+ mesg = f'Node is not from the current view. Node {node.iden()} is from {node.snap.view.iden} expected {viewiden}'
785
+ raise vkid.addExcInfo(s_exc.BadLiftValu(mesg=mesg))
786
+ yield node
787
+ return
703
788
 
704
789
  class SubQuery(Oper):
705
790
 
@@ -1534,106 +1619,21 @@ class YieldValu(Oper):
1534
1619
  async def run(self, runt, genr):
1535
1620
 
1536
1621
  node = None
1622
+ vkid = self.kids[0]
1537
1623
 
1538
1624
  async for node, path in genr:
1539
- valu = await self.kids[0].compute(runt, path)
1540
- async with contextlib.aclosing(self.yieldFromValu(runt, valu)) as agen:
1625
+ valu = await vkid.compute(runt, path)
1626
+ async with contextlib.aclosing(self.yieldFromValu(runt, valu, vkid)) as agen:
1541
1627
  async for subn in agen:
1542
1628
  yield subn, runt.initPath(subn)
1543
1629
  yield node, path
1544
1630
 
1545
1631
  if node is None and self.kids[0].isRuntSafe(runt):
1546
- valu = await self.kids[0].compute(runt, None)
1547
- async with contextlib.aclosing(self.yieldFromValu(runt, valu)) as agen:
1632
+ valu = await vkid.compute(runt, None)
1633
+ async with contextlib.aclosing(self.yieldFromValu(runt, valu, vkid)) as agen:
1548
1634
  async for subn in agen:
1549
1635
  yield subn, runt.initPath(subn)
1550
1636
 
1551
- async def yieldFromValu(self, runt, valu):
1552
-
1553
- viewiden = runt.snap.view.iden
1554
-
1555
- # there is nothing in None... ;)
1556
- if valu is None:
1557
- return
1558
-
1559
- # a little DWIM on what we get back...
1560
- # ( most common case will be stormtypes libs agenr -> iden|buid )
1561
- # buid list -> nodes
1562
- if isinstance(valu, bytes):
1563
- node = await runt.snap.getNodeByBuid(valu)
1564
- if node is not None:
1565
- yield node
1566
-
1567
- return
1568
-
1569
- # iden list -> nodes
1570
- if isinstance(valu, str):
1571
- try:
1572
- buid = s_common.uhex(valu)
1573
- except binascii.Error:
1574
- mesg = 'Yield string must be iden in hexdecimal. Got: %r' % (valu,)
1575
- raise self.kids[0].addExcInfo(s_exc.BadLiftValu(mesg=mesg))
1576
-
1577
- node = await runt.snap.getNodeByBuid(buid)
1578
- if node is not None:
1579
- yield node
1580
-
1581
- return
1582
-
1583
- if isinstance(valu, types.AsyncGeneratorType):
1584
- try:
1585
- async for item in valu:
1586
- async for node in self.yieldFromValu(runt, item):
1587
- yield node
1588
- finally:
1589
- await valu.aclose()
1590
- return
1591
-
1592
- if isinstance(valu, types.GeneratorType):
1593
- try:
1594
- for item in valu:
1595
- async for node in self.yieldFromValu(runt, item):
1596
- yield node
1597
- finally:
1598
- valu.close()
1599
- return
1600
-
1601
- if isinstance(valu, (list, tuple, set)):
1602
- for item in valu:
1603
- async for node in self.yieldFromValu(runt, item):
1604
- yield node
1605
- return
1606
-
1607
- if isinstance(valu, s_stormtypes.Node):
1608
- valu = valu.valu
1609
- if valu.snap.view.iden != viewiden:
1610
- mesg = f'Node is not from the current view. Node {valu.iden()} is from {valu.snap.view.iden} expected {viewiden}'
1611
- raise s_exc.BadLiftValu(mesg=mesg)
1612
- yield valu
1613
- return
1614
-
1615
- if isinstance(valu, s_node.Node):
1616
- if valu.snap.view.iden != viewiden:
1617
- mesg = f'Node is not from the current view. Node {valu.iden()} is from {valu.snap.view.iden} expected {viewiden}'
1618
- raise s_exc.BadLiftValu(mesg=mesg)
1619
- yield valu
1620
- return
1621
-
1622
- if isinstance(valu, (s_stormtypes.List, s_stormtypes.Set)):
1623
- for item in valu.valu:
1624
- async for node in self.yieldFromValu(runt, item):
1625
- yield node
1626
- return
1627
-
1628
- if isinstance(valu, s_stormtypes.Prim):
1629
- async with contextlib.aclosing(valu.nodes()) as genr:
1630
- async for node in genr:
1631
- if node.snap.view.iden != viewiden:
1632
- mesg = f'Node is not from the current view. Node {node.iden()} is from {node.snap.view.iden} expected {viewiden}'
1633
- raise s_exc.BadLiftValu(mesg=mesg)
1634
- yield node
1635
- return
1636
-
1637
1637
  class LiftTag(LiftOper):
1638
1638
 
1639
1639
  async def lift(self, runt, path):
@@ -4370,6 +4370,83 @@ class EditPropSet(Edit):
4370
4370
 
4371
4371
  await asyncio.sleep(0)
4372
4372
 
4373
+ class EditPropSetMulti(Edit):
4374
+
4375
+ async def run(self, runt, genr):
4376
+
4377
+ self.reqNotReadOnly(runt)
4378
+
4379
+ rval = self.kids[2]
4380
+ oper = await self.kids[1].compute(runt, None)
4381
+
4382
+ isadd = '+' in oper
4383
+ excignore = (s_exc.BadTypeValu,) if '?' in oper else ()
4384
+
4385
+ async for node, path in genr:
4386
+
4387
+ propname = await self.kids[0].compute(runt, path)
4388
+ name = await tostr(propname)
4389
+
4390
+ prop = node.form.props.get(name)
4391
+ if prop is None:
4392
+ if (exc := await s_stormtypes.typeerr(propname, str)) is None:
4393
+ exc = s_exc.NoSuchProp.init(f'{node.form.name}:{name}')
4394
+
4395
+ raise self.kids[0].addExcInfo(exc)
4396
+
4397
+ runt.confirmPropSet(prop)
4398
+
4399
+ if not prop.type.isarray:
4400
+ mesg = f'Property set using ({oper}) is only valid on arrays.'
4401
+ exc = s_exc.StormRuntimeError(mesg=mesg)
4402
+ raise self.kids[0].addExcInfo(exc)
4403
+
4404
+ if isinstance(rval, SubQuery):
4405
+ valu = await rval.compute_array(runt, path)
4406
+ else:
4407
+ valu = await rval.compute(runt, path)
4408
+
4409
+ if valu is None:
4410
+ yield node, path
4411
+ await asyncio.sleep(0)
4412
+ continue
4413
+
4414
+ atyp = prop.type.arraytype
4415
+ isndef = isinstance(atyp, s_types.Ndef)
4416
+ valu = await s_stormtypes.tostor(valu, isndef=isndef)
4417
+
4418
+ if (arry := node.get(name)) is None:
4419
+ arry = ()
4420
+
4421
+ arry = list(arry)
4422
+
4423
+ try:
4424
+ for item in valu:
4425
+ await asyncio.sleep(0)
4426
+
4427
+ try:
4428
+ norm, info = atyp.norm(item)
4429
+ except excignore:
4430
+ continue
4431
+
4432
+ if isadd:
4433
+ arry.append(norm)
4434
+ else:
4435
+ try:
4436
+ arry.remove(norm)
4437
+ except ValueError:
4438
+ pass
4439
+
4440
+ except TypeError:
4441
+ styp = await s_stormtypes.totype(valu, basetypes=True)
4442
+ mesg = f"'{styp}' object is not iterable: {s_common.trimText(repr(valu))}"
4443
+ raise rval.addExcInfo(s_exc.StormRuntimeError(mesg=mesg, type=styp)) from None
4444
+
4445
+ await node.set(name, arry)
4446
+
4447
+ yield node, path
4448
+ await asyncio.sleep(0)
4449
+
4373
4450
  class EditPropDel(Edit):
4374
4451
 
4375
4452
  async def run(self, runt, genr):
@@ -4578,17 +4655,27 @@ class EditEdgeAdd(Edit):
4578
4655
 
4579
4656
  self.reqNotReadOnly(runt)
4580
4657
 
4581
- # SubQuery -> Query
4582
- query = self.kids[1].kids[0]
4658
+ constverb = False
4659
+ if self.kids[0].isconst:
4660
+ constverb = True
4661
+ verb = await tostr(await self.kids[0].compute(runt, None))
4662
+ runt.layerConfirm(('node', 'edge', 'add', verb))
4663
+ else:
4664
+ hits = set()
4665
+ def allowed(x):
4666
+ if x in hits:
4667
+ return
4583
4668
 
4584
- hits = set()
4669
+ runt.layerConfirm(('node', 'edge', 'add', x))
4670
+ hits.add(x)
4585
4671
 
4586
- def allowed(x):
4587
- if x in hits:
4588
- return
4672
+ isvar = False
4673
+ vkid = self.kids[1]
4589
4674
 
4590
- runt.layerConfirm(('node', 'edge', 'add', x))
4591
- hits.add(x)
4675
+ if not isinstance(vkid, SubQuery):
4676
+ isvar = True
4677
+ else:
4678
+ query = vkid.kids[0]
4592
4679
 
4593
4680
  async for node, path in genr:
4594
4681
 
@@ -4596,38 +4683,44 @@ class EditEdgeAdd(Edit):
4596
4683
  mesg = f'Edges cannot be used with runt nodes: {node.form.full}'
4597
4684
  raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=node.form.full))
4598
4685
 
4599
- iden = node.iden()
4600
- verb = await tostr(await self.kids[0].compute(runt, path))
4601
-
4602
- allowed(verb)
4603
-
4604
- async with runt.getSubRuntime(query) as subr:
4605
-
4606
- if self.n2:
4607
- async for subn, subp in subr.execute():
4608
- if subn.form.isrunt:
4609
- mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4610
- raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4611
-
4612
- await subn.addEdge(verb, iden)
4613
-
4614
- else:
4615
- async with node.snap.getEditor() as editor:
4616
- proto = editor.loadNode(node)
4686
+ if not constverb:
4687
+ verb = await tostr(await self.kids[0].compute(runt, path))
4688
+ allowed(verb)
4689
+
4690
+ if isvar:
4691
+ valu = await vkid.compute(runt, path)
4692
+ async with contextlib.aclosing(self.yieldFromValu(runt, valu, vkid)) as agen:
4693
+ if self.n2:
4694
+ iden = node.iden()
4695
+ async for subn in agen:
4696
+ await subn.addEdge(verb, iden, extra=self.addExcInfo)
4697
+ else:
4698
+ async with node.snap.getEditor() as editor:
4699
+ proto = editor.loadNode(node)
4700
+ async for subn in agen:
4701
+ if subn.form.isrunt:
4702
+ mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4703
+ raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4704
+
4705
+ await proto.addEdge(verb, subn.iden())
4706
+ await asyncio.sleep(0)
4617
4707
 
4708
+ else:
4709
+ async with runt.getSubRuntime(query) as subr:
4710
+ if self.n2:
4711
+ iden = node.iden()
4618
4712
  async for subn, subp in subr.execute():
4619
- if subn.form.isrunt:
4620
- mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4621
- raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4622
-
4623
- await proto.addEdge(verb, subn.iden())
4624
- await asyncio.sleep(0)
4625
-
4626
- if len(proto.edges) >= 1000:
4627
- nodeedits = editor.getNodeEdits()
4628
- if nodeedits:
4629
- await node.snap.applyNodeEdits(nodeedits)
4630
- proto.edges.clear()
4713
+ await subn.addEdge(verb, iden, extra=self.addExcInfo)
4714
+ else:
4715
+ async with node.snap.getEditor() as editor:
4716
+ proto = editor.loadNode(node)
4717
+ async for subn, subp in subr.execute():
4718
+ if subn.form.isrunt:
4719
+ mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4720
+ raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4721
+
4722
+ await proto.addEdge(verb, subn.iden())
4723
+ await asyncio.sleep(0)
4631
4724
 
4632
4725
  yield node, path
4633
4726
 
@@ -4641,16 +4734,27 @@ class EditEdgeDel(Edit):
4641
4734
 
4642
4735
  self.reqNotReadOnly(runt)
4643
4736
 
4644
- query = self.kids[1].kids[0]
4737
+ isvar = False
4738
+ vkid = self.kids[1]
4645
4739
 
4646
- hits = set()
4740
+ if not isinstance(vkid, SubQuery):
4741
+ isvar = True
4742
+ else:
4743
+ query = vkid.kids[0]
4647
4744
 
4648
- def allowed(x):
4649
- if x in hits:
4650
- return
4745
+ constverb = False
4746
+ if self.kids[0].isconst:
4747
+ constverb = True
4748
+ verb = await tostr(await self.kids[0].compute(runt, None))
4749
+ runt.layerConfirm(('node', 'edge', 'del', verb))
4750
+ else:
4751
+ hits = set()
4752
+ def allowed(x):
4753
+ if x in hits:
4754
+ return
4651
4755
 
4652
- runt.layerConfirm(('node', 'edge', 'del', x))
4653
- hits.add(x)
4756
+ runt.layerConfirm(('node', 'edge', 'del', x))
4757
+ hits.add(x)
4654
4758
 
4655
4759
  async for node, path in genr:
4656
4760
 
@@ -4658,36 +4762,44 @@ class EditEdgeDel(Edit):
4658
4762
  mesg = f'Edges cannot be used with runt nodes: {node.form.full}'
4659
4763
  raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=node.form.full))
4660
4764
 
4661
- iden = node.iden()
4662
- verb = await tostr(await self.kids[0].compute(runt, path))
4663
-
4664
- allowed(verb)
4665
-
4666
- async with runt.getSubRuntime(query) as subr:
4667
- if self.n2:
4668
- async for subn, subp in subr.execute():
4669
- if subn.form.isrunt:
4670
- mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4671
- raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4672
- await subn.delEdge(verb, iden)
4673
-
4674
- else:
4675
- async with node.snap.getEditor() as editor:
4676
- proto = editor.loadNode(node)
4765
+ if not constverb:
4766
+ verb = await tostr(await self.kids[0].compute(runt, path))
4767
+ allowed(verb)
4768
+
4769
+ if isvar:
4770
+ valu = await vkid.compute(runt, path)
4771
+ async with contextlib.aclosing(self.yieldFromValu(runt, valu, vkid)) as agen:
4772
+ if self.n2:
4773
+ iden = node.iden()
4774
+ async for subn in agen:
4775
+ await subn.delEdge(verb, iden, extra=self.addExcInfo)
4776
+ else:
4777
+ async with node.snap.getEditor() as editor:
4778
+ proto = editor.loadNode(node)
4779
+ async for subn in agen:
4780
+ if subn.form.isrunt:
4781
+ mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4782
+ raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4783
+
4784
+ await proto.delEdge(verb, subn.iden())
4785
+ await asyncio.sleep(0)
4677
4786
 
4787
+ else:
4788
+ async with runt.getSubRuntime(query) as subr:
4789
+ if self.n2:
4790
+ iden = node.iden()
4678
4791
  async for subn, subp in subr.execute():
4679
- if subn.form.isrunt:
4680
- mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4681
- raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4682
-
4683
- await proto.delEdge(verb, subn.iden())
4684
- await asyncio.sleep(0)
4685
-
4686
- if len(proto.edgedels) >= 1000:
4687
- nodeedits = editor.getNodeEdits()
4688
- if nodeedits:
4689
- await node.snap.applyNodeEdits(nodeedits)
4690
- proto.edgedels.clear()
4792
+ await subn.delEdge(verb, iden, extra=self.addExcInfo)
4793
+ else:
4794
+ async with node.snap.getEditor() as editor:
4795
+ proto = editor.loadNode(node)
4796
+ async for subn, subp in subr.execute():
4797
+ if subn.form.isrunt:
4798
+ mesg = f'Edges cannot be used with runt nodes: {subn.form.full}'
4799
+ raise self.addExcInfo(s_exc.IsRuntForm(mesg=mesg, form=subn.form.full))
4800
+
4801
+ await proto.delEdge(verb, subn.iden())
4802
+ await asyncio.sleep(0)
4691
4803
 
4692
4804
  yield node, path
4693
4805