#
tokens: 47573/50000 6/1140 files (page 31/103)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 31 of 103. Use http://codebase.md/cyfrin/aderyn?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .cargo
│   └── config.toml
├── .git-blame-ignore-revs
├── .gitattributes
├── .github
│   ├── images
│   │   ├── aderyn_logo.png
│   │   ├── poweredbycyfrinblack.png
│   │   └── poweredbycyfrinblue.png
│   ├── ISSUE_TEMPLATE
│   │   ├── bug_report.md
│   │   ├── false_positive_issue.md
│   │   └── feature_request.md
│   └── workflows
│       ├── cargo.yml
│       ├── dependencies.yml
│       ├── release.yml
│       ├── reports.yml
│       └── toml.yml
├── .gitignore
├── .gitmodules
├── .vscode
│   └── settings.json
├── aderyn
│   ├── Cargo.toml
│   ├── oranda.json
│   ├── README.md
│   ├── src
│   │   ├── birdsong.rs
│   │   ├── completions.rs
│   │   ├── lib.rs
│   │   ├── lsp.rs
│   │   ├── main.rs
│   │   ├── mcp.rs
│   │   └── panic.rs
│   └── templates
│       └── aderyn.toml
├── aderyn_core
│   ├── .gitignore
│   ├── Cargo.toml
│   ├── README.md
│   ├── src
│   │   ├── ast
│   │   │   ├── ast_nodes.rs
│   │   │   ├── ast.rs
│   │   │   ├── impls
│   │   │   │   ├── ctx
│   │   │   │   │   ├── utils.rs
│   │   │   │   │   └── workspace.rs
│   │   │   │   ├── ctx.rs
│   │   │   │   ├── disp
│   │   │   │   │   ├── blocks.rs
│   │   │   │   │   ├── contracts.rs
│   │   │   │   │   ├── enumerations.rs
│   │   │   │   │   ├── errors.rs
│   │   │   │   │   ├── events.rs
│   │   │   │   │   ├── expressions.rs
│   │   │   │   │   ├── functions.rs
│   │   │   │   │   ├── identifiers.rs
│   │   │   │   │   ├── literals.rs
│   │   │   │   │   ├── modifiers.rs
│   │   │   │   │   ├── statements.rs
│   │   │   │   │   ├── structures.rs
│   │   │   │   │   ├── types.rs
│   │   │   │   │   ├── user_defined_value_types.rs
│   │   │   │   │   ├── using_for_directives.rs
│   │   │   │   │   └── variables.rs
│   │   │   │   ├── disp.rs
│   │   │   │   ├── node
│   │   │   │   │   ├── blocks.rs
│   │   │   │   │   ├── contracts.rs
│   │   │   │   │   ├── documentation.rs
│   │   │   │   │   ├── enumerations.rs
│   │   │   │   │   ├── errors.rs
│   │   │   │   │   ├── events.rs
│   │   │   │   │   ├── expressions.rs
│   │   │   │   │   ├── functions.rs
│   │   │   │   │   ├── identifiers.rs
│   │   │   │   │   ├── import_directives.rs
│   │   │   │   │   ├── literals.rs
│   │   │   │   │   ├── modifiers.rs
│   │   │   │   │   ├── pragma_directives.rs
│   │   │   │   │   ├── source_units.rs
│   │   │   │   │   ├── statements.rs
│   │   │   │   │   ├── structures.rs
│   │   │   │   │   ├── types.rs
│   │   │   │   │   ├── user_defined_value_types.rs
│   │   │   │   │   ├── using_for_directives.rs
│   │   │   │   │   └── variables.rs
│   │   │   │   ├── node.rs
│   │   │   │   ├── own
│   │   │   │   │   ├── hashing.rs
│   │   │   │   │   ├── node_id.rs
│   │   │   │   │   ├── source_units.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   └── own.rs
│   │   │   ├── impls.rs
│   │   │   ├── macros.rs
│   │   │   ├── magic.rs
│   │   │   ├── node_type.rs
│   │   │   └── yul.rs
│   │   ├── ast.rs
│   │   ├── audit
│   │   │   ├── attack_surface.rs
│   │   │   ├── auditor.rs
│   │   │   ├── entrypoint.rs
│   │   │   └── public_functions_no_sender.rs
│   │   ├── audit.rs
│   │   ├── context
│   │   │   ├── browser
│   │   │   │   ├── ancestral_line.rs
│   │   │   │   ├── closest_ancestor.rs
│   │   │   │   ├── external_calls.rs
│   │   │   │   ├── extractor.rs
│   │   │   │   ├── immediate_children.rs
│   │   │   │   ├── location.rs
│   │   │   │   ├── macros.rs
│   │   │   │   ├── parent.rs
│   │   │   │   ├── peek_over.rs
│   │   │   │   ├── peek_under.rs
│   │   │   │   ├── peek.rs
│   │   │   │   ├── siblings.rs
│   │   │   │   ├── sort_nodes.rs
│   │   │   │   └── storage_vars.rs
│   │   │   ├── browser.rs
│   │   │   ├── capturable.rs
│   │   │   ├── flow
│   │   │   │   ├── display.rs
│   │   │   │   ├── error.rs
│   │   │   │   ├── kind.rs
│   │   │   │   ├── primitives.rs
│   │   │   │   ├── reducibles.rs
│   │   │   │   ├── tests.rs
│   │   │   │   ├── utils.rs
│   │   │   │   ├── visualizer.rs
│   │   │   │   └── voids.rs
│   │   │   ├── flow.rs
│   │   │   ├── graph
│   │   │   │   ├── callgraph
│   │   │   │   │   ├── legacy.rs
│   │   │   │   │   ├── new.rs
│   │   │   │   │   ├── tests.rs
│   │   │   │   │   ├── utils.rs
│   │   │   │   │   └── visit.rs
│   │   │   │   ├── callgraph.rs
│   │   │   │   ├── preprocess
│   │   │   │   │   ├── legacy.rs
│   │   │   │   │   └── new.rs
│   │   │   │   ├── preprocess.rs
│   │   │   │   ├── traits.rs
│   │   │   │   └── utils.rs
│   │   │   ├── graph.rs
│   │   │   ├── macros.rs
│   │   │   ├── mcp
│   │   │   │   ├── callgraph
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── callgraph.rs
│   │   │   │   ├── contract_surface
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── util.rs
│   │   │   │   ├── contract_surface.rs
│   │   │   │   ├── list_contracts
│   │   │   │   │   ├── render.rs
│   │   │   │   │   └── tool.rs
│   │   │   │   ├── list_contracts.rs
│   │   │   │   ├── node_finder
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── node_finder.rs
│   │   │   │   ├── node_summarizer
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── node_summarizer.rs
│   │   │   │   ├── project_overview
│   │   │   │   │   ├── render.rs
│   │   │   │   │   └── tool.rs
│   │   │   │   ├── project_overview.rs
│   │   │   │   ├── tool_guide
│   │   │   │   │   └── tool.rs
│   │   │   │   └── tool_guide.rs
│   │   │   ├── mcp.rs
│   │   │   ├── router
│   │   │   │   ├── external_calls.rs
│   │   │   │   ├── internal_calls.rs
│   │   │   │   ├── modifier_calls.rs
│   │   │   │   └── tests.rs
│   │   │   ├── router.rs
│   │   │   └── workspace.rs
│   │   ├── context.rs
│   │   ├── detect
│   │   │   ├── detector.rs
│   │   │   ├── entrypoint.rs
│   │   │   ├── helpers.rs
│   │   │   ├── high
│   │   │   │   ├── _template.rs
│   │   │   │   ├── abi_encode_packed_hash_collision.rs
│   │   │   │   ├── arbitrary_transfer_from.rs
│   │   │   │   ├── const_func_changes_state.rs
│   │   │   │   ├── contract_locks_ether.rs
│   │   │   │   ├── dangerous_unary_operator.rs
│   │   │   │   ├── delegate_call_unchecked_address.rs
│   │   │   │   ├── delete_nested_mapping.rs
│   │   │   │   ├── dynamic_array_length_assignment.rs
│   │   │   │   ├── enumerable_loop_removal.rs
│   │   │   │   ├── eth_send_unchecked_address.rs
│   │   │   │   ├── experimental_encoder.rs
│   │   │   │   ├── function_selector_collision.rs
│   │   │   │   ├── incorrect_caret_operator.rs
│   │   │   │   ├── incorrect_erc20_interface.rs
│   │   │   │   ├── incorrect_erc721_interface.rs
│   │   │   │   ├── incorrect_shift_order.rs
│   │   │   │   ├── misused_boolean.rs
│   │   │   │   ├── msg_value_in_loops.rs
│   │   │   │   ├── multiple_constructors.rs
│   │   │   │   ├── nested_struct_in_mapping.rs
│   │   │   │   ├── out_of_order_retryable.rs
│   │   │   │   ├── pre_declared_variable_usage.rs
│   │   │   │   ├── reentrancy_state_change.rs
│   │   │   │   ├── reused_contract_name.rs
│   │   │   │   ├── rtlo.rs
│   │   │   │   ├── selfdestruct.rs
│   │   │   │   ├── signed_integer_storage_array.rs
│   │   │   │   ├── state_variable_shadowing.rs
│   │   │   │   ├── storage_array_memory_edit.rs
│   │   │   │   ├── strict_equality_contract_balance.rs
│   │   │   │   ├── tautological_compare.rs
│   │   │   │   ├── tautology_or_contradiction.rs
│   │   │   │   ├── tx_origin_used_for_auth.rs
│   │   │   │   ├── unchecked_low_level_call.rs
│   │   │   │   ├── unchecked_send.rs
│   │   │   │   ├── unprotected_initializer.rs
│   │   │   │   ├── unsafe_casting.rs
│   │   │   │   ├── weak_randomness.rs
│   │   │   │   └── yul_return.rs
│   │   │   ├── high.rs
│   │   │   ├── low
│   │   │   │   ├── _template.rs
│   │   │   │   ├── assert_state_change.rs
│   │   │   │   ├── block_timestamp_deadline.rs
│   │   │   │   ├── boolean_equality.rs
│   │   │   │   ├── builtin_symbol_shadowing.rs
│   │   │   │   ├── centralization_risk.rs
│   │   │   │   ├── constant_function_contains_assembly.rs
│   │   │   │   ├── costly_loop.rs
│   │   │   │   ├── dead_code.rs
│   │   │   │   ├── delegatecall_in_loop.rs
│   │   │   │   ├── deprecated_oz_function.rs
│   │   │   │   ├── division_before_multiplication.rs
│   │   │   │   ├── ecrecover.rs
│   │   │   │   ├── empty_block.rs
│   │   │   │   ├── empty_require_revert.rs
│   │   │   │   ├── function_initializing_state.rs
│   │   │   │   ├── function_pointer_in_constructor.rs
│   │   │   │   ├── inconsistent_type_names.rs
│   │   │   │   ├── incorrect_modifier.rs
│   │   │   │   ├── internal_function_used_once.rs
│   │   │   │   ├── large_numeric_literal.rs
│   │   │   │   ├── literal_instead_of_constant.rs
│   │   │   │   ├── local_variable_shadowing.rs
│   │   │   │   ├── missing_inheritance.rs
│   │   │   │   ├── modifier_used_only_once.rs
│   │   │   │   ├── multiple_placeholders.rs
│   │   │   │   ├── non_reentrant_not_first.rs
│   │   │   │   ├── push_0_opcode.rs
│   │   │   │   ├── redundant_statement.rs
│   │   │   │   ├── require_revert_in_loop.rs
│   │   │   │   ├── return_bomb.rs
│   │   │   │   ├── solmate_safe_transfer_lib.rs
│   │   │   │   ├── state_change_without_event.rs
│   │   │   │   ├── state_no_address_check.rs
│   │   │   │   ├── state_variable_could_be_constant.rs
│   │   │   │   ├── state_variable_could_be_immutable.rs
│   │   │   │   ├── state_variable_read_external.rs
│   │   │   │   ├── storage_array_length_not_cached.rs
│   │   │   │   ├── todo.rs
│   │   │   │   ├── unchecked_return.rs
│   │   │   │   ├── uninitialized_local_variable.rs
│   │   │   │   ├── unsafe_erc20_operation.rs
│   │   │   │   ├── unsafe_oz_erc721_mint.rs
│   │   │   │   ├── unspecific_solidity_pragma.rs
│   │   │   │   ├── unused_error.rs
│   │   │   │   ├── unused_import.rs
│   │   │   │   ├── unused_public_function.rs
│   │   │   │   ├── unused_state_variable.rs
│   │   │   │   └── void_constructor.rs
│   │   │   ├── low.rs
│   │   │   └── test_utils.rs
│   │   ├── detect.rs
│   │   ├── lib.rs
│   │   ├── stats
│   │   │   ├── cloc.rs
│   │   │   ├── dbg_tips.txt
│   │   │   ├── ignore.rs
│   │   │   ├── token.rs
│   │   │   └── util.rs
│   │   ├── stats.rs
│   │   ├── test_utils
│   │   │   └── load_source_unit.rs
│   │   ├── test_utils.rs
│   │   ├── visitor
│   │   │   ├── ast_visitor.rs
│   │   │   ├── macros.rs
│   │   │   └── workspace_visitor.rs
│   │   └── visitor.rs
│   ├── templates
│   │   └── mcp-tool-response
│   │       ├── callgraph.md
│   │       ├── contract_surface.md
│   │       ├── list_contracts.md
│   │       ├── node_finder_get_all.md
│   │       ├── node_finder_grep.md
│   │       ├── node_finder_search.md
│   │       ├── node_summarizer.md
│   │       ├── project_overview.md
│   │       └── tool_guide.md
│   └── tests
│       ├── common
│       │   ├── ancestral_line.rs
│       │   ├── closest_ancestor.rs
│       │   ├── immediate_children.rs
│       │   ├── immediate_parent.rs
│       │   ├── mod.rs
│       │   ├── new_ast_nodes.rs
│       │   ├── peek_over.rs
│       │   └── sibling.rs
│       └── traversal.rs
├── aderyn_driver
│   ├── .gitignore
│   ├── benches
│   │   └── detectors.rs
│   ├── Cargo.toml
│   ├── README.md
│   ├── src
│   │   ├── compile.rs
│   │   ├── config.rs
│   │   ├── display.rs
│   │   ├── driver.rs
│   │   ├── interface
│   │   │   ├── json.rs
│   │   │   ├── lsp.rs
│   │   │   ├── markdown.rs
│   │   │   ├── mod.rs
│   │   │   ├── sarif.rs
│   │   │   ├── tables.rs
│   │   │   └── util.rs
│   │   ├── lib.rs
│   │   ├── mcp.rs
│   │   ├── process.rs
│   │   └── runner.rs
│   └── tests
│       └── astgen.rs
├── bacon.toml
├── benchmarks
│   ├── aderyn
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── iteration_times.svg
│   │       │   └── pdf.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── iteration_times_small.svg
│   │       ├── iteration_times.svg
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── relative_iteration_times_small.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── SD.svg
│   │       └── typical.svg
│   ├── arbitrary-transfer-from
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── avoid-abi-encode-packed
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── block-timestamp-deadline
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── centralization-risk
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── constants-instead-of-literals
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── delegate-call-in-loop
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── deprecated-oz-functions
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── ecrecover
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── empty-block
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── hello_world
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── inconsistent-type-names
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── large-numeric-literal
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── non-reentrant-before-others
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── push-zero-opcode
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── report
│   │   └── index.html
│   ├── require-with-string
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── solmate-safe-transfer-lib
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unindexed-events
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unprotected-initializer
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unsafe-erc20-functions
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unsafe-oz-erc721-mint
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unspecific-solidity-pragma
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-internal-function
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-modifier
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-public-function
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   └── zero-address-check
│       ├── base
│       │   ├── benchmark.json
│       │   ├── estimates.json
│       │   ├── sample.json
│       │   └── tukey.json
│       ├── change
│       │   └── estimates.json
│       ├── new
│       │   ├── benchmark.json
│       │   ├── estimates.json
│       │   ├── sample.json
│       │   └── tukey.json
│       └── report
│           ├── both
│           │   ├── pdf.svg
│           │   └── regression.svg
│           ├── change
│           │   ├── mean.svg
│           │   ├── median.svg
│           │   └── t-test.svg
│           ├── index.html
│           ├── MAD.svg
│           ├── mean.svg
│           ├── median.svg
│           ├── pdf_small.svg
│           ├── pdf.svg
│           ├── regression_small.svg
│           ├── regression.svg
│           ├── relative_pdf_small.svg
│           ├── relative_regression_small.svg
│           ├── SD.svg
│           ├── slope.svg
│           └── typical.svg
├── Cargo.lock
├── Cargo.toml
├── cli
│   ├── benchmarks.sh
│   └── reportgen.sh
├── CODEOWNERS
├── CONTRIBUTING.md
├── cyfrinup
│   ├── dynamic_script
│   └── why.md
├── deny.toml
├── dist-workspace.toml
├── funding.json
├── LICENSE
├── Makefile
├── package-lock.json
├── package.json
├── README.md
├── RELEASE_CHECKLIST.md
├── reports
│   ├── adhoc-sol-files-highs-only-report.json
│   ├── adhoc-sol-files-report.md
│   ├── ccip-functions-report.md
│   ├── empty_report.md
│   ├── hardhat-playground-report.md
│   ├── nft-report-icm.md
│   ├── nft-report.md
│   ├── prb-math-report.md
│   ├── report.json
│   ├── report.md
│   ├── report.sarif
│   ├── sablier-aderyn-toml-nested-root.md
│   ├── templegold-report.md
│   └── uniswap_profile.md
├── rust-toolchain.toml
├── rustfmt.toml
├── tests
│   ├── adhoc-sol-files
│   │   ├── aderyn.toml
│   │   ├── Counter.sol
│   │   ├── DemoASTNodes.sol
│   │   ├── Helper.sol
│   │   ├── InconsistentUints.sol
│   │   ├── inheritance
│   │   │   ├── ExtendedInheritance.sol
│   │   │   ├── IContractInheritance.sol
│   │   │   └── InheritanceBase.sol
│   │   ├── InternalFunctions.sol
│   │   ├── lib
│   │   │   └── ThisShouldBeExcluded.sol
│   │   ├── multiple-versions
│   │   │   ├── 0.4
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.5
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.6
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.7
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   └── 0.8
│   │   │       ├── A.sol
│   │   │       └── B.sol
│   │   ├── OnceModifierExample.sol
│   │   └── StateVariables.sol
│   ├── ast
│   │   ├── abstract_contract.json
│   │   ├── address_payable.json
│   │   ├── array_type_name.json
│   │   ├── ast-erc4626.json
│   │   ├── base_constructor_call.json
│   │   ├── bit_not.json
│   │   ├── call.json
│   │   ├── constructor.json
│   │   ├── contract_dep_order.json
│   │   ├── do_while.json
│   │   ├── documentation_1.json
│   │   ├── documentation_2.json
│   │   ├── documentation_3.json
│   │   ├── documentation_local_variable.json
│   │   ├── documentation_on_statements.json
│   │   ├── documentation_triple.json
│   │   ├── empty_block.json
│   │   ├── enum_value_declaration.json
│   │   ├── enum_value.json
│   │   ├── event_definition.json
│   │   ├── experimental_encoder_pragma.json
│   │   ├── fallback_and_reveice_ether.json
│   │   ├── fallback_payable.json
│   │   ├── fallback.json
│   │   ├── function_type.json
│   │   ├── function.json
│   │   ├── global_enum.json
│   │   ├── global_struct.json
│   │   ├── inheritance_specifier.json
│   │   ├── leave.json
│   │   ├── license.json
│   │   ├── long_type_name_binary_operation.json
│   │   ├── long_type_name_identifier.json
│   │   ├── loop.json
│   │   ├── mappings.json
│   │   ├── modifier_definition.json
│   │   ├── modifier_invocation.json
│   │   ├── mutability.json
│   │   ├── nested_functions.json
│   │   ├── non_utf8.json
│   │   ├── override.json
│   │   ├── placeholder_statement.json
│   │   ├── receive_ether.json
│   │   ├── short_type_name_ref.json
│   │   ├── short_type_name.json
│   │   ├── slot_offset.json
│   │   ├── smoke.json
│   │   ├── source_location.json
│   │   ├── string.json
│   │   ├── stringlit.json
│   │   ├── switch_default.json
│   │   ├── switch.json
│   │   ├── try_catch.json
│   │   ├── two_base_functions.json
│   │   ├── unicode.json
│   │   ├── used_errors.json
│   │   ├── userDefinedValueType.json
│   │   ├── using_for_directive.json
│   │   ├── var_access.json
│   │   └── yul_hex_literal.json
│   ├── contract-playground
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── dot
│   │   │   └── .gitkeep
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── script
│   │   │   └── Counter.s.sol
│   │   ├── src
│   │   │   ├── AbstractContract.sol
│   │   │   ├── AderynIgnoreCustomDetectors.sol
│   │   │   ├── AdminContract.sol
│   │   │   ├── ArbitraryTransferFrom.sol
│   │   │   ├── AssemblyExample.sol
│   │   │   ├── AssertStateChange.sol
│   │   │   ├── auditor_mode
│   │   │   │   ├── ExternalCalls.sol
│   │   │   │   └── PublicFunctionsWithoutSenderCheck.sol
│   │   │   ├── BooleanEquality.sol
│   │   │   ├── BuiltinSymbolShadow.sol
│   │   │   ├── CacheArrayLength.sol
│   │   │   ├── CallGraphTests.sol
│   │   │   ├── Casting.sol
│   │   │   ├── cloc
│   │   │   │   ├── AnotherHeavilyCommentedContract.sol
│   │   │   │   ├── EmptyContractFile.sol
│   │   │   │   └── HeavilyCommentedContract.sol
│   │   │   ├── CompilerBugStorageSignedIntegerArray.sol
│   │   │   ├── ConstantFuncsAssembly.sol
│   │   │   ├── ConstantsLiterals.sol
│   │   │   ├── ConstFuncChangeState.sol
│   │   │   ├── ContractLocksEther.sol
│   │   │   ├── ContractWithTodo.sol
│   │   │   ├── control_flow
│   │   │   │   └── SimpleProgram.sol
│   │   │   ├── CostlyOperationsInsideLoops.sol
│   │   │   ├── Counter.sol
│   │   │   ├── CrazyPragma.sol
│   │   │   ├── DangerousStrictEquality1.sol
│   │   │   ├── DangerousStrictEquality2.sol
│   │   │   ├── DangerousUnaryOperator.sol
│   │   │   ├── DeadCode.sol
│   │   │   ├── DelegateCallWithoutAddressCheck.sol
│   │   │   ├── DeletionNestedMappingStructureContract.sol
│   │   │   ├── DeprecatedOZFunctions.sol
│   │   │   ├── DivisionBeforeMultiplication.sol
│   │   │   ├── DynamicArrayLengthAssignment.sol
│   │   │   ├── EmitAfterExternalCall.sol
│   │   │   ├── EmptyBlocks.sol
│   │   │   ├── EnumerableSetIteration.sol
│   │   │   ├── eth2
│   │   │   │   └── DepositContract.sol
│   │   │   ├── ExperimentalEncoder.sol
│   │   │   ├── ExternalCalls.sol
│   │   │   ├── FunctionInitializingState.sol
│   │   │   ├── FunctionPointers.sol
│   │   │   ├── FunctionSignatureCollision.sol
│   │   │   ├── HugeConstants.sol
│   │   │   ├── IgnoreEverything.sol
│   │   │   ├── InconsistentUints.sol
│   │   │   ├── IncorrectCaretOperator.sol
│   │   │   ├── IncorrectERC20.sol
│   │   │   ├── IncorrectERC721.sol
│   │   │   ├── IncorrectModifier.sol
│   │   │   ├── IncorrectShift.sol
│   │   │   ├── inheritance
│   │   │   │   ├── ExtendedInheritance.sol
│   │   │   │   ├── IContractInheritance.sol
│   │   │   │   └── InheritanceBase.sol
│   │   │   ├── InternalFunctions.sol
│   │   │   ├── KeccakContract.sol
│   │   │   ├── LocalVariableShadow.sol
│   │   │   ├── MissingInheritance.sol
│   │   │   ├── MisusedBoolean.sol
│   │   │   ├── MsgValueInLoop.sol
│   │   │   ├── MultipleConstructorSchemes.sol
│   │   │   ├── MultiplePlaceholders.sol
│   │   │   ├── nested
│   │   │   │   ├── 1
│   │   │   │   │   └── Nested.sol
│   │   │   │   └── 2
│   │   │   │       └── Nested.sol
│   │   │   ├── nested_mappings
│   │   │   │   ├── LaterVersion.sol
│   │   │   │   └── NestedMappings.sol
│   │   │   ├── OnceModifierExample.sol
│   │   │   ├── OnlyLibrary.sol
│   │   │   ├── OutOfOrderRetryable.sol
│   │   │   ├── parent_chain
│   │   │   │   └── ParentChainContract.sol
│   │   │   ├── PragmaRange.sol
│   │   │   ├── PreDeclaredVarUsage.sol
│   │   │   ├── PublicFunction.sol
│   │   │   ├── PublicVariableReadInExternalContext.sol
│   │   │   ├── RedundantStatements.sol
│   │   │   ├── ReturnBomb.sol
│   │   │   ├── reused_contract_name
│   │   │   │   ├── ContractA.sol
│   │   │   │   └── ContractB.sol
│   │   │   ├── RevertsAndRequriesInLoops.sol
│   │   │   ├── router
│   │   │   │   ├── ExternalCalls.sol
│   │   │   │   ├── FallbackAndReceiveOverrides.sol
│   │   │   │   ├── InternalCalls.sol
│   │   │   │   ├── ModifierCalls.sol
│   │   │   │   └── VarOverridesFunction.sol
│   │   │   ├── RTLO.sol
│   │   │   ├── SendEtherNoChecks.sol
│   │   │   ├── SendEtherNoChecksLibImport.sol
│   │   │   ├── StateChangeAfterExternalCall.sol
│   │   │   ├── StateShadowing.sol
│   │   │   ├── StateVariableCouldBeDeclaredConstant.sol
│   │   │   ├── StateVariableCouldBeDeclaredImmutable.sol
│   │   │   ├── StateVariables.sol
│   │   │   ├── StateVariablesChangesWithoutEvents.sol
│   │   │   ├── StateVariablesManipulation.sol
│   │   │   ├── StorageConditionals.sol
│   │   │   ├── StorageParameters.sol
│   │   │   ├── T11sTranferer.sol
│   │   │   ├── TautologicalCompare.sol
│   │   │   ├── TautologyOrContradiction.sol
│   │   │   ├── TestERC20.sol
│   │   │   ├── TransientKeyword.sol
│   │   │   ├── Trump.sol
│   │   │   ├── TxOriginUsedForAuth.sol
│   │   │   ├── U2.sol
│   │   │   ├── U3.sol
│   │   │   ├── U4.sol
│   │   │   ├── U5.sol
│   │   │   ├── UncheckedCalls.sol
│   │   │   ├── UncheckedReturn.sol
│   │   │   ├── UncheckedSend.sol
│   │   │   ├── UninitializedLocalVariables.sol
│   │   │   ├── UninitializedStateVariable.sol
│   │   │   ├── uniswap
│   │   │   │   ├── UniswapV2Swapper.sol
│   │   │   │   └── UniswapV3Swapper.sol
│   │   │   ├── UnprotectedInitialize.sol
│   │   │   ├── UnsafeERC721Mint.sol
│   │   │   ├── UnusedError.sol
│   │   │   ├── UnusedImport.sol
│   │   │   ├── UnusedStateVariables.sol
│   │   │   ├── UsingSelfdestruct.sol
│   │   │   ├── VoidConstructor.sol
│   │   │   ├── WeakRandomness.sol
│   │   │   ├── WrongOrderOfLayout.sol
│   │   │   ├── YulReturn.sol
│   │   │   └── ZeroAddressCheck.sol
│   │   └── test
│   │       └── Counter.t.sol
│   ├── foundry-nft-f23
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── foundry.lock
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── remappings.txt
│   │   └── src
│   │       ├── BasicNft.sol
│   │       ├── F1.sol
│   │       ├── F2.sol
│   │       ├── Initializer.sol
│   │       └── inner-core-modules
│   │           └── ICM.sol
│   ├── foundry-nft-f23-icm
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── aderyn.toml
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── remappings.txt
│   │   └── src
│   │       ├── BasicNft.sol
│   │       ├── F1.sol
│   │       ├── F2.sol
│   │       ├── Initializer.sol
│   │       └── inner-core-modules
│   │           └── ICM.sol
│   ├── hardhat-js-playground
│   │   ├── .gitignore
│   │   ├── artifacts
│   │   │   ├── build-info
│   │   │   │   └── cee6fe9a9a2f03f7ff10a27ab2746af6.json
│   │   │   └── contracts
│   │   │       ├── Counter.sol
│   │   │       │   ├── Counter.dbg.json
│   │   │       │   └── Counter.json
│   │   │       ├── ExtendedInheritance.sol
│   │   │       │   ├── ExtendedInheritance.dbg.json
│   │   │       │   └── ExtendedInheritance.json
│   │   │       ├── IContractInheritance.sol
│   │   │       │   ├── IContractInheritance.dbg.json
│   │   │       │   └── IContractInheritance.json
│   │   │       ├── InheritanceBase.sol
│   │   │       │   ├── InheritanceBase.dbg.json
│   │   │       │   └── InheritanceBase.json
│   │   │       ├── KeccakContract.sol
│   │   │       │   ├── KeccakContract.dbg.json
│   │   │       │   └── KeccakContract.json
│   │   │       ├── Lock.sol
│   │   │       │   ├── Lock.dbg.json
│   │   │       │   └── Lock.json
│   │   │       └── StateVariables.sol
│   │   │           ├── StateVariables.dbg.json
│   │   │           └── StateVariables.json
│   │   ├── contracts
│   │   │   ├── Counter.sol
│   │   │   ├── ExtendedInheritance.sol
│   │   │   ├── IContractInheritance.sol
│   │   │   ├── InheritanceBase.sol
│   │   │   ├── KeccakContract.sol
│   │   │   ├── Lock.sol
│   │   │   └── StateVariables.sol
│   │   ├── hardhat.config.js
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── deploy.js
│   │   ├── test
│   │   │   └── Lock.js
│   │   └── yarn.lock
│   ├── no-sol-files
│   │   ├── extra
│   │   │   └── HelloAgain.md
│   │   ├── Hello.txt
│   │   └── Hello.yul
│   └── toml
│       ├── nested_project1
│       │   ├── aderyn.toml
│       │   ├── folder1
│       │   │   └── hardhat.config.ts
│       │   ├── folder2
│       │   │   └── hardhat.config.ts
│       │   └── folder3
│       │       └── file.txt
│       └── nested_project2
│           ├── aderyn.toml
│           ├── folder1
│           │   └── foundry.toml
│           └── folder2
│               └── file1.txt
├── tools
│   └── xtask
│       ├── Cargo.toml
│       └── src
│           ├── blesspr.rs
│           ├── cut_release.rs
│           ├── flags.rs
│           ├── main.rs
│           ├── reportgen.rs
│           └── tomlgen.rs
└── typos.toml
```

# Files

--------------------------------------------------------------------------------
/benchmarks/unspecific-solidity-pragma/report/slope.svg:
--------------------------------------------------------------------------------

```
 1 | <svg width="960" height="540" viewBox="0 0 960 540" xmlns="http://www.w3.org/2000/svg">
 2 | <text x="480" y="32" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="16.129032258064516" opacity="1" fill="#000000">
 3 | unspecific-solidity-pragma:slope
 4 | </text>
 5 | <text x="27" y="263" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000" transform="rotate(270, 27, 263)">
 6 | Density (a.u.)
 7 | </text>
 8 | <text x="510" y="513" dy="-0.5ex" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
 9 | Average time (µs)
