Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
go1.6 / pkg / linux_amd64 / net / smtp.a
Size: Mime:
!<arch>
__.PKGDEF       0           0     0     644     58341     `
go object linux amd64 go1.6 X:none
build id "4b39b9730445462c0e8978411fd39feee3170618"

$$
package smtp
	import hmac "crypto/hmac"
	import io "io"
	import md5 "crypto/md5"
	import errors "errors"
	import fmt "fmt"
	import tls "crypto/tls"
	import strings "strings"
	import net "net"
	import base64 "encoding/base64"
	import textproto "net/textproto"
	type @"".ServerInfo struct { Name string; TLS bool; Auth []string }
	type @"".Auth interface { Next(@"".fromServer []byte, @"".more bool) (@"".toServer []byte, @"".err error); Start(@"".server *@"".ServerInfo) (@"".proto string, @"".toServer []byte, @"".err error) }
	func @"".PlainAuth (@"".identity·2 string, @"".username·3 string, @"".password·4 string, @"".host·5 string) (? @"".Auth) { return (&@"".plainAuth{ @"".identity:@"".identity·2, @"".username:@"".username·3, @"".password:@"".password·4, @"".host:@"".host·5 }) }
	func @"".CRAMMD5Auth (@"".username·2 string, @"".secret·3 string) (? @"".Auth) { return (&@"".cramMD5Auth{ @"".username:@"".username·2, @"".secret:@"".secret·3 }) }
	import bufio "bufio" // indirect
	type @"io".Reader interface { Read(@"io".p []byte) (@"io".n int, @"io".err error) }
	type @"io".Writer interface { Write(@"io".p []byte) (@"io".n int, @"io".err error) }
	type @"bufio".Reader struct { @"bufio".buf []byte; @"bufio".rd @"io".Reader; @"bufio".r int; @"bufio".w int; @"bufio".err error; @"bufio".lastByte int; @"bufio".lastRuneSize int }
	func (@"bufio".b·2 *@"bufio".Reader "esc:0x1") Buffered () (? int) { return @"bufio".b·2.@"bufio".w - @"bufio".b·2.@"bufio".r }
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x10a") Discard (@"bufio".n·4 int) (@"bufio".discarded·1 int, @"bufio".err·2 error)
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x12a") Peek (@"bufio".n·4 int) (? []byte, ? error)
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x10a") Read (@"bufio".p·4 []byte) (@"bufio".n·1 int, @"bufio".err·2 error)
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x10a") ReadByte () (@"bufio".c·1 byte, @"bufio".err·2 error)
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x10a") ReadBytes (@"bufio".delim·4 byte) (@"bufio".line·1 []byte, @"bufio".err·2 error)
	func (@"bufio".b·4 *@"bufio".Reader "esc:0x82a") ReadLine () (@"bufio".line·1 []byte, @"bufio".isPrefix·2 bool, @"bufio".err·3 error)
	func (@"bufio".b·4 *@"bufio".Reader "esc:0x80a") ReadRune () (@"bufio".r·1 rune, @"bufio".size·2 int, @"bufio".err·3 error)
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x12a") ReadSlice (@"bufio".delim·4 byte) (@"bufio".line·1 []byte, @"bufio".err·2 error)
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x10a") ReadString (@"bufio".delim·4 byte) (@"bufio".line·1 string, @"bufio".err·2 error)
	func (@"bufio".b·1 *@"bufio".Reader "esc:0x9") Reset (@"bufio".r·2 @"io".Reader) { @"bufio".b·1.@"bufio".reset(@"bufio".b·1.@"bufio".buf, @"bufio".r·2) }
	func (@"bufio".b·2 *@"bufio".Reader "esc:0x1") UnreadByte () (? error) { if @"bufio".b·2.@"bufio".lastByte < int(0x0) || @"bufio".b·2.@"bufio".r == int(0x0) && @"bufio".b·2.@"bufio".w > int(0x0) { return @"bufio".ErrInvalidUnreadByte }; if @"bufio".b·2.@"bufio".r > int(0x0) { @"bufio".b·2.@"bufio".r-- } else { @"bufio".b·2.@"bufio".w = int(0x1) }; @"bufio".b·2.@"bufio".buf[@"bufio".b·2.@"bufio".r] = byte(@"bufio".b·2.@"bufio".lastByte); @"bufio".b·2.@"bufio".lastByte = int(-0x1); @"bufio".b·2.@"bufio".lastRuneSize = int(-0x1); return nil }
	func (@"bufio".b·2 *@"bufio".Reader "esc:0x1") UnreadRune () (? error) { if @"bufio".b·2.@"bufio".lastRuneSize < int(0x0) || @"bufio".b·2.@"bufio".r < @"bufio".b·2.@"bufio".lastRuneSize { return @"bufio".ErrInvalidUnreadRune }; @"bufio".b·2.@"bufio".r -= @"bufio".b·2.@"bufio".lastRuneSize; @"bufio".b·2.@"bufio".lastByte = int(-0x1); @"bufio".b·2.@"bufio".lastRuneSize = int(-0x1); return nil }
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x10a") WriteTo (@"bufio".w·4 @"io".Writer) (@"bufio".n·1 int64, @"bufio".err·2 error)
	func (@"bufio".b·1 *@"bufio".Reader "esc:0x9") @"bufio".fill ()
	func (@"bufio".b·2 *@"bufio".Reader "esc:0x22") @"bufio".readErr () (? error) { var @"bufio".err·3 error; ; @"bufio".err·3 = @"bufio".b·2.@"bufio".err; @"bufio".b·2.@"bufio".err = nil; return @"bufio".err·3 }
	func (@"bufio".b·1 *@"bufio".Reader "esc:0x1") @"bufio".reset (@"bufio".buf·2 []byte, @"bufio".r·3 @"io".Reader) { *@"bufio".b·1 = (@"bufio".Reader{ @"bufio".buf:@"bufio".buf·2, @"bufio".rd:@"bufio".r·3, @"bufio".lastByte:int(-0x1), @"bufio".lastRuneSize:int(-0x1) }) }
	func (@"bufio".b·3 *@"bufio".Reader "esc:0x9") @"bufio".writeBuf (@"bufio".w·4 @"io".Writer) (? int64, ? error)
	type @"net/textproto".dotReader struct { @"net/textproto".r *@"net/textproto".Reader; @"net/textproto".state int }
	func (@"net/textproto".d·3 *@"net/textproto".dotReader "esc:0x20a") Read (@"net/textproto".b·4 []byte "esc:0x1") (@"net/textproto".n·1 int, @"net/textproto".err·2 error)
	type @"net/textproto".MIMEHeader map[string][]string
	func (@"net/textproto".h·1 @"net/textproto".MIMEHeader "esc:0x9") Add (@"net/textproto".key·2 string, @"net/textproto".value·3 string)
	func (@"net/textproto".h·1 @"net/textproto".MIMEHeader "esc:0x1") Del (@"net/textproto".key·2 string "esc:0x1")
	func (@"net/textproto".h·2 @"net/textproto".MIMEHeader "esc:0x1") Get (@"net/textproto".key·3 string "esc:0x1") (? string)
	func (@"net/textproto".h·1 @"net/textproto".MIMEHeader "esc:0x1") Set (@"net/textproto".key·2 string, @"net/textproto".value·3 string)
	type @"net/textproto".Reader struct { R *@"bufio".Reader; @"net/textproto".dot *@"net/textproto".dotReader; @"net/textproto".buf []byte }
	func (@"net/textproto".r·2 *@"net/textproto".Reader) DotReader () (? @"io".Reader)
	func (@"net/textproto".r·4 *@"net/textproto".Reader "esc:0xc0a") ReadCodeLine (@"net/textproto".expectCode·5 int) (@"net/textproto".code·1 int, @"net/textproto".message·2 string, @"net/textproto".err·3 error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x18a") ReadContinuedLine () (? string, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x1aa") ReadContinuedLineBytes () (? []byte, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader) ReadDotBytes () (? []byte, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x18a") ReadDotLines () (? []string, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x18a") ReadLine () (? string, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x1ba") ReadLineBytes () (? []byte, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x18a") ReadMIMEHeader () (? @"net/textproto".MIMEHeader, ? error)
	func (@"net/textproto".r·4 *@"net/textproto".Reader "esc:0xc0a") ReadResponse (@"net/textproto".expectCode·5 int) (@"net/textproto".code·1 int, @"net/textproto".message·2 string, @"net/textproto".err·3 error)
	func (@"net/textproto".r·1 *@"net/textproto".Reader "esc:0x9") @"net/textproto".closeDot ()
	func (@"net/textproto".r·5 *@"net/textproto".Reader "esc:0x600a") @"net/textproto".readCodeLine (@"net/textproto".expectCode·6 int) (@"net/textproto".code·1 int, @"net/textproto".continued·2 bool, @"net/textproto".message·3 string, @"net/textproto".err·4 error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x1aa") @"net/textproto".readContinuedLineSlice () (? []byte, ? error)
	func (@"net/textproto".r·3 *@"net/textproto".Reader "esc:0x1ba") @"net/textproto".readLineSlice () (? []byte, ? error)
	func (@"net/textproto".r·2 *@"net/textproto".Reader "esc:0x9") @"net/textproto".skipSpace () (? int)
	func (@"net/textproto".r·2 *@"net/textproto".Reader "esc:0x9") @"net/textproto".upcomingHeaderNewlines () (@"net/textproto".n·1 int)
	type @"bufio".Writer struct { @"bufio".err error; @"bufio".buf []byte; @"bufio".n int; @"bufio".wr @"io".Writer }
	func (@"bufio".b·2 *@"bufio".Writer "esc:0x1") Available () (? int) { return len(@"bufio".b·2.@"bufio".buf) - @"bufio".b·2.@"bufio".n }
	func (@"bufio".b·2 *@"bufio".Writer "esc:0x1") Buffered () (? int) { return @"bufio".b·2.@"bufio".n }
	func (@"bufio".b·2 *@"bufio".Writer "esc:0x2a") Flush () (? error)
	func (@"bufio".b·3 *@"bufio".Writer "esc:0x10a") ReadFrom (@"bufio".r·4 @"io".Reader) (@"bufio".n·1 int64, @"bufio".err·2 error)
	func (@"bufio".b·1 *@"bufio".Writer "esc:0x1") Reset (@"bufio".w·2 @"io".Writer) { @"bufio".b·1.@"bufio".err = nil; @"bufio".b·1.@"bufio".n = int(0x0); @"bufio".b·1.@"bufio".wr = @"bufio".w·2 }
	func (@"bufio".b·3 *@"bufio".Writer "esc:0x10a") Write (@"bufio".p·4 []byte) (@"bufio".nn·1 int, @"bufio".err·2 error)
	func (@"bufio".b·2 *@"bufio".Writer "esc:0x2a") WriteByte (@"bufio".c·3 byte) (? error)
	func (@"bufio".b·3 *@"bufio".Writer "esc:0x10a") WriteRune (@"bufio".r·4 rune) (@"bufio".size·1 int, @"bufio".err·2 error)
	func (@"bufio".b·3 *@"bufio".Writer "esc:0x10a") WriteString (@"bufio".s·4 string "esc:0x9") (? int, ? error)
	func (@"bufio".b·2 *@"bufio".Writer "esc:0x2a") @"bufio".flush () (? error)
	type @"net/textproto".dotWriter struct { @"net/textproto".w *@"net/textproto".Writer; @"net/textproto".state int }
	func (@"net/textproto".d·2 *@"net/textproto".dotWriter "esc:0x4a") Close () (? error)
	func (@"net/textproto".d·3 *@"net/textproto".dotWriter "esc:0x20a") Write (@"net/textproto".b·4 []byte "esc:0x1") (@"net/textproto".n·1 int, @"net/textproto".err·2 error)
	type @"io".WriteCloser interface { Close() (? error); Write(@"io".p []byte) (@"io".n int, @"io".err error) }
	type @"net/textproto".Writer struct { W *@"bufio".Writer; @"net/textproto".dot *@"net/textproto".dotWriter }
	func (@"net/textproto".w·2 *@"net/textproto".Writer) DotWriter () (? @"io".WriteCloser)
	func (@"net/textproto".w·2 *@"net/textproto".Writer "esc:0x3a") PrintfLine (@"net/textproto".format·3 string "esc:0x9", @"net/textproto".args·4 ...interface {} "esc:0x9") (? error)
	func (@"net/textproto".w·1 *@"net/textproto".Writer "esc:0x9") @"net/textproto".closeDot ()
	import sync "sync" // indirect
	type @"sync".Mutex struct { @"sync".state int32; @"sync".sema uint32 }
	func (@"sync".m·1 *@"sync".Mutex) Lock ()
	func (@"sync".m·1 *@"sync".Mutex) Unlock ()
	type @"net/textproto".sequencer struct { @"net/textproto".mu @"sync".Mutex; @"net/textproto".id uint; @"net/textproto".wait map[uint]chan uint }
	func (@"net/textproto".s·1 *@"net/textproto".sequencer) End (@"net/textproto".id·2 uint)
	func (@"net/textproto".s·1 *@"net/textproto".sequencer) Start (@"net/textproto".id·2 uint)
	type @"net/textproto".Pipeline struct { @"net/textproto".mu @"sync".Mutex; @"net/textproto".id uint; @"net/textproto".request @"net/textproto".sequencer; @"net/textproto".response @"net/textproto".sequencer }
	func (@"net/textproto".p·1 *@"net/textproto".Pipeline) EndRequest (@"net/textproto".id·2 uint)
	func (@"net/textproto".p·1 *@"net/textproto".Pipeline) EndResponse (@"net/textproto".id·2 uint)
	func (@"net/textproto".p·2 *@"net/textproto".Pipeline) Next () (? uint)
	func (@"net/textproto".p·1 *@"net/textproto".Pipeline) StartRequest (@"net/textproto".id·2 uint)
	func (@"net/textproto".p·1 *@"net/textproto".Pipeline) StartResponse (@"net/textproto".id·2 uint)
	type @"io".ReadWriteCloser interface { Close() (? error); Read(@"io".p []byte) (@"io".n int, @"io".err error); Write(@"io".p []byte) (@"io".n int, @"io".err error) }
	type @"net/textproto".Conn struct { ? @"net/textproto".Reader; ? @"net/textproto".Writer; ? @"net/textproto".Pipeline; @"net/textproto".conn @"io".ReadWriteCloser }
	func (@"net/textproto".c·2 *@"net/textproto".Conn "esc:0x9") Close () (? error)
	func (@"net/textproto".c·3 *@"net/textproto".Conn) Cmd (@"net/textproto".format·4 string "esc:0x9", @"net/textproto".args·5 ...interface {} "esc:0x9") (@"net/textproto".id·1 uint, @"net/textproto".err·2 error)
	type @"net".Addr interface { Network() (? string); String() (? string) }
	import time "time" // indirect
	type @"time".zone struct { @"time".name string; @"time".offset int; @"time".isDST bool }
	type @"time".zoneTrans struct { @"time".when int64; @"time".index uint8; @"time".isstd bool; @"time".isutc bool }
	type @"time".Location struct { @"time".name string; @"time".zone []@"time".zone; @"time".tx []@"time".zoneTrans; @"time".cacheStart int64; @"time".cacheEnd int64; @"time".cacheZone *@"time".zone }
	func (@"time".l·2 *@"time".Location "esc:0x22") String () (? string)
	func (@"time".l·2 *@"time".Location "esc:0x1") @"time".firstZoneUsed () (? bool)
	func (@"time".l·2 *@"time".Location "esc:0x12") @"time".get () (? *@"time".Location)
	func (@"time".l·6 *@"time".Location "esc:0x32") @"time".lookup (@"time".sec·7 int64) (@"time".name·1 string, @"time".offset·2 int, @"time".isDST·3 bool, @"time".start·4 int64, @"time".end·5 int64)
	func (@"time".l·2 *@"time".Location "esc:0x1") @"time".lookupFirstZone () (? int)
	func (@"time".l·4 *@"time".Location "esc:0x1") @"time".lookupName (@"time".name·5 string "esc:0x1", @"time".unix·6 int64) (@"time".offset·1 int, @"time".isDST·2 bool, @"time".ok·3 bool)
	type @"time".Duration int64
	func (@"time".d·2 @"time".Duration) Hours () (? float64) { var @"time".hour·3 @"time".Duration; ; @"time".hour·3 = @"time".d·2 / @"time".Duration(0x34630b8a000); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0x34630b8a000); return float64(@"time".hour·3) + float64(@"time".nsec·4) * float64(8190022623310637111963488201822504381538623676021880892417778544696899264837610290203272971060556344039023584360473938041055625214280336402169897364226048p-553) }
	func (@"time".d·2 @"time".Duration) Minutes () (? float64) { var @"time".min·3 @"time".Duration; ; @"time".min·3 = @"time".d·2 / @"time".Duration(0xdf8475800); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0xdf8475800); return float64(@"time".min·3) + float64(@"time".nsec·4) * float64(7678146209353722106395056769533233877065564876941352542109479049699919628723768656821910653339403201031675627614471533358284117434246264392176261853609984p-547) }
	func (@"time".d·2 @"time".Duration) Nanoseconds () (? int64) { return int64(@"time".d·2) }
	func (@"time".d·2 @"time".Duration) Seconds () (? float64) { var @"time".sec·3 @"time".Duration; ; @"time".sec·3 = @"time".d·2 / @"time".Duration(0x3b9aca00); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0x3b9aca00); return float64(@"time".sec·3) + float64(@"time".nsec·4) * float64(7198262071269114660816079141112770740375861891461678802759824945047098083990024106014198994535558872472104883612039846078596891298747423852523262413111296p-541) }
	func (@"time".d·2 @"time".Duration) String () (? string)
	type @"time".Month int
	func (@"time".m·2 @"time".Month) String () (? string) { return @"time".months[@"time".m·2 - @"time".Month(0x1)] }
	type @"time".Weekday int
	func (@"time".d·2 @"time".Weekday) String () (? string) { return @"time".days[@"time".d·2] }
	type @"time".Time struct { @"time".sec int64; @"time".nsec int32; @"time".loc *@"time".Location }
	func (@"time".t·2 @"time".Time "esc:0x12") Add (@"time".d·3 @"time".Duration) (? @"time".Time) { @"time".t·2.@"time".sec += int64(@"time".d·3 / @"time".Duration(0x3b9aca00)); var @"time".nsec·4 int32; ; @"time".nsec·4 = int32(@"time".t·2.@"time".nsec) + int32(@"time".d·3 % @"time".Duration(0x3b9aca00)); if @"time".nsec·4 >= int32(0x3b9aca00) { @"time".t·2.@"time".sec++; @"time".nsec·4 -= int32(0x3b9aca00) } else { if @"time".nsec·4 < int32(0x0) { @"time".t·2.@"time".sec--; @"time".nsec·4 += int32(0x3b9aca00) } }; @"time".t·2.@"time".nsec = @"time".nsec·4; return @"time".t·2 }
	func (@"time".t·2 @"time".Time "esc:0x12") AddDate (@"time".years·3 int, @"time".months·4 int, @"time".days·5 int) (? @"time".Time)
	func (@"time".t·2 @"time".Time "esc:0x1") After (@"time".u·3 @"time".Time "esc:0x1") (? bool) { return @"time".t·2.@"time".sec > @"time".u·3.@"time".sec || @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec > @"time".u·3.@"time".nsec }
	func (@"time".t·2 @"time".Time "esc:0x9") AppendFormat (@"time".b·3 []byte "esc:0x1a", @"time".layout·4 string "esc:0x9") (? []byte)
	func (@"time".t·2 @"time".Time "esc:0x1") Before (@"time".u·3 @"time".Time "esc:0x1") (? bool) { return @"time".t·2.@"time".sec < @"time".u·3.@"time".sec || @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec < @"time".u·3.@"time".nsec }
	func (@"time".t·4 @"time".Time "esc:0x1") Clock () (@"time".hour·1 int, @"time".min·2 int, @"time".sec·3 int)
	func (@"time".t·4 @"time".Time "esc:0x1") Date () (@"time".year·1 int, @"time".month·2 @"time".Month, @"time".day·3 int)
	func (@"time".t·2 @"time".Time "esc:0x1") Day () (? int)
	func (@"time".t·2 @"time".Time "esc:0x1") Equal (@"time".u·3 @"time".Time "esc:0x1") (? bool) { return @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec == @"time".u·3.@"time".nsec }
	func (@"time".t·2 @"time".Time "esc:0x9") Format (@"time".layout·3 string "esc:0x9") (? string)
	func (@"time".t·2 *@"time".Time "esc:0x1") GobDecode (@"time".data·3 []byte "esc:0x1") (? error)
	func (@"time".t·3 @"time".Time "esc:0x1") GobEncode () (? []byte, ? error)
	func (@"time".t·2 @"time".Time "esc:0x1") Hour () (? int)
	func (@"time".t·3 @"time".Time "esc:0x1") ISOWeek () (@"time".year·1 int, @"time".week·2 int)
	func (@"time".t·2 @"time".Time "esc:0x12") In (@"time".loc·3 *@"time".Location "esc:0x12") (? @"time".Time)
	func (@"time".t·2 @"time".Time "esc:0x1") IsZero () (? bool) { return @"time".t·2.@"time".sec == int64(0x0) && @"time".t·2.@"time".nsec == int32(0x0) }
	func (@"time".t·2 @"time".Time "esc:0x12") Local () (? @"time".Time) { @"time".t·2.@"time".loc = @"time".Local; return @"time".t·2 }
	func (@"time".t·2 @"time".Time "esc:0x12") Location () (? *@"time".Location) { var @"time".l·3 *@"time".Location; ; @"time".l·3 = @"time".t·2.@"time".loc; if @"time".l·3 == nil { @"time".l·3 = @"time".UTC }; return @"time".l·3 }
	func (@"time".t·3 @"time".Time "esc:0x1") MarshalBinary () (? []byte, ? error)
	func (@"time".t·3 @"time".Time "esc:0x9") MarshalJSON () (? []byte, ? error)
	func (@"time".t·3 @"time".Time "esc:0x9") MarshalText () (? []byte, ? error)
	func (@"time".t·2 @"time".Time "esc:0x1") Minute () (? int)
	func (@"time".t·2 @"time".Time "esc:0x1") Month () (? @"time".Month)
	func (@"time".t·2 @"time".Time "esc:0x1") Nanosecond () (? int) { return int(@"time".t·2.@"time".nsec) }
	func (@"time".t·2 @"time".Time "esc:0x12") Round (@"time".d·3 @"time".Duration) (? @"time".Time)
	func (@"time".t·2 @"time".Time "esc:0x1") Second () (? int)
	func (@"time".t·2 @"time".Time "esc:0x9") String () (? string)
	func (@"time".t·2 @"time".Time "esc:0x1") Sub (@"time".u·3 @"time".Time "esc:0x1") (? @"time".Duration)
	func (@"time".t·2 @"time".Time "esc:0x12") Truncate (@"time".d·3 @"time".Duration) (? @"time".Time)
	func (@"time".t·2 @"time".Time "esc:0x12") UTC () (? @"time".Time) { @"time".t·2.@"time".loc = @"time".UTC; return @"time".t·2 }
	func (@"time".t·2 @"time".Time "esc:0x1") Unix () (? int64) { return @"time".t·2.@"time".sec + int64(-0xe7791f700) }
	func (@"time".t·2 @"time".Time "esc:0x1") UnixNano () (? int64) { return (@"time".t·2.@"time".sec + int64(-0xe7791f700)) * int64(0x3b9aca00) + int64(@"time".t·2.@"time".nsec) }
	func (@"time".t·2 *@"time".Time "esc:0x1") UnmarshalBinary (@"time".data·3 []byte "esc:0x1") (? error)
	func (@"time".t·2 *@"time".Time "esc:0x1") UnmarshalJSON (@"time".data·3 []byte "esc:0x1") (@"time".err·1 error)
	func (@"time".t·2 *@"time".Time "esc:0x1") UnmarshalText (@"time".data·3 []byte "esc:0x1") (@"time".err·1 error)
	func (@"time".t·2 @"time".Time "esc:0x1") Weekday () (? @"time".Weekday)
	func (@"time".t·2 @"time".Time "esc:0x1") Year () (? int)
	func (@"time".t·2 @"time".Time "esc:0x1") YearDay () (? int)
	func (@"time".t·3 @"time".Time "esc:0x32") Zone () (@"time".name·1 string, @"time".offset·2 int)
	func (@"time".t·2 @"time".Time "esc:0x1") @"time".abs () (? uint64)
	func (@"time".t·5 @"time".Time "esc:0x1") @"time".date (@"time".full·6 bool) (@"time".year·1 int, @"time".month·2 @"time".Month, @"time".day·3 int, @"time".yday·4 int)
	func (@"time".t·4 @"time".Time "esc:0x32") @"time".locabs () (@"time".name·1 string, @"time".offset·2 int, @"time".abs·3 uint64)
	type @"net".Conn interface { Close() (? error); LocalAddr() (? @"net".Addr); Read(@"net".b []byte) (@"net".n int, @"net".err error); RemoteAddr() (? @"net".Addr); SetDeadline(@"net".t @"time".Time) (? error); SetReadDeadline(@"net".t @"time".Time) (? error); SetWriteDeadline(@"net".t @"time".Time) (? error); Write(@"net".b []byte) (@"net".n int, @"net".err error) }
	import crypto "crypto" // indirect
	type @"crypto".PrivateKey interface {}
	import x509 "crypto/x509" // indirect
	type @"crypto/x509".SignatureAlgorithm int
	func (@"crypto/x509".algo·2 @"crypto/x509".SignatureAlgorithm) String () (? string)
	type @"crypto/x509".PublicKeyAlgorithm int
	import big "math/big" // indirect
	type @"math/big".Word uintptr
	type @"math/big".divisor struct { @"math/big".bbb @"math/big".nat; @"math/big".nbits int; @"math/big".ndigits int }
	import rand "math/rand" // indirect
	type @"math/rand".Source interface { Int63() (? int64); Seed(@"math/rand".seed int64) }
	type @"math/rand".Rand struct { @"math/rand".src @"math/rand".Source }
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") ExpFloat64 () (? float64)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Float32 () (? float32)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Float64 () (? float64)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Int () (? int)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Int31 () (? int32)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Int31n (@"math/rand".n·3 int32) (? int32)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Int63 () (? int64)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Int63n (@"math/rand".n·3 int64) (? int64)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Intn (@"math/rand".n·3 int) (? int)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") NormFloat64 () (? float64)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Perm (@"math/rand".n·3 int) (? []int)
	func (@"math/rand".r·3 *@"math/rand".Rand "esc:0x9") Read (@"math/rand".p·4 []byte "esc:0x1") (@"math/rand".n·1 int, @"math/rand".err·2 error)
	func (@"math/rand".r·1 *@"math/rand".Rand "esc:0x9") Seed (@"math/rand".seed·2 int64)
	func (@"math/rand".r·2 *@"math/rand".Rand "esc:0x9") Uint32 () (? uint32)
	type @"io".ByteScanner interface { ReadByte() (@"io".c byte, @"io".err error); UnreadByte() (? error) }
	type @"math/big".nat []@"math/big".Word
	func (@"math/big".z·2 @"math/big".nat) @"math/big".add (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".and (@"math/big".x·3 @"math/big".nat "esc:0x1", @"math/big".y·4 @"math/big".nat "esc:0x1") (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".andNot (@"math/big".x·3 @"math/big".nat "esc:0x9", @"math/big".y·4 @"math/big".nat "esc:0x1") (? @"math/big".nat)
	func (@"math/big".x·2 @"math/big".nat "esc:0x1") @"math/big".bit (@"math/big".i·3 uint) (? uint) { var @"math/big".j·4 uint; ; @"math/big".j·4 = @"math/big".i·3 / uint(0x40); if @"math/big".j·4 >= uint(len(@"math/big".x·2)) { return uint(0x0) }; return uint(@"math/big".x·2[@"math/big".j·4] >> (@"math/big".i·3 % uint(0x40)) & @"math/big".Word(0x1)) }
	func (@"math/big".x·2 @"math/big".nat "esc:0x1") @"math/big".bitLen () (? int)
	func (@"math/big".z·2 @"math/big".nat "esc:0x1") @"math/big".bytes (@"math/big".buf·3 []byte "esc:0x1") (@"math/big".i·1 int)
	func (@"math/big".z·1 @"math/big".nat "esc:0x1") @"math/big".clear ()
	func (@"math/big".x·2 @"math/big".nat "esc:0x1") @"math/big".cmp (@"math/big".y·3 @"math/big".nat "esc:0x1") (@"math/big".r·1 int)
	func (@"math/big".q·1 @"math/big".nat) @"math/big".convertWords (@"math/big".s·2 []byte "esc:0x1", @"math/big".b·3 @"math/big".Word, @"math/big".ndigits·4 int, @"math/big".bb·5 @"math/big".Word, @"math/big".table·6 []@"math/big".divisor "esc:0x9")
	func (@"math/big".z·3 @"math/big".nat) @"math/big".div (@"math/big".z2·4 @"math/big".nat, @"math/big".u·5 @"math/big".nat, @"math/big".v·6 @"math/big".nat) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".nat)
	func (@"math/big".z·3 @"math/big".nat "esc:0x12") @"math/big".divLarge (@"math/big".u·4 @"math/big".nat, @"math/big".uIn·5 @"math/big".nat, @"math/big".v·6 @"math/big".nat) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".nat)
	func (@"math/big".z·3 @"math/big".nat) @"math/big".divW (@"math/big".x·4 @"math/big".nat, @"math/big".y·5 @"math/big".Word) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".Word)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".expNN (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x1", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".expNNMontgomery (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x1", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".expNNWindowed (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x1", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".expWW (@"math/big".x·3 @"math/big".Word, @"math/big".y·4 @"math/big".Word) (? @"math/big".nat)
	func (@"math/big".x·2 @"math/big".nat "esc:0x9") @"math/big".itoa (@"math/big".neg·3 bool, @"math/big".base·4 int) (? []byte)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".make (@"math/big".n·3 int) (? @"math/big".nat)
	func (@"math/big".x·2 @"math/big".nat) @"math/big".modW (@"math/big".d·3 @"math/big".Word) (@"math/big".r·1 @"math/big".Word)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".montgomery (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x1", @"math/big".m·5 @"math/big".nat, @"math/big".k·6 @"math/big".Word, @"math/big".n·7 int) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".mul (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".mulAddWW (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".Word, @"math/big".r·5 @"math/big".Word) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".mulRange (@"math/big".a·3 uint64, @"math/big".b·4 uint64) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".norm () (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".or (@"math/big".x·3 @"math/big".nat "esc:0x9", @"math/big".y·4 @"math/big".nat "esc:0x9") (? @"math/big".nat)
	func (@"math/big".n·2 @"math/big".nat) @"math/big".probablyPrime (@"math/big".reps·3 int) (? bool)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".random (@"math/big".rand·3 *@"math/rand".Rand "esc:0x9", @"math/big".limit·4 @"math/big".nat "esc:0x1", @"math/big".n·5 int) (? @"math/big".nat)
	func (@"math/big".z·5 @"math/big".nat) @"math/big".scan (@"math/big".r·6 @"io".ByteScanner, @"math/big".base·7 int, @"math/big".fracOk·8 bool) (@"math/big".res·1 @"math/big".nat, @"math/big".b·2 int, @"math/big".count·3 int, @"math/big".err·4 error)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".set (@"math/big".x·3 @"math/big".nat "esc:0x9") (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".setBit (@"math/big".x·3 @"math/big".nat "esc:0x9", @"math/big".i·4 uint, @"math/big".b·5 uint) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".setBytes (@"math/big".buf·3 []byte "esc:0x1") (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".setUint64 (@"math/big".x·3 uint64) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".setWord (@"math/big".x·3 @"math/big".Word) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".shl (@"math/big".x·3 @"math/big".nat, @"math/big".s·4 uint) (? @"math/big".nat)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".shr (@"math/big".x·3 @"math/big".nat, @"math/big".s·4 uint) (? @"math/big".nat)
	func (@"math/big".x·2 @"math/big".nat "esc:0x1") @"math/big".sticky (@"math/big".i·3 uint) (? uint)
	func (@"math/big".z·2 @"math/big".nat) @"math/big".sub (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat)
	func (@"math/big".x·2 @"math/big".nat "esc:0x1") @"math/big".trailingZeroBits () (? uint)
	func (@"math/big".x·2 @"math/big".nat "esc:0x9") @"math/big".utoa (@"math/big".base·3 int) (? []byte)
	func (@"math/big".z·2 @"math/big".nat "esc:0x12") @"math/big".xor (@"math/big".x·3 @"math/big".nat "esc:0x9", @"math/big".y·4 @"math/big".nat "esc:0x9") (? @"math/big".nat)
	type @"fmt".State interface { Flag(@"fmt".c int) (? bool); Precision() (@"fmt".prec int, @"fmt".ok bool); Width() (@"fmt".wid int, @"fmt".ok bool); Write(@"fmt".b []byte) (@"fmt".ret int, @"fmt".err error) }
	type @"fmt".ScanState interface { Read(@"fmt".buf []byte) (@"fmt".n int, @"fmt".err error); ReadRune() (@"fmt".r rune, @"fmt".size int, @"fmt".err error); SkipSpace(); Token(@"fmt".skipSpace bool, @"fmt".f func(? rune) (? bool)) (@"fmt".token []byte, @"fmt".err error); UnreadRune() (? error); Width() (@"fmt".wid int, @"fmt".ok bool) }
	type @"math/big".Int struct { @"math/big".neg bool; @"math/big".abs @"math/big".nat }
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Abs (@"math/big".x·3 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Add (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") And (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") AndNot (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x9") Append (@"math/big".buf·3 []byte "esc:0x1a", @"math/big".base·4 int) (? []byte)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Binomial (@"math/big".n·3 int64, @"math/big".k·4 int64) (? *@"math/big".Int)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x9") Bit (@"math/big".i·3 int) (? uint)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x1") BitLen () (? int)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x22") Bits () (? []@"math/big".Word) { return @"math/big".x·2.@"math/big".abs }
	func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Bytes () (? []byte)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Cmp (@"math/big".y·3 *@"math/big".Int "esc:0x1") (@"math/big".r·1 int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Div (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·3 *@"math/big".Int "esc:0x1a") DivMod (@"math/big".x·4 *@"math/big".Int "esc:0x9", @"math/big".y·5 *@"math/big".Int "esc:0x9", @"math/big".m·6 *@"math/big".Int "esc:0x8a") (? *@"math/big".Int, ? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Exp (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x1", @"math/big".m·5 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".x·1 *@"math/big".Int "esc:0x9") Format (@"math/big".s·2 @"fmt".State, @"math/big".ch·3 rune)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") GCD (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9", @"math/big".a·5 *@"math/big".Int "esc:0x9", @"math/big".b·6 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x9") GobDecode (@"math/big".buf·3 []byte "esc:0x1") (? error)
	func (@"math/big".x·3 *@"math/big".Int "esc:0x1") GobEncode () (? []byte, ? error)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Int64 () (? int64) { var @"math/big".v·3 int64; ; @"math/big".v·3 = int64(@"math/big".low64(@"math/big".x·2.@"math/big".abs)); if @"math/big".x·2.@"math/big".neg { @"math/big".v·3 = -@"math/big".v·3 }; return @"math/big".v·3 }
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Lsh (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".n·4 uint) (? *@"math/big".Int)
	func (@"math/big".x·3 *@"math/big".Int "esc:0x9") MarshalJSON () (? []byte, ? error)
	func (@"math/big".x·3 *@"math/big".Int "esc:0x9") MarshalText () (@"math/big".text·1 []byte, @"math/big".err·2 error)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Mod (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") ModInverse (@"math/big".g·3 *@"math/big".Int "esc:0x9", @"math/big".n·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") ModSqrt (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".p·4 *@"math/big".Int) (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Mul (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") MulRange (@"math/big".a·3 int64, @"math/big".b·4 int64) (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Neg (@"math/big".x·3 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Not (@"math/big".x·3 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Or (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x9") ProbablyPrime (@"math/big".n·3 int) (? bool)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Quo (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·3 *@"math/big".Int "esc:0x1a") QuoRem (@"math/big".x·4 *@"math/big".Int "esc:0x9", @"math/big".y·5 *@"math/big".Int "esc:0x9", @"math/big".r·6 *@"math/big".Int "esc:0x8a") (? *@"math/big".Int, ? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Rand (@"math/big".rnd·3 *@"math/rand".Rand "esc:0x9", @"math/big".n·4 *@"math/big".Int "esc:0x1") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Rem (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Rsh (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".n·4 uint) (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x9") Scan (@"math/big".s·3 @"fmt".ScanState, @"math/big".ch·4 rune) (? error)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Set (@"math/big".x·3 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") SetBit (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".i·4 int, @"math/big".b·5 uint) (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x12") SetBits (@"math/big".abs·3 []@"math/big".Word) (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") SetBytes (@"math/big".buf·3 []byte "esc:0x1") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") SetInt64 (@"math/big".x·3 int64) (? *@"math/big".Int)
	func (@"math/big".z·3 *@"math/big".Int "esc:0x1a") SetString (@"math/big".s·4 string, @"math/big".base·5 int) (? *@"math/big".Int, ? bool)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") SetUint64 (@"math/big".x·3 uint64) (? *@"math/big".Int)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Sign () (? int) { if len(@"math/big".x·2.@"math/big".abs) == int(0x0) { return int(0x0) }; if @"math/big".x·2.@"math/big".neg { return int(-0x1) }; return int(0x1) }
	func (@"math/big".x·2 *@"math/big".Int "esc:0x9") String () (? string)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Sub (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x9") Text (@"math/big".base·3 int) (? string)
	func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Uint64 () (? uint64) { return @"math/big".low64(@"math/big".x·2.@"math/big".abs) }
	func (@"math/big".z·2 *@"math/big".Int "esc:0x9") UnmarshalJSON (@"math/big".text·3 []byte) (? error)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x9") UnmarshalText (@"math/big".text·3 []byte) (? error)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") Xor (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".y·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") @"math/big".binaryGCD (@"math/big".a·3 *@"math/big".Int "esc:0x9", @"math/big".b·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") @"math/big".modSqrt3Mod4Prime (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".p·4 *@"math/big".Int "esc:0x9") (? *@"math/big".Int)
	func (@"math/big".z·2 *@"math/big".Int "esc:0x1a") @"math/big".modSqrtTonelliShanks (@"math/big".x·3 *@"math/big".Int "esc:0x9", @"math/big".p·4 *@"math/big".Int) (? *@"math/big".Int)
	func (@"math/big".z·4 *@"math/big".Int "esc:0x1a") @"math/big".scan (@"math/big".r·5 @"io".ByteScanner, @"math/big".base·6 int) (? *@"math/big".Int, ? int, ? error)
	import pkix "crypto/x509/pkix" // indirect
	import asn1 "encoding/asn1" // indirect
	type @"encoding/asn1".ObjectIdentifier []int
	func (@"encoding/asn1".oi·2 @"encoding/asn1".ObjectIdentifier "esc:0x1") Equal (@"encoding/asn1".other·3 @"encoding/asn1".ObjectIdentifier "esc:0x1") (? bool)
	func (@"encoding/asn1".oi·2 @"encoding/asn1".ObjectIdentifier "esc:0x1") String () (? string)
	type @"crypto/x509/pkix".AttributeTypeAndValue struct { Type @"encoding/asn1".ObjectIdentifier; Value interface {} }
	type @"crypto/x509/pkix".RelativeDistinguishedNameSET []@"crypto/x509/pkix".AttributeTypeAndValue
	type @"crypto/x509/pkix".RDNSequence []@"crypto/x509/pkix".RelativeDistinguishedNameSET
	type @"crypto/x509/pkix".Name struct { Country []string; Organization []string; OrganizationalUnit []string; Locality []string; Province []string; StreetAddress []string; PostalCode []string; SerialNumber string; CommonName string; Names []@"crypto/x509/pkix".AttributeTypeAndValue; ExtraNames []@"crypto/x509/pkix".AttributeTypeAndValue }
	func (@"crypto/x509/pkix".n·1 *@"crypto/x509/pkix".Name "esc:0x9") FillFromRDNSequence (@"crypto/x509/pkix".rdns·2 *@"crypto/x509/pkix".RDNSequence "esc:0x9")
	func (@"crypto/x509/pkix".n·2 @"crypto/x509/pkix".Name) ToRDNSequence () (@"crypto/x509/pkix".ret·1 @"crypto/x509/pkix".RDNSequence)
	func (@"crypto/x509/pkix".n·2 @"crypto/x509/pkix".Name "esc:0x1") @"crypto/x509/pkix".appendRDNs (@"crypto/x509/pkix".in·3 @"crypto/x509/pkix".RDNSequence "esc:0x1a", @"crypto/x509/pkix".values·4 []string "esc:0x9", @"crypto/x509/pkix".oid·5 @"encoding/asn1".ObjectIdentifier) (? @"crypto/x509/pkix".RDNSequence)
	type @"crypto/x509".KeyUsage int
	type @"crypto/x509/pkix".Extension struct { Id @"encoding/asn1".ObjectIdentifier; Critical bool "asn1:\"optional\""; Value []byte }
	type @"crypto/x509".ExtKeyUsage int
	type @"net".IPMask []byte
	func (@"net".m·3 @"net".IPMask "esc:0x1") Size () (@"net".ones·1 int, @"net".bits·2 int)
	func (@"net".m·2 @"net".IPMask "esc:0x1") String () (? string)
	type @"net".IP []byte
	func (@"net".ip·2 @"net".IP "esc:0x1") DefaultMask () (? @"net".IPMask)
	func (@"net".ip·2 @"net".IP "esc:0x1") Equal (@"net".x·3 @"net".IP "esc:0x1") (? bool)
	func (@"net".ip·2 @"net".IP "esc:0x1") IsGlobalUnicast () (? bool)
	func (@"net".ip·2 @"net".IP "esc:0x1") IsInterfaceLocalMulticast () (? bool) { return len(@"net".ip·2) == int(0x10) && @"net".ip·2[int(0x0)] == byte(0xff) && @"net".ip·2[int(0x1)] & byte(0xf) == byte(0x1) }
	func (@"net".ip·2 @"net".IP "esc:0x1") IsLinkLocalMulticast () (? bool)
	func (@"net".ip·2 @"net".IP "esc:0x1") IsLinkLocalUnicast () (? bool)
	func (@"net".ip·2 @"net".IP "esc:0x1") IsLoopback () (? bool)
	func (@"net".ip·2 @"net".IP "esc:0x1") IsMulticast () (? bool)
	func (@"net".ip·2 @"net".IP "esc:0x1") IsUnspecified () (? bool)
	func (@"net".ip·3 @"net".IP "esc:0x1") MarshalText () (? []byte, ? error)
	func (@"net".ip·2 @"net".IP "esc:0x1") Mask (@"net".mask·3 @"net".IPMask "esc:0x1") (? @"net".IP)
	func (@"net".ip·2 @"net".IP "esc:0x1") String () (? string)
	func (@"net".ip·2 @"net".IP "esc:0x12") To16 () (? @"net".IP) { if len(@"net".ip·2) == int(0x4) { return @"net".IPv4(@"net".ip·2[int(0x0)], @"net".ip·2[int(0x1)], @"net".ip·2[int(0x2)], @"net".ip·2[int(0x3)]) }; if len(@"net".ip·2) == int(0x10) { return @"net".ip·2 }; return nil }
	func (@"net".ip·2 @"net".IP "esc:0x12") To4 () (? @"net".IP)
	func (@"net".ip·2 *@"net".IP "esc:0x1") UnmarshalText (@"net".text·3 []byte "esc:0x1") (? error)
	type @"encoding/asn1".RawContent []byte
	type @"encoding/asn1".RawValue struct { Class int; Tag int; IsCompound bool; Bytes []byte; FullBytes []byte }
	type @"crypto/x509/pkix".AlgorithmIdentifier struct { Algorithm @"encoding/asn1".ObjectIdentifier; Parameters @"encoding/asn1".RawValue "asn1:\"optional\"" }
	type @"crypto/x509/pkix".RevokedCertificate struct { SerialNumber *@"math/big".Int; RevocationTime @"time".Time; Extensions []@"crypto/x509/pkix".Extension "asn1:\"optional\"" }
	type @"crypto/x509/pkix".TBSCertificateList struct { Raw @"encoding/asn1".RawContent; Version int "asn1:\"optional,default:1\""; Signature @"crypto/x509/pkix".AlgorithmIdentifier; Issuer @"crypto/x509/pkix".RDNSequence; ThisUpdate @"time".Time; NextUpdate @"time".Time "asn1:\"optional\""; RevokedCertificates []@"crypto/x509/pkix".RevokedCertificate "asn1:\"optional\""; Extensions []@"crypto/x509/pkix".Extension "asn1:\"tag:0,optional,explicit\"" }
	type @"encoding/asn1".BitString struct { Bytes []byte; BitLength int }
	func (@"encoding/asn1".b·2 @"encoding/asn1".BitString "esc:0x1") At (@"encoding/asn1".i·3 int) (? int) { if @"encoding/asn1".i·3 < int(0x0) || @"encoding/asn1".i·3 >= @"encoding/asn1".b·2.BitLength { return int(0x0) }; var @"encoding/asn1".x·4 int; ; @"encoding/asn1".x·4 = @"encoding/asn1".i·3 / int(0x8); var @"encoding/asn1".y·5 uint; ; @"encoding/asn1".y·5 = uint(0x7) - uint(@"encoding/asn1".i·3 % int(0x8)); return int(@"encoding/asn1".b·2.Bytes[@"encoding/asn1".x·4] >> @"encoding/asn1".y·5) & int(0x1) }
	func (@"encoding/asn1".b·2 @"encoding/asn1".BitString "esc:0x12") RightAlign () (? []byte)
	type @"crypto/x509/pkix".CertificateList struct { TBSCertList @"crypto/x509/pkix".TBSCertificateList; SignatureAlgorithm @"crypto/x509/pkix".AlgorithmIdentifier; SignatureValue @"encoding/asn1".BitString }
	func (@"crypto/x509/pkix".certList·2 *@"crypto/x509/pkix".CertificateList "esc:0x1") HasExpired (@"crypto/x509/pkix".now·3 @"time".Time "esc:0x1") (? bool) { return @"crypto/x509/pkix".now·3.After(@"crypto/x509/pkix".certList·2.TBSCertList.NextUpdate) }
	type @"crypto/x509".CertPool struct { @"crypto/x509".bySubjectKeyId map[string][]int; @"crypto/x509".byName map[string][]int; @"crypto/x509".certs []*@"crypto/x509".Certificate }
	func (@"crypto/x509".s·1 *@"crypto/x509".CertPool "esc:0x9") AddCert (@"crypto/x509".cert·2 *@"crypto/x509".Certificate)
	func (@"crypto/x509".s·2 *@"crypto/x509".CertPool "esc:0x9") AppendCertsFromPEM (@"crypto/x509".pemCerts·3 []byte) (@"crypto/x509".ok·1 bool)
	func (@"crypto/x509".s·2 *@"crypto/x509".CertPool "esc:0x9") Subjects () (@"crypto/x509".res·1 [][]byte)
	func (@"crypto/x509".s·4 *@"crypto/x509".CertPool "esc:0x18a") @"crypto/x509".findVerifiedParents (@"crypto/x509".cert·5 *@"crypto/x509".Certificate "esc:0x9") (@"crypto/x509".parents·1 []int, @"crypto/x509".errCert·2 *@"crypto/x509".Certificate, @"crypto/x509".err·3 error)
	type @"crypto/x509".VerifyOptions struct { DNSName string; Intermediates *@"crypto/x509".CertPool; Roots *@"crypto/x509".CertPool; CurrentTime @"time".Time; KeyUsages []@"crypto/x509".ExtKeyUsage }
	type @"crypto/x509".Certificate struct { Raw []byte; RawTBSCertificate []byte; RawSubjectPublicKeyInfo []byte; RawSubject []byte; RawIssuer []byte; Signature []byte; SignatureAlgorithm @"crypto/x509".SignatureAlgorithm; PublicKeyAlgorithm @"crypto/x509".PublicKeyAlgorithm; PublicKey interface {}; Version int; SerialNumber *@"math/big".Int; Issuer @"crypto/x509/pkix".Name; Subject @"crypto/x509/pkix".Name; NotBefore @"time".Time; NotAfter @"time".Time; KeyUsage @"crypto/x509".KeyUsage; Extensions []@"crypto/x509/pkix".Extension; ExtraExtensions []@"crypto/x509/pkix".Extension; UnhandledCriticalExtensions []@"encoding/asn1".ObjectIdentifier; ExtKeyUsage []@"crypto/x509".ExtKeyUsage; UnknownExtKeyUsage []@"encoding/asn1".ObjectIdentifier; BasicConstraintsValid bool; IsCA bool; MaxPathLen int; MaxPathLenZero bool; SubjectKeyId []byte; AuthorityKeyId []byte; OCSPServer []string; IssuingCertificateURL []string; DNSNames []string; EmailAddresses []string; IPAddresses []@"net".IP; PermittedDNSDomainsCritical bool; PermittedDNSDomains []string; CRLDistributionPoints []string; PolicyIdentifiers []@"encoding/asn1".ObjectIdentifier }
	func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x9") CheckCRLSignature (@"crypto/x509".crl·3 *@"crypto/x509/pkix".CertificateList "esc:0x9") (@"crypto/x509".err·1 error)
	func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x9") CheckSignature (@"crypto/x509".algo·3 @"crypto/x509".SignatureAlgorithm, @"crypto/x509".signed·4 []byte, @"crypto/x509".signature·5 []byte) (@"crypto/x509".err·1 error)
	func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x9") CheckSignatureFrom (@"crypto/x509".parent·3 *@"crypto/x509".Certificate "esc:0x9") (@"crypto/x509".err·1 error)
	func (@"crypto/x509".c·3 *@"crypto/x509".Certificate "esc:0x9") CreateCRL (@"crypto/x509".rand·4 @"io".Reader, @"crypto/x509".priv·5 interface {}, @"crypto/x509".revokedCerts·6 []@"crypto/x509/pkix".RevokedCertificate, @"crypto/x509".now·7 @"time".Time, @"crypto/x509".expiry·8 @"time".Time) (@"crypto/x509".crlBytes·1 []byte, @"crypto/x509".err·2 error)
	func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x1") Equal (@"crypto/x509".other·3 *@"crypto/x509".Certificate "esc:0x1") (? bool)
	func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) Verify (@"crypto/x509".opts·4 @"crypto/x509".VerifyOptions) (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error)
	func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x1a") VerifyHostname (@"crypto/x509".h·3 string) (? error)
	func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) @"crypto/x509".buildChains (@"crypto/x509".cache·4 map[int][][]*@"crypto/x509".Certificate "esc:0x1", @"crypto/x509".currentChain·5 []*@"crypto/x509".Certificate "esc:0x9", @"crypto/x509".opts·6 *@"crypto/x509".VerifyOptions "esc:0x20a") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error)
	func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x12") @"crypto/x509".isValid (@"crypto/x509".certType·3 int, @"crypto/x509".currentChain·4 []*@"crypto/x509".Certificate "esc:0x1", @"crypto/x509".opts·5 *@"crypto/x509".VerifyOptions "esc:0x1") (? error)
	func (@"crypto/x509".c·3 *@"crypto/x509".Certificate "esc:0x1") @"crypto/x509".systemVerify (@"crypto/x509".opts·4 *@"crypto/x509".VerifyOptions "esc:0x1") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error) { return nil, nil }
	type @"crypto/tls".Certificate struct { Certificate [][]byte; PrivateKey @"crypto".PrivateKey; OCSPStaple []byte; SignedCertificateTimestamps [][]byte; Leaf *@"crypto/x509".Certificate }
	type @"crypto/tls".CurveID uint16
	type @"crypto/tls".ClientHelloInfo struct { CipherSuites []uint16; ServerName string; SupportedCurves []@"crypto/tls".CurveID; SupportedPoints []uint8 }
	type @"crypto/tls".ClientAuthType int
	type @"crypto/tls".ClientSessionState struct { @"crypto/tls".sessionTicket []uint8; @"crypto/tls".vers uint16; @"crypto/tls".cipherSuite uint16; @"crypto/tls".masterSecret []byte; @"crypto/tls".serverCertificates []*@"crypto/x509".Certificate; @"crypto/tls".verifiedChains [][]*@"crypto/x509".Certificate }
	type @"crypto/tls".ClientSessionCache interface { Get(@"crypto/tls".sessionKey string) (@"crypto/tls".session *@"crypto/tls".ClientSessionState, @"crypto/tls".ok bool); Put(@"crypto/tls".sessionKey string, @"crypto/tls".cs *@"crypto/tls".ClientSessionState) }
	type @"sync".Once struct { @"sync".m @"sync".Mutex; @"sync".done uint32 }
	func (@"sync".o·1 *@"sync".Once) Do (@"sync".f·2 func() "esc:0x1")
	type @"sync".Locker interface { Lock(); Unlock() }
	type @"sync".RWMutex struct { @"sync".w @"sync".Mutex; @"sync".writerSem uint32; @"sync".readerSem uint32; @"sync".readerCount int32; @"sync".readerWait int32 }
	func (@"sync".rw·1 *@"sync".RWMutex) Lock ()
	func (@"sync".rw·1 *@"sync".RWMutex) RLock ()
	func (@"sync".rw·2 *@"sync".RWMutex "esc:0x12") RLocker () (? @"sync".Locker) { return (*@"sync".rlocker)(@"sync".rw·2) }
	func (@"sync".rw·1 *@"sync".RWMutex) RUnlock ()
	func (@"sync".rw·1 *@"sync".RWMutex) Unlock ()
	type @"crypto/tls".ticketKey struct { @"crypto/tls".keyName [16]byte; @"crypto/tls".aesKey [16]byte; @"crypto/tls".hmacKey [16]byte }
	type @"crypto/tls".Config struct { Rand @"io".Reader; Time func() (? @"time".Time); Certificates []@"crypto/tls".Certificate; NameToCertificate map[string]*@"crypto/tls".Certificate; GetCertificate func(@"crypto/tls".clientHello *@"crypto/tls".ClientHelloInfo) (? *@"crypto/tls".Certificate, ? error); RootCAs *@"crypto/x509".CertPool; NextProtos []string; ServerName string; ClientAuth @"crypto/tls".ClientAuthType; ClientCAs *@"crypto/x509".CertPool; InsecureSkipVerify bool; CipherSuites []uint16; PreferServerCipherSuites bool; SessionTicketsDisabled bool; SessionTicketKey [32]byte; ClientSessionCache @"crypto/tls".ClientSessionCache; MinVersion uint16; MaxVersion uint16; CurvePreferences []@"crypto/tls".CurveID; @"crypto/tls".serverInitOnce @"sync".Once; @"crypto/tls".mutex @"sync".RWMutex; @"crypto/tls".sessionTicketKeys []@"crypto/tls".ticketKey }
	func (@"crypto/tls".c·1 *@"crypto/tls".Config "esc:0x9") BuildNameToCertificate ()
	func (@"crypto/tls".c·1 *@"crypto/tls".Config) SetSessionTicketKeys (@"crypto/tls".keys·2 [][32]byte "esc:0x1")
	func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x22") @"crypto/tls".cipherSuites () (? []uint16)
	func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x22") @"crypto/tls".curvePreferences () (? []@"crypto/tls".CurveID) { if @"crypto/tls".c·2 == nil || len(@"crypto/tls".c·2.CurvePreferences) == int(0x0) { return @"crypto/tls".defaultCurvePreferences }; return @"crypto/tls".c·2.CurvePreferences }
	func (@"crypto/tls".c·3 *@"crypto/tls".Config "esc:0x22") @"crypto/tls".getCertificate (@"crypto/tls".clientHello·4 *@"crypto/tls".ClientHelloInfo) (? *@"crypto/tls".Certificate, ? error)
	func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".maxVersion () (? uint16) { if @"crypto/tls".c·2 == nil || @"crypto/tls".c·2.MaxVersion == uint16(0x0) { return uint16(0x303) }; return @"crypto/tls".c·2.MaxVersion }
	func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".minVersion () (? uint16) { if @"crypto/tls".c·2 == nil || @"crypto/tls".c·2.MinVersion == uint16(0x0) { return uint16(0x301) }; return @"crypto/tls".c·2.MinVersion }
	func (@"crypto/tls".c·3 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".mutualVersion (@"crypto/tls".vers·4 uint16) (? uint16, ? bool) { var @"crypto/tls".minVersion·5 uint16; ; @"crypto/tls".minVersion·5 = @"crypto/tls".c·3.@"crypto/tls".minVersion(); var @"crypto/tls".maxVersion·6 uint16; ; @"crypto/tls".maxVersion·6 = @"crypto/tls".c·3.@"crypto/tls".maxVersion(); if @"crypto/tls".vers·4 < @"crypto/tls".minVersion·5 { return uint16(0x0), bool(false) }; if @"crypto/tls".vers·4 > @"crypto/tls".maxVersion·6 { @"crypto/tls".vers·4 = @"crypto/tls".maxVersion·6 }; return @"crypto/tls".vers·4, bool(true) }
	func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x22") @"crypto/tls".rand () (? @"io".Reader) { var @"crypto/tls".r·3 @"io".Reader; ; @"crypto/tls".r·3 = @"crypto/tls".c·2.Rand; if @"crypto/tls".r·3 == nil { return @"crypto/rand".Reader }; return @"crypto/tls".r·3 }
	func (@"crypto/tls".c·1 *@"crypto/tls".Config) @"crypto/tls".serverInit ()
	func (@"crypto/tls".c·2 *@"crypto/tls".Config) @"crypto/tls".ticketKeys () (? []@"crypto/tls".ticketKey)
	func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".time () (? @"time".Time)
	type @"crypto/tls".ConnectionState struct { Version uint16; HandshakeComplete bool; DidResume bool; CipherSuite uint16; NegotiatedProtocol string; NegotiatedProtocolIsMutual bool; ServerName string; PeerCertificates []*@"crypto/x509".Certificate; VerifiedChains [][]*@"crypto/x509".Certificate; SignedCertificateTimestamps [][]byte; OCSPResponse []byte; TLSUnique []byte }
	type @"".Client struct { Text *@"net/textproto".Conn; @"".conn @"net".Conn; @"".tls bool; @"".serverName string; @"".ext map[string]string; @"".auth []string; @"".localName string; @"".didHello bool; @"".helloError error }
	func (@"".c·2 *@"".Client "esc:0x2a") Auth (@"".a·3 @"".Auth) (? error)
	func (@"".c·2 *@"".Client "esc:0x9") Close () (? error)
	func (@"".c·3 *@"".Client) Data () (? @"io".WriteCloser, ? error)
	func (@"".c·3 *@"".Client "esc:0x9") Extension (@"".ext·4 string "esc:0x9") (? bool, ? string)
	func (@"".c·2 *@"".Client "esc:0x2a") Hello (@"".localName·3 string) (? error)
	func (@"".c·2 *@"".Client "esc:0x2a") Mail (@"".from·3 string) (? error)
	func (@"".c·2 *@"".Client "esc:0x2a") Quit () (? error)
	func (@"".c·2 *@"".Client "esc:0x4a") Rcpt (@"".to·3 string) (? error)
	func (@"".c·2 *@"".Client "esc:0x2a") Reset () (? error)
	func (@"".c·2 *@"".Client) StartTLS (@"".config·3 *@"crypto/tls".Config) (? error)
	func (@"".c·3 *@"".Client "esc:0x9") TLSConnectionState () (@"".state·1 @"crypto/tls".ConnectionState, @"".ok·2 bool)
	func (@"".c·2 *@"".Client "esc:0x2a") Verify (@"".addr·3 string) (? error)
	func (@"".c·4 *@"".Client "esc:0x100a") @"".cmd (@"".expectCode·5 int, @"".format·6 string "esc:0x9", @"".args·7 ...interface {} "esc:0x9") (? int, ? string, ? error)
	func (@"".c·2 *@"".Client "esc:0x4a") @"".ehlo () (? error)
	func (@"".c·2 *@"".Client "esc:0x2a") @"".hello () (? error)
	func (@"".c·2 *@"".Client "esc:0x4a") @"".helo () (? error)
	func @"".Dial (@"".addr·3 string) (? *@"".Client, ? error)
	func @"".NewClient (@"".conn·3 @"net".Conn, @"".host·4 string) (? *@"".Client, ? error)
	func @"".SendMail (@"".addr·2 string, @"".a·3 @"".Auth, @"".from·4 string, @"".to·5 []string "esc:0x9", @"".msg·6 []byte) (? error)
	func @"".init ()
	type @"".plainAuth struct { @"".identity string; @"".username string; @"".password string; @"".host string }
	func (@"".a·3 *@"".plainAuth "esc:0x1") Next (@"".fromServer·4 []byte "esc:0x1", @"".more·5 bool) (? []byte, ? error) { if @"".more·5 { return nil, @"errors".New(string("unexpected server challenge")) }; return nil, nil }
	func (@"".a·4 *@"".plainAuth "esc:0x1") Start (@"".server·5 *@"".ServerInfo "esc:0x1") (? string, ? []byte, ? error)
	type @"".cramMD5Auth struct { @"".username string; @"".secret string }
	func (@"".a·3 *@"".cramMD5Auth "esc:0x9") Next (@"".fromServer·4 []byte, @"".more·5 bool) (? []byte, ? error)
	func (@"".a·4 *@"".cramMD5Auth "esc:0x1") Start (@"".server·5 *@"".ServerInfo "esc:0x1") (? string, ? []byte, ? error) { return string("CRAM-MD5"), nil, nil }
	var @"bufio".ErrInvalidUnreadByte error
	var @"bufio".ErrInvalidUnreadRune error
	var @"time".months [12]string
	var @"time".days [7]string
	var @"time".Local *@"time".Location
	var @"time".UTC *@"time".Location
	func @"math/big".low64 (@"math/big".z·2 @"math/big".nat "esc:0x1") (? uint64) { if len(@"math/big".z·2) == int(0x0) { return uint64(0x0) }; var @"math/big".v·3 uint64; ; @"math/big".v·3 = uint64(@"math/big".z·2[int(0x0)]); if false && len(@"math/big".z·2) > int(0x1) { @"math/big".v·3 |= uint64(@"math/big".z·2[int(0x1)]) << uint(0x20) }; return @"math/big".v·3 }
	func @"net".IPv4 (@"net".a·2 byte, @"net".b·3 byte, @"net".c·4 byte, @"net".d·5 byte) (? @"net".IP) { var @"net".p·6 @"net".IP; ; @"net".p·6 = make(@"net".IP, 0x10); copy(@"net".p·6, @"net".v4InV6Prefix); @"net".p·6[int(0xc)] = @"net".a·2; @"net".p·6[int(0xd)] = @"net".b·3; @"net".p·6[int(0xe)] = @"net".c·4; @"net".p·6[int(0xf)] = @"net".d·5; return @"net".p·6 }
	type @"sync".rlocker struct { @"sync".w @"sync".Mutex; @"sync".writerSem uint32; @"sync".readerSem uint32; @"sync".readerCount int32; @"sync".readerWait int32 }
	func (@"sync".r·1 *@"sync".rlocker) Lock ()
	func (@"sync".r·1 *@"sync".rlocker) Unlock ()
	var @"crypto/tls".defaultCurvePreferences []@"crypto/tls".CurveID
	import rand "crypto/rand" // indirect
	var @"crypto/rand".Reader @"io".Reader
	func @"errors".New (@"errors".text·2 string) (? error) { return (&@"errors".errorString{ @"errors".s:@"errors".text·2 }) }
	var @"net".v4InV6Prefix []byte
	type @"errors".errorString struct { @"errors".s string }
	func (@"errors".e·2 *@"errors".errorString "esc:0x22") Error () (? string) { return @"errors".e·2.@"errors".s }

$$
_go_.o          0           0     0     644     128400    `
go object linux amd64 go1.6 X:none

