Go back to the main page

All data is from FanGraphs. I have no affiliation with FanGraphs, but please consider contributing to their website if you found this project informative.

Positional Scarcity is determined by ATC WAR Projections from 3-31-2022.


Hitting with OPS included

Players that have an NA for Model_Score did not play in the MLB in 2021.The model had a R-Squared of 0.92. Includes the OPS category.


Hitters by Position

My non-normalized model scores for a player are Model_Score.

Overall

Name Team Position ADP WAR Model_Score WAR_Rank Hitting_Rank Pos_Scarcity
Trea Turner LAD SS 1.3 5.6 9.85 5 4 0.96
José Ramírez CLE 3B 3.1 5.9 9.75 3 6 0.94
Juan Soto WSN OF 3.8 7.5 9.54 1 11 0.92
Bo Bichette TOR SS 4.6 4.7 9.62 12 8 0.89
Vladimir Guerrero Jr. TOR IF 5.0 5.6 9.96 6 3 0.88
Bryce Harper PHI OF 8.6 5.3 10.14 8 1 0.79
Shohei Ohtani LAA DH 8.9 4.0 9.63 33 7 0.73
Ronald Acuña Jr. ATL OF 12.0 5.1 8.71 10 30 0.75
Kyle Tucker HOU OF 12.4 4.6 9.44 16 14 0.71
Mike Trout LAA OF 13.0 6.5 8.93 2 24 0.94
Rafael Devers BOS 3B 14.2 4.8 9.58 11 10 0.84
Mookie Betts LAD OF 15.3 5.8 9.12 4 16 0.88
Luis Robert CHW OF 16.1 4.6 9.46 17 13 0.85
Ozzie Albies ATL 2B 17.8 4.1 9.03 31 21 0.88
Freddie Freeman LAD 1B 18.4 5.1 9.59 9 9 0.86
Manny Machado SDP 3B 22.7 4.6 8.93 18 23 0.79
Yordan Alvarez HOU DH 25.9 4.1 8.56 32 33 0.86
Teoscar Hernández TOR OF 27.5 2.2 9.40 112 15 0.40
Tim Anderson CHW SS 30.2 3.2 8.83 55 28 0.58
Salvador Perez KCR C 32.1 3.7 8.11 40 43 0.82
Starling Marte NYM OF 33.0 2.7 8.14 72 41 0.50
Whit Merrifield KCR OF,Oth 33.1 2.3 7.01 100 74 0.42
Cedric Mullins BAL OF 33.2 3.2 9.07 52 18 0.66
Trevor Story BOS SS 34.8 4.2 8.58 30 32 0.68
Aaron Judge NYY OF 36.4 5.3 9.04 7 20 0.84
Matt Olson ATL 1B 36.7 4.2 9.04 29 19 0.81
Marcus Semien TEX IF 39.0 4.6 10.13 19 2 0.85
Pete Alonso NYM 1B 45.3 3.5 8.94 44 22 0.76
Byron Buxton MIN OF 45.6 4.6 8.56 15 34 0.81
Xander Bogaerts BOS SS 45.7 4.5 8.66 23 31 0.82
Tyler O'Neill STL OF 47.2 2.8 8.90 68 27 0.64
Paul Goldschmidt STL 1B 47.5 3.5 9.79 43 5 0.72
Fernando Tatis Jr. SDP SS 47.7 3.4 5.47 45 137 0.63
J.T. Realmuto PHI C 49.3 3.8 7.24 35 69 0.86
Austin Riley ATL 3B 51.8 3.1 8.38 56 38 0.46
Will Smith LAD C 53.4 4.7 6.87 14 79 0.95
Francisco Lindor NYM SS 53.9 4.2 7.25 27 68 0.72
Adalberto Mondesi KCR SS 57.1 2.0 5.73 119 130 0.33
George Springer TOR OF 57.5 4.2 8.81 28 29 0.67
Wander Franco TBR SS 58.8 4.5 7.77 22 55 0.78
Nick Castellanos PHI OF 59.5 2.4 9.49 90 12 0.48
Javier Báez DET SS 62.4 2.8 8.47 67 36 0.53
Eloy Jiménez CHW OF 65.4 2.2 5.81 103 124 0.45
Randy Arozarena TBR OF 66.1 2.2 7.83 111 54 0.34
Nolan Arenado STL 3B 69.5 3.7 8.02 39 49 0.66
Jose Altuve HOU 2B 74.0 3.8 8.92 37 25 0.81
Kris Bryant COL OF,Oth 74.2 2.3 8.45 96 37 0.36
Brandon Lowe TBR 2B 76.9 4.4 8.35 24 39 0.92
Jorge Polanco MIN IF 77.8 3.1 9.08 58 17 0.56
Corey Seager TEX SS 78.2 4.5 7.58 21 60 0.75
Jazz Chisholm Jr. MIA IF 78.4 1.8 6.72 136 83 0.28
Ketel Marte ARI IF 78.4 3.7 8.09 38 45 0.65
José Abreu CHW 1B 79.0 2.1 8.18 116 40 0.46
Bobby Witt Jr. KCR SS 84.4 2.4 NA 87 -6 0.42
Alex Bregman HOU 3B 88.4 4.5 6.57 20 92 0.74
J.D. Martinez BOS OF 88.5 2.0 7.97 122 50 0.40
Tommy Edman STL 2B 91.2 2.3 5.98 99 116 0.54
Jonathan India CIN 2B 91.7 3.8 8.54 36 35 0.84
Daulton Varsho ARI C,Oth 92.8 2.2 5.35 102 144 0.37
Bryan Reynolds PIT OF 92.9 4.3 8.90 26 26 0.77
Giancarlo Stanton NYY OF 95.8 2.3 6.94 94 77 0.51
Christian Yelich MIL OF 97.8 2.9 6.00 63 115 0.59
Carlos Correa MIN SS 98.7 4.7 7.62 13 58 0.92
Yasmani Grandal CHW C 102.2 4.0 6.42 34 99 0.90
Cody Bellinger LAD OF 104.8 3.1 3.42 57 231 0.61
Mitch Haniger SEA OF 108.5 2.5 8.13 84 42 0.50
Willson Contreras CHC C 109.6 2.7 5.73 73 133 0.75
Kyle Schwarber PHI OF 110.8 2.7 8.03 71 48 0.61
Anthony Rendon LAA 3B 111.1 4.3 4.02 25 202 0.70
Jesse Winker SEA OF 116.2 3.3 8.07 48 47 0.74
Jared Walsh LAA 1B 119.2 2.2 7.50 106 62 0.52
Dansby Swanson ATL SS 120.5 2.7 7.47 70 64 0.49
Ryan Mountcastle BAL OF,Oth 120.7 1.6 7.75 164 56 0.26
Franmil Reyes CLE OF 121.8 1.9 7.85 130 52 0.32
Rhys Hoskins PHI OF,Oth 122.9 3.0 7.86 62 51 0.64
C.J. Cron COL 1B 123.2 1.7 7.50 147 63 0.32
DJ LeMahieu NYY IF 123.3 2.3 4.85 93 162 0.38
Willy Adames MIL SS 123.7 3.3 7.53 51 61 0.60
Max Muncy LAD IF 126.5 3.2 7.35 54 65 0.68
Jake Cronenworth SDP 2B 127.9 3.4 7.33 46 66 0.74
Myles Straw CLE OF 128.4 2.3 4.71 98 164 0.39
Josh Bell WSN 1B 129.3 1.9 7.22 133 70 0.44
Tyler Stephenson CIN C 137.4 2.9 5.17 65 147 0.78
Chris Taylor LAD OF,Oth 141.6 2.2 6.50 101 95 0.37
Joey Votto CIN 1B 142.1 1.9 8.09 132 46 0.41
Lourdes Gurriel Jr. TOR OF 144.1 1.3 6.59 195 90 0.23
Jarred Kelenic SEA OF 144.8 1.4 4.48 186 177 0.25
Ke'Bryan Hayes PIT 3B 145.1 3.3 5.07 50 152 0.53
Keibert Ruiz WSN C 145.1 2.2 4.18 108 195 0.65
Trent Grisham SDP OF 146.8 3.1 6.26 59 107 0.63
Austin Meadows TBR OF 149.0 1.5 6.97 168 76 0.25
Justin Turner LAD 3B 151.0 3.0 7.15 61 72 0.43
Akil Baddoo DET OF 156.3 1.6 6.45 158 97 0.29
Ty France SEA 1B 157.7 2.4 6.86 91 80 0.57
Yoán Moncada CHW 3B 158.1 3.4 6.18 47 109 0.59
Ryan McMahon COL IF 158.2 2.1 6.66 118 87 0.32
Gleyber Torres NYY IF 158.6 2.5 4.52 79 174 0.45
Mitch Garver TEX C 161.0 2.4 4.87 89 161 0.70
Hunter Renfroe MIL OF 161.3 1.7 7.31 150 67 0.31
Nelson Cruz WSN OF 167.6 1.4 7.13 188 73 0.16
Adolis García TEX OF 167.8 1.2 6.70 201 85 0.20
Dylan Carlson STL OF 168.0 2.5 6.72 78 84 0.43
Brendan Rodgers COL IF 168.8 1.6 6.08 160 113 0.23
Marcell Ozuna ATL OF 169.2 2.2 3.61 109 219 0.47
Alex Verdugo BOS OF 170.0 2.4 6.45 86 98 0.41
Avisaíl García MIA OF 171.1 2.3 7.84 92 53 0.44
Amed Rosario CLE SS 172.6 1.9 5.90 125 119 0.32
Matt Chapman TOR 3B 174.5 3.6 5.54 41 135 0.63
Joey Gallo NYY OF 178.7 3.5 7.21 42 71 0.64
Eddie Rosario ATL OF 180.0 0.9 5.81 248 125 0.14
Alex Kirilloff MIN OF,Oth 180.3 1.6 5.07 159 151 0.24
Josh Donaldson NYY 3B 182.8 3.3 5.83 49 122 0.56
Anthony Rizzo NYY 1B 187.4 2.1 6.83 114 81 0.49
Luis Urías MIL IF 190.2 2.5 6.41 81 100 0.41
Andrew Benintendi KCR OF 192.2 1.9 6.51 126 93 0.38
Robbie Grossman DET OF 192.2 1.7 6.28 155 104 0.29
Jorge Soler MIA OF 192.3 1.6 5.88 162 120 0.25
Kolten Wong MIL 2B 194.7 2.5 6.94 80 78 0.63
Eduardo Escobar NYM IF 202.3 1.9 7.00 129 75 0.30
Christian Vázquez BOS C 202.4 1.7 3.37 149 237 0.45
Eugenio Suárez SEA 3B 204.3 2.2 4.98 104 156 0.34
Jean Segura PHI IF 205.1 2.3 6.79 95 82 0.40
Trey Mancini BAL OF,Oth 208.7 1.4 5.75 191 128 0.21
Yuli Gurriel HOU 1B 209.5 1.4 6.46 192 96 0.19
Adley Rutschman BAL C 211.8 2.1 NA 113 -2 0.60
Oneil Cruz 0 SS 212.2 1.8 NA 142 -46 0.29
Adam Duvall ATL OF 214.6 1.7 5.66 143 134 0.27
Jonathan Schoop DET IF 215.4 1.7 6.51 151 94 0.37
Ian Happ CHC OF 219.1 2.1 6.13 115 111 0.35
Michael Conforto 0 OF 220.6 2.5 4.46 83 179 0.52
AJ Pollock LAD OF 220.9 1.8 6.28 134 105 0.33
Jo Adell LAA OF 221.0 0.6 5.43 296 140 0.04
Brandon Crawford SFG SS 222.5 2.7 7.72 69 57 0.51
Bobby Dalbec BOS 1B 223.3 1.7 5.84 146 121 0.35
Travis d'Arnaud ATL C 225.6 1.4 2.76 190 280 0.39
Enrique Hernández BOS OF,Oth 225.8 2.8 6.66 66 88 0.53
Elias Díaz COL C 226.5 1.3 4.01 194 205 0.35
Alejandro Kirk TOR C 226.8 1.8 3.41 135 234 0.49
Brandon Belt SFG 1B 233.8 2.5 7.59 77 59 0.61
Jesús Sánchez MIA OF 234.0 2.2 6.61 107 89 0.36
Luke Voit SDP 1B 236.8 1.3 4.61 196 170 0.17
Charlie Blackmon COL OF 237.3 0.6 6.02 294 114 0.06
Harrison Bader STL OF 239.4 2.9 6.14 64 110 0.55
Frank Schwindel CHC 1B 239.6 0.8 8.11 262 44 0.10
Gary Sánchez MIN C 242.4 1.1 3.48 221 228 0.24
Jonathan Villar CHC IF 242.5 1.2 4.71 204 163 0.13
Jeimer Candelario DET 3B 243.0 3.2 6.20 53 108 0.49
Josh Rojas ARI OF,Oth 246.8 1.5 5.45 172 138 0.27
Austin Hays BAL OF 247.4 1.7 6.67 145 86 0.28
Sean Murphy OAK C 248.3 2.5 3.53 85 224 0.72
Julio Rodríguez SEA OF 250.5 2.6 NA 74 -33 0.60
Ramón Laureano OAK OF 250.7 2.6 5.95 75 118 0.48
Nathaniel Lowe TEX 1B 251.1 1.8 6.34 139 101 0.39
Mike Zunino TBR C 251.6 2.0 5.01 124 155 0.58
Michael Brantley HOU OF 252.3 2.0 5.35 123 143 0.39
Nicky Lopez KCR IF 254.1 1.8 5.54 141 136 0.26
Omar Narváez MIL C 254.9 1.7 2.99 153 266 0.47
Tommy Pham CIN OF 257.9 1.7 5.07 156 150 0.34
Andrew Vaughn CHW OF 263.5 1.2 4.68 202 166 0.21
Riley Greene DET OF 267.3 1.7 NA 154 -48 0.34
Miguel Sanó MIN IF 277.3 0.8 6.28 267 103 0.08
Joey Bart SFG C 277.8 0.9 NA 253 -27 0.21
Carson Kelly ARI C 281.3 1.9 3.68 128 216 0.53
Mark Canha NYM OF 282.7 1.7 6.58 152 91 0.35
Gavin Lux LAD IF 283.6 1.5 3.69 170 215 0.19
Lane Thomas WSN OF 285.4 1.1 4.38 226 183 0.16
Mike Yastrzemski SFG OF 291.1 2.2 6.31 110 102 0.38
Andrés Giménez CLE IF 291.8 1.7 3.42 144 232 0.24
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.90 161 159 0.21
Wil Myers SDP OF 294.5 1.1 5.74 229 129 0.18
Max Kepler MIN OF 295.3 2.5 6.26 82 106 0.45
Raimel Tapia TOR OF 297.2 0.3 4.20 366 194 0.02
Max Stassi LAA C 300.6 1.8 3.95 138 207 0.51
Jesús Aguilar MIA 1B 304.3 1.1 5.21 223 146 0.14
Anthony Santander BAL OF 305.1 1.3 5.03 193 153 0.21
Eric Haase DET C 313.9 0.7 3.74 277 212 0.12
Jeff McNeil NYM OF,Oth 314.1 1.9 4.27 131 188 0.38
Gio Urshela MIN 3B 320.0 1.4 3.89 184 209 0.14
Garrett Hampson COL OF,Oth 322.9 0.3 3.12 353 257 0.01
Yadier Molina STL C 324.2 1.2 3.29 216 242 0.27
Cavan Biggio TOR 2B 325.7 1.4 3.19 180 252 0.20
Andrew McCutchen MIL OF 327.4 0.9 5.77 243 127 0.12
Alec Bohm PHI 3B 328.8 1.4 3.88 178 210 0.19
Brandon Nimmo NYM OF 331.0 3.0 5.73 60 132 0.58
Connor Joe COL OF,Oth 345.9 0.7 4.23 276 192 0.07
Ha-Seong Kim SDP IF 348.4 1.5 3.14 171 254 0.20
Randal Grichuk COL OF 349.8 0.6 4.96 305 157 0.05
Rowdy Tellez MIL 1B 355.5 0.8 3.62 269 217 0.12
Nick Madrigal CHC 2B 358.8 1.8 4.47 140 178 0.41
Rafael Ortega CHC OF 363.8 0.9 5.42 257 141 0.11
Abraham Toro SEA IF 364.9 1.4 3.45 177 230 0.16
Tyler Naquin CIN OF 366.3 0.7 6.08 289 112 0.09
Patrick Wisdom CHC 3B 369.7 1.3 5.96 197 117 0.13
Luis Arraez MIN IF 372.3 1.5 4.33 174 187 0.22
LaMonte Wade Jr. SFG OF 373.7 1.0 5.81 236 123 0.13
Austin Nola SDP C,Oth 379.5 1.4 2.78 179 278 0.21
James McCann NYM C 382.9 1.4 2.44 185 292 0.37
Mike Moustakas CIN IF 383.4 0.9 2.89 255 273 0.10
Nick Senzel CIN OF 390.4 1.0 2.99 237 267 0.15
Josh Harrison CHW 2B 397.7 1.2 4.60 207 172 0.15
Danny Jansen TOR C 400.1 2.0 3.73 121 213 0.55
César Hernández WSN 2B 414.5 1.7 4.95 148 158 0.37
Adam Frazier SEA OF,Oth 415.1 2.0 5.73 120 131 0.41
Manuel Margot TBR OF 418.2 1.1 4.33 227 186 0.16
Vidal Bruján 0 OF,Oth 422.0 0.8 NA 271 -58 0.10
Joey Wendle MIA IF 426.3 1.4 5.39 187 142 0.17
David Fletcher LAA 2B 430.3 1.4 4.23 181 193 0.21
Brandon Marsh LAA OF 432.3 1.1 3.25 217 247 0.19
Keston Hiura MIL 2B 432.5 0.2 1.64 393 333 0.01
Kyle Lewis SEA OF 439.2 1.2 3.34 209 240 0.21
Jacob Stallings MIA C 447.4 2.2 3.03 105 262 0.67
Jeremy Peña HOU SS 451.0 1.8 NA 137 -26 0.25
Jorge Mateo BAL OF,Oth 455.6 0.5 3.13 317 255 0.04
Luis Torrens SEA C 455.6 0.7 2.60 281 286 0.08
Dominic Smith NYM OF,Oth 458.7 0.5 2.92 315 270 0.04
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 3.45 377 229 0.02
Tony Kemp OAK OF,Oth 461.7 1.6 5.44 165 139 0.28
Hunter Dozier KCR OF,Oth 462.3 0.6 3.95 295 206 0.05
Jorge Alfaro SDP C 464.6 0.2 2.06 389 313 0.03
Yan Gomes CHC C 465.9 1.5 2.99 176 265 0.42
MJ Melendez KCR C 466.1 0.5 NA 323 -43 0.06
Willie Calhoun TEX OF 470.0 0.2 3.05 408 258 0.00
Josh Lowe TBR OF 472.9 0.3 NA 359 -31 0.00
Darin Ruf SFG OF,Oth 478.1 0.9 4.61 246 171 0.13
J.P. Crawford SEA SS 478.9 2.4 5.16 88 148 0.44
Wilmer Flores SFG 2B 479.1 1.3 4.63 200 169 0.16
Evan Longoria SFG 3B 480.2 1.4 4.66 183 167 0.20
Lorenzo Cain MIL OF 480.7 1.5 4.88 173 160 0.26
Victor Robles WSN OF 484.0 1.0 2.39 240 296 0.16
Yandy Díaz TBR IF 484.0 1.6 4.46 166 180 0.26
Eric Hosmer SDP 1B 484.9 0.4 4.64 327 168 0.02
Tucker Barnhart DET C 486.8 1.3 2.41 199 295 0.33
Joc Pederson SFG OF 491.3 0.9 4.39 252 181 0.11
Miguel Rojas MIA SS 492.7 2.3 5.27 97 145 0.38
Ryan Jeffers MIN C 492.9 1.6 2.89 163 272 0.43
Sam Hilliard COL OF 495.5 0.4 4.58 338 173 0.02
Pavin Smith ARI OF,Oth 497.3 0.7 4.52 283 175 0.06
Paul DeJong STL SS 498.0 2.1 4.38 117 182 0.35
Clint Frazier CHC OF 499.5 0.3 2.03 350 315 0.01
Bryson Stott PHI SS 501.8 1.0 NA 233 -8 0.08
Seth Brown OAK OF 507.5 0.7 5.80 285 126 0.08
Nick Solak TEX 2B 508.6 0.6 3.25 303 246 0.08
Brian Anderson MIA OF,Oth 510.8 1.9 4.07 127 199 0.28
Francisco Mejía TBR C 511.4 1.2 2.56 203 288 0.31
Bobby Bradley CLE 1B 511.6 0.5 4.34 309 185 0.03
Chas McCormick HOU OF 511.8 1.1 4.02 218 203 0.20
Jarren Duran 0 OF 512.4 0.4 2.10 331 312 0.03
Bradley Zimmer CLE OF 516.3 0.7 3.22 272 249 0.07
Christian Walker ARI 1B 518.5 0.7 3.74 275 211 0.08
Rougned Odor BAL 2B 518.5 0.6 3.36 306 239 0.09
Jose Barrero CIN SS 518.7 1.2 1.43 205 348 0.11
Tyler Wade LAA IF 519.7 0.3 2.24 373 303 0.03
Edmundo Sosa STL IF 520.2 1.4 3.41 182 235 0.16
Nico Hoerner CHC IF 523.5 1.4 3.04 189 260 0.15
J.D. Davis NYM OF,Oth 524.0 0.9 3.02 250 263 0.09
Carlos Santana KCR 1B 524.8 0.7 3.72 274 214 0.09
David Peralta ARI OF 525.8 1.1 4.36 219 184 0.18
Didi Gregorius PHI SS 526.4 0.9 3.12 247 256 0.06
Aaron Hicks NYY OF 527.0 1.6 2.42 157 294 0.27
Gavin Sheets CHW OF 527.5 0.8 5.14 263 149 0.09
Dylan Moore SEA OF,Oth 527.8 0.5 1.78 316 327 0.05
Kyle Farmer CIN SS 528.8 1.1 4.02 225 204 0.10
Pedro Severino MIL C 532.5 0.9 2.00 256 317 0.20
Garrett Cooper MIA OF,Oth 532.8 1.1 5.02 220 154 0.16
Michael A. Taylor KCR OF 533.0 1.2 4.09 212 198 0.21
Robinson Canó NYM 2B 533.8 0.3 NA 367 -49 0.03
Kole Calhoun TEX OF 534.0 1.1 3.29 224 243 0.17
CJ Abrams SDP SS 534.7 0.3 NA 349 -10 0.02
Kevin Smith OAK 3B 535.0 1.0 NA 234 -34 0.12
Jake Fraley CIN OF 537.7 0.8 3.55 264 223 0.10
José Iglesias COL SS 537.8 1.2 4.27 206 189 0.14
Tyrone Taylor MIL OF 538.7 1.0 3.61 239 220 0.15
Ramón Urías BAL IF 539.1 1.5 4.25 175 190 0.18
Steven Kwan CLE OF 542.4 0.7 NA 287 -54 0.09
Brad Miller TEX IF 544.0 1.5 4.48 169 176 0.17
Kyle Higashioka NYY C 544.1 1.0 2.12 235 309 0.23
Tom Murphy SEA C 545.2 1.2 1.76 214 329 0.30
Jurickson Profar SDP OF,Oth 549.6 0.3 3.23 360 248 0.02
Leury García CHW OF 550.7 0.6 3.62 300 218 0.07
Miguel Cabrera DET DH 550.7 -0.4 3.53 529 225 0.00
Bryan De La Cruz 0 OF 551.7 0.7 2.29 273 299 0.07
Seth Beer ARI 1B 553.5 0.3 NA 369 -53 0.01
Jonah Heim TEX C 553.7 0.9 1.39 254 351 0.19
Kyle Isbel KCR OF 555.4 0.6 3.26 298 244 0.03
Roberto Pérez PIT C 555.5 1.3 2.39 198 297 0.34
Andy Ibáñez TEX 2B 559.2 1.5 3.60 167 221 0.28
Anthony Alford PIT OF 564.0 0.0 3.15 459 253 -0.02
Carter Kieboom WSN 3B 564.7 0.8 1.86 260 324 0.09
Tommy La Stella SFG 2B 565.3 1.2 3.37 215 238 0.14
Cristian Pache OAK OF 567.8 0.8 1.08 261 368 0.10
Justin Upton LAA OF 568.0 0.2 3.41 391 233 0.00
Martín Maldonado HOU C 568.5 1.2 1.96 211 319 0.26
Elvis Andrus OAK SS 568.8 0.9 3.04 249 259 0.06
Santiago Espinal TOR 3B 570.5 0.8 3.03 270 261 0.07
Alek Thomas ARI OF 572.3 0.9 NA 242 -3 0.13
Trevor Larnach MIN OF 573.0 0.2 2.15 405 307 0.00
Luis García WSN 2B 573.8 0.7 2.77 280 279 0.09
Niko Goodrum HOU SS 574.0 0.7 2.61 282 284 0.05
Cal Raleigh SEA C 574.1 0.8 0.66 259 407 0.15
Chad Pinder OAK OF 574.5 0.5 3.50 311 227 0.03
Willi Castro DET IF 574.6 0.3 1.12 374 363 0.01
Matt Vierling PHI OF,Oth 575.2 0.6 2.88 302 274 0.05
Manny Piña ATL C 576.2 1.2 2.27 210 300 0.28
Corey Dickerson STL OF 578.0 0.1 2.96 415 269 -0.01
Edward Olivares KCR OF 578.0 0.3 1.46 352 347 0.00
Lars Nootbaar STL OF 578.1 0.2 2.96 395 268 -0.01
Austin Slater SFG OF 578.3 1.0 3.32 231 241 0.14
Jose Siri HOU OF 578.9 0.4 NA 335 -30 0.01
Colin Moran CIN IF 579.3 -0.1 3.20 504 250 -0.01
Aledmys Díaz HOU IF 580.0 0.9 2.59 241 287 0.07
Michael Chavis PIT IF 580.6 0.0 2.92 483 271 -0.01
Ji-Man Choi TBR 1B 580.7 0.7 4.14 278 196 0.07
Jon Berti MIA OF,Oth 581.0 0.4 1.24 334 359 0.03
Ben Gamel PIT OF 581.3 0.9 4.10 244 197 0.12
Jace Peterson MIL OF,Oth 583.0 0.3 2.10 356 311 0.01
Leody Taveras 0 OF 583.8 0.6 1.03 299 372 0.06
Kevin Plawecki BOS C 584.0 0.7 1.62 279 336 0.13
Josh Naylor CLE OF 584.5 0.5 3.01 318 264 0.03
Harold Ramirez TBR OF 584.7 0.1 1.51 428 342 -0.01
Austin Hedges CLE C 586.2 0.5 1.92 308 321 0.08
Victor Caratini SDP C 586.3 0.7 1.08 290 369 0.11
Matt Duffy LAA 3B 587.0 0.6 2.49 301 290 0.06
Jackie Bradley Jr. BOS OF 587.3 0.2 1.64 387 334 0.00
Odúbel Herrera PHI OF 587.5 1.0 4.05 238 201 0.14
Daniel Vogelbach PIT 1B 587.6 0.5 2.62 312 283 0.04
Maikel Franco WSN 3B 587.7 0.0 1.09 480 366 0.00
Cole Tucker PIT OF,Oth 588.0 0.4 2.05 324 314 0.03
Jed Lowrie OAK IF 588.3 0.4 3.25 332 245 0.04
Nick Gordon MIN OF 588.3 0.4 1.40 337 350 0.01
Alcides Escobar WSN SS 588.5 0.2 4.24 379 191 0.01
Nick Ahmed ARI SS 588.6 1.1 3.19 228 251 0.09
Dom Nuñez COL C 588.8 0.5 2.00 314 316 0.07
Aristides Aquino CIN OF 589.0 0.3 2.81 343 276 0.01
Andrelton Simmons CHC SS 589.7 1.0 1.54 230 340 0.08
Kevin Kiermaier TBR OF 590.4 1.2 3.90 208 208 0.22
Yadiel Hernandez WSN OF 590.4 0.1 3.58 454 222 -0.01
Lewin Díaz 0 1B 590.8 0.3 1.78 361 328 0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.80 397 277 0.00
Brett Phillips TBR OF 592.3 0.3 2.25 346 302 0.00
Curt Casali SFG C 592.4 0.9 1.47 245 345 0.18
Taylor Walls TBR SS 592.7 1.2 1.83 213 325 0.12
Edwin Ríos LAD IF 592.8 0.0 0.10 468 466 -0.01
Eric Thames OAK OF,Oth 593.2 0.1 NA 425 -16 -0.01
Oscar Mercado CLE OF 593.9 0.6 2.68 304 281 0.04
Riley Adams WSN C 593.9 0.8 1.54 268 339 0.15
Kevin Pillar LAD OF 594.3 0.5 2.43 319 293 0.03
Robinson Chirinos BAL C 594.4 0.7 2.16 284 306 0.14
Victor Reyes DET OF 594.6 0.4 2.54 341 289 0.01
Austin Barnes LAD C 594.7 0.8 1.52 258 341 0.16
Donovan Solano CIN 2B 594.8 0.4 2.20 326 304 0.04
Jake Meyers HOU OF 595.0 1.1 4.71 222 165 0.20
Jason Heyward CHC OF 595.0 0.9 2.46 251 291 0.11
Stephen Piscotty OAK OF 595.3 -0.2 2.27 524 301 -0.01
William Contreras ATL C 595.4 0.2 0.47 407 438 0.02
Albert Pujols STL 1B 595.5 -0.4 1.78 527 326 0.00
Christian Arroyo BOS 2B 596.2 0.3 1.89 348 322 0.03
Mauricio Dubón SFG OF,Oth 596.5 0.4 1.26 336 356 0.03
Travis Swaggerty 0 OF 596.5 0.4 NA 340 -56 0.03
Khalil Lee 0 OF 596.7 -0.1 NA 513 -35 -0.01
Nick Fortes 0 C 596.7 0.3 NA 364 -45 0.02
Kelvin Gutierrez BAL 3B 597.0 0.2 1.54 392 338 0.02
Yu Chang CLE IF 597.0 0.4 2.19 342 305 0.02
Phil Gosselin 0 OF 597.1 -0.1 0.59 516 421 -0.01
Charlie Culberson 0 OF,Oth 597.2 0.0 1.08 462 367 -0.02
Jake Burger CHW 3B 597.5 0.2 NA 388 -24 0.01
Adam Engel CHW OF 597.6 0.6 4.06 291 200 0.06
Matt Carpenter 0 3B 597.6 0.0 0.79 481 395 0.00
Matt Thaiss LAA IF 597.6 0.1 NA 439 -39 -0.01
Andrew Stevenson WSN OF 597.8 -0.1 1.60 501 337 -0.01
Alex Dickerson ATL OF 598.0 0.2 2.62 380 282 0.00
Miguel Andújar NYY OF 598.0 0.0 0.73 486 404 -0.02
Zach McKinstry 0 OF,Oth 598.0 -0.2 1.10 525 365 -0.01
Kevin Newman PIT SS 598.1 0.6 2.30 297 298 0.04
Mike Brosseau MIL IF 598.1 0.5 1.89 322 323 0.05
Seby Zavala CHW C 598.5 -0.1 1.04 518 371 0.00
Brett Gardner 0 OF 598.6 0.5 1.96 310 320 0.04
Zack Collins CHW C 598.9 0.6 0.94 307 383 0.09
Colton Welker COL IF 599.0 0.2 NA 382 -12 0.00
Michael Hermosillo CHC OF 599.0 0.3 NA 363 -40 0.00
Steven Duggar SFG OF 599.0 0.7 3.50 286 226 0.08
Brent Rooker MIN OF 599.1 0.3 1.98 345 318 0.00
Billy McKinney 0 OF 599.2 0.0 0.66 461 409 -0.02
Kurt Suzuki LAA C 599.2 0.2 0.84 394 391 0.02
Billy Hamilton 0 OF 599.3 -0.1 0.57 502 427 -0.01
David Bote CHC IF 599.3 0.4 0.91 325 385 0.05
Daz Cameron 0 OF 599.3 0.1 0.94 418 381 -0.01
Jose Trevino TEX C 599.3 0.3 0.95 358 380 0.04
Andrew Knizner STL C 599.4 0.6 0.71 292 405 0.09
David Dahl MIL OF 599.4 0.0 0.27 467 458 -0.02
Yonathan Daza COL OF 599.4 0.0 1.36 498 353 -0.02
Austin Allen OAK C 599.5 0.6 NA 293 -5 0.10
Renato Núñez 0 1B 599.6 0.1 0.78 444 398 -0.01
Reese McGuire TOR C 599.7 0.2 0.45 401 440 0.02
Starlin Castro 0 IF 599.8 0.3 0.96 371 378 0.03
Tim Locastro NYY OF 599.8 0.1 0.62 450 418 -0.01
Asdrúbal Cabrera CIN IF 599.9 0.1 1.65 411 332 0.00
Jason Castro HOU C 599.9 0.8 1.63 265 335 0.17
Eli White TEX OF 600.0 0.1 0.96 423 377 -0.01
Harold Castro DET OF,Oth 600.0 -0.1 1.38 507 352 -0.01
Luis Rengifo LAA 2B 600.0 0.3 0.87 362 387 0.04
Thairo Estrada SFG IF 600.0 0.7 2.60 288 285 0.05
Sergio Alcántara ARI IF 600.1 0.3 1.22 368 360 0.02
Greg Allen PIT OF 600.2 0.3 NA 354 -21 0.01
Max Schrock CIN OF 600.2 0.0 1.47 482 344 -0.02
Jordan Luplow ARI OF 600.3 0.8 3.39 266 236 0.10
Josh VanMeter ARI OF,Oth 600.3 0.2 0.59 390 420 0.00
Nomar Mazara SDP OF 600.3 0.1 1.01 441 374 -0.01
Jose Rojas LAA OF 600.4 -0.2 0.83 522 392 0.00
Ryan O'Hearn KCR 1B 600.4 0.0 0.93 491 384 -0.01
DJ Stewart BAL OF 600.5 0.5 2.10 313 310 0.02
Isan Díaz 0 IF 600.5 0.1 0.34 430 448 0.00
Jacob Nottingham BAL C 600.5 0.1 NA 432 -23 0.01
Ryan Vilade 0 OF 600.5 -0.1 NA 517 -51 -0.01
Stephen Vogt OAK C 600.5 0.2 1.11 404 364 0.03
Willians Astudillo MIA IF 600.5 0.0 0.32 497 453 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.46 413 346 -0.01
Cam Gallagher KCR C 600.6 0.3 0.43 347 442 0.05
Hanser Alberto LAD IF 600.6 0.3 1.20 355 361 0.02
Hoy Park PIT 2B 600.6 0.4 0.90 329 386 0.06
Jake Bauers CIN OF,Oth 600.6 -0.1 0.34 508 449 -0.01
Marwin Gonzalez NYY IF 600.6 0.1 0.62 438 419 -0.01
Travis Shaw 0 3B 600.6 0.0 0.77 496 400 0.00
Yonny Hernandez TEX 3B 600.6 0.3 0.58 376 423 0.03
Aramis Garcia CIN C 600.7 0.0 0.32 460 452 0.00
Geraldo Perdomo ARI SS 600.7 0.2 NA 386 -20 0.01
TJ Friedl 0 OF 600.7 0.1 NA 451 -55 -0.01
Andrew Velazquez LAA SS 600.8 0.2 0.98 381 375 0.02
Chris Owings 0 IF 600.8 0.0 0.79 463 396 -0.02
Estevan Florial 0 OF 600.8 0.1 NA 426 -17 -0.01
Evan White SEA 1B 600.8 0.0 0.29 470 457 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 385 -19 0.00
Jahmai Jones 0 2B 600.8 0.0 0.26 471 461 -0.01
Jake Rogers DET C 600.8 0.3 0.83 357 393 0.04
Johan Camargo PHI IF 600.8 0.4 NA 333 -28 0.04
John Nogowski ATL 1B 600.8 0.0 0.27 474 459 -0.01
José Peraza NYY IF 600.8 0.1 0.52 434 432 -0.01
Mickey Moniak PHI OF 600.8 0.0 NA 485 -42 -0.02
Orlando Arcia ATL SS 600.8 0.3 0.85 365 389 0.03
Owen Miller CLE IF 600.8 0.2 0.96 399 379 0.00
Shogo Akiyama CIN OF 600.8 0.0 0.63 493 417 -0.02
Adam Haseley CHW OF 600.9 -0.1 NA 500 -1 -0.01
Andrew Knapp CIN C 600.9 0.0 0.36 458 447 0.00
Gabriel Arias CLE SS 600.9 0.4 NA 328 -18 0.03
Isaac Paredes DET 3B 600.9 0.4 0.56 330 428 0.04
Jack Mayfield LAA IF 600.9 0.1 0.98 431 376 0.00
Lewis Brinson 0 OF 600.9 0.0 0.64 478 413 -0.02
Mitch Moreland 0 1B 600.9 0.2 1.66 398 331 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.80 447 394 0.00
Taylor Trammell 0 OF 600.9 0.0 0.58 494 424 -0.02
Tomás Nido NYM C 600.9 0.3 1.06 372 370 0.03
Wilson Ramos 0 C 600.9 0.3 0.65 375 411 0.05
Jake McCarthy ARI OF 601.0 0.0 2.83 472 275 -0.02
Taylor Ward LAA OF 601.0 0.4 2.14 339 308 0.02
Aaron Altherr 0 OF 999.0 0.1 NA 410 0 -0.01
Adam Eaton 0 OF 999.0 0.2 1.31 378 354 -0.01
Alan Trejo COL IF 999.0 0.0 0.34 456 450 -0.01
Alex Blandino 0 IF 999.0 -0.2 0.36 520 446 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 457 -4 -0.02
Austin Romine 0 C 999.0 0.1 0.25 412 463 0.01
Ben Rortvedt NYY C 999.0 1.0 1.30 232 355 0.22
Brennen Davis CHC OF 999.0 0.3 NA 344 -7 0.01
Brock Holt ATL IF 999.0 -0.1 0.54 503 430 -0.02
Chance Sisco 0 C 999.0 0.1 0.08 414 467 0.01
Christin Stewart BOS OF 999.0 0.0 NA 464 -9 -0.02
Cody Thomas 0 OF 999.0 -0.4 NA 528 -11 0.00
Cooper Hummel ARI C,Oth 999.0 0.3 NA 351 -13 0.01
Curtis Terry MIN DH 999.0 0.2 NA 383 -14 -0.01
Daniel Johnson CLE OF 999.0 0.0 0.66 465 408 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.26 466 460 -0.01
Danny Mendick CHW IF 999.0 0.1 0.64 416 414 0.00
Danny Santana 0 OF,Oth 999.0 0.1 1.15 417 362 -0.01
Delino DeShields MIA OF 999.0 0.1 0.51 419 434 -0.01
Derek Hill DET OF 999.0 0.1 1.51 420 343 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 505 -15 -0.02
Drew Ellis ARI 3B 999.0 0.1 0.41 421 444 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.76 422 330 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.77 424 399 0.01
Eric Sogard 0 2B 999.0 0.0 0.58 469 425 -0.01
Ernie Clement CLE IF 999.0 0.2 0.65 384 410 0.00
Gilberto Celestino MIN OF 999.0 0.1 0.25 427 462 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.26 506 358 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 429 -22 -0.01
Jake Cave MIN OF 999.0 -0.1 0.75 509 402 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.26 433 357 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 521 -25 -0.01
Jarrod Dyson 0 OF 999.0 -0.1 0.74 510 403 -0.01
Joe Panik 0 2B 999.0 0.0 0.57 473 426 -0.01
Jordy Mercer 0 SS 999.0 -0.1 0.49 511 436 0.00
José Devers MIA IF 999.0 0.0 NA 475 -29 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 512 -32 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.71 523 406 0.00
Juan Lagares 0 OF 999.0 0.1 0.84 435 390 -0.02
Khris Davis 0 OF 999.0 0.0 0.76 476 401 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.78 477 397 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 514 -36 -0.01
Luis Campusano SDP C 999.0 0.5 NA 320 -37 0.07
Luis Guillorme NYM IF 999.0 0.2 0.64 396 415 0.01
Luke Maile CLE C 999.0 0.1 NA 436 -38 0.00
Luke Raley TBR OF 999.0 0.1 0.23 437 464 -0.01
Luke Williams SFG OF 999.0 0.0 0.45 479 441 -0.02
Magneuris Sierra LAA OF 999.0 -0.3 0.51 526 435 0.00
Matt Joyce PHI OF 999.0 -0.1 0.30 515 456 -0.01
Michael Perez PIT C 999.0 0.5 0.87 321 388 0.06
Micker Adolfo CHW OF 999.0 0.0 NA 484 -41 -0.02
Nick Allen 0 SS 999.0 0.1 NA 440 -44 0.01
Nick Maton PHI IF 999.0 0.0 0.56 487 429 -0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.51 442 433 -0.01
Patrick Mazeika 0 C 999.0 0.1 0.16 443 465 0.01
Payton Henry MIA C 999.0 0.2 NA 400 -47 0.02
Richie Martin BAL SS 999.0 0.0 0.39 488 445 0.00
Rob Refsnyder BOS OF 999.0 0.0 0.48 489 437 -0.02
Rodolfo Castro 0 2B 999.0 0.1 0.52 445 431 0.00
Roman Quinn 0 OF 999.0 0.0 0.42 490 443 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 446 -50 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.32 448 455 -0.01
Sandy León CLE C 999.0 0.0 0.59 492 422 0.00
Seiya Suzuki CHC DH 999.0 2.6 NA 76 -52 0.64
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.01 402 373 0.00
Sheldon Neuse OAK 2B 999.0 0.3 1.41 370 349 0.01
Skye Bolt OAK OF 999.0 0.2 0.33 403 451 0.00
Taylor Jones HOU 1B 999.0 0.1 0.47 449 439 -0.01
Travis Jankowski NYM OF 999.0 0.0 0.65 495 412 -0.02
Tres Barrera WSN C 999.0 0.1 0.63 452 416 0.02
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 453 -57 -0.01
Vimael Machín 0 IF 999.0 0.2 NA 406 -59 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.94 519 382 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 409 -60 -0.01
Zach Reks 0 OF 999.0 0.0 NA 499 -61 -0.02
Zack Short 0 SS 999.0 0.1 0.32 455 454 0.01

