synapse 2.173.1__py311-none-any.whl → 2.175.0__py311-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.

Potentially problematic release.


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

Files changed (54) hide show
  1. synapse/axon.py +1 -1
  2. synapse/common.py +19 -5
  3. synapse/cortex.py +46 -10
  4. synapse/daemon.py +11 -12
  5. synapse/lib/agenda.py +6 -0
  6. synapse/lib/ast.py +5 -1
  7. synapse/lib/cell.py +22 -13
  8. synapse/lib/jupyter.py +21 -0
  9. synapse/lib/layer.py +124 -30
  10. synapse/lib/link.py +3 -2
  11. synapse/lib/lmdbslab.py +11 -1
  12. synapse/lib/modelrev.py +31 -1
  13. synapse/lib/modules.py +1 -0
  14. synapse/lib/msgpack.py +25 -3
  15. synapse/lib/nexus.py +26 -22
  16. synapse/lib/schemas.py +31 -0
  17. synapse/lib/snap.py +13 -0
  18. synapse/lib/storm.py +103 -86
  19. synapse/lib/stormsvc.py +30 -11
  20. synapse/lib/stormtypes.py +23 -9
  21. synapse/lib/trigger.py +0 -4
  22. synapse/lib/types.py +1 -1
  23. synapse/lib/version.py +2 -2
  24. synapse/lib/view.py +2 -0
  25. synapse/models/crypto.py +22 -0
  26. synapse/models/economic.py +23 -2
  27. synapse/models/entity.py +16 -0
  28. synapse/models/files.py +4 -1
  29. synapse/models/geopol.py +3 -0
  30. synapse/models/orgs.py +3 -4
  31. synapse/tests/test_cortex.py +13 -0
  32. synapse/tests/test_daemon.py +36 -0
  33. synapse/tests/test_lib_agenda.py +129 -1
  34. synapse/tests/test_lib_ast.py +56 -0
  35. synapse/tests/test_lib_cell.py +11 -0
  36. synapse/tests/test_lib_grammar.py +4 -0
  37. synapse/tests/test_lib_httpapi.py +1 -0
  38. synapse/tests/test_lib_lmdbslab.py +16 -1
  39. synapse/tests/test_lib_modelrev.py +86 -0
  40. synapse/tests/test_lib_msgpack.py +58 -8
  41. synapse/tests/test_lib_nexus.py +44 -1
  42. synapse/tests/test_lib_storm.py +134 -18
  43. synapse/tests/test_lib_stormsvc.py +128 -51
  44. synapse/tests/test_lib_stormtypes.py +43 -4
  45. synapse/tests/test_lib_trigger.py +23 -4
  46. synapse/tests/test_model_crypto.py +6 -0
  47. synapse/tests/test_model_economic.py +14 -1
  48. synapse/tests/test_model_geopol.py +3 -0
  49. synapse/tools/changelog.py +256 -0
  50. {synapse-2.173.1.dist-info → synapse-2.175.0.dist-info}/METADATA +1 -1
  51. {synapse-2.173.1.dist-info → synapse-2.175.0.dist-info}/RECORD +54 -52
  52. {synapse-2.173.1.dist-info → synapse-2.175.0.dist-info}/WHEEL +1 -1
  53. {synapse-2.173.1.dist-info → synapse-2.175.0.dist-info}/LICENSE +0 -0
  54. {synapse-2.173.1.dist-info → synapse-2.175.0.dist-info}/top_level.txt +0 -0
@@ -3,9 +3,6 @@ import json
3
3
  import synapse.exc as s_exc
4
4
  import synapse.common as s_common
5
5
 
6
- from synapse.common import aspin
7
-
8
- import synapse.cortex as s_cortex
9
6
  import synapse.telepath as s_telepath
10
7
  import synapse.tests.utils as s_t_utils
11
8
  import synapse.tools.backup as s_tools_backup
@@ -294,6 +291,18 @@ class TrigTest(s_t_utils.SynTest):
294
291
  with self.raises(s_exc.SchemaViolation):
295
292
  await view.addTrigger({'cond': 'tag:add', 'storm': '[ +#count test:str=$tag ]', 'tag': 'foo&baz'})
296
293
 
294
+ # View iden mismatch
295
+ trigiden = s_common.guid()
296
+ viewiden = s_common.guid()
297
+ tdef = {'iden': trigiden, 'cond': 'node:add', 'storm': 'test:int=4', 'form': 'test:int', 'view': viewiden}
298
+ await view.addTrigger(tdef)
299
+ trigger = await view.getTrigger(trigiden)
300
+ self.eq(trigger.get('view'), view.iden)
301
+ with self.raises(s_exc.BadArg) as exc:
302
+ await view.setTriggerInfo(trigiden, 'view', viewiden)
303
+ self.eq(exc.exception.get('mesg'), 'Invalid key name provided: view')
304
+ await view.delTrigger(trigiden)
305
+
297
306
  # Trigger list
298
307
  triglist = await view.listTriggers()
299
308
  self.len(12, triglist)
@@ -551,6 +560,10 @@ class TrigTest(s_t_utils.SynTest):
551
560
 
552
561
  derp = await core.auth.addUser('derp')
553
562
 
563
+ # This is so we can later update the trigger in a view other than the one which it was created
564
+ viewiden = await core.callStorm('$view = $lib.view.get().fork() return($view.iden)')
565
+ inview = {'view': viewiden}
566
+
554
567
  tdef = {'cond': 'node:add', 'form': 'inet:ipv4', 'storm': '[ +#foo ]'}
555
568
  opts = {'vars': {'tdef': tdef}}
556
569
 
@@ -562,7 +575,7 @@ class TrigTest(s_t_utils.SynTest):
562
575
  self.nn(nodes[0].getTag('foo'))
563
576
 
564
577
  opts = {'vars': {'iden': trig.get('iden'), 'derp': derp.iden}}
565
- await core.callStorm('$lib.trigger.get($iden).set(user, $derp)', opts=opts)
578
+ await core.callStorm('$lib.trigger.get($iden).set(user, $derp)', opts=opts | inview)
566
579
 
567
580
  nodes = await core.nodes('[ inet:ipv4=8.8.8.8 ]')
568
581
  self.len(1, nodes)
@@ -885,3 +898,9 @@ class TrigTest(s_t_utils.SynTest):
885
898
 
886
899
  await core.nodes('for $trig in $lib.trigger.list() { $lib.trigger.del($trig.iden) }')
887
900
  self.len(0, await core.nodes('syn:trigger'))
901
+
902
+ async def test_trigger_viewiden_migration(self):
903
+ async with self.getRegrCore('trigger-viewiden-migration') as core:
904
+ for view in core.views.values():
905
+ for _, trigger in view.triggers.list():
906
+ self.eq(trigger.tdef.get('view'), view.iden)
@@ -49,7 +49,9 @@ class CryptoModelTest(s_t_utils.SynTest):
49
49
  :algorithm=aes256
50
50
  :mode=CBC
51
51
  :iv=41414141
52
+ :iv:text=AAAA
52
53
  :private=00000000
54
+ :private:text=hehe
53
55
  :private:md5=$md5
54
56
  :private:sha1=$sha1
55
57
  :private:sha256=$sha256
@@ -57,6 +59,7 @@ class CryptoModelTest(s_t_utils.SynTest):
57
59
  :public:md5=$md5
58
60
  :public:sha1=$sha1
59
61
  :public:sha256=$sha256
62
+ :public:text=haha
60
63
  :seed:passwd=s3cret
61
64
  :seed:algorithm=pbkdf2 ]
62
65
  }]
@@ -72,6 +75,9 @@ class CryptoModelTest(s_t_utils.SynTest):
72
75
  +:mode=cbc
73
76
  +:iv=41414141
