# DO NOT EDIT: file generated by build/mkupdates/listpromotable
# active ruleset list, automatically generated from https://ruleqa.spamassassin.org/
# with results from: last-net: net-axb-coi-bulk net-axb-generic net-axb-ham-misc net-darxus net-ena-week0 net-ena-week1 net-ena-week2 net-ena-week3 net-giovanni-ham net-giovanni-spam net-giovanni-spammy net-grenier net-jbrooks net-llanga net-mmiroslaw-mails-ham net-mmiroslaw-mails-spam net-npiazzi net-pds net-sihde net-spamsponge net-thendrikx; day 1: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 2: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 3: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 4: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 5: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx

# tflags publish
AC_BR_BONANZA

# tflags publish
AC_DIV_BONANZA

# tflags publish
AC_FROM_MANY_DOTS

# tflags publish
AC_HTML_NONSENSE_TAGS

# good enough
AC_POST_EXTRAS

# tflags publish
AC_SPAMMY_URI_PATTERNS1

# tflags publish
AC_SPAMMY_URI_PATTERNS10

# tflags publish
AC_SPAMMY_URI_PATTERNS11

# tflags publish
AC_SPAMMY_URI_PATTERNS12

# tflags publish
AC_SPAMMY_URI_PATTERNS2

# tflags publish
AC_SPAMMY_URI_PATTERNS3

# tflags publish
AC_SPAMMY_URI_PATTERNS4

# tflags publish
AC_SPAMMY_URI_PATTERNS8

# tflags publish
AC_SPAMMY_URI_PATTERNS9

# tflags publish
ADMAIL

# good enough
ADMITS_SPAM

# tflags publish
ADVANCE_FEE_2_NEW_FORM

# tflags publish
ADVANCE_FEE_2_NEW_MONEY

# tflags publish
ADVANCE_FEE_3_NEW

# tflags publish
ADVANCE_FEE_3_NEW_FORM

# tflags publish
ADVANCE_FEE_3_NEW_MONEY

# tflags publish
ADVANCE_FEE_4_NEW

# good enough
ADVANCE_FEE_4_NEW_MONEY

# good enough
ADVANCE_FEE_5_NEW

# tflags publish
AD_PREFS

# tflags publish
ALIBABA_IMG_NOT_RCVD_ALI

# tflags userconf
ALL_TRUSTED

# tflags publish
AMAZON_IMG_NOT_RCVD_AMZN

# tflags publish
APP_DEVELOPMENT_FREEM

# tflags publish
APP_DEVELOPMENT_NORDNS

# good enough
AXB_XMAILER_MIMEOLE_OL_024C2

# tflags learn
BAYES_00

# tflags learn
BAYES_05

# tflags learn
BAYES_20

# tflags learn
BAYES_40

# tflags learn
BAYES_50

# tflags learn
BAYES_60

# tflags learn
BAYES_80

# tflags learn
BAYES_95

# tflags learn
BAYES_99

# tflags learn
BAYES_999

# tflags publish
BITCOIN_BOMB

# tflags publish
BITCOIN_DEADLINE

# tflags publish
BITCOIN_EXTORT_01

# tflags publish
BITCOIN_EXTORT_02

# good enough
BITCOIN_MALF_HTML

# tflags net
BITCOIN_MALWARE

# tflags publish
BITCOIN_PAY_ME

# tflags publish
BITCOIN_SPAM_01

# tflags publish
BITCOIN_SPAM_02

# tflags publish
BITCOIN_SPAM_03

# tflags publish
BITCOIN_SPAM_04

# tflags net
BITCOIN_SPAM_05

# tflags publish
BITCOIN_SPAM_06

# tflags publish
BITCOIN_SPAM_07

# tflags publish
BITCOIN_SPAM_08

# tflags publish
BITCOIN_SPAM_09

# tflags publish
BITCOIN_SPAM_10

# tflags publish
BITCOIN_SPAM_11

# tflags publish
BITCOIN_SPAM_12

# tflags net
BITCOIN_SPF_ONLYALL

# tflags publish
BITCOIN_YOUR_INFO

# tflags net
BODY_EMPTY

# tflags net
BODY_URI_ONLY

# tflags publish
BOGUS_MIME_VERSION

# tflags publish
BOGUS_MSM_HDRS

# tflags publish
BOMB_FREEM

