-- [SublimeLinter luacheck-globals:mw]

local p = {}
local getBuffer, print = require("Module:OutputBuffer")()

local STYLES = {
	["singlesdoubles"] = {[=[|-
| [[{prefix} {year} {tournament} – Singles|Singles]]
| [[{prefix} {year} {tournamentd} – Doubles|Doubles]]]=]},
		["1"] = "singlesdoubles",
		["men"] = "singlesdoubles",
		["mens"] = "singlesdoubles",
		["women"] = "singlesdoubles",
		["womens"] = "singlesdoubles",
	["singles"] = {[=[|-
| [[{prefix} {year} {tournament} – Singles|Singles]]]=]},
	["doubles"] = {[=[|-
| [[{prefix} {year} {tournamentd} – Doubles|Doubles]]]=]},
	["menswomenssingles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]]=]},
	["menswomensdoubles"] = {[=[|-
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]]=]},
	["menssinglesdoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]]=]},
	["boysgirlssingles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
| [[{prefix} {year} {tournament} – Boys' singles|boys]]
| [[{prefix} {year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]]=]},
		["miamimasters"] = "boysgirlssingles",
	["mixeddoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]
| [[{prefix} {year} {tournament} – Mixed doubles|mixed]]]=]},
	["mixednowomensdoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
|
| [[{prefix} {year} {tournament} – Mixed doubles|mixed]]]=]},
		["mixed"] = "mixeddoubles",
	["grandslam"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]]=]},
	["grandslamnomixed"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]]=]},
	["grandslamnojuniordoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
|
|
]=]},
	["grandslamwc"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]]=]},
	["juniors"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Boys' singles|boys]]
| [[{prefix} {year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Boys' doubles|boys]]
| [[{prefix} {year} {tournament} – Girls' doubles|girls]]]=]},
	["juniorsmixed"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Boys' singles|boys]]
| [[{prefix} {year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Boys' doubles|boys]]
| [[{prefix} {year} {tournament} – Girls' doubles|girls]]
| [[{prefix} {year} {tournament} – Mixed doubles|mixed]]]=]},
	["team"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Team
| [[{prefix} {year} {tournament} – Men's team|men]]
| [[{prefix} {year} {tournament} – Women's team|women]]]=]},
	["mixedandteam"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]
| [[{prefix} {year} {tournament} – Mixed doubles|mixed]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Team
| [[{prefix} {year} {tournament} – Men's team|men]]
| [[{prefix} {year} {tournament} – Women's team|women]]]=]},
	["australianopen"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Men's legends' doubles|men]]
| [[{year} {tournament} – Women's legends' doubles|women]]
| [[{year} {tournament} – Legends mixed|mixed]]
]=]},
	["frenchopen"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Legends under 45 doubles|−45]]
| [[{year} {tournament} – Legends over 45 doubles|45+]]
| [[{year} {tournament} – Women's legends doubles|women]]
]=]},
	["frenchopen2022"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Men's legends doubles|men]]
| [[{year} {tournament} – Women's legends doubles|women]]
]=]},
	["frenchopen2023"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Men's legends doubles|men]]
| [[{year} {tournament} – Women's legends doubles|women]]
| [[{year} {tournament} – Mixed legends doubles|mixed]]
]=]},
	["wimbledonchampionships"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Gentlemen's invitation doubles|men]]
| [[{year} {tournament} – Ladies' invitation doubles|women]]
| [[{year} {tournament} – Senior gentlemen's invitation doubles|seniors]]
]=]},
	["wimbledon2022"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Gentlemen's invitation doubles|men]]
| [[{year} {tournament} – Ladies' invitation doubles|women]]
| [[{year} {tournament} – Mixed invitation doubles|mixed]]
|-
! scope="row" style="font-weight: normal; text-align: right; white-space:nowrap;" | 14&U Singles
| [[{year} {tournament} - Boys' 14&U singles|boys]]
| [[{year} {tournament} - Girls' 14&U singles|girls]]
]=]},
	["usopen"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles|men]]
| [[{year} {tournament} – Women's singles|women]]
|
| [[{year} {tournament} – Boys' singles|boys]]
| [[{year} {tournament} – Girls' singles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles|men]]
| [[{year} {tournament} – Women's doubles|women]]
| [[{year} {tournament} – Mixed doubles|mixed]]
| [[{year} {tournament} – Boys' doubles|boys]]
| [[{year} {tournament} – Girls' doubles|girls]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Singles
| [[{year} {tournament} – Wheelchair men's singles|men]]
| [[{year} {tournament} – Wheelchair women's singles|women]]
| [[{year} {tournament} – Wheelchair quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | WC Doubles
| [[{year} {tournament} – Wheelchair men's doubles|men]]
| [[{year} {tournament} – Wheelchair women's doubles|women]]
| [[{year} {tournament} – Wheelchair quad doubles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Legends
| [[{year} {tournament} – Men's champions invitational|men]]
| [[{year} {tournament} – Women's champions invitational|women]]
| [[{year} {tournament} – Mixed champions invitational|mixed]]
]=]},
	["abnamroworldtennistournament"] = {[=[|-
| [[{prefix} {year} {tournament} – Singles|singles]]
| [[{prefix} {year} {tournamentd} – Doubles|doubles]]
|-
| [[{prefix} {year} {tournament} – Wheelchair singles|wheelchair singles]]
| [[{prefix} {year} {tournamentd} – Wheelchair doubles|wheelchair doubles]]]=]},
	["queensclubtennistournament"] = {[=[|-
| [[{prefix} {year} {tournament} – Singles|Singles]]
| [[{prefix} {year} {tournamentd} – Doubles|Doubles]]
|-
| [[{prefix} {year} {tournament} – Wheelchair singles|WC Singles]]
| [[{prefix} {year} {tournamentd} – Wheelchair doubles|WC Doubles]]]=]},
	["doublestwotourneys"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Singles|men]]
| [[{prefix} {year} {tournamentd} – Singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Doubles|men]]
| [[{prefix} {year} {tournamentd} – Doubles|women]]]=]},
	[""] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]]=]},
	["nowomensdoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]]=]},
	["quad"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
| [[{prefix} {year} {tournament} – Quad singles|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]
| [[{prefix} {year} {tournament} – Quad doubles|quad]]]=]},
	["singlesquad"] = {[=[|-
| [[{prefix} {year} {tournament} – Men's singles|men]]
| [[{prefix} {year} {tournament} – Women's singles|women]]
| [[{prefix} {year} {tournament} – Quad singles|quad]]]=]},
	["doublesquad"] = {[=[|-
| [[{prefix} {year} {tournament} – Men's doubles|men]]
| [[{prefix} {year} {tournament} – Women's doubles|women]]
| [[{prefix} {year} {tournament} – Quad doubles|quad]]]=]},
	["qual"] = {[=[|-
| [[{prefix} {year} {tournament} – Qualification|Qualification]]]=]},
	["qualsingles"] = {[=[|-
| [[{prefix} {year} {tournament} – Singles qualifying|Singles]]]=]},
	["qualsinglesdoubles"] = {[=[|-
| [[{prefix} {year} {tournament} – Singles qualifying|Singles]]
| [[{prefix} {year} {tournamentd} – Doubles qualifying|Doubles]]]=]},
	["qualmenswomenssingles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's singles qualifying|men]]
| [[{prefix} {year} {tournament} – Women's singles qualifying|women]]]=]},
	["qualgrandslam"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles qualifying|men]]
| [[{year} {tournament} – Women's singles qualifying|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles qualifying|men]]
| [[{year} {tournament} – Women's doubles qualifying|women]]]=]},
	["qualmixed"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{year} {tournament} – Men's singles qualifying|men]]
| [[{year} {tournament} – Women's singles qualifying|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{year} {tournament} – Men's doubles qualifying|men]]
| [[{year} {tournament} – Women's doubles qualifying|women]]
| [[{year} {tournament} – Mixed doubles qualifying|mixed]]]=]},
	["olympics1908"] = {[=[|-
! scope="row" style="font-weight: bold; text-align: center;" colspan="3"| Outdoor
|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's outdoor singles|men]]
| [[{prefix} {year} {tournament} – Women's outdoor singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's outdoor doubles|men]]
|
|-
! scope="row" style="font-weight: bold; text-align: center;" colspan="3"| Indoor
|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's indoor singles|men]]
| [[{prefix} {year} {tournament} – Women's indoor singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's indoor doubles|men]]]=]},
	["olympics1912"] = {[=[|-
! scope="row" style="font-weight: bold; text-align: center;" colspan="4"| Outdoor
|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's outdoor singles|men]]
| [[{prefix} {year} {tournament} – Women's outdoor singles|women]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's outdoor doubles|men]]
|
| [[{prefix} {year} {tournament} – Mixed outdoor doubles|mixed]]
|-
! scope="row" style="font-weight: bold; text-align: center;" colspan="4"| Indoor
|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Men's indoor singles|men]]
| [[{prefix} {year} {tournament} – Women's indoor singles|women]]
|
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Men's indoor doubles|men]]
|
| [[{prefix} {year} {tournament} – Mixed indoor doubles|mixed]]]=]},
		["olympics1968"] = {[=[|-
! scope="row" style="font-weight: bold; text-align: center;" colspan="4"| Demonstration
|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Demonstration men's singles|men]]
| [[{prefix} {year} {tournament} – Demonstration women's singles|women]]
|
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Demonstration men's doubles|men]]
| [[{prefix} {year} {tournament} – Demonstration women's doubles|women]]
| [[{prefix} {year} {tournament} – Demonstration mixed doubles|mixed]]
|-
! scope="row" style="font-weight: bold; text-align: center;" colspan="4"| Exhibition
|-
! scope="row" style="font-weight: normal; text-align: right;" | Singles
| [[{prefix} {year} {tournament} – Exhibition men's singles|men]]
| [[{prefix} {year} {tournament} – Exhibition women's singles|women]]
|
|-
! scope="row" style="font-weight: normal; text-align: right;" | Doubles
| [[{prefix} {year} {tournament} – Exhibition men's doubles|men]]
| [[{prefix} {year} {tournament} – Exhibition women's doubles|women]]
| [[{prefix} {year} {tournament} – Exhibition mixed doubles|mixed]]]=]}}

local function pullItem(value, default)
	value = value and string.lower(string.gsub(value, "%W", ""))
	if type(STYLES[value]) == "string" then
		value = STYLES[value]
	end
	if STYLES[value] then
		return STYLES[value][1]
	else
		return STYLES[default][1]
	end
end

function p._main(args)
	local default = ""
	if args[2] ~= args[3] then
		default = "doublestwotourneys"
	end

	print('{| style="border-spacing: 0.6em 0; margin: auto; ' ..
		  'text-align: center;"')
	local draws = (string.gsub(pullItem(args.type, default), "{(%w+)}",
		{prefix = args.prefix or "", year = args[1], tournament = args[2],
		 tournamentd = args[3]}))
	print (draws)
	print("|}")
	return getBuffer("\n")
end

function p.main(frame)
	local args = require("Module:Arguments").getArgs(frame)
	return p._main(args)
end

return p