#
tokens: 49584/50000 6/1140 files (page 68/94)
lines: off (toggle) GitHub
raw markdown copy
This is page 68 of 94. Use http://codebase.md/cyfrin/aderyn?lines=false&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/arbitrary-transfer-from/report/change/median.svg:
--------------------------------------------------------------------------------

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

```

--------------------------------------------------------------------------------
/aderyn_core/templates/mcp-tool-response/tool_guide.md:
--------------------------------------------------------------------------------

```markdown
## Tool Guide

### Preface:
This guide will first introduce essential terminology for the whole interface. Later, some general approaches with examples will be provided followed by tool call strategies that other LLMs have used to improve the quality of the answers that were provided to the user. It is assumed that you are already well versed with Solidity programming and other blockchain concepts to follow along. The hope is that after learning and following the guide, you will follow it diligently and if warranted, even come up with your own strategies to answer complex problems that the user may have.

-----

### Table of Contents:

#### 1. Glossary of terms:
  - **Solc**
  - **Compilation unit**
  - **Compilation unit index**
  - **Contract class**
  - **Included file**
  - **Node ID**
  - **Problem**
  - **Callgraph**

#### 2. General approaches:
  - **Chain of thought**
  - **Fast search**
  - **Hybrid search**

#### 3. Tool call strategies:
  - **Scenario 1**
  - **Scenario 2**
------

### 1. Glossary of terms

#### **Solc**

Solc is the official Solidity compiler. Each release is a new version. The pragma header at the beginning of the Solidity program dictates whether or not a given version of Solc can compile it.

#### **Compilation unit**

A compilation unit is a set of files that can all be compiled with the same version of a Solc compiler. A project can have multiple of these compilation units. This is largely determined by the version header ex - `pragma version ^0.8`. This version string is present at the beginning of every Solidity file. The important thing to note is that a file can be part of 1 or more compilation units. This is usually the library contracts because they are meant to support multiple versions of regular smart contracts.

To understand this simply, let's say hypothetically there exists the following set of files:
- A.sol : pragma version 0.8.5
- B.sol : pragma version 0.8.10
- Lib.sol : pragma version ^0.8.0

Say both A.sol and B.sol import Lib.sol.

In the above example, we can say there are 2 compilation units: The first one contains A.sol and Lib.sol (Solc version 0.8.5), the second one contains B.sol and Lib.sol (Solc version 0.8.10). Note that Lib.sol is a floating pragma, therefore it can compile with both Solc versions.

It is also not true that all the files in a given compilation unit are inter-dependent. There could be many independently operating sets of files within a compilation unit.

#### **Contract class**

In a Solidity codebase, every contract, abstract contract, or interface you write in source code is a contract class - a definition that describes state and behaviour but does not yet exist on-chain. Only non-abstract contract classes (i.e. concrete implementations) are deployable contract classes: they compile to bytecode that can be deployed and become a smart contract instance at an address. Abstract contracts and interfaces are still contract classes but serve purely as blueprints or type definitions; they cannot be deployed directly.

Note - When we say just contracts, it usually means deployable contract classes. For example the list contracts tool, as evident from its name, only lists deployable contract classes. Same way, the inspect contract surface tool only inspects deployable contract classes.

#### **Compilation unit index**

If there are N compilation units, the compilation unit index is a number to uniquely identify a compilation unit. Index counting starts from 1. For example, if there are 4 compilation units, possible values for compilation unit index are 1, 2, 3, and 4.

#### **Included file**

Included files are files that are in scope for issue reporting. The user decides this and also the framework used has a large say in this. Resolution of included files is already done and provided by Aderyn's project overview MCP tool. Typically that's the first tool to reach out for, before starting any analysis.

Note that files that are not included are typically dependencies of included files (like third-party libraries) which may need to be examined if warranted, but there is no requirement to report on any issues in these files.

#### **Node ID**

