We introduce a benchmark for evaluating LLM's agentic tool-usage capability. This benchmark treat tool use as a firstโclass evaluation target. We gather high-quality and executable tools from diverse domains. Specifically, these tools exhibit capabilities beyong LLM's own ability, such as retrieve real-time information. To simulate real-world usage of agent, we collect representative tasks in each domain and generate detailed tool-calling trajectories. The queries are generated based on the trajectories and exhibits different difficulty levels (e.g. simple and hard). Trajectories are well controlled in length and bredth, enabling a controlled evaluation. The dataset can also serve as training data to enhance LLM's tool usage capability.
Repository: https://github.com/PengfeiHePower/TRAJECT-Bench
Paper: https://arxiv.org/pdf/2510.04550
tools/ # Tool definitions and APIs for each domain
parallel/ # Parallel trajectory sets
โโโ Education/ # Education domain
โ โโโhard_ver.json # Hard queries
โ โโโsimple_ver.json # Simple queries
โโโ Finance/ # Domain-specific test cases
โโโ Travel/ # Multi-tool scenarios
โโโ ... # Other domains
sequential/ # Sequential trajectory sets
โโโ Education/ # Education domain
โ โโโtraj_query.json # Trajectory and query data
โโโ Finance/ # Domain-specific test cases
โโโ Travel/ # Multi-tool scenarios
โโโ ... # Other domains
๐ Hightlights:
| Benchmark | Practical tools | Large&diverse tool | Trajectory structure1 | Trajectory scaling2 | Trajectory-aware metrics3 | Query difficulty control | Tool-pool regimes4 | Agentic methods |
|---|---|---|---|---|---|---|---|---|
| MetaTool | โ | โ | โ | โ | โ | โ | โ | โ |
| API-Bank | โ | โ | โ | โ | โ | โ | โ | โ |
| ToolBench | โ | โ | โ | โ | โ | โ | โ | โ |
| Gorilla | โ | โ | โ | โ | โ | โ | โ | โ |
| Berkeley Function-Calling (BFCL) | โ | โ | โ | โ | โ | โ | โ | โ |
| ToolQA | โ | โ | โ | โ | โ | โ | โ | โ |
| TRAJECT-Bench (ours) | โ | โ | โ | โ | โ | โ | โ | โ |
1 Trajectory structure: Evaluates support for different tool-calling patterns, including parallel (independent tools) and sequential (dependent tool chains) execution strategies
2 Trajectory scaling: Tests model performance across varying task complexity levels, from simple 3-tool scenarios to complex 10+ tool orchestration
3 Trajectory-aware metrics: Provides comprehensive evaluation beyond final results, measuring the quality of the entire tool-calling trajectory
4 Tool-pool regimes: Supports diverse evaluation strategies including whole toolset, domain-specific pools, retrieval-based selection, and fixed small-scale tool pools
The benchmark covers 10 carefully selected domains that require external tools rather than internal model capabilities:
public_data/tools/*.jsonWe take a trajectory->query strategy
Each entry in public_data/parallel/<Domain>/*.json follows this structure:
<parent tool name>: <API name>{ "name": string, "value": string }{ "name": string, "value": string } (can be empty)parallel or sequentialExample:
{
"query": "First, retrieve the post with ID P36288 from FluentMe. Then, get information about the university with ID 394596. Finally, show me a list of video game adaptations from the Transmedia Storytelling database.",
"tool_list": [
{
"tool name": "thefluentme: Get post by id",
"tool description": "Returns a specific post using its post_id identifier...",
"required parameters": [{ "name": "post_id", "value": "P36288" }],
"optional parameters": [],
"parent tool name": "thefluentme",
"API name": "Get post by id",
"domain name": "Education"
},
...
],
"trajectory_type": "parallel",
"task_name": "Language and Culture Homework Helper",
"task_description": "This task assists students with language and culture assignments. It involves finding definitions, translations, character information, and contextual examples for various languages."
}
{
"query": "Find a flight from NYC to SFO next Friday and then get the 3-day weather forecast for the arrival dates in SFO.",
"tool_list": [
{
"tool name": "skyscanner_flights: search_flights",
"required parameters": [{ "name": "origin", "value": "NYC" }, { "name": "destination", "value": "SFO" }, { "name": "date", "value": "<next_friday>" }],
"optional parameters": [],
"parent tool name": "skyscanner_flights",
"API name": "search_flights",
"domain name": "Travel"
},
{
"tool name": "forecast_lookup: 3day",
"required parameters": [{ "name": "location", "value": "SFO" }, { "name": "date", "value": "<arrival_date>" }],
"optional parameters": [],
"parent tool name": "forecast_lookup",
"API name": "3day",
"domain name": "Weather"
}
],
"trajectory_type": "sequential",
"task_name": "Travel planning with weather guardrails",
"task_description": "Plan travel and check weather constraints based on retrieved itinerary."
}
The benchmark evaluates models on:
Results of individual modelโs tool-use capability with domain-specific tools on parallel queries (direct query).
| Model | Simple | Hard | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| EM | Inclusion | Usage | Traj-Satisfy | Acc | EM | Inclusion | Usage | Traj-Satisfy | Acc | |
| Claude-3.7 | 0.676 | 0.746 | 0.706 | 6.831 | 0.714 | 0.135 | 0.554 | 0.603 | 1.582 | 0.246 |
| Claude-4 | 0.846 | 0.855 | 0.839 | 8.549 | 0.905 | 0.445 | 0.668 | 0.794 | 4.882 | 0.517 |
| Gemini-2.5-flash | 0.714 | 0.759 | 0.784 | 7.215 | 0.782 | 0.216 | 0.538 | 0.666 | 2.340 | 0.263 |
| Gemini-2.5-pro | 0.851 | 0.854 | 0.835 | 8.599 | 0.911 | 0.442 | 0.652 | 0.785 | 4.849 | 0.498 |
| GPT5-mini | 0.817 | 0.825 | 0.819 | 8.236 | 0.834 | 0.155 | 0.589 | 0.626 | 1.701 | 0.380 |
| o4-mini | 0.823 | 0.830 | 0.824 | 8.316 | 0.863 | 0.376 | 0.629 | 0.726 | 3.849 | 0.472 |
| gpt-oss:120b | 0.652 | 0.667 | 0.715 | 6.588 | 0.726 | 0.174 | 0.559 | 0.671 | 1.909 | 0.387 |
| DeepSeek | 0.833 | 0.836 | 0.829 | 8.417 | 0.889 | 0.439 | 0.669 | 0.757 | 4.817 | 0.458 |
| qwen3-235b-A22B | 0.844 | 0.856 | 0.809 | 8.529 | 0.898 | 0.440 | 0.667 | 0.796 | 4.828 | 0.479 |
| Kimi-k2 | 0.815 | 0.876 | 0.872 | 8.236 | 0.902 | 0.321 | 0.666 | 0.772 | 3.522 | 0.448 |
Results of individual modelโs tool-use capability with domain-specific tools on sequential queries.
| Model | EM | Inclusion | Usage | Traj-Satisfy | Acc |
|---|---|---|---|---|---|
| Claude-3.7 | 0.583 | 0.724 | 0.584 | 6.010 | 0.573 |
| Claude-4 | 0.819 | 0.832 | 0.775 | 8.243 | 0.813 |
| Gemini-2.5-flash | 0.613 | 0.695 | 0.714 | 6.219 | 0.652 |
| Gemini-2.5-pro | 0.807 | 0.821 | 0.809 | 8.119 | 0.848 |
| GPT5-mini | 0.693 | 0.715 | 0.692 | 7.042 | 0.677 |
| o4-mini | 0.789 | 0.807 | 0.748 | 8.134 | 0.761 |
| gpt-oss:120b | 0.538 | 0.619 | 0.694 | 5.546 | 0.653 |
| DeepSeek | 0.825 | 0.849 | 0.811 | 8.305 | 0.823 |
| qwen3-235b-A22B | 0.824 | 0.837 | 0.772 | 8.194 | 0.791 |
| Kimi-k2 | 0.821 | 0.827 | 0.793 | 8.363 | 0.833 |
Results of individual models combined with retrieval-based tool-selection strategy.
| Claude_v37 | Simple | Hard | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Emb_mdel | Retrieval pool | Retrieval rate | EM | Inclusion | Usage | Traj-Satisfy | Acc | Retrieval rate | EM | Inclusion | Usage | Traj-Satisfy | Acc |
| bge-large | domain | 0.906 | 0.681 | 0.792 | 0.738 | 7.134 | 0.708 | 0.585 | 0.035 | 0.410 | 0.692 | 0.541 | 0.127 |
| all | 0.842 | 0.639 | 0.762 | 0.728 | 6.592 | 0.665 | 0.482 | 0.020 | 0.341 | 0.657 | 0.334 | 0.098 | |
| all-miniLM | domain | 0.913 | 0.685 | 0.793 | 0.749 | 7.257 | 0.717 | 0.584 | 0.029 | 0.403 | 0.683 | 0.265 | 0.109 |
| all | 0.868 | 0.645 | 0.751 | 0.745 | 6.613 | 0.680 | 0.460 | 0.012 | 0.403 | 0.641 | 0.140 | 0.082 | |
| ToolLM-IR | domain | 0.945 | 0.703 | 0.814 | 0.778 | 7.142 | 0.715 | 0.578 | 0.030 | 0.419 | 0.698 | 0.294 | 0.139 |
| all | 0.877 | 0.652 | 0.783 | 0.758 | 6.770 | 0.696 | 0.475 | 0.024 | 0.425 | 0.656 | 0.259 | 0.132 | |
| Claude_v4 | |||||||||||||
| bge-large | domain | 0.906 | 0.852 | 0.867 | 0.835 | 8.631 | 0.902 | 0.585 | 0.031 | 0.397 | 0.672 | 0.328 | 0.264 |
| all | 0.842 | 0.785 | 0.823 | 0.770 | 8.053 | 0.876 | 0.482 | 0.012 | 0.292 | 0.656 | 0.111 | 0.189 | |
| all-miniLM | domain | 0.913 | 0.833 | 0.859 | 0.786 | 8.764 | 0.870 | 0.584 | 0.033 | 0.410 | 0.663 | 0.355 | 0.277 |
| all | 0.868 | 0.817 | 0.806 | 0.773 | 8.352 | 0.832 | 0.460 | 0.015 | 0.267 | 0.620 | 0.171 | 0.168 | |
| ToolLM-IR | domain | 0.945 | 0.906 | 0.928 | 0.833 | 9.117 | 0.916 | 0.578 | 0.028 | 0.420 | 0.680 | 0.286 | 0.241 |
| all | 0.877 | 0.852 | 0.861 | 0.764 | 8.613 | 0.879 | 0.475 | 0.014 | 0.298 | 0.653 | 0.190 | 0.164 |
Evaluation of modelโs inherent agentic tool-use capability.
| model | Simple | Hard | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| EM | Inclusion | Usage | Traj-Satisfy | Acc | EM | Inclusion | Usage | Traj-Satisfy | Acc | ||
| Claude-4 | agentic | 0.832 | 0.868 | 0.816 | 8.407 | 0.893 | 0.440 | 0.637 | 0.751 | 4.828 | 0.486 |
| context | 0.846 | 0.855 | 0.839 | 8.549 | 0.905 | 0.445 | 0.668 | 0.794 | 4.882 | 0.517 | |
| Gemini-2.5-pro | agentic | 0.828 | 0.866 | 0.876 | 8.367 | 0.917 | 0.416 | 0.674 | 0.768 | 4.564 | 0.503 |
| context | 0.851 | 0.847 | 0.835 | 8.599 | 0.911 | 0.442 | 0.652 | 0.785 | 4.849 | 0.498 | |
| Deepseek | agentic | 0.819 | 0.857 | 0.756 | 8.256 | 0.845 | 0.416 | 0.682 | 0.783 | 4.564 | 0.481 |
| context | 0.835 | 0.833 | 0.729 | 8.417 | 0.889 | 0.439 | 0.669 | 0.757 | 4.817 | 0.458 | |
| Kimi-k2 | agentic | 0.853 | 0.977 | 0.893 | 8.620 | 0.951 | 0.315 | 0.717 | 0.765 | 3.456 | 0.437 |
| context | 0.815 | 0.876 | 0.872 | 8.236 | 0.902 | 0.321 | 0.666 | 0.772 | 3.522 | 0.448 |
20 commits
We introduce a benchmark for evaluating LLM's agentic tool-usage capability. This benchmark treat tool use as a firstโclass evaluation target. We gather high-quality and executable tools from diverse domains. Specifically, these tools exhibit capabilities beyong LLM's own ability, such as retrieve real-time information. To simulate real-world usage of agent, we collect representative tasks in each domain and generate detailed tool-calling trajectories. The queries are generated based on the trajectories and exhibits different difficulty levels (e.g. simple and hard). Trajectories are well controlled in length and bredth, enabling a controlled evaluation. The dataset can also serve as training data to enhance LLM's tool usage capability.
Repository: https://github.com/PengfeiHePower/TRAJECT-Bench
Paper: https://arxiv.org/pdf/2510.04550
tools/ # Tool definitions and APIs for each domain
parallel/ # Parallel trajectory sets
โโโ Education/ # Education domain
โ โโโhard_ver.json # Hard queries
โ โโโsimple_ver.json # Simple queries
โโโ Finance/ # Domain-specific test cases
โโโ Travel/ # Multi-tool scenarios
โโโ ... # Other domains
sequential/ # Sequential trajectory sets
โโโ Education/ # Education domain
โ โโโtraj_query.json # Trajectory and query data
โโโ Finance/ # Domain-specific test cases
โโโ Travel/ # Multi-tool scenarios
โโโ ... # Other domains
๐ Hightlights:
| Benchmark | Practical tools | Large&diverse tool | Trajectory structure1 | Trajectory scaling2 | Trajectory-aware metrics3 | Query difficulty control | Tool-pool regimes4 | Agentic methods |
|---|---|---|---|---|---|---|---|---|
| MetaTool | โ | โ | โ | โ | โ | โ | โ | โ |
| API-Bank | โ | โ | โ | โ | โ | โ | โ | โ |
| ToolBench | โ | โ | โ | โ | โ | โ | โ | โ |
| Gorilla | โ | โ | โ | โ | โ | โ | โ | โ |
| Berkeley Function-Calling (BFCL) | โ | โ | โ | โ | โ | โ | โ | โ |
| ToolQA | โ | โ | โ | โ | โ | โ | โ | โ |
| TRAJECT-Bench (ours) | โ | โ | โ | โ | โ | โ | โ | โ |
1 Trajectory structure: Evaluates support for different tool-calling patterns, including parallel (independent tools) and sequential (dependent tool chains) execution strategies
2 Trajectory scaling: Tests model performance across varying task complexity levels, from simple 3-tool scenarios to complex 10+ tool orchestration
3 Trajectory-aware metrics: Provides comprehensive evaluation beyond final results, measuring the quality of the entire tool-calling trajectory
4 Tool-pool regimes: Supports diverse evaluation strategies including whole toolset, domain-specific pools, retrieval-based selection, and fixed small-scale tool pools
The benchmark covers 10 carefully selected domains that require external tools rather than internal model capabilities:
public_data/tools/*.jsonWe take a trajectory->query strategy
Each entry in public_data/parallel/<Domain>/*.json follows this structure:
<parent tool name>: <API name>{ "name": string, "value": string }{ "name": string, "value": string } (can be empty)parallel or sequentialExample:
{
"query": "First, retrieve the post with ID P36288 from FluentMe. Then, get information about the university with ID 394596. Finally, show me a list of video game adaptations from the Transmedia Storytelling database.",
"tool_list": [
{
"tool name": "thefluentme: Get post by id",
"tool description": "Returns a specific post using its post_id identifier...",
"required parameters": [{ "name": "post_id", "value": "P36288" }],
"optional parameters": [],
"parent tool name": "thefluentme",
"API name": "Get post by id",
"domain name": "Education"
},
...
],
"trajectory_type": "parallel",
"task_name": "Language and Culture Homework Helper",
"task_description": "This task assists students with language and culture assignments. It involves finding definitions, translations, character information, and contextual examples for various languages."
}
{
"query": "Find a flight from NYC to SFO next Friday and then get the 3-day weather forecast for the arrival dates in SFO.",
"tool_list": [
{
"tool name": "skyscanner_flights: search_flights",
"required parameters": [{ "name": "origin", "value": "NYC" }, { "name": "destination", "value": "SFO" }, { "name": "date", "value": "<next_friday>" }],
"optional parameters": [],
"parent tool name": "skyscanner_flights",
"API name": "search_flights",
"domain name": "Travel"
},
{
"tool name": "forecast_lookup: 3day",
"required parameters": [{ "name": "location", "value": "SFO" }, { "name": "date", "value": "<arrival_date>" }],
"optional parameters": [],
"parent tool name": "forecast_lookup",
"API name": "3day",
"domain name": "Weather"
}
],
"trajectory_type": "sequential",
"task_name": "Travel planning with weather guardrails",
"task_description": "Plan travel and check weather constraints based on retrieved itinerary."
}
The benchmark evaluates models on:
Results of individual modelโs tool-use capability with domain-specific tools on parallel queries (direct query).
| Model | Simple | Hard | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| EM | Inclusion | Usage | Traj-Satisfy | Acc | EM | Inclusion | Usage | Traj-Satisfy | Acc | |
| Claude-3.7 | 0.676 | 0.746 | 0.706 | 6.831 | 0.714 | 0.135 | 0.554 | 0.603 | 1.582 | 0.246 |
| Claude-4 | 0.846 | 0.855 | 0.839 | 8.549 | 0.905 | 0.445 | 0.668 | 0.794 | 4.882 | 0.517 |
| Gemini-2.5-flash | 0.714 | 0.759 | 0.784 | 7.215 | 0.782 | 0.216 | 0.538 | 0.666 | 2.340 | 0.263 |
| Gemini-2.5-pro | 0.851 | 0.854 | 0.835 | 8.599 | 0.911 | 0.442 | 0.652 | 0.785 | 4.849 | 0.498 |
| GPT5-mini | 0.817 | 0.825 | 0.819 | 8.236 | 0.834 | 0.155 | 0.589 | 0.626 | 1.701 | 0.380 |
| o4-mini | 0.823 | 0.830 | 0.824 | 8.316 | 0.863 | 0.376 | 0.629 | 0.726 | 3.849 | 0.472 |
| gpt-oss:120b | 0.652 | 0.667 | 0.715 | 6.588 | 0.726 | 0.174 | 0.559 | 0.671 | 1.909 | 0.387 |
| DeepSeek | 0.833 | 0.836 | 0.829 | 8.417 | 0.889 | 0.439 | 0.669 | 0.757 | 4.817 | 0.458 |
| qwen3-235b-A22B | 0.844 | 0.856 | 0.809 | 8.529 | 0.898 | 0.440 | 0.667 | 0.796 | 4.828 | 0.479 |
| Kimi-k2 | 0.815 | 0.876 | 0.872 | 8.236 | 0.902 | 0.321 | 0.666 | 0.772 | 3.522 | 0.448 |
Results of individual modelโs tool-use capability with domain-specific tools on sequential queries.
| Model | EM | Inclusion | Usage | Traj-Satisfy | Acc |
|---|---|---|---|---|---|
| Claude-3.7 | 0.583 | 0.724 | 0.584 | 6.010 | 0.573 |
| Claude-4 | 0.819 | 0.832 | 0.775 | 8.243 | 0.813 |
| Gemini-2.5-flash | 0.613 | 0.695 | 0.714 | 6.219 | 0.652 |
| Gemini-2.5-pro | 0.807 | 0.821 | 0.809 | 8.119 | 0.848 |
| GPT5-mini | 0.693 | 0.715 | 0.692 | 7.042 | 0.677 |
| o4-mini | 0.789 | 0.807 | 0.748 | 8.134 | 0.761 |
| gpt-oss:120b | 0.538 | 0.619 | 0.694 | 5.546 | 0.653 |
| DeepSeek | 0.825 | 0.849 | 0.811 | 8.305 | 0.823 |
| qwen3-235b-A22B | 0.824 | 0.837 | 0.772 | 8.194 | 0.791 |
| Kimi-k2 | 0.821 | 0.827 | 0.793 | 8.363 | 0.833 |
Results of individual models combined with retrieval-based tool-selection strategy.
| Claude_v37 | Simple | Hard | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Emb_mdel | Retrieval pool | Retrieval rate | EM | Inclusion | Usage | Traj-Satisfy | Acc | Retrieval rate | EM | Inclusion | Usage | Traj-Satisfy | Acc |
| bge-large | domain | 0.906 | 0.681 | 0.792 | 0.738 | 7.134 | 0.708 | 0.585 | 0.035 | 0.410 | 0.692 | 0.541 | 0.127 |
| all | 0.842 | 0.639 | 0.762 | 0.728 | 6.592 | 0.665 | 0.482 | 0.020 | 0.341 | 0.657 | 0.334 | 0.098 | |
| all-miniLM | domain | 0.913 | 0.685 | 0.793 | 0.749 | 7.257 | 0.717 | 0.584 | 0.029 | 0.403 | 0.683 | 0.265 | 0.109 |
| all | 0.868 | 0.645 | 0.751 | 0.745 | 6.613 | 0.680 | 0.460 | 0.012 | 0.403 | 0.641 | 0.140 | 0.082 | |
| ToolLM-IR | domain | 0.945 | 0.703 | 0.814 | 0.778 | 7.142 | 0.715 | 0.578 | 0.030 | 0.419 | 0.698 | 0.294 | 0.139 |
| all | 0.877 | 0.652 | 0.783 | 0.758 | 6.770 | 0.696 | 0.475 | 0.024 | 0.425 | 0.656 | 0.259 | 0.132 | |
| Claude_v4 | |||||||||||||
| bge-large | domain | 0.906 | 0.852 | 0.867 | 0.835 | 8.631 | 0.902 | 0.585 | 0.031 | 0.397 | 0.672 | 0.328 | 0.264 |
| all | 0.842 | 0.785 | 0.823 | 0.770 | 8.053 | 0.876 | 0.482 | 0.012 | 0.292 | 0.656 | 0.111 | 0.189 | |
| all-miniLM | domain | 0.913 | 0.833 | 0.859 | 0.786 | 8.764 | 0.870 | 0.584 | 0.033 | 0.410 | 0.663 | 0.355 | 0.277 |
| all | 0.868 | 0.817 | 0.806 | 0.773 | 8.352 | 0.832 | 0.460 | 0.015 | 0.267 | 0.620 | 0.171 | 0.168 | |
| ToolLM-IR | domain | 0.945 | 0.906 | 0.928 | 0.833 | 9.117 | 0.916 | 0.578 | 0.028 | 0.420 | 0.680 | 0.286 | 0.241 |
| all | 0.877 | 0.852 | 0.861 | 0.764 | 8.613 | 0.879 | 0.475 | 0.014 | 0.298 | 0.653 | 0.190 | 0.164 |
Evaluation of modelโs inherent agentic tool-use capability.
| model | Simple | Hard | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| EM | Inclusion | Usage | Traj-Satisfy | Acc | EM | Inclusion | Usage | Traj-Satisfy | Acc | ||
| Claude-4 | agentic | 0.832 | 0.868 | 0.816 | 8.407 | 0.893 | 0.440 | 0.637 | 0.751 | 4.828 | 0.486 |
| context | 0.846 | 0.855 | 0.839 | 8.549 | 0.905 | 0.445 | 0.668 | 0.794 | 4.882 | 0.517 | |
| Gemini-2.5-pro | agentic | 0.828 | 0.866 | 0.876 | 8.367 | 0.917 | 0.416 | 0.674 | 0.768 | 4.564 | 0.503 |
| context | 0.851 | 0.847 | 0.835 | 8.599 | 0.911 | 0.442 | 0.652 | 0.785 | 4.849 | 0.498 | |
| Deepseek | agentic | 0.819 | 0.857 | 0.756 | 8.256 | 0.845 | 0.416 | 0.682 | 0.783 | 4.564 | 0.481 |
| context | 0.835 | 0.833 | 0.729 | 8.417 | 0.889 | 0.439 | 0.669 | 0.757 | 4.817 | 0.458 | |
| Kimi-k2 | agentic | 0.853 | 0.977 | 0.893 | 8.620 | 0.951 | 0.315 | 0.717 | 0.765 | 3.456 | 0.437 |
| context | 0.815 | 0.876 | 0.872 | 8.236 | 0.902 | 0.321 | 0.666 | 0.772 | 3.522 | 0.448 |
20 commits