[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fyo2dlxv6u1vh":3},{"id":4,"slug":5,"name":6,"logo_url":7,"country_slug":8,"country_name":9,"venue_name":10,"indexable":11,"fixture_count":12,"leagues":13,"form":22,"upcoming":53,"recent":54},830,"olympique-safi","奥林匹克萨非","\u002Fmedia\u002Fteams\u002F975-a87dfd04.png","morocco","摩洛哥",null,true,15,[14],{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9,"country_flag_url":19,"required_tier":20,"fixture_count":12,"team_count":21},47,"morocco-botola-pro","摩洛哥超","\u002Fmedia\u002Fleagues\u002F200-dae1bfa6.png","\u002Fmedia\u002Fflags\u002Fmorocco-7eb26316.png","basic",0,[23,31,38,43,48],{"fixture_slug":24,"kickoff_at":25,"opponent_name":26,"opponent_slug":27,"is_home":11,"goals_for":28,"goals_against":29,"result":30},"olympique-safi-vs-maghreb-fes-1545537","2026-06-01T18:00:00Z","玛利比菲斯","maghreb-fes",1,2,"L",{"fixture_slug":32,"kickoff_at":33,"opponent_name":34,"opponent_slug":35,"is_home":36,"goals_for":28,"goals_against":28,"result":37},"difaa-el-jadida-vs-olympique-safi-1545532","2026-05-23T20:00:00Z","DHJ哈斯沙尼亚","difaa-el-jadida",false,"D",{"fixture_slug":39,"kickoff_at":40,"opponent_name":41,"opponent_slug":42,"is_home":11,"goals_for":28,"goals_against":28,"result":37},"olympique-safi-vs-fus-rabat-1543128","2026-05-11T16:00:00Z","拉巴特联盟","fus-rabat",{"fixture_slug":44,"kickoff_at":45,"opponent_name":46,"opponent_slug":47,"is_home":36,"goals_for":28,"goals_against":28,"result":37},"far-rabat-vs-olympique-safi-1543120","2026-05-07T20:00:00Z","拉巴特皇家武装","far-rabat",{"fixture_slug":49,"kickoff_at":50,"opponent_name":51,"opponent_slug":52,"is_home":36,"goals_for":28,"goals_against":29,"result":30},"hassania-agadir-vs-olympique-safi-1543112","2026-05-04T16:00:00Z","哈撒那","hassania-agadir",[],[55,76,97,117,134,152,174,196,215,235,258,279,300,321,343],{"id":56,"slug":24,"league":57,"home_team":58,"away_team":59,"season":62,"round_name":63,"status":64,"venue_name":10,"venue_city":10,"scores":65,"odds":68,"odds_live":72,"actual_outcome":74,"indexable":11,"links":75,"kickoff_at":25},13880,{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":60,"slug":27,"name":26,"logo_url":61},841,"\u002Fmedia\u002Fteams\u002F3453-a36e71c9.png","2025","Regular Season - 22","FT",{"halftime":66,"fulltime":67,"extratime":10,"penalty":10},{"home":21,"away":28},{"home":28,"away":29},{"home":69,"draw":70,"away":71},22500,36500,35400,{"home":73,"draw":73,"away":73},26200,"away",{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},{"id":77,"slug":32,"league":78,"home_team":79,"away_team":82,"season":62,"round_name":83,"status":64,"venue_name":10,"venue_city":10,"scores":84,"odds":87,"odds_live":91,"actual_outcome":95,"indexable":11,"links":96,"kickoff_at":33},13623,{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":80,"slug":35,"name":34,"logo_url":81},831,"\u002Fmedia\u002Fteams\u002F964-6d17eacd.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 21",{"halftime":85,"fulltime":86,"extratime":10,"penalty":10},{"home":28,"away":21},{"home":28,"away":28},{"home":88,"draw":89,"away":90},20500,37100,41200,{"home":92,"draw":93,"away":94},32000,26000,23000,"draw",{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},{"id":98,"slug":39,"league":99,"home_team":100,"away_team":101,"season":62,"round_name":104,"status":64,"venue_name":10,"venue_city":10,"scores":105,"odds":108,"odds_live":112,"actual_outcome":95,"indexable":11,"links":116,"kickoff_at":40},13089,{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":102,"slug":42,"name":41,"logo_url":103},833,"\u002Fmedia\u002Fteams\u002F977-f95116e4.png","Regular Season - 20",{"halftime":106,"fulltime":107,"extratime":10,"penalty":10},{"home":28,"away":21},{"home":28,"away":28},{"home":109,"draw":110,"away":111},24900,35800,31400,{"home":113,"draw":114,"away":115},24000,27000,29000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},{"id":118,"slug":44,"league":119,"home_team":120,"away_team":123,"season":62,"round_name":124,"status":64,"venue_name":10,"venue_city":10,"scores":125,"odds":128,"odds_live":129,"actual_outcome":95,"indexable":11,"links":133,"kickoff_at":45},12784,{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":121,"slug":47,"name":46,"logo_url":122},832,"\u002Fmedia\u002Fteams\u002F969-99d51a53.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 19",{"halftime":126,"fulltime":127,"extratime":10,"penalty":10},{"home":21,"away":21},{"home":28,"away":28},{"home":88,"draw":89,"away":90},{"home":130,"draw":131,"away":132},13300,40000,90000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},{"id":135,"slug":49,"league":136,"home_team":137,"away_team":140,"season":62,"round_name":141,"status":64,"venue_name":10,"venue_city":10,"scores":142,"odds":145,"odds_live":149,"actual_outcome":150,"indexable":11,"links":151,"kickoff_at":50},12686,{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":138,"slug":52,"name":51,"logo_url":139},828,"\u002Fmedia\u002Fteams\u002F973-02b83b8a.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 18",{"halftime":143,"fulltime":144,"extratime":10,"penalty":10},{"home":21,"away":28},{"home":29,"away":28},{"home":146,"draw":147,"away":148},31000,37300,24400,{"home":73,"draw":73,"away":114},"home",{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},{"id":153,"slug":154,"league":155,"home_team":156,"away_team":157,"season":62,"round_name":162,"status":64,"venue_name":10,"venue_city":10,"scores":163,"odds":166,"odds_live":170,"actual_outcome":74,"indexable":11,"links":172,"kickoff_at":173},12353,"olympique-safi-vs-ittihad-tanger-1541935",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":158,"slug":159,"name":160,"logo_url":161},839,"ittihad-tanger","伊蒂哈德丹吉尔","\u002Fmedia\u002Fteams\u002F974-d30abf2a.png","Regular Season - 17",{"halftime":164,"fulltime":165,"extratime":10,"penalty":10},{"home":28,"away":21},{"home":28,"away":29},{"home":167,"draw":168,"away":169},16900,43100,56400,{"home":69,"draw":171,"away":146},27500,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-04-29T17:00:00Z",{"id":175,"slug":176,"league":177,"home_team":178,"away_team":183,"season":62,"round_name":184,"status":64,"venue_name":10,"venue_city":10,"scores":185,"odds":188,"odds_live":191,"actual_outcome":95,"indexable":11,"links":194,"kickoff_at":195},12117,"uts-rabat-vs-olympique-safi-1540894",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":179,"slug":180,"name":181,"logo_url":182},835,"uts-rabat","托加联合","\u002Fmedia\u002Fteams\u002F14806-9ec47df2.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 16",{"halftime":186,"fulltime":187,"extratime":10,"penalty":10},{"home":28,"away":28},{"home":28,"away":28},{"home":189,"draw":110,"away":190},28300,27300,{"home":192,"draw":93,"away":193},28000,25000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-04-25T17:00:00Z",{"id":197,"slug":198,"league":199,"home_team":200,"away_team":205,"season":62,"round_name":206,"status":64,"venue_name":10,"venue_city":10,"scores":207,"odds":211,"odds_live":212,"actual_outcome":74,"indexable":11,"links":213,"kickoff_at":214},11152,"yacoub-el-mansour-vs-olympique-safi-1516912",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":201,"slug":202,"name":203,"logo_url":204},838,"yacoub-el-mansour","雅各布曼苏尔","\u002Fmedia\u002Fteams\u002F25058-2eadded9.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 11",{"halftime":208,"fulltime":210,"extratime":10,"penalty":10},{"home":21,"away":209},3,{"home":28,"away":209},{"home":69,"draw":70,"away":71},{"home":94,"draw":115,"away":192},{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-04-04T20:00:00Z",{"id":216,"slug":217,"league":218,"home_team":219,"away_team":220,"season":62,"round_name":225,"status":64,"venue_name":10,"venue_city":10,"scores":226,"odds":229,"odds_live":230,"actual_outcome":95,"indexable":11,"links":233,"kickoff_at":234},11014,"olympique-safi-vs-renaissance-berkane-1510183",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":221,"slug":222,"name":223,"logo_url":224},840,"renaissance-berkane","勒内森斯","\u002Fmedia\u002Fteams\u002F962-79add38a.png","Regular Season - 10",{"halftime":227,"fulltime":228,"extratime":10,"penalty":10},{"home":21,"away":21},{"home":28,"away":28},{"home":146,"draw":147,"away":148},{"home":231,"draw":115,"away":232},36000,20000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-04-01T20:00:00Z",{"id":236,"slug":237,"league":238,"home_team":239,"away_team":244,"season":62,"round_name":245,"status":64,"venue_name":10,"venue_city":10,"scores":246,"odds":249,"odds_live":253,"actual_outcome":150,"indexable":11,"links":256,"kickoff_at":257},10386,"raja-casablanca-vs-olympique-safi-1522538",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":240,"slug":241,"name":242,"logo_url":243},842,"raja-casablanca","拉贾卡萨布兰卡竞技","\u002Fmedia\u002Fteams\u002F976-854a9cbb.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 15",{"halftime":247,"fulltime":248,"extratime":10,"penalty":10},{"home":28,"away":21},{"home":29,"away":21},{"home":250,"draw":251,"away":252},15400,48300,69300,{"home":254,"draw":92,"away":255},15700,58000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-03-07T22:00:00Z",{"id":259,"slug":260,"league":261,"home_team":262,"away_team":267,"season":62,"round_name":268,"status":64,"venue_name":10,"venue_city":10,"scores":269,"odds":272,"odds_live":274,"actual_outcome":95,"indexable":11,"links":277,"kickoff_at":278},10277,"kawkab-marrakech-vs-olympique-safi-1510174",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":263,"slug":264,"name":265,"logo_url":266},843,"kawkab-marrakech","马拉肯查","\u002Fmedia\u002Fteams\u002F971-fc7ce97e.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 9",{"halftime":270,"fulltime":271,"extratime":10,"penalty":10},{"home":28,"away":21},{"home":28,"away":28},{"home":167,"draw":273,"away":169},43200,{"home":275,"draw":193,"away":276},24500,30000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-03-04T22:00:00Z",{"id":280,"slug":281,"league":282,"home_team":283,"away_team":284,"season":62,"round_name":289,"status":64,"venue_name":10,"venue_city":10,"scores":290,"odds":293,"odds_live":295,"actual_outcome":95,"indexable":11,"links":298,"kickoff_at":299},10167,"olympique-safi-vs-olympique-dcheira-1522531",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":285,"slug":286,"name":287,"logo_url":288},834,"olympique-dcheira","迪瑟利亚","\u002Fmedia\u002Fteams\u002F3454-01db8251.png","Regular Season - 14",{"halftime":291,"fulltime":292,"extratime":10,"penalty":10},{"home":21,"away":21},{"home":21,"away":21},{"home":189,"draw":294,"away":190},35700,{"home":296,"draw":115,"away":297},18500,39000,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-02-28T22:00:00Z",{"id":301,"slug":302,"league":303,"home_team":304,"away_team":309,"season":62,"round_name":310,"status":64,"venue_name":10,"venue_city":10,"scores":311,"odds":314,"odds_live":318,"actual_outcome":150,"indexable":11,"links":319,"kickoff_at":320},9839,"codm-meknes-vs-olympique-safi-1522519",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":305,"slug":306,"name":307,"logo_url":308},837,"codm-meknes","梅克内斯","\u002Fmedia\u002Fteams\u002F22218-64368cb4.png",{"id":4,"slug":5,"name":6,"logo_url":7},"Regular Season - 13",{"halftime":312,"fulltime":313,"extratime":10,"penalty":10},{"home":21,"away":21},{"home":28,"away":21},{"home":315,"draw":316,"away":317},13100,65700,115000,{"home":73,"draw":113,"away":115},{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2026-02-20T22:00:00Z",{"id":322,"slug":323,"league":324,"home_team":325,"away_team":326,"season":62,"round_name":331,"status":64,"venue_name":10,"venue_city":10,"scores":332,"odds":335,"odds_live":338,"actual_outcome":74,"indexable":11,"links":341,"kickoff_at":342},7126,"olympique-safi-vs-wydad-ac-1485144",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":327,"slug":328,"name":329,"logo_url":330},829,"wydad-ac","卡萨布兰卡维达德","\u002Fmedia\u002Fteams\u002F968-bcd552b9.png","Regular Season - 8",{"halftime":333,"fulltime":334,"extratime":10,"penalty":10},{"home":21,"away":29},{"home":28,"away":29},{"home":336,"draw":336,"away":337},39900,20100,{"home":339,"draw":115,"away":340},42000,18300,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2025-11-09T15:00:00Z",{"id":344,"slug":345,"league":346,"home_team":347,"away_team":348,"season":62,"round_name":349,"status":64,"venue_name":10,"venue_city":10,"scores":350,"odds":353,"odds_live":356,"actual_outcome":74,"indexable":11,"links":359,"kickoff_at":360},6864,"olympique-safi-vs-difaa-el-jadida-1481782",{"id":15,"slug":16,"name":17,"logo_url":18,"country_slug":8,"country_name":9},{"id":4,"slug":5,"name":6,"logo_url":7},{"id":80,"slug":35,"name":34,"logo_url":81},"Regular Season - 6",{"halftime":351,"fulltime":352,"extratime":10,"penalty":10},{"home":21,"away":21},{"home":28,"away":29},{"home":69,"draw":354,"away":355},36400,35500,{"home":357,"draw":115,"away":358},18000,47500,{"signals":21,"upset":10,"vetoed":21,"plan_slug":10,"plans":21,"report_slug":10,"quote":10},"2025-11-05T17:00:00Z"]