74
77
  '''))
78
+ self.len(1, await core.nodes('it:dev:str=AAAA -> crypto:key'))
79
+ self.len(1, await core.nodes('it:dev:str=hehe -> crypto:key'))
80
+ self.len(1, await core.nodes('it:dev:str=haha -> crypto:key'))
75
81
  self.len(1, await core.nodes('inet:passwd=s3cret -> crypto:key -> crypto:currency:address'))
76
82
 
77
83
  self.len(2, await core.nodes('crypto:key -> hash:md5'))
@@ -129,8 +129,21 @@ class EconTest(s_utils.SynTest):
129
129
 
130
130
  :time=20180202
131
131
  :purchase={perc.ndef[1]}
132
+
133
+ :place=*
134
+ :place:loc=us.ny.brooklyn
135
+ :place:name=myhouse
136
+ :place:address="123 main street, brooklyn, ny, 11223"
137
+ :place:latlong=(90,80)
132
138
  ]'''
133
- await core.nodes(text)
139
+ nodes = await core.nodes(text)
140
+
141
+ self.eq('myhouse', nodes[0].get('place:name'))
142
+ self.eq((90, 80), nodes[0].get('place:latlong'))
143
+ self.eq('us.ny.brooklyn', nodes[0].get('place:loc'))
144
+ self.eq('123 main street, brooklyn, ny, 11223', nodes[0].get('place:address'))
145
+
146
+ self.len(1, await core.nodes('econ:acct:payment -> geo:place'))
134
147
 
135
148
  self.len(1, await core.nodes('econ:acct:payment +:time@=(2017,2019) +{-> econ:pay:card +:name="bob smith"}'))
136
149
 
@@ -14,6 +14,7 @@ class GeoPolModelTest(s_t_utils.SynTest):
14
14
  :iso2=vi
15
15
  :iso3=vis
16
16
  :isonum=31337
17
+ :currencies=(usd, vcoins, PESOS, USD)
17
18
  ]
18
19
  ''')
19
20
  self.len(1, nodes)
@@ -24,7 +25,9 @@ class GeoPolModelTest(s_t_utils.SynTest):
24
25
  self.eq('vi', nodes[0].get('iso2'))
25
26
  self.eq('vis', nodes[0].get('iso3'))
26
27
  self.eq(31337, nodes[0].get('isonum'))
28
+ self.eq(('pesos', 'usd', 'vcoins'), nodes[0].get('currencies'))
27
29
  self.len(2, await core.nodes('pol:country -> geo:name'))
30
+ self.len(3, await core.nodes('pol:country -> econ:currency'))
28
31
 
29
32
  nodes = await core.nodes('''