10 | </text>
11 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="86,53 86,472 "/>
12 | <text x="77" y="440" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
13 | 1
14 | </text>
15 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,440 86,440 "/>
16 | <text x="77" y="384" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
17 | 2
18 | </text>
19 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,384 86,384 "/>
20 | <text x="77" y="328" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
21 | 3
22 | </text>
23 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,328 86,328 "/>
24 | <text x="77" y="273" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
25 | 4
26 | </text>
27 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,273 86,273 "/>
28 | <text x="77" y="217" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
29 | 5
30 | </text>
31 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,217 86,217 "/>
32 | <text x="77" y="161" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
33 | 6
34 | </text>
35 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,161 86,161 "/>
36 | <text x="77" y="105" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
37 | 7
38 | </text>
39 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,105 86,105 "/>
40 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
41 | <text x="198" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
42 | 16.1
43 | </text>
44 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="198,473 198,478 "/>
45 | <text x="360" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
46 | 16.15
47 | </text>
48 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="360,473 360,478 "/>
49 | <text x="521" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
50 | 16.2
51 | </text>
52 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="521,473 521,478 "/>
53 | <text x="683" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
54 | 16.25
55 | </text>
56 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="683,473 683,478 "/>
57 | <text x="845" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
58 | 16.3
59 | </text>
60 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="845,473 845,478 "/>
61 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,472 88,472 90,471 92,470 93,469 95,469 97,468 98,467 100,466 102,466 103,465 105,464 107,463 109,462 110,462 112,461 114,460 115,459 117,458 119,457 120,456 122,455 124,454 125,453 127,452 129,451 131,450 132,449 134,448 136,447 137,446 139,445 141,444 142,442 144,441 146,440 147,439 149,438 151,437 153,435 154,434 156,433 158,432 159,430 161,429 163,428 164,426 166,425 168,424 169,422 171,421 173,419 175,417 176,416 178,414 180,413 181,411 183,409 185,407 186,406 188,404 190,402 191,400 193,398 195,396 197,394 198,393 200,391 202,389 203,387 205,385 207,383 208,381 210,378 212,376 214,374 215,372 217,370 219,368 220,366 222,364 224,362 225,360 227,358 229,356 230,354 232,352 234,350 236,348 237,346 239,344 241,342 242,339 244,337 246,335 247,333 249,331 251,329 252,327 254,324 256,322 258,320 259,317 261,315 263,313 264,310 266,308 268,305 269,303 271,300 273,298 274,295 276,293 278,290 280,288 281,285 283,283 285,280 286,277 288,275 290,272 291,270 293,267 295,265 296,262 298,259 300,257 302,254 303,252 305,249 307,246 308,244 310,241 312,238 313,235 315,233 317,230 318,227 320,224 322,222 324,219 325,216 327,213 329,210 330,208 332,205 334,202 335,200 337,197 339,194 341,192 342,189 344,187 346,184 347,182 349,180 351,178 352,176 354,174 356,172 357,170 359,168 361,166 363,165 364,163 366,161 368,160 369,158 371,156 373,155 374,153 376,151 378,150 379,148 381,146 383,145 385,143 386,141 388,140 390,138 391,136 393,134 395,133 396,131 398,129 400,127 401,126 403,124 405,122 407,121 408,119 410,117 412,116 413,114 415,113 417,111 418,110 420,109 422,107 423,106 425,105 427,104 429,103 430,102 432,101 434,100 435,99 437,99 439,98 440,97 442,97 444,96 445,96 447,95 449,95 451,95 452,94 454,94 456,94 457,94 459,94 461,94 462,94 464,94 466,94 468,94 469,94 471,94 473,94 474,94 476,94 478,94 479,94 481,94 483,94 484,94 486,94 488,94 490,94 491,94 493,94 495,94 496,94 498,94 500,94 501,94 503,95 505,95 506,95 508,95 510,96 512,96 513,96 515,97 517,97 518,98 520,98 522,99 523,99 525,100 527,101 528,102 530,102 532,103 534,104 535,105 537,106 539,108 540,109 542,110 544,112 545,113 547,115 549,117 550,119 552,120 554,122 556,124 557,126 559,128 561,130 562,132 564,134 566,136 567,138 569,140 571,142 573,144 574,145 576,147 578,149 579,151 581,153 583,154 584,156 586,158 588,159 589,161 591,163 593,165 595,166 596,168 598,170 600,171 601,173 603,175 605,177 606,179 608,180 610,182 611,184 613,186 615,188 617,190 618,193 620,195 622,197 623,199 625,201 627,204 628,206 630,208 632,211 633,213 635,216 637,218 639,220 640,223 642,225 644,228 645,230 647,233 649,235 650,237 652,240 654,242 655,245 657,247 659,249 661,252 662,254 664,256 666,258 667,261 669,263 671,265 672,267 674,270 676,272 677,274 679,276 681,278 683,280 684,282 686,284 688,286 689,288 691,290 693,292 694,294 696,296 698,298 700,299 701,301 703,303 705,305 706,307 708,309 710,311 711,313 713,315 715,317 716,319 718,321 720,323 722,325 723,327 725,329 727,331 728,333 730,335 732,338 733,340 735,342 737,344 738,346 740,348 742,351 744,353 745,355 747,357 749,359 750,361 752,363 754,365 755,367 757,369 759,371 760,373 762,375 764,377 766,378 767,380 769,382 771,384 772,385 774,387 776,388 777,390 779,392 781,393 782,395 784,396 786,397 788,399 789,400 791,402 793,403 794,404 796,406 798,407 799,408 801,409 803,411 804,412 806,413 808,415 810,416 811,417 813,418 815,419 816,421 818,422 820,423 821,424 823,425 825,427 827,428 828,429 830,430 832,431 833,432 835,433 837,434 838,435 840,436 842,437 843,438 845,439 847,440 849,441 850,442 852,443 854,444 855,445 857,445 859,446 860,447 862,448 864,449 865,449 867,450 869,451 871,452 872,452 874,453 876,454 877,455 879,455 881,456 882,457 884,457 886,458 887,459 889,459 891,460 893,460 894,461 896,462 898,462 899,463 901,463 903,464 904,465 906,465 908,466 909,466 911,467 913,467 915,468 916,468 918,469 920,469 921,470 923,470 925,471 926,471 928,472 930,472 932,472 "/>
62 | <polygon opacity="0.25" fill="#1F78B4" points="164,426 166,425 168,424 169,422 171,421 173,419 175,417 176,416 178,414 180,413 181,411 183,409 185,407 186,406 188,404 190,402 191,400 193,398 195,396 197,394 198,393 200,391 202,389 203,387 205,385 207,383 208,381 210,378 212,376 214,374 215,372 217,370 219,368 220,366 222,364 224,362 225,360 227,358 229,356 230,354 232,352 234,350 236,348 237,346 239,344 241,342 242,339 244,337 246,335 247,333 249,331 251,329 252,327 254,324 256,322 258,320 259,317 261,315 263,313 264,310 266,308 268,305 269,303 271,300 273,298 274,295 276,293 278,290 280,288 281,285 283,283 285,280 286,277 288,275 290,272 291,270 293,267 295,265 296,262 298,259 300,257 302,254 303,252 305,249 307,246 308,244 310,241 312,238 313,235 315,233 317,230 318,227 320,224 322,222 324,219 325,216 327,213 329,210 330,208 332,205 334,202 335,200 337,197 339,194 341,192 342,189 344,187 346,184 347,182 349,180 351,178 352,176 354,174 356,172 357,170 359,168 361,166 363,165 364,163 366,161 368,160 369,158 371,156 373,155 374,153 376,151 378,150 379,148 381,146 383,145 385,143 386,141 388,140 390,138 391,136 393,134 395,133 396,131 398,129 400,127 401,126 403,124 405,122 407,121 408,119 410,117 412,116 413,114 415,113 417,111 418,110 420,109 422,107 423,106 425,105 427,104 429,103 430,102 432,101 434,100 435,99 437,99 439,98 440,97 442,97 444,96 445,96 447,95 449,95 451,95 452,94 454,94 456,94 457,94 459,94 461,94 462,94 464,94 466,94 468,94 469,94 471,94 473,94 474,94 476,94 478,94 479,94 481,94 483,94 484,94 486,94 488,94 490,94 491,94 493,94 495,94 496,94 498,94 500,94 501,94 503,95 505,95 506,95 508,95 510,96 512,96 513,96 515,97 517,97 518,98 520,98 522,99 523,99 525,100 527,101 528,102 530,102 532,103 534,104 535,105 537,106 539,108 540,109 542,110 544,112 545,113 547,115 549,117 550,119 552,120 554,122 556,124 557,126 559,128 561,130 562,132 564,134 566,136 567,138 569,140 571,142 573,144 574,145 576,147 578,149 579,151 581,153 583,154 584,156 586,158 588,159 589,161 591,163 593,165 595,166 596,168 598,170 600,171 601,173 603,175 605,177 606,179 608,180 610,182 611,184 613,186 615,188 617,190 618,193 620,195 622,197 623,199 625,201 627,204 628,206 630,208 632,211 633,213 635,216 637,218 639,220 640,223 642,225 644,228 645,230 647,233 649,235 650,237 652,240 654,242 655,245 657,247 659,249 661,252 662,254 664,256 666,258 667,261 669,263 671,265 672,267 674,270 676,272 677,274 679,276 681,278 683,280 684,282 686,284 688,286 689,288 691,290 693,292 694,294 696,296 698,298 700,299 701,301 703,303 705,305 706,307 708,309 710,311 711,313 713,315 715,317 716,319 718,321 720,323 722,325 723,327 725,329 727,331 728,333 730,335 732,338 733,340 735,342 737,344 738,346 740,348 742,351 744,353 745,355 747,357 749,359 750,361 752,363 754,365 755,367 757,369 759,371 760,373 762,375 764,377 766,378 767,380 769,382 771,384 772,385 774,387 776,388 777,390 779,392 781,393 782,395 784,396 786,397 788,399 789,400 791,402 793,403 794,404 796,406 798,407 799,408 801,409 803,411 804,412 806,413 808,415 810,416 811,417 813,418 815,419 816,421 818,422 820,423 821,424 823,425 825,427 827,428 828,429 830,430 832,431 833,432 835,433 837,434 838,435 840,436 842,437 843,438 845,439 847,440 849,441 850,442 852,443 852,473 164,473 "/>
63 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="482,473 482,94 "/>
64 | <text x="798" y="68" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
65 | Bootstrap distribution
66 | </text>
67 | <text x="798" y="83" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
68 | Confidence interval
69 | </text>
70 | <text x="798" y="98" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
71 | Point estimate
72 | </text>
73 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,73 788,73 "/>
74 | <rect x="768" y="83" width="20" height="10" opacity="0.25" fill="#1F78B4" stroke="none"/>
75 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,103 788,103 "/>
76 | </svg>
77 | 
```

--------------------------------------------------------------------------------
/benchmarks/unspecific-solidity-pragma/report/typical.svg:
--------------------------------------------------------------------------------

```
 1 | <svg width="960" height="540" viewBox="0 0 960 540" xmlns="http://www.w3.org/2000/svg">
 2 | <text x="480" y="32" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="16.129032258064516" opacity="1" fill="#000000">
 3 | unspecific-solidity-pragma:typical
 4 | </text>
 5 | <text x="27" y="263" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000" transform="rotate(270, 27, 263)">
 6 | Density (a.u.)
 7 | </text>
 8 | <text x="510" y="513" dy="-0.5ex" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
 9 | Average time (µs)
10 | </text>
11 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="86,53 86,472 "/>
12 | <text x="77" y="440" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
13 | 1
14 | </text>
15 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,440 86,440 "/>
16 | <text x="77" y="384" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
17 | 2
18 | </text>
19 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,384 86,384 "/>
20 | <text x="77" y="328" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
21 | 3
22 | </text>
23 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,328 86,328 "/>
24 | <text x="77" y="273" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
25 | 4
26 | </text>
27 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,273 86,273 "/>
28 | <text x="77" y="217" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
29 | 5
30 | </text>
31 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,217 86,217 "/>
32 | <text x="77" y="161" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
33 | 6
34 | </text>
35 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,161 86,161 "/>
36 | <text x="77" y="105" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
37 | 7
38 | </text>
39 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,105 86,105 "/>
40 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
41 | <text x="198" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
42 | 16.1
43 | </text>
44 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="198,473 198,478 "/>
45 | <text x="360" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
46 | 16.15
47 | </text>
48 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="360,473 360,478 "/>
49 | <text x="521" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
50 | 16.2
51 | </text>
52 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="521,473 521,478 "/>
53 | <text x="683" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
54 | 16.25
55 | </text>
56 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="683,473 683,478 "/>
57 | <text x="845" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
58 | 16.3
59 | </text>
60 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="845,473 845,478 "/>
61 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,472 88,472 90,471 92,470 93,469 95,469 97,468 98,467 100,466 102,466 103,465 105,464 107,463 109,462 110,462 112,461 114,460 115,459 117,458 119,457 120,456 122,455 124,454 125,453 127,452 129,451 131,450 132,449 134,448 136,447 137,446 139,445 141,444 142,442 144,441 146,440 147,439 149,438 151,437 153,435 154,434 156,433 158,432 159,430 161,429 163,428 164,426 166,425 168,424 169,422 171,421 173,419 175,417 176,416 178,414 180,413 181,411 183,409 185,407 186,406 188,404 190,402 191,400 193,398 195,396 197,394 198,393 200,391 202,389 203,387 205,385 207,383 208,381 210,378 212,376 214,374 215,372 217,370 219,368 220,366 222,364 224,362 225,360 227,358 229,356 230,354 232,352 234,350 236,348 237,346 239,344 241,342 242,339 244,337 246,335 247,333 249,331 251,329 252,327 254,324 256,322 258,320 259,317 261,315 263,313 264,310 266,308 268,305 269,303 271,300 273,298 274,295 276,293 278,290 280,288 281,285 283,283 285,280 286,277 288,275 290,272 291,270 293,267 295,265 296,262 298,259 300,257 302,254 303,252 305,249 307,246 308,244 310,241 312,238 313,235 315,233 317,230 318,227 320,224 322,222 324,219 325,216 327,213 329,210 330,208 332,205 334,202 335,200 337,197 339,194 341,192 342,189 344,187 346,184 347,182 349,180 351,178 352,176 354,174 356,172 357,170 359,168 361,166 363,165 364,163 366,161 368,160 369,158 371,156 373,155 374,153 376,151 378,150 379,148 381,146 383,145 385,143 386,141 388,140 390,138 391,136 393,134 395,133 396,131 398,129 400,127 401,126 403,124 405,122 407,121 408,119 410,117 412,116 413,114 415,113 417,111 418,110 420,109 422,107 423,106 425,105 427,104 429,103 430,102 432,101 434,100 435,99 437,99 439,98 440,97 442,97 444,96 445,96 447,95 449,95 451,95 452,94 454,94 456,94 457,94 459,94 461,94 462,94 464,94 466,94 468,94 469,94 471,94 473,94 474,94 476,94 478,94 479,94 481,94 483,94 484,94 486,94 488,94 490,94 491,94 493,94 495,94 496,94 498,94 500,94 501,94 503,95 505,95 506,95 508,95 510,96 512,96 513,96 515,97 517,97 518,98 520,98 522,99 523,99 525,100 527,101 528,102 530,102 532,103 534,104 535,105 537,106 539,108 540,109 542,110 544,112 545,113 547,115 549,117 550,119 552,120 554,122 556,124 557,126 559,128 561,130 562,132 564,134 566,136 567,138 569,140 571,142 573,144 574,145 576,147 578,149 579,151 581,153 583,154 584,156 586,158 588,159 589,161 591,163 593,165 595,166 596,168 598,170 600,171 601,173 603,175 605,177 606,179 608,180 610,182 611,184 613,186 615,188 617,190 618,193 620,195 622,197 623,199 625,201 627,204 628,206 630,208 632,211 633,213 635,216 637,218 639,220 640,223 642,225 644,228 645,230 647,233 649,235 650,237 652,240 654,242 655,245 657,247 659,249 661,252 662,254 664,256 666,258 667,261 669,263 671,265 672,267 674,270 676,272 677,274 679,276 681,278 683,280 684,282 686,284 688,286 689,288 691,290 693,292 694,294 696,296 698,298 700,299 701,301 703,303 705,305 706,307 708,309 710,311 711,313 713,315 715,317 716,319 718,321 720,323 722,325 723,327 725,329 727,331 728,333 730,335 732,338 733,340 735,342 737,344 738,346 740,348 742,351 744,353 745,355 747,357 749,359 750,361 752,363 754,365 755,367 757,369 759,371 760,373 762,375 764,377 766,378 767,380 769,382 771,384 772,385 774,387 776,388 777,390 779,392 781,393 782,395 784,396 786,397 788,399 789,400 791,402 793,403 794,404 796,406 798,407 799,408 801,409 803,411 804,412 806,413 808,415 810,416 811,417 813,418 815,419 816,421 818,422 820,423 821,424 823,425 825,427 827,428 828,429 830,430 832,431 833,432 835,433 837,434 838,435 840,436 842,437 843,438 845,439 847,440 849,441 850,442 852,443 854,444 855,445 857,445 859,446 860,447 862,448 864,449 865,449 867,450 869,451 871,452 872,452 874,453 876,454 877,455 879,455 881,456 882,457 884,457 886,458 887,459 889,459 891,460 893,460 894,461 896,462 898,462 899,463 901,463 903,464 904,465 906,465 908,466 909,466 911,467 913,467 915,468 916,468 918,469 920,469 921,470 923,470 925,471 926,471 928,472 930,472 932,472 "/>
62 | <polygon opacity="0.25" fill="#1F78B4" points="164,426 166,425 168,424 169,422 171,421 173,419 175,417 176,416 178,414 180,413 181,411 183,409 185,407 186,406 188,404 190,402 191,400 193,398 195,396 197,394 198,393 200,391 202,389 203,387 205,385 207,383 208,381 210,378 212,376 214,374 215,372 217,370 219,368 220,366 222,364 224,362 225,360 227,358 229,356 230,354 232,352 234,350 236,348 237,346 239,344 241,342 242,339 244,337 246,335 247,333 249,331 251,329 252,327 254,324 256,322 258,320 259,317 261,315 263,313 264,310 266,308 268,305 269,303 271,300 273,298 274,295 276,293 278,290 280,288 281,285 283,283 285,280 286,277 288,275 290,272 291,270 293,267 295,265 296,262 298,259 300,257 302,254 303,252 305,249 307,246 308,244 310,241 312,238 313,235 315,233 317,230 318,227 320,224 322,222 324,219 325,216 327,213 329,210 330,208 332,205 334,202 335,200 337,197 339,194 341,192 342,189 344,187 346,184 347,182 349,180 351,178 352,176 354,174 356,172 357,170 359,168 361,166 363,165 364,163 366,161 368,160 369,158 371,156 373,155 374,153 376,151 378,150 379,148 381,146 383,145 385,143 386,141 388,140 390,138 391,136 393,134 395,133 396,131 398,129 400,127 401,126 403,124 405,122 407,121 408,119 410,117 412,116 413,114 415,113 417,111 418,110 420,109 422,107 423,106 425,105 427,104 429,103 430,102 432,101 434,100 435,99 437,99 439,98 440,97 442,97 444,96 445,96 447,95 449,95 451,95 452,94 454,94 456,94 457,94 459,94 461,94 462,94 464,94 466,94 468,94 469,94 471,94 473,94 474,94 476,94 478,94 479,94 481,94 483,94 484,94 486,94 488,94 490,94 491,94 493,94 495,94 496,94 498,94 500,94 501,94 503,95 505,95 506,95 508,95 510,96 512,96 513,96 515,97 517,97 518,98 520,98 522,99 523,99 525,100 527,101 528,102 530,102 532,103 534,104 535,105 537,106 539,108 540,109 542,110 544,112 545,113 547,115 549,117 550,119 552,120 554,122 556,124 557,126 559,128 561,130 562,132 564,134 566,136 567,138 569,140 571,142 573,144 574,145 576,147 578,149 579,151 581,153 583,154 584,156 586,158 588,159 589,161 591,163 593,165 595,166 596,168 598,170 600,171 601,173 603,175 605,177 606,179 608,180 610,182 611,184 613,186 615,188 617,190 618,193 620,195 622,197 623,199 625,201 627,204 628,206 630,208 632,211 633,213 635,216 637,218 639,220 640,223 642,225 644,228 645,230 647,233 649,235 650,237 652,240 654,242 655,245 657,247 659,249 661,252 662,254 664,256 666,258 667,261 669,263 671,265 672,267 674,270 676,272 677,274 679,276 681,278 683,280 684,282 686,284 688,286 689,288 691,290 693,292 694,294 696,296 698,298 700,299 701,301 703,303 705,305 706,307 708,309 710,311 711,313 713,315 715,317 716,319 718,321 720,323 722,325 723,327 725,329 727,331 728,333 730,335 732,338 733,340 735,342 737,344 738,346 740,348 742,351 744,353 745,355 747,357 749,359 750,361 752,363 754,365 755,367 757,369 759,371 760,373 762,375 764,377 766,378 767,380 769,382 771,384 772,385 774,387 776,388 777,390 779,392 781,393 782,395 784,396 786,397 788,399 789,400 791,402 793,403 794,404 796,406 798,407 799,408 801,409 803,411 804,412 806,413 808,415 810,416 811,417 813,418 815,419 816,421 818,422 820,423 821,424 823,425 825,427 827,428 828,429 830,430 832,431 833,432 835,433 837,434 838,435 840,436 842,437 843,438 845,439 847,440 849,441 850,442 852,443 852,473 164,473 "/>
63 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="482,473 482,94 "/>
64 | <text x="798" y="68" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
65 | Bootstrap distribution
66 | </text>
67 | <text x="798" y="83" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
68 | Confidence interval
69 | </text>
70 | <text x="798" y="98" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
71 | Point estimate
72 | </text>
73 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,73 788,73 "/>
74 | <rect x="768" y="83" width="20" height="10" opacity="0.25" fill="#1F78B4" stroke="none"/>
75 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,103 788,103 "/>
76 | </svg>
77 | 
```

--------------------------------------------------------------------------------
/aderyn_core/src/ast/impls/node/statements.rs:
--------------------------------------------------------------------------------

```rust
  1 | use crate::{ast::*, visitor::ast_visitor::*};
  2 | use eyre::Result;
  3 | use macros::accept_id;
  4 | 
  5 | impl Node for Statement {
  6 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
  7 |         match self {
  8 |             Statement::VariableDeclarationStatement(variable_declaration_statement) => {
  9 |                 variable_declaration_statement.accept(visitor)
 10 |             }
 11 |             Statement::IfStatement(if_statement) => if_statement.accept(visitor),
 12 |             Statement::ForStatement(for_statement) => for_statement.accept(visitor),
 13 |             Statement::WhileStatement(while_statement) => while_statement.accept(visitor),
 14 |             Statement::EmitStatement(emit_statement) => emit_statement.accept(visitor),
 15 |             Statement::TryStatement(try_statement) => try_statement.accept(visitor),
 16 |             Statement::UncheckedBlock(unchecked_statement) => unchecked_statement.accept(visitor),
 17 |             Statement::Return(return_statement) => return_statement.accept(visitor),
 18 |             Statement::RevertStatement(revert_statement) => revert_statement.accept(visitor),
 19 |             Statement::ExpressionStatement(expression_statement) => {
 20 |                 expression_statement.accept(visitor)
 21 |             }
 22 |             Statement::InlineAssembly(inline_assembly) => inline_assembly.accept(visitor),
 23 |             Statement::Block(block) => block.accept(visitor),
 24 |             Statement::Break(break_statement) => break_statement.accept(visitor),
 25 |             Statement::Continue(continue_statement) => continue_statement.accept(visitor),
 26 |             Statement::DoWhileStatement(do_while_statement) => do_while_statement.accept(visitor),
 27 |             Statement::PlaceholderStatement(placeholder_statement) => {
 28 |                 placeholder_statement.accept(visitor)
 29 |             }
 30 |         }
 31 |     }
 32 |     fn accept_id(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 33 |         visitor.visit_node_id(self.get_node_id())?;
 34 |         Ok(())
 35 |     }
 36 | }
 37 | 
 38 | impl Node for ExpressionStatement {
 39 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 40 |         if visitor.visit_expression_statement(self)? {
 41 |             self.expression.accept(visitor)?;
 42 |             self.accept_metadata(visitor)?;
 43 |         }
 44 |         visitor.end_visit_expression_statement(self)
 45 |     }
 46 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 47 |         if let Some(child_id) = self.expression.get_node_id() {
 48 |             visitor.visit_immediate_children(self.id, vec![child_id])?;
 49 |         }
 50 |         Ok(())
 51 |     }
 52 |     macros::accept_id!();
 53 | }
 54 | 
 55 | impl Node for VariableDeclarationStatement {
 56 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 57 |         if visitor.visit_variable_declaration_statement(self)? {
 58 |             for declaration in &self.declarations {
 59 |                 if declaration.is_some() {
 60 |                     declaration.as_ref().unwrap().accept(visitor)?;
 61 |                 }
 62 |             }
 63 |             if self.initial_value.is_some() {
 64 |                 self.initial_value.as_ref().unwrap().accept(visitor)?;
 65 |             }
 66 |             self.accept_metadata(visitor)?;
 67 |         }
 68 |         visitor.end_visit_variable_declaration_statement(self)
 69 |     }
 70 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 71 |         let declaration_ids = self.declarations.iter().flatten().map(|x| x.id).collect::<Vec<_>>();
 72 |         visitor.visit_immediate_children(self.id, declaration_ids)?;
 73 |         if let Some(initial_value) = &self.initial_value
 74 |             && let Some(id) = initial_value.get_node_id()
 75 |         {
 76 |             visitor.visit_immediate_children(self.id, vec![id])?;
 77 |         }
 78 |         Ok(())
 79 |     }
 80 |     macros::accept_id!();
 81 | }
 82 | 
 83 | impl Node for BlockOrStatement {
 84 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 85 |         match self {
 86 |             BlockOrStatement::Block(block) => block.accept(visitor),
 87 |             BlockOrStatement::Statement(statement) => statement.accept(visitor),
 88 |         }
 89 |     }
 90 |     fn accept_id(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 91 |         visitor.visit_node_id(self.get_node_id())?;
 92 |         Ok(())
 93 |     }
 94 | }
 95 | 
 96 | impl Node for IfStatement {
 97 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
 98 |         if visitor.visit_if_statement(self)? {
 99 |             self.condition.accept(visitor)?;
100 |             self.true_body.accept(visitor)?;
101 |             if self.false_body.is_some() {
102 |                 self.false_body.as_ref().unwrap().accept(visitor)?;
103 |             }
104 |         }
105 |         self.accept_metadata(visitor)?;
106 |         visitor.end_visit_if_statement(self)
107 |     }
108 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
109 |         if let Some(cond_id) = self.condition.get_node_id() {
110 |             visitor.visit_immediate_children(self.id, vec![cond_id])?;
111 |         }
112 |         if let Some(true_body_id) = self.true_body.get_node_id() {
113 |             visitor.visit_immediate_children(self.id, vec![true_body_id])?;
114 |         }
115 |         if let Some(false_body) = &self.false_body
116 |             && let Some(false_body_id) = false_body.get_node_id()
117 |         {
118 |             visitor.visit_immediate_children(self.id, vec![false_body_id])?;
119 |         }
120 |         Ok(())
121 |     }
122 |     macros::accept_id!();
123 | }
124 | 
125 | impl Node for ForStatement {
126 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
127 |         if visitor.visit_for_statement(self)? {
128 |             if self.initialization_expression.is_some() {
129 |                 match self.initialization_expression.as_ref().unwrap().as_ref() {
130 |                     ExpressionOrVariableDeclarationStatement::ExpressionStatement(expr) => {
131 |                         expr.accept(visitor)?;
132 |                     }
133 |                     ExpressionOrVariableDeclarationStatement::VariableDeclarationStatement(
134 |                         vd_stmnt,
135 |                     ) => {
136 |                         vd_stmnt.accept(visitor)?;
137 |                     }
138 |                 }
139 |             }
140 |             if self.condition.is_some() {
141 |                 self.condition.as_ref().unwrap().accept(visitor)?;
142 |             }
143 |             if self.loop_expression.is_some() {
144 |                 self.loop_expression.as_ref().unwrap().accept(visitor)?;
145 |             }
146 |             self.body.accept(visitor)?;
147 |             self.accept_metadata(visitor)?;
148 |         }
149 |         visitor.end_visit_for_statement(self)
150 |     }
151 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
152 |         if let Some(initialization_expr) = &self.initialization_expression
153 |             && let Some(expr_id) = initialization_expr.get_node_id()
154 |         {
155 |             visitor.visit_immediate_children(self.id, vec![expr_id])?;
156 |         }
157 |         if let Some(condition) = &self.condition
158 |             && let Some(cond_id) = condition.get_node_id()
159 |         {
160 |             visitor.visit_immediate_children(self.id, vec![cond_id])?;
161 |         }
162 |         if let Some(loop_expr) = &self.loop_expression {
163 |             visitor.visit_immediate_children(self.id, vec![loop_expr.id])?;
164 |         }
165 |         if let Some(body_id) = self.body.get_node_id() {
166 |             visitor.visit_immediate_children(self.id, vec![body_id])?;
167 |         }
168 |         Ok(())
169 |     }
170 |     macros::accept_id!();
171 | }
172 | 
173 | impl Node for WhileStatement {
174 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
175 |         if visitor.visit_while_statement(self)? {
176 |             self.condition.accept(visitor)?;
177 |             self.body.accept(visitor)?;
178 |         }
179 |         self.accept_metadata(visitor)?;
180 |         visitor.end_visit_while_statement(self)
181 |     }
182 | 
183 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
184 |         if let Some(cond_id) = self.condition.get_node_id() {
185 |             visitor.visit_immediate_children(self.id, vec![cond_id])?;
186 |         }
187 | 
188 |         if let Some(body_id) = self.body.get_node_id() {
189 |             visitor.visit_immediate_children(self.id, vec![body_id])?;
190 |         }
191 |         Ok(())
192 |     }
193 | 
194 |     macros::accept_id!();
195 | }
196 | 
197 | impl Node for DoWhileStatement {
198 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
199 |         if visitor.visit_do_while_statement(self)? {
200 |             self.condition.accept(visitor)?;
201 |             self.body.accept(visitor)?;
202 |         }
203 |         self.accept_metadata(visitor)?;
204 |         visitor.end_do_visit_while_statement(self)
205 |     }
206 | 
207 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
208 |         if let Some(cond_id) = self.condition.get_node_id() {
209 |             visitor.visit_immediate_children(self.id, vec![cond_id])?;
210 |         }
211 |         visitor.visit_immediate_children(self.id, vec![self.body.id])?;
212 |         Ok(())
213 |     }
214 | 
215 |     macros::accept_id!();
216 | }
217 | 
218 | impl Node for EmitStatement {
219 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
220 |         if visitor.visit_emit_statement(self)? {
221 |             self.event_call.accept(visitor)?;
222 |         }
223 |         self.accept_metadata(visitor)?;
224 |         visitor.end_visit_emit_statement(self)
225 |     }
226 | 
227 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
228 |         visitor.visit_immediate_children(self.id, vec![self.event_call.id])?;
229 |         Ok(())
230 |     }
231 | 
232 |     accept_id!();
233 | }
234 | 
235 | impl Node for TryStatement {
236 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
237 |         if visitor.visit_try_statement(self)? {
238 |             self.external_call.accept(visitor)?;
239 |             list_accept(&self.clauses, visitor)?;
240 |         }
241 |         visitor.end_visit_try_statement(self)
242 |     }
243 |     accept_id!();
244 | }
245 | 
246 | impl Node for RevertStatement {
247 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
248 |         if visitor.visit_revert_statement(self)? {
249 |             self.error_call.accept(visitor)?;
250 |         }
251 |         visitor.end_visit_revert_statement(self)
252 |     }
253 |     accept_id!();
254 | }
255 | 
256 | impl Node for TryCatchClause {
257 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
258 |         if visitor.visit_try_catch_clause(self)? {
259 |             if self.parameters.is_some() {
260 |                 self.parameters.as_ref().unwrap().accept(visitor)?;
261 |             }
262 |             self.block.accept(visitor)?;
263 |         }
264 |         visitor.end_visit_try_catch_clause(self)
265 |     }
266 |     accept_id!();
267 | }
268 | 
269 | impl Node for Return {
270 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
271 |         if visitor.visit_return(self)? && self.expression.is_some() {
272 |             self.expression.as_ref().unwrap().accept(visitor)?;
273 |         }
274 |         self.accept_metadata(visitor)?;
275 |         visitor.end_visit_return(self)
276 |     }
277 |     fn accept_metadata(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
278 |         if let Some(expr) = &self.expression
279 |             && let Some(expr_id) = expr.get_node_id()
280 |         {
281 |             visitor.visit_immediate_children(self.id, vec![expr_id])?;
282 |         }
283 |         Ok(())
284 |     }
285 |     macros::accept_id!();
286 | }
287 | 
288 | impl Node for InlineAssembly {
289 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
290 |         if visitor.visit_inline_assembly(self)? && self.ast.is_some() {
291 |             self.ast.as_ref().unwrap().accept(visitor)?;
292 |         }
293 |         visitor.end_visit_inline_assembly(self)
294 |     }
295 |     macros::accept_id!();
296 | }
297 | 
298 | impl Node for Break {
299 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
300 |         visitor.visit_break_statement(self)?;
301 |         visitor.end_visit_break_statement(self)
302 |     }
303 | 
304 |     macros::accept_id!();
305 | }
306 | 
307 | impl Node for Continue {
308 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
309 |         visitor.visit_continue_statement(self)?;
310 |         visitor.end_visit_continue_statement(self)
311 |     }
312 | 
313 |     macros::accept_id!();
314 | }
315 | 
316 | impl Node for PlaceholderStatement {
317 |     fn accept(&self, visitor: &mut impl ASTConstVisitor) -> Result<()> {
318 |         visitor.visit_placeholder_statement(self)?;
319 |         visitor.end_visit_placeholder_statement(self)
320 |     }
321 | 
322 |     macros::accept_id!();
323 | }
324 | 
```

--------------------------------------------------------------------------------
/benchmarks/unspecific-solidity-pragma/report/relative_pdf_small.svg:
--------------------------------------------------------------------------------

```
 1 | <svg width="450" height="300" viewBox="0 0 450 300" xmlns="http://www.w3.org/2000/svg">
 2 | <text x="15" y="130" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000" transform="rotate(270, 15, 130)">
 3 | Density (a.u.)
 4 | </text>
 5 | <text x="255" y="285" dy="-0.5ex" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
 6 | Average Time (µs)
 7 | </text>
 8 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="74,15 74,244 "/>
 9 | <text x="65" y="224" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
