This module needs documentation.
Please document this module by describing its purpose and usage on the documentation page.

local inflections = {}

local function add_inflection(infl_func, stem_func)
	local ret_table = {}
	setmetatable(ret_table, {__call = infl_func})
	ret_table.get_stem = stem_func or function() return "" end
	return ret_table
end

local function add_infl_eser(stem, conj)
	return add_inflection(function(self, args, data)
		inflections[conj]({stem}, data)
		data.forms.aux = {"èser"}
		table.insert(data.categories, "Venetian verbs taking èser as auxiliary")
	end)
end

local function add_infl_aver_or_eser(stem, conj)
	return add_inflection(function(self, args, data)
		inflections[conj]({stem}, data)
		data.forms.aux[2] = "èser"
		table.insert(data.categories, "Venetian verbs taking aver or èser as auxiliary")
	end)
end

inflections["ar"] = add_inflection(function(self, args, data)
	data.conj = "first conjugation"
	data.forms.inf = {args[1] .. "ar"}
	data.forms.aux = {args[2] or "aver"}
	data.forms.gerund = {args[1] .. "ando"}
	data.forms.past_part = {args[1] .. "à"}
	
	data.forms.pres_ind_1sg = {args[1] .. "o"}
	data.forms.pres_ind_2sg = {args[1] .. "i"}
	data.forms.pres_ind_3sg = {args[1] .. "a"}
	data.forms.pres_ind_1pl = {args[1] .. "émo", args[1] .. "òn"}
	data.forms.pres_ind_2pl = {args[1] .. "é"}
	data.forms.pres_ind_3pl = {args[1] .. "a"}

	data.forms.impf_ind_1sg = {args[1] .. "ava"}
	data.forms.impf_ind_2sg = {args[1] .. "avi"}
	data.forms.impf_ind_3sg = {args[1] .. "ava"}
	data.forms.impf_ind_1pl = {args[1] .. "àvimo"}
	data.forms.impf_ind_2pl = {args[1] .. "avi"}
	data.forms.impf_ind_3pl = {args[1] .. "ava"}
	
	data.forms.futr_ind_1sg = {args[1] .. "arò"}
	data.forms.futr_ind_2sg = {args[1] .. "arè"}
	data.forms.futr_ind_3sg = {args[1] .. "arà"}
	data.forms.futr_ind_1pl = {args[1] .. "arémo"}
	data.forms.futr_ind_2pl = {args[1] .. "arè"}
	data.forms.futr_ind_3pl = {args[1] .. "arà"}
	
	data.forms.cond_ind_1sg = {args[1] .. "arìa"}
	data.forms.cond_ind_2sg = {args[1] .. "arisi"}
	data.forms.cond_ind_3sg = {args[1] .. "arìa"}
	data.forms.cond_ind_1pl = {args[1] .. "arìsimo"}
	data.forms.cond_ind_2pl = {args[1] .. "arisi"}
	data.forms.cond_ind_3pl = {args[1] .. "arìa"}
	
	data.forms.pres_sub_1sg = {args[1] .. "e", args[1] .. "a"}
	data.forms.pres_sub_2sg = {args[1] .. "i"}
	data.forms.pres_sub_3sg = {args[1] .. "e", args[1] .. "a"}
	data.forms.pres_sub_1pl = {args[1] .. "émo", args[1] .. "one"}
	data.forms.pres_sub_2pl = {args[1] .. "é"}
	data.forms.pres_sub_3pl = {args[1] .. "e", args[1] .. "a"}
	
	data.forms.impf_sub_1sg = {args[1] .. "ase"}
	data.forms.impf_sub_2sg = {args[1] .. "asi"}
	data.forms.impf_sub_3sg = {args[1] .. "ase"}
	data.forms.impf_sub_1pl = {args[1] .. "àsimo"}
	data.forms.impf_sub_2pl = {args[1] .. "asi"}
	data.forms.impf_sub_3pl = {args[1] .. "ase"}
	
	data.forms.impr_2sg = {args[1] .. "a"}
	data.forms.impr_3sg = {args[1] .. "a", args[1] .. "e"}
	data.forms.impr_1pl = {args[1] .. "émo"}
	data.forms.impr_2pl = {args[1] .. "é"}
	data.forms.impr_3pl = {args[1] .. "a", args[1] .. "e"}
	
	table.insert(data.categories, "Venetian first conjugation verbs")
end, function(word)
	return mw.ustring.sub(word, 1, -3)
end)