1B

WAR Ranks are for the position, and Pos_Rank is based on Model Score , and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Vladimir Guerrero Jr. TOR IF 5 5.6 9.96 1 1 0.88
Freddie Freeman LAD 1B 18 5.1 9.59 2 3 0.86
Matt Olson ATL 1B 37 4.2 9.04 3 4 0.81
Pete Alonso NYM 1B 45 3.5 8.94 5 5 0.76
Paul Goldschmidt STL 1B 48 3.5 9.79 4 2 0.72
José Abreu CHW 1B 79 2.1 8.18 13 6 0.46
Jared Walsh LAA 1B 119 2.2 7.50 11 12 0.52
Ryan Mountcastle BAL OF,Oth 121 1.6 7.75 21 10 0.26
Rhys Hoskins PHI OF,Oth 123 3.0 7.86 7 9 0.64
C.J. Cron COL 1B 123 1.7 7.50 18 13 0.32
DJ LeMahieu NYY IF 123 2.3 4.85 10 27 0.38
Max Muncy LAD IF 126 3.2 7.35 6 14 0.68
Josh Bell WSN 1B 129 1.9 7.22 15 15 0.44
Joey Votto CIN 1B 142 1.9 8.09 14 8 0.41
Ty France SEA 1B 158 2.4 6.86 9 16 0.57
Alex Kirilloff MIN OF,Oth 180 1.6 5.07 20 25 0.24
Anthony Rizzo NYY 1B 187 2.1 6.83 12 17 0.49
Trey Mancini BAL OF,Oth 209 1.4 5.75 25 23 0.21
Yuli Gurriel HOU 1B 210 1.4 6.46 26 19 0.19
Jonathan Schoop DET IF 215 1.7 6.51 19 18 0.37
Bobby Dalbec BOS 1B 223 1.7 5.84 17 22 0.35
Brandon Belt SFG 1B 234 2.5 7.59 8 11 0.61
Luke Voit SDP 1B 237 1.3 4.61 27 29 0.17
Frank Schwindel CHC 1B 240 0.8 8.11 31 7 0.10
Nathaniel Lowe TEX 1B 251 1.8 6.34 16 20 0.39
Miguel Sanó MIN IF 277 0.8 6.28 32 21 0.08
Jesús Aguilar MIA 1B 304 1.1 5.21 29 24 0.14
Connor Joe COL OF,Oth 346 0.7 4.23 36 35 0.07
Rowdy Tellez MIL 1B 356 0.8 3.62 33 39 0.12
Austin Nola SDP C,Oth 380 1.4 2.78 24 46 0.21
Dominic Smith NYM OF,Oth 459 0.5 2.92 42 42 0.04
Yoshi Tsutsugo PIT OF,Oth 459 0.3 3.45 47 40 0.02
Darin Ruf SFG OF,Oth 478 0.9 4.61 30 30 0.13
Yandy Díaz TBR IF 484 1.6 4.46 22 33 0.26
Eric Hosmer SDP 1B 485 0.4 4.64 43 28 0.02
Pavin Smith ARI OF,Oth 497 0.7 4.52 38 31 0.06
Bobby Bradley CLE 1B 512 0.5 4.34 40 34 0.03
Christian Walker ARI 1B 518 0.7 3.74 35 37 0.08
Carlos Santana KCR 1B 525 0.7 3.72 34 38 0.09
Garrett Cooper MIA OF,Oth 533 1.1 5.02 28 26 0.16
Brad Miller TEX IF 544 1.5 4.48 23 32 0.17
Seth Beer ARI 1B 554 0.3 NA 46 -4 0.01
Matt Vierling PHI OF,Oth 575 0.6 2.88 39 44 0.05
Colin Moran CIN IF 579 -0.1 3.20 65 41 -0.01
Michael Chavis PIT IF 581 0.0 2.92 62 43 -0.01
Ji-Man Choi TBR 1B 581 0.7 4.14 37 36 0.07
Daniel Vogelbach PIT 1B 588 0.5 2.62 41 47 0.04
Lewin Díaz 0 1B 591 0.3 1.78 45 50 0.01
Matt Beaty SDP OF,Oth 591 0.2 2.80 49 45 0.00
Edwin Ríos LAD IF 593 0.0 0.10 59 62 -0.01
Eric Thames OAK OF,Oth 593 0.1 NA 53 -2 -0.01
Albert Pujols STL 1B 596 -0.4 1.78 68 49 0.00
Yu Chang CLE IF 597 0.4 2.19 44 48 0.02
Matt Thaiss LAA IF 598 0.1 NA 54 -3 -0.01
Colton Welker COL IF 599 0.2 NA 48 -1 0.00
Renato Núñez 0 1B 600 0.1 0.78 55 55 -0.01
Ryan O'Hearn KCR 1B 600 0.0 0.93 63 54 -0.01
Willians Astudillo MIA IF 600 0.0 0.32 64 59 -0.01
Jake Bauers CIN OF,Oth 601 -0.1 0.34 66 58 -0.01
Evan White SEA 1B 601 0.0 0.29 60 60 -0.01
John Nogowski ATL 1B 601 0.0 0.27 61 61 -0.01
Owen Miller CLE IF 601 0.2 0.96 51 53 0.00
Mitch Moreland 0 1B 601 0.2 1.66 50 51 0.00
Alex Blandino 0 IF 999 -0.2 0.36 67 57 -0.01
Alfonso Rivas CHC OF,Oth 999 0.0 NA 58 0 -0.02
Danny Santana 0 OF,Oth 999 0.1 1.15 52 52 -0.01
Taylor Jones HOU 1B 999 0.1 0.47 56 56 -0.01
Tyler Nevin BAL OF,Oth 999 0.1 NA 57 -5 -0.01

