Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use App\Deal;
- use App\User;
- use App\Team;
- use DateTime;
- use App\Match;
- use App\Coupon;
- use Illuminate\Support\Facades\Auth;
- use Carbon\Carbon;
- use GuzzleHttp;
- use Goutte\Client;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Session;
- class IndexController extends Controller
- {
- public function index()
- {
- if(Auth::check())
- {
- return redirect('/bet');
- }
- return view('index');
- }
- public function main()
- {
- $currentUser = User::find(Auth::id());
- $matches = Match::orderBy('kickoff_date','ASC')->get()->groupBy(function($match,$index) {
- return Carbon::parse($match->kickoff_date)->format('d/m');
- });
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('Asia/Ho_Chi_Minh')->format('d/m');
- $listDate = array();
- foreach ($matches as $key => $value){
- array_push($listDate,$key);
- }
- $totalDate = 3;
- $finalMatches = array();
- $showMatches = array();
- $firstDayMatches = array();
- $firstDayTeams = array();
- $savedIndex = count($listDate)-1;
- $activeTab = 0;
- // Fixed with total show date equal with 3 ?? :D ??
- if($this->compareDayonMonth($listDate[count($listDate)-1],$now) >= 0){
- for($i = 0; $i <count($listDate); $i++)
- {
- if($this->compareDayonMonth($listDate[$i],$now) >= 0 && count($finalMatches) < $totalDate )
- {
- $savedIndex = $i;
- break;
- }
- }
- if($savedIndex < count($listDate) - 1)
- {
- if($savedIndex == 0)
- {
- for($i = $savedIndex; $i < $totalDate;$i++)
- {
- array_push($finalMatches,$listDate[$i]);
- array_push($showMatches,$matches[$listDate[$i]]);
- }
- $activeTab = 0;
- }else{
- array_push($finalMatches,$listDate[$savedIndex - 1]);
- array_push($showMatches,$matches[$listDate[$savedIndex - 1]]);
- array_push($finalMatches,$listDate[$savedIndex - 0]);
- array_push($showMatches,$matches[$listDate[$savedIndex - 0]]);
- array_push($finalMatches,$listDate[$savedIndex + 1]);
- array_push($showMatches,$matches[$listDate[$savedIndex + 1]]);
- $activeTab = 1;
- }
- }else{
- for($i = $savedIndex - 2; $i <= $savedIndex; $i++ )
- {
- array_push($finalMatches,$listDate[$i]);
- array_push($showMatches,$matches[$listDate[$i]]);
- }
- $activeTab = 2;
- }
- }else{
- for ($i = count($listDate)-1; $i > count($listDate) - 1 - $totalDate; $i--)
- {
- array_push($finalMatches,$listDate[$i]);
- array_push($showMatches,$matches[$listDate[$i]]);
- }
- $finalMatches = array_reverse($finalMatches);
- $showMatches = array_reverse($showMatches);
- }
- // Old
- // if($this->compareDayonMonth($listDate[count($listDate)-1],$now) >= 0)
- // {
- // for($i = 0; $i <count($listDate); $i++)
- // {
- // if($this->compareDayonMonth($listDate[$i],$now) >= 0 && count($finalMatches) < $totalDate )
- // {
- // array_push($finalMatches,$listDate[$i]);
- // array_push($showMatches,$matches[$listDate[$i]]);
- // if(count($finalMatches)==1)
- // {
- // $savedIndex = $i;
- // }
- // }
- // }
- // $finalMatches = array_reverse($finalMatches);
- // $showMatches = array_reverse($showMatches);
- // $activeTab = $totalDate - count($finalMatches);
- // if(count($finalMatches) < $totalDate)
- // {
- // $remainedItem = $totalDate - count($finalMatches);
- // for($i = $savedIndex-1; $i >= $savedIndex - $remainedItem ;$i--)
- // {
- // array_push($finalMatches,$listDate[$i]);
- // array_push($showMatches,$matches[$listDate[$i]]);
- // }
- // }
- //
- // }else{
- // for($i = count($listDate) - 1;$i > 0; $i--)
- // {
- // if( count($finalMatches) < $totalDate)
- // {
- // array_push($finalMatches,$listDate[$i]);
- // array_push($showMatches,$matches[$listDate[$i]]);
- // }
- // }
- // }
- //
- $totalMatches = $showMatches;
- $showMatches = $showMatches[$activeTab];
- foreach($showMatches as $match)
- {
- $team_1 = Team::where('short_name',$match['team_1'])->get();
- $team_2 = Team::where('short_name',$match['team_2'])->get();
- array_push($firstDayMatches,$match);
- array_push($firstDayTeams,[$team_1[0],$team_2[0]]);
- }
- $activeMatch = $matches[$finalMatches[$activeTab]][0];
- $team_1 = Team::where('short_name',$activeMatch['team_1'])->get();
- $team_2 = Team::where('short_name',$activeMatch['team_2'])->get();
- /* Check is deal or not */
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('UTC');
- $compareDate = Carbon::parse($activeMatch['kickoff_date']);
- $is_finished = intval($activeMatch['is_finished']);
- if($now > $compareDate || $is_finished){
- $canVote = 'disabled';
- }else{
- $canVote = '';
- }
- $deal = Deal::where('match_id',$activeMatch['id'])
- ->where('user_id',$currentUser->id)
- ->get();
- if(count($deal)){
- $deal = $deal->first()->toArray();
- $votedTeam = $deal['voted_team'];
- }else{
- $votedTeam = "";
- }
- /* Statistic */
- $countTeam1 = count(Deal::where('match_id',$activeMatch['id'])
- ->where('voted_team',$activeMatch['team_1'])
- ->get());
- $countTeam2 = count(Deal::where('match_id',$activeMatch['id'])
- ->where('voted_team',$activeMatch['team_2'])
- ->get());
- /* Check if match finis */
- $award = false;
- $correctCount = 0;
- $winner = "";
- if($is_finished)
- {
- $result = $activeMatch['result'];
- $goals = explode('-',$result);
- $left_goal = $goals[0];
- $right_goal = $goals[1];
- $deal = Deal::where('match_id',$activeMatch['id'])
- ->where('user_id',$currentUser->id)->get();
- if(floatval($goals[0])>floatval($goals[1]) + floatval($activeMatch['condition']))
- {
- $winner = $activeMatch['team_1'];
- }
- if(floatval($goals[0])<floatval($goals[1]) + floatval($activeMatch['condition']))
- {
- $winner = $activeMatch['team_2'];
- }
- $correctDeal = Deal::where('match_id',$activeMatch['id'])
- ->where('voted_team',$winner)->get();
- $correctCount = count($correctDeal);
- if(count($deal))
- {
- $deal = $deal->first()->toArray();
- $dealTeam = $deal['voted_team'];
- $award = false;
- if($winner == $dealTeam)
- {
- $award = true;
- }
- }
- }
- return view('main',compact('finalMatches','showMatches','activeMatch','firstDayMatches','firstDayTeams','team_1','team_2','activeTab','totalMatches','canVote','votedTeam','countTeam1','countTeam2','award','left_goal','right_goal','award','is_finished','correctCount'));
- }
- public function loadMatch(Request $request)
- {
- $currentUser = User::find(Auth::id());
- $match_id = $request->input('match_id');
- $match = Match::where('id',$match_id)->get()->first()->toArray();
- $team_1 = Team::where('short_name',$match['team_1'])->get()->first()->toArray();
- $team_2 = Team::where('short_name',$match['team_2'])->get()->first()->toArray();
- /* Check if match finish */
- $award = false;
- $correctCount = 0;
- //
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('Asia/Ho_Chi_Minh');
- $compareDate = Carbon::parse($match['kickoff_date']);
- $is_finished = intval($match['is_finished']);
- if($now > $compareDate || $is_finished){
- $canVote = 'disabled';
- }else{
- $canVote = '';
- }
- $deal = Deal::where('match_id',$match['id'])
- ->where('user_id',$currentUser->id)
- ->get();
- if(count($deal)){
- $deal = $deal->first()->toArray();
- $votedTeam = $deal['voted_team'];
- }else{
- $votedTeam = "";
- }
- $winner = "";
- if($is_finished)
- {
- $result = $match['result'];
- $goals = explode('-',$result);
- $left_goal = $goals[0];
- $right_goal = $goals[1];
- $deal = Deal::where('match_id',$match['id'])
- ->where('user_id',$currentUser->id)->get();
- $winner = "";
- if(floatval($goals[0])>floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_1'];
- }
- if(floatval($goals[0])<floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_2'];
- }
- $correctDeal = Deal::where('match_id',$match['id'])
- ->where('voted_team',$winner)->get();
- $correctCount = count($correctDeal);
- if(count($deal))
- {
- $deal = $deal->first()->toArray();
- $dealTeam = $deal['voted_team'];
- $award = false;
- if($winner == $dealTeam)
- {
- $award = true;
- }
- }
- }
- $countTeam1 = count(Deal::where('match_id',$match['id'])
- ->where('voted_team',$match['team_1'])
- ->get());
- $countTeam2 = count(Deal::where('match_id',$match['id'])
- ->where('voted_team',$match['team_2'])
- ->get());
- //
- $content = view('templates.board',compact('match','team_1','team_2','votedTeam','canVote','countTeam1','countTeam2','award','left_goal','right_goal','award','is_finished','correctCount'))->render();
- return $content;
- }
- public function loadTab(Request $request)
- {
- $currentUser = User::find(Auth::id());
- $date_str = $request->input('date');
- $currentYear = Carbon::now()->year;
- $date = str_replace('/','-',$date_str.'/'.$currentYear);
- $date = Carbon::parse($date)->format('d-m-Y');
- $date = new DateTime($date);
- $date = $date->format('Y-m-d');
- $matches = Match::where('kickoff_date', '>=', $date)
- ->where('kickoff_date','<', date('Y-m-d', strtotime("+1 day", strtotime($date))))
- ->get()->toArray();
- $teams = array();
- foreach ($matches as $match)
- {
- $team_1 = Team::where('short_name',$match['team_1'])->get()->first()->toArray();
- $team_2 = Team::where('short_name',$match['team_2'])->get()->first()->toArray();
- array_push($teams,[$team_1,$team_2]);
- }
- $match = $matches[0];
- $team_1 = $teams[0][0];
- $team_2 = $teams[0][1];
- $award = false;
- $correctCount = 0;
- //
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('Asia/Ho_Chi_Minh');
- $compareDate = Carbon::parse($match['kickoff_date']);
- $is_finished = intval($match['is_finished']);
- if($now > $compareDate || $is_finished){
- $canVote = 'disabled';
- }else{
- $canVote = '';
- }
- $deal = Deal::where('match_id',$match['id'])
- ->where('user_id',$currentUser->id)
- ->get();
- if(count($deal)){
- $deal = $deal->first()->toArray();
- $votedTeam = $deal['voted_team'];
- }else{
- $votedTeam = "";
- }
- $winner = "";
- if($is_finished)
- {
- $result = $match['result'];
- $goals = explode('-',$result);
- $left_goal = $goals[0];
- $right_goal = $goals[1];
- $deal = Deal::where('match_id',$match['id'])
- ->where('user_id',$currentUser->id)->get();
- if(floatval($goals[0])>floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_1'];
- }
- if(floatval($goals[0])<floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_2'];
- }
- $correctDeal = Deal::where('match_id',$match['id'])
- ->where('voted_team',$winner)->get();
- $correctCount = count($correctDeal);
- if(count($deal))
- {
- $deal = $deal->first()->toArray();
- $dealTeam = $deal['voted_team'];
- $award = false;
- if($winner == $dealTeam)
- {
- $award = true;
- }
- }
- }
- $countTeam1 = count(Deal::where('match_id',$match['id'])
- ->where('voted_team',$match['team_1'])
- ->get());
- $countTeam2 = count(Deal::where('match_id',$match['id'])
- ->where('voted_team',$match['team_2'])
- ->get());
- $contentList = view('templates.list',compact('matches','teams'))->render();
- $contentBoard = view('templates.board',compact('match','team_1','team_2','canVote','votedTeam','countTeam1','countTeam2','award','left_goal','right_goal','award','is_finished','correctCount'))->render();
- return json_encode(array(
- 'content_list' => $contentList,
- 'content_board' => $contentBoard
- ));
- }
- public function coupon()
- {
- $matches = Match::all()->groupBy(function($match,$index) {
- return Carbon::parse($match->kickoff_date);
- });
- $coupon = Coupon::find(1);
- $now = Carbon::now()->format('d/m');
- $listDate = array();
- foreach ($matches as $key => $value){
- array_push($listDate,$key);
- }
- $totalDate = 3;
- $finalMatches = array();
- $showMatches = array();
- $firstDayMatches = array();
- $firstDayTeams = array();
- $savedIndex = count($listDate);
- if($this->compareDayonMonth($listDate[count($listDate)-1],$now) >= 0)
- {
- for($i = count($listDate) - 1;$i >= 0; $i--)
- {
- if($this->compareDayonMonth($listDate[$i],$now) >= 0 && count($finalMatches) < $totalDate )
- {
- array_push($finalMatches,$listDate[$i]);
- array_push($showMatches,$matches[$listDate[$i]]);
- $savedIndex = $savedIndex - 1;
- }
- }
- $activeTab = 0;
- if(count($finalMatches) < $totalDate)
- {
- $remainedItem = $totalDate - count($finalMatches);
- for($i = $savedIndex-1; $i >= $savedIndex - $remainedItem ;$i--)
- {
- array_push($finalMatches,$listDate[$i]);
- array_push($showMatches,$matches[$listDate[$i]]);
- }
- }
- }else{
- for($i = count($listDate) - 1;$i > 0; $i--)
- {
- if( count($finalMatches) < $totalDate)
- {
- array_push($finalMatches,$listDate[$i]);
- array_push($showMatches,$matches[$listDate[$i]]);
- }
- }
- }
- $finalMatches = array_reverse($finalMatches);
- $showMatches = array_reverse($showMatches);
- $showMatches = $showMatches[$activeTab];
- foreach($showMatches as $match)
- {
- $team_1 = Team::where('short_name',$match['team_1'])->get();
- $team_2 = Team::where('short_name',$match['team_2'])->get();
- array_push($firstDayMatches,$match);
- array_push($firstDayTeams,[$team_1[0],$team_2[0]]);
- }
- $activeMatch = $matches[$finalMatches[$activeTab]][0];
- $team_1 = Team::where('short_name',$activeMatch['team_1'])->get();
- $team_2 = Team::where('short_name',$activeMatch['team_2'])->get();
- /* Check is deal or not */
- return view('coupon',compact('finalMatches','showMatches','activeMatch','firstDayMatches','firstDayTeams','team_1','team_2','activeTab','coupon'));
- }
- public function compareDayonMonth($date1,$date2)
- {
- $date1 = explode("/",$date1);
- $date2 = explode("/",$date2);
- if(intval($date1[0]) > intval($date2[0]) ||intval($date1[1]) > intval($date2[1]))
- {
- return 1;
- }
- if(intval($date1[0]) == intval($date2[0]))
- {
- if(intval($date1[1]) > intval($date2[1]))
- {
- return 1;
- }
- if(intval($date1[1]) == intval($date2[1]))
- {
- return 0;
- }
- if(intval($date1[1]) < intval($date2[1]))
- {
- return -1;
- }
- }
- if(intval($date1[0]) < intval($date2[0]))
- {
- return -1;
- }
- }
- public function vote(Request $request)
- {
- $match_id = $request->input('match_id');
- $team = $request->input('team');
- $currentUser = User::find(Auth::id());
- $deal = Deal::where('match_id',$match_id)
- ->where('user_id',$currentUser->id)->get();
- $match = Match::where('id',$match_id)->get();
- if(count($match)){
- $match = $match->first->toArray();
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('Asia/Ho_Chi_Minh');
- $compareDate = Carbon::parse($match['kickoff_date']);
- if($now < $compareDate)
- {
- if(count($deal)){
- $deal = $deal->first()->toArray();
- if($deal['voted_team'] == $team){
- return json_encode([
- 'success' => 0,
- 'message' => 'Đội tuyển đã được bình chọn cho trận đấu'
- ]);
- }else{
- $editDeal = Deal::find($deal['id']);
- $editDeal->update([
- 'voted_team' => $team
- ]);
- $editDeal->save();
- $content = $this->updateMatch($match_id);
- return json_encode(array(
- 'success' => 1,
- 'content' => $content
- ));
- }
- }else{
- Deal::create([
- 'match_id' => $match_id,
- 'voted_team' => $team,
- 'user_id' => $currentUser->id,
- 'voted_goal' => '',
- 'created_at' => Carbon::now()
- ]);
- $content = $this->updateMatch($match_id);
- return json_encode(array(
- 'success' => 1,
- 'content' => $content
- ));
- }
- }
- }
- }
- public function updateMatch($match_id)
- {
- $currentUser = User::find(Auth::id());
- $match_id = $match_id;
- $match = Match::where('id',$match_id)->get()->first()->toArray();
- $team_1 = Team::where('short_name',$match['team_1'])->get()->first()->toArray();
- $team_2 = Team::where('short_name',$match['team_2'])->get()->first()->toArray();
- $award = false;
- $correctCount = 0;
- //
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('Asia/Ho_Chi_Minh');
- $compareDate = Carbon::parse($match['kickoff_date']);
- $is_finished = intval($match['is_finished']);
- if($now > $compareDate || $is_finished){
- $canVote = 'disabled';
- }else{
- $canVote = '';
- }
- $deal = Deal::where('match_id',$match['id'])
- ->where('user_id',$currentUser->id)
- ->get();
- if(count($deal)){
- $deal = $deal->first()->toArray();
- $votedTeam = $deal['voted_team'];
- }else{
- $votedTeam = "";
- }
- $winner = "";
- if($is_finished)
- {
- $result = $match['result'];
- $goals = explode('-',$result);
- $left_goal = $goals[0];
- $right_goal = $goals[1];
- $deal = Deal::where('match_id',$match['id'])
- ->where('user_id',$currentUser->id)->get();
- if(floatval($goals[0])>floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_1'];
- }
- if(floatval($goals[0])<floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_2'];
- }
- $correctDeal = Deal::where('match_id',$match['id'])
- ->where('voted_team',$winner)->get();
- $correctCount = count($correctDeal);
- if(count($deal))
- {
- $deal = $deal->first()->toArray();
- $dealTeam = $deal['voted_team'];
- $award = false;
- if($winner == $dealTeam)
- {
- $award = true;
- }
- }
- }
- $countTeam1 = count(Deal::where('match_id',$match['id'])
- ->where('voted_team',$match['team_1'])
- ->get());
- $countTeam2 = count(Deal::where('match_id',$match['id'])
- ->where('voted_team',$match['team_2'])
- ->get());
- $content = view('templates.board',compact('match','team_1','team_2','votedTeam','canVote','countTeam1','countTeam2','award','left_goal','right_goal','award','is_finished','correctCount'))->render();
- return $content;
- }
- public function login(Request $request)
- {
- $telephone = $request->input('telephone');
- $password = $request->input('password');
- $user = User::where('telephone',$telephone)
- ->get()->first();
- if($user){ // $user
- $hasher = app('hash');
- if($hasher->check($password,$user->password)){
- Auth::loginUsingId($user->id);
- return array(
- 'success' => 1
- );
- }else{
- return array(
- 'success' => 0,
- 'message' => 'Mật khẩu không chính xác'
- );
- }
- }else{
- // sync from Phong Vu
- $client = new Client();
- $guzzleClient = new \GuzzleHttp\Client(array(
- 'curl' => array(
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_SSL_VERIFYHOST => false
- ),
- )
- );
- $client->setClient($guzzleClient);
- $response = $client->request('GET', env('APP_PV').'?telephone='.urlencode($telephone).'&password='.urlencode($password));
- $authenticated = $response->filter('p')->each(function($node){
- if(strpos($node->text(),'password_is_valid'))
- {
- return true;
- }
- });
- if($authenticated[0])
- {
- User::create([
- 'telephone' => $telephone,
- 'password' => bcrypt($password)
- ]);
- $user = User::where('telephone',$telephone)
- ->get()->first();
- Auth::loginUsingId($user->id);
- return array(
- 'success' => 1
- );
- }
- }
- return array(
- 'success' => 0,
- 'message' => 'Tài khoản hoặc mật khẩu không chính xác'
- );
- }
- public function getAward(Request $request)
- {
- $user = User::find(Auth::id());
- $match_id = $request->input('match_id');
- $deal = Deal::where('user_id',$user->id)
- ->where('match_id',$match_id)->get();
- if(count($deal))
- {
- $match = Match::find($match_id);
- if($match)
- {
- if(intval($match['is_finished']))
- {
- $result = $match['result'];
- $goals = explode('-',$result);
- $left_goal = $goals[0];
- $right_goal = $goals[1];
- $winner = "NO ONE";
- if(floatval($goals[0])>floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_1'];
- }
- if(floatval($goals[0])<floatval($goals[1]) + floatval($match['condition']))
- {
- $winner = $match['team_2'];
- }
- $deal = $deal->first()->toArray();
- $dealTeam = $deal['voted_team'];
- if($winner == $dealTeam)
- {
- return json_encode([
- 'success' => 1,
- 'coupon' => array(
- 'code' => $match['code'],
- 'code_type' => $match['code_type'],
- 'code_quantity' => $match['code_quantity']
- )
- ]);
- }
- return json_encode([
- 'success' => 0,
- 'message' => 'Kết quả dự đoán không chính xác'
- ]);
- }else{
- return json_encode([
- 'success' => 0,
- 'message' => 'Trận đấu chưa kết thúc'
- ]);
- }
- }else{
- return json_encode([
- 'success' => 0,
- 'message' => 'Trận đấu không phù hợp'
- ]);
- }
- }else{
- return json_encode([
- 'success' => 0,
- 'message' => 'Không có phần thưởng phù hợp'
- ]);
- }
- }
- public function checkFinshedMatch()
- {
- date_default_timezone_set('Asia/Ho_Chi_Minh');
- $now = Carbon::now('Asia/Ho_Chi_Minh');
- $matches = Match::where('is_finished',0)
- ->orderBy('kickoff_date','ASC')
- ->get();
- if($matches)
- {
- $match = $matches->first()->toArray();
- $match_id = $match['api_match_id'];
- $league_id = $match['api_league_id'];
- if($match_id && $league_id) //
- {
- $client = new Client();
- //env('SCORE_LIVE')
- $res = $client->request('GET','http://localhost:8000/assets/test.json',[
- 'query' => [
- 'key' => env('LIVE_SCORE_API_KEY'),
- 'secret' => env('LIVE_SCORE_API_SECRET'),
- // 'league' => $league_id
- ]
- ]);
- $response = GuzzleHttp\json_encode($res);
- if($response['success'] == "true")
- {
- if(isset($response['data']['match']))
- {
- $matches = $response['data']['match'];
- foreach($matches as $match)
- {
- if($match['id'] == $match_id)
- {
- if($match['status'] == "FINISHED")
- {
- return [
- 'success'=> 1,
- 'score' => $match['score'],
- 'match_id'=> $match['id']
- ];
- }
- }
- }
- }
- }
- return [
- 'success' => 0
- ];
- }
- }
- }
- public function updateCoupon()
- {
- $check = $this->checkFinshedMatch();
- if(intval($check['success']))
- {
- $match = Match::where('id',$check['match_id'])->firstOrFail();
- if($match)
- {
- // Create and Update Coupon
- $totalBets = Deal::where('match_id',$check['match_id']);
- if($totalBets->firstOrFail())
- {
- $totalBets = $totalBets->get()->count();
- // Group stage rule
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement