Asha Thomas #1 G California

gp 30
pts/g 10.8
fg % 40.2
3pt % 36.6
ft % 84.7
reb/g 3.3
a/g 3.5
Recent Games
Mar 1 at Washington W, 71-65
Mar 3 at Washington State W, 80-58
Mar 7 vs. Washington State W, 77-58
Mar 8 vs. Stanford L, 72-54
Mar 23 vs. North Carolina W, 92-72
Mar 25 at Baylor L, 102-63
Statistics category Overall Conf
Games 30 60th 16 81st
Games started 30 33rd 16 44th
Minutes 1029 23rd 575 26th
Minutes per game 34.3 10th 35.9 7th
FG 104-259 38th 56-141 40th
FG Pct 40.2 33rd 39.7 32nd
3PT 56-153 16th 30-81 17th
3PT Pct 36.6 18th 37.0 18th
FT 61-72 23rd 30-36 27th
FT Pct 84.7 3rd 83.3 -
Off rebounds 27 59th 8 73rd
Def rebounds 71 54th 41 44th
Total rebounds 98 53rd 49 55th
Rebounds per game 3.3 51st 3.1 53rd
Personal fouls 56 100th 33 95th
Disqualifications 1 18th 1 11th
Assists 106 15th 58 14th
Turnovers 57 31st 37 27th
Assist to turnover ratio 1.9 15th 1.6 25th
Steals 27 39th 13 39th
Blocks 5 69th 4 52nd
Points 325 30th 172 34th
Points per game 10.8 29th 10.8 29th
Points per 40 min 12.6 51st 12.0 48th
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 6 Houston W, 80-79 1 35 1-9 11.1 0-4 0.0 8-10 80.0 10
Nov 11 at Penn St. W, 75-58 1 33 4-7 57.1 1-4 25.0 2-2 100.0 11
Nov 13 at Brigham Young W, 70-52 1 30 4-6 66.7 3-4 75.0 6-6 100.0 17
Nov 18 vs. University of the Pacific W, 81-69 1 36 4-4 100.0 3-3 100.0 4-4 100.0 15
Nov 23 vs. Tulane W, 65-57 1 35 3-8 37.5 2-6 33.3 2-2 100.0 10
Nov 24 at San Diego W, 70-53 1 33 4-10 40.0 1-4 25.0 0-0 - 9
Dec 2 CSUN W, 67-42 1 21 0-0 - 0-0 - 0-0 - 0
Dec 8 at St. Mary's (Cal.) W, 81-78 1 38 3-12 25.0 2-8 25.0 3-4 75.0 11
Dec 16 UC Santa Barb. W, 69-45 1 20 2-5 40.0 1-2 50.0 2-2 100.0 7
Dec 22 Connecticut L, 76-66 1 40 7-15 46.7 6-13 46.2 2-2 100.0 22
Dec 30 Harvard L, 85-79 1 35 4-11 36.4 2-6 33.3 0-2 0.0 10
Jan 4 UCLA L, 84-79 1 42 5-10 50.0 2-6 33.3 4-4 100.0 16
Jan 6 USC W, 66-59 1 33 4-8 50.0 2-4 50.0 2-2 100.0 12
Jan 11 at Arizona L, 60-55 1 39 1-9 11.1 0-6 0.0 2-2 100.0 4
Jan 13 at Arizona State L, 62-61 - - - - - - - - -
Jan 18 Washington State W, 77-63 1 37 5-10 50.0 1-3 33.3 2-2 100.0 13
Jan 20 Washington W, 79-70 1 40 2-9 22.2 1-3 33.3 4-4 100.0 9
Jan 25 at Utah L, 87-74 - - - - - - - - -
Jan 27 at Colorado W, 80-60 1 23 5-7 71.4 3-3 100.0 2-4 50.0 15
Jan 31 Stanford W, 81-80 1 40 1-7 14.3 0-5 0.0 2-2 100.0 4
Feb 2 at Stanford L, 75-50 1 40 2-10 20.0 0-2 0.0 1-2 50.0 5
Feb 8 Oregon L, 105-82 1 26 2-4 50.0 1-3 33.3 0-0 - 5
Feb 10 Oregon State L, 82-74 1 35 5-15 33.3 5-14 35.7 0-0 - 15
Feb 15 at USC L, 86-76 1 40 3-9 33.3 3-6 50.0 2-2 100.0 11
Feb 17 at UCLA L, 80-74 1 37 7-12 58.3 3-5 60.0 1-2 50.0 18
Feb 22 Arizona State W, 69-60 1 38 6-10 60.0 4-7 57.1 2-2 100.0 18
Feb 24 Arizona W, 82-76 1 38 1-9 11.1 1-7 14.3 2-2 100.0 5
Mar 1 at Washington W, 71-65 1 37 5-7 71.4 4-5 80.0 2-4 50.0 16
Mar 3 at Washington State W, 80-58 1 30 2-5 40.0 0-2 0.0 2-2 100.0 6
Mar 7 vs. Washington State W, 77-58 - - - - - - - - -
Mar 8 vs. Stanford L, 72-54 1 36 2-15 13.3 1-10 10.0 0-0 - 5
Mar 23 vs. North Carolina W, 92-72 1 33 7-11 63.6 3-6 50.0 2-2 100.0 19
Mar 25 at Baylor L, 102-63 1 29 3-5 60.0 1-2 50.0 0-0 - 7
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 6 Houston W, 80-79 1 35 3 3 6 7 1 7.0 0 0 2 -
Nov 11 at Penn St. W, 75-58 1 33 2 2 4 2 2 1.0 2 0 2 -
Nov 13 at Brigham Young W, 70-52 1 30 2 1 3 6 1 6.0 1 0 3 -
Nov 18 vs. University of the Pacific W, 81-69 1 36 1 4 5 6 2 3.0 0 0 1 -
Nov 23 vs. Tulane W, 65-57 1 35 2 4 6 6 2 3.0 0 0 1 -
Nov 24 at San Diego W, 70-53 1 33 0 0 0 3 2 1.5 1 0 0 -
Dec 2 CSUN W, 67-42 1 21 0 1 1 1 1 1.0 1 0 0 -
Dec 8 at St. Mary's (Cal.) W, 81-78 1 38 3 5 8 2 1 2.0 2 0 3 -
Dec 16 UC Santa Barb. W, 69-45 1 20 0 1 1 1 0 - 1 1 0 -
Dec 22 Connecticut L, 76-66 1 40 2 3 5 2 1 2.0 0 0 3 -
Dec 30 Harvard L, 85-79 1 35 4 2 6 4 2 2.0 3 0 4 -
Jan 4 UCLA L, 84-79 1 42 0 2 2 1 4 0.3 3 0 1 -
Jan 6 USC W, 66-59 1 33 0 0 0 3 2 1.5 1 1 3 -
Jan 11 at Arizona L, 60-55 1 39 0 4 4 2 5 0.4 1 0 1 -
Jan 13 at Arizona State L, 62-61 - - - - - - - - - - - -
Jan 18 Washington State W, 77-63 1 37 0 2 2 1 3 0.3 1 0 1 -
Jan 20 Washington W, 79-70 1 40 2 5 7 8 1 8.0 1 0 0 -
Jan 25 at Utah L, 87-74 - - - - - - - - - - - -
Jan 27 at Colorado W, 80-60 1 23 0 3 3 2 0 - 0 0 2 -
Jan 31 Stanford W, 81-80 1 40 1 3 4 5 4 1.3 0 1 1 -
Feb 2 at Stanford L, 75-50 1 40 0 2 2 1 1 1.0 0 0 1 -
Feb 8 Oregon L, 105-82 1 26 0 1 1 3 0 - 0 0 3 -
Feb 10 Oregon State L, 82-74 1 35 1 2 3 4 4 1.0 0 0 4 -
Feb 15 at USC L, 86-76 1 40 1 3 4 4 1 4.0 3 0 3 -
Feb 17 at UCLA L, 80-74 1 37 1 4 5 3 3 1.0 1 0 4 -
Feb 22 Arizona State W, 69-60 1 38 1 1 2 3 0 - 0 1 2 -
Feb 24 Arizona W, 82-76 1 38 0 2 2 8 4 2.0 1 0 5 1
Mar 1 at Washington W, 71-65 1 37 1 4 5 3 4 0.8 0 0 2 -
Mar 3 at Washington State W, 80-58 1 30 0 3 3 7 1 7.0 1 1 0 -
Mar 7 vs. Washington State W, 77-58 - - - - - - - - - - - -
Mar 8 vs. Stanford L, 72-54 1 36 0 2 2 4 1 4.0 1 0 2 -
Mar 23 vs. North Carolina W, 92-72 1 33 0 1 1 2 3 0.7 2 0 1 -
Mar 25 at Baylor L, 102-63 1 29 0 1 1 2 1 2.0 0 0 1 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2016-17 30 30 31.5 3.0-7.3 40.5 1.8-4.8 38.5 1.4-1.8 77.4 9.1
2017-18 28 28 31.8 3.9-9.4 41.7 2.0-5.6 35.3 2.5-2.8 88.5 12.3
2018-19 30 30 34.3 3.5-8.6 40.2 1.9-5.1 36.6 2.0-2.4 84.7 10.8
Total 88 88 32.5 3.4-8.4 40.8 1.9-5.1 36.7 1.9-2.3 84.2 10.7
  gp gs min fg pct 3pt pct ft pct pts
2016-17 30 30 944 89-220 40.5 55-143 38.5 41-53 77.4 274
2017-18 28 28 891 110-264 41.7 55-156 35.3 69-78 88.5 344
2018-19 30 30 1029 104-259 40.2 56-153 36.6 61-72 84.7 325
Total 88 88 2864 303-743 40.8 166-452 36.7 171-203 84.2 943
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2016-17 30 30 31.5 3.8-9.3 40.5 2.3-6.1 38.5 1.7-2.2 77.4 11.6
2017-18 28 28 31.8 4.9-11.9 41.7 2.5-7.0 35.3 3.1-3.5 88.5 15.4
2018-19 30 30 34.3 4.0-10.1 40.2 2.2-5.9 36.6 2.4-2.8 84.7 12.6
Total 88 88 32.5 4.2-10.4 40.8 2.3-6.3 36.7 2.4-2.8 84.2 13.2
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2016-17 30 30 31.5 0.6 2.2 2.8 1.4 0.0 3.5 1.9 1.8 1.0 0.0
2017-18 28 28 31.8 0.5 1.9 2.3 1.0 0.0 3.6 1.8 2.0 1.1 0.0
2018-19 30 30 34.3 0.9 2.4 3.3 1.9 0.0 3.5 1.9 1.9 0.9 0.2
Total 88 88 32.5 0.6 2.1 2.8 1.4 0.0 3.6 1.9 1.9 1.0 0.1
  gp gs min off def reb pf dq ast to a/to stl blk
