<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FPhoenix7777%2FCOVID-19_data</id>
	<title>Module:Sandbox/Phoenix7777/COVID-19 data - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FPhoenix7777%2FCOVID-19_data"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Phoenix7777/COVID-19_data&amp;action=history"/>
	<updated>2026-05-28T21:48:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Phoenix7777/COVID-19_data&amp;diff=145982&amp;oldid=prev</id>
		<title>imported&gt;Phoenix7777: remove vac2</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Phoenix7777/COVID-19_data&amp;diff=145982&amp;oldid=prev"/>
		<updated>2021-09-05T23:41:16Z</updated>

		<summary type="html">&lt;p&gt;remove vac2&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local data_title = mw.title.new(&lt;br /&gt;
	&amp;#039;Template:COVID-19 data/data&amp;#039;&lt;br /&gt;
)&lt;br /&gt;
local data_content = data_title:getContent()&lt;br /&gt;
local data = mw.text.jsonDecode(data_content)&lt;br /&gt;
&lt;br /&gt;
function format_num(number)&lt;br /&gt;
	if not number then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local _, _, minus, int, _ = tostring(number):find(&amp;#039;([-]?)(%d+)([.]?%d*)&amp;#039;)&lt;br /&gt;
	int = int:reverse():gsub(&amp;quot;(%d%d%d)&amp;quot;, &amp;quot;%1,&amp;quot;)&lt;br /&gt;
	int = int:reverse():gsub(&amp;quot;^,&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	int = minus .. int&lt;br /&gt;
	return int&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main()&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	local data_s = {}&lt;br /&gt;
	-- Build new table&lt;br /&gt;
	local locations = {}&lt;br /&gt;
	if mw.getCurrentFrame().args[&amp;#039;locations&amp;#039;] then&lt;br /&gt;
		for location in string.gmatch(&lt;br /&gt;
			mw.getCurrentFrame().args[&amp;#039;locations&amp;#039;],&lt;br /&gt;
			&amp;#039;([^,]+)&amp;#039;&lt;br /&gt;
		) do&lt;br /&gt;
			locations[location] = true&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		locations = nil&lt;br /&gt;
	end&lt;br /&gt;
	for key, value in pairs(data) do&lt;br /&gt;
		local index&lt;br /&gt;
		if value.cases then index = value.cases&lt;br /&gt;
		elseif value.deaths then index = value.deaths&lt;br /&gt;
		elseif value.vaccine_doses then index = value.vaccine_doses&lt;br /&gt;
		elseif value.total_vaccinated then index = value.total_vaccinated&lt;br /&gt;
		elseif value.fully_vaccinated then index = value.fully_vaccinated&lt;br /&gt;
		else index = 0&lt;br /&gt;
		end&lt;br /&gt;
		if (not locations) or locations[key] then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = index&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Sort the new table&lt;br /&gt;
	table.sort(&lt;br /&gt;
		data_s,&lt;br /&gt;
		function(x, y)&lt;br /&gt;
			return (x.index &amp;gt; y.index)&lt;br /&gt;
		end&lt;br /&gt;
	)&lt;br /&gt;
	-- Generate wikitext content&lt;br /&gt;
	for _, row in ipairs(data_s) do&lt;br /&gt;
		out = out .. &amp;#039;\n|-\n&amp;#039;&lt;br /&gt;
		-- Add the flag&lt;br /&gt;
		if row.name == &amp;#039;World&amp;#039; then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;| [[File:Emojione 1F310.svg|15px|alt=|link=]]&amp;#039; ..&lt;br /&gt;
				&amp;#039;|| [[COVID-19 pandemic|World]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			flag_params = {row.name}&lt;br /&gt;
			-- So that it&amp;#039;s not too large&lt;br /&gt;
			if row.name == &amp;#039;New Caledonia&amp;#039; then&lt;br /&gt;
				flag_params[2] = &amp;#039;merged&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			out = out .. &amp;#039;|&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Flagicon&amp;#039;,&lt;br /&gt;
					args = flag_params&lt;br /&gt;
				} ..&lt;br /&gt;
				&amp;#039;|| [[COVID-19 pandemic in &amp;#039; .. row.name ..&lt;br /&gt;
				&amp;#039;|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		-- Add notes&lt;br /&gt;
		if row.note then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {row.note}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		-- Add columns&lt;br /&gt;
		if not (&lt;br /&gt;
			row.cases or&lt;br /&gt;
			row.deaths or&lt;br /&gt;
			row.recoveries or&lt;br /&gt;
			row.total_vaccinated or&lt;br /&gt;
			row.vaccine_doses or&lt;br /&gt;
			row.fully_vaccinated&lt;br /&gt;
		) then&lt;br /&gt;
			out = out .. &amp;#039;|| style=&amp;quot;background: #ababab;&amp;quot; colspan=6 &amp;#039; ..&lt;br /&gt;
				&amp;#039;| \&amp;#039;\&amp;#039;No data\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			-- Get columns&lt;br /&gt;
			local columns = {&lt;br /&gt;
				cases = false,&lt;br /&gt;
				deaths = false,&lt;br /&gt;
				recoveries = false,&lt;br /&gt;
				total_vaccinated = false,&lt;br /&gt;
				vaccine_doses = false,&lt;br /&gt;
				fully_vaccinated = false&lt;br /&gt;
			}&lt;br /&gt;
			local columns_index = {&lt;br /&gt;
				&amp;#039;cases&amp;#039;,&lt;br /&gt;
				&amp;#039;deaths&amp;#039;,&lt;br /&gt;
				&amp;#039;recoveries&amp;#039;,&lt;br /&gt;
				&amp;#039;total_vaccinated&amp;#039;,&lt;br /&gt;
				&amp;#039;vaccine_doses&amp;#039;,&lt;br /&gt;
				&amp;#039;fully_vaccinated&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
			if mw.getCurrentFrame().args[&amp;#039;columns&amp;#039;] then&lt;br /&gt;
				columns_index = {}&lt;br /&gt;
				for column in string.gmatch(&lt;br /&gt;
					mw.getCurrentFrame().args[&amp;#039;columns&amp;#039;],&lt;br /&gt;
					&amp;#039;([^,]+)&amp;#039;&lt;br /&gt;
				) do&lt;br /&gt;
					columns[column] = true&lt;br /&gt;
					columns_index[#columns_index+1] = column&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				columns = {&lt;br /&gt;
					cases = true,&lt;br /&gt;
					deaths = true,&lt;br /&gt;
					recoveries = true,&lt;br /&gt;
					total_vaccinated = true,&lt;br /&gt;
					vaccine_doses = true,&lt;br /&gt;
					fully_vaccinated = true&lt;br /&gt;
				}&lt;br /&gt;
			end&lt;br /&gt;
			-- Fill out columns&lt;br /&gt;
			for _, column in ipairs(columns_index) do&lt;br /&gt;
				if columns[column] then&lt;br /&gt;
					if row[column] then&lt;br /&gt;
						out = out .. &amp;#039;|| data-sort-value=&amp;#039; ..&lt;br /&gt;
							tostring(row[column]) ..&lt;br /&gt;
							&amp;#039;|&amp;#039; .. format_num(row[column])&lt;br /&gt;
					else&lt;br /&gt;
						out = out ..&lt;br /&gt;
							&amp;#039;|| style=&amp;quot;background: #cccccc;&amp;quot;&amp;#039; ..&lt;br /&gt;
							&amp;#039; data-sort-value=0 | \&amp;#039;\&amp;#039;Unknown\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	out = out .. &amp;#039;\n|- class=&amp;quot;sortbottom&amp;quot;\n| colspan=8 |&amp;#039; ..&lt;br /&gt;
			mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
				title = &amp;#039;Notelist&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.pan()&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	local data_s = {}&lt;br /&gt;
	-- Build new table&lt;br /&gt;
	local locations = {}&lt;br /&gt;
	if mw.getCurrentFrame().args[&amp;#039;locations&amp;#039;] then&lt;br /&gt;
		for location in string.gmatch(&lt;br /&gt;
			mw.getCurrentFrame().args[&amp;#039;locations&amp;#039;],&lt;br /&gt;
			&amp;#039;([^,]+)&amp;#039;&lt;br /&gt;
		) do&lt;br /&gt;
			locations[location] = true&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		locations = nil&lt;br /&gt;
	end&lt;br /&gt;
	for key, value in pairs(data) do&lt;br /&gt;
		local index&lt;br /&gt;
		if value.cases then index = value.cases&lt;br /&gt;
		elseif value.deaths then index = value.deaths&lt;br /&gt;
		else index = 0&lt;br /&gt;
		end&lt;br /&gt;
		if (not locations) or locations[key] then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = index&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Sort the new table&lt;br /&gt;
	table.sort(&lt;br /&gt;
		data_s,&lt;br /&gt;
		function(x, y)&lt;br /&gt;
			return (x.index &amp;gt; y.index)&lt;br /&gt;
		end&lt;br /&gt;
	)&lt;br /&gt;
	-- Generate wikitext content&lt;br /&gt;
	for _, row in ipairs(data_s) do&lt;br /&gt;
		out = out .. &amp;#039;\n|-\n&amp;#039;&lt;br /&gt;
		-- Add the flag&lt;br /&gt;
		if row.name == &amp;#039;World&amp;#039; then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;| [[File:Emojione 1F310.svg|15px|alt=|link=]]&amp;#039; ..&lt;br /&gt;
				&amp;#039;||style=&amp;quot;text-align:left;&amp;quot;| [[COVID-19 pandemic|World]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			flag_params = {row.name}&lt;br /&gt;
			-- So that it&amp;#039;s not too large&lt;br /&gt;
			if row.name == &amp;#039;New Caledonia&amp;#039; then&lt;br /&gt;
				flag_params[2] = &amp;#039;merged&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			out = out .. &amp;#039;|&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Flagicon&amp;#039;,&lt;br /&gt;
					args = flag_params&lt;br /&gt;
				} ..&lt;br /&gt;
				&amp;#039;|| style=&amp;quot;text-align:left;&amp;quot;| [[COVID-19 pandemic in &amp;#039; .. row.name ..&lt;br /&gt;
				&amp;#039;|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		-- Add notes&lt;br /&gt;
		if row.note then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {row.note}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Argentina&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Argentina&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Australia&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Australia&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Azerbaijan&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Azerbaijan&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Bahamas&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Bahamas&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Belgium&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Belgium&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Botswana&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Botswana&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Canada&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Canada&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Chile&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Chile&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;China&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;China&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Congo&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Congo&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Cuba&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Cuba&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Cyprus&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Cyprus&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;DR Congo&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;DR Congo&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Denmark&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Denmark&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Diamond Princess&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Diamond Princess&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Egypt&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Egypt&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Finland&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Finland&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;France&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;France&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Georgia&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Georgia&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Germany&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Germany&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Guam&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Guam&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Isle of Man&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Isle of Man&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Israel&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Israel&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Japan&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Japan&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Moldova&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Moldova&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Morocco&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Morocco&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Netherlands&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Netherlands&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Northern Cyprus&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Northern Cyprus&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Norway&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Norway&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Russia&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Russia&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Sahrawi Arab DR&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Sahrawi Arab DR&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Serbia&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Serbia&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Somalia&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Somalia&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Somaliland&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Somaliland&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;South Ossetia&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;South Ossetia&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Spain&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Spain&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Switzerland&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Switzerland&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Syria&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Syria&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Taiwan&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Taiwan&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Transnistria&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Transnistria&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Turkey&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Turkey&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;Ukraine&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;Ukraine&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;United Kingdom&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;United Kingdom&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
		if row.name == &amp;#039;United States&amp;#039; then&lt;br /&gt;
			out = out .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;Efn&amp;#039;, args = {name=&amp;#039;&amp;quot;United States&amp;quot;&amp;#039;}}&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Add columns&lt;br /&gt;
		if not (&lt;br /&gt;
			row.cases or&lt;br /&gt;
			row.deaths&lt;br /&gt;
		) then&lt;br /&gt;
			out = out .. &amp;#039;|| style=&amp;quot;background: #ababab;&amp;quot; colspan=6 &amp;#039; ..&lt;br /&gt;
				&amp;#039;| \&amp;#039;\&amp;#039;No data\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			-- Get columns&lt;br /&gt;
			local columns = {&lt;br /&gt;
				cases = false,&lt;br /&gt;
				deaths = false&lt;br /&gt;
			}&lt;br /&gt;
			local columns_index = {&lt;br /&gt;
				&amp;#039;cases&amp;#039;,&lt;br /&gt;
				&amp;#039;deaths&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
			if mw.getCurrentFrame().args[&amp;#039;columns&amp;#039;] then&lt;br /&gt;
				columns_index = {}&lt;br /&gt;
				for column in string.gmatch(&lt;br /&gt;
					mw.getCurrentFrame().args[&amp;#039;columns&amp;#039;],&lt;br /&gt;
					&amp;#039;([^,]+)&amp;#039;&lt;br /&gt;
				) do&lt;br /&gt;
					columns[column] = true&lt;br /&gt;
					columns_index[#columns_index+1] = column&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				columns = {&lt;br /&gt;
					cases = true,&lt;br /&gt;
					deaths = true&lt;br /&gt;
				}&lt;br /&gt;
			end&lt;br /&gt;
			-- Fill out columns&lt;br /&gt;
			for _, column in ipairs(columns_index) do&lt;br /&gt;
				if columns[column] then&lt;br /&gt;
					if row[column] then&lt;br /&gt;
						out = out .. &amp;#039;|| data-sort-value=&amp;#039; ..&lt;br /&gt;
							tostring(row[column]) ..&lt;br /&gt;
							&amp;#039;|&amp;#039; .. format_num(row[column])&lt;br /&gt;
					else&lt;br /&gt;
						out = out ..&lt;br /&gt;
							&amp;#039;|| style=&amp;quot;background: #cccccc;&amp;quot;&amp;#039; ..&lt;br /&gt;
							&amp;#039; data-sort-value=0 | \&amp;#039;\&amp;#039;Unknown\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	out = out .. &amp;#039;\n|- class=&amp;quot;sortbottom&amp;quot;\n&amp;#039;&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.vac()&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	local data_s = {}&lt;br /&gt;
	local has_country_num_doses = false&lt;br /&gt;
	local has_country_num_fully = false&lt;br /&gt;
	-- Build new table&lt;br /&gt;
	for key, value in pairs(data) do&lt;br /&gt;
		if value.total_vaccinated then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = value.total_vaccinated&lt;br /&gt;
		elseif value.vaccine_doses then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = value.vaccine_doses&lt;br /&gt;
		elseif value.fully_vaccinated then&lt;br /&gt;
			data_s[#data_s+1] = value&lt;br /&gt;
			data_s[#data_s][&amp;#039;index&amp;#039;] = value.fully_vaccinated&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Sort the new table&lt;br /&gt;
	table.sort(&lt;br /&gt;
		data_s,&lt;br /&gt;
		function(x, y)&lt;br /&gt;
			return (x.index &amp;gt; y.index)&lt;br /&gt;
		end&lt;br /&gt;
	)&lt;br /&gt;
	-- Generate wikitext content&lt;br /&gt;
	for _, row in pairs(data_s) do&lt;br /&gt;
		-- Add the flag&lt;br /&gt;
		if row.name == &amp;#039;World&amp;#039; then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;|-\n| [[File:Emojione 1F310.svg|15px|alt=|link=]]&amp;#039; ..&lt;br /&gt;
				&amp;#039;|| style=&amp;quot;text-align:left;&amp;quot; | [[Deployment of COVID-19 vaccines|World]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			flag_params = {row.name}&lt;br /&gt;
			-- So that it&amp;#039;s not too large&lt;br /&gt;
			if row.name == &amp;#039;New Caledonia&amp;#039; then&lt;br /&gt;
				flag_params[2] = &amp;#039;merged&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;|-\n|&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Flagicon&amp;#039;,&lt;br /&gt;
					args = flag_params&lt;br /&gt;
				} ..&lt;br /&gt;
				&amp;#039;||  style=&amp;quot;text-align:left;&amp;quot; | [[COVID-19 vaccination in &amp;#039; .. row.name ..&lt;br /&gt;
				&amp;#039;|&amp;#039; .. row.name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		-- Add note&lt;br /&gt;
		if row.note_vaccination then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {row.note_vaccination}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		-- Add the number&lt;br /&gt;
		if row.total_vaccinated then&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;||&amp;#039; .. format_num(row.total_vaccinated)&lt;br /&gt;
		elseif row.vaccine_doses then&lt;br /&gt;
			has_country_num_doses = true&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;||&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
					args = {&amp;#039;darkred&amp;#039;, format_num(row.vaccine_doses)}&lt;br /&gt;
				} ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {name = &amp;#039;country_num_doses&amp;#039;}&lt;br /&gt;
				}&lt;br /&gt;
		elseif row.fully_vaccinated then&lt;br /&gt;
			has_country_num_fully = true&lt;br /&gt;
			out = out ..&lt;br /&gt;
				&amp;#039;||&amp;#039; ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
					args = {&amp;#039;darkorange&amp;#039;, format_num(row.fully_vaccinated)}&lt;br /&gt;
				} ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {name = &amp;#039;country_num_fully&amp;#039;}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		-- Add the percentage&lt;br /&gt;
		if row.percent_vaccinated then&lt;br /&gt;
			out = out .. &amp;#039;||&amp;#039; .. string.format(&amp;quot;%.1f&amp;quot;, row.percent_vaccinated) .. &amp;#039;%&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			out = out .. &amp;#039;|| style=&amp;quot;background: #cccccc;&amp;quot; | &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if mw.getCurrentFrame().args[1] ==&amp;#039;full&amp;#039; or mw.getCurrentFrame().args[1]==&amp;#039;total&amp;#039; then&lt;br /&gt;
			if row.fully_vaccinated then&lt;br /&gt;
				out = out ..&lt;br /&gt;
					&amp;#039;||&amp;#039; .. format_num(row.fully_vaccinated)&lt;br /&gt;
			else&lt;br /&gt;
				out = out .. &amp;#039;|| style=&amp;quot;background: #cccccc;&amp;quot; | &amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			if row.percent_fully_vaccinated then&lt;br /&gt;
				out = out ..&lt;br /&gt;
					&amp;#039;||&amp;#039; .. string.format(&amp;quot;%.1f&amp;quot;, row.percent_fully_vaccinated) .. &amp;#039;%&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				out = out .. &amp;#039;|| style=&amp;quot;background: #cccccc;&amp;quot; | &amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if mw.getCurrentFrame().args[1] ==&amp;#039;total&amp;#039; then&lt;br /&gt;
			if row.vaccine_doses then&lt;br /&gt;
				out = out .. &amp;#039;||&amp;#039; .. format_num(row.vaccine_doses)&lt;br /&gt;
			else&lt;br /&gt;
				out = out .. &amp;#039;|| style=&amp;quot;background: #cccccc;&amp;quot; | &amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		out = out .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if has_country_num_doses or has_country_num_fully then&lt;br /&gt;
		notelist_refs = &amp;#039;&amp;#039;&lt;br /&gt;
		if has_country_num_doses then&lt;br /&gt;
			notelist_refs = notelist_refs ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {&lt;br /&gt;
						name = &amp;#039;country_num_doses&amp;#039;,&lt;br /&gt;
						&amp;#039;This country\&amp;#039;s data are the &amp;#039; ..&lt;br /&gt;
							mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
								title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
								args = {&lt;br /&gt;
									&amp;#039;darkred&amp;#039;,&lt;br /&gt;
									&amp;#039;number of vaccine doses administered&amp;#039;&lt;br /&gt;
								}&lt;br /&gt;
							} ..&lt;br /&gt;
							&amp;#039;, not the first dose only.&amp;#039;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		if has_country_num_fully then&lt;br /&gt;
			notelist_refs = notelist_refs ..&lt;br /&gt;
				mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = &amp;#039;Efn&amp;#039;,&lt;br /&gt;
					args = {&lt;br /&gt;
						name = &amp;#039;country_num_fully&amp;#039;,&lt;br /&gt;
						&amp;#039;This country\&amp;#039;s data are the &amp;#039; ..&lt;br /&gt;
							mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
								title = &amp;#039;Font color&amp;#039;,&lt;br /&gt;
								args = {&lt;br /&gt;
									&amp;#039;darkorange&amp;#039;,&lt;br /&gt;
									&amp;#039;number of people fully vaccinated&amp;#039;&lt;br /&gt;
								}&lt;br /&gt;
							} ..&lt;br /&gt;
							&amp;#039;, not the number of people &amp;#039; ..&lt;br /&gt;
							&amp;#039;who have received at least one dose.&amp;#039;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
		end&lt;br /&gt;
		if mw.getCurrentFrame().args[1] ~= &amp;#039;full&amp;#039; and  mw.getCurrentFrame().args[1] ~= &amp;#039;total&amp;#039; then&lt;br /&gt;
			out = out .. &amp;#039;|- class=&amp;quot;sortbottom&amp;quot;\n| colspan=4 |&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if mw.getCurrentFrame().args[1] ==&amp;#039;full&amp;#039; then&lt;br /&gt;
			out = out .. &amp;#039;|- class=&amp;quot;sortbottom&amp;quot;\n| colspan=6 |&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if mw.getCurrentFrame().args[1] ==  &amp;#039;total&amp;#039; then&lt;br /&gt;
			out = out .. &amp;#039;|- class=&amp;quot;sortbottom&amp;quot;\n| colspan=7 |&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		out = out ..&lt;br /&gt;
			mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
				title = &amp;#039;Notelist&amp;#039;,&lt;br /&gt;
				args = {refs = notelist_refs}&lt;br /&gt;
			}&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Phoenix7777</name></author>
	</entry>
</feed>