Saltar para o conteúdo

Administração do filtro de abusos

Diferenças entre versões

EntradaVersão de 01h36min de 19 de julho de 2017 por !SilentVersão de 17h35min de 19 de julho de 2017 por !Silent
Informações básicas
Notas:
Descrição: filtro referente ao bloqueio de expressões genéricas indevidas. Somente expressões iniciadas entre A e E (ver [[WP:FE/VANDAL]]).
Descrição: filtro referente ao bloqueio de expressões genéricas indevidas. Somente expressões iniciadas entre A e E (ver [[WP:FE/VANDAL]]).


* Tirando aviso enquanto há problemas de muitos falsos positivos. Coloquei espaço depois de "vai se" para evitar o falso positivo gerado por "vai ser" "vai sendo" etc.  
* Tirando aviso enquanto há problemas de muitos falsos positivos. Coloquei espaço depois de "vai se" para evitar o falso positivo gerado por "vai ser" "vai sendo" etc.  
* Também inseri a necessidade de o texto possivelmente abusivo não estar no texto anterior.
* Também inseri a necessidade de o texto possivelmente abusivo não estar no texto anterior.
* Retirei a detecção de "vai se" devido ao número de falsos positivos. -Lechat
* Retirei a detecção de "vai se" devido ao número de falsos positivos. -Lechat
* Ativei o modo de impedimento, que mostrará um aviso com um link para reclamações, em caso de falsos positivos. Mais detalhes na página de discussão do filtro. --Kleiner
* Ativei o modo de impedimento, que mostrará um aviso com um link para reclamações, em caso de falsos positivos. Mais detalhes na página de discussão do filtro. --Kleiner
* Adicionei código adaptado do filtro 60 para verificar possibilidade de fusão dos filtros e consequente redução do tempo de execução. --Kleiner
* Adicionei código adaptado do filtro 60 para verificar possibilidade de fusão dos filtros e consequente redução do tempo de execução. --Kleiner
* Dividindo filtro novamente. Parte do código, originalmente do filtro 60, foi levado mais uma vez a outro filtro, desta vez o de no. 18. Explicação está disponível em "Wikipedia Discussão:Filtro de edições". --Kleiner
* Dividindo filtro novamente. Parte do código, originalmente do filtro 60, foi levado mais uma vez a outro filtro, desta vez o de no. 18. Explicação está disponível em "Wikipedia Discussão:Filtro de edições". --Kleiner
* Retirando parte do código, para testar se haverá menos detecções repetidas com o filtro 18. --Kleiner
* Retirando parte do código, para testar se haverá menos detecções repetidas com o filtro 18. --Kleiner
* Tirando pipes que causavam falsos positivos. --Kleiner
* Tirando pipes que causavam falsos positivos. --Kleiner
* Falso positivo com [[Ivan Bichara]]. --Kleiner
* Falso positivo com [[Ivan Bichara]]. --Kleiner
* Usando variável específica para reunir a lista codificada de palavrões sob o identificador "ofensas". --Kleiner
* Usando variável específica para reunir a lista codificada de palavrões sob o identificador "ofensas". --Kleiner
* "Bambi" já teve mais de um falso positivo identificado. Precisa entrar em algum outro tipo de filtro, talvez um específico para futebol. --Kleiner
* "Bambi" já teve mais de um falso positivo identificado. Precisa entrar em algum outro tipo de filtro, talvez um específico para futebol. --Kleiner
* Retirando termo "cu" da detecção para fazê-la em filtro específico, dado os diversos falsos positivos registrados. --Kleiner
* Retirando termo "cu" da detecção para fazê-la em filtro específico, dado os diversos falsos positivos registrados. --Kleiner
* Retirando expressão "vão todos", por ter causado falso positivo. Não vejo grande perda de detecções corretas com esta retirada. --Kleiner
* Retirando expressão "vão todos", por ter causado falso positivo. Não vejo grande perda de detecções corretas com esta retirada. --Kleiner
* Falsos positivos:
* Falsos positivos:
  - "porra" ("porrada", "porradão", etc.). --Kleiner
  - "porra" ("porrada", "porradão", etc.). --Kleiner
  - "bosta", retirando bicha entre espaços, já presente no filtro 18. --Kleiner
  - "bosta", retirando bicha entre espaços, já presente no filtro 18. --Kleiner
  - "putativa", " puta " (palavra isolada, entre espaços) já presente no filtro 18. --Kleiner
  - "putativa", " puta " (palavra isolada, entre espaços) já presente no filtro 18. --Kleiner