# tflags publish
BOMB_MONEY

# tflags net
BTC_ORG

# tflags publish
BULK_RE_SUSP_NTLD

# tflags publish
CANT_SEE_AD

# tflags userconf
CHARSET_FARAWAY

# tflags userconf
CHARSET_FARAWAY_HEADER

# good enough
CK_HELO_DYNAMIC_SPLIT_IP

# good enough
CK_HELO_GENERIC

# tflags publish
CN_B2B_SPAMMER

# tflags publish
COMMENT_GIBBERISH

# tflags net
COMPENSATION

# tflags publish
CORRUPT_FROM_LINE_IN_HDRS

# tflags publish
CTE_8BIT_MISMATCH

# good enough
CTYPE_NULL

# tflags publish
DAY_I_EARNED

# tflags net
DIGEST_MULTIPLE

# tflags net
DKIMWL_BL

# tflags net
DKIMWL_BLOCKED

# tflags net
DKIMWL_WL_HIGH

# tflags net
DKIMWL_WL_MED

# tflags net
DKIMWL_WL_MEDHI

# tflags net
DKIM_ADSP_ALL

# tflags net
DKIM_ADSP_CUSTOM_HIGH

# tflags net
DKIM_ADSP_CUSTOM_LOW

# tflags net
DKIM_ADSP_CUSTOM_MED

# tflags net
DKIM_ADSP_DISCARD

# tflags net
DKIM_ADSP_NXDOMAIN

# tflags net
DKIM_INVALID

# tflags net
DKIM_SIGNED

# tflags net
DKIM_VALID

# tflags net
DKIM_VALID_AU

# tflags net
DKIM_VALID_EF

# tflags publish
DOS_ANAL_SPAM_MAILER

# tflags net
DOS_DEREK_AUG08

# good enough
DOS_OE_TO_MX

# good enough
DOS_OUTLOOK_TO_MX

# tflags publish
DOTGOV_IMAGE

# good enough
DSN_NO_MIMEVERSION

# tflags publish
DX_TEXT_02

# tflags publish
DX_TEXT_03

# tflags publish
EBAY_IMG_NOT_RCVD_EBAY

# tflags publish
ENCRYPTED_MESSAGE

# tflags net
END_FUTURE_EMAILS

# tflags net
ENV_AND_HDR_SPF_MATCH

# tflags publish
FBI_MONEY

# tflags publish
FBI_SPOOF

# tflags publish
FILL_THIS_FORM

# tflags publish
FONT_INVIS_DIRECT

# tflags publish
FONT_INVIS_DOTGOV

# tflags publish
FONT_INVIS_LONG_LINE

# tflags publish
FONT_INVIS_MSGID

# tflags publish
FONT_INVIS_POSTEXTRAS

# good enough
FORGED_RELAY_MUA_TO_MX

# tflags net
FORGED_SPF_HELO

# tflags net
FORM_FRAUD

# tflags net
FORM_FRAUD_3

# tflags publish
FORM_FRAUD_5

# tflags net
FORM_LOW_CONTRAST

# tflags publish
FOUND_YOU

# tflags userconf
FRAGMENTED_MESSAGE

# tflags publish
FREEMAIL_FORGED_FROMDOMAIN

# tflags publish
FREEM_FRNUM_UNICD_EMPTY

# tflags publish
FRNAME_IN_MSG_XPRIO_NO_SUB

# good enough
FROM_2_EMAILS_SHORT

# tflags publish
FROM_ADDR_WS

# tflags net
FROM_BANK_NOAUTH

# tflags userconf
FROM_DOMAIN_NOVOWEL

# tflags net
FROM_FMBLA_NDBLOCKED

# tflags net
FROM_FMBLA_NEWDOM

# tflags net
FROM_FMBLA_NEWDOM14

# tflags net
FROM_FMBLA_NEWDOM28

# tflags net
FROM_GOV_DKIM_AU

# tflags net
FROM_GOV_REPLYTO_FREEMAIL

# tflags net
FROM_GOV_SPOOF

# tflags publish
FROM_IN_TO_AND_SUBJ

# tflags userconf
FROM_LOCAL_NOVOWEL

# good enough
FROM_MISSPACED

# good enough
FROM_MISSP_DYNIP

# good enough
FROM_MISSP_EH_MATCH

# good enough
FROM_MISSP_FREEMAIL

