There was a problem with a Velocity script
Page sports/fball/2022-23p/stats-leader-template
Error Invocation of method 'substring' in class java.lang.String threw exception java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at m1fhuptcpyc9aq45sports/fball/2022-23p/stats-leader-template[line 105, column 132]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4:
5: #* BEGIN TABLE STYLE OPTIONS ***************#
6: #set($tableClass = "")
7: #set($tableHeadClass = "thead-dark")
8: #if ($options.get("table_bordered") != "false") #set($tableClass = "$tableClass table-bordered") #end
9: #if ($options.get("table_hover") != "false") #set($tableClass = "$tableClass table-hover") #end
10: #if ($options.get("table_head_dark") == "true" || $request.getParameter("thead") == "dark") #set($tableHeadClass = "$tableHeadClass thead-dark") #end
11: #if ($options.get("table_head_dark") == "false" || $request.getParameter("thead") == "light") #set($tableHeadClass = "$tableHeadClass thead-light") #end
12: #* END TABLE STYLES OPTIONS ****************#
13:
14: #set ($locale = "en_us")
15: #set ($locale = $options.get("locale"))
16: #set ($jsRenderingParam = "jsRendering=true")
17:
18: $website.include("standings?tmpl=stats-standings-abbr-template&${jsRenderingParam}")
19: #set ($teamAbbr = $request.getAttribute("teamAbbr"))
20:
21: #set ($rosterHeadshots = [])
22: $website.include("${page.sectionPage.url}/roster?tmpl=roster-headshots-template&excludeBlank=true&${jsRenderingParam}")
23: #set ($rosterHeadshots = $!request.getAttribute("roster_headshots"))
24:
25: #set ($lastIndex = $page.url.lastIndexOf("/"))
26: #set ($seasonPath = $page.url.substring(0, $lastIndex))
27: #set ($playersUrl = "${seasonPath}/players")
28: #set ($teamsUrl = "${seasonPath}/teams")
29:
30: #set ($dropdownsWrapperClass = "dropdowns d-flex justify-content-center align-items-center flex-wrap gap-3 p-3 border-top")
31:
32: $!request.setAttribute("locale", $locale)
33: $!request.setAttribute("jsRenderingParam", $jsRenderingParam)
34: $!request.setAttribute("playersPageName", $playersPageName)
35: $!request.setAttribute("teamsPageName", $teamsPageName)
36: $website.include("stats-leader-config-template")
37: #set ($footballTabsConfig = $request.getAttribute("footballTabsConfig"))
38: #set ($baseballTabsConfig = $request.getAttribute("baseballTabsConfig"))
39: #set ($iceHockeyTabsConfig = $request.getAttribute("iceHockeyTabsConfig"))
40: #set ($soccerTabsConfig = $request.getAttribute("soccerTabsConfig"))
41: #set ($fieldHockeyTabsConfig = $request.getAttribute("fieldHockeyTabsConfig"))
42: #set ($lacrosseTabsConfig = $request.getAttribute("lacrosseTabsConfig"))
43: #set ($waterPoloTabsConfig = $request.getAttribute("waterPoloTabsConfig"))
44:
45: #set ($volleyballConfig = $request.getAttribute("volleyballConfig"))
46: #set ($basketballConfig = $request.getAttribute("basketballConfig"))
47:
48: #*******************
49: ****** MACROS ******
50: *******************#
51:
52: #macro (printImage $src $alt $class)
53: <div class="ratio ratio-1x1 img-mh-3 img-mw-3 rounded-circle overflow-hidden img-thumbnail">
54: <img src="${src}" alt="$!{alt}" class="lazyloaded img-fluid h-auto ${class}" loading="lazy" />
55: </div>
56: #end
57:
58: #macro (leaders $leaders $key $pos $statName $th)
59: #set ($label = $labels.get($key))
60: #set ($atLeastOneStat = false)
61: <div class="table-responsive">
62: <table class="table ${tableClass} small align-middle w-100">
63: <caption class="visually-hidden">${label} Leaders</caption>
64: <thead class="${tableHeadClass}">
65: <tr>
66: <th scope="col">${label}</th>
67: <th scope="col" class="stat-val align-center text-uppercase" aria-label="games played"><abbr title="Games Played">GP</abbr></th>
68: <th scope="col" class="stat-val align-center text-uppercase table-active" aria-label="${statName}"><abbr title="${statName}">$th</abbr></th>
69: </tr>
70: </thead>
71: <tbody>
72: #foreach ($leader in $leaders)
73: #if ($leader.key == $key)
74: #foreach ($player in $leader.value)
75: #if($player.stats.get($key) > 0)
76: <tr>
77: <td>
78: <div class="d-flex align-items-center gap-1">
79: #if ($player.teamId.length() > 0)
80: #set ($playerName = $player.firstName + ' '+ $player.lastName)
81: #set ($src = "/info/images/default-headshot.png")
82: #if ($rosterHeadshots.size() > 0)
83: #foreach ($rosterPlayer in $rosterHeadshots)
84: #if ($playerName == $rosterPlayer.name)
85: #if ($rosterPlayer.headshot.length() > 0)
86: #set ($src = $rosterPlayer.headshot)
87: #elseif ($website.exists("/images/setup/default-headshot.png"))
88: #set ($src = "/images/setup/default-headshot.png")
89: #elseif ($website.exists("/images/setup/headshot_default.jpg"))
90: #set ($src = "/images/setup/headshot_default.jpg")
91: #end
92: #end
93: #end
94: #set ($src = "${src}?max_width=48")
95: #printImage($src, $playerName, "start-50 translate-middle-x")
96: #else
97: #printImage($website.teamLogo($player.teamId), $player.team, "top-50 start-50 translate-middle p-1")
98: #end
99: #end
100: <div class="d-flex flex-column">
101: #set ($playerUrl = "${playersUrl}?id=${player.playerId}")
102: #if ($player.pageName.length() > 0)
103: #set ($playerUrl = "${playersUrl}/${player.pageName}")
104: #end
105: <a href="${playerUrl}" class="player-name text-decoration-none">${player.firstName.substring(0,1)} ${player.lastName}</a>
106: #if ($player.teamId.length() > 0)
107: #set ($teamUrl = "${teamsUrl}?id=${player.teamId}")
108: #if ($player.teamPageName.length() > 0)
109: #set ($teamUrl = "${teamsUrl}/${player.teamPageName}")
110: #end
111: <a href="${teamUrl}" class="player-team fst-italic small text-decoration-none text-muted lh-1">$player.team</a>
112: #else
113: <span class="player-team fst-italic small text-muted">$player.team</span>
114: #end
115: </div>
116: </div>
117: </td>
118: #set ($atLeastOneStat = true)
119: <td class="stat-gp align-center">$formatter.formatNumber(${player.stats.get('gp')}, $formats.get('gp'))</td>
120: <td class="stat-val align-center table-active">$formatter.formatNumber(${player.stats.get($key)}, $formats.get($key))</td>
121: </tr>
122: #end
123: #end
124: #end ## players
125: #end ## leaders
126: #if (! $atLeastOneStat)
127: <tr><td colspan="3">Stats aren't available</td></tr>
128: #end
129: </tbody>
130: <tfoot class="text-center">
131: <tr>
132: <td colspan="3" class="border-bottom-0 p-0">
133: <a class="btn btn-link d-block text-decoration-none btn-sm" href="${seasonPath}/players?pos=${pos}&sort=${key}&${jsRenderingParam}" aria-label="View all by ${statName}">View All</a>
134: </td>
135: </tr>
136: </tfoot>
137: </table>
138: </div>
139: #end ## macro leaders
140:
141: #macro (generateLeaderSections $leaders $config $columnClass)
142: #foreach ($section in $config)
143: <div class="${columnClass}">
144: #leaders($leaders, $section.key, $section.pos, $section.statName, $section.th)
145: </div>
146: #end
147: #end ## generateLeaderSections
148:
149: #macro (generateTabs $tabConfig $columnClass)
150: <div class="row">
151: <div class="col-xs-12 col-sm-12">
152: <div class="tab-container">
153: <ul class="nav nav-tabs nav-tabs-responsive d-flex with-arrow lined flex-row text-nowrap justify-content-center gap-3" id="stats-leader-tabs" role="tablist">
154: #foreach ($tab in $tabConfig.tabs)
155: #set ($tabId = $tab.label.toLowerCase().replace(' ', '-'))
156: <li class="tabs-category nav-item text-center" role="presentation">
157: <a class="nav-link #if($foreach.index == 0)active#end" href="#" role="tab" data-bs-toggle="tab" data-bs-target="#${tabId}-pane" aria-selected="#if($foreach.index == 0)true#{else}false#end" aria-controls="${tabId}-pane" id="${tabId}-tab" tabindex="#if($foreach.index == 0)0#{else}-1#end">${tab.label}</a>
158: </li>
159: #end
160: </ul>
161: <div class="tab-content pt-3">
162: #foreach ($tab in $tabConfig.tabs)
163: #set ($tabId = $tab.label.toLowerCase().replace(' ', '-'))
164: <div class="tab-pane #if($foreach.index == 0)active#end" id="${tabId}-pane" role="tabpanel" aria-labelledby="${tabId}-tab" tabindex="0">
165: <div class="row g-3">
166: #generateLeaderSections($leaders, $tab.config, $columnClass)
167: </div>
168: </div>
169: #end
170: </div>
171: </div> ## tab-container
172: </div>
173: </div>
174: #end ## generateTabs
175:
176: #macro (generateDropdown $label $items)
177: #set ($id = $label.toLowerCase().replaceAll('[^a-z0-9]', '-') + "-dropdown")
178: <div class="dropdown">
179: <button class="btn btn-secondary dropdown-toggle" type="button" id="${id}" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
180: ${label}
181: </button>
182: <ul class="dropdown-menu" aria-labelledby="${id}" role="menu">
183: #foreach ($item in $items)
184: <li><a class="dropdown-item" role="menuitem" href="${seasonPath}${item.url}">${item.name}</a></li>
185: #end
186: </ul>
187: </div>
188: #end
189:
190: #macro (printFilters)
191: <div class="my-3 d-print-none">
192: <div class="btn-toolbar d-flex justify-content-between gap-3 flex-column flex-sm-row flex-sm-nowrap" role="toolbar" aria-label="Schedule tool bar">
193: ## #printTeamsFilter
194: <div class="flex-fill">
195: <div class="d-flex flex-wrap align-items-end justify-content-between gap-3 flex-row">
196: $!request.setAttribute("pageObj", $page)
197: $website.include("conf-season-filter-template")
198: </div>
199: </div>
200: <div class="m-0" role="group" aria-label="Print friendly version">
201: <a href="${page.url}?dec=printer-decorator" class="btn btn-link border text-decoration-none text-nowrap"><span class="fa fa-print" aria-hidden="true"></span> Print</a>
202: </div>
203: </div>
204: </div>
205: #end ## printFilters
206:
207: #********************
208: ****** CONTENT ******
209: ********************#
210:
211: <div class="stats-leaders">
212:
213: #if ($page.title.length() > 0)
214: <h1>$page.title</h1>
215: #else
216: <h1>Individual Leaders</h1>
217: #end
218:
219: ## ARCHIVES
220: #printFilters
221:
222: <div class="stats-leaders-contents">
223:
224: #if ($sport.enumCode == 0)
225: ## Football
226:
227: #generateTabs($footballTabsConfig, 'col-12 col-md-6')
228:
229: <div class="${dropdownsWrapperClass}">
230: <!-- Sortable Team Stats Dropdown -->
231: #generateDropdown('Sortable Team Stats', [
232: {"url": "/teams?sort=ydpg&pos=yar&${jsRenderingParam}", "name": "Total Offense"},
233: {"url": "/teams?sort=pypg&pos=pas&${jsRenderingParam}", "name": "Passing"},
234: {"url": "/teams?pos=rus&sort=rypg&${jsRenderingParam}", "name": "Rushing"},
235: {"url": "/teams?pos=wr&sort=wat&${jsRenderingParam}", "name": "Receiving"},
236: {"url": "/teams?pos=d&sort=dtu&${jsRenderingParam}", "name": "Defense"},
237: {"url": "/teams?pos=k&sort=kpts&${jsRenderingParam}", "name": "Kicking"},
238: {"url": "/teams", "name": "More Stats"}
239: ])
240: <!-- Player Stats by Team Dropdown -->
241: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
242: </div>
243:
244: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11)
245: ## Baseball or Softball
246:
247: #generateTabs($baseballTabsConfig, 'col-12 col-md-6 col-xl-3')
248:
249: <div class="${dropdownsWrapperClass}">
250: <!-- Sortable Team Stats Dropdown -->
251: #generateDropdown('Sortable Team Stats', [
252: {"url": "/teams?pos=br&sort=r&${jsRenderingParam}", "name": "Runs"},
253: {"url": "/teams?pos=eb&sort=hr&${jsRenderingParam}", "name": "Home Runs"},
254: {"url": "/teams?sort=avg&${jsRenderingParam}", "name": "Batting Average"},
255: {"url": "/teams", "name": "More Stats"}
256: ])
257: <!-- Player Stats by Team Dropdown -->
258: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
259: </div>
260:
261: #elseif ($sport.enumCode == 5)
262: ## Ice Hockey
263:
264: #generateTabs($iceHockeyTabsConfig, 'col-12 col-md-6 col-xl-3')
265:
266: <div class="${dropdownsWrapperClass}">
267: <!-- Offensive Leaders -->
268: #generateDropdown('Offensive Leaders', [
269: {"url": "/players?sort=sh&${jsRenderingParam}", "name": "Shots on Goal"},
270: {"url": "/players?sort=ppg&${jsRenderingParam}", "name": "Power Play Goals"},
271: {"url": "/players", "name": "More Stats"}
272: ])
273: <!-- Goaltending Leaders -->
274: #generateDropdown('Goaltending Leaders', [
275: {"url": "/players?pos=g&sort=ga&${jsRenderingParam}", "name": "Goals Allowed"},
276: {"url": "/players?pos=g&sort=sv&${jsRenderingParam}", "name": "Saves"},
277: {"url": "/players", "name": "More Stats"}
278: ])
279: <!-- Sortable Team Stats -->
280: #generateDropdown('Sortable Team Stats', [
281: {"url": "/teams?sort=g&${jsRenderingParam}", "name": "Goals"},
282: {"url": "/teams?sort=pim&${jsRenderingParam}", "name": "PIM"},
283: {"url": "/teams", "name": "More Stats"}
284: ])
285: <!-- Player Stats by Team Dropdown -->
286: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
287: </div>
288:
289: #elseif ($sport.enumCode == 4)
290: ## Volleyball
291:
292: <div class="row g-3">
293: #generateLeaderSections($leaders, $volleyballConfig, 'col-12 col-md-6 col-xl-3')
294: </div>
295:
296: <div class="${dropdownsWrapperClass}">
297: <!-- Sortable Team Stats -->
298: #generateDropdown('Sortable Team Stats', [
299: {"url": "/teams?sort=hpt&${jsRenderingParam}", "name": "Hitting Percentage"},
300: {"url": "/teams?sort=a&${jsRenderingParam}", "name": "Assists"},
301: {"url": "/teams?sort=k&${jsRenderingParam}", "name": "Kills"},
302: {"url": "/teams?pos=df&sort=bt&${jsRenderingParam}", "name": "Blocks (tot)"},
303: {"url": "/teams?pos=sr&sort=sa&${jsRenderingParam}", "name": "Service Aces"},
304: {"url": "/teams?pos=df&sort=d&${jsRenderingParam}", "name": "Digs"},
305: {"url": "/teams", "name": "More Stats"}
306: ])
307: <!-- Player Stats by Team Dropdown -->
308: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
309: </div>
310:
311: #elseif ($sport.enumCode == 2)
312: ## Basketball
313:
314: <div class="row g-3">
315: #generateLeaderSections($leaders, $basketballConfig, 'col-12 col-md-6 col-xl-3')
316: </div>
317:
318: <div class="${dropdownsWrapperClass}">
319: <!-- Scoring -->
320: #generateDropdown('Scoring', [
321: {"url": "/players?pos=shg&sort=ptspg&${jsRenderingParam}", "name": "Points"},
322: {"url": "/players?pos=sh&sort=fgpt&${jsRenderingParam}", "name": "FG Pt"},
323: {"url": "/players?pos=sh&sort=ftpt&${jsRenderingParam}", "name": "FT Pt"},
324: {"url": "/players", "name": "More Stats"}
325: ])
326: <!-- Rebounds -->
327: #generateDropdown('Rebounds', [
328: {"url": "/players?pos=bcg&sort=orebpg&${jsRenderingParam}", "name": "Off Rebounds"},
329: {"url": "/players?pos=bcg&sort=drebpg&${jsRenderingParam}", "name": "Def Rebounds"},
330: {"url": "/players?pos=bcg&sort=trebpg&${jsRenderingParam}", "name": "Total Rebounds"},
331: {"url": "/players", "name": "More Stats"}
332: ])
333: <!-- Defense -->
334: #generateDropdown("#if ($locale == 'en_us') Defense #elseif ($locale == 'en_gb') Defence #end", [
335: {"url": "/players?pos=bcg&sort=blkpg&${jsRenderingParam}", "name": "Blocks"},
336: {"url": "/players?pos=bcg&sort=stlpg&${jsRenderingParam}", "name": "Steals"},
337: {"url": "/players", "name": "More Stats"}
338: ])
339: <!-- Assists/TO -->
340: #generateDropdown('Assists/TO', [
341: {"url": "/players?pos=bcg&sort=astpg&${jsRenderingParam}", "name": "Assists"},
342: {"url": "/players?pos=bcg&sort=topg&${jsRenderingParam}", "name": "TO"},
343: {"url": "/players?pos=bcext&sort=ato&${jsRenderingParam}", "name": "A/TO Ratio"},
344: {"url": "/players", "name": "More Stats"}
345: ])
346: <!-- Sortable Team Stats -->
347: #generateDropdown('Sortable Team Stats', [
348: {"url": "/teams?pos=sh&sort=ptspg&${jsRenderingParam}", "name": "Points"},
349: {"url": "/teams?pos=sh&sort=fgpt&${jsRenderingParam}", "name": "FG Pt"},
350: {"url": "/teams?pos=rb&sort=trebpg&${jsRenderingParam}", "name": "Rebounds"},
351: {"url": "/teams", "name": "More Stats"}
352: ])
353: <!-- Player Stats by Team Dropdown -->
354: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
355: </div>
356:
357: #elseif ($sport.enumCode == 3)
358: ## Soccer
359:
360: #generateTabs($soccerTabsConfig, 'col-12 col-md-6 col-xl-3')
361:
362: <div class="${dropdownsWrapperClass}">
363: <!-- Offensive Leaders -->
364: #generateDropdown('Offensive Leaders', [
365: {"url": "/players?pos=sh&sort=sh&${jsRenderingParam}", "name": "Shots"},
366: {"url": "/players", "name": "More Stats"}
367: ])
368: <!-- Goalie Leaders -->
369: #generateDropdown('Goalie Leaders', [
370: {"url": "/players?pos=g&sort=ga&${jsRenderingParam}", "name": "Goals Allowed"},
371: {"url": "/players?pos=g&sort=sv&${jsRenderingParam}", "name": "Saves"},
372: {"url": "/players?pos=g&sort=svpt&${jsRenderingParam}", "name": "More Stats"}
373: ])
374: <!-- Sortable Team Stats -->
375: #generateDropdown('Sortable Team Stats', [
376: {"url": "/teams?sort=g&${jsRenderingParam}", "name": "Goals"},
377: {"url": "/teams?sort=sh&${jsRenderingParam}", "name": "Shots"},
378: {"url": "/teams", "name": "More Stats"}
379: ])
380: <!-- Player Stats by Team Dropdown -->
381: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
382: </div>
383:
384: #elseif ($sport.enumCode == 9)
385: ## Field hockey
386:
387: #generateTabs($fieldHockeyTabsConfig, 'col-12 col-md-6 col-xl-3')
388:
389: <div class="${dropdownsWrapperClass}">
390: <!-- Offensive Leaders -->
391: #generateDropdown('Offensive Leaders', [
392: {"url": "/players?sort=sh&${jsRenderingParam}", "name": "Shots"},
393: {"url": "/players", "name": "More Stats"}
394: ])
395: <!-- Goalie Leaders -->
396: #generateDropdown('Goalie Leaders', [
397: {"url": "/players?pos=goalie&sort=ga&${jsRenderingParam}", "name": "Goals Allowed"},
398: {"url": "/players?pos=goalie&sort=sv&${jsRenderingParam}", "name": "Saves"},
399: {"url": "/players?pos=goalie&sort=svpt&${jsRenderingParam}", "name": "More Stats"}
400: ])
401: <!-- Sortable Team Stats -->
402: #generateDropdown('Sortable Team Stats', [
403: {"url": "/teams?sort=g&${jsRenderingParam}", "name": "Goals"},
404: {"url": "/teams?sort=sh&${jsRenderingParam}", "name": "Shots"},
405: {"url": "/teams", "name": "More Stats"}
406: ])
407: <!-- Player Stats by Team Dropdown -->
408: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
409: </div>
410:
411: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10)
412: ## Men's or women's lacrosse
413:
414: #generateTabs($lacrosseTabsConfig, 'col-12 col-md-6 col-xl-3')
415:
416: <div class="${dropdownsWrapperClass}">
417: <!-- Offensive Leaders -->
418: #generateDropdown('Offensive Leaders', [
419: {"url": "/players?sort=sh&${jsRenderingParam}", "name": "Shots"},
420: {"url": "/players", "name": "More Stats"}
421: ])
422: <!-- Goalie Leaders -->
423: #generateDropdown('Goalie Leaders', [
424: {"url": "/players?pos=gk&sort=ga&${jsRenderingParam}", "name": "Goals Allowed"},
425: {"url": "/players?pos=gk&sort=sv&${jsRenderingParam}", "name": "Saves"},
426: {"url": "/players?pos=gk&${jsRenderingParam}", "name": "More Stats"}
427: ])
428: <!-- Sortable Team Stats -->
429: #generateDropdown('Sortable Team Stats', [
430: {"url": "/teams?sort=g&${jsRenderingParam}", "name": "Goals"},
431: {"url": "/teams?sort=sh&${jsRenderingParam}", "name": "Shots"},
432: {"url": "/teams", "name": "More Stats"}
433: ])
434: <!-- Player Stats by Team Dropdown -->
435: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
436: </div>
437:
438: #elseif ($sport.enumCode == 12)
439: ## Water Polo
440:
441: #generateTabs($waterPoloTabsConfig, 'col-12 col-md-6 col-xl-3')
442:
443: <div class="${dropdownsWrapperClass}">
444: <!-- Offensive Leaders -->
445: #generateDropdown('Offensive Leaders', [
446: {"url": "/players?sort=sh&${jsRenderingParam}", "name": "Shots"},
447: {"url": "/players", "name": "More Stats"}
448: ])
449: <!-- Goalie Leaders -->
450: #generateDropdown('Goalie Leaders', [
451: {"url": "/players?pos=g&sort=ga&${jsRenderingParam}", "name": "Goals Allowed"},
452: {"url": "/players?pos=g&sort=sv&${jsRenderingParam}", "name": "Saves"},
453: {"url": "/players?pos=g&${jsRenderingParam}", "name": "More Stats"}
454: ])
455: <!-- Sortable Team Stats -->
456: #generateDropdown('Sortable Team Stats', [
457: {"url": "/teams?sort=g&${jsRenderingParam}", "name": "Goals"},
458: {"url": "/teams?sort=sh&${jsRenderingParam}", "name": "Shots"},
459: {"url": "/teams", "name": "More Stats"}
460: ])
461: <!-- Player Stats by Team Dropdown -->
462: $website.include("${seasonPath}/teams?tmpl=stats-team-lineup-template")
463: </div>
464:
465: #else
466: <div>
467: <div class="alert alert-primary" role="alert">
468: We do not support a leader page for this sport (${sport}).
469: </div>
470: </div>
471: #end
472:
473: </div>
474:
475: $wiki.su
476: </div>
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Privacy Policy & Terms of Service .