--[==[ To inspect the content of this data module, use Special:ExpandTemplates and enter the following input text:     To inspect the content of this data module when editing, enter the following into the Debug console:   local util = require("Module:Road data/util")   print(util.arrayToString(p)) ]==]  --Missouri local MO = require("Module:Road data/strings/USA")  local util = require("Module:Road data/util") local format = mw.ustring.format  local suffix = " ([dab||%dab%, |]Missouri)"  MO.I.link = { 	["72"] = "Interstate 72", 	["155"] = "Interstate 155 (Missouri–Tennessee)", 	["170"] = "Interstate 170", 	["244"] = "Interstate 270 (Missouri–Illinois)", 	["255"] = "Interstate 255", 	["270"] = "Interstate 270 (Missouri–Illinois)", 	["435"] = "Interstate 435", 	["635"] = "Interstate 635 (Kansas–Missouri)", 	["670"] = "Interstate 670 (Kansas–Missouri)", 	default = { 		hook = "split", 		split = 100, 		above = "Interstate %route% (Missouri)", 		below = "Interstate %route% in Missouri" 	} }  for k, v in pairs(MO) do if k:find ("^I") then  	v.link = MO.I.link 	end end 			 MO.BL.link = "Interstate %route% Business" .. suffix  for k, v in pairs(MO) do if k:find ("^B%a") then  	v.link = MO.BL.link 	end end MO["I-Bus"] = MO.BL  MO.US.link = "U.S. Route %route% in Missouri"  for k, v in pairs(MO) do if k:find ("^US %d") then  	v.name = MO.US.name 	v.link = MO.US.link 	end end  MO["US 1978"] = { 	shield = { 		hook = "splitlen", 		split = 3, 		above = "US %route% square.svg", 		below = "US %route%.svg" 	}, 	base = MO.US.base, 	name = MO.US.name, 	link = MO.US.link, 	abbr = MO.US.abbr, 	width = "square", }  for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do 	local spec = MO[" aux "][auxType] 		for k, v in pairs(MO) do if k:find (auxType) then if k:find ("^US") then 			v.link = MO.US.base .. " " .. spec.name .. " ([dab||%dab%, |]Missouri)" 			end 		end 	end end  for _,year in ipairs({'1926', '1948', '1961'}) do 	for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do 		local type = "US " .. year 		local spec = MO[" aux "][auxType] 		MO[type .. "-" .. auxType] = { 			shield = MO[type].shield, 			shieldmain = MO[type].shieldmain, 			name = MO[type].name .. " " .. spec.name, 			link = MO[type].base .. " " .. spec.name .. suffix, 			abbr = MO[type].abbr .. " " .. spec.abbrsuffix, 			banner = spec.bannerprefix .. " plate " .. year .. ".svg", 			aux = spec.aux, 			width = MO[type].width 		} 	end end MO["US 1926-City"].shield = "US %route% City 1926.svg" MO["US 1926-City"].shieldmain = "US %route% City 1926.svg" MO["US 1926-City"].banner = ""  MO["US-Bus-Alt"] = { 	shield = MO.US.shield, 	name = MO["US-Bus"].name .. " Alternate", 	link = "U.S. Route %route% Business Alternate ([dab||%dab%, |]Missouri)", 	abbr = MO["US-Bus"].abbr .. " Alt.", 	banner = "Alternate business plate.svg", 	aux = MO[" aux "].Alt, 	width = "expand" }  MO["US-Hist"].link = MO.US.link  MO.Route = { 	base = "Missouri Route %route%", 	shield = "MO-%route%.svg", 	name = "Route %route%", 	link = "Missouri Route %route% [dab||(%dab%)|]", 	abbr = "Route %route%", 	width = "expand" }  MO.MO = MO.Route  for _,type in ipairs({"Route", "MO"}) do 	for _,year in ipairs({"1922", "1926", "1948", "1960"}) do 		MO[type .. " " .. year] = { 			shield = format("MO-%%route%% (%s).svg", year), 			name = MO.Route.name, 			link = MO.Route.link, 			abbr = MO.Route.abbr, 			width = "square", 		} 	end end  MO["Route 1960"].shield = MO.Route.shield --until squares are made MO["MO 1960"] = MO["Route 1960"]  for _,type in ipairs({"Route", "MO"}) do 	for _,auxType in ipairs({"Alt", "Bus", "Spur", "Temp",}) do 		local spec = MO[" aux "][auxType] 		MO[type .. "-" .. auxType] = { 			shield = MO[type].shield, 			name = MO[type].name .. " " .. spec.name, 			link = MO[type].base .. " " .. spec.name .. MO[" dab "], 			abbr = MO[type].abbr .. " " .. spec.abbrsuffix, 			banner = spec.bannerprefix .. " plate.svg", 			aux = spec.aux, 			width = "expand" 		} 	end end MO.Bus = MO["Route-Bus"] MO.Spur = MO["Route-Spur"]  MO.Supp = { 	shield = "MO-supp-%route%.svg", 	name = MO.Route.name, 	link = { 		ifexists = true, 		default = "Missouri Route %route% (%county% County)" 	}, 	abbr = MO.Route.abbr, 	width = "MOSupp" }  MO.AOTS = { 	shield = { 		arg = "route", 		["27"] = "MO-27.svg", 		["61"] = "US 61.svg" 	}, 	link = { 		arg = "route", 		["27"] = "Avenue of the Saints", 		["61"] = "U.S. Route 61 in Missouri" 	}, 	abbr = { 		arg = "route", 		["27"] = "Route 27", 		["61"] = "US 61" 	}, 	banner = "Avenue of the Saints banner.svg", 	width = "square" } MO["US-AOTS"] = MO.AOTS  MO.CKC = { 	shield = "MO-110.svg", 	name = "Chicago–Kansas City Expressway", 	link = "Chicago–Kansas City Expressway", 	abbr = "Route 110 (CKC)", 	banner = "Chicago-Kansas City Expressway plate.svg", 	width = "wide" }  -- add new types above this line if you want it to have the state highway browse and maint for k, v in pairs(MO) do if k:find ("^%a") then 	v.maint = "MoDOT" 	v.browse = "Missouri State Highway System" 	v.browselinks = { 		[1] = "Interstate", 		[2] = "US", 		[3] = "State", 		[4] = "Supplemental" 		} 	end end  MO.Branson = { 	shield = "Branson %route% Route.svg", 	name = "%route% Route", 	link = "", 	abbr = "%route% Route", 	maint = "", 	bannersuffix = "green" }  MO.CR.link = { 	ifexists = true, 	default = "County Road %route% (%county% County, Missouri)", 	otherwise = "" } MO.CR.maint = ""  MO.SRCR = { 	shield = MO.Route.shield, 	shieldmain = {MO.Route.shield, MO.CR.shieldmain}, 	name = MO.Route.name, 	link = MO.Route.link, 	abbr = MO.Route.abbr, 	maint = "" }  MO.AR = {alias = {module = "USA/AR", type = "AR"}} MO.IL = {alias = {module = "USA/IL", type = "IL"}} MO.IA = {alias = {module = "USA/IA", type = "IA"}} MO.KS = {alias = {module = "USA/KS", type = "K"}} MO.KY = {alias = {module = "USA/KY", type = "KY"}} MO.OK = {alias = {module = "USA/OK", type = "OK"}} MO.TN = {alias = {module = "USA/TN", type = "SR"}} MO["TN-Sec"] = {alias = {module = "USA/TN", type = "Sec"}}  MO.list = { 	shield = "", 	link  = { 		hook = "padroute", 		paddedLength = 4, 		default = "#MO%paddedRoute%" 	}, 	abbr = MO.Route.abbr }  return MO