# good enough
FROM_MISSP_MSFT

# tflags net
FROM_MISSP_REPLYTO

# tflags net
FROM_MISSP_SPF_FAIL

# good enough
FROM_MISSP_TO_UNDISC

# good enough
FROM_MISSP_USER

# good enough
FROM_MISSP_XPRIO

# good enough
FROM_NAME_EQ_TO_G_DRIVE

# tflags net
FROM_NEWDOM_BTC

# tflags publish
FROM_NTLD_LINKBAIT

# tflags publish
FROM_NTLD_REPLY_FREEMAIL

# tflags net
FROM_NUMBERO_NEWDOMAIN

# tflags net
FROM_PAYPAL_SPOOF

# tflags publish
FROM_SUSPICIOUS_NTLD

# tflags publish
FROM_SUSPICIOUS_NTLD_FP

# good enough
FROM_URI

# tflags publish
FROM_WORDY

# tflags publish
FROM_WORDY_SHORT

# good enough
FROM_WSP_TRAIL

# good enough
FROM_WWW

# tflags net
FSL_BULK_SIG

# good enough
FSL_CTYPE_WIN1251

# good enough
FSL_HAS_TINYURL

# tflags publish
FSL_NEW_HELO_USER

# good enough
FSL_THIS_IS_ADV

# tflags publish
FUZZY_ANDROID

# tflags publish
FUZZY_BITCOIN

# tflags publish
FUZZY_BROWSER

# tflags publish
FUZZY_BTC_WALLET

# tflags publish
FUZZY_CLICK_HERE

# tflags publish
FUZZY_DR_OZ

# tflags publish
FUZZY_IMPORTANT

# tflags publish
FUZZY_MONERO

# tflags publish
FUZZY_PRIVACY

# tflags publish
FUZZY_PROMOTION

# tflags publish
FUZZY_SAVINGS

# tflags publish
FUZZY_SECURITY

# tflags publish
FUZZY_UNSUBSCRIBE

# tflags publish
FUZZY_WALLET

# tflags publish
GAPPY_SALES_LEADS_FREEM

# good enough
GB_BITCOIN_CP

# good enough
GB_BITCOIN_NH

# tflags publish
GB_FORGED_MUA_POSTFIX

# tflags publish
GB_FREEMAIL_DISPTO

# tflags publish
GB_FREEMAIL_DISPTO_NOTFREEM

# tflags publish
GB_GOOGLE_OBFUR

# good enough
GB_GOOGLE_OBFUS

# tflags publish
GB_LINKED_IMG_NOT_RCVD_LINK

# tflags publish
GB_WP_FILELINK

# tflags publish
GOOGLE_DOCS_PHISH

# tflags publish
GOOGLE_DOCS_PHISH_MANY

# tflags publish
GOOGLE_DRIVE_REPLY_BAD_NTLD

# tflags publish
GOOG_MALWARE_DNLD

# tflags publish
GOOG_REDIR_SHORT

# tflags userconf
GTUBE

# tflags net
HDRS_LCASE

# good enough
HDRS_LCASE_IMGONLY

# tflags net
HDRS_MISSP

# tflags publish
HDR_ORDER_FTSDMCXX_DIRECT

# tflags publish
HDR_ORDER_FTSDMCXX_NORDNS

# tflags publish
HEADER_FROM_DIFFERENT_DOMAINS

# tflags userconf
HEAD_LONG

# good enough
HELO_LOCALHOST

# good enough
HELO_MISC_IP

# tflags publish
HELO_NO_DOMAIN

# tflags publish
HEXHASH_WORD

# tflags publish
HK_CTE_RAW

# good enough
HK_NAME_DRUGS

# tflags publish
HK_RANDOM_ENVFROM

# tflags publish
HK_RANDOM_FROM

# tflags publish
HK_RANDOM_REPLYTO

# tflags publish
HK_RCVD_IP_MULTICAST

# tflags publish
HK_SCAM

# tflags publish
HOSTED_IMG_DIRECT_MX

# tflags publish
HOSTED_IMG_DQ_UNSUB

# tflags publish
HOSTED_IMG_FREEM

# tflags publish
HOSTED_IMG_MULTI

# tflags userconf
HTML_CHARSET_FARAWAY

# tflags publish
HTML_ENTITY_ASCII

# tflags publish
HTML_ENTITY_ASCII_TINY