* Acrescentei " foda!". -- Lechatjaune
* Acrescentei " foda!". -- Lechatjaune
* Remoção de parêntesis supérfluos, para consumir menos condições. --Helder
* Remoção de parêntesis supérfluos, para consumir menos condições. --Helder
* Remoção de "action='edit'", pois "added_lines" nem está definido nas outras ações. --Helder
* Remoção de "action='edit'", pois "added_lines" nem está definido nas outras ações. --Helder
* Correção na sintaxe da regex. --Helder
* Correção na sintaxe da regex. --Helder
* Remoção de 'auto' para ignorar também as contas confirmadas manualmente. -- rjclaudio
* Remoção de 'auto' para ignorar também as contas confirmadas manualmente. -- rjclaudio
* Otimizando regex (irlike) --rjclaudio
* Otimizando regex (irlike) --rjclaudio
* Reorganizando filtros 7/18/68/70/112/115 (ver discussão do filtro 18) --rjclaudio
* Reorganizando filtros 7/18/68/70/112/115 (ver discussão do filtro 18) --rjclaudio
* Novo verbo, testado no 112.--Otavio
* Novo verbo, testado no 112.--Otavio
* Implementando ccnorm e rmdoubles e novos verbos.--Otavio
* Implementando ccnorm e rmdoubles e novos verbos.--Otavio
* Otimizando regex. Remoção de palavras duplicadas e simplificação. Regressão OK.--Otavio
* Otimizando regex. Remoção de palavras duplicadas e simplificação. Regressão OK.--Otavio
* Reduce condition count. 'ofensas' still needs updating per https://phabricator.wikimedia.org/T29987 ~MusikAnimal 2016.08.18
* Reduce condition count. 'ofensas' still needs updating per https://phabricator.wikimedia.org/T29987 ~MusikAnimal 2016.08.18
* Atualização (ver T29987). --Helder
* Atualização (ver T29987). --Helder
* Mais alguns ajustes nos caracteres. --Helder
* Mais alguns ajustes nos caracteres. --Helder
* Inclusão de variante que era detectada pelo filtro 18. --Helder
* Inclusão de variante que era detectada pelo filtro 18. --Helder
* Ajuste na indentação do código. --!Silent (26/nov/2016)
* Ajuste na indentação do código. --!Silent (26/nov/2016)
* Movendo expressões para o filtro 112 e pondo-o para impedir as edições. --!Silent (03/dez/2016)
* Movendo expressões para o filtro 112 e pondo-o para impedir as edições. --!Silent (03/dez/2016)
* Alimentando com mais variações dos termos. --!Silent (03/dez/2016)
* Alimentando com mais variações dos termos. --!Silent (03/dez/2016)
* Ocultando o filtro do visionamento público, trazendo expressões de outros filtros e exportando expressões deste para outros, afim de condizer com o seu propósito (bloqueio de expressões apenas). --!Silent (04/dez/2016)
* Ocultando o filtro do visionamento público, trazendo expressões de outros filtros e exportando expressões deste para outros, afim de condizer com o seu propósito (bloqueio de expressões apenas). --!Silent (04/dez/2016)
* Ajuste no código e removendo expressão com um termo já bloqueado pelo filtro 70; removendo função redundante; adicionando expressões --!Silent (05/dez/2016)
* Ajuste no código e removendo expressão com um termo já bloqueado pelo filtro 70; removendo função redundante; adicionando expressões --!Silent (05/dez/2016)
* Adicionando um termo. --!Silent (06/dez/2016)
* Adicionando um termo. --!Silent (06/dez/2016)
* Adicionando variação de termos; adicionando mais duas expressões. --!Silent (08/dez/2016)
* Adicionando variação de termos; adicionando mais duas expressões. --!Silent (08/dez/2016)
* Ajuste na regex, adicionando mais uma expressão. --!Silent (10/dez/2016)
* Ajuste na regex, adicionando mais uma expressão. --!Silent (10/dez/2016)
* Adicionando mais duas expressões. --!Silent (14/dez/2016)
* Adicionando mais duas expressões. --!Silent (14/dez/2016)
* Adicionando mais uma expressão. --!Silent (16/dez/2016)
* Adicionando mais uma expressão. --!Silent (16/dez/2016)
* Mais variações e mais uma expressão. --!Silent (17/dez/2016)
* Mais variações e mais uma expressão. --!Silent (17/dez/2016)
* Mais variações. --!Silent (19/dez/2016)
* Mais variações. --!Silent (19/dez/2016)
* Mais variações. --!Silent (21/dez/2016)
* Mais variações. --!Silent (21/dez/2016)
* Mais variações. --!Silent (23/dez/2016)
* Mais variações. --!Silent (23/dez/2016)
* Mais uma variação. --!Silent (25/dez/2016)
* Mais uma variação. --!Silent (25/dez/2016)
* Mais variações e movendo termo para filtro 18. --!Silent (28/dez/2016)
* Mais variações e movendo termo para filtro 18. --!Silent (28/dez/2016)
* Mais uma variação. --!Silent (02/jan/2017)
* Mais uma variação. --!Silent (02/jan/2017)
* Mais variações. --!Silent (08/jan/2017)
* Mais variações. --!Silent (08/jan/2017)
* Mais expressões. --!Silent (09/jan/2017)
* Mais expressões. --!Silent (09/jan/2017)
* Mais variações. --!Silent (10/jan/2017)
* Mais variações. --!Silent (10/jan/2017)
* Mais expressões e variação. --!Silent (11/jan/2017)
* Mais expressões e variação. --!Silent (11/jan/2017)
* Mais expressões e variação. --!Silent (12/jan/2017)
* Mais expressões e variação. --!Silent (12/jan/2017)
* Mais expressões. --!Silent (18/jan/2017)
* Mais expressões. --!Silent (18/jan/2017)
* Movendo uma expressão para uma condição diferente afim de evitar falsos positivos. --!Silent (21/jan/2017)
* Movendo uma expressão para uma condição diferente afim de evitar falsos positivos. --!Silent (21/jan/2017)
* Mais expressões e variação. --!Silent (23/jan/2017)
* Mais expressões e variação. --!Silent (23/jan/2017)
* Mais variações. --!Silent (26/jan/2017)
* Mais variações. --!Silent (26/jan/2017)
* Mudando regex de lugar pra evitar falsos positivos. --!Silent (27/jan/2017)
* Mudando regex de lugar pra evitar falsos positivos. --!Silent (27/jan/2017)
* Ajuste pra evitar FP. --!Silent (28/jan/2017)
* Ajuste pra evitar FP. --!Silent (28/jan/2017)
* Mais uma expressão. --!Silent (29/jan/2017)
* Mais uma expressão. --!Silent (29/jan/2017)
* Mais expressões e variações. --!Silent (13/fev/2017)
* Mais expressões e variações. --!Silent (13/fev/2017)
* Mais expressões, variações e ajuste na regex. --!Silent (14/fev/2017)
* Mais expressões, variações e ajuste na regex. --!Silent (14/fev/2017)
* Mais expressões e variações. --!Silent (15/fev/2017)
* Mais expressões e variações. --!Silent (15/fev/2017)
* Simplificando a regex, mais expressão e variações. --!Silent (16/fev/2017)
* Simplificando a regex, mais expressão e variações. --!Silent (16/fev/2017)
* Colocando os caracteres não normalizados pela função "ccnorm" nos termos, se assim a palavra pedir (ex: "VOC[EÊê]"). --!Silent (17/fev/2017)
* Colocando os caracteres não normalizados pela função "ccnorm" nos termos, se assim a palavra pedir (ex: "VOC[EÊê]"). --!Silent (17/fev/2017)
* Ajuste na regex, mais variações. --!Silent (18/fev/2017)
* Ajuste na regex, mais variações. --!Silent (18/fev/2017)
* Migrando parte dos termos/expressões para os filtros 149 e 152. --!Silent (20/fev/2017)
* Migrando parte dos termos/expressões para os filtros 149 e 152. --!Silent (20/fev/2017)
* Mais uma variação nova. --!Silent (21/fev/2017)
* Mais uma variação nova. --!Silent (21/fev/2017)
* +Expressões e +variações; simplificando regex. --!Silent (03/abr/2017)
* +Expressões e +variações; simplificando regex. --!Silent (03/abr/2017)
* +Expressões. --!Silent (04/abr/2017)
* +Expressões. --!Silent (04/abr/2017)
* +variações, +expressões. --!Silent (19/abr/2017)
* +variações, +expressões. --!Silent (19/abr/2017)
* Removendo variações por conta de FP; +variação. --!Silent (20/abr/2017)
* Removendo variações por conta de FP; +variação. --!Silent (20/abr/2017)
* Adicionando exceção para página de Testes --Chicocvenancio (25/04/2017)
* Adicionando exceção para página de Testes --Chicocvenancio (25/04/2017)
* Pondo a exceção para página de testes logo no início. --!Silent (03/may/2017)
* Pondo a exceção para página de testes logo no início. --!Silent (03/may/2017)
* +variação. --!Silent (08/mai/2017)
* +variação. --!Silent (08/mai/2017)
* Migrando expressão para o filtro 139 devido a alta incidência de falsos-positivos. --!Silent (15/mai/2017)
* Migrando expressão para o filtro 139 devido a alta incidência de falsos-positivos. --!Silent (15/mai/2017)
* +expressão; -remoção de termo problemático; +variação. --!Silent (16/mai/2017)
* +expressão; -remoção de termo problemático; +variação. --!Silent (16/mai/2017)
* Pondo pro filtro não disparar em PUs; ajustes. --!Silent (17/mai/2017)
* Pondo pro filtro não disparar em PUs; ajustes. --!Silent (17/mai/2017)
* +variação, +expressão. --!Silent (18/mai/2017)
* +variação, +expressão. --!Silent (18/mai/2017)
* +variação; ajuste na regex. --!Silent (19/mai/2017)
* +variação; ajuste na regex. --!Silent (19/mai/2017)
* +variação. --!Silent (30/mai/2017)
* +variação. --!Silent (30/mai/2017)
* +variações; +expressões. --!Silent (01/jun/2017)
* +variações; +expressões. --!Silent (01/jun/2017)
* +expressão; ajuste para evitar fp. --!Silent (02/jun/2017)
* +expressão; ajuste para evitar fp. --!Silent (02/jun/2017)
* Ajuste para tentar reduzir os FPs. --!Silent (06/jun/2017)
* Ajuste para tentar reduzir os FPs. --!Silent (06/jun/2017)
* +expressão. --!Silent (07/jun/2017)
* +expressão. --!Silent (07/jun/2017)
* Ajustes para evitar FPs, +expressões; pondo o filtro para não executar em "Wikipédia:Filtro de edições/Solicitações" --!Silent (08/jun/2017)
* Ajustes para evitar FPs, +expressões; pondo o filtro para não executar em "Wikipédia:Filtro de edições/Solicitações" --!Silent (08/jun/2017)
* +expressões; +variações. --!Silent (09/jun/2017)
* +expressões; +variações. --!Silent (09/jun/2017)
* +expressão. --!Silent (10/jun/2017)
* +expressão. --!Silent (10/jun/2017)
* +expressões; +variações. --!Silent (11/jun/2017)
* +expressões; +variações. --!Silent (11/jun/2017)
* +variações. --!Silent (12/jun/2017)
* +variações. --!Silent (12/jun/2017)
* +variações; +expressão. --!Silent (13/jun/2017)
* +variações; +expressão. --!Silent (13/jun/2017)
* +expressão, +variação. --!Silent (14/jun/2017)
* +expressão, +variação. --!Silent (14/jun/2017)
* +expressão. --!Silent (19/jun/2017)
* +expressão. --!Silent (19/jun/2017)
* Pondo para não executar em WP:IUE. --!Silent (20/jun/2017)
* Pondo para não executar em WP:IUE. --!Silent (20/jun/2017)
* +variação. --!Silent (20/jun/2017)
* +variação. --!Silent (20/jun/2017)
* +variações. --!Silent (22/jun/2017)
* +variações. --!Silent (22/jun/2017)
* Ajustando a regex e migrando algumas expressões para o 139, devido a falsos-positivos; +expressões. --!Silent (13/jul/2017)
* Ajustando a regex e migrando algumas expressões para o 139, devido a falsos-positivos; +expressões. --!Silent (13/jul/2017)
* +Expressões; efetuando divisão do filtro, parte do conteúdo agora está no 165 (M a Z); correção de problema que estava gerando FPs. --!Silent (14/jul/2017)
* +Expressões; efetuando divisão do filtro, parte do conteúdo agora está no 165 (M a Z); correção de problema que estava gerando FPs. --!Silent (14/jul/2017)
* Removendo expressão problemática, +variação. --!Silent (15/jul/2017)
* Removendo expressão problemática, +variação. --!Silent (15/jul/2017)
* Migrando expressões do filtro 165. --!Silent (16/jul/2017)
* Migrando expressões do filtro 165. --!Silent (16/jul/2017)
* +variação; migrando expressão "não sei" para o filtro 139; +expressão. --!Silent (18/jul/2017)
* +variação; migrando expressão "não sei" para o filtro 139; +expressão. --!Silent (18/jul/2017)
* Corrigindo regex. --!Silent (19/jul/2017)
Condições do filtro
Condições:
(ajuda | discussão)
!'confirmed' in user_groups & !( article_prefixedtext irlike '(?:Filtro de edições/Solicitações|Informe um erro|Testes)' ) & article_namespace != 2 & ( (
!'confirmed' in user_groups & !( article_prefixedtext irlike '(?:Filtro de edições/Solicitações|Informe um erro|Testes)' ) & article_namespace != 2 & ( (
/* A - E */
/* A - E */
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|^)(?:(?:[A@](?:K|QU)EL[A@E]|M(?:UI)?TO|(?:QU?|K)E?|S(?:EUS?|U[A@]S?|OU)|TOD[A@O]|TUDO|PRET[A@O]|NEGR[A@O]|BR[A@]NC[A@O]|V[A@]G[A@]BUND[A@O]|GR[A@]NDE|GOSTOS[A@O]|LIND[A@O]|PEQUEN[A@O]|M[OÓ])(?:.{1,4})? (?:BOB[A@O]|BONIT[A@O]|BUR[A@O]|CH[A@]T[A@O]|ESCROT[A@O]|FEDID[A@O]|FEI[A@O]|G[A@]Y|GORD[A@O]|GROS[A@O]|GOSTOS[A@O]|IDIOT[A@]|IMBECIL|IN[UÚÙ]TIL|LEG[A@]L|LIND[A@O]|LIXO|MIT[A@O]|NERD|RUIM|SUJ[AÃ@O]O?)S?|(?:[A@]ROZ|B[A@]T[A@]T[A@]|CHUCHU|P[AÃ@](?:O|U[MN])|PUDI[MN]|SEXO|OVO|XUXU) (?:[EÉÈ]H? (?:M(?:UI)?T[OU] )?)?(?:BOM|DELICIOSO|GO[SX]TO[SZ](?:INH)?[A@O])|[A@]DOR[A@O](?:M(?:OS)?)? SEXO|BURGU?[EÊê]S[A@E]?S? S[A@]F[A@]D[A@O]|(?:[CK]OM(?:[A@]|E(?:R(?:[A@][MN])?)?)|GOST(?:[AÃ@](?:[OMNR]|RI[A@][MN]?|V[A@][MN]?)?|EI|O) DE) (?:[A@]ROZ|B[A@]T[A@]T[A@]|CHUCHU|P[AÃ@](?:O|U[MN])|OVO|XUXU)|COM TE[SZ][AÃ@]O|(?:CH|X)O[LR][A@] M[A@]I?[SX]|(?:COM(?:[IE]R?|ENDO)) (?:[A@] M[AÃ@]E|[A@O]S? G[A@]ROT[A@O]S?|O P[A@]I|VOC[EÊê]|M(?:EU|INH[A@])S?|[ST](?:U[A@]|EU)S?|TODO MUNDO)|D(?:[A@](?:R|V[A@]M?)?|OU|E[IU]) (.{1,8} )?(?:OR[IÍ]F[IÍ]CI[OU]|R[A@]B[OU]|TR[A@]SEIR[OU])|[EÉÈ]H? (?:(?:UM )?LIXO|N[OÓÒ]I[SXZ]|(?:UM[A@] )?DEL[IÍÌ]CI(?:[A@]|OSO)|UM (?:G[A@]Y|S[A@][CK][OU]))|EST?[A@E] M[A@]C[A@]C[A@O]|(?:ES)?T[AÁÃ]O? ME TIR[A@]NDO|EU [A@](?:DORO|MO) C[OU]MER?)S?(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|$)';
terms := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|^)(?:(?:[A@](?:K|QU)EL[A@E]|M(?:UI)?TO|(?:QU?|K)E?|S(?:EUS?|U[A@]S?|OU)|TOD[A@O]|TUDO|PRET[A@O]|NEGR[A@O]|BR[A@]NC[A@O]|V[A@]G[A@]BUND[A@O]|GR[A@]NDE|GOSTOS[A@O]|LIND[A@O]|PEQUEN[A@O]|M[OÓ]\b)(?:.{1,4})? (?:BOB[A@O]|BONIT[A@O]|BUR[A@O]|CH[A@]T[A@O]|ESCROT[A@O]|FEDID[A@O]|FEI[A@O]|G[A@]Y|GORD[A@O]|GROS[A@O]|GOSTOS[A@O]|IDIOT[A@]|IMBECIL|IN[UÚÙ]TIL|LEG[A@]L|LIND[A@O]|LIXO|MIT[A@O]|NERD|RUIM|SUJ[AÃ@O]O?)S?|(?:[A@]ROZ|B[A@]T[A@]T[A@]|CHUCHU|P[AÃ@](?:O|U[MN])|PUDI[MN]|SEXO|OVO|XUXU) (?:[EÉÈ]H? (?:M(?:UI)?T[OU] )?)?(?:BOM|DELICIOSO|GO[SX]TO[SZ](?:INH)?[A@O])|[A@]DOR[A@O](?:M(?:OS)?)? SEXO|BURGU?[EÊê]S[A@E]?S? S[A@]F[A@]D[A@O]|(?:[CK]OM(?:[A@]|E(?:R(?:[A@][MN])?)?)|GOST(?:[AÃ@](?:[OMNR]|RI[A@][MN]?|V[A@][MN]?)?|EI|O) DE) (?:[A@]ROZ|B[A@]T[A@]T[A@]|CHUCHU|P[AÃ@](?:O|U[MN])|OVO|XUXU)|COM TE[SZ][AÃ@]O|(?:CH|X)O[LR][A@] M[A@]I?[SX]|(?:COM(?:[IE]R?|ENDO)) (?:[A@] M[AÃ@]E|[A@O]S? G[A@]ROT[A@O]S?|O P[A@]I|VOC[EÊê]|M(?:EU|INH[A@])S?|[ST](?:U[A@]|EU)S?|TODO MUNDO)|D(?:[A@](?:R|V[A@]M?)?|OU|E[IU]) (.{1,8} )?(?:OR[IÍ]F[IÍ]CI[OU]|R[A@]B[OU]|TR[A@]SEIR[OU])|[EÉÈ]H? (?:(?:UM )?LIXO|N[OÓÒ]I[SXZ]|(?:UM[A@] )?DEL[IÍÌ]CI(?:[A@]|OSO)|UM (?:G[A@]Y|S[A@][CK][OU]))|EST?[A@E] M[A@]C[A@]C[A@O]|(?:ES)?T[AÁÃ]O? ME TIR[A@]NDO|EU [A@](?:DORO|MO) C[OU]MER?)S?(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|$)';


ccnorm( rmdoubles( added_lines ) ) irlike terms
ccnorm( rmdoubles( added_lines ) ) irlike terms
& !ccnorm( rmdoubles( removed_lines ) ) irlike terms;
& !ccnorm( rmdoubles( removed_lines ) ) irlike terms;
) | (
) | (
/* Expressões sem o uso da função "ccnorm" */
/* Expressões sem o uso da função "ccnorm" */
terms2 := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ]|^)(?:(?:FILH[A@O] D[A@]|SU[A@]|MINH[A@]) (?:M[A@])?M[AÂÁÀÄÅ@]E|[ST]U[A@] (?:M[A@])?M[AÃÂÁÀÄÅ@]E (?:[EÉÈÊê]H? MINH[A@]|DE (?:4|[KQ]U[A@]TRO))|TU[A@] (?:M[A@])?M[AÃÂÁÀÄÅ@]E)(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ]|$)';
terms2 := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ]|^)(?:(?:FILH[A@O] D[A@]|SU[A@]|MINH[A@]) (?:M[A@])?M[AÂÁÀÄÅ@]E|[ST]U[A@] (?:M[A@])?M[AÃÂÁÀÄÅ@]E (?:[EÉÈÊê]H? MINH[A@]|DE (?:4|[KQ]U[A@]TRO))|TU[A@] (?:M[A@])?M[AÃÂÁÀÄÅ@]E)(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨÑ]|$)';


