Skip to content

Python Game preprocessing tool to generate analyzed games bundle for our Chess Guess The Move App created as part of our Bachelor Forschungsprojekt INF at University of Stuttgart.

License

Notifications You must be signed in to change notification settings

KroneRadicSenger/GuessTheMove-Preprocessing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guess The Move Preprocessing

This is the Python Game preprocessing tool to generate analyzed games bundle for our Chess Guess The Move App created as part of our Bachelor Forschungsprojekt INF at University of Stuttgart.

Abstract

First and foremost, the use of this python program is to analyze grandmaster chess games given by a PGN file and annotate the output analysis result file with full player names and elo ratings for every player in every analyzed game. Additionally, it also provides a live analysis server to which requests can be sent.

Setup

Prerequisite

Make sure you have Python 3.7 or later installed on your device as well as pip3 to use with it.

Install dependencies

To install missing dependencies, use the following command python3 -m pip install -r requirements.txt (substitute python3 with the command you use to run Python 3.7)

Engine Configuration

You have to configure an ENGINE_PATH pointing to the UCI engine executable (i.e. Stockfish) in the engine.py file inside the engine module.

Opening Reader Configuration

To use the opening reader, you have to open the opening.py file inside the opening module and configure a ECO_FILES_DIRECTORY pointing to a directory containing Opening ECO table files. We have provided sample ECO files ready for you to use. These files are taken from https://github.com/niklasf/eco licensed under the CC0-1.0 License.

Gaviota Endgame Tablebase Probing Configuration