# tflags publish
HTML_OFF_PAGE

# tflags publish
HTML_SHRT_CMNT_OBFU_MANY

# tflags net
HTML_SINGLET_MANY

# tflags net
HTML_TEXT_INVISIBLE_FONT

# tflags publish
HTML_TEXT_INVISIBLE_STYLE

# tflags publish
IMG_ONLY_FM_DOM_INFO

# good enough
KB_FORGED_MOZ4

# tflags net
KHOP_FAKE_EBAY

# tflags net
KHOP_HELO_FCRDNS

# good enough
LH_URI_DOM_IN_PATH

# tflags publish
LIST_PRTL_PUMPDUMP

# tflags publish
LIST_PRTL_SAME_USER

# tflags publish
LONG_HEX_URI

# tflags publish
LONG_IMG_URI

# tflags publish
LOTS_OF_MONEY

# tflags publish
LUCRATIVE

# good enough
MALFORMED_FREEMAIL

# tflags publish
MALF_HTML_B64

# tflags publish
MALWARE_NORDNS

# tflags publish
MALWARE_PASSWORD

# tflags net
MANY_HDRS_LCASE

# tflags publish
MANY_SPAN_IN_TEXT

# tflags net
MAY_BE_FORGED

# tflags publish
MILLION_HUNDRED

# tflags publish
MIMEOLE_DIRECT_TO_MX

# tflags userconf
MIME_CHARSET_FARAWAY

# tflags publish
MIME_NO_TEXT

# tflags userconf
MISSING_HB_SEP

# tflags publish
MIXED_ES

# tflags publish
MONERO_DEADLINE

# tflags publish
MONERO_EXTORT_01

# tflags publish
MONERO_MALWARE

# tflags publish
MONERO_PAY_ME

# good enough
MONEY_FORM_SHORT

# tflags publish
MONEY_FRAUD_3

# tflags publish
MONEY_FRAUD_5

# tflags publish
MONEY_FRAUD_8

# good enough
MONEY_FROM_MISSP

# tflags publish
MSM_PRIO_REPTO

# good enough
MSOE_MID_WRONG_CASE

# tflags publish
NEWEGG_IMG_NOT_RCVD_NEGG

# good enough
NICE_REPLY_A

# tflags net
NML_ADSP_CUSTOM_HIGH

# tflags net
NML_ADSP_CUSTOM_LOW

# tflags net
NML_ADSP_CUSTOM_MED

# tflags net
NORDNS_LOW_CONTRAST

# tflags net
NO_DNS_FOR_FROM

# tflags publish
NO_FM_NAME_IP_HOSTN

# tflags userconf
NO_RECEIVED

# tflags userconf
NO_RELAYS

# good enough
NSL_RCVD_FROM_USER

# good enough
NSL_RCVD_HELO_USER

# tflags publish
OBFU_BITCOIN

# tflags publish
OBFU_JVSCR_ESC

# tflags publish
OBFU_TEXT_ATTACH

# good enough
OFFER_ONLY_AMERICA

# good enough
PDS_BTC_ID

# good enough
PDS_BTC_MSGID

# good enough
PDS_EMPTYSUBJ_URISHRT

# good enough
PDS_FREEMAIL_REPLYTO_URISHRT

# good enough
PDS_FRNOM_TODOM_NAKED_TO

# tflags net
PDS_FROM_2_EMAILS

# good enough
PDS_FROM_NAME_TO_DOMAIN

# tflags net
PDS_HELO_SPF_FAIL

# good enough
PDS_NAKED_TO_NUMERO

# good enough
PDS_SHORTFWD_URISHRT

# good enough
PDS_TINYSUBJ_URISHRT

# good enough
PDS_TONAME_EQ_TOLOCAL_FREEM_FORGE

# good enough
PDS_TONAME_EQ_TOLOCAL_HDRS_LCASE

# good enough
PDS_TONAME_EQ_TOLOCAL_VSHORT

# good enough
PDS_TO_EQ_FROM_NAME

# good enough
PHOTO_EDITING_DIRECT

# tflags publish
PHP_NOVER_MUA

# tflags publish
PHP_ORIG_SCRIPT

# tflags publish
PHP_SCRIPT_MUA

# tflags publish
PP_MIME_FAKE_ASCII_TEXT

# tflags publish
PP_TOO_MUCH_UNICODE02

# tflags publish
PP_TOO_MUCH_UNICODE05

# tflags publish
PUMPDUMP

# tflags publish
PUMPDUMP_MULTI

# tflags publish
PUMPDUMP_TIP

# tflags net
PYZOR_CHECK

# tflags publish
RAND_HEADER_MANY

# good enough
RATWARE_NO_RDNS

# tflags net
RAZOR2_CF_RANGE_51_100

# tflags net
RAZOR2_CHECK

# tflags publish
RCVD_DBL_DQ

# tflags publish
RCVD_DOTEDU_SHORT

# tflags publish
RCVD_DOTEDU_SUSP_URI

# tflags net
RCVD_IN_BL_SPAMCOP_NET

# tflags net
RCVD_IN_DNSWL_BLOCKED

# tflags net
RCVD_IN_DNSWL_HI

# tflags net
RCVD_IN_DNSWL_LOW

# tflags net
RCVD_IN_DNSWL_MED

# tflags net
RCVD_IN_DNSWL_NONE

# tflags net
RCVD_IN_IADB_DK

# tflags net
RCVD_IN_IADB_DOPTIN

# tflags net
RCVD_IN_IADB_DOPTIN_GT50

# tflags net
RCVD_IN_IADB_DOPTIN_LT50

# tflags net
RCVD_IN_IADB_EDDB

# tflags net
RCVD_IN_IADB_EPIA

# tflags net
RCVD_IN_IADB_GOODMAIL

# tflags net
RCVD_IN_IADB_LISTED

# tflags net
RCVD_IN_IADB_LOOSE

# tflags net
RCVD_IN_IADB_MI_CPEAR

# tflags net
RCVD_IN_IADB_MI_CPR_30

# tflags net
RCVD_IN_IADB_MI_CPR_MAT

# tflags net
RCVD_IN_IADB_ML_DOPTIN

# tflags net
RCVD_IN_IADB_NOCONTROL

# tflags net
RCVD_IN_IADB_OOO

# tflags net
RCVD_IN_IADB_OPTIN

# tflags net
RCVD_IN_IADB_OPTIN_GT50

# tflags net
RCVD_IN_IADB_OPTIN_LT50

# tflags net
RCVD_IN_IADB_OPTOUTONLY

# tflags net
RCVD_IN_IADB_RDNS

# tflags net
RCVD_IN_IADB_SENDERID

# tflags net
RCVD_IN_IADB_SPF

# tflags net
RCVD_IN_IADB_UNVERIFIED_1

# tflags net
RCVD_IN_IADB_UNVERIFIED_2

# tflags net
RCVD_IN_IADB_UT_CPEAR

# tflags net
RCVD_IN_IADB_UT_CPR_30

# tflags net
RCVD_IN_IADB_UT_CPR_MAT

# tflags net
RCVD_IN_IADB_VOUCHED

# tflags net
RCVD_IN_MAPS_DUL

# tflags net
RCVD_IN_MAPS_NML

# tflags net
RCVD_IN_MAPS_OPS

# tflags net
RCVD_IN_MAPS_RBL

# tflags net
RCVD_IN_MAPS_RSS

# tflags net
RCVD_IN_MSPIKE_BL

# tflags net
RCVD_IN_MSPIKE_H2

# tflags net
RCVD_IN_MSPIKE_H3

# tflags net
RCVD_IN_MSPIKE_H4

# tflags net
RCVD_IN_MSPIKE_H5

# tflags net
RCVD_IN_MSPIKE_L2

# tflags net
RCVD_IN_MSPIKE_L3

# tflags net
RCVD_IN_MSPIKE_L4

# tflags net
RCVD_IN_MSPIKE_L5

# tflags net
RCVD_IN_MSPIKE_WL

# tflags net
RCVD_IN_MSPIKE_ZBI

# tflags net
RCVD_IN_PBL

# tflags net
RCVD_IN_PSBL

# tflags net
RCVD_IN_RP_CERTIFIED

# tflags net
RCVD_IN_RP_RNBL

# tflags net
RCVD_IN_RP_SAFE

# tflags net
RCVD_IN_SBL

# tflags net
RCVD_IN_SBL_CSS

# tflags net
RCVD_IN_SORBS_BLOCK

# tflags net
RCVD_IN_SORBS_DUL

# tflags net
RCVD_IN_SORBS_HTTP

# tflags net
RCVD_IN_SORBS_MISC

# tflags net
RCVD_IN_SORBS_SMTP

# tflags net
RCVD_IN_SORBS_SOCKS

# tflags net
RCVD_IN_SORBS_WEB

# tflags net
RCVD_IN_SORBS_ZOMBIE

# tflags net
RCVD_IN_XBL

# tflags net
RCVD_IN_ZEN_BLOCKED

# tflags net
RCVD_IN_ZEN_BLOCKED_OPENDNS

# tflags publish
RDNS_NUM_TLD_ATCHNX

# tflags publish
RDNS_NUM_TLD_XM

# good enough
REPLYTO_WITHOUT_TO_CC

# good enough
RISK_FREE

# tflags publish
SENDGRID_REDIR

# tflags publish
SENDGRID_REDIR_PHISH

# tflags publish
SEO_SUSP_NTLD

# good enough
SERGIO_SUBJECT_VIAGRA01

# tflags publish
SHOPIFY_IMG_NOT_RCVD_SFY

# good enough
SHORTENED_URL_HREF

# good enough
SHORTENED_URL_SRC

# tflags publish
SHORTENER_SHORT_IMG

# tflags publish
SHORT_IMG_SUSP_NTLD

# good enough
SHORT_SHORTNER

# good enough
SHORT_URL

# tflags net
SINGLETS_LOW_CONTRAST

# tflags net
SPF_FAIL

# tflags net
SPF_HELO_FAIL

# tflags net
SPF_HELO_NEUTRAL

# tflags net
SPF_HELO_NONE

# tflags net
SPF_HELO_PASS

# tflags net
SPF_HELO_SOFTFAIL

# tflags net
SPF_NEUTRAL

# tflags net
SPF_NONE

# tflags net
SPF_PASS

# tflags net
SPF_SOFTFAIL

# tflags net
SPOOFED_FREEMAIL

# tflags net
SPOOFED_FREEMAIL_NO_RDNS

# tflags net
SPOOFED_FREEM_REPTO

# tflags net
SPOOFED_FREEM_REPTO_CHN

# tflags net
SPOOFED_FREEM_REPTO_RUS

# tflags publish
STATIC_XPRIO_OLE

# tflags net
STOCK_LOW_CONTRAST

# tflags publish
STOCK_TIP

# good enough
STOX_BOUND_090909_B

# tflags userconf
SUBJECT_IN_BLACKLIST

# tflags userconf
SUBJECT_IN_WHITELIST

# good enough
SUBJECT_NEEDS_ENCODING

# tflags net
SUBJ_BRKN_WORDNUMS

# tflags net
SUBJ_OBFU_PUNCT_FEW

# tflags net
SUBJ_OBFU_PUNCT_MANY

# tflags net
SUBJ_UNNEEDED_HTML

# tflags net
SURBL_BLOCKED

# good enough
SUSP_UTF8_WORD_COMBO

# good enough
SUSP_UTF8_WORD_FROM

# good enough
SUSP_UTF8_WORD_SUBJ

# tflags publish
SYSADMIN

# tflags net
TEQF_USR_IMAGE

# tflags net
TEQF_USR_MSGID_HEX

# tflags net
TEQF_USR_MSGID_MALF

# tflags publish
THIS_AD

# tflags publish
THIS_IS_ADV_SUSP_NTLD

# good enough
TONOM_EQ_TOLOC_SHRT_SHRTNER

# tflags publish
TO_EQ_FM_DIRECT_MX

# tflags net
TO_EQ_FM_DOM_HTML_IMG

# tflags net
TO_EQ_FM_DOM_HTML_ONLY

# tflags net
TO_EQ_FM_DOM_SPF_FAIL

# tflags net
TO_EQ_FM_HTML_ONLY

# tflags net
TO_EQ_FM_SPF_FAIL

# tflags publish
TO_IN_SUBJ

# tflags publish
TO_NAME_SUBJ_NO_RDNS

# good enough
TO_NO_BRKTS_FROM_MSSP

# tflags publish
TO_NO_BRKTS_HTML_IMG

# tflags publish
TO_NO_BRKTS_HTML_ONLY

# tflags net
TO_NO_BRKTS_MSFT

# tflags publish
TO_NO_BRKTS_NORDNS_HTML

