diff --git a/doc/软件系统的需求构思及描述.doc b/doc/软件系统的需求构思及描述.doc new file mode 100644 index 0000000..df78ead Binary files /dev/null and b/doc/软件系统的需求构思及描述.doc differ diff --git a/doc/软件设计说明书.docx b/doc/软件设计说明书.docx new file mode 100644 index 0000000..c5a58ce Binary files /dev/null and b/doc/软件设计说明书.docx differ diff --git a/doc/需求规格说明书.docx b/doc/需求规格说明书.docx new file mode 100644 index 0000000..fa99f22 Binary files /dev/null and b/doc/需求规格说明书.docx differ diff --git a/model/NBA胜率预测及球员数据可视化UML模型.doc b/model/NBA胜率预测及球员数据可视化UML模型.doc new file mode 100644 index 0000000..3ef67bd Binary files /dev/null and b/model/NBA胜率预测及球员数据可视化UML模型.doc differ diff --git a/other/200340002 陈立 实践总结报告.docx b/other/200340002 陈立 实践总结报告.docx new file mode 100644 index 0000000..efb8fd3 Binary files /dev/null and b/other/200340002 陈立 实践总结报告.docx differ diff --git a/other/200340003 陈孟谦-实践总结报告(1).docx b/other/200340003 陈孟谦-实践总结报告(1).docx new file mode 100644 index 0000000..338269a Binary files /dev/null and b/other/200340003 陈孟谦-实践总结报告(1).docx differ diff --git a/other/200340038张剑 实践总结报告.doc b/other/200340038张剑 实践总结报告.doc new file mode 100644 index 0000000..e1009f9 Binary files /dev/null and b/other/200340038张剑 实践总结报告.doc differ diff --git a/other/200340143 李文彪-实践总结报告.docx b/other/200340143 李文彪-实践总结报告.docx new file mode 100644 index 0000000..5a8723a Binary files /dev/null and b/other/200340143 李文彪-实践总结报告.docx differ diff --git a/other/PPT(1).pptx b/other/PPT(1).pptx new file mode 100644 index 0000000..137649b Binary files /dev/null and b/other/PPT(1).pptx differ diff --git a/other/data/20-20Team_Per_Game_Stat.csv b/other/data/20-20Team_Per_Game_Stat.csv new file mode 100644 index 0000000..2b450a5 --- /dev/null +++ b/other/data/20-20Team_Per_Game_Stat.csv @@ -0,0 +1,31 @@ +Rk,Team,G,MP,FG,FGA,FG%,3P,3PA,3P%,2P,2PA,2P%,FT,FTA,FT%,ORB,DRB,TRB,AST,STL,BLK,TOV,PF,PTS +1,Golden State Warriors,82,242.4,42.5,87.3,0.487,13.1,31.6,0.416,29.4,55.7,0.528,16.7,21.8,0.763,10,36.2,46.2,28.9,8.4,6.1,15.2,20.7,114.9 +2,Oklahoma City Thunder,82,241.8,41.1,86.4,0.476,8.3,23.7,0.349,32.9,62.6,0.524,19.7,25.2,0.782,13.1,35.6,48.6,23,7.4,5.9,15.9,20.6,110.2 +3,Sacramento Kings,82,241.5,40,86.4,0.464,8,22.4,0.359,32,64,0.5,18.5,25.5,0.725,10.6,33.7,44.2,24.5,8.9,4.5,16.2,20.4,106.6 +4,Houston Rockets,82,241.8,37.7,83.5,0.452,10.7,30.9,0.347,27,52.6,0.514,20.4,29.4,0.694,11.3,31.7,43.1,22.2,10,5.2,15.9,21.8,106.5 +5,Boston Celtics,82,241.2,39.2,89.2,0.439,8.7,26.1,0.335,30.5,63.1,0.483,18.5,23.5,0.788,11.6,33.3,44.9,24.2,9.2,4.2,13.7,21.9,105.7 +6,Portland Trail Blazers,82,241.5,38.6,85.9,0.45,10.5,28.5,0.37,28.1,57.4,0.49,17.4,23,0.754,11.6,33.9,45.5,21.3,6.9,4.6,14.6,21.7,105.1 +7,Los Angeles Clippers,82,241.8,38.3,82.4,0.465,9.7,26.7,0.364,28.6,55.7,0.513,18.2,26.2,0.692,8.8,33.3,42,22.8,8.6,5.6,13,21.3,104.5 +8,Cleveland Cavaliers,82,242.1,38.7,84,0.46,10.7,29.6,0.362,27.9,54.4,0.514,16.3,21.7,0.748,10.6,33.9,44.5,22.7,6.7,3.9,13.6,20.3,104.3 +9,Washington Wizards,82,240.9,39.5,85.8,0.46,8.6,24.2,0.358,30.8,61.6,0.501,16.5,22.5,0.73,9.1,32.8,41.8,24.5,8.6,3.9,14.5,20.8,104.1 +10,San Antonio Spurs,82,240.3,40.1,82.9,0.484,7,18.5,0.375,33.2,64.4,0.515,16.4,20.4,0.803,9.4,34.5,43.9,24.5,8.3,5.9,13.1,17.5,103.5 +11,Charlotte Hornets,82,242.1,37,84.4,0.439,10.6,29.4,0.362,26.4,55,0.479,18.7,23.7,0.79,9,35,43.9,21.7,7.3,5.3,12.6,18.1,103.4 +12,Atlanta Hawks,82,241.8,38.6,84.4,0.458,9.9,28.4,0.35,28.7,56.1,0.512,15.6,20,0.783,8.3,33.8,42.1,25.6,9.1,5.9,15,19.1,102.8 +13,New Orleans Pelicans,82,241.2,38.5,85.9,0.448,8.6,23.8,0.36,29.9,62.1,0.482,17.3,22.2,0.776,9.5,33.1,42.6,22.2,7.7,4.2,13.4,20.9,102.7 +14,Toronto Raptors,82,241.2,36.7,81.3,0.451,8.6,23.4,0.37,28,58,0.483,20.8,26.7,0.777,10.2,33.2,43.4,18.7,7.8,5.5,13.1,19.6,102.7 +15,Minnesota Timberwolves,82,242.4,37.7,81.3,0.464,5.5,16.4,0.338,32.2,64.9,0.496,21.4,27,0.792,10,31.5,41.6,23.4,8,4.6,15,20.7,102.4 +16,Dallas Mavericks,82,244,37.4,84.1,0.444,9.8,28.6,0.344,27.5,55.6,0.495,17.7,22.3,0.794,9.2,33.9,43.1,22.1,6.8,3.7,12.8,19.5,102.3 +17,Indiana Pacers,82,242.4,38.3,85.2,0.45,8.1,23,0.351,30.2,62.1,0.486,17.4,22.8,0.764,10.3,33.9,44.2,21.2,9,4.8,14.9,20,102.2 +18,Orlando Magic,82,242.7,39.5,86.8,0.455,7.8,22.2,0.35,31.8,64.7,0.492,15.2,20.1,0.757,10.3,33,43.3,23.6,8.2,5.1,14.1,20.7,102.1 +19,Detroit Pistons,82,242.4,37.9,86.4,0.439,9,26.2,0.345,28.9,60.2,0.48,17.1,25.5,0.668,12.5,33.9,46.3,19.4,7,3.7,13.5,19,102 +20,Denver Nuggets,82,241.8,37.7,85.4,0.442,8,23.7,0.338,29.7,61.7,0.482,18.5,24.1,0.766,11.5,33.1,44.6,22.7,7.4,4.8,14.7,21,101.9 +21,Chicago Bulls,82,242.7,38.6,87.4,0.441,7.9,21.4,0.371,30.7,66.1,0.464,16.5,21,0.787,11.1,35.2,46.3,22.8,6,5.7,13.9,18.8,101.6 +22,Phoenix Suns,82,240.3,37.2,85.6,0.435,9,25.8,0.348,28.2,59.8,0.472,17.5,23.2,0.751,11.5,33.3,44.8,20.7,7.7,3.8,17.2,22.7,100.9 +23,Miami Heat,82,241.8,38.4,81.7,0.47,6.1,18,0.336,32.3,63.6,0.508,17.1,23,0.744,9.8,34.3,44.1,20.8,6.7,6.5,14.1,18.3,100 +24,Memphis Grizzlies,82,241.8,36.8,83.6,0.44,6.1,18.5,0.331,30.7,65.1,0.471,19.3,24.7,0.783,11.2,30.5,41.6,20.7,8.8,4.3,13.3,21.7,99.1 +25,Milwaukee Bucks,82,241.8,38.4,82.2,0.467,5.4,15.6,0.345,33,66.6,0.495,17,22.7,0.747,10.5,31.2,41.7,23.1,8.2,5.8,15.2,20.7,99 +26,Brooklyn Nets,82,240.9,38.2,84.4,0.453,6.5,18.4,0.352,31.8,66,0.481,15.7,20.7,0.757,10.5,31.9,42.4,22.3,7.6,4,14.8,18,98.6 +27,New York Knicks,82,241.5,36.9,84,0.439,7.4,21.5,0.346,29.4,62.5,0.471,17.2,21.4,0.805,10.4,34,44.4,20.5,5.7,5.7,13.4,19.7,98.4 +28,Utah Jazz,82,243.4,36.1,80.4,0.449,8.5,23.9,0.355,27.6,56.5,0.488,17.1,23,0.744,10.7,32.5,43.2,19,7.7,5.2,14.9,20.2,97.7 +29,Philadelphia 76ers,82,241.5,36.2,84,0.431,9.3,27.5,0.339,26.9,56.5,0.476,15.7,22.6,0.694,9.5,31.8,41.2,21.5,8.3,6,16.4,21.7,97.4 +30,Los Angeles Lakers,82,240.6,35.1,84.8,0.414,7.8,24.6,0.317,27.3,60.2,0.454,19.3,24.7,0.781,10.7,32.3,43,18,7.2,4.1,13.7,20.3,97.3 diff --git a/other/data/20-21Opponent_Per_Game_Stat.csv b/other/data/20-21Opponent_Per_Game_Stat.csv new file mode 100644 index 0000000..091d34b --- /dev/null +++ b/other/data/20-21Opponent_Per_Game_Stat.csv @@ -0,0 +1,31 @@ +Rk,Team,G,MP,FG,FGA,FG%,3P,3PA,3P%,2P,2PA,2P%,FT,FTA,FT%,ORB,DRB,TRB,AST,STL,BLK,TOV,PF,PTS +1,San Antonio Spurs,82,240.3,35.7,81.8,0.436,6.6,19.9,0.331,29.1,61.9,0.47,14.9,19.6,0.758,9.1,31.4,40.5,20.8,7.2,3.9,14.8,19.5,92.9 +2,Utah Jazz,82,243.4,35.6,79.9,0.446,7.9,22.2,0.357,27.7,57.7,0.48,16.8,22.5,0.746,9.3,30.8,40.1,19.1,8,4.7,14,19.9,95.9 +3,Toronto Raptors,82,241.2,36.5,82.1,0.444,8.7,23.4,0.373,27.7,58.7,0.473,16.5,22.1,0.748,9.5,31.2,40.8,21.7,6.5,5.4,13.3,22,98.2 +4,Cleveland Cavaliers,82,242.1,36.8,82.1,0.448,7.9,22.7,0.347,28.9,59.4,0.487,16.8,22.6,0.743,9.3,31.8,41,21.4,7.2,4.4,13.3,20.6,98.3 +5,Miami Heat,82,241.8,37.2,84.3,0.442,7.4,21.2,0.347,29.9,63.1,0.474,16.5,21.5,0.77,9.8,31.5,41.3,20.2,7.5,4.1,12.9,19.6,98.4 +6,Atlanta Hawks,82,241.8,37.1,86.1,0.432,8.3,24.5,0.338,28.9,61.6,0.469,16.7,22.1,0.755,11.5,35,46.5,22,8.6,5,16.1,18.3,99.2 +7,Los Angeles Clippers,82,241.8,36.8,84.7,0.434,7.9,23.3,0.338,28.9,61.4,0.471,18.8,25.1,0.751,11.8,34.9,46.7,21.2,7.1,3.2,15.4,22.5,100.2 +8,Indiana Pacers,82,242.4,37.4,84.9,0.44,8.3,24.8,0.334,29.1,60.1,0.484,17.4,23.2,0.751,10.7,33.8,44.5,20.8,7.7,4.5,15.8,20.4,100.5 +9,Charlotte Hornets,82,242.1,37.8,85,0.444,8.9,25.4,0.349,28.9,59.6,0.485,16.3,21.2,0.769,8.9,35.8,44.7,23.2,6.7,5.5,13.5,20.4,100.7 +10,New York Knicks,82,241.5,38,85.8,0.443,7.6,22.4,0.341,30.3,63.4,0.479,17.5,23.2,0.754,10.9,33.3,44.2,20.8,7.2,4.2,11.3,18.5,101.1 +11,Memphis Grizzlies,82,241.8,35.9,78.8,0.456,9.7,26.6,0.365,26.2,52.1,0.503,19.7,25.7,0.768,10.1,33.1,43.2,21.9,7,5.7,16.2,21.1,101.3 +12,Detroit Pistons,82,242.4,38.8,84.2,0.461,7.3,20.5,0.355,31.5,63.7,0.495,16.5,21,0.783,8.8,33.7,42.5,21.5,7.1,4.5,13.4,21.6,101.4 +13,Boston Celtics,82,241.2,37.5,85,0.441,7.8,23.3,0.336,29.7,61.7,0.481,19.7,26,0.755,11.4,34.6,46,20.9,7.6,5.5,16.4,21,102.5 +14,Dallas Mavericks,82,244,38.3,85,0.451,9.1,26.5,0.342,29.3,58.5,0.5,16.9,22.8,0.738,10.6,35.2,45.8,22,7.5,4.4,13.9,21.4,102.6 +15,Oklahoma City Thunder,82,241.8,38.4,87.7,0.438,8.1,23.8,0.342,30.3,63.9,0.474,18,23.8,0.756,11.3,28.9,40.2,21.5,8.8,4.5,13,20.2,102.9 +16,Chicago Bulls,82,242.7,39.4,89.4,0.441,7.9,23,0.345,31.5,66.4,0.474,16.3,22.1,0.737,11.8,34.1,45.9,22.5,8,5.7,11.9,18.7,103.1 +17,Milwaukee Bucks,82,241.8,37.8,83.1,0.454,9.3,26.5,0.352,28.4,56.7,0.502,18.4,23.9,0.768,11.5,31.5,43,24.5,8.3,5.6,15.5,19.5,103.2 +18,Orlando Magic,82,242.7,38.4,83.5,0.46,8.9,24.9,0.359,29.5,58.6,0.503,17.9,24,0.746,10.1,34.1,44.3,23.2,7.6,5.5,15.1,18.3,103.7 +19,Golden State Warriors,82,242.4,38.9,89.4,0.435,7.8,23.5,0.332,31.1,65.9,0.472,18.6,24.5,0.757,11.4,32.5,43.9,22.2,8.7,4.1,14.5,19.8,104.1 +20,Portland Trail Blazers*,82,241.5,38.4,84.7,0.453,8.5,23,0.371,29.8,61.7,0.484,19,26,0.734,10.6,33.1,43.7,21.6,7.7,5.2,13.3,19.5,104.3 +21,Washington Wizards,82,240.9,38.7,83.8,0.462,9,24.2,0.371,29.7,59.5,0.498,18.3,23.7,0.769,9.4,34.9,44.3,22.5,8.1,4.3,16.2,20.1,104.6 +22,Denver Nuggets,82,241.8,38.8,84.2,0.461,9.2,24.8,0.371,29.6,59.4,0.498,18.2,23.9,0.761,9.7,32.9,42.7,23.5,8,6.3,13.7,20.9,105 +23,Minnesota Timberwolves,82,242.4,40,84.9,0.471,9,25.5,0.355,30.9,59.4,0.52,17,22.5,0.757,10.7,31.2,41.9,22.6,7.8,5.2,14.9,21.6,106 +24,Brooklyn Nets,82,240.9,40.8,85.2,0.479,9.5,25.6,0.369,31.3,59.6,0.526,15,19.6,0.763,10.2,33.2,43.4,24.5,8.8,5.2,14.2,18.4,106 +25,Houston Rockets,82,241.8,39,85.1,0.459,9.7,26.9,0.361,29.3,58.2,0.504,18.6,24.6,0.756,11.8,32.8,44.6,24.6,9,4.9,16.6,22.5,106.4 +26,New Orleans Pelicans,82,241.2,39.2,83.9,0.468,9.2,24.9,0.369,30,59,0.51,18.8,24,0.783,8.9,35.5,44.4,23.2,7.3,5.2,13.7,19.9,106.5 +27,Los Angeles Lakers,82,240.6,40.5,85.6,0.473,8.5,24.6,0.347,32,61.1,0.524,17.3,23.7,0.731,10.9,35.5,46.5,24.7,7.5,5.6,12.6,19.2,106.9 +28,Phoenix Suns,82,240.3,39.1,83.8,0.467,9.4,24.9,0.377,29.7,58.9,0.505,19.9,26.5,0.749,9.9,33.8,43.7,22.4,9.5,5.5,14.9,21.6,107.5 +29,Philadelphia 76ers,82,241.5,39.7,85.4,0.464,7.8,21.7,0.359,31.9,63.8,0.5,20.5,26.1,0.786,11.1,36.4,47.6,23.4,8.7,5.7,15.1,19.2,107.6 +30,Sacramento Kings,82,241.5,40.6,87.7,0.462,10.2,28,0.366,30.3,59.8,0.508,17.7,23.2,0.762,11.3,33.7,45,24.2,8.8,5.3,16,22,109.1 diff --git a/other/data/2010年-2020年NBA球员数据排行TOP50.xls b/other/data/2010年-2020年NBA球员数据排行TOP50.xls new file mode 100644 index 0000000..8cb7d5c Binary files /dev/null and b/other/data/2010年-2020年NBA球员数据排行TOP50.xls differ diff --git a/other/data/2020-2021_result.csv b/other/data/2020-2021_result.csv new file mode 100644 index 0000000..76c5b21 --- /dev/null +++ b/other/data/2020-2021_result.csv @@ -0,0 +1,1317 @@ +WTeam,LTeam,WLoc +Atlanta Hawks,New York Knicks,V +San Antonio Spurs,Brooklyn Nets,H +Memphis Grizzlies,Brooklyn Nets,H +Chicago Bulls,Brooklyn Nets,V +Detroit Pistons,Chicago Bulls,H +Miami Heat,Charlotte Hornets,H +Atlanta Hawks,Charlotte Hornets,H +Chicago Bulls,Cleveland Cavaliers,H +Cleveland Cavaliers,Memphis Grizzlies,V +Dallas Mavericks,Phoenix Suns,V +Los Angeles Clippers,Dallas Mavericks,H +Denver Nuggets,Houston Rockets,V +Detroit Pistons,Atlanta Hawks,V +Golden State Warriors,Houston Rockets,V +Golden State Warriors,New Orleans Pelicans,V +Toronto Raptors,Indiana Pacers,H +Los Angeles Clippers,Sacramento Kings,V +Sacramento Kings,Los Angeles Lakers,H +Memphis Grizzlies,Indiana Pacers,V +Cleveland Cavaliers,Miami Heat,H +Minnesota Timberwolves,Los Angeles Lakers,V +Minnesota Timberwolves,Denver Nuggets,V +Golden State Warriors,New Orleans Pelicans,H +Portland Trail Blazers,New Orleans Pelicans,H +New York Knicks,Milwaukee Bucks,V +New York Knicks,Washington Wizards,V +Oklahoma City Thunder,Orlando Magic,V +Boston Celtics,Philadelphia 76ers,H +Phoenix Suns,Portland Trail Blazers,V +Phoenix Suns,Portland Trail Blazers,H +Los Angeles Clippers,Sacramento Kings,H +Oklahoma City Thunder,San Antonio Spurs,H +Toronto Raptors,Boston Celtics,V +Detroit Pistons,Utah Jazz,H +Utah Jazz,Philadelphia 76ers,V +Utah Jazz,Indiana Pacers,V +Washington Wizards,Orlando Magic,V +Washington Wizards,Milwaukee Bucks,V +San Antonio Spurs,Boston Celtics,V +Chicago Bulls,Orlando Magic,H +Atlanta Hawks,Charlotte Hornets,V +Dallas Mavericks,Los Angeles Lakers,V +Miami Heat,Houston Rockets,H +Oklahoma City Thunder,Denver Nuggets,H +Toronto Raptors,Milwaukee Bucks,H +Milwaukee Bucks,Brooklyn Nets,V +Golden State Warriors,Memphis Grizzlies,H +Houston Rockets,Oklahoma City Thunder,H +Los Angeles Clippers,Phoenix Suns,H +Portland Trail Blazers,Minnesota Timberwolves,V +San Antonio Spurs,New York Knicks,V +Cleveland Cavaliers,Philadelphia 76ers,V +Charlotte Hornets,Chicago Bulls,H +Toronto Raptors,Dallas Mavericks,V +Indiana Pacers,Detroit Pistons,V +Denver Nuggets,Los Angeles Lakers,V +Atlanta Hawks,Miami Heat,V +Orlando Magic,New Orleans Pelicans,V +Memphis Grizzlies,Sacramento Kings,V +Atlanta Hawks,Brooklyn Nets,H +Cleveland Cavaliers,New York Knicks,H +Golden State Warriors,Los Angeles Clippers,H +Houston Rockets,Orlando Magic,H +Indiana Pacers,Boston Celtics,H +Milwaukee Bucks,Philadelphia 76ers,H +Toronto Raptors,Oklahoma City Thunder,V +Phoenix Suns,Sacramento Kings,H +Portland Trail Blazers,Utah Jazz,V +Washington Wizards,San Antonio Spurs,H +Chicago Bulls,Oklahoma City Thunder,H +Charlotte Hornets,Dallas Mavericks,V +Utah Jazz,Denver Nuggets,V +Miami Heat,Minnesota Timberwolves,V +Portland Trail Blazers,Memphis Grizzlies,H +Boston Celtics,Washington Wizards,H +Los Angeles Lakers,Brooklyn Nets,V +Cleveland Cavaliers,Philadelphia 76ers,H +Golden State Warriors,Denver Nuggets,H +Indiana Pacers,Miami Heat,H +Atlanta Hawks,New Orleans Pelicans,V +Milwaukee Bucks,New York Knicks,V +Orlando Magic,Toronto Raptors,H +Detroit Pistons,Phoenix Suns,V +Houston Rockets,Sacramento Kings,V +Atlanta Hawks,Washington Wizards,H +Minnesota Timberwolves,Chicago Bulls,V +Dallas Mavericks,New Orleans Pelicans,H +Houston Rockets,Los Angeles Clippers,V +Milwaukee Bucks,Brooklyn Nets,H +Orlando Magic,Philadelphia 76ers,V +Golden State Warriors,Sacramento Kings,V +San Antonio Spurs,Charlotte Hornets,H +Utah Jazz,Memphis Grizzlies,H +Cleveland Cavaliers,Indiana Pacers,H +Miami Heat,Toronto Raptors,H +New York Knicks,Los Angeles Lakers,H +Oklahoma City Thunder,Phoenix Suns,H +Detroit Pistons,Portland Trail Blazers,V +Minnesota Timberwolves,Atlanta Hawks,V +Denver Nuggets,Portland Trail Blazers,H +Golden State Warriors,Detroit Pistons,H +Indiana Pacers,Orlando Magic,H +Los Angeles Clippers,Memphis Grizzlies,H +Chicago Bulls,Philadelphia 76ers,V +San Antonio Spurs,Sacramento Kings,V +Cleveland Cavaliers,Utah Jazz,H +Miami Heat,Los Angeles Lakers,H +Boston Celtics,Milwaukee Bucks,V +Charlotte Hornets,Minnesota Timberwolves,V +New Orleans Pelicans,Dallas Mavericks,H +New York Knicks,Toronto Raptors,V +Oklahoma City Thunder,Washington Wizards,V +Atlanta Hawks,New Orleans Pelicans,H +Indiana Pacers,Boston Celtics,V +Charlotte Hornets,New York Knicks,H +Dallas Mavericks,Los Angeles Clippers,H +Denver Nuggets,Milwaukee Bucks,H +Brooklyn Nets,Houston Rockets,V +Golden State Warriors,Memphis Grizzlies,V +Orlando Magic,Los Angeles Lakers,H +Toronto Raptors,Philadelphia 76ers,V +San Antonio Spurs,Portland Trail Blazers,V +Sacramento Kings,Detroit Pistons,H +Miami Heat,Utah Jazz,H +Golden State Warriors,Minnesota Timberwolves,V +Phoenix Suns,Los Angeles Clippers,H +Boston Celtics,Atlanta Hawks,H +Chicago Bulls,Charlotte Hornets,H +Dallas Mavericks,Los Angeles Lakers,H +Denver Nuggets,Houston Rockets,H +Indiana Pacers,Minnesota Timberwolves,H +Memphis Grizzlies,Portland Trail Blazers,H +Cleveland Cavaliers,New York Knicks,V +Oklahoma City Thunder,Philadelphia 76ers,H +Orlando Magic,Utah Jazz,H +Sacramento Kings,Brooklyn Nets,H +Toronto Raptors,New Orleans Pelicans,H +Golden State Warriors,Brooklyn Nets,H +Dallas Mavericks,Houston Rockets,V +Los Angeles Clippers,Detroit Pistons,H +Milwaukee Bucks,Cleveland Cavaliers,H +Phoenix Suns,Denver Nuggets,H +San Antonio Spurs,Philadelphia 76ers,H +Washington Wizards,Orlando Magic,H +Utah Jazz,Atlanta Hawks,V +Charlotte Hornets,Portland Trail Blazers,H +Los Angeles Lakers,Detroit Pistons,H +Memphis Grizzlies,Minnesota Timberwolves,V +New York Knicks,New Orleans Pelicans,H +Boston Celtics,Oklahoma City Thunder,V +Sacramento Kings,Toronto Raptors,H +Chicago Bulls,Indiana Pacers,H +Boston Celtics,Houston Rockets,V +Memphis Grizzlies,Oklahoma City Thunder,H +Dallas Mavericks,Philadelphia 76ers,V +Phoenix Suns,Los Angeles Lakers,H +San Antonio Spurs,Portland Trail Blazers,H +Brooklyn Nets,Atlanta Hawks,H +Detroit Pistons,Cleveland Cavaliers,H +Golden State Warriors,Toronto Raptors,H +Minnesota Timberwolves,Miami Heat,V +Denver Nuggets,New Orleans Pelicans,V +New York Knicks,Charlotte Hornets,H +Washington Wizards,Milwaukee Bucks,H +Atlanta Hawks,Sacramento Kings,H +Dallas Mavericks,Boston Celtics,V +Charlotte Hornets,Brooklyn Nets,H +Houston Rockets,Portland Trail Blazers,H +Oklahoma City Thunder,New Orleans Pelicans,H +Orlando Magic,Minnesota Timberwolves,H +Indiana Pacers,Philadelphia 76ers,V +Chicago Bulls,Phoenix Suns,V +San Antonio Spurs,Denver Nuggets,H +Utah Jazz,Toronto Raptors,H +Cleveland Cavaliers,Milwaukee Bucks,H +Golden State Warriors,Los Angeles Clippers,V +Miami Heat,Sacramento Kings,H +Boston Celtics,Brooklyn Nets,H +Charlotte Hornets,Philadelphia 76ers,H +Dallas Mavericks,Utah Jazz,H +Phoenix Suns,Denver Nuggets,V +Golden State Warriors,Chicago Bulls,H +Toronto Raptors,Los Angeles Lakers,V +Memphis Grizzlies,Houston Rockets,H +Detroit Pistons,Minnesota Timberwolves,V +New Orleans Pelicans,San Antonio Spurs,H +New York Knicks,Oklahoma City Thunder,V +Portland Trail Blazers,Los Angeles Clippers,H +Cleveland Cavaliers,Atlanta Hawks,H +Washington Wizards,Detroit Pistons,V +New York Knicks,Houston Rockets,V +Indiana Pacers,Milwaukee Bucks,H +Miami Heat,Philadelphia 76ers,H +Sacramento Kings,Orlando Magic,V +San Antonio Spurs,Memphis Grizzlies,H +Brooklyn Nets,Boston Celtics,H +Golden State Warriors,Denver Nuggets,V +Toronto Raptors,Los Angeles Clippers,V +Portland Trail Blazers,Los Angeles Lakers,V +New Orleans Pelicans,Phoenix Suns,H +Oklahoma City Thunder,Dallas Mavericks,H +Charlotte Hornets,Sacramento Kings,H +Cleveland Cavaliers,Orlando Magic,H +Miami Heat,New York Knicks,H +Milwaukee Bucks,Detroit Pistons,H +Minnesota Timberwolves,Philadelphia 76ers,H +San Antonio Spurs,Phoenix Suns,H +Oklahoma City Thunder,Utah Jazz,V +Atlanta Hawks,Boston Celtics,H +Los Angeles Clippers,Denver Nuggets,V +Golden State Warriors,Los Angeles Lakers,H +Memphis Grizzlies,Dallas Mavericks,H +Chicago Bulls,Portland Trail Blazers,V +Indiana Pacers,Washington Wizards,V +Boston Celtics,Philadelphia 76ers,H +Charlotte Hornets,Washington Wizards,H +Detroit Pistons,Miami Heat,H +Memphis Grizzlies,Houston Rockets,V +Utah Jazz,Los Angeles Clippers,V +Sacramento Kings,Milwaukee Bucks,V +Minnesota Timberwolves,Atlanta Hawks,H +Oklahoma City Thunder,Brooklyn Nets,H +Orlando Magic,New York Knicks,H +New Orleans Pelicans,Phoenix Suns,V +San Antonio Spurs,Dallas Mavericks,H +Toronto Raptors,Cleveland Cavaliers,H +Boston Celtics,Washington Wizards,H +Cleveland Cavaliers,Charlotte Hornets,V +San Antonio Spurs,Denver Nuggets,V +Houston Rockets,Philadelphia 76ers,H +Indiana Pacers,Chicago Bulls,H +Los Angeles Clippers,New Orleans Pelicans,H +Atlanta Hawks,Memphis Grizzlies,V +Miami Heat,New York Knicks,V +Oklahoma City Thunder,Detroit Pistons,H +Orlando Magic,Milwaukee Bucks,H +Golden State Warriors,Phoenix Suns,V +Minnesota Timberwolves,Sacramento Kings,V +Cleveland Cavaliers,Brooklyn Nets,H +Dallas Mavericks,Denver Nuggets,H +Golden State Warriors,Sacramento Kings,H +Portland Trail Blazers,Los Angeles Lakers,H +San Antonio Spurs,Atlanta Hawks,H +Utah Jazz,New Orleans Pelicans,H +Toronto Raptors,Washington Wizards,V +Brooklyn Nets,Detroit Pistons,H +Charlotte Hornets,Milwaukee Bucks,H +Los Angeles Clippers,Minnesota Timberwolves,H +Indiana Pacers,Los Angeles Lakers,V +Memphis Grizzlies,Philadelphia 76ers,H +Houston Rockets,New York Knicks,V +Orlando Magic,Boston Celtics,H +Phoenix Suns,Toronto Raptors,V +Atlanta Hawks,Oklahoma City Thunder,H +Chicago Bulls,San Antonio Spurs,H +Detroit Pistons,Houston Rockets,H +Los Angeles Clippers,Portland Trail Blazers,H +Boston Celtics,Miami Heat,V +Milwaukee Bucks,Denver Nuggets,H +Sacramento Kings,Dallas Mavericks,H +Golden State Warriors,Utah Jazz,V +Brooklyn Nets,Phoenix Suns,H +Washington Wizards,Cleveland Cavaliers,V +Orlando Magic,Minnesota Timberwolves,V +Memphis Grizzlies,New Orleans Pelicans,V +Philadelphia 76ers,Los Angeles Lakers,H +Dallas Mavericks,Portland Trail Blazers,V +Toronto Raptors,Atlanta Hawks,V +Chicago Bulls,Denver Nuggets,H +Golden State Warriors,Charlotte Hornets,V +Detroit Pistons,Phoenix Suns,H +Houston Rockets,New Orleans Pelicans,H +Indiana Pacers,Los Angeles Clippers,V +New York Knicks,Philadelphia 76ers,H +San Antonio Spurs,Milwaukee Bucks,H +Los Angeles Lakers,Washington Wizards,V +San Antonio Spurs,Memphis Grizzlies,V +Miami Heat,Oklahoma City Thunder,H +Portland Trail Blazers,Indiana Pacers,H +Boston Celtics,Sacramento Kings,V +Denver Nuggets,Toronto Raptors,V +Orlando Magic,Utah Jazz,V +Atlanta Hawks,Los Angeles Lakers,H +Houston Rockets,Dallas Mavericks,V +Detroit Pistons,Milwaukee Bucks,H +New Orleans Pelicans,Cleveland Cavaliers,H +New York Knicks,Brooklyn Nets,H +Washington Wizards,Phoenix Suns,H +Charlotte Hornets,Chicago Bulls,V +Houston Rockets,Sacramento Kings,H +Los Angeles Clippers,Orlando Magic,H +Miami Heat,Cleveland Cavaliers,H +Milwaukee Bucks,New York Knicks,H +Portland Trail Blazers,Minnesota Timberwolves,V +Denver Nuggets,Philadelphia 76ers,V +San Antonio Spurs,Boston Celtics,H +Golden State Warriors,Toronto Raptors,V +Utah Jazz,Indiana Pacers,H +Golden State Warriors,Brooklyn Nets,V +Detroit Pistons,Los Angeles Lakers,H +Memphis Grizzlies,Phoenix Suns,H +Oklahoma City Thunder,Sacramento Kings,H +Dallas Mavericks,Washington Wizards,V +Phoenix Suns,Chicago Bulls,V +Charlotte Hornets,Detroit Pistons,H +Washington Wizards,Miami Heat,V +Milwaukee Bucks,Portland Trail Blazers,H +Los Angeles Clippers,Minnesota Timberwolves,V +Boston Celtics,New Orleans Pelicans,V +Dallas Mavericks,New York Knicks,V +San Antonio Spurs,Philadelphia 76ers,V +Toronto Raptors,Los Angeles Lakers,H +Brooklyn Nets,Houston Rockets,H +Cleveland Cavaliers,Portland Trail Blazers,H +Orlando Magic,Denver Nuggets,V +Golden State Warriors,Indiana Pacers,V +Oklahoma City Thunder,Memphis Grizzlies,V +Sacramento Kings,Utah Jazz,H +Boston Celtics,Chicago Bulls,H +Charlotte Hornets,Miami Heat,H +Atlanta Hawks,Dallas Mavericks,V +Memphis Grizzlies,Detroit Pistons,V +Los Angeles Clippers,Milwaukee Bucks,V +Minnesota Timberwolves,Los Angeles Lakers,H +Phoenix Suns,Orlando Magic,H +Toronto Raptors,San Antonio Spurs,H +Utah Jazz,New York Knicks,H +Houston Rockets,Washington Wizards,V +Brooklyn Nets,Philadelphia 76ers,H +Chicago Bulls,Los Angeles Clippers,H +Oklahoma City Thunder,Atlanta Hawks,H +Sacramento Kings,New York Knicks,H +Golden State Warriors,Boston Celtics,V +Denver Nuggets,Minnesota Timberwolves,H +Indiana Pacers,Miami Heat,H +Charlotte Hornets,Memphis Grizzlies,V +New Orleans Pelicans,Washington Wizards,H +Cleveland Cavaliers,Orlando Magic,V +Detroit Pistons,Philadelphia 76ers,V +Portland Trail Blazers,Phoenix Suns,V +San Antonio Spurs,Los Angeles Lakers,H +Toronto Raptors,Milwaukee Bucks,H +Oklahoma City Thunder,Utah Jazz,V +San Antonio Spurs,Atlanta Hawks,V +Los Angeles Clippers,Brooklyn Nets,V +Chicago Bulls,New Orleans Pelicans,H +Boston Celtics,Charlotte Hornets,V +Washington Wizards,Dallas Mavericks,V +Detroit Pistons,Indiana Pacers,H +Houston Rockets,Los Angeles Lakers,H +Milwaukee Bucks,Golden State Warriors,H +New York Knicks,Portland Trail Blazers,V +Miami Heat,Memphis Grizzlies,H +Oklahoma City Thunder,Utah Jazz,H +Phoenix Suns,Minnesota Timberwolves,H +Toronto Raptors,Philadelphia 76ers,H +Miami Heat,Atlanta Hawks,V +Orlando Magic,Brooklyn Nets,V +Chicago Bulls,Philadelphia 76ers,H +Dallas Mavericks,Phoenix Suns,H +Denver Nuggets,Houston Rockets,H +Los Angeles Clippers,Detroit Pistons,V +Indiana Pacers,Toronto Raptors,H +Memphis Grizzlies,Washington Wizards,H +Portland Trail Blazers,New Orleans Pelicans,H +San Antonio Spurs,Utah Jazz,H +Cleveland Cavaliers,Boston Celtics,V +Los Angeles Lakers,Milwaukee Bucks,H +Denver Nuggets,Minnesota Timberwolves,V +Sacramento Kings,Houston Rockets,H +Atlanta Hawks,Philadelphia 76ers,H +Miami Heat,Brooklyn Nets,V +Chicago Bulls,Memphis Grizzlies,H +Detroit Pistons,Boston Celtics,H +Golden State Warriors,Phoenix Suns,H +Indiana Pacers,Dallas Mavericks,H +Los Angeles Clippers,Milwaukee Bucks,H +New York Knicks,Minnesota Timberwolves,H +Oklahoma City Thunder,Portland Trail Blazers,H +Orlando Magic,Charlotte Hornets,H +San Antonio Spurs,Washington Wizards,H +New Orleans Pelicans,Utah Jazz,V +Charlotte Hornets,Toronto Raptors,H +Cleveland Cavaliers,Oklahoma City Thunder,H +Houston Rockets,Los Angeles Lakers,V +Atlanta Hawks,Boston Celtics,V +Detroit Pistons,Chicago Bulls,V +Dallas Mavericks,Memphis Grizzlies,H +Golden State Warriors,Milwaukee Bucks,H +Indiana Pacers,Brooklyn Nets,H +Toronto Raptors,Miami Heat,V +Minnesota Timberwolves,Sacramento Kings,H +Orlando Magic,Portland Trail Blazers,H +New York Knicks,Philadelphia 76ers,V +Phoenix Suns,New Orleans Pelicans,H +San Antonio Spurs,Los Angeles Clippers,H +Utah Jazz,Denver Nuggets,H +Houston Rockets,Los Angeles Clippers,H +Memphis Grizzlies,Indiana Pacers,H +New York Knicks,Chicago Bulls,H +Oklahoma City Thunder,Los Angeles Lakers,H +Washington Wizards,Charlotte Hornets,H +Minnesota Timberwolves,Brooklyn Nets,V +Cleveland Cavaliers,Philadelphia 76ers,H +New Orleans Pelicans,Denver Nuggets,V +Miami Heat,Portland Trail Blazers,H +Atlanta Hawks,Orlando Magic,V +Milwaukee Bucks,Phoenix Suns,V +Sacramento Kings,Toronto Raptors,V +Atlanta Hawks,Portland Trail Blazers,H +Boston Celtics,Minnesota Timberwolves,H +Brooklyn Nets,Chicago Bulls,V +Houston Rockets,Charlotte Hornets,H +Oklahoma City Thunder,Los Angeles Clippers,V +Orlando Magic,New York Knicks,V +San Antonio Spurs,Indiana Pacers,H +Utah Jazz,Phoenix Suns,H +Washington Wizards,Sacramento Kings,H +Los Angeles Lakers,Denver Nuggets,V +Detroit Pistons,Miami Heat,V +Memphis Grizzlies,Philadelphia 76ers,V +Toronto Raptors,Dallas Mavericks,H +Atlanta Hawks,Detroit Pistons,H +Dallas Mavericks,Brooklyn Nets,V +Boston Celtics,Charlotte Hornets,V +Cleveland Cavaliers,New York Knicks,H +Golden State Warriors,Utah Jazz,H +Sacramento Kings,Indiana Pacers,V +Oklahoma City Thunder,Los Angeles Lakers,V +Milwaukee Bucks,Philadelphia 76ers,H +San Antonio Spurs,Minnesota Timberwolves,V +New Orleans Pelicans,Portland Trail Blazers,H +Orlando Magic,Houston Rockets,H +Denver Nuggets,Phoenix Suns,V +Washington Wizards,Memphis Grizzlies,H +Golden State Warriors,Cleveland Cavaliers,H +Houston Rockets,San Antonio Spurs,H +Los Angeles Clippers,Los Angeles Lakers,V +Miami Heat,New Orleans Pelicans,H +Chicago Bulls,Oklahoma City Thunder,V +Atlanta Hawks,New York Knicks,H +Washington Wizards,Brooklyn Nets,V +Charlotte Hornets,Memphis Grizzlies,H +Dallas Mavericks,Chicago Bulls,H +Boston Celtics,Detroit Pistons,V +Toronto Raptors,Milwaukee Bucks,V +Indiana Pacers,Minnesota Timberwolves,V +New Orleans Pelicans,Houston Rockets,H +Miami Heat,Orlando Magic,V +Philadelphia 76ers,Phoenix Suns,V +Portland Trail Blazers,Cleveland Cavaliers,H +San Antonio Spurs,Denver Nuggets,H +Los Angeles Clippers,Utah Jazz,V +Boston Celtics,New York Knicks,H +Memphis Grizzlies,Los Angeles Lakers,H +Oklahoma City Thunder,Denver Nuggets,H +Portland Trail Blazers,Sacramento Kings,V +Chicago Bulls,Toronto Raptors,H +Charlotte Hornets,Los Angeles Lakers,H +Dallas Mavericks,Milwaukee Bucks,H +Golden State Warriors,Sacramento Kings,H +Indiana Pacers,Atlanta Hawks,H +Brooklyn Nets,Miami Heat,V +Orlando Magic,New Orleans Pelicans,H +Cleveland Cavaliers,Phoenix Suns,V +San Antonio Spurs,Minnesota Timberwolves,H +Utah Jazz,Philadelphia 76ers,H +Los Angeles Clippers,Washington Wizards,V +Cleveland Cavaliers,Denver Nuggets,V +Atlanta Hawks,Houston Rockets,V +Memphis Grizzlies,Miami Heat,H +New York Knicks,Detroit Pistons,H +Oklahoma City Thunder,Milwaukee Bucks,H +Los Angeles Lakers,Boston Celtics,V +Chicago Bulls,Indiana Pacers,H +Los Angeles Clippers,Charlotte Hornets,V +Dallas Mavericks,Golden State Warriors,H +Minnesota Timberwolves,Utah Jazz,H +Orlando Magic,Brooklyn Nets,H +Portland Trail Blazers,Denver Nuggets,H +Philadelphia 76ers,Sacramento Kings,V +San Antonio Spurs,Phoenix Suns,H +Toronto Raptors,Washington Wizards,H +Detroit Pistons,Minnesota Timberwolves,H +Golden State Warriors,Houston Rockets,V +Milwaukee Bucks,Indiana Pacers,V +Los Angeles Clippers,New Orleans Pelicans,V +Oklahoma City Thunder,Phoenix Suns,H +Utah Jazz,Portland Trail Blazers,H +Chicago Bulls,New York Knicks,H +Los Angeles Lakers,Philadelphia 76ers,H +Miami Heat,Dallas Mavericks,H +Toronto Raptors,Charlotte Hornets,H +Washington Wizards,Orlando Magic,H +Brooklyn Nets,Boston Celtics,V +Oklahoma City Thunder,Charlotte Hornets,V +Cleveland Cavaliers,Orlando Magic,H +New Orleans Pelicans,Dallas Mavericks,V +Golden State Warriors,Denver Nuggets,H +Indiana Pacers,Detroit Pistons,H +Los Angeles Clippers,Philadelphia 76ers,H +Milwaukee Bucks,Minnesota Timberwolves,V +Sacramento Kings,Phoenix Suns,H +San Antonio Spurs,Houston Rockets,H +Utah Jazz,Memphis Grizzlies,H +Portland Trail Blazers,Denver Nuggets,V +Los Angeles Lakers,Phoenix Suns,H +New York Knicks,Atlanta Hawks,H +Chicago Bulls,Toronto Raptors,V +Miami Heat,Washington Wizards,V +Boston Celtics,Brooklyn Nets,V +Cleveland Cavaliers,Toronto Raptors,H +Detroit Pistons,Orlando Magic,H +Golden State Warriors,Charlotte Hornets,H +Miami Heat,Indiana Pacers,H +San Antonio Spurs,Milwaukee Bucks,V +Sacramento Kings,Oklahoma City Thunder,V +Philadelphia 76ers,Minnesota Timberwolves,H +Memphis Grizzlies,Portland Trail Blazers,V +Houston Rockets,Utah Jazz,V +New York Knicks,Atlanta Hawks,V +Chicago Bulls,Milwaukee Bucks,H +Dallas Mavericks,Sacramento Kings,H +Golden State Warriors,Los Angeles Lakers,V +Detroit Pistons,Boston Celtics,V +Toronto Raptors,Brooklyn Nets,V +New York Knicks,Miami Heat,V +Denver Nuggets,Minnesota Timberwolves,V +Dallas Mavericks,New Orleans Pelicans,V +Oklahoma City Thunder,Memphis Grizzlies,H +Indiana Pacers,Orlando Magic,V +Phoenix Suns,Charlotte Hornets,H +Los Angeles Clippers,Portland Trail Blazers,V +San Antonio Spurs,Utah Jazz,H +Cleveland Cavaliers,Washington Wizards,V +Chicago Bulls,Boston Celtics,H +Houston Rockets,Utah Jazz,H +Atlanta Hawks,Philadelphia 76ers,V +Sacramento Kings,Los Angeles Lakers,H +Orlando Magic,Brooklyn Nets,V +Oklahoma City Thunder,Los Angeles Lakers,V +Memphis Grizzlies,Denver Nuggets,H +Milwaukee Bucks,Dallas Mavericks,H +Cleveland Cavaliers,Minnesota Timberwolves,V +Indiana Pacers,New Orleans Pelicans,V +Miami Heat,Phoenix Suns,V +Golden State Warriors,Portland Trail Blazers,V +San Antonio Spurs,New York Knicks,H +Toronto Raptors,Washington Wizards,V +Atlanta Hawks,Chicago Bulls,H +Detroit Pistons,Brooklyn Nets,H +Los Angeles Clippers,Charlotte Hornets,H +Washington Wizards,Orlando Magic,V +Toronto Raptors,Philadelphia 76ers,V +Golden State Warriors,Sacramento Kings,V +Utah Jazz,Miami Heat,H +Denver Nuggets,Charlotte Hornets,H +Houston Rockets,Indiana Pacers,H +Los Angeles Clippers,New Orleans Pelicans,H +Utah Jazz,Los Angeles Lakers,V +Memphis Grizzlies,Boston Celtics,H +Dallas Mavericks,Minnesota Timberwolves,V +New York Knicks,Milwaukee Bucks,H +Cleveland Cavaliers,Philadelphia 76ers,V +Portland Trail Blazers,Oklahoma City Thunder,H +San Antonio Spurs,Brooklyn Nets,V +Washington Wizards,Chicago Bulls,V +Golden State Warriors,Miami Heat,H +Cleveland Cavaliers,Dallas Mavericks,V +San Antonio Spurs,Detroit Pistons,V +Indiana Pacers,Phoenix Suns,H +Los Angeles Lakers,New Orleans Pelicans,H +Houston Rockets,Memphis Grizzlies,V +Milwaukee Bucks,Chicago Bulls,H +Oklahoma City Thunder,Minnesota Timberwolves,V +New York Knicks,Boston Celtics,H +Boston Celtics,Indiana Pacers,H +Brooklyn Nets,New York Knicks,H +Charlotte Hornets,Atlanta Hawks,H +Denver Nuggets,Golden State Warriors,H +Houston Rockets,Minnesota Timberwolves,H +Los Angeles Clippers,Miami Heat,H +Oklahoma City Thunder,Dallas Mavericks,H +Portland Trail Blazers,Utah Jazz,H +New Orleans Pelicans,Sacramento Kings,V +Washington Wizards,Milwaukee Bucks,H +Golden State Warriors,Los Angeles Lakers,H +Memphis Grizzlies,Detroit Pistons,H +Toronto Raptors,Orlando Magic,V +Chicago Bulls,Philadelphia 76ers,V +San Antonio Spurs,Cleveland Cavaliers,H +Sacramento Kings,Utah Jazz,V +Boston Celtics,Phoenix Suns,H +Portland Trail Blazers,Brooklyn Nets,V +Dallas Mavericks,Chicago Bulls,V +Miami Heat,Denver Nuggets,V +Cleveland Cavaliers,Houston Rockets,V +Washington Wizards,Indiana Pacers,V +Milwaukee Bucks,Atlanta Hawks,H +New Orleans Pelicans,Charlotte Hornets,H +Oklahoma City Thunder,Minnesota Timberwolves,H +Atlanta Hawks,Brooklyn Nets,H +Milwaukee Bucks,Charlotte Hornets,V +Detroit Pistons,Golden State Warriors,H +Sacramento Kings,Los Angeles Clippers,V +Memphis Grizzlies,New York Knicks,H +Philadelphia 76ers,Portland Trail Blazers,H +Utah Jazz,Los Angeles Lakers,H +Boston Celtics,Washington Wizards,V +Denver Nuggets,Indiana Pacers,H +Houston Rockets,Los Angeles Lakers,V +Minnesota Timberwolves,Phoenix Suns,H +Oklahoma City Thunder,Miami Heat,H +San Antonio Spurs,Dallas Mavericks,H +Atlanta Hawks,Orlando Magic,H +Charlotte Hornets,Utah Jazz,H +Golden State Warriors,Cleveland Cavaliers,V +Dallas Mavericks,Boston Celtics,H +Chicago Bulls,Detroit Pistons,V +Los Angeles Clippers,Houston Rockets,H +Memphis Grizzlies,New Orleans Pelicans,H +New York Knicks,Philadelphia 76ers,H +Toronto Raptors,Brooklyn Nets,H +Portland Trail Blazers,Washington Wizards,V +Oklahoma City Thunder,Denver Nuggets,V +Milwaukee Bucks,Miami Heat,V +New Orleans Pelicans,Minnesota Timberwolves,H +Indiana Pacers,Phoenix Suns,V +Cleveland Cavaliers,Brooklyn Nets,V +Golden State Warriors,Chicago Bulls,V +Dallas Mavericks,Minnesota Timberwolves,H +Detroit Pistons,Houston Rockets,V +Sacramento Kings,Los Angeles Lakers,V +New York Knicks,Utah Jazz,H +Oklahoma City Thunder,Charlotte Hornets,H +Philadelphia 76ers,Orlando Magic,V +Atlanta Hawks,Portland Trail Blazers,V +Toronto Raptors,Boston Celtics,H +Washington Wizards,Miami Heat,H +Cleveland Cavaliers,Los Angeles Clippers,H +Memphis Grizzlies,Denver Nuggets,V +New Orleans Pelicans,Detroit Pistons,H +San Antonio Spurs,Phoenix Suns,V +Sacramento Kings,Atlanta Hawks,H +Boston Celtics,Chicago Bulls,H +Utah Jazz,Brooklyn Nets,V +Oklahoma City Thunder,Dallas Mavericks,V +Golden State Warriors,Indiana Pacers,H +Houston Rockets,Milwaukee Bucks,H +San Antonio Spurs,Los Angeles Lakers,V +Los Angeles Clippers,New York Knicks,V +Charlotte Hornets,Orlando Magic,V +Toronto Raptors,Miami Heat,H +Charlotte Hornets,New York Knicks,H +Chicago Bulls,Cleveland Cavaliers,V +Denver Nuggets,Detroit Pistons,H +Minnesota Timberwolves,Memphis Grizzlies,H +New Orleans Pelicans,Milwaukee Bucks,H +Phoenix Suns,Atlanta Hawks,H +Portland Trail Blazers,Los Angeles Lakers,H +Sacramento Kings,Indiana Pacers,H +Brooklyn Nets,Oklahoma City Thunder,H +Houston Rockets,Dallas Mavericks,H +Boston Celtics,Philadelphia 76ers,V +Toronto Raptors,Los Angeles Clippers,H +Miami Heat,Chicago Bulls,V +Cleveland Cavaliers,Minnesota Timberwolves,H +Atlanta Hawks,Denver Nuggets,V +Golden State Warriors,San Antonio Spurs,H +Memphis Grizzlies,Orlando Magic,H +Houston Rockets,New Orleans Pelicans,V +Charlotte Hornets,Sacramento Kings,V +Detroit Pistons,Utah Jazz,V +Boston Celtics,Washington Wizards,V +Miami Heat,Brooklyn Nets,V +Los Angeles Clippers,Indiana Pacers,V +Dallas Mavericks,Los Angeles Lakers,V +Milwaukee Bucks,Orlando Magic,H +Oklahoma City Thunder,New York Knicks,V +Philadelphia 76ers,Phoenix Suns,H +Portland Trail Blazers,Sacramento Kings,H +Toronto Raptors,Washington Wizards,H +Los Angeles Clippers,Atlanta Hawks,V +Boston Celtics,Denver Nuggets,H +Cleveland Cavaliers,Phoenix Suns,H +Detroit Pistons,Philadelphia 76ers,H +Golden State Warriors,Dallas Mavericks,H +Oklahoma City Thunder,Minnesota Timberwolves,V +San Antonio Spurs,Houston Rockets,H +Utah Jazz,Charlotte Hornets,H +Indiana Pacers,Atlanta Hawks,H +Chicago Bulls,Los Angeles Lakers,V +Memphis Grizzlies,Milwaukee Bucks,H +New Orleans Pelicans,Sacramento Kings,H +Toronto Raptors,New York Knicks,H +Denver Nuggets,Washington Wizards,V +Boston Celtics,Orlando Magic,H +Dallas Mavericks,Brooklyn Nets,H +Cleveland Cavaliers,Detroit Pistons,V +Los Angeles Clippers,Los Angeles Lakers,H +Miami Heat,Milwaukee Bucks,V +New York Knicks,Phoenix Suns,H +Oklahoma City Thunder,Houston Rockets,H +Portland Trail Blazers,Charlotte Hornets,H +Utah Jazz,Minnesota Timberwolves,H +Cleveland Cavaliers,San Antonio Spurs,H +Washington Wizards,Houston Rockets,V +Indiana Pacers,Denver Nuggets,H +Memphis Grizzlies,Sacramento Kings,H +New Orleans Pelicans,Brooklyn Nets,H +Golden State Warriors,Philadelphia 76ers,V +Toronto Raptors,Detroit Pistons,H +Dallas Mavericks,Phoenix Suns,H +Los Angeles Clippers,Chicago Bulls,H +Charlotte Hornets,Los Angeles Lakers,V +Miami Heat,Atlanta Hawks,H +Golden State Warriors,New York Knicks,V +Orlando Magic,Boston Celtics,H +Portland Trail Blazers,Minnesota Timberwolves,H +Atlanta Hawks,Dallas Mavericks,H +Detroit Pistons,Brooklyn Nets,V +Denver Nuggets,Toronto Raptors,H +Cleveland Cavaliers,Indiana Pacers,V +Memphis Grizzlies,New Orleans Pelicans,V +Oklahoma City Thunder,Washington Wizards,H +Sacramento Kings,Milwaukee Bucks,H +San Antonio Spurs,Orlando Magic,H +Utah Jazz,Chicago Bulls,H +Houston Rockets,Miami Heat,H +Los Angeles Lakers,Minnesota Timberwolves,H +Boston Celtics,New York Knicks,V +Toronto Raptors,Phoenix Suns,V +Portland Trail Blazers,Milwaukee Bucks,H +Boston Celtics,Detroit Pistons,H +Indiana Pacers,Brooklyn Nets,V +Charlotte Hornets,Cleveland Cavaliers,H +Miami Heat,Dallas Mavericks,V +Minnesota Timberwolves,Los Angeles Clippers,V +Oklahoma City Thunder,Orlando Magic,H +Atlanta Hawks,Philadelphia 76ers,V +Chicago Bulls,Sacramento Kings,V +San Antonio Spurs,New Orleans Pelicans,H +Utah Jazz,Denver Nuggets,H +Golden State Warriors,Washington Wizards,V +Detroit Pistons,New York Knicks,H +Los Angeles Lakers,New Orleans Pelicans,V +Houston Rockets,Phoenix Suns,V +Toronto Raptors,Portland Trail Blazers,V +Atlanta Hawks,Indiana Pacers,H +Brooklyn Nets,Sacramento Kings,H +Miami Heat,Charlotte Hornets,V +Boston Celtics,Cleveland Cavaliers,V +San Antonio Spurs,Dallas Mavericks,V +Denver Nuggets,Chicago Bulls,H +Memphis Grizzlies,New York Knicks,V +Los Angeles Clippers,Orlando Magic,V +Utah Jazz,Milwaukee Bucks,H +Washington Wizards,Philadelphia 76ers,H +Charlotte Hornets,Washington Wizards,H +Cleveland Cavaliers,New Orleans Pelicans,H +Golden State Warriors,Oklahoma City Thunder,H +Portland Trail Blazers,Houston Rockets,V +Indiana Pacers,Detroit Pistons,H +Dallas Mavericks,Memphis Grizzlies,V +Minnesota Timberwolves,Chicago Bulls,H +Philadelphia 76ers,Brooklyn Nets,H +Utah Jazz,Phoenix Suns,V +San Antonio Spurs,Los Angeles Lakers,H +Boston Celtics,Sacramento Kings,H +Los Angeles Clippers,Miami Heat,V +Denver Nuggets,New York Knicks,V +Orlando Magic,Atlanta Hawks,H +Orlando Magic,Atlanta Hawks,V +Brooklyn Nets,Denver Nuggets,H +Charlotte Hornets,Chicago Bulls,H +Cleveland Cavaliers,Sacramento Kings,H +Toronto Raptors,Detroit Pistons,V +Indiana Pacers,Los Angeles Lakers,H +Portland Trail Blazers,Memphis Grizzlies,V +New Orleans Pelicans,Minnesota Timberwolves,V +Los Angeles Clippers,Philadelphia 76ers,V +Oklahoma City Thunder,Phoenix Suns,V +Utah Jazz,Dallas Mavericks,V +Golden State Warriors,Houston Rockets,H +San Antonio Spurs,Miami Heat,V +Milwaukee Bucks,Boston Celtics,H +Washington Wizards,New York Knicks,V +Boston Celtics,Los Angeles Clippers,H +Memphis Grizzlies,Brooklyn Nets,V +Atlanta Hawks,Chicago Bulls,V +Cleveland Cavaliers,Los Angeles Lakers,H +Denver Nuggets,Detroit Pistons,V +Charlotte Hornets,Indiana Pacers,V +Minnesota Timberwolves,Toronto Raptors,H +New Orleans Pelicans,Utah Jazz,H +San Antonio Spurs,Orlando Magic,V +Sacramento Kings,Philadelphia 76ers,V +Golden State Warriors,Phoenix Suns,V +Portland Trail Blazers,Houston Rockets,H +Milwaukee Bucks,Washington Wizards,H +Oklahoma City Thunder,New Orleans Pelicans,H +Cleveland Cavaliers,Chicago Bulls,H +Los Angeles Clippers,San Antonio Spurs,H +Washington Wizards,Utah Jazz,H +Miami Heat,Atlanta Hawks,V +Brooklyn Nets,New York Knicks,H +Chicago Bulls,Toronto Raptors,H +San Antonio Spurs,Los Angeles Lakers,V +Memphis Grizzlies,Minnesota Timberwolves,H +Charlotte Hornets,Milwaukee Bucks,V +New Orleans Pelicans,Philadelphia 76ers,H +Indiana Pacers,Oklahoma City Thunder,V +Orlando Magic,Dallas Mavericks,H +Houston Rockets,Phoenix Suns,V +Portland Trail Blazers,Golden State Warriors,H +Sacramento Kings,Denver Nuggets,H +Utah Jazz,Boston Celtics,H +Washington Wizards,Detroit Pistons,H +Milwaukee Bucks,Atlanta Hawks,V +Golden State Warriors,Los Angeles Clippers,V +Miami Heat,Washington Wizards,H +New York Knicks,Minnesota Timberwolves,V +Charlotte Hornets,Brooklyn Nets,V +Chicago Bulls,Los Angeles Lakers,H +Dallas Mavericks,Philadelphia 76ers,H +Boston Celtics,Denver Nuggets,V +New Orleans Pelicans,Detroit Pistons,V +Cleveland Cavaliers,Oklahoma City Thunder,V +Indiana Pacers,Orlando Magic,V +San Antonio Spurs,Phoenix Suns,V +Portland Trail Blazers,Utah Jazz,H +Toronto Raptors,Memphis Grizzlies,H +Golden State Warriors,Atlanta Hawks,V +Detroit Pistons,Cleveland Cavaliers,V +Los Angeles Clippers,Phoenix Suns,H +Miami Heat,Indiana Pacers,H +Milwaukee Bucks,Los Angeles Lakers,H +Minnesota Timberwolves,Boston Celtics,H +Toronto Raptors,New York Knicks,V +Sacramento Kings,Denver Nuggets,V +Orlando Magic,Philadelphia 76ers,V +Portland Trail Blazers,Brooklyn Nets,H +Utah Jazz,Houston Rockets,H +Washington Wizards,New Orleans Pelicans,H +Chicago Bulls,Washington Wizards,H +Cleveland Cavaliers,Charlotte Hornets,H +Oklahoma City Thunder,Dallas Mavericks,V +Detroit Pistons,Philadelphia 76ers,H +Indiana Pacers,New York Knicks,H +Denver Nuggets,Los Angeles Clippers,V +Memphis Grizzlies,Los Angeles Lakers,H +Golden State Warriors,Miami Heat,V +San Antonio Spurs,Sacramento Kings,V +Toronto Raptors,Minnesota Timberwolves,H +Boston Celtics,Milwaukee Bucks,H +New Orleans Pelicans,Oklahoma City Thunder,H +Golden State Warriors,Orlando Magic,V +Brooklyn Nets,Phoenix Suns,V +Houston Rockets,Portland Trail Blazers,V +San Antonio Spurs,Utah Jazz,V +Atlanta Hawks,Chicago Bulls,H +Dallas Mavericks,Denver Nuggets,H +Charlotte Hornets,Indiana Pacers,V +Memphis Grizzlies,Los Angeles Lakers,V +New York Knicks,Orlando Magic,H +Washington Wizards,Philadelphia 76ers,V +Los Angeles Clippers,Sacramento Kings,V +Toronto Raptors,Cleveland Cavaliers,H +Boston Celtics,Miami Heat,H +Portland Trail Blazers,Chicago Bulls,V +San Antonio Spurs,Houston Rockets,V +Detroit Pistons,Milwaukee Bucks,V +Minnesota Timberwolves,New Orleans Pelicans,V +Golden State Warriors,Oklahoma City Thunder,V +Phoenix Suns,Memphis Grizzlies,H +Brooklyn Nets,Utah Jazz,V +Atlanta Hawks,Charlotte Hornets,H +Dallas Mavericks,Minnesota Timberwolves,H +Detroit Pistons,Toronto Raptors,H +Portland Trail Blazers,Indiana Pacers,V +Miami Heat,New York Knicks,V +Orlando Magic,Philadelphia 76ers,H +Washington Wizards,Cleveland Cavaliers,H +Boston Celtics,Utah Jazz,H +Cleveland Cavaliers,Indiana Pacers,H +Memphis Grizzlies,Denver Nuggets,V +Los Angeles Clippers,Brooklyn Nets,H +Milwaukee Bucks,Houston Rockets,H +Oklahoma City Thunder,Sacramento Kings,V +Washington Wizards,Philadelphia 76ers,H +Charlotte Hornets,Phoenix Suns,H +Dallas Mavericks,Orlando Magic,H +Golden State Warriors,Atlanta Hawks,H +Los Angeles Lakers,Brooklyn Nets,H +Miami Heat,Chicago Bulls,H +Portland Trail Blazers,New York Knicks,V +Boston Celtics,Portland Trail Blazers,H +Denver Nuggets,Los Angeles Lakers,H +Houston Rockets,New Orleans Pelicans,H +Los Angeles Clippers,Oklahoma City Thunder,H +Memphis Grizzlies,Sacramento Kings,H +Indiana Pacers,Milwaukee Bucks,V +Washington Wizards,Minnesota Timberwolves,V +Orlando Magic,Chicago Bulls,H +Charlotte Hornets,Philadelphia 76ers,V +San Antonio Spurs,Detroit Pistons,H +Toronto Raptors,Utah Jazz,H +Sacramento Kings,Dallas Mavericks,V +Golden State Warriors,Oklahoma City Thunder,H +Miami Heat,Phoenix Suns,H +San Antonio Spurs,New Orleans Pelicans,V +Boston Celtics,New York Knicks,H +Charlotte Hornets,Indiana Pacers,H +Cleveland Cavaliers,Washington Wizards,H +Brooklyn Nets,Denver Nuggets,V +Atlanta Hawks,Los Angeles Lakers,V +Memphis Grizzlies,Utah Jazz,H +Milwaukee Bucks,Minnesota Timberwolves,H +Phoenix Suns,Orlando Magic,V +Miami Heat,Philadelphia 76ers,V +Toronto Raptors,Portland Trail Blazers,H +Chicago Bulls,Houston Rockets,H +Cleveland Cavaliers,Boston Celtics,H +Atlanta Hawks,Los Angeles Clippers,V +Minnesota Timberwolves,Brooklyn Nets,H +Utah Jazz,New Orleans Pelicans,V +New York Knicks,Detroit Pistons,H +San Antonio Spurs,Sacramento Kings,H +Indiana Pacers,Washington Wizards,V +Denver Nuggets,Dallas Mavericks,H +Detroit Pistons,Portland Trail Blazers,H +Los Angeles Lakers,Golden State Warriors,H +Phoenix Suns,Memphis Grizzlies,V +Miami Heat,Philadelphia 76ers,H +Oklahoma City Thunder,Milwaukee Bucks,V +Houston Rockets,Toronto Raptors,V +Chicago Bulls,Milwaukee Bucks,H +Charlotte Hornets,Minnesota Timberwolves,H +Memphis Grizzlies,Cleveland Cavaliers,V +Los Angeles Clippers,Dallas Mavericks,V +Golden State Warriors,Orlando Magic,H +Indiana Pacers,San Antonio Spurs,H +New Orleans Pelicans,Sacramento Kings,H +Denver Nuggets,New York Knicks,H +Los Angeles Lakers,Orlando Magic,H +San Antonio Spurs,Minnesota Timberwolves,V +Portland Trail Blazers,Washington Wizards,H +Toronto Raptors,Brooklyn Nets,H +Atlanta Hawks,Utah Jazz,V +Boston Celtics,Memphis Grizzlies,H +Charlotte Hornets,New Orleans Pelicans,H +Detroit Pistons,Dallas Mavericks,V +Golden State Warriors,Utah Jazz,H +Milwaukee Bucks,Miami Heat,H +Oklahoma City Thunder,Los Angeles Clippers,H +Houston Rockets,Philadelphia 76ers,V +New York Knicks,Phoenix Suns,V +Cleveland Cavaliers,Sacramento Kings,V +Denver Nuggets,Phoenix Suns,H +Cleveland Cavaliers,Los Angeles Lakers,V +San Antonio Spurs,Chicago Bulls,H +Toronto Raptors,Atlanta Hawks,H +Houston Rockets,Boston Celtics,V +Miami Heat,Chicago Bulls,V +Charlotte Hornets,Detroit Pistons,H +Golden State Warriors,Portland Trail Blazers,H +Los Angeles Clippers,New York Knicks,H +Memphis Grizzlies,New Orleans Pelicans,H +Minnesota Timberwolves,Oklahoma City Thunder,V +Philadelphia 76ers,Brooklyn Nets,H +Orlando Magic,Sacramento Kings,V +Utah Jazz,Washington Wizards,H +Atlanta Hawks,Memphis Grizzlies,H +Charlotte Hornets,Houston Rockets,H +Indiana Pacers,Dallas Mavericks,V +Denver Nuggets,Washington Wizards,H +Golden State Warriors,Phoenix Suns,H +Milwaukee Bucks,New Orleans Pelicans,H +Detroit Pistons,Philadelphia 76ers,V +Portland Trail Blazers,Orlando Magic,H +San Antonio Spurs,Oklahoma City Thunder,H +Toronto Raptors,Miami Heat,H +Atlanta Hawks,Indiana Pacers,H +Milwaukee Bucks,Brooklyn Nets,V +Cleveland Cavaliers,Los Angeles Clippers,V +New York Knicks,Los Angeles Lakers,V +Utah Jazz,Sacramento Kings,V +Dallas Mavericks,Charlotte Hornets,V +Golden State Warriors,New Orleans Pelicans,H +Houston Rockets,Memphis Grizzlies,H +Miami Heat,Denver Nuggets,H +Oklahoma City Thunder,Portland Trail Blazers,H +Phoenix Suns,Minnesota Timberwolves,H +Chicago Bulls,Toronto Raptors,V +Utah Jazz,Cleveland Cavaliers,H +Washington Wizards,Detroit Pistons,H +Brooklyn Nets,Philadelphia 76ers,H +Indiana Pacers,Boston Celtics,H +Sacramento Kings,Los Angeles Lakers,V +Toronto Raptors,Milwaukee Bucks,V +Orlando Magic,Denver Nuggets,H +San Antonio Spurs,Los Angeles Clippers,H +Oklahoma City Thunder,Boston Celtics,V +Charlotte Hornets,Orlando Magic,H +Cleveland Cavaliers,Dallas Mavericks,H +Atlanta Hawks,Detroit Pistons,V +Golden State Warriors,New York Knicks,H +Los Angeles Clippers,Houston Rockets,V +Minnesota Timberwolves,Memphis Grizzlies,V +New Orleans Pelicans,Sacramento Kings,V +Washington Wizards,Chicago Bulls,H +Atlanta Hawks,Denver Nuggets,H +Chicago Bulls,Brooklyn Nets,H +Toronto Raptors,Indiana Pacers,V +Charlotte Hornets,Miami Heat,V +Milwaukee Bucks,Memphis Grizzlies,H +Washington Wizards,Philadelphia 76ers,V +San Antonio Spurs,Portland Trail Blazers,H +Utah Jazz,Phoenix Suns,H +Golden State Warriors,Dallas Mavericks,V +Detroit Pistons,Sacramento Kings,H +Houston Rockets,Minnesota Timberwolves,H +Phoenix Suns,Los Angeles Lakers,V +Portland Trail Blazers,New Orleans Pelicans,V +Cleveland Cavaliers,Orlando Magic,V +Oklahoma City Thunder,Philadelphia 76ers,V +Toronto Raptors,Boston Celtics,H +Atlanta Hawks,Houston Rockets,H +Chicago Bulls,Utah Jazz,H +Denver Nuggets,Charlotte Hornets,V +Detroit Pistons,Brooklyn Nets,H +Oklahoma City Thunder,Indiana Pacers,V +Memphis Grizzlies,Los Angeles Clippers,H +Miami Heat,Cleveland Cavaliers,H +San Antonio Spurs,Golden State Warriors,H +Washington Wizards,New York Knicks,H +Dallas Mavericks,Portland Trail Blazers,H +Utah Jazz,Milwaukee Bucks,V +New Orleans Pelicans,Los Angeles Clippers,H +Sacramento Kings,New York Knicks,V +Boston Celtics,Philadelphia 76ers,V +Toronto Raptors,Orlando Magic,H +Washington Wizards,Atlanta Hawks,V +Boston Celtics,Orlando Magic,H +Chicago Bulls,Sacramento Kings,H +Charlotte Hornets,San Antonio Spurs,H +Cleveland Cavaliers,Denver Nuggets,H +Detroit Pistons,Milwaukee Bucks,H +Indiana Pacers,Philadelphia 76ers,H +Golden State Warriors,Minnesota Timberwolves,V +Memphis Grizzlies,Phoenix Suns,V +Charlotte Hornets,Brooklyn Nets,V +Los Angeles Lakers,Memphis Grizzlies,H +Miami Heat,New Orleans Pelicans,V +Oklahoma City Thunder,Houston Rockets,H +Boston Celtics,Toronto Raptors,H +New York Knicks,Chicago Bulls,V +Cleveland Cavaliers,Milwaukee Bucks,H +Denver Nuggets,Philadelphia 76ers,H +Detroit Pistons,Orlando Magic,H +Golden State Warriors,Los Angeles Clippers,H +Utah Jazz,Houston Rockets,V +Minnesota Timberwolves,Sacramento Kings,H +Phoenix Suns,Los Angeles Lakers,H +Portland Trail Blazers,Dallas Mavericks,H +San Antonio Spurs,Miami Heat,H +Atlanta Hawks,Washington Wizards,V +Brooklyn Nets,Cleveland Cavaliers,H +Indiana Pacers,New Orleans Pelicans,H +Los Angeles Clippers,Portland Trail Blazers,H +New York Knicks,Chicago Bulls,H +Oklahoma City Thunder,Utah Jazz,H +Atlanta Hawks,Milwaukee Bucks,H +Detroit Pistons,Charlotte Hornets,H +Golden State Warriors,Dallas Mavericks,H +Houston Rockets,Toronto Raptors,H +Denver Nuggets,Los Angeles Lakers,V +Miami Heat,Orlando Magic,H +Sacramento Kings,Phoenix Suns,H +San Antonio Spurs,Memphis Grizzlies,H +Minnesota Timberwolves,Washington Wizards,V +Brooklyn Nets,Indiana Pacers,H +Atlanta Hawks,Detroit Pistons,V +Charlotte Hornets,Milwaukee Bucks,V +Utah Jazz,Minnesota Timberwolves,V +Toronto Raptors,New Orleans Pelicans,V +Cleveland Cavaliers,New York Knicks,V +Oklahoma City Thunder,San Antonio Spurs,H +Orlando Magic,Chicago Bulls,H +Boston Celtics,Phoenix Suns,V +Portland Trail Blazers,Philadelphia 76ers,H +Golden State Warriors,Philadelphia 76ers,H +Indiana Pacers,Houston Rockets,H +Los Angeles Clippers,Denver Nuggets,H +Washington Wizards,Los Angeles Lakers,V +Sacramento Kings,Dallas Mavericks,H +Atlanta Hawks,Chicago Bulls,V +Dallas Mavericks,Denver Nuggets,V +Los Angeles Clippers,Boston Celtics,H +San Antonio Spurs,Memphis Grizzlies,V +Miami Heat,Brooklyn Nets,H +Minnesota Timberwolves,Phoenix Suns,H +New Orleans Pelicans,New York Knicks,H +Portland Trail Blazers,Sacramento Kings,H +Oklahoma City Thunder,Toronto Raptors,V +Utah Jazz,Los Angeles Lakers,H +Houston Rockets,Cleveland Cavaliers,V +Detroit Pistons,Oklahoma City Thunder,H +Golden State Warriors,Washington Wizards,H +Chicago Bulls,Indiana Pacers,V +Orlando Magic,Brooklyn Nets,H +Charlotte Hornets,Philadelphia 76ers,V +Dallas Mavericks,New York Knicks,H +Los Angeles Lakers,Miami Heat,H +Denver Nuggets,Memphis Grizzlies,V +Milwaukee Bucks,Phoenix Suns,H +Los Angeles Clippers,Minnesota Timberwolves,V +Sacramento Kings,Washington Wizards,H +San Antonio Spurs,New Orleans Pelicans,H +Toronto Raptors,Atlanta Hawks,H +Golden State Warriors,Utah Jazz,V +Cleveland Cavaliers,Brooklyn Nets,H +Chicago Bulls,Houston Rockets,V +Orlando Magic,Indiana Pacers,V +New Orleans Pelicans,Denver Nuggets,H +Oklahoma City Thunder,Los Angeles Clippers,H +Portland Trail Blazers,Boston Celtics,H +Cleveland Cavaliers,Atlanta Hawks,V +Charlotte Hornets,Philadelphia 76ers,H +Dallas Mavericks,Detroit Pistons,V +Boston Celtics,Golden State Warriors,V +Toronto Raptors,Memphis Grizzlies,V +Milwaukee Bucks,Orlando Magic,H +New York Knicks,Brooklyn Nets,H +Washington Wizards,Phoenix Suns,V +Miami Heat,Sacramento Kings,V +Utah Jazz,Minnesota Timberwolves,H +Detroit Pistons,Chicago Bulls,V +Sacramento Kings,Denver Nuggets,V +Indiana Pacers,Philadelphia 76ers,V +Portland Trail Blazers,Miami Heat,H +San Antonio Spurs,Toronto Raptors,H +New Orleans Pelicans,Brooklyn Nets,V +Cleveland Cavaliers,Charlotte Hornets,H +Golden State Warriors,Portland Trail Blazers,H +Houston Rockets,Oklahoma City Thunder,H +Los Angeles Clippers,Washington Wizards,H +Boston Celtics,Los Angeles Lakers,V +Chicago Bulls,Milwaukee Bucks,V +Dallas Mavericks,Minnesota Timberwolves,V +Indiana Pacers,New York Knicks,V +Orlando Magic,Memphis Grizzlies,H +Utah Jazz,Phoenix Suns,V +Atlanta Hawks,Phoenix Suns,H +Oklahoma City Thunder,Denver Nuggets,V +Minnesota Timberwolves,Golden State Warriors,V +Los Angeles Clippers,Los Angeles Lakers,H +Memphis Grizzlies,Chicago Bulls,H +Miami Heat,Detroit Pistons,H +Cleveland Cavaliers,Milwaukee Bucks,V +Philadelphia 76ers,New Orleans Pelicans,H +Portland Trail Blazers,Sacramento Kings,V +Toronto Raptors,Charlotte Hornets,H +San Antonio Spurs,Utah Jazz,V +Boston Celtics,New Orleans Pelicans,H +Dallas Mavericks,Houston Rockets,H +Indiana Pacers,Cleveland Cavaliers,H +Los Angeles Clippers,Los Angeles Lakers,V +Charlotte Hornets,New York Knicks,V +Detroit Pistons,Orlando Magic,V +Portland Trail Blazers,Oklahoma City Thunder,H +Washington Wizards,Brooklyn Nets,H +Atlanta Hawks,Toronto Raptors,H +Golden State Warriors,San Antonio Spurs,H +Phoenix Suns,Houston Rockets,V +Miami Heat,Chicago Bulls,H +Minnesota Timberwolves,Sacramento Kings,V +Boston Celtics,Milwaukee Bucks,H +Charlotte Hornets,Brooklyn Nets,H +Dallas Mavericks,Memphis Grizzlies,H +Denver Nuggets,San Antonio Spurs,H +Detroit Pistons,Washington Wizards,H +New Orleans Pelicans,Los Angeles Lakers,H +Orlando Magic,Miami Heat,H +New York Knicks,Philadelphia 76ers,V +Toronto Raptors,Indiana Pacers,H +Los Angeles Clippers,Utah Jazz,V +Atlanta Hawks,Boston Celtics,H +Chicago Bulls,Cleveland Cavaliers,H +Golden State Warriors,Memphis Grizzlies,V +Phoenix Suns,New Orleans Pelicans,V +Minnesota Timberwolves,Portland Trail Blazers,V +Sacramento Kings,Oklahoma City Thunder,H +Utah Jazz,Denver Nuggets,V +Houston Rockets,Los Angeles Lakers,H +Indiana Pacers,Brooklyn Nets,H +Los Angeles Clippers,Dallas Mavericks,H +Miami Heat,Orlando Magic,H +Toronto Raptors,New York Knicks,V +Milwaukee Bucks,Philadelphia 76ers,V +Golden State Warriors,San Antonio Spurs,V +Washington Wizards,Charlotte Hornets,H +Charlotte Hornets,Boston Celtics,V +Washington Wizards,Brooklyn Nets,V +Cleveland Cavaliers,Atlanta Hawks,H +Houston Rockets,Minnesota Timberwolves,V +Chicago Bulls,New Orleans Pelicans,V +Oklahoma City Thunder,Los Angeles Lakers,H +Orlando Magic,Milwaukee Bucks,H +Sacramento Kings,Phoenix Suns,V +Dallas Mavericks,Utah Jazz,V +Miami Heat,Detroit Pistons,V +Indiana Pacers,New York Knicks,H +Los Angeles Clippers,Memphis Grizzlies,H +San Antonio Spurs,Oklahoma City Thunder,H +Toronto Raptors,Philadelphia 76ers,H +Boston Celtics,Miami Heat,H +Toronto Raptors,Brooklyn Nets,V +Chicago Bulls,Philadelphia 76ers,H +Charlotte Hornets,Orlando Magic,H +Detroit Pistons,Cleveland Cavaliers,V +San Antonio Spurs,Dallas Mavericks,V +Golden State Warriors,Memphis Grizzlies,H +Houston Rockets,Sacramento Kings,H +Los Angeles Lakers,Utah Jazz,H +Indiana Pacers,Milwaukee Bucks,V +Minnesota Timberwolves,New Orleans Pelicans,H +Phoenix Suns,Los Angeles Clippers,H +Portland Trail Blazers,Denver Nuggets,H +Washington Wizards,Atlanta Hawks,H +Atlanta Hawks,Boston Celtics,H +Golden State Warriors,Houston Rockets,H +Oklahoma City Thunder,Dallas Mavericks,H +Indiana Pacers,Toronto Raptors,V +Cleveland Cavaliers,Detroit Pistons,H +Los Angeles Clippers,Portland Trail Blazers,H +Miami Heat,Charlotte Hornets,H +San Antonio Spurs,Memphis Grizzlies,H +Golden State Warriors,Houston Rockets,H +Dallas Mavericks,Oklahoma City Thunder,V +Toronto Raptors,Indiana Pacers,H +Atlanta Hawks,Boston Celtics,H +San Antonio Spurs,Memphis Grizzlies,H +Cleveland Cavaliers,Detroit Pistons,H +Los Angeles Clippers,Portland Trail Blazers,H +Miami Heat,Charlotte Hornets,H +Oklahoma City Thunder,Dallas Mavericks,V +Houston Rockets,Golden State Warriors,H +Toronto Raptors,Indiana Pacers,V +Boston Celtics,Atlanta Hawks,H +Cleveland Cavaliers,Detroit Pistons,V +San Antonio Spurs,Memphis Grizzlies,V +Charlotte Hornets,Miami Heat,H +Oklahoma City Thunder,Dallas Mavericks,V +Indiana Pacers,Toronto Raptors,H +Portland Trail Blazers,Los Angeles Clippers,H +Boston Celtics,Atlanta Hawks,H +Cleveland Cavaliers,Detroit Pistons,V +Golden State Warriors,Houston Rockets,V +San Antonio Spurs,Memphis Grizzlies,V +Charlotte Hornets,Miami Heat,H +Oklahoma City Thunder,Dallas Mavericks,H +Portland Trail Blazers,Los Angeles Clippers,H +Atlanta Hawks,Boston Celtics,H +Toronto Raptors,Indiana Pacers,H +Golden State Warriors,Houston Rockets,H +Portland Trail Blazers,Los Angeles Clippers,V +Charlotte Hornets,Miami Heat,V +Atlanta Hawks,Boston Celtics,V +Miami Heat,Charlotte Hornets,V +Indiana Pacers,Toronto Raptors,H +Portland Trail Blazers,Los Angeles Clippers,H +San Antonio Spurs,Oklahoma City Thunder,H +Golden State Warriors,Portland Trail Blazers,H +Miami Heat,Charlotte Hornets,H +Toronto Raptors,Indiana Pacers,H +Cleveland Cavaliers,Atlanta Hawks,H +Oklahoma City Thunder,San Antonio Spurs,V +Golden State Warriors,Portland Trail Blazers,H +Miami Heat,Toronto Raptors,V +Cleveland Cavaliers,Atlanta Hawks,H +Toronto Raptors,Miami Heat,H +Cleveland Cavaliers,Atlanta Hawks,V +San Antonio Spurs,Oklahoma City Thunder,V +Toronto Raptors,Miami Heat,V +Portland Trail Blazers,Golden State Warriors,H +Cleveland Cavaliers,Atlanta Hawks,V +Oklahoma City Thunder,San Antonio Spurs,H +Miami Heat,Toronto Raptors,H +Golden State Warriors,Portland Trail Blazers,V +Oklahoma City Thunder,San Antonio Spurs,V +Golden State Warriors,Portland Trail Blazers,H +Toronto Raptors,Miami Heat,H +Oklahoma City Thunder,San Antonio Spurs,H +Miami Heat,Toronto Raptors,H +Toronto Raptors,Miami Heat,H +Oklahoma City Thunder,Golden State Warriors,V +Cleveland Cavaliers,Toronto Raptors,H +Golden State Warriors,Oklahoma City Thunder,H +Cleveland Cavaliers,Toronto Raptors,H +Toronto Raptors,Cleveland Cavaliers,H +Oklahoma City Thunder,Golden State Warriors,H +Toronto Raptors,Cleveland Cavaliers,H +Oklahoma City Thunder,Golden State Warriors,H +Cleveland Cavaliers,Toronto Raptors,H +Golden State Warriors,Oklahoma City Thunder,H +Cleveland Cavaliers,Toronto Raptors,V +Golden State Warriors,Oklahoma City Thunder,V +Golden State Warriors,Oklahoma City Thunder,H +Golden State Warriors,Cleveland Cavaliers,H +Golden State Warriors,Cleveland Cavaliers,H +Cleveland Cavaliers,Golden State Warriors,H +Golden State Warriors,Cleveland Cavaliers,V +Cleveland Cavaliers,Golden State Warriors,V +Cleveland Cavaliers,Golden State Warriors,H +Cleveland Cavaliers,Golden State Warriors,V diff --git a/other/data/2021Miscellaneous_Stat.csv b/other/data/2021Miscellaneous_Stat.csv new file mode 100644 index 0000000..9654a6d --- /dev/null +++ b/other/data/2021Miscellaneous_Stat.csv @@ -0,0 +1,31 @@ +Rk,Team,Age,W,L,PW,PL,MOV,SOS,SRS,ORtg,DRtg,Pace,FTr,3PAr,TS%,eFG%,TOV%,ORB%,FT/FGA,eFG%,TOV%,DRB%,FT/FGA,Arena,Attendance +1,Golden State Warriors,27.4,73,9,65,17,10.76,-0.38,10.38,114.5,103.8,99.3,0.25,0.362,0.593,0.563,13.5,23.5,0.191,0.479,12.6,76,0.208,Oracle Arena,803436 +2,San Antonio Spurs,30.3,67,15,67,15,10.63,-0.36,10.28,110.3,99,93.8,0.246,0.223,0.564,0.526,12.4,23,0.197,0.477,14.1,79.1,0.182,AT&T Center,756445 +3,Oklahoma City Thunder,25.8,55,27,59,23,7.28,-0.19,7.09,113.1,105.6,96.7,0.292,0.275,0.565,0.524,14,31.1,0.228,0.484,11.7,76,0.205,Chesapeake Energy Arena,746323 +4,Cleveland Cavaliers,28.1,57,25,57,25,6,-0.55,5.45,110.9,104.5,93.3,0.259,0.352,0.558,0.524,12.7,25.1,0.194,0.496,12.6,78.5,0.205,Quicken Loans Arena,843042 +5,Los Angeles Clippers,29.7,53,29,53,29,4.28,-0.15,4.13,108.3,103.8,95.8,0.318,0.324,0.556,0.524,12.1,20.1,0.22,0.48,13.8,73.8,0.222,STAPLES Center,786910 +6,Toronto Raptors,26.3,56,26,53,29,4.5,-0.42,4.08,110,105.2,92.9,0.328,0.287,0.552,0.504,12.3,24.6,0.255,0.498,12.7,77.7,0.201,Air Canada Centre,812863 +7,Atlanta Hawks,28.2,48,34,51,31,3.61,-0.12,3.49,105.1,101.4,97.1,0.237,0.336,0.552,0.516,13.8,19.1,0.185,0.48,14.4,74.6,0.194,Philips Arena,690150 +8,Boston Celtics,25.2,48,34,50,32,3.21,-0.37,2.84,106.8,103.6,98.5,0.264,0.293,0.531,0.488,12.1,25.1,0.208,0.487,14.6,74.6,0.231,TD Garden,749076 +9,Charlotte Hornets,26,48,34,49,33,2.72,-0.36,2.36,107.1,104.3,95.7,0.28,0.348,0.545,0.502,11.7,20,0.222,0.496,12.5,79.8,0.191,Time Warner Cable Arena,716894 +10,Utah Jazz,24.2,40,42,46,36,1.79,0.05,1.84,105.9,103.9,91,0.286,0.297,0.54,0.501,14.2,25.9,0.213,0.495,13.5,77.7,0.21,Vivint Smart Home Arena,791489 +11,Indiana Pacers,26.9,45,37,46,36,1.71,-0.09,1.62,104.6,102.9,96.6,0.268,0.27,0.536,0.497,13.5,23.4,0.205,0.489,14.3,76,0.205,Bankers Life Fieldhouse,690733 +12,Miami Heat,28.4,48,34,46,36,1.65,-0.14,1.5,106.1,104.4,93.6,0.282,0.221,0.545,0.508,13.3,23.8,0.21,0.485,12.1,77.8,0.196,AmericanAirlines Arena,809350 +13,Portland Trail Blazers,24.3,44,38,43,39,0.83,0.15,0.98,108.8,108,96,0.268,0.332,0.548,0.511,13.2,25.9,0.202,0.503,12.1,76.2,0.225,Moda Center,794085 +14,Detroit Pistons,25,44,38,43,39,0.61,-0.18,0.43,106.1,105.5,95.1,0.296,0.303,0.522,0.491,12.2,27,0.197,0.504,12.5,79.3,0.196,The Palace of Auburn Hills,677138 +15,Houston Rockets,27.8,41,41,42,40,0.2,0.14,0.34,108.3,108.1,97.6,0.352,0.37,0.553,0.516,14.2,25.7,0.244,0.516,14.7,72.8,0.219,Toyota Center,737244 +16,Dallas Mavericks,30.3,42,40,40,42,-0.3,0.29,-0.02,106.7,107,94.3,0.265,0.339,0.544,0.502,12,20.6,0.211,0.504,12.8,76.2,0.198,American Airlines Center,825901 +17,Washington Wizards,27.3,41,41,40,42,-0.5,0,-0.5,105.3,105.8,98.5,0.263,0.282,0.544,0.511,13.1,20.6,0.192,0.515,14.6,77.7,0.218,Verizon Center,725426 +18,Chicago Bulls,27.6,42,40,37,45,-1.48,0.01,-1.46,105,106.5,95.7,0.24,0.244,0.526,0.487,12.6,24.5,0.189,0.485,10.7,74.9,0.182,United Center,894659 +19,Orlando Magic,23.9,35,47,36,46,-1.62,-0.06,-1.68,105.1,106.8,96,0.232,0.255,0.533,0.5,12.8,23.1,0.175,0.513,13.8,76.5,0.215,Amway Center,719275 +20,Memphis Grizzlies,30.5,42,40,35,47,-2.24,0.11,-2.14,105.4,107.8,93.3,0.295,0.222,0.524,0.477,12.3,25.3,0.231,0.518,15.2,75.1,0.251,FedEx Forum,701894 +21,Sacramento Kings,26.6,33,49,34,48,-2.48,0.16,-2.32,106,108.4,100,0.295,0.26,0.546,0.51,14.2,23.9,0.214,0.521,14,74.9,0.202,Sleep Train Arena,707526 +22,New York Knicks,27.2,32,50,33,49,-2.73,0,-2.74,104.6,107.6,93.4,0.255,0.256,0.527,0.483,12.6,23.7,0.205,0.487,10.5,75.8,0.204,Madison Square Garden (IV),812292 +23,Denver Nuggets,24.7,33,49,33,49,-3.1,0.29,-2.81,105.6,108.9,95.7,0.282,0.277,0.531,0.489,13.2,25.8,0.216,0.515,12.6,77.3,0.216,Pepsi Center,577898 +24,Minnesota Timberwolves,24.6,29,53,31,51,-3.54,0.15,-3.38,106.5,110.1,95.2,0.332,0.202,0.549,0.498,13.9,24.3,0.263,0.524,13.6,74.7,0.2,Target Center,581178 +25,New Orleans Pelicans,26.6,30,52,31,51,-3.79,0.24,-3.56,105.6,109.5,96.8,0.259,0.277,0.537,0.498,12.3,21.2,0.201,0.523,12.7,78.8,0.225,Smoothie King Center,688549 +26,Milwaukee Bucks,23.5,33,49,29,53,-4.18,0.2,-3.98,104.3,108.7,94.2,0.276,0.189,0.537,0.499,14.2,24.9,0.207,0.51,14.2,73.1,0.221,BMO Harris Bradley Center,621808 +27,Phoenix Suns,26,23,59,24,58,-6.66,0.34,-6.32,102.2,109,98.5,0.271,0.302,0.526,0.487,15.2,25.4,0.204,0.523,13.5,77.1,0.237,Talking Stick Resort Arena,701405 +28,Brooklyn Nets,26.9,21,61,22,60,-7.35,0.24,-7.12,103.2,110.9,95.2,0.246,0.218,0.527,0.492,13.6,24.1,0.186,0.534,13.1,75.7,0.176,Barclays Center,620142 +29,Los Angeles Lakers,26.5,17,65,17,65,-9.56,0.64,-8.92,101.6,111.6,95.6,0.292,0.29,0.509,0.46,12.5,23.1,0.228,0.523,11.6,74.7,0.202,STAPLES Center,778877 +30,Philadelphia 76ers,23.3,10,72,16,66,-10.23,0.31,-9.92,98.8,109.2,97.9,0.269,0.327,0.519,0.487,14.8,20.6,0.186,0.51,13.5,74,0.24,Wells Fargo Center,614650 diff --git a/other/data/21-22Result.csv b/other/data/21-22Result.csv new file mode 100644 index 0000000..740193c --- /dev/null +++ b/other/data/21-22Result.csv @@ -0,0 +1,1230 @@ +win,lose,probability +Cleveland Cavaliers,New York Knicks,0.910945673538786 +Golden State Warriors,San Antonio Spurs,0.6513314781536191 +Portland Trail Blazers,Utah Jazz,0.7881071461573498 +Boston Celtics,Brooklyn Nets,0.9037914734330236 +Indiana Pacers,Dallas Mavericks,0.6294890501142083 +Houston Rockets,Los Angeles Lakers,0.9091001386952638 +Memphis Grizzlies,Minnesota Timberwolves,0.6391705982462286 +Charlotte Hornets,Milwaukee Bucks,0.772729041185426 +Denver Nuggets,New Orleans Pelicans,0.6165961221759775 +Miami Heat,Orlando Magic,0.6679605471462637 +Oklahoma City Thunder,Philadelphia 76ers,0.9850889685949972 +Sacramento Kings,Phoenix Suns,0.7378958718883849 +Toronto Raptors,Detroit Pistons,0.7205030001905396 +Atlanta Hawks,Washington Wizards,0.645037490735184 +Boston Celtics,Chicago Bulls,0.5211526256247747 +Portland Trail Blazers,Los Angeles Clippers,0.6417347614659707 +San Antonio Spurs,Sacramento Kings,0.8542060260605685 +Indiana Pacers,Brooklyn Nets,0.8932493059410368 +Dallas Mavericks,Houston Rockets,0.5284229857234188 +Detroit Pistons,Orlando Magic,0.6568380918875059 +Miami Heat,Charlotte Hornets,0.5636036106371278 +Golden State Warriors,New Orleans Pelicans,0.9094810947100891 +Oklahoma City Thunder,Phoenix Suns,0.9217004614721095 +Toronto Raptors,Cleveland Cavaliers,0.5414506135932451 +Utah Jazz,Los Angeles Lakers,0.9050539698282559 +Chicago Bulls,Indiana Pacers,0.5438036453214102 +Charlotte Hornets,Boston Celtics,0.5248735201171141 +Cleveland Cavaliers,Orlando Magic,0.868858274042883 +Portland Trail Blazers,Denver Nuggets,0.6704547911733075 +Milwaukee Bucks,Brooklyn Nets,0.6773974242380878 +Memphis Grizzlies,New York Knicks,0.627002896098444 +Atlanta Hawks,Philadelphia 76ers,0.977722349080111 +Sacramento Kings,Minnesota Timberwolves,0.5372216083882487 +San Antonio Spurs,New Orleans Pelicans,0.9144078692442914 +Detroit Pistons,Milwaukee Bucks,0.7081537265549922 +Houston Rockets,Dallas Mavericks,0.5484635235494044 +Los Angeles Clippers,Utah Jazz,0.737586544702152 +Washington Wizards,Memphis Grizzlies,0.5324132607249484 +San Antonio Spurs,Miami Heat,0.6322217809067541 +Oklahoma City Thunder,Los Angeles Lakers,0.9642959605770868 +Golden State Warriors,Phoenix Suns,0.9515197953692456 +Atlanta Hawks,Sacramento Kings,0.749364111618706 +Chicago Bulls,Brooklyn Nets,0.8679345758358623 +Los Angeles Clippers,Phoenix Suns,0.90021965786247 +Toronto Raptors,Denver Nuggets,0.8191898866371986 +Cleveland Cavaliers,Houston Rockets,0.8269396223227754 +Detroit Pistons,New York Knicks,0.7471690620137846 +Indiana Pacers,Los Angeles Lakers,0.9225231269834872 +Miami Heat,Sacramento Kings,0.7634533160413839 +Memphis Grizzlies,Minnesota Timberwolves,0.6798209709660259 +Milwaukee Bucks,New Orleans Pelicans,0.5506449643984364 +Orlando Magic,Philadelphia 76ers,0.9475259110879476 +Golden State Warriors,Portland Trail Blazers,0.5746284548698412 +San Antonio Spurs,Utah Jazz,0.8563015879263921 +Atlanta Hawks,Los Angeles Lakers,0.9407189655892345 +Boston Celtics,Chicago Bulls,0.672659518278773 +Detroit Pistons,Brooklyn Nets,0.8895602705326521 +Charlotte Hornets,Philadelphia 76ers,0.9622489609127842 +Oklahoma City Thunder,Los Angeles Clippers,0.5027769796823538 +Memphis Grizzlies,New Orleans Pelicans,0.6512049104129524 +Houston Rockets,New York Knicks,0.6551162929224978 +Portland Trail Blazers,Phoenix Suns,0.8367378108503962 +Utah Jazz,Dallas Mavericks,0.576294077031833 +Toronto Raptors,Washington Wizards,0.6445132283306332 +Cleveland Cavaliers,Boston Celtics,0.7298581867315248 +Golden State Warriors,Oklahoma City Thunder,0.724374076778863 +Indiana Pacers,Milwaukee Bucks,0.7348860900107408 +Denver Nuggets,Minnesota Timberwolves,0.6417604989251788 +Orlando Magic,Sacramento Kings,0.5277512563404784 +Charlotte Hornets,Brooklyn Nets,0.9112180730690862 +Chicago Bulls,New York Knicks,0.7767233131069875 +Portland Trail Blazers,Dallas Mavericks,0.5208537025596347 +Golden State Warriors,Los Angeles Lakers,0.9790147363638145 +Los Angeles Clippers,Memphis Grizzlies,0.6659868528357222 +New Orleans Pelicans,Phoenix Suns,0.616141817873113 +Toronto Raptors,Miami Heat,0.6922006702911019 +San Antonio Spurs,Utah Jazz,0.7554533345420018 +Atlanta Hawks,Washington Wizards,0.5878971846897307 +Atlanta Hawks,Houston Rockets,0.6667248781260917 +Detroit Pistons,Denver Nuggets,0.6489861437070469 +Indiana Pacers,Chicago Bulls,0.5836744284667654 +Sacramento Kings,Milwaukee Bucks,0.5763675413000096 +Oklahoma City Thunder,Minnesota Timberwolves,0.8618423484130558 +Washington Wizards,Orlando Magic,0.5955141193474442 +Cleveland Cavaliers,Philadelphia 76ers,0.9862499716834574 +San Antonio Spurs,Los Angeles Clippers,0.7415909571565803 +Boston Celtics,Denver Nuggets,0.7466284168285751 +Dallas Mavericks,Milwaukee Bucks,0.6632528005878194 +Phoenix Suns,Los Angeles Lakers,0.7431120335451005 +Portland Trail Blazers,Memphis Grizzlies,0.5574945918758645 +Utah Jazz,New York Knicks,0.6381447752380096 +Toronto Raptors,Sacramento Kings,0.8348671614437553 +Chicago Bulls,Orlando Magic,0.692607318715456 +Charlotte Hornets,Indiana Pacers,0.5890167658688972 +Golden State Warriors,New Orleans Pelicans,0.9305139431810429 +Los Angeles Clippers,Detroit Pistons,0.665394489896761 +Oklahoma City Thunder,Miami Heat,0.69357973583372 +Utah Jazz,Philadelphia 76ers,0.9587532147494088 +Washington Wizards,Houston Rockets,0.5513229804516817 +Minnesota Timberwolves,Brooklyn Nets,0.7701253617664123 +Cleveland Cavaliers,Atlanta Hawks,0.7316076415024936 +Dallas Mavericks,Los Angeles Lakers,0.8983348594463225 +Memphis Grizzlies,Denver Nuggets,0.5642524017846442 +Portland Trail Blazers,Phoenix Suns,0.9227105998532737 +Sacramento Kings,New Orleans Pelicans,0.5502636500993806 +Atlanta Hawks,Chicago Bulls,0.6513770754884305 +Charlotte Hornets,Utah Jazz,0.6778805686506906 +Golden State Warriors,Dallas Mavericks,0.8869929996912033 +Indiana Pacers,Philadelphia 76ers,0.9514171990347409 +Los Angeles Clippers,Portland Trail Blazers,0.6817660402765916 +New York Knicks,Brooklyn Nets,0.6920936124037728 +Oklahoma City Thunder,Toronto Raptors,0.6044791660189538 +Orlando Magic,Minnesota Timberwolves,0.5780547388924916 +Detroit Pistons,Phoenix Suns,0.8466578852402803 +San Antonio Spurs,Houston Rockets,0.8469168632827457 +Boston Celtics,Washington Wizards,0.5900496035050935 +Golden State Warriors,Denver Nuggets,0.8862498278577697 +Miami Heat,Chicago Bulls,0.6685380845922825 +New Orleans Pelicans,Milwaukee Bucks,0.5129051176552359 +Sacramento Kings,Los Angeles Lakers,0.8340518092035957 +Boston Celtics,New York Knicks,0.824869717282802 +Toronto Raptors,Charlotte Hornets,0.5327681139234506 +Oklahoma City Thunder,Los Angeles Clippers,0.6384911361926477 +Utah Jazz,Orlando Magic,0.5538925517457819 +Indiana Pacers,Philadelphia 76ers,0.9715351384881646 +Portland Trail Blazers,Sacramento Kings,0.837682303738023 +San Antonio Spurs,Detroit Pistons,0.8082798550853397 +Cleveland Cavaliers,Washington Wizards,0.6998337688195485 +Atlanta Hawks,Philadelphia 76ers,0.9630985581234137 +Chicago Bulls,Washington Wizards,0.5961416330768025 +Detroit Pistons,Denver Nuggets,0.6866953306731447 +San Antonio Spurs,Houston Rockets,0.7757424997465636 +Boston Celtics,Indiana Pacers,0.5409085632121504 +Miami Heat,Utah Jazz,0.6993440619977782 +Memphis Grizzlies,Milwaukee Bucks,0.642784192622768 +Los Angeles Clippers,Minnesota Timberwolves,0.8222317412337778 +New Orleans Pelicans,Los Angeles Lakers,0.7864502838591256 +Phoenix Suns,Brooklyn Nets,0.5036637948564003 +Toronto Raptors,New York Knicks,0.8786655233057723 +Cleveland Cavaliers,Charlotte Hornets,0.7407748163318797 +Golden State Warriors,Phoenix Suns,0.959961011674701 +Minnesota Timberwolves,Los Angeles Lakers,0.7677717390444269 +Oklahoma City Thunder,Orlando Magic,0.8252022362975616 +Portland Trail Blazers,Denver Nuggets,0.822215377724437 +Oklahoma City Thunder,Detroit Pistons,0.6565282138538856 +Houston Rockets,Philadelphia 76ers,0.9333373720198529 +Indiana Pacers,Orlando Magic,0.675462677405449 +Los Angeles Clippers,Brooklyn Nets,0.9176402436395633 +Boston Celtics,New Orleans Pelicans,0.7920742309688482 +Dallas Mavericks,New York Knicks,0.6266254979534505 +San Antonio Spurs,Miami Heat,0.786228782929206 +Utah Jazz,Memphis Grizzlies,0.5759000755010675 +Cleveland Cavaliers,Toronto Raptors,0.682019095590589 +Brooklyn Nets,Los Angeles Lakers,0.7008116520934212 +Miami Heat,Atlanta Hawks,0.5519604943835104 +Charlotte Hornets,Minnesota Timberwolves,0.8004749970712595 +Portland Trail Blazers,Chicago Bulls,0.7633180386982865 +Atlanta Hawks,Milwaukee Bucks,0.7785813478299822 +Boston Celtics,Dallas Mavericks,0.7134885980702428 +Denver Nuggets,Phoenix Suns,0.67426195243232 +Cleveland Cavaliers,Indiana Pacers,0.6561844995155902 +Los Angeles Clippers,Memphis Grizzlies,0.7467593149116336 +Detroit Pistons,New York Knicks,0.7136862592574185 +Oklahoma City Thunder,Houston Rockets,0.7729753509947972 +Orlando Magic,New Orleans Pelicans,0.5908225023820117 +Washington Wizards,Philadelphia 76ers,0.9649891187062362 +San Antonio Spurs,Sacramento Kings,0.8542060260605685 +Golden State Warriors,Toronto Raptors,0.5796463211416227 +Portland Trail Blazers,Houston Rockets,0.5316206473256138 +Miami Heat,Milwaukee Bucks,0.7914851501430366 +Minnesota Timberwolves,Philadelphia 76ers,0.8446605120654371 +Utah Jazz,Chicago Bulls,0.5288251889862404 +Washington Wizards,New York Knicks,0.7245536693900161 +Golden State Warriors,Boston Celtics,0.6795010317114794 +Charlotte Hornets,Atlanta Hawks,0.5270903223652368 +Cleveland Cavaliers,Detroit Pistons,0.7845432293852561 +Dallas Mavericks,Memphis Grizzlies,0.5587374481213283 +Toronto Raptors,Denver Nuggets,0.7881800071385543 +Indiana Pacers,Phoenix Suns,0.8384414477727877 +San Antonio Spurs,Los Angeles Lakers,0.9737719763455626 +Portland Trail Blazers,New Orleans Pelicans,0.724034642359451 +Oklahoma City Thunder,Brooklyn Nets,0.9356388564114775 +Los Angeles Clippers,Sacramento Kings,0.7526308868162708 +Boston Celtics,Detroit Pistons,0.5616258296132322 +Houston Rockets,Utah Jazz,0.5361644284597848 +Los Angeles Clippers,Chicago Bulls,0.7090689039416673 +Memphis Grizzlies,Minnesota Timberwolves,0.6391705982462286 +Golden State Warriors,Milwaukee Bucks,0.9046266719331423 +Charlotte Hornets,New Orleans Pelicans,0.7826841837838852 +Dallas Mavericks,Orlando Magic,0.5416177445109935 +Phoenix Suns,Philadelphia 76ers,0.878665706237008 +Miami Heat,Washington Wizards,0.5503939187043101 +Portland Trail Blazers,Brooklyn Nets,0.882028930597329 +Utah Jazz,Denver Nuggets,0.6079445383505202 +Chicago Bulls,Los Angeles Lakers,0.9145896426571319 +Atlanta Hawks,New York Knicks,0.7690406675112005 +Oklahoma City Thunder,Indiana Pacers,0.7140889041489389 +Toronto Raptors,Sacramento Kings,0.7785697260141985 +Charlotte Hornets,Memphis Grizzlies,0.6882582932776412 +Detroit Pistons,Houston Rockets,0.5799151105484155 +Golden State Warriors,Indiana Pacers,0.7565472954780212 +Los Angeles Clippers,Toronto Raptors,0.5394559852120299 +Orlando Magic,Milwaukee Bucks,0.5945684191249537 +Boston Celtics,Minnesota Timberwolves,0.8092836325399286 +Miami Heat,Philadelphia 76ers,0.9741341375336782 +San Antonio Spurs,Dallas Mavericks,0.8622921525982259 +Washington Wizards,Phoenix Suns,0.8094603577658495 +Atlanta Hawks,New Orleans Pelicans,0.7943700357134191 +Chicago Bulls,Denver Nuggets,0.6413610047984821 +Oklahoma City Thunder,Los Angeles Lakers,0.9634902280593779 +Portland Trail Blazers,New York Knicks,0.6982299864891919 +Boston Celtics,Brooklyn Nets,0.9156527904181759 +San Antonio Spurs,Charlotte Hornets,0.6551800566306909 +Cleveland Cavaliers,Portland Trail Blazers,0.7968648021545789 +Los Angeles Clippers,Dallas Mavericks,0.6324060375159688 +Miami Heat,Detroit Pistons,0.5214505761758803 +Golden State Warriors,Los Angeles Lakers,0.9821456918905238 +Toronto Raptors,Houston Rockets,0.6748927289009368 +Atlanta Hawks,Indiana Pacers,0.5386998459163754 +Minnesota Timberwolves,New Orleans Pelicans,0.5403614035977689 +Orlando Magic,Phoenix Suns,0.7210738746486182 +Memphis Grizzlies,Philadelphia 76ers,0.9568151325643407 +Oklahoma City Thunder,Sacramento Kings,0.8063728147757144 +Utah Jazz,Denver Nuggets,0.6167794489859763 +San Antonio Spurs,Boston Celtics,0.6278728733890596 +Cleveland Cavaliers,Dallas Mavericks,0.8439516757269584 +Oklahoma City Thunder,Denver Nuggets,0.8150630436430326 +Los Angeles Clippers,Detroit Pistons,0.582718315024819 +Indiana Pacers,Brooklyn Nets,0.8650307419281302 +Golden State Warriors,Los Angeles Lakers,0.9790147363638145 +Miami Heat,Memphis Grizzlies,0.6087360042548863 +Toronto Raptors,Milwaukee Bucks,0.819167700408088 +Charlotte Hornets,New York Knicks,0.7605499701863525 +Washington Wizards,Orlando Magic,0.5955141193474442 +Chicago Bulls,Philadelphia 76ers,0.9640376008791884 +Minnesota Timberwolves,Phoenix Suns,0.6966481459706437 +Portland Trail Blazers,New Orleans Pelicans,0.869589125206319 +Houston Rockets,Sacramento Kings,0.6121422354502845 +Atlanta Hawks,Utah Jazz,0.5932836581155427 +Charlotte Hornets,New York Knicks,0.8070430259054339 +Golden State Warriors,Minnesota Timberwolves,0.9270367506372811 +Miami Heat,Memphis Grizzlies,0.7093268057550844 +Oklahoma City Thunder,Detroit Pistons,0.7218062228240218 +San Antonio Spurs,Washington Wizards,0.7513143391646443 +Sacramento Kings,Brooklyn Nets,0.8041903457803431 +Dallas Mavericks,New Orleans Pelicans,0.6839267066343925 +Los Angeles Clippers,Indiana Pacers,0.5622208612244834 +Atlanta Hawks,Los Angeles Lakers,0.9460375330719786 +Orlando Magic,Milwaukee Bucks,0.5679062277917467 +Cleveland Cavaliers,Philadelphia 76ers,0.9862499716834574 +Denver Nuggets,Phoenix Suns,0.7585442163294305 +Portland Trail Blazers,Houston Rockets,0.7754367132277132 +Golden State Warriors,Atlanta Hawks,0.7982274074070118 +Charlotte Hornets,Memphis Grizzlies,0.6336282324996041 +Miami Heat,Boston Celtics,0.549760689910959 +Utah Jazz,Minnesota Timberwolves,0.6901647545548728 +Oklahoma City Thunder,New York Knicks,0.8336737762750189 +Toronto Raptors,Philadelphia 76ers,0.9778431757624951 +Washington Wizards,Sacramento Kings,0.647446121553618 +Los Angeles Clippers,Brooklyn Nets,0.9220746519194348 +Charlotte Hornets,Detroit Pistons,0.5982105214733465 +Cleveland Cavaliers,Milwaukee Bucks,0.8534872120349035 +New Orleans Pelicans,Los Angeles Lakers,0.7864502838591256 +San Antonio Spurs,Orlando Magic,0.8846714827781536 +Utah Jazz,Houston Rockets,0.5458062237875888 +Boston Celtics,Detroit Pistons,0.6263991961477873 +Chicago Bulls,Los Angeles Lakers,0.9280071603628831 +San Antonio Spurs,Dallas Mavericks,0.768139827856392 +Miami Heat,Denver Nuggets,0.7152956702256419 +New York Knicks,Minnesota Timberwolves,0.5284763117149254 +Oklahoma City Thunder,Washington Wizards,0.7556682794468954 +Atlanta Hawks,Phoenix Suns,0.8806050359269868 +Portland Trail Blazers,Indiana Pacers,0.7169549228632791 +Toronto Raptors,Memphis Grizzlies,0.7926432923794707 +Milwaukee Bucks,Brooklyn Nets,0.77738614064479 +Charlotte Hornets,Dallas Mavericks,0.6886043523426272 +Cleveland Cavaliers,Los Angeles Clippers,0.7125341593660648 +Golden State Warriors,Houston Rockets,0.873972520984708 +Memphis Grizzlies,Orlando Magic,0.5727519613234661 +Miami Heat,Utah Jazz,0.5559002917798469 +Atlanta Hawks,Detroit Pistons,0.6038802573333406 +Boston Celtics,Sacramento Kings,0.7668062259442151 +Cleveland Cavaliers,Chicago Bulls,0.6380699609772931 +Houston Rockets,Denver Nuggets,0.625501247777912 +Los Angeles Clippers,New Orleans Pelicans,0.805910508584724 +Minnesota Timberwolves,New York Knicks,0.5090282992624868 +Orlando Magic,Philadelphia 76ers,0.9475259110879476 +San Antonio Spurs,Washington Wizards,0.8340363924813742 +Toronto Raptors,Los Angeles Lakers,0.9640721594321646 +Charlotte Hornets,Minnesota Timberwolves,0.7816405792868943 +Dallas Mavericks,Chicago Bulls,0.5113738645819857 +Golden State Warriors,Phoenix Suns,0.959961011674701 +Memphis Grizzlies,Los Angeles Lakers,0.8846502571417674 +Milwaukee Bucks,Brooklyn Nets,0.6773974242380878 +Boston Celtics,Philadelphia 76ers,0.9779151918064878 +Portland Trail Blazers,Miami Heat,0.6965639820887736 +Toronto Raptors,Atlanta Hawks,0.6586785799507046 +Utah Jazz,Denver Nuggets,0.6167794489859763 +Detroit Pistons,Orlando Magic,0.6568380918875059 +Los Angeles Clippers,Indiana Pacers,0.6568562148674806 +Sacramento Kings,New York Knicks,0.559662113528131 +Oklahoma City Thunder,New Orleans Pelicans,0.8679840452122157 +Oklahoma City Thunder,Atlanta Hawks,0.5687802848125711 +Washington Wizards,Brooklyn Nets,0.8710888354435267 +Chicago Bulls,Portland Trail Blazers,0.5715674164036149 +Charlotte Hornets,Dallas Mavericks,0.5987541945427852 +Golden State Warriors,Indiana Pacers,0.8357152802069171 +Boston Celtics,Houston Rockets,0.622356322402252 +Utah Jazz,Los Angeles Lakers,0.9027720854089509 +San Antonio Spurs,Milwaukee Bucks,0.883020103086792 +Memphis Grizzlies,New Orleans Pelicans,0.6558966184338011 +Denver Nuggets,Philadelphia 76ers,0.9492222305347946 +Toronto Raptors,Cleveland Cavaliers,0.5414506135932451 +Detroit Pistons,Chicago Bulls,0.5631887344038223 +Memphis Grizzlies,Philadelphia 76ers,0.9265439176880996 +Miami Heat,New York Knicks,0.8221580337724813 +San Antonio Spurs,Minnesota Timberwolves,0.8990602374157421 +Utah Jazz,Phoenix Suns,0.8060007067984433 +Washington Wizards,Orlando Magic,0.630142402870544 +Atlanta Hawks,Miami Heat,0.5708032687976801 +Denver Nuggets,Brooklyn Nets,0.8208838019157048 +Charlotte Hornets,Detroit Pistons,0.5982105214733465 +Dallas Mavericks,Sacramento Kings,0.6261251732548709 +Houston Rockets,Los Angeles Lakers,0.894878593287147 +Golden State Warriors,Los Angeles Clippers,0.6412633983972746 +Portland Trail Blazers,Milwaukee Bucks,0.7123800990037856 +Cleveland Cavaliers,New York Knicks,0.84476644565779 +Boston Celtics,Orlando Magic,0.7028451764614108 +Indiana Pacers,Phoenix Suns,0.8515408290487404 +San Antonio Spurs,Chicago Bulls,0.6955349642948577 +Portland Trail Blazers,Memphis Grizzlies,0.5574945918758645 +New Orleans Pelicans,Philadelphia 76ers,0.8582961585483596 +Toronto Raptors,Minnesota Timberwolves,0.861068869924068 +Golden State Warriors,Utah Jazz,0.7951559619465784 +Washington Wizards,Denver Nuggets,0.6220311193381278 +Toronto Raptors,Boston Celtics,0.5031187239815695 +Charlotte Hornets,Orlando Magic,0.730384549178095 +Cleveland Cavaliers,Miami Heat,0.7605707588522127 +Indiana Pacers,Dallas Mavericks,0.5488554611953915 +Phoenix Suns,Los Angeles Lakers,0.7431120335451005 +Atlanta Hawks,Milwaukee Bucks,0.7809122824496479 +Detroit Pistons,Minnesota Timberwolves,0.7589486106567865 +Oklahoma City Thunder,Houston Rockets,0.7729753509947972 +Sacramento Kings,New York Knicks,0.5756202689546583 +Chicago Bulls,Miami Heat,0.5193021508393872 +Cleveland Cavaliers,Charlotte Hornets,0.7407748163318797 +Houston Rockets,Dallas Mavericks,0.5484635235494044 +Indiana Pacers,Portland Trail Blazers,0.5520381856992694 +Los Angeles Clippers,New Orleans Pelicans,0.8344140812303181 +Golden State Warriors,Memphis Grizzlies,0.8283177856452285 +Orlando Magic,Denver Nuggets,0.5003663386715475 +San Antonio Spurs,Brooklyn Nets,0.9593848947129437 +Utah Jazz,Sacramento Kings,0.6423445374547871 +Washington Wizards,Milwaukee Bucks,0.6835266445517905 +Detroit Pistons,Philadelphia 76ers,0.9473957956457268 +New York Knicks,Los Angeles Lakers,0.8236901188533063 +Golden State Warriors,Minnesota Timberwolves,0.9179793327550426 +Oklahoma City Thunder,Boston Celtics,0.6581364526152167 +New Orleans Pelicans,Phoenix Suns,0.6854243362588874 +Dallas Mavericks,Denver Nuggets,0.6001224610550165 +Houston Rockets,Brooklyn Nets,0.8208559148872403 +Charlotte Hornets,Indiana Pacers,0.5269499754611222 +Los Angeles Clippers,Portland Trail Blazers,0.6817660402765916 +Miami Heat,Washington Wizards,0.6623488021178058 +Sacramento Kings,Los Angeles Lakers,0.8340518092035957 +Toronto Raptors,Milwaukee Bucks,0.8560320182323938 +Atlanta Hawks,Orlando Magic,0.7350153341096735 +Chicago Bulls,Minnesota Timberwolves,0.748572857719385 +Cleveland Cavaliers,Memphis Grizzlies,0.843739080498286 +Golden State Warriors,New Orleans Pelicans,0.9094810947100891 +New York Knicks,Phoenix Suns,0.6627850006384427 +Portland Trail Blazers,Oklahoma City Thunder,0.5668432608479947 +Brooklyn Nets,Los Angeles Lakers,0.5637605467588406 +Detroit Pistons,Dallas Mavericks,0.5394019112380164 +Houston Rockets,Sacramento Kings,0.6159613138520657 +Cleveland Cavaliers,Memphis Grizzlies,0.7476741912338607 +Miami Heat,Indiana Pacers,0.6130212413823238 +Los Angeles Clippers,Orlando Magic,0.7205240837461162 +Toronto Raptors,Philadelphia 76ers,0.9823873772272136 +San Antonio Spurs,Boston Celtics,0.7577592088942211 +Oklahoma City Thunder,Utah Jazz,0.6870891092701095 +Charlotte Hornets,Washington Wizards,0.576415092870763 +Portland Trail Blazers,Denver Nuggets,0.6704547911733075 +Golden State Warriors,New York Knicks,0.9368904636673482 +Chicago Bulls,Milwaukee Bucks,0.6852500426161923 +Indiana Pacers,New Orleans Pelicans,0.7459538946303981 +San Antonio Spurs,Phoenix Suns,0.9398301298340116 +Boston Celtics,Charlotte Hornets,0.568187054027381 +Chicago Bulls,Milwaukee Bucks,0.7406857866137775 +Houston Rockets,New Orleans Pelicans,0.6745173503291141 +Memphis Grizzlies,Sacramento Kings,0.5909979465147822 +Miami Heat,Los Angeles Clippers,0.5283506717781481 +Orlando Magic,Brooklyn Nets,0.7614845004422947 +Los Angeles Lakers,Philadelphia 76ers,0.7594011562632295 +Toronto Raptors,Atlanta Hawks,0.6586785799507046 +Utah Jazz,Dallas Mavericks,0.576294077031833 +Detroit Pistons,Washington Wizards,0.5164271476442555 +Atlanta Hawks,Charlotte Hornets,0.5447096530376866 +Cleveland Cavaliers,Los Angeles Lakers,0.9742952105132068 +Denver Nuggets,New York Knicks,0.5617286507378721 +Detroit Pistons,Indiana Pacers,0.5031406890370482 +Golden State Warriors,Portland Trail Blazers,0.8505944568958157 +Houston Rockets,Minnesota Timberwolves,0.7058211919600239 +Oklahoma City Thunder,Phoenix Suns,0.9217004614721095 +Dallas Mavericks,Sacramento Kings,0.6261251732548709 +Memphis Grizzlies,Utah Jazz,0.51013917616139 +Miami Heat,Boston Celtics,0.549760689910959 +Toronto Raptors,Orlando Magic,0.7487055100835798 +Brooklyn Nets,Philadelphia 76ers,0.8543101342335301 +San Antonio Spurs,New Orleans Pelicans,0.9144078692442914 +Los Angeles Clippers,Washington Wizards,0.6107224030913136 +Chicago Bulls,Detroit Pistons,0.5532416785743169 +Dallas Mavericks,Denver Nuggets,0.5960724028284132 +Indiana Pacers,Washington Wizards,0.5769033775181261 +Minnesota Timberwolves,Phoenix Suns,0.5903266410874655 +Oklahoma City Thunder,Atlanta Hawks,0.6601340944937261 +Charlotte Hornets,Los Angeles Lakers,0.9393865417382348 +Golden State Warriors,Utah Jazz,0.881929839060726 +San Antonio Spurs,Houston Rockets,0.7757424997465636 +Los Angeles Clippers,Denver Nuggets,0.7775314467152526 +Boston Celtics,Memphis Grizzlies,0.6465503870392937 +Miami Heat,Orlando Magic,0.7496416578736835 +Cleveland Cavaliers,Milwaukee Bucks,0.8534872120349035 +Indiana Pacers,New York Knicks,0.7214102060867198 +New Orleans Pelicans,Philadelphia 76ers,0.9283943796481311 +Portland Trail Blazers,Sacramento Kings,0.6578221224628873 +Toronto Raptors,Brooklyn Nets,0.9352474880520673 +Atlanta Hawks,Minnesota Timberwolves,0.7856493769740942 +Chicago Bulls,Washington Wizards,0.5961416330768025 +Cleveland Cavaliers,Milwaukee Bucks,0.8936045207332446 +Detroit Pistons,Memphis Grizzlies,0.6093664507620966 +Oklahoma City Thunder,New Orleans Pelicans,0.8503783565908092 +Houston Rockets,Phoenix Suns,0.8079703336023722 +Portland Trail Blazers,Dallas Mavericks,0.7962642290299232 +Utah Jazz,Sacramento Kings,0.6423445374547871 +Golden State Warriors,Brooklyn Nets,0.9662530927028656 +Boston Celtics,Indiana Pacers,0.5409085632121504 +San Antonio Spurs,Los Angeles Clippers,0.5872174753740129 +Miami Heat,Los Angeles Lakers,0.9448431322871262 +Orlando Magic,New York Knicks,0.5780552884369909 +Oklahoma City Thunder,Boston Celtics,0.5453093265348623 +Charlotte Hornets,Chicago Bulls,0.6459886347594599 +Cleveland Cavaliers,Brooklyn Nets,0.9532749103283319 +Atlanta Hawks,Denver Nuggets,0.7454065040885878 +Golden State Warriors,Detroit Pistons,0.7716417174881048 +Los Angeles Clippers,Dallas Mavericks,0.7470642988864873 +Houston Rockets,Memphis Grizzlies,0.5084297621871419 +Washington Wizards,Milwaukee Bucks,0.6912152403146272 +Sacramento Kings,Minnesota Timberwolves,0.6161786086748275 +Miami Heat,New Orleans Pelicans,0.7641496136178543 +Orlando Magic,Los Angeles Lakers,0.8557277919949441 +Phoenix Suns,Philadelphia 76ers,0.7561378350127939 +San Antonio Spurs,Portland Trail Blazers,0.5180878888323307 +Toronto Raptors,Utah Jazz,0.6496007528840624 +Cleveland Cavaliers,Golden State Warriors,0.5060151317829639 +Los Angeles Clippers,Los Angeles Lakers,0.9506901392566504 +Boston Celtics,New York Knicks,0.7706161235260826 +Oklahoma City Thunder,Minnesota Timberwolves,0.8618423484130558 +San Antonio Spurs,Chicago Bulls,0.8378490209768296 +Charlotte Hornets,Brooklyn Nets,0.9112180730690862 +Chicago Bulls,Indiana Pacers,0.5438036453214102 +Cleveland Cavaliers,Detroit Pistons,0.674826996698044 +Houston Rockets,Phoenix Suns,0.787699889257856 +Los Angeles Clippers,Denver Nuggets,0.7775314467152526 +Atlanta Hawks,Minnesota Timberwolves,0.8079075524135518 +Dallas Mavericks,New Orleans Pelicans,0.6555323937819689 +Memphis Grizzlies,Orlando Magic,0.5420182673434084 +Portland Trail Blazers,Toronto Raptors,0.6078405271852036 +Sacramento Kings,Philadelphia 76ers,0.8920804235457511 +Washington Wizards,Milwaukee Bucks,0.6835266445517905 +Boston Celtics,Memphis Grizzlies,0.7131586737602972 +Dallas Mavericks,Houston Rockets,0.5284229857234188 +Utah Jazz,Los Angeles Lakers,0.9027720854089509 +Oklahoma City Thunder,Miami Heat,0.5499314762976709 +Atlanta Hawks,New York Knicks,0.8106984118491968 +Chicago Bulls,Brooklyn Nets,0.8740285590551515 +Denver Nuggets,Minnesota Timberwolves,0.5231143906282506 +Detroit Pistons,Milwaukee Bucks,0.7081537265549922 +Golden State Warriors,Toronto Raptors,0.7568569186207694 +Los Angeles Clippers,New Orleans Pelicans,0.805910508584724 +Charlotte Hornets,Orlando Magic,0.6909975274944149 +Portland Trail Blazers,Sacramento Kings,0.837682303738023 +San Antonio Spurs,Phoenix Suns,0.95031599020266 +Indiana Pacers,Washington Wizards,0.5259378176663204 +Charlotte Hornets,Miami Heat,0.5650011313292498 +Cleveland Cavaliers,Boston Celtics,0.7298581867315248 +Dallas Mavericks,Los Angeles Lakers,0.8983348594463225 +Oklahoma City Thunder,Memphis Grizzlies,0.7318458424793735 +Toronto Raptors,Phoenix Suns,0.9036017167189094 +Utah Jazz,Philadelphia 76ers,0.9400395103271514 +Atlanta Hawks,Detroit Pistons,0.6038802573333406 +Boston Celtics,Miami Heat,0.5939381829682465 +Denver Nuggets,Philadelphia 76ers,0.8865053165439156 +Golden State Warriors,Dallas Mavericks,0.8869929996912033 +Los Angeles Clippers,Houston Rockets,0.6423873548177825 +Indiana Pacers,Chicago Bulls,0.5836744284667654 +Milwaukee Bucks,Minnesota Timberwolves,0.5771696211426716 +New York Knicks,New Orleans Pelicans,0.5015351211028908 +San Antonio Spurs,Portland Trail Blazers,0.8195561866572759 +Washington Wizards,Brooklyn Nets,0.839908633574516 +Chicago Bulls,Milwaukee Bucks,0.7406857866137775 +Cleveland Cavaliers,Charlotte Hornets,0.5945385343354597 +Houston Rockets,New York Knicks,0.6967294326238203 +Oklahoma City Thunder,Los Angeles Clippers,0.6384911361926477 +Memphis Grizzlies,Sacramento Kings,0.5827568768390616 +Utah Jazz,Phoenix Suns,0.8060007067984433 +San Antonio Spurs,Atlanta Hawks,0.6498187958036055 +Indiana Pacers,Orlando Magic,0.675462677405449 +Toronto Raptors,Los Angeles Lakers,0.9570459965730215 +Miami Heat,Detroit Pistons,0.6220226006103141 +Portland Trail Blazers,Minnesota Timberwolves,0.7450629454479258 +Utah Jazz,Brooklyn Nets,0.8507153953965613 +Charlotte Hornets,Chicago Bulls,0.5071406794950746 +Cleveland Cavaliers,New Orleans Pelicans,0.9022213053303488 +Golden State Warriors,Denver Nuggets,0.9027981900447736 +Washington Wizards,Houston Rockets,0.5063713108528505 +Los Angeles Clippers,Phoenix Suns,0.90021965786247 +Oklahoma City Thunder,Milwaukee Bucks,0.8429018223120504 +Orlando Magic,New York Knicks,0.5780552884369909 +Boston Celtics,Utah Jazz,0.7032524749493632 +Dallas Mavericks,Washington Wizards,0.5044253257503879 +Sacramento Kings,Denver Nuggets,0.5277589880138731 +Detroit Pistons,Indiana Pacers,0.5031406890370482 +Memphis Grizzlies,Los Angeles Lakers,0.8984821134322052 +Minnesota Timberwolves,Philadelphia 76ers,0.9318116310195025 +Miami Heat,Phoenix Suns,0.8635572868574253 +San Antonio Spurs,Toronto Raptors,0.7129175998864732 +Oklahoma City Thunder,Charlotte Hornets,0.5745699702381706 +Cleveland Cavaliers,Chicago Bulls,0.8169442060842229 +Golden State Warriors,Portland Trail Blazers,0.8505944568958157 +Los Angeles Clippers,Memphis Grizzlies,0.7467593149116336 +Milwaukee Bucks,New York Knicks,0.5193893757694541 +Atlanta Hawks,Orlando Magic,0.7009848656312021 +Miami Heat,Sacramento Kings,0.7036220610320252 +Dallas Mavericks,Phoenix Suns,0.7948324970635221 +San Antonio Spurs,Denver Nuggets,0.8611191846346555 +Charlotte Hornets,Detroit Pistons,0.5477705113528506 +Oklahoma City Thunder,Houston Rockets,0.7108794967217815 +Indiana Pacers,Brooklyn Nets,0.8650307419281302 +Atlanta Hawks,New Orleans Pelicans,0.7906061075379057 +Portland Trail Blazers,Los Angeles Lakers,0.9647775763647866 +Toronto Raptors,Utah Jazz,0.7846532348415816 +Boston Celtics,Philadelphia 76ers,0.9663348016704397 +Cleveland Cavaliers,Brooklyn Nets,0.9461924140437734 +Golden State Warriors,Memphis Grizzlies,0.8868311795635295 +Miami Heat,Los Angeles Lakers,0.9376712552914026 +Milwaukee Bucks,New York Knicks,0.5128600627267141 +Houston Rockets,Orlando Magic,0.5721663671164672 +Los Angeles Clippers,Sacramento Kings,0.7526308868162708 +Washington Wizards,Minnesota Timberwolves,0.692430304746974 +Boston Celtics,New Orleans Pelicans,0.8094764311634105 +Toronto Raptors,Chicago Bulls,0.578226666664924 +Atlanta Hawks,Dallas Mavericks,0.6100404081637408 +Indiana Pacers,New York Knicks,0.7626625362601138 +Utah Jazz,Minnesota Timberwolves,0.6901647545548728 +Oklahoma City Thunder,Denver Nuggets,0.8201478208741535 +San Antonio Spurs,Charlotte Hornets,0.7679068801587653 +Brooklyn Nets,Philadelphia 76ers,0.6800471337206065 +Los Angeles Clippers,Miami Heat,0.6343438302001299 +Orlando Magic,Los Angeles Lakers,0.8782419790448615 +Memphis Grizzlies,Utah Jazz,0.51013917616139 +Washington Wizards,Milwaukee Bucks,0.6912152403146272 +Cleveland Cavaliers,Phoenix Suns,0.9233953285217892 +Portland Trail Blazers,Detroit Pistons,0.7246247142237042 +Golden State Warriors,Sacramento Kings,0.8804138910700824 +Toronto Raptors,Houston Rockets,0.7718360630850073 +Oklahoma City Thunder,Chicago Bulls,0.6188709415636162 +Dallas Mavericks,Minnesota Timberwolves,0.6794696943721221 +New York Knicks,New Orleans Pelicans,0.5041140317433757 +Atlanta Hawks,Brooklyn Nets,0.9149635533873091 +Golden State Warriors,Miami Heat,0.8217529126468895 +Charlotte Hornets,Houston Rockets,0.6090844370504294 +Portland Trail Blazers,Los Angeles Lakers,0.9241400427394095 +Detroit Pistons,Sacramento Kings,0.6743828652184481 +San Antonio Spurs,Milwaukee Bucks,0.9067540362880537 +Toronto Raptors,Boston Celtics,0.6566768323026223 +Cleveland Cavaliers,Utah Jazz,0.7044925767692124 +Washington Wizards,Chicago Bulls,0.5343722444953217 +Boston Celtics,Washington Wizards,0.666508804452891 +Los Angeles Clippers,Orlando Magic,0.7834673162612331 +Houston Rockets,Minnesota Timberwolves,0.7058211919600239 +Oklahoma City Thunder,Memphis Grizzlies,0.7937064529005851 +New York Knicks,Philadelphia 76ers,0.9212315962024815 +Portland Trail Blazers,Cleveland Cavaliers,0.5465510153476122 +New Orleans Pelicans,Brooklyn Nets,0.760686258207887 +Indiana Pacers,Denver Nuggets,0.694836073344844 +Golden State Warriors,Detroit Pistons,0.8408811875219446 +Chicago Bulls,New York Knicks,0.670382780615068 +Dallas Mavericks,Phoenix Suns,0.7880209304518935 +San Antonio Spurs,Los Angeles Lakers,0.9777207261443515 +Atlanta Hawks,Boston Celtics,0.5307663794727151 +Houston Rockets,Memphis Grizzlies,0.5480639375116193 +Miami Heat,Milwaukee Bucks,0.7536126929065275 +Oklahoma City Thunder,Minnesota Timberwolves,0.8635931477335815 +Charlotte Hornets,Philadelphia 76ers,0.9766706351774015 +Portland Trail Blazers,Orlando Magic,0.8272239288976616 +Cleveland Cavaliers,Sacramento Kings,0.8188906997725101 +Toronto Raptors,Brooklyn Nets,0.9352474880520673 +Detroit Pistons,Utah Jazz,0.5219882280540216 +Chicago Bulls,New Orleans Pelicans,0.7583379565028897 +Los Angeles Clippers,Los Angeles Lakers,0.9539166002352777 +San Antonio Spurs,Phoenix Suns,0.9398301298340116 +Utah Jazz,Orlando Magic,0.6249354788155909 +Washington Wizards,Philadelphia 76ers,0.9412829419654891 +Atlanta Hawks,Milwaukee Bucks,0.7785813478299822 +Houston Rockets,Brooklyn Nets,0.8599057722293095 +Dallas Mavericks,Minnesota Timberwolves,0.6724535164702867 +Detroit Pistons,Los Angeles Lakers,0.9291987853493926 +Chicago Bulls,Memphis Grizzlies,0.5254862878469151 +Oklahoma City Thunder,Sacramento Kings,0.8063728147757144 +Toronto Raptors,New York Knicks,0.8786655233057723 +Boston Celtics,Charlotte Hornets,0.568187054027381 +Orlando Magic,Denver Nuggets,0.546404718852969 +Golden State Warriors,Cleveland Cavaliers,0.7076556139235286 +Indiana Pacers,New Orleans Pelicans,0.7435017134170783 +Oklahoma City Thunder,Los Angeles Clippers,0.5027769796823538 +Milwaukee Bucks,Philadelphia 76ers,0.8651572571727271 +Atlanta Hawks,New York Knicks,0.7690406675112005 +Utah Jazz,Phoenix Suns,0.7961804739547784 +Washington Wizards,Portland Trail Blazers,0.5021848961939593 +Toronto Raptors,Brooklyn Nets,0.9318545523726081 +Chicago Bulls,Dallas Mavericks,0.6477959997787966 +Denver Nuggets,Los Angeles Lakers,0.881898863148626 +Miami Heat,Houston Rockets,0.6834974840551156 +San Antonio Spurs,Minnesota Timberwolves,0.9102024821772375 +Boston Celtics,New York Knicks,0.824869717282802 +Charlotte Hornets,Portland Trail Blazers,0.6159720746091635 +Atlanta Hawks,Detroit Pistons,0.5594356025196464 +Golden State Warriors,Oklahoma City Thunder,0.724374076778863 +Houston Rockets,Milwaukee Bucks,0.6535397646128213 +Orlando Magic,New Orleans Pelicans,0.6083723906462333 +Toronto Raptors,Philadelphia 76ers,0.9823873772272136 +Indiana Pacers,Sacramento Kings,0.6826957013784596 +Washington Wizards,Memphis Grizzlies,0.5813316875836788 +Cleveland Cavaliers,Phoenix Suns,0.9429228802196592 +Los Angeles Clippers,Minnesota Timberwolves,0.827021867477919 +Miami Heat,Dallas Mavericks,0.7096593431314695 +Washington Wizards,New York Knicks,0.6764967244669957 +San Antonio Spurs,Denver Nuggets,0.8810888742775865 +Atlanta Hawks,Chicago Bulls,0.6513770754884305 +Toronto Raptors,Charlotte Hornets,0.5327681139234506 +Dallas Mavericks,Utah Jazz,0.5468866274870011 +Golden State Warriors,Houston Rockets,0.8129666587642488 +Indiana Pacers,Los Angeles Lakers,0.9316654807001815 +Memphis Grizzlies,Sacramento Kings,0.5909979465147822 +New Orleans Pelicans,Brooklyn Nets,0.6646854524660385 +Orlando Magic,Milwaukee Bucks,0.5679062277917467 +Portland Trail Blazers,Philadelphia 76ers,0.9682507783120081 +Atlanta Hawks,Philadelphia 76ers,0.9630985581234137 +Boston Celtics,Portland Trail Blazers,0.6436569234796641 +Chicago Bulls,Sacramento Kings,0.7083412528159343 +Charlotte Hornets,Brooklyn Nets,0.892955789487726 +Cleveland Cavaliers,San Antonio Spurs,0.5627767802077378 +Los Angeles Clippers,Denver Nuggets,0.7630242837132536 +Detroit Pistons,Washington Wizards,0.5563377609924854 +Houston Rockets,Memphis Grizzlies,0.5084297621871419 +Miami Heat,Milwaukee Bucks,0.7914851501430366 +New York Knicks,Phoenix Suns,0.6454010633231948 +Indiana Pacers,Utah Jazz,0.5314887501115197 +Dallas Mavericks,Los Angeles Lakers,0.8988726279374206 +Denver Nuggets,Minnesota Timberwolves,0.6417604989251788 +Golden State Warriors,Orlando Magic,0.861848054169918 +Toronto Raptors,Phoenix Suns,0.9212314716932575 +Atlanta Hawks,Los Angeles Clippers,0.5092593944871583 +San Antonio Spurs,Brooklyn Nets,0.9579589944627641 +Charlotte Hornets,Washington Wizards,0.6396052774245168 +Detroit Pistons,Sacramento Kings,0.6735399071295384 +Indiana Pacers,New York Knicks,0.7626625362601138 +Golden State Warriors,Miami Heat,0.6835506747278112 +Houston Rockets,Milwaukee Bucks,0.6703335245084918 +Cleveland Cavaliers,New Orleans Pelicans,0.8605433205941222 +Oklahoma City Thunder,Utah Jazz,0.6870891092701095 +Utah Jazz,Denver Nuggets,0.6079445383505202 +Chicago Bulls,Orlando Magic,0.5887999690619977 +Los Angeles Clippers,Philadelphia 76ers,0.9797017272536213 +Minnesota Timberwolves,Phoenix Suns,0.6966481459706437 +San Antonio Spurs,Toronto Raptors,0.523219327990091 +Boston Celtics,Washington Wizards,0.5900496035050935 +Boston Celtics,Houston Rockets,0.6875198520312162 +Miami Heat,Brooklyn Nets,0.9022772528767836 +Atlanta Hawks,Chicago Bulls,0.5189333930570054 +Golden State Warriors,Charlotte Hornets,0.7048008837705897 +Cleveland Cavaliers,Sacramento Kings,0.8771706708275222 +Dallas Mavericks,New York Knicks,0.7057767562157982 +Toronto Raptors,Memphis Grizzlies,0.6973577353507303 +Milwaukee Bucks,Philadelphia 76ers,0.8651572571727271 +Oklahoma City Thunder,New Orleans Pelicans,0.8503783565908092 +Portland Trail Blazers,Los Angeles Lakers,0.9647775763647866 +Denver Nuggets,Phoenix Suns,0.67426195243232 +Indiana Pacers,Minnesota Timberwolves,0.7658521110665237 +Oklahoma City Thunder,Dallas Mavericks,0.793970496452267 +Utah Jazz,Los Angeles Lakers,0.9050539698282559 +Atlanta Hawks,Washington Wizards,0.645037490735184 +Boston Celtics,Orlando Magic,0.7531270343300652 +Chicago Bulls,Miami Heat,0.5193021508393872 +Cleveland Cavaliers,Brooklyn Nets,0.9532749103283319 +Indiana Pacers,Sacramento Kings,0.6916835175429246 +San Antonio Spurs,New Orleans Pelicans,0.8888391437216197 +Charlotte Hornets,New York Knicks,0.7605499701863525 +Houston Rockets,Philadelphia 76ers,0.9615927595352421 +Portland Trail Blazers,Memphis Grizzlies,0.796002369799972 +Toronto Raptors,Milwaukee Bucks,0.8560320182323938 +Charlotte Hornets,Sacramento Kings,0.7448970514344154 +Golden State Warriors,Los Angeles Clippers,0.7824806928354034 +Miami Heat,Detroit Pistons,0.6220226006103141 +Boston Celtics,Milwaukee Bucks,0.7824296682516023 +Minnesota Timberwolves,Brooklyn Nets,0.6402286639585565 +Denver Nuggets,Phoenix Suns,0.7585442163294305 +Utah Jazz,Memphis Grizzlies,0.5759000755010675 +Atlanta Hawks,New York Knicks,0.8106984118491968 +Chicago Bulls,Philadelphia 76ers,0.9549558892016753 +Cleveland Cavaliers,Oklahoma City Thunder,0.6442378330211438 +Indiana Pacers,Houston Rockets,0.600173265638124 +Washington Wizards,New Orleans Pelicans,0.7033702934777505 +Golden State Warriors,Portland Trail Blazers,0.5746284548698412 +San Antonio Spurs,Dallas Mavericks,0.8622921525982259 +Toronto Raptors,Orlando Magic,0.8242654546368156 +Boston Celtics,Detroit Pistons,0.6263991961477873 +Cleveland Cavaliers,Dallas Mavericks,0.7188388636051233 +Miami Heat,Brooklyn Nets,0.9021568487202618 +Orlando Magic,Minnesota Timberwolves,0.6337559211688705 +Sacramento Kings,Philadelphia 76ers,0.9436689981206002 +Memphis Grizzlies,Phoenix Suns,0.7882903100667067 +Houston Rockets,Sacramento Kings,0.6159613138520657 +Denver Nuggets,Los Angeles Lakers,0.881898863148626 +Portland Trail Blazers,Charlotte Hornets,0.6737460568747573 +San Antonio Spurs,Oklahoma City Thunder,0.6770692742700588 +Toronto Raptors,New Orleans Pelicans,0.8672396544791928 +Washington Wizards,New York Knicks,0.7245536693900161 +Toronto Raptors,Boston Celtics,0.5031187239815695 +New York Knicks,Brooklyn Nets,0.7414199808621746 +Cleveland Cavaliers,Minnesota Timberwolves,0.8974842854269809 +Dallas Mavericks,Philadelphia 76ers,0.9359747298795509 +Memphis Grizzlies,Denver Nuggets,0.5964607954647576 +Detroit Pistons,New Orleans Pelicans,0.7272048189487552 +Golden State Warriors,Charlotte Hornets,0.8057233679441533 +Miami Heat,Atlanta Hawks,0.5519604943835104 +Oklahoma City Thunder,Chicago Bulls,0.7607648276420467 +Indiana Pacers,Orlando Magic,0.6457838180612443 +Los Angeles Clippers,Phoenix Suns,0.8902446779003392 +Utah Jazz,Milwaukee Bucks,0.6786880539772463 +Atlanta Hawks,Houston Rockets,0.6202643635550812 +Golden State Warriors,Los Angeles Clippers,0.6412633983972746 +San Antonio Spurs,Philadelphia 76ers,0.9863344491685189 +Washington Wizards,Los Angeles Lakers,0.906951100463997 +Boston Celtics,Los Angeles Lakers,0.9458074534908282 +Indiana Pacers,Brooklyn Nets,0.8932493059410368 +Denver Nuggets,Milwaukee Bucks,0.5127582845726911 +Detroit Pistons,Minnesota Timberwolves,0.7166517450769262 +Houston Rockets,Chicago Bulls,0.5005787297303419 +Oklahoma City Thunder,Memphis Grizzlies,0.7937064529005851 +Toronto Raptors,Orlando Magic,0.7487055100835798 +Portland Trail Blazers,Dallas Mavericks,0.7962642290299232 +Sacramento Kings,Phoenix Suns,0.6865768650462503 +Atlanta Hawks,Orlando Magic,0.7350153341096735 +Indiana Pacers,Detroit Pistons,0.5335588066627329 +Miami Heat,Philadelphia 76ers,0.9657225133434763 +Memphis Grizzlies,Minnesota Timberwolves,0.6798209709660259 +Cleveland Cavaliers,New York Knicks,0.84476644565779 +Milwaukee Bucks,Phoenix Suns,0.7053417854206088 +Golden State Warriors,Sacramento Kings,0.8804138910700824 +San Antonio Spurs,Denver Nuggets,0.8810888742775865 +Charlotte Hornets,Utah Jazz,0.5818448982335008 +Washington Wizards,New Orleans Pelicans,0.7035122731738267 +Boston Celtics,Los Angeles Clippers,0.5329975773140343 +Toronto Raptors,Brooklyn Nets,0.9318545523726081 +Oklahoma City Thunder,Portland Trail Blazers,0.7365106391984931 +Atlanta Hawks,Utah Jazz,0.6830217734869102 +Dallas Mavericks,Denver Nuggets,0.5960724028284132 +Detroit Pistons,Philadelphia 76ers,0.9473957956457268 +Oklahoma City Thunder,Indiana Pacers,0.6374003272962141 +San Antonio Spurs,Memphis Grizzlies,0.7933723357353494 +Miami Heat,Minnesota Timberwolves,0.783037165168968 +New Orleans Pelicans,Phoenix Suns,0.616141817873113 +New York Knicks,Los Angeles Lakers,0.8067985183520258 +Chicago Bulls,Sacramento Kings,0.6282314851425062 +Toronto Raptors,Los Angeles Clippers,0.6369939023524225 +Cleveland Cavaliers,Washington Wizards,0.6998337688195485 +Charlotte Hornets,Brooklyn Nets,0.892955789487726 +Portland Trail Blazers,Dallas Mavericks,0.5208537025596347 +Houston Rockets,Orlando Magic,0.5980715997709747 +Atlanta Hawks,Denver Nuggets,0.7282120046402423 +Washington Wizards,Brooklyn Nets,0.8710888354435267 +Detroit Pistons,Los Angeles Lakers,0.9163203941778426 +Golden State Warriors,Chicago Bulls,0.8662542245482807 +Cleveland Cavaliers,Indiana Pacers,0.6561844995155902 +Memphis Grizzlies,Phoenix Suns,0.7697265445039138 +Miami Heat,Milwaukee Bucks,0.7536126929065275 +Toronto Raptors,Minnesota Timberwolves,0.842400557815895 +Utah Jazz,New Orleans Pelicans,0.6666342960052667 +Los Angeles Clippers,New York Knicks,0.7854936139184838 +San Antonio Spurs,Philadelphia 76ers,0.9893553587703356 +Boston Celtics,Sacramento Kings,0.7362394908484111 +Charlotte Hornets,Houston Rockets,0.6614503641565681 +Dallas Mavericks,Utah Jazz,0.5468866274870011 +Oklahoma City Thunder,Cleveland Cavaliers,0.5430592361812023 +Orlando Magic,Philadelphia 76ers,0.9070217296173135 +Portland Trail Blazers,Boston Celtics,0.6612973159259319 +Miami Heat,Brooklyn Nets,0.9022772528767836 +San Antonio Spurs,Detroit Pistons,0.7289352176897893 +Golden State Warriors,Memphis Grizzlies,0.8283177856452285 +Milwaukee Bucks,Los Angeles Lakers,0.7959630958666768 +New Orleans Pelicans,Minnesota Timberwolves,0.5540658328613459 +Denver Nuggets,New York Knicks,0.586482924118968 +Chicago Bulls,Phoenix Suns,0.8183467960155119 +Atlanta Hawks,Sacramento Kings,0.7345092715839344 +Indiana Pacers,Washington Wizards,0.5259378176663204 +Charlotte Hornets,Los Angeles Clippers,0.5033491745004646 +Cleveland Cavaliers,Denver Nuggets,0.8648594769274954 +Dallas Mavericks,Orlando Magic,0.6084079225748824 +Houston Rockets,Phoenix Suns,0.787699889257856 +Indiana Pacers,Milwaukee Bucks,0.7251585974045648 +Golden State Warriors,Oklahoma City Thunder,0.5780664269267013 +Miami Heat,Philadelphia 76ers,0.9741341375336782 +Boston Celtics,Utah Jazz,0.5954273039977191 +Chicago Bulls,Minnesota Timberwolves,0.7198031741570186 +San Antonio Spurs,New York Knicks,0.8758013974502015 +Sacramento Kings,New Orleans Pelicans,0.5502636500993806 +Toronto Raptors,Detroit Pistons,0.7205030001905396 +Memphis Grizzlies,Brooklyn Nets,0.8445241057613018 +Charlotte Hornets,Philadelphia 76ers,0.9622489609127842 +Boston Celtics,Dallas Mavericks,0.6121534719133737 +Golden State Warriors,Denver Nuggets,0.8862498278577697 +San Antonio Spurs,Indiana Pacers,0.7120712339591921 +Miami Heat,Orlando Magic,0.7496416578736835 +Detroit Pistons,Milwaukee Bucks,0.7273945808620585 +New Orleans Pelicans,Phoenix Suns,0.6854243362588874 +Portland Trail Blazers,Atlanta Hawks,0.6632859373018714 +Los Angeles Clippers,Utah Jazz,0.6160054015646187 +Oklahoma City Thunder,Washington Wizards,0.682279667989691 +Toronto Raptors,Chicago Bulls,0.578226666664924 +Sacramento Kings,Los Angeles Lakers,0.8699913368583889 +Cleveland Cavaliers,Minnesota Timberwolves,0.8729944136784697 +Boston Celtics,Philadelphia 76ers,0.9663348016704397 +Milwaukee Bucks,Brooklyn Nets,0.77738614064479 +Cleveland Cavaliers,Indiana Pacers,0.7780310877942109 +Denver Nuggets,Minnesota Timberwolves,0.5231143906282506 +Detroit Pistons,Dallas Mavericks,0.6097504295315014 +Golden State Warriors,Sacramento Kings,0.9120048472276371 +Miami Heat,Houston Rockets,0.5836204588404836 +Los Angeles Clippers,Atlanta Hawks,0.5981784095118714 +Memphis Grizzlies,New Orleans Pelicans,0.6512049104129524 +Oklahoma City Thunder,New York Knicks,0.8793547612563638 +San Antonio Spurs,Orlando Magic,0.8323462017993584 +Phoenix Suns,Los Angeles Lakers,0.6534118384589391 +Toronto Raptors,Charlotte Hornets,0.6692104481235245 +Portland Trail Blazers,Utah Jazz,0.5033843953011446 +Boston Celtics,Chicago Bulls,0.5211526256247747 +Indiana Pacers,Washington Wizards,0.5769033775181261 +Cleveland Cavaliers,New York Knicks,0.910945673538786 +Charlotte Hornets,Detroit Pistons,0.5477705113528506 +Golden State Warriors,Los Angeles Clippers,0.7824806928354034 +Houston Rockets,New Orleans Pelicans,0.6829335143262467 +Portland Trail Blazers,Orlando Magic,0.6196288684083593 +Denver Nuggets,Sacramento Kings,0.5409493841058887 +Atlanta Hawks,Miami Heat,0.5708032687976801 +Chicago Bulls,Phoenix Suns,0.8489022335176754 +Denver Nuggets,Brooklyn Nets,0.7188099167347658 +Indiana Pacers,Memphis Grizzlies,0.6291126794856442 +San Antonio Spurs,Los Angeles Clippers,0.5872174753740129 +Utah Jazz,Milwaukee Bucks,0.6537150164720994 +Dallas Mavericks,Minnesota Timberwolves,0.6794696943721221 +Oklahoma City Thunder,Los Angeles Lakers,0.9642959605770868 +Washington Wizards,Philadelphia 76ers,0.9649891187062362 +Toronto Raptors,Boston Celtics,0.6566768323026223 +Cleveland Cavaliers,Chicago Bulls,0.8169442060842229 +Dallas Mavericks,New Orleans Pelicans,0.6839267066343925 +Golden State Warriors,Brooklyn Nets,0.967329917894421 +Houston Rockets,Minnesota Timberwolves,0.6628709701215469 +Miami Heat,Indiana Pacers,0.6130212413823238 +New York Knicks,Philadelphia 76ers,0.8729048451096209 +Atlanta Hawks,Orlando Magic,0.7009848656312021 +Charlotte Hornets,Sacramento Kings,0.7252027182087954 +Memphis Grizzlies,Denver Nuggets,0.5964607954647576 +Boston Celtics,Detroit Pistons,0.5616258296132322 +Los Angeles Clippers,Charlotte Hornets,0.6094702553745488 +San Antonio Spurs,Los Angeles Lakers,0.9737719763455626 +Milwaukee Bucks,Phoenix Suns,0.6296687695679322 +Oklahoma City Thunder,New Orleans Pelicans,0.8679840452122157 +Toronto Raptors,Portland Trail Blazers,0.735251034889827 +Washington Wizards,Utah Jazz,0.5696202671112416 +Boston Celtics,Atlanta Hawks,0.5565700122350405 +Cleveland Cavaliers,Milwaukee Bucks,0.8936045207332446 +Miami Heat,Dallas Mavericks,0.5730889545797486 +Indiana Pacers,Houston Rockets,0.5595253020945163 +Toronto Raptors,New York Knicks,0.8088616394029131 +Golden State Warriors,Philadelphia 76ers,0.9915102901105846 +Sacramento Kings,Minnesota Timberwolves,0.5372216083882487 +Chicago Bulls,Denver Nuggets,0.6851815383086881 +Detroit Pistons,Portland Trail Blazers,0.5312459926537206 +Charlotte Hornets,Los Angeles Lakers,0.9435763216623784 +Memphis Grizzlies,Phoenix Suns,0.7697265445039138 +Oklahoma City Thunder,Utah Jazz,0.785746288626296 +Golden State Warriors,Washington Wizards,0.7915034833695422 +Atlanta Hawks,Dallas Mavericks,0.6936517492730055 +Cleveland Cavaliers,Boston Celtics,0.5656129755096008 +Los Angeles Clippers,Houston Rockets,0.7229571141818244 +Miami Heat,Philadelphia 76ers,0.9657225133434763 +Denver Nuggets,Milwaukee Bucks,0.6028928109381392 +Detroit Pistons,New Orleans Pelicans,0.7386639175230978 +Orlando Magic,New York Knicks,0.6154902912454222 +Sacramento Kings,Brooklyn Nets,0.7301147669610306 +San Antonio Spurs,Indiana Pacers,0.8023043634759114 +Toronto Raptors,Washington Wizards,0.7544697268953504 +Utah Jazz,Minnesota Timberwolves,0.6876656395909585 +Golden State Warriors,Chicago Bulls,0.7416385728066474 +Charlotte Hornets,Phoenix Suns,0.875552050232863 +Portland Trail Blazers,Oklahoma City Thunder,0.5668432608479947 +Cleveland Cavaliers,Atlanta Hawks,0.5888261298550048 +Dallas Mavericks,Memphis Grizzlies,0.5587374481213283 +Boston Celtics,Los Angeles Lakers,0.9464896391391602 +Los Angeles Clippers,Milwaukee Bucks,0.7967430444776802 +San Antonio Spurs,New Orleans Pelicans,0.8888391437216197 +Miami Heat,Orlando Magic,0.6679605471462637 +New York Knicks,Philadelphia 76ers,0.9212315962024815 +Oklahoma City Thunder,Phoenix Suns,0.9173717449391703 +Utah Jazz,Brooklyn Nets,0.836890433445673 +Toronto Raptors,Washington Wizards,0.6445132283306332 +Los Angeles Clippers,Chicago Bulls,0.5426065257797783 +Charlotte Hornets,Denver Nuggets,0.7363448259127616 +Houston Rockets,Memphis Grizzlies,0.5480639375116193 +Cleveland Cavaliers,Miami Heat,0.5701914089231152 +Toronto Raptors,Milwaukee Bucks,0.819167700408088 +Detroit Pistons,Philadelphia 76ers,0.970462003512937 +Portland Trail Blazers,Brooklyn Nets,0.9364815683508204 +San Antonio Spurs,Minnesota Timberwolves,0.9102024821772375 +Atlanta Hawks,Indiana Pacers,0.5947283447367872 +Oklahoma City Thunder,Dallas Mavericks,0.7019228130530718 +New Orleans Pelicans,Los Angeles Lakers,0.8381646080009353 +Golden State Warriors,New York Knicks,0.8985881577189333 +Boston Celtics,Phoenix Suns,0.8815366994280542 +Utah Jazz,Sacramento Kings,0.5943653863865784 +Washington Wizards,Orlando Magic,0.630142402870544 +Golden State Warriors,Atlanta Hawks,0.6998576962376015 +Charlotte Hornets,Indiana Pacers,0.5890167658688972 +Cleveland Cavaliers,Miami Heat,0.7605707588522127 +Sacramento Kings,Denver Nuggets,0.5277589880138731 +Detroit Pistons,Chicago Bulls,0.5631887344038223 +Los Angeles Clippers,Boston Celtics,0.5960394509901615 +Memphis Grizzlies,Brooklyn Nets,0.804994654663697 +Orlando Magic,New York Knicks,0.6154902912454222 +Milwaukee Bucks,Philadelphia 76ers,0.9344004321616731 +San Antonio Spurs,Houston Rockets,0.8469168632827457 +Utah Jazz,New Orleans Pelicans,0.6988446169441191 +Dallas Mavericks,Los Angeles Lakers,0.8988726279374206 +Oklahoma City Thunder,Portland Trail Blazers,0.7365106391984931 +Washington Wizards,Phoenix Suns,0.8224431246677617 +Atlanta Hawks,Brooklyn Nets,0.8951949965998754 +Washington Wizards,Denver Nuggets,0.6477303918467704 +Golden State Warriors,Boston Celtics,0.7967915840919831 +Houston Rockets,Utah Jazz,0.5361644284597848 +Indiana Pacers,Detroit Pistons,0.5335588066627329 +Miami Heat,Charlotte Hornets,0.5636036106371278 +Milwaukee Bucks,New York Knicks,0.5128600627267141 +Los Angeles Clippers,Minnesota Timberwolves,0.8222317412337778 +Toronto Raptors,New Orleans Pelicans,0.8275426728404633 +Chicago Bulls,Orlando Magic,0.5887999690619977 +San Antonio Spurs,Sacramento Kings,0.8921060287464726 +Cleveland Cavaliers,Detroit Pistons,0.674826996698044 +Los Angeles Clippers,Memphis Grizzlies,0.6659868528357222 +San Antonio Spurs,Oklahoma City Thunder,0.5216023890412093 +Phoenix Suns,Los Angeles Lakers,0.6534118384589391 +Portland Trail Blazers,Philadelphia 76ers,0.9782842992277977 +Toronto Raptors,Atlanta Hawks,0.5268779847829627 +Chicago Bulls,Houston Rockets,0.6190521239006089 +Charlotte Hornets,Orlando Magic,0.730384549178095 +Dallas Mavericks,Brooklyn Nets,0.8271190677997857 +Boston Celtics,Denver Nuggets,0.7470901586665442 +Indiana Pacers,Milwaukee Bucks,0.7348860900107408 +Golden State Warriors,Minnesota Timberwolves,0.9179793327550426 +Washington Wizards,Sacramento Kings,0.6347012397661671 +Charlotte Hornets,New Orleans Pelicans,0.7904808378562765 +Dallas Mavericks,Phoenix Suns,0.7948324970635221 +Detroit Pistons,New York Knicks,0.7471690620137846 +Los Angeles Clippers,Philadelphia 76ers,0.9714649925762824 +Atlanta Hawks,Memphis Grizzlies,0.6445158985655806 +Toronto Raptors,Miami Heat,0.5077826307651524 +Minnesota Timberwolves,Milwaukee Bucks,0.5260278413729665 +Oklahoma City Thunder,Utah Jazz,0.785746288626296 +Cleveland Cavaliers,Orlando Magic,0.793018857346611 +Portland Trail Blazers,Washington Wizards,0.7582585990849217 +Denver Nuggets,Sacramento Kings,0.5409493841058887 +San Antonio Spurs,Golden State Warriors,0.5425448544617014 +Boston Celtics,Chicago Bulls,0.672659518278773 +New York Knicks,Brooklyn Nets,0.7414199808621746 +Cleveland Cavaliers,Houston Rockets,0.7274845922028437 +Miami Heat,Indiana Pacers,0.5005232062003905 +Los Angeles Lakers,Philadelphia 76ers,0.5660613269463058 +Portland Trail Blazers,Phoenix Suns,0.8367378108503962 +Charlotte Hornets,Chicago Bulls,0.6459886347594599 +Denver Nuggets,Los Angeles Lakers,0.8260634504712346 +Memphis Grizzlies,Milwaukee Bucks,0.6295500075557516 +Washington Wizards,Minnesota Timberwolves,0.7253759583466928 +Orlando Magic,Sacramento Kings,0.5323337450156456 +San Antonio Spurs,Atlanta Hawks,0.7593875426277472 +Toronto Raptors,Dallas Mavericks,0.7929083416622169 +Los Angeles Clippers,Utah Jazz,0.6160054015646187 +Oklahoma City Thunder,Brooklyn Nets,0.9418485232736844 +Cleveland Cavaliers,Detroit Pistons,0.7845432293852561 +Golden State Warriors,Philadelphia 76ers,0.9890677418907183 +Portland Trail Blazers,New Orleans Pelicans,0.724034642359451 +Indiana Pacers,New York Knicks,0.7214102060867198 +Boston Celtics,Minnesota Timberwolves,0.8012361249385631 +Chicago Bulls,Memphis Grizzlies,0.647427809876908 +Detroit Pistons,Utah Jazz,0.5978968097705802 +Houston Rockets,Los Angeles Lakers,0.894878593287147 +Charlotte Hornets,Indiana Pacers,0.5269499754611222 +Los Angeles Clippers,Milwaukee Bucks,0.8210072531546425 +Miami Heat,New Orleans Pelicans,0.8065822891612504 +Sacramento Kings,Phoenix Suns,0.7378958718883849 +San Antonio Spurs,Portland Trail Blazers,0.8195561866572759 +Washington Wizards,Dallas Mavericks,0.5817243079839153 +Atlanta Hawks,Memphis Grizzlies,0.6933088012079688 +Cleveland Cavaliers,Utah Jazz,0.8373137914628203 +Los Angeles Clippers,Denver Nuggets,0.7630242837132536 +Golden State Warriors,Orlando Magic,0.9057966613756931 +New York Knicks,Brooklyn Nets,0.6920936124037728 +Toronto Raptors,Oklahoma City Thunder,0.5617881030580666 +Boston Celtics,Brooklyn Nets,0.9156527904181759 +Toronto Raptors,Detroit Pistons,0.6174172067877427 +Milwaukee Bucks,Los Angeles Lakers,0.8505203027994223 +Miami Heat,Minnesota Timberwolves,0.7982480069329386 +Houston Rockets,New Orleans Pelicans,0.6829335143262467 +Dallas Mavericks,Philadelphia 76ers,0.956748418779101 +Orlando Magic,Phoenix Suns,0.75214126858813 +Washington Wizards,Chicago Bulls,0.5343722444953217 +Atlanta Hawks,Portland Trail Blazers,0.6215497357689157 +Chicago Bulls,Utah Jazz,0.636408907093765 +Charlotte Hornets,Washington Wizards,0.6396052774245168 +Houston Rockets,Denver Nuggets,0.625501247777912 +Golden State Warriors,Milwaukee Bucks,0.9241809311271724 +Cleveland Cavaliers,Los Angeles Clippers,0.523319652933677 +San Antonio Spurs,Memphis Grizzlies,0.7933723357353494 +Oklahoma City Thunder,Sacramento Kings,0.8357586898569345 +Dallas Mavericks,Brooklyn Nets,0.844312146528328 +Detroit Pistons,Phoenix Suns,0.8267712304039557 +Cleveland Cavaliers,Los Angeles Lakers,0.9662753788944691 +Miami Heat,Portland Trail Blazers,0.6393661026597248 +Minnesota Timberwolves,New Orleans Pelicans,0.5403614035977689 +Boston Celtics,Philadelphia 76ers,0.9779151918064878 +San Antonio Spurs,Sacramento Kings,0.8921060287464726 +Toronto Raptors,Indiana Pacers,0.7127639156021335 +Boston Celtics,Washington Wizards,0.666508804452891 +Charlotte Hornets,Atlanta Hawks,0.5270903223652368 +Houston Rockets,Denver Nuggets,0.5897149204496572 +Indiana Pacers,Utah Jazz,0.6178592323391957 +Los Angeles Clippers,New York Knicks,0.8481704501314866 +Golden State Warriors,Oklahoma City Thunder,0.5780664269267013 +Orlando Magic,Philadelphia 76ers,0.9070217296173135 +Detroit Pistons,Brooklyn Nets,0.8895602705326521 +Golden State Warriors,Dallas Mavericks,0.8063108547379034 +Los Angeles Clippers,Los Angeles Lakers,0.9506901392566504 +Miami Heat,Phoenix Suns,0.8818827987620536 +San Antonio Spurs,Minnesota Timberwolves,0.8990602374157421 +Memphis Grizzlies,New Orleans Pelicans,0.6558966184338011 +Portland Trail Blazers,Milwaukee Bucks,0.8585474804518705 +Toronto Raptors,Chicago Bulls,0.759583321837707 +Boston Celtics,Indiana Pacers,0.6174379611309165 +Chicago Bulls,Detroit Pistons,0.5532416785743169 +Cleveland Cavaliers,Denver Nuggets,0.8271395461962967 +Oklahoma City Thunder,Philadelphia 76ers,0.9779831537444693 +Charlotte Hornets,Orlando Magic,0.6909975274944149 +Sacramento Kings,Milwaukee Bucks,0.5268947894555486 +Utah Jazz,New York Knicks,0.7200854698725926 +Atlanta Hawks,Washington Wizards,0.5878971846897307 +Phoenix Suns,Brooklyn Nets,0.6396896849566753 +Los Angeles Clippers,Dallas Mavericks,0.6324060375159688 +Toronto Raptors,Miami Heat,0.5077826307651524 +Portland Trail Blazers,New York Knicks,0.8808405725613171 +San Antonio Spurs,Memphis Grizzlies,0.8621004611203563 +Boston Celtics,Phoenix Suns,0.8838125115820208 +Chicago Bulls,Philadelphia 76ers,0.9549558892016753 +Cleveland Cavaliers,Charlotte Hornets,0.5945385343354597 +Golden State Warriors,Sacramento Kings,0.9120048472276371 +Houston Rockets,New Orleans Pelicans,0.6745173503291141 +Indiana Pacers,Denver Nuggets,0.667821366242076 +Minnesota Timberwolves,Los Angeles Lakers,0.8451697856736602 +Atlanta Hawks,Milwaukee Bucks,0.7809122824496479 +Detroit Pistons,Orlando Magic,0.6370181117454732 +Washington Wizards,Brooklyn Nets,0.839908633574516 +Cleveland Cavaliers,Washington Wizards,0.8127498981091046 +Toronto Raptors,Dallas Mavericks,0.6653460296833326 +Los Angeles Clippers,Utah Jazz,0.737586544702152 +Portland Trail Blazers,Minnesota Timberwolves,0.8635103584313623 +San Antonio Spurs,New York Knicks,0.9221387214469564 +Atlanta Hawks,Brooklyn Nets,0.8951949965998754 +Boston Celtics,Miami Heat,0.5939381829682465 +Charlotte Hornets,Phoenix Suns,0.8710477086412305 +Denver Nuggets,New Orleans Pelicans,0.5362107758936552 +Golden State Warriors,Memphis Grizzlies,0.8868311795635295 +Oklahoma City Thunder,Houston Rockets,0.7108794967217815 +Indiana Pacers,Philadelphia 76ers,0.9514171990347409 +Los Angeles Clippers,Sacramento Kings,0.7959209084683025 +Portland Trail Blazers,Los Angeles Lakers,0.9241400427394095 +Chicago Bulls,Milwaukee Bucks,0.6852500426161923 +Oklahoma City Thunder,Dallas Mavericks,0.7019228130530718 +Detroit Pistons,New York Knicks,0.7136862592574185 +Memphis Grizzlies,Sacramento Kings,0.5827568768390616 +San Antonio Spurs,Cleveland Cavaliers,0.6588328805130672 +Toronto Raptors,Orlando Magic,0.8242654546368156 +Utah Jazz,New Orleans Pelicans,0.6988446169441191 +Atlanta Hawks,Phoenix Suns,0.8736803704726138 +Brooklyn Nets,Philadelphia 76ers,0.6800471337206065 +Charlotte Hornets,Milwaukee Bucks,0.7744783078184468 +Miami Heat,Detroit Pistons,0.5214505761758803 +Golden State Warriors,Houston Rockets,0.8129666587642488 +Indiana Pacers,Minnesota Timberwolves,0.7333479123691258 +Washington Wizards,Los Angeles Lakers,0.9167364887609396 +Portland Trail Blazers,Denver Nuggets,0.822215377724437 +Boston Celtics,Milwaukee Bucks,0.7945476517623355 +Los Angeles Clippers,Washington Wizards,0.7033005616876681 +Indiana Pacers,Memphis Grizzlies,0.5850609155200516 +Dallas Mavericks,New Orleans Pelicans,0.6555323937819689 +Miami Heat,New York Knicks,0.7407528947331281 +Oklahoma City Thunder,Orlando Magic,0.7791949368070087 +Atlanta Hawks,Philadelphia 76ers,0.977722349080111 +Utah Jazz,Sacramento Kings,0.5943653863865784 +San Antonio Spurs,Golden State Warriors,0.5425448544617014 +Toronto Raptors,Charlotte Hornets,0.6692104481235245 +Cleveland Cavaliers,Chicago Bulls,0.6380699609772931 +Detroit Pistons,Brooklyn Nets,0.8549489281914598 +Minnesota Timberwolves,Los Angeles Lakers,0.7677717390444269 +Los Angeles Clippers,Phoenix Suns,0.8902446779003392 +Portland Trail Blazers,Houston Rockets,0.7754367132277132 +Boston Celtics,Orlando Magic,0.7531270343300652 +Charlotte Hornets,Denver Nuggets,0.7235070512053406 +Cleveland Cavaliers,Philadelphia 76ers,0.9842119373151951 +Golden State Warriors,Houston Rockets,0.873972520984708 +Memphis Grizzlies,Dallas Mavericks,0.522513794908585 +Miami Heat,New York Knicks,0.8221580337724813 +Detroit Pistons,Milwaukee Bucks,0.7273945808620585 +Sacramento Kings,New Orleans Pelicans,0.5903642611587099 +San Antonio Spurs,Oklahoma City Thunder,0.5216023890412093 +Toronto Raptors,Indiana Pacers,0.7127639156021335 +Utah Jazz,Washington Wizards,0.5218927943292156 +Orlando Magic,Brooklyn Nets,0.8157323992230832 +Atlanta Hawks,Chicago Bulls,0.5189333930570054 +Los Angeles Clippers,Los Angeles Lakers,0.9539166002352777 +Sacramento Kings,Minnesota Timberwolves,0.6161786086748275 +Portland Trail Blazers,Phoenix Suns,0.9227105998532737 +Atlanta Hawks,Brooklyn Nets,0.9149635533873091 +Cleveland Cavaliers,Indiana Pacers,0.7780310877942109 +Golden State Warriors,Washington Wizards,0.8630002742136407 +Memphis Grizzlies,Los Angeles Lakers,0.8984821134322052 +Miami Heat,Denver Nuggets,0.7430825906817102 +Dallas Mavericks,Milwaukee Bucks,0.6424136555455248 +Chicago Bulls,New Orleans Pelicans,0.6975371601376568 +Boston Celtics,New York Knicks,0.7706161235260826 +Oklahoma City Thunder,Charlotte Hornets,0.6706435080450158 +Houston Rockets,Phoenix Suns,0.8079703336023722 +San Antonio Spurs,Utah Jazz,0.8563015879263921 +Toronto Raptors,Philadelphia 76ers,0.9778431757624951 +Cleveland Cavaliers,Orlando Magic,0.868858274042883 +Golden State Warriors,Minnesota Timberwolves,0.9270367506372811 +Toronto Raptors,Indiana Pacers,0.5974467377790877 +Denver Nuggets,New Orleans Pelicans,0.6165961221759775 +Chicago Bulls,New York Knicks,0.670382780615068 +Oklahoma City Thunder,Milwaukee Bucks,0.8568288760769732 +Brooklyn Nets,Philadelphia 76ers,0.8543101342335301 +Dallas Mavericks,Sacramento Kings,0.5823645298341502 +San Antonio Spurs,Memphis Grizzlies,0.8621004611203563 +Portland Trail Blazers,Utah Jazz,0.5033843953011446 +Charlotte Hornets,Washington Wizards,0.576415092870763 +Cleveland Cavaliers,Boston Celtics,0.5656129755096008 +Charlotte Hornets,Miami Heat,0.5650011313292498 +Toronto Raptors,Detroit Pistons,0.6174172067877427 +Houston Rockets,Denver Nuggets,0.5897149204496572 +Los Angeles Clippers,Dallas Mavericks,0.7470642988864873 +Oklahoma City Thunder,Memphis Grizzlies,0.7318458424793735 +Golden State Warriors,Phoenix Suns,0.9515197953692456 +San Antonio Spurs,Los Angeles Lakers,0.9777207261443515 +Atlanta Hawks,Boston Celtics,0.5307663794727151 +Indiana Pacers,Milwaukee Bucks,0.7251585974045648 +Washington Wizards,New York Knicks,0.6764967244669957 +Orlando Magic,Brooklyn Nets,0.7614845004422947 +Chicago Bulls,Philadelphia 76ers,0.9640376008791884 +Portland Trail Blazers,Minnesota Timberwolves,0.8635103584313623 +Cleveland Cavaliers,Atlanta Hawks,0.7316076415024936 +San Antonio Spurs,Dallas Mavericks,0.768139827856392 +Denver Nuggets,New Orleans Pelicans,0.5362107758936552 +Detroit Pistons,Houston Rockets,0.5501120676230924 +Sacramento Kings,Los Angeles Lakers,0.8699913368583889 +Memphis Grizzlies,New York Knicks,0.6742395740877684 +Oklahoma City Thunder,Phoenix Suns,0.9173717449391703 +Toronto Raptors,Miami Heat,0.6922006702911019 +Utah Jazz,Minnesota Timberwolves,0.6876656395909585 +Chicago Bulls,Brooklyn Nets,0.8679345758358623 +Charlotte Hornets,Boston Celtics,0.5248735201171141 +Golden State Warriors,New Orleans Pelicans,0.9305139431810429 +Indiana Pacers,Orlando Magic,0.6457838180612443 +Milwaukee Bucks,Philadelphia 76ers,0.9344004321616731 +Portland Trail Blazers,Utah Jazz,0.7881071461573498 +San Antonio Spurs,Los Angeles Clippers,0.7415909571565803 +Miami Heat,Washington Wizards,0.5503939187043101 +Cleveland Cavaliers,Atlanta Hawks,0.5888261298550048 +Oklahoma City Thunder,Denver Nuggets,0.8150630436430326 +Minnesota Timberwolves,Los Angeles Lakers,0.8451697856736602 +Detroit Pistons,Memphis Grizzlies,0.5757796458636804 +Toronto Raptors,New York Knicks,0.8088616394029131 +Dallas Mavericks,Phoenix Suns,0.7880209304518935 +Houston Rockets,Sacramento Kings,0.6121422354502845 +Boston Celtics,Brooklyn Nets,0.9037914734330236 +Chicago Bulls,Orlando Magic,0.692607318715456 +Detroit Pistons,Washington Wizards,0.5563377609924854 +Golden State Warriors,Utah Jazz,0.881929839060726 +Los Angeles Clippers,Houston Rockets,0.7229571141818244 +Cleveland Cavaliers,Miami Heat,0.5701914089231152 +Charlotte Hornets,Milwaukee Bucks,0.772729041185426 +Indiana Pacers,Philadelphia 76ers,0.9715351384881646 +San Antonio Spurs,Portland Trail Blazers,0.5180878888323307 +Atlanta Hawks,Charlotte Hornets,0.5447096530376866 +Dallas Mavericks,Denver Nuggets,0.6001224610550165 +New Orleans Pelicans,Los Angeles Lakers,0.8381646080009353 +Oklahoma City Thunder,Minnesota Timberwolves,0.8635931477335815 +Sacramento Kings,Phoenix Suns,0.6865768650462503 +Boston Celtics,Milwaukee Bucks,0.7945476517623355 +Chicago Bulls,Brooklyn Nets,0.8740285590551515 +Cleveland Cavaliers,Toronto Raptors,0.682019095590589 +Golden State Warriors,Los Angeles Lakers,0.9821456918905238 +Houston Rockets,Minnesota Timberwolves,0.6628709701215469 +Atlanta Hawks,Indiana Pacers,0.5386998459163754 +Los Angeles Clippers,Sacramento Kings,0.7959209084683025 +Memphis Grizzlies,Dallas Mavericks,0.522513794908585 +Miami Heat,Washington Wizards,0.6623488021178058 +New York Knicks,Philadelphia 76ers,0.8729048451096209 +Oklahoma City Thunder,Denver Nuggets,0.8201478208741535 +Detroit Pistons,Orlando Magic,0.6370181117454732 +Portland Trail Blazers,New Orleans Pelicans,0.869589125206319 +San Antonio Spurs,Utah Jazz,0.7554533345420018 diff --git a/other/data/21-22Schedule.csv b/other/data/21-22Schedule.csv new file mode 100644 index 0000000..b68cd5b --- /dev/null +++ b/other/data/21-22Schedule.csv @@ -0,0 +1,1230 @@ +Vteam,Hteam +New York Knicks,Cleveland Cavaliers +San Antonio Spurs,Golden State Warriors +Utah Jazz,Portland Trail Blazers +Brooklyn Nets,Boston Celtics +Dallas Mavericks,Indiana Pacers +Houston Rockets,Los Angeles Lakers +Minnesota Timberwolves,Memphis Grizzlies +Charlotte Hornets,Milwaukee Bucks +Denver Nuggets,New Orleans Pelicans +Miami Heat,Orlando Magic +Oklahoma City Thunder,Philadelphia 76ers +Sacramento Kings,Phoenix Suns +Detroit Pistons,Toronto Raptors +Washington Wizards,Atlanta Hawks +Boston Celtics,Chicago Bulls +Los Angeles Clippers,Portland Trail Blazers +San Antonio Spurs,Sacramento Kings +Indiana Pacers,Brooklyn Nets +Houston Rockets,Dallas Mavericks +Orlando Magic,Detroit Pistons +Charlotte Hornets,Miami Heat +Golden State Warriors,New Orleans Pelicans +Phoenix Suns,Oklahoma City Thunder +Cleveland Cavaliers,Toronto Raptors +Los Angeles Lakers,Utah Jazz +Indiana Pacers,Chicago Bulls +Boston Celtics,Charlotte Hornets +Orlando Magic,Cleveland Cavaliers +Portland Trail Blazers,Denver Nuggets +Brooklyn Nets,Milwaukee Bucks +Memphis Grizzlies,New York Knicks +Atlanta Hawks,Philadelphia 76ers +Minnesota Timberwolves,Sacramento Kings +New Orleans Pelicans,San Antonio Spurs +Milwaukee Bucks,Detroit Pistons +Dallas Mavericks,Houston Rockets +Utah Jazz,Los Angeles Clippers +Washington Wizards,Memphis Grizzlies +San Antonio Spurs,Miami Heat +Los Angeles Lakers,Oklahoma City Thunder +Golden State Warriors,Phoenix Suns +Sacramento Kings,Atlanta Hawks +Chicago Bulls,Brooklyn Nets +Phoenix Suns,Los Angeles Clippers +Denver Nuggets,Toronto Raptors +Houston Rockets,Cleveland Cavaliers +New York Knicks,Detroit Pistons +Los Angeles Lakers,Indiana Pacers +Sacramento Kings,Miami Heat +Memphis Grizzlies,Minnesota Timberwolves +Milwaukee Bucks,New Orleans Pelicans +Orlando Magic,Philadelphia 76ers +Golden State Warriors,Portland Trail Blazers +Utah Jazz,San Antonio Spurs +Los Angeles Lakers,Atlanta Hawks +Chicago Bulls,Boston Celtics +Detroit Pistons,Brooklyn Nets +Philadelphia 76ers,Charlotte Hornets +Oklahoma City Thunder,Los Angeles Clippers +New Orleans Pelicans,Memphis Grizzlies +Houston Rockets,New York Knicks +Portland Trail Blazers,Phoenix Suns +Dallas Mavericks,Utah Jazz +Toronto Raptors,Washington Wizards +Boston Celtics,Cleveland Cavaliers +Oklahoma City Thunder,Golden State Warriors +Indiana Pacers,Milwaukee Bucks +Denver Nuggets,Minnesota Timberwolves +Sacramento Kings,Orlando Magic +Charlotte Hornets,Brooklyn Nets +New York Knicks,Chicago Bulls +Portland Trail Blazers,Dallas Mavericks +Golden State Warriors,Los Angeles Lakers +Los Angeles Clippers,Memphis Grizzlies +Phoenix Suns,New Orleans Pelicans +Miami Heat,Toronto Raptors +San Antonio Spurs,Utah Jazz +Atlanta Hawks,Washington Wizards +Houston Rockets,Atlanta Hawks +Denver Nuggets,Detroit Pistons +Chicago Bulls,Indiana Pacers +Sacramento Kings,Milwaukee Bucks +Minnesota Timberwolves,Oklahoma City Thunder +Washington Wizards,Orlando Magic +Cleveland Cavaliers,Philadelphia 76ers +Los Angeles Clippers,San Antonio Spurs +Denver Nuggets,Boston Celtics +Milwaukee Bucks,Dallas Mavericks +Phoenix Suns,Los Angeles Lakers +Portland Trail Blazers,Memphis Grizzlies +Utah Jazz,New York Knicks +Sacramento Kings,Toronto Raptors +Orlando Magic,Chicago Bulls +Indiana Pacers,Charlotte Hornets +New Orleans Pelicans,Golden State Warriors +Detroit Pistons,Los Angeles Clippers +Miami Heat,Oklahoma City Thunder +Utah Jazz,Philadelphia 76ers +Houston Rockets,Washington Wizards +Minnesota Timberwolves,Brooklyn Nets +Atlanta Hawks,Cleveland Cavaliers +Dallas Mavericks,Los Angeles Lakers +Denver Nuggets,Memphis Grizzlies +Phoenix Suns,Portland Trail Blazers +New Orleans Pelicans,Sacramento Kings +Chicago Bulls,Atlanta Hawks +Utah Jazz,Charlotte Hornets +Dallas Mavericks,Golden State Warriors +Philadelphia 76ers,Indiana Pacers +Portland Trail Blazers,Los Angeles Clippers +Brooklyn Nets,New York Knicks +Toronto Raptors,Oklahoma City Thunder +Minnesota Timberwolves,Orlando Magic +Detroit Pistons,Phoenix Suns +Houston Rockets,San Antonio Spurs +Boston Celtics,Washington Wizards +Golden State Warriors,Denver Nuggets +Chicago Bulls,Miami Heat +New Orleans Pelicans,Milwaukee Bucks +Los Angeles Lakers,Sacramento Kings +New York Knicks,Boston Celtics +Toronto Raptors,Charlotte Hornets +Los Angeles Clippers,Oklahoma City Thunder +Utah Jazz,Orlando Magic +Indiana Pacers,Philadelphia 76ers +Sacramento Kings,Portland Trail Blazers +Detroit Pistons,San Antonio Spurs +Cleveland Cavaliers,Washington Wizards +Philadelphia 76ers,Atlanta Hawks +Washington Wizards,Chicago Bulls +Detroit Pistons,Denver Nuggets +San Antonio Spurs,Houston Rockets +Boston Celtics,Indiana Pacers +Utah Jazz,Miami Heat +Memphis Grizzlies,Milwaukee Bucks +Los Angeles Clippers,Minnesota Timberwolves +Los Angeles Lakers,New Orleans Pelicans +Brooklyn Nets,Phoenix Suns +New York Knicks,Toronto Raptors +Charlotte Hornets,Cleveland Cavaliers +Phoenix Suns,Golden State Warriors +Los Angeles Lakers,Minnesota Timberwolves +Orlando Magic,Oklahoma City Thunder +Denver Nuggets,Portland Trail Blazers +Oklahoma City Thunder,Detroit Pistons +Philadelphia 76ers,Houston Rockets +Orlando Magic,Indiana Pacers +Brooklyn Nets,Los Angeles Clippers +Boston Celtics,New Orleans Pelicans +Dallas Mavericks,New York Knicks +Miami Heat,San Antonio Spurs +Memphis Grizzlies,Utah Jazz +Toronto Raptors,Cleveland Cavaliers +Brooklyn Nets,Los Angeles Lakers +Atlanta Hawks,Miami Heat +Charlotte Hornets,Minnesota Timberwolves +Chicago Bulls,Portland Trail Blazers +Milwaukee Bucks,Atlanta Hawks +Dallas Mavericks,Boston Celtics +Phoenix Suns,Denver Nuggets +Cleveland Cavaliers,Indiana Pacers +Memphis Grizzlies,Los Angeles Clippers +Detroit Pistons,New York Knicks +Houston Rockets,Oklahoma City Thunder +New Orleans Pelicans,Orlando Magic +Washington Wizards,Philadelphia 76ers +San Antonio Spurs,Sacramento Kings +Golden State Warriors,Toronto Raptors +Portland Trail Blazers,Houston Rockets +Milwaukee Bucks,Miami Heat +Philadelphia 76ers,Minnesota Timberwolves +Chicago Bulls,Utah Jazz +New York Knicks,Washington Wizards +Golden State Warriors,Boston Celtics +Atlanta Hawks,Charlotte Hornets +Detroit Pistons,Cleveland Cavaliers +Memphis Grizzlies,Dallas Mavericks +Toronto Raptors,Denver Nuggets +Phoenix Suns,Indiana Pacers +San Antonio Spurs,Los Angeles Lakers +Portland Trail Blazers,New Orleans Pelicans +Brooklyn Nets,Oklahoma City Thunder +Los Angeles Clippers,Sacramento Kings +Boston Celtics,Detroit Pistons +Utah Jazz,Houston Rockets +Chicago Bulls,Los Angeles Clippers +Minnesota Timberwolves,Memphis Grizzlies +Golden State Warriors,Milwaukee Bucks +Charlotte Hornets,New Orleans Pelicans +Dallas Mavericks,Orlando Magic +Phoenix Suns,Philadelphia 76ers +Miami Heat,Washington Wizards +Portland Trail Blazers,Brooklyn Nets +Utah Jazz,Denver Nuggets +Chicago Bulls,Los Angeles Lakers +Atlanta Hawks,New York Knicks +Indiana Pacers,Oklahoma City Thunder +Toronto Raptors,Sacramento Kings +Memphis Grizzlies,Charlotte Hornets +Houston Rockets,Detroit Pistons +Golden State Warriors,Indiana Pacers +Toronto Raptors,Los Angeles Clippers +Orlando Magic,Milwaukee Bucks +Boston Celtics,Minnesota Timberwolves +Miami Heat,Philadelphia 76ers +Dallas Mavericks,San Antonio Spurs +Phoenix Suns,Washington Wizards +New Orleans Pelicans,Atlanta Hawks +Chicago Bulls,Denver Nuggets +Oklahoma City Thunder,Los Angeles Lakers +Portland Trail Blazers,New York Knicks +Boston Celtics,Brooklyn Nets +San Antonio Spurs,Charlotte Hornets +Portland Trail Blazers,Cleveland Cavaliers +Los Angeles Clippers,Dallas Mavericks +Miami Heat,Detroit Pistons +Los Angeles Lakers,Golden State Warriors +Toronto Raptors,Houston Rockets +Atlanta Hawks,Indiana Pacers +Minnesota Timberwolves,New Orleans Pelicans +Phoenix Suns,Orlando Magic +Memphis Grizzlies,Philadelphia 76ers +Oklahoma City Thunder,Sacramento Kings +Denver Nuggets,Utah Jazz +San Antonio Spurs,Boston Celtics +Dallas Mavericks,Cleveland Cavaliers +Oklahoma City Thunder,Denver Nuggets +Los Angeles Clippers,Detroit Pistons +Brooklyn Nets,Indiana Pacers +Golden State Warriors,Los Angeles Lakers +Miami Heat,Memphis Grizzlies +Toronto Raptors,Milwaukee Bucks +Charlotte Hornets,New York Knicks +Washington Wizards,Orlando Magic +Chicago Bulls,Philadelphia 76ers +Minnesota Timberwolves,Phoenix Suns +New Orleans Pelicans,Portland Trail Blazers +Houston Rockets,Sacramento Kings +Atlanta Hawks,Utah Jazz +New York Knicks,Charlotte Hornets +Minnesota Timberwolves,Golden State Warriors +Memphis Grizzlies,Miami Heat +Detroit Pistons,Oklahoma City Thunder +San Antonio Spurs,Washington Wizards +Sacramento Kings,Brooklyn Nets +New Orleans Pelicans,Dallas Mavericks +Los Angeles Clippers,Indiana Pacers +Atlanta Hawks,Los Angeles Lakers +Milwaukee Bucks,Orlando Magic +Cleveland Cavaliers,Philadelphia 76ers +Denver Nuggets,Phoenix Suns +Houston Rockets,Portland Trail Blazers +Atlanta Hawks,Golden State Warriors +Charlotte Hornets,Memphis Grizzlies +Boston Celtics,Miami Heat +Utah Jazz,Minnesota Timberwolves +Oklahoma City Thunder,New York Knicks +Philadelphia 76ers,Toronto Raptors +Sacramento Kings,Washington Wizards +Los Angeles Clippers,Brooklyn Nets +Detroit Pistons,Charlotte Hornets +Cleveland Cavaliers,Milwaukee Bucks +Los Angeles Lakers,New Orleans Pelicans +Orlando Magic,San Antonio Spurs +Houston Rockets,Utah Jazz +Detroit Pistons,Boston Celtics +Los Angeles Lakers,Chicago Bulls +San Antonio Spurs,Dallas Mavericks +Miami Heat,Denver Nuggets +New York Knicks,Minnesota Timberwolves +Washington Wizards,Oklahoma City Thunder +Atlanta Hawks,Phoenix Suns +Indiana Pacers,Portland Trail Blazers +Memphis Grizzlies,Toronto Raptors +Milwaukee Bucks,Brooklyn Nets +Dallas Mavericks,Charlotte Hornets +Los Angeles Clippers,Cleveland Cavaliers +Houston Rockets,Golden State Warriors +Orlando Magic,Memphis Grizzlies +Miami Heat,Utah Jazz +Detroit Pistons,Atlanta Hawks +Sacramento Kings,Boston Celtics +Cleveland Cavaliers,Chicago Bulls +Houston Rockets,Denver Nuggets +Los Angeles Clippers,New Orleans Pelicans +Minnesota Timberwolves,New York Knicks +Orlando Magic,Philadelphia 76ers +Washington Wizards,San Antonio Spurs +Los Angeles Lakers,Toronto Raptors +Minnesota Timberwolves,Charlotte Hornets +Chicago Bulls,Dallas Mavericks +Phoenix Suns,Golden State Warriors +Los Angeles Lakers,Memphis Grizzlies +Brooklyn Nets,Milwaukee Bucks +Boston Celtics,Philadelphia 76ers +Miami Heat,Portland Trail Blazers +Atlanta Hawks,Toronto Raptors +Denver Nuggets,Utah Jazz +Orlando Magic,Detroit Pistons +Indiana Pacers,Los Angeles Clippers +Sacramento Kings,New York Knicks +New Orleans Pelicans,Oklahoma City Thunder +Oklahoma City Thunder,Atlanta Hawks +Washington Wizards,Brooklyn Nets +Portland Trail Blazers,Chicago Bulls +Charlotte Hornets,Dallas Mavericks +Indiana Pacers,Golden State Warriors +Boston Celtics,Houston Rockets +Utah Jazz,Los Angeles Lakers +San Antonio Spurs,Milwaukee Bucks +Memphis Grizzlies,New Orleans Pelicans +Denver Nuggets,Philadelphia 76ers +Cleveland Cavaliers,Toronto Raptors +Chicago Bulls,Detroit Pistons +Philadelphia 76ers,Memphis Grizzlies +New York Knicks,Miami Heat +San Antonio Spurs,Minnesota Timberwolves +Phoenix Suns,Utah Jazz +Orlando Magic,Washington Wizards +Miami Heat,Atlanta Hawks +Denver Nuggets,Brooklyn Nets +Detroit Pistons,Charlotte Hornets +Sacramento Kings,Dallas Mavericks +Los Angeles Lakers,Houston Rockets +Golden State Warriors,Los Angeles Clippers +Portland Trail Blazers,Milwaukee Bucks +Cleveland Cavaliers,New York Knicks +Boston Celtics,Orlando Magic +Indiana Pacers,Phoenix Suns +San Antonio Spurs,Chicago Bulls +Portland Trail Blazers,Memphis Grizzlies +Philadelphia 76ers,New Orleans Pelicans +Minnesota Timberwolves,Toronto Raptors +Golden State Warriors,Utah Jazz +Denver Nuggets,Washington Wizards +Toronto Raptors,Boston Celtics +Orlando Magic,Charlotte Hornets +Miami Heat,Cleveland Cavaliers +Indiana Pacers,Dallas Mavericks +Phoenix Suns,Los Angeles Lakers +Atlanta Hawks,Milwaukee Bucks +Detroit Pistons,Minnesota Timberwolves +Houston Rockets,Oklahoma City Thunder +New York Knicks,Sacramento Kings +Miami Heat,Chicago Bulls +Charlotte Hornets,Cleveland Cavaliers +Dallas Mavericks,Houston Rockets +Portland Trail Blazers,Indiana Pacers +New Orleans Pelicans,Los Angeles Clippers +Golden State Warriors,Memphis Grizzlies +Denver Nuggets,Orlando Magic +Brooklyn Nets,San Antonio Spurs +Sacramento Kings,Utah Jazz +Milwaukee Bucks,Washington Wizards +Philadelphia 76ers,Detroit Pistons +New York Knicks,Los Angeles Lakers +Golden State Warriors,Minnesota Timberwolves +Boston Celtics,Oklahoma City Thunder +New Orleans Pelicans,Phoenix Suns +Denver Nuggets,Dallas Mavericks +Brooklyn Nets,Houston Rockets +Charlotte Hornets,Indiana Pacers +Portland Trail Blazers,Los Angeles Clippers +Washington Wizards,Miami Heat +Los Angeles Lakers,Sacramento Kings +Milwaukee Bucks,Toronto Raptors +Orlando Magic,Atlanta Hawks +Minnesota Timberwolves,Chicago Bulls +Memphis Grizzlies,Cleveland Cavaliers +Golden State Warriors,New Orleans Pelicans +New York Knicks,Phoenix Suns +Oklahoma City Thunder,Portland Trail Blazers +Los Angeles Lakers,Brooklyn Nets +Detroit Pistons,Dallas Mavericks +Sacramento Kings,Houston Rockets +Cleveland Cavaliers,Memphis Grizzlies +Indiana Pacers,Miami Heat +Los Angeles Clippers,Orlando Magic +Toronto Raptors,Philadelphia 76ers +Boston Celtics,San Antonio Spurs +Oklahoma City Thunder,Utah Jazz +Charlotte Hornets,Washington Wizards +Portland Trail Blazers,Denver Nuggets +New York Knicks,Golden State Warriors +Chicago Bulls,Milwaukee Bucks +Indiana Pacers,New Orleans Pelicans +San Antonio Spurs,Phoenix Suns +Charlotte Hornets,Boston Celtics +Milwaukee Bucks,Chicago Bulls +New Orleans Pelicans,Houston Rockets +Sacramento Kings,Memphis Grizzlies +Los Angeles Clippers,Miami Heat +Brooklyn Nets,Orlando Magic +Los Angeles Lakers,Philadelphia 76ers +Atlanta Hawks,Toronto Raptors +Dallas Mavericks,Utah Jazz +Detroit Pistons,Washington Wizards +Charlotte Hornets,Atlanta Hawks +Los Angeles Lakers,Cleveland Cavaliers +New York Knicks,Denver Nuggets +Indiana Pacers,Detroit Pistons +Portland Trail Blazers,Golden State Warriors +Houston Rockets,Minnesota Timberwolves +Phoenix Suns,Oklahoma City Thunder +Sacramento Kings,Dallas Mavericks +Utah Jazz,Memphis Grizzlies +Boston Celtics,Miami Heat +Toronto Raptors,Orlando Magic +Brooklyn Nets,Philadelphia 76ers +New Orleans Pelicans,San Antonio Spurs +Los Angeles Clippers,Washington Wizards +Detroit Pistons,Chicago Bulls +Dallas Mavericks,Denver Nuggets +Washington Wizards,Indiana Pacers +Phoenix Suns,Minnesota Timberwolves +Atlanta Hawks,Oklahoma City Thunder +Los Angeles Lakers,Charlotte Hornets +Utah Jazz,Golden State Warriors +San Antonio Spurs,Houston Rockets +Denver Nuggets,Los Angeles Clippers +Boston Celtics,Memphis Grizzlies +Orlando Magic,Miami Heat +Cleveland Cavaliers,Milwaukee Bucks +Indiana Pacers,New York Knicks +New Orleans Pelicans,Philadelphia 76ers +Portland Trail Blazers,Sacramento Kings +Brooklyn Nets,Toronto Raptors +Minnesota Timberwolves,Atlanta Hawks +Washington Wizards,Chicago Bulls +Milwaukee Bucks,Cleveland Cavaliers +Memphis Grizzlies,Detroit Pistons +Oklahoma City Thunder,New Orleans Pelicans +Houston Rockets,Phoenix Suns +Dallas Mavericks,Portland Trail Blazers +Sacramento Kings,Utah Jazz +Golden State Warriors,Brooklyn Nets +Boston Celtics,Indiana Pacers +San Antonio Spurs,Los Angeles Clippers +Los Angeles Lakers,Miami Heat +Orlando Magic,New York Knicks +Oklahoma City Thunder,Boston Celtics +Chicago Bulls,Charlotte Hornets +Brooklyn Nets,Cleveland Cavaliers +Atlanta Hawks,Denver Nuggets +Golden State Warriors,Detroit Pistons +Dallas Mavericks,Los Angeles Clippers +Houston Rockets,Memphis Grizzlies +Washington Wizards,Milwaukee Bucks +Sacramento Kings,Minnesota Timberwolves +Miami Heat,New Orleans Pelicans +Los Angeles Lakers,Orlando Magic +Philadelphia 76ers,Phoenix Suns +San Antonio Spurs,Portland Trail Blazers +Toronto Raptors,Utah Jazz +Golden State Warriors,Cleveland Cavaliers +Los Angeles Clippers,Los Angeles Lakers +Boston Celtics,New York Knicks +Minnesota Timberwolves,Oklahoma City Thunder +Chicago Bulls,San Antonio Spurs +Charlotte Hornets,Brooklyn Nets +Indiana Pacers,Chicago Bulls +Cleveland Cavaliers,Detroit Pistons +Phoenix Suns,Houston Rockets +Denver Nuggets,Los Angeles Clippers +Atlanta Hawks,Minnesota Timberwolves +Dallas Mavericks,New Orleans Pelicans +Memphis Grizzlies,Orlando Magic +Toronto Raptors,Portland Trail Blazers +Philadelphia 76ers,Sacramento Kings +Milwaukee Bucks,Washington Wizards +Memphis Grizzlies,Boston Celtics +Houston Rockets,Dallas Mavericks +Utah Jazz,Los Angeles Lakers +Oklahoma City Thunder,Miami Heat +New York Knicks,Atlanta Hawks +Brooklyn Nets,Chicago Bulls +Minnesota Timberwolves,Denver Nuggets +Milwaukee Bucks,Detroit Pistons +Toronto Raptors,Golden State Warriors +Los Angeles Clippers,New Orleans Pelicans +Charlotte Hornets,Orlando Magic +Sacramento Kings,Portland Trail Blazers +Phoenix Suns,San Antonio Spurs +Indiana Pacers,Washington Wizards +Miami Heat,Charlotte Hornets +Boston Celtics,Cleveland Cavaliers +Dallas Mavericks,Los Angeles Lakers +Oklahoma City Thunder,Memphis Grizzlies +Toronto Raptors,Phoenix Suns +Philadelphia 76ers,Utah Jazz +Detroit Pistons,Atlanta Hawks +Miami Heat,Boston Celtics +Philadelphia 76ers,Denver Nuggets +Dallas Mavericks,Golden State Warriors +Los Angeles Clippers,Houston Rockets +Chicago Bulls,Indiana Pacers +Milwaukee Bucks,Minnesota Timberwolves +New York Knicks,New Orleans Pelicans +Portland Trail Blazers,San Antonio Spurs +Brooklyn Nets,Washington Wizards +Milwaukee Bucks,Chicago Bulls +Cleveland Cavaliers,Charlotte Hornets +New York Knicks,Houston Rockets +Los Angeles Clippers,Oklahoma City Thunder +Memphis Grizzlies,Sacramento Kings +Phoenix Suns,Utah Jazz +San Antonio Spurs,Atlanta Hawks +Orlando Magic,Indiana Pacers +Toronto Raptors,Los Angeles Lakers +Detroit Pistons,Miami Heat +Portland Trail Blazers,Minnesota Timberwolves +Utah Jazz,Brooklyn Nets +Charlotte Hornets,Chicago Bulls +New Orleans Pelicans,Cleveland Cavaliers +Denver Nuggets,Golden State Warriors +Washington Wizards,Houston Rockets +Phoenix Suns,Los Angeles Clippers +Oklahoma City Thunder,Milwaukee Bucks +Orlando Magic,New York Knicks +Utah Jazz,Boston Celtics +Washington Wizards,Dallas Mavericks +Sacramento Kings,Denver Nuggets +Indiana Pacers,Detroit Pistons +Memphis Grizzlies,Los Angeles Lakers +Minnesota Timberwolves,Philadelphia 76ers +Miami Heat,Phoenix Suns +Toronto Raptors,San Antonio Spurs +Oklahoma City Thunder,Charlotte Hornets +Chicago Bulls,Cleveland Cavaliers +Portland Trail Blazers,Golden State Warriors +Memphis Grizzlies,Los Angeles Clippers +Milwaukee Bucks,New York Knicks +Atlanta Hawks,Orlando Magic +Miami Heat,Sacramento Kings +Phoenix Suns,Dallas Mavericks +San Antonio Spurs,Denver Nuggets +Charlotte Hornets,Detroit Pistons +Oklahoma City Thunder,Houston Rockets +Brooklyn Nets,Indiana Pacers +Atlanta Hawks,New Orleans Pelicans +Los Angeles Lakers,Portland Trail Blazers +Utah Jazz,Toronto Raptors +Philadelphia 76ers,Boston Celtics +Cleveland Cavaliers,Brooklyn Nets +Memphis Grizzlies,Golden State Warriors +Miami Heat,Los Angeles Lakers +New York Knicks,Milwaukee Bucks +Houston Rockets,Orlando Magic +Los Angeles Clippers,Sacramento Kings +Minnesota Timberwolves,Washington Wizards +New Orleans Pelicans,Boston Celtics +Toronto Raptors,Chicago Bulls +Atlanta Hawks,Dallas Mavericks +New York Knicks,Indiana Pacers +Utah Jazz,Minnesota Timberwolves +Denver Nuggets,Oklahoma City Thunder +Charlotte Hornets,San Antonio Spurs +Philadelphia 76ers,Brooklyn Nets +Miami Heat,Los Angeles Clippers +Orlando Magic,Los Angeles Lakers +Utah Jazz,Memphis Grizzlies +Washington Wizards,Milwaukee Bucks +Cleveland Cavaliers,Phoenix Suns +Detroit Pistons,Portland Trail Blazers +Golden State Warriors,Sacramento Kings +Houston Rockets,Toronto Raptors +Oklahoma City Thunder,Chicago Bulls +Dallas Mavericks,Minnesota Timberwolves +New Orleans Pelicans,New York Knicks +Atlanta Hawks,Brooklyn Nets +Miami Heat,Golden State Warriors +Charlotte Hornets,Houston Rockets +Portland Trail Blazers,Los Angeles Lakers +Detroit Pistons,Sacramento Kings +Milwaukee Bucks,San Antonio Spurs +Boston Celtics,Toronto Raptors +Cleveland Cavaliers,Utah Jazz +Chicago Bulls,Washington Wizards +Washington Wizards,Boston Celtics +Orlando Magic,Los Angeles Clippers +Houston Rockets,Minnesota Timberwolves +Memphis Grizzlies,Oklahoma City Thunder +New York Knicks,Philadelphia 76ers +Cleveland Cavaliers,Portland Trail Blazers +New Orleans Pelicans,Brooklyn Nets +Indiana Pacers,Denver Nuggets +Detroit Pistons,Golden State Warriors +Chicago Bulls,New York Knicks +Dallas Mavericks,Phoenix Suns +Los Angeles Lakers,San Antonio Spurs +Boston Celtics,Atlanta Hawks +Memphis Grizzlies,Houston Rockets +Miami Heat,Milwaukee Bucks +Oklahoma City Thunder,Minnesota Timberwolves +Charlotte Hornets,Philadelphia 76ers +Orlando Magic,Portland Trail Blazers +Cleveland Cavaliers,Sacramento Kings +Brooklyn Nets,Toronto Raptors +Detroit Pistons,Utah Jazz +New Orleans Pelicans,Chicago Bulls +Los Angeles Lakers,Los Angeles Clippers +San Antonio Spurs,Phoenix Suns +Orlando Magic,Utah Jazz +Philadelphia 76ers,Washington Wizards +Milwaukee Bucks,Atlanta Hawks +Houston Rockets,Brooklyn Nets +Minnesota Timberwolves,Dallas Mavericks +Detroit Pistons,Los Angeles Lakers +Chicago Bulls,Memphis Grizzlies +Oklahoma City Thunder,Sacramento Kings +New York Knicks,Toronto Raptors +Charlotte Hornets,Boston Celtics +Orlando Magic,Denver Nuggets +Cleveland Cavaliers,Golden State Warriors +New Orleans Pelicans,Indiana Pacers +Oklahoma City Thunder,Los Angeles Clippers +Philadelphia 76ers,Milwaukee Bucks +Atlanta Hawks,New York Knicks +Utah Jazz,Phoenix Suns +Portland Trail Blazers,Washington Wizards +Toronto Raptors,Brooklyn Nets +Dallas Mavericks,Chicago Bulls +Denver Nuggets,Los Angeles Lakers +Houston Rockets,Miami Heat +Minnesota Timberwolves,San Antonio Spurs +New York Knicks,Boston Celtics +Portland Trail Blazers,Charlotte Hornets +Atlanta Hawks,Detroit Pistons +Oklahoma City Thunder,Golden State Warriors +Milwaukee Bucks,Houston Rockets +Orlando Magic,New Orleans Pelicans +Toronto Raptors,Philadelphia 76ers +Indiana Pacers,Sacramento Kings +Memphis Grizzlies,Washington Wizards +Phoenix Suns,Cleveland Cavaliers +Minnesota Timberwolves,Los Angeles Clippers +Dallas Mavericks,Miami Heat +Washington Wizards,New York Knicks +Denver Nuggets,San Antonio Spurs +Chicago Bulls,Atlanta Hawks +Toronto Raptors,Charlotte Hornets +Utah Jazz,Dallas Mavericks +Golden State Warriors,Houston Rockets +Indiana Pacers,Los Angeles Lakers +Sacramento Kings,Memphis Grizzlies +Brooklyn Nets,New Orleans Pelicans +Milwaukee Bucks,Orlando Magic +Portland Trail Blazers,Philadelphia 76ers +Philadelphia 76ers,Atlanta Hawks +Portland Trail Blazers,Boston Celtics +Sacramento Kings,Chicago Bulls +Brooklyn Nets,Charlotte Hornets +San Antonio Spurs,Cleveland Cavaliers +Los Angeles Clippers,Denver Nuggets +Washington Wizards,Detroit Pistons +Houston Rockets,Memphis Grizzlies +Milwaukee Bucks,Miami Heat +Phoenix Suns,New York Knicks +Indiana Pacers,Utah Jazz +Los Angeles Lakers,Dallas Mavericks +Denver Nuggets,Minnesota Timberwolves +Golden State Warriors,Orlando Magic +Phoenix Suns,Toronto Raptors +Los Angeles Clippers,Atlanta Hawks +San Antonio Spurs,Brooklyn Nets +Washington Wizards,Charlotte Hornets +Sacramento Kings,Detroit Pistons +New York Knicks,Indiana Pacers +Golden State Warriors,Miami Heat +Houston Rockets,Milwaukee Bucks +Cleveland Cavaliers,New Orleans Pelicans +Oklahoma City Thunder,Utah Jazz +Utah Jazz,Denver Nuggets +Chicago Bulls,Orlando Magic +Los Angeles Clippers,Philadelphia 76ers +Minnesota Timberwolves,Phoenix Suns +San Antonio Spurs,Toronto Raptors +Boston Celtics,Washington Wizards +Houston Rockets,Boston Celtics +Miami Heat,Brooklyn Nets +Atlanta Hawks,Chicago Bulls +Golden State Warriors,Charlotte Hornets +Sacramento Kings,Cleveland Cavaliers +New York Knicks,Dallas Mavericks +Toronto Raptors,Memphis Grizzlies +Philadelphia 76ers,Milwaukee Bucks +Oklahoma City Thunder,New Orleans Pelicans +Los Angeles Lakers,Portland Trail Blazers +Phoenix Suns,Denver Nuggets +Indiana Pacers,Minnesota Timberwolves +Dallas Mavericks,Oklahoma City Thunder +Los Angeles Lakers,Utah Jazz +Washington Wizards,Atlanta Hawks +Orlando Magic,Boston Celtics +Miami Heat,Chicago Bulls +Brooklyn Nets,Cleveland Cavaliers +Sacramento Kings,Indiana Pacers +San Antonio Spurs,New Orleans Pelicans +Charlotte Hornets,New York Knicks +Houston Rockets,Philadelphia 76ers +Memphis Grizzlies,Portland Trail Blazers +Milwaukee Bucks,Toronto Raptors +Sacramento Kings,Charlotte Hornets +Los Angeles Clippers,Golden State Warriors +Detroit Pistons,Miami Heat +Boston Celtics,Milwaukee Bucks +Brooklyn Nets,Minnesota Timberwolves +Denver Nuggets,Phoenix Suns +Memphis Grizzlies,Utah Jazz +New York Knicks,Atlanta Hawks +Philadelphia 76ers,Chicago Bulls +Oklahoma City Thunder,Cleveland Cavaliers +Houston Rockets,Indiana Pacers +Washington Wizards,New Orleans Pelicans +Golden State Warriors,Portland Trail Blazers +Dallas Mavericks,San Antonio Spurs +Orlando Magic,Toronto Raptors +Detroit Pistons,Boston Celtics +Cleveland Cavaliers,Dallas Mavericks +Brooklyn Nets,Miami Heat +Orlando Magic,Minnesota Timberwolves +Sacramento Kings,Philadelphia 76ers +Memphis Grizzlies,Phoenix Suns +Sacramento Kings,Houston Rockets +Denver Nuggets,Los Angeles Lakers +Charlotte Hornets,Portland Trail Blazers +Oklahoma City Thunder,San Antonio Spurs +New Orleans Pelicans,Toronto Raptors +New York Knicks,Washington Wizards +Toronto Raptors,Boston Celtics +New York Knicks,Brooklyn Nets +Minnesota Timberwolves,Cleveland Cavaliers +Philadelphia 76ers,Dallas Mavericks +Memphis Grizzlies,Denver Nuggets +New Orleans Pelicans,Detroit Pistons +Charlotte Hornets,Golden State Warriors +Atlanta Hawks,Miami Heat +Chicago Bulls,Oklahoma City Thunder +Indiana Pacers,Orlando Magic +Los Angeles Clippers,Phoenix Suns +Milwaukee Bucks,Utah Jazz +Atlanta Hawks,Houston Rockets +Golden State Warriors,Los Angeles Clippers +Philadelphia 76ers,San Antonio Spurs +Los Angeles Lakers,Washington Wizards +Los Angeles Lakers,Boston Celtics +Indiana Pacers,Brooklyn Nets +Milwaukee Bucks,Denver Nuggets +Minnesota Timberwolves,Detroit Pistons +Chicago Bulls,Houston Rockets +Memphis Grizzlies,Oklahoma City Thunder +Toronto Raptors,Orlando Magic +Dallas Mavericks,Portland Trail Blazers +Phoenix Suns,Sacramento Kings +Orlando Magic,Atlanta Hawks +Detroit Pistons,Indiana Pacers +Philadelphia 76ers,Miami Heat +Memphis Grizzlies,Minnesota Timberwolves +Cleveland Cavaliers,New York Knicks +Milwaukee Bucks,Phoenix Suns +Golden State Warriors,Sacramento Kings +Denver Nuggets,San Antonio Spurs +Charlotte Hornets,Utah Jazz +New Orleans Pelicans,Washington Wizards +Los Angeles Clippers,Boston Celtics +Toronto Raptors,Brooklyn Nets +Portland Trail Blazers,Oklahoma City Thunder +Utah Jazz,Atlanta Hawks +Dallas Mavericks,Denver Nuggets +Philadelphia 76ers,Detroit Pistons +Oklahoma City Thunder,Indiana Pacers +San Antonio Spurs,Memphis Grizzlies +Miami Heat,Minnesota Timberwolves +Phoenix Suns,New Orleans Pelicans +Los Angeles Lakers,New York Knicks +Chicago Bulls,Sacramento Kings +Los Angeles Clippers,Toronto Raptors +Cleveland Cavaliers,Washington Wizards +Brooklyn Nets,Charlotte Hornets +Portland Trail Blazers,Dallas Mavericks +Orlando Magic,Houston Rockets +Denver Nuggets,Atlanta Hawks +Washington Wizards,Brooklyn Nets +Los Angeles Lakers,Detroit Pistons +Chicago Bulls,Golden State Warriors +Cleveland Cavaliers,Indiana Pacers +Phoenix Suns,Memphis Grizzlies +Miami Heat,Milwaukee Bucks +Toronto Raptors,Minnesota Timberwolves +Utah Jazz,New Orleans Pelicans +Los Angeles Clippers,New York Knicks +San Antonio Spurs,Philadelphia 76ers +Boston Celtics,Sacramento Kings +Houston Rockets,Charlotte Hornets +Utah Jazz,Dallas Mavericks +Cleveland Cavaliers,Oklahoma City Thunder +Philadelphia 76ers,Orlando Magic +Boston Celtics,Portland Trail Blazers +Miami Heat,Brooklyn Nets +San Antonio Spurs,Detroit Pistons +Golden State Warriors,Memphis Grizzlies +Los Angeles Lakers,Milwaukee Bucks +New Orleans Pelicans,Minnesota Timberwolves +Denver Nuggets,New York Knicks +Chicago Bulls,Phoenix Suns +Atlanta Hawks,Sacramento Kings +Indiana Pacers,Washington Wizards +Los Angeles Clippers,Charlotte Hornets +Denver Nuggets,Cleveland Cavaliers +Orlando Magic,Dallas Mavericks +Phoenix Suns,Houston Rockets +Milwaukee Bucks,Indiana Pacers +Golden State Warriors,Oklahoma City Thunder +Miami Heat,Philadelphia 76ers +Boston Celtics,Utah Jazz +Chicago Bulls,Minnesota Timberwolves +San Antonio Spurs,New York Knicks +New Orleans Pelicans,Sacramento Kings +Detroit Pistons,Toronto Raptors +Memphis Grizzlies,Brooklyn Nets +Philadelphia 76ers,Charlotte Hornets +Boston Celtics,Dallas Mavericks +Golden State Warriors,Denver Nuggets +San Antonio Spurs,Indiana Pacers +Orlando Magic,Miami Heat +Detroit Pistons,Milwaukee Bucks +New Orleans Pelicans,Phoenix Suns +Atlanta Hawks,Portland Trail Blazers +Los Angeles Clippers,Utah Jazz +Oklahoma City Thunder,Washington Wizards +Toronto Raptors,Chicago Bulls +Sacramento Kings,Los Angeles Lakers +Cleveland Cavaliers,Minnesota Timberwolves +Philadelphia 76ers,Boston Celtics +Milwaukee Bucks,Brooklyn Nets +Indiana Pacers,Cleveland Cavaliers +Minnesota Timberwolves,Denver Nuggets +Dallas Mavericks,Detroit Pistons +Sacramento Kings,Golden State Warriors +Miami Heat,Houston Rockets +Atlanta Hawks,Los Angeles Clippers +New Orleans Pelicans,Memphis Grizzlies +New York Knicks,Oklahoma City Thunder +San Antonio Spurs,Orlando Magic +Los Angeles Lakers,Phoenix Suns +Charlotte Hornets,Toronto Raptors +Portland Trail Blazers,Utah Jazz +Boston Celtics,Chicago Bulls +Washington Wizards,Indiana Pacers +New York Knicks,Cleveland Cavaliers +Charlotte Hornets,Detroit Pistons +Los Angeles Clippers,Golden State Warriors +Houston Rockets,New Orleans Pelicans +Portland Trail Blazers,Orlando Magic +Denver Nuggets,Sacramento Kings +Miami Heat,Atlanta Hawks +Phoenix Suns,Chicago Bulls +Brooklyn Nets,Denver Nuggets +Memphis Grizzlies,Indiana Pacers +San Antonio Spurs,Los Angeles Clippers +Utah Jazz,Milwaukee Bucks +Dallas Mavericks,Minnesota Timberwolves +Los Angeles Lakers,Oklahoma City Thunder +Washington Wizards,Philadelphia 76ers +Boston Celtics,Toronto Raptors +Chicago Bulls,Cleveland Cavaliers +New Orleans Pelicans,Dallas Mavericks +Brooklyn Nets,Golden State Warriors +Minnesota Timberwolves,Houston Rockets +Indiana Pacers,Miami Heat +Philadelphia 76ers,New York Knicks +Atlanta Hawks,Orlando Magic +Charlotte Hornets,Sacramento Kings +Memphis Grizzlies,Denver Nuggets +Boston Celtics,Detroit Pistons +Charlotte Hornets,Los Angeles Clippers +San Antonio Spurs,Los Angeles Lakers +Phoenix Suns,Milwaukee Bucks +New Orleans Pelicans,Oklahoma City Thunder +Portland Trail Blazers,Toronto Raptors +Utah Jazz,Washington Wizards +Atlanta Hawks,Boston Celtics +Milwaukee Bucks,Cleveland Cavaliers +Miami Heat,Dallas Mavericks +Indiana Pacers,Houston Rockets +Toronto Raptors,New York Knicks +Golden State Warriors,Philadelphia 76ers +Minnesota Timberwolves,Sacramento Kings +Denver Nuggets,Chicago Bulls +Portland Trail Blazers,Detroit Pistons +Charlotte Hornets,Los Angeles Lakers +Phoenix Suns,Memphis Grizzlies +Utah Jazz,Oklahoma City Thunder +Golden State Warriors,Washington Wizards +Dallas Mavericks,Atlanta Hawks +Cleveland Cavaliers,Boston Celtics +Houston Rockets,Los Angeles Clippers +Philadelphia 76ers,Miami Heat +Denver Nuggets,Milwaukee Bucks +Detroit Pistons,New Orleans Pelicans +New York Knicks,Orlando Magic +Brooklyn Nets,Sacramento Kings +Indiana Pacers,San Antonio Spurs +Washington Wizards,Toronto Raptors +Minnesota Timberwolves,Utah Jazz +Golden State Warriors,Chicago Bulls +Charlotte Hornets,Phoenix Suns +Oklahoma City Thunder,Portland Trail Blazers +Cleveland Cavaliers,Atlanta Hawks +Memphis Grizzlies,Dallas Mavericks +Boston Celtics,Los Angeles Lakers +Los Angeles Clippers,Milwaukee Bucks +San Antonio Spurs,New Orleans Pelicans +Miami Heat,Orlando Magic +New York Knicks,Philadelphia 76ers +Oklahoma City Thunder,Phoenix Suns +Brooklyn Nets,Utah Jazz +Toronto Raptors,Washington Wizards +Los Angeles Clippers,Chicago Bulls +Charlotte Hornets,Denver Nuggets +Memphis Grizzlies,Houston Rockets +Cleveland Cavaliers,Miami Heat +Toronto Raptors,Milwaukee Bucks +Detroit Pistons,Philadelphia 76ers +Brooklyn Nets,Portland Trail Blazers +Minnesota Timberwolves,San Antonio Spurs +Indiana Pacers,Atlanta Hawks +Oklahoma City Thunder,Dallas Mavericks +New Orleans Pelicans,Los Angeles Lakers +Golden State Warriors,New York Knicks +Boston Celtics,Phoenix Suns +Utah Jazz,Sacramento Kings +Orlando Magic,Washington Wizards +Golden State Warriors,Atlanta Hawks +Indiana Pacers,Charlotte Hornets +Miami Heat,Cleveland Cavaliers +Sacramento Kings,Denver Nuggets +Chicago Bulls,Detroit Pistons +Boston Celtics,Los Angeles Clippers +Brooklyn Nets,Memphis Grizzlies +New York Knicks,Orlando Magic +Milwaukee Bucks,Philadelphia 76ers +Houston Rockets,San Antonio Spurs +New Orleans Pelicans,Utah Jazz +Los Angeles Lakers,Dallas Mavericks +Portland Trail Blazers,Oklahoma City Thunder +Washington Wizards,Phoenix Suns +Brooklyn Nets,Atlanta Hawks +Washington Wizards,Denver Nuggets +Boston Celtics,Golden State Warriors +Utah Jazz,Houston Rockets +Detroit Pistons,Indiana Pacers +Charlotte Hornets,Miami Heat +New York Knicks,Milwaukee Bucks +Los Angeles Clippers,Minnesota Timberwolves +Toronto Raptors,New Orleans Pelicans +Chicago Bulls,Orlando Magic +Sacramento Kings,San Antonio Spurs +Cleveland Cavaliers,Detroit Pistons +Los Angeles Clippers,Memphis Grizzlies +San Antonio Spurs,Oklahoma City Thunder +Los Angeles Lakers,Phoenix Suns +Philadelphia 76ers,Portland Trail Blazers +Toronto Raptors,Atlanta Hawks +Houston Rockets,Chicago Bulls +Orlando Magic,Charlotte Hornets +Brooklyn Nets,Dallas Mavericks +Boston Celtics,Denver Nuggets +Indiana Pacers,Milwaukee Bucks +Golden State Warriors,Minnesota Timberwolves +Washington Wizards,Sacramento Kings +New Orleans Pelicans,Charlotte Hornets +Phoenix Suns,Dallas Mavericks +New York Knicks,Detroit Pistons +Philadelphia 76ers,Los Angeles Clippers +Atlanta Hawks,Memphis Grizzlies +Toronto Raptors,Miami Heat +Minnesota Timberwolves,Milwaukee Bucks +Utah Jazz,Oklahoma City Thunder +Cleveland Cavaliers,Orlando Magic +Washington Wizards,Portland Trail Blazers +Denver Nuggets,Sacramento Kings +Golden State Warriors,San Antonio Spurs +Chicago Bulls,Boston Celtics +New York Knicks,Brooklyn Nets +Cleveland Cavaliers,Houston Rockets +Miami Heat,Indiana Pacers +Philadelphia 76ers,Los Angeles Lakers +Portland Trail Blazers,Phoenix Suns +Chicago Bulls,Charlotte Hornets +Los Angeles Lakers,Denver Nuggets +Milwaukee Bucks,Memphis Grizzlies +Washington Wizards,Minnesota Timberwolves +Orlando Magic,Sacramento Kings +Atlanta Hawks,San Antonio Spurs +Dallas Mavericks,Toronto Raptors +Los Angeles Clippers,Utah Jazz +Oklahoma City Thunder,Brooklyn Nets +Detroit Pistons,Cleveland Cavaliers +Philadelphia 76ers,Golden State Warriors +Portland Trail Blazers,New Orleans Pelicans +Indiana Pacers,New York Knicks +Minnesota Timberwolves,Boston Celtics +Memphis Grizzlies,Chicago Bulls +Utah Jazz,Detroit Pistons +Los Angeles Lakers,Houston Rockets +Charlotte Hornets,Indiana Pacers +Milwaukee Bucks,Los Angeles Clippers +New Orleans Pelicans,Miami Heat +Sacramento Kings,Phoenix Suns +Portland Trail Blazers,San Antonio Spurs +Dallas Mavericks,Washington Wizards +Memphis Grizzlies,Atlanta Hawks +Utah Jazz,Cleveland Cavaliers +Los Angeles Clippers,Denver Nuggets +Orlando Magic,Golden State Warriors +Brooklyn Nets,New York Knicks +Oklahoma City Thunder,Toronto Raptors +Boston Celtics,Brooklyn Nets +Toronto Raptors,Detroit Pistons +Milwaukee Bucks,Los Angeles Lakers +Minnesota Timberwolves,Miami Heat +Houston Rockets,New Orleans Pelicans +Dallas Mavericks,Philadelphia 76ers +Orlando Magic,Phoenix Suns +Chicago Bulls,Washington Wizards +Portland Trail Blazers,Atlanta Hawks +Utah Jazz,Chicago Bulls +Washington Wizards,Charlotte Hornets +Houston Rockets,Denver Nuggets +Milwaukee Bucks,Golden State Warriors +Cleveland Cavaliers,Los Angeles Clippers +San Antonio Spurs,Memphis Grizzlies +Sacramento Kings,Oklahoma City Thunder +Dallas Mavericks,Brooklyn Nets +Phoenix Suns,Detroit Pistons +Cleveland Cavaliers,Los Angeles Lakers +Portland Trail Blazers,Miami Heat +Minnesota Timberwolves,New Orleans Pelicans +Boston Celtics,Philadelphia 76ers +Sacramento Kings,San Antonio Spurs +Indiana Pacers,Toronto Raptors +Washington Wizards,Boston Celtics +Atlanta Hawks,Charlotte Hornets +Denver Nuggets,Houston Rockets +Utah Jazz,Indiana Pacers +New York Knicks,Los Angeles Clippers +Golden State Warriors,Oklahoma City Thunder +Philadelphia 76ers,Orlando Magic +Detroit Pistons,Brooklyn Nets +Golden State Warriors,Dallas Mavericks +Los Angeles Clippers,Los Angeles Lakers +Phoenix Suns,Miami Heat +San Antonio Spurs,Minnesota Timberwolves +Memphis Grizzlies,New Orleans Pelicans +Milwaukee Bucks,Portland Trail Blazers +Chicago Bulls,Toronto Raptors +Indiana Pacers,Boston Celtics +Detroit Pistons,Chicago Bulls +Cleveland Cavaliers,Denver Nuggets +Philadelphia 76ers,Oklahoma City Thunder +Charlotte Hornets,Orlando Magic +Milwaukee Bucks,Sacramento Kings +New York Knicks,Utah Jazz +Atlanta Hawks,Washington Wizards +Phoenix Suns,Brooklyn Nets +Los Angeles Clippers,Dallas Mavericks +Toronto Raptors,Miami Heat +New York Knicks,Portland Trail Blazers +Memphis Grizzlies,San Antonio Spurs +Phoenix Suns,Boston Celtics +Philadelphia 76ers,Chicago Bulls +Cleveland Cavaliers,Charlotte Hornets +Sacramento Kings,Golden State Warriors +New Orleans Pelicans,Houston Rockets +Denver Nuggets,Indiana Pacers +Minnesota Timberwolves,Los Angeles Lakers +Atlanta Hawks,Milwaukee Bucks +Detroit Pistons,Orlando Magic +Brooklyn Nets,Washington Wizards +Washington Wizards,Cleveland Cavaliers +Toronto Raptors,Dallas Mavericks +Utah Jazz,Los Angeles Clippers +Minnesota Timberwolves,Portland Trail Blazers +New York Knicks,San Antonio Spurs +Brooklyn Nets,Atlanta Hawks +Miami Heat,Boston Celtics +Phoenix Suns,Charlotte Hornets +New Orleans Pelicans,Denver Nuggets +Memphis Grizzlies,Golden State Warriors +Oklahoma City Thunder,Houston Rockets +Philadelphia 76ers,Indiana Pacers +Sacramento Kings,Los Angeles Clippers +Portland Trail Blazers,Los Angeles Lakers +Chicago Bulls,Milwaukee Bucks +Oklahoma City Thunder,Dallas Mavericks +Detroit Pistons,New York Knicks +Memphis Grizzlies,Sacramento Kings +Cleveland Cavaliers,San Antonio Spurs +Orlando Magic,Toronto Raptors +New Orleans Pelicans,Utah Jazz +Phoenix Suns,Atlanta Hawks +Philadelphia 76ers,Brooklyn Nets +Milwaukee Bucks,Charlotte Hornets +Miami Heat,Detroit Pistons +Golden State Warriors,Houston Rockets +Minnesota Timberwolves,Indiana Pacers +Washington Wizards,Los Angeles Lakers +Denver Nuggets,Portland Trail Blazers +Milwaukee Bucks,Boston Celtics +Washington Wizards,Los Angeles Clippers +Indiana Pacers,Memphis Grizzlies +Dallas Mavericks,New Orleans Pelicans +Miami Heat,New York Knicks +Oklahoma City Thunder,Orlando Magic +Atlanta Hawks,Philadelphia 76ers +Utah Jazz,Sacramento Kings +Golden State Warriors,San Antonio Spurs +Charlotte Hornets,Toronto Raptors +Cleveland Cavaliers,Chicago Bulls +Brooklyn Nets,Detroit Pistons +Los Angeles Lakers,Minnesota Timberwolves +Los Angeles Clippers,Phoenix Suns +Houston Rockets,Portland Trail Blazers +Orlando Magic,Boston Celtics +Denver Nuggets,Charlotte Hornets +Philadelphia 76ers,Cleveland Cavaliers +Houston Rockets,Golden State Warriors +Dallas Mavericks,Memphis Grizzlies +New York Knicks,Miami Heat +Detroit Pistons,Milwaukee Bucks +Sacramento Kings,New Orleans Pelicans +San Antonio Spurs,Oklahoma City Thunder +Indiana Pacers,Toronto Raptors +Washington Wizards,Utah Jazz +Orlando Magic,Brooklyn Nets +Atlanta Hawks,Chicago Bulls +Los Angeles Lakers,Los Angeles Clippers +Sacramento Kings,Minnesota Timberwolves +Phoenix Suns,Portland Trail Blazers +Atlanta Hawks,Brooklyn Nets +Indiana Pacers,Cleveland Cavaliers +Washington Wizards,Golden State Warriors +Memphis Grizzlies,Los Angeles Lakers +Denver Nuggets,Miami Heat +Dallas Mavericks,Milwaukee Bucks +Chicago Bulls,New Orleans Pelicans +Boston Celtics,New York Knicks +Charlotte Hornets,Oklahoma City Thunder +Houston Rockets,Phoenix Suns +Utah Jazz,San Antonio Spurs +Philadelphia 76ers,Toronto Raptors +Orlando Magic,Cleveland Cavaliers +Minnesota Timberwolves,Golden State Warriors +Toronto Raptors,Indiana Pacers +Denver Nuggets,New Orleans Pelicans +Chicago Bulls,New York Knicks +Milwaukee Bucks,Oklahoma City Thunder +Brooklyn Nets,Philadelphia 76ers +Dallas Mavericks,Sacramento Kings +Memphis Grizzlies,San Antonio Spurs +Portland Trail Blazers,Utah Jazz +Charlotte Hornets,Washington Wizards +Cleveland Cavaliers,Boston Celtics +Miami Heat,Charlotte Hornets +Toronto Raptors,Detroit Pistons +Denver Nuggets,Houston Rockets +Dallas Mavericks,Los Angeles Clippers +Oklahoma City Thunder,Memphis Grizzlies +Golden State Warriors,Phoenix Suns +Los Angeles Lakers,San Antonio Spurs +Boston Celtics,Atlanta Hawks +Milwaukee Bucks,Indiana Pacers +Washington Wizards,New York Knicks +Brooklyn Nets,Orlando Magic +Chicago Bulls,Philadelphia 76ers +Minnesota Timberwolves,Portland Trail Blazers +Atlanta Hawks,Cleveland Cavaliers +San Antonio Spurs,Dallas Mavericks +New Orleans Pelicans,Denver Nuggets +Detroit Pistons,Houston Rockets +Sacramento Kings,Los Angeles Lakers +New York Knicks,Memphis Grizzlies +Oklahoma City Thunder,Phoenix Suns +Miami Heat,Toronto Raptors +Minnesota Timberwolves,Utah Jazz +Chicago Bulls,Brooklyn Nets +Boston Celtics,Charlotte Hornets +New Orleans Pelicans,Golden State Warriors +Indiana Pacers,Orlando Magic +Milwaukee Bucks,Philadelphia 76ers +Utah Jazz,Portland Trail Blazers +Los Angeles Clippers,San Antonio Spurs +Miami Heat,Washington Wizards +Cleveland Cavaliers,Atlanta Hawks +Oklahoma City Thunder,Denver Nuggets +Minnesota Timberwolves,Los Angeles Lakers +Detroit Pistons,Memphis Grizzlies +Toronto Raptors,New York Knicks +Dallas Mavericks,Phoenix Suns +Houston Rockets,Sacramento Kings +Brooklyn Nets,Boston Celtics +Orlando Magic,Chicago Bulls +Washington Wizards,Detroit Pistons +Utah Jazz,Golden State Warriors +Houston Rockets,Los Angeles Clippers +Cleveland Cavaliers,Miami Heat +Charlotte Hornets,Milwaukee Bucks +Indiana Pacers,Philadelphia 76ers +San Antonio Spurs,Portland Trail Blazers +Charlotte Hornets,Atlanta Hawks +Denver Nuggets,Dallas Mavericks +New Orleans Pelicans,Los Angeles Lakers +Oklahoma City Thunder,Minnesota Timberwolves +Phoenix Suns,Sacramento Kings +Milwaukee Bucks,Boston Celtics +Brooklyn Nets,Chicago Bulls +Toronto Raptors,Cleveland Cavaliers +Los Angeles Lakers,Golden State Warriors +Minnesota Timberwolves,Houston Rockets +Atlanta Hawks,Indiana Pacers +Sacramento Kings,Los Angeles Clippers +Dallas Mavericks,Memphis Grizzlies +Washington Wizards,Miami Heat +Philadelphia 76ers,New York Knicks +Denver Nuggets,Oklahoma City Thunder +Detroit Pistons,Orlando Magic +New Orleans Pelicans,Portland Trail Blazers +San Antonio Spurs,Utah Jazz diff --git a/other/data/advanced_team.csv b/other/data/advanced_team.csv new file mode 100644 index 0000000..5f3955d --- /dev/null +++ b/other/data/advanced_team.csv @@ -0,0 +1,31 @@ +Rk,Team,Age,W,L,PW,PL,MOV,SOS,SRS,ORtg,DRtg,NRtg,Pace,FTr,3PAr,TS%,eFG%,TOV%,ORB%,FT/FGA,eFG%,TOV%,DRB%,FT/FGA,Arena,Attend.,Attend./G +1,San Antonio Spurs,30.3,67,15,67,15,10.63,-0.36,10.28,110.3,99.0,+11.3,93.8,.246,.223,.564,.526,12.4,23.0,.197,.477,14.1,79.1,.182,AT&T Center,"756,445","18,450" +2,Golden State Warriors,27.4,73,9,65,17,10.76,-0.38,10.38,114.5,103.8,+10.7,99.3,.250,.362,.593,.563,13.5,23.5,.191,.479,12.6,76.0,.208,Oracle Arena,"803,436","19,596" +3,Oklahoma City Thunder,25.8,55,27,59,23,7.28,-0.19,7.09,113.1,105.6,+7.5,96.7,.292,.275,.565,.524,14.0,31.1,.228,.484,11.7,76.0,.205,Chesapeake Energy Arena,"746,323","18,203" +4,Cleveland Cavaliers,28.1,57,25,57,25,6.00,-0.55,5.45,110.9,104.5,+6.4,93.3,.259,.352,.558,.524,12.7,25.1,.194,.496,12.6,78.5,.205,Quicken Loans Arena,"843,042","20,562" +5,Toronto Raptors,26.3,56,26,53,29,4.50,-0.42,4.08,110.0,105.2,+4.8,92.9,.328,.287,.552,.504,12.3,24.6,.255,.498,12.7,77.7,.201,Air Canada Centre,"812,863","19,826" +6,Los Angeles Clippers,29.7,53,29,53,29,4.28,-0.15,4.13,108.3,103.8,+4.5,95.8,.318,.324,.556,.524,12.1,20.1,.220,.480,13.8,73.8,.222,STAPLES Center,"786,910","19,193" +7,Atlanta Hawks,28.2,48,34,51,31,3.61,-0.12,3.49,105.1,101.4,+3.7,97.1,.237,.336,.552,.516,13.8,19.1,.185,.480,14.4,74.6,.194,Philips Arena,"690,150","16,833" +8,Boston Celtics,25.2,48,34,50,32,3.21,-0.37,2.84,106.8,103.6,+3.2,98.5,.264,.293,.531,.488,12.1,25.1,.208,.487,14.6,74.6,.231,TD Garden,"749,076","18,270" +9,Charlotte Hornets,26.0,48,34,49,33,2.72,-0.36,2.36,107.1,104.3,+2.8,95.7,.280,.348,.545,.502,11.7,20.0,.222,.496,12.5,79.8,.191,Time Warner Cable Arena,"716,894","17,485" +10,Utah Jazz,40,42,46,36,1.79,0.05,1.84,105.9,103.9,+2.0,91.0,.286,.297,.540,.501,14.2,25.9,.213,.495,13.5,77.7,.210,Vivint Smart Home Arena,"791,489","19,305" +11,Miami Heat,28.4,48,34,46,36,1.65,-0.14,1.50,106.1,104.4,+1.7,93.6,.282,.221,.545,.508,13.3,23.8,.210,.485,12.1,77.8,.196,AmericanAirlines Arena,"809,350","19,740" +12,Indiana Pacers,26.9,45,37,46,36,1.71,-0.09,1.62,104.6,102.9,+1.7,96.6,.268,.270,.536,.497,13.5,23.4,.205,.489,14.3,76.0,.205,Bankers Life Fieldhouse,"690,733","16,847" +13,Portland Trail Blazers,24.3,44,38,43,39,0.83,0.15,0.98,108.8,108.0,+0.8,96.0,.268,.332,.548,.511,13.2,25.9,.202,.503,12.1,76.2,.225,Moda Center,"794,085","19,368" +14,Detroit Pistons,25.0,44,38,43,39,0.61,-0.18,0.43,106.1,105.5,+0.6,95.1,.296,.303,.522,.491,12.2,27.0,.197,.504,12.5,79.3,.196,The Palace of Auburn Hills,"677,138","16,516" +15,Houston Rockets,27.8,41,41,42,40,0.20,0.14,0.34,108.3,108.1,+0.2,97.6,.352,.370,.553,.516,14.2,25.7,.244,.516,14.7,72.8,.219,Toyota Center,"737,244","17,982" +16,Dallas Mavericks,30.3,42,40,40,42,-0.30,0.29,-0.02,106.7,107.0,-0.3,94.3,.265,.339,.544,.502,12.0,20.6,.211,.504,12.8,76.2,.198,American Airlines Center,"825,901","20,144" +17,Washington Wizards,41,41,40,42,-0.50,0.00,-0.50,105.3,105.8,-0.5,98.5,.263,.282,.544,.511,13.1,20.6,.192,.515,14.6,77.7,.218,Verizon Center,"725,426","17,693" +18,Chicago Bulls,42,40,37,45,-1.48,0.01,-1.46,105.0,106.5,-1.5,95.7,.240,.244,.526,.487,12.6,24.5,.189,.485,10.7,74.9,.182,United Center,"894,659","21,821" +19,Orlando Magic,35,47,36,46,-1.62,-0.06,-1.68,105.1,106.8,-1.7,96.0,.232,.255,.533,.500,12.8,23.1,.175,.513,13.8,76.5,.215,Amway Center,"719,275","17,515" +20,Sacramento Kings,33,49,34,48,-2.48,0.16,-2.32,106.0,108.4,-2.4,100.0,.295,.260,.546,.510,14.2,23.9,.214,.521,14.0,74.9,.202,Sleep Train Arena,"707,526","17,222" +21,Memphis Grizzlies,30.5,42,40,35,47,-2.24,0.11,-2.14,105.4,107.8,-2.4,93.3,.295,.222,.524,.477,12.3,25.3,.231,.518,15.2,75.1,.251,FedEx Forum,"701,894","17,119" +22,New York Knicks,32,50,33,49,-2.73,0.00,-2.74,104.6,107.6,-3.0,93.4,.255,.256,.527,.483,12.6,23.7,.205,.487,10.5,75.8,.204,Madison Square Garden (IV),"812,292","19,812" +23,Denver Nuggets,33,49,33,49,-3.10,0.29,-2.81,105.6,108.9,-3.3,95.7,.282,.277,.531,.489,13.2,25.8,.216,.515,12.6,77.3,.216,Pepsi Center,"577,898","14,095" +24,Minnesota Timberwolves,29,53,31,51,-3.54,0.15,-3.38,106.5,110.1,-3.6,95.2,.332,.202,.549,.498,13.9,24.3,.263,.524,13.6,74.7,.200,Target Center,"581,178","14,175" +25,New Orleans Pelicans,30,52,31,51,-3.79,0.24,-3.56,105.6,109.5,-3.9,96.8,.259,.277,.537,.498,12.3,21.2,.201,.523,12.7,78.8,.225,Smoothie King Center,"688,549","16,794" +26,Milwaukee Bucks,33,49,29,53,-4.18,0.20,-3.98,104.3,108.7,-4.4,94.2,.276,.189,.537,.499,14.2,24.9,.207,.510,14.2,73.1,.221,BMO Harris Bradley Center,"621,808","15,166" +27,Phoenix Suns,23,59,24,58,-6.66,0.34,-6.32,102.2,109.0,-6.8,98.5,.271,.302,.526,.487,15.2,25.4,.204,.523,13.5,77.1,.237,Talking Stick Resort Arena,"701,405","17,107" +28,Brooklyn Nets,21,61,22,60,-7.35,0.24,-7.12,103.2,110.9,-7.7,95.2,.246,.218,.527,.492,13.6,24.1,.186,.534,13.1,75.7,.176,Barclays Center,"620,142","15,125" +29,Los Angeles Lakers,17,65,17,65,-9.56,0.64,-8.92,101.6,111.6,-10.0,95.6,.292,.290,.509,.460,12.5,23.1,.228,.523,11.6,74.7,.202,STAPLES Center,"778,877","18,997" +30,Philadelphia 76ers,10,72,16,66,-10.23,0.31,-9.92,98.8,109.2,-10.4,97.9,.269,.327,.519,.487,14.8,20.6,.186,.510,13.5,74.0,.240,Wells Fargo Center,"614,650","14,991" diff --git a/other/可视化_NBA数据分析 2022-11-27 14-38-48.mp4 b/other/可视化_NBA数据分析 2022-11-27 14-38-48.mp4 new file mode 100644 index 0000000..4775964 Binary files /dev/null and b/other/可视化_NBA数据分析 2022-11-27 14-38-48.mp4 differ diff --git a/other/软件开发项目的个人自评报告.xlsx b/other/软件开发项目的个人自评报告.xlsx new file mode 100644 index 0000000..6cbcc39 Binary files /dev/null and b/other/软件开发项目的个人自评报告.xlsx differ diff --git a/other/软件开发项目的团队自评报告.xlsx b/other/软件开发项目的团队自评报告.xlsx new file mode 100644 index 0000000..f32a4d3 Binary files /dev/null and b/other/软件开发项目的团队自评报告.xlsx differ diff --git a/src/.idea/.gitignore b/src/.idea/.gitignore new file mode 100644 index 0000000..359bb53 --- /dev/null +++ b/src/.idea/.gitignore @@ -0,0 +1,3 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml diff --git a/src/.idea/inspectionProfiles/Project_Default.xml b/src/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..587e609 --- /dev/null +++ b/src/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/src/.idea/inspectionProfiles/profiles_settings.xml b/src/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/src/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/src/.idea/misc.xml b/src/.idea/misc.xml new file mode 100644 index 0000000..7a85af6 --- /dev/null +++ b/src/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml new file mode 100644 index 0000000..faeddb7 --- /dev/null +++ b/src/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/.idea/nba.iml b/src/.idea/nba.iml new file mode 100644 index 0000000..9b31378 --- /dev/null +++ b/src/.idea/nba.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/.vs/ProjectSettings.json b/src/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/src/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/src/.vs/VSWorkspaceState.json b/src/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/src/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/src/.vs/nba1/FileContentIndex/7f326b57-3abb-46fe-9592-dd24180f7e3d.vsidx b/src/.vs/nba1/FileContentIndex/7f326b57-3abb-46fe-9592-dd24180f7e3d.vsidx new file mode 100644 index 0000000..87e48bb Binary files /dev/null and b/src/.vs/nba1/FileContentIndex/7f326b57-3abb-46fe-9592-dd24180f7e3d.vsidx differ diff --git a/src/.vs/nba1/FileContentIndex/read.lock b/src/.vs/nba1/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/src/.vs/nba1/v17/.suo b/src/.vs/nba1/v17/.suo new file mode 100644 index 0000000..94dccca Binary files /dev/null and b/src/.vs/nba1/v17/.suo differ diff --git a/src/.vs/slnx.sqlite b/src/.vs/slnx.sqlite new file mode 100644 index 0000000..605c1d9 Binary files /dev/null and b/src/.vs/slnx.sqlite differ diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json new file mode 100644 index 0000000..6f3a291 --- /dev/null +++ b/src/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/src/NBAPlayer.py b/src/NBAPlayer.py new file mode 100644 index 0000000..43ca571 --- /dev/null +++ b/src/NBAPlayer.py @@ -0,0 +1,160 @@ +import re +import urllib.request,urllib.error +import xlwt +import sqlite3 +import socket +import time +import json + +def main(): #主程序 + print("开始爬取.....") + year=2010 #起始年份 + baseurl='https://china.nba.com/static/data/league/playerstats_All_All_All_0_All_false_2018_2_All_Team_points_All_perGame.json' + #获得数据 + NBAPlayerdatadict=getdata(baseurl,year) + #所需信息的抬头列表 + cols_index2 = ['displayName',"code", 'position', 'name',"code",'games', + 'points', 'pointsPg', 'rebsPg', 'assistsPg', + 'minsPg', 'fgpct', 'tppct', 'ftpct', 'blocksPg', + 'foulsPg', 'height', 'weight' + ] + cols_index1 = ['playerProfile','playerProfile', 'playerProfile', 'teamProfile', + 'teamProfile', 'statAverage', + 'statTotal', 'statAverage', 'statAverage', 'statAverage', + 'statAverage', 'statAverage', 'statAverage', 'statAverage', + 'statAverage', 'statAverage', 'playerProfile', 'playerProfile' + ] + #保存数据 + savepath='.//'+str(year)+'年-2020年NBA球员数据排行TOP50.xls' + savedata(NBAPlayerdatadict,savepath,year,cols_index1,cols_index2) + #数据库位置 + dbpath='.//NBA球员数据库.db' + #将数据保存到数据库 + saveDB(NBAPlayerdatadict,dbpath,year,cols_index1,cols_index2) + print('成功爬取并保存数据!') +def getdata(baseurl,year): #爬取网页获得需要的数据 + Playerdatadict={} + for i in range(year,2020): + #创建模式匹配更换url获取不同年份的data + pattern_date = re.compile(r'(_\d*?_\d)', re.S) + newbaseurl = re.sub(pattern_date, '_'+str(i)+'_2', baseurl) + html=askUrl(newbaseurl) + # 将html中的文件进行json解析得到Playerdata字典 + Playerdata=json.loads(html) + # 将Playerdata放大字典中并带上年份 + Playerdatadict.setdefault(str(i)+"年", {}).update(Playerdata) + time.sleep(0.05) # 设置爬虫间隔 + print('成功获取数据!') + return Playerdatadict +def savedata(Playerdatadict,savepath,year,cols_index1,cols_index2): #保存数据到Excel + cols=['排名','球员','球员链接','位置','球队','球队链接', + '出场数','赛季得分','场均得分','场均篮板', + '场均助攻','分钟','命中率','三分命中率(%)', + '罚球命中率','场均盖帽','场均失误','身高(m)','体重'] + workbook = xlwt.Workbook(encoding='UTF-8') # 创建workbook + for i in range(year, 2020): + worksheet = workbook.add_sheet(str(i) + '年') # 创建工作表 + for j in range(len(cols)): + worksheet.write(0,j,cols[j]) + for k in range(len(Playerdatadict[str(i) + '年']['payload']['players'])): + worksheet.write(k + 1, 0, k + 1) + for n in range(len(cols_index1)): + p_link = r'https://china.nba.com/players/#!/' + t_link = r'https://china.nba.com/' + # 从Playerdatadict将有效信息取出来 + Playerdatadict_info = Playerdatadict[str(i) + "年"]['payload']['players'][k][cols_index1[n]][ + cols_index2[n]] + if n != 1 and n != 4: + worksheet.write(k + 1, n + 1, Playerdatadict_info) + elif n == 1: # 球员链接+str(link) + worksheet.write(k + 1, n + 1, p_link + Playerdatadict_info) + else: + worksheet.write(k + 1, n + 1, t_link + Playerdatadict_info) + workbook.save(savepath) + print('保存数据成功!') +def askUrl(url): #获得请求得到一个html(字符串的形式) + headers={ #伪装身份信息 + 'User-Agent': 'Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 80.03987.122Safari / 537.36' + } + request = urllib.request.Request(url,headers=headers) + html='' + try: + response=urllib.request.urlopen(request) #提交 + html=response.read().decode('UTF-8') + print("成功爬取到html!") + except urllib.error.URLError as e: + if hasattr(e, "code"): + print(e.code) + if hasattr(e, "reason"): + print(e.reason) + if isinstance(e.reason, socket.timeout): + print('time out!') + return html +def saveDB(Playerdatadict,dbpath,year,cols_index1,cols_index2): #保存数据到数据库 + for i in range(year, 2020): + #表的名称 + tablename="球员数据"+str(i)+'年' + #初始化数据库 + initDB(tablename,dbpath) + con=sqlite3.connect(dbpath) + c=con.cursor() + #Playerdatadict_info为从Playerdatadict字典里面提取到的有用信息 + Playerdatadict_info = Playerdatadict[str(i) + "年"]['payload']['players'] + for j in range(len(Playerdatadict_info)): #球员信息个数len(Playerdatadict_info) + data_need = [] # 每一行所需信息 + for k in range(len(cols_index1)): + # 从Playerdatadict将有效信息取出来 + info = Playerdatadict_info[j][cols_index1[k]][cols_index2[k]] + p_link = r'https://china.nba.com/players/#!/' + t_link = r'https://china.nba.com/' + if k!= 1 and k!= 4: + data_need.append(str(info)) + elif k==1: + data_need.append(p_link+str(info)) + else: + data_need.append(t_link + str(info)) + for index in range(len(data_need)): + data_need[index] = '"' + data_need[index] + '"' + sql = ''' + insert into '''+str(tablename)+'''( + name,name_link,position,teamname,team_link,games,points,averpoints,averrebound,averassist,minutes,fgpct,tppct,ftpct,averblocks,averfouls,height,weight) + values (%s)'''%(",".join(data_need)) + c.execute(sql) + con.commit() + c.close() + con.close() + initDB(str(year)+'',dbpath) + print('数据成功保存到数据库!') +def initDB(tablename,dbpath): + sql = ''' + create table ''' + str(tablename) + '''( + ranking integer primary key autoincrement, + name text, + name_link text, + position text, + teamname text, + team_link text, + games integer , + points integer , + averpoints integer , + averrebound integer, + averassist integer , + minutes integer , + fgpct integer, + tppct integer, + ftpct integer , + averblocks integer , + averfouls integer, + height integer, + weight text + ); + ''' + con = sqlite3.connect(dbpath) # 连接数据库 + c = con.cursor() # 创建游标 + c.execute(sql) + con.commit() + c.close() + con.close() + print('表' + str(tablename) + "创建成功!") +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/src/NBAwordcloud.py b/src/NBAwordcloud.py new file mode 100644 index 0000000..89b4abe --- /dev/null +++ b/src/NBAwordcloud.py @@ -0,0 +1,77 @@ +import random +import jieba +import sqlite3 +import numpy as np +from PIL import Image +from wordcloud import WordCloud +from matplotlib import pyplot as plt + +def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None): + h = random.randint(150, 250) + s = int(100.0 * 255.0 / 255.0) + l = int(100.0 * float(random.randint(60, 120)) / 255.0) + return "hsl({}, {}%, {}%)".format(h, s, l) +# 起始年份 +year = 2010 +# 存放字符的字符串 +con = sqlite3.connect('D:\\Desktop\\nba1\\NBA球员数据库.db') +c = con.cursor() +text = '' +for i in range(year, 2020): + sql = ''' + select name from 球员数据''' + str(i) + '''年 + ''' + data = c.execute(sql) + for item in data: + text += item[0] +cut = jieba.cut(text) +string = ",".join(cut) +print(string) +img = Image.open(r'D:\Desktop\nba1\static\assets\img\NBA.png') # 打开图片 +img_array = np.array(img) # 将图片转化为数组 +wc = WordCloud( + background_color='blue', + mask=img_array, + font_path="/font/msyh.ttc", + color_func=random_color_func +) +wc.generate_from_text(string) +# 绘制图片 +fig = plt.figure(1) +plt.imshow(wc) +plt.axis('off') +plt.savefig(r'D:\Desktop\nba1\static\assets\img\namecloud.png', dpi=1000) + +# 起始年份 +year = 2010 +con = sqlite3.connect("D:\\Desktop\\nba1\\NBA球员数据库.db") +c = con.cursor() +# 存放字符的字符串 +text = '' +for i in range(year, 2020): + sql = ''' + select teamname from 球员数据''' + str(i) + '''年 + ''' + data = c.execute(sql) + for item in data: + text += item[0] +cut = jieba.cut(text) +string = ",".join(cut) +print(string) +c.close() +con.close() +img = Image.open(r'D:\Desktop\nba1\static\assets\img\乔1.jpg') # 打开图片 +img_array = np.array(img) # 将图片转化为数组 +wc = WordCloud( + background_color='white', + mask=img_array, + font_path="/font/msyh.ttc", + color_func=random_color_func +) +wc.generate_from_text(string) +# 绘制图片 +fig = plt.figure(2) +plt.imshow(wc) +plt.axis('off') +plt.savefig(r'D:\Desktop\nba1\static\assets\img\teamcloud.png', dpi=900) +#plt.show() \ No newline at end of file diff --git a/src/NBA球员数据库.db b/src/NBA球员数据库.db new file mode 100644 index 0000000..e69de29 diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..ed15406 --- /dev/null +++ b/src/README.md @@ -0,0 +1,2 @@ +nba球队胜率预测 +NBA球员数据可视化 diff --git a/src/app.py b/src/app.py new file mode 100644 index 0000000..2e264ad --- /dev/null +++ b/src/app.py @@ -0,0 +1,73 @@ +from flask import Flask,render_template,request +import sqlite3 +app = Flask(__name__) +@app.route('/') +def welcome(): + return render_template('index.html') +@app.route('/index') +def index(): + return welcome() +@app.route('/top50') +def top50(): + datalist = [] + con = sqlite3.connect("NBA球员数据库.db") + c = con.cursor() + #设置当前页数 + page=int(request.args.get('page',1)) + year=int(page)+2009 + sql= ''' + select * from 球员数据'''+str(year)+'''年 + ''' + data=c.execute(sql) + for item in data: + datalist.append(item) + c.close() + con.close() + # 设置总页码数 + pagemax = 10 + return render_template('top50.html',datalist=datalist,page=page,pagemax=pagemax) +@app.route('/cloud') +def cloud(): + return render_template('cloud.html') +@app.route('/chart') +def chart(): + datalist = [] + years=[] #年份 + xx=[]#x坐标数据 + #存放球队的名称的列表 + team=[['76人'], ['公牛'], ['凯尔特人'], ['勇士'], ['国王'], ['太阳'], ['奇才'], ['小牛'], ['尼克斯'], ['开拓者'], ['快船'], ['掘金'], ['森林狼'], ['步行者'], ['活塞'], ['湖人'], ['火箭'], ['灰熊'], ['热火'], ['爵士'], ['猛龙'], ['篮网'], ['老鹰'], ['雄鹿'], ['雷霆'], ['马刺'], ['骑士'], ['魔术'], ['鹈鹕'], ['黄蜂']] + #存放球队名称的字符串 + # 存放字符的字符串 + text = '' + con = sqlite3.connect("NBA球员数据库.db") + c = con.cursor() + # 设置当前页数 + page = 1 + year = int(page) + 2009 + for i in range(year, 2020): + data_peryear = [] + years.append(i) + sql = ''' + select * from 球员数据''' + str(i) + '''年 + ''' + data = c.execute(sql) + for item in data: + data_peryear.append(item) + #将球队名称练成字符串 + text += item[4] + datalist.append(data_peryear) + for index in range(10): + xx.append(str(index+2010)+str(datalist[index][0][1])) + c.close() + con.close() + #利用字符串统计球队名称出现的次数 + for i in range(len(team)): + number=text.count(team[i][0]) + team[i].append(str(number)) + return render_template('chart.html', datalist=datalist, years=years, xx=xx, team=team) +@app.route('/team') +def team(): + return render_template('team.html') + +if __name__ == '__main__': + app.run(debug=True) diff --git a/src/db.db b/src/db.db new file mode 100644 index 0000000..70da041 Binary files /dev/null and b/src/db.db differ diff --git a/src/predict.py b/src/predict.py new file mode 100644 index 0000000..d35d9ce --- /dev/null +++ b/src/predict.py @@ -0,0 +1,142 @@ +import pandas as pd +import math +import numpy as np +import csv +from sklearn import linear_model +from sklearn.model_selection import cross_val_score + +init_elo = 1600 # 初始化elo值 +team_elos = {} +folder = '"D:\Desktop\nba1\"' # 文件路径 + +def PruneData(M_stat, O_stat, T_stat): + #这个函数要完成的任务在于将原始读入的诸多队伍的数据经过修剪,使其变为一个以team为索引的排列的特征数据 + #丢弃与球队实力无关的统计量 + pruneM = M_stat.drop(['Rk', 'Arena'],axis = 1) + pruneO = O_stat.drop(['Rk','G','MP'],axis = 1) + pruneT = T_stat.drop(['Rk','G','MP'],axis = 1) + + #将多个数据通过相同的index:team合并为一个数据 + mergeMO = pd.merge(pruneM, pruneO, how = 'left', on = 'Team') + newstat = pd.merge(mergeMO, pruneT, how = 'left', on = 'Team') + + #将team作为index的数据返回 + return newstat.set_index('Team', drop = True, append = False) + +def GetElo(team): + # 初始化每个球队的elo等级分 + try: + return team_elos[team] + except: + team_elos[team] = init_elo + return team_elos[team] + +def CalcElo(winteam, loseteam): + # winteam, loseteam的输入应为字符串 + # 给出当前两个队伍的elo分数 + R1 = GetElo(winteam) + R2 = GetElo(loseteam) + # 计算比赛后的等级分,参考elo计算公式 + E1 = 1/(1 + math.pow(10,(R2 - R1)/400)) + E2 = 1/(1 + math.pow(10,(R1 - R2)/400)) + if R1>=2400: + K=16 + elif R1<=2100: + K=32 + else: + K=24 + R1new = round(R1 + K*(1 - E1)) + R2new = round(R2 + K*(0 - E2)) + return R1new, R2new + +def GenerateTrainData(stat, trainresult): + #将输入构造为[[team1特征,team2特征],...[]...] + X = [] + y = [] + for index, rows in trainresult.iterrows(): + winteam = rows['WTeam'] + loseteam = rows['LTeam'] + #获取最初的elo或是每个队伍最初的elo值 + winelo = GetElo(winteam) + loseelo = GetElo(loseteam) + # 给主场比赛的队伍加上100的elo值 + if rows['WLoc'] == 'H': + winelo = winelo+100 + else: + loseelo = loseelo+100 + # 把elo当为评价每个队伍的第一个特征值 + fea_win = [winelo] + fea_lose = [loseelo] + # 添加我们从basketball reference.com获得的每个队伍的统计信息 + for key, value in stat.loc[winteam].iteritems(): + fea_win.append(value) + for key, value in stat.loc[loseteam].iteritems(): + fea_lose.append(value) + # 将两支队伍的特征值随机的分配在每场比赛数据的左右两侧 + # 并将对应的0/1赋给y值 + if np.random.random() > 0.5: + X.append(fea_win+fea_lose) + y.append(0) + else: + X.append(fea_lose+fea_win) + y.append(1) + # 更新team elo分数 + win_new_score, lose_new_score = CalcElo(winteam, loseteam) + team_elos[winteam] = win_new_score + team_elos[loseteam] = lose_new_score + # nan_to_num(x)是使用0代替数组x中的nan元素,使用有限的数字代替inf元素 + return np.nan_to_num(X),y + +def GeneratePredictData(stat,info): + X=[] + #遍历所有的待预测数据,将数据变换为特征形式 + for index, rows in stat.iterrows(): + + #首先将elo作为第一个特征 + team1 = rows['Vteam'] + team2 = rows['Hteam'] + elo_team1 = GetElo(team1) + elo_team2 = GetElo(team2) + fea1 = [elo_team1] + fea2 = [elo_team2+100] + #球队统计信息作为剩余特征 + for key, value in info.loc[team1].iteritems(): + fea1.append(value) + for key, value in info.loc[team2].iteritems(): + fea2.append(value) + #两队特征拼接 + X.append(fea1 + fea2) + #nan_to_num的作用:1将列表变换为array,2.去除X中的非数字,保证训练器读入不出问题 + return np.nan_to_num(X) + +if __name__ == '__main__': + # 设置导入数据表格文件的地址并读入数据 + M_stat = pd.read_csv(folder + '/20-21Miscellaneous_Stat.csv') + O_stat = pd.read_csv(folder + '/20-21Opponent_Per_Game_Stat.csv') + T_stat = pd.read_csv(folder + '/20-21Team_Per_Game_Stat.csv') + team_result = pd.read_csv(folder + '/2020-2021_result.csv') + + teamstat = PruneData(M_stat, O_stat, T_stat) + X,y = GenerateTrainData(teamstat, team_result) + + # 训练网格模型 + limodel = linear_model.LogisticRegression() + limodel.fit(X,y) + + # 10折交叉验证 + print(cross_val_score(model, X, y, cv=10, scoring='accuracy', n_jobs=-1).mean()) + + # 预测 + pre_data = pd.read_csv(folder + '/21-22Schedule.csv') + pre_X = GeneratePredictData(pre_data, teamstat) + pre_y = limodel.predict_proba(pre_X) + predictlist = [] + for index, rows in pre_data.iterrows(): + reslt = [rows['Vteam'], pre_y[index][0], rows['Hteam'], pre_y[index][1]] + predictlist.append(reslt) + + # 将预测结果输出保存为csv文件 + with open(folder+'/prediction of 2021-2022.csv', 'w',newline='') as f: + writers = csv.writer(f) + writers.writerow(['Visit Team', 'corresponding probability of winning', 'Home Team', 'corresponding probability of winning']) + writers.writerows(predictlist) diff --git a/src/predict.spider.py b/src/predict.spider.py new file mode 100644 index 0000000..a6be1ba --- /dev/null +++ b/src/predict.spider.py @@ -0,0 +1,197 @@ +import requests +import re +import csv +from parsel import Selector + +class NBASpider: + + def __init__(self): + self.url = "https://www.basketball-reference.com/leagues/NBA_2021.html" + self.schedule_url = "https://www.basketball-reference.com/leagues/NBA_2016_games-{}.html" + self.advanced_team_url = "https://www.basketball-reference.com/leagues/NBA_2016.html" + self.headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 " + "Safari/537.36" + } + + # 发送请求,获取数据 + def send(self, url): + response = requests.get(url, headers=self.headers, timeout=30) + response.encoding = 'utf-8' + return response.text + + # 解析html + def parse(self, html): + team_heads, team_datas = self.get_team_info(html) + opponent_heads, opponent_datas = self.get_opponent_info(html) + return team_heads, team_datas, opponent_heads, opponent_datas + + def get_team_info(self, html): + """ + 通过正则从获取到的html页面数据中team表的表头和各行数据 + :param html 爬取到的页面数据 + :return: team_heads表头 + team_datas 列表内容 + """ + # 1. 正则匹配数据所在的table + team_table = re.search('(.*?)', html, re.S).group(1) + # 2. 正则从table中匹配出表头 + team_head = re.search('(.*?)', team_table, re.S).group(1) + team_heads = re.findall('(.*?)', team_head, re.S) + # 3. 正则从table中匹配出表的各行数据 + team_datas = self.get_datas(team_table) + + return team_heads, team_datas + + # 解析opponent数据 + def get_opponent_info(self, html): + """ + 通过正则从获取到的html页面数据中opponent表的表头和各行数据 + :param html 爬取到的页面数据 + :return: + """ + # 1. 正则匹配数据所在的table + opponent_table = re.search('(.*?)', html, re.S).group(1) + # 2. 正则从table中匹配出表头 + opponent_head = re.search('(.*?)', opponent_table, re.S).group(1) + opponent_heads = re.findall('(.*?)', opponent_head, re.S) + # 3. 正则从table中匹配出表的各行数据 + opponent_datas = self.get_datas(opponent_table) + + return opponent_heads, opponent_datas + + # 获取表格body数据 + def get_datas(self, table_html): + """ + 从tboday数据中解析出实际数据(去掉页面标签) + :param table_html 解析出来的table数据 + :return: + """ + tboday = re.search('(.*?)', table_html, re.S).group(1) + contents = re.findall('(.*?)', tboday, re.S) + for oc in contents: + rk = re.findall('(.*?)', oc) + datas = re.findall('(.*?)', oc, re.S) + datas[0] = re.search('(.*?)', datas[0]).group(1) + datas.insert(0, rk[0]) + # yield 声明这个方法是一个生成器, 返回的值是datas + yield datas + + def get_schedule_datas(self, table_html): + """ + 从tboday数据中解析出实际数据(去掉页面标签) + :param table_html 解析出来的table数据 + :return: + """ + tboday = re.search('(.*?)', table_html, re.S).group(1) + contents = re.findall('(.*?)', tboday, re.S) + for oc in contents: + rk = re.findall('(.*?)', oc) + datas = re.findall('(.*?)', oc, re.S) + if datas and len(datas) > 0: + datas[1] = re.search('(.*?)', datas[1]).group(1) + datas[3] = re.search('(.*?)', datas[3]).group(1) + datas[5] = re.search('(.*?)', datas[5]).group(1) + + datas.insert(0, rk[0]) + # yield 声明这个方法是一个生成器, 返回的值是datas + yield datas + + def get_advanced_team_datas(self, table): + trs = table.xpath('./tbody/tr') + for tr in trs: + rk = tr.xpath('./th/text()').get() + datas = tr.xpath('./td[@data-stat!="DUMMY"]/text()').getall() + datas[0] = tr.xpath('./td/a/text()').get() + datas.insert(0, rk) + yield datas + + def parse_schedule_info(self, html): + """ + 通过正则从获取到的html页面数据中的表头和各行数据 + :param html 爬取到的页面数据 + :return: heads表头 + datas 列表内容 + """ + # 1. 正则匹配数据所在的table + table = re.search('(.*?)', html, re.S).group(1) + table = table + "" + # 2. 正则从table中匹配出表头 + head = re.search('(.*?)', table, re.S).group(1) + heads = re.findall('(.*?)', head, re.S) + # 3. 正则从table中匹配出表的各行数据 + datas = self.get_schedule_datas(table) + + return heads, datas + + def parse_advanced_team(self, html): + """ + 通过xpath从获取到的html页面数据中表头和各行数据 + :param html 爬取到的页面数据 + :return: heads表头 + datas 列表内容 + """ + + selector = Selector(text=html) + # 1. 获取对应的table + table = selector.xpath('//table[@id="advanced-team"]') + # 2. 从table中匹配出表头 + res = table.xpath('./thead/tr')[1].xpath('./th/text()').getall() + heads = [] + for i, head in enumerate(res): + if '\xa0' in head: + continue + heads.append(head) + # 3. 匹配出表的各行数据 + table_data = self.get_advanced_team_datas(table) + return heads, table_data + + # 存储成csv文件 + def save_csv(self, title, heads, rows): + f = open(title + '.csv', mode='w', encoding='utf-8', newline='') + csv_writer = csv.writer(f) + csv_writer.writerow(heads) + for row in rows: + csv_writer.writerow(row) + + f.close() + + def crawl_team_opponent(self): + # 1. 发送请求 + res = self.send(self.url) + # 2. 解析数据 + team_heads, team_datas, opponent_heads, opponent_datas = self.parse(res) + # 3. 保存数据为csv + self.save_csv("team", team_heads, team_datas) + self.save_csv("opponent", opponent_heads, opponent_datas) + + def crawl_schedule(self): + months = ["october", "november", "december", "january", "february", "march", "april", "may", "june"] + for month in months: + html = self.send(self.schedule_url.format(month)) + # print(html) + heads, datas = self.parse_schedule_info(html) + # 3. 保存数据为csv + self.save_csv("schedule_"+month, heads, datas) + + def crawl_advanced_team(self): + # 1. 发送请求 + res = self.send(self.advanced_team_url) + # 2. 解析数据 + heads, datas = self.parse_advanced_team(res) + # 3. 保存数据为csv + self.save_csv("advanced_team", heads, datas) + + def crawl(self): + # 1. 爬取各队伍信息 + # self.crawl_team_opponent() + # 2. 爬取计划表 + # self.crawl_schedule() + # 3. 爬取Advanced Team表 + self.crawl_advanced_team() + +if __name__ == '__main__': + # 运行爬虫 + spider = NBASpider() + spider.crawl() + diff --git a/src/static/assets/css/style.css b/src/static/assets/css/style.css new file mode 100644 index 0000000..933f675 --- /dev/null +++ b/src/static/assets/css/style.css @@ -0,0 +1,1474 @@ +/** +* Template Name: Day - v2.1.0 +* Template URL: https://bootstrapmade.com/day-multipurpose-html-template-for-free/ +* Author: BootstrapMade.com +* License: https://bootstrapmade.com/license/ +*/ + +/*-------------------------------------------------------------- +# General +--------------------------------------------------------------*/ +body { + font-family: "Open Sans", sans-serif; + color: #444444; +} + +a { + color: #cc1616; +} + +a:hover { + color: #e82d2d; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "Raleway", sans-serif; +} + +/*-------------------------------------------------------------- +# Back to top button +--------------------------------------------------------------*/ +.back-to-top { + position: fixed; + display: none; + right: 15px; + bottom: 15px; + z-index: 99999; +} + +.back-to-top i { + display: flex; + align-items: center; + justify-content: center; + font-size: 24px; + width: 40px; + height: 40px; + background: #cc1616; + color: #fff; + transition: all 0.4s; +} + +.back-to-top i:hover { + background: #e72323; + color: #fff; +} + +/*-------------------------------------------------------------- +# Preloader +--------------------------------------------------------------*/ +#preloader { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 9999; + overflow: hidden; + background: #fff; +} + +#preloader:before { + content: ""; + position: fixed; + top: calc(50% - 30px); + left: calc(50% - 30px); + border: 6px solid #cc1616; + border-top-color: #efefef; + border-radius: 50%; + width: 60px; + height: 60px; + -webkit-animation: animate-preloader 1s linear infinite; + animation: animate-preloader 1s linear infinite; +} + +@-webkit-keyframes animate-preloader { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +@keyframes animate-preloader { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*-------------------------------------------------------------- +# Disable aos animation delay on mobile devices +--------------------------------------------------------------*/ +@media screen and (max-width: 768px) { + [data-aos-delay] { + transition-delay: 0 !important; + } +} + +/*-------------------------------------------------------------- +# Top Bar +--------------------------------------------------------------*/ +#topbar { + height: 40px; + font-size: 14px; + transition: all 0.5s; + color: rgba(255, 255, 255, 0.6); +} + +#topbar.topbar-scrolled { + top: -40px; +} + +#topbar .contact-info a { + line-height: 1; + color: rgba(255, 255, 255, 0.6); + transition: 0.3s; +} + +#topbar .contact-info a:hover { + color: #fff; +} + +#topbar .contact-info i { + color: #cc1616; + padding-right: 4px; +} + +#topbar .contact-info i.icofont-phone { + margin-left: 15px; +} + +#topbar .social-links a { + color: rgba(255, 255, 255, 0.5); + padding-left: 15px; + display: inline-block; + line-height: 1px; + transition: 0.3s; +} + +#topbar .social-links a:hover { + color: #fff; +} + +#topbar .social-links a:first-child { + border-left: 0; +} + +/*-------------------------------------------------------------- +# Header +--------------------------------------------------------------*/ +#header { + background: rgba(52, 58, 64, 0.2); + transition: all 0.5s; + z-index: 997; + top: 40px; +} + +#header.header-scrolled { + top: 0; + background: rgba(0, 0, 0, 0.9); +} + +#header .logo { + font-size: 32px; + margin: 0; + padding: 0; + line-height: 1; + font-weight: 700; + letter-spacing: 2px; + text-transform: uppercase; +} + +#header .logo a { + color: #fff; +} + +#header .logo img { + max-height: 40px; +} + +@media (max-width: 992px) { + #header { + top: 0; + padding: 15px 0; + background: transparent; + } + #header .logo { + font-size: 28px; + } +} + +.header-inner-pages { + background: rgba(0, 0, 0, 0.9) !important; +} + +/*-------------------------------------------------------------- +# Navigation Menu +--------------------------------------------------------------*/ +/* Desktop Navigation */ +.nav-menu ul { + margin: 0; + padding: 0; + list-style: none; +} + +.nav-menu > ul { + display: flex; +} + +.nav-menu > ul > li { + position: relative; + white-space: nowrap; + padding: 18px 15px; + margin-left: 5px; + transition: 0.3s; +} + +.nav-menu a { + display: block; + position: relative; + color: #fff; + transition: 0.3s; + font-size: 14px; + font-family: "Open Sans", sans-serif; +} + +.nav-menu > ul > li:hover, .nav-menu .active { + background: #cc1616; +} + +.nav-menu .drop-down ul { + display: block; + position: absolute; + left: 0; + top: calc(100% + 30px); + z-index: 99; + opacity: 0; + visibility: hidden; + padding: 10px 0; + background: #fff; + box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25); + transition: 0.3s; +} + +.nav-menu .drop-down:hover > ul { + opacity: 1; + top: 100%; + visibility: visible; +} + +.nav-menu .drop-down li { + min-width: 180px; + position: relative; +} + +.nav-menu .drop-down ul a { + padding: 10px 20px; + font-size: 14px; + font-weight: 500; + text-transform: none; + color: #191919; +} + +.nav-menu .drop-down ul a:hover, .nav-menu .drop-down ul .active > a, .nav-menu .drop-down ul li:hover > a { + color: #e82d2d; +} + +.nav-menu .drop-down > a:after { + content: "\ea99"; + font-family: IcoFont; + padding-left: 5px; +} + +.nav-menu .drop-down .drop-down ul { + top: 0; + left: calc(100% - 30px); +} + +.nav-menu .drop-down .drop-down:hover > ul { + opacity: 1; + top: 0; + left: 100%; +} + +.nav-menu .drop-down .drop-down > a { + padding-right: 35px; +} + +.nav-menu .drop-down .drop-down > a:after { + content: "\eaa0"; + font-family: IcoFont; + position: absolute; + right: 15px; +} + +@media (max-width: 1366px) { + .nav-menu .drop-down .drop-down ul { + left: -90%; + } + .nav-menu .drop-down .drop-down:hover > ul { + left: -100%; + } + .nav-menu .drop-down .drop-down > a:after { + content: "\ea9d"; + } +} + +/* Mobile Navigation */ +.mobile-nav-toggle { + position: fixed; + right: 15px; + top: 15px; + z-index: 9998; + border: 0; + background: none; + font-size: 24px; + transition: all 0.4s; + outline: none !important; + line-height: 1; + cursor: pointer; + text-align: right; +} + +.mobile-nav-toggle i { + color: #fff; +} + +.mobile-nav { + position: fixed; + top: 55px; + right: 15px; + bottom: 15px; + left: 15px; + z-index: 9999; + overflow-y: auto; + background: #fff; + transition: ease-in-out 0.2s; + opacity: 0; + visibility: hidden; + border-radius: 10px; + padding: 10px 0; +} + +.mobile-nav * { + margin: 0; + padding: 0; + list-style: none; +} + +.mobile-nav a { + display: block; + position: relative; + color: #191919; + padding: 10px 20px; + font-weight: 500; + outline: none; +} + +.mobile-nav a:hover, .mobile-nav .active > a, .mobile-nav li:hover > a { + color: #e82d2d; + text-decoration: none; +} + +.mobile-nav .drop-down > a:after { + content: "\ea99"; + font-family: IcoFont; + padding-left: 10px; + position: absolute; + right: 15px; +} + +.mobile-nav .active.drop-down > a:after { + content: "\eaa1"; +} + +.mobile-nav .drop-down > a { + padding-right: 35px; +} + +.mobile-nav .drop-down ul { + display: none; + overflow: hidden; +} + +.mobile-nav .drop-down li { + padding-left: 20px; +} + +.mobile-nav-overly { + width: 100%; + height: 100%; + z-index: 9997; + top: 0; + left: 0; + position: fixed; + background: rgba(0, 0, 0, 0.6); + overflow: hidden; + display: none; + transition: ease-in-out 0.2s; +} + +.mobile-nav-active { + overflow: hidden; +} + +.mobile-nav-active .mobile-nav { + opacity: 1; + visibility: visible; +} + +.mobile-nav-active .mobile-nav-toggle i { + color: #fff; +} + +/*-------------------------------------------------------------- +# Hero Section +--------------------------------------------------------------*/ +#hero { + width: 100%; + height: 100vh; + background: url("../img/科比.png") top center; + background-size: cover; + position: relative; +} + +#hero:before { + content: ""; + background: rgba(0, 0, 0, 0.5); + position: absolute; + bottom: 0; + top: 0; + left: 0; + right: 0; +} + +#hero .container { + padding-top: 70px; +} + +#hero h1 { + margin: 0 0 10px 0; + font-size: 48px; + font-weight: 700; + line-height: 56px; + text-transform: uppercase; + color: #fff; +} + +#hero h2 { + color: #eee; + margin-bottom: 30px; + font-size: 24px; +} + +#hero .btn-get-started { + font-family: "Raleway", sans-serif; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + letter-spacing: 0.5px; + display: inline-block; + padding: 10px 28px; + transition: 0.5s; + border: 2px solid #fff; + color: #fff; +} + +#hero .btn-get-started:hover { + background: #cc1616; + border-color: #cc1616; +} + +@media (min-width: 1024px) { + #hero { + background-attachment: fixed; + } +} + +@media (max-width: 768px) { + #hero { + text-align: center; + } + #hero .container { + padding-top: 40px; + } + #hero h1 { + font-size: 28px; + line-height: 36px; + } + #hero h2 { + font-size: 18px; + line-height: 24px; + margin-bottom: 30px; + } +} + +/*-------------------------------------------------------------- +# Sections General +--------------------------------------------------------------*/ +section { + padding: 60px 0; + overflow: hidden; +} + +.section-title { + text-align: center; + padding: 30px 0; + position: relative; +} + +.section-title h2 { + font-size: 32px; + font-weight: 700; + text-transform: uppercase; + margin-bottom: 20px; + padding-bottom: 0; + color: #191919; + position: relative; + z-index: 2; +} + +.section-title span { + position: absolute; + top: 30px; + color: #f4f4f4; + left: 0; + right: 0; + z-index: 1; + font-weight: 700; + font-size: 52px; + text-transform: uppercase; + line-height: 0; +} + +.section-title p { + margin-bottom: 0; + position: relative; + z-index: 2; +} + +@media (max-width: 575px) { + .section-title h2 { + font-size: 28px; + margin-bottom: 15px; + } + .section-title span { + font-size: 38px; + } +} + +/*-------------------------------------------------------------- +# About +--------------------------------------------------------------*/ +.about .content h3 { + font-weight: 600; + font-size: 26px; +} + +.about .content ul { + list-style: none; + padding: 0; +} + +.about .content ul li { + padding-bottom: 10px; +} + +.about .content ul i { + font-size: 20px; + padding-right: 4px; + color: #cc1616; +} + +.about .content p:last-child { + margin-bottom: 0; +} + +/*-------------------------------------------------------------- +# Why Us +--------------------------------------------------------------*/ +.why-us { + padding-top: 0; +} + +.why-us .box { + padding: 50px 30px; + box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1); + transition: all ease-in-out 0.3s; +} + +.why-us .box span { + display: block; + font-size: 28px; + font-weight: 700; + color: #ed5b5b; +} + +.why-us .box h4 { + font-size: 24px; + font-weight: 600; + padding: 0; + margin: 20px 0; + color: #191919; +} + +.why-us .box p { + color: #aaaaaa; + font-size: 15px; + margin: 0; + padding: 0; +} + +.why-us .box:hover { + background: #cc1616; + padding: 30px 30px 70px 30px; + box-shadow: 10px 15px 30px rgba(0, 0, 0, 0.18); +} + +.why-us .box:hover span, .why-us .box:hover h4, .why-us .box:hover p { + color: #fff; +} + +/*-------------------------------------------------------------- +# Clients +--------------------------------------------------------------*/ +.clients { + background: #f2f2f2; + padding: 15px 0; + text-align: center; +} + +.clients img { + width: 50%; + -webkit-filter: grayscale(100); + filter: grayscale(100); + transition: all 0.4s ease-in-out; + display: inline-block; + padding: 15px 0; +} + +.clients img:hover { + -webkit-filter: none; + filter: none; + transform: scale(1.2); +} + +@media (max-width: 768px) { + .clients img { + width: 40%; + } +} + +/*-------------------------------------------------------------- +# Services +--------------------------------------------------------------*/ +.services .icon-box { + text-align: center; + padding: 80px 20px; + transition: all ease-in-out 0.3s; + box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1); +} + +.services .icon-box .icon { + margin: 0 auto; + width: 64px; + height: 64px; + background: #cc1616; + transition: all .3s ease-out 0s; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 20px; + transform-style: preserve-3d; +} + +.services .icon-box .icon i { + color: #fff; + font-size: 28px; +} + +.services .icon-box .icon::before { + position: absolute; + content: ''; + left: -8px; + top: -8px; + height: 100%; + width: 100%; + background: #fce5e5; + transition: all .3s ease-out 0s; + transform: translateZ(-1px); +} + +.services .icon-box h4 { + font-weight: 700; + margin-bottom: 15px; + font-size: 24px; +} + +.services .icon-box h4 a { + color: #191919; +} + +.services .icon-box p { + line-height: 24px; + font-size: 14px; + margin-bottom: 0; +} + +.services .icon-box:hover { + background: #cc1616; + border-color: #cc1616; + padding: 70px 20px 90px 20px; +} + +.services .icon-box:hover .icon { + background: #fff; +} + +.services .icon-box:hover .icon i { + color: #cc1616; +} + +.services .icon-box:hover .icon::before { + background: #e82d2d; +} + +.services .icon-box:hover h4 a, .services .icon-box:hover p { + color: #fff; +} + +/*-------------------------------------------------------------- +# Cta +--------------------------------------------------------------*/ +.cta { + background: linear-gradient(rgba(2, 2, 2, 0.5), rgba(0, 0, 0, 0.5)), url("../img/cta-bg.jpg") fixed center center; + background-size: cover; + padding: 120px 0; +} + +.cta h3 { + color: #fff; + font-size: 28px; + font-weight: 700; +} + +.cta p { + color: #fff; +} + +.cta .cta-btn { + font-family: "Raleway", sans-serif; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + letter-spacing: 1px; + display: inline-block; + padding: 10px 28px; + transition: 0.5s; + margin-top: 10px; + border: 2px solid #fff; + color: #fff; +} + +.cta .cta-btn:hover { + background: #cc1616; + border: 2px solid #cc1616; +} + +/*-------------------------------------------------------------- +# Portfolio +--------------------------------------------------------------*/ +.portfolio #portfolio-flters { + padding: 0; + margin: 0 auto 25px auto; + list-style: none; + text-align: center; + border-radius: 50px; +} + +.portfolio #portfolio-flters li { + cursor: pointer; + display: inline-block; + padding: 10px 15px; + font-size: 15px; + font-weight: 500; + line-height: 1; + text-transform: uppercase; + color: #444444; + margin-bottom: 5px; + transition: all 0.3s ease-in-out; + font-family: "Poppins", sans-serif; +} + +.portfolio #portfolio-flters li:hover, .portfolio #portfolio-flters li.filter-active { + color: #e82d2d; +} + +.portfolio #portfolio-flters li:last-child { + margin-right: 0; +} + +.portfolio .portfolio-item { + margin-bottom: 30px; +} + +.portfolio .portfolio-item .portfolio-info { + opacity: 0; + position: absolute; + left: 30px; + right: 30px; + bottom: 0; + z-index: 3; + transition: all ease-in-out 0.3s; + background: rgba(255, 255, 255, 0.9); + padding: 15px; +} + +.portfolio .portfolio-item .portfolio-info h4 { + font-size: 18px; + color: #fff; + font-weight: 600; + color: #191919; +} + +.portfolio .portfolio-item .portfolio-info p { + color: #4c4c4c; + font-size: 14px; + margin-bottom: 0; +} + +.portfolio .portfolio-item .portfolio-info .preview-link, .portfolio .portfolio-item .portfolio-info .details-link { + position: absolute; + right: 40px; + font-size: 24px; + top: calc(50% - 18px); + color: #333333; +} + +.portfolio .portfolio-item .portfolio-info .preview-link:hover, .portfolio .portfolio-item .portfolio-info .details-link:hover { + color: #cc1616; +} + +.portfolio .portfolio-item .portfolio-info .details-link { + right: 10px; +} + +.portfolio .portfolio-item .portfolio-links { + opacity: 0; + left: 0; + right: 0; + text-align: center; + z-index: 3; + position: absolute; + transition: all ease-in-out 0.3s; +} + +.portfolio .portfolio-item .portfolio-links a { + color: #fff; + margin: 0 2px; + font-size: 28px; + display: inline-block; + transition: 0.3s; +} + +.portfolio .portfolio-item .portfolio-links a:hover { + color: #e82d2d; +} + +.portfolio .portfolio-item:hover .portfolio-info { + opacity: 1; + bottom: 20px; +} + +/*-------------------------------------------------------------- +# Pricing +--------------------------------------------------------------*/ +.pricing .box { + padding: 20px; + background: #f9f9f9; + text-align: center; + border-radius: 8px; + position: relative; + overflow: hidden; +} + +.pricing .box h3 { + font-weight: 400; + padding: 15px; + font-size: 18px; + text-transform: uppercase; + font-weight: 600; + color: #191919; +} + +.pricing .box h4 { + font-size: 42px; + color: #cc1616; + font-weight: 500; + font-family: "Open Sans", sans-serif; + margin-bottom: 20px; +} + +.pricing .box h4 sup { + font-size: 20px; + top: -15px; + left: -3px; +} + +.pricing .box h4 span { + color: #bababa; + font-size: 16px; + font-weight: 300; +} + +.pricing .box ul { + padding: 0; + list-style: none; + color: #191919; + text-align: center; + line-height: 20px; + font-size: 14px; +} + +.pricing .box ul li { + padding-bottom: 16px; +} + +.pricing .box ul i { + color: #cc1616; + font-size: 18px; + padding-right: 4px; +} + +.pricing .box ul .na { + color: #ccc; + text-decoration: line-through; +} + +.pricing .box .btn-wrap { + padding: 15px; + text-align: center; +} + +.pricing .box .btn-buy { + background: #cc1616; + display: inline-block; + padding: 10px 40px; + color: #fff; + transition: none; + font-size: 14px; + font-weight: 400; + font-family: "Raleway", sans-serif; + font-weight: 600; + transition: 0.3s; +} + +.pricing .box .btn-buy:hover { + background: #e82d2d; +} + +.pricing .featured { + background: #cc1616; + box-shadow: none; + color: #fff; +} + +.pricing .featured h3, .pricing .featured h4, .pricing .featured ul, .pricing .featured ul li, .pricing .featured ul .na { + color: #fff; +} + +.pricing .featured h4 span { + color: rgba(255, 255, 255, 0.58); +} + +.pricing .featured .btn-wrap { + padding: 15px; + text-align: center; +} + +.pricing .featured .btn-buy { + background: rgba(255, 255, 255, 0.2); +} + +.pricing .featured .btn-buy:hover { + background: #fff; + color: #cc1616; +} + +/*-------------------------------------------------------------- +# Team +--------------------------------------------------------------*/ +.team .member { + text-align: center; + margin-bottom: 20px; + box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); + padding: 30px 20px; + background: #fff; +} + +.team .member img { + max-width: 60%; + border-radius: 50%; + margin: 0 0 30px 0; +} + +.team .member h4 { + font-weight: 700; + margin-bottom: 2px; + font-size: 18px; +} + +.team .member span { + font-style: italic; + display: block; + font-size: 13px; +} + +.team .member p { + padding-top: 10px; + font-size: 14px; + font-style: italic; + color: #aaaaaa; +} + +.team .member .social { + margin-top: 15px; +} + +.team .member .social a { + color: #919191; + transition: 0.3s; +} + +.team .member .social a:hover { + color: #cc1616; +} + +.team .member .social i { + font-size: 18px; + margin: 0 2px; +} + +/*-------------------------------------------------------------- +# Contact +--------------------------------------------------------------*/ +.contact .info-box { + color: #444444; + text-align: center; + box-shadow: 0 0 30px rgba(214, 215, 216, 0.6); + padding: 20px 0 30px 0; +} + +.contact .info-box i { + font-size: 32px; + color: #cc1616; + border-radius: 50%; + padding: 8px; + border: 2px dotted #f5a0a0; +} + +.contact .info-box h3 { + font-size: 20px; + color: #777777; + font-weight: 700; + margin: 10px 0; +} + +.contact .info-box p { + padding: 0; + line-height: 24px; + font-size: 14px; + margin-bottom: 0; +} + +.contact .php-email-form { + box-shadow: 0 0 30px rgba(214, 215, 216, 0.6); + padding: 30px; +} + +.contact .php-email-form .validate { + display: none; + color: red; + margin: 0 0 15px 0; + font-weight: 400; + font-size: 13px; +} + +.contact .php-email-form .error-message { + display: none; + color: #fff; + background: #ed3c0d; + text-align: left; + padding: 15px; + font-weight: 600; +} + +.contact .php-email-form .error-message br + br { + margin-top: 25px; +} + +.contact .php-email-form .sent-message { + display: none; + color: #fff; + background: #18d26e; + text-align: center; + padding: 15px; + font-weight: 600; +} + +.contact .php-email-form .loading { + display: none; + background: #fff; + text-align: center; + padding: 15px; +} + +.contact .php-email-form .loading:before { + content: ""; + display: inline-block; + border-radius: 50%; + width: 24px; + height: 24px; + margin: 0 10px -6px 0; + border: 3px solid #18d26e; + border-top-color: #eee; + -webkit-animation: animate-loading 1s linear infinite; + animation: animate-loading 1s linear infinite; +} + +.contact .php-email-form input, .contact .php-email-form textarea { + border-radius: 0; + box-shadow: none; + font-size: 14px; +} + +.contact .php-email-form input::focus, .contact .php-email-form textarea::focus { + background-color: #cc1616; +} + +.contact .php-email-form input { + padding: 20px 15px; +} + +.contact .php-email-form textarea { + padding: 12px 15px; +} + +.contact .php-email-form button[type="submit"] { + background: #cc1616; + border: 0; + padding: 10px 24px; + color: #fff; + transition: 0.4s; +} + +.contact .php-email-form button[type="submit"]:hover { + background: #e82d2d; +} + +@-webkit-keyframes animate-loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +@keyframes animate-loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*-------------------------------------------------------------- +# Breadcrumbs +--------------------------------------------------------------*/ +.breadcrumbs { + padding: 15px 0; + background: #efefef; + margin-top: 98px; +} + +@media (max-width: 992px) { + .breadcrumbs { + margin-top: 50px; + } +} + +.breadcrumbs h2 { + font-size: 26px; + font-weight: 600; +} + +.breadcrumbs ol { + display: flex; + flex-wrap: wrap; + list-style: none; + padding: 0 0 10px 0; + margin: 0; + font-size: 14px; +} + +.breadcrumbs ol li + li { + padding-left: 10px; +} + +.breadcrumbs ol li + li::before { + display: inline-block; + padding-right: 10px; + color: #333333; + content: "/"; +} + +/*-------------------------------------------------------------- +# Portfolio Details +--------------------------------------------------------------*/ +.portfolio-details { + padding-top: 40px; +} + +.portfolio-details .portfolio-details-container { + position: relative; +} + +.portfolio-details .portfolio-details-carousel { + position: relative; + z-index: 1; +} + +.portfolio-details .portfolio-details-carousel .owl-nav, .portfolio-details .portfolio-details-carousel .owl-dots { + margin-top: 5px; + text-align: left; +} + +.portfolio-details .portfolio-details-carousel .owl-dot { + display: inline-block; + margin: 0 10px 0 0; + width: 12px; + height: 12px; + border-radius: 50%; + background-color: #ddd !important; +} + +.portfolio-details .portfolio-details-carousel .owl-dot.active { + background-color: #cc1616 !important; +} + +.portfolio-details .portfolio-info { + padding: 30px; + position: absolute; + right: 0; + bottom: -70px; + background: #fff; + box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1); + z-index: 2; +} + +.portfolio-details .portfolio-info h3 { + font-size: 22px; + font-weight: 700; + margin-bottom: 20px; + padding-bottom: 20px; + border-bottom: 1px solid #eee; +} + +.portfolio-details .portfolio-info ul { + list-style: none; + padding: 0; + font-size: 15px; +} + +.portfolio-details .portfolio-info ul li + li { + margin-top: 10px; +} + +.portfolio-details .portfolio-description { + padding-top: 50px; +} + +.portfolio-details .portfolio-description h2 { + width: 50%; + font-size: 26px; + font-weight: 700; + margin-bottom: 20px; +} + +.portfolio-details .portfolio-description p { + padding: 0 0 0 0; +} + +@media (max-width: 768px) { + .portfolio-details .portfolio-info { + position: static; + margin-top: 30px; + } +} + +/*-------------------------------------------------------------- +# Footer +--------------------------------------------------------------*/ +#footer { + background: #0c0c0c; + padding: 0 0 30px 0; + color: #fff; + font-size: 14px; +} + +#footer .footer-top { + padding: 60px 0 30px 0; +} + +#footer .footer-top .footer-info { + margin-bottom: 15px; + background: #191919; + color: #fff; + border-top: 4px solid #cc1616; + text-align: center; + padding: 30px 20px; +} + +#footer .footer-top .footer-info h3 { + font-size: 36px; + margin: 0 0 20px 0; + padding: 2px 0 2px 0; + line-height: 1; + font-weight: 700; +} + +#footer .footer-top .footer-info p { + font-size: 14px; + line-height: 24px; + margin-bottom: 0; + font-family: "Raleway", sans-serif; +} + +#footer .footer-top .social-links a { + font-size: 18px; + display: inline-block; + background: #262626; + color: #fff; + line-height: 1; + padding: 8px 0; + margin-right: 4px; + border-radius: 50%; + text-align: center; + width: 36px; + height: 36px; + transition: 0.3s; +} + +#footer .footer-top .social-links a:hover { + background: #cc1616; + color: #fff; + text-decoration: none; +} + +#footer .footer-top h4 { + font-size: 16px; + font-weight: 600; + color: #fff; + position: relative; + padding-bottom: 12px; +} + +#footer .footer-top .footer-links { + margin-bottom: 30px; +} + +#footer .footer-top .footer-links ul { + list-style: none; + padding: 0; + margin: 0; +} + +#footer .footer-top .footer-links ul i { + padding-right: 2px; + color: #ed5b5b; + font-size: 18px; + line-height: 1; +} + +#footer .footer-top .footer-links ul li { + padding: 10px 0; + display: flex; + align-items: center; +} + +#footer .footer-top .footer-links ul li:first-child { + padding-top: 0; +} + +#footer .footer-top .footer-links ul a { + color: #fff; + transition: 0.3s; + display: inline-block; + line-height: 1; +} + +#footer .footer-top .footer-links ul a:hover { + color: #eb4444; +} + +#footer .footer-top .footer-newsletter form { + margin-top: 30px; + background: #fff; + padding: 6px 10px; + position: relative; + border-radius: 4; +} + +#footer .footer-top .footer-newsletter form input[type="email"] { + border: 0; + padding: 4px; + width: calc(100% - 110px); +} + +#footer .footer-top .footer-newsletter form input[type="submit"] { + position: absolute; + top: 0; + right: 0; + bottom: 0; + border: 0; + background: none; + font-size: 16px; + padding: 0 20px; + background: #cc1616; + color: #fff; + transition: 0.3s; + border-radius: 4; +} + +#footer .footer-top .footer-newsletter form input[type="submit"]:hover { + background: #e82d2d; +} + +#footer .copyright { + border-top: 1px solid #262626; + text-align: center; + padding-top: 30px; +} + +#footer .credits { + padding-top: 5px; + text-align: center; + font-size: 13px; + color: #fff; +} + +#footer .credits a { + color: #e82d2d; +} + +@media (max-width: 575px) { + #footer .footer-top .footer-info { + margin: -20px 0 30px 0; + } +} diff --git a/src/static/assets/img/NBA.png b/src/static/assets/img/NBA.png new file mode 100644 index 0000000..f2e7d42 Binary files /dev/null and b/src/static/assets/img/NBA.png differ diff --git a/src/static/assets/img/clients/76人队.png b/src/static/assets/img/clients/76人队.png new file mode 100644 index 0000000..abfab42 Binary files /dev/null and b/src/static/assets/img/clients/76人队.png differ diff --git a/src/static/assets/img/clients/凯尔特人队.png b/src/static/assets/img/clients/凯尔特人队.png new file mode 100644 index 0000000..214d90e Binary files /dev/null and b/src/static/assets/img/clients/凯尔特人队.png differ diff --git a/src/static/assets/img/clients/勇士队.png b/src/static/assets/img/clients/勇士队.png new file mode 100644 index 0000000..9629901 Binary files /dev/null and b/src/static/assets/img/clients/勇士队.png differ diff --git a/src/static/assets/img/clients/开拓者队.png b/src/static/assets/img/clients/开拓者队.png new file mode 100644 index 0000000..d2ddfdc Binary files /dev/null and b/src/static/assets/img/clients/开拓者队.png differ diff --git a/src/static/assets/img/clients/湖人队.png b/src/static/assets/img/clients/湖人队.png new file mode 100644 index 0000000..cbb19c9 Binary files /dev/null and b/src/static/assets/img/clients/湖人队.png differ diff --git a/src/static/assets/img/clients/猛龙队.png b/src/static/assets/img/clients/猛龙队.png new file mode 100644 index 0000000..6f6f73e Binary files /dev/null and b/src/static/assets/img/clients/猛龙队.png differ diff --git a/src/static/assets/img/clients/雄鹿队.png b/src/static/assets/img/clients/雄鹿队.png new file mode 100644 index 0000000..ad9868f Binary files /dev/null and b/src/static/assets/img/clients/雄鹿队.png differ diff --git a/src/static/assets/img/cta-bg.jpg b/src/static/assets/img/cta-bg.jpg new file mode 100644 index 0000000..05badaa Binary files /dev/null and b/src/static/assets/img/cta-bg.jpg differ diff --git a/src/static/assets/img/favicon.png b/src/static/assets/img/favicon.png new file mode 100644 index 0000000..af5a48b Binary files /dev/null and b/src/static/assets/img/favicon.png differ diff --git a/src/static/assets/img/hero-bg.jpg b/src/static/assets/img/hero-bg.jpg new file mode 100644 index 0000000..9436830 Binary files /dev/null and b/src/static/assets/img/hero-bg.jpg differ diff --git a/src/static/assets/img/name.png b/src/static/assets/img/name.png new file mode 100644 index 0000000..41bef2a Binary files /dev/null and b/src/static/assets/img/name.png differ diff --git a/src/static/assets/img/namecloud.png b/src/static/assets/img/namecloud.png new file mode 100644 index 0000000..20d72a9 Binary files /dev/null and b/src/static/assets/img/namecloud.png differ diff --git a/src/static/assets/img/players/lbj.jpg b/src/static/assets/img/players/lbj.jpg new file mode 100644 index 0000000..bb2f455 Binary files /dev/null and b/src/static/assets/img/players/lbj.jpg differ diff --git a/src/static/assets/img/players/乔丹2.jpg b/src/static/assets/img/players/乔丹2.jpg new file mode 100644 index 0000000..5fd0c15 Binary files /dev/null and b/src/static/assets/img/players/乔丹2.jpg differ diff --git a/src/static/assets/img/players/保罗.jpg b/src/static/assets/img/players/保罗.jpg new file mode 100644 index 0000000..513c5c6 Binary files /dev/null and b/src/static/assets/img/players/保罗.jpg differ diff --git a/src/static/assets/img/players/克莱.jpg b/src/static/assets/img/players/克莱.jpg new file mode 100644 index 0000000..083a4eb Binary files /dev/null and b/src/static/assets/img/players/克莱.jpg differ diff --git a/src/static/assets/img/players/哈登.jpg b/src/static/assets/img/players/哈登.jpg new file mode 100644 index 0000000..24e5d49 Binary files /dev/null and b/src/static/assets/img/players/哈登.jpg differ diff --git a/src/static/assets/img/players/哈登1.jpg b/src/static/assets/img/players/哈登1.jpg new file mode 100644 index 0000000..3785519 Binary files /dev/null and b/src/static/assets/img/players/哈登1.jpg differ diff --git a/src/static/assets/img/players/大姚.jpg b/src/static/assets/img/players/大姚.jpg new file mode 100644 index 0000000..cb8165b Binary files /dev/null and b/src/static/assets/img/players/大姚.jpg differ diff --git a/src/static/assets/img/players/库里.jpg b/src/static/assets/img/players/库里.jpg new file mode 100644 index 0000000..e90b805 Binary files /dev/null and b/src/static/assets/img/players/库里.jpg differ diff --git a/src/static/assets/img/players/库里1.jpg b/src/static/assets/img/players/库里1.jpg new file mode 100644 index 0000000..77d6858 Binary files /dev/null and b/src/static/assets/img/players/库里1.jpg differ diff --git a/src/static/assets/img/players/戴维斯.jpg b/src/static/assets/img/players/戴维斯.jpg new file mode 100644 index 0000000..2a7b6ab Binary files /dev/null and b/src/static/assets/img/players/戴维斯.jpg differ diff --git a/src/static/assets/img/players/湖人.jpg b/src/static/assets/img/players/湖人.jpg new file mode 100644 index 0000000..12b615e Binary files /dev/null and b/src/static/assets/img/players/湖人.jpg differ diff --git a/src/static/assets/img/players/火箭.jpg b/src/static/assets/img/players/火箭.jpg new file mode 100644 index 0000000..1f4b2d4 Binary files /dev/null and b/src/static/assets/img/players/火箭.jpg differ diff --git a/src/static/assets/img/players/科比.jpg b/src/static/assets/img/players/科比.jpg new file mode 100644 index 0000000..9867b05 Binary files /dev/null and b/src/static/assets/img/players/科比.jpg differ diff --git a/src/static/assets/img/players/詹姆斯.jpg b/src/static/assets/img/players/詹姆斯.jpg new file mode 100644 index 0000000..41116c5 Binary files /dev/null and b/src/static/assets/img/players/詹姆斯.jpg differ diff --git a/src/static/assets/img/players/韦德.jpg b/src/static/assets/img/players/韦德.jpg new file mode 100644 index 0000000..52d54bb Binary files /dev/null and b/src/static/assets/img/players/韦德.jpg differ diff --git a/src/static/assets/img/team/team1.jpg b/src/static/assets/img/team/team1.jpg new file mode 100644 index 0000000..f88c016 Binary files /dev/null and b/src/static/assets/img/team/team1.jpg differ diff --git a/src/static/assets/img/team/team3.jpg b/src/static/assets/img/team/team3.jpg new file mode 100644 index 0000000..fa8a849 Binary files /dev/null and b/src/static/assets/img/team/team3.jpg differ diff --git a/src/static/assets/img/team/teamx.jpg b/src/static/assets/img/team/teamx.jpg new file mode 100644 index 0000000..b6635a2 Binary files /dev/null and b/src/static/assets/img/team/teamx.jpg differ diff --git a/src/static/assets/img/teamcloud.png b/src/static/assets/img/teamcloud.png new file mode 100644 index 0000000..d752d5a Binary files /dev/null and b/src/static/assets/img/teamcloud.png differ diff --git a/src/static/assets/img/乔1.jpg b/src/static/assets/img/乔1.jpg new file mode 100644 index 0000000..ff1114e Binary files /dev/null and b/src/static/assets/img/乔1.jpg differ diff --git a/src/static/assets/img/奖杯.png b/src/static/assets/img/奖杯.png new file mode 100644 index 0000000..cd4888f Binary files /dev/null and b/src/static/assets/img/奖杯.png differ diff --git a/src/static/assets/img/科比.png b/src/static/assets/img/科比.png new file mode 100644 index 0000000..519ea8b Binary files /dev/null and b/src/static/assets/img/科比.png differ diff --git a/src/static/assets/img/詹韦连线.png b/src/static/assets/img/詹韦连线.png new file mode 100644 index 0000000..e55abb4 Binary files /dev/null and b/src/static/assets/img/詹韦连线.png differ diff --git a/src/static/assets/js/JQuery.js b/src/static/assets/js/JQuery.js new file mode 100644 index 0000000..8dc7395 --- /dev/null +++ b/src/static/assets/js/JQuery.js @@ -0,0 +1,16 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function (a, b) { "object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function (a) { if (!a.document) throw new Error("jQuery requires a window with a document"); return b(a) } : b(a) }("undefined" != typeof window ? window : this, function (a, b) { + var c = [], d = a.document, e = c.slice, f = c.concat, g = c.push, h = c.indexOf, i = {}, j = i.toString, k = i.hasOwnProperty, l = {}, m = "1.12.4", n = function (a, b) { return new n.fn.init(a, b) }, o = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, p = /^-ms-/, q = /-([\da-z])/gi, r = function (a, b) { return b.toUpperCase() }; n.fn = n.prototype = { jquery: m, constructor: n, selector: "", length: 0, toArray: function () { return e.call(this) }, get: function (a) { return null != a ? 0 > a ? this[a + this.length] : this[a] : e.call(this) }, pushStack: function (a) { var b = n.merge(this.constructor(), a); return b.prevObject = this, b.context = this.context, b }, each: function (a) { return n.each(this, a) }, map: function (a) { return this.pushStack(n.map(this, function (b, c) { return a.call(b, c, b) })) }, slice: function () { return this.pushStack(e.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, eq: function (a) { var b = this.length, c = +a + (0 > a ? b : 0); return this.pushStack(c >= 0 && b > c ? [this[c]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: g, sort: c.sort, splice: c.splice }, n.extend = n.fn.extend = function () { var a, b, c, d, e, f, g = arguments[0] || {}, h = 1, i = arguments.length, j = !1; for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++)if (null != (e = arguments[h])) for (d in e) a = g[d], c = e[d], g !== c && (j && c && (n.isPlainObject(c) || (b = n.isArray(c))) ? (b ? (b = !1, f = a && n.isArray(a) ? a : []) : f = a && n.isPlainObject(a) ? a : {}, g[d] = n.extend(j, f, c)) : void 0 !== c && (g[d] = c)); return g }, n.extend({ expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (a) { throw new Error(a) }, noop: function () { }, isFunction: function (a) { return "function" === n.type(a) }, isArray: Array.isArray || function (a) { return "array" === n.type(a) }, isWindow: function (a) { return null != a && a == a.window }, isNumeric: function (a) { var b = a && a.toString(); return !n.isArray(a) && b - parseFloat(b) + 1 >= 0 }, isEmptyObject: function (a) { var b; for (b in a) return !1; return !0 }, isPlainObject: function (a) { var b; if (!a || "object" !== n.type(a) || a.nodeType || n.isWindow(a)) return !1; try { if (a.constructor && !k.call(a, "constructor") && !k.call(a.constructor.prototype, "isPrototypeOf")) return !1 } catch (c) { return !1 } if (!l.ownFirst) for (b in a) return k.call(a, b); for (b in a); return void 0 === b || k.call(a, b) }, type: function (a) { return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? i[j.call(a)] || "object" : typeof a }, globalEval: function (b) { b && n.trim(b) && (a.execScript || function (b) { a.eval.call(a, b) })(b) }, camelCase: function (a) { return a.replace(p, "ms-").replace(q, r) }, nodeName: function (a, b) { return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase() }, each: function (a, b) { var c, d = 0; if (s(a)) { for (c = a.length; c > d; d++)if (b.call(a[d], d, a[d]) === !1) break } else for (d in a) if (b.call(a[d], d, a[d]) === !1) break; return a }, trim: function (a) { return null == a ? "" : (a + "").replace(o, "") }, makeArray: function (a, b) { var c = b || []; return null != a && (s(Object(a)) ? n.merge(c, "string" == typeof a ? [a] : a) : g.call(c, a)), c }, inArray: function (a, b, c) { var d; if (b) { if (h) return h.call(b, a, c); for (d = b.length, c = c ? 0 > c ? Math.max(0, d + c) : c : 0; d > c; c++)if (c in b && b[c] === a) return c } return -1 }, merge: function (a, b) { var c = +b.length, d = 0, e = a.length; while (c > d) a[e++] = b[d++]; if (c !== c) while (void 0 !== b[d]) a[e++] = b[d++]; return a.length = e, a }, grep: function (a, b, c) { for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++)d = !b(a[f], f), d !== h && e.push(a[f]); return e }, map: function (a, b, c) { var d, e, g = 0, h = []; if (s(a)) for (d = a.length; d > g; g++)e = b(a[g], g, c), null != e && h.push(e); else for (g in a) e = b(a[g], g, c), null != e && h.push(e); return f.apply([], h) }, guid: 1, proxy: function (a, b) { var c, d, f; return "string" == typeof b && (f = a[b], b = a, a = f), n.isFunction(a) ? (c = e.call(arguments, 2), d = function () { return a.apply(b || this, c.concat(e.call(arguments))) }, d.guid = a.guid = a.guid || n.guid++, d) : void 0 }, now: function () { return +new Date }, support: l }), "function" == typeof Symbol && (n.fn[Symbol.iterator] = c[Symbol.iterator]), n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (a, b) { i["[object " + b + "]"] = b.toLowerCase() }); function s(a) { var b = !!a && "length" in a && a.length, c = n.type(a); return "function" === c || n.isWindow(a) ? !1 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a } var t = function (a) { var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date, v = a.document, w = 0, x = 0, y = ga(), z = ga(), A = ga(), B = function (a, b) { return a === b && (l = !0), 0 }, C = 1 << 31, D = {}.hasOwnProperty, E = [], F = E.pop, G = E.push, H = E.push, I = E.slice, J = function (a, b) { for (var c = 0, d = a.length; d > c; c++)if (a[c] === b) return c; return -1 }, K = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", L = "[\\x20\\t\\r\\n\\f]", M = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", N = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + L + "*\\]", O = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + N + ")*)|.*)\\)|)", P = new RegExp(L + "+", "g"), Q = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"), R = new RegExp("^" + L + "*," + L + "*"), S = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"), T = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"), U = new RegExp(O), V = new RegExp("^" + M + "$"), W = { ID: new RegExp("^#(" + M + ")"), CLASS: new RegExp("^\\.(" + M + ")"), TAG: new RegExp("^(" + M + "|[*])"), ATTR: new RegExp("^" + N), PSEUDO: new RegExp("^" + O), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"), bool: new RegExp("^(?:" + K + ")$", "i"), needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i") }, X = /^(?:input|select|textarea|button)$/i, Y = /^h\d$/i, Z = /^[^{]+\{\s*\[native \w/, $ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, _ = /[+~]/, aa = /'|\\/g, ba = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"), ca = function (a, b, c) { var d = "0x" + b - 65536; return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320) }, da = function () { m() }; try { H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType } catch (ea) { H = { apply: E.length ? function (a, b) { G.apply(a, I.call(b)) } : function (a, b) { var c = a.length, d = 0; while (a[c++] = b[d++]); a.length = c - 1 } } } function fa(a, b, d, e) { var f, h, j, k, l, o, r, s, w = b && b.ownerDocument, x = b ? b.nodeType : 9; if (d = d || [], "string" != typeof a || !a || 1 !== x && 9 !== x && 11 !== x) return d; if (!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) { if (11 !== x && (o = $.exec(a))) if (f = o[1]) { if (9 === x) { if (!(j = b.getElementById(f))) return d; if (j.id === f) return d.push(j), d } else if (w && (j = w.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d } else { if (o[2]) return H.apply(d, b.getElementsByTagName(a)), d; if ((f = o[3]) && c.getElementsByClassName && b.getElementsByClassName) return H.apply(d, b.getElementsByClassName(f)), d } if (c.qsa && !A[a + " "] && (!q || !q.test(a))) { if (1 !== x) w = b, s = a; else if ("object" !== b.nodeName.toLowerCase()) { (k = b.getAttribute("id")) ? k = k.replace(aa, "\\$&") : b.setAttribute("id", k = u), r = g(a), h = r.length, l = V.test(k) ? "#" + k : "[id='" + k + "']"; while (h--) r[h] = l + " " + qa(r[h]); s = r.join(","), w = _.test(a) && oa(b.parentNode) || b } if (s) try { return H.apply(d, w.querySelectorAll(s)), d } catch (y) { } finally { k === u && b.removeAttribute("id") } } } return i(a.replace(Q, "$1"), b, d, e) } function ga() { var a = []; function b(c, e) { return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e } return b } function ha(a) { return a[u] = !0, a } function ia(a) { var b = n.createElement("div"); try { return !!a(b) } catch (c) { return !1 } finally { b.parentNode && b.parentNode.removeChild(b), b = null } } function ja(a, b) { var c = a.split("|"), e = c.length; while (e--) d.attrHandle[c[e]] = b } function ka(a, b) { var c = b && a, d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C); if (d) return d; if (c) while (c = c.nextSibling) if (c === b) return -1; return a ? 1 : -1 } function la(a) { return function (b) { var c = b.nodeName.toLowerCase(); return "input" === c && b.type === a } } function ma(a) { return function (b) { var c = b.nodeName.toLowerCase(); return ("input" === c || "button" === c) && b.type === a } } function na(a) { return ha(function (b) { return b = +b, ha(function (c, d) { var e, f = a([], c.length, b), g = f.length; while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e])) }) }) } function oa(a) { return a && "undefined" != typeof a.getElementsByTagName && a } c = fa.support = {}, f = fa.isXML = function (a) { var b = a && (a.ownerDocument || a).documentElement; return b ? "HTML" !== b.nodeName : !1 }, m = fa.setDocument = function (a) { var b, e, g = a ? a.ownerDocument || a : v; return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), (e = n.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener("unload", da, !1) : e.attachEvent && e.attachEvent("onunload", da)), c.attributes = ia(function (a) { return a.className = "i", !a.getAttribute("className") }), c.getElementsByTagName = ia(function (a) { return a.appendChild(n.createComment("")), !a.getElementsByTagName("*").length }), c.getElementsByClassName = Z.test(n.getElementsByClassName), c.getById = ia(function (a) { return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length }), c.getById ? (d.find.ID = function (a, b) { if ("undefined" != typeof b.getElementById && p) { var c = b.getElementById(a); return c ? [c] : [] } }, d.filter.ID = function (a) { var b = a.replace(ba, ca); return function (a) { return a.getAttribute("id") === b } }) : (delete d.find.ID, d.filter.ID = function (a) { var b = a.replace(ba, ca); return function (a) { var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id"); return c && c.value === b } }), d.find.TAG = c.getElementsByTagName ? function (a, b) { return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0 } : function (a, b) { var c, d = [], e = 0, f = b.getElementsByTagName(a); if ("*" === a) { while (c = f[e++]) 1 === c.nodeType && d.push(c); return d } return f }, d.find.CLASS = c.getElementsByClassName && function (a, b) { return "undefined" != typeof b.getElementsByClassName && p ? b.getElementsByClassName(a) : void 0 }, r = [], q = [], (c.qsa = Z.test(n.querySelectorAll)) && (ia(function (a) { o.appendChild(a).innerHTML = "", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]") }), ia(function (a) { var b = n.createElement("input"); b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + L + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:") })), (c.matchesSelector = Z.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ia(function (a) { c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", O) }), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = Z.test(o.compareDocumentPosition), t = b || Z.test(o.contains) ? function (a, b) { var c = 9 === a.nodeType ? a.documentElement : a, d = b && b.parentNode; return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d))) } : function (a, b) { if (b) while (b = b.parentNode) if (b === a) return !0; return !1 }, B = b ? function (a, b) { if (a === b) return l = !0, 0; var d = !a.compareDocumentPosition - !b.compareDocumentPosition; return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v && t(v, a) ? -1 : b === n || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1) } : function (a, b) { if (a === b) return l = !0, 0; var c, d = 0, e = a.parentNode, f = b.parentNode, g = [a], h = [b]; if (!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0; if (e === f) return ka(a, b); c = a; while (c = c.parentNode) g.unshift(c); c = b; while (c = c.parentNode) h.unshift(c); while (g[d] === h[d]) d++; return d ? ka(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0 }, n) : n }, fa.matches = function (a, b) { return fa(a, null, null, b) }, fa.matchesSelector = function (a, b) { if ((a.ownerDocument || a) !== n && m(a), b = b.replace(T, "='$1']"), c.matchesSelector && p && !A[b + " "] && (!r || !r.test(b)) && (!q || !q.test(b))) try { var d = s.call(a, b); if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d } catch (e) { } return fa(b, n, null, [a]).length > 0 }, fa.contains = function (a, b) { return (a.ownerDocument || a) !== n && m(a), t(a, b) }, fa.attr = function (a, b) { (a.ownerDocument || a) !== n && m(a); var e = d.attrHandle[b.toLowerCase()], f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0; return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null }, fa.error = function (a) { throw new Error("Syntax error, unrecognized expression: " + a) }, fa.uniqueSort = function (a) { var b, d = [], e = 0, f = 0; if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) { while (b = a[f++]) b === a[f] && (e = d.push(f)); while (e--) a.splice(d[e], 1) } return k = null, a }, e = fa.getText = function (a) { var b, c = "", d = 0, f = a.nodeType; if (f) { if (1 === f || 9 === f || 11 === f) { if ("string" == typeof a.textContent) return a.textContent; for (a = a.firstChild; a; a = a.nextSibling)c += e(a) } else if (3 === f || 4 === f) return a.nodeValue } else while (b = a[d++]) c += e(b); return c }, d = fa.selectors = { cacheLength: 50, createPseudo: ha, match: W, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (a) { return a[1] = a[1].replace(ba, ca), a[3] = (a[3] || a[4] || a[5] || "").replace(ba, ca), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4) }, CHILD: function (a) { return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || fa.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && fa.error(a[0]), a }, PSEUDO: function (a) { var b, c = !a[6] && a[2]; return W.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && U.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3)) } }, filter: { TAG: function (a) { var b = a.replace(ba, ca).toLowerCase(); return "*" === a ? function () { return !0 } : function (a) { return a.nodeName && a.nodeName.toLowerCase() === b } }, CLASS: function (a) { var b = y[a + " "]; return b || (b = new RegExp("(^|" + L + ")" + a + "(" + L + "|$)")) && y(a, function (a) { return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "") }) }, ATTR: function (a, b, c) { return function (d) { var e = fa.attr(d, a); return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(P, " ") + " ").indexOf(c) > -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0 } }, CHILD: function (a, b, c, d, e) { var f = "nth" !== a.slice(0, 3), g = "last" !== a.slice(-4), h = "of-type" === b; return 1 === d && 0 === e ? function (a) { return !!a.parentNode } : function (b, c, i) { var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling", q = b.parentNode, r = h && b.nodeName.toLowerCase(), s = !i && !h, t = !1; if (q) { if (f) { while (p) { m = b; while (m = m[p]) if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1; o = p = "only" === a && !o && "nextSibling" } return !0 } if (o = [g ? q.firstChild : q.lastChild], g && s) { m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n && j[2], m = n && q.childNodes[n]; while (m = ++n && m && m[p] || (t = n = 0) || o.pop()) if (1 === m.nodeType && ++t && m === b) { k[a] = [w, n, t]; break } } else if (s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n), t === !1) while (m = ++n && m && m[p] || (t = n = 0) || o.pop()) if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break; return t -= e, t === d || t % d === 0 && t / d >= 0 } } }, PSEUDO: function (a, b) { var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || fa.error("unsupported pseudo: " + a); return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ha(function (a, c) { var d, f = e(a, b), g = f.length; while (g--) d = J(a, f[g]), a[d] = !(c[d] = f[g]) }) : function (a) { return e(a, 0, c) }) : e } }, pseudos: { not: ha(function (a) { var b = [], c = [], d = h(a.replace(Q, "$1")); return d[u] ? ha(function (a, b, c, e) { var f, g = d(a, null, e, []), h = a.length; while (h--) (f = g[h]) && (a[h] = !(b[h] = f)) }) : function (a, e, f) { return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop() } }), has: ha(function (a) { return function (b) { return fa(a, b).length > 0 } }), contains: ha(function (a) { return a = a.replace(ba, ca), function (b) { return (b.textContent || b.innerText || e(b)).indexOf(a) > -1 } }), lang: ha(function (a) { return V.test(a || "") || fa.error("unsupported lang: " + a), a = a.replace(ba, ca).toLowerCase(), function (b) { var c; do if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType); return !1 } }), target: function (b) { var c = a.location && a.location.hash; return c && c.slice(1) === b.id }, root: function (a) { return a === o }, focus: function (a) { return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex) }, enabled: function (a) { return a.disabled === !1 }, disabled: function (a) { return a.disabled === !0 }, checked: function (a) { var b = a.nodeName.toLowerCase(); return "input" === b && !!a.checked || "option" === b && !!a.selected }, selected: function (a) { return a.parentNode && a.parentNode.selectedIndex, a.selected === !0 }, empty: function (a) { for (a = a.firstChild; a; a = a.nextSibling)if (a.nodeType < 6) return !1; return !0 }, parent: function (a) { return !d.pseudos.empty(a) }, header: function (a) { return Y.test(a.nodeName) }, input: function (a) { return X.test(a.nodeName) }, button: function (a) { var b = a.nodeName.toLowerCase(); return "input" === b && "button" === a.type || "button" === b }, text: function (a) { var b; return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase()) }, first: na(function () { return [0] }), last: na(function (a, b) { return [b - 1] }), eq: na(function (a, b, c) { return [0 > c ? c + b : c] }), even: na(function (a, b) { for (var c = 0; b > c; c += 2)a.push(c); return a }), odd: na(function (a, b) { for (var c = 1; b > c; c += 2)a.push(c); return a }), lt: na(function (a, b, c) { for (var d = 0 > c ? c + b : c; --d >= 0;)a.push(d); return a }), gt: na(function (a, b, c) { for (var d = 0 > c ? c + b : c; ++d < b;)a.push(d); return a }) } }, d.pseudos.nth = d.pseudos.eq; for (b in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) d.pseudos[b] = la(b); for (b in { submit: !0, reset: !0 }) d.pseudos[b] = ma(b); function pa() { } pa.prototype = d.filters = d.pseudos, d.setFilters = new pa, g = fa.tokenize = function (a, b) { var c, e, f, g, h, i, j, k = z[a + " "]; if (k) return b ? 0 : k.slice(0); h = a, i = [], j = d.preFilter; while (h) { c && !(e = R.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = S.exec(h)) && (c = e.shift(), f.push({ value: c, type: e[0].replace(Q, " ") }), h = h.slice(c.length)); for (g in d.filter) !(e = W[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({ value: c, type: g, matches: e }), h = h.slice(c.length)); if (!c) break } return b ? h.length : h ? fa.error(a) : z(a, i).slice(0) }; function qa(a) { for (var b = 0, c = a.length, d = ""; c > b; b++)d += a[b].value; return d } function ra(a, b, c) { var d = b.dir, e = c && "parentNode" === d, f = x++; return b.first ? function (b, c, f) { while (b = b[d]) if (1 === b.nodeType || e) return a(b, c, f) } : function (b, c, g) { var h, i, j, k = [w, f]; if (g) { while (b = b[d]) if ((1 === b.nodeType || e) && a(b, c, g)) return !0 } else while (b = b[d]) if (1 === b.nodeType || e) { if (j = b[u] || (b[u] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === w && h[1] === f) return k[2] = h[2]; if (i[d] = k, k[2] = a(b, c, g)) return !0 } } } function sa(a) { return a.length > 1 ? function (b, c, d) { var e = a.length; while (e--) if (!a[e](b, c, d)) return !1; return !0 } : a[0] } function ta(a, b, c) { for (var d = 0, e = b.length; e > d; d++)fa(a, b[d], c); return c } function ua(a, b, c, d, e) { for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h))); return g } function va(a, b, c, d, e, f) { return d && !d[u] && (d = va(d)), e && !e[u] && (e = va(e, f)), ha(function (f, g, h, i) { var j, k, l, m = [], n = [], o = g.length, p = f || ta(b || "*", h.nodeType ? [h] : h, []), q = !a || !f && b ? p : ua(p, m, a, h, i), r = c ? e || (f ? a : o || d) ? [] : g : q; if (c && c(q, r, h, i), d) { j = ua(r, n), d(j, [], h, i), k = j.length; while (k--) (l = j[k]) && (r[n[k]] = !(q[n[k]] = l)) } if (f) { if (e || a) { if (e) { j = [], k = r.length; while (k--) (l = r[k]) && j.push(q[k] = l); e(null, r = [], j, i) } k = r.length; while (k--) (l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l)) } } else r = ua(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r) }) } function wa(a) { for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = ra(function (a) { return a === b }, h, !0), l = ra(function (a) { return J(b, a) > -1 }, h, !0), m = [function (a, c, d) { var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d)); return b = null, e }]; f > i; i++)if (c = d.relative[a[i].type]) m = [ra(sa(m), c)]; else { if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) { for (e = ++i; f > e; e++)if (d.relative[a[e].type]) break; return va(i > 1 && sa(m), i > 1 && qa(a.slice(0, i - 1).concat({ value: " " === a[i - 2].type ? "*" : "" })).replace(Q, "$1"), c, e > i && wa(a.slice(i, e)), f > e && wa(a = a.slice(e)), f > e && qa(a)) } m.push(c) } return sa(m) } function xa(a, b) { var c = b.length > 0, e = a.length > 0, f = function (f, g, h, i, k) { var l, o, q, r = 0, s = "0", t = f && [], u = [], v = j, x = f || e && d.find.TAG("*", k), y = w += null == v ? 1 : Math.random() || .1, z = x.length; for (k && (j = g === n || g || k); s !== z && null != (l = x[s]); s++) { if (e && l) { o = 0, g || l.ownerDocument === n || (m(l), h = !p); while (q = a[o++]) if (q(l, g || n, h)) { i.push(l); break } k && (w = y) } c && ((l = !q && l) && r--, f && t.push(l)) } if (r += s, c && s !== r) { o = 0; while (q = b[o++]) q(t, u, g, h); if (f) { if (r > 0) while (s--) t[s] || u[s] || (u[s] = F.call(i)); u = ua(u) } H.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && fa.uniqueSort(i) } return k && (w = y, j = v), t }; return c ? ha(f) : f } return h = fa.compile = function (a, b) { var c, d = [], e = [], f = A[a + " "]; if (!f) { b || (b = g(a)), c = b.length; while (c--) f = wa(b[c]), f[u] ? d.push(f) : e.push(f); f = A(a, xa(e, d)), f.selector = a } return f }, i = fa.select = function (a, b, e, f) { var i, j, k, l, m, n = "function" == typeof a && a, o = !f && g(a = n.selector || a); if (e = e || [], 1 === o.length) { if (j = o[0] = o[0].slice(0), j.length > 2 && "ID" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) { if (b = (d.find.ID(k.matches[0].replace(ba, ca), b) || [])[0], !b) return e; n && (b = b.parentNode), a = a.slice(j.shift().value.length) } i = W.needsContext.test(a) ? 0 : j.length; while (i--) { if (k = j[i], d.relative[l = k.type]) break; if ((m = d.find[l]) && (f = m(k.matches[0].replace(ba, ca), _.test(j[0].type) && oa(b.parentNode) || b))) { if (j.splice(i, 1), a = f.length && qa(j), !a) return H.apply(e, f), e; break } } } return (n || h(a, o))(f, b, !p, e, !b || _.test(a) && oa(b.parentNode) || b), e }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ia(function (a) { return 1 & a.compareDocumentPosition(n.createElement("div")) }), ia(function (a) { return a.innerHTML = "", "#" === a.firstChild.getAttribute("href") }) || ja("type|href|height|width", function (a, b, c) { return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2) }), c.attributes && ia(function (a) { return a.innerHTML = "", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value") }) || ja("value", function (a, b, c) { return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue }), ia(function (a) { return null == a.getAttribute("disabled") }) || ja(K, function (a, b, c) { var d; return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null }), fa }(a); n.find = t, n.expr = t.selectors, n.expr[":"] = n.expr.pseudos, n.uniqueSort = n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains; var u = function (a, b, c) { var d = [], e = void 0 !== c; while ((a = a[b]) && 9 !== a.nodeType) if (1 === a.nodeType) { if (e && n(a).is(c)) break; d.push(a) } return d }, v = function (a, b) { for (var c = []; a; a = a.nextSibling)1 === a.nodeType && a !== b && c.push(a); return c }, w = n.expr.match.needsContext, x = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, y = /^.[^:#\[\.,]*$/; function z(a, b, c) { if (n.isFunction(b)) return n.grep(a, function (a, d) { return !!b.call(a, d, a) !== c }); if (b.nodeType) return n.grep(a, function (a) { return a === b !== c }); if ("string" == typeof b) { if (y.test(b)) return n.filter(b, a, c); b = n.filter(b, a) } return n.grep(a, function (a) { return n.inArray(a, b) > -1 !== c }) } n.filter = function (a, b, c) { var d = b[0]; return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function (a) { return 1 === a.nodeType })) }, n.fn.extend({ find: function (a) { var b, c = [], d = this, e = d.length; if ("string" != typeof a) return this.pushStack(n(a).filter(function () { for (b = 0; e > b; b++)if (n.contains(d[b], this)) return !0 })); for (b = 0; e > b; b++)n.find(a, d[b], c); return c = this.pushStack(e > 1 ? n.unique(c) : c), c.selector = this.selector ? this.selector + " " + a : a, c }, filter: function (a) { return this.pushStack(z(this, a || [], !1)) }, not: function (a) { return this.pushStack(z(this, a || [], !0)) }, is: function (a) { return !!z(this, "string" == typeof a && w.test(a) ? n(a) : a || [], !1).length } }); var A, B = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, C = n.fn.init = function (a, b, c) { var e, f; if (!a) return this; if (c = c || A, "string" == typeof a) { if (e = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : B.exec(a), !e || !e[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a); if (e[1]) { if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)), x.test(e[1]) && n.isPlainObject(b)) for (e in b) n.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]); return this } if (f = d.getElementById(e[2]), f && f.parentNode) { if (f.id !== e[2]) return A.find(a); this.length = 1, this[0] = f } return this.context = d, this.selector = a, this } return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? "undefined" != typeof c.ready ? c.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this)) }; C.prototype = n.fn, A = n(d); var D = /^(?:parents|prev(?:Until|All))/, E = { children: !0, contents: !0, next: !0, prev: !0 }; n.fn.extend({ has: function (a) { var b, c = n(a, this), d = c.length; return this.filter(function () { for (b = 0; d > b; b++)if (n.contains(this, c[b])) return !0 }) }, closest: function (a, b) { for (var c, d = 0, e = this.length, f = [], g = w.test(a) || "string" != typeof a ? n(a, b || this.context) : 0; e > d; d++)for (c = this[d]; c && c !== b; c = c.parentNode)if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) { f.push(c); break } return this.pushStack(f.length > 1 ? n.uniqueSort(f) : f) }, index: function (a) { return a ? "string" == typeof a ? n.inArray(this[0], n(a)) : n.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (a, b) { return this.pushStack(n.uniqueSort(n.merge(this.get(), n(a, b)))) }, addBack: function (a) { return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) } }); function F(a, b) { do a = a[b]; while (a && 1 !== a.nodeType); return a } n.each({ parent: function (a) { var b = a.parentNode; return b && 11 !== b.nodeType ? b : null }, parents: function (a) { return u(a, "parentNode") }, parentsUntil: function (a, b, c) { return u(a, "parentNode", c) }, next: function (a) { return F(a, "nextSibling") }, prev: function (a) { return F(a, "previousSibling") }, nextAll: function (a) { return u(a, "nextSibling") }, prevAll: function (a) { return u(a, "previousSibling") }, nextUntil: function (a, b, c) { return u(a, "nextSibling", c) }, prevUntil: function (a, b, c) { return u(a, "previousSibling", c) }, siblings: function (a) { return v((a.parentNode || {}).firstChild, a) }, children: function (a) { return v(a.firstChild) }, contents: function (a) { return n.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : n.merge([], a.childNodes) } }, function (a, b) { n.fn[a] = function (c, d) { var e = n.map(this, b, c); return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = n.filter(d, e)), this.length > 1 && (E[a] || (e = n.uniqueSort(e)), D.test(a) && (e = e.reverse())), this.pushStack(e) } }); var G = /\S+/g; function H(a) { var b = {}; return n.each(a.match(G) || [], function (a, c) { b[c] = !0 }), b } n.Callbacks = function (a) { a = "string" == typeof a ? H(a) : n.extend({}, a); var b, c, d, e, f = [], g = [], h = -1, i = function () { for (e = a.once, d = b = !0; g.length; h = -1) { c = g.shift(); while (++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1) } a.memory || (c = !1), b = !1, e && (f = c ? [] : "") }, j = { add: function () { return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) { n.each(b, function (b, c) { n.isFunction(c) ? a.unique && j.has(c) || f.push(c) : c && c.length && "string" !== n.type(c) && d(c) }) }(arguments), c && !b && i()), this }, remove: function () { return n.each(arguments, function (a, b) { var c; while ((c = n.inArray(b, f, c)) > -1) f.splice(c, 1), h >= c && h-- }), this }, has: function (a) { return a ? n.inArray(a, f) > -1 : f.length > 0 }, empty: function () { return f && (f = []), this }, disable: function () { return e = g = [], f = c = "", this }, disabled: function () { return !f }, lock: function () { return e = !0, c || j.disable(), this }, locked: function () { return !!e }, fireWith: function (a, c) { return e || (c = c || [], c = [a, c.slice ? c.slice() : c], g.push(c), b || i()), this }, fire: function () { return j.fireWith(this, arguments), this }, fired: function () { return !!d } }; return j }, n.extend({ Deferred: function (a) { var b = [["resolve", "done", n.Callbacks("once memory"), "resolved"], ["reject", "fail", n.Callbacks("once memory"), "rejected"], ["notify", "progress", n.Callbacks("memory")]], c = "pending", d = { state: function () { return c }, always: function () { return e.done(arguments).fail(arguments), this }, then: function () { var a = arguments; return n.Deferred(function (c) { n.each(b, function (b, f) { var g = n.isFunction(a[b]) && a[b]; e[f[1]](function () { var a = g && g.apply(this, arguments); a && n.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments) }) }), a = null }).promise() }, promise: function (a) { return null != a ? n.extend(a, d) : d } }, e = {}; return d.pipe = d.then, n.each(b, function (a, f) { var g = f[2], h = f[3]; d[f[1]] = g.add, h && g.add(function () { c = h }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function () { return e[f[0] + "With"](this === e ? d : this, arguments), this }, e[f[0] + "With"] = g.fireWith }), d.promise(e), a && a.call(e, e), e }, when: function (a) { var b = 0, c = e.call(arguments), d = c.length, f = 1 !== d || a && n.isFunction(a.promise) ? d : 0, g = 1 === f ? a : n.Deferred(), h = function (a, b, c) { return function (d) { b[a] = this, c[a] = arguments.length > 1 ? e.call(arguments) : d, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c) } }, i, j, k; if (d > 1) for (i = new Array(d), j = new Array(d), k = new Array(d); d > b; b++)c[b] && n.isFunction(c[b].promise) ? c[b].promise().progress(h(b, j, i)).done(h(b, k, c)).fail(g.reject) : --f; return f || g.resolveWith(k, c), g.promise() } }); var I; n.fn.ready = function (a) { return n.ready.promise().done(a), this }, n.extend({ isReady: !1, readyWait: 1, holdReady: function (a) { a ? n.readyWait++ : n.ready(!0) }, ready: function (a) { (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (I.resolveWith(d, [n]), n.fn.triggerHandler && (n(d).triggerHandler("ready"), n(d).off("ready")))) } }); function J() { d.addEventListener ? (d.removeEventListener("DOMContentLoaded", K), a.removeEventListener("load", K)) : (d.detachEvent("onreadystatechange", K), a.detachEvent("onload", K)) } function K() { (d.addEventListener || "load" === a.event.type || "complete" === d.readyState) && (J(), n.ready()) } n.ready.promise = function (b) { if (!I) if (I = n.Deferred(), "complete" === d.readyState || "loading" !== d.readyState && !d.documentElement.doScroll) a.setTimeout(n.ready); else if (d.addEventListener) d.addEventListener("DOMContentLoaded", K), a.addEventListener("load", K); else { d.attachEvent("onreadystatechange", K), a.attachEvent("onload", K); var c = !1; try { c = null == a.frameElement && d.documentElement } catch (e) { } c && c.doScroll && !function f() { if (!n.isReady) { try { c.doScroll("left") } catch (b) { return a.setTimeout(f, 50) } J(), n.ready() } }() } return I.promise(b) }, n.ready.promise(); var L; for (L in n(l)) break; l.ownFirst = "0" === L, l.inlineBlockNeedsLayout = !1, n(function () { var a, b, c, e; c = d.getElementsByTagName("body")[0], c && c.style && (b = d.createElement("div"), e = d.createElement("div"), e.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(e).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", l.inlineBlockNeedsLayout = a = 3 === b.offsetWidth, a && (c.style.zoom = 1)), c.removeChild(e)) }), function () { var a = d.createElement("div"); l.deleteExpando = !0; try { delete a.test } catch (b) { l.deleteExpando = !1 } a = null }(); var M = function (a) { var b = n.noData[(a.nodeName + " ").toLowerCase()], c = +a.nodeType || 1; return 1 !== c && 9 !== c ? !1 : !b || b !== !0 && a.getAttribute("classid") === b }, N = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, O = /([A-Z])/g; function P(a, b, c) { + if (void 0 === c && 1 === a.nodeType) { + var d = "data-" + b.replace(O, "-$1").toLowerCase(); if (c = a.getAttribute(d), "string" == typeof c) { try { c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : N.test(c) ? n.parseJSON(c) : c } catch (e) { } n.data(a, b, c) } else c = void 0; + } return c + } function Q(a) { var b; for (b in a) if (("data" !== b || !n.isEmptyObject(a[b])) && "toJSON" !== b) return !1; return !0 } function R(a, b, d, e) { if (M(a)) { var f, g, h = n.expando, i = a.nodeType, j = i ? n.cache : a, k = i ? a[h] : a[h] && h; if (k && j[k] && (e || j[k].data) || void 0 !== d || "string" != typeof b) return k || (k = i ? a[h] = c.pop() || n.guid++ : h), j[k] || (j[k] = i ? {} : { toJSON: n.noop }), "object" != typeof b && "function" != typeof b || (e ? j[k] = n.extend(j[k], b) : j[k].data = n.extend(j[k].data, b)), g = j[k], e || (g.data || (g.data = {}), g = g.data), void 0 !== d && (g[n.camelCase(b)] = d), "string" == typeof b ? (f = g[b], null == f && (f = g[n.camelCase(b)])) : f = g, f } } function S(a, b, c) { if (M(a)) { var d, e, f = a.nodeType, g = f ? n.cache : a, h = f ? a[n.expando] : n.expando; if (g[h]) { if (b && (d = c ? g[h] : g[h].data)) { n.isArray(b) ? b = b.concat(n.map(b, n.camelCase)) : b in d ? b = [b] : (b = n.camelCase(b), b = b in d ? [b] : b.split(" ")), e = b.length; while (e--) delete d[b[e]]; if (c ? !Q(d) : !n.isEmptyObject(d)) return } (c || (delete g[h].data, Q(g[h]))) && (f ? n.cleanData([a], !0) : l.deleteExpando || g != g.window ? delete g[h] : g[h] = void 0) } } } n.extend({ cache: {}, noData: { "applet ": !0, "embed ": !0, "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" }, hasData: function (a) { return a = a.nodeType ? n.cache[a[n.expando]] : a[n.expando], !!a && !Q(a) }, data: function (a, b, c) { return R(a, b, c) }, removeData: function (a, b) { return S(a, b) }, _data: function (a, b, c) { return R(a, b, c, !0) }, _removeData: function (a, b) { return S(a, b, !0) } }), n.fn.extend({ data: function (a, b) { var c, d, e, f = this[0], g = f && f.attributes; if (void 0 === a) { if (this.length && (e = n.data(f), 1 === f.nodeType && !n._data(f, "parsedAttrs"))) { c = g.length; while (c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = n.camelCase(d.slice(5)), P(f, d, e[d]))); n._data(f, "parsedAttrs", !0) } return e } return "object" == typeof a ? this.each(function () { n.data(this, a) }) : arguments.length > 1 ? this.each(function () { n.data(this, a, b) }) : f ? P(f, a, n.data(f, a)) : void 0 }, removeData: function (a) { return this.each(function () { n.removeData(this, a) }) } }), n.extend({ queue: function (a, b, c) { var d; return a ? (b = (b || "fx") + "queue", d = n._data(a, b), c && (!d || n.isArray(c) ? d = n._data(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0 }, dequeue: function (a, b) { b = b || "fx"; var c = n.queue(a, b), d = c.length, e = c.shift(), f = n._queueHooks(a, b), g = function () { n.dequeue(a, b) }; "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire() }, _queueHooks: function (a, b) { var c = b + "queueHooks"; return n._data(a, c) || n._data(a, c, { empty: n.Callbacks("once memory").add(function () { n._removeData(a, b + "queue"), n._removeData(a, c) }) }) } }), n.fn.extend({ queue: function (a, b) { var c = 2; return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function () { var c = n.queue(this, a, b); n._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && n.dequeue(this, a) }) }, dequeue: function (a) { return this.each(function () { n.dequeue(this, a) }) }, clearQueue: function (a) { return this.queue(a || "fx", []) }, promise: function (a, b) { var c, d = 1, e = n.Deferred(), f = this, g = this.length, h = function () { --d || e.resolveWith(f, [f]) }; "string" != typeof a && (b = a, a = void 0), a = a || "fx"; while (g--) c = n._data(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h)); return h(), e.promise(b) } }), function () { var a; l.shrinkWrapBlocks = function () { if (null != a) return a; a = !1; var b, c, e; return c = d.getElementsByTagName("body")[0], c && c.style ? (b = d.createElement("div"), e = d.createElement("div"), e.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(e).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", b.appendChild(d.createElement("div")).style.width = "5px", a = 3 !== b.offsetWidth), c.removeChild(e), a) : void 0 } }(); var T = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, U = new RegExp("^(?:([+-])=|)(" + T + ")([a-z%]*)$", "i"), V = ["Top", "Right", "Bottom", "Left"], W = function (a, b) { return a = b || a, "none" === n.css(a, "display") || !n.contains(a.ownerDocument, a) }; function X(a, b, c, d) { var e, f = 1, g = 20, h = d ? function () { return d.cur() } : function () { return n.css(a, b, "") }, i = h(), j = c && c[3] || (n.cssNumber[b] ? "" : "px"), k = (n.cssNumber[b] || "px" !== j && +i) && U.exec(n.css(a, b)); if (k && k[3] !== j) { j = j || k[3], c = c || [], k = +i || 1; do f = f || ".5", k /= f, n.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g) } return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)), e } var Y = function (a, b, c, d, e, f, g) { var h = 0, i = a.length, j = null == c; if ("object" === n.type(c)) { e = !0; for (h in c) Y(a, b, h, c[h], !0, f, g) } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function (a, b, c) { return j.call(n(a), c) })), b)) for (; i > h; h++)b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c))); return e ? a : j ? b.call(a) : i ? b(a[0], c) : f }, Z = /^(?:checkbox|radio)$/i, $ = /<([\w:-]+)/, _ = /^$|\/(?:java|ecma)script/i, aa = /^\s+/, ba = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video"; function ca(a) { var b = ba.split("|"), c = a.createDocumentFragment(); if (c.createElement) while (b.length) c.createElement(b.pop()); return c } !function () { var a = d.createElement("div"), b = d.createDocumentFragment(), c = d.createElement("input"); a.innerHTML = "
a", l.leadingWhitespace = 3 === a.firstChild.nodeType, l.tbody = !a.getElementsByTagName("tbody").length, l.htmlSerialize = !!a.getElementsByTagName("link").length, l.html5Clone = "<:nav>" !== d.createElement("nav").cloneNode(!0).outerHTML, c.type = "checkbox", c.checked = !0, b.appendChild(c), l.appendChecked = c.checked, a.innerHTML = "", l.noCloneChecked = !!a.cloneNode(!0).lastChild.defaultValue, b.appendChild(a), c = d.createElement("input"), c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), a.appendChild(c), l.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, l.noCloneEvent = !!a.addEventListener, a[n.expando] = 1, l.attributes = !a.getAttribute(n.expando) }(); var da = { option: [1, ""], legend: [1, "
", "
"], area: [1, "", ""], param: [1, "", ""], thead: [1, "", "
"], tr: [2, "", "
"], col: [2, "", "
"], td: [3, "", "
"], _default: l.htmlSerialize ? [0, "", ""] : [1, "X
", "
"] }; da.optgroup = da.option, da.tbody = da.tfoot = da.colgroup = da.caption = da.thead, da.th = da.td; function ea(a, b) { var c, d, e = 0, f = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || "*") : "undefined" != typeof a.querySelectorAll ? a.querySelectorAll(b || "*") : void 0; if (!f) for (f = [], c = a.childNodes || a; null != (d = c[e]); e++)!b || n.nodeName(d, b) ? f.push(d) : n.merge(f, ea(d, b)); return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], f) : f } function fa(a, b) { for (var c, d = 0; null != (c = a[d]); d++)n._data(c, "globalEval", !b || n._data(b[d], "globalEval")) } var ga = /<|&#?\w+;/, ha = / r; r++)if (g = a[r], g || 0 === g) if ("object" === n.type(g)) n.merge(q, g.nodeType ? [g] : g); else if (ga.test(g)) { i = i || p.appendChild(b.createElement("div")), j = ($.exec(g) || ["", ""])[1].toLowerCase(), m = da[j] || da._default, i.innerHTML = m[1] + n.htmlPrefilter(g) + m[2], f = m[0]; while (f--) i = i.lastChild; if (!l.leadingWhitespace && aa.test(g) && q.push(b.createTextNode(aa.exec(g)[0])), !l.tbody) { g = "table" !== j || ha.test(g) ? "" !== m[1] || ha.test(g) ? 0 : i : i.firstChild, f = g && g.childNodes.length; while (f--) n.nodeName(k = g.childNodes[f], "tbody") && !k.childNodes.length && g.removeChild(k) } n.merge(q, i.childNodes), i.textContent = ""; while (i.firstChild) i.removeChild(i.firstChild); i = p.lastChild } else q.push(b.createTextNode(g)); i && p.removeChild(i), l.appendChecked || n.grep(ea(q, "input"), ia), r = 0; while (g = q[r++]) if (d && n.inArray(g, d) > -1) e && e.push(g); else if (h = n.contains(g.ownerDocument, g), i = ea(p.appendChild(g), "script"), h && fa(i), c) { f = 0; while (g = i[f++]) _.test(g.type || "") && c.push(g) } return i = null, p } !function () { var b, c, e = d.createElement("div"); for (b in { submit: !0, change: !0, focusin: !0 }) c = "on" + b, (l[b] = c in a) || (e.setAttribute(c, "t"), l[b] = e.attributes[c].expando === !1); e = null }(); var ka = /^(?:input|select|textarea)$/i, la = /^key/, ma = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, na = /^(?:focusinfocus|focusoutblur)$/, oa = /^([^.]*)(?:\.(.+)|)/; function pa() { return !0 } function qa() { return !1 } function ra() { try { return d.activeElement } catch (a) { } } function sa(a, b, c, d, e, f) { var g, h; if ("object" == typeof b) { "string" != typeof c && (d = d || c, c = void 0); for (h in b) sa(a, h, c, d, b[h], f); return a } if (null == d && null == e ? (e = c, d = c = void 0) : null == e && ("string" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = qa; else if (!e) return a; return 1 === f && (g = e, e = function (a) { return n().off(a), g.apply(this, arguments) }, e.guid = g.guid || (g.guid = n.guid++)), a.each(function () { n.event.add(this, b, e, d, c) }) } n.event = { global: {}, add: function (a, b, c, d, e) { var f, g, h, i, j, k, l, m, o, p, q, r = n._data(a); if (r) { c.handler && (i = c, c = i.handler, e = i.selector), c.guid || (c.guid = n.guid++), (g = r.events) || (g = r.events = {}), (k = r.handle) || (k = r.handle = function (a) { return "undefined" == typeof n || a && n.event.triggered === a.type ? void 0 : n.event.dispatch.apply(k.elem, arguments) }, k.elem = a), b = (b || "").match(G) || [""], h = b.length; while (h--) f = oa.exec(b[h]) || [], o = q = f[1], p = (f[2] || "").split(".").sort(), o && (j = n.event.special[o] || {}, o = (e ? j.delegateType : j.bindType) || o, j = n.event.special[o] || {}, l = n.extend({ type: o, origType: q, data: d, handler: c, guid: c.guid, selector: e, needsContext: e && n.expr.match.needsContext.test(e), namespace: p.join(".") }, i), (m = g[o]) || (m = g[o] = [], m.delegateCount = 0, j.setup && j.setup.call(a, d, p, k) !== !1 || (a.addEventListener ? a.addEventListener(o, k, !1) : a.attachEvent && a.attachEvent("on" + o, k))), j.add && (j.add.call(a, l), l.handler.guid || (l.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, l) : m.push(l), n.event.global[o] = !0); a = null } }, remove: function (a, b, c, d, e) { var f, g, h, i, j, k, l, m, o, p, q, r = n.hasData(a) && n._data(a); if (r && (k = r.events)) { b = (b || "").match(G) || [""], j = b.length; while (j--) if (h = oa.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) { l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = k[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), i = f = m.length; while (f--) g = m[f], !e && q !== g.origType || c && c.guid !== g.guid || h && !h.test(g.namespace) || d && d !== g.selector && ("**" !== d || !g.selector) || (m.splice(f, 1), g.selector && m.delegateCount--, l.remove && l.remove.call(a, g)); i && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete k[o]) } else for (o in k) n.event.remove(a, o + b[j], c, d, !0); n.isEmptyObject(k) && (delete r.handle, n._removeData(a, "events")) } }, trigger: function (b, c, e, f) { var g, h, i, j, l, m, o, p = [e || d], q = k.call(b, "type") ? b.type : b, r = k.call(b, "namespace") ? b.namespace.split(".") : []; if (i = m = e = e || d, 3 !== e.nodeType && 8 !== e.nodeType && !na.test(q + n.event.triggered) && (q.indexOf(".") > -1 && (r = q.split("."), q = r.shift(), r.sort()), h = q.indexOf(":") < 0 && "on" + q, b = b[n.expando] ? b : new n.Event(q, "object" == typeof b && b), b.isTrigger = f ? 2 : 3, b.namespace = r.join("."), b.rnamespace = b.namespace ? new RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [b] : n.makeArray(c, [b]), l = n.event.special[q] || {}, f || !l.trigger || l.trigger.apply(e, c) !== !1)) { if (!f && !l.noBubble && !n.isWindow(e)) { for (j = l.delegateType || q, na.test(j + q) || (i = i.parentNode); i; i = i.parentNode)p.push(i), m = i; m === (e.ownerDocument || d) && p.push(m.defaultView || m.parentWindow || a) } o = 0; while ((i = p[o++]) && !b.isPropagationStopped()) b.type = o > 1 ? j : l.bindType || q, g = (n._data(i, "events") || {})[b.type] && n._data(i, "handle"), g && g.apply(i, c), g = h && i[h], g && g.apply && M(i) && (b.result = g.apply(i, c), b.result === !1 && b.preventDefault()); if (b.type = q, !f && !b.isDefaultPrevented() && (!l._default || l._default.apply(p.pop(), c) === !1) && M(e) && h && e[q] && !n.isWindow(e)) { m = e[h], m && (e[h] = null), n.event.triggered = q; try { e[q]() } catch (s) { } n.event.triggered = void 0, m && (e[h] = m) } return b.result } }, dispatch: function (a) { a = n.event.fix(a); var b, c, d, f, g, h = [], i = e.call(arguments), j = (n._data(this, "events") || {})[a.type] || [], k = n.event.special[a.type] || {}; if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) { h = n.event.handlers.call(this, a, j), b = 0; while ((f = h[b++]) && !a.isPropagationStopped()) { a.currentTarget = f.elem, c = 0; while ((g = f.handlers[c++]) && !a.isImmediatePropagationStopped()) a.rnamespace && !a.rnamespace.test(g.namespace) || (a.handleObj = g, a.data = g.data, d = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation())) } return k.postDispatch && k.postDispatch.call(this, a), a.result } }, handlers: function (a, b) { var c, d, e, f, g = [], h = b.delegateCount, i = a.target; if (h && i.nodeType && ("click" !== a.type || isNaN(a.button) || a.button < 1)) for (; i != this; i = i.parentNode || this)if (1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) { for (d = [], c = 0; h > c; c++)f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) > -1 : n.find(e, this, null, [i]).length), d[e] && d.push(f); d.length && g.push({ elem: i, handlers: d }) } return h < b.length && g.push({ elem: this, handlers: b.slice(h) }), g }, fix: function (a) { if (a[n.expando]) return a; var b, c, e, f = a.type, g = a, h = this.fixHooks[f]; h || (this.fixHooks[f] = h = ma.test(f) ? this.mouseHooks : la.test(f) ? this.keyHooks : {}), e = h.props ? this.props.concat(h.props) : this.props, a = new n.Event(g), b = e.length; while (b--) c = e[b], a[c] = g[c]; return a.target || (a.target = g.srcElement || d), 3 === a.target.nodeType && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, h.filter ? h.filter(a, g) : a }, props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (a, b) { return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (a, b) { var c, e, f, g = b.button, h = b.fromElement; return null == a.pageX && null != b.clientX && (e = a.target.ownerDocument || d, f = e.documentElement, c = e.body, a.pageX = b.clientX + (f && f.scrollLeft || c && c.scrollLeft || 0) - (f && f.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (f && f.scrollTop || c && c.scrollTop || 0) - (f && f.clientTop || c && c.clientTop || 0)), !a.relatedTarget && h && (a.relatedTarget = h === a.target ? b.toElement : h), a.which || void 0 === g || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), a } }, special: { load: { noBubble: !0 }, focus: { trigger: function () { if (this !== ra() && this.focus) try { return this.focus(), !1 } catch (a) { } }, delegateType: "focusin" }, blur: { trigger: function () { return this === ra() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function () { return n.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0 }, _default: function (a) { return n.nodeName(a.target, "a") } }, beforeunload: { postDispatch: function (a) { void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) } } }, simulate: function (a, b, c) { var d = n.extend(new n.Event, c, { type: a, isSimulated: !0 }); n.event.trigger(d, null, b), d.isDefaultPrevented() && c.preventDefault() } }, n.removeEvent = d.removeEventListener ? function (a, b, c) { a.removeEventListener && a.removeEventListener(b, c) } : function (a, b, c) { var d = "on" + b; a.detachEvent && ("undefined" == typeof a[d] && (a[d] = null), a.detachEvent(d, c)) }, n.Event = function (a, b) { return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? pa : qa) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void (this[n.expando] = !0)) : new n.Event(a, b) }, n.Event.prototype = { constructor: n.Event, isDefaultPrevented: qa, isPropagationStopped: qa, isImmediatePropagationStopped: qa, preventDefault: function () { var a = this.originalEvent; this.isDefaultPrevented = pa, a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1) }, stopPropagation: function () { var a = this.originalEvent; this.isPropagationStopped = pa, a && !this.isSimulated && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) }, stopImmediatePropagation: function () { var a = this.originalEvent; this.isImmediatePropagationStopped = pa, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation() } }, n.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (a, b) { n.event.special[a] = { delegateType: b, bindType: b, handle: function (a) { var c, d = this, e = a.relatedTarget, f = a.handleObj; return e && (e === d || n.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c } } }), l.submit || (n.event.special.submit = { setup: function () { return n.nodeName(this, "form") ? !1 : void n.event.add(this, "click._submit keypress._submit", function (a) { var b = a.target, c = n.nodeName(b, "input") || n.nodeName(b, "button") ? n.prop(b, "form") : void 0; c && !n._data(c, "submit") && (n.event.add(c, "submit._submit", function (a) { a._submitBubble = !0 }), n._data(c, "submit", !0)) }) }, postDispatch: function (a) { a._submitBubble && (delete a._submitBubble, this.parentNode && !a.isTrigger && n.event.simulate("submit", this.parentNode, a)) }, teardown: function () { return n.nodeName(this, "form") ? !1 : void n.event.remove(this, "._submit") } }), l.change || (n.event.special.change = { setup: function () { return ka.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || (n.event.add(this, "propertychange._change", function (a) { "checked" === a.originalEvent.propertyName && (this._justChanged = !0) }), n.event.add(this, "click._change", function (a) { this._justChanged && !a.isTrigger && (this._justChanged = !1), n.event.simulate("change", this, a) })), !1) : void n.event.add(this, "beforeactivate._change", function (a) { var b = a.target; ka.test(b.nodeName) && !n._data(b, "change") && (n.event.add(b, "change._change", function (a) { !this.parentNode || a.isSimulated || a.isTrigger || n.event.simulate("change", this.parentNode, a) }), n._data(b, "change", !0)) }) }, handle: function (a) { var b = a.target; return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : void 0 }, teardown: function () { return n.event.remove(this, "._change"), !ka.test(this.nodeName) } }), l.focusin || n.each({ focus: "focusin", blur: "focusout" }, function (a, b) { var c = function (a) { n.event.simulate(b, a.target, n.event.fix(a)) }; n.event.special[b] = { setup: function () { var d = this.ownerDocument || this, e = n._data(d, b); e || d.addEventListener(a, c, !0), n._data(d, b, (e || 0) + 1) }, teardown: function () { var d = this.ownerDocument || this, e = n._data(d, b) - 1; e ? n._data(d, b, e) : (d.removeEventListener(a, c, !0), n._removeData(d, b)) } } }), n.fn.extend({ on: function (a, b, c, d) { return sa(this, a, b, c, d) }, one: function (a, b, c, d) { return sa(this, a, b, c, d, 1) }, off: function (a, b, c) { var d, e; if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; if ("object" == typeof a) { for (e in a) this.off(e, b, a[e]); return this } return b !== !1 && "function" != typeof b || (c = b, b = void 0), c === !1 && (c = qa), this.each(function () { n.event.remove(this, a, c, b) }) }, trigger: function (a, b) { return this.each(function () { n.event.trigger(a, b, this) }) }, triggerHandler: function (a, b) { var c = this[0]; return c ? n.event.trigger(a, b, c, !0) : void 0 } }); var ta = / jQuery\d+="(?:null|\d+)"/g, ua = new RegExp("<(?:" + ba + ")[\\s/>]", "i"), va = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, wa = /\s*$/g, Aa = ca(d), Ba = Aa.appendChild(d.createElement("div")); function Ca(a, b) { return n.nodeName(a, "table") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a } function Da(a) { return a.type = (null !== n.find.attr(a, "type")) + "/" + a.type, a } function Ea(a) { var b = ya.exec(a.type); return b ? a.type = b[1] : a.removeAttribute("type"), a } function Fa(a, b) { if (1 === b.nodeType && n.hasData(a)) { var c, d, e, f = n._data(a), g = n._data(b, f), h = f.events; if (h) { delete g.handle, g.events = {}; for (c in h) for (d = 0, e = h[c].length; e > d; d++)n.event.add(b, c, h[c][d]) } g.data && (g.data = n.extend({}, g.data)) } } function Ga(a, b) { var c, d, e; if (1 === b.nodeType) { if (c = b.nodeName.toLowerCase(), !l.noCloneEvent && b[n.expando]) { e = n._data(b); for (d in e.events) n.removeEvent(b, d, e.handle); b.removeAttribute(n.expando) } "script" === c && b.text !== a.text ? (Da(b).text = a.text, Ea(b)) : "object" === c ? (b.parentNode && (b.outerHTML = a.outerHTML), l.html5Clone && a.innerHTML && !n.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : "input" === c && Z.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : "option" === c ? b.defaultSelected = b.selected = a.defaultSelected : "input" !== c && "textarea" !== c || (b.defaultValue = a.defaultValue) } } function Ha(a, b, c, d) { b = f.apply([], b); var e, g, h, i, j, k, m = 0, o = a.length, p = o - 1, q = b[0], r = n.isFunction(q); if (r || o > 1 && "string" == typeof q && !l.checkClone && xa.test(q)) return a.each(function (e) { var f = a.eq(e); r && (b[0] = q.call(this, e, f.html())), Ha(f, b, c, d) }); if (o && (k = ja(b, a[0].ownerDocument, !1, a, d), e = k.firstChild, 1 === k.childNodes.length && (k = e), e || d)) { for (i = n.map(ea(k, "script"), Da), h = i.length; o > m; m++)g = k, m !== p && (g = n.clone(g, !0, !0), h && n.merge(i, ea(g, "script"))), c.call(a[m], g, m); if (h) for (j = i[i.length - 1].ownerDocument, n.map(i, Ea), m = 0; h > m; m++)g = i[m], _.test(g.type || "") && !n._data(g, "globalEval") && n.contains(j, g) && (g.src ? n._evalUrl && n._evalUrl(g.src) : n.globalEval((g.text || g.textContent || g.innerHTML || "").replace(za, ""))); k = e = null } return a } function Ia(a, b, c) { for (var d, e = b ? n.filter(b, a) : a, f = 0; null != (d = e[f]); f++)c || 1 !== d.nodeType || n.cleanData(ea(d)), d.parentNode && (c && n.contains(d.ownerDocument, d) && fa(ea(d, "script")), d.parentNode.removeChild(d)); return a } n.extend({ htmlPrefilter: function (a) { return a.replace(va, "<$1>") }, clone: function (a, b, c) { var d, e, f, g, h, i = n.contains(a.ownerDocument, a); if (l.html5Clone || n.isXMLDoc(a) || !ua.test("<" + a.nodeName + ">") ? f = a.cloneNode(!0) : (Ba.innerHTML = a.outerHTML, Ba.removeChild(f = Ba.firstChild)), !(l.noCloneEvent && l.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a))) for (d = ea(f), h = ea(a), g = 0; null != (e = h[g]); ++g)d[g] && Ga(e, d[g]); if (b) if (c) for (h = h || ea(a), d = d || ea(f), g = 0; null != (e = h[g]); g++)Fa(e, d[g]); else Fa(a, f); return d = ea(f, "script"), d.length > 0 && fa(d, !i && ea(a, "script")), d = h = e = null, f }, cleanData: function (a, b) { for (var d, e, f, g, h = 0, i = n.expando, j = n.cache, k = l.attributes, m = n.event.special; null != (d = a[h]); h++)if ((b || M(d)) && (f = d[i], g = f && j[f])) { if (g.events) for (e in g.events) m[e] ? n.event.remove(d, e) : n.removeEvent(d, e, g.handle); j[f] && (delete j[f], k || "undefined" == typeof d.removeAttribute ? d[i] = void 0 : d.removeAttribute(i), c.push(f)) } } }), n.fn.extend({ domManip: Ha, detach: function (a) { return Ia(this, a, !0) }, remove: function (a) { return Ia(this, a) }, text: function (a) { return Y(this, function (a) { return void 0 === a ? n.text(this) : this.empty().append((this[0] && this[0].ownerDocument || d).createTextNode(a)) }, null, a, arguments.length) }, append: function () { return Ha(this, arguments, function (a) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var b = Ca(this, a); b.appendChild(a) } }) }, prepend: function () { return Ha(this, arguments, function (a) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var b = Ca(this, a); b.insertBefore(a, b.firstChild) } }) }, before: function () { return Ha(this, arguments, function (a) { this.parentNode && this.parentNode.insertBefore(a, this) }) }, after: function () { return Ha(this, arguments, function (a) { this.parentNode && this.parentNode.insertBefore(a, this.nextSibling) }) }, empty: function () { for (var a, b = 0; null != (a = this[b]); b++) { 1 === a.nodeType && n.cleanData(ea(a, !1)); while (a.firstChild) a.removeChild(a.firstChild); a.options && n.nodeName(a, "select") && (a.options.length = 0) } return this }, clone: function (a, b) { return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function () { return n.clone(this, a, b) }) }, html: function (a) { return Y(this, function (a) { var b = this[0] || {}, c = 0, d = this.length; if (void 0 === a) return 1 === b.nodeType ? b.innerHTML.replace(ta, "") : void 0; if ("string" == typeof a && !wa.test(a) && (l.htmlSerialize || !ua.test(a)) && (l.leadingWhitespace || !aa.test(a)) && !da[($.exec(a) || ["", ""])[1].toLowerCase()]) { a = n.htmlPrefilter(a); try { for (; d > c; c++)b = this[c] || {}, 1 === b.nodeType && (n.cleanData(ea(b, !1)), b.innerHTML = a); b = 0 } catch (e) { } } b && this.empty().append(a) }, null, a, arguments.length) }, replaceWith: function () { var a = []; return Ha(this, arguments, function (b) { var c = this.parentNode; n.inArray(this, a) < 0 && (n.cleanData(ea(this)), c && c.replaceChild(b, this)) }, a) } }), n.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (a, b) { n.fn[a] = function (a) { for (var c, d = 0, e = [], f = n(a), h = f.length - 1; h >= d; d++)c = d === h ? this : this.clone(!0), n(f[d])[b](c), g.apply(e, c.get()); return this.pushStack(e) } }); var Ja, Ka = { HTML: "block", BODY: "block" }; function La(a, b) { var c = n(b.createElement(a)).appendTo(b.body), d = n.css(c[0], "display"); return c.detach(), d } function Ma(a) { var b = d, c = Ka[a]; return c || (c = La(a, b), "none" !== c && c || (Ja = (Ja || n("' ); + html.attr( 'height', height ); + html.attr( 'width', width ); + if (video.type === 'youtube') { + html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id ); + } else if (video.type === 'vimeo') { + html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' ); + } else if (video.type === 'vzaar') { + html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' ); + } + + iframe = $(html).wrap( '
' ).insertAfter(item.find('.owl-video')); + + this._playing = item.addClass('owl-video-playing'); + }; + + /** + * Checks whether an video is currently in full screen mode or not. + * @todo Bad style because looks like a readonly method but changes members. + * @protected + * @returns {Boolean} + */ + Video.prototype.isInFullScreen = function() { + var element = document.fullscreenElement || document.mozFullScreenElement || + document.webkitFullscreenElement; + + return element && $(element).parent().hasClass('owl-video-frame'); + }; + + /** + * Destroys the plugin. + */ + Video.prototype.destroy = function() { + var handler, property; + + this._core.$element.off('click.owl.video'); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Video = Video; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Animate Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the animate plugin. + * @class The Navigation Plugin + * @param {Owl} scope - The Owl Carousel + */ + var Animate = function(scope) { + this.core = scope; + this.core.options = $.extend({}, Animate.Defaults, this.core.options); + this.swapping = true; + this.previous = undefined; + this.next = undefined; + + this.handlers = { + 'change.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name == 'position') { + this.previous = this.core.current(); + this.next = e.property.value; + } + }, this), + 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) { + if (e.namespace) { + this.swapping = e.type == 'translated'; + } + }, this), + 'translate.owl.carousel': $.proxy(function(e) { + if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) { + this.swap(); + } + }, this) + }; + + this.core.$element.on(this.handlers); + }; + + /** + * Default options. + * @public + */ + Animate.Defaults = { + animateOut: false, + animateIn: false + }; + + /** + * Toggles the animation classes whenever an translations starts. + * @protected + * @returns {Boolean|undefined} + */ + Animate.prototype.swap = function() { + + if (this.core.settings.items !== 1) { + return; + } + + if (!$.support.animation || !$.support.transition) { + return; + } + + this.core.speed(0); + + var left, + clear = $.proxy(this.clear, this), + previous = this.core.$stage.children().eq(this.previous), + next = this.core.$stage.children().eq(this.next), + incoming = this.core.settings.animateIn, + outgoing = this.core.settings.animateOut; + + if (this.core.current() === this.previous) { + return; + } + + if (outgoing) { + left = this.core.coordinates(this.previous) - this.core.coordinates(this.next); + previous.one($.support.animation.end, clear) + .css( { 'left': left + 'px' } ) + .addClass('animated owl-animated-out') + .addClass(outgoing); + } + + if (incoming) { + next.one($.support.animation.end, clear) + .addClass('animated owl-animated-in') + .addClass(incoming); + } + }; + + Animate.prototype.clear = function(e) { + $(e.target).css( { 'left': '' } ) + .removeClass('animated owl-animated-out owl-animated-in') + .removeClass(this.core.settings.animateIn) + .removeClass(this.core.settings.animateOut); + this.core.onTransitionEnd(); + }; + + /** + * Destroys the plugin. + * @public + */ + Animate.prototype.destroy = function() { + var handler, property; + + for (handler in this.handlers) { + this.core.$element.off(handler, this.handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Animate = Animate; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Autoplay Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author Artus Kolanowski + * @author David Deutsch + * @author Tom De Caluwé + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the autoplay plugin. + * @class The Autoplay Plugin + * @param {Owl} scope - The Owl Carousel + */ + var Autoplay = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * The autoplay timeout id. + * @type {Number} + */ + this._call = null; + + /** + * Depending on the state of the plugin, this variable contains either + * the start time of the timer or the current timer value if it's + * paused. Since we start in a paused state we initialize the timer + * value. + * @type {Number} + */ + this._time = 0; + + /** + * Stores the timeout currently used. + * @type {Number} + */ + this._timeout = 0; + + /** + * Indicates whenever the autoplay is paused. + * @type {Boolean} + */ + this._paused = true; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name === 'settings') { + if (this._core.settings.autoplay) { + this.play(); + } else { + this.stop(); + } + } else if (e.namespace && e.property.name === 'position' && this._paused) { + // Reset the timer. This code is triggered when the position + // of the carousel was changed through user interaction. + this._time = 0; + } + }, this), + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoplay) { + this.play(); + } + }, this), + 'play.owl.autoplay': $.proxy(function(e, t, s) { + if (e.namespace) { + this.play(t, s); + } + }, this), + 'stop.owl.autoplay': $.proxy(function(e) { + if (e.namespace) { + this.stop(); + } + }, this), + 'mouseover.owl.autoplay': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.pause(); + } + }, this), + 'mouseleave.owl.autoplay': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.play(); + } + }, this), + 'touchstart.owl.core': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.pause(); + } + }, this), + 'touchend.owl.core': $.proxy(function() { + if (this._core.settings.autoplayHoverPause) { + this.play(); + } + }, this) + }; + + // register event handlers + this._core.$element.on(this._handlers); + + // set default options + this._core.options = $.extend({}, Autoplay.Defaults, this._core.options); + }; + + /** + * Default options. + * @public + */ + Autoplay.Defaults = { + autoplay: false, + autoplayTimeout: 5000, + autoplayHoverPause: false, + autoplaySpeed: false + }; + + /** + * Transition to the next slide and set a timeout for the next transition. + * @private + * @param {Number} [speed] - The animation speed for the animations. + */ + Autoplay.prototype._next = function(speed) { + this._call = window.setTimeout( + $.proxy(this._next, this, speed), + this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read() + ); + + if (this._core.is('interacting') || document.hidden) { + return; + } + this._core.next(speed || this._core.settings.autoplaySpeed); + } + + /** + * Reads the current timer value when the timer is playing. + * @public + */ + Autoplay.prototype.read = function() { + return new Date().getTime() - this._time; + }; + + /** + * Starts the autoplay. + * @public + * @param {Number} [timeout] - The interval before the next animation starts. + * @param {Number} [speed] - The animation speed for the animations. + */ + Autoplay.prototype.play = function(timeout, speed) { + var elapsed; + + if (!this._core.is('rotating')) { + this._core.enter('rotating'); + } + + timeout = timeout || this._core.settings.autoplayTimeout; + + // Calculate the elapsed time since the last transition. If the carousel + // wasn't playing this calculation will yield zero. + elapsed = Math.min(this._time % (this._timeout || timeout), timeout); + + if (this._paused) { + // Start the clock. + this._time = this.read(); + this._paused = false; + } else { + // Clear the active timeout to allow replacement. + window.clearTimeout(this._call); + } + + // Adjust the origin of the timer to match the new timeout value. + this._time += this.read() % timeout - elapsed; + + this._timeout = timeout; + this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed); + }; + + /** + * Stops the autoplay. + * @public + */ + Autoplay.prototype.stop = function() { + if (this._core.is('rotating')) { + // Reset the clock. + this._time = 0; + this._paused = true; + + window.clearTimeout(this._call); + this._core.leave('rotating'); + } + }; + + /** + * Pauses the autoplay. + * @public + */ + Autoplay.prototype.pause = function() { + if (this._core.is('rotating') && !this._paused) { + // Pause the clock. + this._time = this.read(); + this._paused = true; + + window.clearTimeout(this._call); + } + }; + + /** + * Destroys the plugin. + */ + Autoplay.prototype.destroy = function() { + var handler, property; + + this.stop(); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Navigation Plugin + * @version 2.3.4 + * @author Artus Kolanowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + 'use strict'; + + /** + * Creates the navigation plugin. + * @class The Navigation Plugin + * @param {Owl} carousel - The Owl Carousel. + */ + var Navigation = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Indicates whether the plugin is initialized or not. + * @protected + * @type {Boolean} + */ + this._initialized = false; + + /** + * The current paging indexes. + * @protected + * @type {Array} + */ + this._pages = []; + + /** + * All DOM elements of the user interface. + * @protected + * @type {Object} + */ + this._controls = {}; + + /** + * Markup for an indicator. + * @protected + * @type {Array.} + */ + this._templates = []; + + /** + * The carousel element. + * @type {jQuery} + */ + this.$element = this._core.$element; + + /** + * Overridden methods of the carousel. + * @protected + * @type {Object} + */ + this._overrides = { + next: this._core.next, + prev: this._core.prev, + to: this._core.to + }; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'prepared.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.push('
' + + $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
'); + } + }, this), + 'added.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.splice(e.position, 0, this._templates.pop()); + } + }, this), + 'remove.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.splice(e.position, 1); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name == 'position') { + this.draw(); + } + }, this), + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && !this._initialized) { + this._core.trigger('initialize', null, 'navigation'); + this.initialize(); + this.update(); + this.draw(); + this._initialized = true; + this._core.trigger('initialized', null, 'navigation'); + } + }, this), + 'refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._initialized) { + this._core.trigger('refresh', null, 'navigation'); + this.update(); + this.draw(); + this._core.trigger('refreshed', null, 'navigation'); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, Navigation.Defaults, this._core.options); + + // register event handlers + this.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + * @todo Rename `slideBy` to `navBy` + */ + Navigation.Defaults = { + nav: false, + navText: [ + '', + '' + ], + navSpeed: false, + navElement: 'button type="button" role="presentation"', + navContainer: false, + navContainerClass: 'owl-nav', + navClass: [ + 'owl-prev', + 'owl-next' + ], + slideBy: 1, + dotClass: 'owl-dot', + dotsClass: 'owl-dots', + dots: true, + dotsEach: false, + dotsData: false, + dotsSpeed: false, + dotsContainer: false + }; + + /** + * Initializes the layout of the plugin and extends the carousel. + * @protected + */ + Navigation.prototype.initialize = function() { + var override, + settings = this._core.settings; + + // create DOM structure for relative navigation + this._controls.$relative = (settings.navContainer ? $(settings.navContainer) + : $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled'); + + this._controls.$previous = $('<' + settings.navElement + '>') + .addClass(settings.navClass[0]) + .html(settings.navText[0]) + .prependTo(this._controls.$relative) + .on('click', $.proxy(function(e) { + this.prev(settings.navSpeed); + }, this)); + this._controls.$next = $('<' + settings.navElement + '>') + .addClass(settings.navClass[1]) + .html(settings.navText[1]) + .appendTo(this._controls.$relative) + .on('click', $.proxy(function(e) { + this.next(settings.navSpeed); + }, this)); + + // create DOM structure for absolute navigation + if (!settings.dotsData) { + this._templates = [ $('