Index: gc_lang/fr/rules.grx
==================================================================
--- gc_lang/fr/rules.grx
+++ gc_lang/fr/rules.grx
@@ -1736,10 +1736,26 @@
 # mots grammaticaux
 __[i](d_dans)__
     dans
     <<- not morph(word(-1), ":D.*:p|>[a-z]+ièmes ", False, False) =>> select(\0, ":R")
 
+# Pronoms le/la/les
+__[i](p_astuce_je_le_la_les)__
+    je (l(?:e(?:ur|s|)|a)) @@$                  <<- not morph(word(-1), ":1s", False, False) =>> select(\1, ":Oo")
+__[i](p_astuce_tu_le_la_les)__
+    tu (l(?:e(?:ur|s|)|a)) @@$                  <<- not morph(word(-1), ":2s", False, False) =>> select(\1, ":Oo")
+__[i](p_astuce_il_elle_on_le_la_les)__
+    (?:il|elle|on) (l(?:e(?:ur|s|)|a)) @@$      <<- not morph(word(-1), ":3s", False, False) =>> select(\1, ":Oo")
+__[i](p_astuce_nous_le_la_les)__
+    nous (l(?:e(?:ur|s|)|a)) @@$                <<- not morph(word(-1), ":1p", False, False) =>> select(\1, ":Oo")
+__[i](p_astuce_vous_le_la_les)__
+    vous (l(?:e(?:ur|s|)|a)) @@$                <<- not morph(word(-1), ":2p", False, False) =>> select(\1, ":Oo")
+__[i](p_astuce_ils_elles_le_la_les)__
+    (?:ils|elles) (l(?:e(?:ur|s|)|a)) @@$       <<- not morph(word(-1), ":3p", False, False) =>> select(\1, ":Oo")
+__[i]__
+    [nmts]e (l(?:e(?:ur|s|)|a)) @@$             <<- =>> =select(\1, ":Oo")
+
 # verbe
 __[i](d_ne_verbe)__
     ne +(?:l(?:es? |eurs? |ui |a |’)|[nv]ous |)({w_1}) @@$
     <<- not morph(\1, ":(?:O[sp]|X)", False) =>> select(\1, ":V")
 __[i](d_n_m_t_s_verbe)__
@@ -3715,12 +3731,10 @@
 
 TEST: elles sont si {{pales}}.
 TEST: cette {{pale}} imitation d’un chef-d’œuvre
 
 
-
-
 # peu / peux / peut / peut-être
 __[i]/conf(conf_peut_adv)__
     (?<![dDuUnN][eEnN] )(peu) (?:pas|donc|jamais|rien|parfois|alors|enfin|rarement|éventuellement) @@0
     <<- not before("très +$") -1>> peut                                     # Confusion probable : « peu » signifie « pas beaucoup », pour le verbe pouvoir, écrivez :
 __[i]/conf(conf_il_ce_peut_être)!6__
@@ -4000,29 +4014,31 @@
 TEST: elles sont pas mal ainsi, voire élégantes pourrait-on dire.
 TEST: il y en a peu, voire très peu.
 TEST: car elles pénètrent dans les poumons voire le système sanguin.
 TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants.
 
-
-
-#### Pronoms
+!!
+!!
+!!!! Pronoms + incohérences                                                                         
+!!
+!!
 __[i](p_m_enfin)__      m’enfin <<- ~>> *
 
 __[i]/conf(conf_j_y_en_qqch)__
     (j’(?:en +|y +|))({w_1})  @@0,$
     <<- morphex(\2, ":", ":(?:[123][sp]|O[onw])")
-    -2>> =suggSimil(\2, ":1s")                                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe.
+    -2>> =suggSimil(\2, ":1s")                                                                      # Incohérence avec « \1 » : « \2 » devrait être un verbe.
 __[i]/conf(conf_ne_qqch)__
     (n(?:e +|’))({w_1})  @@0,$
     <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)|>(?:[lmtsn]|surtout|guère|presque|même|tout|parfois|vraiment|réellement) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
     -2>> =suggSimil(\2, ":(?:[123][sp]|Oo|Y)")                                                      # Incohérence avec « \1 » : « \2 » devrait être un verbe ou un pronom personnel objet.
 __[i]/conf(conf_n_y_en_qqch)__
     (n’(?:en|y)) ({w_1})  @@0,$
     <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
     -2>> =suggSimil(\2, ":(?:[123][sp]|Y)")                                                         # Incohérence avec « \1 » : « \2 » devrait être un verbe.
 __[i]/conf(conf_ne_pronom_qqch)__
-    (ne l(?:es? +|a +|’))({w_1})  @@0,$
+    (ne (?:l(?:es? +|eur +|a +|’)|[nv]ous))({w_1})  @@0,$
     <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
     -2>> =suggSimil(\2, ":(?:[123][sp]|Y)")                                                         # Incohérence avec « \1 » : « \2 » devrait être un verbe.
 __[i]/conf(conf_me_te_se_qqch)__
     ([mts]e +(?:les? |la |l’|))(?!voi(?:là|ci))({w_1})  @@0,$
     <<- not re.search("(?i)^se que?", \0)
@@ -4067,10 +4083,11 @@
 TEST: il est normal de ne presque pas payer des gens qui effectuent un travail
 TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ».
 TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter.
 TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié.
 TEST: Ne parfois pas être celui qui sabote l’ambiance.
+
 
 !!
 !!
 !!!! Formes verbales sans sujet                                                                     
 !!
@@ -4947,10 +4964,14 @@
     (d[eouû]\w+|cr[ouû]\w+|pens\w+|imagin\w+|estim\w+) (l(?:eur|ui)|nous|vous) être @@0,w
     <<- morph(\1, ">(?:croire|devoir|estimer|imaginer|penser) ") ~2>> *
 __[i](p_en_partie)__
     (en partie) ({w_2}) @@0,$
     <<- morph(\1, ":(?:R|D|[123]s|X)", False) ~1>> *
+__[i](p_en_plus)__
+    en plus
+    <<- morph(word(1), ":A", False, True) ~>> en
+    <<- __else__ ~>> *
 __[i](p_en_quelques_tps1)__
     (en quelques (?:années|décennies|semaines|heures|minutes)) +({w_2}) @@0,$
     <<- not morph(\2, ":[AQ]:[ef]:[si]", False) ~1>> *
 __[i](p_en_quelques_tps2)__
     (en quelques (?:jours|mois|trimestres|semestres|siècles|millénaires)) +({w_2}) @@0,$
@@ -5233,39 +5254,10 @@
 TEST: les populistes d’Europe centrale et de l’Est ont d’ores et déjà tellement réussi à compromettre les institutions de leur pays
 TEST: Deirdre, elle aussi légèrement ostracisée, m’interrogea.
 TEST: des échanges pair à pair
 TEST: Les 27 ont préféré tout au long de la journée vanter un nouvel espoir dans leur avenir commun.
 TEST: lorsqu’une campagne de malwares déployée dans un pays cible ne peut d’évidence y rester confinée.
-
-
-!!!
-!!!
-!!! Désambiguïsation (deprecated)
-!!!
-!!!
-#__[i]__  ({avoir}) +({w_1}[eiuts])  @@0,$
-#    <<- morph(\1, ":V0a", False) and morphex(\1, ":Q", ":G")
-#    =>> exclude(\2, ":A")
-
-
-### Désambiguïsation par séparation de le/la/les avec la suite s’il s’agit de COD dans les syntagmes verbaux
-__[i>(p_astuce_je_le_la_les)__
-    je l(?:es?|a)( ) @@$               <<- not morph(word(-1), ":1s", False, False) ~1>> @
-__[i>(p_astuce_tu_le_la_les)__
-    tu l(?:es?|a)( ) @@$               <<- not morph(word(-1), ":2s", False, False) ~1>> @
-__[i>(p_astuce_il_elle_on_le_la_les)__
-    (?:il|elle|on) l(?:es?|a)( ) @@$   <<- not morph(word(-1), ":3s", False, False) ~1>> @
-__[i>(p_astuce_nous_le_la_les)__
-    nous l(?:es?|a)( ) @@$             <<- not morph(word(-1), ":1p", False, False) ~1>> @
-__[i>(p_astuce_vous_le_la_les)__
-    vous l(?:es?|a)( ) @@$             <<- not morph(word(-1), ":2p", False, False) ~1>> @
-__[i>(p_astuce_ils_elles_le_la_les)__
-    (?:ils|elles) l(?:es?|a)( ) @@$    <<- not morph(word(-1), ":3p", False, False) ~1>> @
-#__[i>__  [nmts]e l(?:es?|a)( ) @@$          <<- ~1>> @
-#__[i]__  l(?:es?|a)( )({w_2}) @@*,$         <<- morph(\2, ":[123][sp]") ~1>> @
-
-
 TEST: comme le signe évident d’une politique volontaire
 TEST: c’était le signe évident d’une politique volontaire
 TEST: ce que c’est : le signe évident d’une politique volontaire
 
 
@@ -5330,10 +5322,11 @@
     <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
     <<- __else__ and morph(\2, ":[NAQ].*:p") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
     <<- __also__ -1>> les                                                                           # Accord de nombre erroné : « \2 » est au pluriel.
 __[i]/gn(gn_le_accord2)__
     ({w_1}) +(le) +({w_2})  @@0,w,$
+    <<- morph(\2, ":D", False) >>>
     <<- morphex(\3, ":[NAQ].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)")
     or ( morphex(\3, ":[NAQ].*:f", ":[me]") and morphex(\1, ":R", ">(?:e[tn]|ou) ") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
     -2>> =suggLesLa(\3)                                                                             # Accord de genre erroné : « \3 » est féminin.
     <<- __also__ and hasMasForm(\3) -3>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \2 » est un déterminant masculin.
     <<- __else__ and morph(\3, ":[NAQ].*:p")
@@ -5417,10 +5410,11 @@
     <<- morphex(\2, ":[NAQ].*:m", ":(?:e|f|P|G|W|[1-3][sp]|Y)") -1>> le                             # Accord de genre erroné : « \2 » est masculin.
     <<- __also__ and hasFemForm(\2) -2>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
     <<- __else__ and morph(\2, ":[NAQ].*:p") -2>> =suggFemSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
 __[i]/gn(gn_la_accord2)__
     ({w_1}) +(la) +({w_2})  @@0,w,$
+    <<- morph(\2, ":D", False) >>>
     <<- morphex(\3, ":[NAQ].*:m", ":(?:e|f|P|G|W|[1-3][sp]|Y)")
     or ( morphex(\3, ":[NAQ].*:m", ":[fe]") and morphex(\1, ":[RC]", ">(?:e[tn]|ou) ") and not (morph(\1, ":(?:Rv|C)", False) and morph(\3, ":Y", False)) )
     -2>> le                                                                                         # Accord de genre erroné : « \3 » est masculin.
     <<- __also__ and hasFemForm(\3) -3>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \2 » est un déterminant féminin.
     <<- __else__ and morph(\3, ":[NAQ].*:p")
@@ -5528,11 +5522,12 @@
     , +(leur) +({w_2})  @@w,$
     <<- morph(\2, ":[NAQ].*:p") -1>> leurs                                                          # Accord de nombre erroné avec « \2 ».
     <<- __also__ -2>> =suggSing(@)                                                                  # Accord de nombre erroné : « \2 » devrait être au singulier.
 __[i]/gn(gn_leur_accord2)__
     ({w_1}) +(leur) +({w_2})  @@0,w,$
-    <<- morph(\3, ":[NAQ].*:p") or ( morphex(\3, ":[NAQ].*:p", ":[si]") and morphex(\1, ":[RC]|>de ", ">(?:e[tn]|ou)") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
+    <<- morph(\3, ":[NAQ].*:p")
+    or ( morphex(\3, ":[NAQ].*:p", ":[si]") and morphex(\1, ":[RC]|>de ", ">(?:e[tn]|ou)") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
     -2>> leurs                                                                                      # Accord de nombre erroné avec « \3 ».
     <<- __also__ -3>> =suggSing(@)                                                                  # Accord de nombre erroné : « \3 » devrait être au singulier.
 __<i]/gn(gn_leur_accord3)__
     ^ *(leur) +({w_2})  @@*,$
     <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -1>> leurs                                             # Accord de nombre erroné avec « \1 ».
@@ -5559,26 +5554,27 @@
 
 
 ## Pluriels épicènes
 
 __<i]/gn(gn_les_accord1)__
-    , les +({w_2})  @@$
-    <<- ( morph(\1, ":[NAQ].*:s") and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)) )
-    or \1 in aREGULARPLURAL
-    -1>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \1 » devrait être au pluriel.
+    , (les) +({w_2})  @@w,$
+    <<- ( morph(\2, ":[NAQ].*:s") and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)) )
+    or \2 in aREGULARPLURAL
+    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.
 __[i]/gn(gn_les_accord2)__
-    ({w_1}) +les +({w_2})  @@0,$
-    <<- ( morph(\2, ":[NAQ].*:s")
-    or (morphex(\2, ":[NAQ].*:s", ":[pi]|>avoir") and morphex(\1, ":[RC]", ">(?:e[tn]|ou) ") and not (morph(\1, ":Rv", False) and morph(\2, ":Y", False))) )
+    ({w_1}) +(les) +({w_2})  @@0,w,$
+    <<- morph(\2, ":D", False) >>>
+    <<- ( morph(\3, ":[NAQ].*:s")
+    or (morphex(\3, ":[NAQ].*:s", ":[pi]|>avoir") and morphex(\1, ":[RC]", ">(?:e[tn]|ou) ") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False))) )
     and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False))