10 | 0.05
11 | </text>
12 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,224 74,224 "/>
13 | <text x="65" y="203" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
14 | 0.1
15 | </text>
16 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,203 74,203 "/>
17 | <text x="65" y="182" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
18 | 0.15
19 | </text>
20 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,182 74,182 "/>
21 | <text x="65" y="162" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
22 | 0.2
23 | </text>
24 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,162 74,162 "/>
25 | <text x="65" y="141" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
26 | 0.25
27 | </text>
28 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,141 74,141 "/>
29 | <text x="65" y="120" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
30 | 0.3
31 | </text>
32 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,120 74,120 "/>
33 | <text x="65" y="99" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
34 | 0.35
35 | </text>
36 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,99 74,99 "/>
37 | <text x="65" y="79" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
38 | 0.4
39 | </text>
40 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,79 74,79 "/>
41 | <text x="65" y="58" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
42 | 0.45
43 | </text>
44 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,58 74,58 "/>
45 | <text x="65" y="37" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
46 | 0.5
47 | </text>
48 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,37 74,37 "/>
49 | <text x="65" y="16" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
50 | 0.55
51 | </text>
52 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="69,16 74,16 "/>
53 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="75,245 434,245 "/>
54 | <text x="137" y="255" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55 | 15
56 | </text>
57 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="137,245 137,250 "/>
58 | <text x="291" y="255" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
59 | 20
60 | </text>
61 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="291,245 291,250 "/>
62 | <polygon opacity="0.5" fill="#E31A1C" points="75,244 75,244 76,244 77,244 77,244 78,244 79,244 80,244 80,244 81,244 82,244 82,244 83,244 84,244 85,244 85,244 86,244 87,244 87,244 88,244 89,244 90,244 90,244 91,243 92,243 92,243 93,243 94,243 95,243 95,243 96,243 97,242 98,242 98,242 99,242 100,242 100,242 101,241 102,241 103,241 103,241 104,240 105,240 105,240 106,239 107,239 108,239 108,238 109,238 110,237 110,237 111,236 112,236 113,235 113,235 114,234 115,234 116,233 116,233 117,232 118,231 118,230 119,230 120,229 121,228 121,227 122,226 123,226 123,225 124,224 125,223 126,222 126,221 127,220 128,219 128,217 129,216 130,215 131,214 131,213 132,211 133,210 133,209 134,207 135,206 136,204 136,203 137,201 138,200 139,198 139,197 140,195 141,193 141,192 142,190 143,188 144,187 144,185 145,183 146,181 146,179 147,178 148,176 149,174 149,172 150,170 151,168 151,166 152,165 153,163 154,161 154,159 155,157 156,155 157,153 157,152 158,150 159,148 159,146 160,145 161,143 162,141 162,140 163,138 164,137 164,135 165,134 166,133 167,131 167,130 168,129 169,128 169,127 170,126 171,125 172,124 172,124 173,123 174,122 175,122 175,122 176,121 177,121 177,121 178,121 179,121 180,121 180,121 181,122 182,122 182,122 183,123 184,124 185,124 185,125 186,126 187,127 187,128 188,129 189,130 190,131 190,132 191,133 192,135 192,136 193,137 194,139 195,140 195,142 196,143 197,145 198,146 198,148 199,149 200,151 200,152 201,154 202,155 203,157 203,158 204,160 205,161 205,163 206,164 207,165 208,167 208,168 209,169 210,171 210,172 211,173 212,174 213,175 213,176 214,177 215,178 216,179 216,180 217,181 218,182 218,183 219,183 220,184 221,185 221,185 222,186 223,187 223,187 224,188 225,188 226,188 226,189 227,189 228,190 228,190 229,190 230,190 231,191 231,191 232,191 233,191 233,191 234,192 235,192 236,192 236,192 237,192 238,192 239,193 239,193 240,193 241,193 241,193 242,193 243,193 244,193 244,194 245,194 246,194 246,194 247,194 248,194 249,194 249,195 250,195 251,195 251,195 252,195 253,196 254,196 254,196 255,196 256,197 257,197 257,197 258,197 259,198 259,198 260,198 261,199 262,199 262,199 263,199 264,200 264,200 265,201 266,201 267,201 267,202 268,202 269,202 269,203 270,203 271,203 272,204 272,204 273,205 274,205 275,205 275,206 276,206 277,207 277,207 278,208 279,208 280,208 280,209 281,209 282,210 282,210 283,210 284,211 285,211 285,212 286,212 287,213 287,213 288,213 289,214 290,214 290,215 291,215 292,215 292,216 293,216 294,217 295,217 295,217 296,218 297,218 298,219 298,219 299,219 300,220 300,220 301,220 302,221 303,221 303,221 304,222 305,222 305,222 306,223 307,223 308,223 308,224 309,224 310,224 310,225 311,225 312,225 313,225 313,226 314,226 315,226 316,226 316,227 317,227 318,227 318,227 319,228 320,228 321,228 321,228 322,229 323,229 323,229 324,229 325,230 326,230 326,230 327,230 328,230 328,231 329,231 330,231 331,231 331,232 332,232 333,232 333,232 334,232 335,233 336,233 336,233 337,233 338,234 339,234 339,234 340,234 341,234 341,235 342,235 343,235 344,235 344,236 345,236 346,236 346,236 347,236 348,237 349,237 349,237 350,237 351,237 351,237 352,238 353,238 354,238 354,238 355,238 356,238 357,239 357,239 358,239 359,239 359,239 360,239 361,239 362,240 362,240 363,240 364,240 364,240 365,240 366,240 367,240 367,240 368,241 369,241 369,241 370,241 371,241 372,241 372,241 373,241 374,241 375,241 375,241 376,241 377,242 377,242 378,242 379,242 380,242 380,242 381,242 382,242 382,242 383,242 384,242 385,242 385,242 386,243 387,243 387,243 388,243 389,243 390,243 390,243 391,243 392,243 392,243 393,243 394,243 395,243 395,243 396,243 397,243 398,243 398,244 399,244 400,244 400,244 401,244 402,244 403,244 403,244 404,244 405,244 405,244 406,244 407,244 408,244 408,244 409,244 410,244 410,244 411,244 412,244 413,244 413,244 414,244 415,244 416,244 416,244 417,244 418,244 418,244 419,244 420,244 421,244 421,244 422,244 423,244 423,244 424,244 425,244 426,244 426,244 427,244 428,244 428,244 429,244 430,244 431,244 431,244 432,244 433,244 434,244 434,244 75,244 "/>
63 | <polygon opacity="0.5" fill="#1F78B4" points="124,244 125,244 125,244 125,244 126,244 126,244 127,244 127,244 127,244 128,244 128,244 128,244 129,244 129,244 129,244 130,244 130,244 130,244 131,243 131,243 131,243 132,243 132,243 133,243 133,243 133,242 134,242 134,242 134,242 135,241 135,241 135,241 136,240 136,240 136,240 137,239 137,239 138,238 138,238 138,237 139,236 139,236 139,235 140,234 140,234 140,233 141,232 141,231 141,230 142,229 142,228 143,227 143,226 143,224 144,223 144,222 144,220 145,219 145,217 145,216 146,214 146,212 146,211 147,209 147,207 147,205 148,203 148,201 149,199 149,197 149,195 150,192 150,190 150,188 151,185 151,183 151,181 152,178 152,176 152,173 153,171 153,168 154,166 154,163 154,161 155,158 155,156 155,153 156,151 156,148 156,146 157,143 157,141 157,139 158,136 158,134 159,131 159,129 159,127 160,124 160,122 160,120 161,118 161,116 161,114 162,112 162,109 162,107 163,105 163,103 164,102 164,100 164,98 165,96 165,94 165,92 166,91 166,89 166,87 167,85 167,84 167,82 168,81 168,79 168,78 169,76 169,75 170,73 170,72 170,71 171,69 171,68 171,67 172,66 172,65 172,64 173,63 173,62 173,61 174,60 174,59 175,59 175,58 175,57 176,57 176,56 176,56 177,56 177,55 177,55 178,55 178,55 178,54 179,54 179,54 180,54 180,54 180,54 181,54 181,54 181,55 182,55 182,55 182,55 183,55 183,55 183,55 184,55 184,55 184,56 185,56 185,56 186,56 186,56 186,55 187,55 187,55 187,55 188,55 188,54 188,54 189,54 189,53 189,53 190,52 190,52 191,51 191,50 191,49 192,48 192,47 192,46 193,45 193,44 193,43 194,42 194,40 194,39 195,38 195,36 196,35 196,34 196,32 197,31 197,29 197,28 198,26 198,25 198,24 199,23 199,21 199,20 200,19 200,18 201,18 201,17 201,16 202,16 202,16 202,15 203,16 203,16 203,16 204,17 204,18 204,19 205,20 205,21 205,23 206,24 206,26 207,29 207,31 207,34 208,36 208,39 208,42 209,46 209,49 209,53 210,57 210,60 210,64 211,68 211,73 212,77 212,81 212,86 213,90 213,95 213,99 214,104 214,108 214,113 215,118 215,122 215,127 216,131 216,135 217,140 217,144 217,148 218,152 218,156 218,160 219,163 219,167 219,170 220,174 220,177 220,180 221,183 221,186 222,189 222,191 222,194 223,196 223,198 223,200 224,202 224,204 224,206 225,208 225,209 225,211 226,212 226,214 226,215 227,216 227,217 228,218 228,219 228,220 229,221 229,222 229,223 230,224 230,224 230,225 231,226 231,226 231,227 232,227 232,228 233,228 233,229 233,229 234,230 234,230 234,231 235,231 235,231 235,232 236,232 236,233 236,233 237,233 237,234 238,234 238,234 238,234 239,235 239,235 239,235 240,235 240,236 240,236 241,236 241,236 241,237 242,237 242,237 242,237 243,237 243,237 244,238 244,238 244,238 245,238 245,238 245,238 246,238 246,238 246,238 247,238 247,238 247,238 248,238 248,238 249,238 249,238 249,238 250,238 250,238 250,238 251,238 251,238 251,238 252,238 252,238 252,238 253,238 253,238 254,238 254,238 254,238 255,238 255,238 255,238 256,238 256,238 256,238 257,238 257,238 257,238 258,238 258,238 259,238 259,238 259,238 260,238 260,238 260,238 261,238 261,238 261,238 262,238 262,238 262,238 263,238 263,238 263,238 264,238 264,238 265,238 265,238 265,238 266,238 266,238 266,238 267,238 267,238 267,238 268,238 268,238 268,238 269,238 269,238 270,238 270,238 270,238 271,238 271,238 271,238 272,238 272,238 272,238 273,238 273,238 273,238 274,238 274,238 275,238 275,238 275,238 276,238 276,239 276,239 277,239 277,239 277,239 278,239 278,239 278,239 279,239 279,239 279,239 280,240 280,240 281,240 281,240 281,240 282,240 282,240 282,240 283,241 283,241 283,241 284,241 284,241 284,241 285,241 285,242 286,242 286,242 286,242 287,242 287,242 287,242 288,242 288,243 288,243 289,243 289,243 289,243 290,243 290,243 291,243 291,243 291,243 292,244 292,244 292,244 293,244 293,244 293,244 294,244 294,244 294,244 295,244 295,244 296,244 296,244 296,244 297,244 297,244 297,244 298,244 298,244 298,244 299,244 299,244 299,244 300,244 300,244 300,244 301,244 301,244 302,244 302,244 302,244 124,244 "/>
64 | <polyline fill="none" opacity="1" stroke="#E31A1C" stroke-width="2" points="208,245 208,168 "/>
65 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="2" points="190,245 190,53 "/>
66 | </svg>
67 | 
```

--------------------------------------------------------------------------------
/benchmarks/constants-instead-of-literals/report/change/mean.svg:
--------------------------------------------------------------------------------

```
 1 | <svg width="960" height="540" viewBox="0 0 960 540" xmlns="http://www.w3.org/2000/svg">
 2 | <text x="480" y="32" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="16.129032258064516" opacity="1" fill="#000000">
 3 | constants-instead-of-literals:mean
 4 | </text>
 5 | <text x="27" y="263" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000" transform="rotate(270, 27, 263)">
 6 | Density (a.u.)
 7 | </text>
 8 | <text x="510" y="513" dy="-0.5ex" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
 9 | Relative change (%)