If you want to use endgame tablebase probing, you have to open the endgame.py file inside the endgame module and configure a GAVIOTA_FILE_PATH pointing to a directory containing Gaviota endgame tablebase files . You can build these Gaviota tablebases yourself or use prebuilt and compressed tablebases ready for download (e.g. under https://chess.cygnitec.com/tablebases/gaviota/5/). We recommend tablebases for endgames with up to five pieces left to allow the best possible endgame coverage. In addition to this, you have to uncomment the section after # TODO Remove comments to use endgame table base probing in the commands.py file.

Execution

Analyze games in a PGN file and create an analyzed games bundle from them

1. Analyze games

To analyze one or multiple grandmaster games in a pgn file, you should use the following command python main.py analyze <GRANDMASTER_NAME> <PGN_FILE_PATH> where <GRANDMASTER_NAME> should be formatted as follows LastName,FirstName. As soon as the program terminates (this can take a while if you analyze many games at once), an analysis output file will be saved to the output directory for each game. Besides that, the program creates a merged analysis output file which contains all of the analyzed games. Note that our tool only analyzes those grandmaster games in which the grandmaster won so not all input games will be included in the analysis output file(s).

Example output:

Bildschirmfoto 2021-07-12 um 10 11 27

2. Annotate merged analysis output file

To annotate this merged analysis output file with full player names and elo ratings for every analyzed game contained, you should use the following command python main.py annotate output.json This command will create an annotated version of the given analysis output file and save it in the output/annotated directory. Besides the json file, it will also add a gzipped variant of this file which can be used as an analyzed games bundle in the app. See the README.mdof the app for how to do this.

Example output:

Bildschirmfoto 2021-07-12 um 10 15 42

Click here to show output json file!
[
 {
    "id":"45b9ed40-8cda-475b-a63f-e9a7386382f5",
    "addedDate":"12/07/2021 10:10:30",
    "pgn":"[Event \"2021-champions-chess-tour-opera-euro-rapid\"]\n[Site \"\"]\n[Date \"2021.02.06\"]\n[Round \"?\"]\n[White \"Perez, Leinier Dominguez\"]\n[Black \"Carlsen, Magnus\"]\n[Result \"0-1\"]\n\n1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 a6 8. Qd2 h5 9. Bc4 Nbd7 10. O-O-O b5 11. Bb3 Nc5 12. Kb1 Bb7 13. Rhe1 Rc8 14. Bg5 O-O 15. Nd5 e6 16. Nxf6+ Bxf6 17. h4 Bxg5 18. hxg5 Kg7 19. Qe3 Qc7 20. Rd2 b4 21. Red1 Rfd8 22. Qf4 Qe7 23. Ne2 a5 24. e5 d5 25. g4 hxg4 26. Qf6+ Qxf6 27. gxf6+ Kh6 28. Rh1+ Kg5 29. f4+ Kf5 30. Rf1 g5 31. Nd4+ Kg6 32. f5+ exf5 33. Nxf5 g3 34. Rg2 Ne4 35. Nxg3 Re8 36. Nxe4 dxe4 37. e6 fxe6 38. f7 Rf8 39. Bxe6 Rc5 40. Rg3 Re5 41. Bg4 e3 42. Kc1 Rxf7 43. Rxf7 Kxf7 44. Kd1 Kf6 45. Ke1 Bd5 46. a3 bxa3 47. bxa3 Be4 48. Rxe3 Bxc2 49. Kd2 Rxe3 50. Kxe3 Ke5 51. Bf3 Bf5 52. Bc6 Kd6 53. Bf3 Kc5 54. Be2 Bg6 55. Bf1 Bh5 56. Ke4 Bd1 57. Ke3 g4 58. Ba6 Bf3 59. Bf1 Bc6 60. Kf4 Kd4 61. Kxg4 Kc3 62. Kf5 Kb2 63. Ke5 Kxa3 64. Kd6 Be8 65. Kc5 a4 66. Bc4 Kb2 67. Kb4 a3 68. Bd5 Bg6 69. Be6 Bb1 70. Bd5 Ba2 71. Be4 Bf7 72. Bb1 Bb3 0-1",
    "whitePlayer":"Perez, Leinier Dominguez",
    "blackPlayer":"Carlsen, Magnus",
    "gameInfo":{
       "event":"2021-champions-chess-tour-opera-euro-rapid",
       "site":"",
       "date":"2021.02.06",
       "round":"?"
    },
    "gameAnalysis":{
       "grandmasterSide":"black",
       "grandmasterDepthToMateInHalfMoves":null,
       "opening":{
          "eco":"B75",
          "name":"Sicilian Defense: Dragon Variation, Yugoslav Attack, Early Deviations",
          "fen":"rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R b KQkq -",
          "moves":"e2e4 c7c5 g1f3 d7d6 d2d4 c5d4 f3d4 g8f6 b1c3 g7g6 c1e3 f8g7 f2f3"
       },
       "analyzedMoves":[
          {
             "ply":0,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e2e4",
                   "san":"e4"
                },
                "moveType":"book",
                "signedCPScore":"+5",
                "gmExpectation":0.4935,
                "pv":"1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 h6 5. Bxf6 Qxf6 6. Bd3 Bb4 7. Ne2 dxe4 8. Bxe4 O-O 9. Bf3 Qd8 10. O-O Be7 11. Ne4 Nc6 12. c3"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":1,
             "gamePhase":"opening",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c7c5",
                   "san":"c5"
                },
                "moveType":"book",
                "signedCPScore":"+78",
                "gmExpectation":0.3875,
                "pv":"1...c5 2. Nf3 e6 3. c3 Nc6 4. d4 cxd4 5. cxd4 d5 6. exd5 exd5 7. Bd3 Be7 8. O-O Nf6 9. Re1 O-O 10. Nc3 Bd6 11. a3 Re8 12. Rxe8+ Qxe8 13. Be3 Be6 14. b4"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":2,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g1f3",
                   "san":"Nf3"
                },
                "moveType":"book",
                "signedCPScore":"+12",
                "gmExpectation":0.484,
                "pv":"2. Nf3 e6 3. Nc3 Nc6 4. d4 cxd4 5. Nxd4 Nf6 6. Bf4 d6 7. Nxc6 bxc6 8. e5 Nd5 9. Nxd5 cxd5 10. c3 dxe5 11. Bxe5 Bd7 12. Bd4 Be7 13. Bxg7 Rg8 14. Qd4 Qb6"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":3,
             "gamePhase":"opening",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d7d6",
                   "san":"d6"
                },
                "moveType":"book",
                "signedCPScore":"+67",
                "gmExpectation":0.4035,
                "pv":"2...d6 3. c3 Nf6 4. Qc2 Nbd7 5. d4 e6 6. Be2 Be7 7. O-O O-O 8. Nbd2 Qc7 9. Qd3 Rd8 10. h3 d5"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":4,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d2d4",
                   "san":"d4"
                },
                "moveType":"book",
                "signedCPScore":"+17",
                "gmExpectation":0.4765,
                "pv":"3. d4 Nf6 4. Nc3 cxd4 5. Nxd4 e5 6. Bb5+ Nbd7 7. Nf5 a6 8. Bxd7+ Qxd7 9. Ne3 b5 10. a4 Bb7 11. axb5 axb5 12. Rxa8+ Bxa8 13. Ned5 Bxd5 14. Nxd5 Qb7 15. Be3 Nxd5 16. Qxd5 Qxd5"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":5,
             "gamePhase":"opening",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c5d4",
                   "san":"cxd4"
                },
                "moveType":"book",
                "signedCPScore":"+54",
                "gmExpectation":0.4225,
                "pv":"3...cxd4 4. Bc4 Nc6 5. Nxd4 e6 6. O-O Nf6 7. Nc3 Be7 8. h3 O-O 9. Be3 Bd7 10. f4 a6 11. a3 Rc8 12. Bd3 Qc7"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":6,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f3d4",
                   "san":"Nxd4"
                },
                "moveType":"book",
                "signedCPScore":"+9",
                "gmExpectation":0.4875,
                "pv":"4. Nxd4 g6 5. Bc4 Nf6 6. Qe2 Bg7 7. O-O O-O 8. Rd1 Bd7 9. Nc3 Nc6 10. Nxc6 bxc6 11. e5 dxe5 12. Qxe5 Nd5 13. Qg3 Nxc3 14. bxc3"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":7,
             "gamePhase":"opening",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g8f6",
                   "san":"Nf6"
                },
                "moveType":"book",
                "signedCPScore":"+63",
                "gmExpectation":0.4065,
                "pv":"4...Nf6 5. Nc3 Nc6 6. Bc4 g6 7. O-O Bd7 8. Nxc6 Bxc6 9. Nd5 Bg7 10. Bg5 O-O 11. Bxf6 Bxd5 12. Bxd5 Bxf6"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":8,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"b1c3",
                   "san":"Nc3"
                },
                "moveType":"book",
                "signedCPScore":"+16",
                "gmExpectation":0.4775,
                "pv":"5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8. Be2 Nc6 9. Qd2 d5 10. O-O-O dxe4 11. Nxc6 Qxd2+ 12. Rxd2 bxc6 13. fxe4 Ng4 14. Bc5 Be6 15. Bxe7 Rfb8 16. Rhd1"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":9,
             "gamePhase":"opening",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g7g6",
                   "san":"g6"
                },
                "moveType":"book",
                "signedCPScore":"+80",
                "gmExpectation":0.3755,
                "pv":"5...g6 6. Be3 Bg7 7. f3 O-O 8. Qd2 d5 9. e5 Ne8 10. f4 f6 11. O-O-O fxe5 12. fxe5 Nc6 13. Nf3 e6 14. Bh6 Rf7 15. Bxg7 Nxg7 16. Kb1 Nf5 17. Rg1 a6 18. Be2 Qb6"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":10,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c1e3",
                   "san":"Be3"
                },
                "moveType":"book",
                "signedCPScore":"+50",
                "gmExpectation":0.426,
                "pv":"6. Be3 Bg7 7. f3 O-O 8. Qd2 a6 9. g4 Nc6 10. O-O-O Bd7 11. Kb1 Ne5 12. h3 b5 13. f4 Nc4 14. Bxc4 bxc4 15. e5 Ne8 16. Qh2 Rb8"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":11,
             "gamePhase":"opening",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f8g7",
                   "san":"Bg7"
                },
                "moveType":"book",
                "signedCPScore":"+59",
                "gmExpectation":0.4105,
                "pv":"6...Bg7 7. f3 Nc6 8. Qd2 O-O 9. O-O-O Bd7 10. g4 a6 11. Kb1 Ne5 12. Bh6 Bxh6 13. Qxh6 Rc8 14. Qd2 b5 15. a3 Rb8 16. Nd5 Nxd5"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":12,
             "gamePhase":"opening",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f2f3",
                   "san":"f3"
                },
                "moveType":"book",
                "signedCPScore":"+48",
                "gmExpectation":0.428,
                "pv":"7. f3 a6 8. Qd2 h5 9. Be2 Nbd7 10. h3 Qc7 11. a4 b6 12. O-O-O Bb7 13. Nb3 O-O 14. Kb1 Ne5 15. f4 Nc4 16. Bxc4 Qxc4 17. Bxb6"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":13,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a7a6",
                   "san":"a6"
                },
                "moveType":"best",
                "signedCPScore":"+98",
                "gmExpectation":0.336,
                "pv":"7...a6 8. g4 h5 9. g5 Nfd7 10. Qd2 O-O 11. O-O-O b5 12. f4 Nb6 13. Nf3 N8d7 14. Kb1 Nc4 15. Bxc4 bxc4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8g8",
                      "san":"O-O"
                   },
                   "moveType":"best",
                   "signedCPScore":"+62",
                   "gmExpectation":0.4045,
                   "pv":"7...O-O 8. Qd2 Nc6 9. O-O-O Bd7 10. g4 Rc8 11. Kb1 Ne5 12. h3 Nc4 13. Bxc4 Rxc4 14. Qd3 Rc8 15. f4 a6 16. Nb3 e6 17. Qxd6 Rxc3 18. bxc3 Nxe4 19. Qxd7"
                },
                {
                   "move":{
                      "uci":"d8d7",
                      "san":"Qd7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+148",
                   "gmExpectation":0.233,
                   "pv":"7...Qd7 8. Qd2 Nc6 9. O-O-O O-O 10. g4 h5 11. h3 Qc7 12. gxh5 Nxh5 13. Nd5 Qd8 14. Rg1 Bd7 15. Qg2 Nxd4 16. Bxd4 Bxd4 17. Rxd4"
                }
             ]
          },
          {
             "ply":14,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d1d2",
                   "san":"Qd2"
                },
                "moveType":"best",
                "signedCPScore":"+49",
                "gmExpectation":0.4255,
                "pv":"8. Qd2 h5 9. Bc4 Nbd7 10. a4 Qc7 11. Ba2 O-O 12. O-O Ne5 13. a5 Bd7 14. Nde2 Rac8 15. Bb3 Qb8 16. h3 Kh7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g2g4",
                      "san":"g4"
                   },
                   "moveType":"best",
                   "signedCPScore":"+98",
                   "gmExpectation":0.33599999999999997,
                   "pv":"8. g4 h5 9. g5 Nfd7 10. Qd2 O-O 11. O-O-O b5 12. f4 Nb6 13. Nf3 N8d7 14. Kb1 Nc4 15. Bxc4 bxc4"
                },
                {
                   "move":{
                      "uci":"d4b3",
                      "san":"Nb3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-9",
                   "gmExpectation":0.513,
                   "pv":"8. Nb3 O-O 9. Be2 Nc6 10. Qd2 Be6 11. O-O Ne5 12. Nd4 Bc4 13. b3 Bxe2 14. Ndxe2 b5 15. a4 b4 16. Nd5 Nxd5 17. exd5 Nd7 18. Bd4 Bxd4+ 19. Qxd4 Qb6 20. Qxb6"
                }
             ]
          },
          {
             "ply":15,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"h7h5",
                   "san":"h5"
                },
                "moveType":"best",
                "signedCPScore":"+86",
                "gmExpectation":0.357,
                "pv":"8...h5 9. a3 Qc7 10. Be2 Nbd7 11. a4 Ne5 12. O-O Bd7 13. Bg5 Nc4 14. Bxc4 Qxc4 15. Rfd1 Qc5 16. Ra3 O-O 17. Bxf6 Bxf6 18. Nd5 Qxd4+ 19. Qxd4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7b5",
                      "san":"b5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+67",
                   "gmExpectation":0.3945,
                   "pv":"8...b5 9. a4 bxa4 10. Nxa4 O-O 11. Be2 Qc7 12. O-O Nbd7 13. Qc3 Ne8 14. Qxc7 Nxc7 15. Nc6 Re8 16. Nc3 Bb7 17. Na5 Rab8 18. Nxb7 Rxb7"
                },
                {
                   "move":{
                      "uci":"e8f8",
                      "san":"Kf8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+151",
                   "gmExpectation":0.221,
                   "pv":"8...Kf8 9. O-O-O Nc6 10. Bc4 h5 11. Kb1 Na5 12. Be2 Bd7 13. Rhe1 Kg8 14. f4 b5 15. f5 b4 16. Nd5 Nxe4"
                }
             ]
          },
          {
             "ply":16,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f1c4",
                   "san":"Bc4"
                },
                "moveType":"best",
                "signedCPScore":"+36",
                "gmExpectation":0.446,
                "pv":"9. Bc4 O-O 10. h3 b5 11. Bb3 Bb7 12. O-O-O Kh7 13. g4 Nbd7 14. Kb1 Ne5 15. g5 Nfd7 16. f4 Nc4 17. Bxc4 bxc4 18. f5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+86",
                   "gmExpectation":0.357,
                   "pv":"9. a3 Qc7 10. Be2 Nbd7 11. a4 Ne5 12. O-O Bd7 13. Bg5 Nc4 14. Bxc4 Qxc4 15. Rfd1 Qc5 16. Ra3 O-O 17. Bxf6 Bxf6 18. Nd5 Qxd4+ 19. Qxd4"
                },
                {
                   "move":{
                      "uci":"d4e2",
                      "san":"Nde2"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-5",
                   "gmExpectation":0.507,
                   "pv":"9. Nde2 Nc6 10. Nf4 O-O 11. Be2 b5 12. O-O Ne5 13. Rad1 Bb7 14. a4 b4 15. Ncd5 Bxd5 16. Nxd5 Nxd5 17. Qxd5 Qc7 18. Qb3 Rfb8 19. Qd5 Qxc2 20. Rf2"
                }
             ]
          },
          {
             "ply":17,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b8d7",
                   "san":"Nbd7"
                },
                "moveType":"good",
                "signedCPScore":"+94",
                "gmExpectation":0.3385,
                "pv":"9...Nbd7 10. Bg5 O-O 11. O-O-O Nb6 12. Bb3 Bd7 13. f4 Rc8 14. e5 Rxc3 15. Qxc3 Ne4 16. Qd3 Nxg5 17. Qxg6 Nh7 18. Nf5 Bxf5 19. Qxf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8g8",
                      "san":"O-O"
                   },
                   "moveType":"best",
                   "signedCPScore":"+36",
                   "gmExpectation":0.446,
                   "pv":"9...O-O 10. h3 b5 11. Bb3 Bb7 12. O-O-O Kh7 13. g4 Nbd7 14. Kb1 Ne5 15. g5 Nfd7 16. f4 Nc4 17. Bxc4 bxc4 18. f5"
                },
                {
                   "move":{
                      "uci":"d8d7",
                      "san":"Qd7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+141",
                   "gmExpectation":0.2375,
                   "pv":"9...Qd7 10. O-O-O Nc6 11. Bb3 O-O 12. Kb1 Na5 13. Bg5 Qd8 14. h3 Bd7 15. g4 b5 16. a3 Nh7 17. Nd5 Nxg5 18. Qxg5 Re8 19. gxh5"
                }
             ]
          },
          {
             "ply":18,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e1c1",
                   "san":"O-O-O"
                },
                "moveType":"good",
                "signedCPScore":"+21",
                "gmExpectation":0.469,
                "pv":"10. O-O-O b5 11. Bb3 Bb7 12. a3 Ne5 13. Bg5 Rc8 14. Kb1 Nc4 15. Bxc4 Rxc4 16. Nb3 O-O 17. Ne2 Rc8 18. Na5 Ba8 19. Bxf6 Bxf6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e3g5",
                      "san":"Bg5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+94",
                   "gmExpectation":0.3385,
                   "pv":"10. Bg5 O-O 11. O-O-O Nb6 12. Bb3 Bd7 13. f4 Rc8 14. e5 Rxc3 15. Qxc3 Ne4 16. Qd3 Nxg5 17. Qxg6 Nh7 18. Nf5 Bxf5 19. Qxf5"
                },
                {
                   "move":{
                      "uci":"d4b3",
                      "san":"Nb3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-36",
                   "gmExpectation":0.5545,
                   "pv":"10. Nb3 b5 11. Be2 Ne5 12. a4 Nc4 13. Bxc4 bxc4 14. Nd4 Bd7 15. a5 O-O 16. O-O Rb8 17. Ra2 Rb4 18. Nde2 Qb8 19. h3 Rxb2 20. Rxb2 Qxb2"
                }
             ]
          },
          {
             "ply":19,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b7b5",
                   "san":"b5"
                },
                "moveType":"best",
                "signedCPScore":"+119",
                "gmExpectation":0.2805,
                "pv":"10...b5 11. Bd5 Nxd5 12. Nxd5 Ne5 13. b3 e6 14. Nc6 Nxc6 15. Bb6 Qd7 16. Nc7+ Kf8 17. Nxa8 Qb7 18. Qxd6+ Kg8 19. Qc7 Qxa8 20. Rd6 Ne5 21. f4 Ng4 22. Kb1 Qxe4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d7e5",
                      "san":"Ne5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+32",
                   "gmExpectation":0.452,
                   "pv":"10...Ne5 11. Bb3 b5 12. Kb1 Bb7 13. a3 Rc8 14. Rhe1 O-O 15. Bh6 Qb6 16. Bxg7 Kxg7 17. h3 Nc4 18. Bxc4 Rxc4 19. e5 dxe5"
                },
                {
                   "move":{
                      "uci":"d8a5",
                      "san":"Qa5"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+125",
                   "gmExpectation":0.269,
                   "pv":"10...Qa5 11. Kb1 Ne5 12. Bb3 b5 13. Bg5 Bb7 14. Rhe1 Nc4 15. Bxc4 bxc4 16. f4 O-O 17. f5 Qb6 18. Re2 Nd7 19. Nf3 Rfc8 20. fxg6 fxg6 21. Bxe7"
                }
             ]
          },
          {
             "ply":20,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c4b3",
                   "san":"Bb3"
                },
                "moveType":"mistake",
                "signedCPScore":"+28",
                "gmExpectation":0.4575,
                "pv":"11. Bb3 Bb7 12. Rhe1 Rc8 13. Kb1 Qc7 14. a3 Nc5 15. Ba2 O-O 16. Nde2 Rfd8 17. Bh6 e6 18. Bg5 Rd7 19. Qf4 Ne8 20. Bh6 Na4 21. Bxg7 Nxg7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c4d5",
                      "san":"Bd5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+119",
                   "gmExpectation":0.28049999999999997,
                   "pv":"11. Bd5 Nxd5 12. Nxd5 Ne5 13. b3 e6 14. Nc6 Nxc6 15. Bb6 Qd7 16. Nc7+ Kf8 17. Nxa8 Qb7 18. Qxd6+ Kg8 19. Qc7 Qxa8 20. Rd6 Ne5 21. f4 Ng4 22. Kb1 Qxe4"
                },
                {
                   "move":{
                      "uci":"c4e2",
                      "san":"Be2"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+13",
                   "gmExpectation":0.48050000000000004,
                   "pv":"11. Be2 Bb7 12. a3 Rc8 13. h3 Nb6 14. Kb1 Nfd7 15. g4 Qc7 16. Qc1 Nc4 17. Bxc4 Qxc4 18. Nde2 b4 19. axb4 hxg4 20. hxg4"
                }
             ]
          },
          {
             "ply":21,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d7c5",
                   "san":"Nc5"
                },
                "moveType":"best",
                "signedCPScore":"+94",
                "gmExpectation":0.3335,
                "pv":"11...Nc5 12. a3 Nxb3+ 13. Nxb3 Be6 14. Nd4 Bd7 15. Kb1 Rb8 16. Nb3 O-O 17. Bd4 Be6 18. Nd5 Bxd5 19. exd5 Qc7 20. h3 a5 21. Bxf6 Bxf6 22. Nxa5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c8b7",
                      "san":"Bb7"
                   },
                   "moveType":"best",
                   "signedCPScore":"+28",
                   "gmExpectation":0.4575,
                   "pv":"11...Bb7 12. Rhe1 Rc8 13. Kb1 Qc7 14. a3 Nc5 15. Ba2 O-O 16. Nde2 Rfd8 17. Bh6 e6 18. Bg5 Rd7 19. Qf4 Ne8 20. Bh6 Na4 21. Bxg7 Nxg7"
                },
                {
                   "move":{
                      "uci":"e8g8",
                      "san":"O-O"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+148",
                   "gmExpectation":0.212,
                   "pv":"11...O-O 12. Nc6 Qe8 13. Na5 Nc5 14. Bd5 Nxd5 15. Nxd5 Be6 16. Nc7 Qb8 17. Nxa8 Bxa2 18. Bxc5 dxc5 19. Nb3 Qxa8"
                }
             ]
          },
          {
             "ply":22,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c1b1",
                   "san":"Kb1"
                },
                "moveType":"best",
                "signedCPScore":"+27",
                "gmExpectation":0.459,
                "pv":"12. Kb1 Bd7 13. Rhe1 O-O 14. Bg5 b4 15. Nd5 Nxb3 16. cxb3 Nxd5 17. exd5 Re8 18. Nc6 Bxc6 19. dxc6 Qc7 20. Rc1 a5 21. Qe2 e6 22. g4 hxg4 23. fxg4 d5 24. Qd2 Rec8"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+94",
                   "gmExpectation":0.3335,
                   "pv":"12. a3 Nxb3+ 13. Nxb3 Be6 14. Nd4 Bd7 15. Kb1 Rb8 16. Nb3 O-O 17. Bd4 Be6 18. Nd5 Bxd5 19. exd5 Qc7 20. h3 a5 21. Bxf6 Bxf6 22. Nxa5"
                },
                {
                   "move":{
                      "uci":"d4c6",
                      "san":"Nc6"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-24",
                   "gmExpectation":0.5365,
                   "pv":"12. Nc6 Nxb3+ 13. axb3 Qd7 14. e5 dxe5 15. Nxe5 Qxd2+ 16. Rxd2 O-O 17. Rhd1 Re8 18. h3 e6 19. Rd8 Bb7 20. Rxe8+ Rxe8 21. Rd6 b4 22. Ne2 Nd5"
                }
             ]
          },
          {
             "ply":23,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c8b7",
                   "san":"Bb7"
                },
                "moveType":"mistake",
                "signedCPScore":"+105",
                "gmExpectation":0.3055,
                "pv":"12...Bb7 13. Nf5 gxf5 14. Bxc5 dxc5 15. Qg5 Bh6 16. Rxd8+ Rxd8 17. Qxf5 c4 18. Bxc4 bxc4 19. Qc5 Bd2 20. Qxc4 O-O 21. Qc5 Rd7 22. Ne2 Rfd8 23. Qf2 Kg7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c8d7",
                      "san":"Bd7"
                   },
                   "moveType":"best",
                   "signedCPScore":"+27",
                   "gmExpectation":0.459,
                   "pv":"12...Bd7 13. Rhe1 O-O 14. Bg5 b4 15. Nd5 Nxb3 16. cxb3 Nxd5 17. exd5 Re8 18. Nc6 Bxc6 19. dxc6 Qc7 20. Rc1 a5 21. Qe2 e6 22. g4 hxg4 23. fxg4 d5 24. Qd2 Rec8"
                },
                {
                   "move":{
                      "uci":"c5b3",
                      "san":"Nxb3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+40",
                   "gmExpectation":0.438,
                   "pv":"12...Nxb3 13. Nxb3 Qc7 14. a3 Be6 15. h3 Rb8 16. Nd4 b4 17. axb4 Rxb4 18. Nxe6 fxe6 19. Ne2 Ra4 20. Bg5 Kf7 21. Nc3 Rb4"
                }
             ]
          },
          {
             "ply":24,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"h1e1",
                   "san":"Rhe1"
                },
                "moveType":"best",
                "signedCPScore":"+40",
                "gmExpectation":0.4375,
                "pv":"13. Rhe1 Nxb3 14. Nxb3 O-O 15. a3 Qc7 16. Bh6 Bxh6 17. Qxh6 Rfc8 18. Qg5 Kg7 19. Nd4 e6 20. h3 Nd7 21. Qe7 Kg8 22. g4 hxg4 23. hxg4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d4f5",
                      "san":"Nf5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+105",
                   "gmExpectation":0.3055,
                   "pv":"13. Nf5 gxf5 14. Bxc5 dxc5 15. Qg5 Bh6 16. Rxd8+ Rxd8 17. Qxf5 c4 18. Bxc4 bxc4 19. Qc5 Bd2 20. Qxc4 O-O 21. Qc5 Rd7 22. Ne2 Rfd8 23. Qf2 Kg7"
                },
                {
                   "move":{
                      "uci":"d4e2",
                      "san":"Nde2"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-17",
                   "gmExpectation":0.526,
                   "pv":"13. Nde2 O-O 14. Nd5 Rc8 15. Nxf6+ Bxf6 16. Bd4 Bxd4 17. Nxd4 e6 18. c3 d5 19. e5 Qc7 20. Bc2 Qxe5"
                }
             ]
          },
          {
             "ply":25,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a8c8",
                   "san":"Rc8"
                },
                "moveType":"best",
                "signedCPScore":"+96",
                "gmExpectation":0.324,
                "pv":"13...Rc8 14. a3 Nxb3 15. Nxb3 Nd7 16. Bd4 Ne5 17. Qg5 O-O 18. Nc5 f6 19. Qg3 dxc5 20. Bxe5 Qe8 21. Bf4 b4 22. axb4 cxb4 23. Nd5 e6 24. Nxb4 Qb5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c5b3",
                      "san":"Nxb3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+40",
                   "gmExpectation":0.4375,
                   "pv":"13...Nxb3 14. Nxb3 O-O 15. a3 Qc7 16. Bh6 Bxh6 17. Qxh6 Rfc8 18. Qg5 Kg7 19. Nd4 e6 20. h3 Nd7 21. Qe7 Kg8 22. g4 hxg4 23. hxg4"
                },
                {
                   "move":{
                      "uci":"e8f8",
                      "san":"Kf8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+134",
                   "gmExpectation":0.235,
                   "pv":"13...Kf8 14. a3 Nxb3 15. Nxb3 Qc7 16. Bd4 Nd7 17. Bxg7+ Kxg7 18. f4 Nc5 19. f5 Nxb3 20. cxb3 Rac8 21. b4 Qc4 22. Qg5 Rhe8 23. e5 dxe5 24. fxg6 fxg6 25. Rxe5"
                }
             ]
          },
          {
             "ply":26,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e3g5",
                   "san":"Bg5"
                },
                "moveType":"mistake",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"14. Bg5 Nxb3 15. cxb3 O-O 16. Bh6 b4 17. Bxg7 Kxg7 18. Na4 a5 19. Qg5 Kh7 20. e5 Nd5 21. Nf5 gxf5 22. Qxh5+ Kg7 23. Qg5+ Kh8 24. Qh6+ Kg8 25. Qg5+"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+96",
                   "gmExpectation":0.32399999999999995,
                   "pv":"14. a3 Nxb3 15. Nxb3 Nd7 16. Bd4 Ne5 17. Qg5 O-O 18. Nc5 f6 19. Qg3 dxc5 20. Bxe5 Qe8 21. Bf4 b4 22. axb4 cxb4 23. Nd5 e6 24. Nxb4 Qb5"
                },
                {
                   "move":{
                      "uci":"h2h3",
                      "san":"h3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+94",
                   "gmExpectation":0.3285,
                   "pv":"14. h3 Nxb3 15. Nxb3 Nd7 16. Bd4 Bxd4 17. Qxd4 O-O 18. g4 hxg4 19. hxg4 Qb6 20. Qd2 b4 21. Nd5 Bxd5 22. exd5 Ne5 23. Qe2"
                }
             ]
          },
          {
             "ply":27,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e8g8",
                   "san":"O-O"
                },
                "moveType":"best",
                "signedCPScore":"+75",
                "gmExpectation":0.369,
                "pv":"14...O-O 15. a3 Nxb3 16. cxb3 b4 17. axb4 Qb6 18. Na4 Qa7 19. h3 Bc6 20. g4 hxg4 21. hxg4 Qb7 22. Nc2 Rb8 23. Bh6 Bd7 24. Bxg7 Kxg7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c5b3",
                      "san":"Nxb3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"14...Nxb3 15. cxb3 O-O 16. Bh6 b4 17. Bxg7 Kxg7 18. Na4 a5 19. Qg5 Kh7 20. e5 Nd5 21. Nf5 gxf5 22. Qxh5+ Kg7 23. Qg5+ Kh8 24. Qh6+ Kg8 25. Qg5+"
                },
                {
                   "move":{
                      "uci":"d8d7",
                      "san":"Qd7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+101",
                   "gmExpectation":0.311,
                   "pv":"14...Qd7 15. a3 Nxb3 16. cxb3 Kf8 17. b4 Kg8 18. h3 Ne8 19. Nb3 h4 20. Be3 Rh7 21. Bd4 e5 22. Bf2 Qe7 23. Na5 Ba8"
                }
             ]
          },
          {
             "ply":28,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c3d5",
                   "san":"Nd5"
                },
                "moveType":"mistake",
                "signedCPScore":"-28",
                "gmExpectation":0.543,
                "pv":"15. Nd5 Bxd5 16. exd5 Re8 17. h3 Qc7 18. Nc6 e6 19. Bxf6 Bxf6 20. g4 h4 21. f4 Bg7 22. g5 Nxb3 23. cxb3 Qb6 24. b4 Kh7 25. f5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+75",
                   "gmExpectation":0.369,
                   "pv":"15. a3 Nxb3 16. cxb3 b4 17. axb4 Qb6 18. Na4 Qa7 19. h3 Bc6 20. g4 hxg4 21. hxg4 Qb7 22. Nc2 Rb8 23. Bh6 Bd7 24. Bxg7 Kxg7"
                },
                {
                   "move":{
                      "uci":"h2h3",
                      "san":"h3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+66",
                   "gmExpectation":0.388,
                   "pv":"15. h3 Qc7 16. g4 e5 17. Nde2 b4 18. Na4 hxg4 19. Nxc5 dxc5 20. hxg4 c4 21. Ba4 c3 22. Qe3 Bc6 23. Bb3 cxb2 24. Kxb2"
                }
             ]
          },
          {
             "ply":29,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e7e6",
                   "san":"e6"
                },
                "moveType":"good",
                "signedCPScore":"+43",
                "gmExpectation":0.4315,
                "pv":"15...e6 16. Nxf6+ Bxf6 17. Bxf6 Qxf6 18. a3 Rfd8 19. Ba2 Kg7 20. Qe3 Qe7 21. Ne2 Qc7 22. Qg5 Na4 23. c3 Kh7 24. Qf6 a5 25. Bb3 Nc5 26. Bc2 Kg8 27. h3 Nd7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7d5",
                      "san":"Bxd5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-28",
                   "gmExpectation":0.543,
                   "pv":"15...Bxd5 16. exd5 Re8 17. h3 Qc7 18. Nc6 e6 19. Bxf6 Bxf6 20. g4 h4 21. f4 Bg7 22. g5 Nxb3 23. cxb3 Qb6 24. b4 Kh7 25. f5"
                },
                {
                   "move":{
                      "uci":"f8e8",
                      "san":"Re8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+96",
                   "gmExpectation":0.321,
                   "pv":"15...Re8 16. Nxf6+ exf6 17. Be3 Qd7 18. h3 d5 19. Qf2 Red8 20. Bxd5 Bxd5 21. Nb3 Nxb3 22. Rxd5 Qe6 23. Rxd8+ Rxd8 24. axb3 f5 25. Bc1 b4 26. exf5 Qxf5 27. g4 hxg4 28. hxg4"
                }
             ]
          },
          {
             "ply":30,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d5f6",
                   "san":"Nxf6+"
                },
                "moveType":"best",
                "signedCPScore":"+4",
                "gmExpectation":0.494,
                "pv":"16. Nxf6+ Bxf6 17. Bxf6 Qxf6 18. a3 Rfd8 19. Ba2 Kg7 20. Qe3 Qe7 21. Ne2 Na4 22. h3 h4 23. Qd2 Qf6 24. Nd4 Nc5 25. Qe3 Na4 26. Rd2 e5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g5f6",
                      "san":"Bxf6"
                   },
                   "moveType":"best",
                   "signedCPScore":"+40",
                   "gmExpectation":0.4365,
                   "pv":"16. Bxf6 Bxf6 17. Nxf6+ Qxf6 18. a3 Rfd8 19. Ba2 Kg7 20. Qe3 Qe7 21. Ne2 Na4 22. h3 h4 23. Rd2 a5 24. Red1 e5 25. g3 Qc7"
                },
                {
                   "move":{
                      "uci":"d5b4",
                      "san":"Nb4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-123",
                   "gmExpectation":0.748,
                   "pv":"16. Nb4 a5 17. Nd3 Qb6 18. c3 b4 19. cxb4 Ncxe4 20. fxe4 Qxd4 21. Bxf6 Bxf6 22. e5 dxe5 23. Nc5 Qxd2 24. Rxd2 Bc6 25. Nxe6 Rfe8 26. Nc5 axb4 27. Nd7 Bg7 28. Rd6"
                }
             ]
          },
          {
             "ply":31,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g7f6",
                   "san":"Bxf6"
                },
                "moveType":"best",
                "signedCPScore":"+48",
                "gmExpectation":0.422,
                "pv":"16...Bxf6 17. h4 e5 18. Ne2 Bxg5 19. hxg5 a5 20. Qxd6 Qxg5 21. Qb6 a4 22. Bd5 Bxd5 23. exd5 a3 24. d6 Ne6 25. bxa3 Rb8 26. Qa5 Qxg2 27. Qc3 Qh2 28. Qd2 Rfd8 29. Nc3 Qg3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d8f6",
                      "san":"Qxf6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+672",
                   "gmExpectation":0.0,
                   "pv":"16...Qxf6 17. Bxf6 Bxf6 18. Bxe6 Nxe6 19. Nxe6 fxe6 20. Qh6 Kf7 21. Rxd6 Rfd8 22. Qh7+ Bg7 23. Rxe6 Kxe6 24. Qxg7 Bxe4 25. Rxe4+ Kd6 26. Re1 Kc6 27. Qxg6+ Rd6 28. Qf5 Kc7 29. Qxh5 Rcd8"
                },
                {
                   "move":{
                      "uci":"g8h8",
                      "san":"Kh8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+848",
                   "gmExpectation":0.0,
                   "pv":"16...Kh8 17. Nxh5 gxh5 18. Bxd8 Nxb3 19. Nxb3 Rfxd8 20. Qg5 Rd7 21. Qxh5+ Kg8 22. Qg4 Rcc7 23. Nd4 Re7 24. f4 Kf8 25. e5 dxe5 26. fxe5 Ba8 27. b4"
                }
             ]
          },
          {
             "ply":32,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"h2h4",
                   "san":"h4"
                },
                "moveType":"best",
                "signedCPScore":"-15",
                "gmExpectation":0.523,
                "pv":"17. h4 Qe7 18. a3 Bxg5 19. Qxg5 Qxg5 20. hxg5 Rfd8 21. Ba2 Kf8 22. Rd2 Ke7 23. c3 h4 24. Rh1 Rh8 25. Rhd1 Rcd8 26. Rh1 Rh5 27. Kc2 Nd7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g5f6",
                      "san":"Bxf6"
                   },
                   "moveType":"best",
                   "signedCPScore":"+28",
                   "gmExpectation":0.4565,
                   "pv":"17. Bxf6 Qxf6 18. c3 Rfd8 19. Bc2 e5 20. Nb3 d5 21. Nxc5 Rxc5 22. Re3 d4 23. cxd4 Rxd4 24. Rd3 Rxd3 25. Qxd3 Rc8 26. g4 Qg5 27. gxh5"
                },
                {
                   "move":{
                      "uci":"g5e3",
                      "san":"Be3"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-98",
                   "gmExpectation":0.6875,
                   "pv":"17. Be3 d5 18. Bh6 dxe4 19. Bxf8 Qxf8 20. fxe4 Nxe4 21. Qd3 Nc5 22. Qg3 Nxb3 23. Nxb3 Bd5 24. Qf2 Qg7 25. c3 g5 26. Qc2 g4 27. Rxd5 exd5 28. Qf5"
                }
             ]
          },
          {
             "ply":33,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f6g5",
                   "san":"Bxg5"
                },
                "moveType":"best",
                "signedCPScore":"+6",
                "gmExpectation":0.491,
                "pv":"17...Bxg5 18. hxg5 e5 19. Ne2 a5 20. Qxd6 Qxg5 21. Bd5 Bxd5 22. exd5 Qxg2 23. Qb6 Qxf3 24. Qxb5 Rfd8 25. Nc3 Qf6 26. Qxa5 Nb7 27. Qb5 Nd6 28. Qe2 Rxc3 29. bxc3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d8e7",
                      "san":"Qe7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-15",
                   "gmExpectation":0.523,
                   "pv":"17...Qe7 18. a3 Bxg5 19. Qxg5 Qxg5 20. hxg5 Rfd8 21. Ba2 Kf8 22. Rd2 Ke7 23. c3 h4 24. Rh1 Rh8 25. Rhd1 Rcd8 26. Rh1 Rh5 27. Kc2 Nd7"
                },
                {
                   "move":{
                      "uci":"g8h7",
                      "san":"Kh7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+76",
                   "gmExpectation":0.364,
                   "pv":"17...Kh7 18. a3 Bxg5 19. hxg5 e5 20. Ne2 a5 21. g4 Nxb3 22. cxb3 hxg4 23. Nc3 Kg7 24. Nxb5 d5 25. exd5 Qd7 26. Nc3 Qf5+ 27. Qd3 Qxd3+ 28. Rxd3 g3 29. Rd2"
                }
             ]
          },
          {
             "ply":34,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"h4g5",
                   "san":"hxg5"
                },
                "moveType":"best",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"18. hxg5 e5 19. Ne2 a5 20. Nc3 a4 21. Bd5 b4 22. Nb5 Bxd5 23. Qxd5 Qxg5 24. Nxd6 Rc7 25. Nb5 Rcc8 26. Na7 Rc7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d2g5",
                      "san":"Qxg5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-9",
                   "gmExpectation":0.5135000000000001,
                   "pv":"18. Qxg5 Qxg5 19. hxg5 Rfd8 20. a3 Kf8 21. Ba2 Ke7 22. Rh1 Rh8 23. b4 Na4 24. Ne2 Rhd8 25. Bb3 Nc3+ 26. Nxc3 Rxc3 27. Kb2 Rdc8 28. Rdf1 R3c7"
                },
                {
                   "move":{
                      "uci":"d4e6",
                      "san":"Nxe6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-599",
                   "gmExpectation":1.0,
                   "pv":"18. Nxe6 Bxd2 19. Nxd8 Bxe1 20. Nxb7 Nxb7 21. Bd5 Nc5 22. Rxe1 Kg7 23. c3 a5 24. Kc2 b4 25. g4 bxc3 26. bxc3 hxg4 27. fxg4 Rh8"
                }
             ]
          },
          {
             "ply":35,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g8g7",
                   "san":"Kg7"
                },
                "moveType":"best",
                "signedCPScore":"+67",
                "gmExpectation":0.3825,
                "pv":"18...Kg7 19. Rh1 Rh8 20. Qf4 Qe7 21. e5 dxe5 22. Qxe5+ Kg8 23. Ne2 Nd7 24. Qd6 Qxd6 25. Rxd6 Nc5 26. Rhd1 Kg7 27. a3 Nxb3 28. cxb3 e5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e6e5",
                      "san":"e5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"18...e5 19. Ne2 a5 20. Nc3 a4 21. Bd5 b4 22. Nb5 Bxd5 23. Qxd5 Qxg5 24. Nxd6 Rc7 25. Nb5 Rcc8 26. Na7 Rc7"
                },
                {
                   "move":{
                      "uci":"d6d5",
                      "san":"d5"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+99",
                   "gmExpectation":0.3065,
                   "pv":"18...d5 19. Qf4 Qb6 20. exd5 Nxb3 21. axb3 Bxd5 22. g4 Qc7 23. Qf6 e5 24. Qxe5 Qxe5 25. Rxe5 Rcd8 26. Kc1 hxg4 27. fxg4 Bg2 28. Rg1 Rxd4 29. Rxg2 Rf4 30. c3 Kg7 31. Kc2"
                }
             ]
          },
          {
             "ply":36,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d2e3",
                   "san":"Qe3"
                },
                "moveType":"mistake",
                "signedCPScore":"-48",
                "gmExpectation":0.5785,
                "pv":"19. Qe3 e5 20. Ne2 Qc7 21. Nc3 b4 22. Na4 Nxa4 23. Bxa4 a5 24. Rh1 Bc6 25. Bxc6 Qxc6 26. Qd2 Rfd8 27. Qd3 a4 28. g4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e1h1",
                      "san":"Rh1"
                   },
                   "moveType":"best",
                   "signedCPScore":"+67",
                   "gmExpectation":0.38249999999999995,
                   "pv":"19. Rh1 Rh8 20. Qf4 Qe7 21. e5 dxe5 22. Qxe5+ Kg8 23. Ne2 Nd7 24. Qd6 Qxd6 25. Rxd6 Nc5 26. Rhd1 Kg7 27. a3 Nxb3 28. cxb3 e5"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"+32",
                   "gmExpectation":0.44999999999999996,
                   "pv":"19. c3 e5 20. Nc2 a5 21. Na3 Bc6 22. Bd5 Bxd5 23. Qxd5 b4 24. cxb4 axb4 25. Nc4 Ne6 26. Qxd6 Qxd6 27. Nxd6 Rc6 28. Rd5 Nf4 29. Rd2"
                }
             ]
          },
          {
             "ply":37,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d8c7",
                   "san":"Qc7"
                },
                "moveType":"mistake",
                "signedCPScore":"+69",
                "gmExpectation":0.378,
                "pv":"19...Qc7 20. g4 h4 21. Qf4 Nxb3 22. Qf6+ Kg8 23. cxb3 e5 24. Ne2 Qc2+ 25. Ka1 Rfd8 26. Rb1 Re8 27. Qxd6 Re6 28. Qd7 Qc6 29. Rbd1 Qxd7 30. Rxd7 Bc6 31. Ra7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e6e5",
                      "san":"e5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-48",
                   "gmExpectation":0.5785,
                   "pv":"19...e5 20. Ne2 Qc7 21. Nc3 b4 22. Na4 Nxa4 23. Bxa4 a5 24. Rh1 Bc6 25. Bxc6 Qxc6 26. Qd2 Rfd8 27. Qd3 a4 28. g4"
                },
                {
                   "move":{
                      "uci":"d8e7",
                      "san":"Qe7"
                   },
                   "moveType":"good",
                   "signedCPScore":"+12",
                   "gmExpectation":0.4815,
                   "pv":"19...Qe7 20. Rh1 Rh8 21. e5 dxe5 22. Qxe5+ Kg8 23. Qf4 Qc7 24. Qf6 Rh7 25. a3 Qb6 26. c3 Nd7 27. Qe7 Nc5 28. Bc2 Bd5"
                }
             ]
          },
          {
             "ply":38,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d1d2",
                   "san":"Rd2"
                },
                "moveType":"mistake",
                "signedCPScore":"-57",
                "gmExpectation":0.597,
                "pv":"20. Rd2 Rfd8 21. Red1 e5 22. Ne2 b4 23. Bd5 Bxd5 24. Rxd5 Na4 25. Qd3 a5 26. f4 exf4 27. Nxf4 Kg8 28. Rd2 Nc3+ 29. Ka1 Nxd5 30. Nxd5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g2g4",
                      "san":"g4"
                   },
                   "moveType":"best",
                   "signedCPScore":"+69",
                   "gmExpectation":0.378,
                   "pv":"20. g4 h4 21. Qf4 Nxb3 22. Qf6+ Kg8 23. cxb3 e5 24. Ne2 Qc2+ 25. Ka1 Rfd8 26. Rb1 Re8 27. Qxd6 Re6 28. Qd7 Qc6 29. Rbd1 Qxd7 30. Rxd7 Bc6 31. Ra7"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+50",
                   "gmExpectation":0.4175,
                   "pv":"20. c3 Nxb3 21. axb3 e5 22. Nc2 Rfd8 23. f4 a5 24. f5 b4 25. c4 Kg8 26. Rd2 a4 27. bxa4 Qxc4 28. b3 Qc3 29. Qxc3 bxc3 30. Rf2 Kh7"
                }
             ]
          },
          {
             "ply":39,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b5b4",
                   "san":"b4"
                },
                "moveType":"good",
                "signedCPScore":"+5",
                "gmExpectation":0.4925,
                "pv":"20...b4 21. Qf4 Qe7 22. e5 dxe5 23. Qxe5+ Kg8 24. Qf4 Rfd8 25. Bc4 a5 26. Nb3 Rxd2 27. Qxd2 Nxb3 28. axb3 Rc5 29. Rd1 Bd5 30. Be2 Rc8 31. Bb5 Qc7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f8d8",
                      "san":"Rfd8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-57",
                   "gmExpectation":0.597,
                   "pv":"20...Rfd8 21. Red1 e5 22. Ne2 b4 23. Bd5 Bxd5 24. Rxd5 Na4 25. Qd3 a5 26. f4 exf4 27. Nxf4 Kg8 28. Rd2 Nc3+ 29. Ka1 Nxd5 30. Nxd5"
                },
                {
                   "move":{
                      "uci":"f8h8",
                      "san":"Rh8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+62",
                   "gmExpectation":0.393,
                   "pv":"20...Rh8 21. Qf4 Qe7 22. e5 dxe5 23. Qxe5+ Kh7 24. a3 Nxb3 25. Nxb3 Rhd8 26. Rxd8 Rxd8 27. Qc5 Qxc5 28. Nxc5 Bc8 29. Nd3 Kg7 30. Re5 f6 31. gxf6+ Kf7 32. Rc5 Kxf6 33. Rc7 h4 34. Rh7"
                }
             ]
          },
          {
             "ply":40,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e1d1",
                   "san":"Red1"
                },
                "moveType":"mistake",
                "signedCPScore":"-78",
                "gmExpectation":0.644,
                "pv":"21. Red1 e5 22. Ne2 a5 23. Bd5 a4 24. Bxb7 Nxb7 25. b3 a3 26. Qd3 Qa5 27. Qe3 Qc5 28. Qxc5 Rxc5 29. Nc1 Rfc8 30. Nd3 Rb5 31. Kc1 Nc5 32. Nxc5 Rbxc5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e3f4",
                      "san":"Qf4"
                   },
                   "moveType":"best",
                   "signedCPScore":"+5",
                   "gmExpectation":0.49250000000000005,
                   "pv":"21. Qf4 Qe7 22. e5 dxe5 23. Qxe5+ Kg8 24. Qf4 Rfd8 25. Bc4 a5 26. Nb3 Rxd2 27. Qxd2 Nxb3 28. axb3 Rc5 29. Rd1 Bd5 30. Be2 Rc8 31. Bb5 Qc7"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-13",
                   "gmExpectation":0.5195000000000001,
                   "pv":"21. c3 bxc3 22. Qxc3 e5 23. Ne2 Qe7 24. Qe3 Nxb3 25. Qxb3 Qxg5 26. Red1 Bc6 27. Nc3 Rb8 28. Qa3 Bb5 29. Nd5 Rbc8 30. Ne3 Rfd8 31. Rxd6 Rxd6"
                }
             ]
          },
          {
             "ply":41,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f8d8",
                   "san":"Rfd8"
                },
                "moveType":"blunder",
                "signedCPScore":"+104",
                "gmExpectation":0.2875,
                "pv":"21...Rfd8 22. g4 Rh8 23. Qf4 Kg8 24. Rh1 h4 25. Rdh2 Nxb3 26. Nxb3 a5 27. Qf6 a4 28. Nd4 Qc4 29. b3 axb3 30. axb3 Qc3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e6e5",
                      "san":"e5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-78",
                   "gmExpectation":0.644,
                   "pv":"21...e5 22. Ne2 a5 23. Bd5 a4 24. Bxb7 Nxb7 25. b3 a3 26. Qd3 Qa5 27. Qe3 Qc5 28. Qxc5 Rxc5 29. Nc1 Rfc8 30. Nd3 Rb5 31. Kc1 Nc5 32. Nxc5 Rbxc5"
                },
                {
                   "move":{
                      "uci":"g7g8",
                      "san":"Kg8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+12",
                   "gmExpectation":0.482,
                   "pv":"21...Kg8 22. g4 e5 23. gxh5 exd4 24. Rxd4 d5 25. hxg6 fxg6 26. Bxd5+ Bxd5 27. exd5 Rce8 28. d6 Rxe3 29. dxc7 Re7 30. Rxb4 Rxc7 31. Rb6 Rxf3 32. Rxg6+ Kf8"
                }
             ]
          },
          {
             "ply":42,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e3f4",
                   "san":"Qf4"
                },
                "moveType":"blunder",
                "signedCPScore":"-51",
                "gmExpectation":0.585,
                "pv":"22. Qf4 Qe7 23. e5 dxe5 24. Qxe5+ Kh7 25. g4 Nxb3 26. axb3 Rd5 27. Qe3 Qxg5 28. Qxg5 Rxg5 29. Nxe6 fxe6 30. Rd7+ Kh6 31. Rxb7 hxg4 32. fxg4 Rxg4 33. Rb6 e5 34. Rxa6 Rg2 35. Rc1 e4 36. Rb6 e3 37. Rxb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g2g4",
                      "san":"g4"
                   },
                   "moveType":"gameChanger",
                   "signedCPScore":"+104",
                   "gmExpectation":0.2875,
                   "pv":"22. g4 Rh8 23. Qf4 Kg8 24. Rh1 h4 25. Rdh2 Nxb3 26. Nxb3 a5 27. Qf6 a4 28. Nd4 Qc4 29. b3 axb3 30. axb3 Qc3"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+1",
                   "gmExpectation":0.49850000000000005,
                   "pv":"22. c3 bxc3 23. Qxc3 e5 24. Ne2 Qe7 25. Qe3 a5 26. Nc3 Nxb3 27. axb3 Rb8 28. g4 hxg4 29. fxg4 Bc6 30. Rh2 Rh8 31. Rdh1 Rxh2"
                }
             ]
          },
          {
             "ply":43,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c7e7",
                   "san":"Qe7"
                },
                "moveType":"gameChanger",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"22...Qe7 23. e5 dxe5 24. Qxe5+ Kg8 25. Qf4 Kh7 26. Qe5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d6d5",
                      "san":"d5"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+97",
                   "gmExpectation":0.3055,
                   "pv":"22...d5 23. Qf6+ Kg8 24. e5 a5 25. g4 h4 26. Rh2 Nd7 27. Nxe6 Nxf6 28. Nxc7 Nxg4 29. fxg4 Rxc7 30. Rxh4 Kg7 31. Rdh1 Re8 32. Rh7+ Kf8 33. Rh8+ Ke7 34. Rxe8+ Kxe8"
                },
                {
                   "move":{
                      "uci":"d8e8",
                      "san":"Re8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+117",
                   "gmExpectation":0.2505,
                   "pv":"22...Re8 23. g4 d5 24. e5 Rh8 25. Rh1 Nd7 26. gxh5 Qxe5 27. h6+ Kf8 28. Qxe5 Nxe5 29. Re1 Nc4 30. Rde2 Rh7 31. Ba4 Nb6 32. b3 Nxa4 33. bxa4"
                }
             ]
          },
          {
             "ply":44,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d4e2",
                   "san":"Ne2"
                },
                "moveType":"mistake",
                "signedCPScore":"-86",
                "gmExpectation":0.6655,
                "pv":"23. Ne2 e5 24. Qf6+ Qxf6 25. gxf6+ Kxf6 26. Rxd6+ Rxd6 27. Rxd6+ Ke7 28. Rb6 Rc6 29. Rxc6 Bxc6 30. Bc4 a5 31. a3 bxa3 32. bxa3 Ne6 33. Kc1 h4 34. Kd2 Kd6 35. Bxe6 Kxe6 36. Nc3 Kd6 37. Nd1 f5 38. Ne3 fxe4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e4e5",
                      "san":"e5"
                   },
                   "moveType":"best",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"23. e5 dxe5 24. Qxe5+ Kg8 25. Qf4 Kh7 26. Qe5"
                },
                {
                   "move":{
                      "uci":"f4h4",
                      "san":"Qh4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-22",
                   "gmExpectation":0.5335,
                   "pv":"23. Qh4 a5 24. g4 Rh8 25. Nb5 d5 26. exd5 Nxb3 27. axb3 Bxd5 28. gxh5 Rxh5 29. Qd4+ Kf8 30. f4 Qc5 31. Qd3 Rh7 32. Nd4 Kg8 33. Qe3 Qc7 34. Ne2 Qc6 35. Qe5 Rh5"
                }
             ]
          },
          {
             "ply":45,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a6a5",
                   "san":"a5"
                },
                "moveType":"blunder",
                "signedCPScore":"+140",
                "gmExpectation":0.184,
                "pv":"23...a5 24. e5 d5 25. Bc4 Bc6 26. Bd3 Rh8 27. Nd4 a4 28. Rh1 h4 29. Nxc6 Rxc6 30. Rxh4 Rxh4 31. Qxh4 Nxd3 32. cxd3 a3 33. Rc2 Rxc2 34. Kxc2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e6e5",
                      "san":"e5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-86",
                   "gmExpectation":0.6655,
                   "pv":"23...e5 24. Qf6+ Qxf6 25. gxf6+ Kxf6 26. Rxd6+ Rxd6 27. Rxd6+ Ke7 28. Rb6 Rc6 29. Rxc6 Bxc6 30. Bc4 a5 31. a3 bxa3 32. bxa3 Ne6 33. Kc1 h4 34. Kd2 Kd6 35. Bxe6 Kxe6 36. Nc3 Kd6 37. Nd1 f5 38. Ne3 fxe4"
                },
                {
                   "move":{
                      "uci":"c5b3",
                      "san":"Nxb3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+32",
                   "gmExpectation":0.4505,
                   "pv":"23...Nxb3 24. axb3 e5 25. Qh4 Rc6 26. g4 Rh8 27. gxh5 Rxh5 28. Qf2 Bc8 29. f4 Bg4 30. Rf1 Bxe2 31. Rxe2 exf4 32. Qxf4 Rc7 33. Rd2 Rxg5 34. Rd5 Rxd5 35. exd5"
                }
             ]
          },
          {
             "ply":46,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e4e5",
                   "san":"e5"
                },
                "moveType":"critical",
                "signedCPScore":"+40",
                "gmExpectation":0.437,
                "pv":"24. e5 d5 25. Bc4 Bc6 26. Qf6+ Qxf6 27. gxf6+ Kh6 28. Bd3 Nxd3 29. cxd3 h4 30. Rh1 Kg5 31. f4+ Kg4 32. Nd4 Bd7 33. Nf3 Kxf4 34. Rxh4+ Kf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d2d6",
                      "san":"Rxd6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"24. Rxd6 Rxd6 25. Rxd6 a4 26. Bc4 Nxe4 27. Qe5+ Kh7 28. fxe4 Rxc4 29. Rd4 Rc8 30. Qb5 Bc6 31. Qe5"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-55",
                   "gmExpectation":0.5925,
                   "pv":"24. c3 e5 25. Qe3 a4 26. cxb4 axb3 27. bxc5 bxa2+ 28. Ka1 dxc5 29. Rxd8 Rxd8 30. Rxd8 Qxd8 31. Nc3 h4 32. Kxa2 Ba6 33. Nd5 Bf1 34. Qxc5 Qxg5"
                }
             ]
          },
          {
             "ply":47,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d6d5",
                   "san":"d5"
                },
                "moveType":"best",
                "signedCPScore":"+88",
                "gmExpectation":0.3285,
                "pv":"24...d5 25. Bc4 Bc6 26. Bd3 Qc7 27. Qf6+ Kg8 28. Nd4 Nd7 29. Nxe6 Nxf6 30. Nxc7 Nh7 31. Nb5 Nxg5 32. Na7 Rc7 33. Nxc6 Rxc6 34. Bb5 Rc5 35. Ba4 Ne6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g7g8",
                      "san":"Kg8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+175",
                   "gmExpectation":0.1035,
                   "pv":"24...Kg8 25. exd6 Qf8 26. d7 Ra8 27. Bc4 Bc6 28. g4 h4 29. Rh1 Nxd7 30. Rxh4 Qg7 31. Nd4 Ne5 32. Be2 a4 33. Rh6 a3 34. b3 Nd7 35. Qd6"
                },
                {
                   "move":{
                      "uci":"g7f8",
                      "san":"Kf8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+176",
                   "gmExpectation":0.1015,
                   "pv":"24...Kf8 25. Rxd6 Kg8 26. Bc4 Qe8 27. Rxd8 Rxd8 28. Rd6 Bc6 29. Qd4 Nb7 30. Rxd8 Qxd8 31. Qxd8+ Nxd8 32. a3 bxa3 33. bxa3 Bd5 34. Bb5 Nc6"
                }
             ]
          },
          {
             "ply":48,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g2g4",
                   "san":"g4"
                },
                "moveType":"blunder",
                "signedCPScore":"-136",
                "gmExpectation":0.8085,
                "pv":"25. g4 Rh8 26. c3 hxg4 27. cxb4 Nxb3 28. axb3 gxf3 29. Qxf3 axb4 30. Qf6+ Qxf6 31. gxf6+ Kf8 32. Rd4 Ba6 33. Nc1 Rb8 34. Na2 Be2 35. Re1 Bf3 36. Rxb4 Rxb4 37. Nxb4 Be4+ 38. Kc1 Rh2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b3c4",
                      "san":"Bc4"
                   },
                   "moveType":"best",
                   "signedCPScore":"+88",
                   "gmExpectation":0.3285,
                   "pv":"25. Bc4 Bc6 26. Bd3 Qc7 27. Qf6+ Kg8 28. Nd4 Nd7 29. Nxe6 Nxf6 30. Nxc7 Nh7 31. Nb5 Nxg5 32. Na7 Rc7 33. Nxc6 Rxc6 34. Bb5 Rc5 35. Ba4 Ne6"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"good",
                   "signedCPScore":"+48",
                   "gmExpectation":0.4215,
                   "pv":"25. c3 Ba6 26. cxb4 Nxb3 27. Qf6+ Qxf6 28. exf6+ Kf8 29. axb3 Bxe2 30. Rxe2 axb4 31. Red2 Ke8 32. Rd4 Rb8 33. Kc2 Kd7 34. Ra1 Rb7 35. Kd3 Kd6 36. Ra4 Kc5 37. Rh4"
                }
             ]
          },
          {
             "ply":49,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"h5g4",
                   "san":"hxg4"
                },
                "moveType":"mistake",
                "signedCPScore":"-50",
                "gmExpectation":0.582,
                "pv":"25...hxg4 26. Qf6+ Qxf6 27. gxf6+ Kf8 28. fxg4 a4 29. Bc4 Nd7 30. Bb5 Nxe5 31. Rd4 b3 32. c3 Bc6 33. Bxc6 Rxc6 34. Rh1 Kg8 35. Rxa4 Nc4 36. Rh3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d8h8",
                      "san":"Rh8"
                   },
                   "moveType":"gameChanger",
                   "signedCPScore":"-136",
                   "gmExpectation":0.8085,
                   "pv":"25...Rh8 26. c3 hxg4 27. cxb4 Nxb3 28. axb3 gxf3 29. Qxf3 axb4 30. Qf6+ Qxf6 31. gxf6+ Kf8 32. Rd4 Ba6 33. Nc1 Rb8 34. Na2 Be2 35. Re1 Bf3 36. Rxb4 Rxb4 37. Nxb4 Be4+ 38. Kc1 Rh2"
                },
                {
                   "move":{
                      "uci":"a5a4",
                      "san":"a4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-9",
                   "gmExpectation":0.5135,
                   "pv":"25...a4 26. Bc4 Rh8 27. Bb5 hxg4 28. Qxg4 Ba6 29. Nd4 a3 30. Bxa6 Nxa6 31. Qf4 Kg8 32. Rh2 Rxh2 33. Qxh2 Qxg5 34. Rh1 Qh5 35. Qxh5 gxh5 36. Rxh5"
                }
             ]
          },
          {
             "ply":50,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f4f6",
                   "san":"Qf6+"
                },
                "moveType":"best",
                "signedCPScore":"-84",
                "gmExpectation":0.661,
                "pv":"26. Qf6+ Qxf6 27. gxf6+ Kf8 28. fxg4 a4 29. Rh1 Ke8 30. Bc4 Ne4 31. Bb5+ Bc6 32. Bxc6+ Rxc6 33. Rd4 Rc4 34. Rh3 Rdc8 35. c3 b3 36. axb3 axb3 37. Rh2 Ng5 38. Rf4 Rxf4 39. Nxf4 Kd7 40. Nd3 Rc4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f3g4",
                      "san":"fxg4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-160",
                   "gmExpectation":0.869,
                   "pv":"26. fxg4 Ne4 27. Rd4 Nxg5 28. c4 dxc4 29. Rxd8 Rxd8 30. Qf6+ Qxf6 31. exf6+ Kxf6 32. Rxd8 cxb3 33. axb3 e5 34. Kc2 Bf3 35. Kd2 Ne6 36. Rd7 Bxg4 37. Ra7 Nc5 38. Nc1"
                },
                {
                   "move":{
                      "uci":"d1h1",
                      "san":"Rh1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-163",
                   "gmExpectation":0.876,
                   "pv":"26. Rh1 Rh8 27. Qf6+ Qxf6 28. gxf6+ Kg8 29. Rxh8+ Kxh8 30. a4 bxa3 31. fxg4 a4 32. Ba2 axb2 33. Nd4 Nd7 34. Re2 Ba6 35. Re1 Bc4 36. Kxb2"
                }
             ]
          },
          {
             "ply":51,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e7f6",
                   "san":"Qxf6"
                },
                "moveType":"best",
                "signedCPScore":"-70",
                "gmExpectation":0.625,
                "pv":"26...Qxf6 27. gxf6+ Kf8 28. fxg4 a4 29. Bc4 Nd7 30. Bb5 Nxe5 31. Rd4 Bc6 32. Rh1 Ke8 33. Rxb4 Bxb5 34. Rxb5 Kd7 35. Rb4 Rc4 36. Rxc4 dxc4 37. Rg1 Kd6 38. Nc3 Kc5 39. g5 Nf3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g7g8",
                      "san":"Kg8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+1028",
                   "gmExpectation":0.0,
                   "pv":"26...Kg8 27. Qxe7 Re8 28. Qf6 Nd7 29. Qf4 Kg7 30. fxg4 Rh8 31. c4 Nc5 32. Bc2 Kg8 33. Rd4 Ba6 34. b3 Rh3 35. Re1 Rf8 36. cxd5 Bxe2"
                },
                {
                   "move":{
                      "uci":"g7h7",
                      "san":"Kh7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"M2",
                   "gmExpectation":0.0,
                   "pv":"26...Kh7 27. Rh1+ Kg8 28. Rh8#"
                }
             ]
          },
          {
             "ply":52,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g5f6",
                   "san":"gxf6+"
                },
                "moveType":"best",
                "signedCPScore":"-48",
                "gmExpectation":0.577,
                "pv":"27. gxf6+ Kg8 28. fxg4 Ne4 29. Rd4 Rf8 30. Re1 Bc6 31. c3 Ng5 32. Rd3 a4 33. Bc2 Bb5 34. Re3 Bxe2 35. R3xe2 Rb8 36. Rh1 bxc3 37. Bxa4 Rfc8 38. Bb3 Nf3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e5f6",
                      "san":"exf6+"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-167",
                   "gmExpectation":0.8865,
                   "pv":"27. exf6+ Kf8 28. Nf4 gxf3 29. Rh2 Ke8 30. Nd3 Nxd3 31. Ba4+ Bc6 32. Bxc6+ Rxc6 33. Rxd3 Rc4 34. Rxf3 Rg4 35. a3 Kd7 36. Ka2 Rc8 37. axb4 axb4 38. Kb3 Rxg5"
                },
                {
                   "move":{
                      "uci":"f3f4",
                      "san":"f4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-1292",
                   "gmExpectation":1.0,
                   "pv":"27. f4 Qf5 28. Bc4 Qe4 29. Bb5 b3 30. Bd3 bxc2+ 31. Bxc2 Qe3 32. Nc1 Qxf4 33. Nb3 Nxb3 34. Bxb3 Qxe5 35. Rc2 Ra8 36. Ba4 Rdb8 37. Bb5 g3 38. a4 Qxg5 39. Bc6 g2 40. Bxb7 g1=Q 41. Rxg1"
                }
             ]
          },
          {
             "ply":53,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g7h6",
                   "san":"Kh6"
                },
                "moveType":"blunder",
                "signedCPScore":"+229",
                "gmExpectation":0.031,
                "pv":"27...Kh6 28. Rd4 g5 29. Rxg4 Nxb3 30. axb3 d4 31. f4 Rc5 32. Rxg5 Bf3 33. Rd2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g7g8",
                      "san":"Kg8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-48",
                   "gmExpectation":0.577,
                   "pv":"27...Kg8 28. fxg4 Ne4 29. Rd4 Rf8 30. Re1 Bc6 31. c3 Ng5 32. Rd3 a4 33. Bc2 Bb5 34. Re3 Bxe2 35. R3xe2 Rb8 36. Rh1 bxc3 37. Bxa4 Rfc8 38. Bb3 Nf3"
                },
                {
                   "move":{
                      "uci":"g7f8",
                      "san":"Kf8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-47",
                   "gmExpectation":0.575,
                   "pv":"27...Kf8 28. fxg4 a4 29. Bc4 Nd7 30. Bb5 Nxe5 31. Nd4 Nxg4 32. Rg1 Nxf6 33. Rf2 Ke7 34. Rgf1 Ne4 35. Rxf7+ Kd6 36. Rxb7 Nd2+ 37. Kc1 Nxf1 38. Bxf1 Rh8 39. Bd3 e5 40. Nf3 Rh3"
                }
             ]
          },
          {
             "ply":54,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d1h1",
                   "san":"Rh1+"
                },
                "moveType":"blunder",
                "signedCPScore":"+19",
                "gmExpectation":0.4725,
                "pv":"28. Rh1+ Kg5 29. f4+ Kf5 30. Rf1 g3 31. Nxg3+ Kg4 32. Rg2 Kh3 33. Rgg1 d4 34. Ne2 d3 35. cxd3 Nxd3 36. Bc2 Be4 37. Rg3+ Kh2 38. Re3 Bg2 39. Rd1 Nf2 40. Rc1 Nh3 41. Rd3 Rxd3 42. Bxd3 Rxc1+ 43. Kxc1 g5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d2d4",
                      "san":"Rd4"
                   },
                   "moveType":"critical",
                   "signedCPScore":"+229",
                   "gmExpectation":0.031000000000000028,
                   "pv":"28. Rd4 g5 29. Rxg4 Nxb3 30. axb3 d4 31. f4 Rc5 32. Rxg5 Bf3 33. Rd2"
                },
                {
                   "move":{
                      "uci":"d1g1",
                      "san":"Rg1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-40",
                   "gmExpectation":0.5615,
                   "pv":"28. Rg1 d4 29. Nxd4 Rxd4 30. Rxd4 Bxf3 31. c3 bxc3 32. Bd1 Bxd1 33. Rgxd1 c2+ 34. Kxc2 Nd7+ 35. Kd3 Nxe5+ 36. Ke4 Rc5 37. Kf4 g5+ 38. Kg3 Kg6 39. Ra4 Kxf6"
                }
             ]
          },
          {
             "ply":55,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"h6g5",
                   "san":"Kg5"
                },
                "moveType":"gameChanger",
                "signedCPScore":"+63",
                "gmExpectation":0.3925,
                "pv":"28...Kg5 29. f4+ Kf5 30. Rf1 g3 31. Nxg3+ Kg4 32. Rg2 Kh3 33. Rgg1 Ba6 34. Rf2 Rh8 35. Nh1 Ne4 36. Rfg2 Bb5 37. Ng3 Rh4 38. Nxe4 dxe4 39. Bxe6+ fxe6 40. Rxg6 Kh2 41. R6g2+ Kh3 42. f7"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":56,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f3f4",
                   "san":"f4+"
                },
                "moveType":"critical",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"29. f4+ Kf5 30. Rf1 g3 31. Nxg3+ Kg4 32. Rg2 Kh3 33. Rgg1 Ne4 34. Nxe4 dxe4 35. Rh1+ Kg4 36. Rhg1+"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"h1f1",
                      "san":"Rf1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-348",
                   "gmExpectation":0.998,
                   "pv":"29. Rf1 gxf3 30. Rxf3 d4 31. Rf1 d3 32. Rg1+ Kf5 33. cxd3 Kxe5 34. Bc2 Kxf6 35. Ng3 Ne4 36. Rdd1 Nxg3 37. Rxg3 Bd5 38. Rd2 Rh8 39. Rg1 Rh3 40. b3 Kg7"
                },
                {
                   "move":{
                      "uci":"h1g1",
                      "san":"Rg1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-382",
                   "gmExpectation":0.999,
                   "pv":"29. Rg1 Kf5 30. fxg4+ Kxe5 31. c3 bxc3 32. Nxc3 d4 33. Re1+ Kxf6 34. Nb5 d3 35. Nc3 Kg5 36. Rf2 Nxb3 37. axb3 Bd5 38. Re5+ Kxg4 39. Ne4 Bxe4 40. Rxe4+ Kg3 41. Rxf7"
                }
             ]
          },
          {
             "ply":57,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g5f5",
                   "san":"Kf5"
                },
                "moveType":"best",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"29...Kf5 30. Rf1 g3 31. Nxg3+ Kg4 32. Rg2 Kh3 33. Rgg1 Ne4 34. Nxe4 dxe4 35. Rh1+ Kg3 36. Rhg1+ Kh2 37. Rh1+"
             },
             "alternativeMoves":[
                
             ]
          },
          {
             "ply":58,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"h1f1",
                   "san":"Rf1"
                },
                "moveType":"critical",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"30. Rf1 g3 31. Nxg3+ Kg4 32. Rg2 Kh3 33. Rgg1 Ne4 34. Nxe4 dxe4 35. Rh1+ Kg3 36. Rhg1+"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-382",
                   "gmExpectation":0.999,
                   "pv":"30. c3 Ne4 31. Bc2 Ba6 32. cxb4 Rxc2 33. Nd4+ Kxf4 34. Rxc2 Bd3 35. bxa5 Rc8 36. b4 Kxe5 37. Kb2 Bxc2 38. Nxc2 d4 39. Ne1"
                },
                {
                   "move":{
                      "uci":"d2d4",
                      "san":"Rd4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-492",
                   "gmExpectation":1.0,
                   "pv":"30. Rd4 Ne4 31. Rhd1 Rh8 32. c4 Rh2 33. Re1 g5 34. fxg5 Kxe5 35. cxd5 Rxe2 36. Rxe2 Kxd4 37. dxe6 Nxg5 38. exf7 g3"
                }
             ]
          },
          {
             "ply":59,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g6g5",
                   "san":"g5"
                },
                "moveType":"best",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"30...g5 31. Ng3+ Kg6 32. f5+ exf5 33. Nxf5 g3 34. Ne7+ Kh5 35. Nxc8 Nxb3 36. axb3 Bxc8 37. Rg1 Kg4 38. Rd3 Kf4 39. Rf1+ Kg4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g4g3",
                      "san":"g3"
                   },
                   "moveType":"best",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"30...g3 31. Nxg3+ Kg4 32. Rg2 Kh3 33. Rgg1 Ne4 34. Nxe4 dxe4 35. Rh1+ Kg3 36. Rhg1+"
                },
                {
                   "move":{
                      "uci":"f5e4",
                      "san":"Ke4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+294",
                   "gmExpectation":0.0065,
                   "pv":"30...Ke4 31. Ng3+ Ke3 32. Re2+ Kd4 33. Rd1+ Nd3 34. cxd3 Rh8 35. Bc2 Kc5 36. Rg2 Kb6 37. Rdg1 d4 38. Ne4 Bxe4 39. dxe4 Rcd8 40. Ba4 Rh3 41. Rg3 Rxg3 42. Rxg3 d3 43. Rxg4 Rd4"
                }
             ]
          },
          {
             "ply":60,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e2d4",
                   "san":"Nd4+"
                },
                "moveType":"blunder",
                "signedCPScore":"-310",
                "gmExpectation":0.996,
                "pv":"31. Nd4+ Ke4 32. Re2+ Kxd4 33. Rd1+ Nd3 34. fxg5 Ba6 35. g6 fxg6 36. cxd3 Rh8 37. f7 Bxd3+ 38. Bc2 Rxc2 39. Rxc2 Ke4 40. Rxd3 Kxd3 41. a3 b3 42. Rc3+ Ke4 43. Rxb3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e2g3",
                      "san":"Ng3+"
                   },
                   "moveType":"critical",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"31. Ng3+ Kg6 32. f5+ exf5 33. Nxf5 g3 34. Ne7+ Kh5 35. Nxc8 Nxb3 36. axb3 Bxc8 37. Rg1 Kg4 38. Rd3 Kf4 39. Rf1+ Kg4"
                },
                {
                   "move":{
                      "uci":"d2d1",
                      "san":"Rdd1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-375",
                   "gmExpectation":0.999,
                   "pv":"31. Rdd1 gxf4 32. Rxf4+ Kxe5 33. Rxg4 Rg8 34. Rxg8 Rxg8 35. a3 bxa3 36. bxa3 a4 37. Ba2 Ne4 38. Kb2 Ba6 39. Nc1 Rh8 40. Nd3+ Bxd3 41. cxd3 Rh2+ 42. Ka1 Nc3 43. Re1+ Kxf6 44. Bb1"
                }
             ]
          },
          {
             "ply":61,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f5g6",
                   "san":"Kg6"
                },
                "moveType":"blunder",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"31...Kg6 32. f5+ exf5 33. Nxf5 g3 34. Ne7+ Kh5 35. Nf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f5e4",
                      "san":"Ke4"
                   },
                   "moveType":"gameChanger",
                   "signedCPScore":"-310",
                   "gmExpectation":0.996,
                   "pv":"31...Ke4 32. Re2+ Kxd4 33. Rd1+ Nd3 34. fxg5 Ba6 35. g6 fxg6 36. cxd3 Rh8 37. f7 Bxd3+ 38. Bc2 Rxc2 39. Rxc2 Ke4 40. Rxd3 Kxd3 41. a3 b3 42. Rc3+ Ke4 43. Rxb3"
                }
             ]
          },
          {
             "ply":62,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f4f5",
                   "san":"f5+"
                },
                "moveType":"gameChanger",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"32. f5+ exf5 33. Nxf5 g3 34. Ne7+ Kh5 35. Nf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d2g2",
                      "san":"Rg2"
                   },
                   "moveType":"gameChanger",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"32. Rg2 Ne4 33. f5+ exf5 34. Nxf5 g3 35. Nxg3 Re8 36. Nf5 Rxe5 37. Nh4+ Kh6 38. Nf5+ Kg6"
                },
                {
                   "move":{
                      "uci":"f1g1",
                      "san":"Rg1"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-82",
                   "gmExpectation":0.653,
                   "pv":"32. Rg1 a4 33. Bxa4 Ne4 34. Rdg2 Rc4 35. Ne2 gxf4 36. Rxg4+ Kf5 37. Rxf4+ Kxe5 38. Bb5 Rc5 39. Bd3 Rh8 40. Rfg4 Rh2 41. Ng3 Nd2+ 42. Kc1 Nf3 43. Rh1 Rxh1+ 44. Nxh1"
                }
             ]
          },
          {
             "ply":63,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e6f5",
                   "san":"exf5"
                },
                "moveType":"best",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"32...exf5 33. Nxf5 g3 34. Ne7+ Kh5 35. Nf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g6h7",
                      "san":"Kh7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"M3",
                   "gmExpectation":0.0,
                   "pv":"32...Kh7 33. Rh1+ Kg8 34. Rdh2 g3 35. Rh8#"
                },
                {
                   "move":{
                      "uci":"g6h5",
                      "san":"Kh5"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"M1",
                   "gmExpectation":0.0,
                   "pv":"32...Kh5 33. Rh1#"
                }
             ]
          },
          {
             "ply":64,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d4f5",
                   "san":"Nxf5"
                },
                "moveType":"critical",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"33. Nxf5 g3 34. Ne7+ Kh5 35. Nf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1f5",
                      "san":"Rxf5"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-459",
                   "gmExpectation":1.0,
                   "pv":"33. Rxf5 a4 34. Bxa4 Nxa4 35. Rg2 Nc5 36. Rf1 Ne4 37. Nf5 g3 38. Nxg3 Nxg3 39. Rxg3 Re8 40. Rb3 Rxe5 41. Rxb4 Ba6 42. Rg1 Be2 43. Rd4 Kf5 44. b3 g4 45. Rd2 Kxf6 46. a3"
                },
                {
                   "move":{
                      "uci":"d2g2",
                      "san":"Rg2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-470",
                   "gmExpectation":1.0,
                   "pv":"33. Rg2 Ba6 34. Rh1 Rh8 35. Rd1 Ne6 36. Rgg1 Nxd4 37. Rxd4 Bc4 38. Ba4 Rh2 39. a3 bxa3 40. b3 Ba6 41. Rc1 g3 42. Rxd5 Bb7 43. Rxa5 f4 44. Ra7"
                }
             ]
          },
          {
             "ply":65,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g4g3",
                   "san":"g3"
                },
                "moveType":"critical",
                "signedCPScore":"+0",
                "gmExpectation":0.5,
                "pv":"33...g3 34. Ne7+ Kh5 35. Nxc8 Nxb3 36. axb3 Bxc8 37. Rg1 Kg4 38. Rd3 Kf4 39. Rf1+ Kg4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d8d7",
                      "san":"Rd7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"M3",
                   "gmExpectation":0.0,
                   "pv":"33...Rd7 34. Rh2 Rh8 35. Rxh8 Ne4 36. Rh6#"
                },
                {
                   "move":{
                      "uci":"c8c7",
                      "san":"Rc7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"M3",
                   "gmExpectation":0.0,
                   "pv":"33...Rc7 34. Rh2 Rh8 35. Rxh8 Ne4 36. Rh6#"
                }
             ]
          },
          {
             "ply":66,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d2g2",
                   "san":"Rg2"
                },
                "moveType":"best",
                "signedCPScore":"-63",
                "gmExpectation":0.602,
                "pv":"34. Rg2 Ne4 35. Nxg3 Re8 36. Nf5 Rxe5 37. Ne7+ Rxe7 38. fxe7 Re8 39. Rd1 Rxe7 40. Bxd5 f5 41. Kc1 g4 42. Bxb7 Rxb7 43. Rd5 a4 44. Ra5 g3 45. Ra6+ Kg5 46. Rxa4 Kg4 47. Re2 Kf3 48. Re1 f4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f5e7",
                      "san":"Ne7+"
                   },
                   "moveType":"best",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"34. Ne7+ Kh5 35. Nxc8 Nxb3 36. axb3 Bxc8 37. Rg1 Kg4 38. Rd3 Kf4 39. Rf1+ Kg4"
                },
                {
                   "move":{
                      "uci":"d2d1",
                      "san":"Rdd1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-117",
                   "gmExpectation":0.7565,
                   "pv":"34. Rdd1 Nxb3 35. axb3 g2 36. Ne7+ Kh5 37. Rg1 d4 38. Nxc8 Rxc8 39. Rxd4 Kg6 40. e6 fxe6 41. f7 Kg7 42. Rd6 Rf8 43. Rd7 Be4 44. Rd4 Bf3 45. Rd7 Rxf7 46. Rxf7+ Kxf7 47. Kc1 Kf6 48. Kd2"
                }
             ]
          },
          {
             "ply":67,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c5e4",
                   "san":"Ne4"
                },
                "moveType":"best",
                "signedCPScore":"-51",
                "gmExpectation":0.5765,
                "pv":"34...Ne4 35. Nxg3 Re8 36. Nf5 Rxe5 37. Nh4+ Kh6 38. Nf5+ Rxf5 39. Rxf5 Kg6 40. Rf4 Bc6 41. c3 bxc3 42. bxc3 Bd7 43. Kb2 Rb8 44. Ka1 a4 45. Bc2 Bh3 46. Rg1 Bf5 47. Rff1 a3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7a6",
                      "san":"Ba6"
                   },
                   "moveType":"good",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"34...Ba6 35. Ne7+ Kh5 36. Re1 Kg4 37. Bxd5 Rxd5 38. Nxd5 Bb7 39. Rd2 Bxd5 40. Rxd5 Kf3 41. Rg1 Kf2 42. Rgd1 Kf3"
                },
                {
                   "move":{
                      "uci":"d8e8",
                      "san":"Re8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+123",
                   "gmExpectation":0.2255,
                   "pv":"34...Re8 35. Ne7+ Rxe7 36. fxe7 Re8 37. Rxg3 Rxe7 38. Rf6+ Kh5 39. Rh3+ Kg4 40. Rh1 Ne4 41. Rg1+ Kh5 42. Rb6 g4 43. Kc1 Kg5 44. Rxb7 Rxb7 45. Bxd5 Re7 46. Bxe4 Rxe5 47. Bf3 f5 48. Kd2"
                }
             ]
          },
          {
             "ply":68,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f5g3",
                   "san":"Nxg3"
                },
                "moveType":"best",
                "signedCPScore":"-94",
                "gmExpectation":0.683,
                "pv":"35. Nxg3 Re8 36. Nf5 Rxe5 37. Ne7+ Rxe7 38. fxe7 Re8 39. Rd1 Rxe7 40. Bxd5 f5 41. Kc1 g4 42. Bxb7 Rxb7 43. Rd3 Rh7 44. Rg1 g3 45. Rgxg3+ Nxg3 46. Rxg3+ Kf6 47. Rg8 Rh2 48. Rf8+ Ke5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b1c1",
                      "san":"Kc1"
                   },
                   "moveType":"best",
                   "signedCPScore":"-63",
                   "gmExpectation":0.602,
                   "pv":"35. Kc1 Rc5 36. Ne7+ Kh5 37. e6 fxe6 38. f7 Rc7 39. Rh1+ Kg4 40. Ng6 Rcc8 41. Ba4 d4 42. Bd7 Rxd7 43. Ne5+ Kf5 44. Nxd7 Nf2 45. Rhg1 Bxg2 46. Rxg2 Nd3+ 47. Kd2"
                },
                {
                   "move":{
                      "uci":"b1a1",
                      "san":"Ka1"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-125",
                   "gmExpectation":0.781,
                   "pv":"35. Ka1 Rc5 36. Ne7+ Kh5 37. e6 Rf8 38. Nf5 fxe6 39. Ng7+ Kg6 40. Nxe6 Rcc8 41. Nxf8+ Rxf8 42. c4 bxc3 43. f7 Rxf7 44. Rxf7 Kxf7 45. bxc3 Kf6 46. Bc2 Ke5 47. Bxe4 dxe4"
                }
             ]
          },
          {
             "ply":69,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d8e8",
                   "san":"Re8"
                },
                "moveType":"best",
                "signedCPScore":"-50",
                "gmExpectation":0.5735,
                "pv":"35...Re8 36. Nxe4 dxe4 37. e6 e3 38. exf7 Red8 39. Re2 a4 40. Bxa4 Ba6 41. Be8 Rxe8 42. fxe8=B+ Rxe8 43. f7 Rf8 44. Rfe1 Bxe2 45. Rxe2 Rxf7 46. a3 bxa3 47. Rxe3 g4 48. Rg3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e4g3",
                      "san":"Nxg3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-1",
                   "gmExpectation":0.5015,
                   "pv":"35...Nxg3 36. Rxg3 Re8 37. c3 Rxe5 38. Bc2+ Re4 39. Rfg1 Kxf6 40. Bxe4 dxe4 41. Rxg5 bxc3 42. Rb5 Bc6 43. Rc5 e3 44. Kc1 cxb2+ 45. Kxb2 e2 46. Re1"
                },
                {
                   "move":{
                      "uci":"b7a6",
                      "san":"Ba6"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"35...Ba6 36. Rf3 g4 37. Rf4 Kg5 38. Rf5+ Kg6"
                }
             ]
          },
          {
             "ply":70,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g3e4",
                   "san":"Nxe4"
                },
                "moveType":"best",
                "signedCPScore":"-94",
                "gmExpectation":0.6815,
                "pv":"36. Nxe4 dxe4 37. e6 e3 38. Re2 a4 39. exf7 Red8 40. Bxa4 Ba6 41. Be8 Rxe8 42. fxe8=B+ Rxe8 43. f7 Rf8 44. Rfe1 Bxe2 45. Rxe2 Rxf7 46. c4 bxc3 47. Rxe3 Rf1+ 48. Kc2 cxb2 49. Kxb2 g4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g3f5",
                      "san":"Nf5"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"-78",
                   "gmExpectation":0.6365000000000001,
                   "pv":"36. Nf5 Rxe5 37. Ne7+ Rxe7 38. fxe7 Re8 39. Rd1 Rxe7 40. Bxd5 f5 41. Bxb7 Rxb7 42. Rd4 g4 43. Kc1 g3 44. Rxe4 fxe4 45. Rxg3+ Kf5 46. Rg8 Rh7 47. Kd2 Rh2+ 48. Ke3"
                },
                {
                   "move":{
                      "uci":"e5e6",
                      "san":"e6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-194",
                   "gmExpectation":0.9395,
                   "pv":"36. e6 Rxe6 37. Nxe4 Rxe4 38. c3 Ba6 39. Rd1 Re5 40. Rxd5 Rxd5 41. Bxd5 Bd3+ 42. Kc1 Rc5 43. Bb3 bxc3 44. bxc3 Be4 45. Re2 Bf3 46. Re8 g4 47. Rg8+ Kxf6 48. Kd2 Re5 49. Bc4 Rg5"
                }
             ]
          },
          {
             "ply":71,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d5e4",
                   "san":"dxe4"
                },
                "moveType":"critical",
                "signedCPScore":"-62",
                "gmExpectation":0.5965,
                "pv":"36...dxe4 37. e6 e3 38. Re2 a4 39. exf7 Red8 40. Bxa4 Ba6 41. Be8 Rxe8 42. fxe8=B+ Rxe8 43. f7 Rf8 44. Rfe1 Bxe2 45. Rxe2 Rxf7 46. a3 Re7 47. axb4 g4 48. c4 Kg5 49. b5 Kf4 50. c5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8e5",
                      "san":"Rxe5"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+557",
                   "gmExpectation":0.0,
                   "pv":"36...Rxe5 37. Nd6 Ba6 38. c4 Rxc4 39. Nxc4 Bxc4 40. Bc2+ Re4 41. Rc1 Bb5 42. Bxe4+ dxe4 43. Rc5 Bd3+ 44. Kc1 a4 45. Rgxg5+ Kxf6 46. Rge5 Kg6 47. Kd2 Bb1 48. b3 axb3 49. axb3 Bd3"
                },
                {
                   "move":{
                      "uci":"g6h7",
                      "san":"Kh7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"M3",
                   "gmExpectation":0.0,
                   "pv":"36...Kh7 37. Rh1+ Kg8 38. Rxg5+ Kf8 39. Rh8#"
                }
             ]
          },
          {
             "ply":72,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e5e6",
                   "san":"e6"
                },
                "moveType":"best",
                "signedCPScore":"-77",
                "gmExpectation":0.632,
                "pv":"37. e6 e3 38. Re2 a4 39. exf7 Red8 40. Bxa4 Ba6 41. Be8 Rxe8 42. fxe8=Q+ Rxe8 43. f7 Rf8 44. Rfe1 Bxe2 45. Rxe2 Rxf7 46. a3 Re7 47. axb4 g4 48. c4 Kg5 49. Kc2 Kf4 50. Kc3 Kf3 51. Re1"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g2h2",
                      "san":"Rh2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-155",
                   "gmExpectation":0.8645,
                   "pv":"37. Rh2 Rxe5 38. Bxf7+ Kxf7 39. Rh7+ Kg6 40. Rg7+ Kh5 41. Rxb7 e3 42. Kc1 Rf8 43. Re7 Rxe7 44. Rh1+ Kg6 45. fxe7 Re8 46. Kd1 g4 47. Ke2 Rxe7 48. c4 Kg5 49. Rg1 Kf4 50. Rf1+ Kg3"
                },
                {
                   "move":{
                      "uci":"g2d2",
                      "san":"Rd2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-180",
                   "gmExpectation":0.9175,
                   "pv":"37. Rd2 Red8 38. Rxd8 Rxd8 39. a3 bxa3 40. e6 fxe6 41. f7 e3 42. Bc4 Kg7 43. Re1 Bd5 44. Bxd5 Rxd5 45. Rxe3 Rd1+ 46. Ka2 axb2 47. Kxb2 Kxf7"
                }
             ]
          },
          {
             "ply":73,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f7e6",
                   "san":"fxe6"
                },
                "moveType":"best",
                "signedCPScore":"-42",
                "gmExpectation":0.5565,
                "pv":"37...fxe6 38. f7 Rf8 39. Bxe6 Rc5 40. Rd1 e3 41. Rg3 Be4 42. Bb3 e2 43. Re1 Rf5 44. Re3 Bf3 45. Bc4 g4 46. Kc1 R8xf7 47. Bxf7+ Rxf7 48. Kd2 Kf5 49. Rd3 Kg5 50. Rg1"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e4e3",
                      "san":"e3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-77",
                   "gmExpectation":0.632,
                   "pv":"37...e3 38. Re2 a4 39. exf7 Red8 40. Bxa4 Ba6 41. Be8 Rxe8 42. fxe8=Q+ Rxe8 43. f7 Rf8 44. Rfe1 Bxe2 45. Rxe2 Rxf7 46. a3 Re7 47. axb4 g4 48. c4 Kg5 49. Kc2 Kf4 50. Kc3 Kf3 51. Re1"
                },
                {
                   "move":{
                      "uci":"e8g8",
                      "san":"Rg8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+57",
                   "gmExpectation":0.4145,
                   "pv":"37...Rg8 38. e7 Rc5 39. Rd2 Bc6 40. c3 bxc3 41. bxc3 g4 42. Rg2 Rg5 43. Kc1 g3 44. Bc2 Rh8 45. Kd2 Rf5 46. Rxg3+ Kxf6 47. Rxf5+ Kxf5 48. Ke3 Ke6"
                }
             ]
          },
          {
             "ply":74,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f6f7",
                   "san":"f7"
                },
                "moveType":"best",
                "signedCPScore":"-73",
                "gmExpectation":0.62,
                "pv":"38. f7 Rf8 39. Bxe6 Rc5 40. Rd1 Kf6 41. Bb3 a4 42. Bxa4 Rxf7 43. Rg4 Re7 44. Kc1 Rd5 45. Rdg1 Rf5 46. Bb3 Ree5 47. Re1 Rf4 48. Rg2 Bd5 49. Bxd5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b1c1",
                      "san":"Kc1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-141",
                   "gmExpectation":0.8255,
                   "pv":"38. Kc1 e3 39. Rgg1 Bd5 40. Rg3 Bxb3 41. axb3 e2 42. Re1 Rc5 43. Rxe2 Rf5 44. f7 Kxf7 45. Kd2 Kf6 46. c4 Rd8+ 47. Kc2 e5 48. Rd3 Rxd3 49. Kxd3 Rf3+ 50. Kc2"
                },
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-148",
                   "gmExpectation":0.845,
                   "pv":"38. a3 Rc7 39. axb4 axb4 40. Rg3 Rf8 41. Rfg1 Rc5 42. Bxe6 Rxf6 43. Bg4 Bc6 44. Bd1 Rf2 45. Rh3 Rcf5 46. Kc1 Rf1 47. Rhh1 Rxg1"
                }
             ]
          },
          {
             "ply":75,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e8f8",
                   "san":"Rf8"
                },
                "moveType":"best",
                "signedCPScore":"-63",
                "gmExpectation":0.596,
                "pv":"38...Rf8 39. Bxe6 Rc5 40. Rd1 e3 41. Rg3 Be4 42. Bb3 e2 43. Re1 Rf5 44. Re3 Bf3 45. Kc1 g4 46. Re8 R8xf7 47. Bxf7+ Rxf7 48. Kd2 Kg5 49. a3 Kf4 50. Rd8 g3 51. axb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8h8",
                      "san":"Rh8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"+47",
                   "gmExpectation":0.435,
                   "pv":"38...Rh8 39. Bxe6 Rcf8 40. Rfg1 Rh5 41. Rf2 e3 42. Re2 Rh1 43. Rxh1 Bxh1 44. Rxe3 g4 45. Kc1 Bf3 46. Kd2 Kg5 47. Re1 Kf4 48. Bc4 Rd8+ 49. Bd3 g3 50. Rg1"
                },
                {
                   "move":{
                      "uci":"e8d8",
                      "san":"Red8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+106",
                   "gmExpectation":0.285,
                   "pv":"38...Red8 39. Bxe6 Rc6 40. f8=Q Rxf8 41. Rxf8 Rxe6 42. Rg8+ Kf5 43. R2xg5+ Kf4 44. R5g7 Rh6 45. Rf8+ Ke3 46. b3 Bc6 47. Rg5 a4 48. bxa4 Bxa4 49. Ra5 Bc6 50. Kb2 Kd4 51. Rd8+ Kc4"
                }
             ]
          },
          {
             "ply":76,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"b3e6",
                   "san":"Bxe6"
                },
                "moveType":"best",
                "signedCPScore":"-75",
                "gmExpectation":0.623,
                "pv":"39. Bxe6 Rc5 40. Rd2 e3 41. Rd4 Re5 42. Bc4 Kg7 43. Re1 Be4 44. a3 bxa3 45. bxa3 Bg6 46. Rd7 g4 47. Rd4 Rg5 48. Rxe3 g3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b1c1",
                      "san":"Kc1"
                   },
                   "moveType":"good",
                   "signedCPScore":"-109",
                   "gmExpectation":0.723,
                   "pv":"39. Kc1 e3 40. Rg3 Bd5 41. Rfg1 Kxf7 42. Rxe3 Bxb3 43. axb3 Rc5 44. Rf3+ Ke7 45. Rxf8 Kxf8 46. Kd2 Ke7 47. c3 Kd6 48. cxb4 axb4 49. Rg4"
                },
                {
                   "move":{
                      "uci":"f1d1",
                      "san":"Rd1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-155",
                   "gmExpectation":0.862,
                   "pv":"39. Rd1 Rc6 40. Rg4 Rxf7 41. Rxe4 Rd6 42. Rxe6+ Rxe6 43. Bxe6 Rf2 44. a3 Be4 45. Ka2 Kf6 46. Re1 Bxc2 47. axb4 axb4 48. Bc8 Bf5 49. Bxf5 Kxf5"
                }
             ]
          },
          {
             "ply":77,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c8c5",
                   "san":"Rc5"
                },
                "moveType":"best",
                "signedCPScore":"-44",
                "gmExpectation":0.558,
                "pv":"39...Rc5 40. Rd2 e3 41. Rd4 Re5 42. Bc4 Kg7 43. Kc1 Be4 44. Re1 Bg6 45. Rd7 Bf5 46. Rd5 Rxd5 47. Bxd5 Rd8 48. Bc4 Rd2 49. Bb3 Bg4 50. Rf1 Rf2 51. Re1"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c8d8",
                      "san":"Rcd8"
                   },
                   "moveType":"good",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"39...Rcd8 40. Rfg1 Kf6 41. Bb3 e3 42. Re2 Bd5 43. Rxe3 Rxf7 44. c4 bxc3 45. bxc3 Bxb3 46. axb3 Kg6 47. Re5 Rf5 48. Re6+ Rf6 49. Re5"
                },
                {
                   "move":{
                      "uci":"c8c6",
                      "san":"Rc6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+264",
                   "gmExpectation":0.0115,
                   "pv":"39...Rc6 40. Bf5+ Kxf7 41. Bxe4+ Ke7 42. Rxf8 Rh6 43. Rf1 Bxe4 44. Rxg5 Kd6 45. Rxa5 Rh2 46. Rc1 Kc6 47. Re5 Bh7 48. Re6+ Kd5 49. Re3 Kd4 50. Re7 Kc5 51. Re8 Kb5 52. Rb8+ Ka5 53. a3 bxa3"
                }
             ]
          },
          {
             "ply":78,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g2g3",
                   "san":"Rg3"
                },
                "moveType":"blunder",
                "signedCPScore":"-144",
                "gmExpectation":0.8295,
                "pv":"40. Rg3 Re5 41. Bb3 Bd5 42. Kc1 Bxb3 43. Rxb3 Rxf7 44. Rxf7 Kxf7 45. Kd2 Kf6 46. a3 bxa3 47. Rxa3 g4 48. Ra1 Kf5 49. Rf1+ Kg5 50. Ke3 Rb5 51. Rf8 Rxb2 52. Rg8+ Kf5 53. Rf8+ Ke5 54. Re8+ Kd5 55. Rxe4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g2d2",
                      "san":"Rd2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-44",
                   "gmExpectation":0.558,
                   "pv":"40. Rd2 e3 41. Rd4 Re5 42. Bc4 Kg7 43. Kc1 Be4 44. Re1 Bg6 45. Rd7 Bf5 46. Rd5 Rxd5 47. Bxd5 Rd8 48. Bc4 Rd2 49. Bb3 Bg4 50. Rf1 Rf2 51. Re1"
                },
                {
                   "move":{
                      "uci":"f1d1",
                      "san":"Rd1"
                   },
                   "moveType":"best",
                   "signedCPScore":"-63",
                   "gmExpectation":0.594,
                   "pv":"40. Rd1 e3 41. Rg3 Be4 42. Bb3 e2 43. Re1 Rf5 44. Re3 Bf3 45. Kc1 g4 46. Re8 Kg7 47. Rg1 Rg5 48. Rg3 Rh5 49. Rg1 Rxf7 50. Bxf7 Kxf7 51. Re3 Rh2 52. Kd2"
                }
             ]
          },
          {
             "ply":79,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c5e5",
                   "san":"Re5"
                },
                "moveType":"gameChanger",
                "signedCPScore":"-114",
                "gmExpectation":0.734,
                "pv":"40...Re5 41. Bg4 e3 42. Kc1 Rxf7 43. Rxf7 Kxf7 44. Kd1 Bd5 45. a3 bxa3 46. bxa3 Kg6 47. Ke1 Re7 48. Rh3 Bg2 49. Rh2 Be4 50. Ke2 Bxc2 51. Rh8 Bf5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7c8",
                      "san":"Bc8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-83",
                   "gmExpectation":0.642,
                   "pv":"40...Bc8 41. Bb3 Re5 42. Kc1 Be6 43. Bxe6 Rxe6 44. Kd2 Re7 45. Rfg1 Re5 46. Rf1 Rxf7 47. Rxf7 Kxf7 48. Ke3 Kf6 49. c4 Kf5 50. Rg2 g4 51. Rf2+ Kg5"
                },
                {
                   "move":{
                      "uci":"b7c6",
                      "san":"Bc6"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-74",
                   "gmExpectation":0.619,
                   "pv":"40...Bc6 41. Re3 Re5 42. Bc4 Bd5 43. Bxd5 Rxd5 44. Rxe4 Rxf7 45. Re6+ Kg7 46. Rg1 Rf2 47. Re7+ Kg6 48. Re8 Kf7 49. Rc8 Rdf5 50. c3 Rf1+ 51. Rxf1 Rxf1+ 52. Kc2 g4 53. cxb4 axb4 54. Kb3"
                }
             ]
          },
          {
             "ply":80,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e6g4",
                   "san":"Bg4"
                },
                "moveType":"best",
                "signedCPScore":"-165",
                "gmExpectation":0.882,
                "pv":"41. Bg4 Ba6 42. Rh1 Kxf7 43. a3 Kg6 44. Re1 Rf4 45. Bh3 bxa3 46. Rxa3 g4 47. Bg2 Bb7 48. Re2 Kf5 49. Kc1 Kf6 50. Kd2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e6b3",
                      "san":"Bb3"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"-139",
                   "gmExpectation":0.8135,
                   "pv":"41. Bb3 Bd5 42. Kc1 Bxb3 43. axb3 e3 44. Re1 Rxf7 45. Rgxe3 Rxe3 46. Rxe3 g4 47. Kd2 Kg5 48. Re5+ Kf4 49. Rxa5 g3 50. Ke2 Rc7 51. c3 bxc3 52. bxc3 Rxc3 53. Ra8"
                },
                {
                   "move":{
                      "uci":"e6d7",
                      "san":"Bd7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-203",
                   "gmExpectation":0.9485,
                   "pv":"41. Bd7 Ba6 42. Rfg1 e3 43. Be8 Bc4 44. Kc1 Bxf7 45. Bxf7+ Rxf7 46. Re1 Rfe7 47. Kd1 Re4 48. Ke2 g4 49. c3 bxc3 50. bxc3 Kg5 51. Rgg1 Rc7 52. Rc1"
                }
             ]
          },
          {
             "ply":81,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e4e3",
                   "san":"e3"
                },
                "moveType":"good",
                "signedCPScore":"-133",
                "gmExpectation":0.7925,
                "pv":"41...e3 42. a3 Rxf7 43. Re1 bxa3 44. Rexe3 Rxe3 45. Rxe3 Rf1+ 46. Ka2 Rf4 47. Rg3 axb2 48. Kxb2 Bd5 49. Kc1 Kf6 50. Kd2 Be4 51. c4 Bc6 52. Be2 a4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7a6",
                      "san":"Ba6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-165",
                   "gmExpectation":0.882,
                   "pv":"41...Ba6 42. Rh1 Kxf7 43. a3 Kg6 44. Re1 Rf4 45. Bh3 bxa3 46. Rxa3 g4 47. Bg2 Bb7 48. Re2 Kf5 49. Kc1 Kf6 50. Kd2"
                },
                {
                   "move":{
                      "uci":"f8f7",
                      "san":"Rxf7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-108",
                   "gmExpectation":0.714,
                   "pv":"41...Rxf7 42. Bh5+ Kxh5 43. Rxf7 e3 44. Rg1 Be4 45. Rg7 Bf3 46. Kc1 g4 47. Rd7 Kh4 48. Rd8 Bd5 49. Kd1 e2+ 50. Kd2 g3 51. a3 g2 52. Re1 Kg3 53. axb4 axb4"
                }
             ]
          },
          {
             "ply":82,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"b1c1",
                   "san":"Kc1"
                },
                "moveType":"best",
                "signedCPScore":"-147",
                "gmExpectation":0.8335,
                "pv":"42. Kc1 Rxf7 43. Rxf7 Kxf7 44. Kd1 Kf6 45. a3 bxa3 46. bxa3 Be4 47. c4 Bd3 48. Be2 Bf5 49. Ke1 Kg6 50. Kd1 Be6 51. Kc2 g4 52. Bxg4 Bxg4 53. Rxg4+ Kf5 54. Rg1 Ke4 55. Kc3 e2 56. Kd2 Kd4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-133",
                   "gmExpectation":0.7925,
                   "pv":"42. a3 Rxf7 43. Re1 bxa3 44. Rexe3 Rxe3 45. Rxe3 Rf1+ 46. Ka2 Rf4 47. Rg3 axb2 48. Kxb2 Bd5 49. Kc1 Kf6 50. Kd2 Be4 51. c4 Bc6 52. Be2 a4"
                },
                {
                   "move":{
                      "uci":"f1e1",
                      "san":"Re1"
                   },
                   "moveType":"best",
                   "signedCPScore":"-142",
                   "gmExpectation":0.8200000000000001,
                   "pv":"42. Re1 Rxf7 43. a3 bxa3 44. Rexe3 Rxe3 45. Rxe3 Rf1+ 46. Ka2 Rf4 47. Rg3 axb2 48. Kxb2 Bd5 49. Kc1 a4 50. Kb2 Be4 51. Be2 Kf6 52. Kc1 Bf5 53. c4"
                }
             ]
          },
          {
             "ply":83,
             "gamePhase":"midgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f8f7",
                   "san":"Rxf7"
                },
                "moveType":"best",
                "signedCPScore":"-119",
                "gmExpectation":0.745,
                "pv":"42...Rxf7 43. Rxf7 Kxf7 44. Kd1 Kf6 45. a3 bxa3 46. bxa3 Be4 47. c3 Bd5 48. Ke2 Bc4+ 49. Ke1 Re4 50. Bf3 Rh4 51. Bc6 e2 52. Rf3+ Rf4 53. Rxf4+ gxf4 54. Kd2 Kf5 55. Bf3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e3e2",
                      "san":"e2"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-99",
                   "gmExpectation":0.683,
                   "pv":"42...e2 43. Re1 Ba6 44. Rf3 Bc4 45. a3 bxa3 46. bxa3 Be6 47. Bxe6 Rxe6 48. Kd2 g4 49. Rf2 Re7 50. Rexe2 Rexf7 51. Rxf7 Rxf7 52. Kd3 Kg5 53. c4 g3 54. c5 Rc7 55. Rc2 Kf4 56. c6"
                },
                {
                   "move":{
                      "uci":"b7a6",
                      "san":"Ba6"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-78",
                   "gmExpectation":0.6245,
                   "pv":"42...Ba6 43. Rh1 Bc4 44. Bh5+ Kg7 45. Re1 Rh8 46. Rf3 Kf8 47. Bg6 Rh6 48. Bd3 Bxd3 49. cxd3 Rh2 50. d4 Re4 51. Rexe3 Rxe3 52. Rxe3 Kxf7 53. Re1 g4"
                }
             ]
          },
          {
             "ply":84,
             "gamePhase":"midgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f1f7",
                   "san":"Rxf7"
                },
                "moveType":"best",
                "signedCPScore":"-151",
                "gmExpectation":0.842,
                "pv":"43. Rxf7 Kxf7 44. Kd1 Bd5 45. a3 bxa3 46. bxa3 Ke7 47. Be2 Kd6 48. c3 Be6 49. Bd3 g4 50. Be2 Kc5 51. Ke1 Bd7 52. Rg1 Rg5 53. Rg3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1e1",
                      "san":"Re1"
                   },
                   "moveType":"good",
                   "signedCPScore":"-150",
                   "gmExpectation":0.8405,
                   "pv":"43. Re1 Rfe7 44. a3 bxa3 45. bxa3 Ba6 46. Rf3 Bc4 47. a4 Ba2 48. Rh3 Re4 49. Be2 g4 50. Bxg4 Rxg4 51. Rexe3 Ree4 52. Rxe4 Rxe4 53. Rf3"
                },
                {
                   "move":{
                      "uci":"f1g1",
                      "san":"Rfg1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-268",
                   "gmExpectation":0.989,
                   "pv":"43. Rfg1 Rf2 44. Re1 Be4 45. Bd1 Rc5 46. Rgxe3 Bxc2 47. Re5 Rxe5 48. Rxe5 Bxd1 49. Kxd1 g4 50. Rxa5 g3 51. Ke1 Rxb2 52. Ra6+ Kg5 53. Kf1 Kf4 54. Ra4"
                }
             ]
          },
          {
             "ply":85,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g6f7",
                   "san":"Kxf7"
                },
                "moveType":"critical",
                "signedCPScore":"-120",
                "gmExpectation":0.745,
                "pv":"43...Kxf7 44. Kd1 Ke7 45. Be2 Bd5 46. a3 bxa3 47. bxa3 Bf7 48. Ke1 Kd6 49. c3 Be6 50. Bd3 Kc5 51. Be2 Bd5 52. Rg4 Bc6 53. Rg3 Bb5 54. Bxb5 Kxb5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e3e2",
                      "san":"e2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-13",
                   "gmExpectation":0.514,
                   "pv":"43...e2 44. Bxe2 Kxf7 45. Kd2 Rd5+ 46. Ke1 Kf6 47. a3 Rd4 48. axb4 Rxb4 49. b3 a4 50. bxa4 Rxa4 51. Kd2 Be4 52. Rg1 Ra2 53. Bd3 Bxd3 54. Kxd3"
                },
                {
                   "move":{
                      "uci":"b4b3",
                      "san":"b3"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"43...b3 44. Rxb7 bxa2 45. Rb6+ Kg7 46. Rb7+"
                }
             ]
          },
          {
             "ply":86,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c1d1",
                   "san":"Kd1"
                },
                "moveType":"best",
                "signedCPScore":"-147",
                "gmExpectation":0.8275,
                "pv":"44. Kd1 Kf6 45. Ke1 Bd5 46. a3 bxa3 47. bxa3 Bc4 48. a4 Bd5 49. Rh3 Re7 50. Rg3 Rc7 51. Rxe3 Rc4 52. Bd1 Rxa4 53. Be2 Kf5 54. Kd2 g4 55. Rd3 Be4 56. Rd6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-135",
                   "gmExpectation":0.793,
                   "pv":"44. a3 bxa3 45. bxa3 Bc8 46. Kd1 Bxg4+ 47. Rxg4 Kf6 48. Ke2 Kf5 49. Rg3 Kf4 50. Rf3+ Ke4 51. a4 Kd4 52. Rf8 Re4 53. Ra8 Rg4 54. Rd8+ Kc3 55. Kxe3 Rxa4 56. Rg8 g4"
                },
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-184",
                   "gmExpectation":0.9165,
                   "pv":"44. c3 bxc3 45. bxc3 Bd5 46. a3 Bb3 47. Be2 Kf6 48. c4 Bxc4 49. Bxc4 Rc5 50. Rxe3 Rxc4+ 51. Kd2 g4 52. Kd3 Rf4 53. Ke2 Kg5 54. Rd3 a4 55. Rg3 Kh4 56. Rg1"
                }
             ]
          },
          {
             "ply":87,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f7f6",
                   "san":"Kf6"
                },
                "moveType":"best",
                "signedCPScore":"-144",
                "gmExpectation":0.817,
                "pv":"44...Kf6 45. Ke1 Bd5 46. a3 bxa3 47. bxa3 Be6 48. Bxe6 Kxe6 49. Ke2 Kf5 50. Rf3+ Ke4 51. a4 Kd4 52. Rf7 Kc4 53. Rb7 g4 54. Rb8 Kd4 55. Rg8 Re4 56. Rc8 g3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7d5",
                      "san":"Bd5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-136",
                   "gmExpectation":0.7945,
                   "pv":"44...Bd5 45. a3 bxa3 46. bxa3 Be6 47. Bxe6+ Kxe6 48. Ke2 Kf5 49. Rf3+ Ke4 50. a4 Kd4 51. Rf8 g4 52. Rf4+ Re4 53. Rf5 g3 54. c3+ Kxc3 55. Rxa5 Rh4 56. Rg5"
                },
                {
                   "move":{
                      "uci":"e5e4",
                      "san":"Re4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-46",
                   "gmExpectation":0.556,
                   "pv":"44...Re4 45. Bf3 Rd4+ 46. Ke2 Bxf3+ 47. Kxe3 Rd1 48. Rxf3+ Ke6 49. Rf2 Ra1 50. Rg2 Kf5 51. Rf2+ Kg4 52. c4 bxc3 53. bxc3 Re1+ 54. Kd4 Kh4 55. c4 g4 56. c5 Rc1 57. Kd5 Kg3"
                }
             ]
          },
          {
             "ply":88,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d1e1",
                   "san":"Ke1"
                },
                "moveType":"best",
                "signedCPScore":"-156",
                "gmExpectation":0.8495,
                "pv":"45. Ke1 Be4 46. c3 bxc3 47. bxc3 Bd3 48. Rh3 Bc4 49. a3 Re4 50. Rg3 Kg6 51. Bc8 Re5 52. Bg4 e2 53. Rh3 Rd5 54. Kf2 Rd1 55. Bxe2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d1e2",
                      "san":"Ke2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-156",
                   "gmExpectation":0.851,
                   "pv":"45. Ke2 Ba6+ 46. Ke1 Bc4 47. a3 bxa3 48. bxa3 Be6 49. Bxe6 Kxe6 50. Ke2 Kf5 51. Rf3+ Ke4 52. a4 Kd4 53. Rf7 Kc4 54. Rb7 g4 55. Rb8 Kd4 56. Rg8 Re4 57. Rc8 Kd5 58. c3 Rxa4 59. Kxe3"
                },
                {
                   "move":{
                      "uci":"a2a3",
                      "san":"a3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-162",
                   "gmExpectation":0.8665,
                   "pv":"45. a3 bxa3 46. bxa3 Bd5 47. Ke2 Bc4+ 48. Ke1 Be6 49. Bxe6 Kxe6 50. Ke2 Kf5 51. Rf3+ Ke4 52. a4 Kd4 53. Rf7 Kc4 54. Rb7 g4 55. Rb8 Kd4 56. Rg8 Re4 57. Ra8 Rf4"
                }
             ]
          },
          {
             "ply":89,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b7d5",
                   "san":"Bd5"
                },
                "moveType":"best",
                "signedCPScore":"-165",
                "gmExpectation":0.871,
                "pv":"45...Bd5 46. a3 bxa3 47. bxa3 Be6 48. Rf3+ Ke7 49. Bxe6 Kxe6 50. Ke2 Kd5 51. Rf8 Ke4 52. Rg8 Rf5 53. Re8+ Kf4 54. Rc8 g4 55. Rc4+ Kg5 56. Rc8 Kh4 57. Kxe3 Rf3+ 58. Ke2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b7e4",
                      "san":"Be4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-156",
                   "gmExpectation":0.8495,
                   "pv":"45...Be4 46. c3 bxc3 47. bxc3 Bd3 48. Rh3 Bc4 49. a3 Re4 50. Rg3 Kg6 51. Bc8 Re5 52. Bg4 e2 53. Rh3 Rd5 54. Kf2 Rd1 55. Bxe2"
                },
                {
                   "move":{
                      "uci":"e5e4",
                      "san":"Re4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-76",
                   "gmExpectation":0.613,
                   "pv":"45...Re4 46. Bf3 Re7 47. Bxb7 Rxb7 48. Rxe3 Kf5 49. Kf2 Rc7 50. c3 bxc3 51. bxc3 Kf4 52. Rd3 Rc4 53. Rf3+ Ke5 54. Kg3 Ke4 55. a3 Ra4 56. c4 Rxc4 57. Rf1 Rc3+ 58. Kg4 Rxa3 59. Kxg5 a4 60. Rh1 Ra2"
                }
             ]
          },
          {
             "ply":90,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"a2a3",
                   "san":"a3"
                },
                "moveType":"best",
                "signedCPScore":"-159",
                "gmExpectation":0.854,
                "pv":"46. a3 bxa3 47. bxa3 Be6 48. Bxe6 Kxe6 49. Ke2 Kf5 50. Rf3+ Ke4 51. a4 Kd5 52. Rf7 Kd4 53. Rg7 Rc5 54. Rd7+ Ke4 55. Re7+ Kf4 56. Rf7+ Kg4 57. Ra7 Rxc2+ 58. Kxe3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g3h3",
                      "san":"Rh3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-179",
                   "gmExpectation":0.9025,
                   "pv":"46. Rh3 Bxa2 47. Rh6+ Ke7 48. b3 Bb1 49. Rc6 Re4 50. Bf3 Rd4 51. Ke2 g4 52. Bh1 Rd2+ 53. Kxe3 Rxc2 54. Ra6 g3 55. Rxa5 g2"
                },
                {
                   "move":{
                      "uci":"e1d1",
                      "san":"Kd1"
                   },
                   "moveType":"best",
                   "signedCPScore":"-188",
                   "gmExpectation":0.9195,
                   "pv":"46. Kd1 Bc4 47. a3 Rd5+ 48. Ke1 bxa3 49. bxa3 e2 50. Bxe2 Re5 51. Rg2 Rxe2+ 52. Rxe2 Bxe2 53. Kxe2 Ke5 54. Kd3 a4 55. Ke3 Kd5 56. Kd3 g4 57. Ke3 Kc4 58. Kd2 Kd4 59. Ke1 Kc3"
                }
             ]
          },
          {
             "ply":91,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b4a3",
                   "san":"bxa3"
                },
                "moveType":"best",
                "signedCPScore":"-152",
                "gmExpectation":0.8335,
                "pv":"46...bxa3 47. bxa3 Be6 48. Rf3+ Ke7 49. Bxe6 Kxe6 50. Ke2 Kd5 51. a4 Kd4 52. Rf7 Kc3 53. Rb7 Kc4 54. Rb6 g4 55. Rb8 Kd4 56. Rg8 Re4 57. Ra8 Rf4 58. Rd8+ Kc3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b4b3",
                      "san":"b3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-108",
                   "gmExpectation":0.6985,
                   "pv":"46...b3 47. cxb3 Bxb3 48. Rh3 Kg7 49. Rf3 a4 50. Bd7 Rd5 51. Be8 Rd1+ 52. Ke2 Rb1 53. Rxe3 Rxb2+ 54. Kf3 Bd5+ 55. Kg3 Kf6 56. Bxa4 Rg2+ 57. Kh3 Rg1 58. Bd7"
                },
                {
                   "move":{
                      "uci":"d5f7",
                      "san":"Bf7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-93",
                   "gmExpectation":0.6545,
                   "pv":"46...Bf7 47. axb4 axb4 48. Rh3 Re4 49. Rg3 Rc4 50. Bd1 Bg6 51. Rf3+ Bf5 52. c3 bxc3 53. bxc3 Rxc3 54. Ke2 g4 55. Rxe3 Rxe3+ 56. Kxe3"
                }
             ]
          },
          {
             "ply":92,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"b2a3",
                   "san":"bxa3"
                },
                "moveType":"best",
                "signedCPScore":"-171",
                "gmExpectation":0.8805,
                "pv":"47. bxa3 Be6 48. Bxe6 Kxe6 49. Ke2 Kf5 50. Rf3+ Ke4 51. a4 Kd4 52. Rf7 Kc3 53. Rb7 Kc4 54. Rb8 g4 55. Rg8 Re4 56. Rb8 Kc3 57. Rb5 g3 58. Rc5+ Rc4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g3g1",
                      "san":"Rg1"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-1498",
                   "gmExpectation":1.0,
                   "pv":"47. Rg1 axb2 48. Ke2 Bc4+ 49. Kf3 a4 50. Bh5 e2 51. Bf7 Bxf7 52. Kf2 Be6 53. c3 Bd5 54. Re1 Kf5 55. Kg3 Bc4 56. Rb1 e1=Q+ 57. Rxe1 Rxe1 58. Kh2 b1=Q"
                },
                {
                   "move":{
                      "uci":"e1e2",
                      "san":"Ke2"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-1559",
                   "gmExpectation":1.0,
                   "pv":"47. Ke2 Bc4+ 48. Kf3 axb2 49. Rg1 a4 50. Bd7 a3 51. Bb5 Bd5+ 52. Ke2 a2 53. Rf1+ Ke7 54. Bd3 g4 55. c4 Bf3+ 56. Rxf3 gxf3+ 57. Kxf3 Kd6 58. Be2 b1=Q 59. c5+ Rxc5"
                }
             ]
          },
          {
             "ply":93,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d5e4",
                   "san":"Be4"
                },
                "moveType":"mistake",
                "signedCPScore":"-101",
                "gmExpectation":0.6725,
                "pv":"47...Be4 48. Rxe3 Bxc2 49. Kf2 Rxe3 50. Kxe3 Ke5 51. Be2 Bb3 52. Bg4 Bd5 53. Be2 Kf5 54. Bd1 Bc4 55. Bh5 Bb3 56. Bf3 a4 57. Bc6 Kg4 58. Be4 Kg3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d5e6",
                      "san":"Be6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-171",
                   "gmExpectation":0.8805,
                   "pv":"47...Be6 48. Bxe6 Kxe6 49. Ke2 Kf5 50. Rf3+ Ke4 51. a4 Kd4 52. Rf7 Kc3 53. Rb7 Kc4 54. Rb8 g4 55. Rg8 Re4 56. Rb8 Kc3 57. Rb5 g3 58. Rc5+ Rc4"
                },
                {
                   "move":{
                      "uci":"e5e8",
                      "san":"Re8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-153",
                   "gmExpectation":0.8345,
                   "pv":"47...Re8 48. Rh3 Re4 49. Bf3 Re5 50. Bxd5 Rxd5 51. a4 Rd4 52. Rxe3 Rxa4 53. Ke2 Kf5 54. Rf3+ Ke5 55. Rf8 Ra1 56. Re8+ Kf4 57. Rf8+ Kg3 58. c4 g4 59. Ra8"
                }
             ]
          },
          {
             "ply":94,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g3e3",
                   "san":"Rxe3"
                },
                "moveType":"best",
                "signedCPScore":"-121",
                "gmExpectation":0.732,
                "pv":"48. Rxe3 Bxc2 49. Kf2 Rxe3 50. Kxe3 Bf5 51. Be2 Ke5 52. Bh5 Be6 53. Be2 Bd5 54. Bg4 Bb3 55. Be2 Be6 56. Bd1 Kd5 57. Bb3+ Kd6 58. Bd1 Kc5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c2c3",
                      "san":"c3"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-165",
                   "gmExpectation":0.8645,
                   "pv":"48. c3 Bd5 49. Bh3 e2 50. Rd3 Be6 51. Rf3+ Ke7 52. Bxe6 Kxe6 53. Rf8 Kd5 54. Rc8 g4 55. Rg8 Re4 56. Rg5+ Kc4 57. Rxa5 Kxc3 58. Rd5 g3 59. Rg5"
                },
                {
                   "move":{
                      "uci":"c2c4",
                      "san":"c4"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-165",
                   "gmExpectation":0.8645,
                   "pv":"48. c4 Bd3 49. Be2 Bf5 50. Bd1 Be6 51. c5 Rxc5 52. Rxe3 g4 53. Rxe6+ Kxe6 54. Bxg4+ Kd5 55. Kd2 Kc4 56. Kc2 Re5 57. Kb2 Re3"
                }
             ]
          },
          {
             "ply":95,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e4c2",
                   "san":"Bxc2"
                },
                "moveType":"best",
                "signedCPScore":"-108",
                "gmExpectation":0.69,
                "pv":"48...Bxc2 49. Kf2 Bf5 50. Be2 Be6 51. Rxe5 Kxe5 52. Ke3 Kd5 53. Bb5 Kc5 54. Be2 Bd5 55. Bd3 Bc6 56. Be2 Kd5 57. Ba6 Ke5 58. Bc8"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e4f5",
                      "san":"Bf5"
                   },
                   "moveType":"good",
                   "signedCPScore":"-74",
                   "gmExpectation":0.602,
                   "pv":"48...Bf5 49. Rxe5 Kxe5 50. Bd1 Ke4 51. Kd2 Bd7 52. Be2 Bc6 53. c3 Bd7 54. Bd3+ Kf4 55. Be2 Ke5 56. Kd3 g4 57. Ke3 Be6 58. Bd1 Bf5 59. c4"
                },
                {
                   "move":{
                      "uci":"e4h7",
                      "san":"Bh7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-47",
                   "gmExpectation":0.5535,
                   "pv":"48...Bh7 49. Rxe5 Kxe5 50. Kd2 Bf5 51. Be2 Kd4 52. Bd1 Ke4 53. Be2 Be6 54. Bd3+ Kf4 55. Be2 Bg4 56. Bxg4 Kxg4 57. Ke3 Kh3 58. Kf2 g4 59. Kg1 Kg3 60. a4 Kf3 61. Kf1 g3"
                }
             ]
          },
          {
             "ply":96,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e1d2",
                   "san":"Kd2"
                },
                "moveType":"good",
                "signedCPScore":"-152",
                "gmExpectation":0.824,
                "pv":"49. Kd2 Bf5 50. Be2 Rc5 51. Rg3 Rc2+ 52. Ke1 Ra2 53. Kf1 Be4 54. Ke1 Kf5 55. Bd1 Rb2 56. Be2 Rc2 57. Kd1 Kf6 58. Rg4 Bf5 59. Ra4 Rc5 60. Rd4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e1f2",
                      "san":"Kf2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-108",
                   "gmExpectation":0.69,
                   "pv":"49. Kf2 Bf5 50. Be2 Be6 51. Rxe5 Kxe5 52. Ke3 Kd5 53. Bb5 Kc5 54. Be2 Bd5 55. Bd3 Bc6 56. Be2 Kd5 57. Ba6 Ke5 58. Bc8"
                },
                {
                   "move":{
                      "uci":"e3e5",
                      "san":"Rxe5"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-256",
                   "gmExpectation":0.9815,
                   "pv":"49. Rxe5 Kxe5 50. Be2 Kf4 51. Kf2 Bf5 52. Bf3 g4 53. Bg2 Bc2 54. Bf1 Be4 55. Be2 g3+ 56. Kf1 Bd5 57. Ba6 Ke3 58. Bb5 Be4 59. a4 Kf4 60. Bc4 Bc6 61. Bd3"
                }
             ]
          },
          {
             "ply":97,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e5e3",
                   "san":"Rxe3"
                },
                "moveType":"mistake",
                "signedCPScore":"-98",
                "gmExpectation":0.658,
                "pv":"49...Rxe3 50. Kxe3 Ke5 51. Bf3 Bf5 52. Be2 Kd5 53. Bb5 Be6 54. Ba6 Kc5 55. Ke4 g4 56. Ke3 Bd7 57. Bd3 g3 58. Kf3 Kd4 59. Ba6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c2f5",
                      "san":"Bf5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-152",
                   "gmExpectation":0.824,
                   "pv":"49...Bf5 50. Be2 Rc5 51. Rg3 Rc2+ 52. Ke1 Ra2 53. Kf1 Be4 54. Ke1 Kf5 55. Bd1 Rb2 56. Be2 Rc2 57. Kd1 Kf6 58. Rg4 Bf5 59. Ra4 Rc5 60. Rd4"
                },
                {
                   "move":{
                      "uci":"c2e4",
                      "san":"Be4"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-101",
                   "gmExpectation":0.668,
                   "pv":"49...Be4 50. Rc3 Bf5 51. Rc6+ Re6 52. Rxe6+ Kxe6 53. Be2 Kd5 54. Ke3 Bc2 55. Bf1 Kc5 56. Be2 Ba4 57. Ke4 Bd7 58. Bd3 Bc6+ 59. Ke3 g4 60. Kf4 Kd4 61. Bf5 Kc3"
                }
             ]
          },
          {
             "ply":98,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d2e3",
                   "san":"Kxe3"
                },
                "moveType":"best",
                "signedCPScore":"-139",
                "gmExpectation":0.7805,
                "pv":"50. Kxe3 Bf5 51. Bh5 Ke5 52. Bf3 Bc2 53. Be2 Kd5 54. Kd2 Bg6 55. Ke3 Bf5 56. Bb5 Bg4 57. Ba6 Bh5 58. Bb5 Bd1 59. Kd2 Bf3 60. Ke3 g4 61. Kf4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d2c2",
                      "san":"Kxc2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-1109",
                   "gmExpectation":1.0,
                   "pv":"50. Kxc2 Rxa3 51. Bd7 Rf3 52. Bc6 Rf4 53. Kc3 g4 54. Kd2 a4 55. Ke3 Ke5 56. Be8 g3 57. Kd3 g2"
                },
                {
                   "move":{
                      "uci":"g4c8",
                      "san":"Bc8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-1266",
                   "gmExpectation":1.0,
                   "pv":"50. Bc8 Rxa3 51. Kxc2 Rf3 52. Bg4 Rf2+ 53. Kb3 Rf4 54. Bd7 g4 55. Bc6 g3 56. Ka3 Rc4 57. Bb5 Rd4 58. Bf1 Rf4 59. Bh3 Rf2 60. Ka4 g2"
                }
             ]
          },
          {
             "ply":99,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f6e5",
                   "san":"Ke5"
                },
                "moveType":"best",
                "signedCPScore":"-109",
                "gmExpectation":0.6855,
                "pv":"50...Ke5 51. Be2 Kd5 52. Ba6 Bf5 53. Be2 Bd7 54. Bd3 Be6 55. Be2 Bf5 56. Ba6 Bg4 57. Kd3 Kc5 58. Ke3 Bh5 59. Kd3 g4 60. Ke3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c2f5",
                      "san":"Bf5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-139",
                   "gmExpectation":0.7805,
                   "pv":"50...Bf5 51. Bh5 Ke5 52. Bf3 Bc2 53. Be2 Kd5 54. Kd2 Bg6 55. Ke3 Bf5 56. Bb5 Bg4 57. Ba6 Bh5 58. Bb5 Bd1 59. Kd2 Bf3 60. Ke3 g4 61. Kf4"
                },
                {
                   "move":{
                      "uci":"f6f7",
                      "san":"Kf7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-86",
                   "gmExpectation":0.6245,
                   "pv":"50...Kf7 51. Kd4 Kf6 52. Kd5 Bb3+ 53. Ke4 Be6 54. Be2 Bc8 55. Bd1 Bd7 56. Be2 Bc6+ 57. Kd4 Kf5 58. Ke3 Bd7 59. Bh5 Ke5 60. Bd1 Kd5 61. Be2 Be6 62. Bb5 Bg4 63. Ba6 Ke5"
                }
             ]
          },
          {
             "ply":100,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g4f3",
                   "san":"Bf3"
                },
                "moveType":"best",
                "signedCPScore":"-133",
                "gmExpectation":0.7575,
                "pv":"51. Bf3 Bh7 52. Bh5 Bc2 53. Bf3 Bf5 54. Be2 Kd5 55. Ba6 Bg4 56. Kd3 Kc5 57. Ke4 Bd1 58. Bd3 g4 59. Kf4 Kd4 60. Bg6 Kc3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g4e2",
                      "san":"Be2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-109",
                   "gmExpectation":0.6855,
                   "pv":"51. Be2 Kd5 52. Ba6 Bf5 53. Be2 Bd7 54. Bd3 Be6 55. Be2 Bf5 56. Ba6 Bg4 57. Kd3 Kc5 58. Ke3 Bh5 59. Kd3 g4 60. Ke3"
                },
                {
                   "move":{
                      "uci":"g4c8",
                      "san":"Bc8"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-182",
                   "gmExpectation":0.8935,
                   "pv":"51. Bc8 Bf5 52. Bb7 g4 53. Bc6 Be6 54. Kf2 Kf4 55. a4 Bc4 56. Ba8 Bb3 57. Bc6 Be6 58. Kg2 Bc4 59. Kh2 g3+ 60. Kg2 Bb3 61. Kg1 Be6 62. Kg2 Bg4 63. Kg1 Bf5 64. Kg2"
                }
             ]
          },
          {
             "ply":101,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c2f5",
                   "san":"Bf5"
                },
                "moveType":"best",
                "signedCPScore":"-151",
                "gmExpectation":0.81,
                "pv":"51...Bf5 52. Be2 Kd5 53. Bb5 Bg4 54. Bd3 Kc5 55. Ba6 Bd1 56. Kd2 Bf3 57. Ke3 g4 58. Bd3 Bd5 59. Kf4 Kd4 60. Be2 Be6 61. Bb5 Kc3 62. Kg3 Kb2 63. a4 Ka3 64. Bc6 Bb3 65. Bd7 Bd1"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c2h7",
                      "san":"Bh7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-133",
                   "gmExpectation":0.7575,
                   "pv":"51...Bh7 52. Bh5 Bc2 53. Bf3 Bf5 54. Be2 Kd5 55. Ba6 Bg4 56. Kd3 Kc5 57. Ke4 Bd1 58. Bd3 g4 59. Kf4 Kd4 60. Bg6 Kc3"
                },
                {
                   "move":{
                      "uci":"a5a4",
                      "san":"a4"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-36",
                   "gmExpectation":0.5355,
                   "pv":"51...a4 52. Bh5 Bb3 53. Be2 Kf5 54. Bf3 Ke6 55. Bg4+ Kd5 56. Be2 Kc5 57. Kf3 Be6 58. Bd1 Kb5 59. Ke4 Bd7 60. Be2+ Kb6 61. Ke3 Kc5 62. Kf3 Kd4"
                }
             ]
          },
          {
             "ply":102,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f3c6",
                   "san":"Bc6"
                },
                "moveType":"excellent",
                "signedCPScore":"-172",
                "gmExpectation":0.8645,
                "pv":"52. Bc6 g4 53. a4 Be6 54. Kf2 Kf4 55. Kg2 g3 56. Kh1 Bf5 57. Kg2 Bg4 58. Kg1 Bh3 59. Kh1 Ke3 60. Kg1 Kd4 61. Be8 Bg4 62. Bb5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f3e2",
                      "san":"Be2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-151",
                   "gmExpectation":0.81,
                   "pv":"52. Be2 Kd5 53. Bb5 Bg4 54. Bd3 Kc5 55. Ba6 Bd1 56. Kd2 Bf3 57. Ke3 g4 58. Bd3 Bd5 59. Kf4 Kd4 60. Be2 Be6 61. Bb5 Kc3 62. Kg3 Kb2 63. a4 Ka3 64. Bc6 Bb3 65. Bd7 Bd1"
                },
                {
                   "move":{
                      "uci":"f3d1",
                      "san":"Bd1"
                   },
                   "moveType":"best",
                   "signedCPScore":"-152",
                   "gmExpectation":0.813,
                   "pv":"52. Bd1 Kd5 53. Be2 Kc5 54. Bf1 Bg4 55. Kd3 Bh5 56. Ke3 Bd1 57. Bd3 g4 58. Bf1 Kd5 59. Ba6 Ke5 60. Bc8 g3 61. Bh3 Bh5 62. Bf1 Kf5 63. Bg2"
                }
             ]
          },
          {
             "ply":103,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e5d6",
                   "san":"Kd6"
                },
                "moveType":"good",
                "signedCPScore":"-125",
                "gmExpectation":0.726,
                "pv":"52...Kd6 53. Bf3 Kc5 54. Be2 Be6 55. Ke4 Bd7 56. Bd3 Bg4 57. Ba6 Bd1 58. Bf1 g4 59. Ba6 Bf3+ 60. Kf4 Kd5 61. Kg3 Bd1 62. Bf1 Kc5 63. Kg2 Kd4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g5g4",
                      "san":"g4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-172",
                   "gmExpectation":0.8645,
                   "pv":"52...g4 53. a4 Be6 54. Kf2 Kf4 55. Kg2 g3 56. Kh1 Bf5 57. Kg2 Bg4 58. Kg1 Bh3 59. Kh1 Ke3 60. Kg1 Kd4 61. Be8 Bg4 62. Bb5"
                },
                {
                   "move":{
                      "uci":"a5a4",
                      "san":"a4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"52...a4 53. Bxa4 Kd5 54. Bb5 Bh3 55. Bd3 Bd7 56. Be2 Bc6 57. Bf3+ Kc5 58. Bxc6 Kxc6 59. Kf3 Kb5 60. Kg4 Ka4 61. Kf5 Kxa3 62. Ke4 g4 63. Kd4"
                }
             ]
          },
          {
             "ply":104,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c6f3",
                   "san":"Bf3"
                },
                "moveType":"best",
                "signedCPScore":"-184",
                "gmExpectation":0.888,
                "pv":"53. Bf3 Kc5 54. Be2 Bd7 55. Ke4 Be6 56. Ke3 Bd5 57. Ba6 g4 58. Kf4 Bf3 59. Ke3 Kd5 60. Kf4 Kd4 61. a4 Kc3 62. Kg3 Kb4 63. Bb5 Kb3 64. Bd7 Ka3 65. Kf2 Bd1 66. Kg2 g3 67. Kxg3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c6b5",
                      "san":"Bb5"
                   },
                   "moveType":"good",
                   "signedCPScore":"-171",
                   "gmExpectation":0.8594999999999999,
                   "pv":"53. Bb5 Kc5 54. Be2 Be6 55. Ke4 Bd7 56. Bd3 g4 57. Ba6 Bb5 58. Bc8 Bc6+ 59. Kf4 Bf3 60. Ba6 Kd4 61. Bb5 Kc3 62. a4 Kb4 63. Bd7 Kb3 64. Kg3"
                },
                {
                   "move":{
                      "uci":"c6b7",
                      "san":"Bb7"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-212",
                   "gmExpectation":0.938,
                   "pv":"53. Bb7 g4 54. Kf4 Bd7 55. Ba6 Kd5 56. Ke3 Ke5 57. Bb7 Kf5 58. Be4+ Kg5 59. Bg2 g3 60. Kf3 Kh4 61. Kf4 Be6 62. Ke5 Bh3 63. Bc6 g2 64. Bxg2 Bxg2 65. Kd6 Kh3"
                }
             ]
          },
          {
             "ply":105,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d6c5",
                   "san":"Kc5"
                },
                "moveType":"best",
                "signedCPScore":"-178",
                "gmExpectation":0.8725,
                "pv":"53...Kc5 54. Be2 Be6 55. Ke4 Bd7 56. Bd3 Bc8 57. Bf1 g4 58. Ke3 Bd7 59. Ba6 Be6 60. Kf2 Kd4 61. Bb5 Kc3 62. Bc6 Kb3 63. a4 Ka3 64. Kg3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d6e5",
                      "san":"Ke5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-184",
                   "gmExpectation":0.888,
                   "pv":"53...Ke5 54. Be2 Kd5 55. Bf1 Kc5 56. Be2 Bd7 57. Ke4 Be6 58. Ke3 Bd5 59. Ba6 g4 60. Kf4 Bf3 61. Ke3 Kd5 62. Kf4 Kd4 63. a4 Kc3 64. Kg3 Kb4 65. Bb5 Kb3 66. Kf2 Bd1"
                },
                {
                   "move":{
                      "uci":"d6e6",
                      "san":"Ke6"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-112",
                   "gmExpectation":0.685,
                   "pv":"53...Ke6 54. Kd4 Bh3 55. Ke4 Kf6 56. Bh5 Bg2+ 57. Ke3 Ke5 58. Bg4 Bd5 59. Be2 Bc6 60. Bg4 Kd5 61. Kd3 Bb5+ 62. Ke3 Be8 63. Kf3 Kc4"
                }
             ]
          },
          {
             "ply":106,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f3e2",
                   "san":"Be2"
                },
                "moveType":"best",
                "signedCPScore":"-195",
                "gmExpectation":0.906,
                "pv":"54. Be2 Bd7 55. Bd3 g4 56. Ba6 Be6 57. Ke4 Bc4 58. Bc8 Bd5+ 59. Kf4 Bf3 60. Kg3 Kb5 61. Bd7+ Kc4 62. Be6+ Kc3 63. a4 Bd1 64. Bd7 Kb4 65. Kf2 Kc4 66. Bb5+ Kc3 67. Kg3 Kb4 68. Bd7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f3d1",
                      "san":"Bd1"
                   },
                   "moveType":"good",
                   "signedCPScore":"-245",
                   "gmExpectation":0.969,
                   "pv":"54. Bd1 Kc4 55. Kd2 Kd4 56. Bf3 Bd7 57. Be2 Ke4 58. Bd3+ Kf4 59. Ke2 g4 60. Ba6 Bc6 61. Kf2 g3+ 62. Kf1 Ke3 63. Bc4 Be4 64. Kg1 Kf4"
                },
                {
                   "move":{
                      "uci":"e3d2",
                      "san":"Kd2"
                   },
                   "moveType":"good",
                   "signedCPScore":"-260",
                   "gmExpectation":0.978,
                   "pv":"54. Kd2 Kd4 55. Be2 Ke4 56. Bc4 Bd7 57. Bd3+ Kf4 58. Ke2 Bf5 59. Bc4 g4 60. Kf2 Be4 61. Be2 g3+ 62. Kf1 Bc6 63. Bh5 Bd7 64. Be2 Ke3 65. Bc4 Bc6 66. Be6 Be4 67. Bg4 Bd5"
                }
             ]
          },
          {
             "ply":107,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f5g6",
                   "san":"Bg6"
                },
                "moveType":"best",
                "signedCPScore":"-195",
                "gmExpectation":0.9045,
                "pv":"54...Bg6 55. Ba6 Bf5 56. Bf1 Be6 57. Ba6 g4 58. Bd3 Bd7 59. Ke4 Bc6+ 60. Kf4 Kd4 61. Bf5 Bf3 62. Be6 Kc3 63. Bd7 Kb2 64. a4 Bd1 65. Be8"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f5d7",
                      "san":"Bd7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-195",
                   "gmExpectation":0.906,
                   "pv":"54...Bd7 55. Bd3 g4 56. Ba6 Be6 57. Ke4 Bc4 58. Bc8 Bd5+ 59. Kf4 Bf3 60. Kg3 Kb5 61. Bd7+ Kc4 62. Be6+ Kc3 63. a4 Bd1 64. Bd7 Kb4 65. Kf2 Kc4 66. Bb5+ Kc3 67. Kg3 Kb4 68. Bd7"
                },
                {
                   "move":{
                      "uci":"c5c6",
                      "san":"Kc6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-104",
                   "gmExpectation":0.659,
                   "pv":"54...Kc6 55. Kd4 Bd7 56. Kc4 Kd6 57. Kd4 Ba4 58. Bg4 Bb3 59. Bf3 Ke6 60. Bg4+ Kf6 61. Ke4 Bf7 62. Bf3 Be6 63. Bh5 Bd7 64. Bd1 Bc6+ 65. Kd4 Kf5 66. Kc5 Be4 67. Ba4 Ke5 68. Kb5 Kf4"
                }
             ]
          },
          {
             "ply":108,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e2f1",
                   "san":"Bf1"
                },
                "moveType":"best",
                "signedCPScore":"-232",
                "gmExpectation":0.955,
                "pv":"55. Bf1 Be8 56. Bd3 Bd7 57. Bf1 g4 58. Ba6 Be6 59. Kf4 Kd4 60. Bb5 Kc3 61. Be8 Kb3 62. a4 Kc3 63. Kg3 Kb4 64. Kf4 Bb3 65. Kxg4 Bxa4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e2a6",
                      "san":"Ba6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-195",
                   "gmExpectation":0.9045,
                   "pv":"55. Ba6 Bf5 56. Bf1 Be6 57. Ba6 g4 58. Bd3 Bd7 59. Ke4 Bc6+ 60. Kf4 Kd4 61. Bf5 Bf3 62. Be6 Kc3 63. Bd7 Kb2 64. a4 Bd1 65. Be8"
                },
                {
                   "move":{
                      "uci":"e3d2",
                      "san":"Kd2"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"-263",
                   "gmExpectation":0.978,
                   "pv":"55. Kd2 Kd4 56. Bb5 Bf5 57. Be2 Ke4 58. Bd3+ Kf4 59. Bc4 g4 60. Ke2 Be4 61. Bb5 Bg6 62. Kf2 g3+ 63. Kf1 Be4 64. Be2 Ke3 65. Bh5 Bd5 66. Bg4"
                }
             ]
          },
          {
             "ply":109,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g6h5",
                   "san":"Bh5"
                },
                "moveType":"best",
                "signedCPScore":"-234",
                "gmExpectation":0.9555,
                "pv":"55...Bh5 56. Ke4 Bd1 57. Ba6 g4 58. Kd3 Ba4 59. Ke3 Bd7 60. Ke4 Bb5 61. Bc8 Bc6+ 62. Kf4 Bf3 63. Ba6 Kd4 64. Bb5 Kc3 65. Kg3 Bd1 66. Bd7 Kb2 67. a4 Kb3 68. Bc6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g6e8",
                      "san":"Be8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-232",
                   "gmExpectation":0.955,
                   "pv":"55...Be8 56. Bd3 Bd7 57. Bf1 g4 58. Ba6 Be6 59. Kf4 Kd4 60. Bb5 Kc3 61. Be8 Kb3 62. a4 Kc3 63. Kg3 Kb4 64. Kf4 Bb3 65. Kxg4 Bxa4"
                },
                {
                   "move":{
                      "uci":"c5b6",
                      "san":"Kb6"
                   },
                   "moveType":"mistake",
                   "signedCPScore":"-144",
                   "gmExpectation":0.7725,
                   "pv":"55...Kb6 56. Kd4 g4 57. Ke3 Be8 58. Bc4 Bd7 59. Be2 g3 60. Bf1 Bb5 61. Bh3 Bc6 62. Kf4 Kb5 63. Kxg3 Ka4 64. Bg4"
                }
             ]
          },
          {
             "ply":110,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e3e4",
                   "san":"Ke4"
                },
                "moveType":"best",
                "signedCPScore":"-244",
                "gmExpectation":0.9635,
                "pv":"56. Ke4 Bd1 57. Kd3 g4 58. Ke3 Bf3 59. Ba6 Bd5 60. Kf4 Be6 61. Be2 Bd7 62. Bd3 Kd4 63. Be4 Kc3 64. Ke5 Kb3 65. Kd6 Ba4 66. Kc7 Kxa3 67. Kb6 Kb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1a6",
                      "san":"Ba6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-234",
                   "gmExpectation":0.9555,
                   "pv":"56. Ba6 Bd1 57. Kd3 g4 58. Ke4 Bf3+ 59. Ke3 Bd5 60. Kf2 Bc6 61. Bc8 Bf3 62. Ba6 Kd4 63. Bb5 Kc3 64. a4"
                },
                {
                   "move":{
                      "uci":"f1d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-234",
                   "gmExpectation":0.9555,
                   "pv":"56. Bd3 Be8 57. Bf1 Bd7 58. Bd3 g4 59. Ba6 Bc6 60. Kf4 Bf3 61. Ke3 Bd5 62. Kf2 Bc6 63. Bc8 Bf3 64. Ba6 Kd4 65. Bb5 Kc3"
                }
             ]
          },
          {
             "ply":111,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"h5d1",
                   "san":"Bd1"
                },
                "moveType":"best",
                "signedCPScore":"-255",
                "gmExpectation":0.9705,
                "pv":"56...Bd1 57. Ke3 Ba4 58. Bd3 Bc6 59. Be2 Bd5 60. Bd3 g4 61. Kf4 Bf3 62. Kg3 Kd4 63. Bb5 Kc3 64. a4 Kb3 65. Bd7 Ka3 66. Be8 Kb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"h5g4",
                      "san":"Bg4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-241",
                   "gmExpectation":0.961,
                   "pv":"56...Bg4 57. Ba6 Bd1 58. Kd3 g4 59. Ke4 Bf3+ 60. Ke3 Bd5 61. Kf4 Be6 62. Bd3 Bd7 63. Ke3 Bc6 64. Kf4 Kd4 65. Be2 Bd7 66. a4 Kc5 67. Bd1 Kb4 68. Kg3 Be6 69. Kf4 Kc3 70. Be2"
                },
                {
                   "move":{
                      "uci":"h5e8",
                      "san":"Be8"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-99",
                   "gmExpectation":0.6395,
                   "pv":"56...Be8 57. Kf5 Bb5 58. Bg2 Bc6 59. Bf1 Kd4 60. Kxg5 Kc3 61. Kf5 Kb3 62. Ke5 Kxa3 63. Kd6 Be8 64. Kc5 a4 65. Bc4 Kb2 66. Be6 a3 67. Kb4 Bg6 68. Kc5 Bh5"
                }
             ]
          },
          {
             "ply":112,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e4e3",
                   "san":"Ke3"
                },
                "moveType":"best",
                "signedCPScore":"-263",
                "gmExpectation":0.9745,
                "pv":"57. Ke3 g4 58. Bd3 Bf3 59. Ba6 Bd5 60. Kf4 Be6 61. Ke3 Bd7 62. Ke4 Bb5 63. Bc8 Bc6+ 64. Kf4 Bf3 65. Bd7 Kc4 66. Kg3 Kb3 67. a4 Ka3 68. Be8 Kb4 69. Bd7 Bd1 70. Kf4 g3 71. Kxg3 Bxa4 72. Bg4 Bc6 73. Bd1"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-263",
                   "gmExpectation":0.9755,
                   "pv":"57. Bd3 g4 58. Ke3 Bf3 59. Ba6 Bd5 60. Kf4 Be6 61. Ke3 Bd7 62. Ke4 Bb5 63. Bc8 Bc6+ 64. Kf4 Bf3 65. Bd7 Kc4 66. Kg3 Bd1 67. a4 Kb4 68. Kf4 g3 69. Kxg3 Bxa4 70. Bg4"
                },
                {
                   "move":{
                      "uci":"e4d3",
                      "san":"Kd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-263",
                   "gmExpectation":0.9755,
                   "pv":"57. Kd3 g4 58. Ke3 Bf3 59. Ba6 Bd5 60. Kf4 Be6 61. Ke3 Bd7 62. Ke4 Bb5 63. Bc8 Bc6+ 64. Kf4 Bf3 65. Bd7 Kc4 66. Kg3 Kb3 67. a4 Ka3 68. Be8 Kb4 69. Bd7 Bd1 70. Kf4 g3 71. Kxg3"
                }
             ]
          },
          {
             "ply":113,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g5g4",
                   "san":"g4"
                },
                "moveType":"best",
                "signedCPScore":"-238",
                "gmExpectation":0.9545,
                "pv":"57...g4 58. Bd3 Bf3 59. Ba6 Kd5 60. Bb5 Kd6 61. Kd4 Ke6 62. Ke3 Kd5 63. Bf1 Ke5 64. Bb5 Be4 65. Bf1 g3 66. Bh3 Bb7 67. Bd7 Bd5 68. Bh3 Be4 69. Bf1 Bc6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d1a4",
                      "san":"Ba4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-260",
                   "gmExpectation":0.973,
                   "pv":"57...Ba4 58. Bd3 Be8 59. Be2 Bc6 60. Kd2 Kd4 61. Bh5 Ke4 62. Ke2 Kf4 63. Kf2 Bd7 64. Bf7 g4 65. Bc4 Bc6 66. Be2 g3+ 67. Kf1 Ke3"
                },
                {
                   "move":{
                      "uci":"a5a4",
                      "san":"a4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-12",
                   "gmExpectation":0.5095,
                   "pv":"57...a4 58. Ke4 Bg4 59. Ke5 Bc8 60. Be2 Kb6 61. Bd1 Kb5 62. Ke4 Bd7 63. Be2+ Kc5 64. Bd1 Kd6 65. Bxa4 Bxa4 66. Kf5 Bc6 67. Kxg5 Bd7 68. Kf4"
                }
             ]
          },
          {
             "ply":114,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f1a6",
                   "san":"Ba6"
                },
                "moveType":"best",
                "signedCPScore":"-318",
                "gmExpectation":0.9925,
                "pv":"58. Ba6 Bf3 59. Bd3 Bc6 60. Kf2 Kd4 61. Be2 Bd7 62. Bd1 Kc3 63. Kf1 Kb2 64. a4 Ka3 65. Kg2 Bc6+ 66. Kf2 Bf3 67. Bc2 Kb2 68. Bd3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-238",
                   "gmExpectation":0.9545,
                   "pv":"58. Bd3 Bf3 59. Ba6 Kd5 60. Bb5 Kd6 61. Kd4 Ke6 62. Ke3 Kd5 63. Bf1 Ke5 64. Bb5 Be4 65. Bf1 g3 66. Bh3 Bb7 67. Bd7 Bd5 68. Bh3 Be4 69. Bf1 Bc6"
                },
                {
                   "move":{
                      "uci":"e3d2",
                      "san":"Kd2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-248",
                   "gmExpectation":0.9635,
                   "pv":"58. Kd2 Bf3 59. Kc3 Be4 60. Bc4 g3 61. Bf1 Kd5 62. Bh3 Ke5 63. Kc4 Kf4 64. Kd4 Kf3 65. Ke5 a4 66. Kd4 Bc2 67. Bd7 Kf2"
                }
             ]
          },
          {
             "ply":115,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d1f3",
                   "san":"Bf3"
                },
                "moveType":"best",
                "signedCPScore":"-348",
                "gmExpectation":0.996,
                "pv":"58...Bf3 59. Bd3 Bc6 60. Ba6 g3 61. Bf1 Bd5 62. Be2 g2 63. Kf2 Bc6 64. Kg1 Kd4 65. Bd1 Kc4 66. Kf2 Kc3 67. Kg1 Kb2 68. a4 Kc3 69. Kf2 Kb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c5d6",
                      "san":"Kd6"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"-206",
                   "gmExpectation":0.91,
                   "pv":"58...Kd6 59. Bc8 g3 60. Bh3 Ke5 61. Bg2 Kf5 62. Bc6 Kg4 63. Bd5 Kh3 64. Kd4 Ba4 65. Ke3 Bd7 66. Kd4 Be8 67. Kc5 Kh2 68. Kd4 Bb5 69. Ke3 Bd7 70. Be4"
                },
                {
                   "move":{
                      "uci":"c5c6",
                      "san":"Kc6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-100",
                   "gmExpectation":0.6355,
                   "pv":"58...Kc6 59. Bc8 g3 60. Bh3 Kb5 61. Kf4 Ka4 62. Kxg3 Kxa3 63. Kf4 Ba4 64. Bg4 Kb2 65. Ke3 Kc2 66. Bf5+ Kc3 67. Bg4 Bc6 68. Bd1 Bd7 69. Ke4 Bb5"
                }
             ]
          },
          {
             "ply":116,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"a6f1",
                   "san":"Bf1"
                },
                "moveType":"best",
                "signedCPScore":"-363",
                "gmExpectation":0.997,
                "pv":"59. Bf1 Bc6 60. Bd3 g3 61. Bf1 Bb7 62. Bd3 g2 63. Kf2 Bc6 64. Ba6 Kd4 65. Be2 Kc3 66. Bd1 Kb2 67. a4 Kc3 68. Kg1 Kb4 69. Bc2 Bxa4 70. Be4 Bb5 71. Bf3 a4 72. Bxg2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a6d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-348",
                   "gmExpectation":0.996,
                   "pv":"59. Bd3 Bc6 60. Ba6 g3 61. Bf1 Bd5 62. Be2 g2 63. Kf2 Bc6 64. Kg1 Kd4 65. Bd1 Kc4 66. Kf2 Kc3 67. Kg1 Kb2 68. a4 Kc3 69. Kf2 Kb4"
                },
                {
                   "move":{
                      "uci":"e3d3",
                      "san":"Kd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-356",
                   "gmExpectation":0.9965,
                   "pv":"59. Kd3 g3 60. Ke3 Be4 61. Be2 g2 62. Kf2 Bc6 63. Bg4 Kd4 64. a4 Kc3 65. Bh5 Kb4 66. Bd1 Bxa4 67. Bf3 Bb5 68. Bd1 Bc6 69. Bc2"
                }
             ]
          },
          {
             "ply":117,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f3c6",
                   "san":"Bc6"
                },
                "moveType":"best",
                "signedCPScore":"-363",
                "gmExpectation":0.997,
                "pv":"59...Bc6 60. Be2 g3 61. Bf1 Bd5 62. Ba6 Be4 63. Be2 Bh1 64. Ba6 Bd5 65. Be2 Be4 66. Ba6 g2 67. Kf2 Bc6 68. Be2 Kd4 69. Bd1 Kc3 70. a4 Kb4 71. Kg1 Bxa4 72. Bf3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f3d5",
                      "san":"Bd5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-363",
                   "gmExpectation":0.997,
                   "pv":"59...Bd5 60. Kf4 Bc4 61. Bg2 Be6 62. Bf1 Bd7 63. Ke3 Bb5 64. Bg2 Bc6 65. Bf1 g3 66. Bd3 g2 67. Kf2 Kd4 68. Ba6 Kc3 69. Bc8"
                },
                {
                   "move":{
                      "uci":"c5b6",
                      "san":"Kb6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-110",
                   "gmExpectation":0.6565,
                   "pv":"59...Kb6 60. Bc4 Bc6 61. Kf2 Bd7 62. Ke3 Kc5 63. Ba6 Be6 64. Bd3 Bd5 65. Kf4 Bf3 66. Ke3 Bc6 67. Kf4 Kd4"
                }
             ]
          },
          {
             "ply":118,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e3f4",
                   "san":"Kf4"
                },
                "moveType":"best",
                "signedCPScore":"-394",
                "gmExpectation":0.9985,
                "pv":"60. Kf4 Bb5 61. Bg2 Bd7 62. Bf1 Kd4 63. Be2 Kc3 64. Bd1 Kb2 65. a4 Ka3 66. Ke3 Kb4 67. Kf4 g3 68. Kxg3 Bxa4 69. Bf3 Bb5 70. Bd1 Bc4 71. Kf2 Bb3 72. Ke1 Kc3 73. Bf3 a4 74. Ke2 a3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1e2",
                      "san":"Be2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-363",
                   "gmExpectation":0.997,
                   "pv":"60. Be2 g3 61. Bf1 Bd5 62. Ba6 Be4 63. Be2 Bh1 64. Ba6 Bd5 65. Be2 Be4 66. Ba6 g2 67. Kf2 Bc6 68. Be2 Kd4 69. Bd1 Kc3 70. a4 Kb4 71. Kg1 Bxa4 72. Bf3"
                },
                {
                   "move":{
                      "uci":"f1a6",
                      "san":"Ba6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-378",
                   "gmExpectation":0.998,
                   "pv":"60. Ba6 g3 61. Bf1 Bd5 62. Bd3 g2 63. Kf2 Bc6 64. Be2 Kd4 65. Bh5 Kc3 66. Bd1 Kb2 67. a4 Ka3 68. Kg1 Kb4 69. Bc2 Bxa4 70. Be4 Bb5 71. Bc2 Bc6 72. Bd1"
                }
             ]
          },
          {
             "ply":119,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c5d4",
                   "san":"Kd4"
                },
                "moveType":"blunder",
                "signedCPScore":"-84",
                "gmExpectation":0.595,
                "pv":"60...Kd4 61. Kxg4 Kc3 62. Be2 Kb3 63. Kf4 Kxa3 64. Ke3 Kb2 65. Bd1 Kc3 66. Kf4 Kd4 67. Kg4 Bb5 68. Kf3 Kc3 69. Ke3 Be8 70. Kf2 Kd2 71. Bb3 Bc6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c6b5",
                      "san":"Bb5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-394",
                   "gmExpectation":0.9985,
                   "pv":"60...Bb5 61. Bg2 Bd7 62. Bf1 Kd4 63. Be2 Kc3 64. Bd1 Kb2 65. a4 Ka3 66. Ke3 Kb4 67. Kf4 g3 68. Kxg3 Bxa4 69. Bf3 Bb5 70. Bd1 Bc4 71. Kf2 Bb3 72. Ke1 Kc3 73. Bf3 a4 74. Ke2 a3"
                },
                {
                   "move":{
                      "uci":"c6d7",
                      "san":"Bd7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-394",
                   "gmExpectation":0.9985,
                   "pv":"60...Bd7 61. Ke3 Bb5 62. Bg2 Bc6 63. Bf1 g3 64. Be2 g2 65. Kf2 Kd4 66. Bd1 Kc3 67. Kg1 Kb2 68. a4 Ka3 69. Kf2 Kb4 70. Kg1 Bxa4 71. Bf3 Bb5 72. Bd1 Bc6 73. Kf2 Ba4 74. Bf3"
                }
             ]
          },
          {
             "ply":120,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f4g4",
                   "san":"Kxg4"
                },
                "moveType":"critical",
                "signedCPScore":"-81",
                "gmExpectation":0.5885,
                "pv":"61. Kxg4 Kc3 62. Kf4 Kb2 63. Ke3 Kxa3 64. Be2 Kb2 65. Bd1 Kc3 66. Kf4 Bd7 67. Ke4 Be8 68. Kf4 Kd3 69. Bb3 Bd7 70. Bd1 Kd2 71. Bb3 Kc3 72. Bd1 Be6 73. Ba4 Kb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1a6",
                      "san":"Ba6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-531",
                   "gmExpectation":1.0,
                   "pv":"61. Ba6 Bd7 62. a4 Kc5 63. Be2 Kb4 64. Bd1 g3 65. Bf3 Bxa4 66. Kxg3 Bb5 67. Bd1 Bc4 68. Kf3 Bb3 69. Ke3 Bxd1 70. Kd2 Kb3 71. Kc1 Bc2"
                },
                {
                   "move":{
                      "uci":"f1e2",
                      "san":"Be2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-544",
                   "gmExpectation":1.0,
                   "pv":"61. Be2 Bd7 62. Bd1 Kc3 63. Ke3 Kb2 64. a4 Kc3 65. Kf2 Kb4 66. Kg2 Bc6+ 67. Kh2 g3+ 68. Kh3 Bd7+ 69. Kxg3 Bxa4 70. Bg4 Bb5 71. Bd1 Bc4 72. Kf3 Bb3 73. Ke3 Bxd1"
                }
             ]
          },
          {
             "ply":121,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"d4c3",
                   "san":"Kc3"
                },
                "moveType":"best",
                "signedCPScore":"-63",
                "gmExpectation":0.5595,
                "pv":"61...Kc3 62. Kf4 Kb2 63. Ke3 Kxa3 64. Be2 Kb2 65. Bd1 Kc3 66. Kf4 Kd2 67. Bb3 Bb5 68. Kf3 Kc3 69. Bd1 Kd4 70. Kf4 Be8 71. Bb3 Bd7 72. Bd1 Kd3 73. Bb3 Bb5 74. Bd1 Kd2 75. Bb3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c6d7",
                      "san":"Bd7+"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"-12",
                   "gmExpectation":0.509,
                   "pv":"61...Bd7+ 62. Kf4 Kc3 63. Ke5 Ba4 64. Be2 Kb2 65. Kd4 Bd7 66. Bf1 Kxa3 67. Kc3 a4 68. Bc4 Be8 69. Kc2 Kb4 70. Kb2 a3+ 71. Ka1 Kxc4 72. Kb1 Kb3 73. Ka1 Bd7 74. Kb1 Ba4 75. Ka1"
                },
                {
                   "move":{
                      "uci":"c6b5",
                      "san":"Bb5"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+355",
                   "gmExpectation":0.0045,
                   "pv":"61...Bb5 62. Bxb5 Kd5 63. Kf3 Kd4 64. a4 Ke5 65. Ke3 Kd5 66. Kd3 Ke5 67. Kc4 Kd6 68. Kd4 Kc7 69. Kc5 Kb7 70. Be2 Kb8 71. Kb5 Ka7 72. Kxa5"
                }
             ]
          },
          {
             "ply":122,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"g4f5",
                   "san":"Kf5"
                },
                "moveType":"best",
                "signedCPScore":"-69",
                "gmExpectation":0.5675,
                "pv":"62. Kf5 Kb3 63. Kf4 Kxa3 64. Be2 Kb4 65. Bd1 Ba4 66. Bg4 Kc4 67. Ke3 Kc3 68. Be2 Bd7 69. Bd1 Be8 70. Kf4 Kd3 71. Bb3 Kd2 72. Ke5 Kc3 73. Bd1 Bb5 74. Kf4 Bc4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g4f4",
                      "san":"Kf4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-63",
                   "gmExpectation":0.5595,
                   "pv":"62. Kf4 Kb2 63. Ke3 Kxa3 64. Be2 Kb2 65. Bd1 Kc3 66. Kf4 Kd2 67. Bb3 Bb5 68. Kf3 Kc3 69. Bd1 Kd4 70. Kf4 Be8 71. Bb3 Bd7 72. Bd1 Kd3 73. Bb3 Bb5 74. Bd1 Kd2 75. Bb3"
                },
                {
                   "move":{
                      "uci":"a3a4",
                      "san":"a4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-457",
                   "gmExpectation":0.9995,
                   "pv":"62. a4 Bxa4 63. Kf4 Bc6 64. Ke5 a4 65. Kd6 Be8 66. Ke7 a3 67. Kxe8 a2 68. Ba6 a1=Q 69. Bc8 Kd4 70. Kd7 Kd5 71. Bb7+ Kc5 72. Kc7 Qc3 73. Kd7 Qg7+ 74. Kc8 Kd6"
                }
             ]
          },
          {
             "ply":123,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c3b2",
                   "san":"Kb2"
                },
                "moveType":"best",
                "signedCPScore":"-51",
                "gmExpectation":0.5435,
                "pv":"62...Kb2 63. Be2 Kxa3 64. Kf4 Kb4 65. Bd1 Ba4 66. Bg4 Kc4 67. Ke3 Kc3 68. Be2 Bc6 69. Bd1 Be8 70. Kf4 Kd2 71. Bb3 Bb5 72. Kf3 Bc6+ 73. Kf4 Be8 74. Ke5 Kc3 75. Bd1 Bb5 76. Kf4 Bd3 77. Ba4 Bb1 78. Bc6 Ba2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c3b3",
                      "san":"Kb3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-69",
                   "gmExpectation":0.5675,
                   "pv":"62...Kb3 63. Kf4 Kxa3 64. Be2 Kb4 65. Bd1 Ba4 66. Bg4 Kc4 67. Ke3 Kc3 68. Be2 Bd7 69. Bd1 Be8 70. Kf4 Kd3 71. Bb3 Kd2 72. Ke5 Kc3 73. Bd1 Bb5 74. Kf4 Bc4"
                },
                {
                   "move":{
                      "uci":"c3c2",
                      "san":"Kc2"
                   },
                   "moveType":"excellent",
                   "signedCPScore":"-12",
                   "gmExpectation":0.509,
                   "pv":"62...Kc2 63. Ke5 Kb2 64. Kd4 Kxa3 65. Kc3 a4 66. Bc4 Bd7 67. Kc2 Kb4 68. Kb1 Kxc4 69. Kb2 Be8 70. Ka1 a3 71. Kb1 Bg6+ 72. Ka1 Bh7 73. Ka2 Kb4 74. Ka1"
                }
             ]
          },
          {
             "ply":124,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f5e5",
                   "san":"Ke5"
                },
                "moveType":"blunder",
                "signedCPScore":"-431",
                "gmExpectation":0.999,
                "pv":"63. Ke5 Kxa3 64. Kd4 Kb4 65. Kd3 Kb3 66. Bh3 a4 67. Be6+ Kb2 68. Kc4 a3 69. Kb4 Bd7 70. Bxd7 a2 71. Kc5 a1=Q 72. Kd6 Kc3 73. Ke6 Kb3 74. Bc6 Kb4 75. Bd5 Qd4 76. Kd6 Qf6+ 77. Be6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1e2",
                      "san":"Be2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-51",
                   "gmExpectation":0.5435,
                   "pv":"63. Be2 Kxa3 64. Kf4 Kb4 65. Bd1 Ba4 66. Bg4 Kc4 67. Ke3 Kc3 68. Be2 Bc6 69. Bd1 Be8 70. Kf4 Kd2 71. Bb3 Bb5 72. Kf3 Bc6+ 73. Kf4 Be8 74. Ke5 Kc3 75. Bd1 Bb5 76. Kf4 Bd3 77. Ba4 Bb1 78. Bc6 Ba2"
                },
                {
                   "move":{
                      "uci":"f5f4",
                      "san":"Kf4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-51",
                   "gmExpectation":0.5435,
                   "pv":"63. Kf4 Kxa3 64. Be2 Kb4 65. Bd1 Ba4 66. Bg4 Kc4 67. Ke3 Kc3 68. Be2 Bd7 69. Bd1 Be8 70. Kf4 Kd2 71. Bb3 Bb5 72. Kf3 Bc6+ 73. Kf4 Be8 74. Ke5 Kc3 75. Bd1 Bb5 76. Kf4 Bd3 77. Ba4 Bb1 78. Bd7 Ba2"
                }
             ]
          },
          {
             "ply":125,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b2a3",
                   "san":"Kxa3"
                },
                "moveType":"critical",
                "signedCPScore":"-667",
                "gmExpectation":1.0,
                "pv":"63...Kxa3 64. Bd3 Kb3 65. Kd6 Be8 66. Ke7 Bh5 67. Bb5 Kb4 68. Bc6 Be2 69. Ke6 Bc4+ 70. Kd6 Bb5 71. Be4 a4 72. Bb1 a3 73. Kc7 Kc3 74. Kb6 Ba4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b2c3",
                      "san":"Kc3"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"63...Kc3 64. Kd6 Be8 65. Kc5 Kb3 66. Kd4 Bc6 67. Bc4+ Kxa3 68. Kc3 a4 69. Be6 Be8 70. Kc2 Kb4 71. Kb2 a3+ 72. Kb1 Kc3 73. Ka1 Bh5 74. Ka2"
                },
                {
                   "move":{
                      "uci":"b2c2",
                      "san":"Kc2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"63...Kc2 64. Kd6 Be8 65. Kc5 Kb3 66. Kd4 Bc6 67. Bc4+ Kxa3 68. Kc3 a4 69. Be6 Be8 70. Kc2 Kb4 71. Kb2 a3+ 72. Kb1 Kc3 73. Ka1 Bh5 74. Ka2 Kb4"
                }
             ]
          },
          {
             "ply":126,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e5d6",
                   "san":"Kd6"
                },
                "moveType":"best",
                "signedCPScore":"-725",
                "gmExpectation":1.0,
                "pv":"64. Kd6 Be8 65. Bd3 Kb3 66. Ke7 Bh5 67. Bb5 Kb4 68. Bd7 Be2 69. Kd6 Bb5 70. Bf5 a4 71. Bb1 a3 72. Ke7 Kc3 73. Kd6 Be8 74. Ke6 Kb4 75. Ke5 Bc6 76. Kd6 Ba4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-667",
                   "gmExpectation":1.0,
                   "pv":"64. Bd3 Kb3 65. Kd6 Be8 66. Ke7 Bh5 67. Bb5 Kb4 68. Bc6 Be2 69. Ke6 Bc4+ 70. Kd6 Bb5 71. Be4 a4 72. Bb1 a3 73. Kc7 Kc3 74. Kb6 Ba4"
                },
                {
                   "move":{
                      "uci":"e5d4",
                      "san":"Kd4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-699",
                   "gmExpectation":1.0,
                   "pv":"64. Kd4 Kb4 65. Kd3 Kb3 66. Bh3 a4 67. Be6+ Kb2 68. Kc4 a3 69. Kb4 Be4 70. Bf7 Bb1 71. Ka5 Ba2 72. Bh5 Bb3 73. Bg6 Bd5 74. Be8 a2 75. Ba4 a1=Q"
                }
             ]
          },
          {
             "ply":127,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"c6e8",
                   "san":"Be8"
                },
                "moveType":"critical",
                "signedCPScore":"-264",
                "gmExpectation":0.9595,
                "pv":"64...Be8 65. Bd3 Kb4 66. Ke7 Bb5 67. Bc2 Bc4 68. Kf6 Bd5 69. Bf5 a4 70. Kg5 a3 71. Bb1"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c6a4",
                      "san":"Ba4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"64...Ba4 65. Kc5 Bd7 66. Be2 Be6 67. Kd6 Kb2 68. Kxe6 a4 69. Kd5 a3 70. Bc4 Kc2 71. Kc5 Kc3 72. Bd5 Kc2"
                },
                {
                   "move":{
                      "uci":"a3b4",
                      "san":"Kb4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"64...Kb4 65. Kxc6 a4 66. Kd5 a3 67. Bc4 Kc3 68. Kc5 Kd2 69. Kd4 Kc2 70. Kc5 Kc3 71. Bd5 Kb2 72. Kb4 a2 73. Bxa2 Kxa2 74. Kc3 Ka3 75. Kc2"
                }
             ]
          },
          {
             "ply":128,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d6c5",
                   "san":"Kc5"
                },
                "moveType":"best",
                "signedCPScore":"-1198",
                "gmExpectation":1.0,
                "pv":"65. Kc5 a4 66. Bc4 Kb2 67. Be6 a3 68. Kb4 Bg6 69. Kc5 Bc2 70. Kb4 Bb1 71. Bf7 Ba2 72. Bg6 Bd5 73. Be8 Bb3 74. Kb5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-264",
                   "gmExpectation":0.9595,
                   "pv":"65. Bd3 Kb4 66. Ke7 Bb5 67. Bc2 Bc4 68. Kf6 Bd5 69. Bf5 a4 70. Kg5 a3 71. Bb1"
                },
                {
                   "move":{
                      "uci":"d6e7",
                      "san":"Ke7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-857",
                   "gmExpectation":1.0,
                   "pv":"65. Ke7 Bh5 66. Kf6 Kb4 67. Bd3 a4 68. Bc2 a3 69. Kg5 Be8 70. Bb1 Bb5 71. Kh4"
                }
             ]
          },
          {
             "ply":129,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a5a4",
                   "san":"a4"
                },
                "moveType":"best",
                "signedCPScore":"-1264",
                "gmExpectation":1.0,
                "pv":"65...a4 66. Bg2 Kb3 67. Bd5+ Kc3 68. Kb6 Kb4 69. Ba2 Bb5 70. Bd5 Bd3 71. Ba2 Bc4 72. Bb1 a3 73. Kc6 Kb3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a3b2",
                      "san":"Kb2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1166",
                   "gmExpectation":1.0,
                   "pv":"65...Kb2 66. Bc4 a4 67. Be6 a3 68. Kb4"
                },
                {
                   "move":{
                      "uci":"a3a4",
                      "san":"Ka4"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"65...Ka4 66. Bc4 Bd7 67. Bd3 Kb3 68. Bc4+ Kb2 69. Bb5 Bxb5 70. Kxb5 a4 71. Kxa4 Kc3 72. Kb5 Kd4 73. Kb6 Kd5 74. Kb5"
                }
             ]
          },
          {
             "ply":130,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"f1c4",
                   "san":"Bc4"
                },
                "moveType":"best",
                "signedCPScore":"-1627",
                "gmExpectation":1.0,
                "pv":"66. Bc4 Kb2 67. Kb4 a3 68. Ka5 Bg6 69. Kb6 Bc2 70. Bb5 Bb3 71. Bf1 a2 72. Be2 a1=Q 73. Bb5 Kc3 74. Bc6 Kb4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f1g2",
                      "san":"Bg2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1264",
                   "gmExpectation":1.0,
                   "pv":"66. Bg2 Kb3 67. Bd5+ Kc3 68. Kb6 Kb4 69. Ba2 Bb5 70. Bd5 Bd3 71. Ba2 Bc4 72. Bb1 a3 73. Kc6 Kb3"
                },
                {
                   "move":{
                      "uci":"f1d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1484",
                   "gmExpectation":1.0,
                   "pv":"66. Bd3 Kb3 67. Kd4 a3 68. Kc5 Kc3 69. Bf1 Ba4 70. Bc4 Bb3 71. Bf1 Kb2 72. Kd6 a2 73. Be2 Kc3 74. Ke5"
                }
             ]
          },
          {
             "ply":131,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a3b2",
                   "san":"Kb2"
                },
                "moveType":"best",
                "signedCPScore":"-514",
                "gmExpectation":1.0,
                "pv":"66...Kb2 67. Kd4 a3 68. Kc5 Kc3 69. Ba2 Ba4 70. Be6 Bb3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8d7",
                      "san":"Bd7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-975",
                   "gmExpectation":1.0,
                   "pv":"66...Bd7 67. Bd3 Kb3 68. Kd6 Be8 69. Ke7 Bh5 70. Be4 a3 71. Kf6 Be2 72. Bb1 Bb5 73. Kg6 Kc3 74. Kh5 Be2+ 75. Kh4 Bc4 76. Kg4 Kb2 77. Be4 a2"
                },
                {
                   "move":{
                      "uci":"e8g6",
                      "san":"Bg6"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"66...Bg6 67. Bb5 Kb3 68. Bxa4+ Kxa4 69. Kc4 Ka5 70. Kc5"
                }
             ]
          },
          {
             "ply":132,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c5b4",
                   "san":"Kb4"
                },
                "moveType":"best",
                "signedCPScore":"-2151",
                "gmExpectation":1.0,
                "pv":"67. Kb4 a3 68. Be6 Bg6 69. Kc5 Bc2 70. Kb4 Bb1 71. Kc5 Ba2 72. Bf5 Bf7 73. Bd7 Bb3 74. Kb5 a2 75. Kc5"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c5d4",
                      "san":"Kd4"
                   },
                   "moveType":"best",
                   "signedCPScore":"-514",
                   "gmExpectation":1.0,
                   "pv":"67. Kd4 a3 68. Kc5 Kc3 69. Ba2 Ba4 70. Be6 Bb3"
                },
                {
                   "move":{
                      "uci":"c4e6",
                      "san":"Be6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1792",
                   "gmExpectation":1.0,
                   "pv":"67. Be6 a3 68. Kb4 Bg6 69. Ka5 Bd3 70. Bd5 Bc2 71. Kb4 Bb1 72. Be6 Ba2 73. Bg4 Bf7 74. Bd7 a2 75. Kb5 Kc3"
                }
             ]
          },
          {
             "ply":133,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a4a3",
                   "san":"a3"
                },
                "moveType":"best",
                "signedCPScore":"-1125",
                "gmExpectation":1.0,
                "pv":"67...a3 68. Bg8 Bg6 69. Bc4 Bb1 70. Bf7 Ba2 71. Bg6 Bd5 72. Bb1 Bb3 73. Be4 a2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8d7",
                      "san":"Bd7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-461",
                   "gmExpectation":0.999,
                   "pv":"67...Bd7 68. Be6 Be8 69. Bf7 a3 70. Bxe8 a2 71. Kc5 a1=Q 72. Kb6 Qe1 73. Bd7 Kc3 74. Bc8 Qe7 75. Bb7 Qe5 76. Ka7 Qb5 77. Ka8 Qc4"
                },
                {
                   "move":{
                      "uci":"e8f7",
                      "san":"Bf7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"67...Bf7 68. Bxf7 a3 69. Bd5 a2 70. Bxa2 Kxa2 71. Kc3 Ka3 72. Kd4 Kb4 73. Ke5 Kb3 74. Kd6 Kb4 75. Kd5"
                }
             ]
          },
          {
             "ply":134,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"c4d5",
                   "san":"Bd5"
                },
                "moveType":"best",
                "signedCPScore":"-2077",
                "gmExpectation":1.0,
                "pv":"68. Bd5 Bg6 69. Kb5 Bb1 70. Be6 Ba2 71. Bc8 Bf7 72. Bd7 a2 73. Kb4 Bg6 74. Kb5 a1=Q 75. Kb6 Bc2 76. Bc8 Ba4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"c4g8",
                      "san":"Bg8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1125",
                   "gmExpectation":1.0,
                   "pv":"68. Bg8 Bg6 69. Bc4 Bb1 70. Bf7 Ba2 71. Bg6 Bd5 72. Bb1 Bb3 73. Be4 a2"
                },
                {
                   "move":{
                      "uci":"b4c5",
                      "san":"Kc5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1206",
                   "gmExpectation":1.0,
                   "pv":"68. Kc5 Bg6 69. Be6 Kc3 70. Kb5 Bc2 71. Ba2 Bb3 72. Bb1 Kb2 73. Kb4 Bf7 74. Bf5 a2 75. Bd7"
                }
             ]
          },
          {
             "ply":135,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"e8g6",
                   "san":"Bg6"
                },
                "moveType":"best",
                "signedCPScore":"-1039",
                "gmExpectation":1.0,
                "pv":"68...Bg6 69. Kc5 Bb1 70. Be6 Ba2 71. Bd7 Bb3 72. Kd6 a2 73. Ke7 a1=Q 74. Kf6 Ba4 75. Bf5 Be8 76. Kg5 Kc3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"e8d7",
                      "san":"Bd7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-2069",
                   "gmExpectation":1.0,
                   "pv":"68...Bd7 69. Bf7 Bf5 70. Bd5 Bb1 71. Be6 Ba2 72. Bf5 Bf7 73. Bh3 Bb3 74. Bd7 a2 75. Kc5 Kc3 76. Bg4 Ba4 77. Be6"
                },
                {
                   "move":{
                      "uci":"e8f7",
                      "san":"Bf7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"68...Bf7 69. Bxf7 a2 70. Bxa2 Kxa2 71. Kc3 Ka3 72. Kc4 Kb2 73. Kc5 Kb3 74. Kd5 Kb4 75. Kd6 Kb5 76. Kd7 Kb4"
                }
             ]
          },
          {
             "ply":136,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d5e6",
                   "san":"Be6"
                },
                "moveType":"best",
                "signedCPScore":"-1999",
                "gmExpectation":1.0,
                "pv":"69. Be6 Bd3 70. Bc8 Bb1 71. Kc5 Bc2 72. Kd4 Ba4 73. Kc5 Bb3 74. Kd6 a2 75. Ke7 Ba4 76. Kf6 Kc3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b4c5",
                      "san":"Kc5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1039",
                   "gmExpectation":1.0,
                   "pv":"69. Kc5 Bb1 70. Be6 Ba2 71. Bd7 Bb3 72. Kd6 a2 73. Ke7 a1=Q 74. Kf6 Ba4 75. Bf5 Be8 76. Kg5 Kc3"
                },
                {
                   "move":{
                      "uci":"b4a5",
                      "san":"Ka5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1783",
                   "gmExpectation":1.0,
                   "pv":"69. Ka5 Bb1 70. Kb6 Bc2 71. Be6 Bd1 72. Bc4 Ba4 73. Bd5 Bb3 74. Ba8 a2 75. Bc6 a1=Q 76. Bb5 Qg1+ 77. Kc6 Qa7"
                }
             ]
          },
          {
             "ply":137,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"g6b1",
                   "san":"Bb1"
                },
                "moveType":"best",
                "signedCPScore":"-1827",
                "gmExpectation":1.0,
                "pv":"69...Bb1 70. Bd5 Ba2 71. Bc6 Bf7 72. Ka5 a2 73. Kb6 a1=Q 74. Kb7 Bc4 75. Kb8 Bb3 76. Be8 Kc3 77. Bc6 Bc2 78. Bb7 Ba4"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"g6d3",
                      "san":"Bd3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1999",
                   "gmExpectation":1.0,
                   "pv":"69...Bd3 70. Bc8 Bb1 71. Kc5 Bc2 72. Kd4 Ba4 73. Kc5 Bb3 74. Kd6 a2 75. Ke7 Ba4 76. Kf6 Kc3"
                },
                {
                   "move":{
                      "uci":"g6f7",
                      "san":"Bf7"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"69...Bf7 70. Bxf7 a2 71. Bxa2 Kxa2 72. Kc3 Ka3 73. Kd2 Kb4 74. Kc2 Kb5 75. Kb3 Kc5 76. Ka3 Kd5 77. Kb4 Ke5 78. Kb5 Ke4 79. Kc6"
                }
             ]
          },
          {
             "ply":138,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e6d5",
                   "san":"Bd5"
                },
                "moveType":"best",
                "signedCPScore":"-2187",
                "gmExpectation":1.0,
                "pv":"70. Bd5 Ba2 71. Be4 Bb3 72. Bb1 Bf7 73. Bf5 a2 74. Kc5 Kc3 75. Bd7 Bb3 76. Kb6 Kb2 77. Kb7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b4c5",
                      "san":"Kc5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1856",
                   "gmExpectation":1.0,
                   "pv":"70. Kc5 Ba2 71. Bd7 Bb3 72. Kd6 a2 73. Ke7 a1=Q 74. Bf5 Kc3 75. Kd6 Kb4 76. Bd7 Bc4 77. Bc6 Bb5"
                },
                {
                   "move":{
                      "uci":"b4b5",
                      "san":"Kb5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1856",
                   "gmExpectation":1.0,
                   "pv":"70. Kb5 Ba2 71. Bg4 Bf7 72. Kc6 a2 73. Kd7 Bb3 74. Ke7 Kc3 75. Kf6 a1=Q 76. Kg5 Bd1 77. Bf5 Ba4 78. Kf6 Kb4+ 79. Ke7"
                }
             ]
          },
          {
             "ply":139,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"b1a2",
                   "san":"Ba2"
                },
                "moveType":"best",
                "signedCPScore":"-462",
                "gmExpectation":0.999,
                "pv":"70...Ba2 71. Be4 Bb3 72. Bb1 Bd5 73. Bf5 a2 74. Kc5 a1=Q"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b1c2",
                      "san":"Bc2"
                   },
                   "moveType":"best",
                   "signedCPScore":"-1373",
                   "gmExpectation":1.0,
                   "pv":"70...Bc2 71. Be6 Bb1 72. Kc5 Ba2 73. Bg4 Bf7 74. Kd6 a2 75. Bc8 Bb3 76. Bf5 Bc2 77. Be6 a1=Q 78. Ke7 Qa3+ 79. Kf7 Bb3"
                },
                {
                   "move":{
                      "uci":"a3a2",
                      "san":"a2"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-11",
                   "gmExpectation":0.5075,
                   "pv":"70...a2 71. Bxa2 Bxa2 72. Kb5 Kc3 73. Ka4 Be6 74. Kb5 Kd4 75. Kc6 Bf7 76. Kd7 Ke5 77. Kc6 Kf6 78. Kc5 Kg7 79. Kd4 Bb3 80. Kc3"
                }
             ]
          },
          {
             "ply":140,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"d5e4",
                   "san":"Be4"
                },
                "moveType":"best",
                "signedCPScore":"-5230",
                "gmExpectation":1.0,
                "pv":"71. Be4 Bb3 72. Bd3 a2 73. Bf5 Bf7 74. Kc5 a1=Q 75. Kd6 Qa5 76. Bd7 Qa3+ 77. Kc7 Qc5+ 78. Kd8 Bb3"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"d5b7",
                      "san":"Bb7"
                   },
                   "moveType":"best",
                   "signedCPScore":"-970",
                   "gmExpectation":1.0,
                   "pv":"71. Bb7 Bf7 72. Kb5 a2 73. Kb6 a1=Q 74. Bf3 Bb3 75. Kb7"
                },
                {
                   "move":{
                      "uci":"d5f3",
                      "san":"Bf3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-2227",
                   "gmExpectation":1.0,
                   "pv":"71. Bf3 Bf7 72. Kb5 a2 73. Kb6 a1=Q 74. Bc6 Qg1+ 75. Ka6 Qc5 76. Kb7 Qd6"
                }
             ]
          },
          {
             "ply":141,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"a2f7",
                   "san":"Bf7"
                },
                "moveType":"best",
                "signedCPScore":"-5777",
                "gmExpectation":1.0,
                "pv":"71...Bf7 72. Kc5 a2 73. Kd6 a1=Q 74. Ke5 Kb3+ 75. Kf4 Qd4 76. Kf3 Bd5 77. Bxd5+ Qxd5+ 78. Kf4 Kc3 79. Kg4 Qh1 80. Kf5 Qa1 81. Kg4 Kb2"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"a2b3",
                      "san":"Bb3"
                   },
                   "moveType":"best",
                   "signedCPScore":"-5230",
                   "gmExpectation":1.0,
                   "pv":"71...Bb3 72. Bd3 a2 73. Bf5 Bf7 74. Kc5 a1=Q 75. Kd6 Qa5 76. Bd7 Qa3+ 77. Kc7 Qc5+ 78. Kd8 Bb3"
                },
                {
                   "move":{
                      "uci":"b2c1",
                      "san":"Kc1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"+0",
                   "gmExpectation":0.5,
                   "pv":"71...Kc1 72. Kxa3 Bg8 73. Bc6 Kd2 74. Kb4 Bh7 75. Bd5 Bd3 76. Kc5 Ke3 77. Kb6 Kf4 78. Kc7 Bf5 79. Kc6 Be4 80. Bxe4 Kxe4 81. Kc5 Kd3"
                }
             ]
          },
          {
             "ply":142,
             "gamePhase":"endgame",
             "turn":"white",
             "actualMove":{
                "move":{
                   "uci":"e4b1",
                   "san":"Bb1"
                },
                "moveType":"best",
                "signedCPScore":"-6064",
                "gmExpectation":1.0,
                "pv":"72. Bb1 Bg8 73. Bd3 a2 74. Bc4 a1=Q 75. Bxg8 Qe1+ 76. Kc4 Qf1+ 77. Kd4 Qg1+ 78. Ke4 Qxg8 79. Ke5 Qg4 80. Kf6 Qe4 81. Kg5 Qf3 82. Kg6 Qd5 83. Kf6"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"b4c5",
                      "san":"Kc5"
                   },
                   "moveType":"best",
                   "signedCPScore":"-5777",
                   "gmExpectation":1.0,
                   "pv":"72. Kc5 a2 73. Kd6 a1=Q 74. Ke5 Kb3+ 75. Kf4 Qd4 76. Kf3 Bd5 77. Bxd5+ Qxd5+ 78. Kf4 Kc3 79. Kg4 Qh1 80. Kf5 Qa1 81. Kg4 Kb2"
                },
                {
                   "move":{
                      "uci":"e4c6",
                      "san":"Bc6"
                   },
                   "moveType":"best",
                   "signedCPScore":"-6064",
                   "gmExpectation":1.0,
                   "pv":"72. Bc6 a2 73. Kc5 a1=Q 74. Kb6 Qg1+ 75. Kb7 Qc5 76. Bh1 Bd5+ 77. Bxd5 Qxd5+ 78. Kb6 Qd7 79. Kc5 Qe6 80. Kd4 Qf5 81. Ke3 Qg4 82. Kf2 Kb3"
                }
             ]
          },
          {
             "ply":143,
             "gamePhase":"endgame",
             "turn":"black",
             "actualMove":{
                "move":{
                   "uci":"f7b3",
                   "san":"Bb3"
                },
                "moveType":"best",
                "signedCPScore":"-6064",
                "gmExpectation":1.0,
                "pv":"72...Bb3 73. Be4 a2 74. Kc5 a1=Q 75. Kd6 Qg1 76. Bc6 Qd4+ 77. Ke7 Qc5+ 78. Kd7 Be6+ 79. Kxe6 Qxc6+ 80. Kf7 Qc4+ 81. Kg7 Qb5 82. Kg6 Qd5 83. Kf6 Qh5 84. Kg7"
             },
             "alternativeMoves":[
                {
                   "move":{
                      "uci":"f7g8",
                      "san":"Bg8"
                   },
                   "moveType":"best",
                   "signedCPScore":"-6064",
                   "gmExpectation":1.0,
                   "pv":"72...Bg8 73. Bd3 a2 74. Bc4 a1=Q 75. Bxg8 Qe1+ 76. Kc4 Qf1+ 77. Kd4 Qg1+ 78. Ke4 Qxg8 79. Ke5 Qg4 80. Kf6 Qe4 81. Kg5 Qf3 82. Kg6 Qd5 83. Kf6"
                },
                {
                   "move":{
                      "uci":"b2c1",
                      "san":"Kc1"
                   },
                   "moveType":"blunder",
                   "signedCPScore":"-10",
                   "gmExpectation":0.5065,
                   "pv":"72...Kc1 73. Kxa3 Kxb1 74. Kb4 Kc2 75. Kc5 Kd3 76. Kd6 Kd4 77. Kc6 Bh5 78. Kb6 Kc4 79. Ka5 Bg4 80. Kb6 Kb4 81. Kc6 Kc3 82. Kc7"
                }
             ]
          }
       ]
    },
    "whitePlayerRating":"2758",
    "blackPlayerRating":"2862"
 }
]

Run live analysis server

Note: The live analysis server is not production ready yet. To run the live analysis server in dev mode, use the following command python main.py api This will provide a REST API endpoint /analyse that is used by the live analysis mode in our Flutter App to analyse arbitrary moves at any time.

Example output:

Bildschirmfoto 2021-07-12 um 10 16 42

License

This project is licensed under the GPLv3 License. You can find the full license text in the LICENSE.md file.

About

Python Game preprocessing tool to generate analyzed games bundle for our Chess Guess The Move App created as part of our Bachelor Forschungsprojekt INF at University of Stuttgart.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages