úÎï6     Safe05Represents an email address.£Creates an email address without validating it. You should only use this when reading data from somewhere it has already been validated (e.g. a database)..Converts an email address back to a ByteString,Extracts the local part of an email address.-Extracts the domain part of an email address.A parser for email addresses., !"#$%&'()*+,-./01234+ !"#$%&'()*+,-./01234Safe &Smart constructor for an email address mChecks that an email is valid and returns a version of it where comments and whitespace have been removed.Example:4canonicalizeEmail "spaces. are. allowed@example.com"%Just "spaces.are.allowed@example.com"RValidates whether a particular string is an email address according to RFC5322.WIf you want to find out *why* a particular string is not an email address, use this. Examples:validate "example@example.com"Right "example@example.com"validate "not.good"$Left "at sign > @: not enough input"      None#A QuasiQuoter for email addresses. Use it like this::set -XQuasiQuotes[email|someone@example.com|]"someone@example.com"5      !"#$%&'()*+,-./012345678+email-validate-2.3.1-F58zlWPHCaeHrXWunz3J0AText.Email.ParserText.Email.ValidateText.Email.QuasiQuotation EmailAddressunsafeEmailAddress toByteString localPart domainPartaddrSpec$fReadEmailAddress$fShowEmailAddress$fEqEmailAddress$fOrdEmailAddress$fDataEmailAddress$fGenericEmailAddress emailAddresscanonicalizeEmailisValidvalidateemaillocaldomain domainName domainLabelalphaNumisAlphaNumHyphen dottedAtomsatom isAtomText domainLiteral isDomainText quotedString quotedContent isQuotedText quotedPaircfwsfwsbetweenbetween1commentcommentContent isCommentTextnullChar skipWhile1wsp1wspisWsp isAlphaNumcrlfcrlfisVcharvchar isObsNoWsCtl obsNoWsCtl