2B

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Ozzie Albies ATL 2B 18 4.1 9.03 3 3 0.88
Whit Merrifield KCR OF,Oth 33 2.3 7.01 16 10 0.42
Marcus Semien TEX IF 39 4.6 10.13 1 1 0.85
Jose Altuve HOU 2B 74 3.8 8.92 5 4 0.81
Brandon Lowe TBR 2B 77 4.4 8.35 2 6 0.92
Jorge Polanco MIN IF 78 3.1 9.08 9 2 0.56
Jazz Chisholm Jr. MIA IF 78 1.8 6.72 20 13 0.28
Ketel Marte ARI IF 78 3.7 8.09 6 7 0.65
Tommy Edman STL 2B 91 2.3 5.98 15 18 0.54
Jonathan India CIN 2B 92 3.8 8.54 4 5 0.84
DJ LeMahieu NYY IF 123 2.3 4.85 13 25 0.38
Max Muncy LAD IF 126 3.2 7.35 8 8 0.68
Jake Cronenworth SDP 2B 128 3.4 7.33 7 9 0.74
Ryan McMahon COL IF 158 2.1 6.66 17 14 0.32
Gleyber Torres NYY IF 159 2.5 4.52 11 29 0.45
Brendan Rodgers COL IF 169 1.6 6.08 26 17 0.23
Kolten Wong MIL 2B 195 2.5 6.94 12 11 0.63
Jean Segura PHI IF 205 2.3 6.79 14 12 0.40
Jonathan Schoop DET IF 215 1.7 6.51 25 16 0.37
Enrique Hernández BOS OF,Oth 226 2.8 6.66 10 15 0.53
Jonathan Villar CHC IF 242 1.2 4.71 41 26 0.13
Josh Rojas ARI OF,Oth 247 1.5 5.45 31 21 0.27
Nicky Lopez KCR IF 254 1.8 5.54 22 20 0.26
Gavin Lux LAD IF 284 1.5 3.69 29 35 0.19
Andrés Giménez CLE IF 292 1.7 3.42 23 38 0.24
Jeff McNeil NYM OF,Oth 314 1.9 4.27 19 32 0.38
Garrett Hampson COL OF,Oth 323 0.3 3.12 61 48 0.01
Cavan Biggio TOR 2B 326 1.4 3.19 35 45 0.20
Ha-Seong Kim SDP IF 348 1.5 3.14 30 46 0.20
Nick Madrigal CHC 2B 359 1.8 4.47 21 30 0.41
Abraham Toro SEA IF 365 1.4 3.45 34 37 0.16
Luis Arraez MIN IF 372 1.5 4.33 32 31 0.22
Mike Moustakas CIN IF 383 0.9 2.89 45 51 0.10
Josh Harrison CHW 2B 398 1.2 4.60 42 28 0.15
César Hernández WSN 2B 414 1.7 4.95 24 24 0.37
Adam Frazier SEA OF,Oth 415 2.0 5.73 18 19 0.41
Vidal Bruján 0 OF,Oth 422 0.8 NA 46 -3 0.10
Joey Wendle MIA IF 426 1.4 5.39 38 23 0.17
David Fletcher LAA 2B 430 1.4 4.23 36 34 0.21
Keston Hiura MIL 2B 432 0.2 1.64 74 61 0.01
Jorge Mateo BAL OF,Oth 456 0.5 3.13 52 47 0.04
Tony Kemp OAK OF,Oth 462 1.6 5.44 27 22 0.28
Wilmer Flores SFG 2B 479 1.3 4.63 40 27 0.16
Nick Solak TEX 2B 509 0.6 3.25 49 43 0.08
Rougned Odor BAL 2B 518 0.6 3.36 50 41 0.09
Tyler Wade LAA IF 520 0.3 2.24 70 55 0.03
Edmundo Sosa STL IF 520 1.4 3.41 37 39 0.16
Nico Hoerner CHC IF 524 1.4 3.04 39 49 0.15
Dylan Moore SEA OF,Oth 528 0.5 1.78 51 60 0.05
Robinson Canó NYM 2B 534 0.3 NA 66 -2 0.03
Ramón Urías BAL IF 539 1.5 4.25 33 33 0.18
Jurickson Profar SDP OF,Oth 550 0.3 3.23 64 44 0.02
Andy Ibáñez TEX 2B 559 1.5 3.60 28 36 0.28
Tommy La Stella SFG 2B 565 1.2 3.37 43 40 0.14
Luis García WSN 2B 574 0.7 2.77 47 52 0.09
Willi Castro DET IF 575 0.3 1.12 71 67 0.01
Aledmys Díaz HOU IF 580 0.9 2.59 44 54 0.07
Michael Chavis PIT IF 581 0.0 2.92 89 50 -0.01
Jace Peterson MIL OF,Oth 583 0.3 2.10 63 57 0.01
Jed Lowrie OAK IF 588 0.4 3.25 57 42 0.04
Donovan Solano CIN 2B 595 0.4 2.20 55 56 0.04
Christian Arroyo BOS 2B 596 0.3 1.89 60 58 0.03
Mauricio Dubón SFG OF,Oth 596 0.4 1.26 59 64 0.03
Zach McKinstry 0 OF,Oth 598 -0.2 1.10 95 68 -0.01
Mike Brosseau MIL IF 598 0.5 1.89 53 59 0.05
David Bote CHC IF 599 0.4 0.91 54 73 0.05
Starlin Castro 0 IF 600 0.3 0.96 69 70 0.03
Harold Castro DET OF,Oth 600 -0.1 1.38 92 63 -0.01
Luis Rengifo LAA 2B 600 0.3 0.87 65 75 0.04
Thairo Estrada SFG IF 600 0.7 2.60 48 53 0.05
Sergio Alcántara ARI IF 600 0.3 1.22 67 65 0.02
Josh VanMeter ARI OF,Oth 600 0.2 0.59 73 80 0.00
Isan Díaz 0 IF 600 0.1 0.34 79 88 0.00
Hanser Alberto LAD IF 601 0.3 1.20 62 66 0.02
Hoy Park PIT 2B 601 0.4 0.90 56 74 0.06
Chris Owings 0 IF 601 0.0 0.79 83 76 -0.02
Jahmai Jones 0 2B 601 0.0 0.26 86 91 -0.01
Johan Camargo PHI IF 601 0.4 NA 58 0 0.04
José Peraza NYY IF 601 0.1 0.52 80 86 -0.01
Owen Miller CLE IF 601 0.2 0.96 76 71 0.00
Alan Trejo COL IF 999 0.0 0.34 82 89 -0.01
Alex Blandino 0 IF 999 -0.2 0.36 94 87 -0.01
Brock Holt ATL IF 999 -0.1 0.54 91 84 -0.02
Daniel Robertson MIN IF 999 0.0 0.26 84 90 -0.01
Danny Mendick CHW IF 999 0.1 0.64 78 78 0.00
Eric Sogard 0 2B 999 0.0 0.58 85 81 -0.01
Ernie Clement CLE IF 999 0.2 0.65 72 77 0.00
Joe Panik 0 2B 999 0.0 0.57 87 82 -0.01
José Devers MIA IF 999 0.0 NA 88 -1 -0.01
Luis Guillorme NYM IF 999 0.2 0.64 75 79 0.01
Nick Maton PHI IF 999 0.0 0.56 90 83 -0.01
Rodolfo Castro 0 2B 999 0.1 0.52 81 85 0.00
Shed Long Jr. BAL OF,Oth 999 0.2 1.01 77 69 0.00
Sheldon Neuse OAK 2B 999 0.3 1.41 68 62 0.01
Wilmer Difo ARI IF 999 -0.1 0.94 93 72 0.00