rmdoubles( added_lines ) irlike terms2
rmdoubles( added_lines ) irlike terms2
& !rmdoubles( removed_lines ) irlike terms2;
& !rmdoubles( removed_lines ) irlike terms2;
) | (
) | (
/* Expressões utilizadas somente nos domínios de contéudo */
/* Expressões utilizadas somente nos domínios de contéudo */
terms3 := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|^)(?:(?:[I2EASG789][º°]|PRIMEIRO|SEGUNDO|TERCEIRO|QU[A@]RTO|QUINTO|SEXTO|S[EÉ]TIMO|OIT[A@]VO|NONO) [A@]NO(?:.{1,8})?[A@](?:K|QU)I|[A@O](?:.{1,15})? (?:K|QU)E ESTUD[A@] NO|[A@]LGU[EÉ]M ME [A@]JUD[A@E]|(?:[A@]MO|COMI|D(?:[A@](?:R|V[A@]M?)?|OU|E[IU])|GOSTO|ODEI[A@O]) MUITO|BO[MN]S? [EI]STUDOS?|COI[SZ][A@] (?:M[A@]I?S )?IN[UÚ]TIL|DEI (?:P[A@]?R)?[A@O]|ENTRE EI?[MN] CONT[A@]TO|EU (?:COMI|GOSTO|D(?:OU|EI))|(?:(?:ES)?TEVE|P[A@]S(?:[A@]R[AÃ@][OM]|OU)) (?:POR )?[A@](?:K|QU)I|MINH[A@] PROV[A@]|N[A@]?D[A@]? (?:[A@] |H[A@])VER|[NÑ](?:(?:[A@]?(?:O|U[MN]))?|INGU[EÉ][MN]) (?:PREST[A@]|(?:(?:[KQ](?:U?E)? )?[MT]E I(?:NTERE[CÇS]|MPORT)[A@])|SERVE (?:M[A@]I?S )?P[A@]?R[A@] (?:M[A@]I?S )?N[A@]D[A@]S?)|RUI[MN] (?:DEM[A@]I[SX]|DMS|P[A@]?R[A@] (?:[CK][A@]R[A@]MB[A@]|D[EÉ]D[EÉ]U))|V[A@]I EMBOR[A@] D?[A@](?:K|QU)I|VC EH?)(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|$)';
terms3 := '(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|^)(?:(?:[I2EASG789][º°]|PRIMEIRO|SEGUNDO|TERCEIRO|QU[A@]RTO|QUINTO|SEXTO|S[EÉ]TIMO|OIT[A@]VO|NONO) [A@]NO(?:.{1,8})?[A@](?:K|QU)I|[A@O](?:.{1,15})? (?:K|QU)E ESTUD[A@] NO|[A@]LGU[EÉ]M ME [A@]JUD[A@E]|(?:[A@]MO|COMI|D(?:[A@](?:R|V[A@]M?)?|OU|E[IU])|GOSTO|ODEI[A@O]) MUITO|BO[MN]S? [EI]STUDOS?|COI[SZ][A@] (?:M[A@]I?S )?IN[UÚ]TIL|DEI (?:P[A@]?R)?[A@O]|ENTRE EI?[MN] CONT[A@]TO|EU (?:COMI|GOSTO|D(?:OU|EI))|(?:(?:ES)?TEVE|P[A@]S(?:[A@]R[AÃ@][OM]|OU)) (?:POR )?[A@](?:K|QU)I|MINH[A@] PROV[A@]|N[A@]?D[A@]? (?:[A@] |H[A@])VER|[NÑ](?:(?:[A@]?(?:O|U[MN]))?|INGU[EÉ][MN]) (?:PREST[A@]|(?:(?:[KQ](?:U?E)? )?[MT]E I(?:NTERE[CÇS]|MPORT)[A@])|SERVE (?:M[A@]I?S )?P[A@]?R[A@] (?:M[A@]I?S )?N[A@]D[A@]S?)|RUI[MN] (?:DEM[A@]I[SX]|DMS|P[A@]?R[A@] (?:[CK][A@]R[A@]MB[A@]|D[EÉ]D[EÉ]U))|V[A@]I EMBOR[A@] D?[A@](?:K|QU)I|VC EH?)(?:[^A-ZÃÂÁÀÄ@ÇÈÉÊẼêÌÍÏÓÒÔÕQ̃ÚŰÜŨ]|$)';


article_namespace % 2 == 0
article_namespace % 2 == 0
& ( ccnorm( rmdoubles( added_lines ) ) irlike terms3
& ( ccnorm( rmdoubles( added_lines ) ) irlike terms3
& !ccnorm( rmdoubles( removed_lines ) ) irlike terms3
& !ccnorm( rmdoubles( removed_lines ) ) irlike terms3
);
);
) );
) );