A sad necessity.
1. d2d4  1... d7d5  2. c2c4  2... c7c6  3. b1c3  3... g8f6  4. c4d5  4... c6d5  5. c1f4  5... b8c6  6. e2e3  6... c8f5  7. g1f3  7... e7e6  8. d1b3  8... f8b4  9. f1b5 After the game, Duda revealed that he was not feeling quite well prior to the game and did not object the draw. This might have been the reason for his opening choice, a calm Exchanged Slav. 9... e8g8  10. b5c6 Kramnik and Anand discussed this line at their WCC match in Bonn. 10... b4c3  11. b3c3  11... f6e4 An ambitious move, which was played after a prolonged thought. Firouzja was clearly in a fighting mode. 12. c3a3  12... b7c6  13. a1c1 Now White has everything that he wants from the pawn structure. Both c6- and a7-pawns are weak and long-term targets. Black needs to find something concrete, right now. 13... g7g5 And what can be more concrete than this $2 14. f4g3 Duda is also taking his time.[#] 14... a8c8 A novelty and a bad sign for Black. Passive defense is the last thing he needs. 15. f3d2 [%c_effect d2;square;d2;type;GreatFind;persistent;true] A strong move that sucks the energy away from the black pieces while further weakening the dark squares. 15... e4g3  16. h2g3  16... g8g7  17. c1c5 That's the problem. There are too many convenient outposts on the dark squares. 17... f8h8 The only way to get some play is to advance the h-pawn and open some files for a kingside activity. 18. c5a5  18... c8c7 A rook on the seventh rank is the last thing Firouzja wants to see; therefore, he swaps it before it becomes too dangerous. 19. a5a7  19... c7a7  20. a3a7  20... h7h5  21. b2b3  21... h5h4  22. g3h4  22... g5h4  23. d2f3 Now Duda is in control, although the many open spaces always provide chances for a counterplay to the opponent. 23... f5g6  24. h1h3  24... d8a8 [%c_effect a8;square;a8;type;GreatFind;persistent;true] Now Firouzja manages to exploit the relative weakness of the white queenside just in time. 25. a7a8  25... h8a8  26. a2a4  26... g6c2 In order to defend the c6-pawn. 27. h3h4  27... c2b3  28. h4g4 [%c_effect g4;square;g4;type;GreatFind;persistent;true] A nasty in-between check. 28... g7f8  29. g4f4  29... a8a7 A difficult decision and, objectively, not the best one. 30. a4a5 [%c_effect a5;square;a5;type;GreatFind;persistent;true] 30... b3a4  31. a5a6  31... a4b5  32. f3g5 