3B

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
José Ramírez CLE 3B 3.1 5.9 9.75 1 2 0.94
Vladimir Guerrero Jr. TOR IF 5.0 5.6 9.96 2 1 0.88
Rafael Devers BOS 3B 14.2 4.8 9.58 3 3 0.84
Manny Machado SDP 3B 22.7 4.6 8.93 4 4 0.79
Austin Riley ATL 3B 51.8 3.1 8.38 13 6 0.46
Nolan Arenado STL 3B 69.5 3.7 8.02 7 7 0.66
Kris Bryant COL OF,Oth 74.2 2.3 8.45 17 5 0.36
Alex Bregman HOU 3B 88.4 4.5 6.57 5 11 0.74
Anthony Rendon LAA 3B 111.1 4.3 4.02 6 28 0.70
DJ LeMahieu NYY IF 123.3 2.3 4.85 16 23 0.38
Ke'Bryan Hayes PIT 3B 145.1 3.3 5.07 11 20 0.53
Justin Turner LAD 3B 151.0 3.0 7.15 14 8 0.43
Yoán Moncada CHW 3B 158.1 3.4 6.18 9 15 0.59
Ryan McMahon COL IF 158.2 2.1 6.66 19 10 0.32
Matt Chapman TOR 3B 174.5 3.6 5.54 8 18 0.63
Josh Donaldson NYY 3B 182.8 3.3 5.83 10 17 0.56
Luis Urías MIL IF 190.2 2.5 6.41 15 12 0.41
Eduardo Escobar NYM IF 202.3 1.9 7.00 21 9 0.30
Eugenio Suárez SEA 3B 204.3 2.2 4.98 18 21 0.34
Jeimer Candelario DET 3B 243.0 3.2 6.20 12 14 0.49
Miguel Sanó MIN IF 277.3 0.8 6.28 37 13 0.08
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.90 22 22 0.21
Gio Urshela MIN 3B 320.0 1.4 3.89 29 30 0.14
Alec Bohm PHI 3B 328.8 1.4 3.88 27 31 0.19
Ha-Seong Kim SDP IF 348.4 1.5 3.14 24 34 0.20
Abraham Toro SEA IF 364.9 1.4 3.45 26 32 0.16
Patrick Wisdom CHC 3B 369.7 1.3 5.96 31 16 0.13
Luis Arraez MIN IF 372.3 1.5 4.33 25 26 0.22
Mike Moustakas CIN IF 383.4 0.9 2.89 35 37 0.10
Joey Wendle MIA IF 426.3 1.4 5.39 30 19 0.17
Hunter Dozier KCR OF,Oth 462.3 0.6 3.95 39 29 0.05
Evan Longoria SFG 3B 480.2 1.4 4.66 28 24 0.20
Yandy Díaz TBR IF 484.0 1.6 4.46 23 25 0.26
Brian Anderson MIA OF,Oth 510.8 1.9 4.07 20 27 0.28
J.D. Davis NYM OF,Oth 524.0 0.9 3.02 34 36 0.09
Kevin Smith OAK 3B 535.0 1.0 NA 32 -3 0.12
Carter Kieboom WSN 3B 564.7 0.8 1.86 36 42 0.09
Santiago Espinal TOR 3B 570.5 0.8 3.03 38 35 0.07
Colin Moran CIN IF 579.3 -0.1 3.20 75 33 -0.01
Aledmys Díaz HOU IF 580.0 0.9 2.59 33 38 0.07
Jon Berti MIA OF,Oth 581.0 0.4 1.24 45 46 0.03
Matt Duffy LAA 3B 587.0 0.6 2.49 40 39 0.06
Maikel Franco WSN 3B 587.7 0.0 1.09 70 48 0.00
Edwin Ríos LAD IF 592.8 0.0 0.10 69 68 -0.01
Kelvin Gutierrez BAL 3B 597.0 0.2 1.54 53 45 0.02
Yu Chang CLE IF 597.0 0.4 2.19 46 40 0.02
Charlie Culberson 0 OF,Oth 597.2 0.0 1.08 67 49 -0.02
Jake Burger CHW 3B 597.5 0.2 NA 52 -1 0.01
Matt Carpenter 0 3B 597.6 0.0 0.79 71 54 0.00
Matt Thaiss LAA IF 597.6 0.1 NA 63 -4 -0.01
Mike Brosseau MIL IF 598.1 0.5 1.89 41 41 0.05
Colton Welker COL IF 599.0 0.2 NA 50 0 0.00
David Bote CHC IF 599.3 0.4 0.91 42 52 0.05
Starlin Castro 0 IF 599.8 0.3 0.96 48 51 0.03
Asdrúbal Cabrera CIN IF 599.9 0.1 1.65 56 44 0.00
Isan Díaz 0 IF 600.5 0.1 0.34 60 65 0.00
Willians Astudillo MIA IF 600.5 0.0 0.32 73 66 -0.01
Hanser Alberto LAD IF 600.6 0.3 1.20 47 47 0.02
Marwin Gonzalez NYY IF 600.6 0.1 0.62 62 59 -0.01
Travis Shaw 0 3B 600.6 0.0 0.77 72 56 0.00
Yonny Hernandez TEX 3B 600.6 0.3 0.58 49 60 0.03
Johan Camargo PHI IF 600.8 0.4 NA 44 -2 0.04
Isaac Paredes DET 3B 600.9 0.4 0.56 43 61 0.04
Jack Mayfield LAA IF 600.9 0.1 0.98 61 50 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.80 66 53 0.00
Brock Holt ATL IF 999.0 -0.1 0.54 74 62 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.26 68 67 -0.01
Drew Ellis ARI 3B 999.0 0.1 0.41 57 64 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.76 58 43 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.77 59 55 0.01
Ernie Clement CLE IF 999.0 0.2 0.65 51 57 0.00
Luis Guillorme NYM IF 999.0 0.2 0.64 54 58 0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.51 64 63 -0.01
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 65 -5 -0.01
Vimael Machín 0 IF 999.0 0.2 NA 55 -6 0.01