!
go13ldcrypto/hmac.acrypto/md5.aerrors.a
fmt.acrypto/tls.a"encoding/base64.aio.a
net.anet/textproto.astrings.aþ"".PlainAuth€€dH‹%H;a†`Hƒì(1ÛH‰\$pH‰\$xHH‰$èH‹D$H‰D$ H‹l$8H‰hH‹l$0€=…H‰(H‹l$HH‰hH‹l$@€=…ÉH‰hH‹l$XH‰h(H‹l$P€=…ŽH‰h H‹l$hH‰h8H‹l$`€=uZH‰h0H‰D$ H‹1íH9ètH‹\$ H‰\$xH‰D$pHƒÄ(ÃHH‰$HH‰\$HH‰\$èH‹D$ë½L@0L‰$H‰l$èH‹D$ ë‘L@ L‰$H‰l$èH‹D$ éZÿÿÿL@L‰$H‰l$èH‹D$ éÿÿÿH‰$H‰l$èH‹D$ éèþÿÿèéƒþÿÿÌÌÌ"
L"type."".plainAuth^"runtime.newobjectš(runtime.writeBarrierÖ(runtime.writeBarrier”(runtime.writeBarrierÒ(runtime.writeBarrierø:go.itab.*"".plainAuth."".Auth¼$type.*"".plainAuthÒtype."".Authê:go.itab.*"".plainAuth."".Authþ runtime.typ2Itab°.runtime.writebarrierptrâ.runtime.writebarrierptrš.runtime.writebarrierptrÊ.runtime.writebarrierptrè0runtime.morestack_noctxt P"".autotmp_0001$type.*"".plainAuth"".autotmp_0000$type.*"".plainAuth"".~r4€type."".Auth"".host`type.string"".password@type.string"".username type.string"".identitytype.stringPÃOP˜O
€h#Ð
.ЂTgclocals·00aca069dd0de4d6687267ddb97a24d9Tgclocals·0c8aa8e80191a30eac23f1a218103f168$GOROOT/src/net/smtp/auth.goþ*"".(*plainAuth).Start  dH‹%H„$HÿÿÿH;A†#Hì81ÛH‰œ$PH‰œ$X1ÛH‰œ$`H‰œ$hH‰œ$p1ÛH‰œ$xH‰œ$€H‹¬$H¶]€û…ÆD$oH‹œ$HHƒû„«H‹KH‹C H‹k(H‰¬$01ÒH‰„$(H‰D$pH‰Œ$ H‹l$pH9ꍋH‰Œ$¨Hƒù„YH‹1H‹AH‰T$xH‰´$H‰´$ðH‰„$H‰„$øHƒø…H‰4$H‰D$H-H‰l$HÇD$èH‹T$xH‹Œ$¨¶\$ €û„ÙÆD$o€|$o…HH‰œ$ÐHDŽ$Ø1ÛH‰œ$°H‰œ$¸HH‰$èH‹D$H‰„$ H‹¬$ØH‰hH‹¬$Ѐ=…”H‰(H‰„$ H‹1íH9ètLH‹Œ$ 1ÛH‰œ$PH‰œ$X1ÛH‰œ$`H‰œ$hH‰œ$pH‰„$xH‰Œ$€HÄ8ÃHH‰$HH‰\$HH‰\$èH‹D$ë…H‰$H‰l$èH‹„$ éTÿÿÿH‹œ$HHƒû„–H‹3H‰´$H‹KH‹œ$@Hƒû„nH‹S0H‰”$H‹C8H‰Œ$H‰„$H9Á…+H‰4$H‰L$H‰T$H‰D$èH‹„$@¶\$ €û„ýHœ$€H‰$H|$H‹H‰H‹HH‰OHH‰\$HÇD$ HXH|$(H‹H‰H‹KH‰OHH‰\$8HÇD$@HX H|$HH‹H‰H‹KH‰OèH\$XH|$H‹H‰H‹KH‰OHÇ$èH‹T$H‹L$ H‹D$(HH‰œ$PHDŽ$XH‰”$`H‰Œ$hH‰„$p1ÛH‰œ$xH‰œ$€HÄ8ÃHH‰œ$àHDŽ$è1ÛH‰œ$ÀH‰œ$ÈHH‰$èH‹D$H‰„$ H‹¬$èH‰hH‹¬$à€=…”H‰(H‰„$ H‹1íH9ètLH‹”$ 1ÛH‰œ$PH‰œ$X1ÛH‰œ$`H‰œ$hH‰œ$pH‰„$xH‰”$€HÄ8ÃHH‰$HH‰\$HH‰\$èH‹D$ë…H‰$H‰l$èH‹„$ éTÿÿÿ‰é‹ýÿÿ‰écýÿÿHƒÁHÿÂé‡ûÿÿ‰é ûÿÿ‰éNûÿÿèé¸úÿÿÌÌÌÌÌÌÌÌ<
²"go.string."PLAIN"Ø runtime.eqstring¼Dgo.string."unencrypted connection"–.type.errors.errorString¨"runtime.newobjectö(runtime.writeBarrier¨Bgo.itab.*errors.errorString.errorÜ0type.*errors.errorStringòtype.errorŠ	Bgo.itab.*errors.errorString.errorž	 runtime.typ2ItabÈ	.runtime.writebarrierptrÊ runtime.eqstringÂ go.string."\x00"š
 go.string."\x00"î
*runtime.concatstring5¸2runtime.stringtoslicebyteä"go.string."PLAIN"þ6go.string."wrong host name"Ø.type.errors.errorStringê"runtime.newobject¸(runtime.writeBarrierêBgo.itab.*errors.errorString.errorž0type.*errors.errorString´type.errorÌBgo.itab.*errors.errorString.errorà runtime.typ2ItabŠ.runtime.writebarrierptrþ0runtime.morestack_noctxtð2"".autotmp_0019ïtype.[32]uint8"".autotmp_0018type.*uint8"".autotmp_0017type.error"".autotmp_00160type.*errors.errorString"".autotmp_0015otype.string"".autotmp_0014type.string"".autotmp_0011¯0type.*errors.errorString"".autotmp_0010Otype.string"".autotmp_0009Ÿtype.*string"".autotmp_0008type.int"".autotmp_0007ÿtype.int"".autotmp_00060type.*errors.errorString"".autotmp_00050type.*errors.errorString"".autotmp_0004/type.[]string"".~r0ïtype.errorerrors.text·2¯type.string"".~r0type.errorerrors.text·2Ïtype.string"".mechanismtype.string"".advertised‘type.bool"".~r3ptype.error"".~r2@type.[]uint8"".~r1 type.string"".server&type.*"".ServerInfo"".a$type.*"".plainAuth<"ðˆïðÐïðÏïðrïÐ
Hp`PšŠ°Mš(«h»–лaTgclocals·1a94cf2d8f5e00668da7a1b4c0fe2126Tgclocals·9a9a37670773d1c5f424c6af67f17c948$GOROOT/src/net/smtp/auth.goþ("".(*plainAuth).NextààdH‹%H;a†FHƒìH1ÛH‰\$xH‰œ$€H‰œ$ˆ1ÛH‰œ$H‰œ$˜€|$p„àHH‰\$8HÇD$@1ÛH‰\$(H‰\$0HH‰$èH‹D$H‰D$ H‹l$@H‰hH‹l$8€=uvH‰(H‰D$ H‹1íH9èt1H‹L$ 1ÛH‰\$xH‰œ$€H‰œ$ˆH‰„$H‰Œ$˜HƒÄHÃHH‰$HH‰\$HH‰\$èH‹D$ë H‰$H‰l$èH‹D$ éuÿÿÿ1ÛH‰\$xH‰œ$€H‰œ$ˆ1ÛH‰œ$H‰œ$˜HƒÄHÃèéþÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌ
œNgo.string."unexpected server challenge"Þ.type.errors.errorStringð"runtime.newobject¬(runtime.writeBarrierÐBgo.itab.*errors.errorString.errorÎ0type.*errors.errorStringätype.errorüBgo.itab.*errors.errorString.error runtime.typ2Itabº.runtime.writebarrierptr´0runtime.morestack_noctxt "".autotmp_0023O0type.*errors.errorString"".autotmp_00220type.*errors.errorString"".~r0?type.errorerrors.text·2type.string"".~r3€type.error"".~r2Ptype.[]uint8"".more@type.bool"".fromServertype.[]uint8"".a$type.*"".plainAuth Ìtð˜@à.	wiTgclocals·5b3cb3f294534a3016b654e497969c26Tgclocals·11d28ee4a7546638afa514476454a63e8$GOROOT/src/net/smtp/auth.goþ"".CRAMMD5Auth  dH‹%H;a†êHƒì(1ÛH‰\$PH‰\$XHH‰$èH‹D$H‰D$ H‹l$8H‰hH‹l$0€=…H‰(H‹l$HH‰hH‹l$@€=uZH‰hH‰D$ H‹1íH9ètH‹\$ H‰\$XH‰D$PHƒÄ(ÃHH‰$HH‰\$HH‰\$èH‹D$ë½L@L‰$H‰l$èH‹D$ ë‘H‰$H‰l$èH‹D$ é^ÿÿÿèéùþÿÿÌÌÌÌÌÌÌÌÌ
L&type."".cramMD5Auth^"runtime.newobjectš(runtime.writeBarrierÖ(runtime.writeBarrierü>go.itab.*"".cramMD5Auth."".AuthÀ(type.*"".cramMD5AuthÖtype."".Authî>go.itab.*"".cramMD5Auth."".Auth‚ runtime.typ2Itab´.runtime.writebarrierptrÞ.runtime.writebarrierptrü0runtime.morestack_noctxt`P
"".autotmp_0028(type.*"".cramMD5Auth"".autotmp_0027(type.*"".cramMD5Auth"".~r2@type."".Auth"".secret type.string"".usernametype.stringP…OP`O¸#Ú.’PTgclocals·9ba22629e9611c66625b3db4800944b7Tgclocals·0c8aa8e80191a30eac23f1a218103f168$GOROOT/src/net/smtp/auth.goþ."".(*cramMD5Auth).Start€€1Û1Û1ÛHH‰\$HÇD$ 1ÛH‰\$(H‰\$0H‰\$81ÛH‰\$@H‰\$HÃÌÌÌÌÌÌÌ(go.string."CRAM-MD5"
"".~r3ptype.error"".~r2@type.[]uint8"".~r1 type.string"".server&type.*"".ServerInfo"".a(type.*"".cramMD5Auth@@À:Tgclocals·ceeeaa06de8d2a5a22a0a9e77901485dTgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ,"".(*cramMD5Auth).Next€€dH‹%HD$˜H;A†ÙHìè1ÛH‰œ$H‰œ$ H‰œ$(1ÛH‰œ$0H‰œ$8€¼$„dHÇ$H‹´$ðHƒþ„CH^H|$H‹H‰H‹KH‰OèH‹T$H‹L$ H‹D$(HH‰$H‰”$°H‰T$H‰Œ$¸H‰L$H‰„$ÀH‰D$èH‹L$ H‹D$(H‹œ$øH‰\$H‹œ$H‰\$H‹œ$H‰\$H‰D$@H‰$H‰L$8H‹Y@ÿÓH‹\$@H‰$H‹\$8H‹[0ÿÓH‹D$HH‰$HÇD$H‰D$èH‹T$H‹L$ H‹D$(H‰T$hH‰T$H‰L$pH‰L$H‰D$xH‰D$H‹\$@H‰$H‹\$8H‹[8ÿÓH‹\$ H‰œ$˜H‹\$(H‰œ$ H‹\$0H‰œ$¨1ÛH‰œ$ÈH‰œ$ÐH‰œ$ØH‰œ$àHœ$ÈHƒû„ÂHDŽ$ˆHDŽ$H‰œ$€HH‰$H‹œ$ðH‰\$Hƒ|$„rHÇD$èH‹L$H‹D$ H‹œ$€H‰L$HH‰H‰D$P€=…!H‰CHH‰$Hœ$˜H‰\$HÇD$èH‹L$H‹D$ H‹œ$€HƒÃH‰L$HH‰H‰D$P€=…°H‰CHH‰$HÇD$H‹œ$€H‰\$H‹œ$ˆH‰\$H‹œ$H‰\$ èH‹L$(H‹D$0HÇ$H‰L$XH‰L$H‰D$`H‰D$èH‹T$H‹L$ H‹D$(H‰”$H‰Œ$ H‰„$(1ÛH‰œ$0H‰œ$8HÄèÃLCL‰$H‰D$èé=ÿÿÿLCL‰$H‰D$èéÌþÿÿ‰%é‚þÿÿ‰é7þÿÿ‰é¶üÿÿ1ÛH‰œ$H‰œ$ H‰œ$(1ÛH‰œ$0H‰œ$8HÄèÃèéüÿÿÌÌÌÌÌ*
–2runtime.stringtoslicebyteÂ"crypto/md5.New·f¢crypto/hmac.New°Øìtype.[]uint8š"runtime.makeslice  type.stringöruntime.convT2EÀ	(runtime.writeBarrierä	type.[]uint8¢
runtime.convT2Eô
(runtime.writeBarrier˜"go.string."%s %x"Šfmt.Sprintfà2runtime.stringtoslicebyte†.runtime.writebarrierptr´.runtime.writebarrierpträ0runtime.morestack_noctxt Ð"".autotmp_0041"type.interface {}"".autotmp_0040¿"type.interface {}"".autotmp_0039?(type.[2]interface {}"".autotmp_0036Ï&type.[]interface {}"".autotmp_0035type.[]uint8"".autotmp_0034Ÿtype.string"".autotmp_0033Ÿtype.[]uint8"".autotmp_0031otype.[]uint8"".sÿtype.[]uint8"".dßtype.hash.Hash"".~r3€type.error"".~r2Ptype.[]uint8"".more@type.bool"".fromServertype.[]uint8"".a(type.*"".cramMD5Auth ÐÕÏÐ{Ï€,ÈK†;FÖ
4
&ŠŽxªÊ~~Tgclocals·568becea11b80d2f8ccaa324bbfa06acTgclocals·7627713214993f986e5bde03b29d7ab68$GOROOT/src/net/smtp/auth.goþ"".DialààdH‹%H;a†Hƒìp1ÛH‰œ$H‰œ$˜HH‰$HÇD$H‹\$xH‰\$H‹œ$€H‰\$èH‹\$ H‰\$`H‹\$(H‰\$hH‹D$0H‹L$8H‰L$XH‰D$PHƒøt!HDŽ$ˆH‰„$H‰Œ$˜HƒÄpÃH‹\$xH‰$H‹œ$€H‰\$èH‹L$H‹D$H‹\$`H‰$H‹\$hH‰\$H‰L$@H‰L$H‰D$HH‰D$èH‹T$ H‹L$(H‹D$0H‰”$ˆH‰Œ$H‰„$˜HƒÄpÃèéÑþÿÿÌ
Xgo.string."tcp"ªnet.Dialþ"net.SplitHostPortê"".NewClientÌ0runtime.morestack_noctxtPà"".host_type.string"".err?type.error"".conntype.net.Conn"".~r20type.error"".~r1 type.*"".Client"".addrtype.string àßà|ß°\)S!%XTj6<Tgclocals·3260b5c802f633fd6252c227878dd72aTgclocals·8c067d5052c60a71dd2787c367bb278b8$GOROOT/src/net/smtp/smtp.goþ"".NewClient€€dH‹%H„$ØþÿÿH;A†—Hì¨1ÛH‰œ$ØH‰œ$àHH‰$H‹œ$°H‰\$H‹œ$¸H‰\$èH‹L$H‹D$ H‰Œ$H‰„$HH‰$H‰Œ$àH‰L$H‰„$èH‰D$èH‹\$H‹D$ H‰œ$H‰„$H‰œ$°H‰„$¸H‰„$ÈHÇÂH‰œ$À1íH9ëtH‹[H-H9ë…«HÇÁ€ù„oH‹XH9ÓŒbH‰D$@HH‰$H‹œ$àH‰\$H‹œ$èH‰\$èH‹\$H‹L$ H‰œ$ðH‰Œ$øH‰œ$€H‰Œ$ˆH‰Œ$˜HÇÀH‰œ$1íH9ëtH‹[H-H9ë…ÎHÇ€ú„­H‹YH9ÃŒ H‰ÈH‰D$HHH‰$èH‹D$H‰ÇHƒø„oWÀèGøH‰D$pH‹l$@€=…4H‰(Hƒø„ H‹l$H€=…òH‰h(H‹¬$àH‰hxH‹¬$è€=…®H‰¨€H‰D$PH‰$Hƒ<$„‡HÇD$ÜèH‹D$(H‹\$0H‰œ$ØH‰„$ÐHƒøtBH‹\$PH‰$èHDŽ$ÐH‹œ$ÐH‰œ$ØH‹œ$ØH‰œ$àHĨÃHH‰$èH‹D$H‰ÇHƒø„îWÀHƒÇðèGøH‰D$hH‹l$P€=…¯H‰(H‹¬$°H‰hH‹¬$¸€=usH‰hH‹¬$ÈH‰h(H‹¬$À€=u9H‰h H-H‰hPHÇ@X	H‰„$Ð1ÛH‰œ$ØH‰œ$àHĨÃL@ L‰$H‰l$èH‹D$hë²L@L‰$H‰l$èH‹D$héuÿÿÿH‰$H‰l$èH‹D$hé<ÿÿÿ‰éÿÿÿ‰%émþÿÿL€€L‰$H‰l$èH‹D$pé:þÿÿL@(L‰$H‰l$èH‹D$péöýÿÿ‰éÙýÿÿH‰$H‰l$èH‹D$pé·ýÿÿ‰éŠýÿÿHƒøHÇÀHH‰$H‰D$H‰D$èH‹\$H‰œ$8H‹\$ H‰œ$@H‹\$(H‰œ$HHH‰$èH‹D$1íH‰(H‰hH‰hH‰hH‰h H‰h(H‰h0H‰h8H‰D$xH‹¬$@H‰hH‹¬$HH‰h H‹¬$8€=uFH‰hH‹¬$H‰h0H‹¬$˜€=u	H‰h8é‡üÿÿL@8L‰$H‰l$èH‹D$xéküÿÿL@L‰$H‰l$èH‹D$xë¥1É1Òé0üÿÿH‰T$8Hƒú}	HÇD$8HH‰$èH‹L$8H‹D$H‰D$XH‰D$`HH‰$H‰L$H‰L$èH‹t$H‹l$ H‹T$(H‹Œ$ÀH‹„$ÈH¼$PWÀHƒÇÐèGøH‰´$ H‰´$PH‰¬$(H‰¬$XH‰”$0H‰”$`H‰Œ$ H‰Œ$hH‰„$¨H‰„$pHDŽ$˜ÿÿÿÿHDŽ$ ÿÿÿÿH‹\$`Hƒût,H¬$PH‰\$H‰l$H-H‰,$èH‹D$Xévúÿÿ‰ëÐ1À1ÉéSúÿÿèéDùÿÿÌÌÌÌ\
n.type.io.ReadWriteCloser´runtime.convI2Iötype.io.Reader¼runtime.convI2Iâ$type.*bufio.ReaderÆtype.io.WriterŒruntime.convI2I²$type.*bufio.Writerœ.type.net/textproto.Conn®"runtime.newobjectâ” runtime.duffzeroŠ(runtime.writeBarrierÈ(runtime.writeBarrier’	(runtime.writeBarrierò	Hnet/textproto.(*Reader).ReadResponseÎ
6net/textproto.(*Conn).CloseÄtype."".ClientÖ"runtime.newobject’š runtime.duffzeroº(runtime.writeBarrier‚
(runtime.writeBarrierÄ
(runtime.writeBarrierà
*go.string."localhost"à.runtime.writebarrierptr’.runtime.writebarrierptrÂ.runtime.writebarrierptr¦.runtime.writebarrierptrÞ.runtime.writebarrierptrœ.runtime.writebarrierptrætype.[]uint8Œ"runtime.makesliceè"type.bufio.Writerú"runtime.newobjectœ(runtime.writeBarrierÞ(runtime.writeBarrierš.runtime.writebarrierptrÒ.runtime.writebarrierptr¨"type.bufio.Readerº"runtime.newobjectðtype.[]uint8–"runtime.makesliceüª runtime.duffzeroœ"type.bufio.Reader®(runtime.typedmemmoveæ0runtime.morestack_noctxtpÐB"".autotmp_0060ÿtype.*"".Client"".autotmp_0059ï0type.*net/textproto.Conn"".autotmp_00580type.*net/textproto.Conn"".autotmp_0057$type.*bufio.Writer"".autotmp_0056$type.*bufio.Writer"".autotmp_0055$type.*bufio.Writer"".autotmp_0054ïtype.io.Writer"".autotmp_0053$type.*bufio.Reader"".autotmp_0052Ïtype.io.Reader"".autotmp_0051¯.type.io.ReadWriteCloser"".autotmp_0050type.[]uint8"".autotmp_0049type.int"".autotmp_0048ß$type.*bufio.Writer"".autotmp_0047¯"type.bufio.Reader"".autotmp_0046ßtype.[]uint8bufio.w·2¯type.io.Writer"".~r0¿$type.*bufio.Writerbufio.w·2Ïtype.io.Writerbufio.r·3type.io.Readerbufio.buf·2type.[]uint8bufio.b·1$type.*bufio.Readerbufio.r·6Ÿ$type.*bufio.Readerbufio.size·3ßtype.intbufio.rd·2Ïtype.io.Reader"".~r0Ï$type.*bufio.Readerbufio.rd·2ïtype.io.Reader*net/textproto.conn·2.type.io.ReadWriteCloser"".err¯type.error"".text¯0type.*net/textproto.Conn"".~r3Ptype.error"".~r2@type.*"".Client"".host type.string"".conntype.net.Conn0"мÏÐÂÏАÏÀ
Lr4§44¡"T	µÄÃDZYD¨‘
¢.DÅc8	74.Ì*Tgclocals·1485b9619994cb0c26e5bda04aa7f656Tgclocals·ae09471f573256e865fb8fd83fe30afa8$GOROOT/src/net/smtp/smtp.goþ$"".(*Client).Close  dH‹%H;av:Hƒì1ÛH‰\$(H‰\$0H‹\$ H‹+H‰,$èH‹L$H‹D$H‰L$(H‰D$0HƒÄÃèë°
X6net/textproto.(*Conn).Close”0runtime.morestack_noctxt00"".~r0type.error"".ctype.*"".Client05/PŠ*
+%Tgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/smtp.goþ$"".(*Client).helloààdH‹%H;a†ÈHƒì8H‹D$@1ÛH‰\$HH‰\$P¶X`€ûulHÇÅ@ˆh`H‰$èH‹D$@H‹L$H‹\$H‰\$ H‰L$Hƒùt9H‰$èH‹D$@H‹T$H‹L$HƒøtUH‰T$(H‰PhH‰L$0€=u%H‰HpHƒøtH‹hhH‰l$HH‹hpH‰l$PHƒÄ8ÉëåL@pL‰$H‰L$èH‹D$@ëƉë§èéÿÿÿÌÌÌÌÌÌÌÌÌÌÌ
‚""".(*Client).ehloÒ""".(*Client).helo¤(runtime.writeBarrier˜.runtime.writebarrierptr¸0runtime.morestack_noctxt0p"".autotmp_0062type.error"".err?type.error"".~r0type.error"".ctype.*"".Clientp¢op!oð0”(	9!	@°Tgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/smtp.goþ$"".(*Client).HelloÀÀdH‹%H;a†8HƒìHH‹D$P1ÛH‰\$hH‰\$p¶X`€û„ÀHH‰\$8HÇD$@&1ÛH‰\$(H‰\$0HH‰$èH‹D$H‰D$ H‹l$@H‰hH‹l$8€=uYH‰(H‰D$ H‹1íH9ètH‹L$ H‰D$hH‰L$pHƒÄHÃHH‰$HH‰\$HH‰\$èH‹D$ë½H‰$H‰l$èH‹D$ ë•H‹l$`H‰hXH‹l$X€=u&H‰hPH‰$èH‹D$H‹L$H‰D$hH‰L$pHƒÄHÃL@PL‰$H‰l$èH‹D$PëÅèé«þÿÿÌÌÌÌÌÌÌÌÌÌÌ
pdgo.string."smtp: Hello called after other methods"².type.errors.errorStringÄ"runtime.newobject€(runtime.writeBarrier¤Bgo.itab.*errors.errorString.errorè0type.*errors.errorStringþtype.error–Bgo.itab.*errors.errorString.errorª runtime.typ2ItabÔ.runtime.writebarrierptrŠ(runtime.writeBarrierª$"".(*Client).hello€.runtime.writebarrierptr˜0runtime.morestack_noctxtP"".autotmp_0065O0type.*errors.errorString"".autotmp_0064type.error"".autotmp_00630type.*errors.errorString"".~r0?type.errorerrors.text·2type.string"".~r10type.error"".localNametype.string"".ctype.*"".Client.™€à&´(
À"	as@LTgclocals·4cc3ebd343ed417b80f0f13e430a0f50Tgclocals·11d28ee4a7546638afa514476454a63e8$GOROOT/src/net/smtp/smtp.goþ "".(*Client).cmdààdH‹%H;a†HƒìpHDŽ$°1ÛH‰œ$¸H‰œ$À1ÛH‰œ$ÈH‰œ$ÐH‹\$xH‹+H‰,$H‹œ$ˆH‰\$H‹œ$H‰\$H‹œ$˜H‰\$H‹œ$ H‰\$ H‹œ$¨H‰\$(èH‹t$0H‹L$8H‹T$@H‰T$hH‰L$`Hƒùt9HDŽ$°1ÛH‰œ$¸H‰œ$ÀH‰Œ$ÈH‰”$АèHƒÄpÃH‹\$xH‹+H‰,$Hƒ<$„Hƒ$8H‰t$HH‰t$èH‹\$xH‹+H‰l$Hƒ|$„ÊHƒD$8H‹\$HH‰\$Ç$HH‰D$èƒø…ŽH‹\$xH‹+H‰,$Hƒ<$trH‹œ$€H‰\$èH‹L$H‹l$H‹T$ H‹|$(H‹t$0H‰Œ$°H‰l$PH‰¬$¸H‰T$XH‰”$ÀH‰|$`H‰¼$ÈH‰t$hH‰´$АèHƒÄpÉ%념èHƒÄpÉ%é*ÿÿÿ‰%éñþÿÿèéßýÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
ª2net/textproto.(*Conn).CmdÐ&runtime.deferreturn°Nnet/textproto.(*Pipeline).StartResponsežPnet/textproto.(*Pipeline).EndResponse·f²"runtime.deferprocŽHnet/textproto.(*Reader).ReadResponseÄ&runtime.deferreturnì&runtime.deferreturn°0runtime.morestack_noctxtÀà"".msg?type.string"".errtype.error
"".idOtype.uint"".~r5 type.error"".~r4€type.string"".~r3ptype.int"".args@&type.[]interface {}"".format type.string"".expectCodetype.int"".ctype.*"".Client:àÙßàùßàßàß°4ÆGf9+J>G		”òZPTgclocals·92a91a13672ee26bfa8c82cd54a70479Tgclocals·64ca935d1a2110a30e2d6046861885398$GOROOT/src/net/smtp/smtp.goþ""".(*Client).helo  dH‹%HD$èH;A†`Hì˜H‹Œ$ 1ÛH‰œ$¨H‰œ$°1íH‰i01ÛH‰\$pH‰\$xH\$pHƒû„HDŽ$ˆHDŽ$H‰œ$€HH‰$H‰L$Hƒ|$„ÏHƒD$PHÇD$èH‹L$H‹D$ H‹œ$€H‰L$`H‰H‰D$h€=u|H‰CH‹œ$ H‰$HÇD$úHH‰\$HÇD$H‹œ$€H‰\$ H‹œ$ˆH‰\$(H‹œ$H‰\$0èH‹L$PH‹D$XH‰Œ$¨H‰„$°HĘÃLCL‰$H‰D$èéqÿÿÿ‰%é%ÿÿÿ‰éâþÿÿèé~þÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
útype.stringÌruntime.convT2E–(runtime.writeBarrierÜ&go.string."HELO %s"Ð "".(*Client).cmd¸.runtime.writebarrierptrò0runtime.morestack_noctxt0°
"".autotmp_0073o"type.interface {}"".autotmp_0072O(type.[1]interface {}"".autotmp_0069/&type.[]interface {}"".~r0type.error"".ctype.*"".Client °®¯°*¯à9÷*¥‚45Tgclocals·cb395d89503762333b1bfb09ba74eb12Tgclocals·5ef976c2593056b9243adf402ae9d9528$GOROOT/src/net/smtp/smtp.goþ""".(*Client).ehloÀÀdH‹%H„$ ÿÿÿH;A†xHì`1ÛH‰œ$pH‰œ$x1ÛH‰œ$àH‰œ$èHœ$àHƒû„4HDŽ$ HDŽ$(H‰œ$HH‰$H‹œ$hH‰\$Hƒ|$„äHƒD$PHÇD$èH‹L$H‹D$ H‹œ$H‰Œ$ÐH‰H‰„$؀=…‡H‰CH‹œ$hH‰$HÇD$úHH‰\$HÇD$H‹œ$H‰\$ H‹œ$ H‰\$(H‹œ$(H‰\$0èH‹\$@H‰œ$€H‹\$HH‰œ$ˆH‹D$PH‹L$XH‰Œ$¸H‰„$°HƒøtH‰„$pH‰Œ$xHÄ`ÃHH‰$HÇD$HÇD$HÇD$èH‹\$ H‰\$pH‹œ$€H‰$H‹œ$ˆH‰\$HH‰\$HÇD$èH‹t$ H‰´$H‹L$(H‹T$0H‰”$H‰Œ$HƒùŽ=H‰ËH‰ÕHƒù‚&HÿËHÿÍI‰ðHƒýtIƒÀL‰„$H‰œ$H‰¬$H‰¬$@1ÉH‰œ$8H‰\$`L‰„$0L‰ÀH‹l$`H9éöH‰D$xHƒø„µH‹H‹hH‰L$hH‰”$ÀH‰¬$ÈH‰”$ H‰$H‰¬$¨H‰l$HH‰\$HÇD$HÇD$ èH‹l$pH‹T$(H‹D$0H‹\$8H‰œ$XHƒøŽÜHH‰$H‰l$Hƒø†»H‰T$H‰ÓH‰”$HHƒøH‰„$P†’HƒÃH‰\$èH‹D$xH‹L$hHƒÀHÿÁH‹l$`H9éŒ
ÿÿÿH
HÇÀHH‰$H‹\$pH‰\$H‰Œ$ÀH‰L$H‰„$ÈH‰D$èH‹L$ ¶\$(Hƒù„H‹H‰”$H‹iH‰¬$˜€ûtqH‰$H‰l$HH‰\$HÇD$èH‹T$ H‹L$(H‹D$0H‹œ$hHƒû„¡H‰Œ$8H‰K@H‰„$@H‰CHH‰”$0€=udH‰S8H‹œ$hHƒûtNH‹l$p€=u,H‰k0H‹œ$°H‰œ$pH‹œ$¸H‰œ$xHÄ`ÃLC0L‰$H‰l$èëĉë®LC8L‰$H‰T$è댉éXÿÿÿ‰éñþÿÿèè1ÛH‰œ$ðH‰œ$øHH‰$H‰l$H‰”$HHƒøH‰„$PvH‰T$Hœ$ðH‰\$èéþÿÿè‰éDýÿÿèéþÿÿLCL‰$H‰D$èéfûÿÿ‰%éûÿÿ‰éÅúÿÿèécúÿÿÌÌÌ>
ötype.stringØruntime.convT2E®(runtime.writeBarrierü&go.string."EHLO %s"ð "".(*Client).cmd¢,type.map[string]stringêruntime.makemap¾go.string."\n"ästrings.Split²go.string." "êstrings.SplitNÄ,type.map[string]stringÊ
$runtime.mapassign1– go.string."AUTH"²,type.map[string]stringŒ4runtime.mapaccess2_faststrŒgo.string." "²strings.SplitÀ(runtime.writeBarrier€(runtime.writeBarrier‚.runtime.writebarrierptr².runtime.writebarrierptrÜ$runtime.panicindexê$runtime.panicindex ,type.map[string]stringŒ$runtime.mapassign1 $runtime.panicindex¼$runtime.panicsliceî.runtime.writebarrierptr¨0runtime.morestack_noctxt0À*"".autotmp_0089type.*string"".autotmp_0088¿type.string"".autotmp_0087Ïtype.*string"".autotmp_0086ÿtype.int"".autotmp_0085ïtype.int"".autotmp_0084Ÿ"type.interface {}"".autotmp_0083ÿ(type.[1]interface {}"".autotmp_0080&type.[]interface {}"".autotmp_0079type.[]string"".autotmp_0078type.string"".autotmp_0077ßtype.string"".autotmp_0075_type.[]string"".mechsŸtype.string"".args/type.[]string"".lineÿtype.string"".extList¿type.[]string"".extß,type.map[string]string"".errßtype.error"".msg¿type.string"".~r0type.error"".ctype.*"".Client0"Àë¿À¤¿Àà¿
 Šð4´5R#sX
Jrq (O	
	!*
D«Œ}=ƒÑûX

*Tgclocals·2785978c7e4962a50f517fd60be50afcTgclocals·0c9f45d66730880ae53f2ec5d3a3d3ee8$GOROOT/src/net/smtp/smtp.goþ*"".(*Client).StartTLS€!€!dH‹%H„$€þÿÿH;A†Hì1ÛH‰œ$H‰œ$ H‹œ$H‰$èH‹D$H‹L$H‰Œ$H‰„$øHƒøtH‰„$H‰Œ$ HÄÃH‹œ$H‰$HÇD$ÜHH‰\$HÇD$1ÛH‰\$ H‰\$(H‰\$0èH‹D$PH‹L$XH‰Œ$H‰„$HƒøtH‰„$H‰Œ$ HÄÃH‹œ$Hƒû„!H‹kH‰¬$H‹kH‰¬$ H‹œ$H‰œ$€HH‰$èH‹D$H‰ÇHƒø„ÐWÀHƒÇÐèGøH‰„$˜H‹¬$H‰(H‹¬$ €=…yH‰hHƒø„dH‹¬$€€=…0H‰h8HÇÅ@ˆhH‰„$˜H‹1íH9è„ÕH‹Œ$˜H‹œ$Hƒû„´H‰„$8H‰CH‰Œ$@€=…|H‰KHH‰$H‹´$Hƒþ„TH^H|$H‹H‰H‹KH‰OèH‹L$H‹D$ H‰Œ$hH‰„$pHH‰$H‰Œ$(H‰L$H‰„$0H‰D$èH‹\$H‹D$ H‰œ$XH‰„$`H‰œ$ØH‰„$àH‰„$ðHÇÂH‰œ$è1íH9ëtH‹[H-H9녏HÇÁ€ù„MH‹XH9ÓŒ@H‰D$hHH‰$H‹œ$(H‰\$H‹œ$0H‰\$èH‹\$H‹L$ H‰œ$HH‰Œ$PH‰œ$¨H‰Œ$°H‰Œ$ÀHÇÀH‰œ$¸1íH9ëtH‹[H-H9ë…¬HÇ€ú„‚H‹YH9ÃŒuH‰ÈH‰D$pHH‰$èH‹D$H‰ÇHƒø„DWÀèGøH‰„$H‹l$h€=…H‰(Hƒø„ïH‹l$p€=…¾H‰h(H‹¬$(H‰hxH‹¬$0€=u{H‰¨€H‹œ$Hƒûtb€=uIH‰H‹œ$HÇÅ@ˆkH‹œ$H‰$èH‹L$H‹D$H‰Œ$H‰„$ HÄÃH‰$H‰D$è몉ëšL€€L‰$H‰l$èH‹„$éjÿÿÿL@(L‰$H‰l$èH‹„$é'ÿÿÿ‰é
ÿÿÿH‰$H‰l$èH‹„$éåþÿÿ‰éµþÿÿHƒøHÇÀHH‰$H‰D$H‰D$èH‹\$H‰œ$H‹\$ H‰œ$˜H‹\$(H‰œ$ HH‰$èH‹D$1íH‰(H‰hH‰hH‰hH‰h H‰h(H‰h0H‰h8H‰„$ H‹¬$˜H‰hH‹¬$ H‰h H‹¬$€=uIH‰hH‹¬$¸H‰h0H‹¬$À€=u	H‰h8é¯ýÿÿL@8L‰$H‰l$èH‹„$ éýÿÿL@L‰$H‰l$èH‹„$ ëŸ1É1ÒéRýÿÿH‰T$`Hƒú}	HÇD$`HH‰$èH‹L$`H‹D$H‰D$xH‰„$ˆHH‰$H‰L$H‰L$èH‹t$H‹l$ H‹T$(H‹Œ$èH‹„$ðH¼$¨WÀHƒÇÐèGøH‰´$xH‰´$¨H‰¬$€H‰¬$°H‰”$ˆH‰”$¸H‰Œ$ÈH‰Œ$ÀH‰„$ÐH‰„$ÈHDŽ$ðÿÿÿÿHDŽ$øÿÿÿÿH‹œ$ˆHƒût,H¬$¨H‰\$H‰l$H-H‰,$èH‹D$xé’ûÿÿ‰ëÐ1À1Ééoûÿÿ‰é¥úÿÿLCL‰$H‰L$èéqúÿÿ‰éEúÿÿHH‰$HH‰\$HH‰\$èH‹D$éùùÿÿL@8L‰$H‰l$èH‹„$˜éµùÿÿ‰é•ùÿÿL@L‰$H‰l$èH‹„$˜élùÿÿ‰é)ùÿÿ‰騸ÿÿèéÇ÷ÿÿÌÌÌÌÌÌÌl
‚$"".(*Client).helloª(go.string."STARTTLS"ò "".(*Client).cmdä(type.crypto/tls.Connö"runtime.newobject²® runtime.duffzeroü(runtime.writeBarrierÂ(runtime.writeBarrierŒBgo.itab.*crypto/tls.Conn.net.ConnŠ(runtime.writeBarrier®.type.io.ReadWriteCloser’	runtime.convI2IÔ	type.io.Readerš
runtime.convI2IÀ$type.*bufio.Reader¤type.io.Writerêruntime.convI2I$type.*bufio.Writerú.type.net/textproto.ConnŒ"runtime.newobjectÀ” runtime.duffzeroî(runtime.writeBarrier¬(runtime.writeBarrierö(runtime.writeBarrier²(runtime.writeBarrier†""".(*Client).ehloæ.runtime.writebarrierptrœ.runtime.writebarrierptrÚ.runtime.writebarrierptrž.runtime.writebarrierptrîtype.[]uint8”"runtime.makesliceð"type.bufio.Writer‚"runtime.newobjectª(runtime.writeBarrierì(runtime.writeBarrier¨.runtime.writebarrierptræ.runtime.writebarrierptrÂ"type.bufio.ReaderÔ"runtime.newobjecttype.[]uint8¶"runtime.makesliceœª runtime.duffzeroÂ"type.bufio.ReaderÔ(runtime.typedmemmove´.runtime.writebarrierptrÚ*type.*crypto/tls.Connðtype.net.ConnˆBgo.itab.*crypto/tls.Conn.net.Connœ runtime.typ2ItabÔ.runtime.writebarrierptr  .runtime.writebarrierptrà 0runtime.morestack_noctxt@€H"".autotmp_0110ß0type.*net/textproto.Conn"".autotmp_01090type.*net/textproto.Conn"".autotmp_0108$type.*bufio.Writer"".autotmp_0107$type.*bufio.Writer"".autotmp_0106$type.*bufio.Writer"".autotmp_0105ïtype.io.Writer"".autotmp_0104$type.*bufio.Reader"".autotmp_0103Ïtype.io.Reader"".autotmp_0102¯.type.io.ReadWriteCloser"".autotmp_0100Ï*type.*crypto/tls.Conn"".autotmp_0099*type.*crypto/tls.Conn"".autotmp_0097type.[]uint8"".autotmp_0096type.int"".autotmp_0095¿$type.*bufio.Writer"".autotmp_0094¯"type.bufio.Reader"".autotmp_0093ßtype.[]uint8"".autotmp_0090*type.*crypto/tls.Connbufio.w·2type.io.Writer"".~r0Ÿ$type.*bufio.Writerbufio.w·2¯type.io.Writerbufio.r·3ïtype.io.Readerbufio.buf·2type.[]uint8bufio.b·1ï$type.*bufio.Readerbufio.r·6$type.*bufio.Readerbufio.size·3¿type.intbufio.rd·2¯type.io.Reader"".~r0¯$type.*bufio.Readerbufio.rd·2Ïtype.io.Reader*net/textproto.conn·2¯.type.io.ReadWriteCloser(crypto/tls.config·3ÿ.type.*crypto/tls.Config$crypto/tls.conn·2Ïtype.net.Conn"".errïtype.error"".errtype.error"".~r1 type.error"".config.type.*crypto/tls.Config"".ctype.*"".Client:"€Zÿ€wÿ€³ÿ€†ÿÀP¦41RŸÏ3ÓŒd@úŽD¨‘
½K ";	7“71Ï0
4B1Tgclocals·40d58e09484fb003b4bcf8a479bce496Tgclocals·6f0b226148d961f3954790b7e93ce0918$GOROOT/src/net/smtp/smtp.goþ>"".(*Client).TLSConnectionStateààdH‹%H„$(ÿÿÿH;A†ÇHìXH¼$hWÀHƒÇàèGøH¼$hWÀHƒÇàèGøH‹œ$`H‹kE1ÀL9ÅtH‹mLL9ÅufH‹CHÇÁ€ùˆŒ$uHÄXÃH‰$èH\$H¼$°H‰ÞèH¥H´$°H¼$hèH¥Ƅ$HÄXÃ1À1ÉëŸèéÿÿÿÌÌÌÌ
dü runtime.duffzero”ü runtime.duffzeroÚ*type.*crypto/tls.Conn´Dcrypto/tls.(*Conn).ConnectionStateÞè runtime.duffcopyŒè runtime.duffcopyÆ0runtime.morestack_noctxtð°"".autotmp_0114Ï>type.crypto/tls.ConnectionState
"".okàtype.bool"".state>type.crypto/tls.ConnectionState"".ctype.*"".Client*"°r¯°F¯°¯ð ÈR/G™WTgclocals·655e3f9ebfff69f8460b15185c623a70Tgclocals·3fd107f82f3c66de19dce9a3b21633908$GOROOT/src/net/smtp/smtp.goþ&"".(*Client).Verify  dH‹%HD$ÈH;A†¨Hì¸1ÛH‰œ$ØH‰œ$àH‹œ$ÀH‰$èH‹D$H‹L$H‰L$hH‰D$`HƒøtH‰„$ØH‰Œ$àHĸÃH‹œ$ÈH‰œ$H‹œ$ÐH‰œ$˜1ÛH‰œ$€H‰œ$ˆHœ$€Hƒû„HDŽ$¨HDŽ$°H‰œ$ HH‰$Hœ$H‰\$HÇD$èH‹L$H‹D$ H‹œ$ H‰L$pH‰H‰D$x€=u|H‰CH‹œ$ÀH‰$HÇD$úHH‰\$HÇD$H‹œ$ H‰\$ H‹œ$¨H‰\$(H‹œ$°H‰\$0èH‹L$PH‹D$XH‰Œ$ØH‰„$àHĸÃLCL‰$H‰D$èéqÿÿÿ‰éøþÿÿèé6þÿÿÌÌÌÌÌÌ
|$"".(*Client).hello¶type.stringôruntime.convT2E¾(runtime.writeBarrier„&go.string."VRFY %s"ø "".(*Client).cmdà.runtime.writebarrierptr‚0runtime.morestack_noctxtPð"".autotmp_0120"type.interface {}"".autotmp_0119o(type.[1]interface {}"".autotmp_0116/&type.[]interface {}"".autotmp_0115Otype.string"".err¯type.error"".~r10type.error"".addrtype.string"".ctype.*"".Client,ðTïð­ïðïÐ"à1+–=¼‚4!Tgclocals·4cc3ebd343ed417b80f0f13e430a0f50Tgclocals·372e9607edf66a58b6b3566316e6be3a8$GOROOT/src/net/smtp/smtp.goþ""".(*Client).Auth ' 'dH‹%H„$èþÿÿH;A† 	Hì˜1ÛH‰œ$¸H‰œ$ÀH‹œ$ H‰$èH‹D$H‹L$H‰Œ$ØH‰„$ÐHƒøtH‰„$¸H‰Œ$ÀHĘÃH‹H‰œ$ˆHH‰$èH‹D$H‹œ$ Hƒû„	Hk H‰„$˜Hƒø„äH‰D$H‰l$H-H‰,$èH‹Œ$ H‹„$˜Hƒø„©¶i@ˆhHi8L@L‰D$H‰l$H-H‰,$èH‹œ$˜H‰\$H‹œ$°H‰$H‹œ$¨H‹[(ÿÓH‹\$H‰œ$°H‹\$H‰œ$¸H‹\$ H‰œ$H‹T$(H‰”$ H‹\$0H‰œ$(H‹D$8H‹\$@H‰œ$ÈH‰„$ÀHƒøt9H‹œ$ H‰$èH‹œ$ÀH‰œ$¸H‹œ$ÈH‰œ$ÀHĘÃH‹Œ$ˆ‹™@ƒûÿ…kH‰ÓHÁãHƒÃH‰ÐHÁàHƒÀI¹«ªªªªªª*H‰ÅI÷éH‰ÐHÁøHÁý?H)èHH‰$H‰D$H‰D$èH‹T$H‹L$ H‹D$(H‹œ$ˆH‰$H‰”$H‰T$H‰Œ$H‰L$H‰„$H‰D$H‹œ$H‰\$ H‹œ$ H‰\$(H‹œ$(H‰\$0èH‹œ$°H‰œ$ðH‹œ$¸H‰œ$øH‹œ$H‰œ$`H‹œ$H‰œ$hH‹œ$H‰œ$p1ÛH‰œ$xH‰œ$€H‰œ$ˆH‰œ$Hœ$xHƒû„$HDŽ$PHDŽ$XH‰œ$HHH‰$Hœ$ðH‰\$HÇD$èH‹L$H‹D$ H‹œ$HH‰Œ$àH‰H‰„$è€=…•H‰CHH‰$Hœ$`H‰\$HÇD$èH‹L$H‹D$ H‹œ$HHƒÃH‰Œ$àH‰H‰„$è€=…H‰CH‹œ$ H‰$HÇD$HH‰\$HÇD$
H‹œ$HH‰\$ H‹œ$PH‰\$(H‹œ$XH‰\$0èH‹l$8H‹T$@H‰”$ H‹L$HH‰Œ$¨H‹D$PH‹\$XH‰œ$ÈH‰„$ÀHƒø…v1ÛH‰œ$0H‰œ$8H‰œ$@H‰l$`Hýë…7HÇ$H‰T$H‰L$èH‹„$ÀH‹\$H‰œ$0H‹\$ H‰œ$8H‹\$(H‰œ$@H‰„$ÀHƒø…‹H‹œ$0H‰\$H‹œ$8H‰\$H‹œ$@H‰\$H‹\$`HûN”D$ H‹œ$°H‰$H‹œ$¨H‹[ ÿÓH‹\$(H‰œ$H‹\$0H‰œ$ H‹\$8H‰œ$(H‹D$@H‹\$HH‰œ$ÈH‰„$ÀHƒøtyH‹œ$ H‰$HÇD$õHH‰\$HÇD$1ÛH‰\$ H‰\$(H‰\$0èH‹œ$ H‰$èH‹„$ÀH‰„$¸H‹œ$ÈH‰œ$ÀHĘÃH‹œ$HƒûtÒH‹Œ$ˆH‹„$ ‹™@ƒûÿ…gH‰ÃHÁãHƒÃHÁàHƒÀI¹«ªªªªªª*H‰ÅI÷éH‰ÐHÁøHÁý?H)èHH‰$H‰D$H‰D$èH‹T$H‹L$ H‹D$(H‹œ$ˆH‰$H‰”$H‰T$H‰Œ$H‰L$H‰„$H‰D$H‹œ$H‰\$ H‹œ$ H‰\$(H‹œ$(H‰\$0èH\$hH‰$H‹œ$H‰\$H‹œ$H‰\$H‹œ$H‰\$èH\$ H|$H‹H‰H‹KH‰OH‹œ$ H‰$HÇD$1ÛH‰\$ H‰\$(H‰\$0èH‹l$8H‹T$@H‰”$ H‹L$HH‰Œ$¨H‹D$PH‹\$XH‰œ$ÈéÄüÿÿH‰ÃHƒÃH‰ÃHƒÃHƒÀI¹VUUUUUUUH‰ÅI÷éH‰ÐHÁøHÁý?H)èHÁàé‘þÿÿHýNuYH‹œ$ˆH‰$H‰T$H‰L$èH‹\$H‰œ$0H‹\$ H‰œ$8H‹\$(H‰œ$@H‹D$0H‹\$8H‰œ$Èé­üÿÿHH‰$èH‹D$H‹l$`H‰(H‰„$H‹¬$¨H‰hH‹¬$ €=u^H‰hH‰„$H‹1íH9ètH‹œ$H‰œ$Èé<üÿÿHH‰$HH‰\$HH‰\$èH‹D$ë¼L@L‰$H‰l$èH‹„$ëŠLCL‰$H‰D$èéÏúÿÿLCL‰$H‰D$èéXúÿÿ‰éÕùÿÿH‰ÓHƒÃH‰ÓHƒÃH‰ÐHƒÀI¹VUUUUUUUH‰ÅI÷éH‰ÐHÁøHÁý?H)èHÁàéøÿÿ‰éP÷ÿÿ‰é÷ÿÿ‰éøöÿÿèé;öÿÿÌÌÌÌÌÌÌÌÌÌÌZ
‚$"".(*Client).hello€6encoding/base64.StdEncodingž$type."".ServerInfo°"runtime.newobject¬type.string¾(runtime.typedmemmove´type.[]stringÆ(runtime.typedmemmove˜ø""".(*Client).Quitìtype.[]uint8’	"runtime.makesliceî
Dencoding/base64.(*Encoding).EncodeÄ
type.string‚runtime.convT2EØ(runtime.writeBarrierütype.[]uint8ºruntime.convT2E˜(runtime.writeBarrieræ,go.string."AUTH %s %s"Ú "".(*Client).cmdæ2runtime.stringtoslicebyteÒgo.string."*"š "".(*Client).cmd¼""".(*Client).QuitÖtype.[]uint8ü"runtime.makesliceØDencoding/base64.(*Encoding).EncodeÂ2runtime.slicebytetostringÈ "".(*Client).cmdî Pencoding/base64.(*Encoding).DecodeStringø!0type.net/textproto.ErrorŠ""runtime.newobjectè"(runtime.writeBarrier”#Dgo.itab.*net/textproto.Error.errorÚ#2type.*net/textproto.Errorð#type.errorˆ$Dgo.itab.*net/textproto.Error.errorœ$ runtime.typ2ItabÎ$.runtime.writebarrierptr†%.runtime.writebarrierptr´%.runtime.writebarrierptrø&0runtime.morestack_noctxtP°L"".autotmp_0150ßtype.[32]uint8"".autotmp_0149type.int"".autotmp_0148type.int"".autotmp_0147type.int"".autotmp_0146type.int"".autotmp_0145type.int"".autotmp_0144type.int"".autotmp_0143type.int"".autotmp_01412type.*net/textproto.Error"".autotmp_0140type.int"".autotmp_0139"type.interface {}"".autotmp_0138ï"type.interface {}"".autotmp_0137?(type.[2]interface {}"".autotmp_0134Ÿ&type.[]interface {}"".autotmp_0133type.int"".autotmp_0132type.int"".autotmp_0131type.int"".autotmp_0130type.int"".autotmp_0129type.int"".autotmp_0128type.int"".autotmp_0127type.int"".autotmp_0126ÿ&type.*"".ServerInfo"".autotmp_0125type.int"".autotmp_01242type.*net/textproto.Error"".autotmp_0123otype.[]uint8"".autotmp_0122Ïtype.string"".msgÏtype.[]uint8"".msg64ïtype.string"".codeïtype.int"".resp64¯type.[]uint8"".err¯type.error"".respÿtype.[]uint8"".mechÏtype.string"".encodingŸ<type.*encoding/base64.Encoding"".errtype.error"".~r10type.error"".atype."".Auth"".ctype.*"".Client<"°Z¯°ê¯°á¯°ñ¯Ð¤ö41•(t_ç
F‹@ 
y_©1.9'	TlK5<		b@WGnonÊ솖„±n
5	¤‰5	ŽTgclocals·d741a093b00fdaae50c2c4794e453e3dTgclocals·48210410b84edff3ced32bc174f8f5658$GOROOT/src/net/smtp/smtp.goþ""".(*Client).MailÀ
À
dH‹%HD$¨H;A†~HìØ1ÛH‰œ$øH‰œ$H‹œ$àH‰$èH‹”$àH‹D$H‹L$H‰L$hH‰D$`HƒøtH‰„$øH‰Œ$HÄØÃHH‰\$pHÇD$xH‹Z01íH9ë„¥H
HÇÀHH‰$H‹j0H‰l$H‰Œ$°H‰L$H‰„$¸H‰D$è¶\$(€ûtZH‹L$pH‹D$xHÇ$H‰Œ$°H‰L$H‰„$¸H‰D$HH‰\$HÇD$ èH‹\$(H‰\$pH‹\$0H‰\$xH‹œ$èH‰œ$ H‹œ$ðH‰œ$¨1ÛH‰œ$H‰œ$˜Hœ$Hƒû„HDŽ$ÈHDŽ$ÐH‰œ$ÀHH‰$Hœ$ H‰\$HÇD$èH‹L$H‹D$ H‹œ$ÀH‰Œ$€H‰H‰„$ˆ€=u{H‰CH‹œ$àH‰$HÇD$úH‹\$pH‰\$H‹\$xH‰\$H‹œ$ÀH‰\$ H‹œ$ÈH‰\$(H‹œ$ÐH‰\$0èH‹L$PH‹D$XH‰Œ$øH‰„$HÄØÃLCL‰$H‰D$èérÿÿÿ‰éóþÿÿèé`ýÿÿ
|$"".(*Client).helloþ4go.string."MAIL FROM:<%s>"Æ(go.string."8BITMIME"â,type.map[string]stringº4runtime.mapaccess2_faststr´4go.string." BODY=8BITMIME"Ú*runtime.concatstring2Øtype.string–runtime.convT2Eì(runtime.writeBarrier¤	 "".(*Client).cmdŒ
.runtime.writebarrierptr®
0runtime.morestack_noctxtP°"".autotmp_0159¯"type.interface {}"".autotmp_0158(type.[1]interface {}"".autotmp_0155/&type.[]interface {}"".autotmp_0154otype.string"".autotmp_0153type.string"".autotmp_0152Otype.string"".cmdStrÏtype.string"".errïtype.error"".~r10type.error"".fromtype.string"".ctype.*"".Client,°\¯°û¯°¯
 2Ô13KZ›
$=ŸPž‡4Tgclocals·e305bb77d4e256fc23850a54ea31a3ddTgclocals·be099abd4aedcaf147026eb286be2f238$GOROOT/src/net/smtp/smtp.goþ""".(*Client).Rcpt€€dH‹%HD$ØH;A†\Hì¨1ÛH‰œ$ÈH‰œ$ÐH‹œ$¸H‰œ$€H‹œ$ÀH‰œ$ˆ1ÛH‰\$pH‰\$xH\$pHƒû„HDŽ$˜HDŽ$ H‰œ$HH‰$Hœ$€H‰\$HÇD$èH‹L$H‹D$ H‹œ$H‰L$`H‰H‰D$h€=u|H‰CH‹œ$°H‰$HÇD$HH‰\$HÇD$H‹œ$H‰\$ H‹œ$˜H‰\$(H‹œ$ H‰\$0èH‹L$PH‹D$XH‰Œ$ÈH‰„$ÐHĨÃLCL‰$H‰D$èéqÿÿÿ‰éøþÿÿèé‚þÿÿÌÌ
žtype.stringÜruntime.convT2E¦(runtime.writeBarrierì0go.string."RCPT TO:<%s>"à "".(*Client).cmdÈ.runtime.writebarrierptrê0runtime.morestack_noctxtPÐ"".autotmp_0165"type.interface {}"".autotmp_0164o(type.[1]interface {}"".autotmp_0161/&type.[]interface {}"".autotmp_0160Otype.string"".~r10type.error
"".totype.string"".ctype.*"".Client жÏÐÏ€ö1­‚4Tgclocals·4cc3ebd343ed417b80f0f13e430a0f50Tgclocals·e686e33109a1bc2792301626c7b401c58$GOROOT/src/net/smtp/smtp.goþ,"".(*dataCloser).CloseÀÀdH‹%H;a†HƒìH1ÛH‰\$XH‰\$`H‹\$PHƒûtbH‹KH‹kH‰l$@H‰,$H‰L$8H‹Y ÿÓH‹\$PH‹H‹+H‰,$Hƒ<$t'HÇD$úèH‹L$(H‹D$0H‰L$XH‰D$`HƒÄHÉ%ëЉëšèébÿÿÿÌÌ
ÔHnet/textproto.(*Reader).ReadResponseª0runtime.morestack_noctxt0"".~r0type.error"".d&type.*"".dataClosero
  Š#'.	
HXTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·23e8278e2b69a3a75fa59b23c49ed6ad8$GOROOT/src/net/smtp/smtp.goþ""".(*Client).DataÀÀdH‹%HD$øH;A†üHìˆ1ÛH‰œ$˜H‰œ$ 1ÛH‰œ$¨H‰œ$°H‹œ$H‰$HÇD$bHH‰\$HÇD$1ÛH‰\$ H‰\$(H‰\$0èH‹D$PH‹L$XH‰L$pH‰D$hHƒøt*1ÛH‰œ$˜H‰œ$ H‰„$¨H‰Œ$°HĈÃH‹œ$H‹+H‰,$Hƒ<$„'Hƒ$(èH‹\$H‰\$xH‹\$H‰œ$€HH‰$èH‹D$H‰D$`Hƒø„ÛH‹¬$€=…®H‰(H‹l$xH‰hH‹¬$€€=uuH‰hH‰D$`H‹1íH9èt/H‹\$`H‰œ$ H‰„$˜1ÛH‰œ$¨H‰œ$°HĈÃHH‰$HH‰\$HH‰\$èH‹D$ë¢L@L‰$H‰l$èH‹D$`ésÿÿÿH‰$H‰l$èH‹D$`é=ÿÿÿ‰éÿÿÿ‰%éÍþÿÿèéâýÿÿÌÌ 
¶ go.string."DATA"þ "".(*Client).cmdÎBnet/textproto.(*Writer).DotWriterŠ$type."".dataCloserœ"runtime.newobjectà(runtime.writeBarrier¢(runtime.writeBarrierÈJgo.itab.*"".dataCloser.io.WriteCloserÂ&type.*"".dataCloserØ&type.io.WriteCloserðJgo.itab.*"".dataCloser.io.WriteCloser„ runtime.typ2Itab¶.runtime.writebarrierptræ.runtime.writebarrierptrª0runtime.morestack_noctxtP"".autotmp_0169O&type.*"".dataCloser"".autotmp_0168&type.*"".dataCloser"".autotmp_0167&type.io.WriteCloser"".err?type.error"".~r10type.error"".~r0&type.io.WriteCloser"".ctype.*"".Client.§Öv žCO*Í	~´1.Tgclocals·9f4747e6338c5bdd4db417363b8a0d83Tgclocals·038179b41a875de0d9a0f970e88439308$GOROOT/src/net/smtp/smtp.goþ"".SendMailÀÀdH‹%HD$°H;A†±HìÐ1ÛH‰œ$8H‰œ$@H‹œ$ØH‰$H‹œ$àH‰\$èH‹l$H‹L$H‹T$ H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‰l$PH‰l$Ç$HH‰D$èƒø…H‹\$PH‰$èH‹L$H‹T$H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹\$PH‰$HH‰\$HÇD$è¶\$€û„ãHH‰$èH‹D$H‰ÇHƒø„^WÀHƒÇðèGøH‹\$PHƒû„8Hk H‰D$`L@`L‰D$H‰l$H-H‰,$èH‹D$`H‹1íH9ëtH‰D$HH‰$H‹H‹ÿÓH‹D$HH‹\$PH‰$H‰D$èH‹L$H‹T$H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹œ$èHƒû„ÇH‹l$PH‹]01íH9넳H
HÇÀHH‰$H‹\$PH‹k0H‰l$H‰Œ$˜H‰L$H‰„$ H‰D$è¶\$(€ûtcH‹\$PH‰$H‹œ$èH‰\$H‹œ$ðH‰\$èH‹L$H‹T$ H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹\$PH‰$H‹œ$øH‰\$H‹œ$H‰\$èH‹L$H‹T$ H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹”$H‹„$H‹œ$H‰œ$È1ÉH‰„$ÀH‰D$8H‰”$¸H‰ÐH‹l$8H9鍭H‰D$XHƒø„üH‹H‹hH‰L$@H‰”$˜H‰¬$ H‹\$PH‰$H‰”$¨H‰T$H‰¬$°H‰l$èH‹L$H‹T$ H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹D$XH‹L$@HƒÀHÿÁH‹l$8H9éŒSÿÿÿH‹\$PH‰$èH‹l$H‰l$hH‹T$H‰T$pH‹L$H‹t$ H‰´$€H‰L$xHƒùtH‰Œ$8H‰´$@èHÄÐÃH‹œ$ H‰\$H‹œ$(H‰\$H‹œ$0H‰\$H‰$H‹](ÿÓH‹L$(H‹T$0H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹\$pH‰$H‹\$hH‹[ ÿÓH‹L$H‹T$H‰”$€H‰L$xHƒùtH‰Œ$8H‰”$@èHÄÐÃH‹\$PH‰$èH‹T$H‹L$H‰”$ˆH‰”$8H‰Œ$H‰Œ$@èHÄÐÉéýýÿÿ‰éÁûÿÿ‰é›ûÿÿèHÄÐÃèé-úÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌL
–"".Dial†&runtime.deferreturnÆ*"".(*Client).Close·fÚ"runtime.deferprocˆ$"".(*Client).helloî&runtime.deferreturnž(go.string."STARTTLS"Ä,"".(*Client).Extensionî,type.crypto/tls.Config€"runtime.newobject¼¨ runtime.duffzerožtype.string°(runtime.typedmemmoveÈ&"".testHookStartTLSö&"".testHookStartTLS„°*"".(*Client).StartTLS–&runtime.deferreturn€	 go.string."AUTH"œ	,type.map[string]stringþ	4runtime.mapaccess2_faststrâ
""".(*Client).AuthÈ&runtime.deferreturn¨""".(*Client).MailŽ
&runtime.deferreturnÔ""".(*Client).Rcptº&runtime.deferreturn¤""".(*Client).Data²&runtime.deferreturn¨Š&runtime.deferreturnƨ&runtime.deferreturnÔ""".(*Client).Quit´&runtime.deferreturnú&runtime.deferreturn”0runtime.morestack_noctxtà &"".autotmp_0179type.string"".autotmp_0178ïtype.*string"".autotmp_0177¯type.int"".autotmp_0176Ÿtype.int"".autotmp_0175ß.type.*crypto/tls.Config"".autotmp_0174type.error"".autotmp_0173/type.[]string"".autotmp_0172otype.string"".wÏ&type.io.WriteCloser"".addrOtype.string"".config.type.*crypto/tls.Config"".err¯type.error"".cÿtype.*"".Client"".~r5Àtype.error"".msgtype.[]uint8
"".to`type.[]string"".from@type.string"".a type."".Auth"".addrtype.string oŸ sŸ “Ÿ ØŸ bŸ ÕŸ {Ÿ kŸ NŸ EŸ "Ÿà˜Ú15++1m0&PEEsE
4C&F!#		dJb2,v+2ud12¤
2	6F=/ //HTgclocals·ca2f6ff8d44a2618d3f4cd1b375090b9Tgclocals·166ec20f7ff251042841aaa87dc420948$GOROOT/src/net/smtp/smtp.goþ,"".(*Client).ExtensionààdH‹%H;a†HƒìP1ÛH‰\$xH‰œ$€H‹\$XH‰$èH‹D$H‹\$H‰\$8H‰D$0HƒøtÆD$p1ÛH‰\$xH‰œ$€HƒÄPÃH‹l$XH‹]01íH9ëuÆD$p1ÛH‰\$xH‰œ$€HƒÄPÃH‹\$`H‰$H‹\$hH‰\$èH‹L$H‹D$H‰L$`H‰D$hHH‰$H‹\$XH‹k0H‰l$H‰L$@H‰L$H‰D$HH‰D$èH‹D$ ¶\$(HƒøtH‹H‹hˆ\$pH‰L$xH‰¬$€HƒÄPÉëßèé×þÿÿÌÌÌÌÌÌÌ
`$"".(*Client).helloÈstrings.ToUpperþ,type.map[string]stringÔ4runtime.mapaccess2_faststrÀ0runtime.morestack_noctxt` "".autotmp_0180type.string"".err?type.error"".~r2@type.string"".~r10type.bool"".exttype.string"".ctype.*"".Client8 OŸ (Ÿ ŠŸ Ÿ°,Â&("S/Tgclocals·d98f60bd8519d0c68364b2a1d83af357Tgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/smtp.goþ$"".(*Client).Reset  dH‹%H;a†¯Hƒìp1ÛH‰œ$€H‰œ$ˆH‹\$xH‰$èH‹D$H‹L$H‰L$hH‰D$`HƒøtH‰„$€H‰Œ$ˆHƒÄpÃH‹\$xH‰$HÇD$úHH‰\$HÇD$1ÛH‰\$ H‰\$(H‰\$0èH‹L$PH‹D$XH‰Œ$€H‰„$ˆHƒÄpÃèé4ÿÿÿÌÌÌÌ

f$"".(*Client).helloö go.string."RSET"¾ "".(*Client).cmd†0runtime.morestack_noctxt0à"".errtype.error"".~r0type.error"".ctype.*"".ClientàNßà[ßÐÞ)(G	2žTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·23e8278e2b69a3a75fa59b23c49ed6ad8$GOROOT/src/net/smtp/smtp.goþ""".(*Client).QuitààdH‹%H;a†Hì€1ÛH‰œ$H‰œ$˜H‹œ$ˆH‰$èH‹D$H‹L$H‰L$hH‰D$`HƒøtH‰„$H‰Œ$˜HĀÃH‹œ$ˆH‰$HÇD$ÝHH‰\$HÇD$1ÛH‰\$ H‰\$(H‰\$0èH‹D$PH‹L$XH‰L$xH‰D$pHƒøtH‰„$H‰Œ$˜HĀÃH‹œ$ˆH‹+H‰,$èH‹L$H‹D$H‰Œ$H‰„$˜HĀÃèéßþÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
r$"".(*Client).helloŽ go.string."QUIT"Ö "".(*Client).cmdâ6net/textproto.(*Conn).Close°0runtime.morestack_noctxt0€"".errtype.error"".err?type.error"".~r0type.error"".ctype.*"".Client*€Tÿ€qÿ€5ÿ°$ð,+O68øTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/smtp.goþ"".init€€dH‹%H;av\¶€ût¶€ûuÃèÆèèèèèèèèèÆÃèëŽÌÌÌÌÌÌÌÌÌÌÌÌÌÌ 
$"".initdone·<"".initdone·R"runtime.throwinitb"".initdone·n crypto/hmac.initxcrypto/md5.init‚fmt.initŒcrypto/tls.init–(encoding/base64.init io.initªnet.init´$net/textproto.init¾strings.initÊ"".initdone·Ø0runtime.morestack_noctxt€€
‚€
(XTgclocals·33cdeccccebe80329f1fdbee7f5874cbTgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/smtp.goþ.type..hash."".plainAuth€€dH‹%H;a†ßHƒìH‹\$ H‰$Hƒ<$„»H‹\$(H‰\$èH‹D$H‹\$ H‰$Hƒ<$„‡Hƒ$H‰D$(H‰D$èH‹D$H‹\$ H‰$Hƒ<$tUHƒ$ H‰D$(H‰D$èH‹D$H‹\$ H‰$Hƒ<$t#Hƒ$0H‰D$(H‰D$èH‹\$H‰\$0HƒÄÉ%ëԉ%뢉%émÿÿÿ‰%é9ÿÿÿèéÿÿÿÌÌÌÌ
lruntime.strhashÆruntime.strhash˜runtime.strhashêruntime.strhashæ0runtime.morestack_noctxt00"".~r2 type.uintptr"".htype.uintptr"".p$type.*"".plainAuth0°/0*/€€5ËTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ*type..eq."".plainAuth€	€	dH‹%H;a†HƒìHH‹\$PHƒû„üH‹3H‹KH‹\$XHƒû„ßH‹H‹CH9Á…ÅH‰t$8H‰4$H‰L$@H‰L$H‰T$(H‰T$H‰D$0H‰D$è¶\$ €û„‹H‹\$PHƒû„uH‹SH‹CH‹\$XHƒû„WH‹sH‹KH9È…<H‰T$(H‰$H‰D$0H‰D$H‰t$8H‰t$H‰L$@H‰L$è¶\$ €û„H‹\$PHƒû„ìH‹s H‹K(H‹\$XHƒû„ÎH‹S H‹C(H9Á…³H‰t$8H‰4$H‰L$@H‰L$H‰T$(H‰T$H‰D$0H‰D$è¶\$ €ût}H‹\$PHƒûtnH‹S0H‹C8H‹\$XHƒûtWH‹s0H‹K8H9Èu@H‰T$(H‰$H‰D$0H‰D$H‰t$8H‰t$H‰L$@H‰L$è¶\$ €ût
ÆD$`HƒÄHÃÆD$`HƒÄHÉ륉ëŽÆD$`HƒÄHÉé+ÿÿÿ‰é
ÿÿÿÆD$`HƒÄHÉé¢þÿÿ‰é„þÿÿÆD$`HƒÄHÉéþÿÿ‰éýýÿÿèéÍýÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌ
è runtime.eqstringÊ runtime.eqstring¬ runtime.eqstringî runtime.eqstringÔ0runtime.morestack_noctxt0"".autotmp_0190type.string"".autotmp_0189type.string"".autotmp_0188type.string"".autotmp_0187type.string"".autotmp_0186type.string"".autotmp_0185type.string"".autotmp_0184?type.string"".autotmp_0183type.string"".~r2 type.bool"".q$type.*"".plainAuth"".p$type.*"".plainAuthP·	ÀÀsÍTgclocals·3bb21ca8fe1d99a3e492463bd711418aTgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/auth.goþ"".Auth.NextààdH‹%H;a†ÎHƒìPH‹Y H…Ût
H|$XH9;uH‰#1Û1Û1ÛH‰œ$ H‰œ$¨1ÛH‰œ$ˆH‰œ$H‰œ$˜H‹\$hH‰\$H‹\$pH‰\$H‹\$xH‰\$¶œ$€ˆ\$ H‹\$`H‰$H‹\$XH‹[ ÿÓH‹t$(H‹l$0H‹T$8H‹L$@H‹D$HH‰´$ˆH‰¬$H‰”$˜H‰Œ$ H‰„$¨HƒÄPÃèéÿÿÿÌÌÌÌÌ
²Ä0runtime.morestack_noctxt° 
"".errtype.error"".toServer`type.[]uint8"".morePtype.bool"".fromServer type.[]uint8""..thistype."".Auth ÉŸðð™WTgclocals·367ecdb853c4078732fb255f2658ce3fTgclocals·33cdeccccebe80329f1fdbee7f5874cb<autogenerated>þ"".Auth.StartààdH‹%H;a†ÊHƒìHH‹Y H…Ût
H|$PH9;uH‰#1Û1Û1Û1ÛH‰œ$H‰œ$˜1ÛH‰\$xH‰œ$€H‰œ$ˆ1ÛH‰\$hH‰\$pH‹\$`H‰\$H‹\$XH‰$H‹\$PH‹[(ÿÓL‹D$H‹|$H‹t$ H‹l$(H‹T$0H‹L$8H‹D$@L‰D$hH‰|$pH‰t$xH‰¬$€H‰”$ˆH‰Œ$H‰„$˜HƒÄHÃèéÿÿÿÌÌÌÌÌÌÌÌÌ
ˆ¼0runtime.morestack_noctxt 
"".err€type.error"".toServerPtype.[]uint8"".proto0type.string"".server &type.*"".ServerInfo""..thistype."".AuthÅðð„lTgclocals·08b659dfa5a3ec0bdad7239385861c50Tgclocals·33cdeccccebe80329f1fdbee7f5874cb<autogenerated>þ2type..hash."".cramMD5Auth  dH‹%H;avmHƒìH‹\$ H‰$Hƒ<$tPH‹\$(H‰\$èH‹D$H‹\$ H‰$Hƒ<$t#Hƒ$H‰D$(H‰D$èH‹\$H‰\$0HƒÄÉ%ëԉ%ë§èézÿÿÿÌÌÌÌÌÌÌÌÌÌ
\runtime.strhash®runtime.strhashú0runtime.morestack_noctxt00"".~r2 type.uintptr"".htype.uintptr"".p(type.*"".cramMD5Auth0V/0/
-cTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ.type..eq."".cramMD5AuthààdH‹%H;a†HƒìHH‹\$PHƒû„êH‹3H‹KH‹\$XHƒû„ÍH‹H‹CH9Á…³H‰t$8H‰4$H‰L$@H‰L$H‰T$(H‰T$H‰D$0H‰D$è¶\$ €ût}H‹\$PHƒûtnH‹SH‹CH‹\$XHƒûtWH‹sH‹KH9Èu@H‰T$(H‰$H‰D$0H‰D$H‰t$8H‰t$H‰L$@H‰L$è¶\$ €ût
ÆD$`HƒÄHÃÆD$`HƒÄHÉ륉ëŽÆD$`HƒÄHÉé,ÿÿÿ‰éÿÿÿèéßþÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
è runtime.eqstringª runtime.eqstring°0runtime.morestack_noctxt0"".autotmp_0199type.string"".autotmp_0198type.string"".autotmp_0197?type.string"".autotmp_0196type.string"".~r2 type.bool"".q(type.*"".cramMD5Auth"".p(type.*"".cramMD5Auth8Õ	°°s½Tgclocals·3bb21ca8fe1d99a3e492463bd711418aTgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/auth.goþ4type..hash.[2]interface {}  dH‹%H;avpHƒì(H‹L$81ÀHÇD$H‹l$H9è}DH‰D$ H‹\$0Hƒût>H‰ÅHÁåHëH‰$H‰L$8H‰L$èH‹L$H‹D$ HÿÀH‹l$H9è|¼H‰L$@HƒÄ(Éë¾èéwÿÿÿÌÌÌÌÌÌÌ
¬(runtime.nilinterhash€0runtime.morestack_noctxt0P
"".autotmp_0201type.int"".autotmp_0200type.int"".~r2 type.uintptr"".htype.uintptr"".p*type.*[2]interface {}PgOPO
U;Tgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ0type..eq.[2]interface {}ààdH‹%H;a†ÎHƒìX1ÀHÇD$(H‹l$(H9荒H‰D$0H‹\$hHƒû„–H‰ÅHÁåHëH‹H‹sH‹\$`HƒûtvH‰ÅHÁåHëH‹H‹SH9ÈuVH‰D$8H‰$H‰T$@H‰T$H‰L$HH‰L$H‰t$PH‰t$è¶\$ €ût H‹D$0HÿÀH‹l$(H9èŒnÿÿÿÆD$pHƒÄXÃÆD$pHƒÄXÉ놉écÿÿÿèéÿÿÿÌÌÌÌÌ
¼runtime.efaceeqÄ0runtime.morestack_noctxt0°"".autotmp_0205?"type.interface {}"".autotmp_0204"type.interface {}"".autotmp_0203_type.int"".autotmp_0202Otype.int"".~r2 type.bool"".q*type.*[2]interface {}"".p*type.*[2]interface {},°´¯°	¯°¯ððSTgclocals·3bb21ca8fe1d99a3e492463bd711418aTgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/auth.goþ(type..hash.[8]string  dH‹%H;avpHƒì(H‹L$81ÀHÇD$H‹l$H9è}DH‰D$ H‹\$0Hƒût>H‰ÅHÁåHëH‰$H‰L$8H‰L$èH‹L$H‹D$ HÿÀH‹l$H9è|¼H‰L$@HƒÄ(Éë¾èéwÿÿÿÌÌÌÌÌÌÌ
¬runtime.strhash€0runtime.morestack_noctxt0P
"".autotmp_0207type.int"".autotmp_0206type.int"".~r2 type.uintptr"".htype.uintptr"".ptype.*[8]stringPgOPO
U;Tgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ$type..eq.[8]stringààdH‹%H;a†ÎHƒìX1ÀHÇD$(H‹l$(H9荒H‰D$0H‹\$`Hƒû„–H‰ÅHÁåHëH‹3H‹KH‹\$hHƒûtvH‰ÅHÁåHëH‹H‹CH9ÁuVH‰t$HH‰4$H‰L$PH‰L$H‰T$8H‰T$H‰D$@H‰D$è¶\$ €ût H‹D$0HÿÀH‹l$(H9èŒnÿÿÿÆD$pHƒÄXÃÆD$pHƒÄXÉ놉écÿÿÿèéÿÿÿÌÌÌÌÌ
¼ runtime.eqstringÄ0runtime.morestack_noctxt0°"".autotmp_0211?type.string"".autotmp_0210type.string"".autotmp_0209_type.int"".autotmp_0208Otype.int"".~r2 type.bool"".qtype.*[8]string"".ptype.*[8]string,°´¯°	¯°¯ððSTgclocals·3bb21ca8fe1d99a3e492463bd711418aTgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/auth.goþ4type..hash.[1]interface {}  dH‹%H;avpHƒì(H‹L$81ÀHÇD$H‹l$H9è}DH‰D$ H‹\$0Hƒût>H‰ÅHÁåHëH‰$H‰L$8H‰L$èH‹L$H‹D$ HÿÀH‹l$H9è|¼H‰L$@HƒÄ(Éë¾èéwÿÿÿÌÌÌÌÌÌÌ
¬(runtime.nilinterhash€0runtime.morestack_noctxt0P
"".autotmp_0213type.int"".autotmp_0212type.int"".~r2 type.uintptr"".htype.uintptr"".p*type.*[1]interface {}PgOPO
U;Tgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ0type..eq.[1]interface {}ààdH‹%H;a†ÎHƒìX1ÀHÇD$(H‹l$(H9荒H‰D$0H‹\$hHƒû„–H‰ÅHÁåHëH‹H‹sH‹\$`HƒûtvH‰ÅHÁåHëH‹H‹SH9ÈuVH‰D$8H‰$H‰T$@H‰T$H‰L$HH‰L$H‰t$PH‰t$è¶\$ €ût H‹D$0HÿÀH‹l$(H9èŒnÿÿÿÆD$pHƒÄXÃÆD$pHƒÄXÉ놉écÿÿÿèéÿÿÿÌÌÌÌÌ
¼runtime.efaceeqÄ0runtime.morestack_noctxt0°"".autotmp_0217?"type.interface {}"".autotmp_0216"type.interface {}"".autotmp_0215_type.int"".autotmp_0214Otype.int"".~r2 type.bool"".q*type.*[1]interface {}"".p*type.*[1]interface {},°´¯°	¯°¯ððSTgclocals·3bb21ca8fe1d99a3e492463bd711418aTgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/auth.goþ0type..hash."".dataCloser  dH‹%H;avvHƒì H‹\$(H‰$Hƒ<$tYH‹\$0H‰\$HÇD$èH‹D$H‹\$(H‰$Hƒ<$t#Hƒ$H‰D$0H‰D$èH‹\$H‰\$8HƒÄ É%ëԉ%ëžèéqÿÿÿÌ
nruntime.memhashÀ"runtime.interhashŒ0runtime.morestack_noctxt0@"".~r2 type.uintptr"".htype.uintptr"".p&type.*"".dataCloser@_?@?
6ZTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2Tgclocals·33cdeccccebe80329f1fdbee7f5874cb8$GOROOT/src/net/smtp/auth.goþ,type..eq."".dataCloserÀÀdH‹%H;a†‚HƒìHH‹T$PH‹D$XH‹H‹(H9ët
ÆD$`HƒÄHÃH‹HH‹pH‹BH‹RH9Èu@H‰D$(H‰$H‰T$0H‰T$H‰L$8H‰L$H‰t$@H‰t$è¶\$ €ût
ÆD$`HƒÄHÃÆD$`HƒÄHÃèéaÿÿÿÌ
æruntime.ifaceeq¬0runtime.morestack_noctxt0
"".autotmp_0219?&type.io.WriteCloser"".autotmp_0218&type.io.WriteCloser"".~r2 type.bool"".q&type.*"".dataCloser"".p&type.*"".dataCloser*T	  
r.Tgclocals·3bb21ca8fe1d99a3e492463bd711418aTgclocals·a8eabfc4a4514ed6b3b0c61e9680e4408$GOROOT/src/net/smtp/auth.goþ,"".(*dataCloser).Write€€dH‹%H;a†šHƒìHH‹Y H…Ût
H|$PH9;uH‰#1Û1ÛH‰\$xH‰œ$€H‹\$PHƒût`H‹KH‹kH‹\$XH‰\$H‹\$`H‰\$H‹\$hH‰\$H‰l$@H‰,$H‰L$8H‹Y(ÿÓH‹T$ H‹L$(H‹D$0H‰T$pH‰L$xH‰„$€HƒÄHÉëœèéIÿÿÿÌÌÌÌÌÌÌÌÌ
‚Ü0runtime.morestack_noctxtpio.errPtype.errorio.n@type.intio.ptype.[]uint8""..this&type.*"".dataCloser ‘ÀÀ?Tgclocals·b60dc0a6046c556b02baa766a3fd5a27Tgclocals·23e8278e2b69a3a75fa59b23c49ed6ad<autogenerated>þ&"".dataCloser.Write€€dH‹%H;a†–HƒìHH‹Y H…Ût
H|$PH9;uH‰#1Û1ÛH‰œ$ˆH‰œ$H‹L$XH‹D$`H‹\$hH‰\$H‹\$pH‰\$H‹\$xH‰\$H‰D$@H‰$H‰L$8H‹Y(ÿÓH‹T$ H‹L$(H‹D$0H‰”$€H‰Œ$ˆH‰„$HƒÄHÃèéMÿÿÿÌÌÌÌÌÌÌÌÌÌÌÌÌ
öÔ0runtime.morestack_noctxtio.errptype.errorio.n`type.intio.p0type.[]uint8""..this$type."".dataCloser‘À
À
{ETgclocals·c9e450c3217846248adec84c41d9b7caTgclocals·23e8278e2b69a3a75fa59b23c49ed6ad<autogenerated>þ>:go.itab.*"".plainAuth."".AuthþTgclocals·0c8aa8e80191a30eac23f1a218103f16  þTgclocals·00aca069dd0de4d6687267ddb97a24d9  
UUþ>Bgo.itab.*errors.errorString.errorþ*go.string.hdr."PLAIN"  "go.string."PLAIN"þ"go.string."PLAIN"PLAINþLgo.string.hdr."unencrypted connection"  Dgo.string."unencrypted connection"þDgo.string."unencrypted connection"0.unencrypted connectionþ>go.string.hdr."wrong host name"  6go.string."wrong host name"þ6go.string."wrong host name"  wrong host nameþ(go.string.hdr."\x00"   go.string."\x00"þ go.string."\x00"þTgclocals·9a9a37670773d1c5f424c6af67f17c9488@þTgclocals·1a94cf2d8f5e00668da7a1b4c0fe212688	þVgo.string.hdr."unexpected server challenge"  Ngo.string."unexpected server challenge"þNgo.string."unexpected server challenge"@8unexpected server challengeþTgclocals·11d28ee4a7546638afa514476454a63e((þTgclocals·5b3cb3f294534a3016b654e497969c26((
þ>>go.itab.*"".cramMD5Auth."".AuthþTgclocals·0c8aa8e80191a30eac23f1a218103f16  þTgclocals·9ba22629e9611c66625b3db4800944b7  þ0go.string.hdr."CRAM-MD5"  (go.string."CRAM-MD5"þ(go.string."CRAM-MD5" CRAM-MD5þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·ceeeaa06de8d2a5a22a0a9e77901485d	þ*go.string.hdr."%s %x"  "go.string."%s %x"þ"go.string."%s %x"%s %xþTgclocals·7627713214993f986e5bde03b29d7ab600<<þTgclocals·568becea11b80d2f8ccaa324bbfa06ac00
þ&go.string.hdr."tcp"  go.string."tcp"þgo.string."tcp"tcpþTgclocals·8c067d5052c60a71dd2787c367bb278b  0þTgclocals·3260b5c802f633fd6252c227878dd72a  þ2go.string.hdr."localhost"  	*go.string."localhost"þ*go.string."localhost" localhostþTgclocals·ae09471f573256e865fb8fd83fe30afa  -0330000€000B0@0@ þTgclocals·1485b9619994cb0c26e5bda04aa7f656˜˜þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þlgo.string.hdr."smtp: Hello called after other methods"  &dgo.string."smtp: Hello called after other methods"þdgo.string."smtp: Hello called after other methods"PNsmtp: Hello called after other methodsþTgclocals·11d28ee4a7546638afa514476454a63e((þTgclocals·4cc3ebd343ed417b80f0f13e430a0f50((þTgclocals·64ca935d1a2110a30e2d604686188539  þTgclocals·92a91a13672ee26bfa8c82cd54a70479  
þ.go.string.hdr."HELO %s"  &go.string."HELO %s"þ&go.string."HELO %s"HELO %sþTgclocals·5ef976c2593056b9243adf402ae9d952((þTgclocals·cb395d89503762333b1bfb09ba74eb12((þ.go.string.hdr."EHLO %s"  &go.string."EHLO %s"þ&go.string."EHLO %s"EHLO %sþ$go.string.hdr."\n"  go.string."\n"þgo.string."\n"
þ"go.string.hdr." "  go.string." "þgo.string." " þ(go.string.hdr."AUTH"   go.string."AUTH"þ go.string."AUTH"
AUTHþTgclocals·0c9f45d66730880ae53f2ec5d3a3d3eeXX	À ÀÃÃÃÀÃÃþTgclocals·2785978c7e4962a50f517fd60be50afcXX	þ>Bgo.itab.*crypto/tls.Conn.net.Connþ0go.string.hdr."STARTTLS"  (go.string."STARTTLS"þ(go.string."STARTTLS" STARTTLSþTgclocals·6f0b226148d961f3954790b7e93ce091  3ÀH@ "  þTgclocals·40d58e09484fb003b4bcf8a479bce496˜˜þTgclocals·3fd107f82f3c66de19dce9a3b2163390þTgclocals·655e3f9ebfff69f8460b15185c623a70þ.go.string.hdr."VRFY %s"  &go.string."VRFY %s"þ&go.string."VRFY %s"VRFY %sþTgclocals·372e9607edf66a58b6b3566316e6be3a((ppþTgclocals·4cc3ebd343ed417b80f0f13e430a0f50((þ>Dgo.itab.*net/textproto.Error.errorþ4go.string.hdr."AUTH %s %s"  
,go.string."AUTH %s %s"þ,go.string."AUTH %s %s" AUTH %s %sþ"go.string.hdr."*"  go.string."*"þgo.string."*"*þTgclocals·48210410b84edff3ced32bc174f8f565€€"€!!€ É ÈÀÀ	$À$ÀÀ€À€ÀþTgclocals·d741a093b00fdaae50c2c4794e453e3dˆˆþ<go.string.hdr."MAIL FROM:<%s>"  4go.string."MAIL FROM:<%s>"þ4go.string."MAIL FROM:<%s>" MAIL FROM:<%s>þ0go.string.hdr."8BITMIME"  (go.string."8BITMIME"þ(go.string."8BITMIME" 8BITMIMEþ<go.string.hdr." BODY=8BITMIME"  4go.string." BODY=8BITMIME"þ4go.string." BODY=8BITMIME"  BODY=8BITMIMEþTgclocals·be099abd4aedcaf147026eb286be2f2300ÄÀþTgclocals·e305bb77d4e256fc23850a54ea31a3dd00þ8go.string.hdr."RCPT TO:<%s>"  0go.string."RCPT TO:<%s>"þ0go.string."RCPT TO:<%s>" RCPT TO:<%s>þTgclocals·e686e33109a1bc2792301626c7b401c5((	\þTgclocals·4cc3ebd343ed417b80f0f13e430a0f50((þTgclocals·23e8278e2b69a3a75fa59b23c49ed6adþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þ>Jgo.itab.*"".dataCloser.io.WriteCloserþ(go.string.hdr."DATA"   go.string."DATA"þ go.string."DATA"
DATAþTgclocals·038179b41a875de0d9a0f970e884393000þTgclocals·9f4747e6338c5bdd4db417363b8a0d8300þTgclocals·166ec20f7ff251042841aaa87dc42094PP
2þTgclocals·ca2f6ff8d44a2618d3f4cd1b375090b9PP]]2]2]]]]]þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·d98f60bd8519d0c68364b2a1d83af357þ(go.string.hdr."RSET"   go.string."RSET"þ go.string."RSET"
RSETþTgclocals·23e8278e2b69a3a75fa59b23c49ed6adþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þ(go.string.hdr."QUIT"   go.string."QUIT"þ go.string."QUIT"
QUITþTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·33cdeccccebe80329f1fdbee7f5874cbþ<&"".testHookStartTLS:type.func(*crypto/tls.Config)þ>"".initdone·type.uint8þ"".PlainAuth·f"".PlainAuthþ0"".(*plainAuth).Start·f*"".(*plainAuth).Startþ."".(*plainAuth).Next·f("".(*plainAuth).Nextþ""".CRAMMD5Auth·f"".CRAMMD5Authþ4"".(*cramMD5Auth).Start·f."".(*cramMD5Auth).Startþ2"".(*cramMD5Auth).Next·f,"".(*cramMD5Auth).Nextþ"".Dial·f"".Dialþ"".NewClient·f"".NewClientþ*"".(*Client).Close·f$"".(*Client).Closeþ*"".(*Client).hello·f$"".(*Client).helloþ*"".(*Client).Hello·f$"".(*Client).Helloþ&"".(*Client).cmd·f "".(*Client).cmdþ("".(*Client).helo·f""".(*Client).heloþ("".(*Client).ehlo·f""".(*Client).ehloþ0"".(*Client).StartTLS·f*"".(*Client).StartTLSþD"".(*Client).TLSConnectionState·f>"".(*Client).TLSConnectionStateþ,"".(*Client).Verify·f&"".(*Client).Verifyþ("".(*Client).Auth·f""".(*Client).Authþ("".(*Client).Mail·f""".(*Client).Mailþ("".(*Client).Rcpt·f""".(*Client).Rcptþ2"".(*dataCloser).Close·f,"".(*dataCloser).Closeþ("".(*Client).Data·f""".(*Client).Dataþ"".SendMail·f"".SendMailþ2"".(*Client).Extension·f,"".(*Client).Extensionþ*"".(*Client).Reset·f$"".(*Client).Resetþ("".(*Client).Quit·f""".(*Client).Quitþ"".init·f"".initþTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·3bb21ca8fe1d99a3e492463bd711418aþ6type..hashfunc."".plainAuth.type..hash."".plainAuthþ2type..eqfunc."".plainAuth*type..eq."".plainAuthþ,type..alg."".plainAuth  6type..hashfunc."".plainAuth2type..eqfunc."".plainAuthþ"runtime.gcbits.01þ>go.string.hdr."*smtp.plainAuth"  6go.string."*smtp.plainAuth"þ6go.string."*smtp.plainAuth"  *smtp.plainAuthþ.go.string.hdr."[]uint8"  &go.string."[]uint8"þ&go.string."[]uint8"[]uint8þtype.[]uint8ß~.8
0  runtime.algarray@"runtime.gcbits.01P.go.string.hdr."[]uint8"p*go.weak.type.*[]uint8€type.uint8þ6go.typelink.[]uint8	[]uint8type.[]uint8þŠgo.string.hdr."func(*smtp.plainAuth, []uint8, bool) ([]uint8, error)"  5‚go.string."func(*smtp.plainAuth, []uint8, bool) ([]uint8, error)"þ‚go.string."func(*smtp.plainAuth, []uint8, bool) ([]uint8, error)"plfunc(*smtp.plainAuth, []uint8, bool) ([]uint8, error)þptype.func(*"".plainAuth, []uint8, bool) ([]uint8, error)ÀÀ†qKp30€ runtime.algarray@"runtime.gcbits.01PŠgo.string.hdr."func(*smtp.plainAuth, []uint8, bool) ([]uint8, error)"p‚go.weak.type.*func(*"".plainAuth, []uint8, bool) ([]uint8, error)ðptype.func(*"".plainAuth, []uint8, bool) ([]uint8, error)À ptype.func(*"".plainAuth, []uint8, bool) ([]uint8, error)ð$type.*"".plainAuth€type.[]uint8type.bool type.[]uint8°type.errorþêgo.typelink.func(*smtp.plainAuth, []uint8, bool) ([]uint8, error)	func(*"".plainAuth, []uint8, bool) ([]uint8, error)ptype.func(*"".plainAuth, []uint8, bool) ([]uint8, error)þ0go.string.hdr."[]string"  (go.string."[]string"þ(go.string."[]string" []stringþtype.[]stringӨó

0  runtime.algarray@"runtime.gcbits.01P0go.string.hdr."[]string"p,go.weak.type.*[]string€type.stringþ:go.typelink.[]string	[]stringtype.[]stringþ"runtime.gcbits.09	þ>go.string.hdr."smtp.ServerInfo"  6go.string."smtp.ServerInfo"þ6go.string."smtp.ServerInfo"  smtp.ServerInfoþ(go.string.hdr."Name"   go.string."Name"þ go.string."Name"
Nameþ&go.string.hdr."TLS"  go.string."TLS"þgo.string."TLS"TLSþ(go.string.hdr."Auth"   go.string."Auth"þ go.string."Auth"
Authþ4go.string.hdr."ServerInfo"  
,go.string."ServerInfo"þ,go.string."ServerInfo" ServerInfoþ0go.string.hdr."net/smtp"  (go.string."net/smtp"þ(go.string."net/smtp" net/smtpþ"go.importpath."".  (go.string."net/smtp"þ$type."".ServerInfoðð0 ?[B½0à runtime.algarray@"runtime.gcbits.09P>go.string.hdr."smtp.ServerInfo"p&type.*"".ServerInfo€°$type."".ServerInfo°(go.string.hdr."Name"Ðtype.string€&go.string.hdr."TLS" type.boolÐ(go.string.hdr."Auth"ðtype.[]string` $type."".ServerInfo 4go.string.hdr."ServerInfo"°"go.importpath."".Àð$type."".ServerInfoþ@go.string.hdr."*smtp.ServerInfo"  8go.string."*smtp.ServerInfo"þ8go.string."*smtp.ServerInfo"0"*smtp.ServerInfoþ&type.*"".ServerInfoµm¢›6
0  runtime.algarray@"runtime.gcbits.01P@go.string.hdr."*smtp.ServerInfo"p8go.weak.type.**"".ServerInfo€$type."".ServerInfoþ go.string.hdr."func(*smtp.plainAuth, *smtp.ServerInfo) (string, []uint8, error)"  @˜go.string."func(*smtp.plainAuth, *smtp.ServerInfo) (string, []uint8, error)"þ˜go.string."func(*smtp.plainAuth, *smtp.ServerInfo) (string, []uint8, error)"‚func(*smtp.plainAuth, *smtp.ServerInfo) (string, []uint8, error)þ‚type.func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)ÀÀ¥häZ30€ runtime.algarray@"runtime.gcbits.01P go.string.hdr."func(*smtp.plainAuth, *smtp.ServerInfo) (string, []uint8, error)"p”go.weak.type.*func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)ð‚type.func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)À‚type.func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)ð$type.*"".plainAuth€&type.*"".ServerInfotype.string type.[]uint8°type.errorþ’go.typelink.func(*smtp.plainAuth, *smtp.ServerInfo) (string, []uint8, error)	func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)‚type.func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)þ(go.string.hdr."Next"   go.string."Next"þ go.string."Next"
Nextþhgo.string.hdr."func([]uint8, bool) ([]uint8, error)"  $`go.string."func([]uint8, bool) ([]uint8, error)"þ`go.string."func([]uint8, bool) ([]uint8, error)"PJfunc([]uint8, bool) ([]uint8, error)þRtype.func([]uint8, bool) ([]uint8, error)°°¹2Ð30€ runtime.algarray@"runtime.gcbits.01Phgo.string.hdr."func([]uint8, bool) ([]uint8, error)"pdgo.weak.type.*func([]uint8, bool) ([]uint8, error)ðRtype.func([]uint8, bool) ([]uint8, error)ÀRtype.func([]uint8, bool) ([]uint8, error)ðtype.[]uint8€type.booltype.[]uint8 type.errorþªgo.typelink.func([]uint8, bool) ([]uint8, error)	func([]uint8, bool) ([]uint8, error)Rtype.func([]uint8, bool) ([]uint8, error)þ*go.string.hdr."Start"  "go.string."Start"þ"go.string."Start"Startþ~go.string.hdr."func(*smtp.ServerInfo) (string, []uint8, error)"  /vgo.string."func(*smtp.ServerInfo) (string, []uint8, error)"þvgo.string."func(*smtp.ServerInfo) (string, []uint8, error)"``func(*smtp.ServerInfo) (string, []uint8, error)þdtype.func(*"".ServerInfo) (string, []uint8, error)°°W°{30€ runtime.algarray@"runtime.gcbits.01P~go.string.hdr."func(*smtp.ServerInfo) (string, []uint8, error)"pvgo.weak.type.*func(*"".ServerInfo) (string, []uint8, error)ðdtype.func(*"".ServerInfo) (string, []uint8, error)À€dtype.func(*"".ServerInfo) (string, []uint8, error)ð&type.*"".ServerInfo€type.stringtype.[]uint8 type.errorþÒgo.typelink.func(*smtp.ServerInfo) (string, []uint8, error)	func(*"".ServerInfo) (string, []uint8, error)dtype.func(*"".ServerInfo) (string, []uint8, error)þ$type.*"".plainAuth  )}Co6"0  runtime.algarray@"runtime.gcbits.01P>go.string.hdr."*smtp.plainAuth"p6go.weak.type.**"".plainAuth€"type."".plainAuth`$type.*"".plainAuth°à$type.*"".plainAuthà(go.string.hdr."Next"€Rtype.func([]uint8, bool) ([]uint8, error)ptype.func(*"".plainAuth, []uint8, bool) ([]uint8, error) ("".(*plainAuth).Next°("".(*plainAuth).NextÀ*go.string.hdr."Start"àdtype.func(*"".ServerInfo) (string, []uint8, error)ð‚type.func(*"".plainAuth, *"".ServerInfo) (string, []uint8, error)€*"".(*plainAuth).Start*"".(*plainAuth).Startþ"runtime.gcbits.55Uþ<go.string.hdr."smtp.plainAuth"  4go.string."smtp.plainAuth"þ4go.string."smtp.plainAuth" smtp.plainAuthþ0go.string.hdr."identity"  (go.string."identity"þ(go.string."identity" identityþ0go.string.hdr."username"  (go.string."username"þ(go.string."username" usernameþ0go.string.hdr."password"  (go.string."password"þ(go.string."password" passwordþ(go.string.hdr."host"   go.string."host"þ go.string."host"
hostþ2go.string.hdr."plainAuth"  	*go.string."plainAuth"þ*go.string."plainAuth" plainAuthþ"type."".plainAuthÀÀ@8ùÜHJ 0*0,type..alg."".plainAuth@"runtime.gcbits.55P<go.string.hdr."smtp.plainAuth"p$type.*"".plainAuth€°"type."".plainAuth°0go.string.hdr."identity"À"go.importpath."".Ðtype.string€0go.string.hdr."username""go.importpath."". type.stringÐ0go.string.hdr."password"à"go.importpath."".ðtype.string (go.string.hdr."host"°"go.importpath."".Àtype.string`ð"type."".plainAuthð2go.string.hdr."plainAuth"€"go.importpath."".À"type."".plainAuthþTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·367ecdb853c4078732fb255f2658ce3fþTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·08b659dfa5a3ec0bdad7239385861c50
þ4go.string.hdr."*smtp.Auth"  
,go.string."*smtp.Auth"þ,go.string."*smtp.Auth" *smtp.Authþtype.*"".AuthMÂÀ6
0  runtime.algarray@"runtime.gcbits.01P4go.string.hdr."*smtp.Auth"p,go.weak.type.**"".Auth€type."".Authþ"runtime.gcbits.03þ2go.string.hdr."smtp.Auth"  	*go.string."smtp.Auth"þ*go.string."smtp.Auth" smtp.Authþtype."".AuthààSµ»0à runtime.algarray@"runtime.gcbits.03P2go.string.hdr."smtp.Auth"ptype.*"".Auth€°type."".Auth°(go.string.hdr."Next"ÐRtype.func([]uint8, bool) ([]uint8, error)à*go.string.hdr."Start"€dtype.func(*"".ServerInfo) (string, []uint8, error)`type."".Auth(go.string.hdr."Auth" "go.importpath."".°àtype."".Authþ type..hashfunc32   ,runtime.memhash_varlenþtype..eqfunc32   .runtime.memequal_varlenþtype..alg32   type..hashfunc32type..eqfunc32þruntime.gcbits.þ2go.string.hdr."[32]uint8"  	*go.string."[32]uint8"þ*go.string."[32]uint8" [32]uint8þtype.[32]uint8°° œYÿ¨‘ 0type..alg32@runtime.gcbits.P2go.string.hdr."[32]uint8"p.go.weak.type.*[32]uint8€type.uint8type.[]uint8þ>go.typelink.[32]uint8	[32]uint8type.[32]uint8þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·3bb21ca8fe1d99a3e492463bd711418aþ:type..hashfunc."".cramMD5Auth2type..hash."".cramMD5Authþ6type..eqfunc."".cramMD5Auth.type..eq."".cramMD5Authþ0type..alg."".cramMD5Auth  :type..hashfunc."".cramMD5Auth6type..eqfunc."".cramMD5AuthþBgo.string.hdr."*smtp.cramMD5Auth"  :go.string."*smtp.cramMD5Auth"þ:go.string."*smtp.cramMD5Auth"0$*smtp.cramMD5AuthþŽgo.string.hdr."func(*smtp.cramMD5Auth, []uint8, bool) ([]uint8, error)"  7†go.string."func(*smtp.cramMD5Auth, []uint8, bool) ([]uint8, error)"þ†go.string."func(*smtp.cramMD5Auth, []uint8, bool) ([]uint8, error)"ppfunc(*smtp.cramMD5Auth, []uint8, bool) ([]uint8, error)þttype.func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error)ÀÀC, –30€ runtime.algarray@"runtime.gcbits.01PŽgo.string.hdr."func(*smtp.cramMD5Auth, []uint8, bool) ([]uint8, error)"p†go.weak.type.*func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error)ðttype.func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error)À ttype.func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error)ð(type.*"".cramMD5Auth€type.[]uint8type.bool type.[]uint8°type.errorþògo.typelink.func(*smtp.cramMD5Auth, []uint8, bool) ([]uint8, error)	func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error)ttype.func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error)þ¤go.string.hdr."func(*smtp.cramMD5Auth, *smtp.ServerInfo) (string, []uint8, error)"  Bœgo.string."func(*smtp.cramMD5Auth, *smtp.ServerInfo) (string, []uint8, error)"þœgo.string."func(*smtp.cramMD5Auth, *smtp.ServerInfo) (string, []uint8, error)"†func(*smtp.cramMD5Auth, *smtp.ServerInfo) (string, []uint8, error)þ†type.func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)ÀÀ#ªW¬30€ runtime.algarray@"runtime.gcbits.01P¤go.string.hdr."func(*smtp.cramMD5Auth, *smtp.ServerInfo) (string, []uint8, error)"p˜go.weak.type.*func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)ð†type.func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)À†type.func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)ð(type.*"".cramMD5Auth€&type.*"".ServerInfotype.string type.[]uint8°type.errorþšgo.typelink.func(*smtp.cramMD5Auth, *smtp.ServerInfo) (string, []uint8, error)	func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)†type.func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)þ(type.*"".cramMD5Auth  œÕzò6"0  runtime.algarray@"runtime.gcbits.01PBgo.string.hdr."*smtp.cramMD5Auth"p:go.weak.type.**"".cramMD5Auth€&type."".cramMD5Auth`(type.*"".cramMD5Auth°à(type.*"".cramMD5Authà(go.string.hdr."Next"€Rtype.func([]uint8, bool) ([]uint8, error)ttype.func(*"".cramMD5Auth, []uint8, bool) ([]uint8, error) ,"".(*cramMD5Auth).Next°,"".(*cramMD5Auth).NextÀ*go.string.hdr."Start"àdtype.func(*"".ServerInfo) (string, []uint8, error)ð†type.func(*"".cramMD5Auth, *"".ServerInfo) (string, []uint8, error)€."".(*cramMD5Auth).Start."".(*cramMD5Auth).Startþ"runtime.gcbits.05þ@go.string.hdr."smtp.cramMD5Auth"  8go.string."smtp.cramMD5Auth"þ8go.string."smtp.cramMD5Auth"0"smtp.cramMD5Authþ,go.string.hdr."secret"  $go.string."secret"þ$go.string."secret"secretþ6go.string.hdr."cramMD5Auth"  .go.string."cramMD5Auth"þ.go.string."cramMD5Auth" cramMD5Authþ&type."".cramMD5Auth   ì/m00type..alg."".cramMD5Auth@"runtime.gcbits.05P@go.string.hdr."smtp.cramMD5Auth"p(type.*"".cramMD5Auth€°&type."".cramMD5Auth°0go.string.hdr."username"À"go.importpath."".Ðtype.string€,go.string.hdr."secret""go.importpath."". type.string`Ð&type."".cramMD5AuthÐ6go.string.hdr."cramMD5Auth"à"go.importpath."".ð &type."".cramMD5Authþ8go.string.hdr."interface {}"  0go.string."interface {}"þ0go.string."interface {}" interface {}þ"type.interface {}°°çW 
0€ runtime.algarray@"runtime.gcbits.03P8go.string.hdr."interface {}"p4go.weak.type.*interface {}€°"type.interface {}þ<go.string.hdr."[]interface {}"  4go.string."[]interface {}"þ4go.string."[]interface {}" []interface {}þ&type.[]interface {}p“ê/
0  runtime.algarray@"runtime.gcbits.01P<go.string.hdr."[]interface {}"p8go.weak.type.*[]interface {}€"type.interface {}þRgo.typelink.[]interface {}	[]interface {}&type.[]interface {}þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·3bb21ca8fe1d99a3e492463bd711418aþ<type..hashfunc.[2]interface {}4type..hash.[2]interface {}þ8type..eqfunc.[2]interface {}0type..eq.[2]interface {}þ2type..alg.[2]interface {}  <type..hashfunc.[2]interface {}8type..eqfunc.[2]interface {}þ"runtime.gcbits.0fþ>go.string.hdr."[2]interface {}"  6go.string."[2]interface {}"þ6go.string."[2]interface {}"  [2]interface {}þ(type.[2]interface {}°°  ,Y¤ñ02type..alg.[2]interface {}@"runtime.gcbits.0fP>go.string.hdr."[2]interface {}"p:go.weak.type.*[2]interface {}€"type.interface {}&type.[]interface {}þVgo.typelink.[2]interface {}	[2]interface {}(type.[2]interface {}þ@go.string.hdr."*[2]interface {}"  8go.string."*[2]interface {}"þ8go.string."*[2]interface {}"0"*[2]interface {}þ*type.*[2]interface {}¾s-q6
0  runtime.algarray@"runtime.gcbits.01P@go.string.hdr."*[2]interface {}"p<go.weak.type.**[2]interface {}€(type.[2]interface {}þ0go.string.hdr."[8]uint8"  (go.string."[8]uint8"þ(go.string."[8]uint8" [8]uint8þtype.[8]uint8°°>ù0´‘0  runtime.algarray@runtime.gcbits.P0go.string.hdr."[8]uint8"p,go.weak.type.*[8]uint8€type.uint8type.[]uint8þ:go.typelink.[8]uint8	[8]uint8type.[8]uint8þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·3bb21ca8fe1d99a3e492463bd711418aþ0type..hashfunc.[8]string(type..hash.[8]stringþ,type..eqfunc.[8]string$type..eq.[8]stringþ&type..alg.[8]string  0type..hashfunc.[8]string,type..eqfunc.[8]stringþ&runtime.gcbits.5555UUþ2go.string.hdr."[8]string"  	*go.string."[8]string"þ*go.string."[8]string" [8]stringþtype.[8]string°°€xUSŒ>0&type..alg.[8]string@&runtime.gcbits.5555P2go.string.hdr."[8]string"p.go.weak.type.*[8]string€type.stringtype.[]stringþ>go.typelink.[8]string	[8]stringtype.[8]stringþRgo.string.hdr."*map.bucket[string]string"  Jgo.string."*map.bucket[string]string"þJgo.string."*map.bucket[string]string"@4*map.bucket[string]stringþ<type.*map.bucket[string]string¦te6
0  runtime.algarray@"runtime.gcbits.01PRgo.string.hdr."*map.bucket[string]string"pNgo.weak.type.**map.bucket[string]string€:type.map.bucket[string]stringþ2runtime.gcbits.aaaaaaaa02

ªªªªþPgo.string.hdr."map.bucket[string]string"  Hgo.string."map.bucket[string]string"þHgo.string."map.bucket[string]string"@2map.bucket[string]stringþ.go.string.hdr."topbits"  &go.string."topbits"þ&go.string."topbits"topbitsþ(go.string.hdr."keys"   go.string."keys"þ go.string."keys"
keysþ,go.string.hdr."values"  $go.string."values"þ$go.string."values"valuesþ0go.string.hdr."overflow"  (go.string."overflow"þ(go.string."overflow" overflowþ:type.map.bucket[string]stringððÞ>ˆ0à runtime.algarray@2runtime.gcbits.aaaaaaaa02PPgo.string.hdr."map.bucket[string]string"pLgo.weak.type.*map.bucket[string]string€°:type.map.bucket[string]string°.go.string.hdr."topbits"Ðtype.[8]uint8€(go.string.hdr."keys" type.[8]stringÐ,go.string.hdr."values"ðtype.[8]string 0go.string.hdr."overflow"À<type.*map.bucket[string]stringþ"runtime.gcbits.2c,þJgo.string.hdr."map.hdr[string]string"  Bgo.string."map.hdr[string]string"þBgo.string."map.hdr[string]string"0,map.hdr[string]stringþ*go.string.hdr."count"  "go.string."count"þ"go.string."count"countþ*go.string.hdr."flags"  "go.string."flags"þ"go.string."flags"flagsþ"go.string.hdr."B"  go.string."B"þgo.string."B"Bþ*go.string.hdr."hash0"  "go.string."hash0"þ"go.string."hash0"hash0þ.go.string.hdr."buckets"  &go.string."buckets"þ&go.string."buckets"bucketsþ4go.string.hdr."oldbuckets"  
,go.string."oldbuckets"þ,go.string."oldbuckets" oldbucketsþ2go.string.hdr."nevacuate"  	*go.string."nevacuate"þ*go.string."nevacuate" nevacuateþ4type.map.hdr[string]string°°00Ïmlh	 (*0à runtime.algarray@"runtime.gcbits.2cPJgo.string.hdr."map.hdr[string]string"pFgo.weak.type.*map.hdr[string]string€°4type.map.hdr[string]string°*go.string.hdr."count"Ðtype.int€*go.string.hdr."flags" type.uint8Ð"go.string.hdr."B"ðtype.uint8 *go.string.hdr."hash0"Àtype.uint32ð.go.string.hdr."buckets"<type.*map.bucket[string]stringÀ4go.string.hdr."oldbuckets"à<type.*map.bucket[string]string2go.string.hdr."nevacuate"°type.uintptrà0go.string.hdr."overflow"€&type.unsafe.PointerþBgo.string.hdr."map[string]string"  :go.string."map[string]string"þ:go.string."map[string]string"0$map[string]stringþ,type.map[string]stringÐÐY¡ç)50€ runtime.algarray@"runtime.gcbits.01PBgo.string.hdr."map[string]string"p>go.weak.type.*map[string]string€type.stringtype.string :type.map.bucket[string]string°4type.map.hdr[string]stringþ^go.typelink.map[string]string	map[string]string,type.map[string]stringþ&runtime.gcbits.d764×dþ6go.string.hdr."smtp.Client"  .go.string."smtp.Client"þ.go.string."smtp.Client" smtp.Clientþ(go.string.hdr."Text"   go.string."Text"þ go.string."Text"
Textþ(go.string.hdr."conn"   go.string."conn"þ go.string."conn"
connþ&go.string.hdr."tls"  go.string."tls"þgo.string."tls"tlsþ4go.string.hdr."serverName"  
,go.string."serverName"þ,go.string."serverName" serverNameþ&go.string.hdr."ext"  go.string."ext"þgo.string."ext"extþ(go.string.hdr."auth"   go.string."auth"þ go.string."auth"
authþ2go.string.hdr."localName"  	*go.string."localName"þ*go.string."localName" localNameþ0go.string.hdr."didHello"  (go.string."didHello"þ(go.string."didHello" didHelloþ4go.string.hdr."helloError"  
,go.string."helloError"þ,go.string."helloError" helloErrorþ,go.string.hdr."Client"  $go.string."Client"þ$go.string."Client"Clientþtype."".ClientÐÐxx•폚		 08P`hF0à runtime.algarray@&runtime.gcbits.d764P6go.string.hdr."smtp.Client"ptype.*"".Client€°type."".Client°(go.string.hdr."Text"Ð0type.*net/textproto.Conn€(go.string.hdr."conn""go.importpath."". type.net.ConnÐ&go.string.hdr."tls"à"go.importpath."".ðtype.bool 4go.string.hdr."serverName"°"go.importpath."".Àtype.stringð&go.string.hdr."ext"€"go.importpath."".,type.map[string]stringÀ(go.string.hdr."auth"Ð"go.importpath."".àtype.[]string2go.string.hdr."localName" "go.importpath."".°type.stringà0go.string.hdr."didHello"ð"go.importpath."".€type.bool°4go.string.hdr."helloError"À"go.importpath."".Ðtype.error`€type."".Client€,go.string.hdr."Client""go.importpath."". Ðtype."".Clientþ8go.string.hdr."*smtp.Client"  0go.string."*smtp.Client"þ0go.string."*smtp.Client" *smtp.Clientþfgo.string.hdr."func(*smtp.Client, smtp.Auth) error"  #^go.string."func(*smtp.Client, smtp.Auth) error"þ^go.string."func(*smtp.Client, smtp.Auth) error"PHfunc(*smtp.Client, smtp.Auth) errorþHtype.func(*"".Client, "".Auth) error  C-630€ runtime.algarray@"runtime.gcbits.01Pfgo.string.hdr."func(*smtp.Client, smtp.Auth) error"pZgo.weak.type.*func(*"".Client, "".Auth) errorðHtype.func(*"".Client, "".Auth) errorÀHtype.func(*"".Client, "".Auth) errorðtype.*"".Client€type."".Authtype.errorþžgo.typelink.func(*smtp.Client, smtp.Auth) error	func(*"".Client, "".Auth) errorHtype.func(*"".Client, "".Auth) errorþPgo.string.hdr."func(*smtp.Client) error"  Hgo.string."func(*smtp.Client) error"þHgo.string."func(*smtp.Client) error"@2func(*smtp.Client) errorþ6type.func(*"".Client) errorÎ)-U30€ runtime.algarray@"runtime.gcbits.01PPgo.string.hdr."func(*smtp.Client) error"pHgo.weak.type.*func(*"".Client) errorð6type.func(*"".Client) errorÀ€6type.func(*"".Client) errorðtype.*"".Client€type.errorþvgo.typelink.func(*smtp.Client) error	func(*"".Client) error6type.func(*"".Client) errorþtgo.string.hdr."func(*smtp.Client) (io.WriteCloser, error)"  *lgo.string."func(*smtp.Client) (io.WriteCloser, error)"þlgo.string."func(*smtp.Client) (io.WriteCloser, error)"`Vfunc(*smtp.Client) (io.WriteCloser, error)þZtype.func(*"".Client) (io.WriteCloser, error)  z7:30€ runtime.algarray@"runtime.gcbits.01Ptgo.string.hdr."func(*smtp.Client) (io.WriteCloser, error)"plgo.weak.type.*func(*"".Client) (io.WriteCloser, error)ðZtype.func(*"".Client) (io.WriteCloser, error)À€Ztype.func(*"".Client) (io.WriteCloser, error)ðtype.*"".Client€&type.io.WriteClosertype.errorþ¾go.typelink.func(*smtp.Client) (io.WriteCloser, error)	func(*"".Client) (io.WriteCloser, error)Ztype.func(*"".Client) (io.WriteCloser, error)þrgo.string.hdr."func(*smtp.Client, string) (bool, string)"  )jgo.string."func(*smtp.Client, string) (bool, string)"þjgo.string."func(*smtp.Client, string) (bool, string)"`Tfunc(*smtp.Client, string) (bool, string)þXtype.func(*"".Client, string) (bool, string)°°§
r30€ runtime.algarray@"runtime.gcbits.01Prgo.string.hdr."func(*smtp.Client, string) (bool, string)"pjgo.weak.type.*func(*"".Client, string) (bool, string)ðXtype.func(*"".Client, string) (bool, string)ÀXtype.func(*"".Client, string) (bool, string)ðtype.*"".Client€type.stringtype.bool type.stringþºgo.typelink.func(*smtp.Client, string) (bool, string)	func(*"".Client, string) (bool, string)Xtype.func(*"".Client, string) (bool, string)þ`go.string.hdr."func(*smtp.Client, string) error"   Xgo.string."func(*smtp.Client, string) error"þXgo.string."func(*smtp.Client, string) error"PBfunc(*smtp.Client, string) errorþFtype.func(*"".Client, string) error  ºËl30€ runtime.algarray@"runtime.gcbits.01P`go.string.hdr."func(*smtp.Client, string) error"pXgo.weak.type.*func(*"".Client, string) errorðFtype.func(*"".Client, string) errorÀFtype.func(*"".Client, string) errorðtype.*"".Client€type.stringtype.errorþ–go.typelink.func(*smtp.Client, string) error	func(*"".Client, string) errorFtype.func(*"".Client, string) errorþjgo.string.hdr."func(*smtp.Client, *tls.Config) error"  %bgo.string."func(*smtp.Client, *tls.Config) error"þbgo.string."func(*smtp.Client, *tls.Config) error"PLfunc(*smtp.Client, *tls.Config) errorþ^type.func(*"".Client, *crypto/tls.Config) error  ”¬A30€ runtime.algarray@"runtime.gcbits.01Pjgo.string.hdr."func(*smtp.Client, *tls.Config) error"ppgo.weak.type.*func(*"".Client, *crypto/tls.Config) errorð^type.func(*"".Client, *crypto/tls.Config) errorÀ^type.func(*"".Client, *crypto/tls.Config) errorðtype.*"".Client€.type.*crypto/tls.Configtype.errorþ¸go.typelink.func(*smtp.Client, *tls.Config) error	func(*"".Client, *crypto/tls.Config) error^type.func(*"".Client, *crypto/tls.Config) errorþ|go.string.hdr."func(*smtp.Client) (tls.ConnectionState, bool)"  .tgo.string."func(*smtp.Client) (tls.ConnectionState, bool)"þtgo.string."func(*smtp.Client) (tls.ConnectionState, bool)"`^func(*smtp.Client) (tls.ConnectionState, bool)þptype.func(*"".Client) (crypto/tls.ConnectionState, bool)  û³]å30€ runtime.algarray@"runtime.gcbits.01P|go.string.hdr."func(*smtp.Client) (tls.ConnectionState, bool)"p‚go.weak.type.*func(*"".Client) (crypto/tls.ConnectionState, bool)ðptype.func(*"".Client) (crypto/tls.ConnectionState, bool)À€ptype.func(*"".Client) (crypto/tls.ConnectionState, bool)ðtype.*"".Client€>type.crypto/tls.ConnectionStatetype.boolþÜgo.typelink.func(*smtp.Client) (tls.ConnectionState, bool)	func(*"".Client) (crypto/tls.ConnectionState, bool)ptype.func(*"".Client) (crypto/tls.ConnectionState, bool)þªgo.string.hdr."func(*smtp.Client, int, string, ...interface {}) (int, string, error)"  E¢go.string."func(*smtp.Client, int, string, ...interface {}) (int, string, error)"þ¢go.string."func(*smtp.Client, int, string, ...interface {}) (int, string, error)"Œfunc(*smtp.Client, int, string, ...interface {}) (int, string, error)þtype.func(*"".Client, int, string, ...interface {}) (int, string, error)ààŠèªa30€ runtime.algarray@"runtime.gcbits.01Pªgo.string.hdr."func(*smtp.Client, int, string, ...interface {}) (int, string, error)"p¢go.weak.type.*func(*"".Client, int, string, ...interface {}) (int, string, error)ðtype.func(*"".Client, int, string, ...interface {}) (int, string, error)À°type.func(*"".Client, int, string, ...interface {}) (int, string, error)ðtype.*"".Client€type.inttype.string &type.[]interface {}°type.intÀtype.stringÐtype.errorþªgo.typelink.func(*smtp.Client, int, string, ...interface {}) (int, string, error)	func(*"".Client, int, string, ...interface {}) (int, string, error)type.func(*"".Client, int, string, ...interface {}) (int, string, error)þJgo.string.hdr."func(smtp.Auth) error"  Bgo.string."func(smtp.Auth) error"þBgo.string."func(smtp.Auth) error"0,func(smtp.Auth) errorþ0type.func("".Auth) erroräÐ(¥30€ runtime.algarray@"runtime.gcbits.01PJgo.string.hdr."func(smtp.Auth) error"pBgo.weak.type.*func("".Auth) errorð0type.func("".Auth) errorÀ€0type.func("".Auth) errorðtype."".Auth€type.errorþjgo.typelink.func(smtp.Auth) error	func("".Auth) error0type.func("".Auth) errorþ*go.string.hdr."Close"  "go.string."Close"þ"go.string."Close"Closeþ8go.string.hdr."func() error"  0go.string."func() error"þ0go.string."func() error" func() errorþ"type.func() error€€œ‚ֵ30€ runtime.algarray@"runtime.gcbits.01P8go.string.hdr."func() error"p4go.weak.type.*func() errorð"type.func() errorÀð"type.func() errorðtype.errorþJgo.typelink.func() error	func() error"type.func() errorþ(go.string.hdr."Data"   go.string."Data"þ go.string."Data"
Dataþ\go.string.hdr."func() (io.WriteCloser, error)"  Tgo.string."func() (io.WriteCloser, error)"þTgo.string."func() (io.WriteCloser, error)"@>func() (io.WriteCloser, error)þFtype.func() (io.WriteCloser, error)­oÑ30€ runtime.algarray@"runtime.gcbits.01P\go.string.hdr."func() (io.WriteCloser, error)"pXgo.weak.type.*func() (io.WriteCloser, error)ðFtype.func() (io.WriteCloser, error)ÀðFtype.func() (io.WriteCloser, error)ð&type.io.WriteCloser€type.errorþ’go.typelink.func() (io.WriteCloser, error)	func() (io.WriteCloser, error)Ftype.func() (io.WriteCloser, error)þ2go.string.hdr."Extension"  	*go.string."Extension"þ*go.string."Extension" ExtensionþVgo.string.hdr."func(string) (bool, string)"  Ngo.string."func(string) (bool, string)"þNgo.string."func(string) (bool, string)"@8func(string) (bool, string)þ@type.func(string) (bool, string)  Øöš30€ runtime.algarray@"runtime.gcbits.01PVgo.string.hdr."func(string) (bool, string)"pRgo.weak.type.*func(string) (bool, string)ð@type.func(string) (bool, string)À€@type.func(string) (bool, string)ðtype.string€type.booltype.stringþ†go.typelink.func(string) (bool, string)	func(string) (bool, string)@type.func(string) (bool, string)þ*go.string.hdr."Hello"  "go.string."Hello"þ"go.string."Hello"HelloþDgo.string.hdr."func(string) error"  <go.string."func(string) error"þ<go.string."func(string) error"0&func(string) errorþ.type.func(string) errorŠB”h30€ runtime.algarray@"runtime.gcbits.01PDgo.string.hdr."func(string) error"p@go.weak.type.*func(string) errorð.type.func(string) errorÀ€.type.func(string) errorðtype.string€type.errorþbgo.typelink.func(string) error	func(string) error.type.func(string) errorþ(go.string.hdr."Mail"   go.string."Mail"þ go.string."Mail"
Mailþ(go.string.hdr."Quit"   go.string."Quit"þ go.string."Quit"
Quitþ(go.string.hdr."Rcpt"   go.string."Rcpt"þ go.string."Rcpt"
Rcptþ*go.string.hdr."Reset"  "go.string."Reset"þ"go.string."Reset"Resetþ0go.string.hdr."StartTLS"  (go.string."StartTLS"þ(go.string."StartTLS" StartTLSþNgo.string.hdr."func(*tls.Config) error"  Fgo.string."func(*tls.Config) error"þFgo.string."func(*tls.Config) error"00func(*tls.Config) errorþFtype.func(*crypto/tls.Config) error:„ÃÎ30€ runtime.algarray@"runtime.gcbits.01PNgo.string.hdr."func(*tls.Config) error"pXgo.weak.type.*func(*crypto/tls.Config) errorðFtype.func(*crypto/tls.Config) errorÀ€Ftype.func(*crypto/tls.Config) errorð.type.*crypto/tls.Config€type.errorþ„go.typelink.func(*tls.Config) error	func(*crypto/tls.Config) errorFtype.func(*crypto/tls.Config) errorþDgo.string.hdr."TLSConnectionState"  <go.string."TLSConnectionState"þ<go.string."TLSConnectionState"0&TLSConnectionStateþdgo.string.hdr."func() (tls.ConnectionState, bool)"  "\go.string."func() (tls.ConnectionState, bool)"þ\go.string."func() (tls.ConnectionState, bool)"PFfunc() (tls.ConnectionState, bool)þ\type.func() (crypto/tls.ConnectionState, bool)¶
K130€ runtime.algarray@"runtime.gcbits.01Pdgo.string.hdr."func() (tls.ConnectionState, bool)"pngo.weak.type.*func() (crypto/tls.ConnectionState, bool)ð\type.func() (crypto/tls.ConnectionState, bool)Àð\type.func() (crypto/tls.ConnectionState, bool)ð>type.crypto/tls.ConnectionState€type.boolþ°go.typelink.func() (tls.ConnectionState, bool)	func() (crypto/tls.ConnectionState, bool)\type.func() (crypto/tls.ConnectionState, bool)þ,go.string.hdr."Verify"  $go.string."Verify"þ$go.string."Verify"Verifyþ&go.string.hdr."cmd"  go.string."cmd"þgo.string."cmd"cmdþŽgo.string.hdr."func(int, string, ...interface {}) (int, string, error)"  7†go.string."func(int, string, ...interface {}) (int, string, error)"þ†go.string."func(int, string, ...interface {}) (int, string, error)"ppfunc(int, string, ...interface {}) (int, string, error)þxtype.func(int, string, ...interface {}) (int, string, error)ÐÐód»+30€ runtime.algarray@"runtime.gcbits.01PŽgo.string.hdr."func(int, string, ...interface {}) (int, string, error)"pŠgo.weak.type.*func(int, string, ...interface {}) (int, string, error)ðxtype.func(int, string, ...interface {}) (int, string, error)À xtype.func(int, string, ...interface {}) (int, string, error)ðtype.int€type.string&type.[]interface {} type.int°type.stringÀtype.errorþögo.typelink.func(int, string, ...interface {}) (int, string, error)	func(int, string, ...interface {}) (int, string, error)xtype.func(int, string, ...interface {}) (int, string, error)þ(go.string.hdr."ehlo"   go.string."ehlo"þ go.string."ehlo"
ehloþ*go.string.hdr."hello"  "go.string."hello"þ"go.string."hello"helloþ(go.string.hdr."helo"   go.string."helo"þ go.string."helo"
heloþtype.*"".Clientà
à
M٦6¶0  runtime.algarray@"runtime.gcbits.01P8go.string.hdr."*smtp.Client"p0go.weak.type.**"".Client€type."".Client`type.*"".Client°àtype.*"".Clientà(go.string.hdr."Auth"€0type.func("".Auth) errorHtype.func(*"".Client, "".Auth) error """.(*Client).Auth°""".(*Client).AuthÀ*go.string.hdr."Close"à"type.func() errorð6type.func(*"".Client) error€$"".(*Client).Close$"".(*Client).Close (go.string.hdr."Data"ÀFtype.func() (io.WriteCloser, error)ÐZtype.func(*"".Client) (io.WriteCloser, error)à""".(*Client).Datað""".(*Client).Data€2go.string.hdr."Extension" @type.func(string) (bool, string)°Xtype.func(*"".Client, string) (bool, string)À,"".(*Client).ExtensionÐ,"".(*Client).Extensionà*go.string.hdr."Hello"€.type.func(string) errorFtype.func(*"".Client, string) error $"".(*Client).Hello°$"".(*Client).HelloÀ(go.string.hdr."Mail"à.type.func(string) errorðFtype.func(*"".Client, string) error€""".(*Client).Mail""".(*Client).Mail (go.string.hdr."Quit"À"type.func() errorÐ6type.func(*"".Client) errorà""".(*Client).Quitð""".(*Client).Quit€(go.string.hdr."Rcpt" .type.func(string) error°Ftype.func(*"".Client, string) errorÀ""".(*Client).RcptÐ""".(*Client).Rcptà*go.string.hdr."Reset"€"type.func() error6type.func(*"".Client) error $"".(*Client).Reset°$"".(*Client).ResetÀ0go.string.hdr."StartTLS"àFtype.func(*crypto/tls.Config) errorð^type.func(*"".Client, *crypto/tls.Config) error€	*"".(*Client).StartTLS	*"".(*Client).StartTLS 	Dgo.string.hdr."TLSConnectionState"À	\type.func() (crypto/tls.ConnectionState, bool)Ð	ptype.func(*"".Client) (crypto/tls.ConnectionState, bool)à	>"".(*Client).TLSConnectionStateð	>"".(*Client).TLSConnectionState€
,go.string.hdr."Verify" 
.type.func(string) error°
Ftype.func(*"".Client, string) errorÀ
&"".(*Client).VerifyÐ
&"".(*Client).Verifyà
&go.string.hdr."cmd"ð
"go.importpath."".€xtype.func(int, string, ...interface {}) (int, string, error)type.func(*"".Client, int, string, ...interface {}) (int, string, error)  "".(*Client).cmd° "".(*Client).cmdÀ(go.string.hdr."ehlo"Ð"go.importpath."".à"type.func() errorð6type.func(*"".Client) error€""".(*Client).ehlo""".(*Client).ehlo *go.string.hdr."hello"°"go.importpath."".À"type.func() errorÐ6type.func(*"".Client) errorà$"".(*Client).helloð$"".(*Client).hello€
(go.string.hdr."helo"
"go.importpath."". 
"type.func() error°
6type.func(*"".Client) errorÀ
""".(*Client).heloÐ
""".(*Client).heloþTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·3bb21ca8fe1d99a3e492463bd711418aþ<type..hashfunc.[1]interface {}4type..hash.[1]interface {}þ8type..eqfunc.[1]interface {}0type..eq.[1]interface {}þ2type..alg.[1]interface {}  <type..hashfunc.[1]interface {}8type..eqfunc.[1]interface {}þ>go.string.hdr."[1]interface {}"  6go.string."[1]interface {}"þ6go.string."[1]interface {}"  [1]interface {}þ(type.[1]interface {}°°P‘[ú02type..alg.[1]interface {}@"runtime.gcbits.03P>go.string.hdr."[1]interface {}"p:go.weak.type.*[1]interface {}€"type.interface {}&type.[]interface {}þVgo.typelink.[1]interface {}	[1]interface {}(type.[1]interface {}þ@go.string.hdr."*[1]interface {}"  8go.string."*[1]interface {}"þ8go.string."*[1]interface {}"0"*[1]interface {}þ*type.*[1]interface {}¿¨56
0  runtime.algarray@"runtime.gcbits.01P@go.string.hdr."*[1]interface {}"p<go.weak.type.**[1]interface {}€(type.[1]interface {}þTgclocals·33cdeccccebe80329f1fdbee7f5874cbþTgclocals·0b86ef39f3fed835f14ba5f4d7c62fa2þTgclocals·a8eabfc4a4514ed6b3b0c61e9680e440þTgclocals·3bb21ca8fe1d99a3e492463bd711418aþ8type..hashfunc."".dataCloser0type..hash."".dataCloserþ4type..eqfunc."".dataCloser,type..eq."".dataCloserþ.type..alg."".dataCloser  8type..hashfunc."".dataCloser4type..eqfunc."".dataCloserþ"runtime.gcbits.07þ>go.string.hdr."smtp.dataCloser"  6go.string."smtp.dataCloser"þ6go.string."smtp.dataCloser"  smtp.dataCloserþ"go.string.hdr."c"  go.string."c"þgo.string."c"cþTgclocals·23e8278e2b69a3a75fa59b23c49ed6adþTgclocals·b60dc0a6046c556b02baa766a3fd5a27þTgclocals·23e8278e2b69a3a75fa59b23c49ed6adþTgclocals·c9e450c3217846248adec84c41d9b7ca	þvgo.string.hdr."func(smtp.dataCloser, []uint8) (int, error)"  +ngo.string."func(smtp.dataCloser, []uint8) (int, error)"þngo.string."func(smtp.dataCloser, []uint8) (int, error)"`Xfunc(smtp.dataCloser, []uint8) (int, error)þ\type.func("".dataCloser, []uint8) (int, error)°°DÁÅ30€ runtime.algarray@"runtime.gcbits.01Pvgo.string.hdr."func(smtp.dataCloser, []uint8) (int, error)"pngo.weak.type.*func("".dataCloser, []uint8) (int, error)ð\type.func("".dataCloser, []uint8) (int, error)À\type.func("".dataCloser, []uint8) (int, error)ð$type."".dataCloser€type.[]uint8type.int type.errorþÂgo.typelink.func(smtp.dataCloser, []uint8) (int, error)	func("".dataCloser, []uint8) (int, error)\type.func("".dataCloser, []uint8) (int, error)þ4go.string.hdr."dataCloser"  
,go.string."dataCloser"þ,go.string."dataCloser" dataCloserþ*go.string.hdr."Write"  "go.string."Write"þ"go.string."Write"WriteþTgo.string.hdr."func([]uint8) (int, error)"  Lgo.string."func([]uint8) (int, error)"þLgo.string."func([]uint8) (int, error)"@6func([]uint8) (int, error)þ>type.func([]uint8) (int, error)  „N4P30€ runtime.algarray@"runtime.gcbits.01PTgo.string.hdr."func([]uint8) (int, error)"pPgo.weak.type.*func([]uint8) (int, error)ð>type.func([]uint8) (int, error)À€>type.func([]uint8) (int, error)ðtype.[]uint8€type.inttype.errorþ‚go.typelink.func([]uint8) (int, error)	func([]uint8) (int, error)>type.func([]uint8) (int, error)þ$type."".dataCloser€€_Í$0.type..alg."".dataCloser@"runtime.gcbits.07P>go.string.hdr."smtp.dataCloser"p&type.*"".dataCloser€°$type."".dataCloser°"go.string.hdr."c"À"go.importpath."".Ðtype.*"".Client &type.io.WriteCloser`Ð$type."".dataCloserÐ4go.string.hdr."dataCloser"à"go.importpath."".ð $type."".dataCloser *go.string.hdr."Write"À>type.func([]uint8) (int, error)Ð\type.func("".dataCloser, []uint8) (int, error)à,"".(*dataCloser).Writeð&"".dataCloser.Writeþ@go.string.hdr."*smtp.dataCloser"  8go.string."*smtp.dataCloser"þ8go.string."*smtp.dataCloser"0"*smtp.dataCloserþXgo.string.hdr."func(*smtp.dataCloser) error"  Pgo.string."func(*smtp.dataCloser) error"þPgo.string."func(*smtp.dataCloser) error"@:func(*smtp.dataCloser) errorþ>type.func(*"".dataCloser) errorRØ230€ runtime.algarray@"runtime.gcbits.01PXgo.string.hdr."func(*smtp.dataCloser) error"pPgo.weak.type.*func(*"".dataCloser) errorð>type.func(*"".dataCloser) errorÀ€>type.func(*"".dataCloser) errorð&type.*"".dataCloser€type.errorþ†go.typelink.func(*smtp.dataCloser) error	func(*"".dataCloser) error>type.func(*"".dataCloser) errorþxgo.string.hdr."func(*smtp.dataCloser, []uint8) (int, error)"  ,pgo.string."func(*smtp.dataCloser, []uint8) (int, error)"þpgo.string."func(*smtp.dataCloser, []uint8) (int, error)"`Zfunc(*smtp.dataCloser, []uint8) (int, error)þ^type.func(*"".dataCloser, []uint8) (int, error)°°Ïÿø30€ runtime.algarray@"runtime.gcbits.01Pxgo.string.hdr."func(*smtp.dataCloser, []uint8) (int, error)"ppgo.weak.type.*func(*"".dataCloser, []uint8) (int, error)ð^type.func(*"".dataCloser, []uint8) (int, error)À^type.func(*"".dataCloser, []uint8) (int, error)ð&type.*"".dataCloser€type.[]uint8type.int type.errorþÆgo.typelink.func(*smtp.dataCloser, []uint8) (int, error)	func(*"".dataCloser, []uint8) (int, error)^type.func(*"".dataCloser, []uint8) (int, error)þ&type.*"".dataCloser  V	¼Ð6"0  runtime.algarray@"runtime.gcbits.01P@go.string.hdr."*smtp.dataCloser"p8go.weak.type.**"".dataCloser€$type."".dataCloser`&type.*"".dataCloser°à&type.*"".dataCloserà*go.string.hdr."Close"€"type.func() error>type.func(*"".dataCloser) error ,"".(*dataCloser).Close°,"".(*dataCloser).CloseÀ*go.string.hdr."Write"à>type.func([]uint8) (int, error)ð^type.func(*"".dataCloser, []uint8) (int, error)€,"".(*dataCloser).Write,"".(*dataCloser).WriteþBgo.string.hdr."func(*tls.Config)"  :go.string."func(*tls.Config)"þ:go.string."func(*tls.Config)"0$func(*tls.Config)þ:type.func(*crypto/tls.Config)€€ä~}*30€ runtime.algarray@"runtime.gcbits.01PBgo.string.hdr."func(*tls.Config)"pLgo.weak.type.*func(*crypto/tls.Config)ð:type.func(*crypto/tls.Config)À€:type.func(*crypto/tls.Config)ð.type.*crypto/tls.Configþlgo.typelink.func(*tls.Config)	func(*crypto/tls.Config):type.func(*crypto/tls.Config)þ4go.string.hdr."*[8]string"  
,go.string."*[8]string"þ,go.string."*[8]string" *[8]stringþtype.*[8]string­”o6
0  runtime.algarray@"runtime.gcbits.01P4go.string.hdr."*[8]string"p0go.weak.type.**[8]string€type.[8]stringþ6go.string.hdr."crypto/hmac"  .go.string."crypto/hmac"þ.go.string."crypto/hmac" crypto/hmacþ4go.importpath.crypto/hmac.  .go.string."crypto/hmac"þ$go.string.hdr."io"  go.string."io"þgo.string."io"ioþ"go.importpath.io.  go.string."io"þ4go.string.hdr."crypto/md5"  
,go.string."crypto/md5"þ,go.string."crypto/md5" crypto/md5þ2go.importpath.crypto/md5.  
,go.string."crypto/md5"þ,go.string.hdr."errors"  $go.string."errors"þ$go.string."errors"errorsþ*go.importpath.errors.  $go.string."errors"þ&go.string.hdr."fmt"  go.string."fmt"þgo.string."fmt"fmtþ$go.importpath.fmt.  go.string."fmt"þ4go.string.hdr."crypto/tls"  
,go.string."crypto/tls"þ,go.string."crypto/tls" crypto/tlsþ2go.importpath.crypto/tls.  
,go.string."crypto/tls"þ.go.string.hdr."strings"  &go.string."strings"þ&go.string."strings"stringsþ,go.importpath.strings.  &go.string."strings"þ&go.string.hdr."net"  go.string."net"þgo.string."net"netþ$go.importpath.net.  go.string."net"þ>go.string.hdr."encoding/base64"  6go.string."encoding/base64"þ6go.string."encoding/base64"  encoding/base64þ<go.importpath.encoding/base64.  6go.string."encoding/base64"þ:go.string.hdr."net/textproto"  
2go.string."net/textproto"þ2go.string."net/textproto" net/textprotoþ8go.importpath.net/textproto.  
2go.string."net/textproto"þ4type..hash."".plainAuth·f.type..hash."".plainAuthþ0type..eq."".plainAuth·f*type..eq."".plainAuthþ"".Auth.Next·f"".Auth.Nextþ "".Auth.Start·f"".Auth.Startþ8type..hash."".cramMD5Auth·f2type..hash."".cramMD5Authþ4type..eq."".cramMD5Auth·f.type..eq."".cramMD5Authþ:type..hash.[2]interface {}·f4type..hash.[2]interface {}þ6type..eq.[2]interface {}·f0type..eq.[2]interface {}þ.type..hash.[8]string·f(type..hash.[8]stringþ*type..eq.[8]string·f$type..eq.[8]stringþ:type..hash.[1]interface {}·f4type..hash.[1]interface {}þ6type..eq.[1]interface {}·f0type..eq.[1]interface {}þ6type..hash."".dataCloser·f0type..hash."".dataCloserþ2type..eq."".dataCloser·f,type..eq."".dataCloserþ2"".(*dataCloser).Write·f,"".(*dataCloser).Writeþ,"".dataCloser.Write·f&"".dataCloser.Writeÿÿgo13ld