10 | </text>
11 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="86,53 86,472 "/>
12 | <text x="77" y="421" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
13 | 5
14 | </text>
15 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,421 86,421 "/>
16 | <text x="77" y="343" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
17 | 10
18 | </text>
19 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,343 86,343 "/>
20 | <text x="77" y="265" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
21 | 15
22 | </text>
23 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,265 86,265 "/>
24 | <text x="77" y="188" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
25 | 20
26 | </text>
27 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,188 86,188 "/>
28 | <text x="77" y="110" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
29 | 25
30 | </text>
31 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,110 86,110 "/>
32 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
33 | <text x="157" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
34 | 0.23
35 | </text>
36 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="157,473 157,478 "/>
37 | <text x="287" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
38 | 0.24
39 | </text>
40 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="287,473 287,478 "/>
41 | <text x="417" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
42 | 0.25
43 | </text>
44 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="417,473 417,478 "/>
45 | <text x="548" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
46 | 0.26
47 | </text>
48 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="548,473 548,478 "/>
49 | <text x="678" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
50 | 0.27
51 | </text>
52 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="678,473 678,478 "/>
53 | <text x="808" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
54 | 0.28
55 | </text>
56 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="808,473 808,478 "/>
57 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,471 88,471 90,470 92,469 93,468 95,467 97,467 98,466 100,465 102,464 103,463 105,463 107,462 109,461 110,460 112,459 114,458 115,458 117,457 119,456 120,455 122,454 124,453 125,453 127,452 129,451 131,450 132,449 134,448 136,447 137,446 139,445 141,443 142,442 144,441 146,440 147,439 149,437 151,436 153,435 154,433 156,432 158,430 159,429 161,428 163,426 164,425 166,423 168,422 169,420 171,419 173,417 175,416 176,414 178,413 180,411 181,410 183,408 185,406 186,405 188,403 190,402 191,400 193,399 195,397 197,395 198,394 200,392 202,390 203,388 205,387 207,385 208,383 210,381 212,379 214,377 215,375 217,373 219,371 220,369 222,367 224,364 225,362 227,360 229,358 230,356 232,353 234,351 236,349 237,347 239,344 241,342 242,340 244,337 246,335 247,333 249,330 251,328 252,326 254,323 256,321 258,319 259,316 261,314 263,311 264,309 266,306 268,304 269,301 271,298 273,296 274,293 276,291 278,288 280,285 281,282 283,280 285,277 286,274 288,272 290,269 291,266 293,264 295,261 296,258 298,256 300,253 302,251 303,248 305,245 307,243 308,240 310,238 312,235 313,233 315,230 317,228 318,225 320,223 322,221 324,218 325,216 327,213 329,211 330,208 332,206 334,203 335,201 337,198 339,196 341,193 342,190 344,188 346,185 347,183 349,180 351,178 352,175 354,173 356,170 357,167 359,165 361,162 363,160 364,157 366,155 368,152 369,150 371,147 373,145 374,142 376,140 378,137 379,135 381,133 383,130 385,128 386,126 388,124 390,121 391,119 393,117 395,115 396,113 398,111 400,110 401,108 403,106 405,104 407,103 408,101 410,99 412,98 413,96 415,95 417,93 418,92 420,91 422,89 423,88 425,87 427,86 429,84 430,83 432,82 434,81 435,80 437,79 439,78 440,77 442,76 444,75 445,74 447,73 449,72 451,72 452,71 454,70 456,69 457,68 459,67 461,66 462,65 464,64 466,64 468,63 469,62 471,61 473,60 474,60 476,59 478,58 479,57 481,57 483,56 484,56 486,55 488,55 490,54 491,54 493,54 495,54 496,54 498,53 500,54 501,54 503,54 505,54 506,54 508,55 510,55 512,56 513,56 515,57 517,57 518,58 520,59 522,60 523,61 525,62 527,63 528,64 530,65 532,67 534,68 535,69 537,71 539,72 540,74 542,75 544,76 545,78 547,79 549,81 550,82 552,84 554,85 556,87 557,88 559,89 561,91 562,92 564,93 566,95 567,96 569,97 571,98 573,99 574,100 576,102 578,103 579,104 581,105 583,106 584,107 586,109 588,110 589,111 591,112 593,114 595,115 596,117 598,118 600,120 601,122 603,123 605,125 606,127 608,129 610,131 611,133 613,135 615,137 617,139 618,141 620,143 622,145 623,147 625,149 627,151 628,153 630,155 632,157 633,159 635,161 637,163 639,165 640,167 642,169 644,171 645,173 647,176 649,178 650,180 652,183 654,185 655,187 657,190 659,192 661,195 662,197 664,200 666,202 667,204 669,207 671,209 672,212 674,214 676,216 677,219 679,221 681,223 683,225 684,227 686,229 688,231 689,233 691,235 693,237 694,239 696,241 698,243 700,245 701,247 703,249 705,251 706,253 708,255 710,257 711,259 713,261 715,264 716,266 718,268 720,271 722,273 723,275 725,278 727,280 728,283 730,285 732,288 733,290 735,293 737,295 738,298 740,300 742,303 744,306 745,308 747,311 749,313 750,316 752,318 754,321 755,323 757,326 759,328 760,331 762,333 764,335 766,338 767,340 769,342 771,345 772,347 774,349 776,351 777,353 779,355 781,357 782,359 784,361 786,363 788,365 789,367 791,369 793,371 794,373 796,375 798,376 799,378 801,380 803,382 804,384 806,385 808,387 810,389 811,390 813,392 815,393 816,395 818,397 820,398 821,400 823,401 825,402 827,404 828,405 830,407 832,408 833,409 835,411 837,412 838,414 840,415 842,416 843,418 845,419 847,420 849,422 850,423 852,424 854,425 855,427 857,428 859,429 860,430 862,432 864,433 865,434 867,435 869,437 871,438 872,439 874,440 876,441 877,443 879,444 881,445 882,446 884,447 886,448 887,450 889,451 891,452 893,453 894,454 896,455 898,456 899,457 901,458 903,459 904,460 906,461 908,462 909,462 911,463 913,464 915,465 916,466 918,467 920,467 921,468 923,469 925,470 926,470 928,471 930,472 932,472 "/>
58 | <polygon opacity="0.25" fill="#1F78B4" points="164,425 166,423 168,422 169,420 171,419 173,417 175,416 176,414 178,413 180,411 181,410 183,408 185,406 186,405 188,403 190,402 191,400 193,399 195,397 197,395 198,394 200,392 202,390 203,388 205,387 207,385 208,383 210,381 212,379 214,377 215,375 217,373 219,371 220,369 222,367 224,364 225,362 227,360 229,358 230,356 232,353 234,351 236,349 237,347 239,344 241,342 242,340 244,337 246,335 247,333 249,330 251,328 252,326 254,323 256,321 258,319 259,316 261,314 263,311 264,309 266,306 268,304 269,301 271,298 273,296 274,293 276,291 278,288 280,285 281,282 283,280 285,277 286,274 288,272 290,269 291,266 293,264 295,261 296,258 298,256 300,253 302,251 303,248 305,245 307,243 308,240 310,238 312,235 313,233 315,230 317,228 318,225 320,223 322,221 324,218 325,216 327,213 329,211 330,208 332,206 334,203 335,201 337,198 339,196 341,193 342,190 344,188 346,185 347,183 349,180 351,178 352,175 354,173 356,170 357,167 359,165 361,162 363,160 364,157 366,155 368,152 369,150 371,147 373,145 374,142 376,140 378,137 379,135 381,133 383,130 385,128 386,126 388,124 390,121 391,119 393,117 395,115 396,113 398,111 400,110 401,108 403,106 405,104 407,103 408,101 410,99 412,98 413,96 415,95 417,93 418,92 420,91 422,89 423,88 425,87 427,86 429,84 430,83 432,82 434,81 435,80 437,79 439,78 440,77 442,76 444,75 445,74 447,73 449,72 451,72 452,71 454,70 456,69 457,68 459,67 461,66 462,65 464,64 466,64 468,63 469,62 471,61 473,60 474,60 476,59 478,58 479,57 481,57 483,56 484,56 486,55 488,55 490,54 491,54 493,54 495,54 496,54 498,53 500,54 501,54 503,54 505,54 506,54 508,55 510,55 512,56 513,56 515,57 517,57 518,58 520,59 522,60 523,61 525,62 527,63 528,64 530,65 532,67 534,68 535,69 537,71 539,72 540,74 542,75 544,76 545,78 547,79 549,81 550,82 552,84 554,85 556,87 557,88 559,89 561,91 562,92 564,93 566,95 567,96 569,97 571,98 573,99 574,100 576,102 578,103 579,104 581,105 583,106 584,107 586,109 588,110 589,111 591,112 593,114 595,115 596,117 598,118 600,120 601,122 603,123 605,125 606,127 608,129 610,131 611,133 613,135 615,137 617,139 618,141 620,143 622,145 623,147 625,149 627,151 628,153 630,155 632,157 633,159 635,161 637,163 639,165 640,167 642,169 644,171 645,173 647,176 649,178 650,180 652,183 654,185 655,187 657,190 659,192 661,195 662,197 664,200 666,202 667,204 669,207 671,209 672,212 674,214 676,216 677,219 679,221 681,223 683,225 684,227 686,229 688,231 689,233 691,235 693,237 694,239 696,241 698,243 700,245 701,247 703,249 705,251 706,253 708,255 710,257 711,259 713,261 715,264 716,266 718,268 720,271 722,273 723,275 725,278 727,280 728,283 730,285 732,288 733,290 735,293 737,295 738,298 740,300 742,303 744,306 745,308 747,311 749,313 750,316 752,318 754,321 755,323 757,326 759,328 760,331 762,333 764,335 766,338 767,340 769,342 771,345 772,347 774,349 776,351 777,353 779,355 781,357 782,359 784,361 786,363 788,365 789,367 791,369 793,371 794,373 796,375 798,376 799,378 801,380 803,382 804,384 806,385 808,387 810,389 811,390 813,392 815,393 816,395 818,397 820,398 821,400 823,401 825,402 827,404 828,405 830,407 832,408 833,409 835,411 837,412 838,414 840,415 842,416 843,418 845,419 847,420 849,422 850,423 852,424 852,473 164,473 "/>
59 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="490,473 490,54 "/>
60 | <rect x="509" y="53" width="0" height="419" opacity="0.1" fill="#E31A1C" stroke="none"/>
61 | <text x="798" y="68" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
62 | Bootstrap distribution
63 | </text>
64 | <text x="798" y="83" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
65 | Confidence interval
66 | </text>
67 | <text x="798" y="98" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
68 | Point estimate
69 | </text>
70 | <text x="798" y="113" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
71 | Noise threshold
72 | </text>
73 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,73 788,73 "/>
74 | <rect x="768" y="83" width="20" height="10" opacity="0.25" fill="#1F78B4" stroke="none"/>
75 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,103 788,103 "/>
76 | <rect x="768" y="113" width="20" height="10" opacity="0.25" fill="#E31A1C" stroke="none"/>
77 | </svg>
78 | 
```

--------------------------------------------------------------------------------
/benchmarks/push-zero-opcode/report/slope.svg:
--------------------------------------------------------------------------------

```
 1 | <svg width="960" height="540" viewBox="0 0 960 540" xmlns="http://www.w3.org/2000/svg">
 2 | <text x="480" y="32" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="16.129032258064516" opacity="1" fill="#000000">
 3 | push-zero-opcode:slope
 4 | </text>
 5 | <text x="27" y="263" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000" transform="rotate(270, 27, 263)">
 6 | Density (a.u.)
 7 | </text>
 8 | <text x="510" y="513" dy="-0.5ex" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
 9 | Average time (µs)
