<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguage%2Fdata%2Fiana_languages%2Fmake</id>
	<title>Module:Language/data/iana languages/make - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguage%2Fdata%2Fiana_languages%2Fmake"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Language/data/iana_languages/make&amp;action=history"/>
	<updated>2026-04-23T14:19:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Language/data/iana_languages/make&amp;diff=472436&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Language/data/iana_languages/make&amp;diff=472436&amp;oldid=prev"/>
		<updated>2021-07-15T23:31:09Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require('Module:No globals');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[------------------------&amp;lt; G E T _ V A R I A N T _ P A R T S &amp;gt;---------------------------------------------&lt;br /&gt;
&lt;br /&gt;
We get a record that looks more-or-less like this:&lt;br /&gt;
	%%\n&lt;br /&gt;
	Type: variant\n&lt;br /&gt;
	Subtag: bohoric\n&lt;br /&gt;
	Description: Slovene in Bohorič alphabet\n&lt;br /&gt;
	Added: 2012-06-27\n&lt;br /&gt;
	Prefix: sl\n&lt;br /&gt;
&lt;br /&gt;
Each line is terminated with a \n character.&lt;br /&gt;
&lt;br /&gt;
Type, for this function can only be 'variant'&lt;br /&gt;
&lt;br /&gt;
Subtag is the code of Type&lt;br /&gt;
&lt;br /&gt;
Prefix is a language code to which this variant applies; one language code per Prefix line.  There can be&lt;br /&gt;
more than one prefix line.&lt;br /&gt;
&lt;br /&gt;
Description associates Subtag with a proper name or names; one name per Description line.  There can be more&lt;br /&gt;
than one Description line and Description lines can wrap to the next line.  When they do, the first two&lt;br /&gt;
characters of the continuation line are spaces.&lt;br /&gt;
&lt;br /&gt;
Comments: lines can also be continued so once in a Comments line (which is otherwise ignored) all further&lt;br /&gt;
continuations in the record are also ignored.  This is a crude mechanism to prevent comment continuations&lt;br /&gt;
from being concatenated onto the end of descriptions and relies on Description line occuring in the record&lt;br /&gt;
before the Comments line.&lt;br /&gt;
&lt;br /&gt;
Records with private use subtags are ignored.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function get_variant_parts (record)&lt;br /&gt;
	local code;&lt;br /&gt;
	local descriptions = {};&lt;br /&gt;
	local prefixes = {};&lt;br /&gt;
	local in_comments = false;&lt;br /&gt;
&lt;br /&gt;
	if string.find (record, 'Deprecated', 1, true) or string.find (record, 'Preferred-Value', 1, true)&lt;br /&gt;
			or string.find (record, 'Private use', 1, true) then&lt;br /&gt;
		return 'skip';&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for line in string.gmatch (record, '([^\n]+)\n') do						-- get a \n terminated line of text (without the \n)&lt;br /&gt;
		local label = string.match(line, &amp;quot;(.-):&amp;quot;)&lt;br /&gt;
		&lt;br /&gt;
		if not label and string.find (line, '^  .+') and not in_comments then		-- if a continuation line but not a comments continuation&lt;br /&gt;
			descriptions[#descriptions] = string.gsub (descriptions[#descriptions], '\&amp;quot;$', '');		-- remove trailing quote mark from previous description&lt;br /&gt;
			descriptions[#descriptions] = descriptions[#descriptions] .. ' ' .. string.match (line, '^  (.+)') .. '\&amp;quot;';	-- extract and save the continuation with new quote mark&lt;br /&gt;
		elseif label == 'Subtag' then						-- if this line is the subtag line&lt;br /&gt;
			code = string.match (line, 'Subtag: (%w+)');				-- extract and save to subtag's code&lt;br /&gt;
		elseif label == 'Description' then					-- if this line is a description line&lt;br /&gt;
			local desc = string.match (line, 'Description: (.+)');			-- extract the description&lt;br /&gt;
			desc = string.gsub (desc, '&amp;quot;', '\\&amp;quot;');							-- in case description contains quote marks (see 1959acad)&lt;br /&gt;
			table.insert (descriptions, '\&amp;quot;' .. desc .. '\&amp;quot;');					-- save the description wrapped in quote marks&lt;br /&gt;
		elseif label == 'Prefix' then						-- if this line is a prefix line&lt;br /&gt;
			table.insert (prefixes, '\&amp;quot;' .. string.match (line, 'Prefix: (.+)'):lower() .. '\&amp;quot;');	-- extract and save the prefix wrapped in quote marks&lt;br /&gt;
		elseif label == 'Comments' then						-- if this line is a comments line&lt;br /&gt;
			in_comments = true;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return code, table.concat (prefixes, ', '), table.concat (descriptions, ', ');&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[------------------------&amp;lt; G E T _ L A N G _ S C R I P T _ R E G I O N _ P A R T S &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
We get a record that looks more-or-less like this:&lt;br /&gt;
	%%\n&lt;br /&gt;
	Type: language\n&lt;br /&gt;
	Subtag: aa\n&lt;br /&gt;
	Description: Afar\n&lt;br /&gt;
	Added: 2005-10-16\n&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
Each line is terminated with a \n character.&lt;br /&gt;
&lt;br /&gt;
Type, for our purposes can be 'language', 'script', or 'region'&lt;br /&gt;
&lt;br /&gt;
Subtag is the code of Type&lt;br /&gt;
&lt;br /&gt;
Description associates Subtag with a proper name or names; one name per Description line.  There can be more&lt;br /&gt;
than one Description line and Description lines can wrap to the next line.  When they do, the first two&lt;br /&gt;
characters of the continuation line are spaces.&lt;br /&gt;
&lt;br /&gt;
Comments: lines can also be continued so once in a Comments line (which is otherwise ignored) all further&lt;br /&gt;
continuations in the record are also ignored.  This is a crude mechanism to prevent comment continuations&lt;br /&gt;
from being concatenated onto the end of descriptions and relies on Description line occuring in the record&lt;br /&gt;
before the Comments line.&lt;br /&gt;
&lt;br /&gt;
Records with private use subtags are ignored.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function get_lang_script_region_parts (record)&lt;br /&gt;
	local code;&lt;br /&gt;
	local suppress;																-- Suppress script for this code if specified&lt;br /&gt;
	local deprecated;															-- boolean; true when subtag is deprecated&lt;br /&gt;
	local descriptions = {};&lt;br /&gt;
	local in_comments = false;&lt;br /&gt;
&lt;br /&gt;
	if record:find ('Private use') then&lt;br /&gt;
		return 'skip';&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for line in record:gmatch ('([^\n]+)\n') do									-- get a \n terminated line of text (without the \n)&lt;br /&gt;
		local label = line:match ('(.-):');&lt;br /&gt;
		if 'Subtag' == label then												-- if this line is the subtag line&lt;br /&gt;
			code = line:match ('Subtag: (%w+)');								-- extract and save to subtag's code&lt;br /&gt;
		elseif 'Description' == label then										-- if this line is a description line&lt;br /&gt;
			table.insert (descriptions, '\&amp;quot;' .. line:match ('Description: (.+)') .. '\&amp;quot;');	-- extract and save the name wrapped in quote marks&lt;br /&gt;
		elseif 'Deprecated' == label then&lt;br /&gt;
			deprecated = true;													-- subtag is deprecated; set our flag&lt;br /&gt;
		elseif 'Suppress-Script' == label then&lt;br /&gt;
			suppress = line:match ('Suppress%-Script: (%S+)');&lt;br /&gt;
		elseif 'Comments' == label then											-- if this line is a comments line&lt;br /&gt;
			in_comments = true;&lt;br /&gt;
		elseif line:find ('^  .+') and not in_comments then						-- if a continuation line but not a commnets continuation&lt;br /&gt;
			descriptions[#descriptions] = descriptions[#descriptions]:gsub ('\&amp;quot;$', '');		-- remove trailing quote mark from previous description&lt;br /&gt;
			descriptions[#descriptions] = descriptions[#descriptions] .. ' ' .. line:match ('^  (.+)') .. '\&amp;quot;';	-- extract and save the continuation with new quote mark&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return code, table.concat (descriptions, ', '), suppress, deprecated;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[------------------------&amp;lt; I A N A _ E X T R A C T &amp;gt;-------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
read a local copy of the IANA language-subtag-registry file and from it build tables to replace the tables in:&lt;br /&gt;
	[[Module:Language/data/iana languages]]&lt;br /&gt;
	[[Module:Language/data/iana scripts]&lt;br /&gt;
	[[Module:Language/data/iana regions]]&lt;br /&gt;
&lt;br /&gt;
current language-subtag-registry file can be found at: http://www.iana.org/assignments/language-subtag-registry&lt;br /&gt;
archive.org has copies of previous versions see: https://web.archive.org/web/*/http://www.iana.org/assignments/language-subtag-registry&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function iana_extract (frame)&lt;br /&gt;
	local page = mw.title.getCurrentTitle();									-- get a page object for this page&lt;br /&gt;
	local content = page:getContent();											-- get unparsed content&lt;br /&gt;
	local lang_table = {};														-- languages go here&lt;br /&gt;
	local lang_dep_table = {};													-- deprecated languages go here&lt;br /&gt;
	local script_table = {};													-- scripts go here&lt;br /&gt;
	local region_table = {};													-- regions go here&lt;br /&gt;
	local variant_table = {};													-- variants go here&lt;br /&gt;
	local suppress_table = {};													-- here we collect suppressed scripts and associated language codes&lt;br /&gt;
	local iso_639_1_table = {};													-- ISO 639-1 languages; not used by Module:Lang but included here to ensure Module:Language/data/ISO_639-1 gets updated&lt;br /&gt;
	local file_date;															-- first line&lt;br /&gt;
&lt;br /&gt;
	local code;&lt;br /&gt;
	local descriptions;&lt;br /&gt;
	local prefixes;																-- used for language variants only&lt;br /&gt;
	local suppress;																-- a code's suppress script&lt;br /&gt;
	local deprecated;															-- boolean: true when subtag is deprecated&lt;br /&gt;
&lt;br /&gt;
	file_date = content:match ('(File%-Date: %d%d%d%d%-%d%d%-%d%d)');			-- get the file date line from this version of the source file&lt;br /&gt;
&lt;br /&gt;
	for record in string.gmatch (content, '%%%%([^%%]+)') do					-- get a %% delimited 'record' from the file; leave off the delimiters&lt;br /&gt;
		local record_type = string.match(record, 'Type: (%w+)')&lt;br /&gt;
		if record_type == 'language' then										-- if a language record&lt;br /&gt;
			code, descriptions, suppress, deprecated = get_lang_script_region_parts (record);	-- get the code, description(s), suppress script, and deprecated flag&lt;br /&gt;
			&lt;br /&gt;
			if code and ('skip' ~= code) then&lt;br /&gt;
				if deprecated then&lt;br /&gt;
					table.insert (lang_dep_table, &amp;quot;[\&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot;] = {&amp;quot; .. descriptions .. &amp;quot;}&amp;quot;);		-- make table entries&lt;br /&gt;
				else&lt;br /&gt;
					table.insert (lang_table, &amp;quot;[\&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot;] = {&amp;quot; .. descriptions .. &amp;quot;}&amp;quot;);			-- make table entries&lt;br /&gt;
					if 2 == code:len() then&lt;br /&gt;
						table.insert (iso_639_1_table, &amp;quot;[\&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot;] = {&amp;quot; .. descriptions .. &amp;quot;}&amp;quot;);	-- make table entries&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			elseif not code then&lt;br /&gt;
				table.insert (lang_table, &amp;quot;[\&amp;quot;error\&amp;quot;] = {&amp;quot; .. record .. &amp;quot;}&amp;quot;);	-- code should never be nil, but inserting an error entry in the final output can be helpful&lt;br /&gt;
			end&lt;br /&gt;
																				-- here we collect suppress stript tags and their associated language codes;&lt;br /&gt;
																				-- prettigying the data in this table must wait until all language codes have been read&lt;br /&gt;
			if suppress then													-- if this code has a suppressed script&lt;br /&gt;
				local suppressed_code = table.concat ({'\&amp;quot;', code, '\&amp;quot;'});		-- wrap the code in quotes&lt;br /&gt;
				&lt;br /&gt;
				if suppress_table[suppress] then								-- if there is an entry for this script&lt;br /&gt;
					table.insert (suppress_table[suppress], suppressed_code);	-- insert the new code&lt;br /&gt;
				else&lt;br /&gt;
					suppress_table[suppress] = {};								-- add new script and empty table&lt;br /&gt;
					table.insert (suppress_table[suppress], suppressed_code);	-- insert the new code&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
		elseif record_type == 'script' then					-- if a script record&lt;br /&gt;
			code, descriptions = get_lang_script_region_parts (record);			-- get the code and description(s)&lt;br /&gt;
			&lt;br /&gt;
			if code and ('skip' ~= code) then														&lt;br /&gt;
				table.insert (script_table, &amp;quot;[\&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot;] = {&amp;quot; .. descriptions .. &amp;quot;}&amp;quot;);	-- make table entries&lt;br /&gt;
			elseif not code then&lt;br /&gt;
				table.insert (script_table, &amp;quot;[\&amp;quot;error\&amp;quot;] = {&amp;quot; .. record .. &amp;quot;}&amp;quot;);	-- code should never be nil, but ...&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
		elseif record_type == 'region' then					-- if a region record&lt;br /&gt;
			code, descriptions = get_lang_script_region_parts (record);			-- get the code and description(s)&lt;br /&gt;
			&lt;br /&gt;
			if code and ('skip' ~= code) then														&lt;br /&gt;
				table.insert (region_table, &amp;quot;[\&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot;] = {&amp;quot; .. descriptions .. &amp;quot;}&amp;quot;);	-- make table entries&lt;br /&gt;
			elseif not code then&lt;br /&gt;
				table.insert (region_table, &amp;quot;[\&amp;quot;error\&amp;quot;] = {&amp;quot; .. record .. &amp;quot;}&amp;quot;);	-- code should never be nil, but ...&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
		elseif record_type == 'variant' then					-- if a variant record&lt;br /&gt;
			code, prefixes, descriptions = get_variant_parts (record);			-- get the code, prefix(es), and description(s)&lt;br /&gt;
&lt;br /&gt;
			if code and ('skip' ~= code) then														&lt;br /&gt;
				table.insert (variant_table,&lt;br /&gt;
					table.concat ({&lt;br /&gt;
						&amp;quot;[\&amp;quot;&amp;quot;,&lt;br /&gt;
						code,&lt;br /&gt;
						&amp;quot;\&amp;quot;] = {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;[\&amp;quot;descriptions\&amp;quot;] = {&amp;quot;,&lt;br /&gt;
						descriptions,&lt;br /&gt;
						&amp;quot;},&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;[\&amp;quot;prefixes\&amp;quot;] = {&amp;quot;,&lt;br /&gt;
						prefixes,&lt;br /&gt;
						&amp;quot;},&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;amp;#9;}&amp;quot;&lt;br /&gt;
						})&lt;br /&gt;
					);&lt;br /&gt;
			elseif not code then&lt;br /&gt;
				table.insert (variant_table, &amp;quot;[\&amp;quot;error\&amp;quot;] = {&amp;quot; .. record .. &amp;quot;}&amp;quot;);	-- code should never be nil, but ...&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
																				-- now prettify the supressed script table&lt;br /&gt;
	local pretty_suppressed = {};&lt;br /&gt;
	&lt;br /&gt;
	for script, code_tbl in pairs (suppress_table) do&lt;br /&gt;
		local LIMIT = 11;														-- max number of subtags on a line before a line break&lt;br /&gt;
		local fragment_tbl = {};												-- groups of LIMIT number of subtags collected here&lt;br /&gt;
		&lt;br /&gt;
		for i=1, #code_tbl, LIMIT do&lt;br /&gt;
			local stop = ((i+LIMIT-1) &amp;gt; #code_tbl) and #code_tbl or i+LIMIT-1;	-- calculate a table.concat stop position&lt;br /&gt;
			table.insert (fragment_tbl, table.concat (code_tbl, ', ', i, stop));	-- get the fragment and save it&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.insert (pretty_suppressed,										-- and make all pretty&lt;br /&gt;
			table.concat ({'[\&amp;quot;', script, '\&amp;quot;] = {', table.concat (fragment_tbl, ',\n\t\t\t\t'), '}'})&lt;br /&gt;
			);&lt;br /&gt;
	end&lt;br /&gt;
	table.sort (pretty_suppressed);&lt;br /&gt;
&lt;br /&gt;
																				-- make final output pretty&lt;br /&gt;
	return '&amp;lt;br /&amp;gt;&amp;lt;pre&amp;gt;------------------------------&amp;lt; I A N A   L A N G U A G E S &amp;gt;--------------------------------------------------&amp;lt;br /&amp;gt;--' ..&lt;br /&gt;
			file_date .. &amp;quot;&amp;lt;br /&amp;gt;local active = {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (lang_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; .. &lt;br /&gt;
			&amp;quot;local deprecated = {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (lang_dep_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; .. &lt;br /&gt;
			&amp;quot;return {&amp;lt;br /&amp;gt;&amp;amp;#9;active = active,&amp;lt;br /&amp;gt;&amp;amp;#9;deprecated = deprecated,&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; ..&lt;br /&gt;
			'------------------------------&amp;lt; I A N A   S C R I P T S &amp;gt;------------------------------------------------------&amp;lt;br /&amp;gt;--' ..&lt;br /&gt;
			file_date .. &amp;quot;&amp;lt;br /&amp;gt;return {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (script_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; ..&lt;br /&gt;
			'------------------------------&amp;lt; I A N A   R E G I O N S &amp;gt;------------------------------------------------------&amp;lt;br /&amp;gt;--' ..&lt;br /&gt;
			file_date .. &amp;quot;&amp;lt;br /&amp;gt;return {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (region_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; ..&lt;br /&gt;
			'------------------------------&amp;lt; I A N A   V A R I A N T S &amp;gt;----------------------------------------------------&amp;lt;br /&amp;gt;--' ..&lt;br /&gt;
			file_date .. &amp;quot;&amp;lt;br /&amp;gt;return {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (variant_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; ..&lt;br /&gt;
			'------------------------------&amp;lt; I A N A   S U P P R E S S E D   S C R I P T S &amp;gt;--------------------------------&amp;lt;br /&amp;gt;--' ..&lt;br /&gt;
			file_date .. &amp;quot;&amp;lt;br /&amp;gt;return {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (pretty_suppressed, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; ..&lt;br /&gt;
			'------------------------------&amp;lt; I S O   6 3 9 - 1 &amp;gt;------------------------------------------------------------&amp;lt;br /&amp;gt;--' ..&lt;br /&gt;
			file_date .. &amp;quot;&amp;lt;br /&amp;gt;return {&amp;lt;br /&amp;gt;&amp;amp;#9;&amp;quot; .. table.concat (iso_639_1_table, ',&amp;lt;br /&amp;gt;&amp;amp;#9;') .. &amp;quot;&amp;lt;br /&amp;gt;&amp;amp;#9;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D   F U N C T I O N &amp;gt;--------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	iana_extract = iana_extract,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>