A node is an element in the Abstract Syntax Tree (AST) representation of a Solidity program. Each node can be uniquely identified within a given compilation unit by its Node ID - a unique identifier that serves as a reference to that specific AST element.

Node IDs are commonly required as arguments when calling MCP tools for detailed analysis. These identifiers are typically obtained from initial discovery tools (like node finder or list contracts) and then passed to other tools (like node summarizer or contract surface area inspector) to get detailed information about specific nodes.

*Key point*: Node IDs are scoped to their compilation unit - the same Node ID may refer to different nodes in different compilation units.

Also note that Node IDs are integers and can therefore be positive and negative

#### **Problem**

Problem refers to the user's request or query to the LLM. This could range from simple tasks like identifying specific code patterns or finding particular contract features, to complex analysis requirements such as tracing transaction flows or evaluating security criteria across multiple contracts.

#### **Callgraph**

In the context of Aderyn's MCP tools, a callgraph is defined for a deployable contract class (or) let's just say a contract, where in a nodes are function or modifiers, and edges are function calls or modifier calls. To be more precise, the callgraph only represents JUMP opcode relations. This is in contrast to outbound contract calls which corresponds to CALL / DELEGATECALL / STATICCALL opcodes which are NOT a part of the callgraph.

**Important:** The callgraph provider tool shows only a focused subgraph from one specific entrypoint function, not the complete contract callgraph.

**Example:**
If a contract has 3 public functions (entrypoints A, B, C), the complete callgraph would show all three starting points. But if you call the callgraph provider tool with entrypoint A, you only get:
- Node A and everything A can call
- You do NOT get nodes B, C or their call chains (unless A happens to call them)

This is how the callgraph was created in Aderyn as claimed in the blog post written by the author:

```blog
#### Preparing call graphs
The first step is to extract all deployable contracts in a project, that is, fully implemented, non-abstract contracts.

A separate call graph for each contract was generated. If a function node is reused across contract classes, it will show up in multiple graphs. (Example - function node defined in a parent contract class which has 2 or more children inheriting from it) The duplication is intentional and necessary, since the same code in the function node can behave differently depending on where it’s called from. This has to do with function overriding and method resolution order during contract linearization.

For each contract, start by identifying the entry points: public and external functions defined in the contract or inherited from parent contracts. These are inserted into a worklist.

We go through each function in the worklist step by step, following the chain of calls within that function as far as it goes before moving on to the next one. This helps us build the full picture of how all functions connect.

For every function in the worklist, we extract its inbound calls and resolve each one to its definition using Aderyn's router. We then draw an edge in the callgraph from  the calling function node to the target function or modifier node.

Each resolved target, whether a function or a modifier, is pushed back into the worklist for further exploration. This continues until all the function and modifier nodes reachable from the contract’s entrypoints have been visited.

Side note: A worklist is a continuously updated list that contains all the subtasks that the algorithm must complete. These can be added to or removed from the list during the execution of the algorithm itself. Typically the algorithm runs until the worklist becomes empty.
```

----

### 2. General approaches:

Based on the problem, determine a good approach to reach the desired result while keeping the user satisfied.

#### **Chain of thought**

This approach is preferred when the user's query requires a deep understanding of transaction flow and callgraphs to provide an accurate result. Typically, there can be multiple tool calls, and we get to the answer slowly.

Think deeply and make a step-by-step plan to identify the solution of the given problem. The key here is to understand all of Aderyn's MCP tools provided to you and learn to best leverage them to get accurate results. Gather all the necessary data first before making a judgment about the end result.

#### **Fast search**

This approach is for simple problems that focus on the static nature of written contract code. Prefer calling simpler tools like node finder tools or the node summarizer tools for this as there is no need to understand the whole context of surrounding code to determine the answer to these problems. An example would be - are there events that don't have any field indexed? OR What contracts have a dependency on OpenZeppelin?

#### **Hybrid search**