inflections["pensar"] = add_infl_eser("pens", "ar")

inflections["star"] = add_infl_eser("st", "ar")

inflections["entrar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"entr"}, data)

	data.forms.aux = {"èser"}
	data.forms.pres_ind_2sg[2] = "intri"
	
	table.insert(data.categories, "Venetian verbs taking èser as auxiliary")
end)

inflections["restar"] = add_infl_eser("rest", "ar")

inflections["costar"] = add_infl_eser("cost", "ar")

inflections["costumar"] = add_infl_eser("costum", "ar")

inflections["insegnar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"insegn"}, data)
	data.forms.pres_ind_2sg[2] = "insigni"
end)

inflections["confrontar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"confront"}, data)
	data.forms.pres_ind_2sg[2] = "cunfrunti"
end)

inflections["desmontar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"desmont"}, data)
	data.forms.pres_ind_2sg[2] = "desmunti"
end)

inflections["copar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"cop"}, data)
	data.forms.pres_ind_2sg[2] = "cupi"
end)

inflections["aterar"] = add_infl_aver_or_eser("ater", "ar")

inflections["bałar"] = add_infl_aver_or_eser("bał", "ar")

inflections["topar"] = add_infl_eser("top", "ar")

inflections["fondar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"fond"}, data)
	data.forms.past_part[2] = "fondado"
end)

inflections["sarare"] = add_inflection(function(self, args, data)
	inflections["ar"]({"sar"}, data)
	data.forms.inf = {"sarare"}
end)

inflections["supiàr"] = add_inflection(function(self, args, data)
	inflections["ar"]({"supi"}, data)
	data.forms.inf = {"supiàr"}
end)

inflections["ribelar"] = add_infl_eser("ribel", "ar")

inflections["rivar"] = add_infl_eser("riv", "ar")