-    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.
+    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \3 » devrait être au pluriel.
 __[i]/gn(gn_les_accord3)__
-    ^ *les +({w_2})  @@$
-    <<- (morphex(\1, ":[NAQ].*:s", ":[ipYPGW]")
+    ^ *(les) +({w_2})  @@w,$
+    <<- (morphex(\2, ":[NAQ].*:s", ":[ipYPGW]")
     and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)))
-    or \1 in aREGULARPLURAL
-    -1>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \1 » devrait être au pluriel.
+    or \2 in aREGULARPLURAL
+    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.
 
 TEST: ils viennent, les {{petit}}
 TEST: Les {{tiret}}                                           ->> tirets
 TEST: Les plus {{grand}} hommes.                              ->> grands
 TEST: les {{véhicule}}                                        ->> véhicules
@@ -6036,23 +6032,51 @@
 TEST: on parle là d’une femme {{inconnu}}
 TEST: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes.
 
 
 ## articles divers
+
+__[i]/gn(gn_2m_le)__
+    (?<!et |ou )(le) +({w_2}) +({w_2})  @@0,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\3, ":[NAQ].*:f")
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
+    <<- not \3.startswith("seul") 
+    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
+__[i]/gn(gn_2m_le_après_et_ou_de)__
+    (?:et|ou) +(le) +({w_2}) +({w_2})  @@w,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\3, ":[NAQ].*:f")
+    and not apposition(\2, \3) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
+    <<- not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
+    and not apposition(\2, \3) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.    
+
+TEST: le test très {{cons}} qu’on a passé hier.
+TEST: c’était le chien {{perdue}} des voisins.
+TEST: viens vite ou le pari {{imperdables}} sera moins facile…
+
 
 __[i]/gn(gn_2m_det_mas_sing)__
-    (?<!et |ou |de )(?:le|cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
+    (?<!et |ou |de )(?:cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
     <<- not \2.startswith("seul")
     and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\2, ":[NAQ].*:f")
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
     <<- not \2.startswith("seul") 
     and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
 __[i]/gn(gn_2m_det_mas_sing_après_et_ou_de)__
-    (?:et|ou|de) +(?:le|cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
+    (?:et|ou|de) +(?:cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
     <<- not \2.startswith("seul")
     and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\2, ":[NAQ].*:f")
     and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
     -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
     <<- not \2.startswith("seul")
@@ -6087,40 +6111,98 @@
     -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.    
 
 TEST: il brandissait avec fougue son drapeau {{déchirés}}
 TEST: comment osez-vous médire de mon héritage {{glorieuse}}
 
+
+__[i]/gn(gn_2m_la)__
+    (?<!et |ou |de )(la) +({w_2}) +({w_2})  @@0,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\3, ":[NAQ].*:m")
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
+    <<- not \3.startswith("seul") 
+    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
+__[i]/gn(gn_2m_la_après_et_ou_de)__
+    (?:et|ou|de) +(la) +({w_2}) +({w_2})  @@w,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\3, ":[NAQ].*:m")
+    and not apposition(\2, \3) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
+    <<- not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
+    and not apposition(\2, \3) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
+
+TEST: La plus grande {{cinglé}}.
+TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
+
 
 __[i]/gn(gn_2m_det_fem_sing)__