10 | </text>
11 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="86,53 86,472 "/>
12 | <text x="77" y="421" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
13 | 0.1
14 | </text>
15 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,421 86,421 "/>
16 | <text x="77" y="362" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
17 | 0.2
18 | </text>
19 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,362 86,362 "/>
20 | <text x="77" y="303" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
21 | 0.3
22 | </text>
23 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,303 86,303 "/>
24 | <text x="77" y="244" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
25 | 0.4
26 | </text>
27 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,244 86,244 "/>
28 | <text x="77" y="186" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
29 | 0.5
30 | </text>
31 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,186 86,186 "/>
32 | <text x="77" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
33 | 0.6
34 | </text>
35 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,127 86,127 "/>
36 | <text x="77" y="68" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
37 | 0.7
38 | </text>
39 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,68 86,68 "/>
40 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
41 | <text x="221" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
42 | 41.5
43 | </text>
44 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="221,473 221,478 "/>
45 | <text x="367" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
46 | 42
47 | </text>
48 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="367,473 367,478 "/>
49 | <text x="513" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
50 | 42.5
51 | </text>
52 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="513,473 513,478 "/>
53 | <text x="659" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
54 | 43
55 | </text>
56 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="659,473 659,478 "/>
57 | <text x="805" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
58 | 43.5
59 | </text>
60 | <polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="805,473 805,478 "/>
61 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,472 88,472 90,471 92,470 93,469 95,467 97,466 98,465 100,463 102,462 103,460 105,458 107,456 109,454 110,452 112,450 114,448 115,445 117,443 119,440 120,437 122,434 124,431 125,427 127,424 129,420 131,417 132,413 134,409 136,405 137,401 139,396 141,392 142,388 144,383 146,379 147,374 149,369 151,364 153,360 154,355 156,350 158,345 159,340 161,336 163,331 164,326 166,321 168,317 169,312 171,308 173,303 175,299 176,295 178,291 180,287 181,284 183,280 185,277 186,273 188,270 190,267 191,265 193,262 195,260 197,258 198,256 200,254 202,252 203,251 205,249 207,248 208,247 210,246 212,245 214,244 215,243 217,242 219,241 220,241 222,240 224,239 225,239 227,238 229,237 230,237 232,236 234,235 236,234 237,233 239,233 241,232 242,231 244,230 246,229 247,227 249,226 251,225 252,223 254,222 256,220 258,219 259,217 261,215 263,213 264,211 266,209 268,207 269,205 271,203 273,200 274,198 276,195 278,193 280,190 281,187 283,185 285,182 286,179 288,176 290,174 291,171 293,168 295,165 296,162 298,160 300,157 302,154 303,151 305,149 307,146 308,144 310,141 312,138 313,136 315,134 317,131 318,129 320,127 322,124 324,122 325,120 327,118 329,116 330,114 332,112 334,110 335,109 337,107 339,105 341,104 342,103 344,101 346,100 347,99 349,98 351,97 352,96 354,96 356,95 357,95 359,94 361,94 363,93 364,93 366,93 368,93 369,92 371,92 373,92 374,92 376,92 378,92 379,92 381,93 383,93 385,93 386,93 388,94 390,94 391,94 393,95 395,95 396,96 398,97 400,97 401,98 403,99 405,100 407,101 408,102 410,103 412,104 413,105 415,106 417,107 418,108 420,109 422,110 423,111 425,112 427,113 429,114 430,115 432,116 434,117 435,118 437,118 439,119 440,120 442,121 444,122 445,123 447,123 449,124 451,125 452,126 454,127 456,128 457,129 459,129 461,130 462,131 464,132 466,134 468,135 469,136 471,137 473,138 474,139 476,141 478,142 479,143 481,145 483,146 484,147 486,149 488,150 490,151 491,153 493,154 495,155 496,157 498,158 500,159 501,160 503,162 505,163 506,164 508,166 510,167 512,168 513,170 515,171 517,172 518,174 520,175 522,177 523,178 525,180 527,181 528,183 530,185 532,186 534,188 535,190 537,191 539,193 540,195 542,197 544,198 545,200 547,202 549,204 550,206 552,208 554,209 556,211 557,213 559,215 561,217 562,219 564,220 566,222 567,224 569,226 571,228 573,229 574,231 576,233 578,235 579,237 581,239 583,240 584,242 586,244 588,246 589,247 591,249 593,251 595,253 596,255 598,256 600,258 601,260 603,262 605,263 606,265 608,267 610,268 611,270 613,272 615,273 617,275 618,277 620,278 622,280 623,282 625,284 627,285 628,287 630,289 632,291 633,292 635,294 637,296 639,298 640,299 642,301 644,303 645,305 647,306 649,308 650,310 652,311 654,313 655,315 657,316 659,318 661,320 662,321 664,323 666,324 667,326 669,327 671,329 672,330 674,332 676,333 677,335 679,337 681,338 683,340 684,341 686,343 688,344 689,346 691,347 693,348 694,350 696,351 698,353 700,354 701,355 703,357 705,358 706,359 708,360 710,362 711,363 713,364 715,365 716,366 718,367 720,368 722,369 723,370 725,371 727,372 728,373 730,374 732,375 733,376 735,377 737,378 738,379 740,380 742,381 744,382 745,383 747,384 749,385 750,387 752,388 754,389 755,390 757,391 759,392 760,393 762,395 764,396 766,397 767,398 769,399 771,400 772,401 774,402 776,404 777,405 779,406 781,407 782,408 784,409 786,410 788,411 789,411 791,412 793,413 794,414 796,415 798,416 799,417 801,417 803,418 804,419 806,420 808,421 810,421 811,422 813,423 815,424 816,424 818,425 820,426 821,426 823,427 825,428 827,428 828,429 830,429 832,430 833,431 835,431 837,432 838,433 840,433 842,434 843,434 845,435 847,436 849,436 850,437 852,437 854,438 855,439 857,439 859,440 860,440 862,441 864,441 865,442 867,443 869,443 871,444 872,444 874,445 876,445 877,446 879,446 881,447 882,447 884,448 886,448 887,449 889,449 891,450 893,450 894,451 896,451 898,452 899,452 901,453 903,453 904,454 906,454 908,455 909,455 911,455 913,456 915,456 916,456 918,457 920,457 921,458 923,458 925,458 926,459 928,459 930,459 932,460 "/>
62 | <polygon opacity="0.25" fill="#1F78B4" points="164,326 166,321 168,317 169,312 171,308 173,303 175,299 176,295 178,291 180,287 181,284 183,280 185,277 186,273 188,270 190,267 191,265 193,262 195,260 197,258 198,256 200,254 202,252 203,251 205,249 207,248 208,247 210,246 212,245 214,244 215,243 217,242 219,241 220,241 222,240 224,239 225,239 227,238 229,237 230,237 232,236 234,235 236,234 237,233 239,233 241,232 242,231 244,230 246,229 247,227 249,226 251,225 252,223 254,222 256,220 258,219 259,217 261,215 263,213 264,211 266,209 268,207 269,205 271,203 273,200 274,198 276,195 278,193 280,190 281,187 283,185 285,182 286,179 288,176 290,174 291,171 293,168 295,165 296,162 298,160 300,157 302,154 303,151 305,149 307,146 308,144 310,141 312,138 313,136 315,134 317,131 318,129 320,127 322,124 324,122 325,120 327,118 329,116 330,114 332,112 334,110 335,109 337,107 339,105 341,104 342,103 344,101 346,100 347,99 349,98 351,97 352,96 354,96 356,95 357,95 359,94 361,94 363,93 364,93 366,93 368,93 369,92 371,92 373,92 374,92 376,92 378,92 379,92 381,93 383,93 385,93 386,93 388,94 390,94 391,94 393,95 395,95 396,96 398,97 400,97 401,98 403,99 405,100 407,101 408,102 410,103 412,104 413,105 415,106 417,107 418,108 420,109 422,110 423,111 425,112 427,113 429,114 430,115 432,116 434,117 435,118 437,118 439,119 440,120 442,121 444,122 445,123 447,123 449,124 451,125 452,126 454,127 456,128 457,129 459,129 461,130 462,131 464,132 466,134 468,135 469,136 471,137 473,138 474,139 476,141 478,142 479,143 481,145 483,146 484,147 486,149 488,150 490,151 491,153 493,154 495,155 496,157 498,158 500,159 501,160 503,162 505,163 506,164 508,166 510,167 512,168 513,170 515,171 517,172 518,174 520,175 522,177 523,178 525,180 527,181 528,183 530,185 532,186 534,188 535,190 537,191 539,193 540,195 542,197 544,198 545,200 547,202 549,204 550,206 552,208 554,209 556,211 557,213 559,215 561,217 562,219 564,220 566,222 567,224 569,226 571,228 573,229 574,231 576,233 578,235 579,237 581,239 583,240 584,242 586,244 588,246 589,247 591,249 593,251 595,253 596,255 598,256 600,258 601,260 603,262 605,263 606,265 608,267 610,268 611,270 613,272 615,273 617,275 618,277 620,278 622,280 623,282 625,284 627,285 628,287 630,289 632,291 633,292 635,294 637,296 639,298 640,299 642,301 644,303 645,305 647,306 649,308 650,310 652,311 654,313 655,315 657,316 659,318 661,320 662,321 664,323 666,324 667,326 669,327 671,329 672,330 674,332 676,333 677,335 679,337 681,338 683,340 684,341 686,343 688,344 689,346 691,347 693,348 694,350 696,351 698,353 700,354 701,355 703,357 705,358 706,359 708,360 710,362 711,363 713,364 715,365 716,366 718,367 720,368 722,369 723,370 725,371 727,372 728,373 730,374 732,375 733,376 735,377 737,378 738,379 740,380 742,381 744,382 745,383 747,384 749,385 750,387 752,388 754,389 755,390 757,391 759,392 760,393 762,395 764,396 766,397 767,398 769,399 771,400 772,401 774,402 776,404 777,405 779,406 781,407 782,408 784,409 786,410 788,411 789,411 791,412 793,413 794,414 796,415 798,416 799,417 801,417 803,418 804,419 806,420 808,421 810,421 811,422 813,423 815,424 816,424 818,425 820,426 821,426 823,427 825,428 827,428 828,429 830,429 832,430 833,431 835,431 837,432 838,433 840,433 842,434 843,434 845,435 847,436 849,436 850,437 852,437 852,473 164,473 "/>
63 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="448,473 448,124 "/>
64 | <text x="798" y="68" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
65 | Bootstrap distribution
66 | </text>
67 | <text x="798" y="83" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
68 | Confidence interval
69 | </text>
70 | <text x="798" y="98" dy="0.76em" text-anchor="start" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
71 | Point estimate
72 | </text>
73 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,73 788,73 "/>
74 | <rect x="768" y="83" width="20" height="10" opacity="0.25" fill="#1F78B4" stroke="none"/>
75 | <polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="768,103 788,103 "/>
76 | </svg>
77 | 
```
Page 31/103FirstPrevNextLast