Event: Round 4: Xue, Tianhao - Luis Manuel Ulloa
Site: https://lichess.org/broadcast/2025-marshall-monthly-u2400--august/round-4/1hLP5mHJ/e1HLuCc3
White: Xue, Tianhao
WhiteTitle: WFM
WhiteElo: 1946
Black: Luis Manuel Ulloa
Result: 0-1
ECO: C15
Opening: French Defense: Winawer Variation, Delayed Exchange Variation
Variant: Standard
TimeControl: 90+30

1. e4 { [%eval 0.18] [%clk 1:30:58] } 1... e6 { [%eval 0.28] [%clk 1:30:48] } 2. d4 { [%eval 0.29] [%clk 1:31:22] } 2... d5 { [%eval 0.37] [%clk 1:31:12] } 3. Nc3 { [%eval 0.28] [%clk 1:31:37] } 3... Bb4 { [%eval 0.4] [%clk 1:31:34] } 4. exd5 { [%eval 0.16] [%clk 1:31:58] } 4... exd5 { [%eval 0.18] [%clk 1:31:30] } 5. Bd3 { [%eval 0.16] [%clk 1:32:22] } 5... Nf6 { [%eval 0.17] [%clk 1:31:28] } 6. Ne2 { [%eval 0.06] [%clk 1:32:44] } 6... O-O { [%eval 0.1] [%clk 1:31:01] } 7. O-O { [%eval 0.0] [%clk 1:33:08] } 7... h6 { [%eval 0.27] [%clk 1:30:59] } 8. Ng3 { [%eval 0.09] [%clk 1:31:37] } 8... Nc6 { [%eval 0.32] [%clk 1:26:08] } 9. Nce2 { [%eval 0.4] [%clk 1:30:23] } 9... Re8 { [%eval 0.33] [%clk 1:25:01] } 10. c3 { [%eval 0.38] [%clk 1:27:10] } 10... Bd6 { [%eval 0.48] [%clk 1:23:42] } 11. Bf4 { [%eval 0.29] [%clk 1:23:44] } 11... Bxf4 { [%eval 0.27] [%clk 1:13:16] } 12. Nxf4 { [%eval 0.24] [%clk 1:24:03] } 12... Qd6 { [%eval 0.2] [%clk 1:13:27] } 13. Nfh5 { [%eval 0.24] [%clk 1:19:56] } 13... g6 { [%eval 0.66] [%clk 1:11:16] } 14. Nxf6+ { [%eval 0.64] [%clk 1:19:31] } 14... Qxf6 { [%eval 0.71] [%clk 1:11:43] } 15. f4 { [%eval 0.62] [%clk 1:19:53] } 15... Ne7 { [%eval 0.71] [%clk 0:56:00] } 16. f5 { [%eval 0.63] [%clk 1:05:07] } 16... Nxf5 { [%eval 0.78] [%clk 0:54:57] } 17. Rf3 { [%eval 0.28] [%clk 1:00:56] } 17... c6 { [%eval 0.78] [%clk 0:44:27] } 18. Bxf5 { [%eval 0.8] [%clk 0:52:11] } 18... Bxf5 { [%eval 0.8] [%clk 0:44:40] } 19. Qf1?! { [%eval 0.06] } { Inaccuracy. Qd2 was best. } { [%clk 0:52:27] } 19... Re6 { [%eval 0.08] [%clk 0:43:01] } 20. Nxf5 { [%eval 0.05] [%clk 0:52:28] } 20... gxf5 { [%eval 0.1] [%clk 0:43:30] } 21. Rxf5 { [%eval 0.16] [%clk 0:52:50] } 21... Qg7 { [%eval 0.09] [%clk 0:43:57] } 22. Qf3 { [%eval 0.0] [%clk 0:47:22] } 22... Rae8 { [%eval 0.0] [%clk 0:42:12] } 23. Rf1 { [%eval 0.0] [%clk 0:46:53] } 23... R8e7 { [%eval 0.0] [%clk 0:42:20] } 24. Rf4 { [%eval 0.0] [%clk 0:39:25] } 24... Rg6 { [%eval 0.25] [%clk 0:39:01] } 25. Kh1 { [%eval 0.0] [%clk 0:34:44] } 25... Rge6 { [%eval 0.0] [%clk 0:36:30] } 26. h3 { [%eval 0.0] [%clk 0:31:22] } 26... Rg6 { [%eval 0.26] [%clk 0:36:11] } 27. Kh2 { [%eval 0.14] [%clk 0:30:29] } 27... Rge6 { [%eval 0.37] [%clk 0:33:41] } 28. Rf2 { [%eval 0.0] [%clk 0:30:32] } 28... Rg6 { [%eval 0.31] [%clk 0:28:53] } 29. b3 { [%eval 0.23] [%clk 0:29:11] } 29... Rge6 { [%eval 0.22] [%clk 0:26:20] } 30. Qh5 { [%eval 0.26] [%clk 0:28:54] } 30... Rg6 { [%eval 0.66] [%clk 0:24:53] } 31. Qf5 { [%eval 0.13] [%clk 0:26:02] } 31... Rg5 { [%eval 0.12] [%clk 0:18:18] } 32. Qd3 { [%eval 0.16] [%clk 0:24:48] } 32... Rg6 { [%eval 0.48] [%clk 0:17:49] } 33. c4 { [%eval 0.42] [%clk 0:24:48] } 33... dxc4 { [%eval 0.42] [%clk 0:15:38] } 34. bxc4 { [%eval 0.47] [%clk 0:25:16] } 34... Rd6 { [%eval 0.57] [%clk 0:14:36] } 35. Qa3 { [%eval 0.37] [%clk 0:25:02] } 35... Red7 { [%eval 0.46] [%clk 0:14:28] } 36. R2f3 { [%eval 0.0] [%clk 0:21:01] } 36... a6? { [%eval 1.2] } { Mistake. Rg6 was best. } { [%clk 0:13:42] } 37. Qe3 { [%eval 0.65] [%clk 0:20:10] } 37... Re6 { [%eval 0.69] [%clk 0:10:38] } 38. Qf2 { [%eval 0.5] [%clk 0:18:57] } 38... Red6? { [%eval 2.01] } { Mistake. Rde7 was best. } { [%clk 0:10:11] } 39. Rd3? { [%eval 0.44] } { Mistake. Re3 was best. } { [%clk 0:15:36] } 39... Rg6 { [%eval 0.54] [%clk 0:09:11] } 40. Re3 { [%eval 0.53] [%clk 0:14:58] } 40... Kh7? { [%eval 1.92] } { Mistake. Qf8 was best. } { [%clk 0:08:45] } 41. Ree4? { [%eval 0.76] } { Mistake. Re8 was best. } { [%clk 0:14:21] } 41... Rgd6? { [%eval 2.42] } { Mistake. Rdd6 was best. } { [%clk 0:07:37] } 42. h4 { [%eval 2.33] [%clk 0:12:49] } 42... Re6?! { [%eval 3.1] } { Inaccuracy. Qf8 was best. } { [%clk 0:05:51] } 43. Rg4?! { [%eval 1.82] } { Inaccuracy. Rxe6 was best. } { [%clk 0:11:55] } 43... Qf6 { [%eval 1.55] [%clk 0:04:16] } 44. Ref4 { [%eval 1.66] [%clk 0:12:16] } 44... Qe7 { [%eval 1.65] [%clk 0:04:32] } 45. Qg3? { [%eval 0.19] } { Mistake. h5 was best. } { [%clk 0:12:02] } 45... Rg6 { [%eval 0.2] [%clk 0:02:38] } 46. Qd3 { [%eval 0.24] [%clk 0:11:45] } 46... Kg7 { [%eval 0.21] [%clk 0:03:02] } 47. Qf5 { [%eval 0.1] [%clk 0:10:10] } 47... Rd6 { [%eval 0.21] [%clk 0:02:47] } 48. h5 { [%eval 0.0] [%clk 0:09:44] } 48... Rg5 { [%eval 0.0] [%clk 0:02:50] } 49. Rf3 { [%eval -0.03] [%clk 0:05:33] } 49... f6 { [%eval 0.05] [%clk 0:02:08] } 50. Qf4 { [%eval 0.0] [%clk 0:02:48] } 50... Re6 { [%eval 0.01] [%clk 0:02:01] } 51. d5 { [%eval -0.1] [%clk 0:01:43] } 51... cxd5 { [%eval -0.02] [%clk 0:02:25] } 52. cxd5 { [%eval -0.06] [%clk 0:02:11] } 52... Re5 { [%eval 0.0] [%clk 0:01:23] } 53. Rxg5+ { [%eval 0.0] [%clk 0:01:21] } 53... hxg5 { [%eval -0.05] [%clk 0:00:56] } 54. Qg3?? { [%eval -2.19] } { Blunder. Qd4 was best. } { [%clk 0:00:38] } 54... Rxd5 { [%eval -2.19] [%clk 0:01:00] } 55. Rc3 { [%eval -2.48] [%clk 0:00:47] } 55... Qe5?? { [%eval 0.0] } { Blunder. Qe8 was best. } { [%clk 0:01:03] } 56. Rc7+ { [%eval 0.0] [%clk 0:00:54] } 56... Kh6 { [%eval 0.0] [%clk 0:01:23] } 57. Rxb7?? { [%eval -2.32] } { Blunder. Qxe5 was best. } { [%clk 0:00:52] } 57... Qxg3+?? { [%eval -0.09] } { Blunder. Kxh5 was best. } { [%clk 0:01:36] } 58. Kxg3 { [%eval -0.09] [%clk 0:01:15] } 58... Kxh5 { [%eval -0.11] [%clk 0:01:55] } 59. Rb6 { [%eval -0.05] [%clk 0:01:37] } 59... Rd3+ { [%eval -0.07] [%clk 0:02:09] } 60. Kh2 { [%eval -0.08] [%clk 0:01:50] } 60... Ra3 { [%eval -0.08] [%clk 0:02:20] } 61. Rb2?? { [%eval -4.55] } { Blunder. Rxf6 was best. } { [%clk 0:02:05] } 61... a5? { [%eval -2.53] } { Mistake. f5 was best. } { [%clk 0:02:40] } 62. Rc2? { [%eval -4.91] } { Mistake. Rf2 was best. } { [%clk 0:02:22] } 62... f5 { [%eval -4.92] [%clk 0:02:58] } 63. Rb2 { [%eval -4.92] [%clk 0:02:42] } 63... Kg4 { [%eval -4.86] [%clk 0:02:58] } 64. Rf2 { [%eval -4.99] [%clk 0:02:57] } 64... f4 { [%eval -5.12] [%clk 0:03:05] } 65. Rc2 { [%eval -5.23] [%clk 0:03:03] } 65... a4 { [%eval -5.06] [%clk 0:03:25] } 66. Rb2 { [%eval -5.0] [%clk 0:03:09] } 66... Rc3 { [%eval -5.16] [%clk 0:02:40] } 67. Rb4 { [%eval -5.23] [%clk 0:03:10] } 67... Ra3 { [%eval -5.06] [%clk 0:02:46] } 68. Rb2 { [%eval -5.0] [%clk 0:03:35] } 68... Kh4 { [%eval -4.92] [%clk 0:02:57] } 69. Rc2 { [%eval -5.76] [%clk 0:03:20] } 69... Kh5 { [%eval -4.96] [%clk 0:02:27] } 70. Rb2 { [%eval -5.07] [%clk 0:03:28] } 70... Kg6 { [%eval -4.78] [%clk 0:02:48] } 71. Rb6+ { [%eval -4.91] [%clk 0:03:39] } 71... Kf5 { [%eval -4.48] [%clk 0:03:08] } 72. Rb5+ { [%eval -4.44] [%clk 0:03:56] } 72... Ke4 { [%eval -4.23] [%clk 0:02:29] } 73. Rb2 { [%eval -5.29] [%clk 0:01:09] } 73... g4 { [%eval -5.17] [%clk 0:02:02] } 74. Rb4+ { [%eval -5.41] [%clk 0:01:00] } 74... Ke3 { [%eval -5.08] [%clk 0:02:20] } 75. Rb2 { [%eval -4.92] [%clk 0:01:20] } 75... f3?? { [%eval -0.03] } { Blunder. Rd3 was best. } { [%clk 0:01:16] } 76. Kg3 { [%eval -0.03] [%clk 0:01:40] } 76... Rd3 { [%eval 0.0] [%clk 0:00:54] } 77. gxf3 { [%eval 0.0] [%clk 0:00:55] } 77... gxf3 { [%eval 0.0] [%clk 0:01:17] } 78. Rf2 { [%eval 0.0] [%clk 0:01:21] } 78... Ke4 { [%eval 0.0] [%clk 0:01:32] } 79. Rc2 { [%eval -0.01] [%clk 0:01:41] } 79... a3 { [%eval 0.0] [%clk 0:01:43] } 80. Kf2?? { [%eval -4.17] } { Blunder. Rf2 was best. } { [%clk 0:01:33] } 80... Kd4 { [%eval -3.53] [%clk 0:01:51] } 81. Kg3 { [%eval -3.7] [%clk 0:01:49] } 81... Rc3?? { [%eval 0.0] } { Blunder. Re3 was best. } { [%clk 0:01:32] } 82. Rf2 { [%eval 0.0] [%clk 0:01:41] } 82... Ke4 { [%eval 0.0] [%clk 0:01:06] } 83. Rd2?? { [%eval -4.97] } { Blunder. Rf1 was best. } { [%clk 0:02:00] } 83... Rc1 { [%eval -4.41] [%clk 0:01:06] } 84. Rf2?? { [%eval #-20] } { Checkmate is now unavoidable. Kf2 was best. } { [%clk 0:01:03] } 84... Rg1+ { [%eval #-20] [%clk 0:01:21] } 85. Kh2 { [%eval #-21] [%clk 0:01:29] } 85... Rg8 { [%eval #-22] [%clk 0:01:35] } 86. Rc2 { [%eval #-34] [%clk 0:01:52] } 86... Ke3 { [%eval #-19] [%clk 0:01:37] } 87. Rc3+ { [%eval #-19] [%clk 0:02:01] } 87... Ke2 { [%eval #-18] [%clk 0:01:55] } 88. Rc7 { [%eval #-19] [%clk 0:01:55] } 88... Kf2 { [%eval #-31] [%clk 0:01:22] } 89. Rc2+ { [%eval #-20] [%clk 0:02:08] } 89... Ke1 { [%eval #-20] [%clk 0:01:20] } 90. Rc1+ { [%eval #-21] [%clk 0:02:26] } 90... Ke2 { [%eval #-22] [%clk 0:01:25] } 91. Rc7 { [%eval #-23] [%clk 0:02:49] } 91... Rg4? { [%eval -7.43] } { Lost forced checkmate sequence. f2 was best. } { [%clk 0:00:53] } 92. Re7+ { [%eval -7.03] [%clk 0:02:40] } 92... Kf2 { [%eval -7.28] [%clk 0:00:50] } 93. Kh3 { [%eval -7.42] [%clk 0:03:03] } 93... Rg1?! { [%eval -5.6] } { Inaccuracy. Rg3+ was best. } { [%clk 0:00:47] } 94. Ra7?! { [%eval -7.9] } { Inaccuracy. Kh2 was best. } { [%clk 0:03:13] } 94... Rh1+ { [%eval -6.85] [%clk 0:00:45] } 95. Kg4 { [%eval -5.82] [%clk 0:03:38] } 95... Rg1+ { [%eval -6.08] [%clk 0:00:39] } 96. Kf4 { [%eval -5.81] [%clk 0:03:16] } 96... Rg8 { [%eval -6.79] [%clk 0:00:58] } 97. Rxa3 { [%eval -7.64] [%clk 0:03:34] } 97... Rf8+ { [%eval -7.35] [%clk 0:01:24] } 98. Ke4 { [%eval -6.24] [%clk 0:04:00] } 98... Kg2 { [%eval -6.01] [%clk 0:01:32] } 99. Rb3?? { [%eval #-32] } { Checkmate is now unavoidable. Rc3 was best. } { [%clk 0:03:35] } 99... f2 { [%eval #-35] [%clk 0:01:57] } 100. Rb2 { [%eval #-39] [%clk 0:04:01] } 100... Kg1 { [%eval -88.29] [%clk 0:02:01] } 101. Rb1+ { [%eval -13.2] [%clk 0:03:56] } 101... f1=Q { [%eval #-18] [%clk 0:02:24] } 102. Rxf1+ { [%eval #-19] [%clk 0:04:16] } 102... Rxf1 { [%eval #-19] [%clk 0:02:53] } 103. Kd3 { [%eval #-41] [%clk 0:04:39] } 103... Ra1?? { [%eval -4.92] } { Lost forced checkmate sequence. Rf4 was best. } { [%clk 0:03:09] } 0-1