This approach combines both of the above approaches. Start off with chain of thought and then occasionally during the process use the fast search approach to quickly gather information about certain nodes to make decisions.

Lastly, please be careful in making plans. You don't have to stick to the above search models for all problems. Maybe for some problems, you get the answer sooner or you'll have to make a decision that varies slightly. If not sure, please follow the general approaches above, you should get to a decent state.

Note: If a user has already specified a plan of steps specified in the problem and if that plan is more robust than the one you come up with after reading this guide, and so you think the results are better off, feel free to follow the user's search method. You can always supplement the techniques mentioned below.

Note: Please note that if there are unsatisfactory results with one of the search models, give a try with the other strategy as a backup because chances are for some older versions of Solidity, the tools related to entrypoint and callgraph tracing in chain of thought approach may not work as well. Then you may have to resort to using node finders.

----

### 3. Tool call strategies:

**Scenario 1**

- *Given: Issue criteria that require understanding of the full surface area and interaction of a smart contract*
- *Goal: Find code that matches said criteria (if any)*

**Steps:**
1. First, use the project overview tool to see all the compilation units.
2. Analyses must operate on each compilation unit.
3. Start by calling the list contracts tool to enlist the contracts in a compilation unit.
4. Use the contract surface area inspection tool on the contracts of interest (stick to contracts in included files only). This reveals methods, state variables, etc. that the contract inherits from its parent contracts, third-party libraries, as well as the various library contracts that it makes internal calls to, and more. It also exposes entrypoint functions in the contract.
5. Use the callgraph provider tool to gauge the different functions and modifiers within the contract that could be called as a result of executing a given entrypoint function in a contract. Lookup the callgraph using the entrypoint function. While it is true that a callgraph is defined for a contract, the callgraph provider tool works slightly differently in the sense that it only exposes the portion of the callgraph of the contract that is reachable from the given entrypoint function.
6. Now, use the node summarizer tools to look inside these functions and modifiers. These tools will also output code snippets, so carefully use all the information gathered and evaluate it against the issue criteria. Report matches if found in included files.

#### Notes:

- The node summarizer tools provide a summary of just that node. There is no intelligence in them to perform resolutions of any kind that were not already present in the AST. All that to say, if there is an internal function call, the callgraph provider would help to resolve these to function definitions and modifier definitions. Later the node summarizer tools would help in looking inside.

- It is also noteworthy that the callgraph does not contain edges to external calls made. If there is a requirement to analyze that, then make a guess of the external contract that is being called to and re-use some of the methods described above on those contracts to gather full overview. Although, that's a very advanced use case, you might have to sometimes go through that.

- At every step see if you can eliminate the number of things to check based on the intuition developed over the years of auditing smart contracts. But don't force yourself if unsure.

**Scenario 2**

- *Given: Issue criteria that are focused on simpler static checks like basic code patterns*
- *Goal: Find code that matches said criteria (if any)*

**Steps:**
1. First, use the project overview tool to see all the compilation units.
2. Analyses must operate on each compilation unit.
3. Use the node finder tools to enlist the nodes of a certain type that are relevant to the problem at hand.
4. Now, use the node summarizer tools to look inside these nodes. These tools will also output code snippets, so carefully use all the information gathered and evaluate it against the issue criteria. Report matches if found in included files.


----

```

--------------------------------------------------------------------------------
/benchmarks/inconsistent-type-names/report/change/mean.svg:
--------------------------------------------------------------------------------

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

```

--------------------------------------------------------------------------------
/benchmarks/avoid-abi-encode-packed/report/slope.svg:
--------------------------------------------------------------------------------

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

```

--------------------------------------------------------------------------------
/benchmarks/avoid-abi-encode-packed/report/typical.svg:
--------------------------------------------------------------------------------

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

```

--------------------------------------------------------------------------------
/benchmarks/ecrecover/report/change/mean.svg:
--------------------------------------------------------------------------------

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

```
Page 68/94FirstPrevNextLast