Modulo:La-conj

Da Wikizionario, il dizionario a contenuto aperto.
Jump to navigation Jump to search

Questo modulo costituisce il codice di funzionamento del Template:La-conj e crea, in base ai parametri inseriti in quest'ultimo, la tabella di coniugazione dei verbi latini.

Si compone di una funzione principale, p.laconj (richiamata direttamente nel template) e di quattro funzioni accessorie (p.nodiacritic, p.over, p.wiki, e p.alts) che sono utilizzate solo all'interno della funzione principale per abbreviarne il codice (ad es., la funzione p.wiki rende il suo argomento un wikilink). Le sezioni seguenti illustrano il loro funzionamento, iniziando da quella principale.

Questo modulo è stato creato nel luglio 2016 a partire dal modulo:It-conj, a sua volta derivato dal corrispondente modulo di en.wikt, la cui cronologia riporta i relativi autori (NB: successive modifiche apportate tanto su en. quanto su it. hanno reso i due moduli molto diversi fra loro, per cui i relativi template potrebbero comportarsi in modo molto differente). Rispetto ai fratelli Modulo:It-conj e Modulo:Fr-conj il modulo è molto complesso (e in parte ancora work in progress) fondamentalmente perché il latino è una lingua MOLTO complessa da gestire.

Funzione p.laconj

È la funzione principale del modulo; interpreta i parametri inseriti nel template (coniugazione, temi del presente, perfetto, supino e infinito, tipologia del verbo ed eventuali forme irregolari) e in base ad essi costruisce la tabella che ne costituisce l'output. La funzione internamente è suddivisibile in sottosezioni identificate nel modulo dai -- commenti; tali sottosezioni vengono di seguito brevemente descritte separatamente.

La prima sottosezione definisce le variabili passate al modulo dal template:

  • coniug : la coniugazione del verbo (1, 2, 3, 3-io o 4); corrisponde al parametro |coniug = del Template:La-conj
  • temapres : il tema del verbo al presente; corrisponde al parametro |temapres = del Template:La-conj
  • temaperf : il tema del verbo al perfetto; corrisponde al parametro |temaperf = del Template:La-conj
  • temasup : il tema del verbo al supino; corrisponde al parametro |temasup = del Template:La-conj
  • temainf : il tema del verbo all'infinito; corrisponde al parametro |temainf = del Template:La-conj
  • tipo : la tipologia del verbo (deponente, semideponente o privo di passivo); corrisponde al parametro |tipo = del Template:La-conj
  • vi è inoltre un'ulteriore variabile, para , richiamata dal Template:La-paradigma

Successivamente vengono definite le variabili interne al template, che saranno poi codificate successivamente: ad es. infpres per la voce verbale all'infinito presente, pres1s per la prima persona singolare del presente indicativo, perf1s per la prima persona singolare del perfetto e così via; se si aggiunge una nuova variabile è bene aggiungerla anche a tale lista, altrimenti potrebbe risultare nulla.

Segue poi la costruzione delle voci verbali standard: in base alla coniugazione (coniug) il modulo genera le stringhe per le varie forme flesse unendo radice (tema...) e relativa uscita: ad es. se la coniugazione è la prima (if coniug = "1"), pres1s = stem.. "ō" (laudō); perf1s = stem.. "ī" (laudī) e così via per le quattro coniugazioni ed eventuali casi particolari. Il modulo gestisce anche le uscite per le forme passive.

Da notare che le uscite hanno i segni di lunga e breve (), il modulo crea poi i link corretti ai lemmi senza diacritici grazie alla funzione p.nodiacritic descritta più avanti.


Nella sezione --in base al parametro "tipo"... il modulo gestisce appunto i verbi deponenti, semideponenti o privi di passivo, modificando le voci verbali di conseguenza (il tutto è spiegato nei commenti del modulo e dovrebbe essere comprensibile)

Nella sottosezione identificata da -- Recupera le eventuali forme irregolari o varianti.., le stringhe per le voci verbali così create vengono riunite in stringhe uniche: la funzione p.over sostituisce la forma flessa generata automaticamente con quella eventualmente inserita manualmente nel template, se presente; la funzione p.alts aggiunge alla forma flessa generata automaticamente quella eventualmente inserita manualmente, se presente. Ad es. per il presente indicativo:

  • pres1s = p.over(pres1s,args["pres1s"]) -> se nel template è inserito il parametro "pres1s=", viene sovrascritto a quello generato automaticamente
  • pres1s = p.alts(pres1s, pres1s2) -> se nel template è inserito il parametro "pres1s2=", viene aggiunto accanto a quello generato automaticamente

Vi è poi la sezione -- costruisce il paradigma del verbo richiamando le relative voci verbali e seguenti, che genera la stringa del paradigma inserita poi nella tabella di coniugazione e richiamata dal Template:La-paradigma.

Infine, nella sottosezione -- Costruisce la tabella di coniugazione il modulo costruisce la tabella (conj) e vi inserisce le voci verbali precedentemente generate. Il modulo realizza due diverse tabelle in base al parametro tipo : se il verbo è deponente, semideponente o privo di passivo (ovvero if tipo == "dep" or tipo == "semidep" or tipo == "nopass") il modulo genera una tabella priva delle sezioni per il passivo, altrimenti (else, riga 622) genera la tabella completa.

Il modulo restituisce la relativa tabella come output (return conj).

Funzione p.nodiacritic

La funzione p.nodiacritic (p.nodiacritic(x)) rimuove i diacritici di lunga e di breve per generare i link ai lemmi del wikizionario (che, nel caso del latino, DOVREBBERO essere senza diacritici). In pratica se si scrive puĕr la funzione restituisce puer

Funzione p.over

La funzione p.over (p.over(x,over)) serve per sovrascrivere l'eventuale voce verbale irregolare (identificata dal suo secondo argomento, over), se definita, a quella generata automaticamente (identificata dal primo argomento x). Ad esempio, all'interno della funzione principale il codice

  • pp = p.over(pp,args["pp"])

cerca l'eventuale parametro "pp=" (participio passato) nel template; se questo è definito lo rimpiazza alla forma predefinita, se non lo è restituisce invece quest'ultima.

Funzione p.wiki