SS

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Trea Turner LAD SS 1.3 5.6 9.85 1 2 0.96
Bo Bichette TOR SS 4.6 4.7 9.62 2 3 0.89
Tim Anderson CHW SS 30.2 3.2 8.83 13 5 0.58
Trevor Story BOS SS 34.8 4.2 8.58 9 7 0.68
Marcus Semien TEX IF 39.0 4.6 10.13 4 1 0.85
Xander Bogaerts BOS SS 45.7 4.5 8.66 7 6 0.82
Fernando Tatis Jr. SDP SS 47.7 3.4 5.47 11 26 0.63
Francisco Lindor NYM SS 53.9 4.2 7.25 8 16 0.72
Adalberto Mondesi KCR SS 57.1 2.0 5.73 26 24 0.33
Wander Franco TBR SS 58.8 4.5 7.77 6 10 0.78
Javier Báez DET SS 62.4 2.8 8.47 15 8 0.53
Jorge Polanco MIN IF 77.8 3.1 9.08 14 4 0.56
Corey Seager TEX SS 78.2 4.5 7.58 5 13 0.75
Jazz Chisholm Jr. MIA IF 78.4 1.8 6.72 29 19 0.28
Ketel Marte ARI IF 78.4 3.7 8.09 10 9 0.65
Bobby Witt Jr. KCR SS 84.4 2.4 NA 20 0 0.42
Carlos Correa MIN SS 98.7 4.7 7.62 3 12 0.92
Dansby Swanson ATL SS 120.5 2.7 7.47 17 15 0.49
Willy Adames MIL SS 123.7 3.3 7.53 12 14 0.60
Chris Taylor LAD OF,Oth 141.6 2.2 6.50 24 20 0.37
Gleyber Torres NYY IF 158.6 2.5 4.52 18 31 0.45
Brendan Rodgers COL IF 168.8 1.6 6.08 34 22 0.23
Amed Rosario CLE SS 172.6 1.9 5.90 27 23 0.32
Luis Urías MIL IF 190.2 2.5 6.41 19 21 0.41
Eduardo Escobar NYM IF 202.3 1.9 7.00 28 17 0.30
Jean Segura PHI IF 205.1 2.3 6.79 22 18 0.40
Oneil Cruz 0 SS 212.2 1.8 NA 32 -8 0.29
Brandon Crawford SFG SS 222.5 2.7 7.72 16 11 0.51
Jonathan Villar CHC IF 242.5 1.2 4.71 42 30 0.13
Nicky Lopez KCR IF 254.1 1.8 5.54 31 25 0.26
Gavin Lux LAD IF 283.6 1.5 3.69 37 38 0.19
Andrés Giménez CLE IF 291.8 1.7 3.42 33 39 0.24
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.90 35 29 0.21
Ha-Seong Kim SDP IF 348.4 1.5 3.14 38 43 0.20
Jeremy Peña HOU SS 451.0 1.8 NA 30 -5 0.25
J.P. Crawford SEA SS 478.9 2.4 5.16 21 28 0.44
Miguel Rojas MIA SS 492.7 2.3 5.27 23 27 0.38
Paul DeJong STL SS 498.0 2.1 4.38 25 33 0.35
Bryson Stott PHI SS 501.8 1.0 NA 49 -1 0.08
Jose Barrero CIN SS 518.7 1.2 1.43 43 57 0.11
Tyler Wade LAA IF 519.7 0.3 2.24 63 51 0.03
Edmundo Sosa STL IF 520.2 1.4 3.41 40 40 0.16
Nico Hoerner CHC IF 523.5 1.4 3.04 41 46 0.15
Didi Gregorius PHI SS 526.4 0.9 3.12 51 44 0.06
Kyle Farmer CIN SS 528.8 1.1 4.02 46 37 0.10
CJ Abrams SDP SS 534.7 0.3 NA 59 -2 0.02
José Iglesias COL SS 537.8 1.2 4.27 44 34 0.14
Ramón Urías BAL IF 539.1 1.5 4.25 39 35 0.18
Brad Miller TEX IF 544.0 1.5 4.48 36 32 0.17
Elvis Andrus OAK SS 568.8 0.9 3.04 52 45 0.06
Niko Goodrum HOU SS 574.0 0.7 2.61 53 47 0.05
Willi Castro DET IF 574.6 0.3 1.12 64 59 0.01
Aledmys Díaz HOU IF 580.0 0.9 2.59 50 49 0.07
Cole Tucker PIT OF,Oth 588.0 0.4 2.05 56 52 0.03
Jed Lowrie OAK IF 588.3 0.4 3.25 58 41 0.04
Alcides Escobar WSN SS 588.5 0.2 4.24 65 36 0.01
Nick Ahmed ARI SS 588.6 1.1 3.19 47 42 0.09
Andrelton Simmons CHC SS 589.7 1.0 1.54 48 56 0.08
Taylor Walls TBR SS 592.7 1.2 1.83 45 53 0.12
Kevin Newman PIT SS 598.1 0.6 2.30 55 50 0.04
Starlin Castro 0 IF 599.8 0.3 0.96 62 62 0.03
Asdrúbal Cabrera CIN IF 599.9 0.1 1.65 70 55 0.00
Thairo Estrada SFG IF 600.0 0.7 2.60 54 48 0.05
Sergio Alcántara ARI IF 600.1 0.3 1.22 61 58 0.02
Marwin Gonzalez NYY IF 600.6 0.1 0.62 75 68 -0.01
Geraldo Perdomo ARI SS 600.7 0.2 NA 67 -4 0.01
Andrew Velazquez LAA SS 600.8 0.2 0.98 66 60 0.02
Chris Owings 0 IF 600.8 0.0 0.79 80 66 -0.02
José Peraza NYY IF 600.8 0.1 0.52 74 70 -0.01
Orlando Arcia ATL SS 600.8 0.3 0.85 60 64 0.03
Gabriel Arias CLE SS 600.9 0.4 NA 57 -3 0.03
Jack Mayfield LAA IF 600.9 0.1 0.98 73 61 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.80 77 65 0.00
Alan Trejo COL IF 999.0 0.0 0.34 79 73 -0.01
Daniel Robertson MIN IF 999.0 0.0 0.26 81 75 -0.01
Danny Mendick CHW IF 999.0 0.1 0.64 71 67 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.76 72 54 0.01
Jordy Mercer 0 SS 999.0 -0.1 0.49 85 71 0.00
José Devers MIA IF 999.0 0.0 NA 82 -6 -0.01
Nick Allen 0 SS 999.0 0.1 NA 76 -7 0.01
Nick Maton PHI IF 999.0 0.0 0.56 83 69 -0.01
Richie Martin BAL SS 999.0 0.0 0.39 84 72 0.00
Vimael Machín 0 IF 999.0 0.2 NA 68 -9 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.94 86 63 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 69 -10 -0.01
Zack Short 0 SS 999.0 0.1 0.32 78 74 0.01

LF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.8 7.5 9.54 1 1 0.92
Teoscar Hernández TOR OF 27.5 2.2 9.40 15 2 0.40
Tyler O'Neill STL OF 47.2 2.8 8.90 7 4 0.64
Eloy Jiménez CHW OF 65.4 2.2 5.81 11 24 0.45
Randy Arozarena TBR OF 66.1 2.2 7.83 14 7 0.34
Bryan Reynolds PIT OF 92.9 4.3 8.90 2 3 0.77
Christian Yelich MIL OF 97.8 2.9 6.00 6 22 0.59
Kyle Schwarber PHI OF 110.8 2.7 8.03 8 6 0.61
Jesse Winker SEA OF 116.2 3.3 8.07 4 5 0.74
Ryan Mountcastle BAL OF,Oth 120.7 1.6 7.75 27 8 0.26
Chris Taylor LAD OF,Oth 141.6 2.2 6.50 10 16 0.37
Lourdes Gurriel Jr. TOR OF 144.1 1.3 6.59 30 13 0.23
Austin Meadows TBR OF 149.0 1.5 6.97 29 10 0.25
Akil Baddoo DET OF 156.3 1.6 6.45 26 17 0.29
Marcell Ozuna ATL OF 169.2 2.2 3.61 13 46 0.47
Alex Verdugo BOS OF 170.0 2.4 6.45 9 18 0.41
Joey Gallo NYY OF 178.7 3.5 7.21 3 9 0.64
Eddie Rosario ATL OF 180.0 0.9 5.81 40 25 0.14
Andrew Benintendi KCR OF 192.2 1.9 6.51 18 15 0.38
Robbie Grossman DET OF 192.2 1.7 6.28 24 19 0.29
Adam Duvall ATL OF 214.6 1.7 5.66 21 30 0.27
Ian Happ CHC OF 219.1 2.1 6.13 16 21 0.35
AJ Pollock LAD OF 220.9 1.8 6.28 20 20 0.33
Jo Adell LAA OF 221.0 0.6 5.43 49 32 0.04
Jesús Sánchez MIA OF 234.0 2.2 6.61 12 12 0.36
Austin Hays BAL OF 247.4 1.7 6.67 22 11 0.28
Michael Brantley HOU OF 252.3 2.0 5.35 17 34 0.39
Tommy Pham CIN OF 257.9 1.7 5.07 25 35 0.34
Andrew Vaughn CHW OF 263.5 1.2 4.68 31 36 0.21
Mark Canha NYM OF 282.7 1.7 6.58 23 14 0.35
Wil Myers SDP OF 294.5 1.1 5.74 34 28 0.18
Raimel Tapia TOR OF 297.2 0.3 4.20 67 43 0.02
Jeff McNeil NYM OF,Oth 314.1 1.9 4.27 19 41 0.38
Andrew McCutchen MIL OF 327.4 0.9 5.77 37 27 0.12
Brandon Nimmo NYM OF 331.0 3.0 5.73 5 29 0.58
Connor Joe COL OF,Oth 345.9 0.7 4.23 47 42 0.07
Rafael Ortega CHC OF 363.8 0.9 5.42 43 33 0.11
LaMonte Wade Jr. SFG OF 373.7 1.0 5.81 35 23 0.13
Dominic Smith NYM OF,Oth 458.7 0.5 2.92 54 60 0.04
Tony Kemp OAK OF,Oth 461.7 1.6 5.44 28 31 0.28
Willie Calhoun TEX OF 470.0 0.2 3.05 75 55 0.00
Josh Lowe TBR OF 472.9 0.3 NA 64 -7 0.00
Darin Ruf SFG OF,Oth 478.1 0.9 4.61 39 37 0.13
Joc Pederson SFG OF 491.3 0.9 4.39 42 39 0.11
Sam Hilliard COL OF 495.5 0.4 4.58 57 38 0.02
Clint Frazier CHC OF 499.5 0.3 2.03 61 69 0.01
Seth Brown OAK OF 507.5 0.7 5.80 48 26 0.08
Chas McCormick HOU OF 511.8 1.1 4.02 32 45 0.20
J.D. Davis NYM OF,Oth 524.0 0.9 3.02 41 56 0.09
David Peralta ARI OF 525.8 1.1 4.36 33 40 0.18
Dylan Moore SEA OF,Oth 527.8 0.5 1.78 55 72 0.05
Jake Fraley CIN OF 537.7 0.8 3.55 44 49 0.10
Tyrone Taylor MIL OF 538.7 1.0 3.61 36 47 0.15
Jurickson Profar SDP OF,Oth 549.6 0.3 3.23 65 53 0.02
Bryan De La Cruz 0 OF 551.7 0.7 2.29 46 65 0.07
Anthony Alford PIT OF 564.0 0.0 3.15 88 54 -0.02
Justin Upton LAA OF 568.0 0.2 3.41 70 51 0.00
Trevor Larnach MIN OF 573.0 0.2 2.15 74 66 0.00
Chad Pinder OAK OF 574.5 0.5 3.50 52 50 0.03
Corey Dickerson STL OF 578.0 0.1 2.96 78 59 -0.01
Edward Olivares KCR OF 578.0 0.3 1.46 62 77 0.00
Lars Nootbaar STL OF 578.1 0.2 2.96 71 58 -0.01
Ben Gamel PIT OF 581.3 0.9 4.10 38 44 0.12
Josh Naylor CLE OF 584.5 0.5 3.01 56 57 0.03
Harold Ramirez TBR OF 584.7 0.1 1.51 80 74 -0.01
Aristides Aquino CIN OF 589.0 0.3 2.81 59 61 0.01
Yadiel Hernandez WSN OF 590.4 0.1 3.58 86 48 -0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.80 72 62 0.00
Oscar Mercado CLE OF 593.9 0.6 2.68 50 63 0.04
Phil Gosselin 0 OF 597.1 -0.1 0.59 109 89 -0.01
Charlie Culberson 0 OF,Oth 597.2 0.0 1.08 90 78 -0.02
Andrew Stevenson WSN OF 597.8 -0.1 1.60 104 73 -0.01
Alex Dickerson ATL OF 598.0 0.2 2.62 68 64 0.00
Miguel Andújar NYY OF 598.0 0.0 0.73 98 83 -0.02
Brett Gardner 0 OF 598.6 0.5 1.96 51 71 0.04
Michael Hermosillo CHC OF 599.0 0.3 NA 66 -10 0.00
Brent Rooker MIN OF 599.1 0.3 1.98 60 70 0.00
Billy McKinney 0 OF 599.2 0.0 0.66 89 85 -0.02
David Dahl MIL OF 599.4 0.0 0.27 93 94 -0.02
Tim Locastro NYY OF 599.8 0.1 0.62 83 88 -0.01
Eli White TEX OF 600.0 0.1 0.96 79 80 -0.01
Greg Allen PIT OF 600.2 0.3 NA 63 -5 0.01
Max Schrock CIN OF 600.2 0.0 1.47 96 75 -0.02
Jordan Luplow ARI OF 600.3 0.8 3.39 45 52 0.10
DJ Stewart BAL OF 600.5 0.5 2.10 53 68 0.02
Ryan Vilade 0 OF 600.5 -0.1 NA 110 -12 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.46 77 76 -0.01
Jake Bauers CIN OF,Oth 600.6 -0.1 0.34 105 92 -0.01
TJ Friedl 0 OF 600.7 0.1 NA 84 -13 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 69 -4 0.00
Mickey Moniak PHI OF 600.8 0.0 NA 97 -11 -0.02
Shogo Akiyama CIN OF 600.8 0.0 0.63 100 87 -0.02
Adam Haseley CHW OF 600.9 -0.1 NA 103 -1 -0.01
Lewis Brinson 0 OF 600.9 0.0 0.64 95 86 -0.02
Taylor Trammell 0 OF 600.9 0.0 0.58 101 90 -0.02
Taylor Ward LAA OF 601.0 0.4 2.14 58 67 0.02
Aaron Altherr 0 OF 999.0 0.1 NA 76 0 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 87 -2 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 91 -3 -0.02
Daniel Johnson CLE OF 999.0 0.0 0.66 92 84 -0.02
Jake Cave MIN OF 999.0 -0.1 0.75 106 82 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 111 -6 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 107 -8 -0.01
Kyle Garlick MIN OF 999.0 0.0 0.78 94 81 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 108 -9 -0.01
Luke Raley TBR OF 999.0 0.1 0.23 81 95 -0.01
Rob Refsnyder BOS OF 999.0 0.0 0.48 99 91 -0.02
Ryan McKenna BAL OF 999.0 0.1 0.32 82 93 -0.01
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.01 73 79 0.00
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 85 -14 -0.01
Zach Reks 0 OF 999.0 0.0 NA 102 -15 -0.02

