oscura 0.5.0__py3-none-any.whl → 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. oscura/__init__.py +169 -167
  2. oscura/analyzers/__init__.py +3 -0
  3. oscura/analyzers/classification.py +659 -0
  4. oscura/analyzers/digital/__init__.py +0 -48
  5. oscura/analyzers/digital/edges.py +325 -65
  6. oscura/analyzers/digital/extraction.py +0 -195
  7. oscura/analyzers/digital/quality.py +293 -166
  8. oscura/analyzers/digital/timing.py +260 -115
  9. oscura/analyzers/digital/timing_numba.py +334 -0
  10. oscura/analyzers/entropy.py +605 -0
  11. oscura/analyzers/eye/diagram.py +176 -109
  12. oscura/analyzers/eye/metrics.py +5 -5
  13. oscura/analyzers/jitter/__init__.py +6 -4
  14. oscura/analyzers/jitter/ber.py +52 -52
  15. oscura/analyzers/jitter/classification.py +156 -0
  16. oscura/analyzers/jitter/decomposition.py +163 -113
  17. oscura/analyzers/jitter/spectrum.py +80 -64
  18. oscura/analyzers/ml/__init__.py +39 -0
  19. oscura/analyzers/ml/features.py +600 -0
  20. oscura/analyzers/ml/signal_classifier.py +604 -0
  21. oscura/analyzers/packet/daq.py +246 -158
  22. oscura/analyzers/packet/parser.py +12 -1
  23. oscura/analyzers/packet/payload.py +50 -2110
  24. oscura/analyzers/packet/payload_analysis.py +361 -181
  25. oscura/analyzers/packet/payload_patterns.py +133 -70
  26. oscura/analyzers/packet/stream.py +84 -23
  27. oscura/analyzers/patterns/__init__.py +26 -5
  28. oscura/analyzers/patterns/anomaly_detection.py +908 -0
  29. oscura/analyzers/patterns/clustering.py +169 -108
  30. oscura/analyzers/patterns/clustering_optimized.py +227 -0
  31. oscura/analyzers/patterns/discovery.py +1 -1
  32. oscura/analyzers/patterns/matching.py +581 -197
  33. oscura/analyzers/patterns/pattern_mining.py +778 -0
  34. oscura/analyzers/patterns/periodic.py +121 -38
  35. oscura/analyzers/patterns/sequences.py +175 -78
  36. oscura/analyzers/power/conduction.py +1 -1
  37. oscura/analyzers/power/soa.py +6 -6
  38. oscura/analyzers/power/switching.py +250 -110
  39. oscura/analyzers/protocol/__init__.py +17 -1
  40. oscura/analyzers/protocols/__init__.py +1 -22
  41. oscura/analyzers/protocols/base.py +6 -6
  42. oscura/analyzers/protocols/ble/__init__.py +38 -0
  43. oscura/analyzers/protocols/ble/analyzer.py +809 -0
  44. oscura/analyzers/protocols/ble/uuids.py +288 -0
  45. oscura/analyzers/protocols/can.py +257 -127
  46. oscura/analyzers/protocols/can_fd.py +107 -80
  47. oscura/analyzers/protocols/flexray.py +139 -80
  48. oscura/analyzers/protocols/hdlc.py +93 -58
  49. oscura/analyzers/protocols/i2c.py +247 -106
  50. oscura/analyzers/protocols/i2s.py +138 -86
  51. oscura/analyzers/protocols/industrial/__init__.py +40 -0
  52. oscura/analyzers/protocols/industrial/bacnet/__init__.py +33 -0
  53. oscura/analyzers/protocols/industrial/bacnet/analyzer.py +708 -0
  54. oscura/analyzers/protocols/industrial/bacnet/encoding.py +412 -0
  55. oscura/analyzers/protocols/industrial/bacnet/services.py +622 -0
  56. oscura/analyzers/protocols/industrial/ethercat/__init__.py +30 -0
  57. oscura/analyzers/protocols/industrial/ethercat/analyzer.py +474 -0
  58. oscura/analyzers/protocols/industrial/ethercat/mailbox.py +339 -0
  59. oscura/analyzers/protocols/industrial/ethercat/topology.py +166 -0
  60. oscura/analyzers/protocols/industrial/modbus/__init__.py +31 -0
  61. oscura/analyzers/protocols/industrial/modbus/analyzer.py +525 -0
  62. oscura/analyzers/protocols/industrial/modbus/crc.py +79 -0
  63. oscura/analyzers/protocols/industrial/modbus/functions.py +436 -0
  64. oscura/analyzers/protocols/industrial/opcua/__init__.py +21 -0
  65. oscura/analyzers/protocols/industrial/opcua/analyzer.py +552 -0
  66. oscura/analyzers/protocols/industrial/opcua/datatypes.py +446 -0
  67. oscura/analyzers/protocols/industrial/opcua/services.py +264 -0
  68. oscura/analyzers/protocols/industrial/profinet/__init__.py +23 -0
  69. oscura/analyzers/protocols/industrial/profinet/analyzer.py +441 -0
  70. oscura/analyzers/protocols/industrial/profinet/dcp.py +263 -0
  71. oscura/analyzers/protocols/industrial/profinet/ptcp.py +200 -0
  72. oscura/analyzers/protocols/jtag.py +180 -98
  73. oscura/analyzers/protocols/lin.py +219 -114
  74. oscura/analyzers/protocols/manchester.py +4 -4
  75. oscura/analyzers/protocols/onewire.py +253 -149
  76. oscura/analyzers/protocols/parallel_bus/__init__.py +20 -0
  77. oscura/analyzers/protocols/parallel_bus/centronics.py +92 -0
  78. oscura/analyzers/protocols/parallel_bus/gpib.py +137 -0
  79. oscura/analyzers/protocols/spi.py +192 -95
  80. oscura/analyzers/protocols/swd.py +321 -167
  81. oscura/analyzers/protocols/uart.py +267 -125
  82. oscura/analyzers/protocols/usb.py +235 -131
  83. oscura/analyzers/side_channel/power.py +17 -12
  84. oscura/analyzers/signal/__init__.py +15 -0
  85. oscura/analyzers/signal/timing_analysis.py +1086 -0
  86. oscura/analyzers/signal_integrity/__init__.py +4 -1
  87. oscura/analyzers/signal_integrity/sparams.py +2 -19
  88. oscura/analyzers/spectral/chunked.py +129 -60
  89. oscura/analyzers/spectral/chunked_fft.py +300 -94
  90. oscura/analyzers/spectral/chunked_wavelet.py +100 -80
  91. oscura/analyzers/statistical/checksum.py +376 -217
  92. oscura/analyzers/statistical/classification.py +229 -107
  93. oscura/analyzers/statistical/entropy.py +78 -53
  94. oscura/analyzers/statistics/correlation.py +407 -211
  95. oscura/analyzers/statistics/outliers.py +2 -2
  96. oscura/analyzers/statistics/streaming.py +30 -5
  97. oscura/analyzers/validation.py +216 -101
  98. oscura/analyzers/waveform/measurements.py +9 -0
  99. oscura/analyzers/waveform/measurements_with_uncertainty.py +31 -15
  100. oscura/analyzers/waveform/spectral.py +500 -228
  101. oscura/api/__init__.py +31 -5
  102. oscura/api/dsl/__init__.py +582 -0
  103. oscura/{dsl → api/dsl}/commands.py +43 -76
  104. oscura/{dsl → api/dsl}/interpreter.py +26 -51
  105. oscura/{dsl → api/dsl}/parser.py +107 -77
  106. oscura/{dsl → api/dsl}/repl.py +2 -2
  107. oscura/api/dsl.py +1 -1
  108. oscura/{integrations → api/integrations}/__init__.py +1 -1
  109. oscura/{integrations → api/integrations}/llm.py +201 -102
  110. oscura/api/operators.py +3 -3
  111. oscura/api/optimization.py +144 -30
  112. oscura/api/rest_server.py +921 -0
  113. oscura/api/server/__init__.py +17 -0
  114. oscura/api/server/dashboard.py +850 -0
  115. oscura/api/server/static/README.md +34 -0
  116. oscura/api/server/templates/base.html +181 -0
  117. oscura/api/server/templates/export.html +120 -0
  118. oscura/api/server/templates/home.html +284 -0
  119. oscura/api/server/templates/protocols.html +58 -0
  120. oscura/api/server/templates/reports.html +43 -0
  121. oscura/api/server/templates/session_detail.html +89 -0
  122. oscura/api/server/templates/sessions.html +83 -0
  123. oscura/api/server/templates/waveforms.html +73 -0
  124. oscura/automotive/__init__.py +8 -1
  125. oscura/automotive/can/__init__.py +10 -0
  126. oscura/automotive/can/checksum.py +3 -1
  127. oscura/automotive/can/dbc_generator.py +590 -0
  128. oscura/automotive/can/message_wrapper.py +121 -74
  129. oscura/automotive/can/patterns.py +98 -21
  130. oscura/automotive/can/session.py +292 -56
  131. oscura/automotive/can/state_machine.py +6 -3
  132. oscura/automotive/can/stimulus_response.py +97 -75
  133. oscura/automotive/dbc/__init__.py +10 -2
  134. oscura/automotive/dbc/generator.py +84 -56
  135. oscura/automotive/dbc/parser.py +6 -6
  136. oscura/automotive/dtc/data.json +2763 -0
  137. oscura/automotive/dtc/database.py +2 -2
  138. oscura/automotive/flexray/__init__.py +31 -0
  139. oscura/automotive/flexray/analyzer.py +504 -0
  140. oscura/automotive/flexray/crc.py +185 -0
  141. oscura/automotive/flexray/fibex.py +449 -0
  142. oscura/automotive/j1939/__init__.py +45 -8
  143. oscura/automotive/j1939/analyzer.py +605 -0
  144. oscura/automotive/j1939/spns.py +326 -0
  145. oscura/automotive/j1939/transport.py +306 -0
  146. oscura/automotive/lin/__init__.py +47 -0
  147. oscura/automotive/lin/analyzer.py +612 -0
  148. oscura/automotive/loaders/blf.py +13 -2
  149. oscura/automotive/loaders/csv_can.py +143 -72
  150. oscura/automotive/loaders/dispatcher.py +50 -2
  151. oscura/automotive/loaders/mdf.py +86 -45
  152. oscura/automotive/loaders/pcap.py +111 -61
  153. oscura/automotive/uds/__init__.py +4 -0
  154. oscura/automotive/uds/analyzer.py +725 -0
  155. oscura/automotive/uds/decoder.py +140 -58
  156. oscura/automotive/uds/models.py +7 -1
  157. oscura/automotive/visualization.py +1 -1
  158. oscura/cli/analyze.py +348 -0
  159. oscura/cli/batch.py +142 -122
  160. oscura/cli/benchmark.py +275 -0
  161. oscura/cli/characterize.py +137 -82
  162. oscura/cli/compare.py +224 -131
  163. oscura/cli/completion.py +250 -0
  164. oscura/cli/config_cmd.py +361 -0
  165. oscura/cli/decode.py +164 -87
  166. oscura/cli/export.py +286 -0
  167. oscura/cli/main.py +115 -31
  168. oscura/{onboarding → cli/onboarding}/__init__.py +3 -3
  169. oscura/{onboarding → cli/onboarding}/help.py +80 -58
  170. oscura/{onboarding → cli/onboarding}/tutorials.py +97 -72
  171. oscura/{onboarding → cli/onboarding}/wizard.py +55 -36
  172. oscura/cli/progress.py +147 -0
  173. oscura/cli/shell.py +157 -135
  174. oscura/cli/validate_cmd.py +204 -0
  175. oscura/cli/visualize.py +158 -0
  176. oscura/convenience.py +125 -79
  177. oscura/core/__init__.py +4 -2
  178. oscura/core/backend_selector.py +3 -3
  179. oscura/core/cache.py +126 -15
  180. oscura/core/cancellation.py +1 -1
  181. oscura/{config → core/config}/__init__.py +20 -11
  182. oscura/{config → core/config}/defaults.py +1 -1
  183. oscura/{config → core/config}/loader.py +7 -5
  184. oscura/{config → core/config}/memory.py +5 -5
  185. oscura/{config → core/config}/migration.py +1 -1
  186. oscura/{config → core/config}/pipeline.py +99 -23
  187. oscura/{config → core/config}/preferences.py +1 -1
  188. oscura/{config → core/config}/protocol.py +3 -3
  189. oscura/{config → core/config}/schema.py +426 -272
  190. oscura/{config → core/config}/settings.py +1 -1
  191. oscura/{config → core/config}/thresholds.py +195 -153
  192. oscura/core/correlation.py +5 -6
  193. oscura/core/cross_domain.py +0 -2
  194. oscura/core/debug.py +9 -5
  195. oscura/{extensibility → core/extensibility}/docs.py +158 -70
  196. oscura/{extensibility → core/extensibility}/extensions.py +160 -76
  197. oscura/{extensibility → core/extensibility}/logging.py +1 -1
  198. oscura/{extensibility → core/extensibility}/measurements.py +1 -1
  199. oscura/{extensibility → core/extensibility}/plugins.py +1 -1
  200. oscura/{extensibility → core/extensibility}/templates.py +73 -3
  201. oscura/{extensibility → core/extensibility}/validation.py +1 -1
  202. oscura/core/gpu_backend.py +11 -7
  203. oscura/core/log_query.py +101 -11
  204. oscura/core/logging.py +126 -54
  205. oscura/core/logging_advanced.py +5 -5
  206. oscura/core/memory_limits.py +108 -70
  207. oscura/core/memory_monitor.py +2 -2
  208. oscura/core/memory_progress.py +7 -7
  209. oscura/core/memory_warnings.py +1 -1
  210. oscura/core/numba_backend.py +13 -13
  211. oscura/{plugins → core/plugins}/__init__.py +9 -9
  212. oscura/{plugins → core/plugins}/base.py +7 -7
  213. oscura/{plugins → core/plugins}/cli.py +3 -3
  214. oscura/{plugins → core/plugins}/discovery.py +186 -106
  215. oscura/{plugins → core/plugins}/lifecycle.py +1 -1
  216. oscura/{plugins → core/plugins}/manager.py +7 -7
  217. oscura/{plugins → core/plugins}/registry.py +3 -3
  218. oscura/{plugins → core/plugins}/versioning.py +1 -1
  219. oscura/core/progress.py +16 -1
  220. oscura/core/provenance.py +8 -2
  221. oscura/{schemas → core/schemas}/__init__.py +2 -2
  222. oscura/core/schemas/bus_configuration.json +322 -0
  223. oscura/core/schemas/device_mapping.json +182 -0
  224. oscura/core/schemas/packet_format.json +418 -0
  225. oscura/core/schemas/protocol_definition.json +363 -0
  226. oscura/core/types.py +4 -0
  227. oscura/core/uncertainty.py +3 -3
  228. oscura/correlation/__init__.py +52 -0
  229. oscura/correlation/multi_protocol.py +811 -0
  230. oscura/discovery/auto_decoder.py +117 -35
  231. oscura/discovery/comparison.py +191 -86
  232. oscura/discovery/quality_validator.py +155 -68
  233. oscura/discovery/signal_detector.py +196 -79
  234. oscura/export/__init__.py +18 -20
  235. oscura/export/kaitai_struct.py +513 -0
  236. oscura/export/scapy_layer.py +801 -0
  237. oscura/export/wireshark/README.md +15 -15
  238. oscura/export/wireshark/generator.py +1 -1
  239. oscura/export/wireshark/templates/dissector.lua.j2 +2 -2
  240. oscura/export/wireshark_dissector.py +746 -0
  241. oscura/guidance/wizard.py +207 -111
  242. oscura/hardware/__init__.py +19 -0
  243. oscura/{acquisition → hardware/acquisition}/__init__.py +4 -4
  244. oscura/{acquisition → hardware/acquisition}/file.py +2 -2
  245. oscura/{acquisition → hardware/acquisition}/hardware.py +7 -7
  246. oscura/{acquisition → hardware/acquisition}/saleae.py +15 -12
  247. oscura/{acquisition → hardware/acquisition}/socketcan.py +1 -1
  248. oscura/{acquisition → hardware/acquisition}/streaming.py +2 -2
  249. oscura/{acquisition → hardware/acquisition}/synthetic.py +3 -3
  250. oscura/{acquisition → hardware/acquisition}/visa.py +33 -11
  251. oscura/hardware/firmware/__init__.py +29 -0
  252. oscura/hardware/firmware/pattern_recognition.py +874 -0
  253. oscura/hardware/hal_detector.py +736 -0
  254. oscura/hardware/security/__init__.py +37 -0
  255. oscura/hardware/security/side_channel_detector.py +1126 -0
  256. oscura/inference/__init__.py +4 -0
  257. oscura/inference/active_learning/README.md +7 -7
  258. oscura/inference/active_learning/observation_table.py +4 -1
  259. oscura/inference/alignment.py +216 -123
  260. oscura/inference/bayesian.py +113 -33
  261. oscura/inference/crc_reverse.py +101 -55
  262. oscura/inference/logic.py +6 -2
  263. oscura/inference/message_format.py +342 -183
  264. oscura/inference/protocol.py +95 -44
  265. oscura/inference/protocol_dsl.py +180 -82
  266. oscura/inference/signal_intelligence.py +1439 -706
  267. oscura/inference/spectral.py +99 -57
  268. oscura/inference/state_machine.py +810 -158
  269. oscura/inference/stream.py +270 -110
  270. oscura/iot/__init__.py +34 -0
  271. oscura/iot/coap/__init__.py +32 -0
  272. oscura/iot/coap/analyzer.py +668 -0
  273. oscura/iot/coap/options.py +212 -0
  274. oscura/iot/lorawan/__init__.py +21 -0
  275. oscura/iot/lorawan/crypto.py +206 -0
  276. oscura/iot/lorawan/decoder.py +801 -0
  277. oscura/iot/lorawan/mac_commands.py +341 -0
  278. oscura/iot/mqtt/__init__.py +27 -0
  279. oscura/iot/mqtt/analyzer.py +999 -0
  280. oscura/iot/mqtt/properties.py +315 -0
  281. oscura/iot/zigbee/__init__.py +31 -0
  282. oscura/iot/zigbee/analyzer.py +615 -0
  283. oscura/iot/zigbee/security.py +153 -0
  284. oscura/iot/zigbee/zcl.py +349 -0
  285. oscura/jupyter/display.py +125 -45
  286. oscura/{exploratory → jupyter/exploratory}/__init__.py +8 -8
  287. oscura/{exploratory → jupyter/exploratory}/error_recovery.py +298 -141
  288. oscura/jupyter/exploratory/fuzzy.py +746 -0
  289. oscura/{exploratory → jupyter/exploratory}/fuzzy_advanced.py +258 -100
  290. oscura/{exploratory → jupyter/exploratory}/legacy.py +464 -242
  291. oscura/{exploratory → jupyter/exploratory}/parse.py +167 -145
  292. oscura/{exploratory → jupyter/exploratory}/recovery.py +119 -87
  293. oscura/jupyter/exploratory/sync.py +612 -0
  294. oscura/{exploratory → jupyter/exploratory}/unknown.py +299 -176
  295. oscura/jupyter/magic.py +4 -4
  296. oscura/{ui → jupyter/ui}/__init__.py +2 -2
  297. oscura/{ui → jupyter/ui}/formatters.py +3 -3
  298. oscura/{ui → jupyter/ui}/progressive_display.py +153 -82
  299. oscura/loaders/__init__.py +171 -63
  300. oscura/loaders/binary.py +88 -1
  301. oscura/loaders/chipwhisperer.py +153 -137
  302. oscura/loaders/configurable.py +208 -86
  303. oscura/loaders/csv_loader.py +458 -215
  304. oscura/loaders/hdf5_loader.py +278 -119
  305. oscura/loaders/lazy.py +87 -54
  306. oscura/loaders/mmap_loader.py +1 -1
  307. oscura/loaders/numpy_loader.py +253 -116
  308. oscura/loaders/pcap.py +226 -151
  309. oscura/loaders/rigol.py +110 -49
  310. oscura/loaders/sigrok.py +201 -78
  311. oscura/loaders/tdms.py +81 -58
  312. oscura/loaders/tektronix.py +291 -174
  313. oscura/loaders/touchstone.py +182 -87
  314. oscura/loaders/vcd.py +215 -117
  315. oscura/loaders/wav.py +155 -68
  316. oscura/reporting/__init__.py +9 -7
  317. oscura/reporting/analyze.py +352 -146
  318. oscura/reporting/argument_preparer.py +69 -14
  319. oscura/reporting/auto_report.py +97 -61
  320. oscura/reporting/batch.py +131 -58
  321. oscura/reporting/chart_selection.py +57 -45
  322. oscura/reporting/comparison.py +63 -17
  323. oscura/reporting/content/executive.py +76 -24
  324. oscura/reporting/core_formats/multi_format.py +11 -8
  325. oscura/reporting/engine.py +312 -158
  326. oscura/reporting/enhanced_reports.py +949 -0
  327. oscura/reporting/export.py +86 -43
  328. oscura/reporting/formatting/numbers.py +69 -42
  329. oscura/reporting/html.py +139 -58
  330. oscura/reporting/index.py +137 -65
  331. oscura/reporting/output.py +158 -67
  332. oscura/reporting/pdf.py +67 -102
  333. oscura/reporting/plots.py +191 -112
  334. oscura/reporting/sections.py +88 -47
  335. oscura/reporting/standards.py +104 -61
  336. oscura/reporting/summary_generator.py +75 -55
  337. oscura/reporting/tables.py +138 -54
  338. oscura/reporting/templates/enhanced/protocol_re.html +525 -0
  339. oscura/reporting/templates/index.md +13 -13
  340. oscura/sessions/__init__.py +14 -23
  341. oscura/sessions/base.py +3 -3
  342. oscura/sessions/blackbox.py +106 -10
  343. oscura/sessions/generic.py +2 -2
  344. oscura/sessions/legacy.py +783 -0
  345. oscura/side_channel/__init__.py +63 -0
  346. oscura/side_channel/dpa.py +1025 -0
  347. oscura/utils/__init__.py +15 -1
  348. oscura/utils/autodetect.py +1 -5
  349. oscura/utils/bitwise.py +118 -0
  350. oscura/{builders → utils/builders}/__init__.py +1 -1
  351. oscura/{comparison → utils/comparison}/__init__.py +6 -6
  352. oscura/{comparison → utils/comparison}/compare.py +202 -101
  353. oscura/{comparison → utils/comparison}/golden.py +83 -63
  354. oscura/{comparison → utils/comparison}/limits.py +313 -89
  355. oscura/{comparison → utils/comparison}/mask.py +151 -45
  356. oscura/{comparison → utils/comparison}/trace_diff.py +1 -1
  357. oscura/{comparison → utils/comparison}/visualization.py +147 -89
  358. oscura/{component → utils/component}/__init__.py +3 -3
  359. oscura/{component → utils/component}/impedance.py +122 -58
  360. oscura/{component → utils/component}/reactive.py +165 -168
  361. oscura/{component → utils/component}/transmission_line.py +3 -3
  362. oscura/{filtering → utils/filtering}/__init__.py +6 -6
  363. oscura/{filtering → utils/filtering}/base.py +1 -1
  364. oscura/{filtering → utils/filtering}/convenience.py +2 -2
  365. oscura/{filtering → utils/filtering}/design.py +169 -93
  366. oscura/{filtering → utils/filtering}/filters.py +2 -2
  367. oscura/{filtering → utils/filtering}/introspection.py +2 -2
  368. oscura/utils/geometry.py +31 -0
  369. oscura/utils/imports.py +184 -0
  370. oscura/utils/lazy.py +1 -1
  371. oscura/{math → utils/math}/__init__.py +2 -2
  372. oscura/{math → utils/math}/arithmetic.py +114 -48
  373. oscura/{math → utils/math}/interpolation.py +139 -106
  374. oscura/utils/memory.py +129 -66
  375. oscura/utils/memory_advanced.py +92 -9
  376. oscura/utils/memory_extensions.py +10 -8
  377. oscura/{optimization → utils/optimization}/__init__.py +1 -1
  378. oscura/{optimization → utils/optimization}/search.py +2 -2
  379. oscura/utils/performance/__init__.py +58 -0
  380. oscura/utils/performance/caching.py +889 -0
  381. oscura/utils/performance/lsh_clustering.py +333 -0
  382. oscura/utils/performance/memory_optimizer.py +699 -0
  383. oscura/utils/performance/optimizations.py +675 -0
  384. oscura/utils/performance/parallel.py +654 -0
  385. oscura/utils/performance/profiling.py +661 -0
  386. oscura/{pipeline → utils/pipeline}/base.py +1 -1
  387. oscura/{pipeline → utils/pipeline}/composition.py +11 -3
  388. oscura/{pipeline → utils/pipeline}/parallel.py +3 -2
  389. oscura/{pipeline → utils/pipeline}/pipeline.py +1 -1
  390. oscura/{pipeline → utils/pipeline}/reverse_engineering.py +412 -221
  391. oscura/{search → utils/search}/__init__.py +3 -3
  392. oscura/{search → utils/search}/anomaly.py +188 -58
  393. oscura/utils/search/context.py +294 -0
  394. oscura/{search → utils/search}/pattern.py +138 -10
  395. oscura/utils/serial.py +51 -0
  396. oscura/utils/storage/__init__.py +61 -0
  397. oscura/utils/storage/database.py +1166 -0
  398. oscura/{streaming → utils/streaming}/chunked.py +302 -143
  399. oscura/{streaming → utils/streaming}/progressive.py +1 -1
  400. oscura/{streaming → utils/streaming}/realtime.py +3 -2
  401. oscura/{triggering → utils/triggering}/__init__.py +6 -6
  402. oscura/{triggering → utils/triggering}/base.py +6 -6
  403. oscura/{triggering → utils/triggering}/edge.py +2 -2
  404. oscura/{triggering → utils/triggering}/pattern.py +2 -2
  405. oscura/{triggering → utils/triggering}/pulse.py +115 -74
  406. oscura/{triggering → utils/triggering}/window.py +2 -2
  407. oscura/utils/validation.py +32 -0
  408. oscura/validation/__init__.py +121 -0
  409. oscura/{compliance → validation/compliance}/__init__.py +5 -5
  410. oscura/{compliance → validation/compliance}/advanced.py +5 -5
  411. oscura/{compliance → validation/compliance}/masks.py +1 -1
  412. oscura/{compliance → validation/compliance}/reporting.py +127 -53
  413. oscura/{compliance → validation/compliance}/testing.py +114 -52
  414. oscura/validation/compliance_tests.py +915 -0
  415. oscura/validation/fuzzer.py +990 -0
  416. oscura/validation/grammar_tests.py +596 -0
  417. oscura/validation/grammar_validator.py +904 -0
  418. oscura/validation/hil_testing.py +977 -0
  419. oscura/{quality → validation/quality}/__init__.py +4 -4
  420. oscura/{quality → validation/quality}/ensemble.py +251 -171
  421. oscura/{quality → validation/quality}/explainer.py +3 -3
  422. oscura/{quality → validation/quality}/scoring.py +1 -1
  423. oscura/{quality → validation/quality}/warnings.py +4 -4
  424. oscura/validation/regression_suite.py +808 -0
  425. oscura/validation/replay.py +788 -0
  426. oscura/{testing → validation/testing}/__init__.py +2 -2
  427. oscura/{testing → validation/testing}/synthetic.py +5 -5
  428. oscura/visualization/__init__.py +9 -0
  429. oscura/visualization/accessibility.py +1 -1
  430. oscura/visualization/annotations.py +64 -67
  431. oscura/visualization/colors.py +7 -7
  432. oscura/visualization/digital.py +180 -81
  433. oscura/visualization/eye.py +236 -85
  434. oscura/visualization/interactive.py +320 -143
  435. oscura/visualization/jitter.py +587 -247
  436. oscura/visualization/layout.py +169 -134
  437. oscura/visualization/optimization.py +103 -52
  438. oscura/visualization/palettes.py +1 -1
  439. oscura/visualization/power.py +427 -211
  440. oscura/visualization/power_extended.py +626 -297
  441. oscura/visualization/presets.py +2 -0
  442. oscura/visualization/protocols.py +495 -181
  443. oscura/visualization/render.py +79 -63
  444. oscura/visualization/reverse_engineering.py +171 -124
  445. oscura/visualization/signal_integrity.py +460 -279
  446. oscura/visualization/specialized.py +190 -100
  447. oscura/visualization/spectral.py +670 -255
  448. oscura/visualization/thumbnails.py +166 -137
  449. oscura/visualization/waveform.py +150 -63
  450. oscura/workflows/__init__.py +3 -0
  451. oscura/{batch → workflows/batch}/__init__.py +5 -5
  452. oscura/{batch → workflows/batch}/advanced.py +150 -75
  453. oscura/workflows/batch/aggregate.py +531 -0
  454. oscura/workflows/batch/analyze.py +236 -0
  455. oscura/{batch → workflows/batch}/logging.py +2 -2
  456. oscura/{batch → workflows/batch}/metrics.py +1 -1
  457. oscura/workflows/complete_re.py +1144 -0
  458. oscura/workflows/compliance.py +44 -54
  459. oscura/workflows/digital.py +197 -51
  460. oscura/workflows/legacy/__init__.py +12 -0
  461. oscura/{workflow → workflows/legacy}/dag.py +4 -1
  462. oscura/workflows/multi_trace.py +9 -9
  463. oscura/workflows/power.py +42 -62
  464. oscura/workflows/protocol.py +82 -49
  465. oscura/workflows/reverse_engineering.py +351 -150
  466. oscura/workflows/signal_integrity.py +157 -82
  467. oscura-0.6.0.dist-info/METADATA +643 -0
  468. oscura-0.6.0.dist-info/RECORD +590 -0
  469. oscura/analyzers/digital/ic_database.py +0 -498
  470. oscura/analyzers/digital/timing_paths.py +0 -339
  471. oscura/analyzers/digital/vintage.py +0 -377
  472. oscura/analyzers/digital/vintage_result.py +0 -148
  473. oscura/analyzers/protocols/parallel_bus.py +0 -449
  474. oscura/batch/aggregate.py +0 -300
  475. oscura/batch/analyze.py +0 -139
  476. oscura/dsl/__init__.py +0 -73
  477. oscura/exceptions.py +0 -59
  478. oscura/exploratory/fuzzy.py +0 -513
  479. oscura/exploratory/sync.py +0 -384
  480. oscura/export/wavedrom.py +0 -430
  481. oscura/exporters/__init__.py +0 -94
  482. oscura/exporters/csv.py +0 -303
  483. oscura/exporters/exporters.py +0 -44
  484. oscura/exporters/hdf5.py +0 -217
  485. oscura/exporters/html_export.py +0 -701
  486. oscura/exporters/json_export.py +0 -338
  487. oscura/exporters/markdown_export.py +0 -367
  488. oscura/exporters/matlab_export.py +0 -354
  489. oscura/exporters/npz_export.py +0 -219
  490. oscura/exporters/spice_export.py +0 -210
  491. oscura/exporters/vintage_logic_csv.py +0 -247
  492. oscura/reporting/vintage_logic_report.py +0 -523
  493. oscura/search/context.py +0 -149
  494. oscura/session/__init__.py +0 -34
  495. oscura/session/annotations.py +0 -289
  496. oscura/session/history.py +0 -313
  497. oscura/session/session.py +0 -520
  498. oscura/visualization/digital_advanced.py +0 -718
  499. oscura/visualization/figure_manager.py +0 -156
  500. oscura/workflow/__init__.py +0 -13
  501. oscura-0.5.0.dist-info/METADATA +0 -407
  502. oscura-0.5.0.dist-info/RECORD +0 -486
  503. /oscura/core/{config.py → config/legacy.py} +0 -0
  504. /oscura/{extensibility → core/extensibility}/__init__.py +0 -0
  505. /oscura/{extensibility → core/extensibility}/registry.py +0 -0
  506. /oscura/{plugins → core/plugins}/isolation.py +0 -0
  507. /oscura/{builders → utils/builders}/signal_builder.py +0 -0
  508. /oscura/{optimization → utils/optimization}/parallel.py +0 -0
  509. /oscura/{pipeline → utils/pipeline}/__init__.py +0 -0
  510. /oscura/{streaming → utils/streaming}/__init__.py +0 -0
  511. {oscura-0.5.0.dist-info → oscura-0.6.0.dist-info}/WHEEL +0 -0
  512. {oscura-0.5.0.dist-info → oscura-0.6.0.dist-info}/entry_points.txt +0 -0
  513. {oscura-0.5.0.dist-info → oscura-0.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,590 @@
1
+ oscura/__init__.py,sha256=sZMIZXUx6o16YS0E_1XC19L0dIduZHJgTFa5960TenQ,19022
2
+ oscura/__main__.py,sha256=l1rnaD-tpI1W3cp1VHGhSdq9NDqw6Gxjf_gnqXf-zzE,11786
3
+ oscura/convenience.py,sha256=tAABQMwgKjftSNUJLlYnchAwVSO-no0rBfSZteXfZnI,16361
4
+ oscura/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ oscura/analyzers/__init__.py,sha256=rkcNeIEsP5W8W-0z-M2sgmMKPp_F8JPWqzIbgoYknQE,1068
6
+ oscura/analyzers/classification.py,sha256=-dD7ITiApRT3X98PLltyY3zZUpXPMY6Eos0tOz-UiTk,23255
7
+ oscura/analyzers/entropy.py,sha256=R3grNUbsPAyE5G3CwlvTgzWj_BLYFiJIXMLXrzMbDb8,22713
8
+ oscura/analyzers/measurements.py,sha256=ng5Qt2jyAvfKw3JQbJY_JNUqAOJEZwPo3UWa0xSg5Xk,697
9
+ oscura/analyzers/validation.py,sha256=kRb30uQ-y9HQrEq_9fQMMKWj5qPaFBL6-3JXQdQkDC0,23692
10
+ oscura/analyzers/digital/__init__.py,sha256=CrZxLveYI-nZ7INCZg-4zp8UP_uQRpMmX2vljzudJ6s,4228
11
+ oscura/analyzers/digital/bus.py,sha256=Wf3QUKNSxzXaWItR1rdf32kELayywrIg0TC-OhKEub0,22717
12
+ oscura/analyzers/digital/clock.py,sha256=2WihQyf2fUlKTDAOKrhQSStiuUw711CvR6bMbkiliAc,26088
13
+ oscura/analyzers/digital/correlation.py,sha256=_D-pmymVU1rTemSUfg_MklXCo03VkfAFcxSTLAV6jcY,23689
14
+ oscura/analyzers/digital/edges.py,sha256=_vEkn4rqKijyZoQM_bBeF5G8BdRQrXulJ06GVFzwB8o,29089
15
+ oscura/analyzers/digital/extraction.py,sha256=wBOPZi3H1llCHsq36txz_jkEO--Sj6pbsxPZXXGk5_c,12144
16
+ oscura/analyzers/digital/quality.py,sha256=TVcSFRY8crdpkenWxkNiVYJehyvNnzdtf1RIboK2u50,31446
17
+ oscura/analyzers/digital/signal_quality.py,sha256=Ssb1MkUfqjiENJJFOslkTX8Ef6C65HFCM_Ra20Bvp4k,30130
18
+ oscura/analyzers/digital/thresholds.py,sha256=CrGgO1rtzkUOnYb40UT3_uD_0qVA853lGL2WNL95qv4,22428
19
+ oscura/analyzers/digital/timing.py,sha256=Hfv9xXjjyiYs7DIIe8c60vHZBX-ehnPAmjMerfoK93Y,38565
20
+ oscura/analyzers/digital/timing_numba.py,sha256=F2sdubZK3I5ifk_6u1qKzmxsCRq4er8BXhemFnuhTSs,10657
21
+ oscura/analyzers/eye/__init__.py,sha256=SRW0Ir-1RWLwoaenk6FZhGOIWPkuhevYTPt_-8thPw0,974
22
+ oscura/analyzers/eye/diagram.py,sha256=CHEo4-5_vRydG99_nIveJMnz8txFtK7zIysNI307k_w,15289
23
+ oscura/analyzers/eye/metrics.py,sha256=UXNAdRnJCbgje79yOK--3gbSZ4gDb6uaUxQGNCJkRcA,17055
24
+ oscura/analyzers/jitter/__init__.py,sha256=BKoRcC7rR-8FV4UipcT5ymfJxmL_u7866Rs9eJl-Nns,2249
25
+ oscura/analyzers/jitter/ber.py,sha256=dOFBW8vx6w-NCdV3hKawhHAJkDcUwjO0GkjqLGvHoM8,9113
26
+ oscura/analyzers/jitter/classification.py,sha256=CjMHTxfJHjCwAW2KParuBJf6d3yIyDlrltblusZvRVI,6097
27
+ oscura/analyzers/jitter/decomposition.py,sha256=Uc37cJLpKBNhU9uXuurPMxJOR4nSC3h79yjPM8k03SE,25626
28
+ oscura/analyzers/jitter/measurements.py,sha256=xAxw_82M8v6Vq3oPMmGN44LzAUOmpi-YoLs58fCpA8Q,12417
29
+ oscura/analyzers/jitter/spectrum.py,sha256=pzsH0ekM97rligOUOHlsp-8Hn1VZnQpd-a8EeZO3uYE,7164
30
+ oscura/analyzers/ml/__init__.py,sha256=77br1uGiIDnQJQngwfKPDep3OVGhoA_Pj3vIp_dnoUA,1356
31
+ oscura/analyzers/ml/features.py,sha256=xroEW2wqVWsZb2j2dnEQXlyubyHCKxY73WgjNOFrsms,21767
32
+ oscura/analyzers/ml/signal_classifier.py,sha256=pWpuIuB7PWOe71ozjJXIKOjpZckYf5cyp5mVPsacln4,22359
33
+ oscura/analyzers/packet/__init__.py,sha256=HNhAvW_T-P6OXlgCid01Jq8qfhgFtvABw-Tn7XLFoNU,3937
34
+ oscura/analyzers/packet/daq.py,sha256=-EXXEp5cUHhuBDN3W8-w0hvUKBULfHMW5Lf3FDFgIno,36290
35
+ oscura/analyzers/packet/metrics.py,sha256=MyCeg4YX0Z6illSs_o7LleFksjVD3OLb7eh5wAzhVjs,11456
36
+ oscura/analyzers/packet/parser.py,sha256=62HT2M7neOC2Sxeof98CcaSUAORV49F_VOxiUZZaqoY,9326
37
+ oscura/analyzers/packet/payload.py,sha256=n-8g9_SeaatchEIvqn7iuWn-fQYatgk_9fbaycHdV84,2620
38
+ oscura/analyzers/packet/payload_analysis.py,sha256=ch4xmtrgOJjYx61z9Kf0qsuKMgnzMG06Hd_uEBUv02c,45384
39
+ oscura/analyzers/packet/payload_extraction.py,sha256=yBJG-KbljlIyA2hZCv3N5L_eBrkXnS0wXp-EBpKpiX4,7752
40
+ oscura/analyzers/packet/payload_patterns.py,sha256=GNvrWTbSWS5j-vsSipoRX4x35DsAptMZvtFDwgwY1ys,21791
41
+ oscura/analyzers/packet/stream.py,sha256=2izSnyp77bd2Zp6QWPZdtMa1C7mAm48bqi-Y6Igk3ZQ,11215
42
+ oscura/analyzers/patterns/__init__.py,sha256=SlYG7CbwB_036mWTJl3CqO2-sQGZKI_z1hm8lyNEV8w,7759
43
+ oscura/analyzers/patterns/anomaly_detection.py,sha256=yq7yMpAf1YY41nT-xykuIRlCpAqZVggjCmbeZpZhQeQ,34625
44
+ oscura/analyzers/patterns/clustering.py,sha256=e5H7mMpz7hz29OmpKuXSaI6rRQ0UYMmn3vjyF8Y-gtM,35030
45
+ oscura/analyzers/patterns/clustering_optimized.py,sha256=9aZ7cJZykCfMxnI6FoXEkirKUbpFLd1dkIdtwhsEqUM,7579
46
+ oscura/analyzers/patterns/discovery.py,sha256=jJk5D6rdM_g4d-2ireXxQ71VusxUkbGVjUpmSzvL8oA,17116
47
+ oscura/analyzers/patterns/learning.py,sha256=aRhE3vLg6fX1a1aD2Lpseil_4EFcrL9vitDotNWOC9w,23826
48
+ oscura/analyzers/patterns/matching.py,sha256=pQVfdrzzt_rsyBkB3gW6qsEkH0GO0vHs0WRtnCGsDro,45653
49
+ oscura/analyzers/patterns/pattern_mining.py,sha256=r9--2ebVBi6ixBicvQXxLbEKPTaH0-HDpl0uGCi2YWI,28686
50
+ oscura/analyzers/patterns/periodic.py,sha256=MBYtTfJayshCNHWsRxqqJmTbedkR9ZaD4CfuQan24zQ,23025
51
+ oscura/analyzers/patterns/sequences.py,sha256=VwB0KubceaaOpfK3tPCP1CfuTkGsq2Xf3Zk95Jgpl3o,26188
52
+ oscura/analyzers/power/__init__.py,sha256=MD2seC2_PLHzpR1ZUKnM43ZPsZy0Fa9_mIdMrGlQvoo,2755
53
+ oscura/analyzers/power/ac_power.py,sha256=8Oblosut_--CniQcoUGOwdACt2UmUznCu0cSsUCKQs4,10400
54
+ oscura/analyzers/power/basic.py,sha256=K6NYIlPkz5_hbHehtUq9MEEKjULqzc7pkCHy2cp6nfQ,11357
55
+ oscura/analyzers/power/conduction.py,sha256=z2rI-VlMgvW47s_fwdctG9y0F64UPnm61jto5JapgoE,8604
56
+ oscura/analyzers/power/efficiency.py,sha256=_jJXrLOzzzMrMhEwGQi6zP5vUscM9vEvezoHtwwjD04,8695
57
+ oscura/analyzers/power/ripple.py,sha256=4JZVeZxEivzoThKKTynSTgWEU_453QcoRtASmaYgt5s,10168
58
+ oscura/analyzers/power/soa.py,sha256=BV8p1cohIep5z381cm4Mlg2NT27hyNnUW9WVviiHIFM,10918
59
+ oscura/analyzers/power/switching.py,sha256=CtbDdxmfEAvg6KAMsVcWZl2TO5rVwv2CAq2NXrMD1Ik,19186
60
+ oscura/analyzers/protocol/__init__.py,sha256=htSo0ILT4pAth1PIryYXiWVaQToqc1fLGTBfuh3ObG4,3572
61
+ oscura/analyzers/protocols/__init__.py,sha256=nSW_dtZOL_m-qBvrQ8cgFiVKqsr8zehKvm3sf-9O8Rs,3376
62
+ oscura/analyzers/protocols/base.py,sha256=ZDcIpyBFMKdH97SzW2U9cA0MImsEVv9oS3q-4toNbrs,13555
63
+ oscura/analyzers/protocols/can.py,sha256=20JdmGr-WyxnUVL05vU_cv4qqN4_mYahWzj9Lxx7r7o,21589
64
+ oscura/analyzers/protocols/can_fd.py,sha256=N-ztMJKpInHmzEK9vV28P1xV_Ivueyfu1fNsl6IPZ1k,13904
65
+ oscura/analyzers/protocols/flexray.py,sha256=w-xm1JKSTlZQz_mEr8M9tV43jptq9FZTUEtJnvT4a8c,13581
66
+ oscura/analyzers/protocols/hdlc.py,sha256=rip8UJiqlvdqy8JEHzw_35WneytaB0zk0EBnlp8UCZc,12404
67
+ oscura/analyzers/protocols/i2c.py,sha256=BqHTtAHYRsMeNye5nhLlUQS9xeB7UOzxMjrV0OpL2J4,14904
68
+ oscura/analyzers/protocols/i2s.py,sha256=JlAJW9CB2_dH-lC5aiG0Eg6osMLwG5uHSQdpJ8DjnXM,10606
69
+ oscura/analyzers/protocols/jtag.py,sha256=CA1WeWR6Pqc3FC2JmOY9QHEGZ1Tjh0z9IixydkpR0OQ,14426
70
+ oscura/analyzers/protocols/lin.py,sha256=xNpB_VFZArKxaRSp4e6-v6R_-gPKjperjMRHK3itcYA,16418
71
+ oscura/analyzers/protocols/manchester.py,sha256=NHEvr25p3jKx3n4Jf0ju2PPxH9CJQN-IzO65apG5m2M,10215
72
+ oscura/analyzers/protocols/onewire.py,sha256=NGle62g3HKEVjbfjCmOxuw4Zi5tso2viwvicExPzE4s,18537
73
+ oscura/analyzers/protocols/spi.py,sha256=SBO9ur3JtM6RRQe8jteQQcQJLFnN4dvUgk7rF5fxPsw,12849
74
+ oscura/analyzers/protocols/swd.py,sha256=X_yVT90wkra5f9ZcvcPGqCN-Cm3wvz1z1z1JQ-utXlQ,14535
75
+ oscura/analyzers/protocols/uart.py,sha256=qs9Z3RBmZ7KuXmiDikRYxk0lHQevdqgiBj6GJosKD30,15852
76
+ oscura/analyzers/protocols/usb.py,sha256=VxvtyTDnp8iilRczzOMWm7moIea3mFEOWS51FbjQfcs,17208
77
+ oscura/analyzers/protocols/ble/__init__.py,sha256=AtZ434p8ZmIna9VGoF5U4d0YFLEsqsjpe2K2OTQwaww,971
78
+ oscura/analyzers/protocols/ble/analyzer.py,sha256=PCDaXphd6OWP3CDmHzboQyn9X3nAAafxSnrKqFa3LHs,26561
79
+ oscura/analyzers/protocols/ble/uuids.py,sha256=H3hEtrh-eSeorgfX6ahysfZJOGZ6wjzYErn_wvKoBy0,8964
80
+ oscura/analyzers/protocols/industrial/__init__.py,sha256=1UQHReCuz0ZqCaLXPjRFUsxxClNED-p6lnAe-wmgbYg,976
81
+ oscura/analyzers/protocols/industrial/bacnet/__init__.py,sha256=5x-rK4WxPQiTVZWdNvmDP7HkM9Uef5oBGLytbqOcuxw,1004
82
+ oscura/analyzers/protocols/industrial/bacnet/analyzer.py,sha256=zywwOV0ekwTIhkLGdjji9jdL7F4yaNX40tEya5J_I5g,24908
83
+ oscura/analyzers/protocols/industrial/bacnet/encoding.py,sha256=P9MUB14jcRxvBaXTF10uAOoxqWcqdO9g8lXrn1xDW3w,13497
84
+ oscura/analyzers/protocols/industrial/bacnet/services.py,sha256=Gpg9EhA9ewgjFP7RkOTRhEpsAFDcArOjVLo-bPxRLIU,19803
85
+ oscura/analyzers/protocols/industrial/ethercat/__init__.py,sha256=0BNUNusY1tcJ5vHovwyj_GUo-FZ0Vlos6IRNUQETR5Q,815
86
+ oscura/analyzers/protocols/industrial/ethercat/analyzer.py,sha256=Gwm0gaxnrr2eVpwwCp7G-miwsU5WYtwYYcY-mbEozwg,16987
87
+ oscura/analyzers/protocols/industrial/ethercat/mailbox.py,sha256=HaJovbOF26FjqN_1y06dJqyUfLKsl-XJhV7KF5Dmz8E,9041
88
+ oscura/analyzers/protocols/industrial/ethercat/topology.py,sha256=RpdHw9cDY96Yfn9J8MsBsqQPvRf8gHKY9nJjZh9tOF8,5607
89
+ oscura/analyzers/protocols/industrial/modbus/__init__.py,sha256=cTkhUgWZ6b6rOdrqrET7Hd8SnnTEgIu2-gfGQ0iMsPc,893
90
+ oscura/analyzers/protocols/industrial/modbus/analyzer.py,sha256=IUk0jM91kFLu_fSXE7Gj-p5wQWQNwh26k2GS0U-VSTU,18636
91
+ oscura/analyzers/protocols/industrial/modbus/crc.py,sha256=3nf-iaxqW1fmdpwMOwUby6zWGaThZAUKEZDmVzN_758,2142
92
+ oscura/analyzers/protocols/industrial/modbus/functions.py,sha256=MEH1AAV9I7gJOYdkdZGi4eM7dejXnjlfJ5sU3l22JiQ,11294
93
+ oscura/analyzers/protocols/industrial/opcua/__init__.py,sha256=qOnYPG7sYhPKNPYe52p2l6zjqCyVSiIOHxKMeOuhTOA,697
94
+ oscura/analyzers/protocols/industrial/opcua/analyzer.py,sha256=veirwKec5OJkjBTvX9weJF-wJRyWoX51bjv1YBO4n4o,19503
95
+ oscura/analyzers/protocols/industrial/opcua/datatypes.py,sha256=qBr-AoZWjFur7CjvtyYes3meIOess-1bEibkBi0KSGY,12678
96
+ oscura/analyzers/protocols/industrial/opcua/services.py,sha256=FiFcE6kMuEBFAJOSY-loRDJMJ6nay9wVxaTNUzlKd2E,6524
97
+ oscura/analyzers/protocols/industrial/profinet/__init__.py,sha256=7qdMb0oaOMEif6a9daMZ2zGajR8e8T5dggE1YykAP-w,781
98
+ oscura/analyzers/protocols/industrial/profinet/analyzer.py,sha256=uxqvAzSbUV9b6PcESXk3-SYGX7Qoq7CmfO1kt_LFpUA,16129
99
+ oscura/analyzers/protocols/industrial/profinet/dcp.py,sha256=ceaO_a2b880NOt2SpTxO7Eu2EI8D1WQ_fW0XgLum2aI,8563
100
+ oscura/analyzers/protocols/industrial/profinet/ptcp.py,sha256=JGl7MuYpncauUrQU7daUZQJVpf2kBa6bHpAO85nHT0c,6826
101
+ oscura/analyzers/protocols/parallel_bus/__init__.py,sha256=Q5eJerhXUdIjQHGRZUmOdbwzqZe2_X264hNk1qGPcB4,764
102
+ oscura/analyzers/protocols/parallel_bus/centronics.py,sha256=FnwGT7rerCdeCioP9Qb9dxJcgOO7RoigVrutXTvF-Uo,2597
103
+ oscura/analyzers/protocols/parallel_bus/gpib.py,sha256=Kbv9HQPWEkqRcEnOLR6vmqnax4CbJKMrvJnyT76F624,4124
104
+ oscura/analyzers/side_channel/__init__.py,sha256=XGD7uvvL6Mf2FO6VU5fbBTtfARA-WGXa-rvHAbjNBxc,1361
105
+ oscura/analyzers/side_channel/power.py,sha256=Ty2lsxnqKwtELTRFzl6YQmYCnSrRiiErptvb3KdXPkU,18447
106
+ oscura/analyzers/side_channel/timing.py,sha256=loNKa5dgWu9sFTsKCNt087vqYCjBIVVQn3lzQBb3pQc,12128
107
+ oscura/analyzers/signal/__init__.py,sha256=Lf8ua7XQJUQYsXzO-dLq5JeSULfgUbWJS_8LzHXbIdA,331
108
+ oscura/analyzers/signal/timing_analysis.py,sha256=aUJwHZLxRxOKCKRzes0nW7Q6Z972HlznOR2sJUyFaqA,36784
109
+ oscura/analyzers/signal_integrity/__init__.py,sha256=hGUoFrJEwMY_FYJVXzr_-mG9XaBv2K-dEFxWsvRywXQ,1531
110
+ oscura/analyzers/signal_integrity/embedding.py,sha256=LV-8TwSfCfFe-TavXXKOw7eIeigxkvKeJktyQiqcZXg,8036
111
+ oscura/analyzers/signal_integrity/equalization.py,sha256=cVomry8n-U5pS8F2LKuEdZBwmi1wfbQo2vyWettn2A0,9906
112
+ oscura/analyzers/signal_integrity/sparams.py,sha256=w1ABtw0reIdHZZM3qPo1jKW_atsbolGKe6ZjTyRKRNE,7571
113
+ oscura/analyzers/spectral/__init__.py,sha256=YeUKiUOtN3LkWjPmjiG55OWMldSaBJ4BE4OSem7sdm0,850
114
+ oscura/analyzers/spectral/chunked.py,sha256=-IST08XyhxRjhdNrEBcJP1skCvQh4QH9wJ5heNIjGQA,10080
115
+ oscura/analyzers/spectral/chunked_fft.py,sha256=18PXyZAm5cmn-KF6mUTGW0luVdJ_7zSp335qIfIJAys,26538
116
+ oscura/analyzers/spectral/chunked_wavelet.py,sha256=p2EBoZIhlYr-lu8pLZ8kCAUWngVsf9vJ-gwnyRzYBPQ,12968
117
+ oscura/analyzers/spectral/fft.py,sha256=9YtGu5-2EO1loRhnyWkANTBIZpkM0VL3gk4enAtZ6Xs,2401
118
+ oscura/analyzers/statistical/__init__.py,sha256=dsmCm6ALoEDpc81Bav3jMyuLi0GPLbEvqUj8J9aQAzY,6058
119
+ oscura/analyzers/statistical/checksum.py,sha256=3ZAUoSmhG7MEjAZVMBHx2d2xCCzIGoPKKdR-5ttWsJ0,31503
120
+ oscura/analyzers/statistical/chunked_corr.py,sha256=B9SXVXZKyNfUJ5uSCw8kX4oxYkrIO4cX096SMvo5DZg,6906
121
+ oscura/analyzers/statistical/classification.py,sha256=7H8olxcMSCNPVlI2hnWgJPfR6V-I8eCM53woGvpb8Yo,27997
122
+ oscura/analyzers/statistical/entropy.py,sha256=PumI1rLhR4QtvUVGooPYXEKbvV8u5sAuXvhTesimDWc,35981
123
+ oscura/analyzers/statistical/ngrams.py,sha256=lsmhIFMYncX7nymdFMi916Nd1BwlPsgVMMPCF3qadMk,18054
124
+ oscura/analyzers/statistics/__init__.py,sha256=5dMDFjrxnhVJUqFxnYZL_EhVBDI5SZojJ54HbtHASHs,2743
125
+ oscura/analyzers/statistics/advanced.py,sha256=XeIlZR8COj1yF7OtRZfZ5KWBLYXUSqgN2hNmtiLAD0g,26800
126
+ oscura/analyzers/statistics/basic.py,sha256=Utdf7Cvg2o9TXUQEq1qeEp-W5lb28uECmzjHEKiCW2c,7115
127
+ oscura/analyzers/statistics/correlation.py,sha256=AXk3879xnaRitCbC1HGmtil9ztP6j2l1xBLLDCa5hCI,27329
128
+ oscura/analyzers/statistics/distribution.py,sha256=ps2lXgWGYsUBTpGaftC5Qdz7GlDqJmB6z4uXaTeaLao,8916
129
+ oscura/analyzers/statistics/outliers.py,sha256=rxXKt8BgxEUlgb0UJVbOO3V-WvUL9ODJ003dmYpufuc,14667
130
+ oscura/analyzers/statistics/streaming.py,sha256=W0qxfqD8gBdbpqYPIORF_uJP88gGYnuAnFs3PBEpc-k,3604
131
+ oscura/analyzers/statistics/trend.py,sha256=Tu0gUZqy4PJ7Ne7YzRuJGU80DUl71Onc3QXsbaiuLjU,15565
132
+ oscura/analyzers/waveform/__init__.py,sha256=icFPs-NPaiaNzxjFfzOcMP613jzbqTz_5OgwnJbx7i4,560
133
+ oscura/analyzers/waveform/measurements.py,sha256=5-Qxz7AOwpksFnskaq6qRp0UiyV68WC3iCMPvGbFDrw,26181
134
+ oscura/analyzers/waveform/measurements_with_uncertainty.py,sha256=CeqGVWE66OVZdal38JXtGCz_Zrg91h9JmI-Mnmkh3GE,13308
135
+ oscura/analyzers/waveform/spectral.py,sha256=6HYTHjtChWNeEw7tzZrDVJJsNUGtMDfBqMqvfsm59Ng,56479
136
+ oscura/analyzers/waveform/wavelets.py,sha256=rKoqiKmuLQ9iKMFshJam7wdn6fL6sFcJY_-J0fYl5F4,10116
137
+ oscura/api/__init__.py,sha256=7URqzrBUiIq54TSUUi291VhBiZ-ZL5cS4m5eM0WppGk,1808
138
+ oscura/api/dsl.py,sha256=_azJ2AnbN5EDhgH6RiZmHEDJxu5lzMbZpDhhsmaX7Zs,14880
139
+ oscura/api/fluent.py,sha256=Bvo1yVqqn3nmVWaoPv4C-YtYszBhHmdW8m5NdyhWEEo,15373
140
+ oscura/api/operators.py,sha256=S7rnANYoA6EjNAxqEsZG3l1jCdn0pJijrMi2nIocJds,13805
141
+ oscura/api/optimization.py,sha256=YsmPMqO_4xGMCtdrRXcGv67g2UqHZURT3ddA-eoCUjw,15514
142
+ oscura/api/profiling.py,sha256=vkYinleXrznWdd0OT5zIJN_PW289GQE_ODmR9DaCcQ0,10567
143
+ oscura/api/rest_server.py,sha256=9u_BXanlGV6PGPiTFu60eccGiAoQuNM651fUrjxrr_U,30477
144
+ oscura/api/dsl/__init__.py,sha256=I6ncLu23XkrfEVy4IXqo6UKwkfxE8oL9RbVjCHwI1ro,16555
145
+ oscura/api/dsl/commands.py,sha256=l5jSljS_VT4yL7xWV1Wpzrmwf48yTo3JqkG_WkSJAe4,6158
146
+ oscura/api/dsl/interpreter.py,sha256=WLmUq8tlRGK7lDduu5SGW4znLMotZv8OiBg_nMr-BnY,14260
147
+ oscura/api/dsl/parser.py,sha256=QDXTENnYKkAzoPXSuhHhNwXGfN1kQb_5egJJsQn4hMQ,21495
148
+ oscura/api/dsl/repl.py,sha256=WSKatumj6jjrPRGEoeJVYrAFwzIb2UMGavFDamDuvUM,4777
149
+ oscura/api/integrations/__init__.py,sha256=X37JOtFGXnOhHhDAaufNPjMFnPlqyn2dXlj2xXYkYNY,1190
150
+ oscura/api/integrations/llm.py,sha256=UqmKD-O6WjgdQPChqpXSfGj8vlEt5c6C7UFssxsWbvw,60808
151
+ oscura/api/server/__init__.py,sha256=_d62mPpvt8Fg7hQ04vMute7_RxZZmUtMcgzpQ9ps0os,480
152
+ oscura/api/server/dashboard.py,sha256=xGG0AHR7fQscK43f2pjkd3d9qxJ4YDIAewk1QDBTkxc,29402
153
+ oscura/api/server/static/README.md,sha256=UEv1yueW3rBlFxw-uTM7Lcv5onM35L_nmRHOJIWunSw,903
154
+ oscura/api/server/templates/base.html,sha256=h44_tjH_fBUFPJPaoKgTZ-OTTn2ogkezSxEFuvpgrHc,5961
155
+ oscura/api/server/templates/export.html,sha256=bVxHzUVKBP0UP3w-8S-E9IyUK49kyOa-xqmzA15BzQU,5408
156
+ oscura/api/server/templates/home.html,sha256=vuQMWJRpm9UKw0w0mnFP7iBAF9_DO-7p-U9Jz7cViD0,11428
157
+ oscura/api/server/templates/protocols.html,sha256=iql-1GYtHdE6a9cFFJZMnTpjc-ikwSECvm6EOB2DxI4,2662
158
+ oscura/api/server/templates/reports.html,sha256=18xoAZPIg7eQANs9k-tmGzVs_-tmS5m6_HFiyhsd8co,1442
159
+ oscura/api/server/templates/session_detail.html,sha256=32HnJ0o8ptlZEHQVO1c96j6PoxS0856kPjW2MVn0D8o,3693
160
+ oscura/api/server/templates/sessions.html,sha256=kVcpLOlXAx0PizP7Vc1NlhsYg5swTj77fKCZxoTTCYU,3146
161
+ oscura/api/server/templates/waveforms.html,sha256=5XfpHkgRpmV0MeFb9pBkVDa63phT8zGWnrmA0UlUwZE,2269
162
+ oscura/automotive/__init__.py,sha256=MhHsef7rFKAn_0souQIh2BQPcIlKnBzBOryTr5oww-I,2767
163
+ oscura/automotive/visualization.py,sha256=LD6Gia3kDqoB_jQkOeVmyRVLv1BPuTUVj6lJMVtbQWg,10664
164
+ oscura/automotive/can/__init__.py,sha256=ZYxC8tMMi9Drm9adkH5yklypBTfIbf3D7BYA2SUp9fE,1491
165
+ oscura/automotive/can/analysis.py,sha256=0z6MycxuJGusqDQhYEpHnGRmDw3OMf5yDbS8zI6GJO0,11251
166
+ oscura/automotive/can/checksum.py,sha256=o3ABfBimhVsXgBJUHuqELqvazBsyd3gn7LFGpgjZkc0,8671
167
+ oscura/automotive/can/correlation.py,sha256=B7MXSz_uzce-dSkwON4ssmFzC53hYc6GupZW3QTkGt4,6754
168
+ oscura/automotive/can/dbc_generator.py,sha256=vIj0WcOyJU3U0XGZSbFY0FGUE2Svm5XZtMfA8LxEZpA,18731
169
+ oscura/automotive/can/discovery.py,sha256=E4Z-zc8cOP_yUklhVp2tBLOIw2I9KU4mLoSb37VsgTk,11237
170
+ oscura/automotive/can/message_wrapper.py,sha256=VDkgKa6lVij_KbGUPL8Ndnj_xlkBERqZMAD8Sl2vX4g,13848
171
+ oscura/automotive/can/models.py,sha256=fGnCt8FBKURKAz295s2duUas--w2rVfJpMEZ4O9uPvA,12046
172
+ oscura/automotive/can/patterns.py,sha256=dG6FsRlorzJY7n44HGZnidFOYuZqwfsebGFvttFGSZk,16455
173
+ oscura/automotive/can/session.py,sha256=DFnOafBnXcq5uijumjsTdu9awGJuApobwE8efJK-U_U,32605
174
+ oscura/automotive/can/state_machine.py,sha256=ksvoDWaROa_eN6bNyg4G3pxDkiMm5vxJZuB4rA8MdGw,10717
175
+ oscura/automotive/can/stimulus_response.py,sha256=XlXCoTf1thjEIXKLNLHvdySlTrFiN8WXuR862cSnKFc,17240
176
+ oscura/automotive/dbc/__init__.py,sha256=HZlM2WAaaglpX4C9tJVkF7uZiaHW4iUPQAbhfJYRAm0,588
177
+ oscura/automotive/dbc/generator.py,sha256=Dxg6fFHYNxtqExKxf0S63MeZsHriisA6R-Ii7WwsfPY,6724
178
+ oscura/automotive/dbc/parser.py,sha256=C5SL1bfJFZp0CYsw-ff8ysJ_57Us9dBoHZ1t6LVLGbo,4421
179
+ oscura/automotive/dtc/__init__.py,sha256=09CgvnClJTQIvzgDOQ22CbcjGAg_zOhPlbm1-k-gl30,895
180
+ oscura/automotive/dtc/data.json,sha256=OrymnbjQkVMdJlIeQ6MUDIihkd9Kea-YvAizZwOZWcc,80011
181
+ oscura/automotive/dtc/database.py,sha256=Ee1Jd4CbP5T4LON0Y2PdOkgdISHa8jf8c6znb0S_L00,9582
182
+ oscura/automotive/flexray/__init__.py,sha256=2RuW8TR4M3tSDEfcj-pJQpGGSxGaw5GdyGSvjMnU8Lk,938
183
+ oscura/automotive/flexray/analyzer.py,sha256=UG3e9tJSHGV7aR3WKwfVCrNDSVlT7ZgFm7vgCcw0qOo,16727
184
+ oscura/automotive/flexray/crc.py,sha256=_tESIhGZFL-yL67loyS2oE2DGwRlWC0VRrT5ZU871C4,5230
185
+ oscura/automotive/flexray/fibex.py,sha256=3EvyTRQ1_-EUOqynRVnsokos_-DY6eM-NdF0_u1YjIQ,15048
186
+ oscura/automotive/j1939/__init__.py,sha256=FhUfn6zkGXZtWRMAuVJh1EU9JnKRivzPm7Kh9edJBII,1348
187
+ oscura/automotive/j1939/analyzer.py,sha256=WnJnGL4oSggwp39YO_wX6qoDTelVFg1g9iWWDzt4HU0,19519
188
+ oscura/automotive/j1939/decoder.py,sha256=qSfok5RTuwc4vR5sjnEdTOi06TwaNfIhBtZq6Vpzhik,25115
189
+ oscura/automotive/j1939/spns.py,sha256=ApQYvXpgkv_hDALYbsH6DgaX4pf5pN_N_CYqbWy6rAM,8330
190
+ oscura/automotive/j1939/transport.py,sha256=c2CcItFyIq-ih8JNjpWGUbxR3a6aMJsgiu0guqWwBfA,9386
191
+ oscura/automotive/lin/__init__.py,sha256=F4t0-Z50dh9Qk_sfLVgDDjKmeSioqnwSBa9qvsTT330,1478
192
+ oscura/automotive/lin/analyzer.py,sha256=U-G4mohfKou5GD4Kcf84qjwisXmkTG6y8ichNcOROPE,20873
193
+ oscura/automotive/loaders/__init__.py,sha256=J9twsEcwaw-TuDvdxbJavi3YS0M6g9UmZdfxOxeliOA,909
194
+ oscura/automotive/loaders/asc.py,sha256=toOnxQDLJf8Pv1Zu6KWIk0YUykiLOhKKUPIO7slm9Mw,3097
195
+ oscura/automotive/loaders/blf.py,sha256=PLKJpUG0Nd3kmSENALMP9FmMP1MBUDmC_5LOliffD8U,2973
196
+ oscura/automotive/loaders/csv_can.py,sha256=N4smlDyh-js7ZvV2vh5Mg1g9tz5vSs6wiuup9eOQTno,5717
197
+ oscura/automotive/loaders/dispatcher.py,sha256=2dNfwxCzOQwhahHWPrrNXzDrpJZprm7LeuBfwIOnOpE,4431
198
+ oscura/automotive/loaders/mdf.py,sha256=77NPKScbGGWHig7NRXeAxQVNoW5UCuPmKoMKb4qi9OU,12003
199
+ oscura/automotive/loaders/pcap.py,sha256=2MYPY60LyuDLqeib0tagvgYlH2qBJYU2IWUlblRO9M0,5131
200
+ oscura/automotive/obd/__init__.py,sha256=3Sg1B1NRWCimFpmA4IwD-OXSeEWjVita2urgikDTRJo,309
201
+ oscura/automotive/obd/decoder.py,sha256=0MemCblgvD_XboqFCexiEVncs-NdAHaD1U_G8RuReHQ,20257
202
+ oscura/automotive/uds/__init__.py,sha256=r9YhBEie-2A3u7hSj6iVeA9e0KiHFRpZ2SC8D2vBuqo,1580
203
+ oscura/automotive/uds/analyzer.py,sha256=7FbN-6IDF-jA2XwTVCQcGqo5sutRy3NdMpqV-9dTwsg,24176
204
+ oscura/automotive/uds/decoder.py,sha256=10MwFLqMqH49DuOtXV44qCoPS6FAfmx3jof6VWkfsN8,11140
205
+ oscura/automotive/uds/models.py,sha256=L7Zxqh0OtxybRo8UXDL-_1RfdDHrTcerDpeP_pNRFuY,2003
206
+ oscura/cli/__init__.py,sha256=OsdCTexpFCKn-o7FPnwTEAZE52E2s-NbXwpADUOfhDM,275
207
+ oscura/cli/analyze.py,sha256=l-Dp8JJpOxkVWCqgwT6q1c5sf7jdAbbpg5qMQhpId40,10096
208
+ oscura/cli/batch.py,sha256=9Ii285le5TRCH_OJAXgdhgw48mQPryviFuYdqL726WY,10656
209
+ oscura/cli/benchmark.py,sha256=iuvOgwBBTCZRCvl5C3XpRfInTyaQ-ILFmXu_PlXXoDk,7159
210
+ oscura/cli/characterize.py,sha256=xYIh9dCqb3eANq7ZDW2Mep7vIp362h4x-RVfqMcg0Jc,9843
211
+ oscura/cli/compare.py,sha256=AbQvJv1EP5rOCm4wJSSCbU_lJnkeL_H-fkPIhO7fUto,27786
212
+ oscura/cli/completion.py,sha256=uyVp9sEAOxSWNiGzPK-HGZf8mX9R6kvDImOWQWfXw74,8755
213
+ oscura/cli/config_cmd.py,sha256=bbAMqRAHGD4vmpHwVzPddPy8HdTaFt9c3UeBMNyeEGg,9142
214
+ oscura/cli/decode.py,sha256=rr3_QvKnx31IDq-lIb65LlafiqgNLzuvWKkzq1s7NkE,18855
215
+ oscura/cli/export.py,sha256=8PAd0UsGko_LJSNn3598ewI5HUP5ViRB-3EFFjCPrJ8,7516
216
+ oscura/cli/main.py,sha256=uqO7RG7QGm6dcfIg_1tg5O8LsDyI_dve3k-EB5-PGGo,9631
217
+ oscura/cli/progress.py,sha256=40GKyKhDN_s-TfhdlPueZ1GwF3KgzT4vnaAGSCEYWMY,4398
218
+ oscura/cli/shell.py,sha256=ewa6PQmBhMLGEl1wR1czJ-e_YaRvLwLogrjlQO1SvR0,9814
219
+ oscura/cli/validate_cmd.py,sha256=a0luhoyuFy2kt4LNaHL29GfdW1xrudPEYYneGbZgXJc,5940
220
+ oscura/cli/visualize.py,sha256=i_GqUGjCztwW-3423Jk33YhYlAT6EekZ35pGjqQ-IfQ,4227
221
+ oscura/cli/onboarding/__init__.py,sha256=8fh_RDgXZWmYVZpkbe_ukrhrRCaBIbpOgUnFzyg2iTg,762
222
+ oscura/cli/onboarding/help.py,sha256=IvTCaIpYGW9cAfiLzeQBhMfVGl5PVY6nXh7I1RG97PI,16968
223
+ oscura/cli/onboarding/tutorials.py,sha256=lZctypuM9uohZ0tBMNTit2fi9D4BYoxqkqYIRGqiFto,12171
224
+ oscura/cli/onboarding/wizard.py,sha256=1CTTbZRAEtYjs391lvvs7g7SqA6g3Eic2Nna-QeK0W4,17014
225
+ oscura/core/__init__.py,sha256=qdQDCG01tlmK308t5n2M4rKbywACaElafWymR33iFI0,6753
226
+ oscura/core/audit.py,sha256=CBUu5vg3UsH3IqLWlcpbR8LKdoXdW87pOOB4d-CQSHg,14172
227
+ oscura/core/backend_selector.py,sha256=QbE-SqFZCyLClceSuoPQ82DYQmaj03KLMvIo4DcWMRU,12334
228
+ oscura/core/cache.py,sha256=leV4U1OUUFQcWwTv97xEpfYtn7v39usA2QUxClFsNVg,20991
229
+ oscura/core/cancellation.py,sha256=o7Z1DDT2TzDACHotIyGsZIxrRW0l8HsS1enxdqDPdFE,12765
230
+ oscura/core/confidence.py,sha256=2m9I7kELgrt5OBd_gKDy-vopMzK6ygpNTX6azlZU7AA,7033
231
+ oscura/core/correlation.py,sha256=j7cVKBTbg9PQkzObkKrqiDu0UZurUltiAjdIjsgN16k,6358
232
+ oscura/core/cross_domain.py,sha256=Na2-ipwZmxeMH3-cn23xwrnvY1y6E6aFw_6SZG7MssU,16065
233
+ oscura/core/debug.py,sha256=f2ai8XT-ulGvryILGpCY4IL0PZZRRd0Us86ehK5ydJU,8248
234
+ oscura/core/edge_cases.py,sha256=-z95foSBKZb3V2DhGQSw1A2VaVOGRBdhMfxDooWbLhg,16367
235
+ oscura/core/exceptions.py,sha256=VOvd6iY4SQWz_fPx9EgwdbaIHpqydyFAou8SeZa7w48,17691
236
+ oscura/core/gpu_backend.py,sha256=gvxbDJVxooJ8XbfhDYvum9UTT8AUYyYSsDCuD8vT-_k,17755
237
+ oscura/core/lazy.py,sha256=XwXPznvfpgfJqRvONO2YcgLE9IxekhHLQboiLm3a2jw,26302
238
+ oscura/core/log_query.py,sha256=55IOmMv64j7pB17hG7dJoaNu4pofmEkXhqHDrL5Zcrg,19531
239
+ oscura/core/logging.py,sha256=1DEE4fFBdkLhFuxh7EkvTO7xoGaIvam_mUWSerO2tzs,31958
240
+ oscura/core/logging_advanced.py,sha256=wjzZMByxv8aG5eyC6ocxkRSb5xbAHC8u-CKAbWSSBMQ,28696
241
+ oscura/core/memoize.py,sha256=EgrbwvHnxUfdHPkd7sW_Qacb3zBsk1azC3Y2KMQLP0w,5097
242
+ oscura/core/memory_check.py,sha256=irtfhoECisgMcm30fdvHOp7Yv9DL-IycBS0uVWLtVSI,7259
243
+ oscura/core/memory_guard.py,sha256=g96fSO6MVvSNqpY_Clclz6gH3RoX4i-4LsiA59zH7vs,8742
244
+ oscura/core/memory_limits.py,sha256=4dazXLFEK9hczE0F8OK8JAU711IlT81Medpoc6TuOr0,11478
245
+ oscura/core/memory_monitor.py,sha256=aX6fX6Mwlc3_EoqC9k4zi9eDUp17zN6R24Ig9JyaUXw,14238
246
+ oscura/core/memory_progress.py,sha256=r7sHiNWcq_96y5ESI3gRujjEfxdKsAM8B6vDPRF_W-A,14034
247
+ oscura/core/memory_warnings.py,sha256=2GAlBJPt4tt1d-AWIDhhpl1lQkcpjeYgZXm9MpAy1LE,9904
248
+ oscura/core/numba_backend.py,sha256=uQ6n1JyjDbA1PU__bgdmTolvOnER4OLHxnJwhgpNUis,10347
249
+ oscura/core/performance.py,sha256=ICufOlSaJWrG6I92EEM2PLzHRFBNzu2NfvAAH_6b9f8,10754
250
+ oscura/core/progress.py,sha256=NLXt64MiZHGzrA5Q0NgSh6Ujg9VSw8QcpVvmpAG2ZgE,15723
251
+ oscura/core/provenance.py,sha256=CQ8lbWuBxfvTSrPNIxJifdt3lWxn82jd7ELJg-OPVXM,10824
252
+ oscura/core/results.py,sha256=ZdIOncVhm15E-P_5OaU-MZBw2ZWD0_4WBbMqV0IhJso,10637
253
+ oscura/core/types.py,sha256=-uEhGEnbf2huOPGoOkGJs6g8CBa2JAIiR02UoDD5zxU,17602
254
+ oscura/core/uncertainty.py,sha256=s9y-sQy9U_cbCwugHGP3U-alxotYrI90CJtjDZ25UjA,13224
255
+ oscura/core/config/__init__.py,sha256=uncP5qTPfL0UZfBXvbzOv_rGUGY8rIV7qCoNIxcdAkE,4673
256
+ oscura/core/config/defaults.py,sha256=USi1iCT3CY3qozltmDkB7HrNNgCc7KG03L6Wd18cPxU,6513
257
+ oscura/core/config/legacy.py,sha256=S6jmz7Zo8TN2NUWhlgJRkTDWAnfpfBTK_XaRlUXKBd4,15053
258
+ oscura/core/config/loader.py,sha256=6lWd1qZq_-gpw0oi_Tojuvp55EgD2FWviihObcv78Ac,9397
259
+ oscura/core/config/memory.py,sha256=IiJqJSXaVNXhKwPUqMhCZpgZRPPpl09MLMn7Ux1Fwp4,8183
260
+ oscura/core/config/migration.py,sha256=bcNPm2RPH19syS9IxLNR4grS4NlvayBEORTolzhB0fE,14131
261
+ oscura/core/config/pipeline.py,sha256=ndMU-FQwf5k_i0de5JGLMBYp1QpK0c-9cUuGRb5XXHw,38116
262
+ oscura/core/config/preferences.py,sha256=cMxk3lC8l-7yCuglxeOoR8FJ1ZYmJjhe7LdtTklkAok,16435
263
+ oscura/core/config/protocol.py,sha256=BX5HfbqOKKgjLKJHXRjIO-HEV_JLmsGPcrIkDoIA6Ps,29991
264
+ oscura/core/config/schema.py,sha256=69Cd9i2l3ReaS2Qk38YkK7nYiDdsSoeUyFmXMrdFwgo,24563
265
+ oscura/core/config/settings.py,sha256=C74jq7JwJIu5PbqZEmrJ-KvJOGKqn82kvllZGiuKx_A,12588
266
+ oscura/core/config/thresholds.py,sha256=Ugrkb9O0tbi13_AwUtCtW-Y1dzgn34wVaoV8KxhYQww,19455
267
+ oscura/core/extensibility/__init__.py,sha256=B2wrC7j-swzJkNdQwHS0lXr6FVBy3XWrwZ4dvtdt2gs,2955
268
+ oscura/core/extensibility/docs.py,sha256=bCgj3f0KxjAPTS-dlKxa_aLotnJBVb6dMsb2qk_qQWY,23791
269
+ oscura/core/extensibility/extensions.py,sha256=UmYnyEcbce4gCtY1qnC6tajKLzenQ8576R5HtJgl-IM,41239
270
+ oscura/core/extensibility/logging.py,sha256=-_MMVldy3xpkytEPgP2JYsT9YwH0iorPFZIwPObcpzQ,7154
271
+ oscura/core/extensibility/measurements.py,sha256=aQ3I1w7ve49CMyMBWunb-nwjHEWj3zm3zuPqwvtAehk,14867
272
+ oscura/core/extensibility/plugins.py,sha256=-qFExwq7tA-4zuV08B6UFn_2IiPwkFUEC6ffs0FED4c,12459
273
+ oscura/core/extensibility/registry.py,sha256=yeZmK-QitnzX8IfnmW4D68yl0GBriEWRboe9CnmA4sI,10962
274
+ oscura/core/extensibility/templates.py,sha256=g5TSpaFZTecO1r7AMi3PFFZ8UToMu6kSkCPYqiVbOME,27802
275
+ oscura/core/extensibility/validation.py,sha256=lYGvxoZf5OnbCqpARKZF_Ujry5V9AFLchodpCANq94w,20183
276
+ oscura/core/plugins/__init__.py,sha256=1xI0x-bKbwtkjolhSTS1_74V6wpuRnEZhj4SHDJf92M,2710
277
+ oscura/core/plugins/base.py,sha256=2M3Z0oqoRc6ZzYcjI09dX2h3prvWoeKl2rNSvSTVE_8,8030
278
+ oscura/core/plugins/cli.py,sha256=nJ3xmxlNFo6YnT62w0tiQetj0gT_CcHuq6Ap0mDStkk,14186
279
+ oscura/core/plugins/discovery.py,sha256=FaKP8Wa_74nGW0j4vza4tsOaXKweQJqLXHXqjMoAXgU,13674
280
+ oscura/core/plugins/isolation.py,sha256=AP4MAQqEJKHYHRJhO-KRE10_ftnXQeaY70dmycip8r8,11982
281
+ oscura/core/plugins/lifecycle.py,sha256=5MeF6SnW6233BCy9WgXonaVzBjoPoO9z8V5ewT82Ncs,29456
282
+ oscura/core/plugins/manager.py,sha256=sl9So95Y0dVFxreFq-3oN52zHN01_6ceyYS4UjsgO8g,14379
283
+ oscura/core/plugins/registry.py,sha256=XNtq0rBuppC1Z5V5RH74afW-LBnWSLc33lCE6BDZKBo,11484
284
+ oscura/core/plugins/versioning.py,sha256=d18sXMbgeWy_dVNaM7JWvCVIF6VgpnjIbjP8gdFfgSs,10785
285
+ oscura/core/schemas/__init__.py,sha256=W33kQp0A8v9qZevqjm3T-1Fjrnou5cz0WCAbLRkwbgY,4327
286
+ oscura/core/schemas/bus_configuration.json,sha256=gpcDsg04760KCaLeIDuWvP6RzRUcPZuQplJbe7xpc8E,9562
287
+ oscura/core/schemas/device_mapping.json,sha256=sYOcc2zSe0rmMQN_vtg3Y5XeeDMktAO1ar8vAWl-E1M,5499
288
+ oscura/core/schemas/packet_format.json,sha256=y2KavMGeOUlmjDq7AW_85bfTk3nHlGPuistpuVDdlAk,12893
289
+ oscura/core/schemas/protocol_definition.json,sha256=VPHkgY4fAI-hUiRBtiqZvDNUGjp6_7O4xdi1z36IhCI,11256
290
+ oscura/correlation/__init__.py,sha256=4H5lCJqBBG3_10oIPsdIOyCij8FlKtMxLp3SAYvSsRg,1537
291
+ oscura/correlation/multi_protocol.py,sha256=X3sTdAc6etsY_9GIbXISCeNMNWM8imkGzHn-UhK7rcw,28288
292
+ oscura/discovery/__init__.py,sha256=ytYa_s4PfKxRRopOdUGsmzUIDPevH25ze_VytBEX2Cw,1232
293
+ oscura/discovery/anomaly_detector.py,sha256=jb4tXOJt1x93wP_38d_Bc4xBngr8xSjbzQN68w2Uel8,19602
294
+ oscura/discovery/auto_decoder.py,sha256=ktC6MQW138hH4ej4NW1YwKmUWGmgyxEpA_RliF85AUU,14841
295
+ oscura/discovery/comparison.py,sha256=pUnXIRw339mxz5AkCrJx0oCw1scS47TMMD0-RLrq7R8,18329
296
+ oscura/discovery/quality_validator.py,sha256=_1-mEIbC7voaVaxVQMHCI8iok2ZxtgUuvGgYAt_njX0,19326
297
+ oscura/discovery/signal_detector.py,sha256=sLLtmvZ4oYIRkjqJcBA2fTGCT34stNvwgkmUSUaXGDw,27377
298
+ oscura/export/__init__.py,sha256=0H8eQ7qyeoVpUn9TAhg1ghxIQeHsW1TCzAA8n3-l8mw,1233
299
+ oscura/export/kaitai_struct.py,sha256=dPizU_JyOfXbQk-Dabke_vLNw6nzjX9qXThlgTdrMlg,17533
300
+ oscura/export/scapy_layer.py,sha256=I63snDafENeU9ITG7bYLskj12oTJxINB9qYSd6MP1PU,26701
301
+ oscura/export/wireshark_dissector.py,sha256=32o4K-8kAy0R62c3MqptLDAySAlb4J0oBIRCsZvKfsk,25436
302
+ oscura/export/wireshark/README.md,sha256=3UQGQA3fd0mK-OLOhfjZv1XzE_7bloKzP8toEvTP8GU,7728
303
+ oscura/export/wireshark/__init__.py,sha256=Int_19KSBJP8J78LfdibB0S6aDAfbQZJLMap6HZwWSc,1449
304
+ oscura/export/wireshark/generator.py,sha256=jjjSFV-jXKCC2FZRzPbI8ZhImC1CRE8KdtLuuv2CiLs,10530
305
+ oscura/export/wireshark/lua_builder.py,sha256=8SqRivyzW0lzBY1O_oOhFt3vujL-CSgqBkhpU9kz_58,4533
306
+ oscura/export/wireshark/type_mapping.py,sha256=KZHUDl6EoZspLU4vInkfXbnINBiqzPvWsGHP5KjwRyE,4432
307
+ oscura/export/wireshark/validator.py,sha256=_hAiJRUcUG6yVeNTPrya7_Lm4e3JxYRkaZ2Rz7RSQOA,2983
308
+ oscura/export/wireshark/templates/dissector.lua.j2,sha256=WDhRKzLrBb6bGuJbZi_C1zN3ldLSuMZY0JNEnlAPxrs,3255
309
+ oscura/guidance/__init__.py,sha256=mVHguQ15l7KucOtREi3QFFGIvmo_-6mMCzSZ8-itZ80,437
310
+ oscura/guidance/recommender.py,sha256=1dNVAPIrplk-K7p08_GC_sIfD6cJOdrvWffQ9u9bPJA,13404
311
+ oscura/guidance/wizard.py,sha256=vKsW6i98GT2qckqm0uIDWd8zILAxLvUigDdnWL4IT3c,20703
312
+ oscura/hardware/__init__.py,sha256=y5W8QkhJgvdIHDLZNI0VG9EpzKc1AWUiZ0cI3Eg2VkI,407
313
+ oscura/hardware/hal_detector.py,sha256=ke2J5nY3Z6mQh4hnHnecDPbQp2TK0mSN9aHS7wPnjF0,22763
314
+ oscura/hardware/acquisition/__init__.py,sha256=uqYrb9RyE61NpT9pSso1BdzEdlScjJHnyH-7gwSmSyA,4870
315
+ oscura/hardware/acquisition/file.py,sha256=nQGQKMD-elfZFrg6QO_t1_rDRChHdJfdjhjurLdMJWE,8441
316
+ oscura/hardware/acquisition/hardware.py,sha256=3K21-cRaT1CiYm3m84oXyrXN30aXc5Rb_bhORl4IVPc,6661
317
+ oscura/hardware/acquisition/saleae.py,sha256=I8yyO-Pwds3AK8N-O9hoUa8OxbzTFkU4Pvro9i_csrc,11482
318
+ oscura/hardware/acquisition/socketcan.py,sha256=o2jokMU2x4RhU66HZw4JtwUxAUB5WZ-czkNOb6gjPn8,10584
319
+ oscura/hardware/acquisition/streaming.py,sha256=CY3xRQ6oIrncGzek01Qecjh90TaERdPI2lBsw0RdN28,1209
320
+ oscura/hardware/acquisition/synthetic.py,sha256=eYAQB0e4jQFVJICf3dBUBdai8qlpv82oy81okoWw5wU,7847
321
+ oscura/hardware/acquisition/visa.py,sha256=XY8nzSVxxIyzM86RaQ8nMYkNfVNG2DwcgJHO36swXKU,12858
322
+ oscura/hardware/firmware/__init__.py,sha256=F8HkCE-wXhekSBlT1faRhilU5ytUh0cC_AX5gxdHNak,692
323
+ oscura/hardware/firmware/pattern_recognition.py,sha256=y9BNdHkI0FmwFkkCRi4FgWcgj_a6MqdE93w1kaEbl9Y,29393
324
+ oscura/hardware/security/__init__.py,sha256=eaubEotRNbN6RDBWZ5hPTjCYgn0Se6d80Sy6adEzsH4,1280
325
+ oscura/hardware/security/side_channel_detector.py,sha256=J3TuEdNqR58bRpAyOSEVPVEYj9MKvEH3XfMu-izHq3g,43053
326
+ oscura/inference/__init__.py,sha256=Vw06kGZPa6ODypcDLzb7lS1QYZapxMLO3-bH5iTtqLo,6310
327
+ oscura/inference/adaptive_tuning.py,sha256=pNSGVuvfLJNaib7pHBsW3G3XTI16HnYkFhBnVTIE-pk,16351
328
+ oscura/inference/alignment.py,sha256=UpW_ov-QPT8DSsyucxF3UJK2Tsf9q3Y786rEH0qidYE,22328
329
+ oscura/inference/bayesian.py,sha256=Dejjrw0puxA6dPFVKzLqHXr3767saLCeolgBV6fiDSc,38501
330
+ oscura/inference/binary.py,sha256=XpHkh3OxXJ0u4ojPoFnWKeme0MIvtOpAyhxTBgE2CEk,29757
331
+ oscura/inference/crc_reverse.py,sha256=k_CfYihhlTiKR2U1TMsf2ui8bfAsWA5nZ_9zakSoGio,22605
332
+ oscura/inference/logic.py,sha256=80mH_-x9y46gJ2kR8AJX7l63xO3RsiVg52r4_GIZIno,8639
333
+ oscura/inference/message_format.py,sha256=g5aBL24jZNQPliyFU4hTgskD6blh-YZbQeOChKcAqeU,48193
334
+ oscura/inference/protocol.py,sha256=odetWXQjetIqbtlroTlK3dYZkCKP9kNCWgvYr74Fc8g,13507
335
+ oscura/inference/protocol_dsl.py,sha256=AC0bOccULQOzjEWEAJL5L4CDrYUGccCO2CQRqVIOb7c,37528
336
+ oscura/inference/protocol_library.py,sha256=FPKo0P6mQjf_7DyRFgrulDhF4tbZqPgp61n3rMCBfPc,40380
337
+ oscura/inference/sequences.py,sha256=Rm6DEH8rbdbXC4CnxEqR-mx9tacTKOqWVSnhpccezno,24954
338
+ oscura/inference/signal_intelligence.py,sha256=nWrs6UwUv5Am0JnCovzuPJaDvyBzL-4KIO3S2m3jnlA,72364
339
+ oscura/inference/spectral.py,sha256=omXEKNkl_gPzFnF-a9lo4UIbXf7HCEjIByQzvX3SmTQ,7958
340
+ oscura/inference/state_machine.py,sha256=ybcBikzKaT-9VtRSJcA2iZg3pqq_Kh4Y0Mv-uI9Y6w8,40279
341
+ oscura/inference/stream.py,sha256=IB42fZVM6P9N1zWxHaLs7RgOw5y33Zzktd0UTUK9H9Q,33635
342
+ oscura/inference/active_learning/README.md,sha256=h7yvXZNRS1NqL8Jdp0Dy-0M3ciUN9nZqBN11N-4xniw,4834
343
+ oscura/inference/active_learning/__init__.py,sha256=CEay1z0T0VxZnvSM7CM7xJZDdnODq3yU5eIkYFMGN5M,1353
344
+ oscura/inference/active_learning/lstar.py,sha256=fvR0XGnIO3lfZ7ho9ot_qL5OkAgaRIeEKcJZGJbswA4,8590
345
+ oscura/inference/active_learning/observation_table.py,sha256=o3DXeQfaej7U1ZRrEI07eQSMVf4sFvVbvEYIzXaMJVc,7768
346
+ oscura/inference/active_learning/oracle.py,sha256=2u7rPFW-HEwbwKnUuYxWG7aROyQTLFj3KutxBWvUIyA,2586
347
+ oscura/inference/active_learning/teachers/__init__.py,sha256=evz-bfaJrYxso1JzX2ltSifqg35dlk7jH2ukv1UnWus,409
348
+ oscura/inference/active_learning/teachers/simulator.py,sha256=lrPDwlyiFlG-wMIk9ATgfi5XLJTMRwehzTt6jU00iIE,6823
349
+ oscura/iot/__init__.py,sha256=wAEfmP9VstnYh4964IkPiu0zNEZrNZ34HNqppfeshpk,669
350
+ oscura/iot/coap/__init__.py,sha256=5EmwLfR0kVRiHiA1V86RSUUrnV3QRWpUEIdqIs_RntM,969
351
+ oscura/iot/coap/analyzer.py,sha256=g3ej0ASWxQXAPr_Rbfc4FPkgC4Hhz-45lKpxQkvyRrY,22354
352
+ oscura/iot/coap/options.py,sha256=_ZQiULe9BGG74JftZBof6JdUEFCo6hZivf3cuLZuvpg,6211
353
+ oscura/iot/lorawan/__init__.py,sha256=LhKI3929R-niMo9e4v4Y72IaECjUxMw6MpedqMH7G6g,459
354
+ oscura/iot/lorawan/crypto.py,sha256=RE5d2vYECl60T2L9Gry7-AMt4OPDWLaDTwO35a1EIBI,6568
355
+ oscura/iot/lorawan/decoder.py,sha256=m1Oj2MqkrdY18SKt9HFvz-B5FfT1T6zrYNVzwUFKbXM,25115
356
+ oscura/iot/lorawan/mac_commands.py,sha256=Yvk5fKHY4D_VvL_kloW_G3PMZXCwuLzgcIAvw-PLsL0,11272
357
+ oscura/iot/mqtt/__init__.py,sha256=re8yfJmUEWIcdraTr2xs08tsoNZp2-21LmsLMlNYGSs,733
358
+ oscura/iot/mqtt/analyzer.py,sha256=iwPwQ3iYwMTammPcAmxtPPL9GLHe4vAGmzZrSvi0vzo,31073
359
+ oscura/iot/mqtt/properties.py,sha256=UHj81JK0LxZjum_QpekxEs2bCncWMwNj-0EgfnEx_f0,9383
360
+ oscura/iot/zigbee/__init__.py,sha256=T8wKGOLLKyzA9_1Bz3h_w9cuoknVHP9kvbHko0-LkzU,796
361
+ oscura/iot/zigbee/analyzer.py,sha256=EzNEsAEpZTEYZG-RFXFngXX5FQ_gETB6UOGNTFQcYYo,20867
362
+ oscura/iot/zigbee/security.py,sha256=wU-j-65W57v0gWq6m44GgA3W_tS5xfjjnvEHoUcbFp4,4259
363
+ oscura/iot/zigbee/zcl.py,sha256=KET6vb9oqMdACLGnFxH2mIZZypSUTPxaGmuc21ASMaM,11175
364
+ oscura/jupyter/__init__.py,sha256=L5un2-sVNGP46rzJ7e3qrJOyXmhj2BkhLc7DGQzSLj0,726
365
+ oscura/jupyter/display.py,sha256=lv63gaBerO7znt5JJxv45GH7i2ZE7h-xMsy_Lv1UGWc,10640
366
+ oscura/jupyter/magic.py,sha256=AtmxBO3WtR5D4-5nRafWE0F_6vJ_b6dEYCuMpKBe_N4,9876
367
+ oscura/jupyter/exploratory/__init__.py,sha256=H6FMyLz6I8trC0iBHyJoCcudeUopQ8lOdDdoey_gbDM,3089
368
+ oscura/jupyter/exploratory/error_recovery.py,sha256=QtZAmSnkaO2vUQnpWTDrho7IPoVrh9wYJQWRkQduPoQ,24727
369
+ oscura/jupyter/exploratory/fuzzy.py,sha256=r-88YO994SEUICyX6QGdyTQGf5CpAgUqLNDjG-0ibIk,22802
370
+ oscura/jupyter/exploratory/fuzzy_advanced.py,sha256=Tpv6tXFN6DrfTE5cdzrdkZWeEjHNHALlc5FYdBgJpXI,26577
371
+ oscura/jupyter/exploratory/legacy.py,sha256=V_IhhiKmIVVREsoIty_WVGBZoKpYSf5YffPpPetgbLs,31879
372
+ oscura/jupyter/exploratory/parse.py,sha256=Kzbf5B-Xti5VXDcDdaNk8d3bzMOnI-ZxoHGc4i54Lc0,12801
373
+ oscura/jupyter/exploratory/recovery.py,sha256=CSoPgOTLeOPvY9zlq1DiyWgBNIoTTj2uTDWo5pwmIns,10520
374
+ oscura/jupyter/exploratory/sync.py,sha256=2i8LB1O58oM8OQSf-3H-T8JUewEPfqo6Ekk_CRB5ky0,18714
375
+ oscura/jupyter/exploratory/unknown.py,sha256=KaxpoP9tW9E7Ld16_3VaXaKszfcU2uw62IdaPhkC9oQ,24427
376
+ oscura/jupyter/ui/__init__.py,sha256=XQJh89b_xRe1CB8jssjIdbVgQeLCplFzSkCiXQYKXFU,935
377
+ oscura/jupyter/ui/formatters.py,sha256=roXZhaNLgypb30T6EGF805cDkrqsAh_RQ978iGLtlAU,13580
378
+ oscura/jupyter/ui/progressive_display.py,sha256=Ew-xXek_f6-XkR0CZymyzYbYkbXn8qCZS6Usk2n86dQ,11993
379
+ oscura/loaders/__init__.py,sha256=6XL9e9V3c5sE4tNyNVE4NNEvk9g16lA8nGfyewbtfzs,19927
380
+ oscura/loaders/binary.py,sha256=USQTTdWjbrn3b-Ly4v-E5eLhga6kM73QlNKxnLm1YUw,5062
381
+ oscura/loaders/chipwhisperer.py,sha256=gkxgakx0YXxJ4dKKkSmlOZYa-VKdWFldAbz3PPAvWyw,12756
382
+ oscura/loaders/configurable.py,sha256=QyyqN_hMBKafx1wyMCcQrykRFY_TfWFU8XLYXztjnFY,44483
383
+ oscura/loaders/csv.py,sha256=hjToCQkXQEMUCOSBTf3a1d4AAsntvxYbW_jiccQ9JaM,918
384
+ oscura/loaders/csv_loader.py,sha256=7R2f085oBNjknMQ9_C9D5uJEDRPDGL8cP_GcriBxT9Q,20777
385
+ oscura/loaders/hdf5.py,sha256=L8SZTigQhssjEVhSZZMAUjlCKK5smbPqJsXrxiX0ybI,246
386
+ oscura/loaders/hdf5_loader.py,sha256=DAYxGNOECQdCsVg2RSHtSl2NVEcCK00YlHOH9FyLB94,18782
387
+ oscura/loaders/lazy.py,sha256=W_k0Oq4fU-FIJBB7EwzZq-gclHI-mKHM6oEyRf8rnUE,12120
388
+ oscura/loaders/mmap_loader.py,sha256=poXg1wSJQkABonjmbEmkP7MEe6X3oF_JEoNasLOBPrM,18795
389
+ oscura/loaders/numpy_loader.py,sha256=ANVXuxiK6mLboEAVv38SbljgG96YpQiyClR5qAbhhwo,16800
390
+ oscura/loaders/pcap.py,sha256=7CqfMU0ljOtk2y3HQD4rQLgxZ-uQHCe0ODFXItk0j0Y,14471
391
+ oscura/loaders/preprocessing.py,sha256=vdVVo_Miahi8tT7agNsy4gnLfW5f4PFGDenQs4hChAM,10370
392
+ oscura/loaders/rigol.py,sha256=p3kXLam2Yq-vnLGOWYO6HP9N2IKkBmqCDLkOJz6jGIs,10515
393
+ oscura/loaders/sigrok.py,sha256=BliW7KuLIKpyRkupaZTGlSczVoHWbK0-HBs2n4r5oVM,13020
394
+ oscura/loaders/tdms.py,sha256=J1qDLiQMDs_7ayR04g9hsP39hs7LkYy7jJEc57BUPzw,11114
395
+ oscura/loaders/tektronix.py,sha256=V-ns3yCqsXSkeZ1zNXbOZZuViMzYagsiiHr12WeKc4s,26189
396
+ oscura/loaders/touchstone.py,sha256=Cj4KlQQMcSEZuf5M0hg3lFvXvnuPZkcLa8-X-qKEObA,8898
397
+ oscura/loaders/validation.py,sha256=JA_vVYQJB4gC9KFKa2lsGV5D-_agmIjP9kE_dXpv4Wk,17835
398
+ oscura/loaders/vcd.py,sha256=y1mFZXTEqJEFfvMf3MYgGk5e16qG7mNlyAQgVLZNwfU,17722
399
+ oscura/loaders/wav.py,sha256=xv6eELWMYflP7OormysAe6-yAiYNzWMInzC6cuUZZmo,9391
400
+ oscura/reporting/__init__.py,sha256=PtKt8iuNKPRp0V0hXr_SQS_J3iJdlXykrsfYe8e28xk,6333
401
+ oscura/reporting/advanced.py,sha256=dcu2fjCA_a4R7lGhdUQbcAb7ioTg7lkUwDiQK4uopjM,36413
402
+ oscura/reporting/analyze.py,sha256=fMNZEQGBMX6I47DrJC8V1HjsWhmLIkfZPQNMFSIfD2E,20604
403
+ oscura/reporting/argument_preparer.py,sha256=ofXjstDnwlC30MKLHiRphUzC7NkGeELgu40yE0slMFY,25965
404
+ oscura/reporting/auto_report.py,sha256=VxB74gApLuXfoQ21YDgVzCUZviZKVvau_p6Xjs9kYw8,16290
405
+ oscura/reporting/batch.py,sha256=m-9tX6U9nr85pK7jDkhvvPuZMvXVs6s2nGJ9tSuFFLk,21480
406
+ oscura/reporting/chart_selection.py,sha256=AAtitNpLc6ahZBMLLPjCMLrI3r819-Nbv8Q2Da4WiK8,6868
407
+ oscura/reporting/comparison.py,sha256=3Hf0bIP536ZtNKi-WHmgJtJY8OWCamoyM41TdXHPC8I,11656
408
+ oscura/reporting/config.py,sha256=cmLsHhaRJRcu97u7FKLsTPB4FYla9RkoDkmZg8wmnhQ,23352
409
+ oscura/reporting/core.py,sha256=mOnLShs3YXa_6RdmCnJThxMHe6CgRgE4YYcJLIh0iIg,15640
410
+ oscura/reporting/engine.py,sha256=9w-UhDNXYmTVsLpM-ldFTDy2rsztEeylnvB4KBSyJ1g,36219
411
+ oscura/reporting/enhanced_reports.py,sha256=lqH8TTGbVjxXGA8JCL9AmfHGlqGs3Sa0LiB9M083lkg,32556
412
+ oscura/reporting/export.py,sha256=KofJZHiNHwa1lSF_xFDARZetvA5mmSc41o5ofLohQ84,11114
413
+ oscura/reporting/formatting.py,sha256=KLM7fBpkKyGG_3LyyxRRYxt43AXSoHQ3ErzNbWZBRfs,12496
414
+ oscura/reporting/html.py,sha256=xKj3kCCU07NrX6GsgxASUaE-j2drjlzr4QY2cY4edZg,16916
415
+ oscura/reporting/index.py,sha256=oeVw37d0gzymmT3yPZyL8szJx2ydys1-OLe9oGJO6vE,21633
416
+ oscura/reporting/multichannel.py,sha256=kLaNlZJhruLWAUcRyduOfbuakxQH4vB6pQ_Z57aYP6c,9174
417
+ oscura/reporting/output.py,sha256=g2pBM2eZUPIQkawlSDm6CqUxpPIMuSRu2nYBRro9rtE,13646
418
+ oscura/reporting/pdf.py,sha256=nKM2MbqgpUgGlzShWSzu_n47-2Ys7uJo1b9DnXLaehg,10447
419
+ oscura/reporting/plots.py,sha256=E2XiJXLLNorHi3emoA76jHWrPz0zzUzIjuo93KMONO4,25892
420
+ oscura/reporting/pptx_export.py,sha256=CojDp1TaM08U3fJqM1yZPvLZiM6zF5-iKah8-SZ7YGQ,10253
421
+ oscura/reporting/sections.py,sha256=s5tiWGMuKT9c81TR0FXb7F06LtdUlFtUXsZjGBmckOw,13907
422
+ oscura/reporting/standards.py,sha256=Xsrpx1rE3HhvEJtyZcALZHND3OceqWUvNGxHaNjKjDs,19684
423
+ oscura/reporting/summary_generator.py,sha256=VjRiXBbxmMIXIWx3pzL85ZR3hzui1jwAvmEVOnwETyo,11265
424
+ oscura/reporting/tables.py,sha256=R20Ge_YLXuZT-JKob9dQCZlhwoM5eo1IN8CTfN7eivs,13697
425
+ oscura/reporting/template_system.py,sha256=jPF5jkkjl8el8V6IGJGNZmPlNRFZd0_DBbcokOUMiTU,21135
426
+ oscura/reporting/content/__init__.py,sha256=MIU1IrYdFy7L7d6CY8RxkzL1_wL1qLYUfzUsKaASgJ4,874
427
+ oscura/reporting/content/executive.py,sha256=EZOy_OQ_WV8kknJS2s0KUdPv9LMkgMVm1__aXDor9Kk,5727
428
+ oscura/reporting/content/filtering.py,sha256=JrSPJPyGw_jsZUWlAi-ELt8b2ybh1Ui_wXWULv0R-ng,5184
429
+ oscura/reporting/content/minimal.py,sha256=amh-1wTJwPct-55HHCyUYDVEAcO0RXsyUu7UgbGMxIY,7001
430
+ oscura/reporting/content/verbosity.py,sha256=ZCv5-EXH7Re6ix8d1ON3BdekMhSADmzcPhmXcmZmscg,4311
431
+ oscura/reporting/core_formats/__init__.py,sha256=5mqsnXEIxyiuz38n4DekySkk3ro-bKYkr91xyl2oPLI,453
432
+ oscura/reporting/core_formats/multi_format.py,sha256=qqCANlp0gZJQ5gBbBmIzGKPDaXoO229ThFJi_My5d88,6214
433
+ oscura/reporting/formatting/__init__.py,sha256=KA7RSoQkcsNtTjC3L-o3D38EMkkZBqYvgHcSABK3uik,3196
434
+ oscura/reporting/formatting/emphasis.py,sha256=bsc7gFfwGbonXfJZt7vl5Nns06oXNJjKP90EE9JNu1o,1761
435
+ oscura/reporting/formatting/numbers.py,sha256=0PTxz_tZRhbBjf7-UHQfUpASkJm_S3zUe44SK8q3ZDA,12932
436
+ oscura/reporting/formatting/standards.py,sha256=msxfZ0qG3v7DpluiTmJ65wlbbl2qVNZabfMxaunXusU,1171
437
+ oscura/reporting/renderers/__init__.py,sha256=3xTkPdizeMHrQ3fD_f_zbL1EKImTJHMGnkG-MIk-R_o,185
438
+ oscura/reporting/renderers/pdf.py,sha256=EYJyXQRPuSFIDl-6M55UvxOG4HKlKAQ-_SypvZpckx8,2433
439
+ oscura/reporting/templates/__init__.py,sha256=Snm9Ygw2EIe4DnDAxHcu5NIYLCEVeoZjyw8MDmrcWLM,301
440
+ oscura/reporting/templates/definition.py,sha256=KC--ESq6Ja9OA_hC3uVP3--Y_rhUEIUnm_1QJDIg7nQ,5204
441
+ oscura/reporting/templates/index.html,sha256=V74N-0erqnu8tevVFjPT-zMXi5M-7RSvTfujW9pwQPQ,16007
442
+ oscura/reporting/templates/index.md,sha256=HJANTLpIw7pB6xvTZzAKlM3FWVCpyJtLlA7hjKnMqM0,3754
443
+ oscura/reporting/templates/enhanced/protocol_re.html,sha256=_ynd6ib3iFy4o1L5dIR-h_qeAVy6VgZ9WRQwKr_SLWk,15858
444
+ oscura/sessions/__init__.py,sha256=gJMEZezGxt0KniCQNFinp65B9HwDDfmXkYiq3n4wWYk,2127
445
+ oscura/sessions/base.py,sha256=JjMO-QybHS55OqFZ4jZC1DTVehTKrxOgMPlSA5bwlkk,10847
446
+ oscura/sessions/blackbox.py,sha256=nk1ZKapxwDSIHmweD9x7kSbiMOOLVdMqVN-lavRhYYI,26039
447
+ oscura/sessions/generic.py,sha256=roecnb2ftlzyOyKioaB4N0klUJKfRsbPN1WyWO-YEws,6660
448
+ oscura/sessions/legacy.py,sha256=-wczfCPDL6IQY2owXkEx6qaCiJC7lvrI8GOXhu2DF6I,24033
449
+ oscura/side_channel/__init__.py,sha256=JWAVFSUlnuBsWSKsN74yMQ4Lqr3Ayywm3Wuv5BRS6Ec,2603
450
+ oscura/side_channel/dpa.py,sha256=z-Q43ZpimmlUr6BLpvzuVTM2brYLrgq35pqAgzwoB1M,29831
451
+ oscura/utils/__init__.py,sha256=VGd2Hzqy1j47UtheI73Hc8GOPwIAi2SWX34CbOxhk1A,2771
452
+ oscura/utils/autodetect.py,sha256=cP-_be6XK9neO28J2le1iZ8YLvPmfpc8L-p6KAlA6h8,9324
453
+ oscura/utils/bitwise.py,sha256=CyJl7pS3tFYyWO9YaPHsfQPo_pliwgZ_KzQZDaLgt6o,3903
454
+ oscura/utils/buffer.py,sha256=H-lKT0MBe0fqMoX5UCYftFUaadhSF_Ydwrf7VL8KBy8,10327
455
+ oscura/utils/geometry.py,sha256=4aR79-t80D_kIYgcNKePM6VyoZNgd_R0NLTQQBI42nM,888
456
+ oscura/utils/imports.py,sha256=PYSMcGjc1naOEAlqelN_CLSIvTSPsTdQ6TjrB3oHelg,4935
457
+ oscura/utils/lazy.py,sha256=vGB0szWJx4F0bsSemFetWlz2yHSpIhpLrZRFUDdbT9E,11794
458
+ oscura/utils/lazy_imports.py,sha256=GA1yAu3CowOGmsTmNnh42d2afP6DtG6o-6u2iJe85G8,3990
459
+ oscura/utils/memory.py,sha256=9Ai7lnT3cGhK0fGZTTlq63zCecSZaQMkRqj8J0NZtug,28653
460
+ oscura/utils/memory_advanced.py,sha256=vQjAZX3UVhCPK8hDAB19cIuublKSAiixyrpU_h7hHkc,41967
461
+ oscura/utils/memory_extensions.py,sha256=06OWLRDiOOc46e5d6HQGKHcMkUKoZCtAtONOrrtFPqE,14185
462
+ oscura/utils/progressive.py,sha256=VzseobyAcj0iwRQiwbWcOUwQenPr0lSKnDdHONhXBEo,10935
463
+ oscura/utils/serial.py,sha256=uWKel4OM1MHo4_Bc6r-tm_1phUAKwkuqlN9MEXIyxbQ,1346
464
+ oscura/utils/validation.py,sha256=vDkSumPjaCgX1WtHFKJrvGdae-vS3wtdjbDhgNBC57g,933
465
+ oscura/utils/windowing.py,sha256=DRMCHJAwoXGn7Gyso9hE4fpMIAfh3taqpQliNiMcn5I,9194
466
+ oscura/utils/builders/__init__.py,sha256=53MuQVkN8iTMfM7Ryl3cpzFTbZCnYCy3Aj7Ad2yTGXc,1332
467
+ oscura/utils/builders/signal_builder.py,sha256=nH7AK6YJZZ_KoDcqL3zsxCFwgBQNFieP1k_fChnD4EU,33099
468
+ oscura/utils/comparison/__init__.py,sha256=2-jw_8KhT8s1wPmgwGfFJSd9loKvyCH6Jj0p6WtxD5g,1564
469
+ oscura/utils/comparison/compare.py,sha256=-hMHy39C5f1eYnNvRBxnUdkWCp6Du3OPRtRz1pjbt2g,15270
470
+ oscura/utils/comparison/golden.py,sha256=WQirNsBuNFaZkqzHy7TDUbhwtn7HoFWnsXiiOXK8CaE,16398
471
+ oscura/utils/comparison/limits.py,sha256=4gLQVBl8AmDfOA6qkn_nXGrd-jMfW7EzpSKyVaVnDyo,19218
472
+ oscura/utils/comparison/mask.py,sha256=6EzLlpjU1_fVRzq-ieeecp80WU1mmjBx3wRu0oyq4Y0,16348
473
+ oscura/utils/comparison/trace_diff.py,sha256=m83wNMmCd7S3kC3c9TeGsSEgsfvoz6_46bQYmTcg44A,763
474
+ oscura/utils/comparison/visualization.py,sha256=NIUEE2dy6C9pkKNfr8gAQhjv6c9MX_fjR8EVykbmODo,16575
475
+ oscura/utils/component/__init__.py,sha256=6vTJNGUTTDujMYLZsseW6i_k1Gr3uOjS8Ds0FBdZd3w,940
476
+ oscura/utils/component/impedance.py,sha256=--6wHh2r-M9-R8l1_oAFIqOQpOuszn3003cYQlJ5AMw,12930
477
+ oscura/utils/component/reactive.py,sha256=go9prrWrIVFlI4WR6PfqorUsPRdvi6y_fK8-hJ6GeR4,19126
478
+ oscura/utils/component/transmission_line.py,sha256=UYdsJxLAPJsPp8Z7evk4xLb8RfLt3kEJN1XRLbhTRh4,9290
479
+ oscura/utils/filtering/__init__.py,sha256=j3d3fzxGT8U6FVXjkd1x2gtzsk0E5nwsPmWZDnEK6RE,2048
480
+ oscura/utils/filtering/base.py,sha256=x9QSqPzk7WH-KTXhlZDNCvMxuoctgphaPDlhHAE0r4U,16789
481
+ oscura/utils/filtering/convenience.py,sha256=iJ6_v4I9BuJPuY9WvtbtfKYvY_xixOjS6AGVn9b6qS4,15019
482
+ oscura/utils/filtering/design.py,sha256=MTQDgxfmeGxUgZ7PprjKpXT9hhxsX6PmFJxTsO2JXcY,25383
483
+ oscura/utils/filtering/filters.py,sha256=U4FYYu0qgBf1s51kePVm1C01ncPHTASwjJFh7SBEEcs,659
484
+ oscura/utils/filtering/introspection.py,sha256=Yt0fsqgaTh2eEdVCYWoTnrXCVg59jvlreKXIc7ozKcM,16083
485
+ oscura/utils/math/__init__.py,sha256=_8FlejW0N--rpuMS8WW7pTJjnt2NjTOy0nXVD6mMV84,798
486
+ oscura/utils/math/arithmetic.py,sha256=3UwF6BjexTzzkQOUlLt9_MuRYyV5ihC_3wR-7Kks2do,29126
487
+ oscura/utils/math/interpolation.py,sha256=KrEL2I5a3LfJBUveyFy5xUg8eT_4dgJY4q4EYTAT3kk,15676
488
+ oscura/utils/optimization/__init__.py,sha256=CvPuTAmjuXBaI19XJTJV7flCefQ_A830Q_e-VZscZHk,385
489
+ oscura/utils/optimization/parallel.py,sha256=30Qy-QDbDt0_cQisBMhbkIQ_adSLaPE8S2BxIo0o2N4,12432
490
+ oscura/utils/optimization/search.py,sha256=C-hHzadBHC0QBYxI1u97anfSu_ddtFetn0aSVeRqzGE,17253
491
+ oscura/utils/performance/__init__.py,sha256=GKu0-Et7ZCSP0f9aiNRkPjSEra_DebBSrwd_mXIi6I4,1276
492
+ oscura/utils/performance/caching.py,sha256=kSuCyjJaW0ztvXjTc71mzAeohDsekwctCFn_QYmenDQ,28775
493
+ oscura/utils/performance/lsh_clustering.py,sha256=v3J1fegntME-wpAx8lZjGSec0gzCGWXZcV_gyKi5zQs,10925
494
+ oscura/utils/performance/memory_optimizer.py,sha256=KefSXu5rk9-KzsgOYb4wHruucCnuKsw2Wxs4-GvjjTc,23375
495
+ oscura/utils/performance/optimizations.py,sha256=ZNHBlKMSLQdwiAdk_jXb2nDSvs61AARNow8eR-asCcc,21456
496
+ oscura/utils/performance/parallel.py,sha256=S00pjh8LH33x22DYlnu9KCDdjHz9PHlfZJ4Xn7Lhigw,23816
497
+ oscura/utils/performance/profiling.py,sha256=yMONXdgDuJO2bows4Cp4B8qi-rKEV_S7ziofLB2yPMo,20838
498
+ oscura/utils/pipeline/__init__.py,sha256=W1ObXXo0wn4pGkl8hPfxaElOSLK5b8pjZ-aRxwfksow,964
499
+ oscura/utils/pipeline/base.py,sha256=vmoRo5Lu5qAYxDaxsBRfYpZCQWNUXGle7-o6Vh11FNA,11358
500
+ oscura/utils/pipeline/composition.py,sha256=EmVI6j8AtWo1c6zFC1vqz8arqRFCxnQ7Qg4FqRFWODA,7875
501
+ oscura/utils/pipeline/parallel.py,sha256=L96nU1B-7kOMVX3vC9xlhadWikIPEEphLkqyS2O3aiM,16996
502
+ oscura/utils/pipeline/pipeline.py,sha256=PohstmpefbgwkiP447PvMAXrJ6b1h4aSAsmqXsp27WM,13289
503
+ oscura/utils/pipeline/reverse_engineering.py,sha256=utu9zsxEb7iG8fc2zjroBYx-0W0pf-AKhbfoMFLvA-U,42852
504
+ oscura/utils/search/__init__.py,sha256=DhX20MpvW5I9SHOlwaOYzN8AVeQ3Y7D3IjUi8FC2Wzg,431
505
+ oscura/utils/search/anomaly.py,sha256=qzzfGgBE6b8PJnuKjGm88jYSDCuhGf-_0459fs6vZmo,13443
506
+ oscura/utils/search/context.py,sha256=VqYyh2sjopqColVYFetlPCCd35MuyJMUS2xoR3oPYtk,8893
507
+ oscura/utils/search/pattern.py,sha256=UQcLa0XpYxGmAJsPOLaAzcIEW7vI-qCKTIaBpxJr2nI,9676
508
+ oscura/utils/storage/__init__.py,sha256=eE11nqD8wV8DKv-04FSPMIIdUplZRma3k2iBWwj_CdI,1765
509
+ oscura/utils/storage/database.py,sha256=RhHb4W3a2uR6yemqNzS7hEUF3uX4avtLP7G_O99-SlE,36451
510
+ oscura/utils/streaming/__init__.py,sha256=uJKpXU6-uBW1lWqh8_8WNzUKSLhMYzxrJstsNMDLVcM,959
511
+ oscura/utils/streaming/chunked.py,sha256=Tz5-T7B73QEknQ2NFENm6Q-uSvtKHfEmjog59ctsDPU,23976
512
+ oscura/utils/streaming/progressive.py,sha256=IQNGOe6-wI1j44qEPW_ZcR6t9b7vJgNlthORdVeAh7A,13105
513
+ oscura/utils/streaming/realtime.py,sha256=UZzNU7X2enlGa7CETMayJ5Ay8whk58peeDma_JPn5bY,18648
514
+ oscura/utils/triggering/__init__.py,sha256=9NuXpKUJHKmy3MD61iOj27_FRhoRBOZyEceN4sW56zM,1650
515
+ oscura/utils/triggering/base.py,sha256=dyKrh2JprIk-LqLKV7au-GDNxTMo7_nQmOC_DN2ex3U,6581
516
+ oscura/utils/triggering/edge.py,sha256=kg2aKh3NX95IGVf92YlExGYlwv39V1UQLO1kBUZBLVM,11051
517
+ oscura/utils/triggering/pattern.py,sha256=Ut9AC_y1e4XbPjLs6sZBG8tO-Rl3TOyZxNduIBgetU0,11178
518
+ oscura/utils/triggering/pulse.py,sha256=H6qJiY027RSFT0PuIUF7Ido-hSlgNkwcBqID_KBWOXE,18999
519
+ oscura/utils/triggering/window.py,sha256=qdtKi8JnF7WSFXS867flR3iyBTNahRZ8x0qa2mZ_tdU,14527
520
+ oscura/validation/__init__.py,sha256=olH48vI5LsGVGP7-4wToGgGKq12SKkZ6HYVbjqRP0cc,3340
521
+ oscura/validation/compliance_tests.py,sha256=UoV8fAzWHZNwrd6DmUHr7uCeH2A3AKiv0uT0A-2jdqQ,33429
522
+ oscura/validation/fuzzer.py,sha256=0F_53iDJVJJqEQVcdaacF5loqrf1-9LIU1dDL3UnAkY,32291
523
+ oscura/validation/grammar_tests.py,sha256=YWX2OXmAYQ7gco3XDQeOoMhGmtrHI4N6W-1BsM2msqw,20354
524
+ oscura/validation/grammar_validator.py,sha256=zPkF88uxKbtVyshK6GOOCkw02O6i9Tx60SFCBkEf8RA,34309
525
+ oscura/validation/hil_testing.py,sha256=chGMk8lhrChamSNE5KpiIKoDbI3cvKF4YcWkj7ezy_s,34073
526
+ oscura/validation/regression_suite.py,sha256=R5BH8487L59PMkmRYi73YFuhesDBrca-Tz64yau9MBk,27825
527
+ oscura/validation/replay.py,sha256=q0AwuS4baM2QXQo9AkbCcA8Oxg9gIFnd9y3Lj8nOpNU,24897
528
+ oscura/validation/compliance/__init__.py,sha256=yihTF1l2j4-H29xKoIUM1BqyZ9fDSc5scBlZsPHw3v8,1851
529
+ oscura/validation/compliance/advanced.py,sha256=5VsO4XWWuKLK2WU4-Vq5uYQAqTGJgAUOkw7b7eXtOhk,23423
530
+ oscura/validation/compliance/masks.py,sha256=BoYPBqJ4to2eM25_yH5MwQHalhYtlBU_exy8ZuF4mDo,12021
531
+ oscura/validation/compliance/reporting.py,sha256=ubMTTEOVe6USu_CifbH-pEeh50Ny8C-QTZv4AwtcaX4,16659
532
+ oscura/validation/compliance/testing.py,sha256=2pmqf7P-CQQb7n88doxaX9QHtOvu1shBSaW4IWC_bqk,11377
533
+ oscura/validation/quality/__init__.py,sha256=MRC6pKMKbIaQnzO1TOv7WbUPTVk-KiWhUNkmA7kaaM0,1550
534
+ oscura/validation/quality/ensemble.py,sha256=ny3ZcHW3r9Xs3XRA1jy0u3_zUVGATX2m_ttyj-Fn-dY,29765
535
+ oscura/validation/quality/explainer.py,sha256=LuPHHgu5KgEIqlhH-mL1uMD84zYyUPefOVUpBzLFLBA,10762
536
+ oscura/validation/quality/scoring.py,sha256=1znG6o4f33os8ULfduFH2MpGTs8w8oW7hL_t3D7rfbg,19031
537
+ oscura/validation/quality/warnings.py,sha256=-6fU_NsEFuaFsXzmDq9p43dNYb_ll_PV4QuzIbHoP08,13417
538
+ oscura/validation/testing/__init__.py,sha256=WEG_xHKik5Ohn67nV86QNCfIVw6Tob3jbqGmPAXdbho,1528
539
+ oscura/validation/testing/synthetic.py,sha256=rlWcLU70Ks4vYIZnEsB-KdL0LgX592-w0cGmJC5u7GE,26444
540
+ oscura/visualization/__init__.py,sha256=AHrRdGauJKb7NmxPKXYVPvzgsDlk6T83HrmwFCstldg,9016
541
+ oscura/visualization/accessibility.py,sha256=IC_fLCr4C5ifg4tM1P3xZVO_NR5vKD1V5HcIHHSDAMU,16151
542
+ oscura/visualization/annotations.py,sha256=ZpRiF7XaLrN_ZG3L2SDnz6tUcQKBzQNgRe-BKS0Uqno,10761
543
+ oscura/visualization/axis_scaling.py,sha256=19TSQgF5s0I2GSFdLNazwjtMdACBB7fDJwUyDtFCSuc,9300
544
+ oscura/visualization/colors.py,sha256=fsQerkweDxj_S3WX5NDYQLfPGHx9yeX-IDsalvg8WZA,11948
545
+ oscura/visualization/digital.py,sha256=GxQ6ZP4pgkgrwEWnSyl664Y5PKmUDkPpT3re_03_B8A,12877
546
+ oscura/visualization/eye.py,sha256=9BuGZZwvdEjsbRF5TVHJDkFNxnDd-IWD2p9C9WbOJYA,16782
547
+ oscura/visualization/histogram.py,sha256=8MYLV9i3XufDChvo27BuruTRR2pOIUN592fqNsjC9jM,7068
548
+ oscura/visualization/interactive.py,sha256=h38av1oGV0OhvPlstNI3Un83X-uvYzysr0RE9AMH1CU,30366
549
+ oscura/visualization/jitter.py,sha256=QK4yjRmVrGd2Ex-A06LBaciT9GWL-kxIHjfmD-hPSYE,30203
550
+ oscura/visualization/keyboard.py,sha256=zFSL24_rqMHfw1Wc5tF-PJ8Np_ocFKNk3U1VRTzKnB8,10973
551
+ oscura/visualization/layout.py,sha256=1VEkIacY82wfwtdSOowDXi-99nsldmC9deeQqsas8Pk,12396
552
+ oscura/visualization/optimization.py,sha256=Fx9Vgr8_bU1WB_BXwAljtD1qDYbCqQpiKplyjMMNty4,34724
553
+ oscura/visualization/palettes.py,sha256=0NtrdedJz50-y9gr1O6HyApPPtkJ3UEVmETwZTPOobY,13151
554
+ oscura/visualization/plot.py,sha256=vTxG3zlJiU86K7LHhyRhOoLO2uSbEttb8XNs5F1jwNM,1943
555
+ oscura/visualization/power.py,sha256=wKcGi9I0bKkqI8CuaaVbrUgsQml-hKWnLxMT-GNtQWo,15758
556
+ oscura/visualization/power_extended.py,sha256=PXL6GItXWZcc3rl95WmDoWIYSY9z3FCKSRfpVwjynts,28234
557
+ oscura/visualization/presets.py,sha256=-A5kl_HNRRJriLg804PCe-0vsmgSG3opHD7uAz9QqSk,13298
558
+ oscura/visualization/protocols.py,sha256=nNRHKsnBQe1QiCYTSzSQ7R8WBd-zPyIGH3k0pmYxgw0,37441
559
+ oscura/visualization/render.py,sha256=veY6dAF9ytipzmh4FjCJk33eeWEkWVKFsJy1meJ4QYY,7192
560
+ oscura/visualization/rendering.py,sha256=-hJ9nhvJ3sxXCX9NhV9ajWLdSaI2RjsNrtuwq6GIpS4,13121
561
+ oscura/visualization/reverse_engineering.py,sha256=1yGnBwJtKnAUSAqqHmEd09QCU2kAw81PC-RrrDp0rjg,26278
562
+ oscura/visualization/signal_integrity.py,sha256=XRoMTDEoNCUtSIbX8HG7WGiSxBM0fkXnCvWtlvJF6I4,31178
563
+ oscura/visualization/specialized.py,sha256=MrUbW67ovrqnWKqwlhPw4k-L4SUqe-TrAiobqxGXb48,18532
564
+ oscura/visualization/spectral.py,sha256=aHt8J94nawmzo3zXCea72xxy7c9mUbIMR7VWxtnw_a4,35758
565
+ oscura/visualization/styles.py,sha256=58-aRnig_9R1ap6UNWkkLYWAyCM7QHRLrEQF-42vQ_g,10227
566
+ oscura/visualization/thumbnails.py,sha256=WZBN9QkYj6PgETeFT3-yQS7j38dBIvfJ2CxcFnaVSLc,10725
567
+ oscura/visualization/time_axis.py,sha256=rWzDV2wofJo1VsZg4WP6FSNbdAWOuFg6PjhTM6yukrc,8871
568
+ oscura/visualization/waveform.py,sha256=jkZbBQb2I3f_6r27xifkoYzIQ5Mj1XosLMx6WFYty9s,12842
569
+ oscura/workflows/__init__.py,sha256=22ezDRxuMrR860oFg1s4tyD2QDbJoHNemKCVen32Ldk,1696
570
+ oscura/workflows/complete_re.py,sha256=CeI2R8GF1idmRmZ34ecVGlxKw9TYH3WJZdjsaQe7hWw,36960
571
+ oscura/workflows/compliance.py,sha256=Tr0WlJJ9oDFQrwveRdc3qdIQTnabwQ2FCvj6VS9RFQw,9149
572
+ oscura/workflows/digital.py,sha256=P0Cd9RQ1isFKbQvxboS9nmf6srseocivE--S2d31u-c,12913
573
+ oscura/workflows/multi_trace.py,sha256=NKFTnkF8hv-tMfLCF9FZ_31obS_UVy4ngwgOko78Ms0,16003
574
+ oscura/workflows/power.py,sha256=AoP_RiQcNIdvh-hu8DIEHT2FKULSnNZ-7257ZoAiNxA,5379
575
+ oscura/workflows/protocol.py,sha256=94eFMrX6ZQVRnIN0y-BDNxlwWNPuhsKvgonlKTfGgBA,15939
576
+ oscura/workflows/reverse_engineering.py,sha256=5GXMc3BwbNt9WA8Tzi7FEW7LciPjOZNm0Mm1Ej6iygg,25137
577
+ oscura/workflows/signal_integrity.py,sha256=TQ5CWnS2iyzS5TU32TfLzNilQT2fhY8EPy3E_RM4o-I,9699
578
+ oscura/workflows/batch/__init__.py,sha256=ngm5GSV8cC-T0nfigyQVkRkqJM5dpaxMTH6s3NZN67c,1260
579
+ oscura/workflows/batch/advanced.py,sha256=_CvDg_flQMdmWePnXGccboCy2K5sempO3RNubR8q-W0,23656
580
+ oscura/workflows/batch/aggregate.py,sha256=4Ql2GGVsmy9yxgST_SeRF-aFd8kfKtrorrgK1dcrDNo,15741
581
+ oscura/workflows/batch/analyze.py,sha256=pMXUChVGpSj7L0dNgPTN6R2-XdxHQteQLNJkEEJnXv4,7536
582
+ oscura/workflows/batch/logging.py,sha256=6YkTrOA2OSiRjYHmtRn-lL2wyNpya0sggVkgxszo4qw,15485
583
+ oscura/workflows/batch/metrics.py,sha256=InbxaZmFQrANpp_RCcx5F3va55UaiQjhFJ-_SEKAS20,17322
584
+ oscura/workflows/legacy/__init__.py,sha256=PqHw8AIWfP4-1lJEjCDC4c_O8GXYOcWodK9ciOnGJaU,409
585
+ oscura/workflows/legacy/dag.py,sha256=tEhiWmOSdcEYKmrwYUETC0P5yN-_Cy9fEysPwTDVZ3A,12337
586
+ oscura-0.6.0.dist-info/METADATA,sha256=CtuxIm7lD1gUhOP9qjFRhIm4WhucoiUSjCxtzOHqLNE,32904
587
+ oscura-0.6.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
588
+ oscura-0.6.0.dist-info/entry_points.txt,sha256=QLBxd-iTjBQ5HidaVSkLBwvUsqxSG1ZTJ6i-0juu960,48
589
+ oscura-0.6.0.dist-info/licenses/LICENSE,sha256=p1_oEK-oqWDXMFSv5mKbyYkgW-CPbCnFUvdICu490aY,1077
590
+ oscura-0.6.0.dist-info/RECORD,,