inflections["desidar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"desid"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "desixo"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["verxar"] = add_inflection(function(self, args, data)
	inflections["ar"]({"verx"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "verto"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["savariare"] = add_inflection(function(self, args, data)
	inflections["ar"]({"savari"}, data)
	
	data.forms.inf = {"savariare"}
	data.forms.aux = {"èser"}
	
	table.insert(data.categories, "Venetian verbs taking èser as auxiliary")
end)

inflections["sbrisiar"] = add_infl_eser("sbrisi", "ar")

inflections["sgnaolar"] = add_infl_eser("sgnaol", "ar")

inflections["bixognar"] = add_inflection(function(self, args, data)
	data.conj = "first conjugation, impersonal"
	data.forms.inf = {"bixognar"}
	data.forms.aux = {"aver"}
	data.forms.gerund = {"bixognando"}
	data.forms.past_part = {"bixognà"}
	
	data.forms.pres_ind_3sg = {"bixogna", "bixon'"}
	data.forms.impf_ind_3sg = {"bixognava"}
	data.forms.futr_ind_3sg = {"bixognarà"}
	data.forms.cond_ind_3sg = {"bixognarìa"}
	data.forms.pres_sub_3sg = {"bixogne", "bixogna"}
	data.forms.impf_sub_3sg = {"bixognase"}
	data.forms.impr_3sg = {"bixogna", "bixogne"}
	
	table.insert(data.categories, "Venetian first conjugation verbs")
end)

inflections["bexognar"] = add_inflection(function(self, args, data)
	data.conj = "first conjugation, impersonal"
	data.forms.inf = {"bexognar"}
	data.forms.aux = {"aver"}
	data.forms.gerund = {"bexognando"}
	data.forms.past_part = {"bexognà"}
	
	data.forms.pres_ind_3sg = {"bexogna", "bexon'"}
	data.forms.impf_ind_3sg = {"bexognava"}
	data.forms.futr_ind_3sg = {"bexognarà"}
	data.forms.cond_ind_3sg = {"bexognarìa"}
	data.forms.pres_sub_3sg = {"bexogne", "bexogna"}
	data.forms.impf_sub_3sg = {"bexognase"}
	data.forms.impr_3sg = {"bexogna", "bexogne"}
	
	table.insert(data.categories, "Venetian first conjugation verbs")
end)

inflections["car"] = add_inflection(function(self, args, data)
	inflections["ar"](args, data)
	data.forms.pres_ind_2sg = {args[1] .. "hi"}
	data.forms.pres_ind_1pl = {args[1] .. "hémo", args[1] .. "òn"}
	data.forms.pres_ind_2pl = {args[1] .. "hé"}
	
	data.forms.pres_sub_1sg = {args[1] .. "he", args[1] .. "a"}
	data.forms.pres_sub_2sg = {args[1] .. "hi"}
	data.forms.pres_sub_3sg = {args[1] .. "he", args[1] .. "a"}
	data.forms.pres_sub_1pl = {args[1] .. "hémo", args[1] .. "one"}
	data.forms.pres_sub_2pl = {args[1] .. "hé"}
	data.forms.pres_sub_3pl = {args[1] .. "he", args[1] .. "a"}
	
	data.forms.impr_3sg = {args[1] .. "a", args[1] .. "he"}
	data.forms.impr_1pl = {args[1] .. "hémo"}
	data.forms.impr_2pl = {args[1] .. "hé"}
	data.forms.impr_3pl = {args[1] .. "a", args[1] .. "he"}
	
	table.insert(data.categories, "Venetian first conjugation verbs")
end, inflections["ar"].get_stem)

inflections["sluxegar"] = add_infl_eser("sluxeg", "car")

inflections["tardigar"] = add_infl_aver_or_eser("tardig", "car")

inflections["gar"] = inflections["car"]

inflections["er"] = add_inflection(function(self, args, data)
	data.conj = "second conjugation"
	
	data.forms.inf = {args[1] .. "er"}
	data.forms.aux = {args[2] or "aver"}
	data.forms.gerund = {args[1] .. "éndo"}
	data.forms.past_part = {args[1] .. "ato"}
	
	data.forms.pres_ind_1sg = {args[1] .. "o"}
	data.forms.pres_ind_2sg = {args[1] .. "i"}
	data.forms.pres_ind_3sg = {args[1] .. "e"}
	data.forms.pres_ind_1pl = {args[1] .. "émo"}
	data.forms.pres_ind_2pl = {args[1] .. "ì"}
	data.forms.pres_ind_3pl = {args[1] .. "e"}

	data.forms.impf_ind_1sg = {args[1] .. "éa"}
	data.forms.impf_ind_2sg = {args[1] .. "ivi"}
	data.forms.impf_ind_3sg = {args[1] .. "éa"}
	data.forms.impf_ind_1pl = {args[1] .. "évimo"}
	data.forms.impf_ind_2pl = {args[1] .. "ivi"}
	data.forms.impf_ind_3pl = {args[1] .. "éa"}
	
	data.forms.futr_ind_1sg = {args[1] .. "arò"}
	data.forms.futr_ind_2sg = {args[1] .. "arè"}
	data.forms.futr_ind_3sg = {args[1] .. "arà"}
	data.forms.futr_ind_1pl = {args[1] .. "arémo"}
	data.forms.futr_ind_2pl = {args[1] .. "arè"}
	data.forms.futr_ind_3pl = {args[1] .. "arà"}
	
	data.forms.cond_ind_1sg = {args[1] .. "arìa"}
	data.forms.cond_ind_2sg = {args[1] .. "arisi"}
	data.forms.cond_ind_3sg = {args[1] .. "arìa"}
	data.forms.cond_ind_1pl = {args[1] .. "arìsimo"}
	data.forms.cond_ind_2pl = {args[1] .. "arisi"}
	data.forms.cond_ind_3pl = {args[1] .. "arìa"}
	
	data.forms.pres_sub_1sg = {args[1] .. "a"}
	data.forms.pres_sub_2sg = {args[1] .. "i"}
	data.forms.pres_sub_3sg = {args[1] .. "a"}
	data.forms.pres_sub_1pl = {args[1] .. "émo"}
	data.forms.pres_sub_2pl = {args[1] .. "ì"}
	data.forms.pres_sub_3pl = {args[1] .. "a"}
	
	data.forms.impf_sub_1sg = {args[1] .. "ése"}
	data.forms.impf_sub_2sg = {args[1] .. "isi"}
	data.forms.impf_sub_3sg = {args[1] .. "ése"}
	data.forms.impf_sub_1pl = {args[1] .. "ésimo"}
	data.forms.impf_sub_2pl = {args[1] .. "isi"}
	data.forms.impf_sub_3pl = {args[1] .. "ése"}
	
	data.forms.impr_2sg = {args[1] .. "i"}
	data.forms.impr_3sg = {args[1] .. "a"}
	data.forms.impr_1pl = {args[1] .. "émo"}
	data.forms.impr_2pl = {args[1] .. "ì"}
	data.forms.impr_3pl = {args[1] .. "a"}
	
	table.insert(data.categories, "Venetian second conjugation verbs")
end, inflections["ar"].get_stem)

inflections["prodùxer"] = add_inflection(function(self, args, data)
	inflections["er"]({"produx"}, data)
	data.conj = data.conj .. ", irregular past participle"
	
	data.past_part = {"prodoto"}
	
	data.forms.futr_ind_1sg = {"produrò"}
	data.forms.futr_ind_2sg = {"produrè"}
	data.forms.futr_ind_3sg = {"produrà"}
	data.forms.futr_ind_1pl = {"produrémo"}
	data.forms.futr_ind_2pl = {"produrè"}
	data.forms.futr_ind_3pl = {"produrà"}
	
	data.forms.cond_ind_1sg = {"produrìa"}
	data.forms.cond_ind_2sg = {"produrisi"}
	data.forms.cond_ind_3sg = {"produrìa"}
	data.forms.cond_ind_1pl = {"produrìsimo"}
	data.forms.cond_ind_2pl = {"produrisi"}
	data.forms.cond_ind_3pl = {"produrìa"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["prodùr"] = add_inflection(function(self, args, data)
	inflections["er"]({"produx"}, data)
	data.conj = "second conjugation with contracted infinitive, irregular past participle"
end)

inflections["ar-2nd"] = add_inflection(function(self, args, data)
	inflections["er"](args, data)
	data.forms.inf = {args[1] .. "ar"}
end, inflections["ar"].get_stem)

inflections["strénxar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"strénx"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"stréto", "strenxésto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["pónxar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"pónx"}, data)

	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "pónto"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["rónpar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"rónp"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"róto", "ronpesto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["piànxar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"piànx"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "pianto"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["nàsar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"nàs"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.aux = {"èser"}
	data.forms.past_part = {"nato", "nasésto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
	table.insert(data.categories, "Venetian verbs taking èser as auxiliary")
end)

inflections["móvar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"móv"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"moso", "movesto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["métar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"mét"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "méso"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["asistar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"asist"}, data)
	
	data.forms.past_part[2] = "asistìo"
end)

inflections["conbatar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"conbat"}, data)
	
	data.forms.past_part[2] = "conbatùo"
	data.forms.past_part[3] = "conbatù"
end)

inflections["sotomesar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"sotomes"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "sotomeso"

	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["convìnzsar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"convìnzs"}, data)
	data.forms.past_part = {"convinto", "convinzsesto"}
	data.forms.impf_ind_2sg[2] = "convinzsivi"
	data.forms.futr_ind_2sg[2] = "convinzsirè"
	data.forms.cond_ind_2sg[2] = "convinzsirisi"
	data.forms.impf_sub_2sg[2] = "convinzsisi"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["scóndar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"scónd"}, data)
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part[2] = "scónto"

	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["dir"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"d"}, data)
	
	data.conj = "second conjugation, irregular"
	
	data.forms.inf = {"dir"}
	data.forms.past_part = {"dito", "dixésto"}
	data.forms.pres_ind_2sg[2] = "dixi"
	data.forms.impf_ind_2sg[2] = "dixivi"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["invadar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"invad"}, data)
	
	data.forms.past_part[2] = "invadesto"
	data.forms.past_part[3] = "invaxo"

end)

inflections["vèrzar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"vèrz"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"verto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["védar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"véd"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"visto", "vedù", "vedùo", "vedesto"}
	data.forms.pres_ind_2sg = {"vidi"}
	data.forms.pres_sub_2sg = {"vidi"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["bévar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"bév"}, data)
	
	data.forms.pres_ind_2sg = {"bivi"}
	data.forms.pres_sub_2sg = {"bivi"}
end)

inflections["bójar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"bój"}, data)
	
	data.forms.pres_ind_2sg = {"buji"}
	data.forms.pres_sub_2sg = {"buji"}
end)

inflections["córar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"cór"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"córso", "coresto"}
	data.forms.pres_ind_2sg = {"curi"}
	data.forms.pres_sub_2sg = {"curi"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["gòder"] = add_inflection(function(self, args, data)
	inflections["er"]({"gòd"}, data)
	
	data.forms.past_part = {"godesto"}
end)

inflections["crédar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"créd"}, data)
	
	data.forms.pres_ind_2sg = {"cridi"}
	data.forms.pres_sub_2sg = {"cridi"}
end)

inflections["cuèrzar"] = add_inflection(function(self, args, data)
	inflections["er"]({"cuèrz"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"cuerto", "cuerzésto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["divìdar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"divìd"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"divixo", "dividesto"}
	data.forms.pres_ind_2sg[2] = "dividivi"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["scriver"] = add_inflection(function(self, args, data)
	inflections["er"]({"scriv"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"scrito"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["scrivar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"scriv"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"scrito"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["scorlar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"scorl"}, data)
	
	data.forms.pres_ind_2sg[2] = "scurli"
end)

inflections["covèrzar"] = add_inflection(function(self, args, data)
	inflections["ar-2nd"]({"covèrz"}, data)
	
	data.conj = data.conj .. ", irregular past participle"
	data.forms.past_part = {"coverto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["vołer"] = add_inflection(function(self, args, data)
	inflections["er"]({"voł"}, data)
	
	data.conj = "second conjugation, irregular"

	
	data.forms.past_part = {"vołesto", "vossùo", "vójo"}
	
	data.forms.pres_ind_1sg[2] = "vojo"
	data.forms.pres_ind_2sg[2] = "vol"
	data.forms.pres_ind_2sg[3] = "vułivi"
	data.forms.pres_ind_3sg[2] = "vol"
	data.forms.pres_ind_3pl[2] = "vol"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["slùxar"] = add_infl_eser("slùx", "ar")

inflections["dur"] = add_inflection(function(self, args, data)
	inflections["er"]({args[1] .. "dux"}, data)
	data.conj = "second conjugation, ''-dur'' variant"
	
	data.forms.past_part = {args[1] .. "doto"}
	
	data.forms.pres_ind_1pl = {args[1] .. "duxemo"}
	
	data.forms.futr_ind_1sg = {args[1] .. "durò"}
	data.forms.futr_ind_2sg = {args[1] .. "durè"}
	data.forms.futr_ind_3sg = {args[1] .. "durà"}
	data.forms.futr_ind_1pl = {args[1] .. "durémo"}
	data.forms.futr_ind_2pl = {args[1] .. "durè"}
	data.forms.futr_ind_3pl = {args[1] .. "durà"}
	
	data.forms.cond_ind_1sg = {args[1] .. "durìa"}
	data.forms.cond_ind_2sg = {args[1] .. "durisi"}
	data.forms.cond_ind_3sg = {args[1] .. "durìa"}
	data.forms.cond_ind_1pl = {args[1] .. "durìsimo"}
	data.forms.cond_ind_2pl = {args[1] .. "durisi"}
	data.forms.cond_ind_3pl = {args[1] .. "durìa"}
end, function(word)
	return mw.ustring.sub(word, 1, -4)
end)

inflections["ir"] = add_inflection(function(self, args, data)
	data.conj = "third conjugation"
	data.forms.inf = {args[1] .. "ir"}
	data.forms.aux = {args[2] or "aver"}
	data.forms.gerund = {args[1] .. "éndo"}
	data.forms.past_part = {args[1] .. "ito", args[1] .. "ìo"}
	
	data.forms.pres_ind_1sg = {args[1] .. "iso"}
	data.forms.pres_ind_2sg = {args[1] .. "isi"}
	data.forms.pres_ind_3sg = {args[1] .. "ise"}
	data.forms.pres_ind_1pl = {args[1] .. "imo"}
	data.forms.pres_ind_2pl = {args[1] .. "ì"}
	data.forms.pres_ind_3pl = {args[1] .. "ise"}

	data.forms.impf_ind_1sg = {args[1] .. "ìa"}
	data.forms.impf_ind_2sg = {args[1] .. "ivi"}
	data.forms.impf_ind_3sg = {args[1] .. "ìa"}
	data.forms.impf_ind_1pl = {args[1] .. "ìvimo"}
	data.forms.impf_ind_2pl = {args[1] .. "ivi"}
	data.forms.impf_ind_3pl = {args[1] .. "ìa"}
	
	data.forms.futr_ind_1sg = {args[1] .. "irò"}
	data.forms.futr_ind_2sg = {args[1] .. "irè"}
	data.forms.futr_ind_3sg = {args[1] .. "irà"}
	data.forms.futr_ind_1pl = {args[1] .. "irémo"}
	data.forms.futr_ind_2pl = {args[1] .. "irè"}
	data.forms.futr_ind_3pl = {args[1] .. "irà"}
	
	data.forms.cond_ind_1sg = {args[1] .. "irìa"}
	data.forms.cond_ind_2sg = {args[1] .. "irisi"}
	data.forms.cond_ind_3sg = {args[1] .. "irìa"}
	data.forms.cond_ind_1pl = {args[1] .. "irìsimo"}
	data.forms.cond_ind_2pl = {args[1] .. "irisi"}
	data.forms.cond_ind_3pl = {args[1] .. "irìa"}
	
	data.forms.pres_sub_1sg = {args[1] .. "isa"}
	data.forms.pres_sub_2sg = {args[1] .. "isi"}
	data.forms.pres_sub_3sg = {args[1] .. "isa"}
	data.forms.pres_sub_1pl = {args[1] .. "imo"}
	data.forms.pres_sub_2pl = {args[1] .. "ì"}
	data.forms.pres_sub_3pl = {args[1] .. "isa"}
	
	data.forms.impf_sub_1sg = {args[1] .. "ise"}
	data.forms.impf_sub_2sg = {args[1] .. "isi"}
	data.forms.impf_sub_3sg = {args[1] .. "ise"}
	data.forms.impf_sub_1pl = {args[1] .. "isimo"}
	data.forms.impf_sub_2pl = {args[1] .. "isi"}
	data.forms.impf_sub_3pl = {args[1] .. "ise"}
	
	data.forms.impr_2sg = {args[1] .. "isi"}
	data.forms.impr_3sg = {args[1] .. "isa"}
	data.forms.impr_1pl = {args[1] .. "imo"}
	data.forms.impr_2pl = {args[1] .. "ì"}
	data.forms.impr_3pl = {args[1] .. "isa"}
	
	table.insert(data.categories, "Venetian third conjugation verbs")
end, inflections["ar"].get_stem)

inflections["morir"] = add_inflection(function(self, args, data)
	inflections["ir"]({"mor"}, data)
	data.conj = data.conj .. ", irregular past participle"
	
	data.forms.aux = {"èser"}
	data.forms.past_part = {"morto"}
	
	table.insert(data.categories, "Venetian irregular verbs")
	table.insert(data.categories, "Venetian verbs taking èser as auxiliary")
end)

inflections["capir"] = add_inflection(function(self, args, data)
	inflections["ir"]({"cap"}, data)
	
	data.forms.past_part = {"capìo", "capisesto"}
end)

inflections["concepir"] = add_inflection(function(self, args, data)
	inflections["ir"]({"concep"}, data)
	
	data.forms.past_part[2] = "concepì"
end)

inflections["costruir"] = add_inflection(function(self, args, data)
	inflections["ir"]({"costru"}, data)
	
	data.forms.past_part[2] = "costruio"
	data.forms.past_part[3] = "costruido"
end)

inflections["smagrir"] = add_infl_aver_or_eser("smagr", "ir")

inflections["usir"] = add_inflection(function(self, args, data)
	inflections["ir"]({"us"}, data)
	
	data.forms.past_part[2] = "ésso"
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["èser"] = add_inflection(function(self, args, data)
	data.conj = "highly irregular, [[suppletive]]"
	
	data.forms.inf = {"èser"}
	data.forms.aux = {"èser"}
	data.forms.gerund = {"esendo"}
	data.forms.past_part = {"stà"}
	
	data.forms.pres_ind_1sg = {"son", "so'"} 	
	data.forms.pres_ind_2sg = {"sì"}
	data.forms.pres_ind_3sg = {"xe", "xé"}
	data.forms.pres_ind_1pl = {"semo"}
	data.forms.pres_ind_2pl = {"sì"}
	data.forms.pres_ind_3pl = {"xe", "xé"} 	 

	data.forms.impf_ind_1sg = {"gero", "xero", "jero"}
	data.forms.impf_ind_2sg = {"geri", "xeri", "jeri"}
	data.forms.impf_ind_3sg = {"gera", "xera", "jera"}
	data.forms.impf_ind_1pl = {"gèrimo", "xèrimo", "jèrimo"}
	data.forms.impf_ind_2pl = {"geri", "xeri", "jeri"}
	data.forms.impf_ind_3pl = {"gera", "xera", "jera"}
	
	data.forms.futr_ind_1sg = {"sarò"}
	data.forms.futr_ind_2sg = {"sarè"}
	data.forms.futr_ind_3sg = {"sarà"}
	data.forms.futr_ind_1pl = {"sarémo"}
	data.forms.futr_ind_2pl = {"sarè"}
	data.forms.futr_ind_3pl = {"sarà"}
	
	data.forms.cond_ind_1sg = {"sarìa"}
	data.forms.cond_ind_2sg = {"sarisi"}
	data.forms.cond_ind_3sg = {"sarìa"}
	data.forms.cond_ind_1pl = {"sarìsimo"}
	data.forms.cond_ind_2pl = {"sarisi"}
	data.forms.cond_ind_3pl = {"sarìa"}
	
	data.forms.pres_sub_1sg = {"sia"}
	data.forms.pres_sub_2sg = {"sì"}
	data.forms.pres_sub_3sg = {"sia"}
	data.forms.pres_sub_1pl = {"sémo"}
	data.forms.pres_sub_2pl = {"sì"}
	data.forms.pres_sub_3pl = {"sia"}
	
	data.forms.impf_sub_1sg = {"fuse"}
	data.forms.impf_sub_2sg = {"fusi"}
	data.forms.impf_sub_3sg = {"fuse"}
	data.forms.impf_sub_1pl = {"fùsimo"}
	data.forms.impf_sub_2pl = {"fusi"}
	data.forms.impf_sub_3pl = {"fuse"}
	
	data.forms.impr_2sg = {"si"}
	data.forms.impr_3sg = {"sia"}
	data.forms.impr_1pl = {"sémo"}
	data.forms.impr_2pl = {"sì"}
	data.forms.impr_3pl = {"sia"}
	
	table.insert(data.categories, "Venetian irregular verbs")
	table.insert(data.categories, "Venetian suppletive verbs")
	table.insert(data.categories, "Venetian verbs taking èser as auxiliary")
end)

inflections["aver"] = add_inflection(function(self, args, data)
	data.conj = "irregular"
	
	data.forms.inf = {"aver"}
	data.forms.aux = {"aver"}
	data.forms.gerund = {"avéndo"}
	data.forms.past_part = {"vùo", "avudo", "vudo", "vù"}
	
	data.forms.pres_ind_1sg = {"go", "ò"} 
	data.forms.pres_ind_2sg = {"ghè", "ga"}
	data.forms.pres_ind_3sg = {"ga", "à"}
	data.forms.pres_ind_1pl = {"avémo", "gavémo", "òn", "avòn"}
	data.forms.pres_ind_2pl = {"avì"}
	data.forms.pres_ind_3pl = {"ga", "à"} 	 

	data.forms.impf_ind_1sg = {"avéa", "gavéa"}
	data.forms.impf_ind_2sg = {"avivi", "avevi"}
	data.forms.impf_ind_3sg = {"avéa", "gavéa"} 
	data.forms.impf_ind_1pl = {"avévimo"}
	data.forms.impf_ind_2pl = {"avivi", "avevi"}
	data.forms.impf_ind_3pl = {"avéa", "gavéa"} 
	
	data.forms.futr_ind_1sg = {"avarò"}
	data.forms.futr_ind_2sg = {"avarè"}
	data.forms.futr_ind_3sg = {"avarà"}
	data.forms.futr_ind_1pl = {"avarémo", "avaròn"}
	data.forms.futr_ind_2pl = {"avarè"}
	data.forms.futr_ind_3pl = {"avarà"}
	
	data.forms.cond_ind_1sg = {"avarìa", "averàve", "gavaria"}
	data.forms.cond_ind_2sg = {"avarisi"}
	data.forms.cond_ind_3sg = {"avarìa", "averàve", "gavaria"}
	data.forms.cond_ind_1pl = {"avarìsimo"}
	data.forms.cond_ind_2pl = {"avarisi"}
	data.forms.cond_ind_3pl = {"avarìa", "averàve", "gavaria"}
	
	data.forms.pres_sub_1sg = {"abia"}
	data.forms.pres_sub_2sg = {"abi"}
	data.forms.pres_sub_3sg = {"abia"}
	data.forms.pres_sub_1pl = {"avémo"}
	data.forms.pres_sub_2pl = {"avì"}
	data.forms.pres_sub_3pl = {"abia"}
	
	data.forms.impf_sub_1sg = {"avése"}
	data.forms.impf_sub_2sg = {"avisi"}
	data.forms.impf_sub_3sg = {"avése"}
	data.forms.impf_sub_1pl = {"avésimo"}
	data.forms.impf_sub_2pl = {"avisi"}
	data.forms.impf_sub_3pl = {"avése"}
	
	data.forms.impr_2sg = {"abi"}
	data.forms.impr_3sg = {"abia"}
	data.forms.impr_1pl = {"avémo"}
	data.forms.impr_2pl = {"avì"}
	data.forms.impr_3pl = {"abia"}
	
	table.insert(data.categories, "Venetian irregular verbs")
end)

inflections["oler"] = add_inflection(function(self, args, data)
	data.conj = "irregular"
	
	data.forms.inf = {"oler"}
	data.forms.aux = {"aver"}
	data.forms.gerund = {"olèndo"}
	data.forms.past_part = {"olest"}
	
	data.forms.pres_ind_1sg = {"oi"} 
	data.forms.pres_ind_2sg = {"oi", "ol"}
	data.forms.pres_ind_3sg = {"ol"}
	data.forms.pres_ind_1pl = {"olon"}
	data.forms.pres_ind_2pl = {"olé"}
	data.forms.pres_ind_3pl = {"oi"} 	 

	data.forms.impf_ind_1sg = {"olé"}
	data.forms.impf_ind_2sg = {"olei"}
	data.forms.impf_ind_3sg = {"olea"} 
	data.forms.impf_ind_1pl = {"olène"}
	data.forms.impf_ind_2pl = {"olèđe"}
	data.forms.impf_ind_3pl = {"olea"} 
	
	data.forms.futr_ind_1sg = {"olerò", "orò"}
	data.forms.futr_ind_2sg = {"olerà"}
	data.forms.futr_ind_3sg = {"olerà"}
	data.forms.futr_ind_1pl = {"oleron"}
	data.forms.futr_ind_2pl = {"oleré"}
	data.forms.futr_ind_3pl = {"olerà"}
	
	data.forms.cond_ind_1sg = {"olerìe"}
	data.forms.cond_ind_2sg = {"olerisi"}
	data.forms.cond_ind_3sg = {"olerìe"}
	data.forms.cond_ind_1pl = {"olerisène"}
	data.forms.cond_ind_2pl = {"olerisèđe"}
	data.forms.cond_ind_3pl = {"olerìe"}
	
	data.forms.pres_sub_1sg = {"ope"}
	data.forms.pres_sub_2sg = {"opi"}
	data.forms.pres_sub_3sg = {"ope"}
	data.forms.pres_sub_1pl = {"olone"}
	data.forms.pres_sub_2pl = {"oleđe"}
	data.forms.pres_sub_3pl = {"ope"}
	
	data.forms.impf_sub_1sg = {"olese"}
	data.forms.impf_sub_2sg = {"olesi"}
	data.forms.impf_sub_3sg = {"olese"}
	data.forms.impf_sub_1pl = {"olerisène"}
	data.forms.impf_sub_2pl = {"olerisèđe"}
	data.forms.impf_sub_3pl = {"olese"}
	
	data.forms.impr_2sg = {"oi"}
	data.forms.impr_2pl = {"olé"}

	table.insert(data.categories, "Venetian irregular verbs")
end)

return inflections