<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.roatpkz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AChambers_of_Xeric_calculator</id>
	<title>Module:Chambers of Xeric calculator - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.roatpkz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AChambers_of_Xeric_calculator"/>
	<link rel="alternate" type="text/html" href="https://wiki.roatpkz.com/index.php?title=Module:Chambers_of_Xeric_calculator&amp;action=history"/>
	<updated>2026-04-30T06:20:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.roatpkz.com/index.php?title=Module:Chambers_of_Xeric_calculator&amp;diff=21378&amp;oldid=prev</id>
		<title>Hefner: Created page with &quot;local geprice = require(&#039;Module:Exchange&#039;)._price local coins = require(&#039;Module:Coins&#039;)._amount local commas = require(&#039;Module:Addcommas&#039;)._add  local p = {}  local uniqueItems = { 	{name = &quot;Arcane prayer scroll&quot;, weight = 20}, 	{name = &quot;Dexterous prayer scroll&quot;, weight = 20}, 	{name = &quot;Dragon hunter crossbow&quot;, weight = 4}, 	{name = &quot;Twisted buckler&quot;, weight = 4}, 	{name = &quot;Dinh&#039;s bulwark&quot;, weight = 3}, 	{name = &quot;Ancestral hat&quot;, weight = 3}, 	{name = &quot;Ancestral robe bott...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.roatpkz.com/index.php?title=Module:Chambers_of_Xeric_calculator&amp;diff=21378&amp;oldid=prev"/>
		<updated>2024-05-06T12:49:02Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local geprice = require(&amp;#039;Module:Exchange&amp;#039;)._price local coins = require(&amp;#039;Module:Coins&amp;#039;)._amount local commas = require(&amp;#039;Module:Addcommas&amp;#039;)._add  local p = {}  local uniqueItems = { 	{name = &amp;quot;Arcane prayer scroll&amp;quot;, weight = 20}, 	{name = &amp;quot;Dexterous prayer scroll&amp;quot;, weight = 20}, 	{name = &amp;quot;Dragon hunter crossbow&amp;quot;, weight = 4}, 	{name = &amp;quot;Twisted buckler&amp;quot;, weight = 4}, 	{name = &amp;quot;Dinh&amp;#039;s bulwark&amp;quot;, weight = 3}, 	{name = &amp;quot;Ancestral hat&amp;quot;, weight = 3}, 	{name = &amp;quot;Ancestral robe bott...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local geprice = require(&amp;#039;Module:Exchange&amp;#039;)._price&lt;br /&gt;
local coins = require(&amp;#039;Module:Coins&amp;#039;)._amount&lt;br /&gt;
local commas = require(&amp;#039;Module:Addcommas&amp;#039;)._add&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local uniqueItems = {&lt;br /&gt;
	{name = &amp;quot;Arcane prayer scroll&amp;quot;, weight = 20},&lt;br /&gt;
	{name = &amp;quot;Dexterous prayer scroll&amp;quot;, weight = 20},&lt;br /&gt;
	{name = &amp;quot;Dragon hunter crossbow&amp;quot;, weight = 4},&lt;br /&gt;
	{name = &amp;quot;Twisted buckler&amp;quot;, weight = 4},&lt;br /&gt;
	{name = &amp;quot;Dinh&amp;#039;s bulwark&amp;quot;, weight = 3},&lt;br /&gt;
	{name = &amp;quot;Ancestral hat&amp;quot;, weight = 3},&lt;br /&gt;
	{name = &amp;quot;Ancestral robe bottom&amp;quot;, weight = 3},&lt;br /&gt;
	{name = &amp;quot;Ancestral robe top&amp;quot;, weight = 3},&lt;br /&gt;
	{name = &amp;quot;Dragon claws&amp;quot;, weight = 3},&lt;br /&gt;
	{name = &amp;quot;Elder maul&amp;quot;, weight = 2},&lt;br /&gt;
	{name = &amp;quot;Kodai insignia&amp;quot;, weight = 2},&lt;br /&gt;
	{name = &amp;quot;Twisted bow&amp;quot;, weight = 2}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local trashItems = {&lt;br /&gt;
	{name = &amp;quot;Death rune&amp;quot;, divisor = 36},&lt;br /&gt;
	{name = &amp;quot;Blood rune&amp;quot;, divisor = 32},&lt;br /&gt;
	{name = &amp;quot;Soul rune&amp;quot;, divisor = 20},&lt;br /&gt;
	{name = &amp;quot;Rune arrow&amp;quot;, divisor = 14},&lt;br /&gt;
	{name = &amp;quot;Dragon arrow&amp;quot;, divisor = 202},&lt;br /&gt;
	{name = &amp;quot;Grimy ranarr weed&amp;quot;, divisor = 788},&lt;br /&gt;
	{name = &amp;quot;Grimy toadflax&amp;quot;, divisor = 520},&lt;br /&gt;
	{name = &amp;quot;Grimy irit leaf&amp;quot;, divisor = 162},&lt;br /&gt;
	{name = &amp;quot;Grimy avantoe&amp;quot;, divisor = 324},&lt;br /&gt;
	{name = &amp;quot;Grimy kwuarm&amp;quot;, divisor = 378},&lt;br /&gt;
	{name = &amp;quot;Grimy snapdragon&amp;quot;, divisor = 1300},&lt;br /&gt;
	{name = &amp;quot;Grimy cadantine&amp;quot;, divisor = 330},&lt;br /&gt;
	{name = &amp;quot;Grimy lantadyme&amp;quot;, divisor = 248},&lt;br /&gt;
	{name = &amp;quot;Grimy dwarf weed&amp;quot;, divisor = 200},&lt;br /&gt;
	{name = &amp;quot;Grimy torstol&amp;quot;, divisor = 810},&lt;br /&gt;
	{name = &amp;quot;Silver ore&amp;quot;, divisor = 20},&lt;br /&gt;
	{name = &amp;quot;Coal&amp;quot;, divisor = 20},&lt;br /&gt;
	{name = &amp;quot;Gold ore&amp;quot;, divisor = 44},&lt;br /&gt;
	{name = &amp;quot;Mithril ore&amp;quot;, divisor = 32},&lt;br /&gt;
	{name = &amp;quot;Adamantite ore&amp;quot;, divisor = 166},&lt;br /&gt;
	{name = &amp;quot;Runite ore&amp;quot;, divisor = 2000},&lt;br /&gt;
	{name = &amp;quot;Uncut sapphire&amp;quot;, divisor = 188},&lt;br /&gt;
	{name = &amp;quot;Uncut emerald&amp;quot;, divisor = 142},&lt;br /&gt;
	{name = &amp;quot;Uncut ruby&amp;quot;, divisor = 242},&lt;br /&gt;
	{name = &amp;quot;Uncut diamond&amp;quot;, divisor = 508},&lt;br /&gt;
	{name = &amp;quot;Lizardman fang&amp;quot;, divisor = 28},&lt;br /&gt;
	{name = &amp;quot;Pure essence&amp;quot;, divisor = 2},&lt;br /&gt;
	{name = &amp;quot;Saltpetre&amp;quot;, divisor = 24},&lt;br /&gt;
	{name = &amp;quot;Teak plank&amp;quot;, divisor = 96},&lt;br /&gt;
	{name = &amp;quot;Mahogany plank&amp;quot;, divisor = 238},&lt;br /&gt;
	{name = &amp;quot;Dynamite&amp;quot;, divisor = 54},&lt;br /&gt;
	{name = &amp;quot;Torn prayer scroll&amp;quot;, divisor = 1},&lt;br /&gt;
	{name = &amp;quot;Dark relic&amp;quot;, divisor = 1}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	args.teamSize = tonumber(args.teamSize) or 1&lt;br /&gt;
	args.timeTaken = tonumber(args.timeTaken) or &amp;#039;&amp;#039;&lt;br /&gt;
	args.personalPoints = tonumber(args.personalPoints) or 0&lt;br /&gt;
	args.groupPoints = tonumber(args.groupPoints) or 0&lt;br /&gt;
	if args.personalPoints &amp;gt; args.groupPoints then&lt;br /&gt;
		return &amp;quot;You can&amp;#039;t have more personal points than group points!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.groupPoints == 0 then&lt;br /&gt;
		return &amp;quot;You get nothing, because your team got zero points. Try the [[Theatre of Blood]] instead — you might at least get a cabbage out of it.&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local relevantPoints = math.min(570000*6, args.groupPoints)&lt;br /&gt;
	local maxPossibleUniqueRolls = math.min(6, math.ceil(relevantPoints / 570000))&lt;br /&gt;
	&lt;br /&gt;
	-- rather do this than a nasty for loop&lt;br /&gt;
	local uniquesLine = &amp;quot;&amp;quot;&lt;br /&gt;
	if maxPossibleUniqueRolls == 1 then&lt;br /&gt;
		uniquesLine = string.format(&amp;quot;Your team will get one chance to hit the unique table, with a &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; chance of success.&amp;quot;, relevantPoints/8675)&lt;br /&gt;
	elseif maxPossibleUniqueRolls == 2 then&lt;br /&gt;
		uniquesLine = string.format(&amp;quot;Your team will get two chances to hit the unique table, with a &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; chance of success respectively.&amp;quot;,&lt;br /&gt;
			570000/8675, (relevantPoints-570000*1)/8675)&lt;br /&gt;
	elseif maxPossibleUniqueRolls == 3 then&lt;br /&gt;
		uniquesLine = string.format(&amp;quot;Your team will get three chances to hit the unique table, with a &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; chance of success respectively.&amp;quot;,&lt;br /&gt;
			570000/8675, 570000/8675, (relevantPoints-570000*2)/8675)&lt;br /&gt;
	elseif maxPossibleUniqueRolls == 4 then&lt;br /&gt;
		uniquesLine = string.format(&amp;quot;Your team will get four chances to hit the unique table, with a &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; chance of success respectively.&amp;quot;,&lt;br /&gt;
			570000/8675, 570000/8675, 570000/8675, (relevantPoints-570000*3)/8675)&lt;br /&gt;
	elseif maxPossibleUniqueRolls == 5 then&lt;br /&gt;
		uniquesLine = string.format(&amp;quot;Your team will get five chances to hit the unique table, with a &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; chance of success respectively.&amp;quot;,&lt;br /&gt;
			570000/8675, 570000/8675, 570000/8675, 570000/8675, (relevantPoints-570000*4)/8675)&lt;br /&gt;
	elseif maxPossibleUniqueRolls == 6 then&lt;br /&gt;
		uniquesLine = string.format(&amp;quot;Your team will get six chances to hit the unique table, with a &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;%.2f%%&amp;#039;&amp;#039;&amp;#039; chance of success respectively.&amp;quot;,&lt;br /&gt;
			570000/8675, 570000/8675, 570000/8675, 570000/8675, 570000/8675, (relevantPoints-570000*5)/8675)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local uniquesTable = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
	uniquesTable:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
	uniquesTable:addClass(&amp;#039;align-center-1&amp;#039;)&lt;br /&gt;
	:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Item&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Price&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Expected per team&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Expected personal value&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	local expectedRolls = math.min(570000*6, relevantPoints) / 867500&lt;br /&gt;
	local personalRatio = args.personalPoints / args.groupPoints -- for this particular calculation we care about the actual points scored by the team&lt;br /&gt;
	local totalUniqueExpectation = 0.0&lt;br /&gt;
&lt;br /&gt;
	if args.split == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		personalRatio = 1 / args.teamSize&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for _, unique in ipairs(uniqueItems) do&lt;br /&gt;
		local price = geprice(unique.name)&lt;br /&gt;
		local expectation = expectedRolls * unique.weight / 69&lt;br /&gt;
		totalUniqueExpectation = totalUniqueExpectation + price * expectation * personalRatio&lt;br /&gt;
		uniquesTable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(string.format(&amp;#039;[[File:%s.png|link=%s]]&amp;#039;, unique.name, unique.name))&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(string.format(&amp;#039;[[%s]]&amp;#039;, unique.name))&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(coins(price))&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(string.format(&amp;#039;%.3f%%&amp;#039;, 100 * expectation ))&lt;br /&gt;
			:done()	&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(coins(price * expectation * personalRatio))&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	uniquesTable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 4)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(coins(totalUniqueExpectation))&lt;br /&gt;
		:done()&lt;br /&gt;
	&lt;br /&gt;
	local trashLine = string.format(&amp;quot;Failing a unique roll, you will get two rolls on the resource table, based on your &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039; points.&amp;quot;, commas(args.personalPoints))&lt;br /&gt;
&lt;br /&gt;
	local trashTable = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
	trashTable:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
	trashTable:addClass(&amp;#039;align-center-1&amp;#039;)&lt;br /&gt;
	:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Item&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Quantity&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Price&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Expected per chest&amp;#039;)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;Expected personal value&amp;#039;)&lt;br /&gt;
		:done()	&lt;br /&gt;
	&lt;br /&gt;
	local totalTrashExpectation = 0.0&lt;br /&gt;
	for _, trash in ipairs(trashItems) do&lt;br /&gt;
		local price = 0&lt;br /&gt;
		if trash.name ~= &amp;quot;Dark relic&amp;quot; then&lt;br /&gt;
			price = geprice(trash.name)&lt;br /&gt;
		end&lt;br /&gt;
		local quantity = math.floor(args.personalPoints / trash.divisor)&lt;br /&gt;
		if trash.name == &amp;quot;Torn prayer scroll&amp;quot; or trash.name == &amp;quot;Dark relic&amp;quot; then&lt;br /&gt;
			quantity = 1&lt;br /&gt;
		end&lt;br /&gt;
		local expectedCount = (1 - args.personalPoints / args.groupPoints * expectedRolls) * 2 * quantity / #trashItems&lt;br /&gt;
		totalTrashExpectation = totalTrashExpectation + expectedCount * price&lt;br /&gt;
		trashTable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(string.format(&amp;#039;[[File:%s.png|link=%s]]&amp;#039;, trash.name, trash.name))&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(string.format(&amp;#039;[[%s]]&amp;#039;, trash.name))&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(quantity)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(coins(price))&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(string.format(&amp;#039;%.2f&amp;#039;, expectedCount ))&lt;br /&gt;
			:done()	&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:wikitext(coins(price * expectedCount))&lt;br /&gt;
			:done()		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	trashTable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;colspan&amp;#039;, 5)&lt;br /&gt;
		:done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:wikitext(coins(totalTrashExpectation))&lt;br /&gt;
		:done()&lt;br /&gt;
	&lt;br /&gt;
	local totalExpectation = totalTrashExpectation + totalUniqueExpectation&lt;br /&gt;
	local mainLine = string.format(&amp;quot;You got &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039; points and your team of &amp;#039;&amp;#039;&amp;#039;%d&amp;#039;&amp;#039;&amp;#039; got &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039; points.&amp;quot;, commas(args.personalPoints), args.teamSize, commas(args.groupPoints))&lt;br /&gt;
	parenthetical = &amp;quot;free-for-all&amp;quot;&lt;br /&gt;
	if args.split == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		parenthetical = &amp;quot;even splits&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	mainLine = mainLine .. string.format(&amp;quot; This gives a total expected value for your personal chest (including %s on uniques), of &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039;.&amp;quot;, parenthetical, coins(totalExpectation))&lt;br /&gt;
	&lt;br /&gt;
	if args.timeTaken ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		mainLine = mainLine .. string.format(&amp;quot; At %d minutes a raid, that makes Chambers of Xeric about &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039; per hour in the long run.&amp;quot;, args.timeTaken, coins(totalExpectation * 60 / args.timeTaken))&lt;br /&gt;
	end&lt;br /&gt;
	return mainLine .. &amp;#039;\n\n&amp;#039; .. uniquesLine .. &amp;#039;\n\n&amp;#039; .. tostring(uniquesTable) .. &amp;#039;\n\n&amp;#039; .. trashLine .. &amp;#039;\n\n&amp;#039; .. tostring(trashTable)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Hefner</name></author>
	</entry>
</feed>