diff --git a/ych1990101/.gitignore b/ych1990101/.gitignore new file mode 100644 index 00000000..a2a67d17 --- /dev/null +++ b/ych1990101/.gitignore @@ -0,0 +1,9 @@ +.vagrant + +.ipynb_checkpoints + +**/__pycache__ + +**/*.del +vm +**/.Trash* diff --git a/ych1990101/correction/2024-03-23_Spanish_Division_2(西班牙乙組聯賽)_Alcorcon(艾高干)_vs_Oviedo(奧維多)_correction.xlsx b/ych1990101/correction/2024-03-23_Spanish_Division_2(西班牙乙組聯賽)_Alcorcon(艾高干)_vs_Oviedo(奧維多)_correction.xlsx new file mode 100644 index 00000000..0460e650 Binary files /dev/null and b/ych1990101/correction/2024-03-23_Spanish_Division_2(西班牙乙組聯賽)_Alcorcon(艾高干)_vs_Oviedo(奧維多)_correction.xlsx differ diff --git a/ych1990101/gitUpdate.bat b/ych1990101/gitUpdate.bat new file mode 100644 index 00000000..620b90d3 --- /dev/null +++ b/ych1990101/gitUpdate.bat @@ -0,0 +1,7 @@ +git status . + +@pause + +git add . +git commit -m"update ych1990101," +start git push \ No newline at end of file diff --git a/ych1990101/jsonpath-tryout/Pipfile b/ych1990101/jsonpath-tryout/Pipfile new file mode 100644 index 00000000..53b46037 --- /dev/null +++ b/ych1990101/jsonpath-tryout/Pipfile @@ -0,0 +1,12 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +jsonpath-ng = "*" + +[dev-packages] + +[requires] +python_version = "3.11" diff --git a/ych1990101/jsonpath-tryout/Pipfile.lock b/ych1990101/jsonpath-tryout/Pipfile.lock new file mode 100644 index 00000000..019bccf7 --- /dev/null +++ b/ych1990101/jsonpath-tryout/Pipfile.lock @@ -0,0 +1,36 @@ +{ + "_meta": { + "hash": { + "sha256": "13e6ab508682901d9f54650d3c3fdbe343987158f038299e9b7b6f7480f0acae" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.11" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "jsonpath-ng": { + "hashes": [ + "sha256:086c37ba4917304850bd837aeab806670224d3f038fe2833ff593a672ef0a5fa", + "sha256:8f22cd8273d7772eea9aaa84d922e0841aa36fdb8a2c6b7f6c3791a16a9bc0be" + ], + "index": "pypi", + "version": "==1.6.1" + }, + "ply": { + "hashes": [ + "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", + "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce" + ], + "version": "==3.11" + } + }, + "develop": {} +} diff --git a/ych1990101/jsonpath-tryout/db.json b/ych1990101/jsonpath-tryout/db.json new file mode 100644 index 00000000..03a6a3a6 --- /dev/null +++ b/ych1990101/jsonpath-tryout/db.json @@ -0,0 +1,1174 @@ +{ + "leagueTable": { + "homeTeam": { + "all": { + "teamPlayed": "21", + "teamWin": "8", + "teamDraw": "6", + "teamLoss": "7", + "teamGF": "32", + "teamGA": "32", + "points": "30", + "winpercentage": 38 + }, + "home": { + "teamPlayed": "11", + "teamWin": "5", + "teamDraw": "2", + "teamLoss": "4", + "teamGF": "20", + "teamGA": "19", + "points": "17", + "winpercentage": 45 + }, + "away": { + "teamPlayed": "10", + "teamWin": "3", + "teamDraw": "4", + "teamLoss": "3", + "teamGF": "12", + "teamGA": "13", + "points": "13", + "winpercentage": 30 + } + }, + "awayTeam": { + "all": { + "teamPlayed": "21", + "teamWin": "11", + "teamDraw": "7", + "teamLoss": "3", + "teamGF": "43", + "teamGA": "26", + "points": "40", + "winpercentage": 52 + }, + "home": { + "teamPlayed": "10", + "teamWin": "5", + "teamDraw": "3", + "teamLoss": "2", + "teamGF": "25", + "teamGA": "15", + "points": "18", + "winpercentage": 50 + }, + "away": { + "teamPlayed": "11", + "teamWin": "6", + "teamDraw": "4", + "teamLoss": "1", + "teamGF": "18", + "teamGA": "11", + "points": "22", + "winpercentage": 55 + } + } + }, + "handicapTable": { + "homeTeam": { + "all": { + "teamWin": "3", + "teamHalfWin": "1", + "teamDraw": "1", + "teamHalfLoss": "1", + "teamLoss": "2", + "winPct": 38, + "halfWinPct": 13, + "drawPct": 13, + "halfLossPct": 12.5, + "lossPct": 25 + }, + "home": { + "teamWin": "1", + "teamHalfWin": "0", + "teamDraw": "1", + "teamHalfLoss": "0", + "teamLoss": "2", + "winPct": 25, + "halfWinPct": 0, + "drawPct": 25, + "halfLossPct": 0, + "lossPct": 50 + }, + "away": { + "teamWin": "2", + "teamHalfWin": "1", + "teamDraw": "0", + "teamHalfLoss": "1", + "teamLoss": "0", + "winPct": 50, + "halfWinPct": 25, + "drawPct": 0, + "halfLossPct": 25, + "lossPct": 0 + } + }, + "awayTeam": { + "all": { + "teamWin": "7", + "teamHalfWin": "0", + "teamDraw": "1", + "teamHalfLoss": "2", + "teamLoss": "2", + "winPct": 58, + "halfWinPct": 0, + "drawPct": 8, + "halfLossPct": 16.666666666666664, + "lossPct": 17 + }, + "home": { + "teamWin": "2", + "teamHalfWin": "0", + "teamDraw": "0", + "teamHalfLoss": "2", + "teamLoss": "2", + "winPct": 33, + "halfWinPct": 0, + "drawPct": 0, + "halfLossPct": 33.33333333333333, + "lossPct": 33 + }, + "away": { + "teamWin": "5", + "teamHalfWin": "0", + "teamDraw": "1", + "teamHalfLoss": "0", + "teamLoss": "0", + "winPct": 83, + "halfWinPct": 0, + "drawPct": 17, + "halfLossPct": 0, + "lossPct": 0 + } + } + }, + "handicapHadTable": { + "homeTeam": { + "all": { + "teamWin": "9", + "teamDraw": "4", + "teamLoss": "8", + "winPct": 43, + "drawPct": 19, + "lossPct": 38 + }, + "home": { + "teamWin": "5", + "teamDraw": "2", + "teamLoss": "4", + "winPct": 45, + "drawPct": 18, + "lossPct": 36 + }, + "away": { + "teamWin": "4", + "teamDraw": "2", + "teamLoss": "4", + "winPct": 40, + "drawPct": 20, + "lossPct": 40 + } + }, + "awayTeam": { + "all": { + "teamWin": "10", + "teamDraw": "4", + "teamLoss": "7", + "winPct": 48, + "drawPct": 19, + "lossPct": 33 + }, + "home": { + "teamWin": "4", + "teamDraw": "1", + "teamLoss": "5", + "winPct": 40, + "drawPct": 10, + "lossPct": 50 + }, + "away": { + "teamWin": "6", + "teamDraw": "3", + "teamLoss": "2", + "winPct": 55, + "drawPct": 27, + "lossPct": 18 + } + } + }, + "oddEvenTable": { + "homeTeam": { + "all": { + "teamOdd": "8", + "teamEven": "13", + "oddPct": 38, + "evenPct": 62 + }, + "home": { + "teamOdd": "3", + "teamEven": "8", + "oddPct": 27, + "evenPct": 73 + }, + "away": { + "teamOdd": "5", + "teamEven": "5", + "oddPct": 50, + "evenPct": 50 + } + }, + "awayTeam": { + "all": { + "teamOdd": "11", + "teamEven": "10", + "oddPct": 52, + "evenPct": 48 + }, + "home": { + "teamOdd": "4", + "teamEven": "6", + "oddPct": 40, + "evenPct": 60 + }, + "away": { + "teamOdd": "7", + "teamEven": "4", + "oddPct": 64, + "evenPct": 36 + } + } + }, + "goalsTable": { + "homeTeam": { + "all": { + "goalsZero": "2", + "goalsOne": "0", + "goalsTwo": "3", + "goalsThree": "7", + "goalsFour": "8", + "goalsFive": "1", + "goalsSix": "0", + "goalsSevenplus": "0", + "average": "3.0" + }, + "home": { + "goalsZero": "0", + "goalsOne": "0", + "goalsTwo": "2", + "goalsThree": "2", + "goalsFour": "6", + "goalsFive": "1", + "goalsSix": "0", + "goalsSevenplus": "0", + "average": "3.5" + }, + "away": { + "goalsZero": "2", + "goalsOne": "0", + "goalsTwo": "1", + "goalsThree": "5", + "goalsFour": "2", + "goalsFive": "0", + "goalsSix": "0", + "goalsSevenplus": "0", + "average": "2.5" + } + }, + "awayTeam": { + "all": { + "goalsZero": "2", + "goalsOne": "1", + "goalsTwo": "3", + "goalsThree": "7", + "goalsFour": "3", + "goalsFive": "3", + "goalsSix": "1", + "goalsSevenplus": "1", + "average": "3.3" + }, + "home": { + "goalsZero": "0", + "goalsOne": "0", + "goalsTwo": "2", + "goalsThree": "3", + "goalsFour": "2", + "goalsFive": "1", + "goalsSix": "1", + "goalsSevenplus": "1", + "average": "4.0" + }, + "away": { + "goalsZero": "2", + "goalsOne": "1", + "goalsTwo": "1", + "goalsThree": "4", + "goalsFour": "1", + "goalsFive": "2", + "goalsSix": "0", + "goalsSevenplus": "0", + "average": "2.6" + } + } + }, + "correctScoreTable": { + "homeTeam": { + "all": { + "score1_0": "0", + "score2_0": "2", + "score2_1": "3", + "score0_0": "2", + "score1_1": "1", + "score2_2": "3", + "score0_1": "0", + "score0_2": "0", + "score1_2": "3" + }, + "home": { + "score1_0": "0", + "score2_0": "1", + "score2_1": "1", + "score0_0": "0", + "score1_1": "1", + "score2_2": "1", + "score0_1": "0", + "score0_2": "0", + "score1_2": "1" + }, + "away": { + "score1_0": "0", + "score2_0": "1", + "score2_1": "2", + "score0_0": "2", + "score1_1": "0", + "score2_2": "2", + "score0_1": "0", + "score0_2": "0", + "score1_2": "2" + } + }, + "awayTeam": { + "all": { + "score1_0": "1", + "score2_0": "0", + "score2_1": "4", + "score0_0": "2", + "score1_1": "3", + "score2_2": "2", + "score0_1": "0", + "score0_2": "0", + "score1_2": "1" + }, + "home": { + "score1_0": "0", + "score2_0": "0", + "score2_1": "1", + "score0_0": "0", + "score1_1": "2", + "score2_2": "1", + "score0_1": "0", + "score0_2": "0", + "score1_2": "1" + }, + "away": { + "score1_0": "1", + "score2_0": "0", + "score2_1": "3", + "score0_0": "2", + "score1_1": "1", + "score2_2": "1", + "score0_1": "0", + "score0_2": "0", + "score1_2": "0" + } + } + }, + "firstHalfCorrectScoreTable": { + "homeTeam": { + "all": { + "score1_0": "4", + "score2_0": "0", + "score2_1": "2", + "score0_0": "5", + "score1_1": "2", + "score2_2": "0", + "score0_1": "4", + "score0_2": "2", + "score1_2": "1" + }, + "home": { + "score1_0": "1", + "score2_0": "0", + "score2_1": "1", + "score0_0": "3", + "score1_1": "2", + "score2_2": "0", + "score0_1": "2", + "score0_2": "1", + "score1_2": "0" + }, + "away": { + "score1_0": "3", + "score2_0": "0", + "score2_1": "1", + "score0_0": "2", + "score1_1": "0", + "score2_2": "0", + "score0_1": "2", + "score0_2": "1", + "score1_2": "1" + } + }, + "awayTeam": { + "all": { + "score1_0": "4", + "score2_0": "0", + "score2_1": "1", + "score0_0": "3", + "score1_1": "1", + "score2_2": "0", + "score0_1": "4", + "score0_2": "1", + "score1_2": "3" + }, + "home": { + "score1_0": "3", + "score2_0": "0", + "score2_1": "1", + "score0_0": "0", + "score1_1": "0", + "score2_2": "0", + "score0_1": "2", + "score0_2": "1", + "score1_2": "0" + }, + "away": { + "score1_0": "1", + "score2_0": "0", + "score2_1": "0", + "score0_0": "3", + "score1_1": "1", + "score2_2": "0", + "score0_1": "2", + "score0_2": "0", + "score1_2": "3" + } + } + }, + "htFtTable": { + "homeTeam": { + "all": { + "teamWinWin": "4", + "teamDrawWin": "2", + "teamLossWin": "2", + "teamWinDraw": "2", + "teamDrawDraw": "3", + "teamLossDraw": "1", + "teamWinLoss": "1", + "teamDrawLoss": "2", + "teamLossLoss": "4" + }, + "home": { + "teamWinWin": "3", + "teamDrawWin": "2", + "teamLossWin": "0", + "teamWinDraw": "0", + "teamDrawDraw": "1", + "teamLossDraw": "1", + "teamWinLoss": "0", + "teamDrawLoss": "2", + "teamLossLoss": "2" + }, + "away": { + "teamWinWin": "1", + "teamDrawWin": "0", + "teamLossWin": "2", + "teamWinDraw": "2", + "teamDrawDraw": "2", + "teamLossDraw": "0", + "teamWinLoss": "1", + "teamDrawLoss": "0", + "teamLossLoss": "2" + } + }, + "awayTeam": { + "all": { + "teamWinWin": "6", + "teamDrawWin": "1", + "teamLossWin": "4", + "teamWinDraw": "2", + "teamDrawDraw": "3", + "teamLossDraw": "2", + "teamWinLoss": "0", + "teamDrawLoss": "0", + "teamLossLoss": "3" + }, + "home": { + "teamWinWin": "4", + "teamDrawWin": "0", + "teamLossWin": "1", + "teamWinDraw": "2", + "teamDrawDraw": "0", + "teamLossDraw": "1", + "teamWinLoss": "0", + "teamDrawLoss": "0", + "teamLossLoss": "2" + }, + "away": { + "teamWinWin": "2", + "teamDrawWin": "1", + "teamLossWin": "3", + "teamWinDraw": "0", + "teamDrawDraw": "3", + "teamLossDraw": "1", + "teamWinLoss": "0", + "teamDrawLoss": "0", + "teamLossLoss": "1" + } + } + }, + "cornerHiLoTable": { + "homeTeam": { + "all": [ + { + "line": 8.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 9.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 10.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 11.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 12.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + } + ], + "home": [ + { + "line": 8.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 9.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 10.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 11.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 12.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + } + ], + "away": [ + { + "line": 8.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 9.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 10.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 11.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 12.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + } + ] + }, + "awayTeam": { + "all": [ + { + "line": 8.5, + "high": 1, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 9.5, + "high": 1, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 10.5, + "high": 1, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 11.5, + "high": 0, + "low": 1, + "highPct": 0, + "lowPct": 100 + }, + { + "line": 12.5, + "high": 0, + "low": 1, + "highPct": 0, + "lowPct": 100 + } + ], + "home": [ + { + "line": 8.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 9.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 10.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 11.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + }, + { + "line": 12.5, + "high": 0, + "low": 0, + "highPct": null, + "lowPct": null + } + ], + "away": [ + { + "line": 8.5, + "high": 1, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 9.5, + "high": 1, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 10.5, + "high": 1, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 11.5, + "high": 0, + "low": 1, + "highPct": 0, + "lowPct": 100 + }, + { + "line": 12.5, + "high": 0, + "low": 1, + "highPct": 0, + "lowPct": 100 + } + ] + } + }, + "firstTeamToScoreTable": { + "teamToScore": { + "homeTeam": { + "all": { + "matches": "21", + "scoreFirst": "8", + "oppositeScoreFirst": "11" + }, + "home": { + "matches": "11", + "scoreFirst": "5", + "oppositeScoreFirst": "6" + }, + "away": { + "matches": "10", + "scoreFirst": "3", + "oppositeScoreFirst": "5" + } + }, + "awayTeam": { + "all": { + "matches": "21", + "scoreFirst": "7", + "oppositeScoreFirst": "12" + }, + "home": { + "matches": "10", + "scoreFirst": "4", + "oppositeScoreFirst": "6" + }, + "away": { + "matches": "11", + "scoreFirst": "3", + "oppositeScoreFirst": "6" + } + } + }, + "scoreFirst": { + "homeTeam": { + "won": { + "scoreFirst": "5", + "oppositeScoreFirst": "3" + }, + "draw": { + "scoreFirst": "2", + "oppositeScoreFirst": "2" + }, + "lost": { + "scoreFirst": "1", + "oppositeScoreFirst": "6" + } + }, + "awayTeam": { + "won": { + "scoreFirst": "5", + "oppositeScoreFirst": "6" + }, + "draw": { + "scoreFirst": "2", + "oppositeScoreFirst": "3" + }, + "lost": { + "scoreFirst": "0", + "oppositeScoreFirst": "3" + } + } + } + }, + "hiLoTable": { + "homeTeam": { + "all": { + "halfTime": [ + { + "line": 0.5, + "high": 16, + "low": 5, + "highPct": 76, + "lowPct": 24 + }, + { + "line": 1.5, + "high": 8, + "low": 13, + "highPct": 38, + "lowPct": 62 + }, + { + "line": 2.5, + "high": 4, + "low": 17, + "highPct": 19, + "lowPct": 81 + } + ], + "fullTime": [ + { + "line": 1.5, + "high": 19, + "low": 2, + "highPct": 90, + "lowPct": 10 + }, + { + "line": 2.5, + "high": 16, + "low": 5, + "highPct": 76, + "lowPct": 24 + }, + { + "line": 3.5, + "high": 9, + "low": 12, + "highPct": 43, + "lowPct": 57 + } + ] + }, + "home": { + "halfTime": [ + { + "line": 0.5, + "high": 8, + "low": 3, + "highPct": 73, + "lowPct": 27 + }, + { + "line": 1.5, + "high": 5, + "low": 6, + "highPct": 45, + "lowPct": 55 + }, + { + "line": 2.5, + "high": 2, + "low": 9, + "highPct": 18, + "lowPct": 82 + } + ], + "fullTime": [ + { + "line": 1.5, + "high": 11, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 2.5, + "high": 9, + "low": 2, + "highPct": 82, + "lowPct": 18 + }, + { + "line": 3.5, + "high": 7, + "low": 4, + "highPct": 64, + "lowPct": 36 + } + ] + }, + "away": { + "halfTime": [ + { + "line": 0.5, + "high": 8, + "low": 2, + "highPct": 80, + "lowPct": 20 + }, + { + "line": 1.5, + "high": 3, + "low": 7, + "highPct": 30, + "lowPct": 70 + }, + { + "line": 2.5, + "high": 2, + "low": 8, + "highPct": 20, + "lowPct": 80 + } + ], + "fullTime": [ + { + "line": 1.5, + "high": 8, + "low": 2, + "highPct": 80, + "lowPct": 20 + }, + { + "line": 2.5, + "high": 7, + "low": 3, + "highPct": 70, + "lowPct": 30 + }, + { + "line": 3.5, + "high": 2, + "low": 8, + "highPct": 20, + "lowPct": 80 + } + ] + } + }, + "awayTeam": { + "all": { + "halfTime": [ + { + "line": 0.5, + "high": 18, + "low": 3, + "highPct": 86, + "lowPct": 14 + }, + { + "line": 1.5, + "high": 10, + "low": 11, + "highPct": 48, + "lowPct": 52 + }, + { + "line": 2.5, + "high": 8, + "low": 13, + "highPct": 38, + "lowPct": 62 + } + ], + "fullTime": [ + { + "line": 1.5, + "high": 18, + "low": 3, + "highPct": 86, + "lowPct": 14 + }, + { + "line": 2.5, + "high": 15, + "low": 6, + "highPct": 71, + "lowPct": 29 + }, + { + "line": 3.5, + "high": 8, + "low": 13, + "highPct": 38, + "lowPct": 62 + } + ] + }, + "home": { + "halfTime": [ + { + "line": 0.5, + "high": 10, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 1.5, + "high": 5, + "low": 5, + "highPct": 50, + "lowPct": 50 + }, + { + "line": 2.5, + "high": 4, + "low": 6, + "highPct": 40, + "lowPct": 60 + } + ], + "fullTime": [ + { + "line": 1.5, + "high": 10, + "low": 0, + "highPct": 100, + "lowPct": 0 + }, + { + "line": 2.5, + "high": 8, + "low": 2, + "highPct": 80, + "lowPct": 20 + }, + { + "line": 3.5, + "high": 5, + "low": 5, + "highPct": 50, + "lowPct": 50 + } + ] + }, + "away": { + "halfTime": [ + { + "line": 0.5, + "high": 8, + "low": 3, + "highPct": 73, + "lowPct": 27 + }, + { + "line": 1.5, + "high": 5, + "low": 6, + "highPct": 45, + "lowPct": 55 + }, + { + "line": 2.5, + "high": 4, + "low": 7, + "highPct": 36, + "lowPct": 64 + } + ], + "fullTime": [ + { + "line": 1.5, + "high": 8, + "low": 3, + "highPct": 73, + "lowPct": 27 + }, + { + "line": 2.5, + "high": 7, + "low": 4, + "highPct": 64, + "lowPct": 36 + }, + { + "line": 3.5, + "high": 3, + "low": 8, + "highPct": 27, + "lowPct": 73 + } + ] + } + } + }, + "fhHadTable": { + "homeTeam": { + "all": { + "teamWin": "7", + "teamDraw": "7", + "teamLoss": "7", + "winPct": 33, + "drawPct": 33, + "lossPct": 33 + }, + "home": { + "teamWin": "3", + "teamDraw": "5", + "teamLoss": "3", + "winPct": 27, + "drawPct": 45, + "lossPct": 27 + }, + "away": { + "teamWin": "4", + "teamDraw": "2", + "teamLoss": "4", + "winPct": 40, + "drawPct": 20, + "lossPct": 40 + } + }, + "awayTeam": { + "all": { + "teamWin": "8", + "teamDraw": "4", + "teamLoss": "9", + "winPct": 38, + "drawPct": 19, + "lossPct": 43 + }, + "home": { + "teamWin": "6", + "teamDraw": "0", + "teamLoss": "4", + "winPct": 60, + "drawPct": 0, + "lossPct": 40 + }, + "away": { + "teamWin": "2", + "teamDraw": "4", + "teamLoss": "5", + "winPct": 18, + "drawPct": 36, + "lossPct": 45 + } + } + } +} \ No newline at end of file diff --git a/ych1990101/jsonpath-tryout/main.py b/ych1990101/jsonpath-tryout/main.py new file mode 100644 index 00000000..bac3a392 --- /dev/null +++ b/ych1990101/jsonpath-tryout/main.py @@ -0,0 +1,12 @@ +import json +from jsonpath_ng import jsonpath, parse + +with open("db.json", 'r') as json_file: + json_data = json.load(json_file) + +# print(json_data) + +jsonpath_expression = parse('leagueTable.homeTeam.all.teamPlayed') + +for match in jsonpath_expression.find(json_data): + print(f'Employee id: {match.value}') diff --git a/ych1990101/meta.md b/ych1990101/meta.md new file mode 100644 index 00000000..36dfb724 --- /dev/null +++ b/ych1990101/meta.md @@ -0,0 +1,62 @@ +--- +tags: [jupyter, python, 馬會, excel, jsonpath, prompt] +--- + +# ych1990101 + +馬會: + +https://footylogic.com/en/matchcenter + +你好, 我想搵人代寫 python code. +個軟件程式係當 user 輸入 + +個軟件會去個特定網站, screen capture 個畫面. +從畫面中 Extract 一些需要的數字, 存取在一個已定好格式的 Excel File format. + +[[ych1990101/task1/meta]] +[[ych1990101/task2/meta]] +[[ych1990101/task3/meta]] + +[//begin]: # "Autogenerated link references for markdown compatibility" +[ych1990101/task1/meta]: task1/meta.md "task1" +[ych1990101/task2/meta]: task2/meta.md "task2" +[ych1990101/task3/meta]: task3/meta.md "task3" +[//end]: # "Autogenerated link references" + +### history + +HKD 1500 + +https://bet.hkjc.com/football/odds/odds_hil.aspx?lang=en + +``` +阿根廷甲組聯賽 +西班牙甲組聯賽 +西班牙乙組聯賽 +蘇格蘭超級聯賽 +葡萄牙超級聯賽 +荷蘭甲組聯賽 +荷蘭乙組聯賽 +英格蘭超級聯賽 +英格蘭冠軍聯賽 +美國職業聯賽 +瑞典超級聯賽 +澳洲職業聯賽 +法國甲組聯賽 +法國乙組聯賽 +智利甲組聯賽 +日本職業聯賽 +日本乙組聯賽 +挪威超級聯賽 +意大利甲組聯賽 +德國甲組聯賽 +德國乙組聯賽 +南韓職業聯賽 +``` + +[//begin]: # "Autogenerated link references for markdown compatibility" +[ych1990101/task1/meta]: task1/meta.md "task1" +[ych1990101/task2/meta]: task2/meta.md "task2" +[ych1990101/task3/meta]: task3/meta.md "task3" +[//end]: # "Autogenerated link references" diff --git a/ych1990101/package.json b/ych1990101/package.json new file mode 100644 index 00000000..fd8f89bf --- /dev/null +++ b/ych1990101/package.json @@ -0,0 +1,13 @@ +{ + "name": "ych1990101", + "version": "1.0.0", + "description": "HKD 1500", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "gitUpdate": "git add . && git commit -m\"update,\"" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/ych1990101/task1-optimized/README.md b/ych1990101/task1-optimized/README.md new file mode 100644 index 00000000..880fa2f5 --- /dev/null +++ b/ych1990101/task1-optimized/README.md @@ -0,0 +1,27 @@ +# README + +```bash +> ./rebuild.bat + + +vagrant ssh + +# 001 setup run by vagrant file +./001_setup.sh + +# 002 setup run by user +cd /app +./002_setup.sh + +# 003 setup run by user +cd /app +./003_setup.sh + +# 004 logout -> login + +./dev.sh +# 1. setup requirements +# 2. setup playwright +# 3. start jupyter + +``` diff --git a/ych1990101/task1-optimized/Vagrantfile b/ych1990101/task1-optimized/Vagrantfile new file mode 100644 index 00000000..6c23b18d --- /dev/null +++ b/ych1990101/task1-optimized/Vagrantfile @@ -0,0 +1,31 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |config| + config.vm.box = "ubuntu/focal64" + + config.vm.provider "virtualbox" do |vb| + vb.name = "linux-helloworld" + vb.cpus = 2 + vb.memory = "2048" + end + + config.vm.network "forwarded_port", guest: 8888, host: 18888 + + # # install python + # config.vm.provision "shell", inline: <<-SHELL + # sudo apt-get update + # sudo apt-get install python3-pip -y + + # sudo ln -s /usr/bin/python3 /usr/bin/python + # SHELL + + # install docker + # config.vm.provision "shell", path: "./build_scripts/install_docker.sh" + # config.vm.provision "shell", path: "./build_scripts/install_docker.sh" + + # user application + config.vm.synced_folder "./app", "/app" + config.vm.provision "shell", path: "./app/001_setup.sh" + +end diff --git a/ych1990101/task1-optimized/app/001_setup.sh b/ych1990101/task1-optimized/app/001_setup.sh new file mode 100644 index 00000000..e09197bd --- /dev/null +++ b/ych1990101/task1-optimized/app/001_setup.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -x + +sudo apt-get update + +sudo apt-get install -qqy libnss3\ + libnspr4\ + libdbus-1-3\ + libatk1.0-0\ + libatk-bridge2.0-0\ + libcups2\ + libdrm2\ + libxkbcommon0\ + libatspi2.0-0\ + libxcomposite1\ + libxdamage1\ + libxfixes3\ + libxrandr2\ + libgbm1\ + libasound2 + +sudo apt-get install -qqy python3 python3-pip diff --git a/ych1990101/task1-optimized/app/002_setup.sh b/ych1990101/task1-optimized/app/002_setup.sh new file mode 100644 index 00000000..acde949f --- /dev/null +++ b/ych1990101/task1-optimized/app/002_setup.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -x + +pip install -r requirements.txt diff --git a/ych1990101/task1-optimized/app/003_setup.sh b/ych1990101/task1-optimized/app/003_setup.sh new file mode 100644 index 00000000..a0e85605 --- /dev/null +++ b/ych1990101/task1-optimized/app/003_setup.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -x + +playwright install diff --git a/ych1990101/task1-optimized/app/Dockerfile b/ych1990101/task1-optimized/app/Dockerfile new file mode 100644 index 00000000..3c1f9d5c --- /dev/null +++ b/ych1990101/task1-optimized/app/Dockerfile @@ -0,0 +1,34 @@ +FROM python:latest + +RUN apt update && \ + apt install -y git && \ + useradd -m docker_user && \ + chown -R docker_user: /home/docker_user + +RUN mkdir -p /home/docker_user/.local +RUN mkdir -p /home/docker_user/.local/bin +RUN mkdir -p /home/docker_user/.local/lib +RUN mkdir -p /home/docker_user/.cache +ENV PATH="/home/docker_user/.local/bin:${PATH}" + +RUN chown 1000:1000 -R /home/docker_user + +RUN apt-get update && apt-get install -qqy libnss3\ + libnspr4\ + libdbus-1-3\ + libatk1.0-0\ + libatk-bridge2.0-0\ + libcups2\ + libdrm2\ + libxkbcommon0\ + libatspi2.0-0\ + libxcomposite1\ + libxdamage1\ + libxfixes3\ + libxrandr2\ + libgbm1\ + libasound2 + +USER docker_user +WORKDIR /app + diff --git a/ych1990101/task1-optimized/app/dev.sh b/ych1990101/task1-optimized/app/dev.sh new file mode 100644 index 00000000..3035e768 --- /dev/null +++ b/ych1990101/task1-optimized/app/dev.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -x + +jupyter notebook \ + --allow-root \ + --ip=0.0.0.0 \ + --NotebookApp.token='' \ + --NotebookApp.password='' \ + --notebook-dir=notebook diff --git a/ych1990101/task1-optimized/app/notebook/_images/bmrecentforms.png b/ych1990101/task1-optimized/app/notebook/_images/bmrecentforms.png new file mode 100644 index 00000000..b148881d --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/_images/bmrecentforms.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81f0afa558416ff4147b00fddc99a18cc22affae3035969c5dd52eb66ad3e6f3 +size 200587 diff --git a/ych1990101/task1-optimized/app/notebook/_images/bmstatistics.png b/ych1990101/task1-optimized/app/notebook/_images/bmstatistics.png new file mode 100644 index 00000000..bf030f66 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/_images/bmstatistics.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:047b6221de01771023c7b6d23bc9b56c0097814ca6193d50222dd00d66589187 +size 331599 diff --git a/ych1990101/task1-optimized/app/notebook/_images/standings.png b/ych1990101/task1-optimized/app/notebook/_images/standings.png new file mode 100644 index 00000000..37b9cfae --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/_images/standings.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:343137507f60ad7fa20754f5cd66619fcb959843c8021a3331f324689750f27a +size 158976 diff --git a/ych1990101/task1-optimized/app/notebook/_output/.gitkeep b/ych1990101/task1-optimized/app/notebook/_output/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/helloworld.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/helloworld.py new file mode 100644 index 00000000..8bbb4457 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/helloworld.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +import os,sys + +def helloworld(): + print("helloworld") + \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/Banner.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/Banner.py new file mode 100644 index 00000000..eaaeb410 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/Banner.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getBannerJson(eventId): + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/banner' + + params = { + 'languageId': '19', + 'channelId': '1', + 'eventId': eventId, + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/banner.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + print('Banner.py: get banner json done') + + return response_json['data'] + + +def getTeams(json_in): + homeTeamId = json_in['homeTeamId'] + awayTeamId = json_in['awayTeamId'] + + return [homeTeamId, awayTeamId] + + +def getCompetitionName(json_in): + competitionName = json_in['competitionName'] + + return competitionName diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformation.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformation.py new file mode 100644 index 00000000..fee77218 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformation.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getRecentformInformationJson(homeTeamId, awayTeamId): + + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/recentform-information' + + params = { + 'languageId': '19', + 'channelId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'marketGroupId': '1', + 'optionIdH': '1', + 'optionIdA': '1', + 'mode': '1' + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/recentfrom-information.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + return response_json['data'] diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformationAwayTeam.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformationAwayTeam.py new file mode 100644 index 00000000..88059b02 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformationAwayTeam.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getRecentformInformationAwayTeamJson(homeTeamId, awayTeamId): + + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/recentform-information' + + params = { + 'languageId': '19', + 'channelId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'marketGroupId': '1', + 'optionIdH': '2', + 'optionIdA': '3', + 'mode': '1' + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/recentfrom-information-away-team.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + return response_json['data'] diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformationHomeTeam.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformationHomeTeam.py new file mode 100644 index 00000000..a32a7c42 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/h2h/RecentformInformationHomeTeam.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getRecentformInformationHomeTeamJson(homeTeamId, awayTeamId): + + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/recentform-information' + + params = { + 'languageId': '19', + 'channelId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'marketGroupId': '1', + 'optionIdH': '2', + 'optionIdA': '1', + 'mode': '1' + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/recentfrom-information-home-team.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + return response_json['data'] diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/seasonalstats/DropdownFilters.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/seasonalstats/DropdownFilters.py new file mode 100644 index 00000000..46ad1d1e --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/seasonalstats/DropdownFilters.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 + +import os +import sys +import requests +import json +from pprint import pprint + + +# https://api.footylogic.com/match/seasonalstats/dropdown-filters +# ?languageId=19 +# &channelId=1 +# &tableId=1 +# &competitionId=50016467 +# &tabId=1 + +def getDropdownFilters(competitionId="competitionId"): + url = 'https://api.footylogic.com/match/seasonalstats/dropdown-filters' + + params = { + 'languageId': '19', + 'channelId': '1', + 'tableId': '1', + 'competitionId': competitionId, + 'tabId': '1', + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + with open("./dropdown-filters.json", 'w+') as f_out_json: + json.dump(response_json_data, f_out_json) + + print('DropdownFilters.py: get getDropdownFilters json done') + + return response_json_data diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/statistics/MarketsInfo.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/statistics/MarketsInfo.py new file mode 100644 index 00000000..d8dba56b --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/match/statistics/MarketsInfo.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +def getMarketsInfoJson(eventId, homeTeamId, awayTeamId, competitionId): + # https://api.footylogic.com/match/statistics/markets-info?channelId=1&languageId=1&eventId=50024534&seasonId=1&homeTeamId=50000180&awayTeamId=50000599&competitionId=50024169 + url = 'https://api.footylogic.com/match/statistics/markets-info' + + params = { + 'languageId': '19', + 'channelId': '1', + 'eventId': eventId, + 'seasonId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'competitionId': competitionId, + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/markets-info.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_data, f_out_json) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + print('MarketsInfo.py: getMarketsInfoJson done') + + return response_json_data diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Competitions.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Competitions.py new file mode 100644 index 00000000..609227bb --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Competitions.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +def getCompetitionsJson(): + url = 'https://api.footylogic.com/tournament/competitions' + + params = { + 'languageId': '19', + 'channelId': '1', + 'categoryId': '1' + } + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # from pprint import pprint + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + expanded_json = response_json + for data in expanded_json['data']: + for competition in data['competitions']: + competitionId = str(competition['competitionId']) + competition['standing_table_link'] = 'https://footylogic.com/en/tournament/league/' + \ + competitionId+'/standings' + + with open("./competitions.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(expanded_json['data'], f_out_json) + + return expanded_json['data'] + + +def lookupCompetitionId(competitions_json, competitionName): + for category in competitions_json: + for competition in category['competitions']: + if competition['competitionName'] == competitionName: + return competition['competitionId'] + + return 'not found' diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Options.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Options.py new file mode 100644 index 00000000..c399d5a3 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Options.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json +from pprint import pprint + +USE_TEST_URL = int(os.getenv('USE_TEST_URL', False)) + +# https://api.footylogic.com/tournament/options? +# languageId=19 +# &channelId=1 +# &competitionId=50019599 +# &seasonId=4456 + +def getOptionsJson(competition_id, season_id): + + url = 'https://api.footylogic.com/tournament/options' + test_url = 'http://localhost:8081/tournament/options/options.json' + url = [url, test_url][USE_TEST_URL] + + params = { + 'languageId': '19', + 'channelId': '1', + 'competitionId': str(competition_id), + 'optionId': '1', + 'seasonId': str(season_id), + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/options.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_data, f_out_json) + + print('Options.py: get options done') + return response_json_data diff --git a/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Standings.py b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Standings.py new file mode 100644 index 00000000..c3278e96 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/api_footylogic_com/tournament/Standings.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json +from pprint import pprint + +USE_TEST_URL = int(os.getenv('USE_TEST_URL', False)) + +# https://api.footylogic.com/tournament/standings? +# languageId=19 +# &channelId=1 +# &competitionId=50016467 +# &optionId=1 +# &seasonId=4418 +# &layoutId=1 +# &roundId=13410 +# &tabId=1 +# &group=all + + +def getStandingsJson(competition_id, season_id, round_id): + + url = 'https://api.footylogic.com/tournament/standings' + test_url = 'http://localhost:8081/tournament/standings/standings.json' + url = [url, test_url][USE_TEST_URL] + + params = { + 'languageId': '19', + 'channelId': '1', + 'competitionId': str(competition_id), + 'optionId': '1', + 'seasonId': str(season_id), + 'layoutId': '1', + 'roundId': str(round_id), + 'tabId': '1', + 'group': 'all', + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/standings.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_data, f_out_json) + + print('Standings.py: get standings done') + return response_json_data diff --git a/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/getJSON.py b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/getJSON.py new file mode 100644 index 00000000..354539d5 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/getJSON.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 + +import os +import sys +import re +import json +import requests +from pprint import pprint + + +def getMatchesJson(): + url = 'https://bet.hkjc.com/football/getJSON.aspx?jsontype=odds_hil.aspx' + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, headers=headers) + response_json = json.loads(response.text) + # response_json_tournaments = response_json['tournaments'] + response_json_matches = response_json['matches'] + + os_cwd = os.getcwd() + # json_store_path = os_cwd+'/jsons' + + with open("./matches_list.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_matches, f_out_json) + + # print('get odds_hil done') + return response_json_matches + + +def getMatchesList(matches_json): + output = {} + for match in matches_json: + matchDay = match['matchDay'] + matchID = match['matchID'] + matchDate = match['matchDate'] + matchYYYYMMDD = matchDate.split('T')[0] + tournamentID = match['tournament']['tournamentID'] + tournamentNameEN = match['tournament']['tournamentNameEN'] + tournamentNameCH = match['tournament']['tournamentNameCH'] + homeTeam_teamNameEN = match['homeTeam']['teamNameEN'] + awayTeam_teamNameEN = match['awayTeam']['teamNameEN'] + homeTeam_teamNameCH = match['homeTeam']['teamNameCH'] + awayTeam_teamNameCH = match['awayTeam']['teamNameCH'] + + tournament_string = "tournamentNameEN(tournamentNameCH)" + tournament_string = tournament_string.replace( + "tournamentNameEN", tournamentNameEN) + tournament_string = tournament_string.replace( + "tournamentNameCH", tournamentNameCH) + + vs_string = 'home_en(home_ch) vs away_en(away_ch)' + vs_string = vs_string.replace('home_en', homeTeam_teamNameEN) + vs_string = vs_string.replace('away_en', awayTeam_teamNameEN) + vs_string = vs_string.replace('home_ch', homeTeam_teamNameCH) + vs_string = vs_string.replace('away_ch', awayTeam_teamNameCH) + + temp = ','.join([matchYYYYMMDD, tournament_string, vs_string]) + output[temp] = [tournamentID, matchID] + + return output diff --git a/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/matches_list.json b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/matches_list.json new file mode 100644 index 00000000..2f944ab1 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/matches_list.json @@ -0,0 +1 @@ +[{"matchID": "50024203", "matchIDinofficial": "20240123TUEFB0689", "matchNum": "", "matchDate": "2024-01-23T23:00:00+08:00", "matchDay": "TUE", "frontEndId": "FB0689", "displayOrder": "1.1706022000.05.Asian Cup .0.99.Iran .000", "homeTeam": {"teamID": "50001623", "teamNameCH": "\u4f0a\u6717", "teamNameEN": "Iran"}, "awayTeam": {"teamID": "50003206", "teamNameCH": "\u963f\u806f\u914b", "teamNameEN": "United Arab Emirates"}, "matchStatus": "Closed", "matchState": "FirstHalf", "matchTime": "2024-01-23T23:00:00.000+08:00", "statuslastupdated": "2024-01-23T23:00:16.345+08:00", "inplaydelay": "true", "isESOffer": true, "venue": {"code": "QAT006", "venueNameCH": "\u6559\u80b2\u57ce\u7403\u5834", "venueNameEN": "Education City Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218285"}, "accumulatedscore": [], "cornerresult": "4", "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-23T23:00:00.000+08:00", "POOLID": "381934003", "LINELIST": [{"LINENUM": "4", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "1.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.10", "L_ES": "Offer"}, {"LINENUM": "5", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "1.5/2.0", "LINEID": "5", "HCOMBID": "1", "H": "100@1.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.80", "L_ES": "Offer"}, {"LINENUM": "1", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "HIL", "FHL", "CHL", "NTS"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS", "NTS"], "anyInplaySelling": "1"}, {"matchID": "50024532", "matchIDinofficial": "20240124WEDFB0686", "matchNum": "", "matchDate": "2024-01-24T01:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0686", "displayOrder": "1.1706029200.07.African Nations Cup .0.99.Gambia .000", "homeTeam": {"teamID": "50001339", "teamNameCH": "\u5ca1\u6bd4\u4e9e", "teamNameEN": "Gambia"}, "awayTeam": {"teamID": "50000656", "teamNameCH": "\u5580\u9ea5\u9686", "teamNameEN": "Cameroon"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.322+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV002", "venueNameCH": "\u5e03\u74e6\u51f1\u548c\u5e73\u9ad4\u80b2\u5834", "venueNameEN": "Stade de la Paix"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44636966"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T01:00:00.000+08:00", "POOLID": "389240003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.21", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024531", "matchIDinofficial": "20240124WEDFB0685", "matchNum": "", "matchDate": "2024-01-24T01:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0685", "displayOrder": "1.1706029200.07.African Nations Cup .0.99.Guinea .000", "homeTeam": {"teamID": "50001483", "teamNameCH": "\u757f\u5167\u4e9e", "teamNameEN": "Guinea"}, "awayTeam": {"teamID": "50002777", "teamNameCH": "\u585e\u5167\u52a0\u723e", "teamNameEN": "Senegal"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:43.916+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV006", "venueNameCH": "\u67e5\u723e\u65af\u79d1\u5357\u73ed\u5c3c\u9ad4\u80b2\u5834", "venueNameEN": "Stade Charles Konan Banny"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44636962"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T01:00:00.000+08:00", "POOLID": "389228003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.41", "L_ES": "Offer"}, {"LINENUM": "5", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "5", "HCOMBID": "1", "H": "100@2.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.52", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024664", "matchIDinofficial": "20240124WEDFB0724", "matchNum": "", "matchDate": "2024-01-24T03:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0724", "displayOrder": "1.1706038200.28.Eng League Trophy .0.99.Peterborough .000", "homeTeam": {"teamID": "50002449", "teamNameCH": "\u5f7c\u5fb7\u5821", "teamNameEN": "Peterborough"}, "awayTeam": {"teamID": "50000890", "teamNameCH": "\u5361\u7dad\u5c3c", "teamNameEN": "Crawley Town"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:30:00.000+08:00", "statuslastupdated": "2024-01-23T10:04:35.128+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50020336", "frontEndId": "FB9836", "tournamentShortName": "ELT", "tournamentNameCH": "\u82f1\u683c\u862d\u806f\u8cfd\u9326\u6a19", "tournamentNameEN": "Eng League Trophy", "tShortCH": "\u82f1\u683c\u862d\u806f\u8cfd\u9326\u6a19", "tShortEN": "Eng League Trophy", "displayOrder": "28.Eng League Trophy .2024-04-09.000", "tName": "50000050"}, "channel": [{"displayOrder": 99999, "code": "OAH", "channelID": "50101", "channelNameCH": "\u4e3b\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Home Team)"}], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:30:00.000+08:00", "POOLID": "395401003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.82", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "3", "HCOMBID": "1", "H": "100@3.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.25", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024698", "matchIDinofficial": "20240124WEDFB0734", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0734", "displayOrder": "1.1706039100.27.Eng League 1 .0.99.Bolton .000", "homeTeam": {"teamID": "50000490", "teamNameCH": "\u4fdd\u9813", "teamNameEN": "Bolton"}, "awayTeam": {"teamID": "50000732", "teamNameCH": "\u8eca\u9813\u54b8", "teamNameEN": "Cheltenham"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T10:04:53.535+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [{"displayOrder": 99999, "code": "OAH", "channelID": "50101", "channelNameCH": "\u4e3b\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Home Team)"}], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "396433003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.67", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.07", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.39", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024670", "matchIDinofficial": "20240124WEDFB0729", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0729", "displayOrder": "1.1706039100.27.Eng League 1 .0.99.Charlton .000", "homeTeam": {"teamID": "50000716", "teamNameCH": "\u67e5\u723e\u9813", "teamNameEN": "Charlton"}, "awayTeam": {"teamID": "50002290", "teamNameCH": "\u8afe\u54b8\u9813", "teamNameEN": "Northampton"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T10:05:10.379+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [{"displayOrder": 99999, "code": "OAA", "channelID": "50102", "channelNameCH": "\u5ba2\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Away Team)"}], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395473003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.72", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.00", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.91", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.79", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.37", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024676", "matchIDinofficial": "20240124WEDFB0731", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0731", "displayOrder": "1.1706039100.27.Eng League 1 .1.99.Bristol Rovers .000", "homeTeam": {"teamID": "50000578", "teamNameCH": "\u5e03\u91cc\u65af\u6258\u6d41\u6d6a", "teamNameEN": "Bristol Rovers"}, "awayTeam": {"teamID": "50001142", "teamNameCH": "\u57c3\u514b\u585e\u7279", "teamNameEN": "Exeter City"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395725003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.71", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.01", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.80", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.37", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "SGA"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024671", "matchIDinofficial": "20240124WEDFB0730", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0730", "displayOrder": "1.1706039100.27.Eng League 1 .1.99.Oxford Utd .000", "homeTeam": {"teamID": "50002369", "teamNameCH": "\u725b\u6d25\u806f", "teamNameEN": "Oxford Utd"}, "awayTeam": {"teamID": "50000397", "teamNameCH": "\u73ed\u58eb\u5229", "teamNameEN": "Barnsley"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395485003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.15", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.79", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.91", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.43", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024666", "matchIDinofficial": "20240124WEDFB0726", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0726", "displayOrder": "1.1706039100.27.Eng League 1 .1.99.Wigan .000", "homeTeam": {"teamID": "50003369", "teamNameCH": "\u97cb\u6839", "teamNameEN": "Wigan"}, "awayTeam": {"teamID": "50003385", "teamNameCH": "\u97cb\u7518\u6bd4", "teamNameEN": "Wycombe"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395425003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024758", "matchIDinofficial": "20240124WEDFB0740", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0740", "displayOrder": "1.1706039100.28.Portuguese League Cup .1.99.Braga .000", "homeTeam": {"teamID": "50000515", "teamNameCH": "\u5e03\u62c9\u52a0", "teamNameEN": "Braga"}, "awayTeam": {"teamID": "50002951", "teamNameCH": "\u58eb\u7835\u4ead", "teamNameEN": "Sporting"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "POR003", "venueNameCH": "\u4f69\u7d22\u963f\u7403\u5834", "venueNameEN": "Estadio Dr. Magalhaes Pessoa"}, "tournament": {"tournamentID": "50016144", "frontEndId": "FB3387", "tournamentShortName": "PLC", "tournamentNameCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tournamentNameEN": "Portuguese League Cup", "tShortCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tShortEN": "Portuguese League Cup", "displayOrder": "28.Portuguese League Cup .2024-01-30.000", "tName": "50000087"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46526929"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "398931003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.56", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.27", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "2", "HCOMBID": "1", "H": "100@1.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.02", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.43", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.49", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024161", "matchIDinofficial": "20240124WEDFB0702", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0702", "displayOrder": "1.1706039100.28.Scottish Premier .1.99.Hearts .000", "homeTeam": {"teamID": "50001529", "teamNameCH": "\u8d6b\u65af", "teamNameEN": "Hearts"}, "awayTeam": {"teamID": "50001023", "teamNameCH": "\u767b\u5730", "teamNameEN": "Dundee"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018485", "frontEndId": "", "tournamentShortName": "SPL", "tournamentNameCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Scottish Premier", "tShortCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Scottish Premier", "displayOrder": "28.Scottish Premier .2024-05-28.000", "tName": "50000095"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "380510003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.29", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024233", "matchIDinofficial": "20240124WEDFB0707", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0707", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Amiens .000", "homeTeam": {"teamID": "50000169", "teamNameCH": "\u827e\u7c73\u6069\u65af", "teamNameEN": "Amiens"}, "awayTeam": {"teamID": "50000182", "teamNameCH": "FC\u5b89\u7d0d\u897f", "teamNameEN": "Annecy FC"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42739455"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382833003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.00", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.72", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.17", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024241", "matchIDinofficial": "20240124WEDFB0715", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0715", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Angers SCO .000", "homeTeam": {"teamID": "50000179", "teamNameCH": "\u6602\u71b1", "teamNameEN": "Angers SCO"}, "awayTeam": {"teamID": "50003167", "teamNameCH": "\u594e\u7dad\u5229\u9b6f\u6602", "teamNameEN": "US Quevilly Rouen"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005607"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382929003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.17", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.61", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.89", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.81", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.20", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024238", "matchIDinofficial": "20240124WEDFB0712", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0712", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Bastia .000", "homeTeam": {"teamID": "50000403", "teamNameCH": "\u5df4\u65af\u8482\u4e9e", "teamNameEN": "Bastia"}, "awayTeam": {"teamID": "50000645", "teamNameCH": "\u5361\u6602", "teamNameEN": "Caen"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005611"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382893003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.78", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.20", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024240", "matchIDinofficial": "20240124WEDFB0714", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0714", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Bordeaux .000", "homeTeam": {"teamID": "50000496", "teamNameCH": "\u6ce2\u723e\u591a", "teamNameEN": "Bordeaux"}, "awayTeam": {"teamID": "50003259", "teamNameCH": "\u83ef\u502b\u897f\u6069\u65af", "teamNameEN": "Valenciennes"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005609"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382917003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.89", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.81", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.17", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.61", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.28", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024234", "matchIDinofficial": "20240124WEDFB0708", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0708", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Concarneau .000", "homeTeam": {"teamID": "50000826", "teamNameCH": "\u5e72\u5361\u7d10", "teamNameEN": "Concarneau"}, "awayTeam": {"teamID": "50003129", "teamNameCH": "\u7279\u9b6f\u74e6", "teamNameEN": "Troyes"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005619"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382845003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024235", "matchIDinofficial": "20240124WEDFB0709", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0709", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Dunkerque .000", "homeTeam": {"teamID": "50001026", "teamNameCH": "\u767b\u5361\u57fa", "teamNameEN": "Dunkerque"}, "awayTeam": {"teamID": "50000006", "teamNameCH": "\u963f\u4e9b\u65af\u5967", "teamNameEN": "AC Ajaccio"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005617"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382857003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024239", "matchIDinofficial": "20240124WEDFB0713", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0713", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Grenoble Foot .000", "homeTeam": {"teamID": "50001459", "teamNameCH": "\u683c\u52d2\u8afe\u5e03\u723e", "teamNameEN": "Grenoble Foot"}, "awayTeam": {"teamID": "50000326", "teamNameCH": "\u6b50\u585e\u723e", "teamNameEN": "Auxerre"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005621"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382905003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.78", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.92", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "4", "HCOMBID": "1", "H": "100@2.00", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.72", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.34", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024236", "matchIDinofficial": "20240124WEDFB0710", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0710", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Guingamp .000", "homeTeam": {"teamID": "50001487", "teamNameCH": "\u7518\u5ca1", "teamNameEN": "Guingamp"}, "awayTeam": {"teamID": "50002645", "teamNameCH": "\u7f85\u5fb7\u8332", "teamNameEN": "Rodez"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005615"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382869003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.04", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.69", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.38", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.51", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024237", "matchIDinofficial": "20240124WEDFB0711", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0711", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Laval .000", "homeTeam": {"teamID": "50001876", "teamNameCH": "\u62c9\u74e6\u52d2", "teamNameEN": "Laval"}, "awayTeam": {"teamID": "50002419", "teamNameCH": "\u5df4\u9eceFC", "teamNameEN": "Paris FC"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005613"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382881003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.43", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.49", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024757", "matchIDinofficial": "20240124WEDFB0751", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0751", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Pau FC .000", "homeTeam": {"teamID": "50002428", "teamNameCH": "FC\u6ce2\u57ce", "teamNameEN": "Pau FC"}, "awayTeam": {"teamID": "50002962", "teamNameCH": "\u8056\u4f0a\u5929", "teamNameEN": "St. Etienne"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:40.176+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005605"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "398919003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.79", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.91", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.01", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.71", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024665", "matchIDinofficial": "20240124WEDFB0725", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0725", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Bradford .000", "homeTeam": {"teamID": "50000513", "teamNameCH": "\u5df4\u62c9\u798f\u7279", "teamNameEN": "Bradford"}, "awayTeam": {"teamID": "50002707", "teamNameCH": "\u6c99\u798f\u7279\u57ce", "teamNameEN": "Salford City"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395413003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.90", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.02", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.70", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024825", "matchIDinofficial": "20240124WEDFB0745", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0745", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Mansfield .000", "homeTeam": {"teamID": "50002045", "teamNameCH": "\u66fc\u65af\u83f2", "teamNameEN": "Mansfield"}, "awayTeam": {"teamID": "50003006", "teamNameCH": "\u745f\u9813\u806f", "teamNameEN": "Sutton Utd"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "400710003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.54", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.30", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "LCOMBID": "2", "L": "100@1.60", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.19", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024667", "matchIDinofficial": "20240124WEDFB0727", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0727", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Milton Keynes Dons .000", "homeTeam": {"teamID": "50002120", "teamNameCH": "\u7c73\u723e\u9813\u51f1\u6069\u65af", "teamNameEN": "Milton Keynes Dons"}, "awayTeam": {"teamID": "50000022", "teamNameCH": "AFC \u6eab\u5e03\u9813", "teamNameEN": "AFC Wimbledon"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395437003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.77", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.93", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.73", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.35", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024759", "matchIDinofficial": "20240124WEDFB0741", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0741", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Morecambe .000", "homeTeam": {"teamID": "50002165", "teamNameCH": "\u6469\u7518\u6bd4", "teamNameEN": "Morecambe"}, "awayTeam": {"teamID": "50000893", "teamNameCH": "\u514b\u9b6f", "teamNameEN": "Crewe"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "399896003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.02", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.89", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.81", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.38", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024534", "matchIDinofficial": "20240124WEDFB0691", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0691", "displayOrder": "1.1706040000.07.African Nations Cup .0.99.Angola .000", "homeTeam": {"teamID": "50000180", "teamNameCH": "\u5b89\u54e5\u62c9", "teamNameEN": "Angola"}, "awayTeam": {"teamID": "50000599", "teamNameCH": "\u5e03\u57fa\u7d0d\u6cd5\u7d22", "teamNameEN": "Burkina Faso"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.166+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV006", "venueNameCH": "\u67e5\u723e\u65af\u79d1\u5357\u73ed\u5c3c\u9ad4\u80b2\u5834", "venueNameEN": "Stade Charles Konan Banny"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637050"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "389294003", "LINELIST": [{"LINENUM": "3", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}, {"LINENUM": "5", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "5", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.13", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024533", "matchIDinofficial": "20240124WEDFB0690", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0690", "displayOrder": "1.1706040000.07.African Nations Cup .0.99.Mauritania .000", "homeTeam": {"teamID": "50002063", "teamNameCH": "\u6bdb\u91cc\u5854\u5c3c\u4e9e", "teamNameEN": "Mauritania"}, "awayTeam": {"teamID": "50000138", "teamNameCH": "\u963f\u723e\u53ca\u5229\u4e9e", "teamNameEN": "Algeria"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.244+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV002", "venueNameCH": "\u5e03\u74e6\u51f1\u548c\u5e73\u9ad4\u80b2\u5834", "venueNameEN": "Stade de la Paix"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637048"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "389282003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.97", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.74", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.73", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.98", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024535", "matchIDinofficial": "20240124WEDFB0692", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0692", "displayOrder": "1.1706040000.19.Eng League Cup .0.01.Chelsea .000", "homeTeam": {"teamID": "50000724", "teamNameCH": "\u8eca\u8def\u58eb", "teamNameEN": "Chelsea"}, "awayTeam": {"teamID": "50002114", "teamNameCH": "\u7c73\u675c\u58eb\u5821", "teamNameEN": "Middlesbrough"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-23T11:01:28.328+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018849", "frontEndId": "FB4030", "tournamentShortName": "ELC", "tournamentNameCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tournamentNameEN": "Eng League Cup", "tShortCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tShortEN": "Eng League Cup", "displayOrder": "19.Eng League Cup .2024-02-27.000", "tName": "50000049"}, "channel": [{"displayOrder": 99999, "code": "77", "channelID": "50031", "channelNameCH": "HOY TV 77\u53f0", "channelNameEN": "HOY TV Ch.77"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46352979"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "389318003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.25", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SPC", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024669", "matchIDinofficial": "20240124WEDFB0728", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0728", "displayOrder": "1.1706040000.27.Eng League 1 .1.99.Reading .000", "homeTeam": {"teamID": "50002585", "teamNameCH": "\u96f7\u4e01", "teamNameEN": "Reading"}, "awayTeam": {"teamID": "50000982", "teamNameCH": "\u6253\u6bd4\u90e1", "teamNameEN": "Derby"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "395461003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.39", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024837", "matchIDinofficial": "20240124WEDFB0746", "matchNum": "", "matchDate": "2024-01-24T04:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0746", "displayOrder": "1.1706041800.20.Spanish Cup .1.99.Celta Vigo .000", "homeTeam": {"teamID": "50000694", "teamNameCH": "\u5207\u723e\u9054", "teamNameEN": "Celta Vigo"}, "awayTeam": {"teamID": "50002610", "teamNameCH": "\u7687\u5bb6\u8607\u65af\u9054", "teamNameEN": "Real Sociedad"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47118929"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:30:00.000+08:00", "POOLID": "401303003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024677", "matchIDinofficial": "20240124WEDFB0732", "matchNum": "", "matchDate": "2024-01-24T06:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0732", "displayOrder": "1.1706049000.30.Brazilian Paulista League .0.99.Mirassol .000", "homeTeam": {"teamID": "50002127", "teamNameCH": "\u7c73\u62c9\u7d22", "teamNameEN": "Mirassol"}, "awayTeam": {"teamID": "50002746", "teamNameCH": "\u8056\u4fdd\u7f85", "teamNameEN": "Sao Paulo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T06:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T06:30:00.000+08:00", "POOLID": "395740003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.93", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.77", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.21", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024884", "matchIDinofficial": "20240124WEDFB0762", "matchNum": "", "matchDate": "2024-01-24T07:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0762", "displayOrder": "1.1706050800.09.International Matches .1.99.Venezuela U23 .000", "homeTeam": {"teamID": "50315174", "teamNameCH": "\u59d4\u5167\u745e\u62c9U23", "teamNameEN": "Venezuela U23"}, "awayTeam": {"teamID": "50312513", "teamNameCH": "\u5384\u74dc\u591a\u723eU23", "teamNameEN": "Ecuador U23"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T07:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50005229", "frontEndId": "", "tournamentShortName": "INT", "tournamentNameCH": "\u570b\u969b\u8cfd", "tournamentNameEN": "International Matches", "tShortCH": "\u570b\u969b\u8cfd", "tShortEN": "International Matches", "displayOrder": "09.International Matches .2024-06-30.000", "tName": "50000067"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T07:00:00.000+08:00", "POOLID": "404174003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.78", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.28", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024680", "matchIDinofficial": "20240124WEDFB0733", "matchNum": "", "matchDate": "2024-01-24T08:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0733", "displayOrder": "1.1706056200.30.Brazilian Paulista League .0.99.Agua Santa .000", "homeTeam": {"teamID": "50000062", "teamNameCH": "\u963f\u53e4\u4e9e\u8f9b\u9054", "teamNameEN": "Agua Santa"}, "awayTeam": {"teamID": "50000504", "teamNameCH": "\u4fdd\u5730\u82b1\u9ad8SP", "teamNameEN": "Botafogo SP"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T08:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T08:30:00.000+08:00", "POOLID": "396152003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.01", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.71", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.19", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024198", "matchIDinofficial": "20240124WEDFB0688", "matchNum": "", "matchDate": "2024-01-24T19:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0688", "displayOrder": "1.1706095800.05.Asian Cup .0.03.Japan .000", "homeTeam": {"teamID": "50001684", "teamNameCH": "\u65e5\u672c", "teamNameEN": "Japan"}, "awayTeam": {"teamID": "50001601", "teamNameCH": "\u5370\u5c3c", "teamNameEN": "Indonesia"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.869+08:00", "inplaydelay": "false", "isESOffer": false, "venue": {"code": "QAT015", "venueNameCH": "\u963f\u723e\u5716\u99ac\u99ac\u7403\u5834", "venueNameEN": "Al Thumama Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "76", "channelID": "50029", "channelNameCH": "\u9999\u6e2f\u570b\u969b\u8ca1\u7d93\u53f0", "channelNameEN": "Hong Kong International Business Channel"}, {"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218301"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T19:30:00.000+08:00", "POOLID": "381869003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.66", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.08", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5/4.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.90", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL", "SPC", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024197", "matchIDinofficial": "20240124WEDFB0687", "matchNum": "", "matchDate": "2024-01-24T19:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0687", "displayOrder": "1.1706095800.05.Asian Cup .0.99.Iraq .000", "homeTeam": {"teamID": "50001639", "teamNameCH": "\u4f0a\u62c9\u514b", "teamNameEN": "Iraq"}, "awayTeam": {"teamID": "50003310", "teamNameCH": "\u8d8a\u5357", "teamNameEN": "Vietnam"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.947+08:00", "inplaydelay": "false", "isESOffer": false, "venue": {"code": "QAT004", "venueNameCH": "\u8cc8\u897f\u59c6\u672c\u54c8\u99ac\u5fb7\u7403\u5834", "venueNameEN": "Jassim bin Hamad Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218303"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T19:30:00.000+08:00", "POOLID": "381856003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.30", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024556", "matchIDinofficial": "20240125THUFB0718", "matchNum": "", "matchDate": "2024-01-25T01:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0718", "displayOrder": "1.1706115600.07.African Nations Cup .0.99.Namibia .000", "homeTeam": {"teamID": "50002207", "teamNameCH": "\u7d0d\u7c73\u6bd4\u4e9e", "teamNameEN": "Namibia"}, "awayTeam": {"teamID": "50002012", "teamNameCH": "\u99ac\u91cc", "teamNameEN": "Mali"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV003", "venueNameCH": "\u6d1b\u6717\u6ce2\u5eab\u9ad4\u80b2\u5834", "venueNameEN": "Stade Laurent Pokou"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637076"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:00:00.000+08:00", "POOLID": "389733003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.52", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.18", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024557", "matchIDinofficial": "20240125THUFB0719", "matchNum": "", "matchDate": "2024-01-25T01:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0719", "displayOrder": "1.1706115600.07.African Nations Cup .0.99.South Africa .000", "homeTeam": {"teamID": "50002871", "teamNameCH": "\u5357\u975e", "teamNameEN": "South Africa"}, "awayTeam": {"teamID": "50003134", "teamNameCH": "\u7a81\u5c3c\u897f\u4e9e", "teamNameEN": "Tunisia"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV005", "venueNameCH": "\u963f\u99ac\u675c\u8ca2\u5eab\u5229\u5df4\u5229\u9ad4\u80b2\u5834", "venueNameEN": "Stade Amadou Gon Coulibaly"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637070"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:00:00.000+08:00", "POOLID": "389745003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024777", "matchIDinofficial": "20240125THUFB0694", "matchNum": "", "matchDate": "2024-01-25T01:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0694", "displayOrder": "1.1706117400.28.French FA Cup .1.99.Feignies Aulnoye .000", "homeTeam": {"teamID": "50313293", "teamNameCH": "\u8cbb\u771f\u5c3c\u65af\u6b50\u52aa\u8036", "teamNameEN": "Feignies Aulnoye"}, "awayTeam": {"teamID": "50002160", "teamNameCH": "\u8499\u5f7c\u5229\u57c3", "teamNameEN": "Montpellier"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:30:00.000+08:00", "statuslastupdated": "2024-01-21T19:30:03.293+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "FRA136", "venueNameCH": "\u5229\u5967\u62c9\u683c\u6717\u65e5\u9ad4\u80b2\u5834", "venueNameEN": "Stade Leo Lagrange"}, "tournament": {"tournamentID": "50023043", "frontEndId": "FB9533", "tournamentShortName": "FFA", "tournamentNameCH": "\u6cd5\u570b\u8db3\u7e3d\u76c3", "tournamentNameEN": "French FA Cup", "tShortCH": "\u6cd5\u570b\u8db3\u7e3d\u76c3", "tShortEN": "French FA Cup", "displayOrder": "28.French FA Cup .2024-05-27.000", "tName": "50000060"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:30:00.000+08:00", "POOLID": "402519003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.33", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.53", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.07", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.67", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.22", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024937", "matchIDinofficial": "20240125THUFB0763", "matchNum": "", "matchDate": "2024-01-25T01:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0763", "displayOrder": "1.1706118300.26.Dutch Division 1 .1.99.Almere City .000", "homeTeam": {"teamID": "50000155", "teamNameCH": "\u963f\u6885\u723e\u57ce", "teamNameEN": "Almere City"}, "awayTeam": {"teamID": "50001267", "teamNameCH": "\u5e78\u904b\u859b\u9054", "teamNameEN": "Fortuna Sittard"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:45:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50019000", "frontEndId": "", "tournamentShortName": "DFL", "tournamentNameCH": "\u8377\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Dutch Division 1", "tShortCH": "\u8377\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Dutch Division 1", "displayOrder": "26.Dutch Division 1 .2024-06-03.000", "tName": "50000041"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47200805"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:45:00.000+08:00", "POOLID": "404144003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024838", "matchIDinofficial": "20240125THUFB0747", "matchNum": "", "matchDate": "2024-01-25T02:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0747", "displayOrder": "1.1706121000.20.Spanish Cup .1.99.Mallorca .000", "homeTeam": {"teamID": "50002016", "teamNameCH": "\u99ac\u7565\u5361", "teamNameEN": "Mallorca"}, "awayTeam": {"teamID": "50001424", "teamNameCH": "\u57fa\u7f85\u7d0d", "teamNameEN": "Girona"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T02:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T02:30:00.000+08:00", "POOLID": "401315003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.84", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.86", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024743", "matchIDinofficial": "20240125THUFB0739", "matchNum": "", "matchDate": "2024-01-25T03:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0739", "displayOrder": "1.1706122800.28.Dutch Cup .0.10.Feyenoord .000", "homeTeam": {"teamID": "50001238", "teamNameCH": "\u98db\u71d5\u8afe", "teamNameEN": "Feyenoord"}, "awayTeam": {"teamID": "50002380", "teamNameCH": "\u71d5\u8c6a\u82ac", "teamNameEN": "PSV Eindhoven"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:00:00.000+08:00", "statuslastupdated": "2024-01-23T16:51:38.097+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022411", "frontEndId": "FB7806", "tournamentShortName": "DAC", "tournamentNameCH": "\u8377\u862d\u76c3", "tournamentNameEN": "Dutch Cup", "tShortCH": "\u8377\u862d\u76c3", "tShortEN": "Dutch Cup", "displayOrder": "28.Dutch Cup .2024-04-23.000", "tName": "50000040"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:00:00.000+08:00", "POOLID": "397191003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@1.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.75", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "3", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024558", "matchIDinofficial": "20240125THUFB0720", "matchNum": "", "matchDate": "2024-01-25T03:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0720", "displayOrder": "1.1706124600.17.German Division 1 .0.01.Bayern Munich .000", "homeTeam": {"teamID": "50000407", "teamNameCH": "\u62dc\u4ec1\u6155\u5c3c\u9ed1", "teamNameEN": "Bayern Munich"}, "awayTeam": {"teamID": "50003196", "teamNameCH": "\u67cf\u6797\u806f", "teamNameEN": "Union Berlin"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016467", "frontEndId": "FB3755", "tournamentShortName": "GSL", "tournamentNameCH": "\u5fb7\u570b\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "German Division 1", "tShortCH": "\u5fb7\u570b\u7532\u7d44\u806f\u8cfd", "tShortEN": "German Division 1", "displayOrder": "17.German Division 1 .2024-05-31.000", "tName": "50000063"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "45962963"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:30:00.000+08:00", "POOLID": "389770003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.83", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.87", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5/4.0", "LINEID": "4", "HCOMBID": "1", "H": "100@2.04", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.69", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024715", "matchIDinofficial": "20240125THUFB0735", "matchNum": "", "matchDate": "2024-01-25T03:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0735", "displayOrder": "1.1706124600.28.Belgian Cup .1.99.OH Leuven .000", "homeTeam": {"teamID": "50002313", "teamNameCH": "\u5967\u7279\u6d77\u7dad\u5229", "teamNameEN": "OH Leuven"}, "awayTeam": {"teamID": "50000187", "teamNameCH": "\u5b89\u7279\u885b\u666e", "teamNameEN": "Antwerp"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022259", "frontEndId": "FB7805", "tournamentShortName": "BFC", "tournamentNameCH": "\u6bd4\u5229\u6642\u76c3", "tournamentNameEN": "Belgian Cup", "tShortCH": "\u6bd4\u5229\u6642\u76c3", "tShortEN": "Belgian Cup", "displayOrder": "28.Belgian Cup .2024-05-06.000", "tName": "50000023"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47077831"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:30:00.000+08:00", "POOLID": "396866003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.58", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.22", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.57", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024726", "matchIDinofficial": "20240125THUFB0737", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0737", "displayOrder": "1.1706125500.27.Eng Championship .0.99.Leeds .000", "homeTeam": {"teamID": "50001887", "teamNameCH": "\u5217\u65af\u806f", "teamNameEN": "Leeds"}, "awayTeam": {"teamID": "50002299", "teamNameCH": "\u8afe\u57df\u6cbb", "teamNameEN": "Norwich"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T10:05:24.769+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016923", "frontEndId": "", "tournamentShortName": "ED1", "tournamentNameCH": "\u82f1\u683c\u862d\u51a0\u8ecd\u806f\u8cfd", "tournamentNameEN": "Eng Championship", "tShortCH": "\u82f1\u683c\u862d\u51a0\u8ecd\u806f\u8cfd", "tShortEN": "Eng Championship", "displayOrder": "27.Eng Championship .2024-05-29.000", "tName": "50000046"}, "channel": [{"displayOrder": 99999, "code": "OAH", "channelID": "50101", "channelNameCH": "\u4e3b\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Home Team)"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41888285"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "397119003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.52", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.35", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024760", "matchIDinofficial": "20240125THUFB0742", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0742", "displayOrder": "1.1706125500.28.Portuguese League Cup .1.08.Benfica .000", "homeTeam": {"teamID": "50000449", "teamNameCH": "\u8cd3\u83f2\u52a0", "teamNameEN": "Benfica"}, "awayTeam": {"teamID": "50001125", "teamNameCH": "\u827e\u65af\u675c\u5c3c", "teamNameEN": "Estoril"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "POR003", "venueNameCH": "\u4f69\u7d22\u963f\u7403\u5834", "venueNameEN": "Estadio Dr. Magalhaes Pessoa"}, "tournament": {"tournamentID": "50016144", "frontEndId": "FB3387", "tournamentShortName": "PLC", "tournamentNameCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tournamentNameEN": "Portuguese League Cup", "tShortCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tShortEN": "Portuguese League Cup", "displayOrder": "28.Portuguese League Cup .2024-01-30.000", "tName": "50000087"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46526931"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "398943003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.91", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.79", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "4", "HCOMBID": "1", "H": "100@3.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.25", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024164", "matchIDinofficial": "20240125THUFB0703", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0703", "displayOrder": "1.1706125500.28.Scottish Premier .1.99.Hibernian .000", "homeTeam": {"teamID": "50001543", "teamNameCH": "\u559c\u4f2f\u5e74", "teamNameEN": "Hibernian"}, "awayTeam": {"teamID": "50002575", "teamNameCH": "\u683c\u62c9\u65af\u54e5\u6d41\u6d6a", "teamNameEN": "Rangers"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018485", "frontEndId": "", "tournamentShortName": "SPL", "tournamentNameCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Scottish Premier", "tShortCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Scottish Premier", "displayOrder": "28.Scottish Premier .2024-05-28.000", "tName": "50000095"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "380739003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.61", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.17", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "LCOMBID": "2", "L": "100@1.92", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.78", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024160", "matchIDinofficial": "20240125THUFB0701", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0701", "displayOrder": "1.1706125500.28.Scottish Premier .1.99.St. Johnstone .000", "homeTeam": {"teamID": "50002964", "teamNameCH": "\u8056\u838a\u58eb\u6771", "teamNameEN": "St. Johnstone"}, "awayTeam": {"teamID": "50000044", "teamNameCH": "\u9d28\u5df4\u7538", "teamNameEN": "Aberdeen"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018485", "frontEndId": "", "tournamentShortName": "SPL", "tournamentNameCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Scottish Premier", "tShortCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Scottish Premier", "displayOrder": "28.Scottish Premier .2024-05-28.000", "tName": "50000095"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "380495003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.21", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024559", "matchIDinofficial": "20240125THUFB0721", "matchNum": "", "matchDate": "2024-01-25T04:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0721", "displayOrder": "1.1706126400.07.African Nations Cup .0.99.Tanzania .000", "homeTeam": {"teamID": "50003051", "teamNameCH": "\u5766\u6851\u5c3c\u4e9e", "teamNameEN": "Tanzania"}, "awayTeam": {"teamID": "50000923", "teamNameCH": "\u525b\u679c\u6c11\u4e3b\u5171\u548c\u570b", "teamNameEN": "D R Congo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV005", "venueNameCH": "\u963f\u99ac\u675c\u8ca2\u5eab\u5229\u5df4\u5229\u9ad4\u80b2\u5834", "venueNameEN": "Stade Amadou Gon Coulibaly"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637092"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:00:00.000+08:00", "POOLID": "389790003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.02", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.70", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.77", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.93", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024560", "matchIDinofficial": "20240125THUFB0722", "matchNum": "", "matchDate": "2024-01-25T04:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0722", "displayOrder": "1.1706126400.07.African Nations Cup .0.99.Zambia .000", "homeTeam": {"teamID": "50003409", "teamNameCH": "\u8d0a\u6bd4\u4e9e", "teamNameEN": "Zambia"}, "awayTeam": {"teamID": "50002168", "teamNameCH": "\u6469\u6d1b\u54e5", "teamNameEN": "Morocco"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV003", "venueNameCH": "\u6d1b\u6717\u6ce2\u5eab\u9ad4\u80b2\u5834", "venueNameEN": "Stade Laurent Pokou"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637094"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:00:00.000+08:00", "POOLID": "389802003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.82", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.88", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024562", "matchIDinofficial": "20240125THUFB0723", "matchNum": "", "matchDate": "2024-01-25T04:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0723", "displayOrder": "1.1706126400.19.Eng League Cup .0.99.Fulham .000", "homeTeam": {"teamID": "50001320", "teamNameCH": "\u5bcc\u54b8", "teamNameEN": "Fulham"}, "awayTeam": {"teamID": "50001928", "teamNameCH": "\u5229\u7269\u6d66", "teamNameEN": "Liverpool"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:00:00.000+08:00", "statuslastupdated": "2024-01-23T11:01:45.907+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018849", "frontEndId": "FB4030", "tournamentShortName": "ELC", "tournamentNameCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tournamentNameEN": "Eng League Cup", "tShortCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tShortEN": "Eng League Cup", "displayOrder": "19.Eng League Cup .2024-02-27.000", "tName": "50000049"}, "channel": [{"displayOrder": 99999, "code": "77", "channelID": "50031", "channelNameCH": "HOY TV 77\u53f0", "channelNameEN": "HOY TV Ch.77"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46352981"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:00:00.000+08:00", "POOLID": "389858003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.54", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.30", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SPC", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024839", "matchIDinofficial": "20240125THUFB0748", "matchNum": "", "matchDate": "2024-01-25T04:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0748", "displayOrder": "1.1706128200.20.Spanish Cup .1.99.Bilbao .000", "homeTeam": {"teamID": "50000465", "teamNameCH": "\u7562\u723e\u5305", "teamNameEN": "Bilbao"}, "awayTeam": {"teamID": "50000369", "teamNameCH": "\u5df4\u585e\u9686\u62ff", "teamNameEN": "Barcelona"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47118923"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:30:00.000+08:00", "POOLID": "401327003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024685", "matchIDinofficial": "20240125THUFB0752", "matchNum": "", "matchDate": "2024-01-25T06:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0752", "displayOrder": "1.1706135400.30.Brazilian Paulista League .0.99.Portuguesa .000", "homeTeam": {"teamID": "50002528", "teamNameCH": "\u6ce2\u5716\u57fa\u6c99", "teamNameEN": "Portuguesa"}, "awayTeam": {"teamID": "50002555", "teamNameCH": "\u5df4\u62c9\u5e72\u5929\u5974\u7d05\u725b", "teamNameEN": "RB Bragantino"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T06:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:33:10.520+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T06:30:00.000+08:00", "POOLID": "396225003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024684", "matchIDinofficial": "20240125THUFB0749", "matchNum": "", "matchDate": "2024-01-25T06:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0749", "displayOrder": "1.1706135400.30.Brazilian Paulista League .1.99.Ituano .000", "homeTeam": {"teamID": "50001672", "teamNameCH": "\u4f0a\u5716\u8afe", "teamNameEN": "Ituano"}, "awayTeam": {"teamID": "50000838", "teamNameCH": "\u54e5\u9023\u6cf0\u65af", "teamNameEN": "Corinthians"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T06:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:40.176+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T06:30:00.000+08:00", "POOLID": "396213003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.10", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.65", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.16", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024725", "matchIDinofficial": "20240125THUFB0736", "matchNum": "", "matchDate": "2024-01-25T08:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0736", "displayOrder": "1.1706142600.30.Brazilian Paulista League .0.99.Guarani SP .000", "homeTeam": {"teamID": "50001474", "teamNameCH": "\u53e4\u862d\u5c3c", "teamNameEN": "Guarani SP"}, "awayTeam": {"teamID": "50002743", "teamNameCH": "\u8056\u8c9d\u62ff\u5ea6", "teamNameEN": "Sao Bernardo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T08:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T08:30:00.000+08:00", "POOLID": "397099003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.19", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.60", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024723", "matchIDinofficial": "20240125THUFB0750", "matchNum": "", "matchDate": "2024-01-25T08:35:00+08:00", "matchDay": "THU", "frontEndId": "FB0750", "displayOrder": "1.1706142900.30.Brazilian Paulista League .1.99.Palmeiras .000", "homeTeam": {"teamID": "50002396", "teamNameCH": "\u5f6d\u7f8e\u62c9\u65af", "teamNameEN": "Palmeiras"}, "awayTeam": {"teamID": "50001615", "teamNameCH": "\u570b\u969b\u91cc\u6885\u62c9", "teamNameEN": "Inter de Limeira"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T08:35:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:40.176+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T08:35:00.000+08:00", "POOLID": "397075003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.73", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024491", "matchIDinofficial": "20240125THUFB0717", "matchNum": "", "matchDate": "2024-01-25T09:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0717", "displayOrder": "1.1706144400.29.Mexican Premier .0.99.Monterrey .000", "homeTeam": {"teamID": "50002152", "teamNameCH": "\u8499\u7279\u96f7", "teamNameEN": "Monterrey"}, "awayTeam": {"teamID": "50002552", "teamNameCH": "\u514b\u96f7\u5854\u7f85", "teamNameEN": "Queretaro"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T09:00:00.000+08:00", "statuslastupdated": "2024-01-23T16:52:45.364+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024375", "frontEndId": "", "tournamentShortName": "MXL", "tournamentNameCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Mexican Premier", "tShortCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Mexican Premier", "displayOrder": "29.Mexican Premier .2024-05-28.000", "tName": "50000079"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46345379"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T09:00:00.000+08:00", "POOLID": "387959003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.15", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.43", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024490", "matchIDinofficial": "20240125THUFB0716", "matchNum": "", "matchDate": "2024-01-25T09:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0716", "displayOrder": "1.1706144400.29.Mexican Premier .1.99.Atletico San Luis .000", "homeTeam": {"teamID": "50000281", "teamNameCH": "\u8056\u8def\u6613\u65af\u9ad4\u80b2\u6703", "teamNameEN": "Atletico San Luis"}, "awayTeam": {"teamID": "50003075", "teamNameCH": "\u5824\u683c\u96f7\u65af", "teamNameEN": "Tigres UANL"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T09:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024375", "frontEndId": "", "tournamentShortName": "MXL", "tournamentNameCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Mexican Premier", "tShortCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Mexican Premier", "displayOrder": "29.Mexican Premier .2024-05-28.000", "tName": "50000079"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46345377"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T09:00:00.000+08:00", "POOLID": "387947003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024761", "matchIDinofficial": "20240125THUFB0743", "matchNum": "", "matchDate": "2024-01-25T11:06:00+08:00", "matchDay": "THU", "frontEndId": "FB0743", "displayOrder": "1.1706151960.29.Mexican Premier .0.99.Juarez .000", "homeTeam": {"teamID": "50001730", "teamNameCH": "\u7956\u4e9e\u96f7\u65af", "teamNameEN": "Juarez"}, "awayTeam": {"teamID": "50000628", "teamNameCH": "CF \u963f\u7f8e\u5229\u52a0", "teamNameEN": "CF America"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T11:06:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024375", "frontEndId": "", "tournamentShortName": "MXL", "tournamentNameCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Mexican Premier", "tShortCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Mexican Premier", "displayOrder": "29.Mexican Premier .2024-05-28.000", "tName": "50000079"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46345381"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T11:06:00.000+08:00", "POOLID": "402556003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.74", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.97", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.78", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.38", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024653", "matchIDinofficial": "20240125THUFB0753", "matchNum": "", "matchDate": "2024-01-25T16:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0753", "displayOrder": "1.1706172300.27.Australian Division 1 .0.03.Melbourne City .000", "homeTeam": {"teamID": "50002068", "teamNameCH": "\u58a8\u723e\u672c\u57ce", "teamNameEN": "Melbourne City"}, "awayTeam": {"teamID": "50000054", "teamNameCH": "\u963f\u5fb7\u840a\u5fb7\u806f", "teamNameEN": "Adelaide Utd"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T16:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:42:58.385+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022033", "frontEndId": "", "tournamentShortName": "AD1", "tournamentNameCH": "\u6fb3\u6d32\u8077\u696d\u806f\u8cfd", "tournamentNameEN": "Australian Division 1", "tShortCH": "\u6fb3\u6d32\u8077\u696d\u806f\u8cfd", "tShortEN": "Australian Division 1", "displayOrder": "27.Australian Division 1 .2024-06-03.000", "tName": "50000021"}, "channel": [{"displayOrder": 99999, "code": "MTS", "channelID": "50099", "channelNameCH": "\u7121\u7dda myTV Super App", "channelNameEN": "TVB myTV Super App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "43255261"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T16:45:00.000+08:00", "POOLID": "394391003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5/4.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SPC"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024228", "matchIDinofficial": "20240125THUFB0699", "matchNum": "", "matchDate": "2024-01-25T19:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0699", "displayOrder": "1.1706182200.05.Asian Cup .0.03.Korea Republic .000", "homeTeam": {"teamID": "50001808", "teamNameCH": "\u5357\u97d3", "teamNameEN": "Korea Republic"}, "awayTeam": {"teamID": "50002005", "teamNameCH": "\u99ac\u4f86\u897f\u4e9e", "teamNameEN": "Malaysia"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:45.025+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT001", "venueNameCH": "\u5357\u90e8\u7403\u5834", "venueNameEN": "Al Janoub Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218393"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T19:30:00.000+08:00", "POOLID": "382273003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.26", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024207", "matchIDinofficial": "20240125THUFB0705", "matchNum": "", "matchDate": "2024-01-25T19:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0705", "displayOrder": "1.1706182200.05.Asian Cup .0.99.Jordan .000", "homeTeam": {"teamID": "50001724", "teamNameCH": "\u7d04\u65e6", "teamNameEN": "Jordan"}, "awayTeam": {"teamID": "50000349", "teamNameCH": "\u5df4\u6797", "teamNameEN": "Bahrain"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT005", "venueNameCH": "\u54c8\u5229\u6cd5\u570b\u969b\u7403\u5834", "venueNameEN": "Khalifa International Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "76", "channelID": "50029", "channelNameCH": "\u9999\u6e2f\u570b\u969b\u8ca1\u7d93\u53f0", "channelNameEN": "Hong Kong International Business Channel"}, {"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218395"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T19:30:00.000+08:00", "POOLID": "381986003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.33", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.53", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.13", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024220", "matchIDinofficial": "20240125THUFB0706", "matchNum": "", "matchDate": "2024-01-25T23:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0706", "displayOrder": "1.1706194800.05.Asian Cup .0.99.Kyrgyzstan .000", "homeTeam": {"teamID": "50001846", "teamNameCH": "\u5409\u723e\u5409\u65af", "teamNameEN": "Kyrgyzstan"}, "awayTeam": {"teamID": "50002340", "teamNameCH": "\u963f\u66fc", "teamNameEN": "Oman"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T23:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT007", "venueNameCH": "\u963f\u535c\u675c\u62c9\u54c8\u5229\u6cd5\u9ad4\u80b2\u5834", "venueNameEN": "Abdullah bin Khalifa Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218411"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T23:00:00.000+08:00", "POOLID": "382155003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.57", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024204", "matchIDinofficial": "20240125THUFB0704", "matchNum": "", "matchDate": "2024-01-25T23:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0704", "displayOrder": "1.1706194800.05.Asian Cup .0.99.Saudi Arabia .000", "homeTeam": {"teamID": "50002754", "teamNameCH": "\u6c99\u7279\u963f\u62c9\u4f2f", "teamNameEN": "Saudi Arabia"}, "awayTeam": {"teamID": "50003062", "teamNameCH": "\u6cf0\u570b", "teamNameEN": "Thailand"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T23:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT006", "venueNameCH": "\u6559\u80b2\u57ce\u7403\u5834", "venueNameEN": "Education City Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "77", "channelID": "50031", "channelNameCH": "HOY TV 77\u53f0", "channelNameEN": "HOY TV Ch.77"}, {"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218409"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T23:00:00.000+08:00", "POOLID": "381947003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024766", "matchIDinofficial": "20240126FRIFB0744", "matchNum": "", "matchDate": "2024-01-26T03:30:00+08:00", "matchDay": "FRI", "frontEndId": "FB0744", "displayOrder": "1.1706211000.28.Belgian Cup .1.99.Union Saint Gilloise .000", "homeTeam": {"teamID": "50003201", "teamNameCH": "\u8056\u57fa\u840a\u65af\u806f", "teamNameEN": "Union Saint Gilloise"}, "awayTeam": {"teamID": "50000175", "teamNameCH": "\u5b89\u5fb7\u5217\u6cbb", "teamNameEN": "Anderlecht"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T03:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022259", "frontEndId": "FB7805", "tournamentShortName": "BFC", "tournamentNameCH": "\u6bd4\u5229\u6642\u76c3", "tournamentNameEN": "Belgian Cup", "tShortCH": "\u6bd4\u5229\u6642\u76c3", "tShortEN": "Belgian Cup", "displayOrder": "28.Belgian Cup .2024-05-06.000", "tName": "50000023"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47077871"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T03:30:00.000+08:00", "POOLID": "399031003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.02", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.80", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.39", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024748", "matchIDinofficial": "20240126FRIFB0754", "matchNum": "", "matchDate": "2024-01-26T03:45:00+08:00", "matchDay": "FRI", "frontEndId": "FB0754", "displayOrder": "1.1706211900.28.FA Cup .1.99.Bournemouth .000", "homeTeam": {"teamID": "50000510", "teamNameCH": "\u822c\u5c3c\u8305\u592b", "teamNameEN": "Bournemouth"}, "awayTeam": {"teamID": "50003009", "teamNameCH": "\u53f2\u96f2\u65af", "teamNameEN": "Swansea"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T00:37:58.860+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022578", "frontEndId": "FB8445", "tournamentShortName": "EFA", "tournamentNameCH": "\u82f1\u683c\u862d\u8db3\u7e3d\u76c3", "tournamentNameEN": "FA Cup", "tShortCH": "\u82f1\u683c\u862d\u8db3\u7e3d\u76c3", "tShortEN": "FA Cup", "displayOrder": "28.FA Cup .2024-05-27.000", "tName": "50000056"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46828245"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T03:45:00.000+08:00", "POOLID": "397282003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.73", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.90", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.29", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024840", "matchIDinofficial": "20240126FRIFB0761", "matchNum": "", "matchDate": "2024-01-26T04:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0761", "displayOrder": "1.1706212800.20.Spanish Cup .1.02.Atletico Madrid .000", "homeTeam": {"teamID": "50000267", "teamNameCH": "\u99ac\u5fb7\u91cc\u9ad4\u80b2\u6703", "teamNameEN": "Atletico Madrid"}, "awayTeam": {"teamID": "50002804", "teamNameCH": "\u897f\u7dad\u723e", "teamNameEN": "Sevilla"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T04:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47118931"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T04:00:00.000+08:00", "POOLID": "401339003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.40", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024776", "matchIDinofficial": "20240126FRIFB0760", "matchNum": "", "matchDate": "2024-01-26T06:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0760", "displayOrder": "1.1706220000.30.Argentine Division 1 .1.99.Instituto de Cordoba .000", "homeTeam": {"teamID": "50001607", "teamNameCH": "\u79d1\u723e\u591a\u74e6\u5b78\u9662", "teamNameEN": "Instituto de Cordoba"}, "awayTeam": {"teamID": "50312807", "teamNameCH": "\u840a\u65af\u67e5", "teamNameEN": "Deportivo Riestra"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T06:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655301"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T06:00:00.000+08:00", "POOLID": "399151003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024764", "matchIDinofficial": "20240126FRIFB0758", "matchNum": "", "matchDate": "2024-01-26T06:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0758", "displayOrder": "1.1706220000.30.Argentine Division 1 .1.99.Tigre .000", "homeTeam": {"teamID": "50003074", "teamNameCH": "\u5824\u683c\u96f7", "teamNameEN": "Tigre"}, "awayTeam": {"teamID": "50002749", "teamNameCH": "\u6c99\u7c73\u6069\u5716", "teamNameEN": "Sarmiento"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T06:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655311"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T06:00:00.000+08:00", "POOLID": "399007003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.19", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.60", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024724", "matchIDinofficial": "20240126FRIFB0755", "matchNum": "", "matchDate": "2024-01-26T06:30:00+08:00", "matchDay": "FRI", "frontEndId": "FB0755", "displayOrder": "1.1706221800.30.Brazilian Paulista League .1.08.Santos .000", "homeTeam": {"teamID": "50002739", "teamNameCH": "\u5c71\u5ea6\u58eb", "teamNameEN": "Santos"}, "awayTeam": {"teamID": "50002477", "teamNameCH": "\u90a6\u8fea\u6bd4\u9054", "teamNameEN": "Ponte Preta"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T06:30:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T06:30:00.000+08:00", "POOLID": "397087003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.26", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024755", "matchIDinofficial": "20240126FRIFB0756", "matchNum": "", "matchDate": "2024-01-26T08:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0756", "displayOrder": "1.1706227200.30.Brazilian Paulista League .1.99.Santo Andre .000", "homeTeam": {"teamID": "50002738", "teamNameCH": "\u8056\u5b89\u5fb7\u96f7", "teamNameEN": "Santo Andre"}, "awayTeam": {"teamID": "50002305", "teamNameCH": "\u8def\u79be\u5229\u6851\u5929\u5974", "teamNameEN": "Novorizontino"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T08:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T08:00:00.000+08:00", "POOLID": "398874003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.38", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.51", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.17", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024763", "matchIDinofficial": "20240126FRIFB0757", "matchNum": "", "matchDate": "2024-01-26T08:15:00+08:00", "matchDay": "FRI", "frontEndId": "FB0757", "displayOrder": "1.1706228100.30.Argentine Division 1 .1.99.Atletico Tucuman .000", "homeTeam": {"teamID": "50000283", "teamNameCH": "\u5716\u5eab\u66fc\u9ad4\u80b2\u6703", "teamNameEN": "Atletico Tucuman"}, "awayTeam": {"teamID": "50002653", "teamNameCH": "\u7f85\u6c99\u91cc\u5967\u4e2d\u592e", "teamNameEN": "Rosario Central"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T08:15:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655303"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T08:15:00.000+08:00", "POOLID": "398995003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024765", "matchIDinofficial": "20240126FRIFB0759", "matchNum": "", "matchDate": "2024-01-26T08:15:00+08:00", "matchDay": "FRI", "frontEndId": "FB0759", "displayOrder": "1.1706228100.30.Argentine Division 1 .1.99.CA Central Cordoba .000", "homeTeam": {"teamID": "50000612", "teamNameCH": "CA\u79d1\u723e\u591a\u74e6\u4e2d\u592e", "teamNameEN": "CA Central Cordoba"}, "awayTeam": {"teamID": "50002255", "teamNameCH": "\u7d10\u7dad\u723e\u820a\u751f", "teamNameEN": "Newell's Old Boys"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T08:15:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655317"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T08:15:00.000+08:00", "POOLID": "399019003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.38", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "1.5/2.0", "LINEID": "4", "HCOMBID": "1", "H": "100@1.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.95", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.12", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}] \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/odds_hil.json b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/odds_hil.json new file mode 100644 index 00000000..a8328daa --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/odds_hil.json @@ -0,0 +1 @@ +[{"matchID": "50024203", "matchIDinofficial": "20240123TUEFB0689", "matchNum": "", "matchDate": "2024-01-23T23:00:00+08:00", "matchDay": "TUE", "frontEndId": "FB0689", "displayOrder": "1.1706022000.05.Asian Cup .0.99.Iran .000", "homeTeam": {"teamID": "50001623", "teamNameCH": "\u4f0a\u6717", "teamNameEN": "Iran"}, "awayTeam": {"teamID": "50003206", "teamNameCH": "\u963f\u806f\u914b", "teamNameEN": "United Arab Emirates"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-23T23:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.416+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT006", "venueNameCH": "\u6559\u80b2\u57ce\u7403\u5834", "venueNameEN": "Education City Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218285"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-23T23:00:00.000+08:00", "POOLID": "381934003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.01", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.71", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.18", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024532", "matchIDinofficial": "20240124WEDFB0686", "matchNum": "", "matchDate": "2024-01-24T01:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0686", "displayOrder": "1.1706029200.07.African Nations Cup .0.99.Gambia .000", "homeTeam": {"teamID": "50001339", "teamNameCH": "\u5ca1\u6bd4\u4e9e", "teamNameEN": "Gambia"}, "awayTeam": {"teamID": "50000656", "teamNameCH": "\u5580\u9ea5\u9686", "teamNameEN": "Cameroon"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.322+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV002", "venueNameCH": "\u5e03\u74e6\u51f1\u548c\u5e73\u9ad4\u80b2\u5834", "venueNameEN": "Stade de la Paix"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44636966"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T01:00:00.000+08:00", "POOLID": "389240003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.21", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024531", "matchIDinofficial": "20240124WEDFB0685", "matchNum": "", "matchDate": "2024-01-24T01:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0685", "displayOrder": "1.1706029200.07.African Nations Cup .0.99.Guinea .000", "homeTeam": {"teamID": "50001483", "teamNameCH": "\u757f\u5167\u4e9e", "teamNameEN": "Guinea"}, "awayTeam": {"teamID": "50002777", "teamNameCH": "\u585e\u5167\u52a0\u723e", "teamNameEN": "Senegal"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:43.916+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV006", "venueNameCH": "\u67e5\u723e\u65af\u79d1\u5357\u73ed\u5c3c\u9ad4\u80b2\u5834", "venueNameEN": "Stade Charles Konan Banny"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44636962"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T01:00:00.000+08:00", "POOLID": "389228003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.40", "L_ES": "Offer"}, {"LINENUM": "5", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "5", "HCOMBID": "1", "H": "100@2.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.52", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024664", "matchIDinofficial": "20240124WEDFB0724", "matchNum": "", "matchDate": "2024-01-24T03:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0724", "displayOrder": "1.1706038200.28.Eng League Trophy .0.99.Peterborough .000", "homeTeam": {"teamID": "50002449", "teamNameCH": "\u5f7c\u5fb7\u5821", "teamNameEN": "Peterborough"}, "awayTeam": {"teamID": "50000890", "teamNameCH": "\u5361\u7dad\u5c3c", "teamNameEN": "Crawley Town"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:30:00.000+08:00", "statuslastupdated": "2024-01-23T10:04:35.128+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50020336", "frontEndId": "FB9836", "tournamentShortName": "ELT", "tournamentNameCH": "\u82f1\u683c\u862d\u806f\u8cfd\u9326\u6a19", "tournamentNameEN": "Eng League Trophy", "tShortCH": "\u82f1\u683c\u862d\u806f\u8cfd\u9326\u6a19", "tShortEN": "Eng League Trophy", "displayOrder": "28.Eng League Trophy .2024-04-09.000", "tName": "50000050"}, "channel": [{"displayOrder": 99999, "code": "OAH", "channelID": "50101", "channelNameCH": "\u4e3b\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Home Team)"}], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:30:00.000+08:00", "POOLID": "395401003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.75", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "3", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024698", "matchIDinofficial": "20240124WEDFB0734", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0734", "displayOrder": "1.1706039100.27.Eng League 1 .0.99.Bolton .000", "homeTeam": {"teamID": "50000490", "teamNameCH": "\u4fdd\u9813", "teamNameEN": "Bolton"}, "awayTeam": {"teamID": "50000732", "teamNameCH": "\u8eca\u9813\u54b8", "teamNameEN": "Cheltenham"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T10:04:53.535+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [{"displayOrder": 99999, "code": "OAH", "channelID": "50101", "channelNameCH": "\u4e3b\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Home Team)"}], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "396433003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.02", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.80", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.37", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024670", "matchIDinofficial": "20240124WEDFB0729", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0729", "displayOrder": "1.1706039100.27.Eng League 1 .0.99.Charlton .000", "homeTeam": {"teamID": "50000716", "teamNameCH": "\u67e5\u723e\u9813", "teamNameEN": "Charlton"}, "awayTeam": {"teamID": "50002290", "teamNameCH": "\u8afe\u54b8\u9813", "teamNameEN": "Northampton"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T10:05:10.379+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [{"displayOrder": 99999, "code": "OAA", "channelID": "50102", "channelNameCH": "\u5ba2\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Away Team)"}], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395473003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.72", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.00", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.91", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.79", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.37", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024676", "matchIDinofficial": "20240124WEDFB0731", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0731", "displayOrder": "1.1706039100.27.Eng League 1 .1.99.Bristol Rovers .000", "homeTeam": {"teamID": "50000578", "teamNameCH": "\u5e03\u91cc\u65af\u6258\u6d41\u6d6a", "teamNameEN": "Bristol Rovers"}, "awayTeam": {"teamID": "50001142", "teamNameCH": "\u57c3\u514b\u585e\u7279", "teamNameEN": "Exeter City"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395725003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.73", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.98", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.93", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.77", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "SGA"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024671", "matchIDinofficial": "20240124WEDFB0730", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0730", "displayOrder": "1.1706039100.27.Eng League 1 .1.99.Oxford Utd .000", "homeTeam": {"teamID": "50002369", "teamNameCH": "\u725b\u6d25\u806f", "teamNameEN": "Oxford Utd"}, "awayTeam": {"teamID": "50000397", "teamNameCH": "\u73ed\u58eb\u5229", "teamNameEN": "Barnsley"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395485003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.15", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.79", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.91", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.43", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024666", "matchIDinofficial": "20240124WEDFB0726", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0726", "displayOrder": "1.1706039100.27.Eng League 1 .1.99.Wigan .000", "homeTeam": {"teamID": "50003369", "teamNameCH": "\u97cb\u6839", "teamNameEN": "Wigan"}, "awayTeam": {"teamID": "50003385", "teamNameCH": "\u97cb\u7518\u6bd4", "teamNameEN": "Wycombe"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395425003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024758", "matchIDinofficial": "20240124WEDFB0740", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0740", "displayOrder": "1.1706039100.28.Portuguese League Cup .1.99.Braga .000", "homeTeam": {"teamID": "50000515", "teamNameCH": "\u5e03\u62c9\u52a0", "teamNameEN": "Braga"}, "awayTeam": {"teamID": "50002951", "teamNameCH": "\u58eb\u7835\u4ead", "teamNameEN": "Sporting"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "POR003", "venueNameCH": "\u4f69\u7d22\u963f\u7403\u5834", "venueNameEN": "Estadio Dr. Magalhaes Pessoa"}, "tournament": {"tournamentID": "50016144", "frontEndId": "FB3387", "tournamentShortName": "PLC", "tournamentNameCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tournamentNameEN": "Portuguese League Cup", "tShortCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tShortEN": "Portuguese League Cup", "displayOrder": "28.Portuguese League Cup .2024-01-30.000", "tName": "50000087"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46526929"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "398931003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.19", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "2", "HCOMBID": "1", "H": "100@1.77", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.93", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024161", "matchIDinofficial": "20240124WEDFB0702", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0702", "displayOrder": "1.1706039100.28.Scottish Premier .1.99.Hearts .000", "homeTeam": {"teamID": "50001529", "teamNameCH": "\u8d6b\u65af", "teamNameEN": "Hearts"}, "awayTeam": {"teamID": "50001023", "teamNameCH": "\u767b\u5730", "teamNameEN": "Dundee"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018485", "frontEndId": "", "tournamentShortName": "SPL", "tournamentNameCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Scottish Premier", "tShortCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Scottish Premier", "displayOrder": "28.Scottish Premier .2024-05-28.000", "tName": "50000095"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "380510003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.29", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024233", "matchIDinofficial": "20240124WEDFB0707", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0707", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Amiens .000", "homeTeam": {"teamID": "50000169", "teamNameCH": "\u827e\u7c73\u6069\u65af", "teamNameEN": "Amiens"}, "awayTeam": {"teamID": "50000182", "teamNameCH": "FC\u5b89\u7d0d\u897f", "teamNameEN": "Annecy FC"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42739455"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382833003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.00", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.72", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.17", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024241", "matchIDinofficial": "20240124WEDFB0715", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0715", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Angers SCO .000", "homeTeam": {"teamID": "50000179", "teamNameCH": "\u6602\u71b1", "teamNameEN": "Angers SCO"}, "awayTeam": {"teamID": "50003167", "teamNameCH": "\u594e\u7dad\u5229\u9b6f\u6602", "teamNameEN": "US Quevilly Rouen"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005607"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382929003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.17", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.61", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.89", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.81", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.20", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024238", "matchIDinofficial": "20240124WEDFB0712", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0712", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Bastia .000", "homeTeam": {"teamID": "50000403", "teamNameCH": "\u5df4\u65af\u8482\u4e9e", "teamNameEN": "Bastia"}, "awayTeam": {"teamID": "50000645", "teamNameCH": "\u5361\u6602", "teamNameEN": "Caen"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005611"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382893003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.78", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.20", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024240", "matchIDinofficial": "20240124WEDFB0714", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0714", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Bordeaux .000", "homeTeam": {"teamID": "50000496", "teamNameCH": "\u6ce2\u723e\u591a", "teamNameEN": "Bordeaux"}, "awayTeam": {"teamID": "50003259", "teamNameCH": "\u83ef\u502b\u897f\u6069\u65af", "teamNameEN": "Valenciennes"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005609"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382917003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.89", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.81", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.17", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.61", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.28", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024234", "matchIDinofficial": "20240124WEDFB0708", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0708", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Concarneau .000", "homeTeam": {"teamID": "50000826", "teamNameCH": "\u5e72\u5361\u7d10", "teamNameEN": "Concarneau"}, "awayTeam": {"teamID": "50003129", "teamNameCH": "\u7279\u9b6f\u74e6", "teamNameEN": "Troyes"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005619"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382845003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024235", "matchIDinofficial": "20240124WEDFB0709", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0709", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Dunkerque .000", "homeTeam": {"teamID": "50001026", "teamNameCH": "\u767b\u5361\u57fa", "teamNameEN": "Dunkerque"}, "awayTeam": {"teamID": "50000006", "teamNameCH": "\u963f\u4e9b\u65af\u5967", "teamNameEN": "AC Ajaccio"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005617"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382857003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024239", "matchIDinofficial": "20240124WEDFB0713", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0713", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Grenoble Foot .000", "homeTeam": {"teamID": "50001459", "teamNameCH": "\u683c\u52d2\u8afe\u5e03\u723e", "teamNameEN": "Grenoble Foot"}, "awayTeam": {"teamID": "50000326", "teamNameCH": "\u6b50\u585e\u723e", "teamNameEN": "Auxerre"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005621"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382905003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.83", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.87", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "4", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.32", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024236", "matchIDinofficial": "20240124WEDFB0710", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0710", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Guingamp .000", "homeTeam": {"teamID": "50001487", "teamNameCH": "\u7518\u5ca1", "teamNameEN": "Guingamp"}, "awayTeam": {"teamID": "50002645", "teamNameCH": "\u7f85\u5fb7\u8332", "teamNameEN": "Rodez"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005615"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382869003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.38", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.51", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024237", "matchIDinofficial": "20240124WEDFB0711", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0711", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Laval .000", "homeTeam": {"teamID": "50001876", "teamNameCH": "\u62c9\u74e6\u52d2", "teamNameEN": "Laval"}, "awayTeam": {"teamID": "50002419", "teamNameCH": "\u5df4\u9eceFC", "teamNameEN": "Paris FC"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005613"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "382881003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.43", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.49", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024757", "matchIDinofficial": "20240124WEDFB0751", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0751", "displayOrder": "1.1706039100.30.French Division 2 .1.99.Pau FC .000", "homeTeam": {"teamID": "50002428", "teamNameCH": "FC\u6ce2\u57ce", "teamNameEN": "Pau FC"}, "awayTeam": {"teamID": "50002962", "teamNameCH": "\u8056\u4f0a\u5929", "teamNameEN": "St. Etienne"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:40.176+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018675", "frontEndId": "", "tournamentShortName": "FF2", "tournamentNameCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "French Division 2", "tShortCH": "\u6cd5\u570b\u4e59\u7d44\u806f\u8cfd", "tShortEN": "French Division 2", "displayOrder": "30.French Division 2 .2024-05-21.000", "tName": "50000059"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "42005605"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "398919003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.79", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.91", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.01", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.71", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024665", "matchIDinofficial": "20240124WEDFB0725", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0725", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Bradford .000", "homeTeam": {"teamID": "50000513", "teamNameCH": "\u5df4\u62c9\u798f\u7279", "teamNameEN": "Bradford"}, "awayTeam": {"teamID": "50002707", "teamNameCH": "\u6c99\u798f\u7279\u57ce", "teamNameEN": "Salford City"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395413003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.90", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.02", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.70", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024825", "matchIDinofficial": "20240124WEDFB0745", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0745", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Mansfield .000", "homeTeam": {"teamID": "50002045", "teamNameCH": "\u66fc\u65af\u83f2", "teamNameEN": "Mansfield"}, "awayTeam": {"teamID": "50003006", "teamNameCH": "\u745f\u9813\u806f", "teamNameEN": "Sutton Utd"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "400710003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.58", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.22", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "LCOMBID": "2", "L": "100@1.56", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.27", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024667", "matchIDinofficial": "20240124WEDFB0727", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0727", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Milton Keynes Dons .000", "homeTeam": {"teamID": "50002120", "teamNameCH": "\u7c73\u723e\u9813\u51f1\u6069\u65af", "teamNameEN": "Milton Keynes Dons"}, "awayTeam": {"teamID": "50000022", "teamNameCH": "AFC \u6eab\u5e03\u9813", "teamNameEN": "AFC Wimbledon"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "395437003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.77", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.93", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.73", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.35", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024759", "matchIDinofficial": "20240124WEDFB0741", "matchNum": "", "matchDate": "2024-01-24T03:45:00+08:00", "matchDay": "WED", "frontEndId": "FB0741", "displayOrder": "1.1706039100.32.Eng League 2 .1.99.Morecambe .000", "homeTeam": {"teamID": "50002165", "teamNameCH": "\u6469\u7518\u6bd4", "teamNameEN": "Morecambe"}, "awayTeam": {"teamID": "50000893", "teamNameCH": "\u514b\u9b6f", "teamNameEN": "Crewe"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016925", "frontEndId": "", "tournamentShortName": "ED3", "tournamentNameCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 2", "tShortCH": "\u82f1\u683c\u862d\u4e59\u7d44\u806f\u8cfd", "tShortEN": "Eng League 2", "displayOrder": "32.Eng League 2 .2024-05-21.000", "tName": "50000048"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T03:45:00.000+08:00", "POOLID": "399896003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.73", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.98", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.93", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.77", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024534", "matchIDinofficial": "20240124WEDFB0691", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0691", "displayOrder": "1.1706040000.07.African Nations Cup .0.99.Angola .000", "homeTeam": {"teamID": "50000180", "teamNameCH": "\u5b89\u54e5\u62c9", "teamNameEN": "Angola"}, "awayTeam": {"teamID": "50000599", "teamNameCH": "\u5e03\u57fa\u7d0d\u6cd5\u7d22", "teamNameEN": "Burkina Faso"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.166+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV006", "venueNameCH": "\u67e5\u723e\u65af\u79d1\u5357\u73ed\u5c3c\u9ad4\u80b2\u5834", "venueNameEN": "Stade Charles Konan Banny"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637050"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "389294003", "LINELIST": [{"LINENUM": "3", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}, {"LINENUM": "5", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "5", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.13", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024533", "matchIDinofficial": "20240124WEDFB0690", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0690", "displayOrder": "1.1706040000.07.African Nations Cup .0.99.Mauritania .000", "homeTeam": {"teamID": "50002063", "teamNameCH": "\u6bdb\u91cc\u5854\u5c3c\u4e9e", "teamNameEN": "Mauritania"}, "awayTeam": {"teamID": "50000138", "teamNameCH": "\u963f\u723e\u53ca\u5229\u4e9e", "teamNameEN": "Algeria"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.244+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV002", "venueNameCH": "\u5e03\u74e6\u51f1\u548c\u5e73\u9ad4\u80b2\u5834", "venueNameEN": "Stade de la Paix"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637048"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "389282003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.97", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.74", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.73", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.98", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024535", "matchIDinofficial": "20240124WEDFB0692", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0692", "displayOrder": "1.1706040000.19.Eng League Cup .0.01.Chelsea .000", "homeTeam": {"teamID": "50000724", "teamNameCH": "\u8eca\u8def\u58eb", "teamNameEN": "Chelsea"}, "awayTeam": {"teamID": "50002114", "teamNameCH": "\u7c73\u675c\u58eb\u5821", "teamNameEN": "Middlesbrough"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-23T11:01:28.328+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018849", "frontEndId": "FB4030", "tournamentShortName": "ELC", "tournamentNameCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tournamentNameEN": "Eng League Cup", "tShortCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tShortEN": "Eng League Cup", "displayOrder": "19.Eng League Cup .2024-02-27.000", "tName": "50000049"}, "channel": [{"displayOrder": 99999, "code": "77", "channelID": "50031", "channelNameCH": "HOY TV 77\u53f0", "channelNameEN": "HOY TV Ch.77"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46352979"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "389318003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.25", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SPC", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024669", "matchIDinofficial": "20240124WEDFB0728", "matchNum": "", "matchDate": "2024-01-24T04:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0728", "displayOrder": "1.1706040000.27.Eng League 1 .1.99.Reading .000", "homeTeam": {"teamID": "50002585", "teamNameCH": "\u96f7\u4e01", "teamNameEN": "Reading"}, "awayTeam": {"teamID": "50000982", "teamNameCH": "\u6253\u6bd4\u90e1", "teamNameEN": "Derby"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016924", "frontEndId": "", "tournamentShortName": "ED2", "tournamentNameCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Eng League 1", "tShortCH": "\u82f1\u683c\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Eng League 1", "displayOrder": "27.Eng League 1 .2024-05-21.000", "tName": "50000047"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:00:00.000+08:00", "POOLID": "395461003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.76", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.94", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.97", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.74", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.35", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024837", "matchIDinofficial": "20240124WEDFB0746", "matchNum": "", "matchDate": "2024-01-24T04:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0746", "displayOrder": "1.1706041800.20.Spanish Cup .1.99.Celta Vigo .000", "homeTeam": {"teamID": "50000694", "teamNameCH": "\u5207\u723e\u9054", "teamNameEN": "Celta Vigo"}, "awayTeam": {"teamID": "50002610", "teamNameCH": "\u7687\u5bb6\u8607\u65af\u9054", "teamNameEN": "Real Sociedad"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T04:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47118929"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T04:30:00.000+08:00", "POOLID": "401303003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024677", "matchIDinofficial": "20240124WEDFB0732", "matchNum": "", "matchDate": "2024-01-24T06:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0732", "displayOrder": "1.1706049000.30.Brazilian Paulista League .0.99.Mirassol .000", "homeTeam": {"teamID": "50002127", "teamNameCH": "\u7c73\u62c9\u7d22", "teamNameEN": "Mirassol"}, "awayTeam": {"teamID": "50002746", "teamNameCH": "\u8056\u4fdd\u7f85", "teamNameEN": "Sao Paulo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T06:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T06:30:00.000+08:00", "POOLID": "395740003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.93", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.77", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.21", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024884", "matchIDinofficial": "20240124WEDFB0762", "matchNum": "", "matchDate": "2024-01-24T07:00:00+08:00", "matchDay": "WED", "frontEndId": "FB0762", "displayOrder": "1.1706050800.09.International Matches .1.99.Venezuela U23 .000", "homeTeam": {"teamID": "50315174", "teamNameCH": "\u59d4\u5167\u745e\u62c9U23", "teamNameEN": "Venezuela U23"}, "awayTeam": {"teamID": "50312513", "teamNameCH": "\u5384\u74dc\u591a\u723eU23", "teamNameEN": "Ecuador U23"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T07:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50005229", "frontEndId": "", "tournamentShortName": "INT", "tournamentNameCH": "\u570b\u969b\u8cfd", "tournamentNameEN": "International Matches", "tShortCH": "\u570b\u969b\u8cfd", "tShortEN": "International Matches", "displayOrder": "09.International Matches .2024-06-30.000", "tName": "50000067"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T07:00:00.000+08:00", "POOLID": "404174003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.78", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.28", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024680", "matchIDinofficial": "20240124WEDFB0733", "matchNum": "", "matchDate": "2024-01-24T08:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0733", "displayOrder": "1.1706056200.30.Brazilian Paulista League .0.99.Agua Santa .000", "homeTeam": {"teamID": "50000062", "teamNameCH": "\u963f\u53e4\u4e9e\u8f9b\u9054", "teamNameEN": "Agua Santa"}, "awayTeam": {"teamID": "50000504", "teamNameCH": "\u4fdd\u5730\u82b1\u9ad8SP", "teamNameEN": "Botafogo SP"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T08:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T08:30:00.000+08:00", "POOLID": "396152003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.01", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.71", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.19", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024198", "matchIDinofficial": "20240124WEDFB0688", "matchNum": "", "matchDate": "2024-01-24T19:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0688", "displayOrder": "1.1706095800.05.Asian Cup .0.03.Japan .000", "homeTeam": {"teamID": "50001684", "teamNameCH": "\u65e5\u672c", "teamNameEN": "Japan"}, "awayTeam": {"teamID": "50001601", "teamNameCH": "\u5370\u5c3c", "teamNameEN": "Indonesia"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.869+08:00", "inplaydelay": "false", "isESOffer": false, "venue": {"code": "QAT015", "venueNameCH": "\u963f\u723e\u5716\u99ac\u99ac\u7403\u5834", "venueNameEN": "Al Thumama Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "76", "channelID": "50029", "channelNameCH": "\u9999\u6e2f\u570b\u969b\u8ca1\u7d93\u53f0", "channelNameEN": "Hong Kong International Business Channel"}, {"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218301"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T19:30:00.000+08:00", "POOLID": "381869003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.66", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.08", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5/4.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.90", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL", "SPC", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024197", "matchIDinofficial": "20240124WEDFB0687", "matchNum": "", "matchDate": "2024-01-24T19:30:00+08:00", "matchDay": "WED", "frontEndId": "FB0687", "displayOrder": "1.1706095800.05.Asian Cup .0.99.Iraq .000", "homeTeam": {"teamID": "50001639", "teamNameCH": "\u4f0a\u62c9\u514b", "teamNameEN": "Iraq"}, "awayTeam": {"teamID": "50003310", "teamNameCH": "\u8d8a\u5357", "teamNameEN": "Vietnam"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-24T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:44.947+08:00", "inplaydelay": "false", "isESOffer": false, "venue": {"code": "QAT004", "venueNameCH": "\u8cc8\u897f\u59c6\u672c\u54c8\u99ac\u5fb7\u7403\u5834", "venueNameEN": "Jassim bin Hamad Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218303"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-24T19:30:00.000+08:00", "POOLID": "381856003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.30", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024556", "matchIDinofficial": "20240125THUFB0718", "matchNum": "", "matchDate": "2024-01-25T01:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0718", "displayOrder": "1.1706115600.07.African Nations Cup .0.99.Namibia .000", "homeTeam": {"teamID": "50002207", "teamNameCH": "\u7d0d\u7c73\u6bd4\u4e9e", "teamNameEN": "Namibia"}, "awayTeam": {"teamID": "50002012", "teamNameCH": "\u99ac\u91cc", "teamNameEN": "Mali"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV003", "venueNameCH": "\u6d1b\u6717\u6ce2\u5eab\u9ad4\u80b2\u5834", "venueNameEN": "Stade Laurent Pokou"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637076"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:00:00.000+08:00", "POOLID": "389733003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.52", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.18", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024557", "matchIDinofficial": "20240125THUFB0719", "matchNum": "", "matchDate": "2024-01-25T01:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0719", "displayOrder": "1.1706115600.07.African Nations Cup .0.99.South Africa .000", "homeTeam": {"teamID": "50002871", "teamNameCH": "\u5357\u975e", "teamNameEN": "South Africa"}, "awayTeam": {"teamID": "50003134", "teamNameCH": "\u7a81\u5c3c\u897f\u4e9e", "teamNameEN": "Tunisia"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV005", "venueNameCH": "\u963f\u99ac\u675c\u8ca2\u5eab\u5229\u5df4\u5229\u9ad4\u80b2\u5834", "venueNameEN": "Stade Amadou Gon Coulibaly"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637070"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:00:00.000+08:00", "POOLID": "389745003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024777", "matchIDinofficial": "20240125THUFB0694", "matchNum": "", "matchDate": "2024-01-25T01:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0694", "displayOrder": "1.1706117400.28.French FA Cup .1.99.Feignies Aulnoye .000", "homeTeam": {"teamID": "50313293", "teamNameCH": "\u8cbb\u771f\u5c3c\u65af\u6b50\u52aa\u8036", "teamNameEN": "Feignies Aulnoye"}, "awayTeam": {"teamID": "50002160", "teamNameCH": "\u8499\u5f7c\u5229\u57c3", "teamNameEN": "Montpellier"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:30:00.000+08:00", "statuslastupdated": "2024-01-21T19:30:03.293+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "FRA136", "venueNameCH": "\u5229\u5967\u62c9\u683c\u6717\u65e5\u9ad4\u80b2\u5834", "venueNameEN": "Stade Leo Lagrange"}, "tournament": {"tournamentID": "50023043", "frontEndId": "FB9533", "tournamentShortName": "FFA", "tournamentNameCH": "\u6cd5\u570b\u8db3\u7e3d\u76c3", "tournamentNameEN": "French FA Cup", "tShortCH": "\u6cd5\u570b\u8db3\u7e3d\u76c3", "tShortEN": "French FA Cup", "displayOrder": "28.French FA Cup .2024-05-27.000", "tName": "50000060"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:30:00.000+08:00", "POOLID": "402519003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.33", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.53", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.07", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.67", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.22", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024937", "matchIDinofficial": "20240125THUFB0763", "matchNum": "", "matchDate": "2024-01-25T01:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0763", "displayOrder": "1.1706118300.26.Dutch Division 1 .1.99.Almere City .000", "homeTeam": {"teamID": "50000155", "teamNameCH": "\u963f\u6885\u723e\u57ce", "teamNameEN": "Almere City"}, "awayTeam": {"teamID": "50001267", "teamNameCH": "\u5e78\u904b\u859b\u9054", "teamNameEN": "Fortuna Sittard"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T01:45:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50019000", "frontEndId": "", "tournamentShortName": "DFL", "tournamentNameCH": "\u8377\u862d\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Dutch Division 1", "tShortCH": "\u8377\u862d\u7532\u7d44\u806f\u8cfd", "tShortEN": "Dutch Division 1", "displayOrder": "26.Dutch Division 1 .2024-06-03.000", "tName": "50000041"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47200805"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T01:45:00.000+08:00", "POOLID": "404144003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024838", "matchIDinofficial": "20240125THUFB0747", "matchNum": "", "matchDate": "2024-01-25T02:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0747", "displayOrder": "1.1706121000.20.Spanish Cup .1.99.Mallorca .000", "homeTeam": {"teamID": "50002016", "teamNameCH": "\u99ac\u7565\u5361", "teamNameEN": "Mallorca"}, "awayTeam": {"teamID": "50001424", "teamNameCH": "\u57fa\u7f85\u7d0d", "teamNameEN": "Girona"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T02:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T02:30:00.000+08:00", "POOLID": "401315003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.84", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.86", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024743", "matchIDinofficial": "20240125THUFB0739", "matchNum": "", "matchDate": "2024-01-25T03:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0739", "displayOrder": "1.1706122800.28.Dutch Cup .0.10.Feyenoord .000", "homeTeam": {"teamID": "50001238", "teamNameCH": "\u98db\u71d5\u8afe", "teamNameEN": "Feyenoord"}, "awayTeam": {"teamID": "50002380", "teamNameCH": "\u71d5\u8c6a\u82ac", "teamNameEN": "PSV Eindhoven"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:00:00.000+08:00", "statuslastupdated": "2024-01-23T16:51:38.097+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022411", "frontEndId": "FB7806", "tournamentShortName": "DAC", "tournamentNameCH": "\u8377\u862d\u76c3", "tournamentNameEN": "Dutch Cup", "tShortCH": "\u8377\u862d\u76c3", "tShortEN": "Dutch Cup", "displayOrder": "28.Dutch Cup .2024-04-23.000", "tName": "50000040"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:00:00.000+08:00", "POOLID": "397191003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@1.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.75", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "3", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024558", "matchIDinofficial": "20240125THUFB0720", "matchNum": "", "matchDate": "2024-01-25T03:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0720", "displayOrder": "1.1706124600.17.German Division 1 .0.01.Bayern Munich .000", "homeTeam": {"teamID": "50000407", "teamNameCH": "\u62dc\u4ec1\u6155\u5c3c\u9ed1", "teamNameEN": "Bayern Munich"}, "awayTeam": {"teamID": "50003196", "teamNameCH": "\u67cf\u6797\u806f", "teamNameEN": "Union Berlin"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016467", "frontEndId": "FB3755", "tournamentShortName": "GSL", "tournamentNameCH": "\u5fb7\u570b\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "German Division 1", "tShortCH": "\u5fb7\u570b\u7532\u7d44\u806f\u8cfd", "tShortEN": "German Division 1", "displayOrder": "17.German Division 1 .2024-05-31.000", "tName": "50000063"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "45962963"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:30:00.000+08:00", "POOLID": "389770003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.83", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.87", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5/4.0", "LINEID": "4", "HCOMBID": "1", "H": "100@2.04", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.69", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024715", "matchIDinofficial": "20240125THUFB0735", "matchNum": "", "matchDate": "2024-01-25T03:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0735", "displayOrder": "1.1706124600.28.Belgian Cup .1.99.OH Leuven .000", "homeTeam": {"teamID": "50002313", "teamNameCH": "\u5967\u7279\u6d77\u7dad\u5229", "teamNameEN": "OH Leuven"}, "awayTeam": {"teamID": "50000187", "teamNameCH": "\u5b89\u7279\u885b\u666e", "teamNameEN": "Antwerp"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022259", "frontEndId": "FB7805", "tournamentShortName": "BFC", "tournamentNameCH": "\u6bd4\u5229\u6642\u76c3", "tournamentNameEN": "Belgian Cup", "tShortCH": "\u6bd4\u5229\u6642\u76c3", "tShortEN": "Belgian Cup", "displayOrder": "28.Belgian Cup .2024-05-06.000", "tName": "50000023"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47077831"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:30:00.000+08:00", "POOLID": "396866003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.58", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.22", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.57", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024726", "matchIDinofficial": "20240125THUFB0737", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0737", "displayOrder": "1.1706125500.27.Eng Championship .0.99.Leeds .000", "homeTeam": {"teamID": "50001887", "teamNameCH": "\u5217\u65af\u806f", "teamNameEN": "Leeds"}, "awayTeam": {"teamID": "50002299", "teamNameCH": "\u8afe\u57df\u6cbb", "teamNameEN": "Norwich"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T10:05:24.769+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016923", "frontEndId": "", "tournamentShortName": "ED1", "tournamentNameCH": "\u82f1\u683c\u862d\u51a0\u8ecd\u806f\u8cfd", "tournamentNameEN": "Eng Championship", "tShortCH": "\u82f1\u683c\u862d\u51a0\u8ecd\u806f\u8cfd", "tShortEN": "Eng Championship", "displayOrder": "27.Eng Championship .2024-05-29.000", "tName": "50000046"}, "channel": [{"displayOrder": 99999, "code": "OAH", "channelID": "50101", "channelNameCH": "\u4e3b\u968a\u5b98\u7db2/App", "channelNameEN": "Official Web/App (Home Team)"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41888285"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "397119003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.52", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.35", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024760", "matchIDinofficial": "20240125THUFB0742", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0742", "displayOrder": "1.1706125500.28.Portuguese League Cup .1.08.Benfica .000", "homeTeam": {"teamID": "50000449", "teamNameCH": "\u8cd3\u83f2\u52a0", "teamNameEN": "Benfica"}, "awayTeam": {"teamID": "50001125", "teamNameCH": "\u827e\u65af\u675c\u5c3c", "teamNameEN": "Estoril"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "POR003", "venueNameCH": "\u4f69\u7d22\u963f\u7403\u5834", "venueNameEN": "Estadio Dr. Magalhaes Pessoa"}, "tournament": {"tournamentID": "50016144", "frontEndId": "FB3387", "tournamentShortName": "PLC", "tournamentNameCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tournamentNameEN": "Portuguese League Cup", "tShortCH": "\u8461\u8404\u7259\u806f\u8cfd\u76c3", "tShortEN": "Portuguese League Cup", "displayOrder": "28.Portuguese League Cup .2024-01-30.000", "tName": "50000087"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46526931"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "398943003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.91", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.79", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "4", "HCOMBID": "1", "H": "100@3.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.25", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024164", "matchIDinofficial": "20240125THUFB0703", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0703", "displayOrder": "1.1706125500.28.Scottish Premier .1.99.Hibernian .000", "homeTeam": {"teamID": "50001543", "teamNameCH": "\u559c\u4f2f\u5e74", "teamNameEN": "Hibernian"}, "awayTeam": {"teamID": "50002575", "teamNameCH": "\u683c\u62c9\u65af\u54e5\u6d41\u6d6a", "teamNameEN": "Rangers"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018485", "frontEndId": "", "tournamentShortName": "SPL", "tournamentNameCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Scottish Premier", "tShortCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Scottish Premier", "displayOrder": "28.Scottish Premier .2024-05-28.000", "tName": "50000095"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "380739003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.61", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.17", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "LCOMBID": "2", "L": "100@1.92", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.78", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024160", "matchIDinofficial": "20240125THUFB0701", "matchNum": "", "matchDate": "2024-01-25T03:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0701", "displayOrder": "1.1706125500.28.Scottish Premier .1.99.St. Johnstone .000", "homeTeam": {"teamID": "50002964", "teamNameCH": "\u8056\u838a\u58eb\u6771", "teamNameEN": "St. Johnstone"}, "awayTeam": {"teamID": "50000044", "teamNameCH": "\u9d28\u5df4\u7538", "teamNameEN": "Aberdeen"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T03:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018485", "frontEndId": "", "tournamentShortName": "SPL", "tournamentNameCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Scottish Premier", "tShortCH": "\u8607\u683c\u862d\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Scottish Premier", "displayOrder": "28.Scottish Premier .2024-05-28.000", "tName": "50000095"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T03:45:00.000+08:00", "POOLID": "380495003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.12", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.64", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.21", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024559", "matchIDinofficial": "20240125THUFB0721", "matchNum": "", "matchDate": "2024-01-25T04:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0721", "displayOrder": "1.1706126400.07.African Nations Cup .0.99.Tanzania .000", "homeTeam": {"teamID": "50003051", "teamNameCH": "\u5766\u6851\u5c3c\u4e9e", "teamNameEN": "Tanzania"}, "awayTeam": {"teamID": "50000923", "teamNameCH": "\u525b\u679c\u6c11\u4e3b\u5171\u548c\u570b", "teamNameEN": "D R Congo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV005", "venueNameCH": "\u963f\u99ac\u675c\u8ca2\u5eab\u5229\u5df4\u5229\u9ad4\u80b2\u5834", "venueNameEN": "Stade Amadou Gon Coulibaly"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "NOW\u7b2c638\u53f0", "channelNameEN": "NOW Channel 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637092"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:00:00.000+08:00", "POOLID": "389790003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.02", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.70", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.77", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.93", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024560", "matchIDinofficial": "20240125THUFB0722", "matchNum": "", "matchDate": "2024-01-25T04:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0722", "displayOrder": "1.1706126400.07.African Nations Cup .0.99.Zambia .000", "homeTeam": {"teamID": "50003409", "teamNameCH": "\u8d0a\u6bd4\u4e9e", "teamNameEN": "Zambia"}, "awayTeam": {"teamID": "50002168", "teamNameCH": "\u6469\u6d1b\u54e5", "teamNameEN": "Morocco"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "CDV003", "venueNameCH": "\u6d1b\u6717\u6ce2\u5eab\u9ad4\u80b2\u5834", "venueNameEN": "Stade Laurent Pokou"}, "tournament": {"tournamentID": "50024169", "frontEndId": "FB0272", "tournamentShortName": "ANC", "tournamentNameCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tournamentNameEN": "African Nations Cup", "tShortCH": "\u975e\u6d32\u570b\u5bb6\u76c3", "tShortEN": "African Nations Cup", "displayOrder": "07.African Nations Cup .2024-02-13.000", "tName": "50000011"}, "channel": [{"displayOrder": 99999, "code": "639", "channelID": "50048", "channelNameCH": "NOW\u7b2c639\u53f0", "channelNameEN": "NOW Channel 639"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "44637094"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:00:00.000+08:00", "POOLID": "389802003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.82", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.88", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024562", "matchIDinofficial": "20240125THUFB0723", "matchNum": "", "matchDate": "2024-01-25T04:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0723", "displayOrder": "1.1706126400.19.Eng League Cup .0.99.Fulham .000", "homeTeam": {"teamID": "50001320", "teamNameCH": "\u5bcc\u54b8", "teamNameEN": "Fulham"}, "awayTeam": {"teamID": "50001928", "teamNameCH": "\u5229\u7269\u6d66", "teamNameEN": "Liverpool"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:00:00.000+08:00", "statuslastupdated": "2024-01-23T11:01:45.907+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50018849", "frontEndId": "FB4030", "tournamentShortName": "ELC", "tournamentNameCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tournamentNameEN": "Eng League Cup", "tShortCH": "\u82f1\u683c\u862d\u806f\u8cfd\u76c3", "tShortEN": "Eng League Cup", "displayOrder": "19.Eng League Cup .2024-02-27.000", "tName": "50000049"}, "channel": [{"displayOrder": 99999, "code": "77", "channelID": "50031", "channelNameCH": "HOY TV 77\u53f0", "channelNameEN": "HOY TV Ch.77"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46352981"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:00:00.000+08:00", "POOLID": "389858003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.54", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.30", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SPC", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS", "TQL"], "anyInplaySelling": "1"}, {"matchID": "50024839", "matchIDinofficial": "20240125THUFB0748", "matchNum": "", "matchDate": "2024-01-25T04:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0748", "displayOrder": "1.1706128200.20.Spanish Cup .1.99.Bilbao .000", "homeTeam": {"teamID": "50000465", "teamNameCH": "\u7562\u723e\u5305", "teamNameEN": "Bilbao"}, "awayTeam": {"teamID": "50000369", "teamNameCH": "\u5df4\u585e\u9686\u62ff", "teamNameEN": "Barcelona"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T04:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47118923"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T04:30:00.000+08:00", "POOLID": "401327003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024685", "matchIDinofficial": "20240125THUFB0752", "matchNum": "", "matchDate": "2024-01-25T06:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0752", "displayOrder": "1.1706135400.30.Brazilian Paulista League .0.99.Portuguesa .000", "homeTeam": {"teamID": "50002528", "teamNameCH": "\u6ce2\u5716\u57fa\u6c99", "teamNameEN": "Portuguesa"}, "awayTeam": {"teamID": "50002555", "teamNameCH": "\u5df4\u62c9\u5e72\u5929\u5974\u7d05\u725b", "teamNameEN": "RB Bragantino"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T06:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:33:10.520+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T06:30:00.000+08:00", "POOLID": "396225003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024684", "matchIDinofficial": "20240125THUFB0749", "matchNum": "", "matchDate": "2024-01-25T06:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0749", "displayOrder": "1.1706135400.30.Brazilian Paulista League .1.99.Ituano .000", "homeTeam": {"teamID": "50001672", "teamNameCH": "\u4f0a\u5716\u8afe", "teamNameEN": "Ituano"}, "awayTeam": {"teamID": "50000838", "teamNameCH": "\u54e5\u9023\u6cf0\u65af", "teamNameEN": "Corinthians"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T06:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:40.176+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T06:30:00.000+08:00", "POOLID": "396213003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.50", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.40", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.10", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.65", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.16", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024725", "matchIDinofficial": "20240125THUFB0736", "matchNum": "", "matchDate": "2024-01-25T08:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0736", "displayOrder": "1.1706142600.30.Brazilian Paulista League .0.99.Guarani SP .000", "homeTeam": {"teamID": "50001474", "teamNameCH": "\u53e4\u862d\u5c3c", "teamNameEN": "Guarani SP"}, "awayTeam": {"teamID": "50002743", "teamNameCH": "\u8056\u8c9d\u62ff\u5ea6", "teamNameEN": "Sao Bernardo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T08:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T08:30:00.000+08:00", "POOLID": "397099003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.19", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.60", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024723", "matchIDinofficial": "20240125THUFB0750", "matchNum": "", "matchDate": "2024-01-25T08:35:00+08:00", "matchDay": "THU", "frontEndId": "FB0750", "displayOrder": "1.1706142900.30.Brazilian Paulista League .1.99.Palmeiras .000", "homeTeam": {"teamID": "50002396", "teamNameCH": "\u5f6d\u7f8e\u62c9\u65af", "teamNameEN": "Palmeiras"}, "awayTeam": {"teamID": "50001615", "teamNameCH": "\u570b\u969b\u91cc\u6885\u62c9", "teamNameEN": "Inter de Limeira"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T08:35:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:40.176+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T08:35:00.000+08:00", "POOLID": "397075003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.73", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.24", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024491", "matchIDinofficial": "20240125THUFB0717", "matchNum": "", "matchDate": "2024-01-25T09:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0717", "displayOrder": "1.1706144400.29.Mexican Premier .0.99.Monterrey .000", "homeTeam": {"teamID": "50002152", "teamNameCH": "\u8499\u7279\u96f7", "teamNameEN": "Monterrey"}, "awayTeam": {"teamID": "50002552", "teamNameCH": "\u514b\u96f7\u5854\u7f85", "teamNameEN": "Queretaro"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T09:00:00.000+08:00", "statuslastupdated": "2024-01-23T16:52:45.364+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024375", "frontEndId": "", "tournamentShortName": "MXL", "tournamentNameCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Mexican Premier", "tShortCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Mexican Premier", "displayOrder": "29.Mexican Premier .2024-05-28.000", "tName": "50000079"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46345379"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T09:00:00.000+08:00", "POOLID": "387959003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.15", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.54", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.43", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024490", "matchIDinofficial": "20240125THUFB0716", "matchNum": "", "matchDate": "2024-01-25T09:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0716", "displayOrder": "1.1706144400.29.Mexican Premier .1.99.Atletico San Luis .000", "homeTeam": {"teamID": "50000281", "teamNameCH": "\u8056\u8def\u6613\u65af\u9ad4\u80b2\u6703", "teamNameEN": "Atletico San Luis"}, "awayTeam": {"teamID": "50003075", "teamNameCH": "\u5824\u683c\u96f7\u65af", "teamNameEN": "Tigres UANL"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T09:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024375", "frontEndId": "", "tournamentShortName": "MXL", "tournamentNameCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Mexican Premier", "tShortCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Mexican Premier", "displayOrder": "29.Mexican Premier .2024-05-28.000", "tName": "50000079"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46345377"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T09:00:00.000+08:00", "POOLID": "387947003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.33", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024761", "matchIDinofficial": "20240125THUFB0743", "matchNum": "", "matchDate": "2024-01-25T11:06:00+08:00", "matchDay": "THU", "frontEndId": "FB0743", "displayOrder": "1.1706151960.29.Mexican Premier .0.99.Juarez .000", "homeTeam": {"teamID": "50001730", "teamNameCH": "\u7956\u4e9e\u96f7\u65af", "teamNameEN": "Juarez"}, "awayTeam": {"teamID": "50000628", "teamNameCH": "CF \u963f\u7f8e\u5229\u52a0", "teamNameEN": "CF America"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T11:06:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024375", "frontEndId": "", "tournamentShortName": "MXL", "tournamentNameCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Mexican Premier", "tShortCH": "\u58a8\u897f\u54e5\u8d85\u7d1a\u806f\u8cfd", "tShortEN": "Mexican Premier", "displayOrder": "29.Mexican Premier .2024-05-28.000", "tName": "50000079"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46345381"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T11:06:00.000+08:00", "POOLID": "402556003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.74", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.97", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.92", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.78", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.38", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024653", "matchIDinofficial": "20240125THUFB0753", "matchNum": "", "matchDate": "2024-01-25T16:45:00+08:00", "matchDay": "THU", "frontEndId": "FB0753", "displayOrder": "1.1706172300.27.Australian Division 1 .0.03.Melbourne City .000", "homeTeam": {"teamID": "50002068", "teamNameCH": "\u58a8\u723e\u672c\u57ce", "teamNameEN": "Melbourne City"}, "awayTeam": {"teamID": "50000054", "teamNameCH": "\u963f\u5fb7\u840a\u5fb7\u806f", "teamNameEN": "Adelaide Utd"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T16:45:00.000+08:00", "statuslastupdated": "2024-01-22T19:42:58.385+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022033", "frontEndId": "", "tournamentShortName": "AD1", "tournamentNameCH": "\u6fb3\u6d32\u8077\u696d\u806f\u8cfd", "tournamentNameEN": "Australian Division 1", "tShortCH": "\u6fb3\u6d32\u8077\u696d\u806f\u8cfd", "tShortEN": "Australian Division 1", "displayOrder": "27.Australian Division 1 .2024-06-03.000", "tName": "50000021"}, "channel": [{"displayOrder": 99999, "code": "MTS", "channelID": "50099", "channelNameCH": "\u7121\u7dda myTV Super App", "channelNameEN": "TVB myTV Super App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "43255261"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T16:45:00.000+08:00", "POOLID": "394391003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5/4.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.36", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SPC"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024228", "matchIDinofficial": "20240125THUFB0699", "matchNum": "", "matchDate": "2024-01-25T19:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0699", "displayOrder": "1.1706182200.05.Asian Cup .0.03.Korea Republic .000", "homeTeam": {"teamID": "50001808", "teamNameCH": "\u5357\u97d3", "teamNameEN": "Korea Republic"}, "awayTeam": {"teamID": "50002005", "teamNameCH": "\u99ac\u4f86\u897f\u4e9e", "teamNameEN": "Malaysia"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T10:00:45.025+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT001", "venueNameCH": "\u5357\u90e8\u7403\u5834", "venueNameEN": "Al Janoub Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218393"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T19:30:00.000+08:00", "POOLID": "382273003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.08", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.66", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.26", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024207", "matchIDinofficial": "20240125THUFB0705", "matchNum": "", "matchDate": "2024-01-25T19:30:00+08:00", "matchDay": "THU", "frontEndId": "FB0705", "displayOrder": "1.1706182200.05.Asian Cup .0.99.Jordan .000", "homeTeam": {"teamID": "50001724", "teamNameCH": "\u7d04\u65e6", "teamNameEN": "Jordan"}, "awayTeam": {"teamID": "50000349", "teamNameCH": "\u5df4\u6797", "teamNameEN": "Bahrain"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T19:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT005", "venueNameCH": "\u54c8\u5229\u6cd5\u570b\u969b\u7403\u5834", "venueNameEN": "Khalifa International Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "76", "channelID": "50029", "channelNameCH": "\u9999\u6e2f\u570b\u969b\u8ca1\u7d93\u53f0", "channelNameEN": "Hong Kong International Business Channel"}, {"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218395"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T19:30:00.000+08:00", "POOLID": "381986003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.33", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.53", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.13", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024220", "matchIDinofficial": "20240125THUFB0706", "matchNum": "", "matchDate": "2024-01-25T23:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0706", "displayOrder": "1.1706194800.05.Asian Cup .0.99.Kyrgyzstan .000", "homeTeam": {"teamID": "50001846", "teamNameCH": "\u5409\u723e\u5409\u65af", "teamNameEN": "Kyrgyzstan"}, "awayTeam": {"teamID": "50002340", "teamNameCH": "\u963f\u66fc", "teamNameEN": "Oman"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T23:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT007", "venueNameCH": "\u963f\u535c\u675c\u62c9\u54c8\u5229\u6cd5\u9ad4\u80b2\u5834", "venueNameEN": "Abdullah bin Khalifa Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218411"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T23:00:00.000+08:00", "POOLID": "382155003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.57", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.35", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.27", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024204", "matchIDinofficial": "20240125THUFB0704", "matchNum": "", "matchDate": "2024-01-25T23:00:00+08:00", "matchDay": "THU", "frontEndId": "FB0704", "displayOrder": "1.1706194800.05.Asian Cup .0.99.Saudi Arabia .000", "homeTeam": {"teamID": "50002754", "teamNameCH": "\u6c99\u7279\u963f\u62c9\u4f2f", "teamNameEN": "Saudi Arabia"}, "awayTeam": {"teamID": "50003062", "teamNameCH": "\u6cf0\u570b", "teamNameEN": "Thailand"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-25T23:00:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "QAT006", "venueNameCH": "\u6559\u80b2\u57ce\u7403\u5834", "venueNameEN": "Education City Stadium"}, "tournament": {"tournamentID": "50024195", "frontEndId": "FB0224", "tournamentShortName": "ASC", "tournamentNameCH": "\u4e9e\u6d32\u76c3", "tournamentNameEN": "Asian Cup", "tShortCH": "\u4e9e\u6d32\u76c3", "tShortEN": "Asian Cup", "displayOrder": "05.Asian Cup .2024-02-12.000", "tName": "50000017"}, "channel": [{"displayOrder": 99999, "code": "77", "channelID": "50031", "channelNameCH": "HOY TV 77\u53f0", "channelNameEN": "HOY TV Ch.77"}, {"displayOrder": 99999, "code": "HTA", "channelID": "50137", "channelNameCH": "HOY App", "channelNameEN": "HOY App"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "41218409"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-25T23:00:00.000+08:00", "POOLID": "381947003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.65", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.23", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "anyInplaySelling": "1"}, {"matchID": "50024766", "matchIDinofficial": "20240126FRIFB0744", "matchNum": "", "matchDate": "2024-01-26T03:30:00+08:00", "matchDay": "FRI", "frontEndId": "FB0744", "displayOrder": "1.1706211000.28.Belgian Cup .1.99.Union Saint Gilloise .000", "homeTeam": {"teamID": "50003201", "teamNameCH": "\u8056\u57fa\u840a\u65af\u806f", "teamNameEN": "Union Saint Gilloise"}, "awayTeam": {"teamID": "50000175", "teamNameCH": "\u5b89\u5fb7\u5217\u6cbb", "teamNameEN": "Anderlecht"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T03:30:00.000+08:00", "statuslastupdated": "2024-01-22T19:30:01.066+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022259", "frontEndId": "FB7805", "tournamentShortName": "BFC", "tournamentNameCH": "\u6bd4\u5229\u6642\u76c3", "tournamentNameEN": "Belgian Cup", "tShortCH": "\u6bd4\u5229\u6642\u76c3", "tShortEN": "Belgian Cup", "displayOrder": "28.Belgian Cup .2024-05-06.000", "tName": "50000023"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47077871"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T03:30:00.000+08:00", "POOLID": "399031003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.02", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.90", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.80", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.39", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024748", "matchIDinofficial": "20240126FRIFB0754", "matchNum": "", "matchDate": "2024-01-26T03:45:00+08:00", "matchDay": "FRI", "frontEndId": "FB0754", "displayOrder": "1.1706211900.28.FA Cup .1.99.Bournemouth .000", "homeTeam": {"teamID": "50000510", "teamNameCH": "\u822c\u5c3c\u8305\u592b", "teamNameEN": "Bournemouth"}, "awayTeam": {"teamID": "50003009", "teamNameCH": "\u53f2\u96f2\u65af", "teamNameEN": "Swansea"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T03:45:00.000+08:00", "statuslastupdated": "2024-01-23T00:37:58.860+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022578", "frontEndId": "FB8445", "tournamentShortName": "EFA", "tournamentNameCH": "\u82f1\u683c\u862d\u8db3\u7e3d\u76c3", "tournamentNameEN": "FA Cup", "tShortCH": "\u82f1\u683c\u862d\u8db3\u7e3d\u76c3", "tShortEN": "FA Cup", "displayOrder": "28.FA Cup .2024-05-27.000", "tName": "50000056"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46828245"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T03:45:00.000+08:00", "POOLID": "397282003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.98", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.73", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "4", "HCOMBID": "1", "H": "100@1.80", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.90", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "4.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.29", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024840", "matchIDinofficial": "20240126FRIFB0761", "matchNum": "", "matchDate": "2024-01-26T04:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0761", "displayOrder": "1.1706212800.20.Spanish Cup .1.02.Atletico Madrid .000", "homeTeam": {"teamID": "50000267", "teamNameCH": "\u99ac\u5fb7\u91cc\u9ad4\u80b2\u6703", "teamNameEN": "Atletico Madrid"}, "awayTeam": {"teamID": "50002804", "teamNameCH": "\u897f\u7dad\u723e", "teamNameEN": "Sevilla"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T04:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50022469", "frontEndId": "FB7856", "tournamentShortName": "SFC", "tournamentNameCH": "\u897f\u73ed\u7259\u76c3", "tournamentNameEN": "Spanish Cup", "tShortCH": "\u897f\u73ed\u7259\u76c3", "tShortEN": "Spanish Cup", "displayOrder": "20.Spanish Cup .2024-04-08.000", "tName": "50000099"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47118931"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T04:00:00.000+08:00", "POOLID": "401339003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.40", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "TQL", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "1"}, {"matchID": "50024776", "matchIDinofficial": "20240126FRIFB0760", "matchNum": "", "matchDate": "2024-01-26T06:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0760", "displayOrder": "1.1706220000.30.Argentine Division 1 .1.99.Instituto de Cordoba .000", "homeTeam": {"teamID": "50001607", "teamNameCH": "\u79d1\u723e\u591a\u74e6\u5b78\u9662", "teamNameEN": "Instituto de Cordoba"}, "awayTeam": {"teamID": "50312807", "teamNameCH": "\u840a\u65af\u67e5", "teamNameEN": "Deportivo Riestra"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T06:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655301"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T06:00:00.000+08:00", "POOLID": "399151003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.20", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.59", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024764", "matchIDinofficial": "20240126FRIFB0758", "matchNum": "", "matchDate": "2024-01-26T06:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0758", "displayOrder": "1.1706220000.30.Argentine Division 1 .1.99.Tigre .000", "homeTeam": {"teamID": "50003074", "teamNameCH": "\u5824\u683c\u96f7", "teamNameEN": "Tigre"}, "awayTeam": {"teamID": "50002749", "teamNameCH": "\u6c99\u7c73\u6069\u5716", "teamNameEN": "Sarmiento"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T06:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655311"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T06:00:00.000+08:00", "POOLID": "399007003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.50", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.46", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.19", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.60", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.60", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.14", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024724", "matchIDinofficial": "20240126FRIFB0755", "matchNum": "", "matchDate": "2024-01-26T06:30:00+08:00", "matchDay": "FRI", "frontEndId": "FB0755", "displayOrder": "1.1706221800.30.Brazilian Paulista League .1.08.Santos .000", "homeTeam": {"teamID": "50002739", "teamNameCH": "\u5c71\u5ea6\u58eb", "teamNameEN": "Santos"}, "awayTeam": {"teamID": "50002477", "teamNameCH": "\u90a6\u8fea\u6bd4\u9054", "teamNameEN": "Ponte Preta"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T06:30:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T06:30:00.000+08:00", "POOLID": "397087003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.94", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.76", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.22", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.58", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.26", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024755", "matchIDinofficial": "20240126FRIFB0756", "matchNum": "", "matchDate": "2024-01-26T08:00:00+08:00", "matchDay": "FRI", "frontEndId": "FB0756", "displayOrder": "1.1706227200.30.Brazilian Paulista League .1.99.Santo Andre .000", "homeTeam": {"teamID": "50002738", "teamNameCH": "\u8056\u5b89\u5fb7\u96f7", "teamNameEN": "Santo Andre"}, "awayTeam": {"teamID": "50002305", "teamNameCH": "\u8def\u79be\u5229\u6851\u5929\u5974", "teamNameEN": "Novorizontino"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T08:00:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024101", "frontEndId": "", "tournamentShortName": "BPC", "tournamentNameCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tournamentNameEN": "Brazilian Paulista League", "tShortCH": "\u5df4\u897f\u8056\u4fdd\u7f85\u7701\u806f\u8cfd", "tShortEN": "Brazilian Paulista League", "displayOrder": "30.Brazilian Paulista League .2024-04-09.000", "tName": "50000028"}, "channel": [], "liveEvent": {"hasLiveInfo": false, "matchIDbetradar": ""}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T08:00:00.000+08:00", "POOLID": "398874003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.38", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.51", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.05", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.68", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.17", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024763", "matchIDinofficial": "20240126FRIFB0757", "matchNum": "", "matchDate": "2024-01-26T08:15:00+08:00", "matchDay": "FRI", "frontEndId": "FB0757", "displayOrder": "1.1706228100.30.Argentine Division 1 .1.99.Atletico Tucuman .000", "homeTeam": {"teamID": "50000283", "teamNameCH": "\u5716\u5eab\u66fc\u9ad4\u80b2\u6703", "teamNameEN": "Atletico Tucuman"}, "awayTeam": {"teamID": "50002653", "teamNameCH": "\u7f85\u6c99\u91cc\u5967\u4e2d\u592e", "teamNameEN": "Rosario Central"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T08:15:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655303"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T08:15:00.000+08:00", "POOLID": "398995003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.45", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.48", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.13", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.63", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.40", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.15", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}, {"matchID": "50024765", "matchIDinofficial": "20240126FRIFB0759", "matchNum": "", "matchDate": "2024-01-26T08:15:00+08:00", "matchDay": "FRI", "frontEndId": "FB0759", "displayOrder": "1.1706228100.30.Argentine Division 1 .1.99.CA Central Cordoba .000", "homeTeam": {"teamID": "50000612", "teamNameCH": "CA\u79d1\u723e\u591a\u74e6\u4e2d\u592e", "teamNameEN": "CA Central Cordoba"}, "awayTeam": {"teamID": "50002255", "teamNameCH": "\u7d10\u7dad\u723e\u820a\u751f", "teamNameEN": "Newell's Old Boys"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-01-26T08:15:00.000+08:00", "statuslastupdated": "2024-01-23T19:30:04.380+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50024762", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "tShortCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tShortEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-05-07.000", "tName": "50000014"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655317"}, "accumulatedscore": [], "Cur": "1", "hasWebTV": false, "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-01-26T08:15:00.000+08:00", "POOLID": "399019003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.38", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "1.5/2.0", "LINEID": "4", "HCOMBID": "1", "H": "100@1.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.95", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.95", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.12", "L_ES": "Offer"}], "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HIL", "FHL"], "inplayPools": [], "anyInplaySelling": "-1"}] \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/test.sh b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/test.sh new file mode 100644 index 00000000..0e93971f --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/bet_hkjc_com/football/test.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +export PYTHONDONTWRITEBYTECODE=1 + +python3 getJSON.py diff --git a/ych1990101/task1-optimized/app/notebook/competitions.json b/ych1990101/task1-optimized/app/notebook/competitions.json new file mode 100644 index 00000000..a1d1df38 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/competitions.json @@ -0,0 +1 @@ +[{"categoryId": 10227, "categoryName": "England", "categoryImg": "england", "competitions": [{"competitionId": 50015668, "competitionName": "Eng Premier", "standing_table_link": "https://footylogic.com/en/tournament/league/50015668/standings"}, {"competitionId": 50016923, "competitionName": "Eng Championship", "standing_table_link": "https://footylogic.com/en/tournament/league/50016923/standings"}, {"competitionId": 50016924, "competitionName": "Eng League 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50016924/standings"}, {"competitionId": 50016925, "competitionName": "Eng League 2", "standing_table_link": "https://footylogic.com/en/tournament/league/50016925/standings"}, {"competitionId": 50022578, "competitionName": "FA Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50022578/standings"}, {"competitionId": 50018849, "competitionName": "Eng League Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50018849/standings"}, {"competitionId": 50020336, "competitionName": "Eng League Trophy", "standing_table_link": "https://footylogic.com/en/tournament/league/50020336/standings"}, {"competitionId": 50015602, "competitionName": "Eng Shield", "standing_table_link": "https://footylogic.com/en/tournament/league/50015602/standings"}]}, {"categoryId": 10013, "categoryName": "Australia", "categoryImg": "australia", "competitions": [{"competitionId": 50022033, "competitionName": "Australian Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50022033/standings"}, {"competitionId": 50015616, "competitionName": "Australian FA Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50015616/standings"}]}, {"categoryId": 10200, "categoryName": "Spain", "categoryImg": "spain", "competitions": [{"competitionId": 50016200, "competitionName": "Spanish Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50016200/standings"}, {"competitionId": 50019599, "competitionName": "Spanish Division 2", "standing_table_link": "https://footylogic.com/en/tournament/league/50019599/standings"}, {"competitionId": 50022469, "competitionName": "Spanish Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50022469/standings"}, {"competitionId": 50024282, "competitionName": "Spanish Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50024282/standings"}]}, {"categoryId": 10082, "categoryName": "Germany", "categoryImg": "germany", "competitions": [{"competitionId": 50016467, "competitionName": "German Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50016467/standings"}, {"competitionId": 50016660, "competitionName": "German Division 2", "standing_table_link": "https://footylogic.com/en/tournament/league/50016660/standings"}, {"competitionId": 50019550, "competitionName": "German Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50019550/standings"}, {"competitionId": 50019595, "competitionName": "German Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50019595/standings"}]}, {"categoryId": 10107, "categoryName": "Italy", "categoryImg": "italy", "competitions": [{"competitionId": 50016549, "competitionName": "Italian Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50016549/standings"}, {"competitionId": 50019580, "competitionName": "Italian Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50019580/standings"}, {"competitionId": 50024543, "competitionName": "Italian Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50024543/standings"}]}, {"categoryId": 10228, "categoryName": "USA", "categoryImg": "united-states-of-america", "competitions": [{"competitionId": 50025712, "competitionName": "US Football League", "standing_table_link": "https://footylogic.com/en/tournament/league/50025712/standings"}, {"competitionId": 50028223, "competitionName": "US League Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50028223/standings"}]}, {"categoryId": 10115, "categoryName": "Korea Republic", "categoryImg": "south-korea", "competitions": [{"competitionId": 50026040, "competitionName": "Korean Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50026040/standings"}, {"competitionId": 50027052, "competitionName": "Korean FA Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50027052/standings"}]}, {"categoryId": 10109, "categoryName": "Japan", "categoryImg": "japan", "competitions": [{"competitionId": 50025768, "competitionName": "Japanese Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50025768/standings"}, {"competitionId": 50025769, "competitionName": "Japanese Division 2", "standing_table_link": "https://footylogic.com/en/tournament/league/50025769/standings"}, {"competitionId": 50026154, "competitionName": "Japanese League Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50026154/standings"}, {"competitionId": 50029638, "competitionName": "Emperor's Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50029638/standings"}, {"competitionId": 50025620, "competitionName": "Japanese Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50025620/standings"}]}, {"categoryId": 10140, "categoryName": "Mexico", "categoryImg": "mexico", "competitions": [{"competitionId": 50024375, "competitionName": "Mexican Premier", "standing_table_link": "https://footylogic.com/en/tournament/league/50024375/standings"}, {"competitionId": 127, "competitionName": "Mexican Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/127/standings"}, {"competitionId": 141, "competitionName": "Mexican Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/141/standings"}, {"competitionId": 50015005, "competitionName": "Mexican Champion Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50015005/standings"}]}, {"categoryId": 10010, "categoryName": "Argentina", "categoryImg": "argentina", "competitions": [{"competitionId": 50029135, "competitionName": "Argentine Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50029135/standings"}, {"competitionId": 50025237, "competitionName": "Argentine Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50025237/standings"}, {"competitionId": 50026492, "competitionName": "Argentine Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50026492/standings"}, {"competitionId": 910, "competitionName": "APL Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/910/standings"}]}, {"categoryId": 10074, "categoryName": "France", "categoryImg": "france", "competitions": [{"competitionId": 50016199, "competitionName": "French Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50016199/standings"}, {"competitionId": 50018675, "competitionName": "French Division 2", "standing_table_link": "https://footylogic.com/en/tournament/league/50018675/standings"}, {"competitionId": 50023043, "competitionName": "French FA Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50023043/standings"}, {"competitionId": 28, "competitionName": "French League Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/28/standings"}, {"competitionId": 50023652, "competitionName": "French Champion Trophy", "standing_table_link": "https://footylogic.com/en/tournament/league/50023652/standings"}]}, {"categoryId": 10179, "categoryName": "Russia", "categoryImg": "russia", "competitions": [{"competitionId": 50016142, "competitionName": "Russian Premier", "standing_table_link": "https://footylogic.com/en/tournament/league/50016142/standings"}, {"competitionId": 50016363, "competitionName": "Russian Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50016363/standings"}, {"competitionId": 50015520, "competitionName": "Russian Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50015520/standings"}]}, {"categoryId": 10208, "categoryName": "Sweden", "categoryImg": "sweden", "competitions": [{"competitionId": 50027252, "competitionName": "Swedish Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50027252/standings"}, {"competitionId": 50019777, "competitionName": "Swedish Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50019777/standings"}]}, {"categoryId": 10174, "categoryName": "Portugal", "categoryImg": "portugal", "competitions": [{"competitionId": 50019002, "competitionName": "Portuguese Premier", "standing_table_link": "https://footylogic.com/en/tournament/league/50019002/standings"}, {"competitionId": 50022009, "competitionName": "Portuguese Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50022009/standings"}, {"competitionId": 50016144, "competitionName": "Portuguese League Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50016144/standings"}, {"competitionId": 50018847, "competitionName": "Portuguese Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50018847/standings"}]}, {"categoryId": 10163, "categoryName": "Norway", "categoryImg": "norway", "competitions": [{"competitionId": 50027281, "competitionName": "Norwegian Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50027281/standings"}, {"competitionId": 50028052, "competitionName": "Norwegian Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50028052/standings"}, {"competitionId": 151, "competitionName": "Norwegian Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/151/standings"}]}, {"categoryId": 10153, "categoryName": "Netherlands", "categoryImg": "netherlands", "competitions": [{"competitionId": 50019000, "competitionName": "Dutch Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50019000/standings"}, {"competitionId": 50019001, "competitionName": "Dutch Division 2", "standing_table_link": "https://footylogic.com/en/tournament/league/50019001/standings"}, {"competitionId": 50022411, "competitionName": "Dutch Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50022411/standings"}, {"competitionId": 50018763, "competitionName": "Dutch Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50018763/standings"}]}, {"categoryId": 10030, "categoryName": "Brazil", "categoryImg": "brazil", "competitions": [{"competitionId": 50028086, "competitionName": "Brazilian Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50028086/standings"}, {"competitionId": 50024101, "competitionName": "Brazilian Paulista League", "standing_table_link": "https://footylogic.com/en/tournament/league/50024101/standings"}, {"competitionId": 50026399, "competitionName": "Brazilian Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50026399/standings"}]}, {"categoryId": 10043, "categoryName": "Chile", "categoryImg": "chile", "competitions": [{"competitionId": 50025575, "competitionName": "Chilean Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50025575/standings"}, {"competitionId": 50014689, "competitionName": "Chilean Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50014689/standings"}, {"competitionId": 50025298, "competitionName": "Chilean Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50025298/standings"}]}, {"categoryId": 10021, "categoryName": "Belgium", "categoryImg": "belgium", "competitions": [{"competitionId": 50016588, "competitionName": "Belgian Division 1", "standing_table_link": "https://footylogic.com/en/tournament/league/50016588/standings"}, {"competitionId": 50022259, "competitionName": "Belgian Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50022259/standings"}, {"competitionId": 50016140, "competitionName": "Belgian Super Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50016140/standings"}]}, {"categoryId": 10246, "categoryName": "Scotland", "categoryImg": "scotland", "competitions": [{"competitionId": 50018485, "competitionName": "Scottish Premier", "standing_table_link": "https://footylogic.com/en/tournament/league/50018485/standings"}, {"competitionId": 50024631, "competitionName": "Scottish FA Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50024631/standings"}, {"competitionId": 50015522, "competitionName": "Scottish League Cup", "standing_table_link": "https://footylogic.com/en/tournament/league/50015522/standings"}]}] \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/dropdown-filters.json b/ych1990101/task1-optimized/app/notebook/dropdown-filters.json new file mode 100644 index 00000000..da3ca708 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/dropdown-filters.json @@ -0,0 +1 @@ +{"Season": [{"id": 4479, "name": "2023/24 ", "competitionId": 50015432}, {"id": 4228, "name": "2022/23 ", "competitionId": 50015432}, {"id": 3931, "name": "2021/22 ", "competitionId": 50015432}], "Options": [{"id": 1, "name": "All", "competitionId": 50015432}, {"id": 2, "name": "Home", "competitionId": 50015432}, {"id": 3, "name": "Away", "competitionId": 50015432}], "betType": [{"id": 1, "name": "HalfTime", "competitionId": 50015432}, {"id": 2, "name": "FullTime", "competitionId": 50015432}]} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/.gitkeep b/ych1990101/task1-optimized/app/notebook/jsons/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ych1990101/task1-optimized/app/notebook/jsons/banner.json b/ych1990101/task1-optimized/app/notebook/jsons/banner.json new file mode 100644 index 00000000..44c3abef --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/banner.json @@ -0,0 +1 @@ +{"eventId": "50029247", "homeTeamLogo": 11206, "awayTeamLogo": 11285, "homeTeamName": "Olympiakos", "awayTeamName": "Fiorentina", "competitionName": "UE Conference", "kickOffTime": "2024-05-29 19:00:00", "homeOdds": 3, "awayOdds": 2.18, "drawOdds": 2.92, "homeTeamId": 50002337, "homeTeamIdNav": null, "awayTeamId": 50001245, "awayTeamIdNav": 50001245, "matchNumber": null, "homeTeamPos": null, "awayTeamPos": "8", "matchDayCode": "FB6853", "competitionId": 50015432, "tournamentType": "League", "homePlayerAnalysis": 2, "awayPlayerAnalysis": 2, "homeLeagueShortName": null, "awayLeagueShortName": "ITA L1", "competitionIdNav": 50015432} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/json_manifest.json b/ych1990101/task1-optimized/app/notebook/jsons/json_manifest.json new file mode 100644 index 00000000..ee817b61 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/json_manifest.json @@ -0,0 +1 @@ +{"banner_json": {"eventId": "50029247", "homeTeamLogo": 11206, "awayTeamLogo": 11285, "homeTeamName": "Olympiakos", "awayTeamName": "Fiorentina", "competitionName": "UE Conference", "kickOffTime": "2024-05-29 19:00:00", "homeOdds": 3, "awayOdds": 2.18, "drawOdds": 2.92, "homeTeamId": 50002337, "homeTeamIdNav": null, "awayTeamId": 50001245, "awayTeamIdNav": 50001245, "matchNumber": null, "homeTeamPos": null, "awayTeamPos": "8", "matchDayCode": "FB6853", "competitionId": 50015432, "tournamentType": "League", "homePlayerAnalysis": 2, "awayPlayerAnalysis": 2, "homeLeagueShortName": null, "awayLeagueShortName": "ITA L1", "competitionIdNav": 50015432}, "markets-info.json": {"leagueTable": {"homeTeam": {"all": {"teamPlayed": "6", "teamWin": "4", "teamDraw": "0", "teamLoss": "2", "teamGF": "14", "teamGA": "10", "points": "12", "winpercentage": 67}, "home": {"teamPlayed": "3", "teamWin": "2", "teamDraw": "0", "teamLoss": "1", "teamGF": "6", "teamGA": "6", "points": "6", "winpercentage": 67}, "away": {"teamPlayed": "3", "teamWin": "2", "teamDraw": "0", "teamLoss": "1", "teamGF": "8", "teamGA": "4", "points": "6", "winpercentage": 67}}, "awayTeam": {"all": {"teamPlayed": "12", "teamWin": "5", "teamDraw": "7", "teamLoss": "0", "teamGF": "23", "teamGA": "13", "points": "22", "winpercentage": 42}, "home": {"teamPlayed": "6", "teamWin": "3", "teamDraw": "3", "teamLoss": "0", "teamGF": "14", "teamGA": "6", "points": "12", "winpercentage": 50}, "away": {"teamPlayed": "6", "teamWin": "2", "teamDraw": "4", "teamLoss": "0", "teamGF": "9", "teamGA": "7", "points": "10", "winpercentage": 33}}}, "handicapTable": {"homeTeam": {"all": {"teamWin": "3", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "1", "teamLoss": "0", "winPct": 75, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 25, "lossPct": 0}, "home": {"teamWin": "2", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "0", "teamLoss": "0", "winPct": 100, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 0, "lossPct": 0}, "away": {"teamWin": "1", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "1", "teamLoss": "0", "winPct": 50, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 50, "lossPct": 0}}, "awayTeam": {"all": {"teamWin": "0", "teamHalfWin": "1", "teamDraw": "2", "teamHalfLoss": "0", "teamLoss": "3", "winPct": 0, "halfWinPct": 17, "drawPct": 33, "halfLossPct": 0, "lossPct": 50}, "home": {"teamWin": "0", "teamHalfWin": "1", "teamDraw": "0", "teamHalfLoss": "0", "teamLoss": "2", "winPct": 0, "halfWinPct": 33, "drawPct": 0, "halfLossPct": 0, "lossPct": 67}, "away": {"teamWin": "0", "teamHalfWin": "0", "teamDraw": "2", "teamHalfLoss": "0", "teamLoss": "1", "winPct": 0, "halfWinPct": 0, "drawPct": 67, "halfLossPct": 0, "lossPct": 33}}}, "handicapHadTable": {"homeTeam": {"all": {"teamWin": "3", "teamDraw": "2", "teamLoss": "1", "winPct": 50, "drawPct": 33, "lossPct": 17}, "home": {"teamWin": "1", "teamDraw": "1", "teamLoss": "1", "winPct": 33, "drawPct": 33, "lossPct": 33}, "away": {"teamWin": "2", "teamDraw": "1", "teamLoss": "0", "winPct": 67, "drawPct": 33, "lossPct": 0}}, "awayTeam": {"all": {"teamWin": "2", "teamDraw": "3", "teamLoss": "7", "winPct": 17, "drawPct": 25, "lossPct": 58}, "home": {"teamWin": "1", "teamDraw": "2", "teamLoss": "3", "winPct": 17, "drawPct": 33, "lossPct": 50}, "away": {"teamWin": "1", "teamDraw": "1", "teamLoss": "4", "winPct": 17, "drawPct": 17, "lossPct": 67}}}, "oddEvenTable": {"homeTeam": {"all": {"teamOdd": "4", "teamEven": "2", "oddPct": 67, "evenPct": 33}, "home": {"teamOdd": "2", "teamEven": "1", "oddPct": 67, "evenPct": 33}, "away": {"teamOdd": "2", "teamEven": "1", "oddPct": 67, "evenPct": 33}}, "awayTeam": {"all": {"teamOdd": "4", "teamEven": "8", "oddPct": 33, "evenPct": 67}, "home": {"teamOdd": "2", "teamEven": "4", "oddPct": 33, "evenPct": 67}, "away": {"teamOdd": "2", "teamEven": "4", "oddPct": 33, "evenPct": 67}}}, "goalsTable": {"homeTeam": {"all": {"goalsZero": "0", "goalsOne": "1", "goalsTwo": "1", "goalsThree": "0", "goalsFour": "0", "goalsFive": "3", "goalsSix": "1", "goalsSevenplus": "0", "average": "4.0"}, "home": {"goalsZero": "0", "goalsOne": "0", "goalsTwo": "1", "goalsThree": "0", "goalsFour": "0", "goalsFive": "2", "goalsSix": "0", "goalsSevenplus": "0", "average": "4.0"}, "away": {"goalsZero": "0", "goalsOne": "1", "goalsTwo": "0", "goalsThree": "0", "goalsFour": "0", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "0", "average": "4.0"}}, "awayTeam": {"all": {"goalsZero": "2", "goalsOne": "1", "goalsTwo": "3", "goalsThree": "1", "goalsFour": "2", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "1", "average": "3.0"}, "home": {"goalsZero": "1", "goalsOne": "0", "goalsTwo": "1", "goalsThree": "1", "goalsFour": "1", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "0", "average": "3.3"}, "away": {"goalsZero": "1", "goalsOne": "1", "goalsTwo": "2", "goalsThree": "0", "goalsFour": "1", "goalsFive": "0", "goalsSix": "0", "goalsSevenplus": "1", "average": "2.7"}}}, "correctScoreTable": {"homeTeam": {"all": {"score1_0": "0", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "0", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "0", "score2_0": "0", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}}, "awayTeam": {"all": {"score1_0": "1", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "3", "score2_2": "2", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "1", "score1_1": "1", "score2_2": "1", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "1", "score2_0": "0", "score2_1": "0", "score0_0": "1", "score1_1": "2", "score2_2": "1", "score0_1": "0", "score0_2": "0", "score1_2": "0"}}}, "firstHalfCorrectScoreTable": {"homeTeam": {"all": {"score1_0": "1", "score2_0": "1", "score2_1": "1", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "1", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}}, "awayTeam": {"all": {"score1_0": "1", "score2_0": "0", "score2_1": "2", "score0_0": "4", "score1_1": "1", "score2_2": "0", "score0_1": "2", "score0_2": "0", "score1_2": "1"}, "home": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "1", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "1", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "1"}}}, "htFtTable": {"homeTeam": {"all": {"teamWinWin": "4", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "2"}, "home": {"teamWinWin": "2", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "1"}, "away": {"teamWinWin": "2", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "1"}}, "awayTeam": {"all": {"teamWinWin": "3", "teamDrawWin": "1", "teamLossWin": "1", "teamWinDraw": "1", "teamDrawDraw": "4", "teamLossDraw": "2", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}, "home": {"teamWinWin": "2", "teamDrawWin": "1", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "2", "teamLossDraw": "1", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}, "away": {"teamWinWin": "1", "teamDrawWin": "0", "teamLossWin": "1", "teamWinDraw": "1", "teamDrawDraw": "2", "teamLossDraw": "1", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}}}, "cornerHiLoTable": {"homeTeam": {"all": [{"line": 8.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 9.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 11.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 12.5, "high": 0, "low": 6, "highPct": 0, "lowPct": 100}], "home": [{"line": 8.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 11.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}], "away": [{"line": 8.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 11.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}]}, "awayTeam": {"all": [{"line": 8.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 9.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 11.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 12.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}], "home": [{"line": 8.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 11.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 12.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}], "away": [{"line": 8.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 11.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}]}}, "firstTeamToScoreTable": {"teamToScore": {"homeTeam": {"all": {"matches": "6", "scoreFirst": "4", "oppositeScoreFirst": "2"}, "home": {"matches": "3", "scoreFirst": "2", "oppositeScoreFirst": "1"}, "away": {"matches": "3", "scoreFirst": "2", "oppositeScoreFirst": "1"}}, "awayTeam": {"all": {"matches": "12", "scoreFirst": "5", "oppositeScoreFirst": "0"}, "home": {"matches": "6", "scoreFirst": "3", "oppositeScoreFirst": "0"}, "away": {"matches": "6", "scoreFirst": "2", "oppositeScoreFirst": "0"}}}, "scoreFirst": {"homeTeam": {"won": {"scoreFirst": "4", "oppositeScoreFirst": "0"}, "draw": {"scoreFirst": "0", "oppositeScoreFirst": "0"}, "lost": {"scoreFirst": "0", "oppositeScoreFirst": "2"}}, "awayTeam": {"won": {"scoreFirst": "5", "oppositeScoreFirst": "0"}, "draw": {"scoreFirst": "0", "oppositeScoreFirst": "0"}, "lost": {"scoreFirst": "0", "oppositeScoreFirst": "0"}}}}, "hiLoTable": {"homeTeam": {"all": {"halfTime": [{"line": 0.5, "high": 6, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}], "fullTime": [{"line": 1.5, "high": 5, "low": 1, "highPct": 83, "lowPct": 17}, {"line": 2.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}]}, "home": {"halfTime": [{"line": 0.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}]}, "away": {"halfTime": [{"line": 0.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}], "fullTime": [{"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}]}}, "awayTeam": {"all": {"halfTime": [{"line": 0.5, "high": 8, "low": 4, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 5, "low": 7, "highPct": 42, "lowPct": 58}, {"line": 2.5, "high": 4, "low": 8, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 9, "low": 3, "highPct": 75, "lowPct": 25}, {"line": 2.5, "high": 6, "low": 6, "highPct": 50, "lowPct": 50}, {"line": 3.5, "high": 5, "low": 7, "highPct": 42, "lowPct": 58}]}, "home": {"halfTime": [{"line": 0.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 5, "low": 1, "highPct": 83, "lowPct": 17}, {"line": 2.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}]}, "away": {"halfTime": [{"line": 0.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 3.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}]}}}, "fhHadTable": {"homeTeam": {"all": {"teamWin": "4", "teamDraw": "0", "teamLoss": "2", "winPct": 67, "drawPct": 0, "lossPct": 33}, "home": {"teamWin": "2", "teamDraw": "0", "teamLoss": "1", "winPct": 67, "drawPct": 0, "lossPct": 33}, "away": {"teamWin": "2", "teamDraw": "0", "teamLoss": "1", "winPct": 67, "drawPct": 0, "lossPct": 33}}, "awayTeam": {"all": {"teamWin": "4", "teamDraw": "5", "teamLoss": "3", "winPct": 33, "drawPct": 42, "lossPct": 25}, "home": {"teamWin": "2", "teamDraw": "3", "teamLoss": "1", "winPct": 33, "drawPct": 50, "lossPct": 17}, "away": {"teamWin": "2", "teamDraw": "2", "teamLoss": "2", "winPct": 33, "drawPct": 33, "lossPct": 33}}}}, "leagueTable": {"homeTeam": {"all": {"teamPlayed": "6", "teamWin": "4", "teamDraw": "0", "teamLoss": "2", "teamGF": "14", "teamGA": "10", "points": "12", "winpercentage": 67}, "home": {"teamPlayed": "3", "teamWin": "2", "teamDraw": "0", "teamLoss": "1", "teamGF": "6", "teamGA": "6", "points": "6", "winpercentage": 67}, "away": {"teamPlayed": "3", "teamWin": "2", "teamDraw": "0", "teamLoss": "1", "teamGF": "8", "teamGA": "4", "points": "6", "winpercentage": 67}}, "awayTeam": {"all": {"teamPlayed": "12", "teamWin": "5", "teamDraw": "7", "teamLoss": "0", "teamGF": "23", "teamGA": "13", "points": "22", "winpercentage": 42}, "home": {"teamPlayed": "6", "teamWin": "3", "teamDraw": "3", "teamLoss": "0", "teamGF": "14", "teamGA": "6", "points": "12", "winpercentage": 50}, "away": {"teamPlayed": "6", "teamWin": "2", "teamDraw": "4", "teamLoss": "0", "teamGF": "9", "teamGA": "7", "points": "10", "winpercentage": 33}}}, "handicapTable": {"homeTeam": {"all": {"teamWin": "3", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "1", "teamLoss": "0", "winPct": 75, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 25, "lossPct": 0}, "home": {"teamWin": "2", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "0", "teamLoss": "0", "winPct": 100, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 0, "lossPct": 0}, "away": {"teamWin": "1", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "1", "teamLoss": "0", "winPct": 50, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 50, "lossPct": 0}}, "awayTeam": {"all": {"teamWin": "0", "teamHalfWin": "1", "teamDraw": "2", "teamHalfLoss": "0", "teamLoss": "3", "winPct": 0, "halfWinPct": 17, "drawPct": 33, "halfLossPct": 0, "lossPct": 50}, "home": {"teamWin": "0", "teamHalfWin": "1", "teamDraw": "0", "teamHalfLoss": "0", "teamLoss": "2", "winPct": 0, "halfWinPct": 33, "drawPct": 0, "halfLossPct": 0, "lossPct": 67}, "away": {"teamWin": "0", "teamHalfWin": "0", "teamDraw": "2", "teamHalfLoss": "0", "teamLoss": "1", "winPct": 0, "halfWinPct": 0, "drawPct": 67, "halfLossPct": 0, "lossPct": 33}}}, "handicapHadTable": {"homeTeam": {"all": {"teamWin": "3", "teamDraw": "2", "teamLoss": "1", "winPct": 50, "drawPct": 33, "lossPct": 17}, "home": {"teamWin": "1", "teamDraw": "1", "teamLoss": "1", "winPct": 33, "drawPct": 33, "lossPct": 33}, "away": {"teamWin": "2", "teamDraw": "1", "teamLoss": "0", "winPct": 67, "drawPct": 33, "lossPct": 0}}, "awayTeam": {"all": {"teamWin": "2", "teamDraw": "3", "teamLoss": "7", "winPct": 17, "drawPct": 25, "lossPct": 58}, "home": {"teamWin": "1", "teamDraw": "2", "teamLoss": "3", "winPct": 17, "drawPct": 33, "lossPct": 50}, "away": {"teamWin": "1", "teamDraw": "1", "teamLoss": "4", "winPct": 17, "drawPct": 17, "lossPct": 67}}}, "oddEvenTable": {"homeTeam": {"all": {"teamOdd": "4", "teamEven": "2", "oddPct": 67, "evenPct": 33}, "home": {"teamOdd": "2", "teamEven": "1", "oddPct": 67, "evenPct": 33}, "away": {"teamOdd": "2", "teamEven": "1", "oddPct": 67, "evenPct": 33}}, "awayTeam": {"all": {"teamOdd": "4", "teamEven": "8", "oddPct": 33, "evenPct": 67}, "home": {"teamOdd": "2", "teamEven": "4", "oddPct": 33, "evenPct": 67}, "away": {"teamOdd": "2", "teamEven": "4", "oddPct": 33, "evenPct": 67}}}, "goalsTable": {"homeTeam": {"all": {"goalsZero": "0", "goalsOne": "1", "goalsTwo": "1", "goalsThree": "0", "goalsFour": "0", "goalsFive": "3", "goalsSix": "1", "goalsSevenplus": "0", "average": "4.0"}, "home": {"goalsZero": "0", "goalsOne": "0", "goalsTwo": "1", "goalsThree": "0", "goalsFour": "0", "goalsFive": "2", "goalsSix": "0", "goalsSevenplus": "0", "average": "4.0"}, "away": {"goalsZero": "0", "goalsOne": "1", "goalsTwo": "0", "goalsThree": "0", "goalsFour": "0", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "0", "average": "4.0"}}, "awayTeam": {"all": {"goalsZero": "2", "goalsOne": "1", "goalsTwo": "3", "goalsThree": "1", "goalsFour": "2", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "1", "average": "3.0"}, "home": {"goalsZero": "1", "goalsOne": "0", "goalsTwo": "1", "goalsThree": "1", "goalsFour": "1", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "0", "average": "3.3"}, "away": {"goalsZero": "1", "goalsOne": "1", "goalsTwo": "2", "goalsThree": "0", "goalsFour": "1", "goalsFive": "0", "goalsSix": "0", "goalsSevenplus": "1", "average": "2.7"}}}, "correctScoreTable": {"homeTeam": {"all": {"score1_0": "0", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "0", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "0", "score2_0": "0", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}}, "awayTeam": {"all": {"score1_0": "1", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "3", "score2_2": "2", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "1", "score1_1": "1", "score2_2": "1", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "1", "score2_0": "0", "score2_1": "0", "score0_0": "1", "score1_1": "2", "score2_2": "1", "score0_1": "0", "score0_2": "0", "score1_2": "0"}}}, "firstHalfCorrectScoreTable": {"homeTeam": {"all": {"score1_0": "1", "score2_0": "1", "score2_1": "1", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "1", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}}, "awayTeam": {"all": {"score1_0": "1", "score2_0": "0", "score2_1": "2", "score0_0": "4", "score1_1": "1", "score2_2": "0", "score0_1": "2", "score0_2": "0", "score1_2": "1"}, "home": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "1", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "1", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "1"}}}, "htFtTable": {"homeTeam": {"all": {"teamWinWin": "4", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "2"}, "home": {"teamWinWin": "2", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "1"}, "away": {"teamWinWin": "2", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "1"}}, "awayTeam": {"all": {"teamWinWin": "3", "teamDrawWin": "1", "teamLossWin": "1", "teamWinDraw": "1", "teamDrawDraw": "4", "teamLossDraw": "2", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}, "home": {"teamWinWin": "2", "teamDrawWin": "1", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "2", "teamLossDraw": "1", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}, "away": {"teamWinWin": "1", "teamDrawWin": "0", "teamLossWin": "1", "teamWinDraw": "1", "teamDrawDraw": "2", "teamLossDraw": "1", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}}}, "cornerHiLoTable": {"homeTeam": {"all": [{"line": 8.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 9.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 11.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 12.5, "high": 0, "low": 6, "highPct": 0, "lowPct": 100}], "home": [{"line": 8.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 11.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}], "away": [{"line": 8.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 11.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}]}, "awayTeam": {"all": [{"line": 8.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 9.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 11.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 12.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}], "home": [{"line": 8.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 11.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 12.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}], "away": [{"line": 8.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 11.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}]}}, "firstTeamToScoreTable": {"teamToScore": {"homeTeam": {"all": {"matches": "6", "scoreFirst": "4", "oppositeScoreFirst": "2"}, "home": {"matches": "3", "scoreFirst": "2", "oppositeScoreFirst": "1"}, "away": {"matches": "3", "scoreFirst": "2", "oppositeScoreFirst": "1"}}, "awayTeam": {"all": {"matches": "12", "scoreFirst": "5", "oppositeScoreFirst": "0"}, "home": {"matches": "6", "scoreFirst": "3", "oppositeScoreFirst": "0"}, "away": {"matches": "6", "scoreFirst": "2", "oppositeScoreFirst": "0"}}}, "scoreFirst": {"homeTeam": {"won": {"scoreFirst": "4", "oppositeScoreFirst": "0"}, "draw": {"scoreFirst": "0", "oppositeScoreFirst": "0"}, "lost": {"scoreFirst": "0", "oppositeScoreFirst": "2"}}, "awayTeam": {"won": {"scoreFirst": "5", "oppositeScoreFirst": "0"}, "draw": {"scoreFirst": "0", "oppositeScoreFirst": "0"}, "lost": {"scoreFirst": "0", "oppositeScoreFirst": "0"}}}}, "hiLoTable": {"homeTeam": {"all": {"halfTime": [{"line": 0.5, "high": 6, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}], "fullTime": [{"line": 1.5, "high": 5, "low": 1, "highPct": 83, "lowPct": 17}, {"line": 2.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}]}, "home": {"halfTime": [{"line": 0.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}]}, "away": {"halfTime": [{"line": 0.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}], "fullTime": [{"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}]}}, "awayTeam": {"all": {"halfTime": [{"line": 0.5, "high": 8, "low": 4, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 5, "low": 7, "highPct": 42, "lowPct": 58}, {"line": 2.5, "high": 4, "low": 8, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 9, "low": 3, "highPct": 75, "lowPct": 25}, {"line": 2.5, "high": 6, "low": 6, "highPct": 50, "lowPct": 50}, {"line": 3.5, "high": 5, "low": 7, "highPct": 42, "lowPct": 58}]}, "home": {"halfTime": [{"line": 0.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 5, "low": 1, "highPct": 83, "lowPct": 17}, {"line": 2.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}]}, "away": {"halfTime": [{"line": 0.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 3.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}]}}}, "fhHadTable": {"homeTeam": {"all": {"teamWin": "4", "teamDraw": "0", "teamLoss": "2", "winPct": 67, "drawPct": 0, "lossPct": 33}, "home": {"teamWin": "2", "teamDraw": "0", "teamLoss": "1", "winPct": 67, "drawPct": 0, "lossPct": 33}, "away": {"teamWin": "2", "teamDraw": "0", "teamLoss": "1", "winPct": 67, "drawPct": 0, "lossPct": 33}}, "awayTeam": {"all": {"teamWin": "4", "teamDraw": "5", "teamLoss": "3", "winPct": 33, "drawPct": 42, "lossPct": 25}, "home": {"teamWin": "2", "teamDraw": "3", "teamLoss": "1", "winPct": 33, "drawPct": 50, "lossPct": 17}, "away": {"teamWin": "2", "teamDraw": "2", "teamLoss": "2", "winPct": 33, "drawPct": 33, "lossPct": 33}}}, "recentfrom-information.json": {"recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-19 17:00:00", "homeOrAway": "A", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "2:2", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "Greek Division 1", "kickOff": "2024-05-12 17:00:00", "homeOrAway": "A", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "0:2", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-05-02 19:00:00", "homeOrAway": "A", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "4:2", "halfTimeScore": "2:1", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-24 16:30:00", "homeOrAway": "A", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "1:1", "halfTimeScore": "0:0", "fullTimeResult": "D", "firstHalfHad": "D"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-17 18:45:00", "homeOrAway": "H", "oppTeamName": "Napoli", "teamPos": 9, "fullTimeScore": "2:2", "halfTimeScore": "2:1", "fullTimeResult": "D", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-13 18:45:00", "homeOrAway": "H", "oppTeamName": "Monza", "teamPos": 12, "fullTimeScore": "2:1", "halfTimeScore": "1:1", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-02 19:00:00", "homeOrAway": "H", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:1", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-28 18:45:00", "homeOrAway": "H", "oppTeamName": "Sassuolo", "teamPos": 19, "fullTimeScore": "5:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}]}}, "recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "H", "oppTeamName": "Fenerbahce", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-03 16:00:00", "homeOrAway": "H", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "3:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-03-10 18:30:00", "homeOrAway": "H", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "1:3", "halfTimeScore": "1:2", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 17:45:00", "homeOrAway": "H", "oppTeamName": "Maccabi Tel Aviv", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "1:3", "fullTimeResult": "L", "firstHalfHad": "L"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-21 16:00:00", "homeOrAway": "A", "oppTeamName": "Salernitana", "teamPos": 20, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "A", "oppTeamName": "Viktoria Plzen", "teamPos": null, "fullTimeScore": "0:0", "halfTimeScore": "0:0", "fullTimeResult": "D", "firstHalfHad": "D"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-07 18:45:00", "homeOrAway": "A", "oppTeamName": "Juventus", "teamPos": 3, "fullTimeScore": "0:1", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 20:00:00", "homeOrAway": "A", "oppTeamName": "Maccabi Haifa", "teamPos": null, "fullTimeScore": "4:3", "halfTimeScore": "1:2", "fullTimeResult": "W", "firstHalfHad": "L"}]}, "recentfrom-information-home-team.json": {"recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "H", "oppTeamName": "Fenerbahce", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-03 16:00:00", "homeOrAway": "H", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "3:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-03-10 18:30:00", "homeOrAway": "H", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "1:3", "halfTimeScore": "1:2", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 17:45:00", "homeOrAway": "H", "oppTeamName": "Maccabi Tel Aviv", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "1:3", "fullTimeResult": "L", "firstHalfHad": "L"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-17 18:45:00", "homeOrAway": "H", "oppTeamName": "Napoli", "teamPos": 9, "fullTimeScore": "2:2", "halfTimeScore": "2:1", "fullTimeResult": "D", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-13 18:45:00", "homeOrAway": "H", "oppTeamName": "Monza", "teamPos": 12, "fullTimeScore": "2:1", "halfTimeScore": "1:1", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-02 19:00:00", "homeOrAway": "H", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:1", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-28 18:45:00", "homeOrAway": "H", "oppTeamName": "Sassuolo", "teamPos": 19, "fullTimeScore": "5:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}]}}, "recentfrom-information-away-team.json": {"recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "H", "oppTeamName": "Fenerbahce", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-03 16:00:00", "homeOrAway": "H", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "3:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-03-10 18:30:00", "homeOrAway": "H", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "1:3", "halfTimeScore": "1:2", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 17:45:00", "homeOrAway": "H", "oppTeamName": "Maccabi Tel Aviv", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "1:3", "fullTimeResult": "L", "firstHalfHad": "L"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-21 16:00:00", "homeOrAway": "A", "oppTeamName": "Salernitana", "teamPos": 20, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "A", "oppTeamName": "Viktoria Plzen", "teamPos": null, "fullTimeScore": "0:0", "halfTimeScore": "0:0", "fullTimeResult": "D", "firstHalfHad": "D"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-07 18:45:00", "homeOrAway": "A", "oppTeamName": "Juventus", "teamPos": 3, "fullTimeScore": "0:1", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 20:00:00", "homeOrAway": "A", "oppTeamName": "Maccabi Haifa", "teamPos": null, "fullTimeScore": "4:3", "halfTimeScore": "1:2", "fullTimeResult": "W", "firstHalfHad": "L"}]}}, "tournament/standings.json": {"info": {}, "displayname": [], "competitionName": "UE Conference", "lastUpdated": ""}} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/markets-info.json b/ych1990101/task1-optimized/app/notebook/jsons/markets-info.json new file mode 100644 index 00000000..badb02d2 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/markets-info.json @@ -0,0 +1 @@ +{"leagueTable": {"homeTeam": {"all": {"teamPlayed": "6", "teamWin": "4", "teamDraw": "0", "teamLoss": "2", "teamGF": "14", "teamGA": "10", "points": "12", "winpercentage": 67}, "home": {"teamPlayed": "3", "teamWin": "2", "teamDraw": "0", "teamLoss": "1", "teamGF": "6", "teamGA": "6", "points": "6", "winpercentage": 67}, "away": {"teamPlayed": "3", "teamWin": "2", "teamDraw": "0", "teamLoss": "1", "teamGF": "8", "teamGA": "4", "points": "6", "winpercentage": 67}}, "awayTeam": {"all": {"teamPlayed": "12", "teamWin": "5", "teamDraw": "7", "teamLoss": "0", "teamGF": "23", "teamGA": "13", "points": "22", "winpercentage": 42}, "home": {"teamPlayed": "6", "teamWin": "3", "teamDraw": "3", "teamLoss": "0", "teamGF": "14", "teamGA": "6", "points": "12", "winpercentage": 50}, "away": {"teamPlayed": "6", "teamWin": "2", "teamDraw": "4", "teamLoss": "0", "teamGF": "9", "teamGA": "7", "points": "10", "winpercentage": 33}}}, "handicapTable": {"homeTeam": {"all": {"teamWin": "3", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "1", "teamLoss": "0", "winPct": 75, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 25, "lossPct": 0}, "home": {"teamWin": "2", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "0", "teamLoss": "0", "winPct": 100, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 0, "lossPct": 0}, "away": {"teamWin": "1", "teamHalfWin": "0", "teamDraw": "0", "teamHalfLoss": "1", "teamLoss": "0", "winPct": 50, "halfWinPct": 0, "drawPct": 0, "halfLossPct": 50, "lossPct": 0}}, "awayTeam": {"all": {"teamWin": "0", "teamHalfWin": "1", "teamDraw": "2", "teamHalfLoss": "0", "teamLoss": "3", "winPct": 0, "halfWinPct": 17, "drawPct": 33, "halfLossPct": 0, "lossPct": 50}, "home": {"teamWin": "0", "teamHalfWin": "1", "teamDraw": "0", "teamHalfLoss": "0", "teamLoss": "2", "winPct": 0, "halfWinPct": 33, "drawPct": 0, "halfLossPct": 0, "lossPct": 67}, "away": {"teamWin": "0", "teamHalfWin": "0", "teamDraw": "2", "teamHalfLoss": "0", "teamLoss": "1", "winPct": 0, "halfWinPct": 0, "drawPct": 67, "halfLossPct": 0, "lossPct": 33}}}, "handicapHadTable": {"homeTeam": {"all": {"teamWin": "3", "teamDraw": "2", "teamLoss": "1", "winPct": 50, "drawPct": 33, "lossPct": 17}, "home": {"teamWin": "1", "teamDraw": "1", "teamLoss": "1", "winPct": 33, "drawPct": 33, "lossPct": 33}, "away": {"teamWin": "2", "teamDraw": "1", "teamLoss": "0", "winPct": 67, "drawPct": 33, "lossPct": 0}}, "awayTeam": {"all": {"teamWin": "2", "teamDraw": "3", "teamLoss": "7", "winPct": 17, "drawPct": 25, "lossPct": 58}, "home": {"teamWin": "1", "teamDraw": "2", "teamLoss": "3", "winPct": 17, "drawPct": 33, "lossPct": 50}, "away": {"teamWin": "1", "teamDraw": "1", "teamLoss": "4", "winPct": 17, "drawPct": 17, "lossPct": 67}}}, "oddEvenTable": {"homeTeam": {"all": {"teamOdd": "4", "teamEven": "2", "oddPct": 67, "evenPct": 33}, "home": {"teamOdd": "2", "teamEven": "1", "oddPct": 67, "evenPct": 33}, "away": {"teamOdd": "2", "teamEven": "1", "oddPct": 67, "evenPct": 33}}, "awayTeam": {"all": {"teamOdd": "4", "teamEven": "8", "oddPct": 33, "evenPct": 67}, "home": {"teamOdd": "2", "teamEven": "4", "oddPct": 33, "evenPct": 67}, "away": {"teamOdd": "2", "teamEven": "4", "oddPct": 33, "evenPct": 67}}}, "goalsTable": {"homeTeam": {"all": {"goalsZero": "0", "goalsOne": "1", "goalsTwo": "1", "goalsThree": "0", "goalsFour": "0", "goalsFive": "3", "goalsSix": "1", "goalsSevenplus": "0", "average": "4.0"}, "home": {"goalsZero": "0", "goalsOne": "0", "goalsTwo": "1", "goalsThree": "0", "goalsFour": "0", "goalsFive": "2", "goalsSix": "0", "goalsSevenplus": "0", "average": "4.0"}, "away": {"goalsZero": "0", "goalsOne": "1", "goalsTwo": "0", "goalsThree": "0", "goalsFour": "0", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "0", "average": "4.0"}}, "awayTeam": {"all": {"goalsZero": "2", "goalsOne": "1", "goalsTwo": "3", "goalsThree": "1", "goalsFour": "2", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "1", "average": "3.0"}, "home": {"goalsZero": "1", "goalsOne": "0", "goalsTwo": "1", "goalsThree": "1", "goalsFour": "1", "goalsFive": "1", "goalsSix": "1", "goalsSevenplus": "0", "average": "3.3"}, "away": {"goalsZero": "1", "goalsOne": "1", "goalsTwo": "2", "goalsThree": "0", "goalsFour": "1", "goalsFive": "0", "goalsSix": "0", "goalsSevenplus": "1", "average": "2.7"}}}, "correctScoreTable": {"homeTeam": {"all": {"score1_0": "0", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "0", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "0", "score2_0": "0", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}}, "awayTeam": {"all": {"score1_0": "1", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "3", "score2_2": "2", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "1", "score1_1": "1", "score2_2": "1", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "1", "score2_0": "0", "score2_1": "0", "score0_0": "1", "score1_1": "2", "score2_2": "1", "score0_1": "0", "score0_2": "0", "score1_2": "0"}}}, "firstHalfCorrectScoreTable": {"homeTeam": {"all": {"score1_0": "1", "score2_0": "1", "score2_1": "1", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "home": {"score1_0": "1", "score2_0": "1", "score2_1": "0", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "0", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "0", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}}, "awayTeam": {"all": {"score1_0": "1", "score2_0": "0", "score2_1": "2", "score0_0": "4", "score1_1": "1", "score2_2": "0", "score0_1": "2", "score0_2": "0", "score1_2": "1"}, "home": {"score1_0": "0", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "1", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "0"}, "away": {"score1_0": "1", "score2_0": "0", "score2_1": "1", "score0_0": "2", "score1_1": "0", "score2_2": "0", "score0_1": "1", "score0_2": "0", "score1_2": "1"}}}, "htFtTable": {"homeTeam": {"all": {"teamWinWin": "4", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "2"}, "home": {"teamWinWin": "2", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "1"}, "away": {"teamWinWin": "2", "teamDrawWin": "0", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "0", "teamLossDraw": "0", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "1"}}, "awayTeam": {"all": {"teamWinWin": "3", "teamDrawWin": "1", "teamLossWin": "1", "teamWinDraw": "1", "teamDrawDraw": "4", "teamLossDraw": "2", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}, "home": {"teamWinWin": "2", "teamDrawWin": "1", "teamLossWin": "0", "teamWinDraw": "0", "teamDrawDraw": "2", "teamLossDraw": "1", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}, "away": {"teamWinWin": "1", "teamDrawWin": "0", "teamLossWin": "1", "teamWinDraw": "1", "teamDrawDraw": "2", "teamLossDraw": "1", "teamWinLoss": "0", "teamDrawLoss": "0", "teamLossLoss": "0"}}}, "cornerHiLoTable": {"homeTeam": {"all": [{"line": 8.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 9.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 11.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 12.5, "high": 0, "low": 6, "highPct": 0, "lowPct": 100}], "home": [{"line": 8.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 11.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}], "away": [{"line": 8.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 11.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}]}, "awayTeam": {"all": [{"line": 8.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 9.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 11.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}, {"line": 12.5, "high": 1, "low": 5, "highPct": 17, "lowPct": 83}], "home": [{"line": 8.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 11.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 12.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}], "away": [{"line": 8.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 9.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}, {"line": 10.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 11.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}, {"line": 12.5, "high": 0, "low": 3, "highPct": 0, "lowPct": 100}]}}, "firstTeamToScoreTable": {"teamToScore": {"homeTeam": {"all": {"matches": "6", "scoreFirst": "4", "oppositeScoreFirst": "2"}, "home": {"matches": "3", "scoreFirst": "2", "oppositeScoreFirst": "1"}, "away": {"matches": "3", "scoreFirst": "2", "oppositeScoreFirst": "1"}}, "awayTeam": {"all": {"matches": "12", "scoreFirst": "5", "oppositeScoreFirst": "0"}, "home": {"matches": "6", "scoreFirst": "3", "oppositeScoreFirst": "0"}, "away": {"matches": "6", "scoreFirst": "2", "oppositeScoreFirst": "0"}}}, "scoreFirst": {"homeTeam": {"won": {"scoreFirst": "4", "oppositeScoreFirst": "0"}, "draw": {"scoreFirst": "0", "oppositeScoreFirst": "0"}, "lost": {"scoreFirst": "0", "oppositeScoreFirst": "2"}}, "awayTeam": {"won": {"scoreFirst": "5", "oppositeScoreFirst": "0"}, "draw": {"scoreFirst": "0", "oppositeScoreFirst": "0"}, "lost": {"scoreFirst": "0", "oppositeScoreFirst": "0"}}}}, "hiLoTable": {"homeTeam": {"all": {"halfTime": [{"line": 0.5, "high": 6, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}], "fullTime": [{"line": 1.5, "high": 5, "low": 1, "highPct": 83, "lowPct": 17}, {"line": 2.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}]}, "home": {"halfTime": [{"line": 0.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 1, "low": 2, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}]}, "away": {"halfTime": [{"line": 0.5, "high": 3, "low": 0, "highPct": 100, "lowPct": 0}, {"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}], "fullTime": [{"line": 1.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 2, "low": 1, "highPct": 67, "lowPct": 33}]}}, "awayTeam": {"all": {"halfTime": [{"line": 0.5, "high": 8, "low": 4, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 5, "low": 7, "highPct": 42, "lowPct": 58}, {"line": 2.5, "high": 4, "low": 8, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 9, "low": 3, "highPct": 75, "lowPct": 25}, {"line": 2.5, "high": 6, "low": 6, "highPct": 50, "lowPct": 50}, {"line": 3.5, "high": 5, "low": 7, "highPct": 42, "lowPct": 58}]}, "home": {"halfTime": [{"line": 0.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 5, "low": 1, "highPct": 83, "lowPct": 17}, {"line": 2.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 3.5, "high": 3, "low": 3, "highPct": 50, "lowPct": 50}]}, "away": {"halfTime": [{"line": 0.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 1.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}], "fullTime": [{"line": 1.5, "high": 4, "low": 2, "highPct": 67, "lowPct": 33}, {"line": 2.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}, {"line": 3.5, "high": 2, "low": 4, "highPct": 33, "lowPct": 67}]}}}, "fhHadTable": {"homeTeam": {"all": {"teamWin": "4", "teamDraw": "0", "teamLoss": "2", "winPct": 67, "drawPct": 0, "lossPct": 33}, "home": {"teamWin": "2", "teamDraw": "0", "teamLoss": "1", "winPct": 67, "drawPct": 0, "lossPct": 33}, "away": {"teamWin": "2", "teamDraw": "0", "teamLoss": "1", "winPct": 67, "drawPct": 0, "lossPct": 33}}, "awayTeam": {"all": {"teamWin": "4", "teamDraw": "5", "teamLoss": "3", "winPct": 33, "drawPct": 42, "lossPct": 25}, "home": {"teamWin": "2", "teamDraw": "3", "teamLoss": "1", "winPct": 33, "drawPct": 50, "lossPct": 17}, "away": {"teamWin": "2", "teamDraw": "2", "teamLoss": "2", "winPct": 33, "drawPct": 33, "lossPct": 33}}}} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/options.json b/ych1990101/task1-optimized/app/notebook/jsons/options.json new file mode 100644 index 00000000..8a09cfca --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/options.json @@ -0,0 +1 @@ +[{"id": 13573, "name": "Qualifying", "levelId": 687, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "displayOrder": 3, "engName": "Qualifying", "subLevels": [{"id": 13573, "name": "1st Qualifying Round", "levelId": 689, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "1st Qualifying Round"}, {"id": 13574, "name": "2nd Qualifying Round", "levelId": 684, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "2nd Qualifying Round"}, {"id": 13575, "name": "3rd Qualifying Round", "levelId": 685, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "3rd Qualifying Round"}, {"id": 13576, "name": "Play-Offs", "levelId": 688, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "Play-Offs"}]}, {"id": 13577, "name": "Group Stage", "levelId": 686, "layoutName": "GROUP_TABLE", "layoutId": 2, "displayOrder": 7, "subLevels": [], "engName": "Group Stage"}, {"id": 13572, "name": "Knockout Stage", "levelId": 691, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "displayOrder": 8, "engName": "Knockout Stage", "subLevels": [{"id": 13572, "name": "Preliminary Knockout Round", "levelId": 701, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "Preliminary Knockout Round"}, {"id": 13578, "name": "Round of 16", "levelId": 690, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "Round of 16"}, {"id": 13579, "name": "Quarter Finals", "levelId": 692, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "Quarter Finals"}, {"id": 13580, "name": "Semi Final", "levelId": 693, "layoutName": "ROUND_BY_ROUND_LEG_2", "layoutId": 4, "engName": "Semi Final"}, {"id": 13581, "name": "Final", "levelId": 694, "layoutName": "ROUND_BY_ROUND_LEG_1", "layoutId": 3, "engName": "Final"}]}] \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information-away-team.json b/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information-away-team.json new file mode 100644 index 00000000..04b06acf --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information-away-team.json @@ -0,0 +1 @@ +{"recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "H", "oppTeamName": "Fenerbahce", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-03 16:00:00", "homeOrAway": "H", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "3:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-03-10 18:30:00", "homeOrAway": "H", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "1:3", "halfTimeScore": "1:2", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 17:45:00", "homeOrAway": "H", "oppTeamName": "Maccabi Tel Aviv", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "1:3", "fullTimeResult": "L", "firstHalfHad": "L"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-21 16:00:00", "homeOrAway": "A", "oppTeamName": "Salernitana", "teamPos": 20, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "A", "oppTeamName": "Viktoria Plzen", "teamPos": null, "fullTimeScore": "0:0", "halfTimeScore": "0:0", "fullTimeResult": "D", "firstHalfHad": "D"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-07 18:45:00", "homeOrAway": "A", "oppTeamName": "Juventus", "teamPos": 3, "fullTimeScore": "0:1", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 20:00:00", "homeOrAway": "A", "oppTeamName": "Maccabi Haifa", "teamPos": null, "fullTimeScore": "4:3", "halfTimeScore": "1:2", "fullTimeResult": "W", "firstHalfHad": "L"}]}} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information-home-team.json b/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information-home-team.json new file mode 100644 index 00000000..edeb4420 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information-home-team.json @@ -0,0 +1 @@ +{"recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-04-11 16:45:00", "homeOrAway": "H", "oppTeamName": "Fenerbahce", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-03 16:00:00", "homeOrAway": "H", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "3:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-03-10 18:30:00", "homeOrAway": "H", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "1:3", "halfTimeScore": "1:2", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-03-07 17:45:00", "homeOrAway": "H", "oppTeamName": "Maccabi Tel Aviv", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "1:3", "fullTimeResult": "L", "firstHalfHad": "L"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-17 18:45:00", "homeOrAway": "H", "oppTeamName": "Napoli", "teamPos": 9, "fullTimeScore": "2:2", "halfTimeScore": "2:1", "fullTimeResult": "D", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-13 18:45:00", "homeOrAway": "H", "oppTeamName": "Monza", "teamPos": 12, "fullTimeScore": "2:1", "halfTimeScore": "1:1", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-02 19:00:00", "homeOrAway": "H", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:1", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-28 18:45:00", "homeOrAway": "H", "oppTeamName": "Sassuolo", "teamPos": 19, "fullTimeScore": "5:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}]}} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information.json b/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information.json new file mode 100644 index 00000000..c50f08fa --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/recentfrom-information.json @@ -0,0 +1 @@ +{"recent8Results": {"homeTeam": [{"competitionName": "Greek Division 1", "kickOff": "2024-05-19 17:00:00", "homeOrAway": "A", "oppTeamName": "Panathinaikos", "teamPos": 4, "fullTimeScore": "2:2", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Greek Division 1", "kickOff": "2024-05-15 17:00:00", "homeOrAway": "H", "oppTeamName": "AEK Athens", "teamPos": 1, "fullTimeScore": "2:0", "halfTimeScore": "0:0", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "Greek Division 1", "kickOff": "2024-05-12 17:00:00", "homeOrAway": "A", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "0:2", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}, {"competitionName": "UE Conference", "kickOff": "2024-05-09 19:00:00", "homeOrAway": "H", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "2:0", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "UE Conference", "kickOff": "2024-05-02 19:00:00", "homeOrAway": "A", "oppTeamName": "Aston Villa", "teamPos": null, "fullTimeScore": "4:2", "halfTimeScore": "2:1", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-28 14:00:00", "homeOrAway": "H", "oppTeamName": "Lamia", "teamPos": 9, "fullTimeScore": "4:1", "halfTimeScore": "2:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-24 16:30:00", "homeOrAway": "A", "oppTeamName": "Aris Thessaloniki", "teamPos": 5, "fullTimeScore": "1:1", "halfTimeScore": "0:0", "fullTimeResult": "D", "firstHalfHad": "D"}, {"competitionName": "Greek Division 1", "kickOff": "2024-04-21 17:30:00", "homeOrAway": "H", "oppTeamName": "PAOK", "teamPos": 3, "fullTimeScore": "2:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}], "awayTeam": [{"competitionName": "Italian Division 1", "kickOff": "2024-05-23 18:45:00", "homeOrAway": "A", "oppTeamName": "Cagliari", "teamPos": 15, "fullTimeScore": "3:2", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-17 18:45:00", "homeOrAway": "H", "oppTeamName": "Napoli", "teamPos": 9, "fullTimeScore": "2:2", "halfTimeScore": "2:1", "fullTimeResult": "D", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-13 18:45:00", "homeOrAway": "H", "oppTeamName": "Monza", "teamPos": 12, "fullTimeScore": "2:1", "halfTimeScore": "1:1", "fullTimeResult": "W", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-08 16:45:00", "homeOrAway": "A", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "1:1", "halfTimeScore": "0:1", "fullTimeResult": "D", "firstHalfHad": "L"}, {"competitionName": "Italian Division 1", "kickOff": "2024-05-05 13:00:00", "homeOrAway": "A", "oppTeamName": "Verona", "teamPos": 15, "fullTimeScore": "1:2", "halfTimeScore": "1:1", "fullTimeResult": "L", "firstHalfHad": "D"}, {"competitionName": "UE Conference", "kickOff": "2024-05-02 19:00:00", "homeOrAway": "H", "oppTeamName": "Bruges", "teamPos": null, "fullTimeScore": "3:2", "halfTimeScore": "2:1", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Division 1", "kickOff": "2024-04-28 18:45:00", "homeOrAway": "H", "oppTeamName": "Sassuolo", "teamPos": 19, "fullTimeScore": "5:1", "halfTimeScore": "1:0", "fullTimeResult": "W", "firstHalfHad": "W"}, {"competitionName": "Italian Cup", "kickOff": "2024-04-24 19:00:00", "homeOrAway": "A", "oppTeamName": "Atalanta", "teamPos": null, "fullTimeScore": "1:4", "halfTimeScore": "0:1", "fullTimeResult": "L", "firstHalfHad": "L"}]}} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/jsons/standings.json b/ych1990101/task1-optimized/app/notebook/jsons/standings.json new file mode 100644 index 00000000..beb18221 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/jsons/standings.json @@ -0,0 +1 @@ +{"info": {}, "displayname": [], "competitionName": "UE Conference", "lastUpdated": ""} \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/main.ipynb b/ych1990101/task1-optimized/app/notebook/main.ipynb new file mode 100644 index 00000000..f2de9c8a --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/main.ipynb @@ -0,0 +1,311 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6405f0ad-a363-4d36-a808-6f778c7b8c65", + "metadata": {}, + "source": [ + "## 1. start here, run this cell" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1a332d6f", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b5e83551f1084e628a2bcdcf87665185", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Select an option:', options=('2024-05-27,Finnish Division 1(芬蘭超級聯賽),Lahti(拉迪) vs SJK Sei…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import os,sys,json\n", + "from pprint import pprint\n", + "import nest_asyncio\n", + "import asyncio\n", + "import ipywidgets as widgets\n", + "\n", + "from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson\n", + "from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson\n", + "from api_footylogic_com.tournament.Standings import getStandingsJson\n", + "from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId\n", + "from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName\n", + "from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters\n", + "from bet_hkjc_com.football.getJSON import getMatchesJson, getMatchesList\n", + "\n", + "from utils.Statistics import getTopBottomWinningAndLoseing\n", + "from utils.WriteExcel import writeExcel\n", + "from utils.GetScreenshot import getScreenshot\n", + "from utils.reports import genExcelReport\n", + "from utils.getDropdownMenu import genMatchList\n", + "\n", + "[options, matches_list] = genMatchList()\n", + "dropdown = widgets.Dropdown(options=options, description='Select an option:')\n", + "display(dropdown)" + ] + }, + { + "cell_type": "markdown", + "id": "b8309647-791d-4d6b-bb01-4c417c46b13c", + "metadata": {}, + "source": [ + "## 2. select matches and run below cell" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "98987f47-b2af-4932-9f8d-f0a47dca1c10", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['50019599', '50026115']\n", + "generate report for 2024-03-23,Spanish Division 2(西班牙乙組聯賽),Alcorcon(艾高干) vs Oviedo(奧維多)\n" + ] + } + ], + "source": [ + "# generate_report_key = dropdown.value\n", + "generate_report_key = '2024-03-23,Spanish Division 2(西班牙乙組聯賽),Alcorcon(艾高干) vs Oviedo(奧維多)'\n", + "\n", + "report_filename= generate_report_key.replace(',','_').replace(' ','_') +'.xlsx'\n", + "[tournamentID,matchID] = matches_list[generate_report_key]\n", + "pprint([tournamentID,matchID])\n", + "\n", + "# print('generate report for '+ generate_report_key)\n", + "print('generate report for '+ generate_report_key)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6a31f956-0ff4-4341-8549-8421da70ab04", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026115/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026115/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n" + ] + } + ], + "source": [ + "genExcelReport(tournamentID, matchID, report_filename)" + ] + }, + { + "cell_type": "markdown", + "id": "772987b4-0d77-4ed0-a396-b0b685608930", + "metadata": {}, + "source": [ + "## 3. grab the report in _output directory" + ] + }, + { + "cell_type": "markdown", + "id": "3c46d722-0715-4aaf-8b4f-d4163ad88742", + "metadata": {}, + "source": [ + "### end for phase one" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4545183e-5e9d-4663-b0a3-08348d56a845", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "07:02:43.817861\n", + "2024-05-27,Finnish Division 1(芬蘭超級聯賽),Lahti(拉迪) vs SJK Seinajoki(施拿祖基)\n", + "working on 0/13 , 2024-05-27,Finnish Division 1(芬蘭超級聯賽),Lahti(拉迪) vs SJK Seinajoki(施拿祖基)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "2024-05-27,Finnish Division 1(芬蘭超級聯賽),VPS Vaasa(VPS華沙) vs Inter Turku(國際杜古)\n", + "working on 1/13 , 2024-05-27,Finnish Division 1(芬蘭超級聯賽),VPS Vaasa(VPS華沙) vs Inter Turku(國際杜古)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "2024-05-28,Swedish Division 1(瑞典超級聯賽),Norrkoping(諾高平) vs Varnamo(華納莫)\n", + "working on 2/13 , 2024-05-28,Swedish Division 1(瑞典超級聯賽),Norrkoping(諾高平) vs Varnamo(華納莫)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-05-28,Swedish Division 1(瑞典超級聯賽),AIK Solna(AIK蘇納) vs Goteborg(哥登堡)\n", + "working on 3/13 , 2024-05-28,Swedish Division 1(瑞典超級聯賽),AIK Solna(AIK蘇納) vs Goteborg(哥登堡)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50027252/50029417/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50027252/50029417/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50027252/standings\n", + "2024-05-28,German Division 1(德國甲組聯賽),Dusseldorf(杜塞爾多夫) vs Bochum(波琴)\n", + "working on 4/13 , 2024-05-28,German Division 1(德國甲組聯賽),Dusseldorf(杜塞爾多夫) vs Bochum(波琴)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50016467/50029521/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50016467/50029521/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50016467/standings\n", + "2024-05-28,Argentine Division 1(阿根廷甲組聯賽),Union Santa Fe(聖達菲聯) vs Barracas Central(巴拉卡斯中央)\n", + "working on 5/13 , 2024-05-28,Argentine Division 1(阿根廷甲組聯賽),Union Santa Fe(聖達菲聯) vs Barracas Central(巴拉卡斯中央)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50029135/50029547/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50029135/50029547/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50029135/standings\n", + "2024-05-28,Argentine Division 1(阿根廷甲組聯賽),Atletico Tucuman(圖庫曼體育會) vs CA Platense(CA普拉坦斯)\n", + "working on 6/13 , 2024-05-28,Argentine Division 1(阿根廷甲組聯賽),Atletico Tucuman(圖庫曼體育會) vs CA Platense(CA普拉坦斯)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50029135/50029560/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50029135/50029560/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50029135/standings\n", + "2024-05-28,Korean Division 1(南韓職業聯賽),Gimcheon Sangmu(金泉尚武) vs FC Seoul(FC首爾)\n", + "working on 7/13 , 2024-05-28,Korean Division 1(南韓職業聯賽),Gimcheon Sangmu(金泉尚武) vs FC Seoul(FC首爾)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50026040/50029439/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50026040/50029439/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50026040/standings\n", + "2024-05-28,Korean Division 1(南韓職業聯賽),Gwangju FC(FC光州) vs Pohang Steelers(浦項制鐵)\n", + "working on 8/13 , 2024-05-28,Korean Division 1(南韓職業聯賽),Gwangju FC(FC光州) vs Pohang Steelers(浦項制鐵)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50026040/50029440/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50026040/50029440/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50026040/standings\n", + "2024-05-29,German Division 2(德國乙組聯賽),Wehen(韋恩) vs Jahn Regensburg(雷根斯堡)\n", + "working on 9/13 , 2024-05-29,German Division 2(德國乙組聯賽),Wehen(韋恩) vs Jahn Regensburg(雷根斯堡)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50016660/50029643/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50016660/50029643/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50016660/standings\n", + "2024-05-29,Japanese Division 1(日本職業聯賽),Yokohama F.Marinos(橫濱水手) vs Kashiwa Reysol(柏雷素爾)\n", + "working on 10/13 , 2024-05-29,Japanese Division 1(日本職業聯賽),Yokohama F.Marinos(橫濱水手) vs Kashiwa Reysol(柏雷素爾)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50025768/50029414/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50025768/50029414/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50025768/standings\n", + "2024-05-30,UE Conference(歐洲協會聯賽),Olympiakos(奧林比亞高斯) vs Fiorentina(費倫天拿)\n", + "working on 11/13 , 2024-05-30,UE Conference(歐洲協會聯賽),Olympiakos(奧林比亞高斯) vs Fiorentina(費倫天拿)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-06-02,UE Champions(歐洲聯賽冠軍盃),Dortmund(多蒙特) vs Real Madrid(皇家馬德里)\n", + "07:03:09.214254\n" + ] + } + ], + "source": [ + "from datetime import datetime\n", + "print(datetime.now().time())\n", + "\n", + "target_date = '2024-05'\n", + "\n", + "for i in range(0, len(options)):\n", + " try:\n", + " option = options[i]\n", + " print(option)\n", + " if (option.index(target_date) > -1):\n", + " print('working on '+str(i)+'/'+str(len(options))+' , '+option)\n", + " [tournamentID,matchID] = matches_list[option]\n", + " report_filename= option.replace(',','_').replace(' ','_') +'.xlsx'\n", + " genExcelReport(tournamentID, matchID, report_filename)\n", + " except Exception as e:\n", + " pass\n", + "\n", + "print(datetime.now().time())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e1bb1c6-6b4b-4c4b-ad93-5192fdd7faf0", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/ych1990101/task1-optimized/app/notebook/matches_list.json b/ych1990101/task1-optimized/app/notebook/matches_list.json new file mode 100644 index 00000000..c376d9d8 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/matches_list.json @@ -0,0 +1 @@ +[{"matchID": "50029467", "matchIDinofficial": "20240527MONFB6835", "matchNum": "", "matchDate": "2024-05-27T23:00:00+08:00", "matchDay": "MON", "frontEndId": "FB6835", "displayOrder": "1.1716822000.28.Finnish Division 1 .0.99.Lahti .000", "homeTeam": {"teamID": "50001862", "teamNameCH": "\u62c9\u8fea", "teamNameEN": "Lahti"}, "awayTeam": {"teamID": "50002681", "teamNameCH": "\u65bd\u62ff\u7956\u57fa", "teamNameEN": "SJK Seinajoki"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-27T23:00:00.000+08:00", "statuslastupdated": "2024-05-24T19:30:02.468+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50027802", "frontEndId": "", "tournamentShortName": "FVL", "tournamentNameCH": "\u82ac\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Finnish Division 1", "displayOrder": "28.Finnish Division 1 .2024-10-21.000", "tName": "50061277"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47114313"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-27T23:00:00.000+08:00", "POOLID": "551887003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.79", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.91", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.01", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.71", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.35", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "1"}, {"matchID": "50029466", "matchIDinofficial": "20240527MONFB6834", "matchNum": "", "matchDate": "2024-05-27T23:00:00+08:00", "matchDay": "MON", "frontEndId": "FB6834", "displayOrder": "1.1716822000.28.Finnish Division 1 .0.99.VPS Vaasa .000", "homeTeam": {"teamID": "50003254", "teamNameCH": "VPS\u83ef\u6c99", "teamNameEN": "VPS Vaasa"}, "awayTeam": {"teamID": "50001613", "teamNameCH": "\u570b\u969b\u675c\u53e4", "teamNameEN": "Inter Turku"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-27T23:00:00.000+08:00", "statuslastupdated": "2024-05-24T19:30:02.468+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50027802", "frontEndId": "", "tournamentShortName": "FVL", "tournamentNameCH": "\u82ac\u862d\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Finnish Division 1", "displayOrder": "28.Finnish Division 1 .2024-10-21.000", "tName": "50061277"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47114315"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-27T23:00:00.000+08:00", "POOLID": "551873003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.69", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.04", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@1.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.82", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.39", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "1"}, {"matchID": "50029418", "matchIDinofficial": "20240528TUEFB6768", "matchNum": "", "matchDate": "2024-05-28T01:00:00+08:00", "matchDay": "TUE", "frontEndId": "FB6768", "displayOrder": "1.1716829200.28.Swedish Division 1 .0.99.Norrkoping .000", "homeTeam": {"teamID": "50002286", "teamNameCH": "\u8afe\u9ad8\u5e73", "teamNameEN": "Norrkoping"}, "awayTeam": {"teamID": "50003275", "teamNameCH": "\u83ef\u7d0d\u83ab", "teamNameEN": "Varnamo"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T01:00:00.000+08:00", "statuslastupdated": "2024-05-24T09:48:58.193+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50027252", "frontEndId": "", "tournamentShortName": "SAL", "tournamentNameCH": "\u745e\u5178\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Swedish Division 1", "displayOrder": "28.Swedish Division 1 .2024-11-12.000", "tName": "50000104"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46300925"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T01:00:00.000+08:00", "POOLID": "550187003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "4", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.39", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "1"}, {"matchID": "50029417", "matchIDinofficial": "20240528TUEFB6767", "matchNum": "", "matchDate": "2024-05-28T01:10:00+08:00", "matchDay": "TUE", "frontEndId": "FB6767", "displayOrder": "1.1716829800.28.Swedish Division 1 .1.99.AIK Solna .000", "homeTeam": {"teamID": "50000026", "teamNameCH": "AIK\u8607\u7d0d", "teamNameEN": "AIK Solna"}, "awayTeam": {"teamID": "50001438", "teamNameCH": "\u54e5\u767b\u5821", "teamNameEN": "Goteborg"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T01:10:00.000+08:00", "statuslastupdated": "2024-05-23T19:30:06.159+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50027252", "frontEndId": "", "tournamentShortName": "SAL", "tournamentNameCH": "\u745e\u5178\u8d85\u7d1a\u806f\u8cfd", "tournamentNameEN": "Swedish Division 1", "displayOrder": "28.Swedish Division 1 .2024-11-12.000", "tName": "50000104"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46300919"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T01:10:00.000+08:00", "POOLID": "550173003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.83", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.87", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "HCOMBID": "1", "H": "100@2.10", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.65", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.10", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.31", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "false", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": [], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "-1"}, {"matchID": "50029521", "matchIDinofficial": "20240528TUEFB6839", "matchNum": "", "matchDate": "2024-05-28T02:30:00+08:00", "matchDay": "TUE", "frontEndId": "FB6839", "displayOrder": "1.1716834600.17.German Division 1 .0.99.Dusseldorf .000", "homeTeam": {"teamID": "50001027", "teamNameCH": "\u675c\u585e\u723e\u591a\u592b", "teamNameEN": "Dusseldorf"}, "awayTeam": {"teamID": "50000482", "teamNameCH": "\u6ce2\u7434", "teamNameEN": "Bochum"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T02:30:00.000+08:00", "statuslastupdated": "2024-05-24T19:30:02.468+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50016467", "frontEndId": "FB3755", "tournamentShortName": "GSL", "tournamentNameCH": "\u5fb7\u570b\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "German Division 1", "displayOrder": "17.German Division 1 .2024-05-31.000", "tName": "50000063"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "Now 638", "channelNameEN": "Now 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "50042105"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T02:30:00.000+08:00", "POOLID": "554859003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.68", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.05", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "2", "HCOMBID": "1", "H": "100@1.86", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.84", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.42", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "1"}, {"matchID": "50029547", "matchIDinofficial": "20240528TUEFB6793", "matchNum": "", "matchDate": "2024-05-28T06:00:00+08:00", "matchDay": "TUE", "frontEndId": "FB6793", "displayOrder": "1.1716847200.30.Argentine Division 1 .0.99.Union Santa Fe .000", "homeTeam": {"teamID": "50003203", "teamNameCH": "\u8056\u9054\u83f2\u806f", "teamNameEN": "Union Santa Fe"}, "awayTeam": {"teamID": "50000398", "teamNameCH": "\u5df4\u62c9\u5361\u65af\u4e2d\u592e", "teamNameEN": "Barracas Central"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T06:00:00.000+08:00", "statuslastupdated": "2024-05-23T19:30:06.159+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50029135", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-12-17.000", "tName": "50000014"}, "channel": [{"displayOrder": 99999, "code": "76", "channelID": "50029", "channelNameCH": "HOY 76", "channelNameEN": "HOY 76"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655605"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T06:00:00.000+08:00", "POOLID": "555921003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.38", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.51", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.07", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.67", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@4.30", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.16", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "1"}, {"matchID": "50029560", "matchIDinofficial": "20240528TUEFB6796", "matchNum": "", "matchDate": "2024-05-28T08:00:00+08:00", "matchDay": "TUE", "frontEndId": "FB6796", "displayOrder": "1.1716854400.30.Argentine Division 1 .0.99.Atletico Tucuman .000", "homeTeam": {"teamID": "50000283", "teamNameCH": "\u5716\u5eab\u66fc\u9ad4\u80b2\u6703", "teamNameEN": "Atletico Tucuman"}, "awayTeam": {"teamID": "50000617", "teamNameCH": "CA\u666e\u62c9\u5766\u65af", "teamNameEN": "CA Platense"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T08:00:00.000+08:00", "statuslastupdated": "2024-05-23T19:30:06.159+08:00", "inplaydelay": "false", "isESOffer": true, "tournament": {"tournamentID": "50029135", "frontEndId": "", "tournamentShortName": "APL", "tournamentNameCH": "\u963f\u6839\u5ef7\u7532\u7d44\u806f\u8cfd", "tournamentNameEN": "Argentine Division 1", "displayOrder": "30.Argentine Division 1 .2024-12-17.000", "tName": "50000014"}, "channel": [{"displayOrder": 99999, "code": "76", "channelID": "50029", "channelNameCH": "HOY 76", "channelNameEN": "HOY 76"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "46655615"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T08:00:00.000+08:00", "POOLID": "556160003", "LINELIST": [{"LINENUM": "2", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.58", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.44", "L_ES": "Offer"}, {"LINENUM": "4", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "4", "HCOMBID": "1", "H": "100@2.25", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.57", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@4.75", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.13", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20"], "anyInplaySelling": "1"}, {"matchID": "50029439", "matchIDinofficial": "20240528TUEFB6855", "matchNum": "", "matchDate": "2024-05-28T18:30:00+08:00", "matchDay": "TUE", "frontEndId": "FB6855", "displayOrder": "1.1716892200.28.Korean Division 1 .0.99.Gimcheon Sangmu .000", "homeTeam": {"teamID": "50001420", "teamNameCH": "\u91d1\u6cc9\u5c1a\u6b66", "teamNameEN": "Gimcheon Sangmu"}, "awayTeam": {"teamID": "50001183", "teamNameCH": "FC\u9996\u723e", "teamNameEN": "FC Seoul"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T18:30:00.000+08:00", "statuslastupdated": "2024-05-27T12:00:08.585+08:00", "inplaydelay": "false", "isESOffer": false, "tournament": {"tournamentID": "50026040", "frontEndId": "", "tournamentShortName": "KD1", "tournamentNameCH": "\u5357\u97d3\u8077\u696d\u806f\u8cfd", "tournamentNameEN": "Korean Division 1", "displayOrder": "28.Korean Division 1 .2024-12-02.000", "tName": "50000075"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47092115"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T18:30:00.000+08:00", "POOLID": "551175003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.82", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.88", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.32", "L_ES": "Offer", "HCOMBID": "1", "H": "100@3.05", "H_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "anyInplaySelling": "1"}, {"matchID": "50029440", "matchIDinofficial": "20240528TUEFB6856", "matchNum": "", "matchDate": "2024-05-28T18:30:00+08:00", "matchDay": "TUE", "frontEndId": "FB6856", "displayOrder": "1.1716892200.28.Korean Division 1 .0.99.Gwangju FC .000", "homeTeam": {"teamID": "50001491", "teamNameCH": "FC\u5149\u5dde", "teamNameEN": "Gwangju FC"}, "awayTeam": {"teamID": "50002469", "teamNameCH": "\u6d66\u9805\u5236\u9435", "teamNameEN": "Pohang Steelers"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-28T18:30:00.000+08:00", "statuslastupdated": "2024-05-27T12:00:08.585+08:00", "inplaydelay": "false", "isESOffer": false, "tournament": {"tournamentID": "50026040", "frontEndId": "", "tournamentShortName": "KD1", "tournamentNameCH": "\u5357\u97d3\u8077\u696d\u806f\u8cfd", "tournamentNameEN": "Korean Division 1", "displayOrder": "28.Korean Division 1 .2024-12-02.000", "tName": "50000075"}, "channel": [{"displayOrder": 99999, "code": "MTS", "channelID": "50099", "channelNameCH": "TVB myTV Super", "channelNameEN": "TVB myTV Super"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "47092113"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-28T18:30:00.000+08:00", "POOLID": "551189003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.82", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.88", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.32", "L_ES": "Offer", "HCOMBID": "1", "H": "100@3.05", "H_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "anyInplaySelling": "1"}, {"matchID": "50029643", "matchIDinofficial": "20240529WEDFB6857", "matchNum": "", "matchDate": "2024-05-29T02:30:00+08:00", "matchDay": "WED", "frontEndId": "FB6857", "displayOrder": "1.1716921000.28.German Division 2 .0.99.Wehen .000", "homeTeam": {"teamID": "50003356", "teamNameCH": "\u97cb\u6069", "teamNameEN": "Wehen"}, "awayTeam": {"teamID": "50001680", "teamNameCH": "\u96f7\u6839\u65af\u5821", "teamNameEN": "Jahn Regensburg"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-29T02:30:00.000+08:00", "statuslastupdated": "2024-05-27T12:00:08.585+08:00", "inplaydelay": "false", "isESOffer": false, "tournament": {"tournamentID": "50016660", "frontEndId": "", "tournamentShortName": "GD2", "tournamentNameCH": "\u5fb7\u570b\u4e59\u7d44\u806f\u8cfd", "tournamentNameEN": "German Division 2", "displayOrder": "28.German Division 2 .2024-05-30.000", "tName": "50000064"}, "channel": [{"displayOrder": 99999, "code": "638", "channelID": "50047", "channelNameCH": "Now 638", "channelNameEN": "Now 638"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "49795921"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-29T02:30:00.000+08:00", "POOLID": "557777003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "LCOMBID": "2", "L": "100@1.85", "L_ES": "Offer", "HCOMBID": "1", "H": "100@1.85", "H_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5/3.0", "LINEID": "3", "LCOMBID": "2", "L": "100@1.65", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.10", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.32", "L_ES": "Offer", "HCOMBID": "1", "H": "100@3.05", "H_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "anyInplaySelling": "1"}, {"matchID": "50029414", "matchIDinofficial": "20240529WEDFB6854", "matchNum": "", "matchDate": "2024-05-29T18:00:00+08:00", "matchDay": "WED", "frontEndId": "FB6854", "displayOrder": "1.1716976800.28.Japanese Division 1 .0.05.Yokohama F.Marinos .000", "homeTeam": {"teamID": "50003400", "teamNameCH": "\u6a6b\u6ff1\u6c34\u624b", "teamNameEN": "Yokohama F.Marinos"}, "awayTeam": {"teamID": "50001775", "teamNameCH": "\u67cf\u96f7\u7d20\u723e", "teamNameEN": "Kashiwa Reysol"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-29T18:00:00.000+08:00", "statuslastupdated": "2024-05-27T12:00:08.585+08:00", "inplaydelay": "false", "isESOffer": false, "tournament": {"tournamentID": "50025768", "frontEndId": "FB1925", "tournamentShortName": "JD1", "tournamentNameCH": "\u65e5\u672c\u8077\u696d\u806f\u8cfd", "tournamentNameEN": "Japanese Division 1", "displayOrder": "28.Japanese Division 1 .2024-12-09.000", "tName": "50000071"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "49440757"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-29T18:00:00.000+08:00", "POOLID": "550129003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.61", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.17", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "LCOMBID": "2", "L": "100@1.55", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.29", "H_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL"], "anyInplaySelling": "1"}, {"matchID": "50029247", "matchIDinofficial": "20240530THUFB6853", "matchNum": "", "matchDate": "2024-05-30T03:00:00+08:00", "matchDay": "THU", "frontEndId": "FB6853", "displayOrder": "1.1717009200.31.UE Conference .0.99.Olympiakos .000", "homeTeam": {"teamID": "50002337", "teamNameCH": "\u5967\u6797\u6bd4\u4e9e\u9ad8\u65af", "teamNameEN": "Olympiakos"}, "awayTeam": {"teamID": "50001245", "teamNameCH": "\u8cbb\u502b\u5929\u62ff", "teamNameEN": "Fiorentina"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-05-30T03:00:00.000+08:00", "statuslastupdated": "2024-05-27T09:40:23.468+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "GRE011", "venueNameCH": "\u963f\u4e9e\u7d22\u83f2\u4e9e\u9ad4\u80b2\u5834", "venueNameEN": "Agia Sophia Stadium"}, "tournament": {"tournamentID": "50015432", "frontEndId": "FB3373", "tournamentShortName": "UEF", "tournamentNameCH": "\u6b50\u6d32\u5354\u6703\u806f\u8cfd", "tournamentNameEN": "UE Conference", "displayOrder": "31.UE Conference .2024-05-31.000", "tName": "50000113"}, "channel": [{"displayOrder": 99999, "code": "645", "channelID": "50054", "channelNameCH": "Now 645", "channelNameEN": "Now 645"}], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "48619107"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-05-30T03:00:00.000+08:00", "POOLID": "543610003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@2.15", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.62", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.0/2.5", "LINEID": "3", "HCOMBID": "1", "H": "100@1.88", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.82", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@3.70", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.22", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20", "CHP"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS", "CHP"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "SGA1", "SGA2", "SGA3", "SGA4", "SGA5", "SGA6", "SGA7", "SGA8", "SGA9", "SGA10", "SGA11", "SGA12", "SGA13", "SGA14", "SGA15", "SGA16", "SGA17", "SGA18", "SGA19", "SGA20", "CHP"], "anyInplaySelling": "1"}, {"matchID": "50029373", "matchIDinofficial": "20240602SUNFB6851", "matchNum": "", "matchDate": "2024-06-02T03:00:00+08:00", "matchDay": "SUN", "frontEndId": "FB6851", "displayOrder": "1.1717268400.11.UE Champions .0.03.Dortmund .000", "homeTeam": {"teamID": "50001005", "teamNameCH": "\u591a\u8499\u7279", "teamNameEN": "Dortmund"}, "awayTeam": {"teamID": "50002589", "teamNameCH": "\u7687\u5bb6\u99ac\u5fb7\u91cc", "teamNameEN": "Real Madrid"}, "matchStatus": "Defined", "matchState": "PreEvent", "matchTime": "2024-06-02T03:00:00.000+08:00", "statuslastupdated": "2024-05-26T12:00:00.212+08:00", "inplaydelay": "false", "isESOffer": true, "venue": {"code": "ENG156", "venueNameCH": "\u6eab\u5e03\u840a\u7403\u5834", "venueNameEN": "Wembley Stadium"}, "tournament": {"tournamentID": "50015416", "frontEndId": "FB3348", "tournamentShortName": "UCL", "tournamentNameCH": "\u6b50\u6d32\u806f\u8cfd\u51a0\u8ecd\u76c3", "tournamentNameEN": "UE Champions", "displayOrder": "11.UE Champions .2024-06-03.000", "tName": "50000112"}, "channel": [], "liveEvent": {"hasLiveInfo": true, "matchIDbetradar": "48613125"}, "accumulatedscore": [], "addResults": [], "Cur": "1", "hasWebTV": false, "sellStatus": "Available", "isBAUResult": false, "hilodds": {"ExpectedStopTime": "2024-06-02T03:00:00.000+08:00", "POOLID": "548598003", "LINELIST": [{"LINENUM": "1", "MAINLINE": "true", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "2.5", "LINEID": "1", "HCOMBID": "1", "H": "100@1.62", "H_ES": "Offer", "LCOMBID": "2", "L": "100@2.15", "L_ES": "Offer"}, {"LINENUM": "3", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.0/3.5", "LINEID": "3", "HCOMBID": "1", "H": "100@2.29", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.55", "L_ES": "Offer"}, {"LINENUM": "2", "MAINLINE": "false", "LINEST": "Available", "LINESTATUS": "1", "SKIPELINE": "0", "LINE": "3.5", "LINEID": "2", "HCOMBID": "1", "H": "100@2.55", "H_ES": "Offer", "LCOMBID": "2", "L": "100@1.45", "L_ES": "Offer"}], "PS": "SellingStarted", "BT": "HIL", "POOLSTATUS": "Selling", "INPLAY": "true", "ALLUP": "true", "Cur": "1"}, "results": {}, "definedPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "CHP"], "inplayPools": ["HAD", "FHA", "HIL", "FHL", "CHL", "CRS", "FCS", "CHP"], "sellingPools": ["HAD", "FHA", "CRS", "FCS", "FTS", "OOE", "TTG", "HFT", "HHA", "HDC", "HIL", "FHL", "CHL", "CHP"], "anyInplaySelling": "1"}] \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/utils/GetScreenshot.py b/ych1990101/task1-optimized/app/notebook/utils/GetScreenshot.py new file mode 100644 index 00000000..1a29d60b --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/utils/GetScreenshot.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python +from playwright.async_api import async_playwright + + +def helloworld(): + print("helloworld") + + +async def getScreenshot_bmstatistics(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + + await page.goto(url) + + await page.wait_for_timeout(timeout_s * 1000) + # await page.waitForSelector('xpath=//*[contains(text(), "Total Goals")]'); + await page.get_by_text("Total Goals").click() + + await page.screenshot(path=file_path, full_page=True) + + await browser.close() + + +async def getScreenshot_bmrecentforms(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + + await page.goto(url) + + elements = await page.locator('select.select-margin').all() + with open('./result.txt','w') as fo: + fo.write(str(len(elements))) + await elements[0].select_option(label="Home Matches") + await elements[1].select_option(label="Away Matches") + + await page.screenshot(path=file_path, full_page=True) + + await browser.close() + + +async def getScreenshot_standings(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + await page.goto(url) + await page.wait_for_timeout(timeout_s * 1000) + await page.screenshot(path=file_path, full_page=True) + await browser.close() + + +async def getScreenshot(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + + await page.goto(url) + + await page.wait_for_timeout(timeout_s * 1000) + + await page.screenshot(path=file_path, full_page=True) + + await browser.close() diff --git a/ych1990101/task1-optimized/app/notebook/utils/Statistics.py b/ych1990101/task1-optimized/app/notebook/utils/Statistics.py new file mode 100644 index 00000000..99b376e2 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/utils/Statistics.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 + +import os,sys,json +from pprint import pprint + +def distillRecent8Results(json_manifest, competitionName="Belgian Division 1"): + # distill results + json_manifest['statistics']['distilledRecent8Results'] = {} + json_manifest_distilled = json_manifest['statistics']['distilledRecent8Results'] + json_manifest_distilled['homeTeam'] = [] + distilled_homeTeam = json_manifest_distilled['homeTeam'] + json_manifest_distilled['awayTeam'] = [] + distilled_awayTeam = json_manifest_distilled['awayTeam'] + + recent8Results = json_manifest['recentfrom-information.json']['recent8Results'] + recent8ResultsHomeTeam = json_manifest['recentfrom-information-home-team.json']['recent8Results'] + recent8ResultsAwayTeam = json_manifest['recentfrom-information-away-team.json']['recent8Results'] + + homeTeam = recent8ResultsHomeTeam['homeTeam'] + for result in homeTeam: + if result['competitionName'] == competitionName and result['homeOrAway'] == "H": + if (len(distilled_homeTeam)) < 5: + distilled_homeTeam.append(result) + + awayTeam = recent8ResultsAwayTeam['awayTeam'] + for result in awayTeam: + if result['competitionName'] == competitionName and result['homeOrAway'] == "A": + if (len(distilled_awayTeam)) < 5: + distilled_awayTeam.append(result) + +def lookupPositionByTeamName(json_manifest, teamNameToCheck): + standings_info = json_manifest['tournament/standings.json']['info'] + for standing in standings_info: + if standing['teamName'] == teamNameToCheck: + return standing['teamRank'] + + raise Exception(teamNameToCheck) + return -99 + +def countTotalStandingTeam(json_manifest): + standings_info = json_manifest['tournament/standings.json']['info'] + + return len(standings_info) + +def getTopBottomWinningAndLoseing(json_manifest, competitionName): + json_manifest['statistics'] = {} + json_manifest['statistics']['top_bottom_winning_losing'] = {} + result = json_manifest['statistics']['top_bottom_winning_losing'] + + # get statistics + result['home_top_win_count'] = 0 + result['home_top_draw_count'] = 0 + result['home_top_loss_count'] = 0 + result['home_bottom_win_count'] = 0 + result['home_bottom_draw_count'] = 0 + result['home_bottom_loss_count'] = 0 + + result['away_top_win_count'] = 0 + result['away_top_draw_count'] = 0 + result['away_top_loss_count'] = 0 + result['away_bottom_win_count'] = 0 + result['away_bottom_draw_count'] = 0 + result['away_bottom_loss_count'] = 0 + + # filter all non same tournament + distillRecent8Results(json_manifest, competitionName) + + json_manifest_distilled = json_manifest['statistics']['distilledRecent8Results'] + json_manifest_distilled_homeTeam = json_manifest_distilled['homeTeam'] + json_manifest_distilled_awayTeam = json_manifest_distilled['awayTeam'] + + all_team_count = countTotalStandingTeam(json_manifest) + json_manifest_distilled['allTeamCount'] = all_team_count + + for entry in json_manifest_distilled_homeTeam: + oppTeamName = entry['oppTeamName'] + pos = lookupPositionByTeamName(json_manifest, oppTeamName) + pos = int(pos) + entry['pos'] = pos + + if (pos <= (all_team_count / 2)): + # count home top winning + if entry['fullTimeResult'] == 'W': + result['home_top_win_count'] += 1 + # count home top draw + if entry['fullTimeResult'] == 'D': + result['home_top_draw_count'] += 1 + # count home top losing + if entry['fullTimeResult'] == 'L': + result['home_top_loss_count'] += 1 + else: + # count home bottom winning + if entry['fullTimeResult'] == 'W': + result['home_bottom_win_count'] += 1 + # count home bottom draw + if entry['fullTimeResult'] == 'D': + result['home_bottom_draw_count'] += 1 + # count home bottom losing + if entry['fullTimeResult'] == 'L': + result['home_bottom_loss_count'] += 1 + + for entry in json_manifest_distilled_awayTeam: + oppTeamName = entry['oppTeamName'] + pos = lookupPositionByTeamName(json_manifest, oppTeamName) + pos = int(pos) + entry['pos'] = pos + + if (pos <= (all_team_count / 2)): + # count away top winning + if entry['fullTimeResult'] == 'W': + result['away_top_win_count'] += 1 + + # count away top draw + if entry['fullTimeResult'] == 'D': + result['away_top_draw_count'] += 1 + + # count away top losing + if entry['fullTimeResult'] == 'L': + result['away_top_loss_count'] += 1 + else: + # count away bottom winning + if entry['fullTimeResult'] == 'W': + result['away_bottom_win_count'] += 1 + # count away bottom draw + if entry['fullTimeResult'] == 'D': + result['away_bottom_draw_count'] += 1 + # count away bottom losing + if entry['fullTimeResult'] == 'L': + result['away_bottom_loss_count'] += 1 + +def helloworld(): + print("helloworld") diff --git a/ych1990101/task1-optimized/app/notebook/utils/WriteExcel.py b/ych1990101/task1-optimized/app/notebook/utils/WriteExcel.py new file mode 100644 index 00000000..1f5b2c51 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/utils/WriteExcel.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python + +import os +import sys +import re +from pprint import pprint + +import json +from jsonpath_ng import jsonpath, parse + +from openpyxl import Workbook, load_workbook +from openpyxl.utils import get_column_letter +from openpyxl.styles import Alignment +from openpyxl.drawing.image import Image + +import re + + +def LookupTeamPosition(team_to_lookup, manifest_json): + team_rank = -99 + num_of_team = -99 + + standings = manifest_json['tournament/standings.json']['info'] + num_of_team = len(standings) + + for standing in standings: + if standing['teamName'] == team_to_lookup: + team_rank = int(standing['teamRank']) + return [team_rank, num_of_team] + + +def writeExcel(json_manifest, image_paths, report_filename): + pattern = r"(?<={jp:)(.*)(?=})" + + excel_template_path = '/report_template.xlsx' + + os_cwd = os.getcwd() + utils_path = os_cwd+'/utils' + output_path = os_cwd + "/_output" + images_path = os_cwd + "/_images" + + # Find and replace values + find_value = 'Mainz' + replace_value = '11111111' + + # Create a new workbook + workbook = load_workbook(utils_path+excel_template_path) + + # Select the active sheet (first sheet by default) + sheet = workbook.active + + for row in sheet.iter_rows(): + for cell in row: + # print(cell.coordinate) + + if type(cell.value) == type('string'): + result = re.search(pattern, cell.value) + if result: + try: + jsonpath_expression = parse(result.group(0)) + alignment = Alignment( + horizontal='center', vertical='center') + cell.alignment = alignment + cell.value = jsonpath_expression.find(json_manifest)[ + 0].value + + except Exception as e: + pprint(e) + pprint("error:" + cell.value) + alignment = Alignment( + horizontal='center', vertical='center') + cell.alignment = alignment + cell.value = '---' + + # image_path = images_path+"/helloworld.jpg" + + current_cell = sheet.cell(row=1, column=9) + for image_path in image_paths: + print(image_path) + image = Image(image_path) + sheet.add_image(image, current_cell.coordinate) + current_cell = current_cell.offset(row=0, column=17) + + workbook.save(output_path+'/'+report_filename) + + + +def helloworld(): + print(os.getcwd()) + print("helloworld") diff --git a/ych1990101/task1-optimized/app/notebook/utils/getDropdownMenu.py b/ych1990101/task1-optimized/app/notebook/utils/getDropdownMenu.py new file mode 100644 index 00000000..31036ba9 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/utils/getDropdownMenu.py @@ -0,0 +1,27 @@ +#! + +import os,sys +from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson +from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson +from api_footylogic_com.tournament.Standings import getStandingsJson +from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId +from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName +from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters + +from utils.Statistics import getTopBottomWinningAndLoseing +from utils.WriteExcel import writeExcel +from utils.GetScreenshot import getScreenshot +import nest_asyncio +import asyncio +import ipywidgets as widgets +from bet_hkjc_com.football.getJSON import getMatchesJson, getMatchesList + +def genMatchList(): + matches_json = getMatchesJson() + matches_list = getMatchesList(matches_json) + + labels = [] + for match_label in matches_list.keys(): + labels.append(match_label) + + return [labels, matches_list] \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/notebook/utils/report_template.xlsx b/ych1990101/task1-optimized/app/notebook/utils/report_template.xlsx new file mode 100644 index 00000000..e09b98b1 Binary files /dev/null and b/ych1990101/task1-optimized/app/notebook/utils/report_template.xlsx differ diff --git a/ych1990101/task1-optimized/app/notebook/utils/reports.py b/ych1990101/task1-optimized/app/notebook/utils/reports.py new file mode 100644 index 00000000..9f6cbad0 --- /dev/null +++ b/ych1990101/task1-optimized/app/notebook/utils/reports.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 + +import os +import sys +import json +from pprint import pprint + +from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson +from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson +from api_footylogic_com.match.h2h.RecentformInformationHomeTeam import getRecentformInformationHomeTeamJson +from api_footylogic_com.match.h2h.RecentformInformationAwayTeam import getRecentformInformationAwayTeamJson +from api_footylogic_com.tournament.Standings import getStandingsJson +from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId +from api_footylogic_com.tournament.Options import getOptionsJson +from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName +from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters + +from utils.Statistics import getTopBottomWinningAndLoseing +from utils.WriteExcel import writeExcel +from utils.GetScreenshot import getScreenshot, getScreenshot_bmstatistics, getScreenshot_bmrecentforms, getScreenshot_standings +import nest_asyncio +import asyncio + + +def genExcelReport(tournamentID='50022259', matchID='50024766', report_filename="report.xlsx"): + competitionId = tournamentID + eventId = matchID + + # # extract + # # # banner.py + banner_json = getBannerJson(eventId) + [homeTeamId, awayTeamId] = getTeams(banner_json) + competitionName = getCompetitionName(banner_json) + + # # # # 'https://footylogic.com/en/matchcenter/0/'+tournamentID+'/'+matchID+'/bmrecentforms' + + # # match/h2h/RecentformInformation.py + getRecentformInformationJson(homeTeamId, awayTeamId) + getRecentformInformationHomeTeamJson(homeTeamId, awayTeamId) + getRecentformInformationAwayTeamJson(homeTeamId, awayTeamId) + + # # MarketsInfo.py + getMarketsInfoJson(eventId, homeTeamId, awayTeamId, competitionId) + + competitions_json = getCompetitionsJson() + # competitionId = lookupCompetitionId(competitions_json, competitionName) + lookupCompetitionId(competitions_json, competitionName) + + dropdown_filters_json = getDropdownFilters(competitionId) + seasonId = dropdown_filters_json['Season'][0]['id'] + + options_json = getOptionsJson(competitionId, seasonId) + roundId = options_json[0]['id'] + + + # https://api.footylogic.com/tournament/options?languageId=19&channelId=1&competitionId=50019599&seasonId=4456 + standings_json = getStandingsJson(competitionId, seasonId, roundId) + + # translate + json_manifest = {} + pattern = r"(?<={jp:)(.*)(?=})" + + os_cwd = os.getcwd() + utils_path = os_cwd+'/utils' + excel_template_path = '/report_template.xlsx' + + json_store_path = os_cwd+'/jsons' + output_path = os_cwd + "/_output" + images_path = os_cwd + "/_images" + + markets_info_json_path = json_store_path+'/markets-info.json' + recentform_information_json_path = json_store_path+'/recentfrom-information.json' + recentform_information_home_team_json_path = json_store_path+'/recentfrom-information-home-team.json' + recentform_information_away_team_json_path = json_store_path+'/recentfrom-information-away-team.json' + recentform_information_json_path = json_store_path+'/recentfrom-information.json' + standings_json_path = json_store_path+'/standings.json' + banner_json_path = json_store_path+'/banner.json' + json_manifest_json_path = json_store_path+'/json_manifest.json' + + with open(banner_json_path, 'r') as json_file: + banner_json = json.load(json_file) + json_manifest = {**json_manifest, 'banner_json': banner_json} + + with open(markets_info_json_path, 'r') as json_file: + markets_info_json = json.load(json_file) + json_manifest = {**json_manifest, + 'markets-info.json': markets_info_json} + + # to be obsoleted + json_manifest = {**json_manifest, **markets_info_json} + + with open(recentform_information_json_path, 'r') as json_file: + recentfrom_information_json = json.load(json_file) + json_manifest = { + **json_manifest, 'recentfrom-information.json': recentfrom_information_json} + + # to be obsoleted + json_manifest = {**json_manifest, **recentfrom_information_json} + + with open(recentform_information_home_team_json_path, 'r') as json_file: + recentfrom_information_json = json.load(json_file) + json_manifest = { + **json_manifest, 'recentfrom-information-home-team.json': recentfrom_information_json} + + # to be obsoleted + json_manifest = {**json_manifest, **recentfrom_information_json} + + with open(recentform_information_away_team_json_path, 'r') as json_file: + recentfrom_information_json = json.load(json_file) + json_manifest = { + **json_manifest, 'recentfrom-information-away-team.json': recentfrom_information_json} + + # to be obsoleted + json_manifest = {**json_manifest, **recentfrom_information_json} + + with open(standings_json_path, 'r') as json_file: + standings_json = json.load(json_file) + json_manifest = {**json_manifest, + 'tournament/standings.json': standings_json} + + with open(json_manifest_json_path, 'w+') as f_out: + f_out.truncate(0) + json.dump(json_manifest, f_out) + + # get top/bottom winning and loseingreport_filename + getTopBottomWinningAndLoseing(json_manifest, competitionName) + + # get screenshot + nest_asyncio.apply() + bms_url = 'https://footylogic.com/en/matchcenter/0/' + tournamentID+'/'+ matchID +'/bmstatistics' + bm_recent = 'https://footylogic.com/en/matchcenter/0/' + tournamentID+'/'+ matchID +'/bmrecentforms' + standings_url = 'https://footylogic.com/en/tournament/league/' + tournamentID +'/standings' + + print(bms_url) + print(bm_recent) + print(standings_url) + asyncio.run(getScreenshot_bmstatistics(bms_url, images_path+'/bmstatistics.png', 1)) + asyncio.run(getScreenshot_bmrecentforms(bm_recent, images_path+'/bmrecentforms.png', 1)) + asyncio.run(getScreenshot_standings(standings_url, images_path+'/standings.png', 1)) + + # load + writeExcel(json_manifest, [ + images_path+'/bmstatistics.png', + images_path+'/bmrecentforms.png', + images_path+'/standings.png', + ], report_filename) + + print('reports.py: done...') + + +def helloworld(): + + print("helloworld") diff --git a/ych1990101/task1-optimized/app/requirements.txt b/ych1990101/task1-optimized/app/requirements.txt new file mode 100644 index 00000000..75c44734 --- /dev/null +++ b/ych1990101/task1-optimized/app/requirements.txt @@ -0,0 +1,7 @@ +jsonpath_ng==1.6.1 +openpyxl==3.1.2 +pillow==10.2.0 +jupyter==1.0.0 +playwright==1.41.0 +ipywidgets==8.1.1 +nest_asyncio==1.6.0 \ No newline at end of file diff --git a/ych1990101/task1-optimized/app/start_docker.sh b/ych1990101/task1-optimized/app/start_docker.sh new file mode 100644 index 00000000..4aae851c --- /dev/null +++ b/ych1990101/task1-optimized/app/start_docker.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -ex + +docker run -it \ + -v $PWD:/app \ + -w /app \ + -p 3000:3000 \ + -p 8888:8888 \ + -u 1000:1000 \ + --rm \ + logickee/ych1990101_jupyter:latest \ + bash diff --git a/ych1990101/task1-optimized/build_scripts/fedora_bootstrap.sh b/ych1990101/task1-optimized/build_scripts/fedora_bootstrap.sh new file mode 100644 index 00000000..da24b9e9 --- /dev/null +++ b/ych1990101/task1-optimized/build_scripts/fedora_bootstrap.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -x + +echo "# from fedora_bootstrap.sh" >> /etc/dnf/dnf.conf +echo "max_parallel_downloads=10" >> /etc/dnf/dnf.conf +echo "fastestmirror=True" >> /etc/dnf/dnf.conf + +sudo dnf update -y && sudo dnf upgrade -y diff --git a/ych1990101/task1-optimized/build_scripts/install_docker.sh b/ych1990101/task1-optimized/build_scripts/install_docker.sh new file mode 100644 index 00000000..5848dacb --- /dev/null +++ b/ych1990101/task1-optimized/build_scripts/install_docker.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -x + +# Run the following command to uninstall all conflicting packages: + +for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do + sudo apt-get remove $pkg; +done + +# Add Docker's official GPG key: +sudo apt-get update -y +sudo apt-get -y install ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +# Add the repository to Apt sources: +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update -y + +# To install the latest version, run: +sudo apt-get -y install docker-ce \ + docker-ce-cli \ + containerd.io \ + docker-buildx-plugin \ + docker-compose-plugin + +sudo docker run hello-world + +sudo usermod -aG docker vagrant +sudo usermod -aG dialout vagrant + +sudo systemctl enable docker + +echo "install done" diff --git a/ych1990101/task1-optimized/init.bat b/ych1990101/task1-optimized/init.bat new file mode 100644 index 00000000..d3d71038 --- /dev/null +++ b/ych1990101/task1-optimized/init.bat @@ -0,0 +1,9 @@ +vagrant init hashicorp/bionic64 +vagrant box add hashicorp/bionic64 +vagrant up +vagrant ssh +vagrant destroy +vagrant box list +vagrant box remove hashicorp/bionic64 +vagrant plugin install vagrant-share +vagrant share diff --git a/ych1990101/task1-optimized/rebuild.bat b/ych1990101/task1-optimized/rebuild.bat new file mode 100644 index 00000000..3d529e9d --- /dev/null +++ b/ych1990101/task1-optimized/rebuild.bat @@ -0,0 +1,10 @@ +vagrant destroy -f + +echo "build start" + +vagrant up +@REM vagrant plugin install vagrant-share + +echo "build done" + +vagrant ssh diff --git a/ych1990101/task1/meta.md b/ych1990101/task1/meta.md new file mode 100644 index 00000000..fd29ffe8 --- /dev/null +++ b/ych1990101/task1/meta.md @@ -0,0 +1,17 @@ +--- +tags: [virtualbox, vm, python, jupyter] +--- + +# task1 + +馬會: + +https://footylogic.com/en/matchcenter + +你好, 我想搵人代寫 python code. +個軟件程式係當 user 輸入 + +個軟件會去個特定網站, screen capture 個畫面. +從畫面中 Extract 一些需要的數字, 存取在一個已定好格式的 Excel File format. + +[./ych1990101/task1/meta.md](./ych1990101/task1/meta.md) diff --git a/ych1990101/task1/src/.gitignore b/ych1990101/task1/src/.gitignore new file mode 100644 index 00000000..3fde2427 --- /dev/null +++ b/ych1990101/task1/src/.gitignore @@ -0,0 +1,194 @@ +**/__pycache__/ +**/notebook/jsons/*.json +**/notebook/bet_hkjc_com/**/*.json +**/notebook/*.json + +_images +**/_output/*.xlsx + +# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks +# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks + +### JupyterNotebooks ### +# gitignore template for Jupyter Notebooks +# website: http://jupyter.org/ + +.ipynb_checkpoints +*/.ipynb_checkpoints/* + +# IPython +profile_default/ +ipython_config.py + +# Remove previous ipynb_checkpoints +# git rm -r .ipynb_checkpoints/ + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook + +# IPython + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +# End of https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks diff --git a/ych1990101/task1/src/Dockerfile b/ych1990101/task1/src/Dockerfile new file mode 100644 index 00000000..3c1f9d5c --- /dev/null +++ b/ych1990101/task1/src/Dockerfile @@ -0,0 +1,34 @@ +FROM python:latest + +RUN apt update && \ + apt install -y git && \ + useradd -m docker_user && \ + chown -R docker_user: /home/docker_user + +RUN mkdir -p /home/docker_user/.local +RUN mkdir -p /home/docker_user/.local/bin +RUN mkdir -p /home/docker_user/.local/lib +RUN mkdir -p /home/docker_user/.cache +ENV PATH="/home/docker_user/.local/bin:${PATH}" + +RUN chown 1000:1000 -R /home/docker_user + +RUN apt-get update && apt-get install -qqy libnss3\ + libnspr4\ + libdbus-1-3\ + libatk1.0-0\ + libatk-bridge2.0-0\ + libcups2\ + libdrm2\ + libxkbcommon0\ + libatspi2.0-0\ + libxcomposite1\ + libxdamage1\ + libxfixes3\ + libxrandr2\ + libgbm1\ + libasound2 + +USER docker_user +WORKDIR /app + diff --git a/ych1990101/task1/src/README.md b/ych1990101/task1/src/README.md new file mode 100644 index 00000000..c73e3c20 --- /dev/null +++ b/ych1990101/task1/src/README.md @@ -0,0 +1,34 @@ +# README + +```bash +$ ./start_docker.bat + +# inside container +$ ./run.sh + +``` + +阿根廷甲組聯賽 +西班牙甲組聯賽 +西班牙乙組聯賽 +蘇格蘭超級聯賽 +葡萄牙超級聯賽 +荷蘭甲組聯賽 +荷蘭乙組聯賽 +英格蘭超級聯賽 +英格蘭冠軍聯賽 +美國職業聯賽 +瑞典超級聯賽 +澳洲職業聯賽 +法國甲組聯賽 +法國乙組聯賽 +智利甲組聯賽 +日本職業聯賽 +日本乙組聯賽 +挪威超級聯賽 +意大利甲組聯賽 +德國甲組聯賽 +德國乙組聯賽 +南韓職業聯賽 + + diff --git a/ych1990101/task1/src/Sample Nepal .xlsx b/ych1990101/task1/src/Sample Nepal .xlsx new file mode 100644 index 00000000..c0764327 Binary files /dev/null and b/ych1990101/task1/src/Sample Nepal .xlsx differ diff --git a/ych1990101/task1/src/build.bat b/ych1990101/task1/src/build.bat new file mode 100644 index 00000000..b5a7ecba --- /dev/null +++ b/ych1990101/task1/src/build.bat @@ -0,0 +1 @@ +docker build . -t logickee/ych1990101_jupyter:latest diff --git a/ych1990101/task1/src/build.sh b/ych1990101/task1/src/build.sh new file mode 100644 index 00000000..0c59c8bf --- /dev/null +++ b/ych1990101/task1/src/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -x + +docker build . -t logickee/ych1990101_jupyter:latest diff --git a/ych1990101/task1/src/dev.sh b/ych1990101/task1/src/dev.sh new file mode 100644 index 00000000..12dda5ba --- /dev/null +++ b/ych1990101/task1/src/dev.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -x + + +# # pip install jupyter +# # pip install ipywidgets +# # pip install playwright +# # pip install nest_asyncio +pip install -r requirements.txt + +playwright install +# playwright install-deps + +jupyter notebook \ + --allow-root \ + --ip=0.0.0.0 \ + --NotebookApp.token='' \ + --NotebookApp.password='' \ + --notebook-dir=notebook diff --git a/ych1990101/task1/src/notebook/_output/.gitkeep b/ych1990101/task1/src/notebook/_output/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/helloworld.py b/ych1990101/task1/src/notebook/api_footylogic_com/helloworld.py new file mode 100644 index 00000000..8bbb4457 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/helloworld.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +import os,sys + +def helloworld(): + print("helloworld") + \ No newline at end of file diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/Banner.py b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/Banner.py new file mode 100644 index 00000000..eaaeb410 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/Banner.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getBannerJson(eventId): + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/banner' + + params = { + 'languageId': '19', + 'channelId': '1', + 'eventId': eventId, + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/banner.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + print('Banner.py: get banner json done') + + return response_json['data'] + + +def getTeams(json_in): + homeTeamId = json_in['homeTeamId'] + awayTeamId = json_in['awayTeamId'] + + return [homeTeamId, awayTeamId] + + +def getCompetitionName(json_in): + competitionName = json_in['competitionName'] + + return competitionName diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformation.py b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformation.py new file mode 100644 index 00000000..fee77218 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformation.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getRecentformInformationJson(homeTeamId, awayTeamId): + + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/recentform-information' + + params = { + 'languageId': '19', + 'channelId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'marketGroupId': '1', + 'optionIdH': '1', + 'optionIdA': '1', + 'mode': '1' + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/recentfrom-information.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + return response_json['data'] diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformationAwayTeam.py b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformationAwayTeam.py new file mode 100644 index 00000000..88059b02 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformationAwayTeam.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getRecentformInformationAwayTeamJson(homeTeamId, awayTeamId): + + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/recentform-information' + + params = { + 'languageId': '19', + 'channelId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'marketGroupId': '1', + 'optionIdH': '2', + 'optionIdA': '3', + 'mode': '1' + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/recentfrom-information-away-team.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + return response_json['data'] diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformationHomeTeam.py b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformationHomeTeam.py new file mode 100644 index 00000000..a32a7c42 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/match/h2h/RecentformInformationHomeTeam.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +# https://api.footylogic.com/match/h2h/recentform-information +# ?languageId=19 +# &channelId=1 +# &homeTeamId=50003297 +# &awayTeamId=50000948 +# &marketGroupId=1 +# &optionIdH=1 +# &optionIdA=1 +# &mode=1 + +def getRecentformInformationHomeTeamJson(homeTeamId, awayTeamId): + + # https://api.footylogic.com/match/h2h/recentform-information?languageId=19&channelId=1&homeTeamId=50000180&awayTeamId=50000599&marketGroupId=1&optionIdH=1&optionIdA=1&mode=1 + url = 'https://api.footylogic.com/match/h2h/recentform-information' + + params = { + 'languageId': '19', + 'channelId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'marketGroupId': '1', + 'optionIdH': '2', + 'optionIdA': '1', + 'mode': '1' + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/recentfrom-information-home-team.json", 'w+') as f_out_json: + json.dump(response_json['data'], f_out_json) + + return response_json['data'] diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/match/seasonalstats/DropdownFilters.py b/ych1990101/task1/src/notebook/api_footylogic_com/match/seasonalstats/DropdownFilters.py new file mode 100644 index 00000000..46ad1d1e --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/match/seasonalstats/DropdownFilters.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 + +import os +import sys +import requests +import json +from pprint import pprint + + +# https://api.footylogic.com/match/seasonalstats/dropdown-filters +# ?languageId=19 +# &channelId=1 +# &tableId=1 +# &competitionId=50016467 +# &tabId=1 + +def getDropdownFilters(competitionId="competitionId"): + url = 'https://api.footylogic.com/match/seasonalstats/dropdown-filters' + + params = { + 'languageId': '19', + 'channelId': '1', + 'tableId': '1', + 'competitionId': competitionId, + 'tabId': '1', + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + with open("./dropdown-filters.json", 'w+') as f_out_json: + json.dump(response_json_data, f_out_json) + + print('DropdownFilters.py: get getDropdownFilters json done') + + return response_json_data diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/match/statistics/MarketsInfo.py b/ych1990101/task1/src/notebook/api_footylogic_com/match/statistics/MarketsInfo.py new file mode 100644 index 00000000..d8dba56b --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/match/statistics/MarketsInfo.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +def getMarketsInfoJson(eventId, homeTeamId, awayTeamId, competitionId): + # https://api.footylogic.com/match/statistics/markets-info?channelId=1&languageId=1&eventId=50024534&seasonId=1&homeTeamId=50000180&awayTeamId=50000599&competitionId=50024169 + url = 'https://api.footylogic.com/match/statistics/markets-info' + + params = { + 'languageId': '19', + 'channelId': '1', + 'eventId': eventId, + 'seasonId': '1', + 'homeTeamId': homeTeamId, + 'awayTeamId': awayTeamId, + 'competitionId': competitionId, + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/markets-info.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_data, f_out_json) + + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + print('MarketsInfo.py: getMarketsInfoJson done') + + return response_json_data diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Competitions.py b/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Competitions.py new file mode 100644 index 00000000..609227bb --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Competitions.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json + + +def getCompetitionsJson(): + url = 'https://api.footylogic.com/tournament/competitions' + + params = { + 'languageId': '19', + 'channelId': '1', + 'categoryId': '1' + } + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + + # from pprint import pprint + # https://footylogic.com/en/tournament/league/{competitionId}/standings + + expanded_json = response_json + for data in expanded_json['data']: + for competition in data['competitions']: + competitionId = str(competition['competitionId']) + competition['standing_table_link'] = 'https://footylogic.com/en/tournament/league/' + \ + competitionId+'/standings' + + with open("./competitions.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(expanded_json['data'], f_out_json) + + return expanded_json['data'] + + +def lookupCompetitionId(competitions_json, competitionName): + for category in competitions_json: + for competition in category['competitions']: + if competition['competitionName'] == competitionName: + return competition['competitionId'] + + return 'not found' diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Options.py b/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Options.py new file mode 100644 index 00000000..c399d5a3 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Options.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json +from pprint import pprint + +USE_TEST_URL = int(os.getenv('USE_TEST_URL', False)) + +# https://api.footylogic.com/tournament/options? +# languageId=19 +# &channelId=1 +# &competitionId=50019599 +# &seasonId=4456 + +def getOptionsJson(competition_id, season_id): + + url = 'https://api.footylogic.com/tournament/options' + test_url = 'http://localhost:8081/tournament/options/options.json' + url = [url, test_url][USE_TEST_URL] + + params = { + 'languageId': '19', + 'channelId': '1', + 'competitionId': str(competition_id), + 'optionId': '1', + 'seasonId': str(season_id), + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/options.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_data, f_out_json) + + print('Options.py: get options done') + return response_json_data diff --git a/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Standings.py b/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Standings.py new file mode 100644 index 00000000..c3278e96 --- /dev/null +++ b/ych1990101/task1/src/notebook/api_footylogic_com/tournament/Standings.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import os +import sys +import requests +import json +from pprint import pprint + +USE_TEST_URL = int(os.getenv('USE_TEST_URL', False)) + +# https://api.footylogic.com/tournament/standings? +# languageId=19 +# &channelId=1 +# &competitionId=50016467 +# &optionId=1 +# &seasonId=4418 +# &layoutId=1 +# &roundId=13410 +# &tabId=1 +# &group=all + + +def getStandingsJson(competition_id, season_id, round_id): + + url = 'https://api.footylogic.com/tournament/standings' + test_url = 'http://localhost:8081/tournament/standings/standings.json' + url = [url, test_url][USE_TEST_URL] + + params = { + 'languageId': '19', + 'channelId': '1', + 'competitionId': str(competition_id), + 'optionId': '1', + 'seasonId': str(season_id), + 'layoutId': '1', + 'roundId': str(round_id), + 'tabId': '1', + 'group': 'all', + } + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + + + response = requests.get(url, params=params, headers=headers) + response_json = json.loads(response.text) + response_json_data = response_json['data'] + + os_cwd = os.getcwd() + json_store_path = os_cwd+'/jsons' + + with open(json_store_path+"/standings.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_data, f_out_json) + + print('Standings.py: get standings done') + return response_json_data diff --git a/ych1990101/task1/src/notebook/bet_hkjc_com/football/getJSON.py b/ych1990101/task1/src/notebook/bet_hkjc_com/football/getJSON.py new file mode 100644 index 00000000..354539d5 --- /dev/null +++ b/ych1990101/task1/src/notebook/bet_hkjc_com/football/getJSON.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 + +import os +import sys +import re +import json +import requests +from pprint import pprint + + +def getMatchesJson(): + url = 'https://bet.hkjc.com/football/getJSON.aspx?jsontype=odds_hil.aspx' + + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0', + 'Accept': '*/*', + 'Accept-Language': 'en-US,en;q=0.5', + 'Accept-Encoding': 'gzip, deflate, br', + 'Referer': 'https://footylogic.com/', + 'Origin': 'https://footylogic.com', + 'Connection': 'keep-alive', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-site', + 'Pragma': 'no-cache', + 'Cache-Control': 'no-cache' + } + + response = requests.get(url, headers=headers) + response_json = json.loads(response.text) + # response_json_tournaments = response_json['tournaments'] + response_json_matches = response_json['matches'] + + os_cwd = os.getcwd() + # json_store_path = os_cwd+'/jsons' + + with open("./matches_list.json", 'w+') as f_out_json: + f_out_json.truncate(0) + json.dump(response_json_matches, f_out_json) + + # print('get odds_hil done') + return response_json_matches + + +def getMatchesList(matches_json): + output = {} + for match in matches_json: + matchDay = match['matchDay'] + matchID = match['matchID'] + matchDate = match['matchDate'] + matchYYYYMMDD = matchDate.split('T')[0] + tournamentID = match['tournament']['tournamentID'] + tournamentNameEN = match['tournament']['tournamentNameEN'] + tournamentNameCH = match['tournament']['tournamentNameCH'] + homeTeam_teamNameEN = match['homeTeam']['teamNameEN'] + awayTeam_teamNameEN = match['awayTeam']['teamNameEN'] + homeTeam_teamNameCH = match['homeTeam']['teamNameCH'] + awayTeam_teamNameCH = match['awayTeam']['teamNameCH'] + + tournament_string = "tournamentNameEN(tournamentNameCH)" + tournament_string = tournament_string.replace( + "tournamentNameEN", tournamentNameEN) + tournament_string = tournament_string.replace( + "tournamentNameCH", tournamentNameCH) + + vs_string = 'home_en(home_ch) vs away_en(away_ch)' + vs_string = vs_string.replace('home_en', homeTeam_teamNameEN) + vs_string = vs_string.replace('away_en', awayTeam_teamNameEN) + vs_string = vs_string.replace('home_ch', homeTeam_teamNameCH) + vs_string = vs_string.replace('away_ch', awayTeam_teamNameCH) + + temp = ','.join([matchYYYYMMDD, tournament_string, vs_string]) + output[temp] = [tournamentID, matchID] + + return output diff --git a/ych1990101/task1/src/notebook/bet_hkjc_com/football/test.sh b/ych1990101/task1/src/notebook/bet_hkjc_com/football/test.sh new file mode 100644 index 00000000..0e93971f --- /dev/null +++ b/ych1990101/task1/src/notebook/bet_hkjc_com/football/test.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +export PYTHONDONTWRITEBYTECODE=1 + +python3 getJSON.py diff --git a/ych1990101/task1/src/notebook/jsons/.gitkeep b/ych1990101/task1/src/notebook/jsons/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ych1990101/task1/src/notebook/main.ipynb b/ych1990101/task1/src/notebook/main.ipynb new file mode 100644 index 00000000..5ef32a43 --- /dev/null +++ b/ych1990101/task1/src/notebook/main.ipynb @@ -0,0 +1,485 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6405f0ad-a363-4d36-a808-6f778c7b8c65", + "metadata": {}, + "source": [ + "## 1. start here, run this cell" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1a332d6f", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ebee0d2271684c0d834cf17cc912376c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Select an option:', options=('2024-03-24,Japanese Division 2(日本乙組聯賽),V-Varen Nagasaki(長崎…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import os,sys,json\n", + "from pprint import pprint\n", + "import nest_asyncio\n", + "import asyncio\n", + "import ipywidgets as widgets\n", + "\n", + "from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson\n", + "from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson\n", + "from api_footylogic_com.tournament.Standings import getStandingsJson\n", + "from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId\n", + "from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName\n", + "from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters\n", + "from bet_hkjc_com.football.getJSON import getMatchesJson, getMatchesList\n", + "\n", + "from utils.Statistics import getTopBottomWinningAndLoseing\n", + "from utils.WriteExcel import writeExcel\n", + "from utils.GetScreenshot import getScreenshot\n", + "from utils.reports import genExcelReport\n", + "from utils.getDropdownMenu import genMatchList\n", + "\n", + "[options, matches_list] = genMatchList()\n", + "dropdown = widgets.Dropdown(options=options, description='Select an option:')\n", + "display(dropdown)" + ] + }, + { + "cell_type": "markdown", + "id": "b8309647-791d-4d6b-bb01-4c417c46b13c", + "metadata": {}, + "source": [ + "## 2. select matches and run below cell" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "98987f47-b2af-4932-9f8d-f0a47dca1c10", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['50019599', '50026115']\n", + "generate report for 2024-03-23,Spanish Division 2(西班牙乙組聯賽),Alcorcon(艾高干) vs Oviedo(奧維多)\n" + ] + } + ], + "source": [ + "# generate_report_key = dropdown.value\n", + "generate_report_key = '2024-03-23,Spanish Division 2(西班牙乙組聯賽),Alcorcon(艾高干) vs Oviedo(奧維多)'\n", + "\n", + "report_filename= generate_report_key.replace(',','_').replace(' ','_') +'.xlsx'\n", + "[tournamentID,matchID] = matches_list[generate_report_key]\n", + "pprint([tournamentID,matchID])\n", + "\n", + "# print('generate report for '+ generate_report_key)\n", + "print('generate report for '+ generate_report_key)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6a31f956-0ff4-4341-8549-8421da70ab04", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026115/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026115/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n" + ] + } + ], + "source": [ + "genExcelReport(tournamentID, matchID, report_filename)" + ] + }, + { + "cell_type": "markdown", + "id": "772987b4-0d77-4ed0-a396-b0b685608930", + "metadata": {}, + "source": [ + "## 3. grab the report in _output directory" + ] + }, + { + "cell_type": "markdown", + "id": "3c46d722-0715-4aaf-8b4f-d4163ad88742", + "metadata": {}, + "source": [ + "### end for phase one" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4545183e-5e9d-4663-b0a3-08348d56a845", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "05:17:02.595649\n", + "2024-03-24,Japanese Division 2(日本乙組聯賽),V-Varen Nagasaki(長崎成功丸) vs Ventforet Kofu(甲府風林)\n", + "working on 0/26 , 2024-03-24,Japanese Division 2(日本乙組聯賽),V-Varen Nagasaki(長崎成功丸) vs Ventforet Kofu(甲府風林)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-03-24,Japanese Division 2(日本乙組聯賽),Vegalta Sendai(仙台維加泰) vs Tokushima Vortis(德島漩渦)\n", + "working on 1/26 , 2024-03-24,Japanese Division 2(日本乙組聯賽),Vegalta Sendai(仙台維加泰) vs Tokushima Vortis(德島漩渦)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-03-24,Korean FA Cup(南韓足總盃),Jeonnam Dragons(全南天龍) vs Gangneung Citizen(江陵市民)\n", + "working on 2/26 , 2024-03-24,Korean FA Cup(南韓足總盃),Jeonnam Dragons(全南天龍) vs Gangneung Citizen(江陵市民)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-03-24,Japanese Division 2(日本乙組聯賽),Thespakusatsu Gunma(群馬草津溫泉) vs Fagiano Okayama(岡山綠雉)\n", + "working on 3/26 , 2024-03-24,Japanese Division 2(日本乙組聯賽),Thespakusatsu Gunma(群馬草津溫泉) vs Fagiano Okayama(岡山綠雉)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-03-24,Spanish Division 2(西班牙乙組聯賽),Amorebieta(阿莫列比達) vs Gijon(希杭)\n", + "working on 4/26 , 2024-03-24,Spanish Division 2(西班牙乙組聯賽),Amorebieta(阿莫列比達) vs Gijon(希杭)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026117/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026117/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "2024-03-24,Spanish Division 2(西班牙乙組聯賽),Huesca(侯爾斯卡) vs Burgos(貝高斯)\n", + "working on 5/26 , 2024-03-24,Spanish Division 2(西班牙乙組聯賽),Huesca(侯爾斯卡) vs Burgos(貝高斯)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026111/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026111/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-24,Spanish Division 2(西班牙乙組聯賽),Valladolid(華拉度列) vs Eibar(伊巴)\n", + "working on 6/26 , 2024-03-24,Spanish Division 2(西班牙乙組聯賽),Valladolid(華拉度列) vs Eibar(伊巴)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026110/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026110/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-25,Spanish Division 2(西班牙乙組聯賽),Levante(利雲特) vs CF Elche(艾爾切)\n", + "working on 7/26 , 2024-03-25,Spanish Division 2(西班牙乙組聯賽),Levante(利雲特) vs CF Elche(艾爾切)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026116/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026116/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-25,Spanish Division 2(西班牙乙組聯賽),Mirandes(米蘭迪斯) vs Zaragoza(薩拉戈薩)\n", + "working on 8/26 , 2024-03-25,Spanish Division 2(西班牙乙組聯賽),Mirandes(米蘭迪斯) vs Zaragoza(薩拉戈薩)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026119/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026119/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-25,International Matches(國際賽),Italy(意大利) vs Ecuador(厄瓜多爾)\n", + "working on 9/26 , 2024-03-25,International Matches(國際賽),Italy(意大利) vs Ecuador(厄瓜多爾)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "2024-03-25,Spanish Division 2(西班牙乙組聯賽),Santander(桑坦德) vs CD Eldense(CD艾丹斯)\n", + "working on 10/26 , 2024-03-25,Spanish Division 2(西班牙乙組聯賽),Santander(桑坦德) vs CD Eldense(CD艾丹斯)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026112/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026112/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-25,International Matches(國際賽),Jamaica(牙買加) vs Panama(巴拿馬)\n", + "working on 11/26 , 2024-03-25,International Matches(國際賽),Jamaica(牙買加) vs Panama(巴拿馬)\n", + "Banner.py: get banner json done\n", + "2024-03-25,International Matches(國際賽),Guatemala(危地馬拉) vs Venezuela(委內瑞拉)\n", + "working on 12/26 , 2024-03-25,International Matches(國際賽),Guatemala(危地馬拉) vs Venezuela(委內瑞拉)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "2024-03-25,International Matches(國際賽),USA(美國) vs Mexico(墨西哥)\n", + "working on 13/26 , 2024-03-25,International Matches(國際賽),USA(美國) vs Mexico(墨西哥)\n", + "Banner.py: get banner json done\n", + "2024-03-26,Spanish Division 2(西班牙乙組聯賽),Albacete(阿爾巴塞特) vs Racing de Ferrol(費路爾競賽)\n", + "working on 14/26 , 2024-03-26,Spanish Division 2(西班牙乙組聯賽),Albacete(阿爾巴塞特) vs Racing de Ferrol(費路爾競賽)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026118/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50019599/50026118/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50019599/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-26,Chilean Division 1(智利甲組聯賽),Universidad Chile(智利大學) vs Cobresal(科布雷素)\n", + "working on 15/26 , 2024-03-26,Chilean Division 1(智利甲組聯賽),Universidad Chile(智利大學) vs Cobresal(科布雷素)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "2024-03-30,Eng Premier(英格蘭超級聯賽),Newcastle(紐卡素) vs West Ham(韋斯咸)\n", + "working on 16/26 , 2024-03-30,Eng Premier(英格蘭超級聯賽),Newcastle(紐卡素) vs West Ham(韋斯咸)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025367/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025367/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "2024-03-30,Eng Premier(英格蘭超級聯賽),Chelsea(車路士) vs Burnley(般尼)\n", + "working on 17/26 , 2024-03-30,Eng Premier(英格蘭超級聯賽),Chelsea(車路士) vs Burnley(般尼)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026779/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026779/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "2024-03-30,Eng Premier(英格蘭超級聯賽),Tottenham(熱刺) vs Luton(盧頓)\n", + "working on 18/26 , 2024-03-30,Eng Premier(英格蘭超級聯賽),Tottenham(熱刺) vs Luton(盧頓)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026607/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026607/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-30,Eng Premier(英格蘭超級聯賽),Bournemouth(般尼茅夫) vs Everton(愛華頓)\n", + "working on 19/26 , 2024-03-30,Eng Premier(英格蘭超級聯賽),Bournemouth(般尼茅夫) vs Everton(愛華頓)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026614/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026614/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-30,Eng Premier(英格蘭超級聯賽),Nottingham Forest(諾定咸森林) vs Crystal Palace(水晶宮)\n", + "working on 20/26 , 2024-03-30,Eng Premier(英格蘭超級聯賽),Nottingham Forest(諾定咸森林) vs Crystal Palace(水晶宮)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026778/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026778/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-30,Eng Premier(英格蘭超級聯賽),Sheff Utd(錫菲聯) vs Fulham(富咸)\n", + "working on 21/26 , 2024-03-30,Eng Premier(英格蘭超級聯賽),Sheff Utd(錫菲聯) vs Fulham(富咸)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026613/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50026613/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-31,Eng Premier(英格蘭超級聯賽),Aston Villa(阿士東維拉) vs Wolves(狼隊)\n", + "working on 22/26 , 2024-03-31,Eng Premier(英格蘭超級聯賽),Aston Villa(阿士東維拉) vs Wolves(狼隊)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025366/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025366/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-31,Eng Premier(英格蘭超級聯賽),Brentford(賓福特) vs Manchester Utd(曼聯)\n", + "working on 23/26 , 2024-03-31,Eng Premier(英格蘭超級聯賽),Brentford(賓福特) vs Manchester Utd(曼聯)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025368/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025368/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "2024-03-31,Eng Premier(英格蘭超級聯賽),Liverpool(利物浦) vs Brighton(白禮頓)\n", + "working on 24/26 , 2024-03-31,Eng Premier(英格蘭超級聯賽),Liverpool(利物浦) vs Brighton(白禮頓)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025370/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025370/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "IndexError('list index out of range')\n", + "'error:{jp:statistics.distilledRecent8Results.homeTeam[4].pos}'\n", + "IndexError('list index out of range')\n", + "'error:{jp:statistics.distilledRecent8Results.homeTeam[4].fullTimeScore}'\n", + "IndexError('list index out of range')\n", + "'error:{jp:statistics.distilledRecent8Results.awayTeam[4].pos}'\n", + "IndexError('list index out of range')\n", + "'error:{jp:statistics.distilledRecent8Results.awayTeam[4].fullTimeScore}'\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "2024-03-31,Eng Premier(英格蘭超級聯賽),Manchester City(曼城) vs Arsenal(阿仙奴)\n", + "working on 25/26 , 2024-03-31,Eng Premier(英格蘭超級聯賽),Manchester City(曼城) vs Arsenal(阿仙奴)\n", + "Banner.py: get banner json done\n", + "MarketsInfo.py: getMarketsInfoJson done\n", + "DropdownFilters.py: get getDropdownFilters json done\n", + "Options.py: get options done\n", + "Standings.py: get standings done\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025369/bmstatistics\n", + "https://footylogic.com/en/matchcenter/0/50015668/50025369/bmrecentforms\n", + "https://footylogic.com/en/tournament/league/50015668/standings\n", + "/app/notebook/_images/bmstatistics.png\n", + "/app/notebook/_images/bmrecentforms.png\n", + "/app/notebook/_images/standings.png\n", + "reports.py: done...\n", + "05:19:52.123568\n" + ] + } + ], + "source": [ + "from datetime import datetime\n", + "print(datetime.now().time())\n", + "\n", + "target_date = '2024-03'\n", + "\n", + "for i in range(0, len(options)):\n", + " try:\n", + " option = options[i]\n", + " print(option)\n", + " if (option.index(target_date) > -1):\n", + " print('working on '+str(i)+'/'+str(len(options))+' , '+option)\n", + " [tournamentID,matchID] = matches_list[option]\n", + " report_filename= option.replace(',','_').replace(' ','_') +'.xlsx'\n", + " genExcelReport(tournamentID, matchID, report_filename)\n", + " except Exception as e:\n", + " pass\n", + "\n", + "print(datetime.now().time())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e1bb1c6-6b4b-4c4b-ad93-5192fdd7faf0", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/ych1990101/task1/src/notebook/result.txt b/ych1990101/task1/src/notebook/result.txt new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/ych1990101/task1/src/notebook/result.txt @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/ych1990101/task1/src/notebook/utils/GetScreenshot.py b/ych1990101/task1/src/notebook/utils/GetScreenshot.py new file mode 100644 index 00000000..1a29d60b --- /dev/null +++ b/ych1990101/task1/src/notebook/utils/GetScreenshot.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python +from playwright.async_api import async_playwright + + +def helloworld(): + print("helloworld") + + +async def getScreenshot_bmstatistics(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + + await page.goto(url) + + await page.wait_for_timeout(timeout_s * 1000) + # await page.waitForSelector('xpath=//*[contains(text(), "Total Goals")]'); + await page.get_by_text("Total Goals").click() + + await page.screenshot(path=file_path, full_page=True) + + await browser.close() + + +async def getScreenshot_bmrecentforms(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + + await page.goto(url) + + elements = await page.locator('select.select-margin').all() + with open('./result.txt','w') as fo: + fo.write(str(len(elements))) + await elements[0].select_option(label="Home Matches") + await elements[1].select_option(label="Away Matches") + + await page.screenshot(path=file_path, full_page=True) + + await browser.close() + + +async def getScreenshot_standings(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + await page.goto(url) + await page.wait_for_timeout(timeout_s * 1000) + await page.screenshot(path=file_path, full_page=True) + await browser.close() + + +async def getScreenshot(url, file_path, timeout_s): + async with async_playwright() as pw: + browser = await pw.chromium.launch(headless=True) + page = await browser.new_page() + + await page.goto(url) + + await page.wait_for_timeout(timeout_s * 1000) + + await page.screenshot(path=file_path, full_page=True) + + await browser.close() diff --git a/ych1990101/task1/src/notebook/utils/Statistics.py b/ych1990101/task1/src/notebook/utils/Statistics.py new file mode 100644 index 00000000..99b376e2 --- /dev/null +++ b/ych1990101/task1/src/notebook/utils/Statistics.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 + +import os,sys,json +from pprint import pprint + +def distillRecent8Results(json_manifest, competitionName="Belgian Division 1"): + # distill results + json_manifest['statistics']['distilledRecent8Results'] = {} + json_manifest_distilled = json_manifest['statistics']['distilledRecent8Results'] + json_manifest_distilled['homeTeam'] = [] + distilled_homeTeam = json_manifest_distilled['homeTeam'] + json_manifest_distilled['awayTeam'] = [] + distilled_awayTeam = json_manifest_distilled['awayTeam'] + + recent8Results = json_manifest['recentfrom-information.json']['recent8Results'] + recent8ResultsHomeTeam = json_manifest['recentfrom-information-home-team.json']['recent8Results'] + recent8ResultsAwayTeam = json_manifest['recentfrom-information-away-team.json']['recent8Results'] + + homeTeam = recent8ResultsHomeTeam['homeTeam'] + for result in homeTeam: + if result['competitionName'] == competitionName and result['homeOrAway'] == "H": + if (len(distilled_homeTeam)) < 5: + distilled_homeTeam.append(result) + + awayTeam = recent8ResultsAwayTeam['awayTeam'] + for result in awayTeam: + if result['competitionName'] == competitionName and result['homeOrAway'] == "A": + if (len(distilled_awayTeam)) < 5: + distilled_awayTeam.append(result) + +def lookupPositionByTeamName(json_manifest, teamNameToCheck): + standings_info = json_manifest['tournament/standings.json']['info'] + for standing in standings_info: + if standing['teamName'] == teamNameToCheck: + return standing['teamRank'] + + raise Exception(teamNameToCheck) + return -99 + +def countTotalStandingTeam(json_manifest): + standings_info = json_manifest['tournament/standings.json']['info'] + + return len(standings_info) + +def getTopBottomWinningAndLoseing(json_manifest, competitionName): + json_manifest['statistics'] = {} + json_manifest['statistics']['top_bottom_winning_losing'] = {} + result = json_manifest['statistics']['top_bottom_winning_losing'] + + # get statistics + result['home_top_win_count'] = 0 + result['home_top_draw_count'] = 0 + result['home_top_loss_count'] = 0 + result['home_bottom_win_count'] = 0 + result['home_bottom_draw_count'] = 0 + result['home_bottom_loss_count'] = 0 + + result['away_top_win_count'] = 0 + result['away_top_draw_count'] = 0 + result['away_top_loss_count'] = 0 + result['away_bottom_win_count'] = 0 + result['away_bottom_draw_count'] = 0 + result['away_bottom_loss_count'] = 0 + + # filter all non same tournament + distillRecent8Results(json_manifest, competitionName) + + json_manifest_distilled = json_manifest['statistics']['distilledRecent8Results'] + json_manifest_distilled_homeTeam = json_manifest_distilled['homeTeam'] + json_manifest_distilled_awayTeam = json_manifest_distilled['awayTeam'] + + all_team_count = countTotalStandingTeam(json_manifest) + json_manifest_distilled['allTeamCount'] = all_team_count + + for entry in json_manifest_distilled_homeTeam: + oppTeamName = entry['oppTeamName'] + pos = lookupPositionByTeamName(json_manifest, oppTeamName) + pos = int(pos) + entry['pos'] = pos + + if (pos <= (all_team_count / 2)): + # count home top winning + if entry['fullTimeResult'] == 'W': + result['home_top_win_count'] += 1 + # count home top draw + if entry['fullTimeResult'] == 'D': + result['home_top_draw_count'] += 1 + # count home top losing + if entry['fullTimeResult'] == 'L': + result['home_top_loss_count'] += 1 + else: + # count home bottom winning + if entry['fullTimeResult'] == 'W': + result['home_bottom_win_count'] += 1 + # count home bottom draw + if entry['fullTimeResult'] == 'D': + result['home_bottom_draw_count'] += 1 + # count home bottom losing + if entry['fullTimeResult'] == 'L': + result['home_bottom_loss_count'] += 1 + + for entry in json_manifest_distilled_awayTeam: + oppTeamName = entry['oppTeamName'] + pos = lookupPositionByTeamName(json_manifest, oppTeamName) + pos = int(pos) + entry['pos'] = pos + + if (pos <= (all_team_count / 2)): + # count away top winning + if entry['fullTimeResult'] == 'W': + result['away_top_win_count'] += 1 + + # count away top draw + if entry['fullTimeResult'] == 'D': + result['away_top_draw_count'] += 1 + + # count away top losing + if entry['fullTimeResult'] == 'L': + result['away_top_loss_count'] += 1 + else: + # count away bottom winning + if entry['fullTimeResult'] == 'W': + result['away_bottom_win_count'] += 1 + # count away bottom draw + if entry['fullTimeResult'] == 'D': + result['away_bottom_draw_count'] += 1 + # count away bottom losing + if entry['fullTimeResult'] == 'L': + result['away_bottom_loss_count'] += 1 + +def helloworld(): + print("helloworld") diff --git a/ych1990101/task1/src/notebook/utils/WriteExcel.py b/ych1990101/task1/src/notebook/utils/WriteExcel.py new file mode 100644 index 00000000..1f5b2c51 --- /dev/null +++ b/ych1990101/task1/src/notebook/utils/WriteExcel.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python + +import os +import sys +import re +from pprint import pprint + +import json +from jsonpath_ng import jsonpath, parse + +from openpyxl import Workbook, load_workbook +from openpyxl.utils import get_column_letter +from openpyxl.styles import Alignment +from openpyxl.drawing.image import Image + +import re + + +def LookupTeamPosition(team_to_lookup, manifest_json): + team_rank = -99 + num_of_team = -99 + + standings = manifest_json['tournament/standings.json']['info'] + num_of_team = len(standings) + + for standing in standings: + if standing['teamName'] == team_to_lookup: + team_rank = int(standing['teamRank']) + return [team_rank, num_of_team] + + +def writeExcel(json_manifest, image_paths, report_filename): + pattern = r"(?<={jp:)(.*)(?=})" + + excel_template_path = '/report_template.xlsx' + + os_cwd = os.getcwd() + utils_path = os_cwd+'/utils' + output_path = os_cwd + "/_output" + images_path = os_cwd + "/_images" + + # Find and replace values + find_value = 'Mainz' + replace_value = '11111111' + + # Create a new workbook + workbook = load_workbook(utils_path+excel_template_path) + + # Select the active sheet (first sheet by default) + sheet = workbook.active + + for row in sheet.iter_rows(): + for cell in row: + # print(cell.coordinate) + + if type(cell.value) == type('string'): + result = re.search(pattern, cell.value) + if result: + try: + jsonpath_expression = parse(result.group(0)) + alignment = Alignment( + horizontal='center', vertical='center') + cell.alignment = alignment + cell.value = jsonpath_expression.find(json_manifest)[ + 0].value + + except Exception as e: + pprint(e) + pprint("error:" + cell.value) + alignment = Alignment( + horizontal='center', vertical='center') + cell.alignment = alignment + cell.value = '---' + + # image_path = images_path+"/helloworld.jpg" + + current_cell = sheet.cell(row=1, column=9) + for image_path in image_paths: + print(image_path) + image = Image(image_path) + sheet.add_image(image, current_cell.coordinate) + current_cell = current_cell.offset(row=0, column=17) + + workbook.save(output_path+'/'+report_filename) + + + +def helloworld(): + print(os.getcwd()) + print("helloworld") diff --git a/ych1990101/task1/src/notebook/utils/getDropdownMenu.py b/ych1990101/task1/src/notebook/utils/getDropdownMenu.py new file mode 100644 index 00000000..31036ba9 --- /dev/null +++ b/ych1990101/task1/src/notebook/utils/getDropdownMenu.py @@ -0,0 +1,27 @@ +#! + +import os,sys +from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson +from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson +from api_footylogic_com.tournament.Standings import getStandingsJson +from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId +from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName +from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters + +from utils.Statistics import getTopBottomWinningAndLoseing +from utils.WriteExcel import writeExcel +from utils.GetScreenshot import getScreenshot +import nest_asyncio +import asyncio +import ipywidgets as widgets +from bet_hkjc_com.football.getJSON import getMatchesJson, getMatchesList + +def genMatchList(): + matches_json = getMatchesJson() + matches_list = getMatchesList(matches_json) + + labels = [] + for match_label in matches_list.keys(): + labels.append(match_label) + + return [labels, matches_list] \ No newline at end of file diff --git a/ych1990101/task1/src/notebook/utils/report_template.xlsx b/ych1990101/task1/src/notebook/utils/report_template.xlsx new file mode 100644 index 00000000..e09b98b1 Binary files /dev/null and b/ych1990101/task1/src/notebook/utils/report_template.xlsx differ diff --git a/ych1990101/task1/src/notebook/utils/reports.py b/ych1990101/task1/src/notebook/utils/reports.py new file mode 100644 index 00000000..9f6cbad0 --- /dev/null +++ b/ych1990101/task1/src/notebook/utils/reports.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 + +import os +import sys +import json +from pprint import pprint + +from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson +from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson +from api_footylogic_com.match.h2h.RecentformInformationHomeTeam import getRecentformInformationHomeTeamJson +from api_footylogic_com.match.h2h.RecentformInformationAwayTeam import getRecentformInformationAwayTeamJson +from api_footylogic_com.tournament.Standings import getStandingsJson +from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId +from api_footylogic_com.tournament.Options import getOptionsJson +from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName +from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters + +from utils.Statistics import getTopBottomWinningAndLoseing +from utils.WriteExcel import writeExcel +from utils.GetScreenshot import getScreenshot, getScreenshot_bmstatistics, getScreenshot_bmrecentforms, getScreenshot_standings +import nest_asyncio +import asyncio + + +def genExcelReport(tournamentID='50022259', matchID='50024766', report_filename="report.xlsx"): + competitionId = tournamentID + eventId = matchID + + # # extract + # # # banner.py + banner_json = getBannerJson(eventId) + [homeTeamId, awayTeamId] = getTeams(banner_json) + competitionName = getCompetitionName(banner_json) + + # # # # 'https://footylogic.com/en/matchcenter/0/'+tournamentID+'/'+matchID+'/bmrecentforms' + + # # match/h2h/RecentformInformation.py + getRecentformInformationJson(homeTeamId, awayTeamId) + getRecentformInformationHomeTeamJson(homeTeamId, awayTeamId) + getRecentformInformationAwayTeamJson(homeTeamId, awayTeamId) + + # # MarketsInfo.py + getMarketsInfoJson(eventId, homeTeamId, awayTeamId, competitionId) + + competitions_json = getCompetitionsJson() + # competitionId = lookupCompetitionId(competitions_json, competitionName) + lookupCompetitionId(competitions_json, competitionName) + + dropdown_filters_json = getDropdownFilters(competitionId) + seasonId = dropdown_filters_json['Season'][0]['id'] + + options_json = getOptionsJson(competitionId, seasonId) + roundId = options_json[0]['id'] + + + # https://api.footylogic.com/tournament/options?languageId=19&channelId=1&competitionId=50019599&seasonId=4456 + standings_json = getStandingsJson(competitionId, seasonId, roundId) + + # translate + json_manifest = {} + pattern = r"(?<={jp:)(.*)(?=})" + + os_cwd = os.getcwd() + utils_path = os_cwd+'/utils' + excel_template_path = '/report_template.xlsx' + + json_store_path = os_cwd+'/jsons' + output_path = os_cwd + "/_output" + images_path = os_cwd + "/_images" + + markets_info_json_path = json_store_path+'/markets-info.json' + recentform_information_json_path = json_store_path+'/recentfrom-information.json' + recentform_information_home_team_json_path = json_store_path+'/recentfrom-information-home-team.json' + recentform_information_away_team_json_path = json_store_path+'/recentfrom-information-away-team.json' + recentform_information_json_path = json_store_path+'/recentfrom-information.json' + standings_json_path = json_store_path+'/standings.json' + banner_json_path = json_store_path+'/banner.json' + json_manifest_json_path = json_store_path+'/json_manifest.json' + + with open(banner_json_path, 'r') as json_file: + banner_json = json.load(json_file) + json_manifest = {**json_manifest, 'banner_json': banner_json} + + with open(markets_info_json_path, 'r') as json_file: + markets_info_json = json.load(json_file) + json_manifest = {**json_manifest, + 'markets-info.json': markets_info_json} + + # to be obsoleted + json_manifest = {**json_manifest, **markets_info_json} + + with open(recentform_information_json_path, 'r') as json_file: + recentfrom_information_json = json.load(json_file) + json_manifest = { + **json_manifest, 'recentfrom-information.json': recentfrom_information_json} + + # to be obsoleted + json_manifest = {**json_manifest, **recentfrom_information_json} + + with open(recentform_information_home_team_json_path, 'r') as json_file: + recentfrom_information_json = json.load(json_file) + json_manifest = { + **json_manifest, 'recentfrom-information-home-team.json': recentfrom_information_json} + + # to be obsoleted + json_manifest = {**json_manifest, **recentfrom_information_json} + + with open(recentform_information_away_team_json_path, 'r') as json_file: + recentfrom_information_json = json.load(json_file) + json_manifest = { + **json_manifest, 'recentfrom-information-away-team.json': recentfrom_information_json} + + # to be obsoleted + json_manifest = {**json_manifest, **recentfrom_information_json} + + with open(standings_json_path, 'r') as json_file: + standings_json = json.load(json_file) + json_manifest = {**json_manifest, + 'tournament/standings.json': standings_json} + + with open(json_manifest_json_path, 'w+') as f_out: + f_out.truncate(0) + json.dump(json_manifest, f_out) + + # get top/bottom winning and loseingreport_filename + getTopBottomWinningAndLoseing(json_manifest, competitionName) + + # get screenshot + nest_asyncio.apply() + bms_url = 'https://footylogic.com/en/matchcenter/0/' + tournamentID+'/'+ matchID +'/bmstatistics' + bm_recent = 'https://footylogic.com/en/matchcenter/0/' + tournamentID+'/'+ matchID +'/bmrecentforms' + standings_url = 'https://footylogic.com/en/tournament/league/' + tournamentID +'/standings' + + print(bms_url) + print(bm_recent) + print(standings_url) + asyncio.run(getScreenshot_bmstatistics(bms_url, images_path+'/bmstatistics.png', 1)) + asyncio.run(getScreenshot_bmrecentforms(bm_recent, images_path+'/bmrecentforms.png', 1)) + asyncio.run(getScreenshot_standings(standings_url, images_path+'/standings.png', 1)) + + # load + writeExcel(json_manifest, [ + images_path+'/bmstatistics.png', + images_path+'/bmrecentforms.png', + images_path+'/standings.png', + ], report_filename) + + print('reports.py: done...') + + +def helloworld(): + + print("helloworld") diff --git a/ych1990101/task1/src/report_template.xlsx b/ych1990101/task1/src/report_template.xlsx new file mode 100644 index 00000000..bedab331 Binary files /dev/null and b/ych1990101/task1/src/report_template.xlsx differ diff --git a/ych1990101/task1/src/requirements.txt b/ych1990101/task1/src/requirements.txt new file mode 100644 index 00000000..75c44734 --- /dev/null +++ b/ych1990101/task1/src/requirements.txt @@ -0,0 +1,7 @@ +jsonpath_ng==1.6.1 +openpyxl==3.1.2 +pillow==10.2.0 +jupyter==1.0.0 +playwright==1.41.0 +ipywidgets==8.1.1 +nest_asyncio==1.6.0 \ No newline at end of file diff --git a/ych1990101/task1/src/run.sh b/ych1990101/task1/src/run.sh new file mode 100644 index 00000000..22a78629 --- /dev/null +++ b/ych1990101/task1/src/run.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -x + +pip install playwright + +pip install -r requirements.txt & +playwright install & + +wait + +jupyter notebook \ + --allow-root \ + --ip=0.0.0.0 \ + --notebook-dir=notebook diff --git a/ych1990101/task1/src/start_docker.bat b/ych1990101/task1/src/start_docker.bat new file mode 100644 index 00000000..63474295 --- /dev/null +++ b/ych1990101/task1/src/start_docker.bat @@ -0,0 +1 @@ +docker run -it -v .:/app -w /app -p 3000:3000 -p 8888:8888 -u 1000:1000 --rm logickee/ych1990101_jupyter:latest bash diff --git a/ych1990101/task1/src/start_docker.sh b/ych1990101/task1/src/start_docker.sh new file mode 100644 index 00000000..4aae851c --- /dev/null +++ b/ych1990101/task1/src/start_docker.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -ex + +docker run -it \ + -v $PWD:/app \ + -w /app \ + -p 3000:3000 \ + -p 8888:8888 \ + -u 1000:1000 \ + --rm \ + logickee/ych1990101_jupyter:latest \ + bash diff --git a/ych1990101/task1/src/stub/banner.json b/ych1990101/task1/src/stub/banner.json new file mode 100644 index 00000000..a2c37fd1 --- /dev/null +++ b/ych1990101/task1/src/stub/banner.json @@ -0,0 +1 @@ +{"eventId": "50024766", "homeTeamLogo": 13307, "awayTeamLogo": 10939, "homeTeamName": "Union Saint Gilloise", "awayTeamName": "Anderlecht", "competitionName": "Belgian Cup", "kickOffTime": "2024-01-25 19:30:00", "homeOdds": 1.68, "awayOdds": 3.95, "drawOdds": 3.5, "homeTeamId": 50003201, "homeTeamIdNav": 50003201, "awayTeamId": 50000175, "awayTeamIdNav": 50000175, "matchNumber": null, "homeTeamPos": "1", "awayTeamPos": "2", "matchDayCode": "FB0744", "competitionId": 50022259, "tournamentType": "League", "homePlayerAnalysis": 2, "awayPlayerAnalysis": 2, "homeLeagueShortName": "BEL L1", "awayLeagueShortName": "BEL L1", "competitionIdNav": 50022259} \ No newline at end of file diff --git a/ych1990101/task1/src/stub/competitions.json b/ych1990101/task1/src/stub/competitions.json new file mode 100644 index 00000000..a0299545 --- /dev/null +++ b/ych1990101/task1/src/stub/competitions.json @@ -0,0 +1,497 @@ +[ + { + "categoryId": 10227, + "categoryName": "England", + "categoryImg": "england", + "competitions": [ + { + "competitionId": 50015668, + "competitionName": "Eng Premier", + "standing_table_link": "https://footylogic.com/en/tournament/league/50015668/standings" + }, + { + "competitionId": 50016923, + "competitionName": "Eng Championship", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016923/standings" + }, + { + "competitionId": 50016924, + "competitionName": "Eng League 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016924/standings" + }, + { + "competitionId": 50016925, + "competitionName": "Eng League 2", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016925/standings" + }, + { + "competitionId": 50022578, + "competitionName": "FA Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50022578/standings" + }, + { + "competitionId": 50018849, + "competitionName": "Eng League Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50018849/standings" + }, + { + "competitionId": 50020336, + "competitionName": "Eng League Trophy", + "standing_table_link": "https://footylogic.com/en/tournament/league/50020336/standings" + }, + { + "competitionId": 50015602, + "competitionName": "Eng Shield", + "standing_table_link": "https://footylogic.com/en/tournament/league/50015602/standings" + } + ] + }, + { + "categoryId": 10013, + "categoryName": "Australia", + "categoryImg": "australia", + "competitions": [ + { + "competitionId": 50022033, + "competitionName": "Australian Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50022033/standings" + }, + { + "competitionId": 50015616, + "competitionName": "Australian FA Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50015616/standings" + } + ] + }, + { + "categoryId": 10200, + "categoryName": "Spain", + "categoryImg": "spain", + "competitions": [ + { + "competitionId": 50016200, + "competitionName": "Spanish Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016200/standings" + }, + { + "competitionId": 50019599, + "competitionName": "Spanish Division 2", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019599/standings" + }, + { + "competitionId": 50022469, + "competitionName": "Spanish Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50022469/standings" + }, + { + "competitionId": 50024282, + "competitionName": "Spanish Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50024282/standings" + } + ] + }, + { + "categoryId": 10082, + "categoryName": "Germany", + "categoryImg": "germany", + "competitions": [ + { + "competitionId": 50016467, + "competitionName": "German Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016467/standings" + }, + { + "competitionId": 50016660, + "competitionName": "German Division 2", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016660/standings" + }, + { + "competitionId": 50019550, + "competitionName": "German Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019550/standings" + }, + { + "competitionId": 50019595, + "competitionName": "German Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019595/standings" + } + ] + }, + { + "categoryId": 10107, + "categoryName": "Italy", + "categoryImg": "italy", + "competitions": [ + { + "competitionId": 50016549, + "competitionName": "Italian Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016549/standings" + }, + { + "competitionId": 50019580, + "competitionName": "Italian Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019580/standings" + }, + { + "competitionId": 50024543, + "competitionName": "Italian Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50024543/standings" + } + ] + }, + { + "categoryId": 10228, + "categoryName": "USA", + "categoryImg": "united-states-of-america", + "competitions": [ + { + "competitionId": 50011183, + "competitionName": "US Football League", + "standing_table_link": "https://footylogic.com/en/tournament/league/50011183/standings" + }, + { + "competitionId": 50013586, + "competitionName": "US League Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50013586/standings" + } + ] + }, + { + "categoryId": 10115, + "categoryName": "Korea Republic", + "categoryImg": "south-korea", + "competitions": [ + { + "competitionId": 50011096, + "competitionName": "Korean Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50011096/standings" + }, + { + "competitionId": 50012908, + "competitionName": "Korean FA Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50012908/standings" + } + ] + }, + { + "categoryId": 10109, + "categoryName": "Japan", + "categoryImg": "japan", + "competitions": [ + { + "competitionId": 50010052, + "competitionName": "Japanese Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50010052/standings" + }, + { + "competitionId": 50010155, + "competitionName": "Japanese Division 2", + "standing_table_link": "https://footylogic.com/en/tournament/league/50010155/standings" + }, + { + "competitionId": 50011744, + "competitionName": "Japanese League Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50011744/standings" + }, + { + "competitionId": 50014594, + "competitionName": "Emperor's Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50014594/standings" + }, + { + "competitionId": 50010020, + "competitionName": "Japanese Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50010020/standings" + } + ] + }, + { + "categoryId": 10140, + "categoryName": "Mexico", + "categoryImg": "mexico", + "competitions": [ + { + "competitionId": 50024375, + "competitionName": "Mexican Premier", + "standing_table_link": "https://footylogic.com/en/tournament/league/50024375/standings" + }, + { + "competitionId": 127, + "competitionName": "Mexican Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/127/standings" + }, + { + "competitionId": 141, + "competitionName": "Mexican Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/141/standings" + }, + { + "competitionId": 50015005, + "competitionName": "Mexican Champion Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50015005/standings" + } + ] + }, + { + "categoryId": 10010, + "categoryName": "Argentina", + "categoryImg": "argentina", + "competitions": [ + { + "competitionId": 50024762, + "competitionName": "Argentine Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50024762/standings" + }, + { + "competitionId": 50023611, + "competitionName": "Argentine Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50023611/standings" + }, + { + "competitionId": 50010688, + "competitionName": "Argentine Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50010688/standings" + }, + { + "competitionId": 910, + "competitionName": "APL Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/910/standings" + } + ] + }, + { + "categoryId": 10074, + "categoryName": "France", + "categoryImg": "france", + "competitions": [ + { + "competitionId": 50016199, + "competitionName": "French Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016199/standings" + }, + { + "competitionId": 50018675, + "competitionName": "French Division 2", + "standing_table_link": "https://footylogic.com/en/tournament/league/50018675/standings" + }, + { + "competitionId": 50023043, + "competitionName": "French FA Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50023043/standings" + }, + { + "competitionId": 28, + "competitionName": "French League Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/28/standings" + }, + { + "competitionId": 50023652, + "competitionName": "French Champion Trophy", + "standing_table_link": "https://footylogic.com/en/tournament/league/50023652/standings" + } + ] + }, + { + "categoryId": 10179, + "categoryName": "Russia", + "categoryImg": "russia", + "competitions": [ + { + "competitionId": 50016142, + "competitionName": "Russian Premier", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016142/standings" + }, + { + "competitionId": 50016363, + "competitionName": "Russian Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016363/standings" + }, + { + "competitionId": 50015520, + "competitionName": "Russian Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50015520/standings" + } + ] + }, + { + "categoryId": 10208, + "categoryName": "Sweden", + "categoryImg": "sweden", + "competitions": [ + { + "competitionId": 50023185, + "competitionName": "Swedish Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50023185/standings" + }, + { + "competitionId": 50019777, + "competitionName": "Swedish Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019777/standings" + } + ] + }, + { + "categoryId": 10174, + "categoryName": "Portugal", + "categoryImg": "portugal", + "competitions": [ + { + "competitionId": 50019002, + "competitionName": "Portuguese Premier", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019002/standings" + }, + { + "competitionId": 50022009, + "competitionName": "Portuguese Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50022009/standings" + }, + { + "competitionId": 50016144, + "competitionName": "Portuguese League Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016144/standings" + }, + { + "competitionId": 50018847, + "competitionName": "Portuguese Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50018847/standings" + } + ] + }, + { + "categoryId": 10163, + "categoryName": "Norway", + "categoryImg": "norway", + "competitions": [ + { + "competitionId": 50012569, + "competitionName": "Norwegian Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50012569/standings" + }, + { + "competitionId": 50014272, + "competitionName": "Norwegian Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50014272/standings" + }, + { + "competitionId": 151, + "competitionName": "Norwegian Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/151/standings" + } + ] + }, + { + "categoryId": 10153, + "categoryName": "Netherlands", + "categoryImg": "netherlands", + "competitions": [ + { + "competitionId": 50019000, + "competitionName": "Dutch Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019000/standings" + }, + { + "competitionId": 50019001, + "competitionName": "Dutch Division 2", + "standing_table_link": "https://footylogic.com/en/tournament/league/50019001/standings" + }, + { + "competitionId": 50022411, + "competitionName": "Dutch Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50022411/standings" + }, + { + "competitionId": 50018763, + "competitionName": "Dutch Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50018763/standings" + } + ] + }, + { + "categoryId": 10030, + "categoryName": "Brazil", + "categoryImg": "brazil", + "competitions": [ + { + "competitionId": 50013324, + "competitionName": "Brazilian Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50013324/standings" + }, + { + "competitionId": 50024101, + "competitionName": "Brazilian Paulista League", + "standing_table_link": "https://footylogic.com/en/tournament/league/50024101/standings" + }, + { + "competitionId": 50012097, + "competitionName": "Brazilian Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50012097/standings" + } + ] + }, + { + "categoryId": 10043, + "categoryName": "Chile", + "categoryImg": "chile", + "competitions": [ + { + "competitionId": 50009057, + "competitionName": "Chilean Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50009057/standings" + }, + { + "competitionId": 50014689, + "competitionName": "Chilean Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50014689/standings" + }, + { + "competitionId": 50009056, + "competitionName": "Chilean Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50009056/standings" + } + ] + }, + { + "categoryId": 10021, + "categoryName": "Belgium", + "categoryImg": "belgium", + "competitions": [ + { + "competitionId": 50016588, + "competitionName": "Belgian Division 1", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016588/standings" + }, + { + "competitionId": 50022259, + "competitionName": "Belgian Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50022259/standings" + }, + { + "competitionId": 50016140, + "competitionName": "Belgian Super Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50016140/standings" + } + ] + }, + { + "categoryId": 10246, + "categoryName": "Scotland", + "categoryImg": "scotland", + "competitions": [ + { + "competitionId": 50018485, + "competitionName": "Scottish Premier", + "standing_table_link": "https://footylogic.com/en/tournament/league/50018485/standings" + }, + { + "competitionId": 50024631, + "competitionName": "Scottish FA Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50024631/standings" + }, + { + "competitionId": 50015522, + "competitionName": "Scottish League Cup", + "standing_table_link": "https://footylogic.com/en/tournament/league/50015522/standings" + } + ] + } +] diff --git a/ych1990101/task1/src/stub/dropdown-filters.json b/ych1990101/task1/src/stub/dropdown-filters.json new file mode 100644 index 00000000..766d6fa6 --- /dev/null +++ b/ych1990101/task1/src/stub/dropdown-filters.json @@ -0,0 +1,78 @@ +{ + "Season": [ + { + "id": 4446, + "name": "2023/24 ", + "competitionId": 50016588 + }, + { + "id": 4219, + "name": "2022/23 ", + "competitionId": 50016588 + }, + { + "id": 3979, + "name": "2021/22 ", + "competitionId": 50016588 + }, + { + "id": 3647, + "name": "2020/21 ", + "competitionId": 50016588 + }, + { + "id": 3221, + "name": "2019/20 ", + "competitionId": 50016588 + }, + { + "id": 3025, + "name": "2018/19 ", + "competitionId": 50016588 + }, + { + "id": 2697, + "name": "2017/18 ", + "competitionId": 50016588 + }, + { + "id": 2006, + "name": "2016/17 ", + "competitionId": 50016588 + }, + { + "id": 1781, + "name": "2015/16 ", + "competitionId": 50016588 + } + ], + "Options": [ + { + "id": 1, + "name": "All", + "competitionId": 50016588 + }, + { + "id": 2, + "name": "Home", + "competitionId": 50016588 + }, + { + "id": 3, + "name": "Away", + "competitionId": 50016588 + } + ], + "betType": [ + { + "id": 1, + "name": "HalfTime", + "competitionId": 50016588 + }, + { + "id": 2, + "name": "FullTime", + "competitionId": 50016588 + } + ] +} \ No newline at end of file diff --git a/ych1990101/task1/src/stub/index.html b/ych1990101/task1/src/stub/index.html new file mode 100644 index 00000000..7cd47a60 --- /dev/null +++ b/ych1990101/task1/src/stub/index.html @@ -0,0 +1,14 @@ + + + +
+ + +