<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://nssportwiki.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ATeamBracket</id>
	<title>Module:TeamBracket - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nssportwiki.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ATeamBracket"/>
	<link rel="alternate" type="text/html" href="https://nssportwiki.com/index.php?title=Module:TeamBracket&amp;action=history"/>
	<updated>2026-05-15T23:37:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://nssportwiki.com/index.php?title=Module:TeamBracket&amp;diff=58186&amp;oldid=prev</id>
		<title>&gt;Osarius: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://nssportwiki.com/index.php?title=Module:TeamBracket&amp;diff=58186&amp;oldid=prev"/>
		<updated>2020-10-13T14:20:27Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:20, 13 October 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>&gt;Osarius</name></author>
	</entry>
	<entry>
		<id>https://nssportwiki.com/index.php?title=Module:TeamBracket&amp;diff=58185&amp;oldid=prev</id>
		<title>wikipedia&gt;Frietjes: autoseeds</title>
		<link rel="alternate" type="text/html" href="https://nssportwiki.com/index.php?title=Module:TeamBracket&amp;diff=58185&amp;oldid=prev"/>
		<updated>2019-06-17T13:44:58Z</updated>

		<summary type="html">&lt;p&gt;autoseeds&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--&lt;br /&gt;
-- This module will implement {{TeamBracket}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local args&lt;br /&gt;
local rounds&lt;br /&gt;
local padding&lt;br /&gt;
local hideSeeds&lt;br /&gt;
local showSeeds&lt;br /&gt;
local tracking = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
function getSeeds()&lt;br /&gt;
	local seeds = {1, 2}&lt;br /&gt;
	local count = 2&lt;br /&gt;
	local before = false&lt;br /&gt;
	for r = 2, rounds do&lt;br /&gt;
		local max = math.pow(2, r)&lt;br /&gt;
		for i = 1, count do&lt;br /&gt;
			local pos = i * 2&lt;br /&gt;
			if before then pos = pos - 1 end&lt;br /&gt;
			table.insert(seeds, pos, max - seeds[i * 2 - 1] + 1)&lt;br /&gt;
			before = not before&lt;br /&gt;
		end&lt;br /&gt;
		count = count * 2&lt;br /&gt;
	end&lt;br /&gt;
	return seeds&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function addTableRow(tbl)&lt;br /&gt;
	return tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function addBlank(row, width)&lt;br /&gt;
	local cell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
	if width then&lt;br /&gt;
		cell:css(&amp;#039;width&amp;#039;, width)&lt;br /&gt;
	end&lt;br /&gt;
	return cell&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function addPath(rows, index, round, top, left)&lt;br /&gt;
	local prop = top and &amp;#039;border-bottom-width&amp;#039; or &amp;#039;border-top-width&amp;#039;&lt;br /&gt;
	if left and round == 1 then&lt;br /&gt;
		addBlank(rows[index]):css(&amp;#039;height&amp;#039;, &amp;#039;7px&amp;#039;)&lt;br /&gt;
		addBlank(rows[index + 1]):css(&amp;#039;height&amp;#039;, &amp;#039;7px&amp;#039;)&lt;br /&gt;
		return nil&lt;br /&gt;
	else&lt;br /&gt;
		local cell = addBlank(rows[index])&lt;br /&gt;
			:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-color&amp;#039;, &amp;#039;black&amp;#039;)&lt;br /&gt;
		if left or round &amp;lt; rounds and not left then&lt;br /&gt;
			cell:css(prop, &amp;#039;2px&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		return cell&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function addCompactPath(rows, index, round, top, left)&lt;br /&gt;
	local prop = top and &amp;#039;border-bottom-width&amp;#039; or &amp;#039;border-top-width&amp;#039;&lt;br /&gt;
	if left and round == 1 then&lt;br /&gt;
		addBlank(rows[index])&lt;br /&gt;
		return nil&lt;br /&gt;
	else&lt;br /&gt;
		local cell = addBlank(rows[index])&lt;br /&gt;
			:css(&amp;#039;border-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-color&amp;#039;, &amp;#039;black&amp;#039;)&lt;br /&gt;
		if left or round &amp;lt; rounds and not left then&lt;br /&gt;
			cell:css(prop, &amp;#039;2px&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		return cell&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getWidth(param, default)&lt;br /&gt;
	local arg = args[param .. &amp;#039;-width&amp;#039;]&lt;br /&gt;
	if not arg or string.len(arg) == 0 then&lt;br /&gt;
		arg = default&lt;br /&gt;
	end&lt;br /&gt;
	if tonumber(arg) ~= nil then&lt;br /&gt;
		arg = arg .. &amp;#039;px&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return arg&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getTeamArg(round, type, team)&lt;br /&gt;
	return args[getTeamArgName(round, type, team)]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getTeamArgName(round, type, team)&lt;br /&gt;
	return string.format(&amp;#039;RD%d-%s&amp;#039; .. padding, round, type, team)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getRoundName(round)&lt;br /&gt;
	local name = args[&amp;#039;RD&amp;#039; .. round]&lt;br /&gt;
	if name and string.len(name) &amp;gt; 0 then&lt;br /&gt;
		return name&lt;br /&gt;
	end&lt;br /&gt;
	local roundFromLast = rounds - round + 1&lt;br /&gt;
	if roundFromLast == 1 then&lt;br /&gt;
		return &amp;quot;Finals&amp;quot;&lt;br /&gt;
	elseif roundFromLast == 2 then&lt;br /&gt;
		return &amp;quot;Semifinals&amp;quot;&lt;br /&gt;
	elseif roundFromLast == 3 then&lt;br /&gt;
		return &amp;quot;Quarterfinals&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;Round of &amp;quot; .. math.pow(2, roundFromLast)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function renderTeam(row, round, team, top, compact)&lt;br /&gt;
	local seedCell&lt;br /&gt;
	local seedArg = getTeamArg(round, &amp;#039;seed&amp;#039;, team)&lt;br /&gt;
	-- seed value for the paired team&lt;br /&gt;
	local pairSeedArg = getTeamArg(round, &amp;#039;seed&amp;#039;,&lt;br /&gt;
		team % 2 == 0 and team - 1 or team + 1)&lt;br /&gt;
	-- show seed if seed is defined for either or both&lt;br /&gt;
	local showSeed = showSeeds &lt;br /&gt;
		or (seedArg and string.len(seedArg) &amp;gt; 0)&lt;br /&gt;
		or (pairSeedArg and string.len(pairSeedArg) &amp;gt; 0)&lt;br /&gt;
	if showSeed and (not hideSeeds) then&lt;br /&gt;
		seedCell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;background-color&amp;#039;, &amp;#039;#f2f2f2&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-color&amp;#039;, &amp;#039;#aaa&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-top-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-left-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
			:wikitext(seedArg)&lt;br /&gt;
			:newline()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local teamArg = getTeamArg(round, &amp;#039;team&amp;#039;, team)&lt;br /&gt;
	if not teamArg or string.len(teamArg) == 0 then&lt;br /&gt;
		teamArg = &amp;#039;&amp;amp;nbsp;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local teamCell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;background-color&amp;#039;, &amp;#039;#f9f9f9&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-color&amp;#039;, &amp;#039;#aaa&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-top-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-left-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;padding&amp;#039;, &amp;#039;0 2px&amp;#039;)&lt;br /&gt;
		:wikitext(teamArg)&lt;br /&gt;
		:newline()&lt;br /&gt;
	if not showSeed and (not hideSeeds) then&lt;br /&gt;
		teamCell:attr(&amp;#039;colspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local scoreCell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-color&amp;#039;, &amp;#039;#aaa&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-top-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-left-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;background-color&amp;#039;, &amp;#039;#f9f9f9&amp;#039;)&lt;br /&gt;
		:wikitext(getTeamArg(round, &amp;#039;score&amp;#039;, team))&lt;br /&gt;
		:newline()&lt;br /&gt;
&lt;br /&gt;
	if not compact then&lt;br /&gt;
		if seedCell then&lt;br /&gt;
			seedCell:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		scoreCell:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		teamCell:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		if not top then&lt;br /&gt;
			if seedCell then&lt;br /&gt;
				seedCell:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
			teamCell:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
			scoreCell:css(&amp;#039;border-bottom-width&amp;#039;, &amp;#039;1px&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function renderRound(rows, count, r)&lt;br /&gt;
	local teams = math.pow(2, rounds - r + 1)&lt;br /&gt;
	local step = count / teams&lt;br /&gt;
	local topTeam = true -- is top row in match-up&lt;br /&gt;
	local topPair = true -- is top match-up in pair of match-ups&lt;br /&gt;
	local team = 1&lt;br /&gt;
	for i = 1, count, step do&lt;br /&gt;
		local offset, height, blank&lt;br /&gt;
		-- leave room for groups for teams other than first and last&lt;br /&gt;
		if team == 1 or team == teams then&lt;br /&gt;
			offset = topTeam and i or i + 2&lt;br /&gt;
			height = step - 2&lt;br /&gt;
		else&lt;br /&gt;
			offset = topTeam and i + 1 or i + 2&lt;br /&gt;
			height = step - 3&lt;br /&gt;
		end&lt;br /&gt;
		if height &amp;gt; 0 then&lt;br /&gt;
			blank = addBlank(rows[offset])&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, hideSeeds and &amp;#039;4&amp;#039; or &amp;#039;5&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;rowspan&amp;#039;, height)&lt;br /&gt;
				:css(&amp;#039;border-color&amp;#039;, &amp;#039;black&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;border-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		-- add bracket&lt;br /&gt;
		local j = topTeam and i + step - 2 or i&lt;br /&gt;
		-- add left path&lt;br /&gt;
		addPath(rows, j, r, topTeam, true)&lt;br /&gt;
		renderTeam(rows[j], r, team, topTeam, false)&lt;br /&gt;
		local rightPath = addPath(rows, j, r, topTeam, false)&lt;br /&gt;
		if not topTeam then topPair = not topPair end&lt;br /&gt;
		if not topPair and r &amp;lt; rounds then&lt;br /&gt;
			if blank then blank:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;2px&amp;#039;) end&lt;br /&gt;
			rightPath:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;2px&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		team = team + 1&lt;br /&gt;
		topTeam = not topTeam&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function renderCompactRound(rows, count, r)&lt;br /&gt;
	local teams = math.pow(2, rounds - r + 1)&lt;br /&gt;
	local step = count / teams&lt;br /&gt;
	local topTeam = true -- is top row in match-up&lt;br /&gt;
	local topPair = true -- is top match-up in pair of match-ups&lt;br /&gt;
	local team = 1&lt;br /&gt;
&lt;br /&gt;
	for i = 1, count, step do&lt;br /&gt;
		local offset, height, blank&lt;br /&gt;
		-- empty space above or below&lt;br /&gt;
		local offset = topTeam and i or i + 1&lt;br /&gt;
		local height = step - 1&lt;br /&gt;
&lt;br /&gt;
		if height &amp;gt; 0 then&lt;br /&gt;
			blank = addBlank(rows[offset])&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, hideSeeds and &amp;#039;4&amp;#039; or &amp;#039;5&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;border-color&amp;#039;, &amp;#039;black&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;border-width&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;rowspan&amp;#039;, height)&lt;br /&gt;
		end&lt;br /&gt;
		-- add bracket&lt;br /&gt;
		local j = topTeam and i + step - 1 or i&lt;br /&gt;
		-- add left path&lt;br /&gt;
		addCompactPath(rows, j, r, topTeam, true)&lt;br /&gt;
		renderTeam(rows[j], r, team, topTeam, true)&lt;br /&gt;
		local rightPath = addCompactPath(rows, j, r, topTeam, false)&lt;br /&gt;
		if not topTeam then topPair = not topPair end&lt;br /&gt;
		if not topPair and r &amp;lt; rounds then&lt;br /&gt;
			if blank then blank:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;2px&amp;#039;) end&lt;br /&gt;
			rightPath:css(&amp;#039;border-right-width&amp;#039;, &amp;#039;2px&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		team = team + 1&lt;br /&gt;
		topTeam = not topTeam&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function renderGroups(rows, count, round)&lt;br /&gt;
	local roundFromLast = rounds - round + 1&lt;br /&gt;
	local groups = math.pow(2, roundFromLast - 2)&lt;br /&gt;
	local step = count / groups&lt;br /&gt;
	local group = 1&lt;br /&gt;
	for i = step / 2, count, step do&lt;br /&gt;
		local name = &amp;#039;RD&amp;#039; .. round .. &amp;#039;-group&amp;#039; .. group&lt;br /&gt;
		addBlank(rows[i]):css(&amp;#039;height&amp;#039;, &amp;#039;7px&amp;#039;)&lt;br /&gt;
		addBlank(rows[i + 1]):css(&amp;#039;height&amp;#039;, &amp;#039;7px&amp;#039;)&lt;br /&gt;
		addBlank(rows[i])&lt;br /&gt;
			:attr(&amp;#039;rowspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, (hideSeeds and 4 or 5) * round - 1)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-color&amp;#039;, &amp;#039;black&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-style&amp;#039;, &amp;#039;solid&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border-width&amp;#039;, &amp;#039;0 2px 0 0&amp;#039;)&lt;br /&gt;
			:wikitext(args[name])&lt;br /&gt;
			:newline()&lt;br /&gt;
		group = group + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function renderTree(tbl, compact)&lt;br /&gt;
	-- create 3 or 1 rows for every team&lt;br /&gt;
	local count = math.pow(2, rounds) * (compact and 1 or 3)&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	for i = 1, count do&lt;br /&gt;
		rows[i] = addTableRow(tbl)&lt;br /&gt;
	end&lt;br /&gt;
	if not compact then&lt;br /&gt;
		-- fill rows with groups&lt;br /&gt;
		for r = 1, rounds - 1 do&lt;br /&gt;
			renderGroups(rows, count, r)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- fill rows with bracket&lt;br /&gt;
	for r = 1, rounds do&lt;br /&gt;
		if compact then&lt;br /&gt;
			renderCompactRound(rows, count, r)&lt;br /&gt;
		else&lt;br /&gt;
			renderRound(rows, count, r)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function renderHeading(tbl, compact)&lt;br /&gt;
	local titleRow = addTableRow(tbl)&lt;br /&gt;
	local widthRow = addTableRow(tbl)&lt;br /&gt;
	for r = 1, rounds do&lt;br /&gt;
		addBlank(titleRow)&lt;br /&gt;
		addBlank(widthRow, r &amp;gt; 1 and &amp;#039;5px&amp;#039; or nil)&lt;br /&gt;
		titleRow:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, hideSeeds and &amp;#039;2&amp;#039; or &amp;#039;3&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;border&amp;#039;, &amp;#039;1px solid #aaa&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;background-color&amp;#039;, &amp;#039;#f2f2f2&amp;#039;)&lt;br /&gt;
			:wikitext(getRoundName(r))&lt;br /&gt;
			:newline()&lt;br /&gt;
		local seedCell&lt;br /&gt;
		if not hideSeeds then&lt;br /&gt;
			seedCell = addBlank(widthRow, getWidth(&amp;#039;seed&amp;#039;, &amp;#039;25px&amp;#039;))&lt;br /&gt;
		end&lt;br /&gt;
		local teamCell = addBlank(widthRow, getWidth(&amp;#039;team&amp;#039;, &amp;#039;150px&amp;#039;))&lt;br /&gt;
		local scoreCell = addBlank(widthRow, getWidth(&amp;#039;score&amp;#039;, &amp;#039;25px&amp;#039;))&lt;br /&gt;
		addBlank(titleRow)&lt;br /&gt;
		addBlank(widthRow, r &amp;lt; rounds and &amp;#039;5px&amp;#039; or nil)&lt;br /&gt;
&lt;br /&gt;
		if compact then&lt;br /&gt;
			teamCell:css(&amp;#039;height&amp;#039;, &amp;#039;7px&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			if seedCell then&lt;br /&gt;
				seedCell:wikitext(&amp;#039;&amp;amp;nbsp;&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
			teamCell:wikitext(&amp;#039;&amp;amp;nbsp;&amp;#039;)&lt;br /&gt;
			scoreCell:wikitext(&amp;#039;&amp;amp;nbsp;&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.teamBracket(frame)&lt;br /&gt;
	local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	args = getArgs(frame, {trim = false, removeBlanks = false})&lt;br /&gt;
&lt;br /&gt;
	-- exit early if this section is not to be transcluded&lt;br /&gt;
	if args[&amp;#039;section&amp;#039;] and args[&amp;#039;transcludesection&amp;#039;] &lt;br /&gt;
		and args[&amp;#039;section&amp;#039;] ~= args[&amp;#039;transcludesection&amp;#039;] then return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	rounds = tonumber(args.rounds) or 2&lt;br /&gt;
	local teams = math.pow(2, rounds)&lt;br /&gt;
	padding = &amp;#039;%0&amp;#039; .. (teams &amp;lt; 10 and 1 or 2) .. &amp;#039;d&amp;#039;&lt;br /&gt;
	local compact = (args[&amp;#039;compact&amp;#039;] and (args[&amp;#039;compact&amp;#039;] == &amp;#039;yes&amp;#039; or args[&amp;#039;compact&amp;#039;] == &amp;#039;y&amp;#039;))&lt;br /&gt;
	local autoSeeds = (args[&amp;#039;autoseeds&amp;#039;] and (args[&amp;#039;autoseeds&amp;#039;] == &amp;#039;yes&amp;#039; or args[&amp;#039;autoseeds&amp;#039;] == &amp;#039;y&amp;#039;))&lt;br /&gt;
	hideSeeds = (args[&amp;#039;seeds&amp;#039;] and (args[&amp;#039;seeds&amp;#039;] == &amp;#039;no&amp;#039; or args[&amp;#039;seeds&amp;#039;] == &amp;#039;n&amp;#039;))&lt;br /&gt;
	showSeeds = (args[&amp;#039;seeds&amp;#039;] and (args[&amp;#039;seeds&amp;#039;] == &amp;#039;yes&amp;#039; or args[&amp;#039;seeds&amp;#039;] == &amp;#039;y&amp;#039;))&lt;br /&gt;
&lt;br /&gt;
	if autoSeeds then&lt;br /&gt;
		-- set default seeds for round 1&lt;br /&gt;
		local seeds = getSeeds()&lt;br /&gt;
		for i = 1, table.getn(seeds) do&lt;br /&gt;
			local argname = getTeamArgName(1, &amp;#039;seed&amp;#039;, i)&lt;br /&gt;
			if not args[argname] then&lt;br /&gt;
				args[argname] = seeds[i]&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local tbl = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-style&amp;#039;, &amp;#039;none&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;font-size&amp;#039;, &amp;#039;90%&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;margin&amp;#039;, &amp;#039;1em 2em 1em 1em&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-collapse&amp;#039;, &amp;#039;separate&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;border-spacing&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if (args[&amp;#039;nowrap&amp;#039;] and (args[&amp;#039;nowrap&amp;#039;] == &amp;#039;yes&amp;#039; or args[&amp;#039;nowrap&amp;#039;] == &amp;#039;y&amp;#039;)) then&lt;br /&gt;
		tbl:css(&amp;#039;white-space&amp;#039;, &amp;#039;nowrap&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if compact then&lt;br /&gt;
		tbl:css(&amp;#039;font-size&amp;#039;, &amp;#039;90%&amp;#039;):attr(&amp;#039;cellpadding&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	renderHeading(tbl, compact)&lt;br /&gt;
	renderTree(tbl, compact)&lt;br /&gt;
	return tostring(tbl) .. tracking&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;Frietjes</name></author>
	</entry>
</feed>