RF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.8 7.5 9.54 1 2 0.92
Bryce Harper PHI OF 8.6 5.3 10.14 4 1 0.79
Ronald Acuña Jr. ATL OF 12.0 5.1 8.71 5 9 0.75
Kyle Tucker HOU OF 12.4 4.6 9.44 6 4 0.71
Mookie Betts LAD OF 15.3 5.8 9.12 2 6 0.88
Teoscar Hernández TOR OF 27.5 2.2 9.40 22 5 0.40
Whit Merrifield KCR OF,Oth 33.1 2.3 7.01 18 16 0.42
Aaron Judge NYY OF 36.4 5.3 9.04 3 7 0.84
George Springer TOR OF 57.5 4.2 8.81 7 8 0.67
Nick Castellanos PHI OF 59.5 2.4 9.49 16 3 0.48
Randy Arozarena TBR OF 66.1 2.2 7.83 21 13 0.34
Christian Yelich MIL OF 97.8 2.9 6.00 10 27 0.59
Cody Bellinger LAD OF 104.8 3.1 3.42 9 49 0.61
Mitch Haniger SEA OF 108.5 2.5 8.13 14 10 0.50
Franmil Reyes CLE OF 121.8 1.9 7.85 23 11 0.32
Hunter Renfroe MIL OF 161.3 1.7 7.31 26 14 0.31
Adolis García TEX OF 167.8 1.2 6.70 32 18 0.20
Dylan Carlson STL OF 168.0 2.5 6.72 11 17 0.43
Alex Verdugo BOS OF 170.0 2.4 6.45 15 21 0.41
Avisaíl García MIA OF 171.1 2.3 7.84 17 12 0.44
Joey Gallo NYY OF 178.7 3.5 7.21 8 15 0.64
Alex Kirilloff MIN OF,Oth 180.3 1.6 5.07 28 36 0.24
Robbie Grossman DET OF 192.2 1.7 6.28 27 23 0.29
Jorge Soler MIA OF 192.3 1.6 5.88 29 28 0.25
Trey Mancini BAL OF,Oth 208.7 1.4 5.75 30 31 0.21
Adam Duvall ATL OF 214.6 1.7 5.66 24 33 0.27
Michael Conforto 0 OF 220.6 2.5 4.46 13 41 0.52
Jo Adell LAA OF 221.0 0.6 5.43 53 34 0.04
Jesús Sánchez MIA OF 234.0 2.2 6.61 19 20 0.36
Charlie Blackmon COL OF 237.3 0.6 6.02 51 26 0.06
Austin Hays BAL OF 247.4 1.7 6.67 25 19 0.28
Lane Thomas WSN OF 285.4 1.1 4.38 35 43 0.16
Mike Yastrzemski SFG OF 291.1 2.2 6.31 20 22 0.38
Wil Myers SDP OF 294.5 1.1 5.74 37 32 0.18
Max Kepler MIN OF 295.3 2.5 6.26 12 24 0.45
Anthony Santander BAL OF 305.1 1.3 5.03 31 37 0.21
Randal Grichuk COL OF 349.8 0.6 4.96 55 39 0.05
Tyler Naquin CIN OF 366.3 0.7 6.08 50 25 0.09
LaMonte Wade Jr. SFG OF 373.7 1.0 5.81 39 29 0.13
Manuel Margot TBR OF 418.2 1.1 4.33 36 44 0.16
Hunter Dozier KCR OF,Oth 462.3 0.6 3.95 52 46 0.05
Josh Lowe TBR OF 472.9 0.3 NA 66 -4 0.00
Joc Pederson SFG OF 491.3 0.9 4.39 43 42 0.11
Pavin Smith ARI OF,Oth 497.3 0.7 4.52 48 40 0.06
Clint Frazier CHC OF 499.5 0.3 2.03 64 67 0.01
Seth Brown OAK OF 507.5 0.7 5.80 49 30 0.08
Bradley Zimmer CLE OF 516.3 0.7 3.22 46 54 0.07
Gavin Sheets CHW OF 527.5 0.8 5.14 44 35 0.09
Garrett Cooper MIA OF,Oth 532.8 1.1 5.02 33 38 0.16
Kole Calhoun TEX OF 534.0 1.1 3.29 34 52 0.17
Tyrone Taylor MIL OF 538.7 1.0 3.61 40 47 0.15
Bryan De La Cruz 0 OF 551.7 0.7 2.29 47 61 0.07
Kyle Isbel KCR OF 555.4 0.6 3.26 54 53 0.03
Trevor Larnach MIN OF 573.0 0.2 2.15 69 64 0.00
Chad Pinder OAK OF 574.5 0.5 3.50 56 48 0.03
Edward Olivares KCR OF 578.0 0.3 1.46 65 70 0.00
Lars Nootbaar STL OF 578.1 0.2 2.96 68 56 -0.01
Austin Slater SFG OF 578.3 1.0 3.32 38 51 0.14
Jose Siri HOU OF 578.9 0.4 NA 59 -3 0.01
Ben Gamel PIT OF 581.3 0.9 4.10 41 45 0.12
Josh Naylor CLE OF 584.5 0.5 3.01 58 55 0.03
Harold Ramirez TBR OF 584.7 0.1 1.51 72 68 -0.01
Aristides Aquino CIN OF 589.0 0.3 2.81 62 58 0.01
Brett Phillips TBR OF 592.3 0.3 2.25 63 63 0.00
Victor Reyes DET OF 594.6 0.4 2.54 61 59 0.01
Jason Heyward CHC OF 595.0 0.9 2.46 42 60 0.11
Stephen Piscotty OAK OF 595.3 -0.2 2.27 92 62 -0.01
Khalil Lee 0 OF 596.7 -0.1 NA 86 -6 -0.01
Zach McKinstry 0 OF,Oth 598.0 -0.2 1.10 93 72 -0.01
Billy McKinney 0 OF 599.2 0.0 0.66 78 80 -0.02
Daz Cameron 0 OF 599.3 0.1 0.94 71 74 -0.01
Tim Locastro NYY OF 599.8 0.1 0.62 76 81 -0.01
Jordan Luplow ARI OF 600.3 0.8 3.39 45 50 0.10
Nomar Mazara SDP OF 600.3 0.1 1.01 74 73 -0.01
Jose Rojas LAA OF 600.4 -0.2 0.83 90 75 0.00
DJ Stewart BAL OF 600.5 0.5 2.10 57 66 0.02
Brian Goodwin 0 OF 600.6 0.1 1.46 70 69 -0.01
Jake McCarthy ARI OF 601.0 0.0 2.83 80 57 -0.02
Taylor Ward LAA OF 601.0 0.4 2.14 60 65 0.02
Adam Eaton 0 OF 999.0 0.2 1.31 67 71 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 77 0 -0.02
Daniel Johnson CLE OF 999.0 0.0 0.66 79 79 -0.02
Dexter Fowler 0 OF 999.0 -0.1 NA 83 -1 -0.02
Jake Cave MIN OF 999.0 -0.1 0.75 84 77 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 89 -2 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 85 -5 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.71 91 78 0.00
Kyle Garlick MIN OF 999.0 0.0 0.78 81 76 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 87 -7 -0.01
Luke Raley TBR OF 999.0 0.1 0.23 73 83 -0.01
Matt Joyce PHI OF 999.0 -0.1 0.30 88 82 -0.01
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 75 -8 -0.01
Zach Reks 0 OF 999.0 0.0 NA 82 -9 -0.02

CF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Ronald Acuña Jr. ATL OF 12 5.1 8.71 2 6 0.75
Mike Trout LAA OF 13 6.5 8.93 1 3 0.94
Luis Robert CHW OF 16 4.6 9.46 4 1 0.85
Starling Marte NYM OF 33 2.7 8.14 14 8 0.50
Cedric Mullins BAL OF 33 3.2 9.07 8 2 0.66
Byron Buxton MIN OF 46 4.6 8.56 3 7 0.81
George Springer TOR OF 58 4.2 8.81 6 5 0.67
Ketel Marte ARI IF 78 3.7 8.09 7 9 0.65
Daulton Varsho ARI C,Oth 93 2.2 5.35 20 24 0.37
Bryan Reynolds PIT OF 93 4.3 8.90 5 4 0.77
Cody Bellinger LAD OF 105 3.1 3.42 9 41 0.61
Myles Straw CLE OF 128 2.3 4.71 19 27 0.39
Jarred Kelenic SEA OF 145 1.4 4.48 26 30 0.25
Trent Grisham SDP OF 147 3.1 6.26 10 17 0.63
Akil Baddoo DET OF 156 1.6 6.45 24 13 0.29
Adolis García TEX OF 168 1.2 6.70 27 11 0.20
Dylan Carlson STL OF 168 2.5 6.72 16 10 0.43
Alex Verdugo BOS OF 170 2.4 6.45 18 14 0.41
Ian Happ CHC OF 219 2.1 6.13 21 19 0.35
AJ Pollock LAD OF 221 1.8 6.28 22 15 0.33
Enrique Hernández BOS OF,Oth 226 2.8 6.66 13 12 0.53
Harrison Bader STL OF 239 2.9 6.14 12 18 0.55
Ramón Laureano OAK OF 251 2.6 5.95 15 21 0.48
Lane Thomas WSN OF 285 1.1 4.38 34 31 0.16
Max Kepler MIN OF 295 2.5 6.26 17 16 0.45
Garrett Hampson COL OF,Oth 323 0.3 3.12 64 47 0.01
Brandon Nimmo NYM OF 331 3.0 5.73 11 22 0.58
Randal Grichuk COL OF 350 0.6 4.96 54 25 0.05
Rafael Ortega CHC OF 364 0.9 5.42 41 23 0.11
Tyler Naquin CIN OF 366 0.7 6.08 47 20 0.09
Nick Senzel CIN OF 390 1.0 2.99 37 48 0.15
Manuel Margot TBR OF 418 1.1 4.33 35 32 0.16
Brandon Marsh LAA OF 432 1.1 3.25 31 45 0.19
Kyle Lewis SEA OF 439 1.2 3.34 29 42 0.21
Lorenzo Cain MIL OF 481 1.5 4.88 25 26 0.26
Victor Robles WSN OF 484 1.0 2.39 39 56 0.16
Sam Hilliard COL OF 496 0.4 4.58 61 29 0.02
Chas McCormick HOU OF 512 1.1 4.02 32 36 0.20
Jarren Duran 0 OF 512 0.4 2.10 57 59 0.03
Bradley Zimmer CLE OF 516 0.7 3.22 44 46 0.07
Aaron Hicks NYY OF 527 1.6 2.42 23 55 0.27
Michael A. Taylor KCR OF 533 1.2 4.09 30 33 0.21
Jake Fraley CIN OF 538 0.8 3.55 43 39 0.10
Leury García CHW OF 551 0.6 3.62 51 38 0.07
Bryan De La Cruz 0 OF 552 0.7 2.29 45 57 0.07
Kyle Isbel KCR OF 555 0.6 3.26 49 44 0.03
Cristian Pache OAK OF 568 0.8 1.08 42 70 0.10
Matt Vierling PHI OF,Oth 575 0.6 2.88 52 49 0.05
Austin Slater SFG OF 578 1.0 3.32 36 43 0.14
Jose Siri HOU OF 579 0.4 NA 58 -4 0.01
Leody Taveras 0 OF 584 0.6 1.03 50 71 0.06
Jackie Bradley Jr. BOS OF 587 0.2 1.64 66 61 0.00
Odúbel Herrera PHI OF 588 1.0 4.05 38 35 0.14
Nick Gordon MIN OF 588 0.4 1.40 60 65 0.01
Kevin Kiermaier TBR OF 590 1.2 3.90 28 37 0.22
Brett Phillips TBR OF 592 0.3 2.25 63 58 0.00
Oscar Mercado CLE OF 594 0.6 2.68 53 51 0.04
Kevin Pillar LAD OF 594 0.5 2.43 56 54 0.03
Victor Reyes DET OF 595 0.4 2.54 62 52 0.01
Jake Meyers HOU OF 595 1.1 4.71 33 28 0.20
Jason Heyward CHC OF 595 0.9 2.46 40 53 0.11
Mauricio Dubón SFG OF,Oth 596 0.4 1.26 59 67 0.03
Adam Engel CHW OF 598 0.6 4.06 48 34 0.06
Andrew Stevenson WSN OF 598 -0.1 1.60 92 62 -0.01
Brett Gardner 0 OF 599 0.5 1.96 55 60 0.04
Michael Hermosillo CHC OF 599 0.3 NA 65 -5 0.00
Steven Duggar SFG OF 599 0.7 3.50 46 40 0.08
Billy Hamilton 0 OF 599 -0.1 0.57 93 82 -0.01
Daz Cameron 0 OF 599 0.1 0.94 70 73 -0.01
David Dahl MIL OF 599 0.0 0.27 80 89 -0.02
Yonathan Daza COL OF 599 0.0 1.36 90 66 -0.02
Tim Locastro NYY OF 600 0.1 0.62 78 80 -0.01
Eli White TEX OF 600 0.1 0.96 73 72 -0.01
Brian Goodwin 0 OF 601 0.1 1.46 69 64 -0.01
TJ Friedl 0 OF 601 0.1 NA 79 -7 -0.01
Estevan Florial 0 OF 601 0.1 NA 74 -3 -0.01
Mickey Moniak PHI OF 601 0.0 NA 84 -6 -0.02
Shogo Akiyama CIN OF 601 0.0 0.63 87 79 -0.02
Adam Haseley CHW OF 601 -0.1 NA 91 -1 -0.01
Lewis Brinson 0 OF 601 0.0 0.64 82 78 -0.02
Taylor Trammell 0 OF 601 0.0 0.58 88 81 -0.02
Jake McCarthy ARI OF 601 0.0 2.83 81 50 -0.02
Aaron Altherr 0 OF 999 0.1 NA 68 0 -0.01
Delino DeShields MIA OF 999 0.1 0.51 71 83 -0.01
Derek Hill DET OF 999 0.1 1.51 72 63 -0.01
Dexter Fowler 0 OF 999 -0.1 NA 94 -2 -0.02
Gilberto Celestino MIN OF 999 0.1 0.25 75 90 -0.01
Guillermo Heredia ATL OF 999 -0.1 1.26 95 69 -0.01
Jake Cave MIN OF 999 -0.1 0.75 96 75 -0.01
Jake Marisnick 0 OF 999 0.1 1.26 76 68 -0.01
Jarrod Dyson 0 OF 999 -0.1 0.74 97 76 -0.01
Juan Lagares 0 OF 999 0.1 0.84 77 74 -0.02
Luke Williams SFG OF 999 0.0 0.45 83 86 -0.02
Magneuris Sierra LAA OF 999 -0.3 0.51 98 84 0.00
Rob Refsnyder BOS OF 999 0.0 0.48 85 85 -0.02
Roman Quinn 0 OF 999 0.0 0.42 86 87 -0.02
Skye Bolt OAK OF 999 0.2 0.33 67 88 0.00
Travis Jankowski NYM OF 999 0.0 0.65 89 77 -0.02