30
33
  [ pol:vitals=*
@@ -0,0 +1,256 @@
1
+ import os
2
+ import re
3
+ import sys
4
+ import pprint
5
+ import asyncio
6
+ import argparse
7
+ import datetime
8
+ import textwrap
9
+ import traceback
10
+ import subprocess
11
+ import collections
12
+
13
+ import regex
14
+
15
+ import synapse.common as s_common
16
+
17
+ import synapse.lib.output as s_output
18
+ import synapse.lib.schemas as s_schemas
19
+
20
+ defstruct = (
21
+ ('type', None),
22
+ ('desc', ''),
23
+ ('prs', ()),
24
+ )
25
+
26
+ SKIP_FILES = (
27
+ '.gitkeep',
28
+ )
29
+
30
+ version_regex = r'^v[0-9]\.[0-9]+\.[0-9]+((a|b|rc)[0-9]*)?$'
31
+ def gen(opts: argparse.Namespace,
32
+ outp: s_output.OutPut):
33
+ if opts.verbose:
34
+ outp.printf(f'{opts=}')
35
+
36
+ name = opts.name
37
+ if name is None:
38
+ name = f'{s_common.guid()}.yaml'
39
+ fp = s_common.genpath(opts.cdir, name)
40
+
41
+ data = dict(defstruct)
42
+ data['type'] = opts.type
43
+ data['desc'] = opts.desc
44
+
45
+ if opts.pr:
46
+ data['prs'] = [opts.pr]
47
+
48
+ if opts.verbose:
49
+ outp.printf('Validating data against schema')
50
+
51
+ s_schemas._reqChanglogSchema(data)
52
+
53
+ if opts.verbose:
54
+ outp.printf('Saving the following information:')
55
+ outp.printf(s_common.yamldump(data).decode())
56
+
57
+ s_common.yamlsave(data, fp)
58
+
59
+ outp.printf(f'Saved changelog entry to {fp=}')
60
+
61
+ if opts.add:
62
+ if opts.verbose:
63
+ outp.printf('Adding file to git staging')
64
+ argv = ['git', 'add', fp]
65
+ ret = subprocess.run(argv, capture_output=True)
66
+ if opts.verbose:
67
+ outp.printf(f'stddout={ret.stdout}')
68
+ outp.printf(f'stderr={ret.stderr}')
69
+ ret.check_returncode()
70
+
71
+ return 0
72
+
73
+ def format(opts: argparse.Namespace,
74
+ outp: s_output.OutPut):
75
+ if opts.verbose:
76
+ outp.printf(f'{opts=}')
77
+
78
+ if not regex.match(version_regex, opts.version):
79
+ outp.printf(f'Failed to match {opts.version} vs {version_regex}')
80
+ return 1
81
+
82
+ entries = collections.defaultdict(list)
83
+
84
+ files_processed = [] # Eventually for removing files from git.
85
+
86
+ for fn in os.listdir(opts.cdir):
87
+ if fn in SKIP_FILES:
88
+ continue
89
+ fp = s_common.genpath(opts.cdir, fn)
90
+ if opts.verbose:
91
+ outp.printf(f'Reading: {fp=}')
92
+ try:
93
+ data = s_common.yamlload(fp)
94
+ except Exception as e:
95
+ outp.printf(f'Error parsing yaml from {fp=}: {e}')
96
+ continue
97
+
98
+ if opts.verbose:
99
+ outp.printf('Got the following data:')
100
+ outp.printf(pprint.pformat(data))
101
+
102
+ files_processed.append(fp)
103
+
104
+ s_schemas._reqChanglogSchema(data)
105
+
106
+ data.setdefault('prs', [])
107
+ prs = data.get('prs')
108
+
109
+ if opts.prs_from_git:
110
+
111
+ argv = ['git', 'log', '--pretty=oneline', fp]
112
+ ret = subprocess.run(argv, capture_output=True)
113
+ if opts.verbose:
114
+ outp.printf(f'stddout={ret.stdout}')
115
+ outp.printf(f'stderr={ret.stderr}')
116
+ ret.check_returncode()
117
+
118
+ for line in ret.stdout.splitlines():
119
+ line = line.decode()
120
+ line = line.strip()
121
+ if not line:
122
+ continue
123
+ match = re.search('\\(#(?P<pr>\\d{1,})\\)', line)
124
+ if match:
125
+ for pr in match.groups():
126
+ pr = int(pr)
127
+ if pr not in prs:
128
+ prs.append(pr)
129
+ if opts.verbose:
130
+ outp.printf(f'Added PR #{pr} to the pr list from [{line=}]')
131
+
132
+ if opts.enforce_prs and not prs:
133
+ outp.printf(f'Entry is missing PR numbers: {fp=}')
134
+ return 1
135
+
136
+ if opts.verbose:
137
+ outp.printf(f'Got data from {fp=}')
138
+
139
+ prs.sort() # sort the PRs inplace
140
+ entries[data.get('type')].append(data)
141
+
142
+ if not entries:
143
+ outp.printf(f'No files passed validation from {opts.dir}')
144
+ return 1
145
+
146
+ if 'model' in entries:
147
+ outp.printf('Model specific entries are not yet implemented.')
148
+ return 1
149
+
150
+ date = opts.date
151
+ if date is None:
152
+ date = datetime.datetime.utcnow().strftime('%Y-%m-%d')
153
+ header = f'{opts.version} - {date}'
154
+ text = f'{header}\n{"=" * len(header)}\n'
155
+
156
+ for key, header in s_schemas._changelogTypes.items():
157
+ dataz = entries.get(key)
158
+ if dataz:
159
+ text = text + f'\n{header}\n{"-" * len(header)}'
160
+ dataz.sort(key=lambda x: x.get('prs'))
161
+ for data in dataz:
162
+ desc = data.get('desc')
163
+ for line in textwrap.wrap(desc, initial_indent='- ', subsequent_indent=' ', width=opts.width):
164
+ text = f'{text}\n{line}'
165
+ if not opts.hide_prs:
166
+ for pr in data.get('prs'):
167
+ text = f'{text}\n (`#{pr} <https://github.com/vertexproject/synapse/pull/{pr}>`_)'
168
+ if key == 'migration':
169
+ text = text + '\n- See :ref:`datamigration` for more information about automatic migrations.'
170
+ text = text + '\n'
171
+
172
+ if opts.rm:
173
+ if opts.verbose:
174
+ outp.printf('Staging file removals in git')
175
+ for fp in files_processed:
176
+ argv = ['git', 'rm', fp]
177
+ ret = subprocess.run(argv, capture_output=True)
178
+ if opts.verbose:
179
+ outp.printf(f'stddout={ret.stdout}')
180
+ outp.printf(f'stderr={ret.stderr}')
181
+ ret.check_returncode()
182
+
183
+ outp.printf(text)
184
+
185
+ return 0
186
+
187
+ async def main(argv, outp=None):
188
+ if outp is None:
189
+ outp = s_output.OutPut()
190
+
191
+ pars = makeargparser()
192
+
193
+ opts = pars.parse_args(argv)
194
+ if opts.git_dir_check:
195
+ if not os.path.exists(os.path.join(os.getcwd(), '.git')):
196
+ outp.print('Current working directury must be the root of the repository.')
197
+ return 1
198
+ try:
199
+ return opts.func(opts, outp)
200
+ except Exception as e:
201
+ outp.printf(f'Error running {opts.func}: {traceback.format_exc()}')
202
+ return 1
203
+
204
+ def makeargparser():
205
+ desc = '''Command line tool to manage changelog entries.
206
+ This tool and any data formats associated with it may change at any time.
207
+ '''
208
+ pars = argparse.ArgumentParser('synapse.tools.changelog', description=desc)
209
+
210
+ subpars = pars.add_subparsers(required=True,
211
+ title='subcommands',
212
+ dest='cmd', )
213
+ gen_pars = subpars.add_parser('gen', help='Generate a new changelog entry.')
214
+ gen_pars.set_defaults(func=gen)
215
+ gen_pars.add_argument('-t', '--type', required=True, choices=list(s_schemas._changelogTypes.keys()),
216
+ help='The changelog type.')
217
+ gen_pars.add_argument('desc', type=str,
218
+ help='The description to populate the initial changelog entry with.', )
219
+ gen_pars.add_argument('-p', '--pr', type=int, default=False,
220
+ help='PR number associated with the changelog entry.')
221
+ gen_pars.add_argument('-a', '--add', default=False, action='store_true',
222
+ help='Add the newly created file to the current git staging area.')
223
+ # Hidden name override. Mainly for testing.
224
+ gen_pars.add_argument('-n', '--name', default=None, type=str,
225
+ help=argparse.SUPPRESS)
226
+
227
+ format_pars = subpars.add_parser('format', help='Format existing files into a RST block.')
228
+ format_pars.set_defaults(func=format)
229
+ mux_prs = format_pars.add_mutually_exclusive_group()
230
+ mux_prs.add_argument('--hide-prs', default=False, action='store_true',
231
+ help='Hide PR entries.')
232
+ mux_prs.add_argument('--enforce-prs', default=False, action='store_true',
233
+ help='Enforce PRs list to be populated with at least one number.', )
234
+ format_pars.add_argument('--prs-from-git', default=False, action='store_true',
235
+ help='Attempt to populate any PR numbers from a given files commit history.')
236
+ format_pars.add_argument('-w', '--width', help='Maximum column width to wrap descriptions at.',
237
+ default=79, type=int)
238
+ format_pars.add_argument('--version', required=True, action='store', type=str,
239
+ help='Version number')
240
+ format_pars.add_argument('-d', '--date', action='store', type=str,
241
+ help='Date to use with the changelog entry')
242
+ format_pars.add_argument('-r', '--rm', default=False, action='store_true',
243
+ help='Stage the changelog files as deleted files in git.')
244
+
245
+ for p in (gen_pars, format_pars):
246
+ p.add_argument('-v', '--verbose', default=False, action='store_true',
247
+ help='Enable verbose output')
248
+ p.add_argument('--cdir', default='./changes', action='store',
249
+ help='Directory of changelog files.')
250
+ p.add_argument('--disable-git-dir-check', dest='git_dir_check', default=True, action='store_false',
251
+ help=argparse.SUPPRESS)
252
+
253
+ return pars
254
+
255
+ if __name__ == '__main__': # pragma: no cover
256
+ sys.exit(asyncio.run(main(sys.argv[1:], s_output.stdout)))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.173.1
3
+ Version: 2.175.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
@@ -1,10 +1,10 @@
1
1
  synapse/__init__.py,sha256=R2kOXlF5j-8m6G0JkHuN7rXRPg_tHLmbMxr__94mHQk,1145
2
- synapse/axon.py,sha256=Hbbb1BqyB8xsb7xkaIMyTQJEE01-r5HXebnoAnw-qEY,61120
2
+ synapse/axon.py,sha256=id-rsAHlExSg87yYW2bg4QlElOd7RSaGLZZBRgo-z2o,61121
3
3
  synapse/cells.py,sha256=eNvdglfAoTURVhGOLGcgMXCGpfsIX1a02SQnyiklo3E,308
4
- synapse/common.py,sha256=uVZqaD8Flkn9uAmvUdpPtcmtRleQlZbjrfvPrCehLBE,36108
5
- synapse/cortex.py,sha256=dv2ZRxCP2sMHXHL6OTrP3JThVEVvw7ysn9lFS7KHMhc,242434
4
+ synapse/common.py,sha256=GmKrCHTrg6Ji2tvXQ8mfr93JxWXKxNd_t4PHTeqaQvY,36466
5
+ synapse/cortex.py,sha256=3HsP8hAW3NQaCUePw5jl6mWgnskAEmqLNbfXK-hWCy8,243812
6
6
  synapse/cryotank.py,sha256=kOriVF8LnwYxgyTxQXSepyFRtSu2C6n9t_yImTV7ZNI,11714
7
- synapse/daemon.py,sha256=tPPggIATq0O0Cw1J2nzL-JW10VIOFcrvP4XqsKQwozc,16776
7
+ synapse/daemon.py,sha256=-xy6EnmD5CodWQs_S-v7apKILECmn5EEYBpEPG-MDns,16986
8
8
  synapse/datamodel.py,sha256=s3JgFXDCPCBPTr2S9hx83FYi-jYIyDD8w_Wlhqh9DvA,34270
9
9
  synapse/exc.py,sha256=ffKH4rsmUzETbp73MNk8TtF6zKKfhVE3HiLP5m1C8Ko,8398
10
10
  synapse/glob.py,sha256=tb6NPtK6Jp6YES9sB1AQi26HP6f-BcEiHrZz2yEyZ90,3210
@@ -83,14 +83,14 @@ synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-sch
83
83
  synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json,sha256=9X6FOE_f31GFlZEXjlgqlfRLN96ZlnxZew_rn7fVxVQ,2839
84
84
  synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json,sha256=f1T3r4CRcJP0743qmAlVCdNvi5ASrOU42PSoiDNlRqc,3575
85
85
  synapse/lib/__init__.py,sha256=qLS7nt8-Iot8jnD2Xss_6wZi5lJoyv2rqxF9kkektT0,129
86
- synapse/lib/agenda.py,sha256=uPE5eTDEcI70mkIieM7lsaoCweHrql6wCnQHhR82iwM,33263
86
+ synapse/lib/agenda.py,sha256=VvTBQcYi0ai8rW2W0Jzt_3X6f2QEyThKyxqgQwoU7Kk,33376
87
87
  synapse/lib/aha.py,sha256=fT1Assn7j1YQFSr5IYuW1GNH2G19gSXwV7ajNS3mlLY,42392
88
- synapse/lib/ast.py,sha256=ZL8njJpA0hpHQ7nX8podmzku99-sZKP1nW_p0vpEZJw,151480
88
+ synapse/lib/ast.py,sha256=ewp2SMi98GQtXMHYbHqxFo8fCE1tmDQ3imvx_ykGDo0,151648
89
89
  synapse/lib/autodoc.py,sha256=CsGaX0tAKGh21YbIvUtvaUnZyqmsx6j-E9QD_vhKSP4,20747
90
90
  synapse/lib/base.py,sha256=sTti-XzyQnoAwq0JvbDrjSu0_GqRT_J2eBxfNV8_ZrI,22520
91
91
  synapse/lib/boss.py,sha256=rYu4jkHJ3Y5GLX23Hlrwe9H17LF27LZ0BkK_A_9Aqh0,2056
92
92
  synapse/lib/cache.py,sha256=N8BoNFQXOaYQU33LLYQcVkdV6IYjSNaUoaKue55y7H0,6275
93
- synapse/lib/cell.py,sha256=zD7CKdlt6flmti6bW6cGqFZ6yoo__wfefT8UDs1gXo0,160793
93
+ synapse/lib/cell.py,sha256=su86Jp6Crkzp4Wf9JP7G1qR-et5i4B91zBZ1l4KVbGA,161079
94
94
  synapse/lib/certdir.py,sha256=8gRkzCcpNVDLR-rXNww4frzGffF160iG18Z6d9JkPJY,56086
95
95
  synapse/lib/chop.py,sha256=_IywOiCvI9jL2yncSJaXR05B5Il7XR81uYerOTD__eI,9421
96
96
  synapse/lib/cli.py,sha256=rwaO4SbJIzOhwxB9B7NHXpyegQeRsUQ1gULVwgnNCfg,14580
@@ -113,16 +113,16 @@ synapse/lib/httpapi.py,sha256=i0E2dFl54ovWjEPSq7VQ5kNs6FThjXDUkD7ml9XNLOI,43186
113
113
  synapse/lib/ingest.py,sha256=HNW1xs215c_UXVjKaxjipKBmVL4ujrjmarHBRvLPLkE,40
114
114
  synapse/lib/interval.py,sha256=PqpEhMGG6LD9mJxEms0oQWC-NB01H6gwsmLSc5LrDFk,1175
115
115
  synapse/lib/jsonstor.py,sha256=QQVf7Kl90sI_v97UZZAoa6stizDeMyy0ykR3RsHpmi8,19359
116
- synapse/lib/jupyter.py,sha256=EGAE1D-zlv1YVSDrTkr4bNMFsXvZuzBfIo5FhId2xSI,16358
117
- synapse/lib/layer.py,sha256=VlPfVdjIeAGBr_grD7KcvBQ9cpVgdfrnwYndsibYXbY,149799
118
- synapse/lib/link.py,sha256=YiiAiFe1HTkEBeAtxKjNzWMH6i73Md93sZ5SKxtZylg,9802
119
- synapse/lib/lmdbslab.py,sha256=vFok5SUaRdQPN0V1nBzoFzQVq-7B1SpPldqJroalBLE,55307
120
- synapse/lib/modelrev.py,sha256=otBcP_q_bVgjfVLupFrB66u1I2zF0n0EedEzKkUrfDY,40887
116
+ synapse/lib/jupyter.py,sha256=ng0ONrOIUPI0_mff2UaVEVSeMwvjhls1OLHplWZG1Ds,17771
117
+ synapse/lib/layer.py,sha256=7oHQKXtJUld1sxlYocoxhRXjVQz9Ja7Er7PrtZgPdHk,152782
118
+ synapse/lib/link.py,sha256=gz8Y3SSPtBwa4eu3DMvLNUpa2NPJfRAfyokA5JuZ4WQ,9848
119
+ synapse/lib/lmdbslab.py,sha256=_BiiksjJ-kze40PoBu51LmwTZej8hiPJ_zNTbIbJlwo,55587
120
+ synapse/lib/modelrev.py,sha256=eRMf0cBRxxS4ej4gXFybMM1AYuk8-QnZ0CFmxxCydSI,42204
121
121
  synapse/lib/module.py,sha256=0XLFLzuZVmEqulKmdT0uah0oi1t8_f_ghakhqvoKtKI,4686
122
- synapse/lib/modules.py,sha256=thFIZuhHP04ukBg4Xcie96VPiJeN19suBHl02SpF6xg,1166
123
- synapse/lib/msgpack.py,sha256=YXI8bTVIpwJWGIjbK8RXxSd-oVgxrcOHCR1tPnh4bRQ,7018
122
+ synapse/lib/modules.py,sha256=r10m4-9N_vECAGGb8TfWynWM2Uk3p9w7GGaITnX0RyA,1208
123
+ synapse/lib/msgpack.py,sha256=I2dc4Py9m5ohGkcsb2Ariqfon6nkam5hC0leEoqADhs,7835
124
124
  synapse/lib/multislabseqn.py,sha256=WxJQm6XNINyGBTUnmSkY4iifxLlR_FZe3geOcT8BxR4,15211
125
- synapse/lib/nexus.py,sha256=X3qR8_UlEHlY_X_70uu0a3MMJhZhT8bi3xgJClF27Lk,22325
125
+ synapse/lib/nexus.py,sha256=m4mvByjjTyuoENqt-ciYENjcSwEfIMhLsgXxpsB8DCU,22569
126
126
  synapse/lib/node.py,sha256=sOYCuQO9TCL_NjykdKOn4U-iMgVG11O-53cyux18gnM,30372
127
127
  synapse/lib/oauth.py,sha256=Nmd7dnxq7aRdBR5HILYYQm-TpCjfrTOIZwkHPeLQApA,15094
128
128
  synapse/lib/output.py,sha256=MARscREHja4h8PQN7GZxHGvF36RoOkUyw3vfhmFzMTk,890
@@ -131,21 +131,21 @@ synapse/lib/queue.py,sha256=omMtqD4HWg2mLOhhtIe4pA_evz234lJ9uhlAhC_xbW4,3879
131
131
  synapse/lib/ratelimit.py,sha256=BIeFPZb9Bk5GFIVvhM43Uw1s0abY6z7NgTuBorVajz4,1124
132
132
  synapse/lib/reflect.py,sha256=7nH27S5-BAwmmfbwGW1ivfb0xEvo_XkAiMuN5xb0mW4,2878
133
133
  synapse/lib/rstorm.py,sha256=zZPC3sB2zDqdjhgpXwA1aka7CLTDYaeieTxIDfmwRBY,19656
134
- synapse/lib/schemas.py,sha256=G2y07BUXl9W3vSWW3z39FKnnqN_i0LYt-cpoGHFXNtA,10124
134
+ synapse/lib/schemas.py,sha256=s2RcQ7STiSAbyKiFBYRnytXwEF6z-AIemPFw4W-6AJ4,10984
135
135
  synapse/lib/scope.py,sha256=0CuSXLG_7pNleC1BcJ8_WbA50DswrX4DNjW5MyGGGNo,5496
136
136
  synapse/lib/scrape.py,sha256=ZnYDUlb5KoPwPJ8Dx5UZZwgGKYynO7mYNYfgIoNkXZ0,25042
137
137
  synapse/lib/share.py,sha256=HDQR7nb4IOleHB1kIFe6prZQVW7PjPAivSAkPuhNn5A,663
138
138
  synapse/lib/slaboffs.py,sha256=Fd0RrIRBMjh159aQz5y1ONmzw0NvV040kVX_jZjQW6I,815
139
139
  synapse/lib/slabseqn.py,sha256=xprAs6sdyeKKqI2POMa0tTyDgvR2JsHU94g7U02Ybyc,10275
140
- synapse/lib/snap.py,sha256=gTACyMAhnDQU1bac0AqZQaF8nmX6dbrrQg-2LMagOdY,54006
140
+ synapse/lib/snap.py,sha256=-QW4qvHTa5HdTdy_uIKH9r7MfIklwjbenfPAqHy91HI,54340
141
141
  synapse/lib/spooled.py,sha256=00x_RS1TiJkfuTXwwdUcYifuECGYgC8B1tX-sX7nb_k,5385
142
142
  synapse/lib/storm.lark,sha256=KlzTs3-Gcv0eHfen8356Smn6XKBIpD_aH0uyogSZvv8,25604
143
- synapse/lib/storm.py,sha256=arz_idXXv7TJwZ7LfRvElOIGoO3e1sgUJFcqmaCiaJQ,207997
143
+ synapse/lib/storm.py,sha256=2_lHRImFud8cLtv3ChxWx9GFRAogVOG5NAE37jQblsI,209195
144
144
  synapse/lib/storm_format.py,sha256=IySRTGUbCAsIhULY1VS1vxvAbLYUXMezPlPSCRJX4rU,4753
145
145
  synapse/lib/stormctrl.py,sha256=XvyZ6M0Ew8sXsjGvRTWbXh0MjktZrGi_zQ9kNa7AWTE,285
146
146
  synapse/lib/stormhttp.py,sha256=4um-9ovY8XJvxsyWZVI8psTPNg_p22AsNLstpS-7HrI,26898
147
- synapse/lib/stormsvc.py,sha256=c8W1-2tC8Cu6IDHjqObBn8qaKH6vc-7GOR5YCOmuENA,6825
148
- synapse/lib/stormtypes.py,sha256=gJf3JvdcGH3ZAsyAA47FslHrjrKdgzIGW-c8aPZ78h4,382790
147
+ synapse/lib/stormsvc.py,sha256=dKREBhzYAncOXBbI-FYLRy9VusGIbRyF0TaDDz7mMXw,7581
148
+ synapse/lib/stormtypes.py,sha256=xJrQqvoM6vKOiPUx99FFLPwz-Qlb8WGrzGX-UnPN1X8,383429
149
149
  synapse/lib/stormwhois.py,sha256=efG4s1_UOShY3YD8N2OLEa_ELOnzsfLaMEMfDCJYeLQ,2275
150
150
  synapse/lib/structlog.py,sha256=qiuD7TTdwCyYEDF2f-88G2iX54SuB-lJ1pqlYokL1r8,1303
151
151
  synapse/lib/task.py,sha256=krDjQvNh0EpAs1PILK8CJJa9DMeM0depI0K8Eimp010,5733
@@ -153,11 +153,11 @@ synapse/lib/thishost.py,sha256=b4s3X2tsUPVtECBmxSkvtMix_C7jvgAOQXS5Mq-Nka4,840
153
153
  synapse/lib/thisplat.py,sha256=kQhj9Iy97zKHCnaxFSBoSnKabfza9vjpg9m6V7w-Xt4,417
154
154
  synapse/lib/threads.py,sha256=TSsC7ryXm_CbM0LQMsvk1vYV4iyvarzWzH59TrUzKuo,164
155
155
  synapse/lib/time.py,sha256=FKTYwpdvpuAj8p8sSodRjOxoA7Vu67CIbbXz55gtghk,9231
156
- synapse/lib/trigger.py,sha256=cqKW0e2KmeiPsU3d3vwpo0PLLHUs6ZPVWZyxAxU6gMA,20849
157
- synapse/lib/types.py,sha256=wSq8kpuIUzllx3j86kIg0M7QtYSg95OM2zfOKmnG8ek,68988
156
+ synapse/lib/trigger.py,sha256=BHTxE9DtVCvfK9bvNhrz_VHwG7ZJ7GlAJWKLrppgUvA,20703
157
+ synapse/lib/types.py,sha256=lekWp1t3tLlBAs9Su8wUiVv_6LBo2F1e56P8HhyoQzo,68988
158
158
  synapse/lib/urlhelp.py,sha256=j-DvWGi-xH0TcO0NbCuwG7guUuiV8wxIxfMyJOzDygo,2523
159
- synapse/lib/version.py,sha256=aczXBBErejzWJmCclNE1agmC5fp9CtUeOohoLcDC9gM,7162
160
- synapse/lib/view.py,sha256=gwiAmFyQNAatJcthjc98kHARz6TkiwjUhuYjeX6lbYM,57888
159
+ synapse/lib/version.py,sha256=TvHZJ0FBIENHQR52FxkW0qYVDFVCF3vqP_zWMvAb0uo,7162
160
+ synapse/lib/view.py,sha256=CcOqYDraTFgQ8uxliq_7YoxFmNqo82LyrTIjrBaGsZs,57922
161
161
  synapse/lib/crypto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
162
  synapse/lib/crypto/coin.py,sha256=_dhlkzIrHT8BvHdJOWK7PDThz3sK3dDRnWAUqjRpZJc,4910
163
163
  synapse/lib/crypto/ecc.py,sha256=e5XM8fsU3YnkT9u1eNROqOK8ccjp5QirIn7FljC_z1s,6522
@@ -226,18 +226,19 @@ synapse/models/auth.py,sha256=vi0ghs0ZjlZqXFaGP81wZEyLAk_xEbv6fYEVjmMeXME,2907
226
226
  synapse/models/base.py,sha256=XwiH67BXCk64MD_uGiWuv2e1PTE5P8_ZogxLmfpKr9Q,14679
227
227
  synapse/models/belief.py,sha256=lB61Wvp2cgaPlrwqBU2JTU-BOutAVOEKD597sTu0juo,2928
228
228
  synapse/models/biz.py,sha256=hZ_LTXE5BDInXqN391CMvSIAEjDwLt0Nay-9kvExM6U,14767
229
- synapse/models/crypto.py,sha256=KXSlH7NY-8trnZuJG2jPlyqILtjoOhX7vkTZWjkkWIY,29692
229
+ synapse/models/crypto.py,sha256=rvYnjOenfnm9hc2TWKr9GW7fMz7DxZ9akV-J2DvyHxY,30137
230
230
  synapse/models/dns.py,sha256=CL9pvbB3eipoTwXYKFgnIaHj-sjMmIircEnedvsR-d4,14882
231
- synapse/models/economic.py,sha256=pKyRNzg5IOyQbJEWngtVGX2E5xCYTMJoC5jJNlf_6Yc,20501
232
- synapse/models/files.py,sha256=O7Y3mU17nd-d8jze08K7z5l9mKRg07qsOpgPbsiJcSI,32862
233
- synapse/models/geopol.py,sha256=m3jSJWwrQP3mzWOh0ib_gyYM2KkUIoJGJfuJkqSyKRU,10852
231
+ synapse/models/economic.py,sha256=wwQ_vTqFywVR49dToVrsc0VOE6JgQb2ai3rGQDfnhms,21502
232
+ synapse/models/entity.py,sha256=vwjx5iVDpxdkGlII5GulgIHuDRX9kJIcO7Ge-XanQ58,415
233
+ synapse/models/files.py,sha256=csAxpubCifGfBcCKIqpmNlHnvm9FW9CfiYS0pPzSdEM,33032
234
+ synapse/models/geopol.py,sha256=GWn6a_bUr8HK4OtvY2BpoZAhtf9M7sUKEWjm8V-Er1s,11047
234
235
  synapse/models/geospace.py,sha256=JIhH45AReWDMrl7lFivkF4Lo3K9dzqQvguoCdsVmPBg,19171
235
236
  synapse/models/inet.py,sha256=3i726GtF80vmbACQktFnTAgGT0nFc5WmTnZ-1DUSp7U,166258
236
237
  synapse/models/infotech.py,sha256=GW0DuwiiuJYrLMqMKJe9lNDU3D7H65SoyeJcDxQOVMk,146406
237
238
  synapse/models/language.py,sha256=D2gyMrCQmKY_QjxN7OwJsCmh_pR9fjjZnxcKoJ9NItM,3430
238
239
  synapse/models/material.py,sha256=d-nonZKyJpHc32ebghtkm5tSifwVFN_ctx2kb8N4NqI,3214
239
240
  synapse/models/media.py,sha256=uIsayKqdDM36eGyrJwz2UqOa_QQ9MpMJ2uHdgGYDLa4,3605
240
- synapse/models/orgs.py,sha256=YDhzivAI3MHejAEU6BZI0K1LDlJj6qAibHJezb2uhWU,63091
241
+ synapse/models/orgs.py,sha256=6fBNOKGg1lCZNg8eb-9vjGuO7cKMq0vXLWEP5ad_vBg,62992
241
242
  synapse/models/person.py,sha256=dVoROHMNPfdE_xnB43T6a4GKNUPXw-OO_Ip81VqthHk,27008
242
243
  synapse/models/planning.py,sha256=vmrY4d3WRxizrNU1YBe36NGZTuuu4lhGS8KI5lCZ5yQ,7302
243
244
  synapse/models/proj.py,sha256=eYY2bY7H8HJGvmuVQOrn4rQQWZQ_7noKtjLiq3QzgUU,9035
@@ -265,22 +266,22 @@ synapse/tests/test_cmds_boss.py,sha256=SdBwM2qJHFzzfrjWYiZOLBKeye8uru7KeJ3NU_YSk
265
266
  synapse/tests/test_cmds_cortex.py,sha256=LWFz8HyuvsIGjtz2DqXYh-R-5QbiQWzLlQKqew7gabY,17157
266
267
  synapse/tests/test_cmds_hive.py,sha256=aRH_Gh8oF_1BsfpmffyhDDNIqnTqsuF2cavdtGke1-0,5912
267
268
  synapse/tests/test_common.py,sha256=2SAJ4M2iLdZuPPV-j16QVwE073VrikyW75cYTPRMjWI,16940
268
- synapse/tests/test_cortex.py,sha256=2BhYV2Ht0908Q4ZNuPPF2F1OXp9ic6lKy7ZTfQSAew4,342811
269
+ synapse/tests/test_cortex.py,sha256=sJgwTB3cYfI80mrXfPBblqrfYwJiV1_T_9lFDTwZR6U,343474
269
270
  synapse/tests/test_cryotank.py,sha256=JwEn_roIu4wlfPv34kjyAoJ2cWTrX3jDOr7ZMFUyslQ,12085
270
- synapse/tests/test_daemon.py,sha256=srOQ78HaHxCL38mvq5LWzsxgU0yb3UNLgi5KSMGQP8c,5812
271
+ synapse/tests/test_daemon.py,sha256=QqKELhm1HF0q_8Kbk0Uf9fnUg3K5nLQ7MocGIyuKKIw,7715
271
272
  synapse/tests/test_data.py,sha256=f8L-q6kpMq8XPG3hq1jwlyaFRQEinSBf7ZlsRFeCuoM,196
272
273
  synapse/tests/test_datamodel.py,sha256=uHCLkjeYqyUeR8LZv7xXjGwLRzYuWGixsM1C1HbWfyQ,11958
273
274
  synapse/tests/test_exc.py,sha256=j24ddx0PFdwtmgtwsjIvypXxfn4ji3rhAWo9I2sUbSY,1725
274
275
  synapse/tests/test_glob.py,sha256=cSNrtEKWLsZXRhsjxQjRjjMqdgqfpl05yT4S53dC0NU,249
275
276
  synapse/tests/test_init.py,sha256=rHqYBVL_aFf1HO6zCF5akHVcHUP2g1kpJLRdTkV0yys,557
276
- synapse/tests/test_lib_agenda.py,sha256=B2B-xvpp_jtFILHeh2GdtFJABba_scitG3VnvvLfO_s,38461
277
+ synapse/tests/test_lib_agenda.py,sha256=mYvFH4Bj_ZTazrOcIbNQOyevkX--7rjSGnjE3XGJGSI,43852
277
278
  synapse/tests/test_lib_aha.py,sha256=-XbpX1M47afeBH2sI_TxW5YsIZ5WrpynuEkq78Qtj1U,68898
278
- synapse/tests/test_lib_ast.py,sha256=rwEXs0ig1hDKnCMuMbTRijYBrL14Bl0PIXs9T_pNeYY,163247
279
+ synapse/tests/test_lib_ast.py,sha256=eA5yLbXFP6l6ttHoGvJMG6CVvE5M8GmvvYI-udFYyUU,165771
279
280
  synapse/tests/test_lib_autodoc.py,sha256=H9Yb7cvzXOMPGBIoCCqNClcyIp6zEWcawtfudKbG-2U,6282
280
281
  synapse/tests/test_lib_base.py,sha256=mgqGmjioQaT75r4tWH7QkyqiMFOi_Or02Wo79oAh9z0,14032
281
282
  synapse/tests/test_lib_boss.py,sha256=gZEuJnMO99Fu9gQ7Ct0g67umBW5XFCs8vcwInB5qr14,1598
282
283
  synapse/tests/test_lib_cache.py,sha256=oQgEBhm8pZFCEvMfcD3znTDQgl8Gv91fEOB-3eb2IIg,8594
283
- synapse/tests/test_lib_cell.py,sha256=_sZIQPP9Ckfr_lnwVOHxNNS3tGoynXy_6pp95tH-PDU,119321
284
+ synapse/tests/test_lib_cell.py,sha256=lfZNWEZnk2xWZwI1klJ2o8VTBCm0h8EefIzm2H4V9RA,119718
284
285
  synapse/tests/test_lib_certdir.py,sha256=IRyDRP-QdfdMrNhqtrlF-LLJeS6EhbkzzOXxtS__Uks,42417
285
286
  synapse/tests/test_lib_chop.py,sha256=LkrM_pQU_KS88aVRPD4DI97qSdhxmw6EUA_jb-UJpww,6238
286
287
  synapse/tests/test_lib_cli.py,sha256=B8qGx9KtTWp31RlCMtfFMzhJ0TzaaO9ph7RCK2jHtx4,9283
@@ -295,24 +296,24 @@ synapse/tests/test_lib_datfile.py,sha256=jyWAx0BtPK6hjkUmAzUB0-jAWYgIyx3EmB2XxaZ
295
296
  synapse/tests/test_lib_dyndeps.py,sha256=qahr9yrB1SM5bkF9VwW_eQqB_Tva_HRUJwx9QQQCxiM,1239
296
297
  synapse/tests/test_lib_encoding.py,sha256=Zt-VtnLII7_A2jSmQ_q_B6xHnT6Eg5IlfacCIm2WkeA,6575
297
298
  synapse/tests/test_lib_gis.py,sha256=7vUXgHzjLNDPtYfcrVKQmNNo4EoJNYGYFXWdYf7XG9k,3186
298
- synapse/tests/test_lib_grammar.py,sha256=hw5-ql5dJOwBeVoKLsAsy1F9ZGeFl3rlEIUZbng-O5s,139830
299
+ synapse/tests/test_lib_grammar.py,sha256=0jzVEnwuszcORiuyMGRLrhcq2LgIMZrVxIBBA9M8nd0,140321
299
300
  synapse/tests/test_lib_hashitem.py,sha256=IyyueviwK8g-MpCkXU-jLfMDRFMuO8Bl3870IucZMg8,715
300
301
  synapse/tests/test_lib_hashset.py,sha256=HwFsohiEzLyQ3evpvcezlj2iM7Li5IrN4rWh1jZnnPQ,1329
301
302
  synapse/tests/test_lib_health.py,sha256=yqNw6rXBm_2UBqPlWxeLpFhawKocdS1VitOCD3Lv8gE,2265
302
303
  synapse/tests/test_lib_hive.py,sha256=n8xuwhuLPLiqfO_OHcsDSMYIWpIpzVklHYpM-kZHq3U,6379
303
304
  synapse/tests/test_lib_hiveauth.py,sha256=qISnELUaVfbutCR147CFh5cMD4TFewHlGBqAl-Elrnw,24640
304
- synapse/tests/test_lib_httpapi.py,sha256=iwHIQzY4x9CJqik436sEYIlFlYIbCrlZnbyuNmouuto,90691
305
+ synapse/tests/test_lib_httpapi.py,sha256=uZlBPnuBqNcRciQXVZh_qEJroY4AHzN6Kklq1E8zJV4,90740
305
306
  synapse/tests/test_lib_interval.py,sha256=PNEU24XXEGdlW7WkiYJGbhGljwBJpAWen9yTOqlNikQ,839
306
307
  synapse/tests/test_lib_jsonstor.py,sha256=1AebkkDAqFhd_mUyjpGviAUq_n0XFUzeuBxPevOu1vc,5866
307
308
  synapse/tests/test_lib_jupyter.py,sha256=GZ3jPpm9mUCF4bznZgLD8CDbuJFXiKvtXrtgevbkrGA,8738
308
309
  synapse/tests/test_lib_layer.py,sha256=NUEBkrSBDzfQDOqFZrvyxw4UM80JJfcz88T0sNEVqKY,92526
309
310
  synapse/tests/test_lib_link.py,sha256=VtRFH8GEksxSmPXhEKr8GjuPBVprVjpHEecAuHdpYsI,8270
310
- synapse/tests/test_lib_lmdbslab.py,sha256=S9PRoXDC94nhFxy5LyAwkGs2WxwhZDdPl3PbTDcZZNc,62793
311
- synapse/tests/test_lib_modelrev.py,sha256=naTkrBGUW0dChVYgsPWr9xUEqOXOIxkenV4axCbIoDk,21345
311
+ synapse/tests/test_lib_lmdbslab.py,sha256=mP5qx5d0ktnawWMt9jYbJzaO3M96oH_4Vc6H0iX4s8E,63365
312
+ synapse/tests/test_lib_modelrev.py,sha256=BHCfwecasCyUUSTL_4hts3wkHD-KSPptwSYoL9QlwDc,24376
312
313
  synapse/tests/test_lib_module.py,sha256=h2OyCW4HW-ZFiJBNQtZ-sPLjsnrlLdTFHQPaXpA8cds,3923
313
- synapse/tests/test_lib_msgpack.py,sha256=fDynSn4QQt5YiIFzHDhMi16TJsb9Dqxgmx09IIMHt8U,7680
314
+ synapse/tests/test_lib_msgpack.py,sha256=_cS-Kzap6InQstBH0nCgFj9HoVO_tB2dj7D2zCa2miU,10056
314
315
  synapse/tests/test_lib_multislabseqn.py,sha256=ujIp3VkFRhPURx3Js9nklXJ4aYup8UTrcLg7X96lrDs,17425
315
- synapse/tests/test_lib_nexus.py,sha256=eNbEbtWI5yldKTIuV2l1dsX2R1jqj1QvHRn08qTUSo8,12119
316
+ synapse/tests/test_lib_nexus.py,sha256=LMEPjGdXIpj1mZPbm1WksMGu4Z1TgsR45y3J6n0tdDA,13942
316
317
  synapse/tests/test_lib_node.py,sha256=YPxhC0cAXg_dHGnIrfqRerTKG8Ne4S0XAy5U8_h5zXA,24242
317
318
  synapse/tests/test_lib_output.py,sha256=iYt3DSEVvJiolIUkGKhATYqHbSk-N92swIr4p6lmzl0,603
318
319
  synapse/tests/test_lib_platforms_linux.py,sha256=MgafTw5hq1ld9sKLREqf3LnmINk4Kdhz589jvE5NC0M,2556
@@ -326,7 +327,7 @@ synapse/tests/test_lib_slaboffs.py,sha256=FHQ8mGZ27dGqVwGk6q2UJ4gkPRZN22eIVzS8hM
326
327
  synapse/tests/test_lib_slabseqn.py,sha256=5exmYwQ-FALf5NXkh-lgolg32LaGvHJIh17EDnbgp2w,5185
327
328
  synapse/tests/test_lib_snap.py,sha256=yv1T0C7kwCoRdC--AjC5Db5AaDXa_69PSdT30S8PgGc,27591
328
329
  synapse/tests/test_lib_spooled.py,sha256=dC5hba4c0MehALt4qW-cokqJl-tZsIsmABCGMIclXNM,2776
329
- synapse/tests/test_lib_storm.py,sha256=XYS_fFieT8w-BNN-awDhTURpaD2n8wF7D7w9yvLut9M,207115
330
+ synapse/tests/test_lib_storm.py,sha256=S9RnzrYJuMGDkojA_NgXndSZP7EFqpeUqDsmkCl7guQ,213134
330
331
  synapse/tests/test_lib_storm_format.py,sha256=tEZgQMmKAeG8FQZE5HUjOT7bnKawVTpNaVQh_3Wa630,277
331
332
  synapse/tests/test_lib_stormhttp.py,sha256=wk907a1fIADBgETeaiY5HWddIXv-nM3vinCryl5oKxw,36823
332
333
  synapse/tests/test_lib_stormlib_aha.py,sha256=ZlOoBs-55Wm7g3Qu2KueqMNnuamLccllpTnMORKoHoQ,9074
@@ -366,14 +367,14 @@ synapse/tests/test_lib_stormlib_storm.py,sha256=0r2lr3x76svq9r9EuSYD2PlqBqYKel6b
366
367
  synapse/tests/test_lib_stormlib_vault.py,sha256=JWCDmSoclZyTVzFdfAvjdLxq6eWIwTCw4n87SopqvXY,19314
367
368
  synapse/tests/test_lib_stormlib_xml.py,sha256=dWa9NkXXE28VZ3bTmMDbddo7VpUKsSEHTS1ojJr-F90,3704
368
369
  synapse/tests/test_lib_stormlib_yaml.py,sha256=egTVXk8wW31V2msF__9WxP3THcqfysG1mYhc7hQG8rw,1358
369
- synapse/tests/test_lib_stormsvc.py,sha256=CGU22jCrWoQHPPccC_MsqkAyz6ARSx9YffZwakhwXQU,40042
370
- synapse/tests/test_lib_stormtypes.py,sha256=DYu2An4YBdhUFmcnrfbGDSp-3yLSR5i-gWA360qeL5E,300851
370
+ synapse/tests/test_lib_stormsvc.py,sha256=phwiggaCWxJRxyeoXieoG-A01sj9ro7WFXWa9MJWeIU,43790
371
+ synapse/tests/test_lib_stormtypes.py,sha256=bdtBXGASkJYyFG62K3vn2Btjby0xiUFonvCdVLmv6_A,302415
371
372
  synapse/tests/test_lib_stormwhois.py,sha256=Rd7yx07kZtEs385e_8aA-EIYh4CrYdn_bh7ikIobiDU,4782
372
373
  synapse/tests/test_lib_structlog.py,sha256=DGfzrfc2nybRq5RjwiUXd1v4sC5zl8d46RHgTmFD0iA,3964
373
374
  synapse/tests/test_lib_task.py,sha256=Zby9Evlg_mBwE3_aF7p_5PIMhWp2Er7Y-ye4Y-3L5RQ,1646
374
375
  synapse/tests/test_lib_thishost.py,sha256=O6QCENStRuMjWS7qV9rqwW3bSZwzEUn9NcttKnDqXw8,366
375
376
  synapse/tests/test_lib_time.py,sha256=d1mPkN9P3GHNnZ_mhjyOv64tJGQ0yI_ifUjK3x-kmDg,8891
376
- synapse/tests/test_lib_trigger.py,sha256=9P14VFnjgup5d_sIrC5l_cBeKuApcejJVJC1hVGsc8o,41259
377
+ synapse/tests/test_lib_trigger.py,sha256=AL6oN-EonCcSHHZIOLF5Bb2pkmksEpNy13UIC_wUhoQ,42364
377
378
  synapse/tests/test_lib_types.py,sha256=vL130FGGwiRuhWrkHBSvL_PYQxJtTB6JBKGIVd8Cvjg,77529
378
379
  synapse/tests/test_lib_urlhelp.py,sha256=ir59ZRJz5XlhMb-ZBYl_p3GpGfnUBnDRwGlffvPC7IY,3147
379
380
  synapse/tests/test_lib_version.py,sha256=yDczjNi60hXXNZ-pYVntDblGNcekFZU6DdDsjUTkGtM,8164
@@ -385,11 +386,11 @@ synapse/tests/test_model_auth.py,sha256=AOg85IHsr4fSD3L1ex4vLwG24oicSzEOvcThdqME
385
386
  synapse/tests/test_model_base.py,sha256=oWHba1qekweQRaJQnR0g_lfoznGd-NoNvzZIDpyZ838,18242
386
387
  synapse/tests/test_model_belief.py,sha256=X75PyP_JI4KvN00njr7JmefGXIhBvR83TOZ1uXdCjSE,1644
387
388
  synapse/tests/test_model_biz.py,sha256=Y610vP90bZFKldn2Q4vmN21tBvxw4fF-I4ccgb1fZ8c,9963
388
- synapse/tests/test_model_crypto.py,sha256=PSIEvPBXdYeEB7W-oHnO3lrTc_Awkb4-pKo5VF54rg8,27872
389
+ synapse/tests/test_model_crypto.py,sha256=7lm36xN4kPTBbhL2wmrfzc7KK-y2c3Fy0UTTqvUocn8,28220
389
390
  synapse/tests/test_model_dns.py,sha256=d-j_RZI0kD8DQilwxpSiA17mhNiPUWzNXD0F0Z579h8,18591
390
- synapse/tests/test_model_economic.py,sha256=HU0yDVN55DDmVvRWj7qx4GHZCioMX4XKwGn8_Octxyk,15605
391
+ synapse/tests/test_model_economic.py,sha256=l8NNK9NFOQdQBEFPFRwo6QK9kohDXywh_kdSOcT3MK8,16200
391
392
  synapse/tests/test_model_files.py,sha256=L2F99ttMbWgmt32YyTvsAKxlymxHyFPQKnNRwbsVX1Y,25335
392
- synapse/tests/test_model_geopol.py,sha256=VmrWK5MKCGspK8rQCUm49Iu8QJEnAidZqMvRQjjYeMY,7670
393
+ synapse/tests/test_model_geopol.py,sha256=7giYvVR1A-FanyHBGjHZrYBDhru4teCoUS-h2unB5W4,7878
393
394
  synapse/tests/test_model_geospace.py,sha256=HfICVBkVl7PCbxZK0vQsA_iVXRHGyS-7-5oIOueS2ng,20293
394
395
  synapse/tests/test_model_gov_cn.py,sha256=FnfKNM_wnvmScLm4cYFSQXZ21kVaTPPDusiCD79awBA,675
395
396
  synapse/tests/test_model_gov_intl.py,sha256=v5BZhQnoMurzZYhM9hkzALzQzp92KidweYxVlghXDws,770
@@ -503,6 +504,7 @@ synapse/tools/autodoc.py,sha256=3U1OWl9ryjGX35U8WovOuZcNaeZQHIwJEXjQSqKGD1A,3495
503
504
  synapse/tools/axon2axon.py,sha256=FOaBLUrHH-r5Vw8FABwfTNGn_fJCg7jJxtP0ALpJUGM,1654
504
505
  synapse/tools/backup.py,sha256=-XLkVYqhY6JaJz-YlB2rPV0AdzewSohCm_NTH-M0lKw,5929
505
506
  synapse/tools/cellauth.py,sha256=2ACKpOsOK_9F1B-HV5qhzGORSN7MhlElkL01Q710M1k,12122
507
+ synapse/tools/changelog.py,sha256=fmz8TMeQR8QBtfOPfGZ38bGzjzYl1HlQy5_q7kI7osY,9086
506
508
  synapse/tools/cmdr.py,sha256=VdXzGU6ekhgvO0LmXFQlIWwH-T0v_q0VBZsKqONmhlg,1692
507
509
  synapse/tools/csvtool.py,sha256=n3TB1qLgb7-0Du6Z6CZtu2vxaHUtzncwr2aQmQjgzi0,7477
508
510
  synapse/tools/easycert.py,sha256=naoYnWfg0m6NrBraKUVk3FK5OW53yVBZH8rv6RrXRH8,4531
@@ -567,8 +569,8 @@ synapse/vendor/xrpl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
567
569
  synapse/vendor/xrpl/tests/test_codec.py,sha256=Zwq6A5uZUK_FWDL3BA932c5b-rL3hnC6efobWHSLC4o,6651
568
570
  synapse/vendor/xrpl/tests/test_main.py,sha256=kZQwWk7I6HrP-PMvLdsUUN4POvWD9I-iXDHOwdeF090,4299
569
571
  synapse/vendor/xrpl/tests/test_main_test_cases.py,sha256=vTlUM4hJD2Hd2wCIdd9rfsvcMZZZQmNHWdCTTFeGz2Y,4221
570
- synapse-2.173.1.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
571
- synapse-2.173.1.dist-info/METADATA,sha256=UIkCgZxhQU3hIV5ERAzQUbQOMaz-B79HL3fjWPJcsFA,4921
572
- synapse-2.173.1.dist-info/WHEEL,sha256=_92Lck2xgIdXE3aYlakoaV5b8A5Iy6trBZ87W_vipAQ,93
573
- synapse-2.173.1.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
574
- synapse-2.173.1.dist-info/RECORD,,
572
+ synapse-2.175.0.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
573
+ synapse-2.175.0.dist-info/METADATA,sha256=eQsLh-zuiEvCR1JkJcona8poCQAvoopknWlAeUGsXmw,4921
574
+ synapse-2.175.0.dist-info/WHEEL,sha256=XrGqwmktxRpaBqML_n8YonJnHwvIY9cxUwGoZwdDLTI,93
575
+ synapse-2.175.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
576
+ synapse-2.175.0.dist-info/RECORD,,