This is page 48 of 94. Use http://codebase.md/cyfrin/aderyn?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/large-numeric-literal/report/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">
large-numeric-literal: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">
Average time (µs)
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="86,53 86,472 "/>
<text x="77" y="432" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.5
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,432 86,432 "/>
<text x="77" y="383" 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,383 86,383 "/>
<text x="77" y="334" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
1.5
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,334 86,334 "/>
<text x="77" y="285" 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,285 86,285 "/>
<text x="77" y="236" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
2.5
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,236 86,236 "/>
<text x="77" y="187" 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,187 86,187 "/>
<text x="77" y="138" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
3.5
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,138 86,138 "/>
<text x="77" y="89" 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,89 86,89 "/>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
<text x="159" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.3
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="159,473 159,478 "/>
<text x="278" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.4
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="278,473 278,478 "/>
<text x="397" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.5
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="397,473 397,478 "/>
<text x="516" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.6
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="516,473 516,478 "/>
<text x="635" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.7
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="635,473 635,478 "/>
<text x="754" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.8
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="754,473 754,478 "/>
<text x="873" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
55.9
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="873,473 873,478 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,459 88,458 90,457 92,457 93,456 95,455 97,455 98,454 100,454 102,453 103,453 105,453 107,453 109,453 110,453 112,453 114,453 115,453 117,453 119,454 120,454 122,454 124,454 125,455 127,455 129,455 131,455 132,456 134,456 136,456 137,456 139,456 141,456 142,455 144,455 146,455 147,455 149,455 151,454 153,454 154,453 156,453 158,452 159,452 161,451 163,450 164,450 166,449 168,448 169,446 171,445 173,443 175,441 176,439 178,437 180,434 181,432 183,429 185,425 186,422 188,418 190,414 191,410 193,405 195,401 197,396 198,391 200,387 202,382 203,377 205,372 207,368 208,363 210,359 212,356 214,352 215,349 217,346 219,343 220,341 222,340 224,338 225,337 227,337 229,337 230,337 232,338 234,338 236,340 237,341 239,342 241,344 242,346 244,347 246,349 247,351 249,352 251,354 252,355 254,357 256,358 258,359 259,360 261,360 263,361 264,361 266,361 268,361 269,361 271,360 273,359 274,359 276,358 278,357 280,355 281,354 283,352 285,351 286,349 288,347 290,345 291,343 293,340 295,338 296,335 298,332 300,329 302,326 303,322 305,319 307,315 308,310 310,306 312,301 313,295 315,290 317,284 318,278 320,271 322,264 324,257 325,249 327,241 329,233 330,225 332,216 334,208 335,199 337,190 339,181 341,173 342,164 344,156 346,148 347,140 349,133 351,126 352,119 354,114 356,109 357,104 359,100 361,97 363,95 364,93 366,92 368,92 369,93 371,94 373,96 374,99 376,102 378,106 379,111 381,116 383,122 385,128 386,135 388,142 390,150 391,158 393,167 395,176 396,185 398,195 400,205 401,215 403,225 405,235 407,246 408,256 410,266 412,277 413,286 415,296 417,305 418,314 420,322 422,330 423,337 425,344 427,350 429,355 430,359 432,363 434,366 435,368 437,370 439,371 440,372 442,372 444,372 445,371 447,370 449,369 451,368 452,367 454,365 456,364 457,363 459,362 461,361 462,360 464,360 466,359 468,359 469,360 471,360 473,361 474,361 476,362 478,363 479,364 481,365 483,367 484,368 486,368 488,369 490,370 491,371 493,371 495,371 496,371 498,371 500,371 501,371 503,371 505,370 506,370 508,369 510,368 512,368 513,367 515,366 517,366 518,365 520,365 522,364 523,364 525,363 527,362 528,362 530,361 532,360 534,360 535,359 537,358 539,357 540,356 542,354 544,353 545,352 547,350 549,348 550,347 552,345 554,343 556,341 557,339 559,337 561,335 562,333 564,331 566,329 567,327 569,324 571,322 573,319 574,317 576,314 578,311 579,309 581,306 583,303 584,301 586,298 588,296 589,293 591,291 593,290 595,288 596,287 598,287 600,287 601,287 603,288 605,290 606,291 608,294 610,297 611,300 613,304 615,308 617,312 618,316 620,321 622,325 623,330 625,334 627,338 628,342 630,346 632,349 633,352 635,355 637,357 639,359 640,360 642,361 644,362 645,362 647,362 649,362 650,362 652,362 654,362 655,361 657,361 659,361 661,361 662,361 664,362 666,362 667,363 669,363 671,364 672,365 674,365 676,366 677,367 679,367 681,368 683,368 684,368 686,368 688,367 689,366 691,365 693,363 694,362 696,360 698,357 700,355 701,352 703,350 705,347 706,344 708,342 710,339 711,337 713,334 715,332 716,331 718,329 720,328 722,327 723,326 725,326 727,326 728,326 730,327 732,328 733,329 735,330 737,331 738,332 740,334 742,335 744,336 745,338 747,339 749,340 750,341 752,342 754,343 755,343 757,344 759,344 760,344 762,344 764,344 766,344 767,343 769,342 771,341 772,340 774,338 776,336 777,334 779,332 781,330 782,328 784,325 786,322 788,319 789,317 791,314 793,311 794,308 796,306 798,303 799,301 801,299 803,298 804,296 806,295 808,295 810,294 811,295 813,295 815,296 816,297 818,299 820,301 821,303 823,305 825,308 827,311 828,314 830,317 832,321 833,324 835,328 837,331 838,335 840,339 842,343 843,346 845,350 847,354 849,358 850,362 852,366 854,370 855,374 857,378 859,382 860,386 862,390 864,394 865,398 867,402 869,406 871,410 872,414 874,417 876,421 877,425 879,428 881,431 882,435 884,438 886,440 887,443 889,446 891,448 893,450 894,453 896,454 898,456 899,458 901,459 903,461 904,462 906,463 908,464 909,465 911,466 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,450 166,449 168,448 169,446 171,445 173,443 175,441 176,439 178,437 180,434 181,432 183,429 185,425 186,422 188,418 190,414 191,410 193,405 195,401 197,396 198,391 200,387 202,382 203,377 205,372 207,368 208,363 210,359 212,356 214,352 215,349 217,346 219,343 220,341 222,340 224,338 225,337 227,337 229,337 230,337 232,338 234,338 236,340 237,341 239,342 241,344 242,346 244,347 246,349 247,351 249,352 251,354 252,355 254,357 256,358 258,359 259,360 261,360 263,361 264,361 266,361 268,361 269,361 271,360 273,359 274,359 276,358 278,357 280,355 281,354 283,352 285,351 286,349 288,347 290,345 291,343 293,340 295,338 296,335 298,332 300,329 302,326 303,322 305,319 307,315 308,310 310,306 312,301 313,295 315,290 317,284 318,278 320,271 322,264 324,257 325,249 327,241 329,233 330,225 332,216 334,208 335,199 337,190 339,181 341,173 342,164 344,156 346,148 347,140 349,133 351,126 352,119 354,114 356,109 357,104 359,100 361,97 363,95 364,93 366,92 368,92 369,93 371,94 373,96 374,99 376,102 378,106 379,111 381,116 383,122 385,128 386,135 388,142 390,150 391,158 393,167 395,176 396,185 398,195 400,205 401,215 403,225 405,235 407,246 408,256 410,266 412,277 413,286 415,296 417,305 418,314 420,322 422,330 423,337 425,344 427,350 429,355 430,359 432,363 434,366 435,368 437,370 439,371 440,372 442,372 444,372 445,371 447,370 449,369 451,368 452,367 454,365 456,364 457,363 459,362 461,361 462,360 464,360 466,359 468,359 469,360 471,360 473,361 474,361 476,362 478,363 479,364 481,365 483,367 484,368 486,368 488,369 490,370 491,371 493,371 495,371 496,371 498,371 500,371 501,371 503,371 505,370 506,370 508,369 510,368 512,368 513,367 515,366 517,366 518,365 520,365 522,364 523,364 525,363 527,362 528,362 530,361 532,360 534,360 535,359 537,358 539,357 540,356 542,354 544,353 545,352 547,350 549,348 550,347 552,345 554,343 556,341 557,339 559,337 561,335 562,333 564,331 566,329 567,327 569,324 571,322 573,319 574,317 576,314 578,311 579,309 581,306 583,303 584,301 586,298 588,296 589,293 591,291 593,290 595,288 596,287 598,287 600,287 601,287 603,288 605,290 606,291 608,294 610,297 611,300 613,304 615,308 617,312 618,316 620,321 622,325 623,330 625,334 627,338 628,342 630,346 632,349 633,352 635,355 637,357 639,359 640,360 642,361 644,362 645,362 647,362 649,362 650,362 652,362 654,362 655,361 657,361 659,361 661,361 662,361 664,362 666,362 667,363 669,363 671,364 672,365 674,365 676,366 677,367 679,367 681,368 683,368 684,368 686,368 688,367 689,366 691,365 693,363 694,362 696,360 698,357 700,355 701,352 703,350 705,347 706,344 708,342 710,339 711,337 713,334 715,332 716,331 718,329 720,328 722,327 723,326 725,326 727,326 728,326 730,327 732,328 733,329 735,330 737,331 738,332 740,334 742,335 744,336 745,338 747,339 749,340 750,341 752,342 754,343 755,343 757,344 759,344 760,344 762,344 764,344 766,344 767,343 769,342 771,341 772,340 774,338 776,336 777,334 779,332 781,330 782,328 784,325 786,322 788,319 789,317 791,314 793,311 794,308 796,306 798,303 799,301 801,299 803,298 804,296 806,295 808,295 810,294 811,295 813,295 815,296 816,297 818,299 820,301 821,303 823,305 825,308 827,311 828,314 830,317 832,321 833,324 835,328 837,331 838,335 840,339 842,343 843,346 845,350 847,354 849,358 850,362 852,366 852,473 164,473 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="466,473 466,359 "/>
<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/zero-address-check/report/MAD.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">
zero-address-check:MAD
</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="396" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.05
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,396 86,396 "/>
<text x="77" y="311" dy="0.5ex" text-anchor="end" 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="81,311 86,311 "/>
<text x="77" y="226" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.15
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,226 86,226 "/>
<text x="77" y="142" dy="0.5ex" text-anchor="end" 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="81,142 86,142 "/>
<text x="77" y="57" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.25
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,57 86,57 "/>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
<text x="156" y="483" dy="0.76em" text-anchor="middle" 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="156,473 156,478 "/>
<text x="238" y="483" dy="0.76em" text-anchor="middle" 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="238,473 238,478 "/>
<text x="321" y="483" dy="0.76em" text-anchor="middle" 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="321,473 321,478 "/>
<text x="403" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
13
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="403,473 403,478 "/>
<text x="485" y="483" dy="0.76em" text-anchor="middle" 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="485,473 485,478 "/>
<text x="567" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
15
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="567,473 567,478 "/>
<text x="650" y="483" dy="0.76em" text-anchor="middle" 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="650,473 650,478 "/>
<text x="732" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
17
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="732,473 732,478 "/>
<text x="814" y="483" dy="0.76em" text-anchor="middle" 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="814,473 814,478 "/>
<text x="896" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
19
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="896,473 896,478 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,472 88,472 90,471 92,471 93,470 95,469 97,468 98,467 100,466 102,465 103,463 105,462 107,461 109,459 110,457 112,456 114,454 115,452 117,450 119,448 120,445 122,443 124,440 125,438 127,435 129,433 131,430 132,427 134,424 136,421 137,418 139,415 141,412 142,409 144,406 146,403 147,399 149,396 151,393 153,389 154,386 156,382 158,378 159,375 161,371 163,367 164,363 166,359 168,356 169,352 171,348 173,344 175,341 176,337 178,333 180,330 181,327 183,323 185,320 186,317 188,314 190,311 191,308 193,306 195,303 197,301 198,299 200,297 202,295 203,293 205,291 207,290 208,288 210,287 212,286 214,285 215,284 217,283 219,283 220,282 222,282 224,282 225,283 227,283 229,284 230,285 232,286 234,287 236,289 237,290 239,292 241,294 242,296 244,298 246,300 247,302 249,304 251,306 252,307 254,309 256,310 258,311 259,312 261,312 263,313 264,313 266,312 268,311 269,310 271,309 273,307 274,305 276,302 278,300 280,296 281,293 283,290 285,286 286,282 288,278 290,273 291,269 293,264 295,260 296,256 298,251 300,247 302,243 303,239 305,236 307,233 308,230 310,227 312,225 313,223 315,222 317,220 318,220 320,219 322,219 324,219 325,219 327,219 329,219 330,220 332,220 334,220 335,220 337,221 339,220 341,220 342,220 344,219 346,218 347,217 349,215 351,214 352,212 354,210 356,208 357,205 359,203 361,200 363,197 364,194 366,191 368,188 369,185 371,181 373,178 374,175 376,172 378,168 379,165 381,162 383,158 385,155 386,152 388,149 390,146 391,143 393,141 395,138 396,136 398,134 400,132 401,130 403,129 405,127 407,126 408,125 410,124 412,124 413,123 415,123 417,123 418,122 420,122 422,122 423,122 425,121 427,121 429,120 430,119 432,118 434,117 435,116 437,114 439,112 440,110 442,108 444,106 445,104 447,102 449,100 451,99 452,97 454,95 456,94 457,93 459,93 461,92 462,92 464,93 466,93 468,95 469,96 471,98 473,100 474,103 476,106 478,109 479,112 481,116 483,121 484,125 486,130 488,136 490,141 491,147 493,153 495,159 496,166 498,172 500,179 501,185 503,192 505,198 506,205 508,211 510,216 512,222 513,227 515,232 517,237 518,241 520,245 522,249 523,252 525,255 527,257 528,260 530,262 532,264 534,265 535,267 537,269 539,270 540,272 542,273 544,274 545,276 547,277 549,279 550,280 552,282 554,284 556,285 557,287 559,289 561,291 562,293 564,295 566,298 567,300 569,302 571,305 573,307 574,309 576,312 578,314 579,316 581,319 583,321 584,323 586,325 588,327 589,329 591,330 593,332 595,334 596,335 598,336 600,337 601,339 603,340 605,341 606,342 608,343 610,343 611,344 613,345 615,346 617,346 618,347 620,348 622,348 623,349 625,350 627,351 628,351 630,352 632,353 633,354 635,355 637,356 639,357 640,359 642,360 644,361 645,363 647,364 649,366 650,367 652,369 654,371 655,372 657,373 659,375 661,376 662,377 664,377 666,378 667,378 669,378 671,378 672,378 674,377 676,376 677,375 679,374 681,372 683,371 684,369 686,367 688,365 689,364 691,362 693,360 694,359 696,357 698,356 700,355 701,355 703,354 705,354 706,354 708,354 710,355 711,355 713,356 715,357 716,358 718,359 720,361 722,363 723,364 725,366 727,368 728,370 730,372 732,374 733,376 735,379 737,381 738,383 740,386 742,388 744,391 745,394 747,396 749,399 750,401 752,404 754,407 755,409 757,412 759,414 760,416 762,418 764,420 766,422 767,424 769,426 771,427 772,429 774,430 776,431 777,432 779,433 781,433 782,434 784,434 786,435 788,435 789,435 791,435 793,435 794,435 796,435 798,435 799,435 801,435 803,435 804,435 806,435 808,435 810,435 811,435 813,435 815,436 816,436 818,437 820,437 821,438 823,438 825,439 827,439 828,440 830,441 832,441 833,442 835,443 837,443 838,444 840,445 842,445 843,446 845,446 847,447 849,447 850,448 852,448 854,449 855,449 857,450 859,450 860,451 862,451 864,452 865,452 867,452 869,453 871,453 872,454 874,454 876,454 877,454 879,454 881,454 882,454 884,454 886,454 887,454 889,454 891,454 893,453 894,453 896,453 898,452 899,452 901,451 903,451 904,450 906,450 908,449 909,449 911,449 913,448 915,448 916,448 918,448 920,448 921,448 923,448 925,449 926,449 928,450 930,450 932,451 "/>
<polygon opacity="0.25" fill="#1F78B4" points="164,363 166,359 168,356 169,352 171,348 173,344 175,341 176,337 178,333 180,330 181,327 183,323 185,320 186,317 188,314 190,311 191,308 193,306 195,303 197,301 198,299 200,297 202,295 203,293 205,291 207,290 208,288 210,287 212,286 214,285 215,284 217,283 219,283 220,282 222,282 224,282 225,283 227,283 229,284 230,285 232,286 234,287 236,289 237,290 239,292 241,294 242,296 244,298 246,300 247,302 249,304 251,306 252,307 254,309 256,310 258,311 259,312 261,312 263,313 264,313 266,312 268,311 269,310 271,309 273,307 274,305 276,302 278,300 280,296 281,293 283,290 285,286 286,282 288,278 290,273 291,269 293,264 295,260 296,256 298,251 300,247 302,243 303,239 305,236 307,233 308,230 310,227 312,225 313,223 315,222 317,220 318,220 320,219 322,219 324,219 325,219 327,219 329,219 330,220 332,220 334,220 335,220 337,221 339,220 341,220 342,220 344,219 346,218 347,217 349,215 351,214 352,212 354,210 356,208 357,205 359,203 361,200 363,197 364,194 366,191 368,188 369,185 371,181 373,178 374,175 376,172 378,168 379,165 381,162 383,158 385,155 386,152 388,149 390,146 391,143 393,141 395,138 396,136 398,134 400,132 401,130 403,129 405,127 407,126 408,125 410,124 412,124 413,123 415,123 417,123 418,122 420,122 422,122 423,122 425,121 427,121 429,120 430,119 432,118 434,117 435,116 437,114 439,112 440,110 442,108 444,106 445,104 447,102 449,100 451,99 452,97 454,95 456,94 457,93 459,93 461,92 462,92 464,93 466,93 468,95 469,96 471,98 473,100 474,103 476,106 478,109 479,112 481,116 483,121 484,125 486,130 488,136 490,141 491,147 493,153 495,159 496,166 498,172 500,179 501,185 503,192 505,198 506,205 508,211 510,216 512,222 513,227 515,232 517,237 518,241 520,245 522,249 523,252 525,255 527,257 528,260 530,262 532,264 534,265 535,267 537,269 539,270 540,272 542,273 544,274 545,276 547,277 549,279 550,280 552,282 554,284 556,285 557,287 559,289 561,291 562,293 564,295 566,298 567,300 569,302 571,305 573,307 574,309 576,312 578,314 579,316 581,319 583,321 584,323 586,325 588,327 589,329 591,330 593,332 595,334 596,335 598,336 600,337 601,339 603,340 605,341 606,342 608,343 610,343 611,344 613,345 615,346 617,346 618,347 620,348 622,348 623,349 625,350 627,351 628,351 630,352 632,353 633,354 635,355 637,356 639,357 640,359 642,360 644,361 645,363 647,364 649,366 650,367 652,369 654,371 655,372 657,373 659,375 661,376 662,377 664,377 666,378 667,378 669,378 671,378 672,378 674,377 676,376 677,375 679,374 681,372 683,371 684,369 686,367 688,365 689,364 691,362 693,360 694,359 696,357 698,356 700,355 701,355 703,354 705,354 706,354 708,354 710,355 711,355 713,356 715,357 716,358 718,359 720,361 722,363 723,364 725,366 727,368 728,370 730,372 732,374 733,376 735,379 737,381 738,383 740,386 742,388 744,391 745,394 747,396 749,399 750,401 752,404 754,407 755,409 757,412 759,414 760,416 762,418 764,420 766,422 767,424 769,426 771,427 772,429 774,430 776,431 777,432 779,433 781,433 782,434 784,434 786,435 788,435 789,435 791,435 793,435 794,435 796,435 798,435 799,435 801,435 803,435 804,435 806,435 808,435 810,435 811,435 813,435 815,436 816,436 818,437 820,437 821,438 823,438 825,439 827,439 828,440 830,441 832,441 833,442 835,443 837,443 838,444 840,445 842,445 843,446 845,446 847,447 849,447 850,448 852,448 852,473 164,473 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="512,473 512,224 "/>
<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/inconsistent-type-names/report/MAD.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:MAD
</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="440" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.002
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,440 86,440 "/>
<text x="77" y="390" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.004
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,390 86,390 "/>
<text x="77" y="341" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.006
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,341 86,341 "/>
<text x="77" y="291" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.008
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,291 86,291 "/>
<text x="77" y="242" dy="0.5ex" text-anchor="end" 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="81,242 86,242 "/>
<text x="77" y="192" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.012
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,192 86,192 "/>
<text x="77" y="142" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.014
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,142 86,142 "/>
<text x="77" y="93" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.016
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,93 86,93 "/>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
<text x="122" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
140
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="122,473 122,478 "/>
<text x="252" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
160
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="252,473 252,478 "/>
<text x="382" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
180
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="382,473 382,478 "/>
<text x="512" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
200
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="512,473 512,478 "/>
<text x="642" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
220
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="642,473 642,478 "/>
<text x="773" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
240
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="773,473 773,478 "/>
<text x="903" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
260
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="903,473 903,478 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,468 88,468 90,468 92,467 93,467 95,467 97,467 98,467 100,466 102,466 103,466 105,466 107,465 109,465 110,465 112,464 114,464 115,464 117,463 119,463 120,463 122,462 124,462 125,461 127,461 129,460 131,460 132,459 134,458 136,458 137,457 139,457 141,456 142,455 144,454 146,454 147,453 149,452 151,452 153,451 154,450 156,449 158,448 159,448 161,447 163,446 164,445 166,444 168,443 169,442 171,441 173,439 175,438 176,437 178,435 180,434 181,433 183,431 185,430 186,428 188,427 190,426 191,424 193,423 195,421 197,420 198,419 200,418 202,416 203,415 205,414 207,413 208,412 210,411 212,410 214,409 215,408 217,407 219,405 220,404 222,403 224,402 225,401 227,399 229,398 230,397 232,395 234,394 236,392 237,391 239,389 241,387 242,386 244,384 246,382 247,380 249,378 251,375 252,373 254,370 256,368 258,365 259,362 261,359 263,356 264,352 266,349 268,345 269,342 271,338 273,334 274,330 276,327 278,323 280,319 281,315 283,312 285,308 286,304 288,300 290,297 291,293 293,289 295,285 296,282 298,278 300,274 302,270 303,266 305,261 307,257 308,253 310,249 312,244 313,240 315,236 317,232 318,228 320,224 322,220 324,216 325,213 327,209 329,206 330,202 332,199 334,196 335,193 337,190 339,187 341,184 342,181 344,178 346,174 347,171 349,168 351,164 352,161 354,158 356,154 357,151 359,148 361,145 363,142 364,139 366,136 368,134 369,132 371,130 373,128 374,126 376,125 378,123 379,122 381,120 383,119 385,117 386,115 388,114 390,112 391,110 393,109 395,107 396,105 398,103 400,101 401,100 403,98 405,97 407,96 408,95 410,94 412,93 413,93 415,93 417,94 418,94 420,95 422,96 423,98 425,99 427,101 429,103 430,105 432,108 434,110 435,113 437,116 439,119 440,121 442,124 444,127 445,130 447,133 449,136 451,138 452,141 454,143 456,145 457,147 459,149 461,150 462,151 464,152 466,153 468,153 469,153 471,153 473,152 474,151 476,151 478,150 479,149 481,148 483,147 484,146 486,145 488,145 490,144 491,144 493,145 495,146 496,147 498,148 500,150 501,153 503,156 505,159 506,162 508,166 510,170 512,174 513,179 515,183 517,187 518,192 520,196 522,199 523,203 525,206 527,209 528,212 530,214 532,215 534,216 535,216 537,216 539,216 540,215 542,213 544,211 545,209 547,206 549,203 550,200 552,196 554,193 556,189 557,185 559,181 561,177 562,173 564,170 566,167 567,164 569,161 571,159 573,157 574,156 576,155 578,155 579,155 581,156 583,158 584,160 586,163 588,166 589,170 591,175 593,180 595,185 596,190 598,196 600,202 601,207 603,213 605,219 606,225 608,230 610,235 611,240 613,244 615,248 617,251 618,254 620,256 622,258 623,260 625,261 627,261 628,261 630,261 632,261 633,260 635,259 637,258 639,256 640,255 642,253 644,252 645,250 647,249 649,248 650,247 652,246 654,245 655,244 657,244 659,244 661,244 662,245 664,246 666,247 667,249 669,250 671,253 672,255 674,258 676,261 677,264 679,267 681,270 683,274 684,277 686,281 688,284 689,288 691,291 693,295 694,298 696,301 698,303 700,306 701,309 703,311 705,313 706,315 708,316 710,318 711,320 713,321 715,323 716,324 718,326 720,327 722,329 723,331 725,333 727,335 728,337 730,339 732,341 733,343 735,346 737,348 738,350 740,353 742,355 744,357 745,359 747,361 749,363 750,365 752,366 754,368 755,370 757,371 759,373 760,374 762,375 764,377 766,378 767,379 769,380 771,381 772,382 774,384 776,385 777,386 779,387 781,388 782,390 784,391 786,392 788,393 789,395 791,396 793,398 794,399 796,400 798,402 799,403 801,404 803,406 804,407 806,408 808,410 810,411 811,412 813,413 815,414 816,415 818,416 820,418 821,419 823,420 825,421 827,422 828,423 830,424 832,425 833,426 835,427 837,428 838,429 840,430 842,431 843,432 845,433 847,434 849,435 850,436 852,437 854,437 855,438 857,439 859,440 860,441 862,442 864,443 865,444 867,445 869,446 871,447 872,448 874,449 876,450 877,451 879,453 881,454 882,455 884,456 886,457 887,458 889,459 891,460 893,461 894,461 896,462 898,463 899,464 901,465 903,465 904,466 906,467 908,467 909,468 911,468 913,469 915,469 916,470 918,470 920,471 921,471 923,471 925,472 926,472 928,472 930,472 932,472 "/>
<polygon opacity="0.25" fill="#1F78B4" points="164,445 166,444 168,443 169,442 171,441 173,439 175,438 176,437 178,435 180,434 181,433 183,431 185,430 186,428 188,427 190,426 191,424 193,423 195,421 197,420 198,419 200,418 202,416 203,415 205,414 207,413 208,412 210,411 212,410 214,409 215,408 217,407 219,405 220,404 222,403 224,402 225,401 227,399 229,398 230,397 232,395 234,394 236,392 237,391 239,389 241,387 242,386 244,384 246,382 247,380 249,378 251,375 252,373 254,370 256,368 258,365 259,362 261,359 263,356 264,352 266,349 268,345 269,342 271,338 273,334 274,330 276,327 278,323 280,319 281,315 283,312 285,308 286,304 288,300 290,297 291,293 293,289 295,285 296,282 298,278 300,274 302,270 303,266 305,261 307,257 308,253 310,249 312,244 313,240 315,236 317,232 318,228 320,224 322,220 324,216 325,213 327,209 329,206 330,202 332,199 334,196 335,193 337,190 339,187 341,184 342,181 344,178 346,174 347,171 349,168 351,164 352,161 354,158 356,154 357,151 359,148 361,145 363,142 364,139 366,136 368,134 369,132 371,130 373,128 374,126 376,125 378,123 379,122 381,120 383,119 385,117 386,115 388,114 390,112 391,110 393,109 395,107 396,105 398,103 400,101 401,100 403,98 405,97 407,96 408,95 410,94 412,93 413,93 415,93 417,94 418,94 420,95 422,96 423,98 425,99 427,101 429,103 430,105 432,108 434,110 435,113 437,116 439,119 440,121 442,124 444,127 445,130 447,133 449,136 451,138 452,141 454,143 456,145 457,147 459,149 461,150 462,151 464,152 466,153 468,153 469,153 471,153 473,152 474,151 476,151 478,150 479,149 481,148 483,147 484,146 486,145 488,145 490,144 491,144 493,145 495,146 496,147 498,148 500,150 501,153 503,156 505,159 506,162 508,166 510,170 512,174 513,179 515,183 517,187 518,192 520,196 522,199 523,203 525,206 527,209 528,212 530,214 532,215 534,216 535,216 537,216 539,216 540,215 542,213 544,211 545,209 547,206 549,203 550,200 552,196 554,193 556,189 557,185 559,181 561,177 562,173 564,170 566,167 567,164 569,161 571,159 573,157 574,156 576,155 578,155 579,155 581,156 583,158 584,160 586,163 588,166 589,170 591,175 593,180 595,185 596,190 598,196 600,202 601,207 603,213 605,219 606,225 608,230 610,235 611,240 613,244 615,248 617,251 618,254 620,256 622,258 623,260 625,261 627,261 628,261 630,261 632,261 633,260 635,259 637,258 639,256 640,255 642,253 644,252 645,250 647,249 649,248 650,247 652,246 654,245 655,244 657,244 659,244 661,244 662,245 664,246 666,247 667,249 669,250 671,253 672,255 674,258 676,261 677,264 679,267 681,270 683,274 684,277 686,281 688,284 689,288 691,291 693,295 694,298 696,301 698,303 700,306 701,309 703,311 705,313 706,315 708,316 710,318 711,320 713,321 715,323 716,324 718,326 720,327 722,329 723,331 725,333 727,335 728,337 730,339 732,341 733,343 735,346 737,348 738,350 740,353 742,355 744,357 745,359 747,361 749,363 750,365 752,366 754,368 755,370 757,371 759,373 760,374 762,375 764,377 766,378 767,379 769,380 771,381 772,382 774,384 776,385 777,386 779,387 781,388 782,390 784,391 786,392 788,393 789,395 791,396 793,398 794,399 796,400 798,402 799,403 801,404 803,406 804,407 806,408 808,410 810,411 811,412 813,413 815,414 816,415 818,416 820,418 821,419 823,420 825,421 827,422 828,423 830,424 832,425 833,426 835,427 837,428 838,429 840,430 842,431 843,432 845,433 847,434 849,435 850,436 852,437 852,473 164,473 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="510,473 510,170 "/>
<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>
```
--------------------------------------------------------------------------------
/reports/prb-math-report.md:
--------------------------------------------------------------------------------
```markdown
# Aderyn Analysis Report
This report was generated by [Aderyn](https://github.com/Cyfrin/aderyn), a static analysis tool built by [Cyfrin](https://cyfrin.io), a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities.
# Table of Contents
- [Summary](#summary)
- [Files Summary](#files-summary)
- [Files Details](#files-details)
- [Issue Summary](#issue-summary)
- [High Issues](#high-issues)
- [H-1: Unsafe Casting of integers](#h-1-unsafe-casting-of-integers)
- [H-2: Incorrect use of caret operator](#h-2-incorrect-use-of-caret-operator)
- [Low Issues](#low-issues)
- [L-1: Unspecific Solidity Pragma](#l-1-unspecific-solidity-pragma)
- [L-2: Large Numeric Literal](#l-2-large-numeric-literal)
- [L-3: Internal Function Used Only Once](#l-3-internal-function-used-only-once)
- [L-4: Unused Import](#l-4-unused-import)
# Summary
## Files Summary
| Key | Value |
| --- | --- |
| .sol Files | 30 |
| Total nSLOC | 1829 |
## Files Details
| Filepath | nSLOC |
| --- | --- |
| src/Common.sol | 411 |
| src/SD1x18.sol | 5 |
| src/SD59x18.sol | 8 |
| src/UD2x18.sol | 5 |
| src/UD60x18.sol | 8 |
| src/casting/Uint128.sol | 29 |
| src/casting/Uint256.sol | 34 |
| src/casting/Uint40.sol | 19 |
| src/sd1x18/Casting.sol | 57 |
| src/sd1x18/Constants.sol | 10 |
| src/sd1x18/Errors.sol | 8 |
| src/sd1x18/ValueType.sol | 12 |
| src/sd59x18/Casting.sol | 78 |
| src/sd59x18/Constants.sol | 31 |
| src/sd59x18/Conversions.sol | 18 |
| src/sd59x18/Errors.sol | 29 |
| src/sd59x18/Helpers.sol | 72 |
| src/sd59x18/Math.sol | 355 |
| src/sd59x18/ValueType.sol | 73 |
| src/ud2x18/Casting.sol | 43 |
| src/ud2x18/Constants.sol | 8 |
| src/ud2x18/Errors.sol | 4 |
| src/ud2x18/ValueType.sol | 12 |
| src/ud60x18/Casting.sol | 60 |
| src/ud60x18/Constants.sol | 23 |
| src/ud60x18/Conversions.sol | 15 |
| src/ud60x18/Errors.sol | 14 |
| src/ud60x18/Helpers.sol | 64 |
| src/ud60x18/Math.sol | 255 |
| src/ud60x18/ValueType.sol | 69 |
| **Total** | **1829** |
## Issue Summary
| Category | No. of Issues |
| --- | --- |
| High | 2 |
| Low | 4 |
# High Issues
## H-1: Unsafe Casting of integers
Downcasting int/uints in Solidity can be unsafe due to the potential for data loss and unintended behavior.When downcasting a larger integer type to a smaller one (e.g., uint256 to uint128), the value may exceed the range of the target type,leading to truncation and loss of significant digits. Use OpenZeppelin's SafeCast library to safely downcast integers.
<details><summary>6 Found Instances</summary>
- Found in src/sd59x18/Casting.sol [Line: 31](../tests/prb-math/src/sd59x18/Casting.sol#L31)
```solidity
result = SD1x18.wrap(int64(xInt));
```
- Found in src/ud2x18/Casting.sol [Line: 54](../tests/prb-math/src/ud2x18/Casting.sol#L54)
```solidity
result = uint40(xUint);
```
- Found in src/ud60x18/Casting.sol [Line: 22](../tests/prb-math/src/ud60x18/Casting.sol#L22)
```solidity
result = SD1x18.wrap(int64(uint64(xUint)));
```
- Found in src/ud60x18/Casting.sol [Line: 33](../tests/prb-math/src/ud60x18/Casting.sol#L33)
```solidity
result = UD2x18.wrap(uint64(xUint));
```
- Found in src/ud60x18/Casting.sol [Line: 61](../tests/prb-math/src/ud60x18/Casting.sol#L61)
```solidity
result = uint128(xUint);
```
- Found in src/ud60x18/Casting.sol [Line: 72](../tests/prb-math/src/ud60x18/Casting.sol#L72)
```solidity
result = uint40(xUint);
```
</details>
## H-2: Incorrect use of caret operator
The caret operator is usually mistakenly thought of as an exponentiation operator but actually, it's a bitwise xor operator.
<details><summary>1 Found Instances</summary>
- Found in src/Common.sol [Line: 452](../tests/prb-math/src/Common.sol#L452)
```solidity
uint256 inverse = (3 * denominator) ^ 2;
```
</details>
# Low Issues
## L-1: Unspecific Solidity Pragma
Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of `pragma solidity ^0.8.0;`, use `pragma solidity 0.8.0;`
<details><summary>27 Found Instances</summary>
- Found in src/Common.sol [Line: 2](../tests/prb-math/src/Common.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/SD1x18.sol [Line: 2](../tests/prb-math/src/SD1x18.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/SD59x18.sol [Line: 2](../tests/prb-math/src/SD59x18.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/UD2x18.sol [Line: 2](../tests/prb-math/src/UD2x18.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/UD60x18.sol [Line: 2](../tests/prb-math/src/UD60x18.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd1x18/Casting.sol [Line: 2](../tests/prb-math/src/sd1x18/Casting.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd1x18/Constants.sol [Line: 2](../tests/prb-math/src/sd1x18/Constants.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd1x18/Errors.sol [Line: 2](../tests/prb-math/src/sd1x18/Errors.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd1x18/ValueType.sol [Line: 2](../tests/prb-math/src/sd1x18/ValueType.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/Casting.sol [Line: 2](../tests/prb-math/src/sd59x18/Casting.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/Constants.sol [Line: 2](../tests/prb-math/src/sd59x18/Constants.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/Conversions.sol [Line: 2](../tests/prb-math/src/sd59x18/Conversions.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/Errors.sol [Line: 2](../tests/prb-math/src/sd59x18/Errors.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/Helpers.sol [Line: 2](../tests/prb-math/src/sd59x18/Helpers.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/Math.sol [Line: 2](../tests/prb-math/src/sd59x18/Math.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/sd59x18/ValueType.sol [Line: 2](../tests/prb-math/src/sd59x18/ValueType.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud2x18/Casting.sol [Line: 2](../tests/prb-math/src/ud2x18/Casting.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud2x18/Constants.sol [Line: 2](../tests/prb-math/src/ud2x18/Constants.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud2x18/Errors.sol [Line: 2](../tests/prb-math/src/ud2x18/Errors.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud2x18/ValueType.sol [Line: 2](../tests/prb-math/src/ud2x18/ValueType.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/Casting.sol [Line: 2](../tests/prb-math/src/ud60x18/Casting.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/Constants.sol [Line: 2](../tests/prb-math/src/ud60x18/Constants.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/Conversions.sol [Line: 2](../tests/prb-math/src/ud60x18/Conversions.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/Errors.sol [Line: 2](../tests/prb-math/src/ud60x18/Errors.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/Helpers.sol [Line: 2](../tests/prb-math/src/ud60x18/Helpers.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/Math.sol [Line: 2](../tests/prb-math/src/ud60x18/Math.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
- Found in src/ud60x18/ValueType.sol [Line: 2](../tests/prb-math/src/ud60x18/ValueType.sol#L2)
```solidity
pragma solidity >=0.8.19;
```
</details>
## L-2: Large Numeric Literal
Large literal values multiples of 10000 can be replaced with scientific notation.Use `e` notation, for example: `1e18`, instead of its full numeric value.
<details><summary>3 Found Instances</summary>
- Found in src/sd59x18/Constants.sol [Line: 44](../tests/prb-math/src/sd59x18/Constants.sol#L44)
```solidity
int256 constant uMAX_WHOLE_SD59x18 = 57896044618658097711785492504343953926634992332820282019728_000000000000000000;
```
- Found in src/sd59x18/Constants.sol [Line: 52](../tests/prb-math/src/sd59x18/Constants.sol#L52)
```solidity
int256 constant uMIN_WHOLE_SD59x18 = -57896044618658097711785492504343953926634992332820282019728_000000000000000000;
```
- Found in src/ud60x18/Constants.sol [Line: 36](../tests/prb-math/src/ud60x18/Constants.sol#L36)
```solidity
uint256 constant uMAX_WHOLE_UD60x18 = 115792089237316195423570985008687907853269984665640564039457_000000000000000000;
```
</details>
## L-3: Internal Function Used Only Once
Instead of separating the logic into a separate function, consider inlining the logic into the calling function. This can reduce the number of function calls and improve readability.
<details><summary>3 Found Instances</summary>
- Found in src/Common.sol [Line: 387](../tests/prb-math/src/Common.sol#L387)
```solidity
function mulDiv(uint256 x, uint256 y, uint256 denominator) pure returns (uint256 result) {
```
- Found in src/sd59x18/Math.sol [Line: 34](../tests/prb-math/src/sd59x18/Math.sol#L34)
```solidity
function abs(SD59x18 x) pure returns (SD59x18 result) {
```
- Found in src/sd59x18/Math.sol [Line: 557](../tests/prb-math/src/sd59x18/Math.sol#L557)
```solidity
function mul(SD59x18 x, SD59x18 y) pure returns (SD59x18 result) {
```
</details>
## L-4: Unused Import
Redundant import statement. Consider removing it.
<details><summary>22 Found Instances</summary>
- Found in src/SD1x18.sol [Line: 22](../tests/prb-math/src/SD1x18.sol#L22)
```solidity
import "./sd1x18/Casting.sol";
```
- Found in src/SD1x18.sol [Line: 23](../tests/prb-math/src/SD1x18.sol#L23)
```solidity
import "./sd1x18/Constants.sol";
```
- Found in src/SD1x18.sol [Line: 24](../tests/prb-math/src/SD1x18.sol#L24)
```solidity
import "./sd1x18/Errors.sol";
```
- Found in src/SD1x18.sol [Line: 25](../tests/prb-math/src/SD1x18.sol#L25)
```solidity
import "./sd1x18/ValueType.sol";
```
- Found in src/SD59x18.sol [Line: 22](../tests/prb-math/src/SD59x18.sol#L22)
```solidity
import "./sd59x18/Casting.sol";
```
- Found in src/SD59x18.sol [Line: 23](../tests/prb-math/src/SD59x18.sol#L23)
```solidity
import "./sd59x18/Constants.sol";
```
- Found in src/SD59x18.sol [Line: 24](../tests/prb-math/src/SD59x18.sol#L24)
```solidity
import "./sd59x18/Conversions.sol";
```
- Found in src/SD59x18.sol [Line: 25](../tests/prb-math/src/SD59x18.sol#L25)
```solidity
import "./sd59x18/Errors.sol";
```
- Found in src/SD59x18.sol [Line: 26](../tests/prb-math/src/SD59x18.sol#L26)
```solidity
import "./sd59x18/Helpers.sol";
```
- Found in src/SD59x18.sol [Line: 27](../tests/prb-math/src/SD59x18.sol#L27)
```solidity
import "./sd59x18/Math.sol";
```
- Found in src/SD59x18.sol [Line: 28](../tests/prb-math/src/SD59x18.sol#L28)
```solidity
import "./sd59x18/ValueType.sol";
```
- Found in src/UD2x18.sol [Line: 22](../tests/prb-math/src/UD2x18.sol#L22)
```solidity
import "./ud2x18/Casting.sol";
```
- Found in src/UD2x18.sol [Line: 23](../tests/prb-math/src/UD2x18.sol#L23)
```solidity
import "./ud2x18/Constants.sol";
```
- Found in src/UD2x18.sol [Line: 24](../tests/prb-math/src/UD2x18.sol#L24)
```solidity
import "./ud2x18/Errors.sol";
```
- Found in src/UD2x18.sol [Line: 25](../tests/prb-math/src/UD2x18.sol#L25)
```solidity
import "./ud2x18/ValueType.sol";
```
- Found in src/UD60x18.sol [Line: 22](../tests/prb-math/src/UD60x18.sol#L22)
```solidity
import "./ud60x18/Casting.sol";
```
- Found in src/UD60x18.sol [Line: 23](../tests/prb-math/src/UD60x18.sol#L23)
```solidity
import "./ud60x18/Constants.sol";
```
- Found in src/UD60x18.sol [Line: 24](../tests/prb-math/src/UD60x18.sol#L24)
```solidity
import "./ud60x18/Conversions.sol";
```
- Found in src/UD60x18.sol [Line: 25](../tests/prb-math/src/UD60x18.sol#L25)
```solidity
import "./ud60x18/Errors.sol";
```
- Found in src/UD60x18.sol [Line: 26](../tests/prb-math/src/UD60x18.sol#L26)
```solidity
import "./ud60x18/Helpers.sol";
```
- Found in src/UD60x18.sol [Line: 27](../tests/prb-math/src/UD60x18.sol#L27)
```solidity
import "./ud60x18/Math.sol";
```
- Found in src/UD60x18.sol [Line: 28](../tests/prb-math/src/UD60x18.sol#L28)
```solidity
import "./ud60x18/ValueType.sol";
```
</details>
```
--------------------------------------------------------------------------------
/benchmarks/ecrecover/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">
ecrecover: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="413" 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,413 86,413 "/>
<text x="77" y="341" 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,341 86,341 "/>
<text x="77" y="269" 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,269 86,269 "/>
<text x="77" y="198" 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,198 86,198 "/>
<text x="77" y="126" 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,126 86,126 "/>
<text x="77" y="54" 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,54 86,54 "/>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
<text x="155" 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="155,473 155,478 "/>
<text x="265" 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="265,473 265,478 "/>
<text x="374" 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="374,473 374,478 "/>
<text x="483" 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="483,473 483,478 "/>
<text x="592" 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="592,473 592,478 "/>
<text x="701" 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="701,473 701,478 "/>
<text x="810" 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="810,473 810,478 "/>
<text x="919" 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="919,473 919,478 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,469 88,469 90,469 92,469 93,470 95,470 97,470 98,470 100,471 102,471 103,471 105,471 107,472 109,472 110,472 112,472 114,472 115,472 117,472 119,472 120,472 122,472 124,472 125,472 127,472 129,472 131,472 132,472 134,472 136,472 137,472 139,471 141,471 142,471 144,471 146,471 147,470 149,470 151,470 153,469 154,469 156,469 158,468 159,468 161,468 163,467 164,467 166,466 168,466 169,465 171,464 173,464 175,463 176,462 178,461 180,461 181,460 183,459 185,458 186,457 188,456 190,455 191,454 193,453 195,452 197,451 198,451 200,450 202,449 203,448 205,447 207,447 208,446 210,445 212,445 214,444 215,443 217,443 219,442 220,441 222,440 224,439 225,439 227,438 229,437 230,436 232,435 234,434 236,433 237,432 239,431 241,430 242,429 244,427 246,426 247,425 249,424 251,423 252,422 254,421 256,420 258,419 259,418 261,416 263,415 264,414 266,412 268,411 269,409 271,407 273,405 274,403 276,401 278,398 280,396 281,393 283,390 285,387 286,384 288,381 290,378 291,374 293,371 295,367 296,363 298,360 300,356 302,352 303,348 305,343 307,339 308,335 310,330 312,326 313,321 315,317 317,312 318,308 320,303 322,298 324,293 325,288 327,283 329,278 330,272 332,267 334,262 335,256 337,251 339,245 341,239 342,233 344,227 346,222 347,216 349,210 351,203 352,197 354,191 356,185 357,179 359,173 361,167 363,161 364,156 366,150 368,144 369,139 371,133 373,128 374,123 376,118 378,113 379,108 381,104 383,99 385,95 386,91 388,87 390,84 391,81 393,78 395,75 396,72 398,70 400,68 401,66 403,64 405,63 407,61 408,60 410,59 412,58 413,58 415,57 417,56 418,56 420,56 422,55 423,55 425,55 427,54 429,54 430,54 432,54 434,54 435,53 437,54 439,54 440,54 442,54 444,54 445,55 447,56 449,57 451,58 452,59 454,60 456,62 457,64 459,65 461,68 462,70 464,72 466,75 468,78 469,81 471,84 473,87 474,90 476,93 478,96 479,99 481,102 483,104 484,107 486,110 488,112 490,114 491,116 493,118 495,120 496,122 498,124 500,125 501,127 503,129 505,130 506,132 508,134 510,135 512,137 513,139 515,141 517,144 518,146 520,148 522,150 523,153 525,155 527,157 528,159 530,161 532,162 534,164 535,165 537,165 539,166 540,166 542,167 544,167 545,166 547,166 549,165 550,165 552,164 554,163 556,163 557,162 559,161 561,161 562,160 564,160 566,159 567,159 569,158 571,158 573,158 574,157 576,157 578,157 579,156 581,155 583,155 584,154 586,153 588,152 589,151 591,150 593,149 595,148 596,147 598,146 600,145 601,145 603,144 605,144 606,145 608,145 610,146 611,147 613,149 615,150 617,153 618,155 620,158 622,161 623,164 625,167 627,171 628,174 630,178 632,182 633,186 635,190 637,194 639,198 640,202 642,207 644,211 645,215 647,220 649,224 650,229 652,233 654,238 655,242 657,247 659,251 661,256 662,260 664,265 666,269 667,274 669,278 671,282 672,286 674,290 676,294 677,298 679,302 681,305 683,308 684,312 686,315 688,318 689,320 691,323 693,326 694,328 696,331 698,333 700,336 701,338 703,340 705,343 706,345 708,347 710,350 711,352 713,354 715,356 716,358 718,360 720,362 722,364 723,366 725,368 727,370 728,371 730,373 732,375 733,376 735,378 737,380 738,381 740,383 742,384 744,385 745,387 747,388 749,389 750,391 752,392 754,393 755,394 757,395 759,396 760,397 762,398 764,399 766,400 767,400 769,401 771,402 772,402 774,403 776,403 777,404 779,404 781,404 782,405 784,405 786,405 788,406 789,406 791,406 793,406 794,407 796,407 798,408 799,408 801,408 803,409 804,409 806,410 808,411 810,411 811,412 813,413 815,413 816,414 818,415 820,416 821,417 823,418 825,419 827,420 828,421 830,422 832,423 833,424 835,425 837,426 838,427 840,429 842,430 843,431 845,432 847,433 849,434 850,435 852,436 854,437 855,438 857,440 859,441 860,442 862,442 864,443 865,444 867,445 869,446 871,447 872,448 874,449 876,449 877,450 879,451 881,451 882,452 884,453 886,453 887,454 889,454 891,455 893,455 894,456 896,456 898,457 899,457 901,457 903,458 904,458 906,459 908,459 909,459 911,460 913,460 915,460 916,461 918,461 920,461 921,462 923,462 925,462 926,463 928,463 930,464 932,464 "/>
<polygon opacity="0.25" fill="#1F78B4" points="164,467 166,466 168,466 169,465 171,464 173,464 175,463 176,462 178,461 180,461 181,460 183,459 185,458 186,457 188,456 190,455 191,454 193,453 195,452 197,451 198,451 200,450 202,449 203,448 205,447 207,447 208,446 210,445 212,445 214,444 215,443 217,443 219,442 220,441 222,440 224,439 225,439 227,438 229,437 230,436 232,435 234,434 236,433 237,432 239,431 241,430 242,429 244,427 246,426 247,425 249,424 251,423 252,422 254,421 256,420 258,419 259,418 261,416 263,415 264,414 266,412 268,411 269,409 271,407 273,405 274,403 276,401 278,398 280,396 281,393 283,390 285,387 286,384 288,381 290,378 291,374 293,371 295,367 296,363 298,360 300,356 302,352 303,348 305,343 307,339 308,335 310,330 312,326 313,321 315,317 317,312 318,308 320,303 322,298 324,293 325,288 327,283 329,278 330,272 332,267 334,262 335,256 337,251 339,245 341,239 342,233 344,227 346,222 347,216 349,210 351,203 352,197 354,191 356,185 357,179 359,173 361,167 363,161 364,156 366,150 368,144 369,139 371,133 373,128 374,123 376,118 378,113 379,108 381,104 383,99 385,95 386,91 388,87 390,84 391,81 393,78 395,75 396,72 398,70 400,68 401,66 403,64 405,63 407,61 408,60 410,59 412,58 413,58 415,57 417,56 418,56 420,56 422,55 423,55 425,55 427,54 429,54 430,54 432,54 434,54 435,53 437,54 439,54 440,54 442,54 444,54 445,55 447,56 449,57 451,58 452,59 454,60 456,62 457,64 459,65 461,68 462,70 464,72 466,75 468,78 469,81 471,84 473,87 474,90 476,93 478,96 479,99 481,102 483,104 484,107 486,110 488,112 490,114 491,116 493,118 495,120 496,122 498,124 500,125 501,127 503,129 505,130 506,132 508,134 510,135 512,137 513,139 515,141 517,144 518,146 520,148 522,150 523,153 525,155 527,157 528,159 530,161 532,162 534,164 535,165 537,165 539,166 540,166 542,167 544,167 545,166 547,166 549,165 550,165 552,164 554,163 556,163 557,162 559,161 561,161 562,160 564,160 566,159 567,159 569,158 571,158 573,158 574,157 576,157 578,157 579,156 581,155 583,155 584,154 586,153 588,152 589,151 591,150 593,149 595,148 596,147 598,146 600,145 601,145 603,144 605,144 606,145 608,145 610,146 611,147 613,149 615,150 617,153 618,155 620,158 622,161 623,164 625,167 627,171 628,174 630,178 632,182 633,186 635,190 637,194 639,198 640,202 642,207 644,211 645,215 647,220 649,224 650,229 652,233 654,238 655,242 657,247 659,251 661,256 662,260 664,265 666,269 667,274 669,278 671,282 672,286 674,290 676,294 677,298 679,302 681,305 683,308 684,312 686,315 688,318 689,320 691,323 693,326 694,328 696,331 698,333 700,336 701,338 703,340 705,343 706,345 708,347 710,350 711,352 713,354 715,356 716,358 718,360 720,362 722,364 723,366 725,368 727,370 728,371 730,373 732,375 733,376 735,378 737,380 738,381 740,383 742,384 744,385 745,387 747,388 749,389 750,391 752,392 754,393 755,394 757,395 759,396 760,397 762,398 764,399 766,400 767,400 769,401 771,402 772,402 774,403 776,403 777,404 779,404 781,404 782,405 784,405 786,405 788,406 789,406 791,406 793,406 794,407 796,407 798,408 799,408 801,408 803,409 804,409 806,410 808,411 810,411 811,412 813,413 815,413 816,414 818,415 820,416 821,417 823,418 825,419 827,420 828,421 830,422 832,423 833,424 835,425 837,426 838,427 840,429 842,430 843,431 845,432 847,433 849,434 850,435 852,436 852,473 164,473 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="463,473 463,70 "/>
<rect x="592" y="53" width="340" 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/unsafe-oz-erc721-mint/report/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">
unsafe-oz-erc721-mint: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">
Average time (µs)
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="86,53 86,472 "/>
<text x="77" y="421" dy="0.5ex" text-anchor="end" 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="81,421 86,421 "/>
<text x="77" y="365" dy="0.5ex" text-anchor="end" 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="81,365 86,365 "/>
<text x="77" y="310" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.06
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,310 86,310 "/>
<text x="77" y="254" dy="0.5ex" text-anchor="end" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
0.08
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="81,254 86,254 "/>
<text x="77" y="198" dy="0.5ex" text-anchor="end" 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="81,198 86,198 "/>
<text x="77" y="142" dy="0.5ex" text-anchor="end" 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="81,142 86,142 "/>
<text x="77" y="86" dy="0.5ex" text-anchor="end" 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="81,86 86,86 "/>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="87,473 932,473 "/>
<text x="159" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
302
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="159,473 159,478 "/>
<text x="263" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
304
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="263,473 263,478 "/>
<text x="367" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
306
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="367,473 367,478 "/>
<text x="471" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
308
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="471,473 471,478 "/>
<text x="574" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
310
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="574,473 574,478 "/>
<text x="678" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
312
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="678,473 678,478 "/>
<text x="782" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
314
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="782,473 782,478 "/>
<text x="885" y="483" dy="0.76em" text-anchor="middle" font-family="sans-serif" font-size="9.67741935483871" opacity="1" fill="#000000">
316
</text>
<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="885,473 885,478 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="1" points="87,472 88,472 90,471 92,470 93,469 95,467 97,466 98,464 100,462 102,460 103,458 105,455 107,452 109,449 110,445 112,441 114,437 115,432 117,427 119,421 120,414 122,408 124,400 125,392 127,384 129,375 131,366 132,356 134,345 136,334 137,323 139,311 141,299 142,287 144,275 146,262 147,250 149,237 151,224 153,212 154,200 156,188 158,177 159,166 161,155 163,146 164,137 166,128 168,121 169,114 171,108 173,103 175,99 176,96 178,94 180,92 181,92 183,92 185,94 186,96 188,98 190,101 191,105 193,110 195,115 197,120 198,126 200,131 202,138 203,144 205,150 207,156 208,163 210,169 212,175 214,181 215,187 217,193 219,199 220,204 222,209 224,214 225,218 227,223 229,227 230,231 232,234 234,238 236,241 237,244 239,247 241,249 242,252 244,254 246,256 247,258 249,260 251,262 252,264 254,266 256,267 258,269 259,270 261,271 263,273 264,274 266,275 268,277 269,278 271,279 273,280 274,282 276,283 278,284 280,285 281,286 283,287 285,288 286,290 288,291 290,292 291,293 293,294 295,295 296,296 298,297 300,297 302,298 303,299 305,300 307,300 308,301 310,301 312,302 313,302 315,302 317,302 318,302 320,302 322,302 324,302 325,302 327,301 329,301 330,300 332,299 334,299 335,298 337,297 339,296 341,295 342,294 344,293 346,292 347,291 349,289 351,288 352,287 354,286 356,286 357,285 359,284 361,284 363,283 364,283 366,284 368,284 369,285 371,285 373,287 374,288 376,290 378,292 379,294 381,297 383,300 385,303 386,306 388,310 390,314 391,319 393,323 395,328 396,332 398,337 400,342 401,348 403,353 405,358 407,363 408,368 410,373 412,378 413,383 415,387 417,392 418,396 420,400 422,404 423,407 425,410 427,413 429,416 430,418 432,420 434,422 435,423 437,424 439,425 440,425 442,425 444,425 445,424 447,424 449,422 451,421 452,419 454,418 456,415 457,413 459,411 461,408 462,405 464,402 466,399 468,396 469,393 471,390 473,386 474,383 476,380 478,377 479,374 481,371 483,369 484,366 486,364 488,362 490,360 491,359 493,358 495,357 496,356 498,356 500,356 501,356 503,356 505,357 506,358 508,359 510,361 512,363 513,365 515,367 517,369 518,371 520,374 522,377 523,379 525,382 527,385 528,388 530,391 532,394 534,397 535,399 537,402 539,405 540,407 542,409 544,412 545,414 547,415 549,417 550,418 552,420 554,421 556,421 557,422 559,422 561,422 562,421 564,421 566,420 567,419 569,418 571,416 573,414 574,412 576,410 578,407 579,405 581,402 583,399 584,396 586,393 588,389 589,386 591,383 593,379 595,376 596,372 598,369 600,366 601,362 603,359 605,355 606,352 608,348 610,345 611,341 613,338 615,335 617,331 618,328 620,324 622,321 623,317 625,314 627,310 628,306 630,303 632,299 633,295 635,291 637,287 639,284 640,280 642,276 644,272 645,268 647,265 649,261 650,258 652,255 654,252 655,249 657,246 659,244 661,242 662,240 664,239 666,238 667,237 669,237 671,237 672,237 674,238 676,240 677,241 679,243 681,246 683,248 684,251 686,254 688,257 689,261 691,264 693,268 694,271 696,275 698,278 700,281 701,284 703,287 705,290 706,293 708,295 710,298 711,300 713,301 715,303 716,305 718,306 720,307 722,308 723,309 725,309 727,310 728,310 730,310 732,310 733,310 735,310 737,310 738,309 740,308 742,307 744,306 745,304 747,302 749,300 750,297 752,294 754,291 755,287 757,283 759,278 760,273 762,267 764,261 766,254 767,247 769,240 771,233 772,225 774,217 776,209 777,200 779,192 781,184 782,176 784,168 786,160 788,153 789,145 791,139 793,133 794,127 796,122 798,118 799,114 801,112 803,109 804,108 806,107 808,107 810,108 811,110 813,112 815,115 816,118 818,122 820,127 821,132 823,138 825,144 827,151 828,158 830,166 832,173 833,181 835,189 837,198 838,206 840,214 842,223 843,232 845,240 847,249 849,257 850,266 852,274 854,282 855,290 857,298 859,306 860,314 862,321 864,328 865,335 867,342 869,349 871,355 872,361 874,367 876,373 877,379 879,384 881,389 882,394 884,399 886,403 887,407 889,411 891,415 893,419 894,422 896,426 898,429 899,432 901,435 903,437 904,440 906,442 908,444 909,447 911,449 913,450 915,452 916,454 918,455 920,457 921,458 923,460 925,461 926,462 928,463 930,464 932,465 "/>
<polygon opacity="0.25" fill="#1F78B4" points="164,137 166,128 168,121 169,114 171,108 173,103 175,99 176,96 178,94 180,92 181,92 183,92 185,94 186,96 188,98 190,101 191,105 193,110 195,115 197,120 198,126 200,131 202,138 203,144 205,150 207,156 208,163 210,169 212,175 214,181 215,187 217,193 219,199 220,204 222,209 224,214 225,218 227,223 229,227 230,231 232,234 234,238 236,241 237,244 239,247 241,249 242,252 244,254 246,256 247,258 249,260 251,262 252,264 254,266 256,267 258,269 259,270 261,271 263,273 264,274 266,275 268,277 269,278 271,279 273,280 274,282 276,283 278,284 280,285 281,286 283,287 285,288 286,290 288,291 290,292 291,293 293,294 295,295 296,296 298,297 300,297 302,298 303,299 305,300 307,300 308,301 310,301 312,302 313,302 315,302 317,302 318,302 320,302 322,302 324,302 325,302 327,301 329,301 330,300 332,299 334,299 335,298 337,297 339,296 341,295 342,294 344,293 346,292 347,291 349,289 351,288 352,287 354,286 356,286 357,285 359,284 361,284 363,283 364,283 366,284 368,284 369,285 371,285 373,287 374,288 376,290 378,292 379,294 381,297 383,300 385,303 386,306 388,310 390,314 391,319 393,323 395,328 396,332 398,337 400,342 401,348 403,353 405,358 407,363 408,368 410,373 412,378 413,383 415,387 417,392 418,396 420,400 422,404 423,407 425,410 427,413 429,416 430,418 432,420 434,422 435,423 437,424 439,425 440,425 442,425 444,425 445,424 447,424 449,422 451,421 452,419 454,418 456,415 457,413 459,411 461,408 462,405 464,402 466,399 468,396 469,393 471,390 473,386 474,383 476,380 478,377 479,374 481,371 483,369 484,366 486,364 488,362 490,360 491,359 493,358 495,357 496,356 498,356 500,356 501,356 503,356 505,357 506,358 508,359 510,361 512,363 513,365 515,367 517,369 518,371 520,374 522,377 523,379 525,382 527,385 528,388 530,391 532,394 534,397 535,399 537,402 539,405 540,407 542,409 544,412 545,414 547,415 549,417 550,418 552,420 554,421 556,421 557,422 559,422 561,422 562,421 564,421 566,420 567,419 569,418 571,416 573,414 574,412 576,410 578,407 579,405 581,402 583,399 584,396 586,393 588,389 589,386 591,383 593,379 595,376 596,372 598,369 600,366 601,362 603,359 605,355 606,352 608,348 610,345 611,341 613,338 615,335 617,331 618,328 620,324 622,321 623,317 625,314 627,310 628,306 630,303 632,299 633,295 635,291 637,287 639,284 640,280 642,276 644,272 645,268 647,265 649,261 650,258 652,255 654,252 655,249 657,246 659,244 661,242 662,240 664,239 666,238 667,237 669,237 671,237 672,237 674,238 676,240 677,241 679,243 681,246 683,248 684,251 686,254 688,257 689,261 691,264 693,268 694,271 696,275 698,278 700,281 701,284 703,287 705,290 706,293 708,295 710,298 711,300 713,301 715,303 716,305 718,306 720,307 722,308 723,309 725,309 727,310 728,310 730,310 732,310 733,310 735,310 737,310 738,309 740,308 742,307 744,306 745,304 747,302 749,300 750,297 752,294 754,291 755,287 757,283 759,278 760,273 762,267 764,261 766,254 767,247 769,240 771,233 772,225 774,217 776,209 777,200 779,192 781,184 782,176 784,168 786,160 788,153 789,145 791,139 793,133 794,127 796,122 798,118 799,114 801,112 803,109 804,108 806,107 808,107 810,108 811,110 813,112 815,115 816,118 818,122 820,127 821,132 823,138 825,144 827,151 828,158 830,166 832,173 833,181 835,189 837,198 838,206 840,214 842,223 843,232 845,240 847,249 849,257 850,266 852,274 852,473 164,473 "/>
<polyline fill="none" opacity="1" stroke="#1F78B4" stroke-width="3" points="497,473 497,356 "/>
<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>
```