OF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.8 7.5 9.54 1 2 0.92
Bryce Harper PHI OF 8.6 5.3 10.14 5 1 0.79
Ronald Acuña Jr. ATL OF 12.0 5.1 8.71 6 14 0.75
Kyle Tucker HOU OF 12.4 4.6 9.44 8 5 0.71
Mike Trout LAA OF 13.0 6.5 8.93 2 10 0.94
Mookie Betts LAD OF 15.3 5.8 9.12 3 7 0.88
Luis Robert CHW OF 16.1 4.6 9.46 9 4 0.85
Teoscar Hernández TOR OF 27.5 2.2 9.40 46 6 0.40
Starling Marte NYM OF 33.0 2.7 8.14 25 17 0.50
Whit Merrifield KCR OF,Oth 33.1 2.3 7.01 38 31 0.42
Cedric Mullins BAL OF 33.2 3.2 9.07 15 8 0.66
Aaron Judge NYY OF 36.4 5.3 9.04 4 9 0.84
Byron Buxton MIN OF 45.6 4.6 8.56 7 15 0.81
Tyler O'Neill STL OF 47.2 2.8 8.90 23 12 0.64
George Springer TOR OF 57.5 4.2 8.81 11 13 0.67
Nick Castellanos PHI OF 59.5 2.4 9.49 33 3 0.48
Eloy Jiménez CHW OF 65.4 2.2 5.81 41 58 0.45
Randy Arozarena TBR OF 66.1 2.2 7.83 45 26 0.34
Kris Bryant COL OF,Oth 74.2 2.3 8.45 36 16 0.36
Ketel Marte ARI IF 78.4 3.7 8.09 12 19 0.65
J.D. Martinez BOS OF 88.5 2.0 7.97 49 22 0.40
Daulton Varsho ARI C,Oth 92.8 2.2 5.35 40 72 0.37
Bryan Reynolds PIT OF 92.9 4.3 8.90 10 11 0.77
Giancarlo Stanton NYY OF 95.8 2.3 6.94 35 33 0.51
Christian Yelich MIL OF 97.8 2.9 6.00 20 54 0.59
Cody Bellinger LAD OF 104.8 3.1 3.42 16 111 0.61
Mitch Haniger SEA OF 108.5 2.5 8.13 31 18 0.50
Kyle Schwarber PHI OF 110.8 2.7 8.03 24 21 0.61
Jesse Winker SEA OF 116.2 3.3 8.07 14 20 0.74
Ryan Mountcastle BAL OF,Oth 120.7 1.6 7.75 67 27 0.26
Franmil Reyes CLE OF 121.8 1.9 7.85 53 24 0.32
Rhys Hoskins PHI OF,Oth 122.9 3.0 7.86 19 23 0.64
Myles Straw CLE OF 128.4 2.3 4.71 37 80 0.39
Chris Taylor LAD OF,Oth 141.6 2.2 6.50 39 42 0.37
Lourdes Gurriel Jr. TOR OF 144.1 1.3 6.59 76 39 0.23
Jarred Kelenic SEA OF 144.8 1.4 4.48 72 86 0.25
Trent Grisham SDP OF 146.8 3.1 6.26 17 49 0.63
Austin Meadows TBR OF 149.0 1.5 6.97 69 32 0.25
Akil Baddoo DET OF 156.3 1.6 6.45 64 43 0.29
Hunter Renfroe MIL OF 161.3 1.7 7.31 58 28 0.31
Nelson Cruz WSN OF 167.6 1.4 7.13 73 30 0.16
Adolis García TEX OF 167.8 1.2 6.70 77 35 0.20
Dylan Carlson STL OF 168.0 2.5 6.72 28 34 0.43
Marcell Ozuna ATL OF 169.2 2.2 3.61 43 104 0.47
Alex Verdugo BOS OF 170.0 2.4 6.45 32 44 0.41
Avisaíl García MIA OF 171.1 2.3 7.84 34 25 0.44
Joey Gallo NYY OF 178.7 3.5 7.21 13 29 0.64
Eddie Rosario ATL OF 180.0 0.9 5.81 101 59 0.14
Alex Kirilloff MIN OF,Oth 180.3 1.6 5.07 65 75 0.24
Andrew Benintendi KCR OF 192.2 1.9 6.51 51 41 0.38
Robbie Grossman DET OF 192.2 1.7 6.28 61 46 0.29
Jorge Soler MIA OF 192.3 1.6 5.88 66 56 0.25
Trey Mancini BAL OF,Oth 208.7 1.4 5.75 74 62 0.21
Adam Duvall ATL OF 214.6 1.7 5.66 56 66 0.27
Ian Happ CHC OF 219.1 2.1 6.13 47 51 0.35
Michael Conforto 0 OF 220.6 2.5 4.46 30 87 0.52
AJ Pollock LAD OF 220.9 1.8 6.28 55 47 0.33
Jo Adell LAA OF 221.0 0.6 5.43 122 69 0.04
Enrique Hernández BOS OF,Oth 225.8 2.8 6.66 22 37 0.53
Jesús Sánchez MIA OF 234.0 2.2 6.61 42 38 0.36
Charlie Blackmon COL OF 237.3 0.6 6.02 120 53 0.06
Harrison Bader STL OF 239.4 2.9 6.14 21 50 0.55
Josh Rojas ARI OF,Oth 246.8 1.5 5.45 70 67 0.27
Austin Hays BAL OF 247.4 1.7 6.67 57 36 0.28
Julio Rodríguez SEA OF 250.5 2.6 NA 26 -18 0.60
Ramón Laureano OAK OF 250.7 2.6 5.95 27 55 0.48
Michael Brantley HOU OF 252.3 2.0 5.35 50 71 0.39
Tommy Pham CIN OF 257.9 1.7 5.07 62 74 0.34
Andrew Vaughn CHW OF 263.5 1.2 4.68 78 82 0.21
Riley Greene DET OF 267.3 1.7 NA 60 -24 0.34
Mark Canha NYM OF 282.7 1.7 6.58 59 40 0.35
Lane Thomas WSN OF 285.4 1.1 4.38 88 89 0.16
Mike Yastrzemski SFG OF 291.1 2.2 6.31 44 45 0.38
Wil Myers SDP OF 294.5 1.1 5.74 90 63 0.18
Max Kepler MIN OF 295.3 2.5 6.26 29 48 0.45
Raimel Tapia TOR OF 297.2 0.3 4.20 160 94 0.02
Anthony Santander BAL OF 305.1 1.3 5.03 75 76 0.21
Jeff McNeil NYM OF,Oth 314.1 1.9 4.27 54 92 0.38
Garrett Hampson COL OF,Oth 322.9 0.3 3.12 154 123 0.01
Andrew McCutchen MIL OF 327.4 0.9 5.77 98 61 0.12
Brandon Nimmo NYM OF 331.0 3.0 5.73 18 65 0.58
Connor Joe COL OF,Oth 345.9 0.7 4.23 113 93 0.07
Randal Grichuk COL OF 349.8 0.6 4.96 128 78 0.05
Rafael Ortega CHC OF 363.8 0.9 5.42 105 70 0.11
Tyler Naquin CIN OF 366.3 0.7 6.08 118 52 0.09
LaMonte Wade Jr. SFG OF 373.7 1.0 5.81 92 57 0.13
Nick Senzel CIN OF 390.4 1.0 2.99 93 127 0.15
Adam Frazier SEA OF,Oth 415.1 2.0 5.73 48 64 0.41
Manuel Margot TBR OF 418.2 1.1 4.33 89 91 0.16
Vidal Bruján 0 OF,Oth 422.0 0.8 NA 110 -31 0.10
Brandon Marsh LAA OF 432.3 1.1 3.25 82 118 0.19
Kyle Lewis SEA OF 439.2 1.2 3.34 80 114 0.21
Jorge Mateo BAL OF,Oth 455.6 0.5 3.13 134 122 0.04
Dominic Smith NYM OF,Oth 458.7 0.5 2.92 132 130 0.04
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 3.45 161 110 0.02
Tony Kemp OAK OF,Oth 461.7 1.6 5.44 68 68 0.28
Hunter Dozier KCR OF,Oth 462.3 0.6 3.95 121 101 0.05
Willie Calhoun TEX OF 470.0 0.2 3.05 173 124 0.00
Josh Lowe TBR OF 472.9 0.3 NA 157 -16 0.00
Darin Ruf SFG OF,Oth 478.1 0.9 4.61 100 83 0.13
Lorenzo Cain MIL OF 480.7 1.5 4.88 71 79 0.26
Victor Robles WSN OF 484.0 1.0 2.39 96 141 0.16
Joc Pederson SFG OF 491.3 0.9 4.39 104 88 0.11
Sam Hilliard COL OF 495.5 0.4 4.58 143 84 0.02
Pavin Smith ARI OF,Oth 497.3 0.7 4.52 114 85 0.06
Clint Frazier CHC OF 499.5 0.3 2.03 151 151 0.01
Seth Brown OAK OF 507.5 0.7 5.80 115 60 0.08
Brian Anderson MIA OF,Oth 510.8 1.9 4.07 52 97 0.28
Chas McCormick HOU OF 511.8 1.1 4.02 83 100 0.20
Jarren Duran 0 OF 512.4 0.4 2.10 138 149 0.03
Bradley Zimmer CLE OF 516.3 0.7 3.22 111 120 0.07
J.D. Davis NYM OF,Oth 524.0 0.9 3.02 102 125 0.09
David Peralta ARI OF 525.8 1.1 4.36 84 90 0.18
Aaron Hicks NYY OF 527.0 1.6 2.42 63 140 0.27
Gavin Sheets CHW OF 527.5 0.8 5.14 107 73 0.09
Dylan Moore SEA OF,Oth 527.8 0.5 1.78 133 154 0.05
Garrett Cooper MIA OF,Oth 532.8 1.1 5.02 85 77 0.16
Michael A. Taylor KCR OF 533.0 1.2 4.09 81 96 0.21
Kole Calhoun TEX OF 534.0 1.1 3.29 87 116 0.17
Jake Fraley CIN OF 537.7 0.8 3.55 108 107 0.10
Tyrone Taylor MIL OF 538.7 1.0 3.61 95 105 0.15
Steven Kwan CLE OF 542.4 0.7 NA 117 -27 0.09
Jurickson Profar SDP OF,Oth 549.6 0.3 3.23 158 119 0.02
Leury García CHW OF 550.7 0.6 3.62 125 103 0.07
Bryan De La Cruz 0 OF 551.7 0.7 2.29 112 142 0.07
Kyle Isbel KCR OF 555.4 0.6 3.26 123 117 0.03
Anthony Alford PIT OF 564.0 0.0 3.15 201 121 -0.02
Cristian Pache OAK OF 567.8 0.8 1.08 106 173 0.10
Justin Upton LAA OF 568.0 0.2 3.41 167 112 0.00
Alek Thomas ARI OF 572.3 0.9 NA 97 -2 0.13
Trevor Larnach MIN OF 573.0 0.2 2.15 172 145 0.00
Chad Pinder OAK OF 574.5 0.5 3.50 130 109 0.03
Matt Vierling PHI OF,Oth 575.2 0.6 2.88 126 131 0.05
Corey Dickerson STL OF 578.0 0.1 2.96 177 129 -0.01
Edward Olivares KCR OF 578.0 0.3 1.46 153 161 0.00
Lars Nootbaar STL OF 578.1 0.2 2.96 168 128 -0.01
Austin Slater SFG OF 578.3 1.0 3.32 91 115 0.14
Jose Siri HOU OF 578.9 0.4 NA 140 -15 0.01
Jon Berti MIA OF,Oth 581.0 0.4 1.24 139 169 0.03
Ben Gamel PIT OF 581.3 0.9 4.10 99 95 0.12
Jace Peterson MIL OF,Oth 583.0 0.3 2.10 156 148 0.01
Leody Taveras 0 OF 583.8 0.6 1.03 124 174 0.06
Josh Naylor CLE OF 584.5 0.5 3.01 135 126 0.03
Harold Ramirez TBR OF 584.7 0.1 1.51 186 157 -0.01
Jackie Bradley Jr. BOS OF 587.3 0.2 1.64 165 155 0.00
Odúbel Herrera PHI OF 587.5 1.0 4.05 94 99 0.14
Cole Tucker PIT OF,Oth 588.0 0.4 2.05 137 150 0.03
Nick Gordon MIN OF 588.3 0.4 1.40 142 162 0.01
Aristides Aquino CIN OF 589.0 0.3 2.81 147 133 0.01
Kevin Kiermaier TBR OF 590.4 1.2 3.90 79 102 0.22
Yadiel Hernandez WSN OF 590.4 0.1 3.58 199 106 -0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.80 169 134 0.00
Brett Phillips TBR OF 592.3 0.3 2.25 150 144 0.00
Eric Thames OAK OF,Oth 593.2 0.1 NA 183 -9 -0.01
Oscar Mercado CLE OF 593.9 0.6 2.68 127 135 0.04
Kevin Pillar LAD OF 594.3 0.5 2.43 136 139 0.03
Victor Reyes DET OF 594.6 0.4 2.54 146 137 0.01
Jake Meyers HOU OF 595.0 1.1 4.71 86 81 0.20
Jason Heyward CHC OF 595.0 0.9 2.46 103 138 0.11
Stephen Piscotty OAK OF 595.3 -0.2 2.27 243 143 -0.01
Mauricio Dubón SFG OF,Oth 596.5 0.4 1.26 141 166 0.03
Travis Swaggerty 0 OF 596.5 0.4 NA 145 -29 0.03
Khalil Lee 0 OF 596.7 -0.1 NA 235 -19 -0.01
Phil Gosselin 0 OF 597.1 -0.1 0.59 238 196 -0.01
Charlie Culberson 0 OF,Oth 597.2 0.0 1.08 203 172 -0.02
Adam Engel CHW OF 597.6 0.6 4.06 119 98 0.06
Andrew Stevenson WSN OF 597.8 -0.1 1.60 225 156 -0.01
Alex Dickerson ATL OF 598.0 0.2 2.62 163 136 0.00
Miguel Andújar NYY OF 598.0 0.0 0.73 216 186 -0.02
Zach McKinstry 0 OF,Oth 598.0 -0.2 1.10 244 171 -0.01
Brett Gardner 0 OF 598.6 0.5 1.96 129 153 0.04
Michael Hermosillo CHC OF 599.0 0.3 NA 159 -21 0.00
Steven Duggar SFG OF 599.0 0.7 3.50 116 108 0.08
Brent Rooker MIN OF 599.1 0.3 1.98 149 152 0.00
Billy McKinney 0 OF 599.2 0.0 0.66 202 189 -0.02
Billy Hamilton 0 OF 599.3 -0.1 0.57 226 198 -0.01
Daz Cameron 0 OF 599.3 0.1 0.94 179 178 -0.01
David Dahl MIL OF 599.4 0.0 0.27 207 210 -0.02
Yonathan Daza COL OF 599.4 0.0 1.36 222 164 -0.02
Tim Locastro NYY OF 599.8 0.1 0.62 196 193 -0.01
Eli White TEX OF 600.0 0.1 0.96 182 177 -0.01
Harold Castro DET OF,Oth 600.0 -0.1 1.38 230 163 -0.01
Greg Allen PIT OF 600.2 0.3 NA 155 -12 0.01
Max Schrock CIN OF 600.2 0.0 1.47 213 159 -0.02
Jordan Luplow ARI OF 600.3 0.8 3.39 109 113 0.10
Josh VanMeter ARI OF,Oth 600.3 0.2 0.59 166 195 0.00
Nomar Mazara SDP OF 600.3 0.1 1.01 192 176 -0.01
Jose Rojas LAA OF 600.4 -0.2 0.83 241 180 0.00
DJ Stewart BAL OF 600.5 0.5 2.10 131 147 0.02
Ryan Vilade 0 OF 600.5 -0.1 NA 239 -26 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.46 176 160 -0.01
Jake Bauers CIN OF,Oth 600.6 -0.1 0.34 231 206 -0.01
Marwin Gonzalez NYY IF 600.6 0.1 0.62 191 194 -0.01
TJ Friedl 0 OF 600.7 0.1 NA 197 -28 -0.01
Chris Owings 0 IF 600.8 0.0 0.79 204 181 -0.02
Estevan Florial 0 OF 600.8 0.1 NA 184 -10 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 164 -11 0.00
Mickey Moniak PHI OF 600.8 0.0 NA 215 -23 -0.02
Shogo Akiyama CIN OF 600.8 0.0 0.63 219 192 -0.02
Adam Haseley CHW OF 600.9 -0.1 NA 224 -1 -0.01
Lewis Brinson 0 OF 600.9 0.0 0.64 211 191 -0.02
Taylor Trammell 0 OF 600.9 0.0 0.58 220 197 -0.02
Jake McCarthy ARI OF 601.0 0.0 2.83 208 132 -0.02
Taylor Ward LAA OF 601.0 0.4 2.14 144 146 0.02
Aaron Altherr 0 OF 999.0 0.1 NA 175 0 -0.01
Adam Eaton 0 OF 999.0 0.2 1.31 162 165 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 200 -3 -0.02
Brennen Davis CHC OF 999.0 0.3 NA 148 -4 0.01
Brock Holt ATL IF 999.0 -0.1 0.54 227 199 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 205 -5 -0.02
Cody Thomas 0 OF 999.0 -0.4 NA 246 -6 0.00
Cooper Hummel ARI C,Oth 999.0 0.3 NA 152 -7 0.01
Daniel Johnson CLE OF 999.0 0.0 0.66 206 188 -0.02
Danny Santana 0 OF,Oth 999.0 0.1 1.15 178 170 -0.01
Delino DeShields MIA OF 999.0 0.1 0.51 180 201 -0.01
Derek Hill DET OF 999.0 0.1 1.51 181 158 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 228 -8 -0.02
Gilberto Celestino MIN OF 999.0 0.1 0.25 185 211 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.26 229 168 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 187 -13 -0.01
Jake Cave MIN OF 999.0 -0.1 0.75 232 184 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.26 188 167 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 240 -14 -0.01
Jarrod Dyson 0 OF 999.0 -0.1 0.74 233 185 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 234 -17 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.71 242 187 0.00
Juan Lagares 0 OF 999.0 0.1 0.84 189 179 -0.02
Khris Davis 0 OF 999.0 0.0 0.76 209 183 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.78 210 182 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 236 -20 -0.01
Luke Raley TBR OF 999.0 0.1 0.23 190 212 -0.01
Luke Williams SFG OF 999.0 0.0 0.45 212 204 -0.02
Magneuris Sierra LAA OF 999.0 -0.3 0.51 245 202 0.00
Matt Joyce PHI OF 999.0 -0.1 0.30 237 209 -0.01
Micker Adolfo CHW OF 999.0 0.0 NA 214 -22 -0.02
Pablo Reyes MIL OF,Oth 999.0 0.1 0.51 193 200 -0.01
Rob Refsnyder BOS OF 999.0 0.0 0.48 217 203 -0.02
Roman Quinn 0 OF 999.0 0.0 0.42 218 205 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 194 -25 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.32 195 208 -0.01
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.01 170 175 0.00
Skye Bolt OAK OF 999.0 0.2 0.33 171 207 0.00
Travis Jankowski NYM OF 999.0 0.0 0.65 221 190 -0.02
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 198 -30 -0.01
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 174 -32 -0.01
Zach Reks 0 OF 999.0 0.0 NA 223 -33 -0.02