2016-17 30 30 944 17 66 83 41 0 106 58 1.8 30 0
2017-18 28 28 891 13 52 65 29 0 101 51 2.0 31 1
2018-19 30 30 1029 27 71 98 56 1 106 57 1.9 27 5
Total 88 88 2864 57 189 246 126 1 313 166 1.9 88 6
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2016-17 30 30 31.5 0.7 2.8 3.5 1.7 0.0 4.5 2.5 1.8 1.3 0.0
2017-18 28 28 31.8 0.6 2.3 2.9 1.3 0.0 4.5 2.3 2.0 1.4 0.0
2018-19 30 30 34.3 1.0 2.8 3.8 2.2 0.0 4.1 2.2 1.9 1.0 0.2
Total 88 88 32.5 0.8 2.6 3.4 1.8 0.0 4.4 2.3 1.9 1.2 0.1
There was a problem with a Velocity script
Pagebio-network-template
ErrorVM #printCategories: too many arguments to macro. Wanted 2 got 3 at bio-network-template[line 574, column 11]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: #set ($showconf = true)
8: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
9:   #set ($showconf = false)
10: #end
11: 
12: #set ($showCareer = $wiki.valid() && $seasons)
13: #if ("yes" == $options.get("stats_show_career") && $seasons)
14:   #set ($showCareer = "yes")
15: #end
16: 
17: #if ($locale == "en_us")
18:   #set ($defLabel = "Defense")
19: #elseif ($locale == "en_gb")
20:   #set ($defLabel = "Defence")
21: #end
22: 
23: #set ($pos = "")
24: #set ($pos = $attributes.get("position"))
25: #set ($posVec = $pos.split("/"))
26: #set ($pos = $posVec[0])
27: #set ($pos = $pos.toLowerCase())
28: 
29: #set ($statPos = $positions.get($pos))
30: #set ($paramPos = $request.getParameter("pos").toLowerCase())
31: 
32: #*
33: $positions
34: $positions.keySet()
35: $positions.entrySet()
36: $statPos
37: $paramPos
38: *#
39: 
40: #set ($highlights = $highlights.get($statPos))
41: 
42: #set ($url = ${page.url})
43: #set ($playerId = $attributes.get("playerId"))
44: #set ($stats = $splits.overall)
45: 
46: #set ($hasEvents = $events.size() > 0)
47: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
48: #set ($htmlStatsURL = "${page.url}-stats")
49: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
50: #set ($bioBriefURL = "${page.url}-brief")
51: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
52: 
53: $request.setAttribute("careerTotals", $career)
54: ## We track a map of the careers to see if we are missing any seasons
55: #set ($careerMap = {})
56: $request.setAttribute("careerMap", $careerMap)
57: #foreach ($season in $seasons)
58:   ## We need to include this season stats
59:   #set ($path = "${season.path}?tmpl=bio-career-template&name=${season.seasonName}&pos=${statPos}&print=no")
60:   $website.includeAgain($path)
61: #end
62: 
63: #set ($view = "profile")
64: #if ($request.getParameter("view"))
65:   #set ($view = $request.getParameter("view"))
66: #end
67: 
68: #macro (printResultAriaLabel $event)
69:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
70:     #if ($event.neutralSite.length() > 0 || $event.home) 
71:     	#set ($ariaLabel = "${ariaLabel} vs.")
72:     #else
73:     	#set ($ariaLabel = "${ariaLabel} at")
74:     #end
75:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
76:     #if ($event.neutralSite.length() > 0)
77:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
78:     #end
79:     #set ($ariaLabel = "${ariaLabel} Box Score")
80:     aria-label="$ariaLabel"
81: #end
82: 
83: #macro (printHighlights)
84: #if ($highlights)
85:   <div class="highlights highlights-standalone accent-bg">
86:     #foreach ($highlight in $highlights.keySet())
87:       #set ($value = "-")
88:       #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
89:       <div class="stat clearfix">
90:         <span class="stat-title">$!highlights.get($highlight)</span>
91:         <span class="stat-value">$value</span>
92:       </div>
93:     #end
94:   </div>
95: #end ## has highlights
96: #end ## macro printHighlights
97: 
98: #macro (split $statPosBriefs $label $stats)
99:   <tr>
100:     <td class="pinned-col text">${label}</td>
101:     #foreach ($brief in $statPosBriefs.keySet())
102:       #set ($value = "-")
103:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
104:       <td>#if ($value.length() > 0) $value #else - #end</td>
105:     #end
106:   </tr>
107: #end ## marco split
108: 
109: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
110:   
111: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
112: <div class="tab-nav" data-module="jscroll" data-momentum="false">
113: <div>
114: <ul class="clearfix">
115: #foreach($briefCat in $briefCategoryLabels.entrySet())
116:   #set ($briefCatLabel = $briefCat.value)
117:   #set ($briefCatKey = $briefCat.key)
118:     
119:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
120:     #set ($briefCatLabel = "Defence")
121:   #end  
122:   
123:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="tab" id="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
124: #end
125: </ul>
126: </div>
127: </div>
128: <div class="tab-panels">
129: #foreach ($briefCat in $briefCategoryLabels.entrySet())
130:   #set ($briefCatLabel = $briefCat.value)
131:   #set ($class = "tab-panel clearfix")
132:   #if ($briefCat.key == $activePos)
133:     #set ($class = "tab-panel active clearfix")
134:   #end
135:   <div class="$class" role="tabpanel" aria-labelledby="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}">
136:     <div class="stats-wrap clearfix">
137:     #if ($v == "splits")
138:       #splitsData($briefCat.key)
139:     #elseif ($v == "career")
140:       #careerData($briefCat.key)
141:     #end
142:     </div>
143:   </div>
144: #end  
145: </div>
146: </div> ## tab-container
147: 
148: #end ## macro printCategories
149: 
150: #macro (splitsData $p)
151: 
152: #set ($p = $positions.get($p))
153: #set ($statPosBriefs = $briefs.get($p))
154: #set ($colspan = $statPosBriefs.size())  
155:   
156: <div class="stats-box full clearfix">
157: <div class="scrollable">
158: <div>
159: <table>
160:   <tr class="accent-bg">
161:     <th class="pinned-col">&nbsp;</th>
162:     #foreach ($brief in $statPosBriefs)
163:       <th>$brief</th>
164:     #end
165:   </tr>
166: 
167: #split($statPosBriefs, "Total", $splits.overall)
168: #if ($showconf)
169:   #split($statPosBriefs, "Conference", $splits.conference)
170: #end
171: #split($statPosBriefs, "Exhibition", $splits.exhibition)
172: 
173: <tr class="empty-row">
174: 	<td class="pinned-col">&nbsp;</td>
175: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
176: </tr>
177: 
178: #split($statPosBriefs, "Home", $splits.home)
179: #split($statPosBriefs, "Away", $splits.away)
180: #split($statPosBriefs, "Neutral", $splits.neutral)
181: 
182: <tr class="empty-row">
183: 	<td class="pinned-col">&nbsp;</td>
184: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
185: </tr>
186: 
187: #foreach($gameResult in $gamesResults.entrySet())
188:   #if ($gameResult.key == "wins")
189:     #set ($splitGameResult = $splits.inWins)
190:   #elseif ($gameResult.key == "losses")
191:     #set ($splitGameResult = $splits.inLosses)
192:   #elseif ($gameResult.key == "ties")
193:     #set ($splitGameResult = $splits.inTies)
194:   #end
195:   
196:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
197: #end
198: 
199: <tr class="empty-row">
200: 	<td class="pinned-col">&nbsp;</td>
201: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
202: </tr>
203: 
204: #if ($monthsPlayed and $monthsPlayed.size() > 0)
205:   #foreach($month in $monthsPlayed)
206:     #if ($month == 'January')
207:       #set ($splitMonth = $splits.january)
208:     #elseif ($month == 'February')
209:       #set ($splitMonth = $splits.february)
210:     #elseif ($month == 'March')
211:       #set($splitMonth = $splits.march)
212:     #elseif ($month == 'April')
213:       #set($splitMonth = $splits.april)
214:     #elseif ($month == 'May')
215:       #set ($splitMonth = $splits.may)
216:     #elseif ($month == 'June')
217:       #set ($splitMonth = $splits.june)
218:     #elseif ($month == 'July')
219:       #set($splitMonth = $splits.july)
220:     #elseif ($month == 'August')
221:       #set ($splitMonth = $splits.august)
222:     #elseif ($month == 'September')
223:       #set($splitMonth = $splits.september)
224:     #elseif ($month == 'October')
225:       #set($splitMonth = $splits.october)
226:     #elseif ($month == 'November')
227:       #set ($splitMonth = $splits.november)
228:     #elseif ($month == 'December')
229:       #set($splitMonth = $splits.december)
230:     #end
231:     
232:     #split($statPosBriefs, $month, $splitMonth)
233:   #end ## foreach
234: #end
235: </table>
236: </div>
237: </div> ## scrollable
238: </div> ## srollable-table
239: 
240: #end ## macro splitsData
241: 
242: #macro (printRecentGames)
243: <table>
244:     <tr class="thead accent-bg"><th colspan="3" class="text">Recent Games</th></tr>
245: 
246:     #set ($eventEnd = -1)
247:     #foreach ($event in $events)
248:     #if ($event.event.result.resolved)
249:     #set ($eventEnd = $velocityCount)
250:     #end
251:     #end
252: 
253:     #set ($eventStart = $eventEnd - 5)
254:     #if ($eventStart < 0) #set ($eventStart = 0) #end
255: 
256:     #foreach ($event in $events)
257:     #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
258:     <tr>
259:         <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
260:         <td class="text">
261:             #if ($event.event.neutralSite.length() > 0) vs.
262:             #elseif (!$event.event.home) at
263:             #else ## nothing for a home game
264:             #end
265:             $event.event.opponent.name
266:         </td>
267:         <td class="text">
268:             #if ($event.event.statusCode >= 0)
269:             #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
270:                 <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
271:             #else
272:             ${event.event.APResult}
273:             #end
274:             #end
275:         </td>
276:     </tr>
277:     #end ## if
278:     #end
279: </table>
280: #end ## macro printRecentGames
281: 
282: #macro (gamelogData $p)
283: 
284: #set ($p = $positions.get($p))
285: #set ($gamelogs = $gamelogs.get($p))
286: #set ($atLeastOneNotOverall = false)
287: 
288: <div class="stats-box full clearfix">
289:     <div class="scrollable">
290:         <div>
291:             <table>
292:               <tr class="thead accent-bg">
293:                   <th class="text">Date</th>
294:                   <th class="pinned-col text">Opponent</th>
295:                   <th>Score</th>
296: 				  #set ($colspan = 3)
297:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
298: 					#set ($colspan = $colspan + 1)
299: 					<th>Dec</th>
300:                   #end
301:                   #foreach ($gamelog in $gamelogs)
302: 					#set ($colspan = $colspan + 1)
303: 					<th>$gamelog</th>
304:                   #end
305:               </tr>
306:               #foreach ($event in $events)
307:               <tr>
308:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d") #if (!$event.event.overall) #set ($atLeastOneNotOverall = true) # #end</</td>
309:                   <td class="pinned-col text">
310:                       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
311:                       $event.event.opponent.name
312:                   </td>
313:                   <td>
314:                       #if ($event.event.statusCode >= 0)
315:                       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
316:                           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
317:                       #else
318:                       ${event.event.APResult}
319:                       #end
320:                       #else &nbsp; #end
321:                   </td>
322:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
323:                       #if ($event.stats.get('gow') == 1)
324:                           <td>W</td>
325:                       #elseif ($event.stats.get('gol') == 1)
326:                           <td>L</td>
327:                       #elseif ($event.stats.get('got') == 1)
328:                           <td>T</td>
329:                       #else
330:                           <td>-</td>
331:                       #end
332:                   #end
333:                   #foreach ($gamelog in $gamelogs.keySet())
334:                   #set ($value = "-")
335:                   #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
336:                   <td>$value</td>
337:                   #end
338:               </tr>
339:               #end
340:               #if ($atLeastOneNotOverall)
341:                 <tr><td colspan="$colspan"># Stats don't count towards season totals</td></tr>
342:               #end
343:             </table>
344:         </div>
345:     </div> ## scrollable
346: </div> ## stats-box
347: 
348: #end ## macro gamelogData
349: 
350: #macro (split $statPosBriefs $label $stats)
351:   <tr>
352:     <td class="pinned-col text">${label}</td>
353:     #foreach ($brief in $statPosBriefs.keySet())
354:       #set ($value = "-")
355:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
356:       <td>#if ($value.length() > 0) $value #else - #end</td>
357:     #end
358:   </tr>
359: #end
360: 
361: #macro (careerData $p)
362: #set ($p = $positions.get($p))
363: #set ($statPosBriefs = $briefs.get($p))
364: 
365: <div class="stats-box full clearfix">
366: <div class="scrollable">
367: <div>
368: <table>
369: <tr class="thead accent-bg">
370:   <th class="pinned-col">&nbsp;</th>
371:   #foreach ($brief in $statPosBriefs)
372:     <th>$brief</th>
373:   #end
374: </tr>
375: 
376: #foreach ($season in $seasons)
377:   #if ($careerMap.get($season.seasonName))
378:     #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
379:     #split($statPosBriefs, $label, $careerMap[$season.seasonName])
380:   #elseif ($wiki.valid())
381:     <tr>
382:       <td class="pinned-col text">${season.seasonName}</td>
383:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
384:     </tr>
385:   #end
386: #end
387: 
388: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
389: 
390: </table>
391: </div>
392: </div> ## scrollable
393: </div> ## stats-box
394: 
395: #end ## macro careerData
396: 
397: ################################################## END MACROS  #############################################################
398: 
399: <head>
400: <title>
401:     $!attributes.get("first_name") $!attributes.get("last_name") | #if ($attributes.get("number"))#$!attributes.get("number") | #end #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)$!attributes.get("position_abbr") | #elseif ($attributes.get("position"))$!attributes.get("position") | #end  $attributes.get("team")
402: </title>
403: </head>
404: 
405: <div class="bio-wrap bio-wrap-network clearfix" data-module="stats/responsive-container">
406: 
407:     #if ($page.title.length() > 0)
408:     <h1>$page.title</h1>
409:     #end
410: 
411:     <h2 class="player-name">
412:         <span>$!attributes.get("first_name") $!attributes.get("last_name")</span>
413:         #if (!$attributes.get("number").empty)<span>#$!attributes.get("number")</span>#end
414:         #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)
415: 			<span>$!attributes.get("position_abbr")</span>
416: 		#elseif ($attributes.get("position"))
417: 			<span>$!attributes.get("position")</span>
418: 		#end 
419:         <a href="../teams?id=$!{attributes.get("teamId")}" aria-label="Team Stats - ${attributes.get("team")}">$attributes.get("team")</a>
420:     </h2>
421: 	
422:     #printHighlights
423: 
424:     <div class="body clearfix">
425:         <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
426:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
427:                 <div>
428:                     <ul class="clearfix">
429:                         <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile" role="tab" id="stats-tab-player-profile">Player Profile</a></li>
430:                         <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog" role="tab" id="stats-tab-game-log">Game Log</a></li>
431:                         #if ($showCareer)
432:                         <li #if ($view == "career")class="active"#end><a href="${page.url}?view=career" role="tab" id="stats-tab-career-stats">Career Stats</a></li>
433:                         #end
434:                         <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits" role="tab" id="stats-tab-split-stats">Split Stats</a></li>
435:                     </ul>
436:                 </div>
437:             </div> ## tab-nav
438: 
439:             <div class="tab-panels clearfix">
440: 
441:                 ## PROFILE
442:                 #set ($class = "tab-panel clearfix")
443:                 #if ($view == "profile")
444:                 #set ($class = "tab-panel active clearfix")
445:                 #end
446:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-player-profile">
447: 
448:                     ## Player profile
449:                     <div class="clearfix stats-wrap">
450: 
451:                         ## LAST SIX GAMES
452:                         <div class="stats-box half">
453:                             #printRecentGames()
454:                         </div>
455: 
456:                         ## RANKING
457:                         <div class="stats-box half">
458:                             $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
459:                         </div>
460: 
461:                     </div> ## clearfix
462: 
463:                     #if ($hasSynopsis)
464:                     <div class="clearfix">$!synopsis</div>
465:                     #end
466: 
467:                     #if ($hasBioBrief)
468:                     <div class="clearfix">$website.include($htmlStatsURL)</div>
469:                     #end
470: 
471:                     #if ($htmlStatsURL)
472:                     <div class="clearfix">$website.include($bioBriefURL)</div>
473:                     #end
474: 
475:                 </div>
476:                 ## PROFILE
477: 
478:                 ## GAMELOG
479:                 #set ($class = "tab-panel clearfix")
480:                 #if ($view == "gamelog")
481:                 #set ($class = "tab-panel active clearfix")
482:                 #end
483: 
484:                 #set ($activePos = $statPos)
485:                 #if ($view == "gamelog" && $paramPos.length() > 0)
486:                   #if ($positions.get($paramPos).length() > 0)
487:                     #set ($activePos = $positions.get($paramPos))
488:                   #end
489:                 #end
490: 
491:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log">
492: 
493:                     #if ($gamelogsCategoriesLabels)
494:                     <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
495:                         <div class="tab-nav" data-module="jscroll" data-momentum="false">
496:                             <div>
497:                                 <ul class="clearfix">
498:                                     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
499:                                       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
500: 
501:                                   #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
502:                       #set($gamelogsCatLabelVal = "Defence")
503:                     #end
504: 
505:                     <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end>
506:                       <a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="tab" id="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a>
507:                     </li>
508:                                     #end
509:                                 </ul>
510:                             </div>
511:                         </div>
512:                         <div class="tab-panels">
513:                 #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
514: 					#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
515:                 #set ($class = "tab-panel clearfix")
516:                 #if ($gamelogsCatLabel.key == $activePos)
517:                   #set ($class = "tab-panel active clearfix")
518:                 #end
519:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}">
520:                   <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
521:                 </div>
522:               #end
523:                         </div>
524:                     </div>
525:                     #else
526:                       <div class="stats-wrap clearfix">#gamelogData($pos)</div>
527:                     #end
528: 
529:                 </div> ## tab-panel
530:                 ## GAMELOG
531: 
532:         ## CAREER
533:         #if ($showCareer)
534: 
535:         #set ($activePos = $statPos)
536:         #if ($view == "career" && $paramPos.length() > 0)
537:           #if ($positions.get($paramPos).length() > 0)
538:           #set ($activePos = $positions.get($paramPos))
539:           #end
540:         #end
541: 
542:         #set ($class = "tab-panel clearfix")
543:         #if ($view == "career")
544:           #set ($class = "tab-panel active clearfix")
545:         #end
546: 
547:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-career-stats">
548: 
549:         #if ($briefsCategoriesLabels)
550:           #printCategories($briefsCategoriesLabels "career" "Career Stats")
551:         #else
552:           <div class="stats-wrap clearfix">#careerData($activePos)</div>
553:         #end    
554: 
555:         </div> ## tab-panel
556:         #end ## CAREER
557:         
558:         ## SPLITS
559:         #set ($class = "tab-panel clearfix")
560:         #if ($view == "splits")
561:           #set ($class = "tab-panel active clearfix")
562:         #end
563: 
564:         #set ($activePos = $statPos)
565:         #if ($view == "splits" && $paramPos.length() > 0)
566:           #if ($positions.get($paramPos).length() > 0)
567:           #set ($activePos = $positions.get($paramPos))
568:           #end
569:         #end
570: 
571:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-split-stats">
572: 
573:         #if ($briefsCategoriesLabels)
574:           #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
575:         #else
576:           <div class="stats-wrap clearfix">#splitsData($pos)</div>
577:         #end    
578: 
579:         </div> ## tab-panel
580:         ## SPLITS
581:         
582:             </div> ##tab-panels
583: 
584:         </div> ## tab-container
585:     </div> ## body
586: 
587: 
588: </div> ## bio-wrapper
589: $wiki.su