La funzione p.wiki (p.wiki(x)) rende il suo argomento, x, un wikilink, con "pipe" alla sezione Latino. In pratica, nel modulo, scrivere p.wiki(qualcosa) equivale al wikicodice [[qualcosa#Latino|qualcosa]].

Inoltre, la funzione controlla, tramite la funzione standard di Scribunto mw.title.new(x).exists (si veda anche qui) se la pagina a cui punta tale link esiste o meno (funziona in modo molto simile alla funzione parser ifexist del codice mediawiki). Se la pagina non esiste, aggiunge al wikilink la Categoria:Verbi latini con forme da scrivere, e/o la Categoria:Verbi latini da scrivere se ad essere rosso è il link verso la forma all'infinito.

Funzione p.alts

La funzione p.alts (p.alts(x, y)) aggiunge l'eventuale variante alternativa (identificata dal suo secondo argomento, y), se definita, accanto a quella generata automaticamente (identificata dal primo argomento x), separandola con una virgola. Ad esempio, all'interno della funzione principale, il codice

  • pp = p.alts(pp, pp2)

cerca l'eventuale parametro "pp2=" (variante del participio passato) nel template; se questo è definito lo aggiunge al seguito di quella base, se non lo è restituisce invece solo quest'ultima.


-- Questo modulo contiene il codice per il template:la-conj, che genera la coniugazione di tutti i verbi latini
-- La funzione laconj genera la tabella di coniugazione utilizzando i parametri passati dal template
-- Questo modulo è derivato dal Modulo:It-conj, e modificato ad hoc

p = {}

function p.laconj(frame)
	pframe = frame:getParent()
	config = frame.args
	args = pframe.args
-- Argomenti passati dal template
	tipo = config["tipo"] or " "
	coniug = config["coniug"]
	temapres = config["temapres"]
	if tipo == "dep" or tipo == "semidep" then --toglie di mezzo il tema del perfetto per deponenti e semideponenti
		temaperf = "n.e."
	else
		temaperf = config["temaperf"]
	end
	temasup = config["temasup"]
	if frame.args["temainf"] > "0" then temainf = config["temainf"] else temainf = temapres end --nel 99% dei casi il tema dell'infinito è uguale a quello del presente, risparmiamo un parametro
-- Inizializzazione di tutte le variabili interne, che potrebbero altrimenti risultare nulle
	paradigma = ""; descrizione = ""; coniug_descr = ""; tipo_descr = ""
-- Voci verbali attive
	infpres = ""; inffut = ""; infperf = ""
	p_pres= ""; p_perf = ""; p_fut = ""
	ger_acc = ""; ger_gen = ""; ger_dat = ""; ger_acc = ""; ger_abl = ""
	gerundivo = ""; sup = ""; sup_abl = ""
	pres1s = ""; pres1s2 = ""; pres2s=""; pres3s = ""; pres1p = ""; pres2p = ""; pres3p = ""; pres1s_nolink = ""
	imperf1s = ""; imperf2s=""; imperf3s = ""; imperf1p = ""; imperf2p = ""; imperf3p = ""
	perf1s = ""; perf1s2 = ""; perf2s = ""; perf3s = ""; perf3s2 = ""; perf1p = ""; perf2p = ""; perf3p = ""; perf3p2 = ""
	piuccheperf1s = ""; piuccheperf2s=""; piuccheperf3s = ""; piuccheperf1p = ""; piuccheperf2p = ""; piuccheperf3p = ""
	fut1s = ""; fut2s=""; fut3s = ""; fut1p =" "; fut2p = ""; fut3p = ""
	futant1s = ""; futant2s=""; futant3s = ""; futant1p =" "; futant2p = ""; futant3p = ""
	cong1s = ""; cong2s = ""; cong3s = ""; cong1p = ""; cong2p = ""; cong3p = ""
	congimp1s = ""; congimp2s = ""; congimp3s = ""; congimp1p = ""; congimp2p = ""; congimp3p = ""
	congperf1s = ""; congperf2s = ""; congperf3s = ""; congperf1p = ""; congperf2p = ""; congperf3p = ""
	congpiuccheperf1s = ""; congpiuccheperf2s = ""; congpiuccheperf3s = ""; congpiuccheperf1p = ""; congpiuccheperf2p = ""; congpiuccheperf3p = ""
	imp2s=""; imp2s2 = ""; imp2s3 = ""; imp3s = ""; imp1p = ""; imp2p = ""; imp3p = ""
	impfut2s=""; impfut2s2 = ""; impfut2s3 = ""; impfut3s = ""; impfut1p = ""; impfut2p = ""; impfut3p = ""
-- Voci verbali passive (NB: sono uguali alle diciture di quelle passive, ma iniziano con 'pass_')
	pass_infpres = ""; pass_inffut = ""; pass_infperf = ""
	pass_pres1s = ""; pass_pres1s2 = ""; pass_pres2s=""; pass_pres3s = ""; pass_pres1p = ""; pass_pres2p = ""; pass_pres3p = ""
	pass_imperf1s = ""; pass_imperf2s=""; pass_imperf3s = ""; pass_imperf1p = ""; pass_imperf2p = ""; pass_imperf3p = ""
	pass_perf1s = ""; pass_perf1s2 = ""; pass_perf2s = ""; pass_perf3s = ""; pass_perf3s2 = ""; pass_perf1p = ""; pass_perf2p = ""; pass_perf3p = ""; pass_perf3p2 = ""
	pass_piuccheperf1s = ""; pass_piuccheperf2s=""; pass_piuccheperf3s = ""; pass_piuccheperf1p = ""; pass_piuccheperf2p = ""; pass_piuccheperf3p = ""
	pass_fut1s = ""; pass_fut2s=""; pass_fut3s = ""; pass_fut1p =" "; pass_fut2p = ""; pass_fut3p = ""
	pass_futant1s = ""; pass_futant2s=""; pass_futant3s = ""; pass_futant1p =" "; pass_futant2p = ""; pass_futant3p = ""
	pass_cong1s = ""; pass_cong2s = ""; pass_cong3s = ""; pass_cong1p = ""; pass_cong2p = ""; pass_cong3p = ""
	pass_congimp1s = ""; pass_congimp2s = ""; pass_congimp3s = ""; pass_congimp1p = ""; pass_congimp2p = ""; pass_congimp3p = ""
	pass_congperf1s = ""; pass_congperf2s = ""; pass_congperf3s = ""; pass_congperf1p = ""; pass_congperf2p = ""; pass_congperf3p = ""
	pass_congpiuccheperf1s = ""; pass_congpiuccheperf2s = ""; pass_congpiuccheperf3s = ""; pass_congpiuccheperf1p = ""; pass_congpiuccheperf2p = ""; pass_congpiuccheperf3p = ""
	pass_imp2s=""; pass_imp2s2 = ""; pass_imp2s3 = ""; pass_imp3s = ""; pass_imp1p = ""; pass_imp2p = ""; pass_imp3p = ""
	pass_impfut2s=""; pass_impfut2s2 = ""; pass_impfut2s3 = ""; pass_impfut3s = ""; pass_impfut1p = ""; pass_impfut2p = ""; pass_impfut3p = ""
	difettivo=""; difettivo_descr="" ; difettivopres=""; difettivoperf=""; difettivosup="";
	
-- A partire dalla coniugazione, genera le forme coniugate standard per ciascuna tipologia di verbo
	if (coniug == "1") then --PRIMA CONIUGAZIONE
		--PRIMA CONIUGAZIONE ATTIVA
		infpres = p.wiki(temainf .. "āre"); infperf = p.wiki(temaperf .. "isse"); inffut = p.wiki(temasup .. "urum").. " [[esse]]" 
		ger_nom = "''corrisponde all'infinito presente''"; ger_gen = p.wiki(temapres .. "andi"); ger_dat = p.wiki(temapres .. "ando"); ger_acc = p.wiki(temapres .. "andum"); ger_abl = p.wiki(temapres .. "ando")
		gerundivo = p.wiki(temapres .. "andus"); sup = p.wiki(temasup .. "um"); sup_abl = p.wiki(temasup .. "u")
		p_pres = p.wiki(temapres .. "ans"); p_perf = p.wiki(temasup .. "us"); p_fut = p.wiki(temasup .. "urus")
		pres1s = p.wiki(temapres .. "ō");  pres2s = p.wiki(temapres .. "ās");  pres3s = p.wiki(temapres .. "at"); pres1s_nolink = temapres.. "ō"
		pres1p = p.wiki(temapres .. "āmus");  pres2p = p.wiki(temapres .. "ātis");  pres3p = p.wiki(temapres .. "ānt")        
		imperf1s = p.wiki(temapres .. "ābam");  imperf2s = p.wiki(temapres .. "ābas");  imperf3s = p.wiki(temapres .. "ābat")
		imperf1p = p.wiki(temapres .. "abāmus");  imperf2p = p.wiki(temapres .. "abātis");  imperf3p = p.wiki(temapres .. "ābant") 
		fut1s = p.wiki(temapres .. "ābo");  fut2s = p.wiki(temapres .. "ābis");  fut3s = p.wiki(temapres .. "ābit")
		fut1p = p.wiki(temapres .. "abĭmus");  fut2p = p.wiki(temapres .. "abĭtis");  fut3p = p.wiki(temapres .. "ābunt")
		perf1s = p.wiki(temaperf .. "ī");  perf2s = p.wiki(temaperf .. "īsti");  perf3s = p.wiki(temaperf .. "it")
		perf1p = p.wiki(temaperf .. "ĭmus");  perf2p = p.wiki(temaperf .. "īstis");  perf3p = p.wiki(temaperf .. "ērunt"); perf3p2 = p.wiki(temaperf .. "ēre")
		piuccheperf1s = p.wiki(temaperf .. "ĕram");  piuccheperf2s = p.wiki(temaperf .. "ĕras");  piuccheperf3s = p.wiki(temaperf .. "ĕrat")
		piuccheperf1p = p.wiki(temaperf .. "erāmus");  piuccheperf2p = p.wiki(temaperf .. "erātis");  piuccheperf3p = p.wiki(temaperf .. "ĕrant") 
		futant1s = p.wiki(temaperf .. "ĕro");  futant2s = p.wiki(temaperf .. "ĕris");  futant3s = p.wiki(temaperf .. "ĕrit")
		futant1p = p.wiki(temaperf .. "erĭmus");  futant2p = p.wiki(temaperf .. "erĭtis");  futant3p = p.wiki(temaperf .. "ĕrint")
		cong1s = p.wiki(temapres .. "em"); cong2s=p.wiki(temapres .. "es"); cong3s = p.wiki(temapres .. "et")
		cong1p = p.wiki(temapres .. "ēmus");  cong2p = p.wiki(temapres .. "ētis");  cong3p = p.wiki(temapres .. "ent")
		congimp1s = p.wiki(temapres .. "ārem"); congimp2s = p.wiki(temapres.. "āres");  congimp3s = p.wiki(temapres .. "āret")
		congimp1p = p.wiki(temapres .. "arēmus");  congimp2p = p.wiki(temapres .. "arētis");  congimp3p = p.wiki(temapres .. "ārent")
		congperf1s = p.wiki(temaperf .. "ĕrim");  congperf2s = p.wiki(temaperf .. "ĕris");  congperf3s = p.wiki(temaperf .. "ĕrit")
		congperf1p = p.wiki(temaperf .. "erĭmus");  congperf2p = p.wiki(temaperf .. "erĭtis");  congperf3p = p.wiki(temaperf .. "ĕrint")
		congpiuccheperf1s = p.wiki(temaperf .. "issem");  congpiuccheperf2s = p.wiki(temaperf .. "isses");  congpiuccheperf3s = p.wiki(temaperf .. "isset")
		congpiuccheperf1p = p.wiki(temaperf .. "issēmus");  congpiuccheperf2p = p.wiki(temaperf .. "issētis");  congpiuccheperf3p = p.wiki(temaperf .. "issent")
		imp2s = p.wiki(temapres .. "ā");  imp3s = ""
		imp2p = p.wiki(temapres .. "āte");  imp3p = ""
		impfut2s = p.wiki(temapres .. "āto");  impfut3s = p.wiki(temapres .. "āto")
		impfut2p = p.wiki(temapres .. "atōte");  impfut3p = p.wiki(temapres .. "ānto") 
		--PRIMA CONIUGAZIONE PASSIVA
		pass_infpres = p.wiki(temainf .. "ari"); pass_infperf = p.wiki(temasup .. "um").. " [[esse]]"; pass_inffut = p.wiki(temasup .. "um").. " [[iri]]"
		pass_pres1s = p.wiki(temapres .. "or");  pass_pres2s = p.wiki(temapres .. "āris"); pass_pres2s2 = p.wiki(temapres .. "āre");  pass_pres3s = p.wiki(temapres .. "ātur"); pass_pres1s_nolink = temapres.. "or"
		pass_pres1p = p.wiki(temapres .. "āmur");  pass_pres2p = p.wiki(temapres .. "āmĭni");  pass_pres3p = p.wiki(temapres .. "āntur")        
		pass_imperf1s = p.wiki(temapres .. "ābar");  pass_imperf2s = p.wiki(temapres .. "abāris");  pass_imperf2s2 = p.wiki(temapres .. "ābāre");  pass_imperf3s = p.wiki(temapres .. "abātur")
		pass_imperf1p = p.wiki(temapres .. "abāmur");  pass_imperf2p = p.wiki(temapres .. "abāmĭni");  pass_imperf3p = p.wiki(temapres .. "abāntur") 
		pass_fut1s = p.wiki(temapres .. "ābor");  pass_fut2s = p.wiki(temapres .. "abĕris");  pass_fut2s2 = p.wiki(temapres .. "ābere");  pass_fut3s = p.wiki(temapres .. "ābĭtur")
		pass_fut1p = p.wiki(temapres .. "ābĭmur");  pass_fut2p = p.wiki(temapres .. "abimĭni");  pass_fut3p = p.wiki(temapres .. "abūntur")
		pass_perf1s = p.wiki(temasup .. "us").. " [[sum]]";  pass_perf2s = p.wiki(temasup .. "us").. " [[es]]";  pass_perf3s = p.wiki(temasup .. "us").. " [[est]]"
		pass_perf1p = p.wiki(temasup .. "i").. " [[sumus]]";  pass_perf2p = p.wiki(temasup .. "i").. " [[estis]]";  pass_perf3p = p.wiki(temasup .. "i").. " [[sunt]]"
		pass_piuccheperf1s = p.wiki(temasup .. "us").. " [[eram]]";  pass_piuccheperf2s = p.wiki(temasup .. "us").. " [[eras]]";  pass_piuccheperf3s = p.wiki(temasup .. "us").. " [[erat]]"
		pass_piuccheperf1p = p.wiki(temasup .. "i").. " [[eramus]]";  pass_piuccheperf2p = p.wiki(temasup .. "i").. " [[eratis]]";  pass_piuccheperf3p = p.wiki(temasup .. "i").. " [[erant]]" 
		pass_futant1s = p.wiki(temasup .. "us").. " [[ero]]";  pass_futant2s = p.wiki(temasup .. "us").. " [[eris]]";  pass_futant3s = p.wiki(temasup .. "us").. " [[erit]]"
		pass_futant1p = p.wiki(temasup .. "i").. " [[erimus]]";  pass_futant2p = p.wiki(temasup .. "i").. " [[eritis]]";  pass_futant3p = p.wiki(temasup .. "i").. " [[erunt]]"
		pass_cong1s = p.wiki(temapres .. "er"); pass_cong2s=p.wiki(temapres .. "ēris"); pass_cong2s2 = p.wiki(temapres .. "ēre"); pass_cong3s = p.wiki(temapres .. "ētur")
		pass_cong1p = p.wiki(temapres .. "ēmur");  pass_cong2p = p.wiki(temapres .. "emĭni");  pass_cong3p = p.wiki(temapres .. "ēntur")
		pass_congimp1s = p.wiki(temapres .. "arer"); pass_congimp2s = p.wiki(temapres .. "areris"); pass_congimp2s2 = p.wiki(temapres .. "ārēre"); pass_congimp3s = p.wiki(temapres .. "aretur")
		pass_congimp1p = p.wiki(temapres .. "aremur");  pass_congimp2p = p.wiki(temapres .. "aremini");  pass_congimp3p = p.wiki(temapres .. "arentur")
		pass_congperf1s = p.wiki(temasup .. "us").. " [[sim]]"; pass_congperf2s = p.wiki(temasup .. "us").. " [[sis]]";  pass_congperf3s = p.wiki(temasup .. "us").. " [[sit]]"
		pass_congperf1p = p.wiki(temasup .. "i").. " [[simus]]";  pass_congperf2p = p.wiki(temasup .. "i").. " [[sitis]]";  pass_congperf3p = p.wiki(temasup .. "i").. " [[sint]]"
		pass_congpiuccheperf1s = p.wiki(temasup .. "us").. " [[essem]]";  pass_congpiuccheperf2s = p.wiki(temasup .. "us").. " [[esses]]";  pass_congpiuccheperf3s = p.wiki(temasup .. "us").. " [[esset]]"
		pass_congpiuccheperf1p = p.wiki(temasup .. "i").. " [[essemus]]";  pass_congpiuccheperf2p = p.wiki(temasup .. "i").. " [[essetis]]";  pass_congpiuccheperf3p = p.wiki(temasup .. "i").. " [[essent]]"
		pass_imp2s = p.wiki(temapres .. "are")
		pass_imp2p = p.wiki(temapres .. "amini")
		pass_impfut2s = p.wiki(temapres .. "ātor");  pass_impfut3s = p.wiki(temapres .. "ātor")
		pass_impfut2p = temapres .. "aminor";  pass_impfut3p = p.wiki(temapres .. "antor")  
	elseif (coniug == "2") then
		--SECONDA CONIUGAZIONE ATTIVA
		infpres = p.wiki(temainf .. "ēre"); infperf = p.wiki(temaperf .. "isse"); inffut = p.wiki(temasup .. "ūrum").. " [[esse]]" 
		ger_nom = "''corrisponde all'infinito presente''"; ger_gen = p.wiki(temapres .. "endi"); ger_dat = p.wiki(temapres .. "endo"); ger_acc = p.wiki(temapres .. "endum"); ger_abl = p.wiki(temapres .. "endo")
		gerundivo = p.wiki(temapres .. "endus"); sup = p.wiki(temasup .. "um"); sup_abl = p.wiki(temasup .. "u")
		p_pres = p.wiki(temapres .. "ens"); p_perf = p.wiki(temasup .. "us"); p_fut = p.wiki(temasup .. "ūrus")
		pres1s = p.wiki(temapres .. "ĕo");  pres2s = p.wiki(temapres .. "es");  pres3s = p.wiki(temapres .. "et"); pres1s_nolink = temapres.. "ĕo"
		pres1p = p.wiki(temapres .. "ēmus");  pres2p = p.wiki(temapres .. "ētis");  pres3p = p.wiki(temapres .. "ent")        
		imperf1s = p.wiki(temapres .. "ēbam");  imperf2s = p.wiki(temapres .. "ēbas");  imperf3s = p.wiki(temapres .. "ēbat")
		imperf1p = p.wiki(temapres .. "ēbāmus");  imperf2p = p.wiki(temapres .. "ēbātis");  imperf3p = p.wiki(temapres .. "ēbant") 
		fut1s = p.wiki(temapres .. "ēbo");  fut2s = p.wiki(temapres .. "ēbis");  fut3s = p.wiki(temapres .. "ēbit")
		fut1p = p.wiki(temapres .. "ēbĭmus");  fut2p = p.wiki(temapres .. "ēbĭtis");  fut3p = p.wiki(temapres .. "ēbunt")
		perf1s = p.wiki(temaperf .. "i");  perf2s = p.wiki(temaperf .. "īsti");  perf3s = p.wiki(temaperf .. "it")
		perf1p = p.wiki(temaperf .. "ĭmus");  perf2p = p.wiki(temaperf .. "īstis");  perf3p = p.wiki(temaperf .. "ērunt")
		piuccheperf1s = p.wiki(temaperf .. "ĕram");  piuccheperf2s = p.wiki(temaperf .. "ĕras");  piuccheperf3s = p.wiki(temaperf .. "ĕrat")
		piuccheperf1p = p.wiki(temaperf .. "ĕrāmus");  piuccheperf2p = p.wiki(temaperf .. "ĕrātis");  piuccheperf3p = p.wiki(temaperf .. "ĕrant") 
		futant1s = p.wiki(temaperf .. "ĕro");  futant2s = p.wiki(temaperf .. "ĕris");  futant3s = p.wiki(temaperf .. "ĕrit")
		futant1p = p.wiki(temaperf .. "erĭmus");  futant2p = p.wiki(temaperf .. "erĭtis");  futant3p = p.wiki(temaperf .. "ĕrint")
		cong1s = p.wiki(temapres .. "ĕam"); cong2s=p.wiki(temapres .. "ĕas"); cong3s = p.wiki(temapres .. "ĕat")
		cong1p = p.wiki(temapres .. "eāmus");  cong2p = p.wiki(temapres .. "eātis");  cong3p = p.wiki(temapres .. "ĕant")
		congimp1s = p.wiki(temapres .. "ērem"); congimp2s = p.wiki(temapres.. "ēres");  congimp3s = p.wiki(temapres .. "ēret")
		congimp1p = p.wiki(temapres .. "ērēmus");  congimp2p = p.wiki(temapres .. "ērētis");  congimp3p = p.wiki(temapres .. "ērent")
		congperf1s = p.wiki(temaperf .. "ĕrim");  congperf2s = p.wiki(temaperf .. "ĕris");  congperf3s = p.wiki(temaperf .. "ĕrit")
		congperf1p = p.wiki(temaperf .. "erĭmus");  congperf2p = p.wiki(temaperf .. "erĭtis");  congperf3p = p.wiki(temaperf .. "ĕrint")
		congpiuccheperf1s = p.wiki(temaperf .. "issem");  congpiuccheperf2s = p.wiki(temaperf .. "isses");  congpiuccheperf3s = p.wiki(temaperf .. "isset")
		congpiuccheperf1p = p.wiki(temaperf .. "issēmus");  congpiuccheperf2p = p.wiki(temaperf .. "issētis");  congpiuccheperf3p = p.wiki(temaperf .. "issent")
		imp2s = p.wiki(temapres .. "ē");  imp3s = ""
		imp2p = p.wiki(temapres .. "ēte");  imp3p = ""
		impfut2s = p.wiki(temapres .. "ēto");  impfut3s = p.wiki(temapres .. "ēto")
		impfut2p = p.wiki(temapres .. "ētōte");  impfut3p = p.wiki(temapres .. "ēnto") 
		--SECONDA CONIUGAZIONE PASSIVA
		pass_infpres = p.wiki(temainf .. "ēri"); pass_infperf = p.wiki(temasup .. "um").. " [[esse]]"; pass_inffut = p.wiki(temasup .. "um").. " [[iri]]"
		pass_pres1s = p.wiki(temapres .. "ĕor");  pass_pres2s = p.wiki(temapres .. "ēris");  pass_pres3s = p.wiki(temapres .. "ētur"); pass_pres1s_nolink = temapres.. "ĕor"
		pass_pres1p = p.wiki(temapres .. "ēmur");  pass_pres2p = p.wiki(temapres .. "ēmĭni");  pass_pres3p = p.wiki(temapres .. "entur")        
		pass_imperf1s = p.wiki(temapres .. "ēbar");  pass_imperf2s = p.wiki(temapres .. "ēbāris");  pass_imperf3s = p.wiki(temapres .. "ēbātur")
		pass_imperf1p = p.wiki(temapres .. "ēbāmur");  pass_imperf2p = p.wiki(temapres .. "ebāmĭni");  pass_imperf3p = p.wiki(temapres .. "ebāntur") 
		pass_fut1s = p.wiki(temapres .. "ēbor");  pass_fut2s = p.wiki(temapres .. "ēbĕris");  pass_fut3s = p.wiki(temapres .. "ēbĭtur")
		pass_fut1p = p.wiki(temapres .. "ēbĭmur");  pass_fut2p = p.wiki(temapres .. "ēbimĭni");  pass_fut3p = p.wiki(temapres .. "ēbūntur")
		pass_perf1s = p.wiki(temasup .. "us").. " [[sum]]";  pass_perf2s = p.wiki(temasup .. "us").. " [[es]]";  pass_perf3s = p.wiki(temasup .. "us").. " [[est]]"
		pass_perf1p = p.wiki(temasup .. "i").. " [[sumus]]";  pass_perf2p = p.wiki(temasup .. "i").. " [[estis]]";  pass_perf3p = p.wiki(temasup .. "i").. " [[sunt]]"
		pass_piuccheperf1s = p.wiki(temasup .. "us").. " [[eram]]";  pass_piuccheperf2s = p.wiki(temasup .. "us").. " [[eras]]";  pass_piuccheperf3s = p.wiki(temasup .. "us").. " [[erat]]"
		pass_piuccheperf1p = p.wiki(temasup .. "i").. " [[eramus]]";  pass_piuccheperf2p = p.wiki(temasup .. "i").. " [[eratis]]";  pass_piuccheperf3p = p.wiki(temasup .. "i").. " [[erant]]" 
		pass_futant1s = p.wiki(temasup .. "us").. " [[ero]]";  pass_futant2s = p.wiki(temasup .. "us").. " [[eris]]";  pass_futant3s = p.wiki(temasup .. "us").. " [[erit]]"
		pass_futant1p = p.wiki(temasup .. "i").. " [[erimus]]";  pass_futant2p = p.wiki(temasup .. "i").. " [[eritis]]";  pass_futant3p = p.wiki(temasup .. "i").. " [[erunt]]"
		pass_cong1s = p.wiki(temapres .. "ĕar"); pass_cong2s=p.wiki(temapres .. "eāris"); pass_cong3s = p.wiki(temapres .. "eātur")
		pass_cong1p = p.wiki(temapres .. "eāmur");  pass_cong2p = p.wiki(temapres .. "eāmĭni");  pass_cong3p = p.wiki(temapres .. "eāntur")
		pass_congimp1s = p.wiki(temapres .. "ērer"); pass_congimp2s = p.wiki(temapres .. "ērēris");  pass_congimp3s = p.wiki(temapres .. "ērētur")
		pass_congimp1p = p.wiki(temapres .. "ērēmur");  pass_congimp2p = p.wiki(temapres .. "ēremĭni");  pass_congimp3p = p.wiki(temapres .. "ērēntur")
		pass_congperf1s = p.wiki(temasup .. "us").. " [[sim]]"; pass_congperf2s = p.wiki(temasup .. "us").. " [[sis]]";  pass_congperf3s = p.wiki(temasup .. "us").. " [[sit]]"
		pass_congperf1p = p.wiki(temasup .. "i").. " [[simus]]";  pass_congperf2p = p.wiki(temasup .. "i").. " [[sitis]]";  pass_congperf3p = p.wiki(temasup .. "i").. " [[sint]]"
		pass_congpiuccheperf1s = p.wiki(temasup .. "us").. " [[essem]]";  pass_congpiuccheperf2s = p.wiki(temasup .. "us").. " [[esses]]";  pass_congpiuccheperf3s = p.wiki(temasup .. "us").. " [[esset]]"
		pass_congpiuccheperf1p = p.wiki(temasup .. "i").. " [[essemus]]";  pass_congpiuccheperf2p = p.wiki(temasup .. "i").. " [[essetis]]";  pass_congpiuccheperf3p = p.wiki(temasup .. "i").. " [[essent]]"
		pass_imp2s = p.wiki(temapres .. "ēre")
		pass_imp2p = p.wiki(temapres .. "ēmini")
		pass_impfut2s = p.wiki(temapres .. "ētor");  pass_impfut3s = p.wiki(temapres .. "ētor")
		pass_impfut2p = "n.e.";  pass_impfut3p = p.wiki(temapres .. "ēntor")  
		elseif (coniug == "3") then
		--TERZA CONIUGAZIONE ATTIVA
		infpres = p.wiki(temainf .. "ĕre"); infperf = p.wiki(temaperf .. "isse"); inffut = p.wiki(temasup .. "ūrum").. " [[esse]]" 
		ger_nom = "''corrisponde all'infinito presente''"; ger_gen = p.wiki(temapres .. "endi"); ger_dat = p.wiki(temapres .. "endo"); ger_acc = p.wiki(temapres .. "endum"); ger_abl = p.wiki(temapres .. "endo")
		gerundivo = p.wiki(temapres .. "endus"); sup = p.wiki(temasup .. "um"); sup_abl = p.wiki(temasup .. "u")
		p_pres = p.wiki(temapres .. "ens"); p_perf = p.wiki(temasup .. "us"); p_fut = p.wiki(temasup .. "ūrus")
		pres1s = p.wiki(temapres .. "ō");  pres2s = p.wiki(temapres .. "is");  pres3s = p.wiki(temapres .. "it"); pres1s_nolink = temapres.. "o"
		pres1p = p.wiki(temapres .. "ĭmus");  pres2p = p.wiki(temapres .. "ĭtis");  pres3p = p.wiki(temapres .. "unt")        
		imperf1s = p.wiki(temapres .. "ēbam");  imperf2s = p.wiki(temapres .. "ēbas");  imperf3s = p.wiki(temapres .. "ēbat")
		imperf1p = p.wiki(temapres .. "ēbāmus");  imperf2p = p.wiki(temapres .. "ēbātis");  imperf3p = p.wiki(temapres .. "ēbant") 
		fut1s = p.wiki(temapres .. "am");  fut2s = p.wiki(temapres .. "es");  fut3s = p.wiki(temapres .. "et")
		fut1p = p.wiki(temapres .. "ēmus");  fut2p = p.wiki(temapres .. "ētis");  fut3p = p.wiki(temapres .. "ent")
		perf1s = p.wiki(temaperf .. "i");  perf2s = p.wiki(temaperf .. "īsti");  perf3s = p.wiki(temaperf .. "it")
		perf1p = p.wiki(temaperf .. "ĭmus");  perf2p = p.wiki(temaperf .. "īstis");  perf3p = p.wiki(temaperf .. "ērunt")
		piuccheperf1s = p.wiki(temaperf .. "ĕram");  piuccheperf2s = p.wiki(temaperf .. "ĕras");  piuccheperf3s = p.wiki(temaperf .. "ĕrat")
		piuccheperf1p = p.wiki(temaperf .. "erāmus");  piuccheperf2p = p.wiki(temaperf .. "erātis");  piuccheperf3p = p.wiki(temaperf .. "ĕrant") 
		futant1s = p.wiki(temaperf .. "ĕro");  futant2s = p.wiki(temaperf .. "ĕris");  futant3s = p.wiki(temaperf .. "ĕrit")
		futant1p = p.wiki(temaperf .. "erĭmus");  futant2p = p.wiki(temaperf .. "erĭtis");  futant3p = p.wiki(temaperf .. "ĕrint")
		cong1s = p.wiki(temapres .. "am"); cong2s=p.wiki(temapres .. "as"); cong3s = p.wiki(temapres .. "at")
		cong1p = p.wiki(temapres .. "āmus");  cong2p = p.wiki(temapres .. "ātis");  cong3p = p.wiki(temapres .. "ant")
		congimp1s = p.wiki(temapres .. "ĕrem"); congimp2s = p.wiki(temapres.. "ĕres");  congimp3s = p.wiki(temapres .. "ĕret")
		congimp1p = p.wiki(temapres .. "erēmus");  congimp2p = p.wiki(temapres .. "erētis");  congimp3p = p.wiki(temapres .. "ĕrent")
		congperf1s = p.wiki(temaperf .. "ĕrim");  congperf2s = p.wiki(temaperf .. "ĕris");  congperf3s = p.wiki(temaperf .. "ĕrit")
		congperf1p = p.wiki(temaperf .. "erĭmus");  congperf2p = p.wiki(temaperf .. "erĭtis");  congperf3p = p.wiki(temaperf .. "ĕrint")
		congpiuccheperf1s = p.wiki(temaperf .. "issem");  congpiuccheperf2s = p.wiki(temaperf .. "isses");  congpiuccheperf3s = p.wiki(temaperf .. "isset")
		congpiuccheperf1p = p.wiki(temaperf .. "issēmus");  congpiuccheperf2p = p.wiki(temaperf .. "issētis");  congpiuccheperf3p = p.wiki(temaperf .. "issent")
		imp2s = p.wiki(temapres .. "ĕ");  imp3s = ""
		imp2p = p.wiki(temapres .. "ĭte");  imp3p = ""
		impfut2s = p.wiki(temapres .. "ĭto");  impfut3s = p.wiki(temapres .. "ĭto")
		impfut2p = temapres .. "itōte";  impfut3p = p.wiki(temapres .. "ūnto") 
		--TERZA CONIUGAZIONE PASSIVA
		pass_infpres = p.wiki(temainf .. "i"); pass_infperf = p.wiki(temasup .. "um").. " [[esse]]"; pass_inffut = p.wiki(temasup .. "um").. " [[iri]]"
		pass_pres1s = p.wiki(temapres .. "or");  pass_pres2s = p.wiki(temapres .. "ĕris");  pass_pres3s = p.wiki(temapres .. "ĭtur"); pass_pres1s_nolink = temapres.. "ĕor"
		pass_pres1p = p.wiki(temapres .. "ĭmur");  pass_pres2p = p.wiki(temapres .. "imĭni");  pass_pres3p = p.wiki(temapres .. "untur")        
		pass_imperf1s = p.wiki(temapres .. "ēbar");  pass_imperf2s = p.wiki(temapres .. "ēbāris");  pass_imperf3s = p.wiki(temapres .. "ēbātur")
		pass_imperf1p = p.wiki(temapres .. "ēbāmur");  pass_imperf2p = p.wiki(temapres .. "ebāmĭni");  pass_imperf3p = p.wiki(temapres .. "ēbāntur") 
		pass_fut1s = p.wiki(temapres .. "ar");  pass_fut2s = p.wiki(temapres .. "ēris");  pass_fut3s = p.wiki(temapres .. "ētur")
		pass_fut1p = p.wiki(temapres .. "ēmur");  pass_fut2p = p.wiki(temapres .. "ēmĭni");  pass_fut3p = p.wiki(temapres .. "ēntur")
		pass_perf1s = p.wiki(temasup .. "us").. " [[sum]]";  pass_perf2s = p.wiki(temasup .. "us").. " [[es]]";  pass_perf3s = p.wiki(temasup .. "us").. " [[est]]"
		pass_perf1p = p.wiki(temasup .. "i").. " [[sumus]]";  pass_perf2p = p.wiki(temasup .. "i").. " [[estis]]";  pass_perf3p = p.wiki(temasup .. "i").. " [[sunt]]"
		pass_piuccheperf1s = p.wiki(temasup .. "us").. " [[eram]]";  pass_piuccheperf2s = p.wiki(temasup .. "us").. " [[eras]]";  pass_piuccheperf3s = p.wiki(temasup .. "us").. " [[erat]]"
		pass_piuccheperf1p = p.wiki(temasup .. "i").. " [[eramus]]";  pass_piuccheperf2p = p.wiki(temasup .. "i").. " [[eratis]]";  pass_piuccheperf3p = p.wiki(temasup .. "i").. " [[erant]]" 
		pass_futant1s = p.wiki(temasup .. "us").. " [[ero]]";  pass_futant2s = p.wiki(temasup .. "us").. " [[eris]]";  pass_futant3s = p.wiki(temasup .. "us").. " [[erit]]"
		pass_futant1p = p.wiki(temasup .. "i").. " [[erimus]]";  pass_futant2p = p.wiki(temasup .. "i").. " [[eritis]]";  pass_futant3p = p.wiki(temasup .. "i").. " [[erunt]]"
		pass_cong1s = p.wiki(temapres .. "ar"); pass_cong2s=p.wiki(temapres .. "āris"); pass_cong3s = p.wiki(temapres .. "ātur")
		pass_cong1p = p.wiki(temapres .. "āmur");  pass_cong2p = p.wiki(temapres .. "āmĭni");  pass_cong3p = p.wiki(temapres .. "āntur")
		pass_congimp1s = p.wiki(temapres .. "ĕrer"); pass_congimp2s = p.wiki(temapres .. "erēris");  pass_congimp3s = p.wiki(temapres .. "erētur")
		pass_congimp1p = p.wiki(temapres .. "erēmur");  pass_congimp2p = p.wiki(temapres .. "erēmĭni");  pass_congimp3p = p.wiki(temapres .. "erēntur")
		pass_congperf1s = p.wiki(temasup .. "us").. " [[sim]]"; pass_congperf2s = p.wiki(temasup .. "us").. " [[sis]]";  pass_congperf3s = p.wiki(temasup .. "us").. " [[sit]]"
		pass_congperf1p = p.wiki(temasup .. "i").. " [[simus]]";  pass_congperf2p = p.wiki(temasup .. "i").. " [[sitis]]";  pass_congperf3p = p.wiki(temasup .. "i").. " [[sint]]"
		pass_congpiuccheperf1s = p.wiki(temasup .. "us").. " [[essem]]";  pass_congpiuccheperf2s = p.wiki(temasup .. "us").. " [[esses]]";  pass_congpiuccheperf3s = p.wiki(temasup .. "us").. " [[esset]]"
		pass_congpiuccheperf1p = p.wiki(temasup .. "i").. " [[essemus]]";  pass_congpiuccheperf2p = p.wiki(temasup .. "i").. " [[essetis]]";  pass_congpiuccheperf3p = p.wiki(temasup .. "i").. " [[essent]]"
		pass_imp2s = p.wiki(temapres .. "ere")
		pass_imp2p = p.wiki(temapres .. "imini")
		pass_impfut2s = p.wiki(temapres .. "itor");  pass_impfut3s = p.wiki(temapres .. "itor")
		pass_impfut2p = "n.e.";  pass_impfut3p = p.wiki(temapres .. "untor")  
		elseif (coniug == "4") then
		--QUARTA CONIUGAZIONE ATTIVA
		infpres = p.wiki(temainf .. "ire"); infperf = p.wiki(temaperf .. "isse"); inffut = p.wiki(temasup .. "ūrum").. " [[esse]]" 
		ger_nom = "''corrisponde all'infinito presente''"; ger_gen = p.wiki(temapres .. "iendi"); ger_dat = p.wiki(temapres .. "iendo"); ger_acc = p.wiki(temapres .. "iendum"); ger_abl = p.wiki(temapres .. "iendo")
		gerundivo = p.wiki(temapres .. "iendus"); sup = p.wiki(temasup .. "um"); sup_abl = p.wiki(temasup .. "u")
		p_pres = p.wiki(temapres .. "iens"); p_perf = p.wiki(temasup .. "us"); p_fut = p.wiki(temasup .. "ūrus")
		pres1s = p.wiki(temapres .. "io");  pres2s = p.wiki(temapres .. "is");  pres3s = p.wiki(temapres .. "it"); pres1s_nolink = temapres.. "io"
		pres1p = p.wiki(temapres .. "īmus");  pres2p = p.wiki(temapres .. "ītis");  pres3p = p.wiki(temapres .. "iunt")        
		imperf1s = p.wiki(temapres .. "iēbam");  imperf2s = p.wiki(temapres .. "iēbas");  imperf3s = p.wiki(temapres .. "iēbat")
		imperf1p = p.wiki(temapres .. "iēbāmus");  imperf2p = p.wiki(temapres .. "iēbātis");  imperf3p = p.wiki(temapres .. "iēbant") 
		fut1s = p.wiki(temapres .. "iam");  fut2s = p.wiki(temapres .. "ies");  fut3s = p.wiki(temapres .. "iet")
		fut1p = p.wiki(temapres .. "iēmus");  fut2p = p.wiki(temapres .. "iētis");  fut3p = p.wiki(temapres .. "ient")
		perf1s = p.wiki(temaperf .. "i");  perf2s = p.wiki(temaperf .. "īsti");  perf3s = p.wiki(temaperf .. "it")
		perf1p = p.wiki(temaperf .. "ĭmus");  perf2p = p.wiki(temaperf .. "īstis");  perf3p = p.wiki(temaperf .. "ērunt")
		piuccheperf1s = p.wiki(temaperf .. "ĕram");  piuccheperf2s = p.wiki(temaperf .. "ĕras");  piuccheperf3s = p.wiki(temaperf .. "ĕrat")
		piuccheperf1p = p.wiki(temaperf .. "erāmus");  piuccheperf2p = p.wiki(temaperf .. "erātis");  piuccheperf3p = p.wiki(temaperf .. "ĕrant") 
		futant1s = p.wiki(temaperf .. "ĕro");  futant2s = p.wiki(temaperf .. "ĕris");  futant3s = p.wiki(temaperf .. "ĕrit")
		futant1p = p.wiki(temaperf .. "erĭmus");  futant2p = p.wiki(temaperf .. "erĭtis");  futant3p = p.wiki(temaperf .. "ĕrint")
		cong1s = p.wiki(temapres .. "iam"); cong2s=p.wiki(temapres .. "ias"); cong3s = p.wiki(temapres .. "iat")
		cong1p = p.wiki(temapres .. "iāmus");  cong2p = p.wiki(temapres .. "iātis");  cong3p = p.wiki(temapres .. "iant")
		congimp1s = p.wiki(temapres .. "īrem"); congimp2s = p.wiki(temapres.. "īres");  congimp3s = p.wiki(temapres .. "īret")
		congimp1p = p.wiki(temapres .. "irēmus");  congimp2p = p.wiki(temapres .. "irētis");  congimp3p = p.wiki(temapres .. "īrent")
		congperf1s = p.wiki(temaperf .. "ĕrim");  congperf2s = p.wiki(temaperf .. "ĕris");  congperf3s = p.wiki(temaperf .. "ĕrit")
		congperf1p = p.wiki(temaperf .. "erĭmus");  congperf2p = p.wiki(temaperf .. "erĭtis");  congperf3p = p.wiki(temaperf .. "ĕrint")
		congpiuccheperf1s = p.wiki(temaperf .. "issem");  congpiuccheperf2s = p.wiki(temaperf .. "isses");  congpiuccheperf3s = p.wiki(temaperf .. "isset")
		congpiuccheperf1p = p.wiki(temaperf .. "issēmus");  congpiuccheperf2p = p.wiki(temaperf .. "issētis");  congpiuccheperf3p = p.wiki(temaperf .. "issent")
		imp2s = p.wiki(temapres .. "ī");  imp3s = ""
		imp2p = p.wiki(temapres .. "īte");  imp3p = ""
		impfut2s = p.wiki(temapres .. "īto");  impfut3s = p.wiki(temapres .. "īto")
		impfut2p = p.wiki(temapres .. "ītōte");  impfut3p = p.wiki(temapres .. "iunto") 
		--QUARTA CONIUGAZIONE PASSIVA
		pass_infpres = p.wiki(temainf .. "iri"); pass_infperf = p.wiki(temasup .. "um").. " [[esse]]"; pass_inffut = p.wiki(temasup .. "um").. " [[iri]]"
		pass_pres1s = p.wiki(temapres .. "ior");  pass_pres2s = p.wiki(temapres .. "īris");  pass_pres3s = p.wiki(temapres .. "ītur"); pass_pres1s_nolink = temapres.. "ior"
		pass_pres1p = p.wiki(temapres .. "īmur");  pass_pres2p = p.wiki(temapres .. "īmĭni");  pass_pres3p = p.wiki(temapres .. "īuntur")        
		pass_imperf1s = p.wiki(temapres .. "iēbar");  pass_imperf2s = p.wiki(temapres .. "iēbāris");  pass_imperf3s = p.wiki(temapres .. "iēbātur")
		pass_imperf1p = p.wiki(temapres .. "iēbāmur");  pass_imperf2p = p.wiki(temapres .. "iēbāmĭni");  pass_imperf3p = p.wiki(temapres .. "iēbāntur") 
		pass_fut1s = p.wiki(temapres .. "iar");  pass_fut2s = p.wiki(temapres .. "iēris");  pass_fut3s = p.wiki(temapres .. "iētur")
		pass_fut1p = p.wiki(temapres .. "iēmur");  pass_fut2p = p.wiki(temapres .. "iēmĭni");  pass_fut3p = p.wiki(temapres .. "iēntur")
		pass_perf1s = p.wiki(temasup .. "us").. " [[sum]]";  pass_perf2s = p.wiki(temasup .. "us").. " [[es]]";  pass_perf3s = p.wiki(temasup .. "us").. " [[est]]"
		pass_perf1p = p.wiki(temasup .. "i").. " [[sumus]]";  pass_perf2p = p.wiki(temasup .. "i").. " [[estis]]";  pass_perf3p = p.wiki(temasup .. "i").. " [[sunt]]"
		pass_piuccheperf1s = p.wiki(temasup .. "us").. " [[eram]]";  pass_piuccheperf2s = p.wiki(temasup .. "us").. " [[eras]]";  pass_piuccheperf3s = p.wiki(temasup .. "us").. " [[erat]]"
		pass_piuccheperf1p = p.wiki(temasup .. "i").. " [[eramus]]";  pass_piuccheperf2p = p.wiki(temasup .. "i").. " [[eratis]]";  pass_piuccheperf3p = p.wiki(temasup .. "i").. " [[erant]]" 
		pass_futant1s = p.wiki(temasup .. "us").. " [[ero]]";  pass_futant2s = p.wiki(temasup .. "us").. " [[eris]]";  pass_futant3s = p.wiki(temasup .. "us").. " [[erit]]"
		pass_futant1p = p.wiki(temasup .. "i").. " [[erimus]]";  pass_futant2p = p.wiki(temasup .. "i").. " [[eritis]]";  pass_futant3p = p.wiki(temasup .. "i").. " [[erunt]]"
		pass_cong1s = p.wiki(temapres .. "iar"); pass_cong2s=p.wiki(temapres .. "iāris"); pass_cong3s = p.wiki(temapres .. "iātur")
		pass_cong1p = p.wiki(temapres .. "iāmur");  pass_cong2p = p.wiki(temapres .. "iāmĭni");  pass_cong3p = p.wiki(temapres .. "iantur")
		pass_congimp1s = p.wiki(temapres .. "īrer"); pass_congimp2s = p.wiki(temapres .. "īrēris");  pass_congimp3s = p.wiki(temapres .. "īrētur")
		pass_congimp1p = p.wiki(temapres .. "īrēmur");  pass_congimp2p = p.wiki(temapres .. "īrēmĭni");  pass_congimp3p = p.wiki(temapres .. "īrentur")
		pass_congperf1s = p.wiki(temasup .. "us").. " [[sim]]"; pass_congperf2s = p.wiki(temasup .. "us").. " [[sis]]";  pass_congperf3s = p.wiki(temasup .. "us").. " [[sit]]"
		pass_congperf1p = p.wiki(temasup .. "i").. " [[simus]]";  pass_congperf2p = p.wiki(temasup .. "i").. " [[sitis]]";  pass_congperf3p = p.wiki(temasup .. "i").. " [[sint]]"
		pass_congpiuccheperf1s = p.wiki(temasup .. "us").. " [[essem]]";  pass_congpiuccheperf2s = p.wiki(temasup .. "us").. " [[esses]]";  pass_congpiuccheperf3s = p.wiki(temasup .. "us").. " [[esset]]"
		pass_congpiuccheperf1p = p.wiki(temasup .. "i").. " [[essemus]]";  pass_congpiuccheperf2p = p.wiki(temasup .. "i").. " [[essetis]]";  pass_congpiuccheperf3p = p.wiki(temasup .. "i").. " [[essent]]"
		pass_imp2s = p.wiki(temapres .. "īre")
		pass_imp2p = p.wiki(temapres .. "īmini")
		pass_impfut2s = p.wiki(temapres .. "ītor");  pass_impfut3s = p.wiki(temapres .. "ītor")
		pass_impfut2p = "n.e.";  pass_impfut3p = p.wiki(temapres .. "iuntor")  
		else error("coniugazione " .. coniug .. " non supportata, vedi le [[Template:La-conj/man|istruzioni!]]")
	end
	
	pres2s_par = pres2s if tipo == "dep" then pres2s_par = pass_pres2s end if temapres < "a" then pres2s_par = "n.e." end --questo fix serve a generare la seconda persona del paradigma per i deponenti
	
	--in base al parametro "tipo" (passato dal template), definisce cosa succede se il verbo è deponente, semideponente o privo di passivo
	if tipo == "dep" then --se il verbo è deponente, le voci attive combaciano con quelle passive:
		infpres = pass_infpres; infperf = pass_infperf; inffut = pass_inffut;
		pres1s = pass_pres1s; pres2s = pass_pres2s; pres2s2 = p.over(pass_pres2s2,args["pres2s2"]); pres2s = p.alts(pres2s,pres2s2); pres3s = pass_pres3s; pres1p = pass_pres1p; pres2p = pass_pres2p; pres3p = pass_pres3p; pres1s_nolink = pass_pres1s_nolink;
		imperf1s = pass_imperf1s; imperf2s = pass_imperf2s; imperf2s2 = p.over(pass_imperf2s2,args["imperf2s2"]); imperf2s = p.alts(imperf2s,imperf2s2); imperf3s = pass_imperf3s; imperf1p = pass_imperf1p; imperf2p = pass_imperf2p; imperf3p = pass_imperf3p;
		perf1s = pass_perf1s; perf2s = pass_perf2s; perf3s = pass_perf3s; perf1p = pass_perf1p; perf2p = pass_perf2p; perf3p = pass_perf3p;
		piuccheperf1s = pass_piuccheperf1s; piuccheperf2s = pass_piuccheperf2s; piuccheperf3s = pass_piuccheperf3s; piuccheperf1p = pass_piuccheperf1p; piuccheperf2p = pass_piuccheperf2p; piuccheperf3p = pass_piuccheperf3p;
		fut1s = pass_fut1s; fut2s = pass_fut2s; fut2s2 = p.over(pass_fut2s2,args["fut2s2"]); fut2s = p.alts(fut2s,fut2s2); fut3s = pass_fut3s; fut1p = pass_fut1p; fut2p = pass_fut2p; fut3p = pass_fut3p;
		futant1s = pass_futant1s; futant2s = pass_futant2s; futant3s = pass_futant3s; futant1p = pass_futant1p; futant2p = pass_futant2p; futant3p = pass_futant3p;
		cong1s = pass_cong1s; cong2s = pass_cong2s; cong2s2 = p.over(pass_cong2s2,args["cong2s2"]); cong2s = p.alts(cong2s,cong2s2); cong3s = pass_cong3s; cong1p = pass_cong1p; cong2p = pass_cong2p; cong3p = pass_cong3p;
		congimp1s = pass_congimp1s; congimp2s = pass_congimp2s; congimp2s2 = p.over(pass_congimp2s2,args["congimp2s2"]); congimp2s = p.alts(congimp2s,congimp2s2); congimp3s = pass_congimp3s; congimp1p = pass_congimp1p; congimp2p = pass_congimp2p; congimp3p = pass_congimp3p;
		congperf1s = pass_congperf1s; congperf2s = pass_congperf2s; congperf3s = pass_congperf3s; congperf1p = pass_congperf1p; congperf2p = pass_congperf2p; congperf3p = pass_congperf3p;
		congpiuccheperf1s = pass_congpiuccheperf1s; congpiuccheperf2s = pass_congpiuccheperf2s; congpiuccheperf3s = pass_congpiuccheperf3s; congpiuccheperf1p = pass_congpiuccheperf1p; congpiuccheperf2p = pass_congpiuccheperf2p; congpiuccheperf3p = pass_congpiuccheperf3p;
		imp1s = pass_imp1s; imp2s = pass_imp2s; imp3s = pass_imp3s; imp1p = pass_imp1p; imp2p = pass_imp2p; imp3p = pass_imp3p;
		impfut1s = pass_impfut1s; impfut2s = pass_impfut2s; impfut3s = pass_impfut3s; impfut1p = pass_impfut1p; impfut2p = pass_impfut2p; impfut3p = pass_impfut3p;
	elseif tipo == "semidep" then --se il verbo è semideponente, le sole voci attive derivate dal perfetto combaciano con quelle passive:
		infperf = pass_infperf
		perf1s = pass_perf1s; perf2s = pass_perf2s; perf3s = pass_perf3s; perf1p = pass_perf1p; perf2p = pass_perf2p; perf3p = pass_perf3p
		piuccheperf1s = pass_piuccheperf1s; piuccheperf2s = pass_piuccheperf2s; piuccheperf3s = pass_piuccheperf3s; piuccheperf1p = pass_piuccheperf1p; piuccheperf2p = pass_piuccheperf2p; piuccheperf3p = pass_piuccheperf3p
		futant1s = pass_futant1s; futant2s = pass_futant2s; futant3s = pass_futant3s; futant1p = pass_futant1p; futant2p = pass_futant2p; futant3p = pass_futant3p
		congperf1s = pass_congperf1s; congperf2s = pass_congperf2s; congperf3s = pass_congperf3s; congperf1p = pass_congperf1p; congperf2p = pass_congperf2p; congperf3p = pass_congperf3p
		congpiuccheperf1s = pass_congpiuccheperf1s; congpiuccheperf2s = pass_congpiuccheperf2s; congpiuccheperf3s = pass_congpiuccheperf3s; congpiuccheperf1p = pass_congpiuccheperf1p; congpiuccheperf2p = pass_congpiuccheperf2p; congpiuccheperf3p = pass_congpiuccheperf3p
	elseif tipo == "nopass" then --se il verbo è privo di passivo, non ha né participio perfetto né gerundivo
		p_perf = "n.e."; gerundivo = "n.e."
	end

-- Recupera le eventuali forme irregolari o varianti, rimpiazziandole o aggiungendole a quelle standard
-- Forme impersonali e participi
	sup = p.over(sup,args["sup"]); sup_abl = p.over(sup_abl,args["sup_abl"])
	infpres = p.over(infpres,args["infpres"]); infperf = p.over(infperf,args["infperf"]); inffut = p.over(inffut,args["inffut"])
	pass_infpres = p.over(pass_infpres,args["pass_infpres"]); pass_infperf = p.over(pass_infperf,args["pass_infperf"]); pass_inffut = p.over(pass_inffut,args["pass_inffut"])
	gerundivo = p.over(gerundivo,args["gerundivo"]); ger2 = p.wiki(args["gerundivo2"])
	gerundivo = p.alts(gerundivo, gerundivo2)
	ger_gen = p.over(ger_gen,args["ger_gen"]); ger_dat = p.over(ger_dat,args["ger_dat"]); ger_acc = p.over(ger_acc,args["ger_acc"]); ger_abl = p.over(ger_abl,args["ger_abl"])
	ger_gen2 = p.wiki(args["ger_gen2"]); ger_dat2 = p.wiki(args["ger_dat2"]); ger_acc2 = p.wiki(args["ger_acc2"]); ger_abl2 = p.wiki(args["ger_abl2"])
	ger_gen = p.alts(ger_gen, ger_gen2); ger_dat = p.alts(ger_dat, ger_dat2); ger_acc = p.alts(ger_acc, ger_acc2); ger_abl = p.alts(ger_abl, ger_abl2)
	p_pres = p.over(p_pres,args["p_pres"]); p_perf = p.over(p_perf,args["p_perf"]); p_fut = p.over(p_fut,args["p_fut"])
	p_pres2 = p.wiki(args["p_pres2"]); p_perf2 = p.wiki(args["p_perf2"]); p_fut2 = p.wiki(args["p_fut2"])
	p_pres = p.alts(p_pres, p_pres2); p_perf = p.alts(p_perf, p_perf2); p_fut = p.alts(p_fut, p_fut2)

-- Presente 
 --presente attivo
	pres1s = p.over(pres1s,args["pres1s"]); pres2s = p.over(pres2s,args["pres2s"]); pres3s = p.over(pres3s,args["pres3s"]);
	pres1p = p.over(pres1p,args["pres1p"]); pres2p = p.over(pres2p,args["pres2p"]); pres3p = p.over(pres3p,args["pres3p"]);
	pres1s2 = p.wiki(args["pres1s2"]);  pres2s2 = p.wiki(args["pres2s2"]);  pres3s2 = p.wiki(args["pres3s2"]);
	pres1p2 = p.wiki(args["pres1p2"]);  pres2p2 = p.wiki(args["pres2p2"]);  pres3p2 = p.wiki(args["pres3p2"]);
	pres1s = p.alts(pres1s, pres1s2); pres2s = p.alts(pres2s, pres2s2); pres3s = p.alts(pres3s, pres3s2) ;
	pres1p = p.alts(pres1p, pres1p2); pres2p = p.alts(pres2p, pres2p2); pres3p = p.alts(pres3p, pres3p2);
 --presente passivo
	pass_pres1s = p.over(pass_pres1s,args["pass_pres1s"]); pass_pres2s = p.over(pass_pres2s,args["pass_pres2s"]); pass_pres3s = p.over(pass_pres3s,args["pass_pres3s"])
	pass_pres1p = p.over(pass_pres1p,args["pass_pres1p"]); pass_pres2p = p.over(pass_pres2p,args["pass_pres2p"]); pass_pres3p = p.over(pass_pres3p,args["pass_pres3p"])
	pass_pres1s2 = p.wiki(args["pass_pres1s2"]);  pass_pres2s2 = p.over(pass_pres2s2,args["pass_pres2s2"]);  pass_pres3s2 = p.wiki(args["pass_pres3s2"])
	pass_pres1p2 = p.wiki(args["pass_pres1p2"]);  pass_pres2p2 = p.wiki(args["pass_pres2p2"]);  pass_pres3p2 = p.wiki(args["pass_pres3p2"])
	pass_pres1s = p.alts(pass_pres1s, pass_pres1s2); pass_pres2s = p.alts(pass_pres2s, pass_pres2s2); pass_pres3s = p.alts(pass_pres3s, pass_pres3s2) 
	pass_pres1p = p.alts(pass_pres1p, pass_pres1p2); pass_pres2p = p.alts(pass_pres2p, pass_pres2p2); pass_pres3p = p.alts(pass_pres3p, pass_pres3p2)  
-- Imperfetto
 --imperfetto attivo
	imperf1s = p.over(imperf1s,args["imperf1s"]); imperf2s = p.over(imperf2s,args["imperf2s"]); imperf3s = p.over(imperf3s,args["imperf3s"])
	imperf1p = p.over(imperf1p,args["imperf1p"]); imperf2p = p.over(imperf2p,args["imperf2p"]); imperf3p = p.over(imperf3p,args["imperf3p"])
	imperf1s2 = p.wiki(args["imperf1s2"]);  imperf2s2 = p.wiki(args["imperf2s2"]);  imperf3s2 = p.wiki(args["imperf3s2"])
	imperf1p2 = p.wiki(args["imperf1p2"]);  imperf2p2 = p.wiki(args["imperf2p2"]);  imperf3p2 = p.wiki(args["imperf3p2"])
	imperf1s = p.alts(imperf1s, imperf1s2); imperf2s = p.alts(imperf2s, imperf2s2); imperf3s = p.alts(imperf3s, imperf3s2) 
	imperf1p = p.alts(imperf1p, imperf1p2); imperf2p = p.alts(imperf2p, imperf2p2); imperf3p = p.alts(imperf3p, imperf3p2)
 --imperfetto passivo
	pass_imperf1s = p.over(pass_imperf1s,args["pass_imperf1s"]); pass_imperf2s = p.over(pass_imperf2s,args["pass_imperf2s"]); pass_imperf3s = p.over(pass_imperf3s,args["pass_imperf3s"])
	pass_imperf1p = p.over(pass_imperf1p,args["pass_imperf1p"]); pass_imperf2p = p.over(pass_imperf2p,args["pass_imperf2p"]); pass_imperf3p = p.over(pass_imperf3p,args["pass_imperf3p"])
	pass_imperf1s2 = p.wiki(args["pass_imperf1s2"]);  pass_imperf2s2 = p.over(pass_imperf2s2,args["pass_imperf2s2"]);  pass_imperf3s2 = p.wiki(args["pass_imperf3s2"])
	pass_imperf1p2 = p.wiki(args["pass_imperf1p2"]);  pass_imperf2p2 = p.wiki(args["pass_imperf2p2"]);  pass_imperf3p2 = p.wiki(args["pass_imperf3p2"])
	pass_imperf1s = p.alts(pass_imperf1s, pass_imperf1s2); pass_imperf2s = p.alts(pass_imperf2s, pass_imperf2s2); pass_imperf3s = p.alts(pass_imperf3s, pass_imperf3s2) 
	pass_imperf1p = p.alts(pass_imperf1p, pass_imperf1p2); pass_imperf2p = p.alts(pass_imperf2p, pass_imperf2p2); pass_imperf3p = p.alts(pass_imperf3p, pass_imperf3p2)  
-- Futuro semplice
 --futuro semp. attivo
	fut1s = p.over(fut1s,args["fut1s"]); fut2s = p.over(fut2s,args["fut2s"]); fut3s = p.over(fut3s,args["fut3s"])
	fut1p = p.over(fut1p,args["fut1p"]); fut2p = p.over(fut2p,args["fut2p"]); fut3p = p.over(fut3p,args["fut3p"])
	fut1s2 = p.wiki(args["fut1s2"]);  fut2s2 = p.wiki(args["fut2s2"]);  fut3s2 = p.wiki(args["fut3s2"])
	fut1p2 = p.wiki(args["fut1p2"]);  fut2p2 = p.wiki(args["fut2p2"]);  fut3p2 = p.wiki(args["fut3p2"])
	fut1s = p.alts(fut1s, fut1s2); fut2s = p.alts(fut2s, fut2s2); fut3s = p.alts(fut3s, fut3s2) 
	fut1p = p.alts(fut1p, fut1p2); fut2p = p.alts(fut2p, fut2p2); fut3p = p.alts(fut3p, fut3p2)
 --futuro semp. passivo
	pass_fut1s = p.over(pass_fut1s,args["pass_fut1s"]); pass_fut2s = p.over(pass_fut2s,args["pass_fut2s"]); pass_fut3s = p.over(pass_fut3s,args["pass_fut3s"])
	pass_fut1p = p.over(pass_fut1p,args["pass_fut1p"]); pass_fut2p = p.over(pass_fut2p,args["pass_fut2p"]); pass_fut3p = p.over(pass_fut3p,args["pass_fut3p"])
	pass_fut1s2 = p.wiki(args["pass_fut1s2"]);  pass_fut2s2 = p.over(pass_fut2s2,args["pass_fut2s2"]);  pass_fut3s2 = p.wiki(args["pass_fut3s2"])
	pass_fut1p2 = p.wiki(args["pass_fut1p2"]);  pass_fut2p2 = p.wiki(args["pass_fut2p2"]);  pass_fut3p2 = p.wiki(args["pass_fut3p2"])
	pass_fut1s = p.alts(pass_fut1s, pass_fut1s2); pass_fut2s = p.alts(pass_fut2s, pass_fut2s2); pass_fut3s = p.alts(pass_fut3s, pass_fut3s2) 
	pass_fut1p = p.alts(pass_fut1p, pass_fut1p2); pass_fut2p = p.alts(pass_fut2p, pass_fut2p2); pass_fut3p = p.alts(pass_fut3p, pass_fut3p2)  
-- Perfetto
 --perfetto attivo
	perf1s = p.over(perf1s,args["perf1s"]); perf2s = p.over(perf2s,args["perf2s"]); perf3s = p.over(perf3s,args["perf3s"])
	perf1p = p.over(perf1p,args["perf1p"]); perf2p = p.over(perf2p,args["perf2p"]); perf3p = p.over(perf3p,args["perf3p"])
	perf1s2 = p.wiki(perf1s2, args["perf1s2"]);  perf2s2 = p.wiki(args["perf2s2"]);  perf3s2 = p.wiki(args["perf3s2"])
	perf1p2 = p.wiki(args["perf1p2"]);  perf2p2 = p.wiki(args["perf2p2"]);  perf3p2 = p.over(perf3p2,args["perf3p2"])
	perf1s = p.alts(perf1s, perf1s2); perf2s = p.alts(perf2s, perf2s2); perf3s = p.alts(perf3s, perf3s2) 
	perf1p = p.alts(perf1p, perf1p2); perf2p = p.alts(perf2p, perf2p2); perf3p = p.alts(perf3p, perf3p2)
 --perfetto passivo
	pass_perf1s = p.over(pass_perf1s,args["pass_perf1s"]); pass_perf2s = p.over(pass_perf2s,args["pass_perf2s"]); pass_perf3s = p.over(pass_perf3s,args["pass_perf3s"])
	pass_perf1p = p.over(pass_perf1p,args["pass_perf1p"]); pass_perf2p = p.over(pass_perf2p,args["pass_perf2p"]); pass_perf3p = p.over(pass_perf3p,args["pass_perf3p"])
	pass_perf1s2 = p.wiki(args["pass_perf1s2"]);  pass_perf2s2 = p.wiki(args["pass_perf2s2"]);  pass_perf3s2 = p.wiki(args["pass_perf3s2"])
	pass_perf1p2 = p.wiki(args["pass_perf1p2"]);  pass_perf2p2 = p.wiki(args["pass_perf2p2"]);  pass_perf3p2 = p.wiki(args["pass_perf3p2"])
	pass_perf1s = p.alts(pass_perf1s, pass_perf1s2); pass_perf2s = p.alts(pass_perf2s, pass_perf2s2); pass_perf3s = p.alts(pass_perf3s, pass_perf3s2) 
	pass_perf1p = p.alts(pass_perf1p, pass_perf1p2); pass_perf2p = p.alts(pass_perf2p, pass_perf2p2); pass_perf3p = p.alts(pass_perf3p, pass_perf3p2)  
--piccheperfetto
 --piuccheperfetto attivo
	piuccheperf1s = p.over(piuccheperf1s,args["piuccheperf1s"]); piuccheperf2s = p.over(piuccheperf2s,args["piuccheperf2s"]); piuccheperf3s = p.over(piuccheperf3s,args["piuccheperf3s"])
	piuccheperf1p = p.over(piuccheperf1p,args["piuccheperf1p"]); piuccheperf2p = p.over(piuccheperf2p,args["piuccheperf2p"]); piuccheperf3p = p.over(piuccheperf3p,args["piuccheperf3p"])
	piuccheperf1s2 = p.wiki(args["piuccheperf1s2"]);  piuccheperf2s2 = p.wiki(args["piuccheperf2s2"]);  piuccheperf3s2 = p.wiki(args["piuccheperf3s2"])
	piuccheperf1p2 = p.wiki(args["piuccheperf1p2"]);  piuccheperf2p2 = p.wiki(args["piuccheperf2p2"]);  piuccheperf3p2 = p.wiki(args["piuccheperf3p2"])
	piuccheperf1s = p.alts(piuccheperf1s, piuccheperf1s2); piuccheperf2s = p.alts(piuccheperf2s, piuccheperf2s2); piuccheperf3s = p.alts(piuccheperf3s, piuccheperf3s2) 
	piuccheperf1p = p.alts(piuccheperf1p, piuccheperf1p2); piuccheperf2p = p.alts(piuccheperf2p, piuccheperf2p2); piuccheperf3p = p.alts(piuccheperf3p, piuccheperf3p2)
 --piuccheperfetto passivo
	pass_piuccheperf1s = p.over(pass_piuccheperf1s,args["pass_piuccheperf1s"]); pass_piuccheperf2s = p.over(pass_piuccheperf2s,args["pass_piuccheperf2s"]); pass_piuccheperf3s = p.over(pass_piuccheperf3s,args["pass_piuccheperf3s"])
	pass_piuccheperf1p = p.over(pass_piuccheperf1p,args["pass_piuccheperf1p"]); pass_piuccheperf2p = p.over(pass_piuccheperf2p,args["pass_piuccheperf2p"]); pass_piuccheperf3p = p.over(pass_piuccheperf3p,args["pass_piuccheperf3p"])
	pass_piuccheperf1s2 = p.wiki(args["pass_piuccheperf1s2"]);  pass_piuccheperf2s2 = p.wiki(args["pass_piuccheperf2s2"]);  pass_piuccheperf3s2 = p.wiki(args["pass_piuccheperf3s2"])
	pass_piuccheperf1p2 = p.wiki(args["pass_piuccheperf1p2"]);  pass_piuccheperf2p2 = p.wiki(args["pass_piuccheperf2p2"]);  pass_piuccheperf3p2 = p.wiki(args["pass_piuccheperf3p2"])
	pass_piuccheperf1s = p.alts(pass_piuccheperf1s, pass_piuccheperf1s2); pass_piuccheperf2s = p.alts(pass_piuccheperf2s, pass_piuccheperf2s2); pass_piuccheperf3s = p.alts(pass_piuccheperf3s, pass_piuccheperf3s2) 
	pass_piuccheperf1p = p.alts(pass_piuccheperf1p, pass_piuccheperf1p2); pass_piuccheperf2p = p.alts(pass_piuccheperf2p, pass_piuccheperf2p2); pass_piuccheperf3p = p.alts(pass_piuccheperf3p, pass_piuccheperf3p2)  
--Futuro anteriore
 --futuro anteriore attivo
	futant1s = p.over(futant1s,args["futant1s"]); futant2s = p.over(futant2s,args["futant2s"]); futant3s = p.over(futant3s,args["futant3s"])
	futant1p = p.over(futant1p,args["futant1p"]); futant2p = p.over(futant2p,args["futant2p"]); futant3p = p.over(futant3p,args["futant3p"])
	futant1s2 = p.wiki(args["futant1s2"]);  futant2s2 = p.wiki(args["futant2s2"]);  futant3s2 = p.wiki(args["futant3s2"])
	futant1p2 = p.wiki(args["futant1p2"]);  futant2p2 = p.wiki(args["futant2p2"]);  futant3p2 = p.wiki(args["futant3p2"])
	futant1s = p.alts(futant1s, futant1s2); futant2s = p.alts(futant2s, futant2s2); futant3s = p.alts(futant3s, futant3s2) 
	futant1p = p.alts(futant1p, futant1p2); futant2p = p.alts(futant2p, futant2p2); futant3p = p.alts(futant3p, futant3p2)
 --futuro anteriore passivo
	pass_futant1s = p.over(pass_futant1s,args["pass_futant1s"]); pass_futant2s = p.over(pass_futant2s,args["pass_futant2s"]); pass_futant3s = p.over(pass_futant3s,args["pass_futant3s"])
	pass_futant1p = p.over(pass_futant1p,args["pass_futant1p"]); pass_futant2p = p.over(pass_futant2p,args["pass_futant2p"]); pass_futant3p = p.over(pass_futant3p,args["pass_futant3p"])
	pass_futant1s2 = p.wiki(args["pass_futant1s2"]);  pass_futant2s2 = p.wiki(args["pass_futant2s2"]);  pass_futant3s2 = p.wiki(args["pass_futant3s2"])
	pass_futant1p2 = p.wiki(args["pass_futant1p2"]);  pass_futant2p2 = p.wiki(args["pass_futant2p2"]);  pass_futant3p2 = p.wiki(args["pass_futant3p2"])
	pass_futant1s = p.alts(pass_futant1s, pass_futant1s2); pass_futant2s = p.alts(pass_futant2s, pass_futant2s2); pass_futant3s = p.alts(pass_futant3s, pass_futant3s2) 
	pass_futant1p = p.alts(pass_futant1p, pass_futant1p2); pass_futant2p = p.alts(pass_futant2p, pass_futant2p2); pass_futant3p = p.alts(pass_futant3p, pass_futant3p2)  
-- Presente congiuntivo
 --pres. congiuntivo attivo
	cong1s = p.over(cong1s,args["cong1s"]); cong2s = p.over(cong2s,args["cong2s"]); cong3s = p.over(cong3s,args["cong3s"])
	cong1p = p.over(cong1p,args["cong1p"]); cong2p = p.over(cong2p,args["cong2p"]); cong3p = p.over(cong3p,args["cong3p"])
	cong1s2 = p.wiki(args["cong1s2"]);  cong2s2 = p.wiki(args["cong2s2"]);  cong3s2 = p.wiki(args["cong3s2"])
	cong1p2 = p.wiki(args["cong1p2"]);  cong2p2 = p.wiki(args["cong2p2"]);  cong3p2 = p.wiki(args["cong3p2"])
	cong1s = p.alts(cong1s, cong1s2); cong2s = p.alts(cong2s, cong2s2); cong3s = p.alts(cong3s, cong3s2) 
	cong1p = p.alts(cong1p, cong1p2); cong2p = p.alts(cong2p, cong2p2); cong3p = p.alts(cong3p, cong3p2)
 --pres. congiuntivo passivo
	pass_cong1s = p.over(pass_cong1s,args["pass_cong1s"]); pass_cong2s = p.over(pass_cong2s,args["pass_cong2s"]); pass_cong3s = p.over(pass_cong3s,args["pass_cong3s"])
	pass_cong1p = p.over(pass_cong1p,args["pass_cong1p"]); pass_cong2p = p.over(pass_cong2p,args["pass_cong2p"]); pass_cong3p = p.over(pass_cong3p,args["pass_cong3p"])
	pass_cong1s2 = p.wiki(args["pass_cong1s2"]);  pass_cong2s2 = p.over(pass_cong2s2,args["pass_cong2s2"]);  pass_cong3s2 = p.wiki(args["pass_cong3s2"])
	pass_cong1p2 = p.wiki(args["pass_cong1p2"]);  pass_cong2p2 = p.wiki(args["pass_cong2p2"]);  pass_cong3p2 = p.wiki(args["pass_cong3p2"])
	pass_cong1s = p.alts(pass_cong1s, pass_cong1s2); pass_cong2s = p.alts(pass_cong2s, pass_cong2s2); pass_cong3s = p.alts(pass_cong3s, pass_cong3s2) 
	pass_cong1p = p.alts(pass_cong1p, pass_cong1p2); pass_cong2p = p.alts(pass_cong2p, pass_cong2p2); pass_cong3p = p.alts(pass_cong3p, pass_cong3p2)  
-- Imperfetto congiuntivo
 --imp. congiuntivo attivo
	congimp1s = p.over(congimp1s,args["congimp1s"]); congimp2s = p.over(congimp2s,args["congimp2s"]); congimp3s = p.over(congimp3s,args["congimp3s"])
	congimp1p = p.over(congimp1p,args["congimp1p"]); congimp2p = p.over(congimp2p,args["congimp2p"]); congimp3p = p.over(congimp3p,args["congimp3p"])
	congimp1s2 = p.wiki(args["congimp1s2"]);  congimp2s2 = p.wiki(args["congimp2s2"]);  congimp3s2 = p.wiki(args["congimp3s2"])
	congimp1p2 = p.wiki(args["congimp1p2"]);  congimp2p2 = p.wiki(args["congimp2p2"]);  congimp3p2 = p.wiki(args["congimp3p2"])
	congimp1s = p.alts(congimp1s, congimp1s2); congimp2s = p.alts(congimp2s, congimp2s2); congimp3s = p.alts(congimp3s, congimp3s2) 
	congimp1p = p.alts(congimp1p, congimp1p2); congimp2p = p.alts(congimp2p, congimp2p2); congimp3p = p.alts(congimp3p, congimp3p2)
 --imp. congiuntivo passivo
	pass_congimp1s = p.over(pass_congimp1s,args["pass_congimp1s"]); pass_congimp2s = p.over(pass_congimp2s,args["pass_congimp2s"]); pass_congimp3s = p.over(pass_congimp3s,args["pass_congimp3s"])
	pass_congimp1p = p.over(pass_congimp1p,args["pass_congimp1p"]); pass_congimp2p = p.over(pass_congimp2p,args["pass_congimp2p"]); pass_congimp3p = p.over(pass_congimp3p,args["pass_congimp3p"])
	pass_congimp1s2 = p.wiki(args["pass_congimp1s2"]);  pass_congimp2s2 = p.over(pass_congimp2s2,args["pass_congimp2s2"]);  pass_congimp3s2 = p.wiki(args["pass_congimp3s2"])
	pass_congimp1p2 = p.wiki(args["pass_congimp1p2"]);  pass_congimp2p2 = p.wiki(args["pass_congimp2p2"]);  pass_congimp3p2 = p.wiki(args["pass_congimp3p2"])
	pass_congimp1s = p.alts(pass_congimp1s, pass_congimp1s2); pass_congimp2s = p.alts(pass_congimp2s, pass_congimp2s2); pass_congimp3s = p.alts(pass_congimp3s, pass_congimp3s2) 
	pass_congimp1p = p.alts(pass_congimp1p, pass_congimp1p2); pass_congimp2p = p.alts(pass_congimp2p, pass_congimp2p2); pass_congimp3p = p.alts(pass_congimp3p, pass_congimp3p2)     
--Perfetto congiuntivo
 --perf. congiuntivo attivo
	congperf1s = p.over(congperf1s,args["congperf1s"]); congperf2s = p.over(congperf2s,args["congperf2s"]); congperf3s = p.over(congperf3s,args["congperf3s"])
	congperf1p = p.over(congperf1p,args["congperf1p"]); congperf2p = p.over(congperf2p,args["congperf2p"]); congperf3p = p.over(congperf3p,args["congperf3p"])
	congperf1s2 = p.wiki(args["congperf1s2"]);  congperf2s2 = p.wiki(args["congperf2s2"]);  congperf3s2 = p.wiki(args["congperf3s2"])
	congperf1p2 = p.wiki(args["congperf1p2"]);  congperf2p2 = p.wiki(args["congperf2p2"]);  congperf3p2 = p.wiki(args["congperf3p2"])
	congperf1s = p.alts(congperf1s, congperf1s2); congperf2s = p.alts(congperf2s, congperf2s2); congperf3s = p.alts(congperf3s, congperf3s2) 
	congperf1p = p.alts(congperf1p, congperf1p2); congperf2p = p.alts(congperf2p, congperf2p2); congperf3p = p.alts(congperf3p, congperf3p2)
 --perf. congiuntivo passivo
	pass_congperf1s = p.over(pass_congperf1s,args["pass_congperf1s"]); pass_congperf2s = p.over(pass_congperf2s,args["pass_congperf2s"]); pass_congperf3s = p.over(pass_congperf3s,args["pass_congperf3s"])
	pass_congperf1p = p.over(pass_congperf1p,args["pass_congperf1p"]); pass_congperf2p = p.over(pass_congperf2p,args["pass_congperf2p"]); pass_congperf3p = p.over(pass_congperf3p,args["pass_congperf3p"])
	pass_congperf1s2 = p.wiki(args["pass_congperf1s2"]);  pass_congperf2s2 = p.wiki(args["pass_congperf2s2"]);  pass_congperf3s2 = p.wiki(args["pass_congperf3s2"])
	pass_congperf1p2 = p.wiki(args["pass_congperf1p2"]);  pass_congperf2p2 = p.wiki(args["pass_congperf2p2"]);  pass_congperf3p2 = p.wiki(args["pass_congperf3p2"])
	pass_congperf1s = p.alts(pass_congperf1s, pass_congperf1s2); pass_congperf2s = p.alts(pass_congperf2s, pass_congperf2s2); pass_congperf3s = p.alts(pass_congperf3s, pass_congperf3s2) 
	pass_congperf1p = p.alts(pass_congperf1p, pass_congperf1p2); pass_congperf2p = p.alts(pass_congperf2p, pass_congperf2p2); pass_congperf3p = p.alts(pass_congperf3p, pass_congperf3p2)  
--Piuccheperfetto congiuntivo
 --piucchep. congiuntivo attivo
	congpiuccheperf1s = p.over(congpiuccheperf1s,args["congpiuccheperf1s"]); congpiuccheperf2s = p.over(congpiuccheperf2s,args["congpiuccheperf2s"]); congpiuccheperf3s = p.over(congpiuccheperf3s,args["congpiuccheperf3s"])
	congpiuccheperf1p = p.over(congpiuccheperf1p,args["congpiuccheperf1p"]); congpiuccheperf2p = p.over(congpiuccheperf2p,args["congpiuccheperf2p"]); congpiuccheperf3p = p.over(congpiuccheperf3p,args["congpiuccheperf3p"])
	congpiuccheperf1s2 = p.wiki(args["congpiuccheperf1s2"]);  congpiuccheperf2s2 = p.wiki(args["congpiuccheperf2s2"]);  congpiuccheperf3s2 = p.wiki(args["congpiuccheperf3s2"])
	congpiuccheperf1p2 = p.wiki(args["congpiuccheperf1p2"]);  congpiuccheperf2p2 = p.wiki(args["congpiuccheperf2p2"]);  congpiuccheperf3p2 = p.wiki(args["congpiuccheperf3p2"])
	congpiuccheperf1s = p.alts(congpiuccheperf1s, congpiuccheperf1s2); congpiuccheperf2s = p.alts(congpiuccheperf2s, congpiuccheperf2s2); congpiuccheperf3s = p.alts(congpiuccheperf3s, congpiuccheperf3s2) 
	congpiuccheperf1p = p.alts(congpiuccheperf1p, congpiuccheperf1p2); congpiuccheperf2p = p.alts(congpiuccheperf2p, congpiuccheperf2p2); congpiuccheperf3p = p.alts(congpiuccheperf3p, congpiuccheperf3p2)
 --piucchep. congiuntivo passivo
	pass_congpiuccheperf1s = p.over(pass_congpiuccheperf1s,args["pass_congpiuccheperf1s"]); pass_congpiuccheperf2s = p.over(pass_congpiuccheperf2s,args["pass_congpiuccheperf2s"]); pass_congpiuccheperf3s = p.over(pass_congpiuccheperf3s,args["pass_congpiuccheperf3s"])
	pass_congpiuccheperf1p = p.over(pass_congpiuccheperf1p,args["pass_congpiuccheperf1p"]); pass_congpiuccheperf2p = p.over(pass_congpiuccheperf2p,args["pass_congpiuccheperf2p"]); pass_congpiuccheperf3p = p.over(pass_congpiuccheperf3p,args["pass_congpiuccheperf3p"])
	pass_congpiuccheperf1s2 = p.wiki(args["pass_congpiuccheperf1s2"]);  pass_congpiuccheperf2s2 = p.wiki(args["pass_congpiuccheperf2s2"]);  pass_congpiuccheperf3s2 = p.wiki(args["pass_congpiuccheperf3s2"])
	pass_congpiuccheperf1p2 = p.wiki(args["pass_congpiuccheperf1p2"]);  pass_congpiuccheperf2p2 = p.wiki(args["pass_congpiuccheperf2p2"]);  pass_congpiuccheperf3p2 = p.wiki(args["pass_congpiuccheperf3p2"])
	pass_congpiuccheperf1s = p.alts(pass_congpiuccheperf1s, pass_congpiuccheperf1s2); pass_congpiuccheperf2s = p.alts(pass_congpiuccheperf2s, pass_congpiuccheperf2s2); pass_congpiuccheperf3s = p.alts(pass_congpiuccheperf3s, pass_congpiuccheperf3s2) 
	pass_congpiuccheperf1p = p.alts(pass_congpiuccheperf1p, pass_congpiuccheperf1p2); pass_congpiuccheperf2p = p.alts(pass_congpiuccheperf2p, pass_congpiuccheperf2p2); pass_congpiuccheperf3p = p.alts(pass_congpiuccheperf3p, pass_congpiuccheperf3p2)  
-- Imperativo
	imp2s = p.over(imp2s,args["imp2s"]); imp3s = p.over(imp3s,args["imp3s"])
	imp1p = p.over(imp1p,args["imp1p"]); imp2p = p.over(imp2p,args["imp2p"]); imp3p = p.over(imp3p,args["imp3p"])
	imp2s2 = p.wiki(args["imp2s2"]);  imp3s2 = p.wiki(args["imp3s2"])
	imp1p2 = p.wiki(args["imp1p2"]);  imp2p2 = p.wiki(args["imp2p2"]);  imp3p2 = p.wiki(args["imp3p2"])
	imp2s = p.alts(imp2s, imp2s2); imp3s = p.alts(imp3s, imp3s2)
	imp1p = p.alts(imp1p, imp1p2); imp2p = p.alts(imp2p, imp2p2); imp3p = p.alts(imp3p, imp3p2) --FINE CODICE PER FORME VARIANTI O IRREGOLARI
	
--per i verbi difettivi, se il tema è nullo annulla anche tutte le forme derivate da esso, restituendole come "n.e."
	if temapres < "a" then --se il tema del presente è nullo, annulla tutte le voci verbali del presente, imperfetto, futuro, congiuntivo presente, imperativo
		ger_nom = "n.e."; ger_gen = "n.e."; ger_dat = "n.e."; ger_acc = "n.e."; ger_abl = "n.e."
		gerundivo = "n.e."; 
		p_pres = "n.e.";
		pres1s = "n.e.";  pres2s = "n.e.";  pres3s = "n.e."; pres1s_nolink = "n.e."
		pres1p = "n.e.";  pres2p = "n.e.";  pres3p = "n.e."        
		imperf1s = "n.e.";  imperf2s = "n.e.";  imperf3s = "n.e."
		imperf1p = "n.e.";  imperf2p = "n.e.";  imperf3p = "n.e." 
		fut1s = "n.e.";  fut2s = "n.e.";  fut3s = "n.e."
		fut1p = "n.e.";  fut2p = "n.e.";  fut3p = "n.e."
		cong1s = "n.e."; cong2s="n.e."; cong3s = "n.e."
		cong1p = "n.e.";  cong2p = "n.e.";  cong3p = "n.e."
		congimp1s = "n.e."; congimp2s = "n.e.";  congimp3s = "n.e."
		congimp1p = "n.e.";  congimp2p = "n.e.";  congimp3p = "n.e."
		imp2s = "n.e.";  imp3s = ""
		imp2p = "n.e.";  imp3p = ""
		impfut2s = "n.e.";  impfut3s = "n.e."
		impfut2p = "n.e.";  impfut3p = "n.e." 
		pass_pres1s = "n.e.";  pass_pres2s = "n.e.";  pass_pres3s = "n.e."; pass_pres1s_nolink = "n.e."
		pass_pres1p = "n.e.";  pass_pres2p = "n.e.";  pass_pres3p = "n.e."        
		pass_imperf1s = "n.e.";  pass_imperf2s = "n.e.";  pass_imperf3s = "n.e."
		pass_imperf1p = "n.e.";  pass_imperf2p = "n.e.";  pass_imperf3p = "n.e." 
		pass_fut1s = "n.e.";  pass_fut2s = "n.e.";  pass_fut3s = "n.e."
		pass_fut1p = "n.e.";  pass_fut2p = "n.e.";  pass_fut3p = "n.e."
		pass_cong1s = "n.e."; pass_cong2s="n.e."; pass_cong3s = "n.e."
		pass_cong1p = "n.e.";  pass_cong2p = "n.e.";  pass_cong3p = "n.e."
		pass_congimp1s = "n.e."; pass_congimp2s = "n.e.";  pass_congimp3s = "n.e."
		pass_congimp1p = "n.e.";  pass_congimp2p = "n.e.";  pass_congimp3p = "n.e."
		pass_imp2s = "n.e."
		pass_imp2p = "n.e."
		pass_impfut2s = "n.e.";  pass_impfut3s = "n.e."
		pass_impfut2p = temapres .. "aminor";  pass_impfut3p = "n.e."  
	end
	if temaperf < "a" then --se il tema del perfetto è nullo, annulla tutte le voci verbali del perfetto e piuccheperfetto attivo
		infperf = "n.e."
		perf1s = "n.e.";  perf2s = "n.e.";  perf3s = "n.e."
		perf1p = "n.e.";  perf2p = "n.e.";  perf3p = "n.e."
		piuccheperf1s = "n.e.";  piuccheperf2s = "n.e.";  piuccheperf3s = "n.e."
		piuccheperf1p = "n.e.";  piuccheperf2p = "n.e.";  piuccheperf3p = "n.e." 
		futant1s = "n.e.";  futant2s = "n.e.";  futant3s = "n.e."
		futant1p = "n.e.";  futant2p = "n.e.";  futant3p = "n.e."
		congperf1s = "n.e.";  congperf2s = "n.e.";  congperf3s = "n.e."
		congperf1p = "n.e.";  congperf2p = "n.e.";  congperf3p = "n.e."
		congpiuccheperf1s = "n.e.";  congpiuccheperf2s = "n.e.";  congpiuccheperf3s = "n.e."
		congpiuccheperf1p = "n.e.";  congpiuccheperf2p = "n.e.";  congpiuccheperf3p = "n.e."
	end
	if temasup < "a" then --se il tema del supino è nullo, annulla i participi perfetto e futuro e le voci verbali composte del perfetto passivo
		pass_infperf = "n.e."; inffut = "n.e."; pass_inffut = "n.e." 
		sup = "n.e."; sup_abl = "n.e."
		p_perf = "n.e."; p_fut = "n.e."
		pass_perf1s = "n.e.";  pass_perf2s = "n.e.";  pass_perf3s = "n.e."
		pass_perf1p = "n.e.";  pass_perf2p = "n.e.";  pass_perf3p = "n.e."
		pass_piuccheperf1s = "n.e.";  pass_piuccheperf2s = "n.e.";  pass_piuccheperf3s = "n.e."
		pass_piuccheperf1p = "n.e.";  pass_piuccheperf2p = "n.e.";  pass_piuccheperf3p = "n.e." 
		pass_futant1s = "n.e.";  pass_futant2s = "n.e.";  pass_futant3s = "n.e."
		pass_futant1p = "n.e.";  pass_futant2p = "n.e.";  pass_futant3p = "n.e."
		pass_congperf1s = "n.e."; pass_congperf2s = "n.e.";  pass_congperf3s = "n.e."
		pass_congperf1p = "n.e.";  pass_congperf2p = "n.e.";  pass_congperf3p = "n.e."
		pass_congpiuccheperf1s = "n.e.";  pass_congpiuccheperf2s = "n.e.";  pass_congpiuccheperf3s = "n.e."
		pass_congpiuccheperf1p = "n.e.";  pass_congpiuccheperf2p = "n.e.";  pass_congpiuccheperf3p = "n.e."
	end
	--NB: se è nullo il tema dell'infinito, il modulo lo sostituisce con quello del presente (per risparmiare un parametro), quindi in questo caso va impostato manualmente che infpres = "n.e."

-- costruisce la stringa "difettivo" e "difettivo_descr", che specifica se il verbo e difettivo e dove
	if temapres < "a" or temaperf < "a" or temasup < "a" then
		difettivo = "; ''difettivo''"
			if temapres < "a" then
				difettivopres = ", ''manca del tema del presente''"
			end
			if temaperf < "a" then
				difettivoperf = ", ''manca del tema del perfetto''"
			end
			if temasup < "a" then
				difettivosup = ", ''manca del tema del supino''"
			end
	end
	difettivo_descr = difettivopres.. difettivoperf.. difettivosup

-- costruisce il paradigma del verbo richiamando le relative voci verbali
	paradigma = pres1s.. ", ".. pres2s_par.. ", ".. perf1s.. ", ".. sup.. ", ".. infpres.. difettivo.. difettivo_descr 

-- costruisce le due variabili "coniug_descr" e "tipo_descr", aggiunge la categoria "coniug_cat" e li combina nella variabile unica "descrizione" (richiamato in tabella dopo il paradigma)
	--costruisce il "coniug_descr" in base al parametro "coniug"
	if coniug == "1" then
		coniug_descr = "prima coniugazione"
		coniug_cat = "[[Categoria:Coniugazioni dei verbi di prima coniugazione in latino|mw.title.getCurrentTitle().subpageText]]"
	elseif coniug == "2" then
		coniug_descr = "seconda coniugazione"
		coniug_cat = "[[Categoria:Coniugazioni dei verbi di seconda coniugazione in latino|".. mw.title.getCurrentTitle().subpageText.. "]]"
	elseif coniug == "3" then
		coniug_descr = "terza coniugazione"
		coniug_cat = "[[Categoria:Coniugazioni dei verbi di terza coniugazione in latino|".. mw.title.getCurrentTitle().subpageText.. "]]"
	elseif coniug == "3-io" then
		coniug_descr = "terza coniugazione in -io"
		coniug_cat = "[[Categoria:Coniugazioni dei verbi di terza coniugazione in latino|".. mw.title.getCurrentTitle().subpageText.. "]]"
	elseif coniug == "4" then
		coniug_descr = "quarta coniugazione"
		coniug_cat = "[[Categoria:Coniugazioni dei verbi di quarta coniugazione in latino|".. mw.title.getCurrentTitle().subpageText.. "]]"
	end
	--costruisce il "tipo_descr" in base al parametro "tipo"
	if tipo == "dep" then
		tipo_descr = ", deponente"
	elseif tipo == "semidep" then
		tipo_descr = ", semideponente"
	elseif tipo == "nopass" then
		tipo_descr = ", privo della forma passiva"
	else tipo_descr = ""
	end
	-- assembla i precedenti e costruisce il "descrizione"
	descrizione = "'''Verbo di ".. coniug_descr.. tipo_descr.. "'''".. coniug_cat
	
	--realizza il titolo dei cassetti delle forme composte passive
		if temasup < "a" then
			cassetto_perf = "manca del participio perfetto e dei tempi composti"
			cassetto_piuccheperf = "manca del participio perfetto e dei tempi composti"
			cassetto_futant = "manca del participio perfetto e dei tempi composti"
			cassetto_congperf = "manca del participio perfetto e dei tempi composti"
			cassetto_congpiuccheperf = "manca del participio perfetto e dei tempi composti"
		else
			cassetto_perf = "participio passato (" .. p.wiki(temasup .. "us").. ") seguito dall’indicativo presente di [[sum]]"
			cassetto_piuccheperf = "participio passato (" .. p.wiki(temasup .. "us").. ") seguito dall’indicativo imperfetto di [[sum]]"
			cassetto_futant = "participio passato (" .. p.wiki(temasup .. "us").. ") seguito dall’indicativo futuro semplice di [[sum]]"
			cassetto_congperf = "participio passato (" .. p.wiki(temasup .. "us").. ") seguito dal congiuntivo presente di [[sum]]"
			cassetto_congpiuccheperf = "participio passato (" .. p.wiki(temasup .. "us").. ") seguito dal congiuntivo imperfetto di [[sum]]"
		end
	
-- Costruisce la tabella di coniugazione; realizza due tabelle diverse in base al parametro "tipo": una con i tempi passivi e l'altra senza
	if tipo >="a" and tipo == "dep" or tipo == "semidep" or tipo == "nopass" then --se il verbo è deponente, semideponente o privo di passivo, crea la tabella senza tempi passivi
	conj = '{| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px; width:60%" class="inflection-table"\n'
	conj = conj .. '|-\n'
    conj = conj .. '| colspan="8" style="background:#ffe4c4; text-align:center" | ' .. descrizione .. '\n'
    conj = conj .. '|-\n'	
    conj = conj .. '! colspan="2" rowspan="2" style="background:#ffdead" | paradigma\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="6" |' .. paradigma.. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" rowspan="2" style="background:#e2e4c0" | infinito\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | presente\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | perfetto\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | futuro\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="2" |' .. infpres .. '\n| colspan="2" |' .. infperf .. '\n| colspan="2" |' .. inffut .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" rowspan="2" style="background:#e2e4c0" | participio\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | presente\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | perfetto\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | futuro\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="2" | ' .. p_pres .. '\n | colspan="2" | ' .. p_perf .. '\n | colspan="2" | ' .. p_fut .. '\n'
	conj = conj .. '|-\n'
		conj = conj .. '! colspan="2" rowspan="2" style="background:#e2e4c0" | gerundio\n'
	conj = conj .. '! style="background:#e2e4c0" colspan="2" | nominativo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | genitivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | dativo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | accusativo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | ablativo\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="2" |' .. ger_nom .. '\n|' .. ger_gen .. '\n|' .. ger_dat .. '\n|' .. ger_acc .. '\n|' .. ger_abl.. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | gerundivo\n'
	conj = conj .. '| colspan="2" | ' .. gerundivo .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | supino\n'
	conj = conj .. '| colspan="6" | ' .. sup .. ' (ablativo: ' ..sup_abl..') \n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n! colspan="2" rowspan="2" style="background:#c0cfe4" | indicativo\n'
	conj = conj .. '! colspan="3" style="background:#c0cfe4" | singolare\n'
	conj = conj .. '! colspan="3" style="background:#c0cfe4" | plurale\n'
	conj = conj .. '|-\n! style="background:#c0cfe4;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | terza\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | terza\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! style="height:3em;background:#c0cfe4" colspan="2" | presente\n'
	conj = conj .. '|' .. pres1s .. '\n|' .. pres2s .. '\n|' .. pres3s .. '\n|' .. pres1p .. '\n|' .. pres2p .. '\n|' .. pres3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="2" | imperfetto\n'
	conj = conj .. '|' .. imperf1s .. '\n|' .. imperf2s .. '\n|' .. imperf3s .. '\n|' .. imperf1p .. '\n|' .. imperf2p .. '\n|' .. imperf3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="2" | futuro semplice\n'
	conj = conj .. '|' .. fut1s .. '\n|' .. fut2s .. '\n|' .. fut3s .. '\n|' .. fut1p .. '\n|' .. fut2p .. '\n|' .. fut3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="2" | perfetto\n'
	if tipo == "dep" or tipo == "semidep" then
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_perf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_perf1s .. '\n|' .. pass_perf2s .. '\n|' .. pass_perf3s .. '\n|' .. pass_perf1p .. '\n|' .. pass_perf2p .. '\n|' .. pass_perf3p .. '\n |- \n |}</div></div>\n'
	else
	conj = conj .. '|' .. perf1s .. '\n|' .. perf2s .. '\n|' .. perf3s .. '\n|' .. perf1p .. '\n|' .. perf2p .. '\n|' .. perf3p .. '\n' end
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="2" | piuccheperfetto\n'
	if tipo == "dep" or tipo == "semidep" then
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_piuccheperf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_piuccheperf1s .. '\n|' .. pass_piuccheperf2s .. '\n|' .. pass_piuccheperf3s .. '\n|' .. pass_piuccheperf1p .. '\n|' .. pass_piuccheperf2p .. '\n|' .. pass_piuccheperf3p .. '\n |- \n |}</div></div>\n'
	else
	conj = conj .. '|' .. piuccheperf1s .. '\n|' .. piuccheperf2s .. '\n|' .. piuccheperf3s .. '\n|' .. piuccheperf1p .. '\n|' .. piuccheperf2p .. '\n|' .. piuccheperf3p .. '\n' end
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="2" | futuro anteriore\n'
	if tipo == "dep" or tipo == "semidep" then
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_futant.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_futant1s .. '\n|' .. pass_futant2s .. '\n|' .. pass_futant3s .. '\n|' .. pass_futant1p .. '\n|' .. pass_futant2p .. '\n|' .. pass_futant3p .. '\n |- \n |}</div></div>\n'
	else
	conj = conj .. '|' .. futant1s .. '\n|' .. futant2s .. '\n|' .. futant3s .. '\n|' .. futant1p .. '\n|' .. futant2p .. '\n|' .. futant3p .. '\n' end
	conj = conj .. '|-\n'
	conj = conj .. '|-\n! colspan="2" rowspan="2" style="background:#c0e4c0" | congiuntivo\n'
	conj = conj .. '! colspan="3" style="background:#c0e4c0" | singolare\n'
	conj = conj .. '! colspan="3" style="background:#c0e4c0" | plurale\n'
	conj = conj .. '|-\n! style="background:#c0e4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | terza\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | terza\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! style="height:3em;background:#c0e4c0" colspan="2" | presente\n'
	conj = conj .. '|' .. cong1s .. '\n|' .. cong2s .. '\n|' .. cong3s .. '\n|' .. cong1p .. '\n|' .. cong2p .. '\n|' .. cong3p .. '\n'   
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" colspan="2" | imperfetto\n'
	conj = conj .. '|' .. congimp1s .. '\n|' .. congimp2s .. '\n|' .. congimp3s .. '\n|' .. congimp1p .. '\n|' .. congimp2p .. '\n|' .. congimp3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" colspan="2" | perfetto\n'
	if tipo == "dep" or tipo == "semidep" then
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_congperf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_congperf1s .. '\n|' .. pass_congperf2s .. '\n|' .. pass_congperf3s .. '\n|' .. pass_congperf1p .. '\n|' .. pass_congperf2p .. '\n|' .. pass_congperf3p .. '\n |- \n |}</div></div>\n'
	else
	conj = conj .. '|' .. congperf1s .. '\n|' .. congperf2s .. '\n|' .. congperf3s .. '\n|' .. congperf1p .. '\n|' .. congperf2p .. '\n|' .. congperf3p .. '\n' end
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" colspan="2" | piuccheperfetto\n'
	if tipo == "dep" or tipo == "semidep" then
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_piuccheperf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_congpiuccheperf1s .. '\n|' .. pass_congpiuccheperf2s .. '\n|' .. pass_congpiuccheperf3s .. '\n|' .. pass_congpiuccheperf1p .. '\n|' .. pass_congpiuccheperf2p .. '\n|' .. pass_congpiuccheperf3p .. '\n |- \n |}</div></div>\n'
	else
	conj = conj .. '|' .. congpiuccheperf1s .. '\n|' .. congpiuccheperf2s .. '\n|' .. congpiuccheperf3s .. '\n|' .. congpiuccheperf1p .. '\n|' .. congpiuccheperf2p .. '\n|' .. congpiuccheperf3p .. '\n' end
	conj = conj .. '|-\n! colspan="2" rowspan="2" style="background:#e4d4c0" | imperativo\n'
	conj = conj .. '! colspan="3" style="background:#e4d4c0" | singolare\n'
	conj = conj .. '! colspan="3" style="background:#e4d4c0" | plurale\n'
	conj = conj .. '|-\n! style="background:#e4d4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | terza\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | terza\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! style="height:3em;background:#e4d4c0" colspan="2" | presente\n'
	conj = conj .. '| — \n|' .. imp2s .. '\n| — \n| — \n|' .. imp2p .. '\n| — \n'
	conj = conj .. '|-\n! style="height:3em;background:#e4d4c0" colspan="2" | futuro\n'
	conj = conj .. '| — \n|' .. impfut2s .. '\n|' .. impfut3s .. '\n| — \n|' .. impfut2p .. '\n|' .. impfut3p .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '|}'
	
	else --se, altrimenti, "tipo" non è definito o comunque è diverso dai casi specificati sopra, crea la tabella completa con attivo e passivo
	conj = '{| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px; width:60%" class="inflection-table"\n'
	conj = conj .. '|-\n'
    conj = conj .. '| colspan="8" style="background:#ffe4c4; text-align:center" | ' .. descrizione .. '\n'
    conj = conj .. '|-\n'	
    conj = conj .. '! colspan="2" rowspan="2" style="background:#ffdead" | paradigma\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="6" |' .. paradigma.. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" rowspan="3" style="background:#e2e4c0" | infinito\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | presente\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | perfetto\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | futuro\n'
	conj = conj .. '|-\n! style="background:#e2e4c0;width:12.5%" | attivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:12.5%" | passivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:12.5%" | attivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:12.5%" | passivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:12.5%" | attivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:12.5%" | passivo\n'
	conj = conj .. '|-\n'
	conj = conj .. '|' .. infpres .. '\n|' .. pass_infpres .. '\n|' .. infperf .. '\n|' .. pass_infperf .. '\n|' .. inffut .. '\n|' .. pass_inffut .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" rowspan="2" style="background:#e2e4c0" | participio\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | presente\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | perfetto\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | futuro\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="2" | ' .. p_pres .. '\n | colspan="2" | ' .. p_perf .. '\n | colspan="2" | ' .. p_fut .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" rowspan="2" style="background:#e2e4c0" | gerundio\n'
	conj = conj .. '! style="background:#e2e4c0" colspan="2" | nominativo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | genitivo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | dativo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | accusativo\n'
	conj = conj .. '! style="background:#e2e4c0;width:20%" | ablativo\n'
	conj = conj .. '|-\n'
	conj = conj .. '| colspan="2" |' .. ger_nom .. '\n|' .. ger_gen .. '\n|' .. ger_dat .. '\n|' .. ger_acc .. '\n|' .. ger_abl.. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | gerundivo\n'
	conj = conj .. '| colspan="2" | ' .. gerundivo .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="2" style="background:#e2e4c0" | supino\n'
	conj = conj .. '| colspan="6" | ' .. sup .. ' (ablativo: ' ..sup_abl..') \n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n! colspan="2" rowspan="2" style="background:#c0cfe4" | indicativo\n'
	conj = conj .. '! colspan="3" style="background:#c0cfe4" | singolare\n'
	conj = conj .. '! colspan="3" style="background:#c0cfe4" | plurale\n'
	conj = conj .. '|-\n! style="background:#c0cfe4;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | terza\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0cfe4;width:12.5%" | terza\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="1" rowspan ="6" style="background:#c0cfe4" | attivo\n'
	conj = conj .. '! style="height:3em;background:#c0cfe4" colspan="1" | presente\n'
	conj = conj .. '|' .. pres1s .. '\n|' .. pres2s .. '\n|' .. pres3s .. '\n|' .. pres1p .. '\n|' .. pres2p .. '\n|' .. pres3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | imperfetto\n'
	conj = conj .. '|' .. imperf1s .. '\n|' .. imperf2s .. '\n|' .. imperf3s .. '\n|' .. imperf1p .. '\n|' .. imperf2p .. '\n|' .. imperf3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | futuro semplice\n'
	conj = conj .. '|' .. fut1s .. '\n|' .. fut2s .. '\n|' .. fut3s .. '\n|' .. fut1p .. '\n|' .. fut2p .. '\n|' .. fut3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | perfetto\n'
	conj = conj .. '|' .. perf1s .. '\n|' .. perf2s .. '\n|' .. perf3s .. '\n|' .. perf1p .. '\n|' .. perf2p .. '\n|' .. perf3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | piuccheperfetto\n'
	conj = conj .. '|' .. piuccheperf1s .. '\n|' .. piuccheperf2s .. '\n|' .. piuccheperf3s .. '\n|' .. piuccheperf1p .. '\n|' .. piuccheperf2p .. '\n|' .. piuccheperf3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | futuro anteriore\n'
	conj = conj .. '|' .. futant1s .. '\n|' .. futant2s .. '\n|' .. futant3s .. '\n|' .. futant1p .. '\n|' .. futant2p .. '\n|' .. futant3p .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="1" rowspan ="6" style="background:#c0cfe4" | passivo\n'
	conj = conj .. '! style="height:3em;background:#c0cfe4" colspan="1" | presente\n'
	conj = conj .. '|' .. pass_pres1s .. '\n|' .. pass_pres2s .. '\n|' .. pass_pres3s .. '\n|' .. pass_pres1p .. '\n|' .. pass_pres2p .. '\n|' .. pass_pres3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | imperfetto\n'
	conj = conj .. '|' .. pass_imperf1s .. '\n|' .. pass_imperf2s .. '\n|' .. pass_imperf3s .. '\n|' .. pass_imperf1p .. '\n|' .. pass_imperf2p .. '\n|' .. pass_imperf3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | futuro semplice\n'
	conj = conj .. '|' .. pass_fut1s .. '\n|' .. pass_fut2s .. '\n|' .. pass_fut3s .. '\n|' .. pass_fut1p .. '\n|' .. pass_fut2p .. '\n|' .. pass_fut3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | perfetto\n'
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_perf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_perf1s .. '\n|' .. pass_perf2s .. '\n|' .. pass_perf3s .. '\n|' .. pass_perf1p .. '\n|' .. pass_perf2p .. '\n|' .. pass_perf3p .. '\n |- \n |}</div></div>\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | piuccheperfetto\n'
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_piuccheperf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_piuccheperf1s .. '\n|' .. pass_piuccheperf2s .. '\n|' .. pass_piuccheperf3s .. '\n|' .. pass_piuccheperf1p .. '\n|' .. pass_piuccheperf2p .. '\n|' .. pass_piuccheperf3p .. '\n |- \n |}</div></div>\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | futuro anteriore\n'
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_futant.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_futant1s .. '\n|' .. pass_futant2s .. '\n|' .. pass_futant3s .. '\n|' .. pass_futant1p .. '\n|' .. pass_futant2p .. '\n|' .. pass_futant3p .. '\n |- \n |}</div></div>\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n! colspan="2" rowspan="2" style="background:#c0e4c0" | congiuntivo\n'
	conj = conj .. '! colspan="3" style="background:#c0e4c0" | singolare\n'
	conj = conj .. '! colspan="3" style="background:#c0e4c0" | plurale\n'
	conj = conj .. '|-\n! style="background:#c0e4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | terza\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#c0e4c0;width:12.5%" | terza\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="1" rowspan ="4" style="background:#c0e4c0" | attivo\n'
	conj = conj .. '! style="height:3em;background:#c0e4c0" | presente\n'
	conj = conj .. '|' .. cong1s .. '\n|' .. cong2s .. '\n|' .. cong3s .. '\n|' .. cong1p .. '\n|' .. cong2p .. '\n|' .. cong3p .. '\n'   
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | imperfetto\n'
	conj = conj .. '|' .. congimp1s .. '\n|' .. congimp2s .. '\n|' .. congimp3s .. '\n|' .. congimp1p .. '\n|' .. congimp2p .. '\n|' .. congimp3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | perfetto\n'
	conj = conj .. '|' .. congperf1s .. '\n|' .. congperf2s .. '\n|' .. congperf3s .. '\n|' .. congperf1p .. '\n|' .. congperf2p .. '\n|' .. congperf3p .. '\n' 
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | piuccheperfetto\n'
	conj = conj .. '|' .. congpiuccheperf1s .. '\n|' .. congpiuccheperf2s .. '\n|' .. congpiuccheperf3s .. '\n|' .. congpiuccheperf1p .. '\n|' .. congpiuccheperf2p .. '\n|' .. congpiuccheperf3p .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="1" rowspan ="4" style="background:#c0e4c0" | passivo\n'
	conj = conj .. '! style="height:3em;background:#c0e4c0" | presente\n'
	conj = conj .. '|' .. pass_cong1s .. '\n|' .. pass_cong2s .. '\n|' .. pass_cong3s .. '\n|' .. pass_cong1p .. '\n|' .. pass_cong2p .. '\n|' .. pass_cong3p .. '\n'   
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | imperfetto\n'
	conj = conj .. '|' .. pass_congimp1s .. '\n|' .. pass_congimp2s .. '\n|' .. pass_congimp3s .. '\n|' .. pass_congimp1p .. '\n|' .. pass_congimp2p .. '\n|' .. pass_congimp3p .. '\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | perfetto\n'
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_congperf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_congperf1s .. '\n|' .. pass_congperf2s .. '\n|' .. pass_congperf3s .. '\n|' .. pass_congperf1p .. '\n|' .. pass_congperf2p .. '\n|' .. pass_congperf3p .. '\n |- \n |}</div></div>\n'
	conj = conj .. '|-\n! style="height:3em;background:#c0e4c0" rowspan="1" | piuccheperfetto\n'
	conj = conj .. '| style="background:#F0F0F0" colspan="6" | <div class="NavFrame" style="border:0"><div class="NavHead">' .. cassetto_congpiuccheperf.. '</div><div class="NavContent">\n {| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px;width:100%" class="inflection-table" \n |- \n | ' .. pass_congpiuccheperf1s .. '\n|' .. pass_congpiuccheperf2s .. '\n|' .. pass_congpiuccheperf3s .. '\n|' .. pass_congpiuccheperf1p .. '\n|' .. pass_congpiuccheperf2p .. '\n|' .. pass_congpiuccheperf3p .. '\n |- \n |}</div></div>\n'
	conj = conj .. '|-\n! colspan="2" rowspan="2" style="background:#e4d4c0" | imperativo\n'
	conj = conj .. '! colspan="3" style="background:#e4d4c0" | singolare\n'
	conj = conj .. '! colspan="3" style="background:#e4d4c0" | plurale\n'
	conj = conj .. '|-\n! style="background:#e4d4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | terza\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | prima\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | seconda\n'
	conj = conj .. '! style="background:#e4d4c0;width:12.5%" | terza\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="1" rowspan ="2" style="background:#e4d4c0" | attivo\n'
	conj = conj .. '! style="height:3em;background:#e4d4c0" | presente\n'
	conj = conj .. '| — \n|' .. imp2s .. '\n| — \n| — \n|' .. imp2p .. '\n| — \n'
	conj = conj .. '|-\n! style="height:3em;background:#e4d4c0" | futuro\n'
	conj = conj .. '| — \n|' .. impfut2s .. '\n|' .. impfut3s .. '\n| — \n|' .. impfut2p .. '\n|' .. impfut3p .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '|-\n'
	conj = conj .. '! colspan="1" rowspan ="2" style="background:#e4d4c0" | passivo\n'
	conj = conj .. '! style="height:3em;background:#e4d4c0" | presente\n'
	conj = conj .. '| — \n|' .. pass_imp2s .. '\n| — \n|— \n|' .. pass_imp2p .. '\n| — \n'
	conj = conj .. '|-\n! style="height:3em;background:#e4d4c0" | futuro\n'
	conj = conj .. '| — \n|' .. pass_impfut2s .. '\n|' .. pass_impfut3s .. '\n| — \n|' .. pass_impfut2p .. '\n|' .. pass_impfut3p .. '\n'
	conj = conj .. '|-\n'
	conj = conj .. '|}'
	end
return conj 
end

function p.nodiacritic(x)
-- funzione che rimuove gli eventuali accenti lunghi e brevi dalla radice (stem); in pratica se si scrive 'puĕr' restituisce 'puer'
	local dp={
	['ā']='a',['ă']='a',
	['ē']='e',['ĕ']='e',
	['ī']='i',['ĭ']='i',
	['ō']='o',['ŏ']='o',
	['ū']='u',['ŭ']='u',
	};
	return (mw.ustring.gsub(x, '.', dp))
end

function p.over(x,over)
-- Utilizzato all'interno della funzione itconj
-- Rimpiazza una voce verbale standard con quella eventualmente indicata nel template (se quest'ultimo è un link rosso, aggiunge anche la relativa categoria)
    if over == nil then return x end
    if over < "a" then return 'n.e.' end
	if over >= "a" then
		local over2 = p.nodiacritic(over)
		if mw.title.new(over).exists == false then 
		RedCat = "[[Categoria:Verbi latini con forme da scrivere|".. mw.title.getCurrentTitle().subpageText.. "]] "
	else
		RedCat = ""
		end
	return "[[" .. over2 .. "#Latino|" .. over .. "]]".. RedCat
	else 
	return "n.e."
	end
end

function p.wiki(x)
-- Utilizzato all'interno della funzione laconj
    if x == nil then return " " end
    if x == "" then return " " end
    -- aggiunge la categoria link rossi
    	if 	x >= "a" then 
    		local y = p.nodiacritic(x) 
       		if mw.title.new(y).exists == false then
    		RedCat = "[[Categoria:Verbi latini con forme da scrivere|".. mw.title.getCurrentTitle().subpageText.. "]]"
        	else
    		RedCat = ""
			end
		-- Rende il suo argomento un wikilink, restituendo ad es. "[[laudo#Latino|lăudō]], o lo rende nullo se non definito (per facilitare la concatenazione)
		return "[[" .. y .. "#Latino|" .. x .. "]]".. RedCat
		else
		return " "
		end
	end
function p.alts(x,y)
-- Utilizzato all'interno della funzione laconj
-- Aggiunge le eventuali forme alternative, se specificate nel template, separandole da quelle base con una virgola
	if y == nil then return x end
	if y >= "0" then return x .. ", " .. y end
	return x
end

return p