# tflags publish
TO_NO_BRKTS_PCNT

# good enough
TVD_QUAL_MEDS

# good enough
TVD_RCVD_SPACE_BRACKET

# tflags net
TVD_SPACE_ENCODED

# tflags net
TVD_SPACE_RATIO_MINFP

# tflags net
TVD_SUBJ_NUM_OBFU_MINFP

# tflags publish
TW_GIBBERISH_MANY

# tflags publish
UC_GIBBERISH_OBFU

# tflags publish
UNICODE_OBFU_ASC

# tflags publish
UNICODE_OBFU_ZW

# tflags userconf
UNPARSEABLE_RELAY

# tflags net
UPGRADE_MAILBOX

# tflags net
URIBL_ABUSE_SURBL

# tflags net
URIBL_BLACK

# tflags net
URIBL_BLOCKED

# tflags net
URIBL_CR_SURBL

# tflags net
URIBL_CSS

# tflags net
URIBL_CSS_A

# tflags net
URIBL_DBL_ABUSE_BOTCC

# tflags net
URIBL_DBL_ABUSE_MALW

# tflags net
URIBL_DBL_ABUSE_PHISH

# tflags net
URIBL_DBL_ABUSE_REDIR

# tflags net
URIBL_DBL_ABUSE_SPAM

# tflags net
URIBL_DBL_BLOCKED

# tflags net
URIBL_DBL_BLOCKED_OPENDNS

# tflags net
URIBL_DBL_BOTNETCC

# tflags net
URIBL_DBL_ERROR

# tflags net
URIBL_DBL_MALWARE

# tflags net
URIBL_DBL_PHISH

# tflags net
URIBL_DBL_SPAM

# tflags net
URIBL_GREY

# tflags net
URIBL_MW_SURBL

# tflags net
URIBL_PH_SURBL

# tflags net
URIBL_RED

# tflags net
URIBL_RHS_DOB

# tflags net
URIBL_SBL

# tflags net
URIBL_SBL_A

# tflags net
URIBL_WS_SURBL

# tflags net
URIBL_ZEN_BLOCKED

# tflags net
URIBL_ZEN_BLOCKED_OPENDNS

# tflags publish
URI_DATA

# tflags publish
URI_DOTEDU

# tflags publish
URI_DOTEDU_ENTITY

# tflags publish
URI_DQ_UNSUB

# tflags publish
URI_GOOGLE_PROXY

# tflags publish
URI_HEX_IP

# tflags userconf
URI_HOST_IN_BLACKLIST

# tflags userconf
URI_HOST_IN_WHITELIST

# tflags publish
URI_IMG_WP_REDIR

# good enough
URI_IN_URI_10

# good enough
URI_IN_URI_5

# tflags publish
URI_MALWARE_SCMS

# tflags userconf
URI_NOVOWEL

# tflags net
URI_ONLY_MSGID_MALF

# tflags publish
URI_OPTOUT_3LD

# tflags publish
URI_OPTOUT_USME

# tflags publish
URI_PHISH

# tflags publish
URI_PHP_REDIR

# tflags publish
URI_TRY_3LD

# tflags publish
URI_TRY_USME

# tflags publish
URI_WPADMIN

# tflags publish
URI_WP_DIRINDEX

# tflags net
URI_WP_HACKED

# tflags net
URI_WP_HACKED_2

# tflags publish
USB_DRIVES

# tflags userconf
USER_IN_ALL_SPAM_TO

# tflags userconf
USER_IN_BLACKLIST

# tflags userconf
USER_IN_BLACKLIST_TO

# tflags net
USER_IN_DEF_DKIM_WL

# tflags net
USER_IN_DEF_SPF_WL

# tflags userconf
USER_IN_DEF_WHITELIST

# tflags net
USER_IN_DKIM_WHITELIST

# tflags userconf
USER_IN_MORE_SPAM_TO

# tflags net
USER_IN_SPF_WHITELIST

# tflags userconf
USER_IN_WELCOMELIST

# tflags userconf
USER_IN_WELCOMELIST_TO

# tflags publish
VPS_NO_NTLD

# tflags publish
WALMART_IMG_NOT_RCVD_WAL

# tflags publish
XM_PHPMAILER_FORGED

# tflags net
XPRIO

# tflags publish
XPRIO_SHORT_SUBJ

# good enough
XPRIO_URL_SHORTNER