C

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Salvador Perez KCR C 32 3.7 8.11 4 1 0.82
J.T. Realmuto PHI C 49 3.8 7.24 3 2 0.86
Will Smith LAD C 53 4.7 6.87 1 3 0.95
Daulton Varsho ARI C,Oth 93 2.2 5.35 9 6 0.37
Yasmani Grandal CHW C 102 4.0 6.42 2 4 0.90
Willson Contreras CHC C 110 2.7 5.73 6 5 0.75
Tyler Stephenson CIN C 137 2.9 5.17 5 7 0.78
Keibert Ruiz WSN C 145 2.2 4.18 11 10 0.65
Mitch Garver TEX C 161 2.4 4.87 8 9 0.70
Christian Vázquez BOS C 202 1.7 3.37 18 19 0.45
Adley Rutschman BAL C 212 2.1 NA 12 0 0.60
Travis d'Arnaud ATL C 226 1.4 2.76 24 26 0.39
Elias Díaz COL C 226 1.3 4.01 25 11 0.35
Alejandro Kirk TOR C 227 1.8 3.41 16 18 0.49
Gary Sánchez MIN C 242 1.1 3.48 33 17 0.24
Sean Murphy OAK C 248 2.5 3.53 7 16 0.72
Mike Zunino TBR C 252 2.0 5.01 14 8 0.58
Omar Narváez MIL C 255 1.7 2.99 19 23 0.47
Joey Bart SFG C 278 0.9 NA 37 -5 0.21
Carson Kelly ARI C 281 1.9 3.68 15 15 0.53
Max Stassi LAA C 301 1.8 3.95 17 12 0.51
Eric Haase DET C 314 0.7 3.74 44 13 0.12
Yadier Molina STL C 324 1.2 3.29 32 20 0.27
Austin Nola SDP C,Oth 380 1.4 2.78 22 25 0.21
James McCann NYM C 383 1.4 2.44 23 29 0.37
Danny Jansen TOR C 400 2.0 3.73 13 14 0.55
Jacob Stallings MIA C 447 2.2 3.03 10 21 0.67
Luis Torrens SEA C 456 0.7 2.60 46 27 0.08
Jorge Alfaro SDP C 465 0.2 2.06 65 35 0.03
Yan Gomes CHC C 466 1.5 2.99 21 22 0.42
MJ Melendez KCR C 466 0.5 NA 56 -8 0.06
Tucker Barnhart DET C 487 1.3 2.41 27 30 0.33
Ryan Jeffers MIN C 493 1.6 2.89 20 24 0.43
Francisco Mejía TBR C 511 1.2 2.56 28 28 0.31
Pedro Severino MIL C 532 0.9 2.00 39 37 0.20
Kyle Higashioka NYY C 544 1.0 2.12 35 34 0.23
Tom Murphy SEA C 545 1.2 1.76 31 40 0.30
Jonah Heim TEX C 554 0.9 1.39 38 46 0.19
Roberto Pérez PIT C 556 1.3 2.39 26 31 0.34
Martín Maldonado HOU C 568 1.2 1.96 30 38 0.26
Cal Raleigh SEA C 574 0.8 0.66 41 58 0.15
Manny Piña ATL C 576 1.2 2.27 29 32 0.28
Kevin Plawecki BOS C 584 0.7 1.62 45 42 0.13
Austin Hedges CLE C 586 0.5 1.92 52 39 0.08
Victor Caratini SDP C 586 0.7 1.08 48 49 0.11
Dom Nuñez COL C 589 0.5 2.00 53 36 0.07
Curt Casali SFG C 592 0.9 1.47 36 45 0.18
Riley Adams WSN C 594 0.8 1.54 43 43 0.15
Robinson Chirinos BAL C 594 0.7 2.16 47 33 0.14
Austin Barnes LAD C 595 0.8 1.52 40 44 0.16
William Contreras ATL C 595 0.2 0.47 70 62 0.02
Nick Fortes 0 C 597 0.3 NA 61 -9 0.02
Seby Zavala CHW C 598 -0.1 1.04 81 51 0.00
Zack Collins CHW C 599 0.6 0.94 51 53 0.09
Kurt Suzuki LAA C 599 0.2 0.84 66 55 0.02
Jose Trevino TEX C 599 0.3 0.95 60 52 0.04
Andrew Knizner STL C 599 0.6 0.71 49 57 0.09
Austin Allen OAK C 600 0.6 NA 50 -1 0.10
Reese McGuire TOR C 600 0.2 0.45 68 63 0.02
Jason Castro HOU C 600 0.8 1.63 42 41 0.17
Jacob Nottingham BAL C 600 0.1 NA 73 -4 0.01
Stephen Vogt OAK C 600 0.2 1.11 69 48 0.03
Willians Astudillo MIA IF 600 0.0 0.32 80 67 -0.01
Cam Gallagher KCR C 601 0.3 0.43 57 64 0.05
Aramis Garcia CIN C 601 0.0 0.32 78 66 0.00
Garrett Stubbs PHI C,Oth 601 0.2 NA 64 -3 0.00
Jake Rogers DET C 601 0.3 0.83 59 56 0.04
Andrew Knapp CIN C 601 0.0 0.36 77 65 0.00
Tomás Nido NYM C 601 0.3 1.06 62 50 0.03
Wilson Ramos 0 C 601 0.3 0.65 63 59 0.05
Austin Romine 0 C 999 0.1 0.25 71 68 0.01
Ben Rortvedt NYY C 999 1.0 1.30 34 47 0.22
Chance Sisco 0 C 999 0.1 0.08 72 70 0.01
Cooper Hummel ARI C,Oth 999 0.3 NA 58 -2 0.01
Luis Campusano SDP C 999 0.5 NA 54 -6 0.07
Luke Maile CLE C 999 0.1 NA 74 -7 0.00
Michael Perez PIT C 999 0.5 0.87 55 54 0.06
Patrick Mazeika 0 C 999 0.1 0.16 75 69 0.01
Payton Henry MIA C 999 0.2 NA 67 -10 0.02
Sandy León CLE C 999 0.0 0.59 79 61 0.00
Tres Barrera WSN C 999 0.1 0.63 76 60 0.02

DH

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Shohei Ohtani LAA DH 8.9 4.0 9.63 2 1 0.73
Yordan Alvarez HOU DH 25.9 4.1 8.56 1 2 0.86
J.D. Martinez BOS OF 88.5 2.0 7.97 5 3 0.40
Giancarlo Stanton NYY OF 95.8 2.3 6.94 4 7 0.51
Franmil Reyes CLE OF 121.8 1.9 7.85 7 4 0.32
Austin Meadows TBR OF 149.0 1.5 6.97 9 6 0.25
Nelson Cruz WSN OF 167.6 1.4 7.13 10 5 0.16
Jorge Soler MIA OF 192.3 1.6 5.88 8 8 0.25
Trey Mancini BAL OF,Oth 208.7 1.4 5.75 11 9 0.21
Michael Brantley HOU OF 252.3 2.0 5.35 6 10 0.39
Rowdy Tellez MIL 1B 355.5 0.8 3.62 13 12 0.12
Luis Torrens SEA C 455.6 0.7 2.60 14 18 0.08
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 3.45 19 14 0.02
Willie Calhoun TEX OF 470.0 0.2 3.05 23 16 0.00
Gavin Sheets CHW OF 527.5 0.8 5.14 12 11 0.09
Miguel Cabrera DET DH 550.7 -0.4 3.53 27 13 0.00
Seth Beer ARI 1B 553.5 0.3 NA 18 -4 0.01
Daniel Vogelbach PIT 1B 587.6 0.5 2.62 15 17 0.04
Jed Lowrie OAK IF 588.3 0.4 3.25 16 15 0.04
Nick Fortes 0 C 596.7 0.3 NA 17 -2 0.02
Jake Burger CHW 3B 597.5 0.2 NA 21 -1 0.01
Renato Núñez 0 1B 599.6 0.1 0.78 24 20 -0.01
Mitch Moreland 0 1B 600.9 0.2 1.66 22 19 0.00
Curtis Terry MIN DH 999.0 0.2 NA 20 0 -0.01
Khris Davis 0 OF 999.0 0.0 0.76 26 21 -0.02
Seiya Suzuki CHC DH 999.0 2.6 NA 3 -3 0.64
Taylor Jones HOU 1B 999.0 0.1 0.47 25 22 -0.01
LS0tDQp0aXRsZTogIjIwMjIgSGl0dGluZyA2eDYgUHJvamVjdGlvbnMiDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6IA0KICBodG1sX25vdGVib29rOg0KICAgIHRoZW1lOiBjZXJ1bGVhbg0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgICBmaWdfY2FwdGlvbjogdHJ1ZQ0KICAgIGRmX3ByaW50OiBwYWdlZA0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSkNCmtuaXRyOjpvcHRzX2tuaXQkc2V0KHJvb3QuZGlyID0gJ0M6L1VzZXJzL0FkbWluL0RvY3VtZW50cy9MZWFybmluZyBQeXRob24gRm9sZGVyMS9QeXRob24gRXNzZW5jZSBUcmFpbmluZy9GYW50YXN5LUJhc2ViYWxsL0RhdGEnKQ0Kb3B0aW9ucyhrbml0ci50YWJsZS5mb3JtYXQgPSAiaHRtbCIpIA0Kb3B0aW9ucyhkaWdpdHM9MikNCm9wdGlvbnMoc2NpcGVuID0gMTAwKQ0KYGBgDQoNCg0KIyMjIyBbR28gYmFjayB0byB0aGUgbWFpbiBwYWdlXShodHRwczovL2Rpc3NpcGF0aW9uLmdpdGh1Yi5pby9EYXJzaERTUG9ydGZvbGlvLykNCg0KDQpBbGwgZGF0YSBpcyBmcm9tIFtGYW5HcmFwaHMuXShodHRwczovL3d3dy5mYW5ncmFwaHMuY29tLykgSSBoYXZlIG5vIGFmZmlsaWF0aW9uIHdpdGggRmFuR3JhcGhzLCBidXQgcGxlYXNlIGNvbnNpZGVyIGNvbnRyaWJ1dGluZyB0byB0aGVpciBbd2Vic2l0ZV0oaHR0cHM6Ly9wbHVzLmZhbmdyYXBocy5jb20vc2hvcC8pIGlmIHlvdSBmb3VuZCB0aGlzIHByb2plY3QgaW5mb3JtYXRpdmUuICAgIA0KDQpQb3NpdGlvbmFsIFNjYXJjaXR5IGlzIGRldGVybWluZWQgYnkgW0FUQyBXQVIgUHJvamVjdGlvbnNdKGh0dHBzOi8vd3d3LmZhbmdyYXBocy5jb20vcHJvamVjdGlvbnMuYXNweD9wb3M9YWxsJnN0YXRzPWJhdCZ0eXBlPWF0YyZ0ZWFtPTAmbGc9YWxsJnBsYXllcnM9MCkgZnJvbSAzLTMxLTIwMjIuICANCg0KKioqICAgIA0KDQojICoqSGl0dGluZyB3aXRoIE9QUyBpbmNsdWRlZCoqIHsudGFic2V0IC50YWJzZXQtcGlsbHN9ICAgDQpQbGF5ZXJzIHRoYXQgaGF2ZSBhbiBgTkFgIGZvciBgTW9kZWxfU2NvcmVgIGRpZCBub3QgcGxheSBpbiB0aGUgTUxCIGluIDIwMjEuVGhlIG1vZGVsIGhhZCBhIFItU3F1YXJlZCBvZiAwLjkyLiBJbmNsdWRlcyB0aGUgT1BTIGNhdGVnb3J5Lg0KYGBge3J9DQojIyMgRmlsbCBpbiBjb2RlDQpgYGANCg0KDQoqKiogICAgDQoNCiMjIEhpdHRlcnMgYnkgUG9zaXRpb24gey50YWJzZXQgLnRhYnNldC1waWxsc30NCk15IG5vbi1ub3JtYWxpemVkIG1vZGVsIHNjb3JlcyBmb3IgYSBwbGF5ZXIgYXJlIGBNb2RlbF9TY29yZWAuICANCg0KIyMjIE92ZXJhbGwNCg0KYGBge3J9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JQ0KZmlsdGVyKFBBID4gMSkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkSGl0dGluZ19SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiSGl0dGluZ19SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KYGBgDQoNCg0KIyMjIDFCDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgDQpgYGB7cn0NCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbjFiID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCg0KIyMjIDJCICAgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICANCmBgYHtyfQ0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbjJiID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCiMjIyAzQiAgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb24zYiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCmBgYA0KDQojIyMgU1MgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25TUyA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICAgDQpgYGANCg0KIyMjIExGICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25MRiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KYGBgDQoNCiMjIyBSRiAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uUkYgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCmBgYA0KDQojIyMgQ0YgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbkNGID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCiMjIyBPRiAgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICANCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uT0YgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQpgYGANCg0KIyMjIEMgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgICANCmBgYHtyfQ0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbkMgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQpgYGANCg0KIyMjIERIICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25ESCA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCg0KDQo=