-    (?<!et |ou |de )(?:la|[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
+    (?<!et |ou |de )(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
     <<- \1 != "fois" and not \2.startswith("seul")
     and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
     <<- not \2.startswith("seul") 
     and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
 __[i]/gn(gn_2m_det_fem_sing_après_et_ou_de)__
-    (?:et|ou|de) +(?:la|[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
+    (?:et|ou|de) +(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
     <<- \1 != "fois" and not \2.startswith("seul")
     and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
     and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
     -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
     <<- not \2.startswith("seul")
     and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
     and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
-    -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.    
+    -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
 
-TEST: La plus grande {{cinglé}}.
 TEST: quelle belle {{étourdi}}, cette gamine
+TEST: j’en ai assez de cette ville {{stressées}} en permanence.
 TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ?
-TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
+
+
+__[i]/gn(gn_2m_leur)__
+    (?<!et |ou |de )(leur) +({w_2}) +({w_2})  @@0,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \2 » et « \3 ».
+    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \3 ».
+    <<- not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
+__[i]/gn(gn_2m_leur_après_et_ou_de)__
+    (?:et|ou|de) +(leur) +({w_2}) +({w_2})  @@w,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
+    and not apposition(\2, \3)
+    and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \2 » et « \3 ».
+    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \3 ».
+    <<- not \3.startswith("seul")
+    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
+    and not apposition(\2, \3) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
+
+TEST: leur puissance {{perdues}}
+TEST: leur arbre {{élaguée}}
+TEST: je me souviens de leur verve {{décalé}}
+TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.
 
 
 __[i]/gn(gn_2m_det_epi_sing)__
-    (?<!et |ou |de )(?:leur|chaque|quelque|[nv]otre) +({w_2}) +({w_2})  @@w,$
+    (?<!et |ou |de )(?:chaque|quelque|[nv]otre) +({w_2}) +({w_2})  @@w,$
     <<- \1 != "fois" and not \2.startswith("seul") and not re.search("(?i)^quelque chose", \0)
     and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \1 » et « \2 ».
     <<- __also__ and hasFemForm(\1) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \2 ».
@@ -6127,11 +6209,11 @@
     <<- not \2.startswith("seul")
     and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
 __[i]/gn(gn_2m_det_epi_sing_après_et_ou_de)__
-    (?:et|ou|de) +(?:leur|chaque|quelque|[nv]otre) +({w_2}) +({w_2})  @@w,$
+    (?:et|ou|de) +(?:chaque|quelque|[nv]otre) +({w_2}) +({w_2})  @@w,$
     <<- \1 != "fois" and not \2.startswith("seul") and not re.search("(?i)quelque chose", \0)
     and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
     and not apposition(\1, \2)
     and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
     -2>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \1 » et « \2 ».
@@ -6140,11 +6222,11 @@
     and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
     and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
     -2>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
 
 TEST: chaque élément {{terrestres}}
-TEST: je me souviens de leur verve {{décalé}}
+TEST: ils viennent de chaque coin {{ignorée}} du pays.
 
 
 __[i]/gn(gn_2m_det_mas_plur)__
     (?<!et |ou |de )(?:certains|quels|lesdits) +({w_2}) +({w_2})  @@w,$
     <<- not \2.startswith("seul")
@@ -6200,13 +6282,44 @@
     -2>> =suggFemPlur(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
 
 TEST: certaines idioties {{stupide}}
 TEST: je ne sais guère de quelles âneries {{proférés}} on parle.
 
+__[i]/gn(gn_2m_les)__
+    (?<!et |ou )(les) +({w_2}) +({w_2})  @@0,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
+    and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
+    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
+    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
+    and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
+    and not before(r"(?i)\bune? de ")
+    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.
+__[i]/gn(gn_2m_les_après_et_ou_de)__
+    (?:et|ou) +(les) +({w_2}) +({w_2})  @@w,w,$
+    <<- morph(\1, ":D", False) >>>
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
+    and not apposition(\2, \3)
+    and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
+    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
+    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
+    <<- \2 != "fois" and not \3.startswith("seul")
+    and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
+    and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
+    and not ( before(r"(?i)\bune? de ") or (\0.startswith("de") and before(r"(?i)\bune? +$")) )
+    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.
+
+TEST: les pitres {{imbécile}}
+TEST: il faut en convenir et les femmes {{oubliés}}
+
 
 __[i]/gn(gn_2m_det_epi_plur)__
-    (?<!et |ou |de )(?:[lcmts]es|[nv]os|leurs|quelques|plusieurs|aux|moult) +({w_2}) +({w_2})  @@w,$
+    (?<!et |ou |de )(?:[cmts]es|[nv]os|leurs|quelques|plusieurs|aux|moult) +({w_2}) +({w_2})  @@w,$
     <<- \1 != "fois" and not \2.startswith("seul")
     and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
     and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
     -2>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \1 » et « \2 ».
     <<- __also__ and hasFemForm(\1) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \2 ».
@@ -6214,11 +6327,11 @@
     and morph(\1, ":[NAQ].*:[pi]", False) and morph(\2, ":[NAQ].*:s")
     and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
     and not before(r"(?i)\bune? de ")
     -2>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
 __[i]/gn(gn_2m_det_epi_plur_après_et_ou_de)__
-    (?:et|ou|de) +(?:[lcmts]es|[nv]os|leurs|quelques|plusieurs|aux|moult) +({w_2}) +({w_2})  @@w,$
+    (?:et|ou|de) +(?:[cmts]es|[nv]os|leurs|quelques|plusieurs|aux|moult) +({w_2}) +({w_2})  @@w,$
     <<- \1 != "fois" and not \2.startswith("seul")
     and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
     and not apposition(\1, \2)
     and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
     -2>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \1 » et « \2 ».
@@ -6280,19 +6393,29 @@
 
 TEST: Grande manifestation {{réprimées}} dans le sang.
 
 
 __[i]/gn(gn_3m_les)__
-    les +({w_2}) +({w_2}) +({w_3})  @@w,w,$
-    <<- morph(\1, ":[NAQ].*:[pi]") and morph(\2, ":[NAQ].*:[pi]") and morph(\3, ":[NAQ].*:s")
-    -3>> =suggPlur(@)                                                       # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
+    (les) +({w_2}) +({w_2}) +({w_3})  @@0,w,w,$
+    <<- morph(\1, ":D", False)
+    and morph(\2, ":[NAQ].*:[pi]") and morph(\3, ":[NAQ].*:[pi]") and morph(\4, ":[NAQ].*:s")
+    -4>> =suggPlur(@)                                                       # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
 
 TEST: les heureux imbéciles {{payé}} au lance-pierre.
 
+
+__[i]/gn(gn_3m_le_la)__
+    ^ *(l(?:e(?:ur|)|a)) +({w_2}) +({w_2}) +({w_3})  @@*,w,w,$
+    <<- morph(\1, ":D", False)
+    and morph(\2, ":[NAQ].*:[si]", False) and morphex(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p")
+    -4>> =suggSing(@)                                                       # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.
+
+TEST: leur grande passion {{délirantes}} pour le cosplay.
+
 
 __[i]/gn(gn_3m_det_sing)__
-    ^ *(l(?:e(?:ur|dit|)|a(?:dite|))|une?|ce(?:t|tte|)|[mts](?:on|a)|[nv]otre|au|quel(?:le|)) +({w_2}) +({w_2}) +({w_3})  @@*,w,w,$
+    ^ *(l(?:edit|adite)|une?|ce(?:t|tte|)|[mts](?:on|a)|[nv]otre|au|quel(?:le|)) +({w_2}) +({w_2}) +({w_3})  @@*,w,w,$
     <<- morph(\2, ":[NAQ].*:[si]", False) and morphex(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p")
     -4>> =suggSing(@)                                                       # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.
 
 TEST: un gros connard {{pathétiques}}
 TEST: le jour venu prises par surprise elles durent s’enfuir.
@@ -9919,16 +10042,36 @@
 !!! Processeur avant impératif                                                                      
 !!!
 !!!
 
 __<i>(p_n_importe_qui_quoi)__       n(’)importe quo?i @@1 <<- ~1>> `
-__<i](p_premier_ne_pro_per_obj1)__  ^ *ne l(?:es?|a) l(?:ui|eur) <<- ~>> >
-__<i](p_premier_ne_pro_per_obj2)__  ^ *ne (?:[mt]’|l(?:ui|eur) )en <<- ~>> >
-__<i](p_premier_ne_pro_per_obj3)__  ^ *ne (?:[mt]e|[nv]ous) (?:les?|la|en) <<- ~>> >
-__<i](p_premier_ne_pro_per_obj4)__  ^ *ne +(?:en|l(?:es?|a|’(?:en|y))|[mt](?:e|’(?:en|y))|[nv]ous) <<- ~>> >
-__<i>(p_premier_ne_pro_per_obj5)__  ^ *n’(?:en |y |) <<- ~>> >
-__<i>(p_premier_ne_pro_per_obj6)__  ^ *ne (?:l’|) <<- ~>> >
+
+
+__<i](p_premier_ne_pro_per_obj1)__
+    ^( *ne l(?:es?|a) l(?:ui|eur)) ({w_2})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
+    <<- ~1>> *
+__<i](p_premier_ne_pro_per_obj2)__
+    ^( *ne (?:[mt]’|l(?:ui|eur) )en) ({w_2})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
+    <<- ~1>> *
+__<i](p_premier_ne_pro_per_obj3)__
+    ^( *ne (?:[mt]e|[nv]ous) (?:les?|la|en)) ({w_2})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
+    <<- ~1>> *
+__<i](p_premier_ne_pro_per_obj4)__
+    ^( *ne +(?:en|l(?:es?|a|’(?:en|y))|[mt](?:e|’(?:en|y))|[nv]ous)) ({w_2})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
+    <<- ~1>> *
+__<i>(p_premier_ne_pro_per_obj5)__
+    ^( *n’(?:en |y |))({w_2})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
+    <<- ~1>> *
+__<i>(p_premier_ne_pro_per_obj6)__
+    ^( *ne (?:l’|))({w_2})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
+    <<- ~1>> *
 
 
 
 !!
 !!
@@ -9951,17 +10094,14 @@
 # verbes du 1er et du 3ᵉ groupe en -e
 __[i]/imp(imp_vgroupe1)__
     ^ *(\w+es)(?![- ](?:je|tu|[nv]ous|ils?|elles?|t-ils?|t-elles?))  @@$
     <<- morphex(\1, ":V[13].*:Ip.*:2s", ":[GNAM]")
     -1>> =\1[:-1]                                                                   # S’il s’agit d’un impératif, pas de “s”.
-__[i]/imp(imp_ne_vgroupe1)__
-    ^ *> +(\w+es)(?![- ](?:je|tu|[nv]ous|ils?|elles?|t-ils?|t-elles?))  @@$
-    <<- morphex(\1, ":V[13].*:Ip.*:2s", ":G")
-    -1>> =\1[:-1]                                                                   # S’il s’agit d’un impératif, pas de “s”.
 
 TEST: {{Apportes}} ton fric à cet homme.
 TEST: N’{{abandonnes}} pas si vite.
+TEST: Ne {{demandes}} rien, tais-toi.
 TEST: Castres est une belle ville.
 TEST: Limoges aussi.
 
 
 __<i>/imp(imp_allez1)__
@@ -9978,14 +10118,10 @@
     ^ *(\w+t)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?))  @@$
     <<- morphex(\1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire)") and analyse(\1[:-1]+"s", ":E:2s", False)
     and not (re.search("(?i)^vient$", \1) and after("^ +(?:l[ea]|se |s’)"))
     and not (re.search("(?i)^dit$", \1) and after("^ +[A-ZÉÈÂÎ]"))
     -1>> =\1[:-1]+"s"                                                               # S’il s’agit d’un impératif, la terminaison est “is”, non “it”.
-__[i]/imp(imp_ne_vgroupe2_vgroupe3_t)__
-    ^ *> +(\w+t)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?))  @@$
-    <<- morphex(\1, ":V[23].*:Ip.*:3s", ":G|>(?:devoir|suffire)") and analyse(\1[:-1]+"s", ":E:2s", False)
-    -1>> =\1[:-1]+"s"                                                               # S’il s’agit d’un impératif, la terminaison est “is”, non “it”.
 
 TEST: {{Finit}} ton assiette.
 TEST: Ne {{pourrit}} pas l’ambiance.
 TEST: Suffit de s’en servir.
 TEST: Et ne doit pas être rejeté dans les limbes.
@@ -9996,36 +10132,29 @@
 __[i]/imp(imp_vgroupe3_d)__
     ^ *(\w+d)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?))  @@$
     <<- morphex(\1, ":V3.*:Ip.*:3s", ":[GNA]")
     and not (re.search("(?i)^répond$", \1) and after("^ +[A-ZÉÈÂÎ]"))
     -1>> \1s                                                                        # S’il s’agit d’un impératif, ajoutez un “s”.
-__[i]/imp(imp_ne_vgroupe3_d)__
-    ^ *> +(\w+d)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?))  @@$
-    <<- morphex(\1, ":V3.*:Ip.*:3s", ":G")
-    -1>> \1s                                                                        # S’il s’agit d’un impératif, ajoutez un “s”.
 
 TEST: {{Prend}} le chemin de droite.
 TEST: N’{{attend}} pas qu’elle vienne.
 TEST: — Pour ma part, répond P., je crois que tout va bien.
 
 
 # aller
 __[i]/imp(imp_va)__
-    ^[ >]*(vas)(?! (?:tu|ils?|elles?|t-ils?|t-elles?))  @@$
+    ^ *(vas)(?! (?:tu|ils?|elles?|t-ils?|t-elles?))  @@$
     <<- -1>> va                                                                     # S’il s’agit d’un impératif, pas de “s”.
 
 TEST: {{Vas}} lui mettre une branlée.
 
 
 # être
 __[i]/imp(imp_sois)__
     ^ *(soit) +({w_2})  @@*,$
-    <<- morphex(\2, ":A", ":G") and not after(r"\bsoit\b")
+    <<- morph(\1, ":V") or (morphex(\2, ":A", ":G") and not after(r"\bsoit\b"))
     -1>> sois                                                                       # S’il s’agit d’un impératif, écrivez « sois ».
-__[i]/imp(imp_ne_sois)__
-    ^ *> +(soit)  @@$
-    <<- -1>> sois                                                                   # S’il s’agit d’un impératif, écrivez « sois ».
 
 TEST: {{Soit}} cohérent avec toi-même.
 TEST: Ne {{soit}} pas con.
 
 
@@ -10191,53 +10320,152 @@
 
 
 
 !!!
 !!!
-!!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.
+!!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.    
 !!!
 !!!
 
 # Brainfuck (ici, prudence !)
-__[i](p_pro_per_obj01)__    ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y) <<- ~>> >
-__[i](p_pro_per_obj02)__    ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y))) <<- ~>> >
-__[i](p_pro_per_obj03)__    [mts]e +l(?:a|es?) <<- ~>> >
-__[i](p_pro_per_obj04)__    [nmsl]’(?:en|y) <<- ~>> >
-__[i](p_pro_per_obj05)__    l(?:a|es?) +(?:lui|en) <<- ~>> >
-__[i](p_pro_per_obj06)__    lui +(?:la|les?|en|y) <<- not morph(word(-1), ":R", False, True) ~>> >
-__[i](p_pro_per_obj07)__    leur +(?:en|y) <<- not morph(word(-1), ":R", False, False) ~>> >
-__[i](p_pro_per_obj08)__    (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) @@$ <<- ~1>> >
-__[i](p_pro_per_obj09)__    (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
-    <<- \1 == "le" and not morph(\2, ":N.*:[me]:[si]") ~1>> >
-    <<- \1 == "la" and not morph(\2, ":N.*:[fe]:[si]") ~1>> >
-    <<- \1 == "les" and not morph(\2, ":N.*:.:[pi]") ~1>> >
-__[i](p_pro_per_obj10)__    (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- not morph(word(-1), ":R", False, False) ~1>> >
-__[i](p_pro_per_obj11)__    ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- ~1>> >
-__[i](p_pro_per_obj12)__    (?<!’)(en) ({w_2}) @@0,$ <<- morph(\2, ":[123][sp]") ~1>> >
-__[i](p_pro_per_obj13)__    (?:tu|il|on) (en) @@3 <<- not morph(word(-1), ":[123]s", False, False) ~1>> >
-__[i](p_pro_per_obj14)__    (?<!’)elle (en) @@5 <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> >
-__[i](p_pro_per_obj15)__    (?<!’)elles (en) @@6 <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> >
-__[i](p_pro_per_obj16)__    ils (en) @@4 <<- not morph(word(-1), ":3p", False, False) ~1>> >
-__[i](p_pro_per_obj17)__    (?<!’)(y) ({w_2}) @@0,2 <<- morph(\2, ":[123][sp]", False) ~1>> >
-__[i](p_pro_per_obj18)__    (le) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> >
-__[i](p_pro_per_obj19)__    (la) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> >
-__[i](p_pro_per_obj20)__    (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
-__[i](p_pro_per_obj21)__    (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
-__[s](p_pro_per_obj22)__    [lL]’a <<- ~>> > a
-__[i](p_pro_per_obj23)__    (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|1p)") ~1>> >
-__[i](p_pro_per_obj24)__    (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|2p)") ~1>> >
-__[i](p_pro_per_obj25)__    (?:à|de) ([nv]ous|lui|les?|en)(?! qui) @@$ <<- ~1>> >
-__[i](p_pro_per_obj26)__    (s’)({w4}) @@0,2 <<- morph(\2, ":V", False) ~1>> >
-__[i](p_pro_per_obj27)__    (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +){w_2} @@* <<- isStart() ~1>> >
-__[i](p_pro_per_obj28)__    (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$ <<- morph(\2, ":V", False) ~1>> >
-__[i](p_pro_per_obj29)__    (t’(?:en|y)) ({w_2}) @@0,$ <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
-__[i](p_pro_per_obj30)__    (t’)({w_2}) @@0,$ <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
-__[i>(p_pro_per_obj31)__    ne [mtsl]’ <<- ~>> >
-__[i>(p_pro_per_obj32)__    [mts]e +l’ <<- ~>> >
-__[i>(p_pro_per_obj33)__    [nm]’ <<- ~>> >
-__[i](p_pro_per_obj34)__    [nmts]e <<- ~>> >
-__<s>(p_pro_per_obj35)__    > +> <<- ~>> >
+__[i](p_pro_per_obj01)__
+    (ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y)) +({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i](p_pro_per_obj02)__
+    (ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y)))) +({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i](p_pro_per_obj03)__
+    ([mts]e +l(?:a|es?)) +({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i](p_pro_per_obj04)__
+    ([nmsl]’(?:en|y)) +({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i](p_pro_per_obj05)__
+    (l(?:a|es?) +(?:lui|en)) +({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i](p_pro_per_obj06)__
+    (lui +(?:la|les?|en|y)) +({w_1})  @@0,$
+    <<- not morph(word(-1), ":R", False, True) ~1>> *
+    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj07)__
+    (leur +(?:en|y)) +({w_1})  @@0,$
+    <<- not morph(word(-1), ":R", False, False) ~1>> *
+    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj08)__
+    (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) +({w_1})  @@*,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
+__[i](p_pro_per_obj09)__
+    (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
+    <<- (\1 == "le" and not morph(\2, ":N.*:[me]:[si]"))
+        or (\1 == "la" and not morph(\2, ":N.*:[fe]:[si]"))
+        or (\1 == "les" and not morph(\2, ":N.*:.:[pi]")) ~1>> *
+    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj10)__
+    (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1})  @@*,$
+    <<- not morph(word(-1), ":R", False, False) ~1>> *
+    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj11)__
+    ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1})  @@*,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
+__[i](p_pro_per_obj12)__
+    (?<!’)(en) ({w_2}) @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)") ~1>> *
+__[i](p_pro_per_obj13)__
+    (?:tu|il|on) (en) +({w_1})  @@w,$
+    <<- not morph(word(-1), ":[123]s", False, False) ~1>> *
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj14)__
+    (?<!’)elle (en) +({w_1})  @@w,$
+    <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> *
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj15)__
+    (?<!’)elles (en) +({w_1})  @@w,$
+    <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> *
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj16)__
+    ils (en) +({w_1})  @@4,$
+    <<- not morph(word(-1), ":3p", False, False) ~1>> *
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj17)__
+    (?<!’)(y) ({w_2}) @@0,2
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) ~1>> *
+    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj18)__
+    (le) ({w_2}) @@0,3
+    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> *
+    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj19)__
+    (la) ({w_2}) @@0,3
+    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> *
+    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj20)__
+    (l’)({w_2}) @@0,2
+    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> *
+    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[i](p_pro_per_obj21)__
+    (leur) ({w_2}) @@0,5
+    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> *
+    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
+__[s](p_pro_per_obj22)__
+    [lL]’(a) @@$
+    <<- =>> select(\1, ":V")
+    <<- ~>> "  a"
+__[i](p_pro_per_obj23)__
+    (nous) ({w_2}) @@0,5
+    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|1p)") =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
+__[i](p_pro_per_obj24)__
+    (vous) ({w_2}) @@0,5
+    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|2p)") =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
+__[i](p_pro_per_obj25)__
+    (?:à|de) ([nv]ous|lui|les?|en) (?!qui)({w_2}) @@w,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i](p_pro_per_obj26)__
+    (s’)({w4}) @@0,2
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
+__[i](p_pro_per_obj27)__
+    (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +)({w_2}) @@*,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- isStart() ~1>> *
+__[i](p_pro_per_obj28)__
+    (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
+__[i](p_pro_per_obj29)__
+    (t’(?:en|y)) ({w_2}) @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> *
+__[i](p_pro_per_obj30)__
+    (t’)({w_2}) @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> *
+__[i>(p_pro_per_obj31)__
+    (ne [mtsl]’)({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i>(p_pro_per_obj32)__
+    ([mts]e +l’)({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- ~1>> *
+__[i>(p_pro_per_obj33)__
+    [nm]’({w_1})  @@2
+    <<- morph(\1, ":(?:[123][sp]|P|Y)", False) =>> select(\1, ":(?:[123][sp]|P|Y)")
+    <<- ~>> "  \1"
+__[i](p_pro_per_obj34)__
+    ([nmts]e +)({w_1})  @@0,$
+    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
+    <<- __also__ ~1>> *
 # Fin du Brainfuck
 
 
 
 !!
@@ -10265,12 +10493,12 @@
 TEST: Nous les donnons {{a}} ces gens.
 TEST: j’arrive {{a}} la gare
 
 
 #### CONFUSION fasse / face
-__<i]/conf(conf_fasse)__
-    > +(face)(?! à) @@$ <<- -1>> fasse                     # Confusion probable. Pour le subjonctif de “faire”, écrivez “fasse”.
+#__<i]/conf(conf_fasse)__
+#    > +(face)(?! à) @@$ <<- -1>> fasse                     # Confusion probable. Pour le subjonctif de “faire”, écrivez “fasse”.
 
 TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal
 
 
 #### CONFUSION ÊTRE / AVOIR
@@ -10351,12 +10579,12 @@
 
 TEST: Mieux vaut {{consacré}} son temps à des occupations utiles.
 
 
 __[i]/infi(infi_à)__
-    à +> +({w_2}(?:ée?|ez))  @@$
-    <<- morphex(\1, ":V1", ":[NM]") and not \1.istitle() and not before("> +$")
+    à +({w_2}(?:ée?s?|ez|ai[st]?))  @@$
+    <<- morphex(\1, ":V1", ":[NM]") and not \1.istitle() and not before(r"(?i)\b(?:les|en) +$")
     -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.
 
 TEST: elle parvenait à y {{songez}} souvent
 TEST: je vais à Rodez.
 
@@ -10368,11 +10596,11 @@
 
 TEST: Ils ont beau {{consacré}} le plus clair de leur temps à ce projet, ça n’avance guère.
 
 
 __[i]/infi(infi_par_pour_sans)__
-    (?:p(?:a|ou)r|sans) +> +({w_2}(?:ée?s?|ai[st]?|ez))  @@$
+    (?:p(?:a|ou)r|sans) +({w_2}(?:ée?s?|ai[st]?|ez))  @@$
     <<- morphex(\1, ":[Q123][sp]?", ":Y") -1>> =suggVerbInfi(@)                                     # Le verbe devrait être à l’infinitif.
 
 TEST: pour s’y {{donnait}} le plus souvent.
 
 
@@ -10386,15 +10614,17 @@
 #### PAS D’INFINITIF
 
 __[i]/ppas(ppas_être)__
     (?<![cC]’)({etre}) +({w_2}er)  @@0,$
     <<- morph(\1, ":V0e", False) and (morphex(\2, ":Y", ":[NAQ]") or \2 in aSHOULDBEVERB) and not re.search("(?i)^(?:soit|été)$", \1)
-    and not morph(word(-1), ":Y|>ce", False, False) and not before("(?i)ce (?:>|qu|que >) $")
-    and not before_chk1(r"({w_2}) +> $", ":Y") and not before_chk1(r"^ *>? *(\w[\w-]+)", ":Y")
+    and not morph(word(-1), ":Y|>ce", False, False) and not before("(?i)ce que? +$")
+    and not morph(word(-1), ":Y", False, False) and not before_chk1(r"^ *>? *(\w[\w-]+)", ":Y")
     -2>> =suggVerbPpas(@)                                                   # Incohérence. Après « être », le verbe ne doit pas être à l’infinitif.
 
 TEST: ils sont {{tromper}} par tous ces hypocrites.
+TEST: Jeûner n’est pas seulement cesser de manger.
+TEST: Ne pas aimer n’est pas oublier l’autre.
 
 
 !!
 !!
 !!!! Conjugaison                                                                                    
@@ -10408,20 +10638,20 @@
     -1>> =suggVerb(@, ":1s")                                 # Conjugaison erronée. Accord avec « je ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
 __[i]/conj(conj_je)__
     (je) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:1s|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:1s", False, False))
     -2>> =suggVerb(@, ":1s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
-__[i]/conj(conj_je_pronom)__
-    (je) +> +({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:1s|G|1p)")
-    -2>> =suggVerb(@, ":1s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
+#__[i]/conj(conj_je_pronom)__
+#    (je) +> +({w_1})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:1s|G|1p)")
+#    -2>> =suggVerb(@, ":1s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
 __[i]/conj(conj_j_en_y)__
-    (j’(?:y|en)) +>? *({w_1})  @@0,$
+    (j’(?:y|en)) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:1s|G|1p)")
     -2>> =suggVerb(@, ":1s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
 __[i]/conj(conj_moi_qui)__
-    (moi +qui) +>? *({w_1})  @@0,$
+    (moi +qui) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:1s|G|1p|3p!)")
     -2>> =suggVerb(@, ":1s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
 
 TEST: je {{donnerait}} tout pour y parvenir.
 TEST: Je le lui {{prend}}.
@@ -10442,16 +10672,16 @@
 ## 2sg
 __[i]/conj(conj_tu)__
     (tu) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:G|[ISK].*:2s)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:2s", False, False))
     -2>> =suggVerb(@, ":2s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 2ᵉ personne du singulier.
-__[i]/conj(conj_tu_pronom)__
-    (tu) +> +({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:G|[ISK].*:2s)")
-    -2>> =suggVerb(@, ":2s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 2ᵉ personne du singulier.
+#__[i]/conj(conj_tu_pronom)__
+#    (tu) +> +({w_1})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:G|[ISK].*:2s)")
+#    -2>> =suggVerb(@, ":2s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 2ᵉ personne du singulier.
 __[i]/conj(conj_toi_qui)__
-    (toi +qui) +>? *({w_1})  @@0,$
+    (toi +qui) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:G|2p|3p!|[ISK].*:2s)")
     -2>> =suggVerb(@, ":2s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 2ᵉ personne du singulier.
 
 TEST: Tu ne {{ment}} jamais.
 TEST: Tu {{a}} mal ?
@@ -10460,19 +10690,19 @@
 TEST: toi qui n’y {{connait}} rien, ne nous ennuie pas avec tes théories.
 
 
 ## 3sg
 __[i]/conj(conj_il)__
-    (il) +({w_1})  @@0,$
+    (?<!t’)(il) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False))
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
     <<- __also__ and morph(\2, ":3p", False) -1>> ils        # Accord avec « \2 ».
-__[i]/conj(conj_il_pronom)__
-    (il) +> +({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3s|P|G)")
-    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
-    <<- __also__ and morph(\2, ":3p", False) -1>> ils        # Accord avec « \2 ».
+#__[i]/conj(conj_il_pronom)__
+#    (il) +> +({w_1})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:3s|P|G)")
+#    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
+#    <<- __also__ and morph(\2, ":3p", False) -1>> ils        # Accord avec « \2 ».
 
 TEST: {{Il}} {{accusent}}.
 TEST: il {{bus}} du vin.
 TEST: Il {{pris}}.
 TEST: Il {{rougis}}.
@@ -10487,14 +10717,14 @@
 
 __[i]/conj(conj_on)__
     (on) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False))
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
-__[i]/conj(conj_on_pronom)__
-    (on) +> +({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3s|P|G)")
-    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
+#__[i]/conj(conj_on_pronom)__
+#    (on) +> +({w_1})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:3s|P|G)")
+#    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: on {{remué}} beaucoup.
 TEST: on {{refuses}} tout cela
 TEST: on ne se {{bougent}} pas suffisamment
 
@@ -10501,43 +10731,43 @@
 
 __[i]/conj(conj_quiconque)__
     quiconque +({w_1})  @@$
     <<- morphex(\1, ":V", ":(?:3s|P|G|Q.*:m:[si])")
     -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « quiconque ». Le verbe devrait être à la 3ᵉ personne du singulier.
-__[i]/conj(conj_quiconque_pronom)__
-    quiconque +> +({w_1})  @@$
-    <<- morphex(\1, ":V", ":(?:3s|P|G)")
-    -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « quiconque ». Le verbe devrait être à la 3ᵉ personne du singulier.
+#__[i]/conj(conj_quiconque_pronom)__
+#    quiconque +> +({w_1})  @@$
+#    <<- morphex(\1, ":V", ":(?:3s|P|G)")
+#    -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « quiconque ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: Quiconque {{pensez}} s’en sortir se trompait lourdement.
 TEST: Il voulut punir quiconque s’y {{adonnaient}}.
 TEST: quiconque issu de la gauche n’a aucune chance.
 
 
 __[i]/conj(conj_ce)__
-    (ce) +>? *({w_1})  @@0,$
+    (ce) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:N|A|3s|P|Q|G|V0e.*:3p)")
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 __[i]/conj(conj_celui_celle_qui)__
-    (ce(?:lui|lle|) +qui) +>? *({w_1})  @@0,$
+    (ce(?:lui|lle|) +qui) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|Q|G)")
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: Ce qui, la plupart du temps, {{donnes}} des maux de tête.
 TEST: Ce qui {{fâchent}} mes amis.
 TEST: celui qui {{pensent}} mal de toute chose
 
 
 __[i]/conj(conj_ça)__
-    (ça|chacune?|l’une?|ce(?:ci|la|lui-(?:ci|là)|lle-(?:ci|là))|n`importe quo?i|quelqu(?:’une?|e chose))(?: +qui|) +>? *({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VR]|>de", False, False)
+    (ça|chacune?|l’une?|ce(?:ci|la|lui-(?:ci|là)|lle-(?:ci|là))|n`importe quo?i|quelqu(?:’une?|e chose)) +(?:qui +|)({w_1})  @@0,$
+    <<- morphex(\2, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VR]|>de ", False, False)
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: chacun {{fais}} comme il peut
 TEST: quelqu’un {{sauras}}
-TEST: quelqu’une se {{montrent}} désagréable
+#TEST: quelqu’une se {{montrent}} désagréable  # Fuck you, JavaScript (wait for negative for behind)
 TEST: n’importe quoi {{peux}} réussir
 TEST: n’importe qui {{peux}} y arriver.
 TEST: quelque chose {{sens}} mauvais ici
 TEST: l’un d’eux {{viendras}}
 TEST: ce {{dois}} être ennuyeux
@@ -10547,17 +10777,17 @@
 TEST: Cela {{dis}}, on ne sait pas comment s’en sortir.
 TEST: Y avait-il seulement quelqu’un pour vouloir soumettre ses recherches ?
 
 
 __[i]/conj(conj_tout)__
-    tout +>? *({w_1})  @@$
+    tout +({w_1})  @@$
     <<- morphex(\1, ":V", ":(?:3s|P|Q|Y|G|3p!)") and not morph(word(-1), ":[VRD]|>de", False, False)
     and not( morph(\1, ":(?:Y|N.*:m:[si])", False) and not re.search(" (?:qui|>) ", \0) )
     -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « tout ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 __[i]/conj(conj_tout_qui)__
-    tout +qui +>? *({w_1})  @@$
+    tout +qui +({w_1})  @@$
     <<- morphex(\1, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VRD]|>de", False, False)
     and not( morph(\1, ":(?:Y|N.*:m:[si])", False) and not re.search(" (?:qui|>) ", \0) )
     -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « tout ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: Tout {{reviens}} à ça.
@@ -10567,11 +10797,11 @@
 TEST: Tout vous expliquer est difficile.
 TEST: J’essaie de bien tout vous expliquer.
 
 
 __[i]/conj(conj_lequel_laquelle)__
-    (l(?:equel|aquelle))(?: +qui|) +>? *({w_1})  @@0,$
+    (l(?:equel|aquelle)) +(?:qui +|)({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VR]|>de", False, False)
     and not( morph(\2, ":Y", False) and not re.search(" (?:qui|>) ", \0) )
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: Lequel {{viendraient}} nous donner des leçons ?
@@ -10596,15 +10826,15 @@
     (?<![dD]’)(elle) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|G)") and not morph(word(-1), ":R|>(?:et|ou)", False, False)
     and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False))
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
     <<- __also__ and morph(\2, ":3p", False) -1>> elles      # Accord avec « \2 ».
-__[i]/conj(conj_elle_pronom)__
-    (?<![dD]’)(elle) +> +({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3s|P|G)") and not morph(word(-1), ":R|>(?:et|ou)", False, False)
-    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
-    <<- __also__ and morph(\2, ":3p", False) -1>> elles      # Accord avec « \2 ».
+#__[i]/conj(conj_elle_pronom)__
+#    (?<![dD]’)(elle) +> +({w_1})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:3s|P|G)") and not morph(word(-1), ":R|>(?:et|ou)", False, False)
+#    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
+#    <<- __also__ and morph(\2, ":3p", False) -1>> elles      # Accord avec « \2 ».
 
 TEST: Elle {{conquis}}.
 TEST: Elle {{finis}}.
 TEST: Elle {{pâlis}}.
 TEST: {{Elles}} {{donne}} des leçons.
@@ -10624,11 +10854,11 @@
 TEST: avec toi qui ne sais rien de rien, mieux {{vaux}} ne rien dire.
 TEST: Mais là-bas mieux {{valais}} ouvrir sa gueule que se taire.
 
 
 __[i]/conj(conj_personne_aucun_rien_nul)__
-    (personne|aucun|rien|nul(?:le|)) +(?:qui +|)> +({w_1})  @@0,$
+    (personne|aucun|rien|nul(?:le|)) +(?:qui +|)({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
     and not( \1.endswith("ien") and before("> +$") and morph(\2, ":Y", False) )
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: Personne ne {{peux}} me le dire.
@@ -10648,25 +10878,28 @@
     (une? des {w_2}) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3s|P|G|Q)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True) and not morph(\2, ":[NA].*:[pi]", False)
     -2>> =suggVerb(@, ":3s")                                # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: un des ingénieurs {{vinrent}} nous dire quoi faire.
+TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret
+TEST: une des femmes de ce conseil ne {{céderaient}} jamais au chantage.
 TEST: une des femmes présente ses résultats.
 
 
-__[i]/conj(conj_un_une_des_pronom)__
-    (une? des {w_2}) +(?:qui +>? *|> +)({w_1})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3s|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
+__[i]/conj(conj_un_une_des_qui)__
+    (une? des {w_2}) +qui +({w_1})  @@0,$
+    <<- morphex(\2, ":V", ":(?:3[sp]|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
-TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret
-TEST: une des femmes de ce conseil ne {{céderaient}} jamais au chantage.
+TEST: un des chats qui {{venez}} nous ennuyer tous les jours.
+TEST: un des hommes qui vient.
+TEST: une des dames qui se sentent mal à l’aise dans cet avion est venue nous trouver.
 TEST: l’un des chants les plus diffusés pendant la Révolution culturelle
 
 
 __[i]/conj(conj_infi)__
-    ^ *({infi}) +>? *({w_2})  @@*,$
+    ^ *({infi}) +({w_2})  @@*,$
     <<- morph(\1, ":Y", False) and morph(\2, ":V.[a-z_!?]+(?!.*:(?:3s|P|Q|Y|3p!))") 
     -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: manger {{fais}} grossir.
 TEST: boire immodérément {{nuis}} à la santé
@@ -10695,17 +10928,17 @@
     <<- not ( re.search("(?i)^(?:une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) |la +moitié) ", \0)
     and morph(\3, ":3p", False) )
     and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
     and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]p", False)) and not before(r"(?i)\bni .* ni ")
     -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
-__[i]/conj(conj_det_sing_nom_pronom)__
-    (?<![dD]’)(l[ea] |une? |l’|[mts](?:on|a) |ce(?:tte|t|) |leur |nul(?:le|) ) *({w_2}) +(?:qui +|)> +({w_2})  @@0,w,$
-    <<- not ( re.search("(?i)^(?:une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) |la +moitié) ", \0)
-    and morph(\3, ":3p", False) )
-    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|1p|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
-    and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]p", False)) and not before(r"(?i)\bni .* ni ")
-    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
+#__[i]/conj(conj_det_sing_nom_pronom)__
+#    (?<![dD]’)(l[ea] |une? |l’|[mts](?:on|a) |ce(?:tte|t|) |leur |nul(?:le|) ) *({w_2}) +(?:qui +|)> +({w_2})  @@0,w,$
+#    <<- not ( re.search("(?i)^(?:une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) |la +moitié) ", \0)
+#    and morph(\3, ":3p", False) )
+#    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|1p|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
+#    and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]p", False)) and not before(r"(?i)\bni .* ni ")
+#    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: La {{N.S.A.}} {{espionneras}} toujours tout le monde
 TEST: La suspicion envers les élus {{accroissaient}}…                                               ->> accroissait
 TEST: Le chien n’{{es}} pas mort.
 TEST: Ce roman-là de Jean-Paul Sartre {{es}} passionnant.
@@ -10738,19 +10971,19 @@
 TEST: tu n’acceptais jamais de danser avec quelqu’un si tu avais refusé à quelqu’un d’autre au début
 
 
 ## 1pl
 __[i]/conj(conj_nous_pronom)__
-    ^ *nous +> +({w1})  @@$
+    ^ *nous +({w1})  @@$
     <<- morphex(\1, ":V", ":(?:1p|3[sp])") and not after("^ +(?:je|tu|ils?|elles?|on|[vn]ous)")
     -1>> =suggVerb(@, ":1p")                                 # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.
 __[i]/conj(conj_nous_qui)__
-    ^ *nous +qui +>? *({w1})  @@$
+    ^ *nous +qui +({w1})  @@$
     <<- morphex(\1, ":V", ":[13]p") and not after("^ +(?:je|tu|il|elle|on|[vn]ous)")
     -1>> =suggVerb(@, ":1p")                                 # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.
 __[i]/conj(conj_nous)__
-    ^ *nous +(?:qui +(?:> +|)|> +)(\w+ont)  @@$
+    ^ *nous +(?:qui +|)(\w+ont)  @@$
     <<- morphex(\1, ":V", ":1p") and not after("^ +(?:ils|elles)")
     -1>> =suggVerb(@, ":1p")                                 # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.
 
 TEST: nous {{donné}} trop de considération
 TEST: nous vous {{donnerez}} trop de considération
@@ -10758,15 +10991,15 @@
 TEST: nous qui {{mourront}} pour toi.
 
 
 ## 2pl
 __[i]/conj(conj_vous_pronom)__
-    ^ *vous +> +({w1})  @@$
+    ^ *vous +({w1})  @@$
     <<- morphex(\1, ":V", ":(?:2p|3[sp])") and not after("^ +(?:je|ils?|elles?|on|[vn]ous)")
     -1>> =suggVerb(@, ":2p")                                 # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel.
 __[i]/conj(conj_vous_qui)__
-    ^ *vous +qui +>? *({w1})  @@$
+    ^ *vous +qui +({w1})  @@$
     <<- morphex(\1, ":V", ":2p") and not after("^ +(?:je|ils?|elles?|on|[vn]ous)")
     -1>> =suggVerb(@, ":2p")                                 # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel.
 
 TEST: vous {{donné}} du bonheur
 TEST: vous lui {{donner}} du temps
@@ -10778,31 +11011,31 @@
 __[i]/conj(conj_ils)__
     (ils) +({w_2})  @@0,$
     <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3p", False, False))
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
     <<- __also__ and morph(\2, ":3s", False) -1>> il        # Accord avec « \2 ».
-__[i]/conj(conj_ils_pronom)__
-    (ils) +> +({w_2})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3p|P|G)") -2>> =suggVerb(@, ":3p")   # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
-    <<- __also__ and morph(\2, ":3s", False) -1>> il                # Accord avec « \2 ».
+#__[i]/conj(conj_ils_pronom)__
+#    (ils) +> +({w_2})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:3p|P|G)") -2>> =suggVerb(@, ":3p")   # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
+#    <<- __also__ and morph(\2, ":3s", False) -1>> il                # Accord avec « \2 ».
 
 TEST: {{Ils}} {{vienne}} souvent.
 TEST: Ils ne m’{{attends}} pas.
 TEST: {{Ils}} vous le {{donne}}.
 
 
 __[i]/conj(conj_ceux_celles_qui)__
-    (ce(?:ux|lles) +qui) +>? *({w_1})  @@0,$
+    (ce(?:ux|lles) +qui) +({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3p|P|Q|G)")
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: Ceux qui {{chante}} toute la journée…
 TEST: Celles qui {{pense}}.
 
 
 __[i]/conj(conj_ceux_là_celles_ci_lesquels)__
-    (ce(?:ux-(?:ci|là)|lles-(?:ci|là))|lesquel(?:le|)s)(?: +qui|) +>? *({w_1})  @@0,$
+    (ce(?:ux-(?:ci|là)|lles-(?:ci|là))|lesquel(?:le|)s) +(?:qui +|)({w_1})  @@0,$
     <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]", False, False)
     and not (morph(\2, ":Y", False) and re.search(r"(?i)lesquel", \1) and not re.search(" qui |>", \0))
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
 
 TEST: lesquels {{devienne}} des ennuyeux incomparables.
@@ -10812,15 +11045,15 @@
 __[i]/conj(conj_elles)__
     (?<![dD]’)(elles) +({w_2})  @@0,$
     <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":R", False, False) and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3p", False, False))
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
     <<- __also__ and morph(\2, ":3s", False) -1>> elle      # Accord avec « \2 ».
-__[i]/conj(conj_elles_pronom)__
-    (?<![dD]’)(elles) +> +({w_2})  @@0,$
-    <<- morphex(\2, ":V", ":(?:3p|P|G)") and not morph(word(-1), ":R", False, False)
-    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
-    <<- __also__ and morph(\2, ":3s", False) -1>> elle      # Accord avec « \2 ».
+#__[i]/conj(conj_elles_pronom)__
+#    (?<![dD]’)(elles) +> +({w_2})  @@0,$
+#    <<- morphex(\2, ":V", ":(?:3p|P|G)") and not morph(word(-1), ":R", False, False)
+#    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
+#    <<- __also__ and morph(\2, ":3s", False) -1>> elle      # Accord avec « \2 ».
 
 TEST: {{elles}} {{avance}} rapidement sur ce projet
 TEST: {{Elles}} n’y {{comprenne}} rien
 TEST: L’expérience sensible qu’il nous restera bientôt d’elles est à peu près
 
@@ -10845,16 +11078,16 @@
 
 
 # L’accord par syllepse est obligatoire après /la plupart/, ainsi qu’après /nombre/ et /quantité/ employés sans déterminant. L’accord se fait avec le « pseudo-complément ».
 
 __[i]/conj(conj_beaucoup_d_aucuns_la_plupart)__
-    (beaucoup|d’aucuns|la plupart) +>? *({w_2})  @@0,$
+    (beaucoup|d’aucuns|la plupart) +({w_2})  @@0,$
     <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]|>de ", False, False)
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
 __[i]/conj(conj_beaucoup_d_aucuns_la_plupart_qui)__
-    (beaucoup|d’aucuns|la plupart) +qui +>? *({w_2})  @@0,$
+    (beaucoup|d’aucuns|la plupart) +qui +({w_2})  @@0,$
     <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]", False, False)
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
 TEST: la plupart des hommes {{vienne}}
 TEST: La plupart {{admet}}
@@ -10863,11 +11096,11 @@
 TEST: beaucoup qui ne {{pense}} jamais à rien, mais qui ont quand même des avis sur tout.
 TEST: beaucoup entre la peste et le choléra.
 
 
 __[i]/conj(conj_certains_tous_plusieurs)__
-    (?<!de )(certaine?s|tou(?:te|)s|plusieurs)(?: +qui|) +>? *({w_2})  @@0,$
+    (?<!de )(certaine?s|tou(?:te|)s|plusieurs) +(?:qui +|)({w_2})  @@0,$
     <<- morphex(\2, ":V", ":(?:G|N|A|3p|P|Q)") and not morph(word(-1), ":[VR]", False, False)
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
 TEST: certains {{prenne}} leur temps
 TEST: Plusieurs qui {{pense}} que c’est une arnaque se sont quand même trompés.
@@ -10884,15 +11117,15 @@
 __[i]/conj(conj_det_plur_nom_qui)__
     ([cmts]es|[nv]os|leurs|quelques) +({w_2}) +qui +({w_2})  @@0,w,$
     <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
     and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
     -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
-__[i]/conj(conj_det_plur_nom_pronom)__
-    ([cmts]es|[nv]os|leurs|quelques) +({w_2}) +(?:qui +|)> +({w_2})  @@0,w,$
-    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G)") and morphex(word(-1), ":C", ":[YP]", True)
-    and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
-    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
+#__[i]/conj(conj_det_plur_nom_pronom)__
+#    ([cmts]es|[nv]os|leurs|quelques) +({w_2}) +(?:qui +|)> +({w_2})  @@0,w,$
+#    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G)") and morphex(word(-1), ":C", ":[YP]", True)
+#    and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
+#    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
 TEST: Ses « chiens » {{coure}} sur ma pelouse.
 TEST: mes filles {{passe}} ce matin
 TEST: vos filles {{passes}} ce matin
 TEST: ces travaux qui {{demande}} tant d’efforts.
@@ -10915,15 +11148,15 @@
 __[i]/conj(conj_det_plur_nom_qui_confusion)__
     (les|certaine?s|plusieurs) +({w_2}) +qui +({w_2})  @@0,w,$
     <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Q|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
     and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
     -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
-__[i]/conj(conj_det_plur_nom_pronom_confusion)__
-    (les|certaine?s|plusieurs) +({w_2}) +(?:qui +|)> +({w_2})  @@0,w,$
-    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G)") and morphex(word(-1), ":C", ":[YP]", True)
-    and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
-    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
+#__[i]/conj(conj_det_plur_nom_pronom_confusion)__
+#    (les|certaine?s|plusieurs) +({w_2}) +(?:qui +|)> +({w_2})  @@0,w,$
+#    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G)") and morphex(word(-1), ":C", ":[YP]", True)
+#    and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
+#    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
 TEST: Les abstentions {{est}} présumée manifester un défaut d’opinion marquée
 TEST: Les cours de culture générale nous {{apporte}} de l’ouverture d’esprit.
 TEST: Les hommes ne le lui {{pardonnes}} pas.
 TEST: Les infirmières à mi-temps ne {{travaille}} pas dans cette aile.
@@ -10960,16 +11193,16 @@
 __[i]/conj(conj_des_nom1)__
     ^ *des +({w_2}) +({w_2})  @@w,$
     <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q|A.*:[pi])") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True) >>>
     <<- not morph(\2, ":[NA]", False) -2>> =suggVerb(@, ":3p")                          # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
     <<- __else__ and not checkAgreement(\1, \2) -2>> =suggVerb(@, ":3p", suggPlur)      # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
-__[i]/conj(conj_des_nom2)__
-    ^ *des +({w_2}) +> +({w_2})  @@w,$
-    <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q)") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True)
-    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
+#__[i]/conj(conj_des_nom2)__
+#    ^ *des +({w_2}) +> +({w_2})  @@w,$
+#    <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q)") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True)
+#    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 __[i]/conj(conj_des_nom_qui)__
-    ^ *des +({w_2}) +qui +(?:> +|)({w_2})  @@w,$
+    ^ *des +({w_2}) +qui +({w_2})  @@w,$
     <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G)")
     -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
 TEST: Des hommes {{arrive}}.
 TEST: Des femmes ne {{demande}} rien.
@@ -11019,11 +11252,11 @@
 
 #### NOMS PROPRES
 
 # 3sg
 __[s]/conj(conj_nom_propre)__
-    ([A-ZÉÈ][\w-]+) +>? *({w_1})  @@0,$
+    ([A-ZÉÈ][\w-]+) +({w_1})  @@0,$
     <<- not before(r"\b(?:et |ou |[dD][eu] |ni |[dD]e l’) *$") and morph(\1, ":M", False) and morphex(\2, ":[123][sp]", ":(?:G|3s|3p!|P|M|[AQ].*:[si])")
     and not morph(word(-1), ":[VRD]", False, False) and not before(r"([A-ZÉÈ][\w-]+), +([A-ZÉÈ][\w-]+), +$")
     and not (morph(\2, ":3p", False) and word(-1))
     -2>> =suggVerb(@, ":3s")
     # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
@@ -11037,11 +11270,11 @@
 TEST: Des femmes de l’administration Obama y racontent qu’elles ont constaté qu’il leur arrivait régulièrement de ne pas être invitées
 
 
 # 3pl
 __[s]/conj(conj_nom_propre_et_nom_propre)__
-    (?<!et |ou |[dD][eu] |ni )([A-ZÉÈ][\w-]+) et ([A-ZÉÈ][\w-]+) +>? *({w_1})  @@0,w,$
+    (?<!et |ou |[dD][eu] |ni )([A-ZÉÈ][\w-]+) et ([A-ZÉÈ][\w-]+) +({w_1})  @@0,w,$
     <<- morph(\1, ":M", False) and morph(\2, ":M", False)
     and morphex(\3, ":[123][sp]", ":(?:G|3p|P|Q.*:[pi])") and not morph(word(-1), ":R", False, False)
     -3>> =suggVerb(@, ":3p")
     # Conjugaison erronée. Accord avec « \1 et \2 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
 
@@ -11089,13 +11322,13 @@
 
 TEST: Qu’est-ce que tu crois que {{deviens}} réellement, immanquablement et subitement cet homme après une telle dérouillée ?
 TEST: ces sciences, ces religions, ces philosophies ne sont que contes destinés à nous donner l’illusion de la connaissance.
 
 
-__[i]/conj(conj_que_où_verbe_sujet_3sg)__
-    (?:que?|où|comment|combien|dont|quand|pourquoi|l[ea]s?quel(?:le|)s?) +> +({w_1})(?! [jJ]e| [tT]u| [nNvV]ous| [eE]t )  @@$
-    <<- morphex(\1, ":[12][sp]", ":(?:G|W|3[sp])") -1>> =suggVerb(@, ":3s")         # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne.
+#__[i]/conj(conj_que_où_verbe_sujet_3sg)__
+#    (?:que?|où|comment|combien|dont|quand|pourquoi|l[ea]s?quel(?:le|)s?) +({w_1})(?! [jJ]e| [tT]u| [nNvV]ous| [eE]t )  @@$
+#    <<- morphex(\1, ":[12][sp]", ":(?:G|W|N|3[sp])") -1>> =suggVerb(@, ":3s")         # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne.
 
 TEST: peu importe ce que tu crois du lieu où l’{{abandonnerais}} ce salopard…
 
 
 __[i]/conj(conj_puisse)__
@@ -11115,42 +11348,40 @@
 !!!! Formes interrogatives ?                                                                        
 !!
 !!
 
 __[i]/inte(inte_union_xxxe_je)__
-    (?<![jJ]’)({w_2}[éèe]) je(?! +[nmts]’)  @@0
-    <<- morphex(\1, ":V.*:1[sŝś]", ":[GNW]") and not before(r"(?i)\bje +>? *$") and not morph(word(1), ":(?:Oo|X|1s)", False, False)
+    (?<![jJ]’)({w_2}[éèe]) je  @@0
+    <<- morphex(\1, ":V.*:1[sŝś]", ":[GNW]") and not before(r"(?i)\bje +$") and morphex(word(1), ":", ":(?:Oo|X|1s)", True)
     ->> =\1[:-1]+"é-je"                                                                             # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_xxx_je)__
-    (?<![jJ]’)({w_2}[is]) je(?! +[nmts]’)  @@0
-    <<- morphex(\1, ":V.*:1s", ":[GNW]") and not before(r"(?i)\b(?:je|tu) +>? *$") and not morph(word(1), ":(?:Oo|X|1s)", False, False)
+    (?<![jJ]’)({w_2}[is]) je  @@0
+    <<- morphex(\1, ":V.*:1s", ":[GNW]") and not before(r"(?i)\b(?:je|tu) +$") and morphex(word(1), ":", ":(?:Oo|X|1s)", True)
     ->> \1-je                                                                                       # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_tu)__
     ({w_1}s) tu  @@0
-    <<- not after("^ +(?:en|y|ne|>)") and morphex(\1, ":V.*:2s", ":[GNW]") and not before(r"(?i)\b(?:je|tu) +>? *$")
+    <<- morphex(\1, ":V.*:2s", ":[GNW]") and not before(r"(?i)\b(?:je|tu) +$") and morphex(word(1), ":", ":2s", True)
     ->> \1-tu                                                                                       # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_il_on)__
     ({w_2}[td]) (?:il|on)  @@0
-    <<- not after("^ +(?:en|y|ne|>)") and morphex(\1, ":V.*:3s", ":[GNW]") and not before(r"(?i)\b(?:ce|il|elle|on) +>? *$")
+    <<- morphex(\1, ":V.*:3s", ":[GNW]") and not before(r"(?i)\b(?:ce|il|elle|on) +$") and morphex(word(1), ":", ":3s|>y ", True)
     ->> =\0.replace(" ", "-")                                                                       # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_elle)__
     (?<![cC]’)({w_2}[td]) elle  @@0
-    <<- not after("^ +(?:en|y|ne|aussi|>)") and morphex(\1, ":V.*:3s", ":[GNW]") and not before(r"(?i)\b(?:ce|il|elle|on) +>? *$")
+    <<- morphex(\1, ":V.*:3s", ":[GNW]") and not before(r"(?i)\b(?:ce|il|elle|on) +$") and morphex(word(1), ":", ":3s", True)
     ->> \1-elle                                                                                     # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_nous)__
     ({w_2}ons) nous  @@0
-    <<- not after("^ +(?:en|y|ne|aussi|>)") and morphex(\1, ":V.*:1p", ":[GNW]")
-    and not morph(word(-1), ":Os", False, False) and not morph(word(1), ":Y", False, False)
+    <<- morphex(\1, ":V.*:1p", ":[GNW]") and not morph(word(-1), ":Os", False, False) and morphex(word(1), ":", ":(?:Y|1p)", True)
     ->> \1-nous                                                                                     # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_vous)__
     ({w_2}ez) vous  @@0
-    <<- not after("^ +(?:en|y|ne|aussi|>)") and not \1.endswith("euillez") and morphex(\1, ":V.*:2p", ":[GNW]")
-    and not morph(word(-1), ":Os", False, False) and not morph(word(1), ":Y", False, False)
+    <<- morphex(\1, ":V.*:2p", ":[GNW]|>vouloir .*:E:2p") and not morph(word(-1), ":Os", False, False) and morphex(word(1), ":", ":(?:Y|2p)", True)
     ->> \1-vous                                                                                     # Forme interrogative ? Mettez un trait d’union.
 __[i]/inte(inte_union_ils_elles)__
     (?<![cC]’)({w_1}nt) (?:ils|elles)  @@0
-    <<- not after("^ +(?:en|y|ne|aussi|>)") and morphex(\1, ":V.*:3p", ":[GNW]") and not before(r"(?i)\b(?:ce|ils|elles) +>? *$")
+    <<- morphex(\1, ":V.*:3p", ":[GNW]") and not before(r"(?i)\b(?:ce|ils|elles) +$") and morphex(word(1), ":", ":3p", True)
     ->> =\0.replace(" ", "-")                                                                       # Forme interrogative ? Mettez un trait d’union.
 
 TEST: {{mangé je}} {{ça}} avec dégoût ?
 TEST: {{viendrais je}} à la fête ?
 TEST: {{Seras tu}} là ?
@@ -11159,10 +11390,11 @@
 TEST: {{viennent elles}} souvent ?
 TEST: {{retrouverons nous}} enfin la tranquilité ?
 TEST: Mais {{soutiendrez vous}} cette proposition ?
 TEST: {{Viendront ils}} demain ?
 TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça.
+TEST: Veuillez vous instruire avant de contester ces mesures.
 TEST: C’était elle qui avait pris le contrôle.
 
 
 __[i]/inte(inte_je)__
     ({w1})-je  @@0
@@ -11245,11 +11477,11 @@
 
 __[i]/conf(conf_avoir_sujet_participe_passé)__
     ({avoir})-(?:je|tu|ils?|elles?|on) +({ppas})  @@0,$
     <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _  # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.
 __[i]/conf(conf_sujet_avoir_participe_passé)__
-    (?:j’|je |tu |ils? |elles? |on ) *>? *({avoir}) +({ppas})  @@*,$
+    (?:j’|je |tu |ils? |elles? |on ) *({avoir}) +({ppas})  @@*,$
     <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _  # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.
 
 TEST: {{Ait}}-il arrivé à ses fins ?
 TEST: je n’{{avais}} pas parti avec eux.
 TEST: Avais-je partie liée avec lui ?
@@ -11265,56 +11497,52 @@
 
 # conditionnel / futur
 
 __[i]/vmode(vmode_j_aimerais_vinfi)__
     j(?:e +|’)(aimerai|préf[éè]rerai|apprécierai|voudrai|souhaiterai|désirerai|adorerai) +({w_1})  @@w,$
-    <<- morphex(\2, ":[YX]|>y ", "R") and isStart() -1>> \1s        # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.
-__[i>/vmode(vmode_j_aimerais_pronom)__
-    j(?:e +|’)(aimerai|préf[éè]rerai|apprécierai|voudrai|souhaiterai|désirerai|adorerai) +(?:que? |>)  @@w
-    <<- isStart() -1>> \1s                                          # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.
+    <<- morphex(\2, ":[YX]|>(?:y|ne|que?) ", ":R") and isStart() -1>> \1s                           # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.
 
 TEST: J’{{aimerai}} savoir ce dont il retourne.
 TEST: dans tous les cas j’{{aimerai}} ne rien savoir
 TEST: Je {{voudrai}} qu’il soit déjà là.
 TEST: J’aimerai ces cours-là autant que les autres.
 TEST: J’aimerai la danse et la musique, puisque vous l’exigez.
 TEST: Je sais que j’aimerai ça, tout comme lui.
 
 
-__[i>/vmode(vmode_j_aurais_aimé_que_avoir_être1)__
-    j’(aurai) +(?:aimé|souhaité|préféré|voulu|apprécié|désiré) +(?:que? |ne |> )  @@2
-    <<- -1>> aurais|eusse                           # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »
-__[i]/vmode(vmode_j_aurais_aimé_que_avoir_être2)__
-    j’(aurai) +(?:aimé|souhaité|préféré|voulu|apprécié|désiré) +(?:[nmtsl]’|)({infi})  @@2,$
-    <<- morph(\2, ":Y", False)
+__[i]/vmode(vmode_j_aurais_aimé_que_avoir_être)__
+    j’(aurai) +(?:aimé|souhaité|préféré|voulu|apprécié|désiré|adoré) +(que?|ne|{infi})  @@2,$
+    <<- morph(\2, ":Y|>(?:ne|que?) ", False)
     -1>> aurais|eusse                               # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »
 
 TEST: J’{{aurai}} aimé nous offrir ce magnifique cadeau.
 TEST: j’{{aurai}} voulu être un artiste.
 TEST: j’{{aurai}} préféré ne pas avoir à l’entendre.
+TEST: j’{{aurai}} préféré l’entendre un autre jour.
+TEST: j’{{aurai}} aimé que vous m’en parliez.
 TEST: Quand j’en aurai fini avec eux, vous aurez du mal à les reconnaître.
 TEST: Quand j’aurai fini ce boulot, je ne sais pas ce que je ferai.
 TEST: Quand j’aurai soif et faim, je m’arrêterai.
 
 
 # Si suivi du conditionnel ou du subjonctif
 __[i]/vmode(vmode_si_sujet1)__
-    si +({w1}) +>? *({w_2})  @@w,$
+    si +({w1}) +({w_2})  @@w,$
     <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":[SK]", ":(?:G|V0|I)") and isStart()
     -2>> _                                                                          # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.
 __[i]/vmode(vmode_si_sujet2)__
-    (?:si [jt]’|s’ils? )>? *({w_2})  @@$
+    (?:si [jt]’|s’ils? +)({w_2})  @@$
     <<- morphex(\1, ":[SK]", ":(?:G|V0|I)") and isStart()
     -1>> _                                                                          # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.
 
 TEST: Si Pierre {{avancerait}} sa voiture de quelques mètres, ça nous permettrait de passer.
 TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros.
 
 
 # Dès que + indicatif
 __[i]/vmode(vmode_dès_que)__
-    dès +que? +({w_2}) +>? *({w_2})  @@w,$
+    dès +que? +({w_2}) +({w_2})  @@w,$
     <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":S", ":[IG]")    -2>> =suggVerbMode(@, ":I", \1)     # Ce verbe ne devrait pas être au subjonctif.
 #    <<- morph(\1, ":(?:Os|M)", False) and morph(\2, ":K", False)        -2>> =suggVerbMode(@, ":If", \1)    # Ce verbe ne devrait pas être au conditionnel.
 
 #TEST: dès que je le {{verrais}}
 TEST: dès qu’il le {{voie}}
@@ -11321,11 +11549,11 @@
 TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion
 
 
 # verbe que + subjonctif
 __[i]/vmode(vmode_qqch_que_subjonctif1)__
-    (afin|avant|pour|quoi|(?:perm|fa|v[oe]|ordonn|exig|désir|dout|suff|préf[éè]r)\w+) +que? +({w_2}) +>? *({w_2})  @@0,w,$
+    (afin|avant|pour|quoi|(?:perm|fa|v[oe]|ordonn|exig|désir|dout|suff|préf[éè]r)\w+) +que? +({w_2}) +({w_2})  @@0,w,$
     <<- morph(\1, ">(?:afin|avant|pour|quoi|permettre|falloir|vouloir|ordonner|exiger|désirer|douter|préférer|suffire) ", False)
     and morph(\2, ":(?:Os|M)", False) and morphex(\3, ":I", ":[GYS]")
     and not (morph(\1, ">douter ", False) and morph(\3, ":(?:If|K)", False))
     -3>> =suggVerbMode(@, ":S", \2)                                                 # Après « \1 que », ce verbe devrait être au subjonctif.
 
@@ -11357,21 +11585,21 @@
 # Malgré que + subjonctif
 # «Malgré que» peut être utilisé délibérément pour un parler populaire qui ignore le subjonctif.
 # --> pas de règle de contrôle sur ce point.
 
 __[i]/vmode(vmode_qqch_que_subjonctif2)__
-    (?:à condition|pour peu|il >  peut) +que? +({w1}) +>? *({w_2})  @@w,$
+    (?:à condition|pour peu|il +peut) +que? +({w1}) +({w_2})  @@w,$
     <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":", ":[GYS]") -2>> =suggVerbMode(@, ":S", \1)    # Ce verbe devrait être au subjonctif.
 
 TEST: à condition qu’il {{finit}} son boulot.
 TEST: pour peu qu’il {{prend}} son devoir sérieux… 
 TEST: il se peut que nous {{avons}} tort.
 
 
 # indicatif nécessaire
 __[i]/vmode(vmode_sujet_indicatif)__
-    ^ *(je|j’(?:en|y)|tu|ils?|elles?|on|nous|vous) +>? *({w_2})  @@*,$
+    ^ *(je|j’(?:en|y)|tu|ils?|elles?|on|nous|vous) +({w_2})  @@*,$
     <<- morphex(\2, ":S", ":[GIK]") and not re.search("^e(?:usse|û[mt]es|ût)", \2) 
     -2>> =suggVerbMode(@, ":I", \1)                                                                 # Ce verbe ne devrait pas être au subjonctif.
 __[i]/vmode(vmode_j_indicatif)__
     ^ *j’({w_2})  @@$
     <<- morphex(\1, ":S", ":[GIK]") and \1 != "eusse" -1>> =suggVerbMode(@, ":I", "je")             # Ce verbe ne devrait pas être au subjonctif.
@@ -11382,11 +11610,11 @@
 TEST: j’{{aie}} faim
 
 
 # Après que + indicatif
 __[i]/vmode(vmode_après_que_indicatif)__
-    après que? ({w_2}) +>? *({w_2})  @@w,$
+    après que? ({w_2}) +({w_2})  @@w,$
     <<- morph(\1, ":(?:Os|M)", False) and (morphex(\2, ":V.*:S", ":[GI]") or morph(\2, ":V0e.*:S", False))
     -2>> =suggVerbMode(@, ":I", \1)
     # Après « après que », le verbe ne s’emploie pas au subjonctif mais à l’indicatif, si l’action s’est déroulée de façon certaine.
 
 TEST: Après qu’il {{ait}} allé