From bc7663d2b527d30f77c528705f9166d2fba1d6ac Mon Sep 17 00:00:00 2001 From: reusee <reusee@gmail.com> Date: Tue, 30 Aug 2022 06:06:33 +0800 Subject: [PATCH] process: add Process.FileService (#4760) sql: refactor external table with Process.FileService init file service on CN and pass to frontend Co-authored-by: fengttt <fengttt@gmail.com> --- cmd/mo-service/main.go | 7 +- etc/cn-minimal-test.toml | 8 + etc/cn-standalone-test.toml | 11 +- pkg/cnservice/server.go | 56 +- pkg/cnservice/types.go | 10 +- pkg/config/configuration.go | 4 + pkg/frontend/mysql_cmd_executor.go | 2 + pkg/sql/colexec/external/external.go | 236 +- pkg/sql/colexec/external/external_test.go | 12 +- pkg/sql/parsers/dialect/mysql/keywords.go | 1 - pkg/sql/parsers/dialect/mysql/mysql_sql.go | 7115 ++++++++--------- pkg/sql/parsers/dialect/mysql/mysql_sql.y | 35 +- .../parsers/dialect/mysql/mysql_sql_test.go | 6 - pkg/sql/parsers/tree/create.go | 9 +- pkg/sql/parsers/tree/update.go | 27 +- pkg/sql/plan/build_ddl.go | 8 - pkg/testutil/util_make.go | 1 + pkg/testutil/util_new.go | 22 + pkg/vm/process/process.go | 1 + pkg/vm/process/types.go | 3 + 20 files changed, 3706 insertions(+), 3868 deletions(-) diff --git a/cmd/mo-service/main.go b/cmd/mo-service/main.go index cc444fd63..44ea920db 100644 --- a/cmd/mo-service/main.go +++ b/cmd/mo-service/main.go @@ -90,7 +90,12 @@ func startService(cfg *Config, stopper *stopper.Stopper) error { func startCNService(cfg *Config, stopper *stopper.Stopper) error { return stopper.RunNamedTask("cn-service", func(ctx context.Context) { c := cfg.getCNServiceConfig() - s, err := cnservice.NewService(&c, ctx, cnservice.WithMessageHandle(compile.CnServerMessageHandler)) + s, err := cnservice.NewService( + &c, + ctx, + cfg.createFileService, + cnservice.WithMessageHandle(compile.CnServerMessageHandler), + ) if err != nil { panic(err) } diff --git a/etc/cn-minimal-test.toml b/etc/cn-minimal-test.toml index 6d9821542..9b7a2dfcd 100644 --- a/etc/cn-minimal-test.toml +++ b/etc/cn-minimal-test.toml @@ -15,3 +15,11 @@ service-addresses = [ [cn.Engine] type = "tae" +[[fileservice]] +name = 'LOCAL' +backend = 'MEM' + +[[fileservice]] +name = 'S3' +backend = 'MEM' + diff --git a/etc/cn-standalone-test.toml b/etc/cn-standalone-test.toml index 012cdb501..53aabf081 100644 --- a/etc/cn-standalone-test.toml +++ b/etc/cn-standalone-test.toml @@ -12,9 +12,18 @@ service-addresses = [ "2" ] +[[fileservice]] +name = "LOCAL" +backend = "MEM" + +[[fileservice]] +name = "S3" +backend = "MEM" + [cn.Engine] type = "tae" # you can move your vars in system_vars_config.toml to here. empty for default value # log vars in system_vars_config.toml was removed. use [log] to set log vars -[cn.frontend] \ No newline at end of file +[cn.frontend] + diff --git a/pkg/cnservice/server.go b/pkg/cnservice/server.go index 25ea781d8..61d55e93a 100644 --- a/pkg/cnservice/server.go +++ b/pkg/cnservice/server.go @@ -20,6 +20,7 @@ import ( "sync" "github.com/matrixorigin/matrixone/pkg/config" + "github.com/matrixorigin/matrixone/pkg/fileservice" "github.com/matrixorigin/matrixone/pkg/frontend" "github.com/matrixorigin/matrixone/pkg/logservice" "github.com/matrixorigin/matrixone/pkg/sql/compile" @@ -36,15 +37,28 @@ import ( "github.com/matrixorigin/matrixone/pkg/pb/pipeline" ) +const ( + s3FileServiceName = "S3" + localFileServiceName = "LOCAL" +) + type Options func(*service) -func NewService(cfg *Config, ctx context.Context, options ...Options) (Service, error) { +func NewService( + cfg *Config, + ctx context.Context, + newFS fileservice.NewFileServicesFunc, + options ...Options, +) (Service, error) { if err := cfg.Validate(); err != nil { return nil, err } - srv := &service{cfg: cfg} + srv := &service{ + cfg: cfg, + newFS: newFS, + } srv.logger = logutil.Adjust(srv.logger) srv.responsePool = &sync.Pool{ New: func() any { @@ -113,6 +127,12 @@ func (s *service) initMOServer(ctx context.Context, pu *config.ParameterUnit) er pu.HostMmu = host.New(pu.SV.HostMmuLimitation) + fs, err := s.getFileService() + if err != nil { + return err + } + pu.FileService = fs + logutil.Info("Initialize the engine ...") err = s.initEngine(ctx, cancelMoServerCtx, pu) if err != nil { @@ -236,7 +256,7 @@ func (s *service) getTxnClient() (c client.TxnClient, err error) { if err != nil { return } - c = client.NewTxnClient(sender) //TODO options + c = client.NewTxnClient(sender) s._txnClient = c }) c = s._txnClient @@ -248,3 +268,33 @@ func WithMessageHandle(f func(ctx context.Context, message morpc.Message, cs mor s.requestHandler = f } } + +func (s *service) getFileService() (fs fileservice.FileService, err error) { + s.initFileServiceOnce.Do(func() { + + // create + fs, err = s.newFS(localFileServiceName) + if err != nil { + return + } + + // ensure local exists + _, err := fileservice.Get[fileservice.FileService](fs, localFileServiceName) + if err != nil { + return + } + + // ensure s3 exists + _, err = fileservice.Get[fileservice.FileService](fs, s3FileServiceName) + if err != nil { + return + } + + // set + s._fileService = fs + + }) + + fs = s._fileService + return +} diff --git a/pkg/cnservice/types.go b/pkg/cnservice/types.go index b0f89369d..f0b8d8825 100644 --- a/pkg/cnservice/types.go +++ b/pkg/cnservice/types.go @@ -54,13 +54,6 @@ type Config struct { Type EngineType `toml:"type"` } - FileService struct { - // Backend file service backend implementation. [Mem|DISK|S3|MINIO]. Default is DISK. - Backend string `toml:"backend"` - // S3 s3 configuration - S3 fileservice.S3Config `toml:"s3"` - } - // parameters for cn-server related buffer. PayLoadCopyBufferSize int ReadBufferSize int @@ -126,4 +119,7 @@ type service struct { _txnSender rpc.TxnSender initTxnClientOnce sync.Once _txnClient client.TxnClient + initFileServiceOnce sync.Once + _fileService fileservice.FileService + newFS fileservice.NewFileServicesFunc } diff --git a/pkg/config/configuration.go b/pkg/config/configuration.go index 96f32f699..38547c2e1 100644 --- a/pkg/config/configuration.go +++ b/pkg/config/configuration.go @@ -17,6 +17,7 @@ package config import ( "context" + "github.com/matrixorigin/matrixone/pkg/fileservice" "github.com/matrixorigin/matrixone/pkg/logutil" "github.com/matrixorigin/matrixone/pkg/txn/client" "github.com/matrixorigin/matrixone/pkg/util/toml" @@ -355,6 +356,9 @@ type ParameterUnit struct { //Cluster Nodes ClusterNodes engine.Nodes + + // FileService + FileService fileservice.FileService } func NewParameterUnit( diff --git a/pkg/frontend/mysql_cmd_executor.go b/pkg/frontend/mysql_cmd_executor.go index d46a7e60b..80eb66360 100644 --- a/pkg/frontend/mysql_cmd_executor.go +++ b/pkg/frontend/mysql_cmd_executor.go @@ -1574,6 +1574,7 @@ func (cwft *TxnComputationWrapper) Compile(requestCtx context.Context, u interfa cwft.proc.UnixTime = time.Now().UnixNano() txnHandler := cwft.ses.GetTxnHandler() cwft.proc.TxnOperator = txnHandler.GetTxn() + cwft.proc.FileService = cwft.ses.Pu.FileService cwft.compile = compile.New(cwft.ses.GetDatabaseName(), cwft.ses.GetSql(), cwft.ses.GetUserName(), requestCtx, cwft.ses.GetStorage(), cwft.proc, cwft.stmt) err = cwft.compile.Compile(cwft.plan, cwft.ses, fill) if err != nil { @@ -1708,6 +1709,7 @@ func (mce *MysqlCmdExecutor) doComQuery(requestCtx context.Context, sql string) Version: serverVersion, TimeZone: ses.timeZone, } + proc.FileService = ses.Pu.FileService cws, err := GetComputationWrapper(ses.GetDatabaseName(), sql, diff --git a/pkg/sql/colexec/external/external.go b/pkg/sql/colexec/external/external.go index 13fca549e..64d6153ad 100644 --- a/pkg/sql/colexec/external/external.go +++ b/pkg/sql/colexec/external/external.go @@ -26,8 +26,8 @@ import ( "fmt" "io" "math" - "os" "path" + "path/filepath" "strconv" "strings" "sync/atomic" @@ -50,7 +50,7 @@ func String(arg any, buf *bytes.Buffer) { buf.WriteString("sql output") } -func Prepare(_ *process.Process, arg any) error { +func Prepare(proc *process.Process, arg any) error { param := arg.(*Argument).Es param.batchSize = 40000 param.extern = &tree.ExternParam{} @@ -59,9 +59,10 @@ func Prepare(_ *process.Process, arg any) error { param.End = true return err } + param.extern.FileService = proc.FileService param.IgnoreLineTag = int(param.extern.Tail.IgnoredLines) param.IgnoreLine = param.IgnoreLineTag - fileList, err := getFileDataList(param.extern) + fileList, err := ReadDir(param.extern) if err != nil { param.End = true return err @@ -92,143 +93,76 @@ func Call(_ int, proc *process.Process, arg any) (bool, error) { return false, nil } -func ReadFromS3(param *tree.ExternParam) ([]string, error) { - var config fileservice.S3Config - config.Bucket = param.S3Param.Config.Bucket - config.Endpoint = param.S3Param.Config.Endpoint +func ReadDir(param *tree.ExternParam) (fileList []string, err error) { + dir, pattern := path.Split(param.Filepath) - if param.S3Param.APIKey != "" { - os.Setenv("AWS_REGION", param.S3Param.Region) - os.Setenv("AWS_ACCESS_KEY_ID", param.S3Param.APIKey) - os.Setenv("AWS_SECRET_ACCESS_KEY", param.S3Param.APISecret) - } - - fs, err := fileservice.NewS3FS( - "", - "s3", - config.Endpoint, - config.Bucket, - config.KeyPrefix, - 128*1024, - ) + var fs fileservice.ETLFileService + var readPath string + fsPath, err := fileservice.ParsePath(dir) if err != nil { return nil, err } - - index := strings.LastIndex(param.Filepath, "/") - dir, file := "", param.Filepath - if index != -1 { - dir = string([]byte(param.Filepath)[0:index]) - file = string([]byte(param.Filepath)[index+1:]) + if fsPath.Service == "" { + // no service, create ETL fs + fs, err = fileservice.NewLocalETLFS("etl", dir) + if err != nil { + return nil, err + } + readPath = "" + } else { + // get etl fs + fs, err = fileservice.Get[fileservice.ETLFileService](param.FileService, fsPath.Service) + if err != nil { + return nil, err + } + readPath = dir } - ctx := context.Background() - DirEntry, err := fs.List(ctx, dir) + ctx := context.TODO() + entries, err := fs.List(ctx, readPath) if err != nil { return nil, err } - var fileList []string - for _, entry := range DirEntry { - matched, _ := path.Match(file, entry.Name) - if matched { - if dir != "" { - fileList = append(fileList, dir+"/"+entry.Name) - } else { - fileList = append(fileList, entry.Name) - } + for _, entry := range entries { + matched, _ := path.Match(pattern, entry.Name) + if !matched { + continue } - } - return fileList, nil -} - -func ReadFromS3File(param *tree.ExternParam) (io.ReadCloser, error) { - var config fileservice.S3Config - config.Bucket = param.S3Param.Config.Bucket - config.Endpoint = param.S3Param.Config.Endpoint - - if param.S3Param.APIKey != "" { - os.Setenv("AWS_REGION", param.S3Param.Region) - os.Setenv("AWS_ACCESS_KEY_ID", param.S3Param.APIKey) - os.Setenv("AWS_SECRET_ACCESS_KEY", param.S3Param.APISecret) - } - - fs, err := fileservice.NewS3FS( - "", - "s3", - config.Endpoint, - config.Bucket, - config.KeyPrefix, - 128*1024, - ) - if err != nil { - return nil, err + fileList = append(fileList, path.Join(dir, entry.Name)) } - var r io.ReadCloser - vec := fileservice.IOVector{ - FilePath: param.Filepath, - Entries: []fileservice.IOEntry{ - 0: { - Offset: 0, - Size: -1, - ReadCloserForRead: &r, - }, - }, - } - ctx := context.Background() - err = fs.Read(ctx, &vec) - if err != nil { - return nil, err - } - return r, nil + return } -func ReadFromLocal(param *tree.ExternParam) ([]string, error) { - index := strings.LastIndex(param.Filepath, "/") - dir, file := "", param.Filepath - if index != -1 { - dir = string([]byte(param.Filepath)[0:index]) - file = string([]byte(param.Filepath)[index+1:]) - } - - fs, err := fileservice.NewLocalETLFS("etl", dir) - if err != nil { - return nil, err - } +func ReadFile(param *tree.ExternParam) (io.ReadCloser, error) { - ctx := context.Background() - DirEntry, err := fs.List(ctx, "") + var fs fileservice.ETLFileService + var readPath string + fsPath, err := fileservice.ParsePath(param.Filepath) if err != nil { return nil, err } - - var fileList []string - for _, entry := range DirEntry { - matched, _ := path.Match(file, entry.Name) - if matched { - fileList = append(fileList, dir+"/"+entry.Name) + if fsPath.Service == "" { + // no service, create ETL fs + dir, file := filepath.Split(param.Filepath) + fs, err = fileservice.NewLocalETLFS("etl", dir) + if err != nil { + return nil, err } + readPath = file + } else { + // get etl fs + fs, err = fileservice.Get[fileservice.ETLFileService](param.FileService, fsPath.Service) + if err != nil { + return nil, err + } + readPath = fsPath.Full } - return fileList, nil -} -func ReadFromLocalFile(param *tree.ExternParam) (io.ReadCloser, error) { var r io.ReadCloser - index := strings.LastIndex(param.Filepath, "/") - dir, file := "", param.Filepath - if index != -1 { - dir = string([]byte(param.Filepath)[0:index]) - file = string([]byte(param.Filepath)[index+1:]) - } - - fs, err := fileservice.NewLocalETLFS("etl", dir) - if err != nil { - return nil, err - } - ctx := context.Background() vec := fileservice.IOVector{ - FilePath: file, + FilePath: readPath, Entries: []fileservice.IOEntry{ 0: { Offset: 0, @@ -237,6 +171,7 @@ func ReadFromLocalFile(param *tree.ExternParam) (io.ReadCloser, error) { }, }, } + ctx := context.TODO() err = fs.Read(ctx, &vec) if err != nil { return nil, err @@ -244,73 +179,6 @@ func ReadFromLocalFile(param *tree.ExternParam) (io.ReadCloser, error) { return r, nil } -func InitS3Param(param *tree.ExternParam) error { - param.S3Param = &tree.S3Parameter{} - for i := 0; i < len(param.S3option); i += 2 { - switch strings.ToLower(param.S3option[i]) { - case "endpoint": - param.S3Param.Config.Endpoint = param.S3option[i+1] - case "region": - param.S3Param.Region = param.S3option[i+1] - case "access_key_id": - param.S3Param.APIKey = param.S3option[i+1] - case "secret_access_key": - param.S3Param.APISecret = param.S3option[i+1] - case "bucket": - param.S3Param.Config.Bucket = param.S3option[i+1] - case "filepath": - param.Filepath = param.S3option[i+1] - case "compression": - param.CompressType = param.S3option[i+1] - default: - return fmt.Errorf("the keyword '%s' is not support", strings.ToLower(param.S3option[i])) - } - } - return nil -} - -func getFileDataList(param *tree.ExternParam) ([]string, error) { - switch param.ScanType { - case tree.LOCAL: - fileList, err := ReadFromLocal(param) - if err != nil { - return nil, err - } - return fileList, nil - case tree.S3, tree.MinIO: - err := InitS3Param(param) - if err != nil { - return nil, err - } - fileList, err := ReadFromS3(param) - if err != nil { - return nil, err - } - return fileList, nil - default: - return nil, errors.New("the extern file type is not support now") - } -} - -func getFileDataReader(param *tree.ExternParam) (io.ReadCloser, error) { - switch param.ScanType { - case tree.LOCAL: - reader, err := ReadFromLocalFile(param) - if err != nil { - return nil, err - } - return reader, nil - case tree.S3, tree.MinIO: - reader, err := ReadFromS3File(param) - if err != nil { - return nil, err - } - return reader, nil - default: - return nil, errors.New("the extern file type is not support now") - } -} - func getCompressType(param *tree.ExternParam) string { if param.CompressType != "" && param.CompressType != tree.AUTO { return param.CompressType @@ -788,7 +656,7 @@ func GetBatchData(param *ExternalParam, plh *ParseLineHandler, proc *process.Pro // get file reader from external file func GetSimdcsvReader(param *ExternalParam) (*ParseLineHandler, error) { var err error - param.reader, err = getFileDataReader(param.extern) + param.reader, err = ReadFile(param.extern) if err != nil { return nil, err } diff --git a/pkg/sql/colexec/external/external_test.go b/pkg/sql/colexec/external/external_test.go index 55cf3da10..acca0415e 100644 --- a/pkg/sql/colexec/external/external_test.go +++ b/pkg/sql/colexec/external/external_test.go @@ -22,7 +22,7 @@ import ( "github.com/matrixorigin/matrixone/pkg/container/types" "github.com/matrixorigin/matrixone/pkg/sql/parsers/tree" - "github.com/matrixorigin/matrixone/pkg/vm/mheap" + "github.com/matrixorigin/matrixone/pkg/testutil" "github.com/matrixorigin/matrixone/pkg/vm/mmu/guest" "github.com/matrixorigin/matrixone/pkg/vm/mmu/host" "github.com/matrixorigin/matrixone/pkg/vm/process" @@ -46,7 +46,8 @@ var ( ) func newTestCase(gm *guest.Mmu, all bool) externalTestCase { - proc := process.New(mheap.New(gm)) + proc := testutil.NewProcess() + proc.FileService = testutil.NewFS() ctx, cancel := context.WithCancel(context.Background()) return externalTestCase{ proc: proc, @@ -83,10 +84,10 @@ func Test_Prepare(t *testing.T) { extern := &tree.ExternParam{ Filepath: "", - ScanType: tree.LOCAL, Tail: &tree.TailParameter{ IgnoredLines: 0, }, + FileService: tcs.proc.FileService, } json_byte, err := json.Marshal(extern) if err != nil { @@ -98,7 +99,6 @@ func Test_Prepare(t *testing.T) { convey.So(param.FileList, convey.ShouldBeNil) convey.So(param.FileCnt, convey.ShouldEqual, 0) - extern.ScanType = tree.S3 json_byte, err = json.Marshal(extern) if err != nil { panic(err) @@ -116,10 +116,10 @@ func Test_Call(t *testing.T) { param := tcs.arg.Es extern := &tree.ExternParam{ Filepath: "", - ScanType: tree.LOCAL, Tail: &tree.TailParameter{ IgnoredLines: 0, }, + FileService: tcs.proc.FileService, } param.extern = extern param.End = false @@ -128,8 +128,6 @@ func Test_Call(t *testing.T) { convey.So(err, convey.ShouldNotBeNil) convey.So(end, convey.ShouldBeFalse) - extern.ScanType = tree.S3 - extern.S3Param = &tree.S3Parameter{} param.End = false end, err = Call(1, tcs.proc, tcs.arg) convey.So(err, convey.ShouldNotBeNil) diff --git a/pkg/sql/parsers/dialect/mysql/keywords.go b/pkg/sql/parsers/dialect/mysql/keywords.go index ce6b06d00..c2e378743 100644 --- a/pkg/sql/parsers/dialect/mysql/keywords.go +++ b/pkg/sql/parsers/dialect/mysql/keywords.go @@ -281,7 +281,6 @@ func init() { "force_quote": FORCE_QUOTE, "external": EXTERNAL, "url": URL, - "s3option": S3OPTION, "parser": PARSER, "partition": PARTITION, "partitions": PARTITIONS, diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.go b/pkg/sql/parsers/dialect/mysql/mysql_sql.go index b8bbb4553..3f96d851f 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.go @@ -274,213 +274,212 @@ const SOME = 57596 const EXTERNAL = 57597 const LOCALFILE = 57598 const URL = 57599 -const S3OPTION = 57600 -const PREPARE = 57601 -const DEALLOCATE = 57602 -const PROPERTIES = 57603 -const PARSER = 57604 -const VISIBLE = 57605 -const INVISIBLE = 57606 -const BTREE = 57607 -const HASH = 57608 -const RTREE = 57609 -const BSI = 57610 -const ZONEMAP = 57611 -const LEADING = 57612 -const BOTH = 57613 -const TRAILING = 57614 -const UNKNOWN = 57615 -const EXPIRE = 57616 -const ACCOUNT = 57617 -const UNLOCK = 57618 -const DAY = 57619 -const NEVER = 57620 -const SECOND = 57621 -const ASCII = 57622 -const COALESCE = 57623 -const COLLATION = 57624 -const HOUR = 57625 -const MICROSECOND = 57626 -const MINUTE = 57627 -const MONTH = 57628 -const QUARTER = 57629 -const REPEAT = 57630 -const REVERSE = 57631 -const ROW_COUNT = 57632 -const WEEK = 57633 -const REVOKE = 57634 -const FUNCTION = 57635 -const PRIVILEGES = 57636 -const TABLESPACE = 57637 -const EXECUTE = 57638 -const SUPER = 57639 -const GRANT = 57640 -const OPTION = 57641 -const REFERENCES = 57642 -const REPLICATION = 57643 -const SLAVE = 57644 -const CLIENT = 57645 -const USAGE = 57646 -const RELOAD = 57647 -const FILE = 57648 -const TEMPORARY = 57649 -const ROUTINE = 57650 -const EVENT = 57651 -const SHUTDOWN = 57652 -const NULLX = 57653 -const AUTO_INCREMENT = 57654 -const APPROXNUM = 57655 -const SIGNED = 57656 -const UNSIGNED = 57657 -const ZEROFILL = 57658 -const ADMIN_NAME = 57659 -const RANDOM = 57660 -const SUSPEND = 57661 -const ATTRIBUTE = 57662 -const HISTORY = 57663 -const REUSE = 57664 -const CURRENT = 57665 -const OPTIONAL = 57666 -const FAILED_LOGIN_ATTEMPTS = 57667 -const PASSWORD_LOCK_TIME = 57668 -const UNBOUNDED = 57669 -const SECONDARY = 57670 -const USER = 57671 -const IDENTIFIED = 57672 -const CIPHER = 57673 -const ISSUER = 57674 -const X509 = 57675 -const SUBJECT = 57676 -const SAN = 57677 -const REQUIRE = 57678 -const SSL = 57679 -const NONE = 57680 -const PASSWORD = 57681 -const MAX_QUERIES_PER_HOUR = 57682 -const MAX_UPDATES_PER_HOUR = 57683 -const MAX_CONNECTIONS_PER_HOUR = 57684 -const MAX_USER_CONNECTIONS = 57685 -const FORMAT = 57686 -const VERBOSE = 57687 -const CONNECTION = 57688 -const LOAD = 57689 -const INFILE = 57690 -const TERMINATED = 57691 -const OPTIONALLY = 57692 -const ENCLOSED = 57693 -const ESCAPED = 57694 -const STARTING = 57695 -const LINES = 57696 -const DATABASES = 57697 -const TABLES = 57698 -const EXTENDED = 57699 -const FULL = 57700 -const PROCESSLIST = 57701 -const FIELDS = 57702 -const COLUMNS = 57703 -const OPEN = 57704 -const ERRORS = 57705 -const WARNINGS = 57706 -const INDEXES = 57707 -const SCHEMAS = 57708 -const NAMES = 57709 -const GLOBAL = 57710 -const SESSION = 57711 -const ISOLATION = 57712 -const LEVEL = 57713 -const READ = 57714 -const WRITE = 57715 -const ONLY = 57716 -const REPEATABLE = 57717 -const COMMITTED = 57718 -const UNCOMMITTED = 57719 -const SERIALIZABLE = 57720 -const LOCAL = 57721 -const CURRENT_TIMESTAMP = 57722 -const DATABASE = 57723 -const CURRENT_TIME = 57724 -const LOCALTIME = 57725 -const LOCALTIMESTAMP = 57726 -const UTC_DATE = 57727 -const UTC_TIME = 57728 -const UTC_TIMESTAMP = 57729 -const REPLACE = 57730 -const CONVERT = 57731 -const SEPARATOR = 57732 -const CURRENT_DATE = 57733 -const CURRENT_USER = 57734 -const CURRENT_ROLE = 57735 -const SECOND_MICROSECOND = 57736 -const MINUTE_MICROSECOND = 57737 -const MINUTE_SECOND = 57738 -const HOUR_MICROSECOND = 57739 -const HOUR_SECOND = 57740 -const HOUR_MINUTE = 57741 -const DAY_MICROSECOND = 57742 -const DAY_SECOND = 57743 -const DAY_MINUTE = 57744 -const DAY_HOUR = 57745 -const YEAR_MONTH = 57746 -const SQL_TSI_HOUR = 57747 -const SQL_TSI_DAY = 57748 -const SQL_TSI_WEEK = 57749 -const SQL_TSI_MONTH = 57750 -const SQL_TSI_QUARTER = 57751 -const SQL_TSI_YEAR = 57752 -const SQL_TSI_SECOND = 57753 -const SQL_TSI_MINUTE = 57754 -const RECURSIVE = 57755 -const CONFIG = 57756 -const MATCH = 57757 -const AGAINST = 57758 -const BOOLEAN = 57759 -const LANGUAGE = 57760 -const WITH = 57761 -const QUERY = 57762 -const EXPANSION = 57763 -const ADDDATE = 57764 -const BIT_AND = 57765 -const BIT_OR = 57766 -const BIT_XOR = 57767 -const CAST = 57768 -const COUNT = 57769 -const APPROX_COUNT_DISTINCT = 57770 -const APPROX_PERCENTILE = 57771 -const CURDATE = 57772 -const CURTIME = 57773 -const DATE_ADD = 57774 -const DATE_SUB = 57775 -const EXTRACT = 57776 -const GROUP_CONCAT = 57777 -const MAX = 57778 -const MID = 57779 -const MIN = 57780 -const NOW = 57781 -const POSITION = 57782 -const SESSION_USER = 57783 -const STD = 57784 -const STDDEV = 57785 -const STDDEV_POP = 57786 -const STDDEV_SAMP = 57787 -const SUBDATE = 57788 -const SUBSTR = 57789 -const SUBSTRING = 57790 -const SUM = 57791 -const SYSDATE = 57792 -const SYSTEM_USER = 57793 -const TRANSLATE = 57794 -const TRIM = 57795 -const VARIANCE = 57796 -const VAR_POP = 57797 -const VAR_SAMP = 57798 -const AVG = 57799 -const JSON_EXTRACT = 57800 -const ROW = 57801 -const OUTFILE = 57802 -const HEADER = 57803 -const MAX_FILE_SIZE = 57804 -const FORCE_QUOTE = 57805 -const UNUSED = 57806 +const PREPARE = 57600 +const DEALLOCATE = 57601 +const PROPERTIES = 57602 +const PARSER = 57603 +const VISIBLE = 57604 +const INVISIBLE = 57605 +const BTREE = 57606 +const HASH = 57607 +const RTREE = 57608 +const BSI = 57609 +const ZONEMAP = 57610 +const LEADING = 57611 +const BOTH = 57612 +const TRAILING = 57613 +const UNKNOWN = 57614 +const EXPIRE = 57615 +const ACCOUNT = 57616 +const UNLOCK = 57617 +const DAY = 57618 +const NEVER = 57619 +const SECOND = 57620 +const ASCII = 57621 +const COALESCE = 57622 +const COLLATION = 57623 +const HOUR = 57624 +const MICROSECOND = 57625 +const MINUTE = 57626 +const MONTH = 57627 +const QUARTER = 57628 +const REPEAT = 57629 +const REVERSE = 57630 +const ROW_COUNT = 57631 +const WEEK = 57632 +const REVOKE = 57633 +const FUNCTION = 57634 +const PRIVILEGES = 57635 +const TABLESPACE = 57636 +const EXECUTE = 57637 +const SUPER = 57638 +const GRANT = 57639 +const OPTION = 57640 +const REFERENCES = 57641 +const REPLICATION = 57642 +const SLAVE = 57643 +const CLIENT = 57644 +const USAGE = 57645 +const RELOAD = 57646 +const FILE = 57647 +const TEMPORARY = 57648 +const ROUTINE = 57649 +const EVENT = 57650 +const SHUTDOWN = 57651 +const NULLX = 57652 +const AUTO_INCREMENT = 57653 +const APPROXNUM = 57654 +const SIGNED = 57655 +const UNSIGNED = 57656 +const ZEROFILL = 57657 +const ADMIN_NAME = 57658 +const RANDOM = 57659 +const SUSPEND = 57660 +const ATTRIBUTE = 57661 +const HISTORY = 57662 +const REUSE = 57663 +const CURRENT = 57664 +const OPTIONAL = 57665 +const FAILED_LOGIN_ATTEMPTS = 57666 +const PASSWORD_LOCK_TIME = 57667 +const UNBOUNDED = 57668 +const SECONDARY = 57669 +const USER = 57670 +const IDENTIFIED = 57671 +const CIPHER = 57672 +const ISSUER = 57673 +const X509 = 57674 +const SUBJECT = 57675 +const SAN = 57676 +const REQUIRE = 57677 +const SSL = 57678 +const NONE = 57679 +const PASSWORD = 57680 +const MAX_QUERIES_PER_HOUR = 57681 +const MAX_UPDATES_PER_HOUR = 57682 +const MAX_CONNECTIONS_PER_HOUR = 57683 +const MAX_USER_CONNECTIONS = 57684 +const FORMAT = 57685 +const VERBOSE = 57686 +const CONNECTION = 57687 +const LOAD = 57688 +const INFILE = 57689 +const TERMINATED = 57690 +const OPTIONALLY = 57691 +const ENCLOSED = 57692 +const ESCAPED = 57693 +const STARTING = 57694 +const LINES = 57695 +const DATABASES = 57696 +const TABLES = 57697 +const EXTENDED = 57698 +const FULL = 57699 +const PROCESSLIST = 57700 +const FIELDS = 57701 +const COLUMNS = 57702 +const OPEN = 57703 +const ERRORS = 57704 +const WARNINGS = 57705 +const INDEXES = 57706 +const SCHEMAS = 57707 +const NAMES = 57708 +const GLOBAL = 57709 +const SESSION = 57710 +const ISOLATION = 57711 +const LEVEL = 57712 +const READ = 57713 +const WRITE = 57714 +const ONLY = 57715 +const REPEATABLE = 57716 +const COMMITTED = 57717 +const UNCOMMITTED = 57718 +const SERIALIZABLE = 57719 +const LOCAL = 57720 +const CURRENT_TIMESTAMP = 57721 +const DATABASE = 57722 +const CURRENT_TIME = 57723 +const LOCALTIME = 57724 +const LOCALTIMESTAMP = 57725 +const UTC_DATE = 57726 +const UTC_TIME = 57727 +const UTC_TIMESTAMP = 57728 +const REPLACE = 57729 +const CONVERT = 57730 +const SEPARATOR = 57731 +const CURRENT_DATE = 57732 +const CURRENT_USER = 57733 +const CURRENT_ROLE = 57734 +const SECOND_MICROSECOND = 57735 +const MINUTE_MICROSECOND = 57736 +const MINUTE_SECOND = 57737 +const HOUR_MICROSECOND = 57738 +const HOUR_SECOND = 57739 +const HOUR_MINUTE = 57740 +const DAY_MICROSECOND = 57741 +const DAY_SECOND = 57742 +const DAY_MINUTE = 57743 +const DAY_HOUR = 57744 +const YEAR_MONTH = 57745 +const SQL_TSI_HOUR = 57746 +const SQL_TSI_DAY = 57747 +const SQL_TSI_WEEK = 57748 +const SQL_TSI_MONTH = 57749 +const SQL_TSI_QUARTER = 57750 +const SQL_TSI_YEAR = 57751 +const SQL_TSI_SECOND = 57752 +const SQL_TSI_MINUTE = 57753 +const RECURSIVE = 57754 +const CONFIG = 57755 +const MATCH = 57756 +const AGAINST = 57757 +const BOOLEAN = 57758 +const LANGUAGE = 57759 +const WITH = 57760 +const QUERY = 57761 +const EXPANSION = 57762 +const ADDDATE = 57763 +const BIT_AND = 57764 +const BIT_OR = 57765 +const BIT_XOR = 57766 +const CAST = 57767 +const COUNT = 57768 +const APPROX_COUNT_DISTINCT = 57769 +const APPROX_PERCENTILE = 57770 +const CURDATE = 57771 +const CURTIME = 57772 +const DATE_ADD = 57773 +const DATE_SUB = 57774 +const EXTRACT = 57775 +const GROUP_CONCAT = 57776 +const MAX = 57777 +const MID = 57778 +const MIN = 57779 +const NOW = 57780 +const POSITION = 57781 +const SESSION_USER = 57782 +const STD = 57783 +const STDDEV = 57784 +const STDDEV_POP = 57785 +const STDDEV_SAMP = 57786 +const SUBDATE = 57787 +const SUBSTR = 57788 +const SUBSTRING = 57789 +const SUM = 57790 +const SYSDATE = 57791 +const SYSTEM_USER = 57792 +const TRANSLATE = 57793 +const TRIM = 57794 +const VARIANCE = 57795 +const VAR_POP = 57796 +const VAR_SAMP = 57797 +const AVG = 57798 +const JSON_EXTRACT = 57799 +const ROW = 57800 +const OUTFILE = 57801 +const HEADER = 57802 +const MAX_FILE_SIZE = 57803 +const FORCE_QUOTE = 57804 +const UNUSED = 57805 var yyToknames = [...]string{ "$end", @@ -757,7 +756,6 @@ var yyToknames = [...]string{ "EXTERNAL", "LOCALFILE", "URL", - "S3OPTION", "PREPARE", "DEALLOCATE", "PROPERTIES", @@ -976,7 +974,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line mysql_sql.y:7231 +//line mysql_sql.y:7200 //line yacctab:1 var yyExca = [...]int{ @@ -988,1071 +986,978 @@ var yyExca = [...]int{ -2, 412, -1, 68, 199, 586, - -2, 633, + -2, 628, -1, 85, 226, 289, 227, 289, -2, 310, - -1, 367, + -1, 366, 21, 432, -2, 395, - -1, 442, - 94, 1313, - 105, 1313, - 124, 1313, - -2, 1125, - -1, 472, + -1, 441, + 94, 1308, + 105, 1308, + 124, 1308, + -2, 1120, + -1, 471, 21, 432, -2, 395, - -1, 632, - 58, 1465, - -2, 1472, - -1, 640, - 58, 1466, - -2, 1480, + -1, 631, + 58, 1459, + -2, 1466, + -1, 639, + 58, 1460, + -2, 1474, + -1, 641, + 58, 1456, + -2, 1476, -1, 642, - 58, 1462, - -2, 1482, - -1, 643, - 58, 1463, + 58, 1457, + -2, 1477, + -1, 647, + 58, 1458, -2, 1483, -1, 648, - 58, 1464, - -2, 1489, + 58, 1461, + -2, 1484, -1, 649, - 58, 1467, - -2, 1490, + 58, 1462, + -2, 1485, -1, 650, - 58, 1468, - -2, 1491, + 58, 883, + -2, 1486, -1, 651, - 58, 888, - -2, 1492, + 58, 884, + -2, 1487, -1, 652, - 58, 889, - -2, 1493, - -1, 653, - 58, 890, - -2, 1494, + 58, 885, + -2, 1488, + -1, 654, + 58, 1463, + -2, 1490, -1, 655, - 58, 1469, - -2, 1496, + 58, 903, + -2, 1491, -1, 656, - 58, 908, - -2, 1497, - -1, 657, - 58, 907, - -2, 1498, + 58, 902, + -2, 1492, + -1, 659, + 58, 1464, + -2, 1495, -1, 660, - 58, 1470, - -2, 1501, - -1, 661, - 58, 1471, - -2, 1502, + 58, 1465, + -2, 1496, + -1, 666, + 58, 965, + -2, 1308, -1, 667, - 58, 970, - -2, 1313, + 58, 974, + -2, 1333, -1, 668, - 58, 979, - -2, 1338, + 58, 978, + -2, 1372, -1, 669, - 58, 983, - -2, 1377, + 58, 989, + -2, 1432, -1, 670, - 58, 994, - -2, 1437, + 58, 991, + -2, 1442, -1, 671, - 58, 996, + 58, 979, -2, 1447, -1, 672, - 58, 984, - -2, 1452, + 58, 987, + -2, 1451, -1, 673, - 58, 992, - -2, 1456, - -1, 674, - 58, 973, - -2, 1457, - -1, 833, + 58, 968, + -2, 1452, + -1, 831, 1, 612, 60, 612, - 482, 612, + 481, 612, -2, 619, - -1, 973, + -1, 971, 21, 431, - -2, 816, + -2, 811, + -1, 1018, + 124, 1130, + -2, 1128, -1, 1020, - 124, 1135, - -2, 1133, - -1, 1022, 124, 530, - -2, 1130, - -1, 1023, + -2, 1125, + -1, 1021, 124, 531, - -2, 1131, - -1, 1234, + -2, 1126, + -1, 1231, 1, 613, 60, 613, - 482, 613, + 481, 613, -2, 619, - -1, 1322, - 58, 1037, - -2, 1454, - -1, 1323, - 58, 1038, - -2, 1455, - -1, 1492, + -1, 1319, + 58, 1032, + -2, 1449, + -1, 1320, + 58, 1033, + -2, 1450, + -1, 1488, 56, 352, 59, 352, - -2, 722, - -1, 1818, + -2, 717, + -1, 1808, 79, 619, 120, 619, 156, 619, 159, 619, - -2, 670, - -1, 1820, - 260, 783, - -2, 764, - -1, 1850, + -2, 665, + -1, 1810, + 260, 778, + -2, 759, + -1, 1840, 56, 352, 59, 352, - -2, 723, - -1, 1929, + -2, 718, + -1, 1917, 79, 619, 120, 619, 156, 619, 159, 619, - -2, 671, - -1, 1957, - 260, 783, - -2, 765, - -1, 2354, - 59, 645, - 60, 645, + -2, 666, + -1, 1945, + 260, 778, + -2, 760, + -1, 2342, + 59, 640, + 60, 640, + -2, 619, + -1, 2346, + 59, 640, + 60, 640, -2, 619, -1, 2358, + 59, 644, + 60, 644, + -2, 619, + -1, 2361, 59, 645, 60, 645, -2, 619, - -1, 2370, - 59, 649, - 60, 649, - -2, 619, - -1, 2373, - 59, 650, - 60, 650, - -2, 619, } const yyPrivate = 57344 -const yyLast = 21420 +const yyLast = 21365 var yyAct = [...]int{ - 816, 1325, 2360, 2358, 2357, 2365, 2335, 807, 2204, 677, - 2284, 1994, 2324, 696, 2268, 2242, 1282, 2269, 1969, 2176, - 2180, 2157, 1915, 1925, 1218, 903, 803, 1812, 102, 1992, - 1993, 1278, 2017, 320, 326, 609, 326, 2164, 105, 675, - 1326, 868, 1977, 600, 368, 1871, 367, 440, 1913, 2006, - 838, 1843, 330, 810, 1634, 1976, 1623, 840, 324, 22, - 1638, 1468, 1958, 1495, 1864, 888, 550, 1874, 1882, 101, - 539, 396, 1507, 708, 63, 1886, 862, 1643, 1277, 1824, - 1639, 1196, 1002, 631, 1191, 1711, 1701, 676, 1719, 1570, - 1690, 1653, 1241, 441, 467, 1192, 1649, 1017, 1632, 1011, - 336, 102, 1020, 1012, 312, 1409, 63, 686, 1003, 62, - 1395, 1533, 1313, 881, 865, 1264, 1506, 1465, 863, 847, - 448, 30, 3, 1240, 1470, 552, 1933, 1235, 806, 826, - 818, 801, 1193, 398, 1327, 1324, 678, 624, 443, 1339, - 445, 885, 469, 313, 906, 793, 1203, 323, 15, 1227, - 316, 482, 1280, 30, 321, 6, 1224, 22, 322, 5, - 849, 909, 848, 940, 822, 800, 592, 432, 447, 1304, - 395, 825, 63, 855, 521, 576, 339, 338, 12, 2249, - 1917, 7, 4, 1210, 1455, 1808, 98, 1200, 2024, 1921, - 1811, 813, 1005, 325, 2231, 501, 93, 1985, 1450, 433, - 610, 1442, 1197, 333, 446, 623, 97, 2221, 27, 87, - 69, 578, 537, 1208, 569, 520, 570, 2256, 96, 30, - 385, 466, 794, 97, 798, 97, 1467, 311, 1457, 328, - 453, 452, 454, 870, 871, 393, 563, 564, 2254, 97, - 97, 97, 417, 27, 87, 69, 15, 97, 797, 27, - 87, 69, 851, 6, 94, 758, 809, 5, 579, 561, - 451, 778, 560, 563, 564, 2272, 2273, 1596, 755, 1466, - 518, 94, 2246, 94, 514, 403, 2018, 2019, 2020, 2021, - 2015, 1813, 1626, 2110, 1627, 2113, 1628, 94, 757, 94, - 2027, 1437, 812, 476, 485, 94, 2179, 584, 882, 1804, - 1832, 1204, 1839, 1662, 1225, 1654, 585, 2003, 456, 418, - 1664, 2085, 1990, 1617, 475, 1870, 1869, 505, 516, 517, - 1974, 1615, 515, 789, 449, 474, 504, 1658, 326, 2088, - 102, 1987, 2258, 364, 796, 2230, 365, 387, 1447, 2282, - 327, 1212, 335, 2351, 1316, 1317, 1318, 384, 383, 2079, - 1659, 1660, 2366, 2291, 2253, 1314, 471, 473, 445, 472, - 2206, 878, 2298, 419, 2178, 1661, 509, 2228, 378, 369, - 2073, 492, 2165, 2166, 2167, 2169, 2168, 2345, 450, 1538, - 1317, 1318, 2271, 811, 2042, 2202, 2203, 68, 2206, 95, - 2041, 63, 63, 447, 510, 396, 366, 364, 2068, 2212, - 365, 1481, 1482, 1483, 1484, 2233, 2234, 85, 485, 1479, - 588, 512, 381, 2367, 571, 1656, 1209, 2260, 2261, 559, - 558, 2361, 795, 494, 2336, 2030, 562, 468, 540, 446, - 455, 1473, 376, 1571, 496, 441, 441, 441, 30, 30, - 604, 604, 334, 526, 538, 2108, 513, 577, 541, 542, - 1443, 544, 1620, 1291, 1201, 820, 543, 326, 627, 627, - 487, 486, 1647, 444, 382, 545, 602, 602, 478, 479, - 329, 760, 1526, 501, 390, 391, 392, 547, 507, 1287, - 2064, 1866, 1865, 582, 606, 873, 377, 409, 874, 776, - 508, 511, 1289, 1288, 424, 580, 581, 1286, 626, 626, - 2142, 604, 872, 604, 475, 421, 422, 761, 493, 2333, - 2288, 1853, 506, 1675, 1629, 808, 1535, 1496, 612, 958, - 1445, 490, 312, 1444, 554, 1436, 756, 1431, 2036, 587, - 1256, 566, 567, 1838, 2259, 1216, 563, 564, 386, 2177, - 1187, 63, 604, 426, 425, 833, 921, 764, 785, 396, - 608, 488, 839, 470, 63, 896, 102, 563, 564, 1315, - 829, 2232, 555, 63, 411, 815, 1679, 410, 819, 523, - 856, 856, 1198, 1655, 487, 486, 604, 102, 1198, 1198, - 1648, 2086, 1612, 1618, 1665, 553, 2327, 1657, 525, 883, - 441, 854, 604, 480, 1537, 2069, 2070, 844, 805, 2322, - 2311, 30, 1211, 1469, 598, 599, 1916, 1199, 821, 897, - 30, 1807, 843, 1986, 1451, 500, 834, 604, 1991, 902, - 102, 102, 574, 575, 852, 853, 586, 918, 787, 802, - 549, 767, 70, 889, 595, 596, 597, 784, 907, 889, - 889, 842, 858, 828, 781, 311, 905, 762, 780, 70, - 622, 70, 790, 615, 616, 617, 618, 619, 620, 621, - 908, 904, 904, 611, 753, 70, 70, 70, 783, 922, - 827, 782, 779, 70, 763, 1784, 495, 799, 804, 591, - 565, 444, 975, 568, 845, 846, 1614, 884, 1472, 879, - 877, 1644, 1647, 2066, 593, 2328, 556, 2065, 814, 1195, - 1758, 1755, 1756, 1757, 827, 594, 1789, 2216, 1788, 1787, - 1785, 2116, 1809, 2143, 2145, 2146, 2147, 2144, 901, 836, - 409, 974, 835, 1329, 1328, 850, 1688, 1621, 1433, 982, - 1293, 459, 464, 465, 477, 1779, 1613, 1476, 1477, 859, - 894, 895, 423, 1410, 857, 802, 861, 860, 984, 1194, - 590, 1475, 771, 772, 973, 388, 1463, 880, 1009, 1009, - 1014, 1487, 891, 892, 893, 1410, 824, 1576, 1786, 976, - 977, 978, 979, 961, 962, 963, 964, 965, 958, 914, - 899, 1022, 900, 2059, 898, 557, 917, 914, 2075, 839, - 446, 1402, 2074, 604, 1828, 980, 1823, 411, 2356, 2341, - 410, 2344, 2153, 1023, 2308, 1400, 1401, 1399, 998, 1334, - 1648, 2292, 1650, 1908, 2151, 1641, 2325, 2326, 2149, 1642, - 1645, 102, 102, 948, 915, 916, 917, 914, 2190, 1579, - 1337, 447, 1578, 1781, 427, 102, 1242, 2152, 775, 1189, - 1338, 2343, 63, 420, 2139, 2187, 774, 1219, 1220, 2150, - 1907, 320, 2186, 2148, 2159, 915, 916, 917, 914, 1258, - 1988, 1008, 1221, 1223, 2137, 907, 2136, 446, 2135, 2132, - 1836, 1646, 915, 916, 917, 914, 1238, 1768, 992, 2138, - 1488, 2126, 1246, 2123, 2281, 1790, 1791, 908, 2122, 30, - 461, 462, 463, 2025, 1558, 1989, 2011, 604, 915, 916, - 917, 914, 1247, 1248, 1249, 1837, 2010, 1283, 2009, 2005, - 2004, 627, 1835, 102, 1663, 1001, 1608, 1021, 765, 1185, - 1309, 1186, 1311, 1298, 959, 960, 961, 962, 963, 964, - 965, 958, 889, 889, 889, 2264, 1015, 1190, 1016, 1557, - 1335, 1336, 2158, 1285, 915, 916, 917, 914, 1926, 2247, - 2210, 626, 830, 831, 832, 1305, 1306, 1307, 1308, 2209, - 1236, 915, 916, 917, 914, 1545, 2197, 1301, 2185, 1252, - 2140, 1254, 2133, 1250, 1230, 998, 1290, 1332, 2129, 1284, - 925, 926, 927, 928, 929, 930, 931, 923, 2128, 1303, - 1374, 1215, 2127, 1251, 1253, 1419, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1319, 2087, - 1260, 1404, 1405, 2061, 2026, 1255, 1259, 850, 915, 916, - 917, 914, 1734, 2022, 1411, 2007, 1414, 1924, 1214, 915, - 916, 917, 914, 1294, 1295, 1296, 1421, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 1302, 1922, - 1919, 915, 916, 917, 914, 1624, 1846, 1834, 1403, 1425, - 2342, 364, 2371, 1833, 365, 2237, 1830, 1806, 1797, 1330, - 1331, 1652, 1333, 969, 1619, 972, 1397, 1529, 1369, 1370, - 1371, 1372, 1373, 1454, 1424, 1379, 1380, 1381, 1382, 970, - 971, 968, 1213, 957, 956, 966, 967, 959, 960, 961, - 962, 963, 964, 965, 958, 2265, 957, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 1722, 724, - 723, 1413, 1415, 1416, 1412, 1581, 994, 915, 916, 917, - 914, 1420, 955, 1422, 1423, 1741, 1745, 1747, 1749, 1751, - 1752, 1754, 954, 1758, 1755, 1756, 1757, 766, 2183, 1736, - 1737, 1738, 1739, 1720, 1721, 1742, 2370, 1723, 2349, 1724, - 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1740, - 915, 916, 917, 914, 1667, 823, 2236, 1744, 1746, 1748, - 1750, 1753, 1585, 1541, 2375, 1541, 1584, 2217, 1438, 2101, - 2106, 2097, 915, 916, 917, 914, 2096, 2084, 604, 1911, - 604, 1909, 604, 2369, 2368, 1206, 2352, 475, 2348, 2347, - 1906, 1735, 915, 916, 917, 914, 1898, 1460, 1452, 915, - 916, 917, 914, 1206, 2339, 2012, 1448, 1206, 2338, 604, - 966, 967, 959, 960, 961, 962, 963, 964, 965, 958, - 1492, 2287, 2286, 2090, 2279, 1894, 1498, 915, 916, 917, - 914, 2090, 2274, 1300, 2262, 1458, 1459, 1503, 819, 2251, - 2250, 1863, 475, 102, 102, 102, 102, 915, 916, 917, - 914, 1893, 1847, 1508, 475, 102, 1523, 2090, 2226, 2090, - 2225, 1490, 1892, 1818, 1486, 1508, 1449, 841, 1462, 1799, - 1796, 1700, 604, 915, 916, 917, 914, 1778, 2090, 2224, - 102, 102, 22, 1680, 915, 916, 917, 914, 1499, 1772, - 1588, 1524, 915, 916, 917, 914, 1586, 63, 1283, 915, - 916, 917, 914, 1441, 841, 1439, 802, 1771, 1583, 1446, - 1274, 915, 916, 917, 914, 1546, 2090, 2223, 2215, 2214, - 1582, 1531, 1532, 371, 372, 373, 374, 1580, 1461, 915, - 916, 917, 914, 2105, 2104, 1550, 370, 827, 1478, 2103, - 2102, 1236, 1485, 1491, 30, 1547, 1497, 1687, 1542, 1540, - 1770, 1543, 1544, 2099, 2100, 1502, 1527, 1504, 1500, 1525, - 1501, 1509, 1510, 1511, 1512, 1505, 2099, 2098, 1520, 1522, - 1521, 15, 915, 916, 917, 914, 1674, 614, 6, 1494, - 1565, 1418, 5, 1245, 2095, 2090, 2089, 1530, 1541, 1773, - 1552, 1553, 1554, 1555, 1556, 1769, 1560, 1541, 1759, 1493, - 1561, 1562, 1563, 1564, 1541, 1549, 1417, 1536, 1539, 912, - 1009, 1743, 1600, 1009, 1765, 613, 1603, 915, 916, 917, - 914, 1568, 1569, 604, 1541, 1548, 1245, 1440, 1573, 414, - 2310, 1577, 1273, 1606, 792, 1764, 915, 916, 917, 914, - 1763, 1435, 1434, 1494, 1589, 475, 1429, 1428, 889, 1245, - 1244, 2321, 973, 910, 889, 1607, 1637, 915, 916, 917, - 914, 102, 915, 916, 917, 914, 1274, 1597, 1567, 1541, - 475, 409, 1229, 1595, 102, 1242, 1762, 1678, 501, 1602, - 1442, 1637, 63, 1761, 1206, 1205, 1426, 1397, 446, 1819, - 1566, 769, 768, 1599, 1575, 1800, 1228, 1590, 915, 916, - 917, 914, 1668, 1274, 501, 915, 916, 917, 914, 1709, - 1432, 1616, 1601, 1598, 1604, 1592, 1704, 1591, 1610, 1605, - 1407, 791, 498, 1300, 1611, 499, 499, 1197, 1669, 1670, - 1671, 915, 916, 917, 914, 1217, 1188, 97, 1681, 1682, - 87, 69, 548, 589, 1686, 2315, 2299, 2296, 411, 2294, - 1676, 410, 97, 2189, 2174, 2162, 2160, 2155, 2117, 1698, - 604, 1873, 1706, 2082, 2081, 1673, 604, 1677, 1672, 2078, - 1699, 1708, 1760, 2080, 1232, 2077, 2319, 1685, 2072, 1766, - 1767, 1684, 1695, 408, 2057, 94, 602, 551, 1883, 1875, - 604, 412, 602, 915, 916, 917, 914, 1780, 1887, 1890, - 94, 102, 1793, 1792, 1880, 1879, 1859, 1795, 1683, 1794, - 1704, 1841, 102, 1829, 1398, 94, 1489, 1464, 1427, 1292, - 1243, 1822, 957, 956, 966, 967, 959, 960, 961, 962, - 963, 964, 965, 958, 1000, 999, 1777, 1774, 1707, 1776, - 997, 996, 1805, 995, 993, 941, 990, 1783, 989, 987, - 604, 604, 986, 1817, 985, 102, 1850, 983, 1798, 1801, - 915, 916, 917, 914, 1406, 953, 952, 951, 475, 1816, - 950, 949, 947, 1803, 1802, 946, 602, 1844, 945, 1508, - 944, 943, 942, 939, 63, 1862, 915, 916, 917, 914, - 938, 937, 1283, 1842, 1826, 936, 935, 934, 1953, 1821, - 1825, 933, 1825, 1820, 1827, 932, 788, 759, 503, 889, - 491, 1855, 1858, 445, 1851, 1860, 1691, 1692, 2304, 2302, - 2270, 1854, 1852, 1861, 1694, 1480, 1299, 1237, 502, 1697, - 1696, 1849, 1848, 1261, 1857, 1266, 1269, 1270, 1271, 1267, - 1856, 1268, 1272, 1514, 1513, 2355, 1517, 1515, 1877, 1878, - 2359, 1518, 1516, 1266, 1269, 1270, 1271, 1267, 1867, 1268, - 1272, 1935, 1881, 1430, 405, 1885, 407, 417, 1237, 1876, - 1453, 404, 402, 401, 413, 406, 522, 415, 416, 1519, - 1631, 1270, 1271, 1219, 1220, 50, 29, 1884, 28, 1895, - 1226, 497, 2028, 1630, 1276, 837, 1329, 1328, 534, 535, - 475, 1930, 1897, 2239, 1978, 1980, 573, 1978, 1978, 572, - 1899, 1637, 1888, 1901, 1891, 1903, 308, 309, 1184, 310, - 524, 889, 475, 397, 532, 533, 530, 531, 528, 529, - 2316, 2194, 1961, 1900, 2192, 1904, 1905, 1902, 2120, 1896, - 839, 2118, 2115, 2114, 2112, 1918, 1912, 1979, 1923, 1815, - 1984, 1814, 1703, 527, 1955, 371, 372, 373, 374, 370, - 1702, 1975, 1981, 1982, 1927, 1534, 1964, 841, 370, 2306, - 2305, 2000, 1959, 1609, 1551, 489, 2305, 1972, 1973, 1983, - 2306, 1997, 875, 1960, 1275, 399, 1998, 1999, 35, 1, - 2001, 1939, 1202, 1831, 1852, 1666, 1651, 546, 389, 1375, - 536, 773, 1943, 458, 484, 770, 483, 481, 1408, 1340, - 2008, 709, 2032, 1004, 1010, 2156, 2238, 1965, 2283, 2188, - 2241, 786, 1932, 695, 2107, 1625, 1934, 1936, 1938, 2013, - 1940, 1941, 1942, 1944, 1945, 1946, 1948, 1949, 1950, 1951, - 2014, 2109, 2016, 1456, 1914, 1207, 604, 519, 1593, 1594, - 721, 712, 988, 714, 754, 102, 460, 711, 1840, 1474, - 375, 2035, 457, 400, 1980, 2002, 1810, 1868, 1889, 1872, - 1954, 2364, 1844, 2033, 2034, 2354, 2037, 2038, 2039, 2040, - 2334, 2060, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, - 2051, 2052, 2053, 2054, 2055, 2056, 2076, 2062, 1975, 2314, - 2058, 1971, 2205, 1640, 1952, 2350, 2083, 2252, 2297, 2290, - 2201, 2029, 340, 876, 2121, 583, 2092, 430, 2175, 341, - 2091, 1931, 2229, 2094, 2161, 445, 2093, 379, 1967, 2111, - 1231, 380, 1234, 1233, 1320, 924, 2154, 1396, 991, 981, - 629, 1574, 685, 679, 1471, 1970, 1528, 34, 1947, 33, - 1966, 1968, 32, 913, 1018, 1937, 710, 2134, 475, 104, - 1257, 475, 475, 475, 1283, 1019, 1622, 2119, 2198, 2023, - 2243, 475, 694, 693, 692, 691, 690, 2124, 2125, 1265, - 1263, 1262, 63, 2130, 2131, 867, 866, 2163, 911, 2267, - 2171, 2172, 2173, 2266, 2219, 2220, 2182, 2170, 2199, 1920, - 2071, 2181, 2141, 2067, 2063, 604, 604, 2211, 1929, 1928, - 2184, 1956, 1957, 1963, 1974, 1718, 2193, 2191, 2195, 2196, - 1714, 1716, 2200, 1717, 1715, 1782, 1962, 1710, 1635, 1636, - 1633, 602, 602, 1693, 1689, 1006, 102, 1013, 817, 99, - 864, 1996, 11, 475, 10, 777, 9, 14, 2207, 2208, - 21, 20, 19, 58, 57, 475, 56, 55, 18, 8, - 54, 2213, 53, 52, 17, 16, 47, 48, 45, 44, - 2245, 43, 2222, 42, 41, 40, 39, 904, 46, 38, - 37, 2218, 36, 2244, 2227, 67, 66, 2317, 2235, 65, - 64, 23, 24, 25, 26, 77, 76, 78, 2248, 1910, - 74, 72, 75, 73, 71, 2255, 2257, 31, 13, 2, - 0, 0, 0, 0, 0, 0, 0, 2263, 0, 0, - 0, 0, 0, 0, 2275, 2276, 2277, 2278, 0, 2285, - 0, 0, 2289, 957, 956, 966, 967, 959, 960, 961, - 962, 963, 964, 965, 958, 957, 956, 966, 967, 959, - 960, 961, 962, 963, 964, 965, 958, 0, 0, 0, - 0, 0, 0, 0, 2303, 2300, 2301, 0, 2245, 2313, - 0, 0, 2280, 1587, 2293, 475, 2295, 475, 2307, 2309, - 0, 2244, 2318, 2312, 2320, 0, 808, 0, 808, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2329, - 2285, 2330, 475, 0, 0, 2337, 0, 0, 0, 2340, - 0, 0, 0, 808, 2346, 0, 0, 0, 0, 2323, - 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, - 965, 958, 2332, 0, 0, 2353, 0, 0, 0, 0, - 0, 2363, 0, 2362, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2374, 2373, 2372, 2363, 1130, 1172, 0, - 0, 1118, 0, 1080, 1132, 1054, 1069, 1140, 1070, 1071, - 1105, 1033, 1089, 229, 1067, 0, 1121, 1025, 1057, 1058, - 1027, 1064, 1028, 1055, 1082, 174, 1053, 1092, 199, 1138, - 0, 0, 258, 213, 0, 0, 1085, 1123, 1087, 1110, - 1079, 1106, 1041, 1099, 1133, 1068, 1103, 1134, 0, 0, - 0, 0, 0, 830, 831, 832, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 1102, 1127, 1066, 0, - 159, 1131, 1086, 1104, 0, 0, 1026, 1100, 0, 1031, - 1034, 1139, 1125, 1061, 1062, 0, 0, 0, 0, 0, - 0, 0, 1083, 1088, 1107, 1076, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1059, 0, 1096, 0, 0, - 0, 1036, 1032, 0, 1081, 0, 148, 263, 277, 157, - 254, 290, 162, 261, 153, 228, 250, 0, 1171, 150, - 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, - 169, 226, 0, 1129, 302, 168, 293, 1035, 285, 152, - 1166, 284, 225, 272, 276, 211, 205, 151, 274, 209, - 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, - 216, 1150, 1151, 1152, 1153, 1154, 1162, 1163, 0, 1167, - 1168, 1169, 1040, 0, 1060, 1108, 0, 1024, 1116, 1124, - 1078, 287, 1126, 1075, 1074, 1157, 0, 1156, 262, 1158, - 1159, 198, 1122, 1056, 1065, 303, 1063, 248, 231, 1128, - 1095, 1170, 246, 201, 273, 239, 278, 264, 286, 242, - 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, - 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, - 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, - 271, 1155, 183, 243, 208, 147, 207, 236, 270, 269, - 294, 300, 301, 305, 0, 306, 307, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, - 1165, 299, 181, 142, 282, 0, 227, 1119, 1029, 1039, - 1037, 1072, 1097, 1098, 223, 298, 1112, 1115, 1113, 1141, - 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1030, 0, 259, 280, 292, 1173, 1174, 1175, 1176, 0, - 1177, 1178, 1179, 1180, 1181, 1182, 1183, 283, 1073, 1047, - 1084, 291, 1050, 1048, 1111, 1049, 1101, 1143, 217, 218, - 219, 220, 184, 0, 161, 1093, 1077, 1144, 1145, 1146, - 1147, 1148, 1149, 1052, 304, 180, 186, 0, 188, 160, - 232, 182, 289, 195, 1117, 224, 191, 256, 196, 202, - 244, 288, 230, 249, 158, 279, 257, 206, 1046, 1051, - 1045, 1090, 1091, 1135, 1136, 1137, 1109, 1038, 1120, 1042, - 1044, 1043, 957, 956, 966, 967, 959, 960, 961, 962, - 963, 964, 965, 958, 0, 0, 0, 0, 0, 0, - 0, 1114, 0, 1094, 143, 0, 200, 1142, 241, 179, - 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 229, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, - 213, 0, 0, 0, 0, 732, 738, 1160, 1161, 295, - 296, 297, 281, 0, 0, 0, 680, 0, 0, 0, - 630, 724, 723, 697, 706, 0, 0, 156, 698, 1775, - 705, 699, 703, 702, 700, 701, 0, 667, 0, 0, - 0, 0, 0, 0, 628, 684, 0, 688, 0, 0, - 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, - 965, 958, 0, 0, 0, 0, 0, 0, 681, 682, - 0, 0, 0, 0, 718, 0, 683, 0, 0, 720, - 0, 707, 0, 148, 263, 277, 157, 254, 290, 162, - 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, - 193, 194, 149, 0, 245, 172, 185, 169, 226, 704, - 716, 673, 168, 671, 715, 285, 152, 1572, 284, 225, - 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, - 189, 237, 203, 238, 190, 215, 214, 216, 957, 956, - 966, 967, 959, 960, 961, 962, 963, 964, 965, 958, - 0, 0, 0, 0, 0, 713, 0, 0, 287, 0, - 0, 731, 0, 0, 0, 262, 0, 0, 198, 0, - 0, 0, 674, 0, 248, 231, 741, 0, 0, 246, - 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, - 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, - 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, - 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, - 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1377, 1376, 1378, 299, 181, - 142, 282, 729, 227, 740, 725, 726, 727, 730, 733, - 734, 669, 672, 735, 737, 739, 742, 251, 0, 0, + 814, 1322, 2348, 2346, 2345, 2353, 2323, 806, 2192, 676, + 1982, 2312, 2272, 1279, 1957, 695, 2256, 2164, 2230, 2168, + 2145, 2257, 1905, 1913, 1215, 1980, 901, 599, 102, 1981, + 1802, 2152, 2005, 319, 325, 608, 325, 1323, 1275, 1903, + 367, 1861, 802, 366, 674, 1965, 1833, 1631, 866, 105, + 1464, 1946, 329, 1994, 836, 1491, 439, 809, 1964, 1627, + 549, 323, 22, 1854, 1872, 1864, 630, 538, 1503, 886, + 860, 395, 1274, 707, 63, 1876, 101, 1636, 1632, 1814, + 1704, 1194, 1189, 1000, 1694, 1712, 1566, 675, 1683, 1646, + 1238, 466, 1015, 440, 1642, 335, 1018, 1625, 1190, 551, + 1001, 102, 1010, 1406, 311, 1392, 63, 1009, 1529, 1310, + 685, 879, 863, 1261, 62, 1502, 861, 1466, 322, 15, + 845, 1237, 3, 1461, 1921, 1232, 320, 6, 321, 5, + 1191, 800, 816, 1321, 442, 824, 677, 444, 1324, 1336, + 623, 847, 397, 846, 447, 30, 312, 907, 1201, 468, + 883, 904, 1224, 792, 1221, 481, 805, 1277, 938, 820, + 22, 431, 315, 799, 1301, 853, 823, 394, 446, 1907, + 575, 520, 63, 337, 12, 7, 338, 30, 2237, 1208, + 4, 98, 1198, 2012, 1909, 1801, 811, 1003, 2209, 838, + 1973, 622, 324, 577, 591, 500, 97, 97, 609, 93, + 536, 2219, 1439, 97, 519, 27, 87, 69, 96, 445, + 1447, 1195, 1206, 2244, 568, 392, 569, 15, 2242, 97, + 97, 465, 27, 87, 69, 6, 97, 5, 327, 97, + 310, 27, 87, 69, 97, 92, 27, 87, 69, 432, + 578, 757, 81, 30, 94, 94, 402, 1592, 868, 869, + 793, 94, 797, 1463, 754, 562, 563, 1453, 777, 416, + 452, 451, 453, 51, 2260, 2261, 849, 94, 94, 332, + 808, 517, 513, 2098, 756, 560, 796, 94, 559, 562, + 563, 2234, 94, 2003, 2006, 2007, 2008, 2009, 1803, 2101, + 450, 1619, 1620, 2015, 1621, 810, 1462, 1434, 484, 475, + 2167, 1797, 880, 1822, 1202, 417, 508, 1829, 1657, 1978, + 1655, 583, 1647, 474, 2073, 1613, 1222, 1991, 1860, 1859, + 584, 504, 334, 473, 1962, 515, 516, 325, 1611, 102, + 514, 1444, 876, 788, 509, 88, 89, 455, 90, 91, + 503, 2076, 2218, 1975, 1534, 1314, 1315, 363, 2246, 2270, + 364, 470, 472, 448, 444, 471, 326, 1652, 1653, 418, + 2067, 795, 2339, 2354, 1651, 2279, 2190, 2191, 363, 2194, + 2194, 364, 1654, 2241, 1469, 368, 2286, 491, 2216, 2166, + 2259, 484, 2061, 2333, 68, 2052, 95, 2030, 2029, 365, + 63, 63, 446, 2200, 395, 2248, 2249, 1313, 1314, 1315, + 1475, 68, 86, 95, 85, 49, 587, 449, 1311, 558, + 557, 2221, 2222, 570, 1207, 1567, 511, 506, 2355, 2349, + 493, 85, 80, 79, 2324, 561, 2018, 467, 495, 507, + 510, 537, 539, 445, 440, 440, 440, 333, 2096, 603, + 603, 576, 525, 512, 540, 541, 500, 543, 1440, 794, + 542, 505, 1649, 1288, 2315, 1199, 325, 626, 626, 454, + 818, 30, 30, 486, 485, 546, 1616, 605, 544, 443, + 759, 328, 2153, 2154, 2155, 2157, 2156, 1640, 1522, 477, + 478, 601, 601, 1856, 1855, 82, 83, 1284, 775, 1477, + 1478, 1479, 1480, 2056, 625, 625, 581, 553, 1286, 1285, + 603, 871, 603, 474, 565, 566, 760, 492, 389, 390, + 391, 579, 580, 807, 872, 1283, 408, 611, 59, 489, + 870, 311, 84, 586, 60, 420, 421, 2321, 755, 2276, + 1843, 562, 563, 408, 1668, 1622, 562, 563, 1531, 1492, + 63, 603, 554, 1442, 831, 1441, 486, 485, 395, 2247, + 784, 837, 1433, 63, 2165, 102, 827, 1483, 1533, 1428, + 1253, 813, 63, 2316, 817, 1213, 522, 2220, 2130, 854, + 854, 1196, 1185, 61, 2024, 603, 102, 524, 1196, 1648, + 479, 1658, 1828, 2074, 1614, 1637, 1640, 1196, 499, 440, + 852, 603, 881, 410, 1906, 1641, 409, 1209, 2054, 919, + 804, 1197, 2053, 842, 819, 1974, 763, 783, 895, 548, + 410, 1312, 832, 409, 1979, 780, 603, 779, 900, 102, + 102, 70, 70, 1650, 30, 1448, 916, 786, 70, 887, + 1468, 597, 598, 30, 905, 887, 887, 826, 856, 585, + 840, 607, 766, 761, 70, 70, 903, 310, 621, 752, + 564, 70, 610, 567, 70, 494, 801, 843, 844, 70, + 875, 789, 487, 782, 781, 920, 469, 902, 902, 778, + 906, 762, 798, 594, 595, 596, 1484, 803, 894, 1472, + 1473, 973, 956, 877, 2313, 2314, 443, 573, 574, 882, + 2057, 2058, 1610, 1471, 812, 1672, 423, 825, 1608, 384, + 592, 770, 771, 552, 1641, 848, 2310, 1326, 1325, 1634, + 1193, 593, 899, 1635, 1638, 834, 833, 972, 614, 615, + 616, 617, 618, 619, 620, 980, 458, 463, 464, 555, + 2299, 825, 1465, 857, 2204, 855, 2104, 1681, 590, 1617, + 859, 858, 1609, 841, 982, 425, 424, 1399, 892, 893, + 878, 1430, 1290, 971, 476, 850, 851, 1007, 1007, 1012, + 1192, 1397, 1398, 1396, 1772, 1639, 422, 1407, 974, 975, + 976, 977, 801, 1407, 897, 1572, 1554, 1020, 387, 898, + 896, 2131, 2133, 2134, 2135, 2132, 1761, 774, 837, 889, + 890, 891, 603, 1331, 445, 773, 1459, 978, 957, 958, + 959, 960, 961, 962, 963, 956, 822, 996, 2047, 589, + 1216, 1217, 912, 1021, 1898, 2063, 386, 946, 556, 102, + 102, 1553, 913, 914, 915, 912, 383, 382, 915, 912, + 446, 1774, 2062, 102, 1239, 959, 960, 961, 962, 963, + 956, 63, 1187, 913, 914, 915, 912, 377, 1818, 319, + 1813, 1897, 2332, 913, 914, 915, 912, 1255, 426, 1006, + 905, 913, 914, 915, 912, 2344, 419, 1218, 1220, 2329, + 2296, 445, 990, 913, 914, 915, 912, 1243, 2141, 2139, + 2137, 1235, 2280, 1334, 2127, 460, 461, 462, 1976, 2178, + 1826, 380, 2331, 1335, 2175, 603, 906, 2174, 2147, 2125, + 999, 923, 924, 925, 926, 927, 928, 929, 921, 626, + 375, 102, 30, 2140, 2138, 2136, 1280, 1212, 1306, 2126, + 1308, 1019, 2124, 1977, 1184, 1827, 2123, 887, 887, 887, + 1183, 2120, 1013, 1575, 1014, 2114, 1574, 1295, 1332, 1333, + 2111, 1282, 381, 2110, 1188, 1247, 625, 2269, 2013, 1999, + 1302, 1303, 1304, 1305, 1211, 1998, 1233, 1997, 1577, 913, + 914, 915, 912, 1993, 376, 2252, 1992, 1825, 1249, 1287, + 1251, 1656, 1329, 996, 1227, 1604, 764, 913, 914, 915, + 912, 1300, 1281, 1643, 2146, 1371, 828, 829, 830, 1316, + 1914, 2235, 2198, 1416, 1252, 1250, 848, 2197, 1248, 1380, + 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, + 1391, 1257, 1256, 2330, 1401, 1402, 385, 2185, 2358, 1408, + 1777, 1411, 2173, 2128, 1727, 913, 914, 915, 912, 2121, + 2117, 2116, 1244, 1245, 1246, 2115, 2075, 2049, 1541, 1418, + 1291, 1292, 1293, 2014, 2010, 1751, 1748, 1749, 1750, 1299, + 1995, 1782, 2307, 1781, 1780, 1778, 1400, 2337, 1912, 955, + 954, 964, 965, 957, 958, 959, 960, 961, 962, 963, + 956, 1327, 1328, 363, 1330, 1910, 364, 1394, 1836, 1824, + 1366, 1367, 1368, 1369, 1370, 1823, 1820, 1376, 1377, 1378, + 1379, 913, 914, 915, 912, 1799, 1790, 1298, 955, 954, + 964, 965, 957, 958, 959, 960, 961, 962, 963, 956, + 2253, 1645, 1615, 1779, 1525, 1660, 1451, 1410, 1412, 1413, + 1715, 1421, 1409, 913, 914, 915, 912, 1417, 1210, 1419, + 723, 722, 913, 914, 915, 912, 1420, 1734, 1738, 1740, + 1742, 1744, 1745, 1747, 992, 1751, 1748, 1749, 1750, 953, + 2171, 1729, 1730, 1731, 1732, 1713, 1714, 1735, 952, 1716, + 765, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, + 1726, 1733, 913, 914, 915, 912, 821, 1537, 2363, 1737, + 1739, 1741, 1743, 1746, 1581, 2094, 1435, 1537, 1580, 1422, + 370, 371, 372, 373, 2357, 2356, 603, 2225, 603, 2224, + 603, 1204, 2340, 369, 2205, 474, 413, 913, 914, 915, + 912, 2072, 2089, 1728, 1456, 1449, 964, 965, 957, 958, + 959, 960, 961, 962, 963, 956, 603, 2336, 2335, 1783, + 1784, 1204, 2327, 913, 914, 915, 912, 1488, 1204, 2326, + 1445, 2085, 2000, 1494, 613, 2275, 2274, 2084, 408, 1454, + 1455, 1901, 817, 1884, 1499, 1899, 2078, 2267, 839, 474, + 102, 102, 102, 102, 913, 914, 915, 912, 1896, 1504, + 1883, 474, 102, 1519, 1888, 913, 914, 915, 912, 1458, + 1853, 1504, 1446, 2078, 2262, 1486, 1837, 2305, 1808, 603, + 1482, 1792, 913, 914, 915, 912, 1693, 102, 102, 1297, + 2250, 1271, 22, 954, 964, 965, 957, 958, 959, 960, + 961, 962, 963, 956, 63, 1520, 2239, 2238, 1673, 1438, + 2078, 2214, 1584, 1436, 1582, 410, 1280, 1443, 409, 1705, + 1706, 839, 1542, 955, 954, 964, 965, 957, 958, 959, + 960, 961, 962, 963, 956, 1527, 1528, 1457, 1579, 1496, + 1578, 1497, 801, 2078, 2213, 1576, 1233, 1481, 1487, 15, + 407, 1474, 1538, 1493, 1546, 1539, 1540, 6, 411, 5, + 1882, 1523, 1543, 1498, 1680, 1501, 1505, 1506, 1507, 1508, + 1500, 1536, 825, 1516, 1518, 30, 1517, 2078, 2212, 2078, + 2211, 1521, 913, 914, 915, 912, 1415, 1561, 2203, 2202, + 1789, 1414, 1526, 612, 1548, 1549, 1550, 1551, 1552, 790, + 1556, 2093, 2092, 498, 1557, 1558, 1559, 1560, 2091, 2090, + 2298, 1532, 913, 914, 915, 912, 1771, 1007, 1535, 1596, + 1007, 1765, 1736, 1599, 2087, 2088, 1537, 1495, 2087, 2086, + 603, 1439, 1569, 1564, 1565, 1573, 1423, 1602, 913, 914, + 915, 912, 1226, 913, 914, 915, 912, 1764, 1585, 1242, + 2083, 474, 887, 2078, 2077, 2359, 1900, 1667, 887, 971, + 1490, 1630, 1537, 1766, 1537, 1752, 1225, 102, 1809, 913, + 914, 915, 912, 1603, 1793, 1563, 474, 1593, 1537, 1545, + 102, 1239, 1586, 1671, 1591, 1489, 1630, 1537, 1544, 63, + 1598, 1271, 1562, 1242, 1437, 1432, 1431, 1394, 910, 1571, + 445, 1595, 955, 954, 964, 965, 957, 958, 959, 960, + 961, 962, 963, 956, 1588, 1661, 1600, 1270, 1612, 1594, + 1601, 1587, 1697, 1662, 1663, 1664, 1607, 1597, 1606, 1490, + 404, 1768, 406, 416, 1426, 1425, 791, 403, 401, 400, + 412, 405, 908, 414, 415, 1242, 1241, 1204, 1203, 500, + 1669, 1271, 955, 954, 964, 965, 957, 958, 959, 960, + 961, 962, 963, 956, 1429, 1699, 603, 1404, 1666, 1297, + 1692, 1670, 603, 1665, 497, 1753, 768, 767, 498, 1583, + 500, 1678, 1759, 1760, 1195, 1677, 1688, 1763, 1676, 396, + 1214, 97, 1186, 1785, 87, 69, 603, 1762, 547, 1787, + 1773, 97, 588, 2309, 2303, 1786, 2287, 102, 601, 913, + 914, 915, 912, 1697, 601, 102, 2284, 2282, 1788, 913, + 914, 915, 912, 2177, 1812, 1770, 955, 954, 964, 965, + 957, 958, 959, 960, 961, 962, 963, 956, 2162, 94, + 1767, 2150, 2148, 2143, 2105, 1769, 1863, 2070, 2069, 94, + 1776, 2068, 2065, 603, 603, 1798, 2060, 2045, 102, 1840, + 550, 1758, 1791, 1807, 1873, 2066, 1794, 1757, 1865, 1877, + 1880, 474, 1870, 1869, 1949, 1806, 1674, 1675, 1795, 1796, + 1832, 1504, 1679, 913, 914, 915, 912, 63, 1852, 913, + 914, 915, 912, 1849, 1816, 601, 1834, 1691, 1831, 1819, + 1811, 1810, 1395, 1815, 94, 1815, 1280, 1817, 1952, 887, + 1845, 1756, 1848, 444, 1947, 1850, 1485, 1842, 1460, 1960, + 1961, 1424, 1289, 1851, 1240, 1948, 998, 997, 1839, 1838, + 1755, 995, 994, 913, 914, 915, 912, 993, 991, 1846, + 939, 1847, 350, 988, 349, 353, 345, 1867, 1868, 987, + 1568, 985, 913, 914, 915, 912, 984, 983, 341, 1953, + 1857, 1871, 981, 951, 1875, 950, 949, 948, 360, 947, + 1866, 955, 954, 964, 965, 957, 958, 959, 960, 961, + 962, 963, 956, 945, 944, 943, 1874, 942, 941, 1885, + 2343, 940, 937, 936, 363, 935, 934, 364, 933, 932, + 474, 1918, 1887, 931, 1966, 1968, 1754, 1966, 1966, 1889, + 1630, 930, 1891, 787, 1893, 1878, 758, 1881, 502, 1684, + 1685, 887, 474, 1229, 490, 1886, 2292, 2290, 913, 914, + 915, 912, 2258, 1687, 1890, 1476, 1892, 1894, 1895, 1702, + 837, 1296, 501, 1959, 1690, 1633, 1513, 1972, 1963, 1841, + 1967, 1514, 1511, 1902, 1689, 1701, 1844, 1512, 1915, 1943, + 1510, 913, 914, 915, 912, 1969, 1970, 1509, 1427, 1234, + 1955, 1988, 1515, 1450, 1267, 1268, 1971, 913, 914, 915, + 912, 1216, 1217, 1624, 2227, 1985, 1842, 521, 50, 29, + 28, 1223, 1954, 1956, 1989, 955, 954, 964, 965, 957, + 958, 959, 960, 961, 962, 963, 956, 496, 2016, 1623, + 2020, 1700, 1273, 835, 1996, 1403, 1326, 1325, 572, 307, + 308, 309, 571, 343, 342, 346, 2001, 533, 534, 531, + 532, 348, 1182, 913, 914, 915, 912, 913, 914, 915, + 912, 529, 530, 352, 603, 1263, 1266, 1267, 1268, 1264, + 523, 1265, 1269, 102, 2304, 1962, 2182, 344, 527, 528, + 2021, 2022, 1968, 2025, 2026, 2027, 2028, 1950, 2023, 2031, + 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, + 2042, 2043, 2044, 1963, 2048, 2180, 1834, 2046, 2108, 2106, + 2050, 370, 371, 372, 373, 2103, 2102, 839, 2100, 1911, + 1805, 2064, 1258, 1804, 369, 1695, 1696, 2071, 526, 369, + 1530, 2080, 2109, 1605, 2079, 2081, 1547, 2082, 1986, 1987, + 444, 488, 1263, 1266, 1267, 1268, 1264, 2099, 1265, 1269, + 2294, 2293, 2293, 2294, 2142, 873, 1272, 398, 35, 1, + 1200, 1821, 1659, 1644, 347, 351, 354, 545, 355, 356, + 388, 1372, 357, 358, 359, 535, 474, 361, 362, 474, + 474, 474, 2122, 772, 2112, 2113, 457, 483, 2107, 474, + 2118, 2119, 769, 1280, 482, 480, 1405, 1337, 708, 1002, + 63, 2151, 1008, 2144, 2159, 2160, 2161, 2226, 2271, 2158, + 2176, 2229, 785, 694, 2170, 2095, 2187, 1618, 2169, 2002, + 2097, 2004, 1452, 603, 603, 1904, 1205, 518, 2172, 1589, + 1590, 720, 711, 986, 2181, 713, 2183, 2184, 2179, 753, + 2188, 459, 710, 1830, 1470, 374, 456, 399, 1990, 1800, + 2195, 2196, 1858, 1879, 102, 1862, 2352, 2342, 2322, 2302, + 2193, 474, 2338, 2240, 2285, 601, 601, 2278, 2189, 2017, + 339, 874, 582, 474, 429, 2163, 340, 2217, 2149, 378, + 2201, 1228, 379, 1231, 1230, 1317, 2210, 922, 2233, 1393, + 989, 979, 628, 1570, 684, 678, 2206, 1467, 2215, 1958, + 1524, 34, 902, 2232, 33, 32, 2223, 911, 1016, 709, + 104, 1254, 1017, 2186, 2011, 2231, 2236, 693, 692, 691, + 690, 689, 1262, 2243, 2245, 1260, 1259, 865, 864, 909, + 2255, 2254, 2207, 2208, 2251, 967, 1908, 970, 2059, 2129, + 2055, 2263, 2264, 2265, 2266, 2051, 2199, 2273, 1917, 1916, + 2277, 968, 969, 966, 1944, 955, 954, 964, 965, 957, + 958, 959, 960, 961, 962, 963, 956, 1945, 1951, 1711, + 1707, 1709, 1710, 1708, 1775, 1703, 1628, 1629, 1626, 2268, + 1686, 2288, 1682, 1004, 2291, 1011, 2233, 2301, 2289, 815, + 99, 862, 2295, 474, 2297, 474, 1984, 2281, 11, 2283, + 2306, 2232, 2308, 807, 2300, 807, 10, 776, 9, 14, + 21, 20, 19, 58, 57, 56, 2317, 55, 2273, 18, + 474, 2318, 8, 2325, 54, 53, 52, 2328, 17, 16, + 807, 47, 2334, 48, 45, 44, 43, 42, 41, 40, + 39, 46, 2311, 38, 37, 36, 67, 2320, 66, 65, + 64, 23, 24, 2341, 25, 26, 77, 76, 78, 2351, + 74, 2350, 72, 75, 73, 71, 31, 13, 2, 0, + 0, 2362, 2361, 2360, 2351, 1128, 1170, 0, 0, 1116, + 0, 1078, 1130, 1052, 1067, 1138, 1068, 1069, 1103, 1031, + 1087, 229, 1065, 0, 1119, 1023, 1055, 1056, 1025, 1062, + 1026, 1053, 1080, 174, 1051, 1090, 199, 1136, 0, 0, + 258, 213, 0, 0, 1083, 1121, 1085, 1108, 1077, 1104, + 1039, 1097, 1131, 1066, 1101, 1132, 0, 0, 0, 0, + 0, 828, 829, 830, 0, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 1100, 1125, 1064, 0, 159, 1129, + 1084, 1102, 0, 0, 1024, 1098, 0, 1029, 1032, 1137, + 1123, 1059, 1060, 0, 0, 0, 0, 0, 0, 0, + 1081, 1086, 1105, 1074, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1057, 0, 1094, 0, 0, 0, 1034, + 1030, 0, 1079, 0, 148, 263, 277, 157, 254, 290, + 162, 261, 153, 228, 250, 0, 1169, 150, 275, 260, + 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, + 0, 1127, 302, 168, 293, 1033, 285, 152, 1164, 284, + 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, + 176, 189, 237, 203, 238, 190, 215, 214, 216, 1148, + 1149, 1150, 1151, 1152, 1160, 1161, 0, 1165, 1166, 1167, + 1038, 0, 1058, 1106, 0, 1022, 1114, 1122, 1076, 287, + 1124, 1073, 1072, 1155, 0, 1154, 262, 1156, 1157, 198, + 1120, 1054, 1063, 303, 1061, 248, 231, 1126, 1093, 1168, + 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, + 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, + 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, + 164, 187, 165, 145, 255, 166, 146, 235, 271, 1153, + 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, + 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1162, 0, 1163, 299, 181, + 142, 282, 0, 227, 1117, 1027, 1037, 1035, 1070, 1095, + 1096, 223, 298, 1110, 1113, 1111, 1139, 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 670, 0, 0, 0, 291, 0, - 0, 0, 0, 0, 719, 217, 218, 219, 220, 668, - 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, - 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, - 249, 158, 279, 257, 206, 748, 728, 747, 749, 750, - 746, 751, 752, 736, 689, 0, 744, 743, 745, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 200, 0, 241, 179, 632, 633, 634, - 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, - 645, 646, 121, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 722, 0, 0, 295, 296, 297, 281, - 97, 0, 717, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, - 687, 0, 0, 0, 174, 0, 0, 199, 0, 0, - 0, 258, 213, 0, 0, 0, 0, 732, 738, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, - 0, 0, 630, 724, 723, 697, 706, 0, 0, 156, - 698, 0, 705, 699, 703, 702, 700, 701, 0, 667, - 0, 0, 0, 0, 0, 0, 628, 684, 0, 688, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 681, 682, 0, 0, 0, 0, 718, 0, 683, 0, - 0, 720, 0, 707, 0, 148, 263, 277, 157, 254, - 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, - 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, - 226, 704, 716, 673, 168, 671, 715, 285, 152, 0, - 284, 225, 272, 276, 211, 205, 151, 274, 209, 204, - 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 713, 0, 0, - 287, 0, 0, 731, 0, 0, 0, 262, 0, 0, - 198, 0, 0, 0, 674, 0, 248, 231, 741, 0, - 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, - 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, - 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, - 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, - 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, - 300, 301, 305, 0, 306, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 181, 142, 282, 729, 227, 740, 725, 726, 727, - 730, 733, 734, 669, 672, 735, 737, 739, 742, 251, - 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 670, 0, 0, 0, - 291, 0, 0, 0, 0, 0, 719, 217, 218, 219, - 220, 668, 0, 161, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, - 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, - 288, 230, 249, 158, 279, 257, 206, 748, 728, 747, - 749, 750, 746, 751, 752, 736, 689, 0, 744, 743, - 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 0, 200, 70, 241, 179, 632, - 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, - 643, 644, 645, 646, 121, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 722, 717, 0, 295, 296, - 297, 281, 0, 0, 0, 0, 229, 0, 0, 0, - 0, 0, 0, 0, 687, 0, 0, 0, 174, 890, - 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, - 0, 732, 738, 0, 0, 0, 0, 0, 0, 886, - 0, 0, 680, 0, 0, 0, 630, 724, 723, 697, - 706, 0, 0, 156, 698, 0, 705, 699, 703, 702, - 700, 701, 0, 667, 0, 0, 0, 0, 0, 0, - 628, 684, 0, 688, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 681, 682, 0, 0, 0, 0, - 718, 0, 683, 0, 0, 887, 0, 707, 0, 148, - 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, - 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, - 245, 172, 185, 169, 226, 704, 716, 673, 168, 671, - 715, 285, 152, 0, 284, 225, 272, 276, 211, 205, - 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, - 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1028, 0, 259, + 280, 292, 1171, 1172, 1173, 1174, 0, 1175, 1176, 1177, + 1178, 1179, 1180, 1181, 283, 1071, 1045, 1082, 291, 1048, + 1046, 1109, 1047, 1099, 1141, 217, 218, 219, 220, 184, + 0, 161, 1091, 1075, 1142, 1143, 1144, 1145, 1146, 1147, + 1050, 304, 180, 186, 0, 188, 160, 232, 182, 289, + 195, 1115, 224, 191, 256, 196, 202, 244, 288, 230, + 249, 158, 279, 257, 206, 1044, 1049, 1043, 1088, 1089, + 1133, 1134, 1135, 1107, 1036, 1118, 1040, 1042, 1041, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1112, 0, + 1092, 143, 0, 200, 1140, 241, 179, 716, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, + 0, 0, 0, 0, 0, 686, 0, 0, 0, 174, + 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, + 0, 0, 731, 737, 1158, 1159, 295, 296, 297, 281, + 0, 0, 0, 679, 0, 0, 0, 629, 723, 722, + 696, 705, 0, 0, 156, 697, 0, 704, 698, 702, + 701, 699, 700, 0, 666, 0, 0, 0, 0, 0, + 0, 627, 683, 0, 687, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 680, 681, 0, 0, 0, + 0, 717, 0, 682, 0, 0, 719, 0, 706, 0, + 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, + 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, + 0, 245, 172, 185, 169, 226, 703, 715, 672, 168, + 670, 714, 285, 152, 0, 284, 225, 272, 276, 211, + 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, + 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 713, 0, 0, 287, 0, 0, 731, 0, 0, - 0, 262, 0, 0, 198, 0, 0, 0, 674, 0, - 248, 231, 741, 0, 0, 246, 201, 273, 239, 278, - 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, - 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, - 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, - 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, - 236, 270, 269, 294, 300, 301, 305, 0, 306, 307, + 0, 0, 712, 0, 0, 287, 0, 0, 730, 0, + 0, 0, 262, 0, 0, 198, 0, 0, 0, 673, + 0, 248, 231, 740, 0, 0, 246, 201, 273, 239, + 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, + 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, + 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, + 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, + 207, 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 181, 142, 282, 729, 227, - 740, 725, 726, 727, 730, 733, 734, 669, 672, 735, - 737, 739, 742, 251, 0, 0, 0, 0, 0, 192, + 0, 1374, 1373, 1375, 299, 181, 142, 282, 728, 227, + 739, 724, 725, 726, 729, 732, 733, 668, 671, 734, + 736, 738, 741, 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 670, 0, 0, 0, 291, 0, 0, 0, 0, 0, - 719, 217, 218, 219, 220, 668, 0, 161, 0, 0, + 669, 0, 0, 0, 291, 0, 0, 0, 0, 0, + 718, 217, 218, 219, 220, 667, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, - 206, 748, 728, 747, 749, 750, 746, 751, 752, 736, - 689, 0, 744, 743, 745, 0, 0, 0, 0, 0, + 206, 747, 727, 746, 748, 749, 745, 750, 751, 735, + 688, 0, 743, 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 200, - 0, 241, 179, 632, 633, 634, 635, 636, 637, 638, - 639, 640, 641, 642, 643, 644, 645, 646, 121, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 722, - 717, 0, 295, 296, 297, 281, 0, 0, 0, 0, - 229, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 0, 0, 174, 2331, 0, 199, 0, 0, 0, 258, - 213, 0, 0, 0, 0, 732, 738, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, - 630, 724, 723, 697, 706, 0, 0, 156, 698, 0, - 705, 699, 703, 702, 700, 701, 0, 667, 0, 0, - 0, 0, 0, 0, 628, 684, 0, 688, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 681, 682, - 0, 0, 0, 0, 718, 0, 683, 0, 0, 720, - 0, 707, 0, 148, 263, 277, 157, 254, 290, 162, - 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, - 193, 194, 149, 0, 245, 172, 185, 169, 226, 704, - 716, 673, 168, 671, 715, 285, 152, 0, 284, 225, - 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, - 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, + 0, 241, 179, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 121, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 721, + 0, 0, 295, 296, 297, 281, 97, 0, 716, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, + 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, + 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, + 0, 0, 0, 731, 737, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 679, 0, 0, 0, 629, 723, + 722, 696, 705, 0, 0, 156, 697, 0, 704, 698, + 702, 701, 699, 700, 0, 666, 0, 0, 0, 0, + 0, 0, 627, 683, 0, 687, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 680, 681, 0, 0, + 0, 0, 717, 0, 682, 0, 0, 719, 0, 706, + 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, + 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, + 149, 0, 245, 172, 185, 169, 226, 703, 715, 672, + 168, 670, 714, 285, 152, 0, 284, 225, 272, 276, + 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, + 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 713, 0, 0, 287, 0, - 0, 731, 0, 0, 0, 262, 0, 0, 198, 0, - 0, 0, 674, 0, 248, 231, 741, 0, 0, 246, - 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, - 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, - 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, - 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, - 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 712, 0, 0, 287, 0, 0, 730, + 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, + 673, 0, 248, 231, 740, 0, 0, 246, 201, 273, + 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, + 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, + 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, + 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, + 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, + 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 299, 181, 142, 282, 728, + 227, 739, 724, 725, 726, 729, 732, 733, 668, 671, + 734, 736, 738, 741, 251, 0, 0, 0, 0, 0, + 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 669, 0, 0, 0, 291, 0, 0, 0, 0, + 0, 718, 217, 218, 219, 220, 667, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, + 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, + 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, + 257, 206, 747, 727, 746, 748, 749, 745, 750, 751, + 735, 688, 0, 743, 742, 744, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 200, 70, 241, 179, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 121, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 721, 716, 0, 295, 296, 297, 281, 0, 0, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 686, + 0, 0, 0, 174, 888, 0, 199, 0, 0, 0, + 258, 213, 0, 0, 0, 0, 731, 737, 0, 0, + 0, 0, 0, 0, 884, 0, 0, 679, 0, 0, + 0, 629, 723, 722, 696, 705, 0, 0, 156, 697, + 0, 704, 698, 702, 701, 699, 700, 0, 666, 0, + 0, 0, 0, 0, 0, 627, 683, 0, 687, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, + 681, 0, 0, 0, 0, 717, 0, 682, 0, 0, + 885, 0, 706, 0, 148, 263, 277, 157, 254, 290, + 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, + 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, + 703, 715, 672, 168, 670, 714, 285, 152, 0, 284, + 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, + 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 712, 0, 0, 287, + 0, 0, 730, 0, 0, 0, 262, 0, 0, 198, + 0, 0, 0, 673, 0, 248, 231, 740, 0, 0, + 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, + 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, + 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, + 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, + 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, + 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, - 142, 282, 729, 227, 740, 725, 726, 727, 730, 733, - 734, 669, 672, 735, 737, 739, 742, 251, 0, 0, + 142, 282, 728, 227, 739, 724, 725, 726, 729, 732, + 733, 668, 671, 734, 736, 738, 741, 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 670, 0, 0, 0, 291, 0, - 0, 0, 0, 0, 719, 217, 218, 219, 220, 668, + 0, 0, 0, 0, 669, 0, 0, 0, 291, 0, + 0, 0, 0, 0, 718, 217, 218, 219, 220, 667, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, - 249, 158, 279, 257, 206, 748, 728, 747, 749, 750, - 746, 751, 752, 736, 689, 0, 744, 743, 745, 0, + 249, 158, 279, 257, 206, 747, 727, 746, 748, 749, + 745, 750, 751, 735, 688, 0, 743, 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 200, 0, 241, 179, 632, 633, 634, - 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, - 645, 646, 121, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 722, 717, 0, 295, 296, 297, 281, + 0, 143, 0, 200, 0, 241, 179, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 121, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 721, 716, 0, 295, 296, 297, 281, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, - 0, 0, 687, 0, 0, 0, 174, 890, 0, 199, - 0, 0, 0, 258, 213, 0, 0, 0, 0, 732, - 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 680, 0, 0, 0, 630, 724, 723, 697, 706, 0, - 0, 156, 698, 0, 705, 699, 703, 702, 700, 701, - 0, 667, 0, 0, 0, 0, 0, 0, 628, 684, - 0, 688, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 681, 682, 0, 0, 0, 0, 718, 0, - 683, 0, 0, 720, 0, 707, 0, 148, 263, 277, + 0, 0, 686, 0, 0, 0, 174, 2319, 0, 199, + 0, 0, 0, 258, 213, 0, 0, 0, 0, 731, + 737, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 679, 0, 0, 0, 629, 723, 722, 696, 705, 0, + 0, 156, 697, 0, 704, 698, 702, 701, 699, 700, + 0, 666, 0, 0, 0, 0, 0, 0, 627, 683, + 0, 687, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 680, 681, 0, 0, 0, 0, 717, 0, + 682, 0, 0, 719, 0, 706, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, - 185, 169, 226, 704, 716, 673, 168, 671, 715, 285, + 185, 169, 226, 703, 715, 672, 168, 670, 714, 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 713, - 0, 0, 287, 0, 0, 731, 0, 0, 0, 262, - 0, 0, 198, 0, 0, 0, 674, 0, 248, 231, - 741, 0, 0, 246, 201, 273, 239, 278, 264, 286, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 712, + 0, 0, 287, 0, 0, 730, 0, 0, 0, 262, + 0, 0, 198, 0, 0, 0, 673, 0, 248, 231, + 740, 0, 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, - 269, 294, 300, 301, 305, 0, 306, 307, 0, 0, + 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 181, 142, 282, 729, 227, 740, 725, - 726, 727, 730, 733, 734, 669, 672, 735, 737, 739, - 742, 251, 0, 0, 0, 0, 0, 192, 233, 0, - 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, - 0, 0, 291, 0, 0, 0, 0, 0, 719, 217, - 218, 219, 220, 668, 0, 161, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, - 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, - 202, 244, 288, 230, 249, 158, 279, 257, 206, 748, - 728, 747, 749, 750, 746, 751, 752, 736, 689, 0, - 744, 743, 745, 0, 0, 0, 0, 0, 0, 0, + 0, 299, 181, 142, 282, 728, 227, 739, 724, 725, + 726, 729, 732, 733, 668, 671, 734, 736, 738, 741, + 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, - 179, 632, 633, 634, 635, 636, 637, 638, 639, 640, - 641, 642, 643, 644, 645, 646, 121, 647, 648, 649, + 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 669, 0, 0, + 0, 291, 0, 0, 0, 0, 0, 718, 217, 218, + 219, 220, 667, 0, 161, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, + 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, + 244, 288, 230, 249, 158, 279, 257, 206, 747, 727, + 746, 748, 749, 745, 750, 751, 735, 688, 0, 743, + 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 0, 200, 0, 241, 179, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 121, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 722, 0, 0, - 295, 296, 297, 281, 717, 0, 0, 1559, 0, 0, - 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, - 0, 0, 687, 0, 0, 0, 174, 0, 0, 199, - 0, 0, 0, 258, 213, 0, 0, 0, 0, 732, - 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 680, 0, 0, 0, 630, 724, 723, 697, 706, 0, - 0, 156, 698, 0, 705, 699, 703, 702, 700, 701, - 0, 667, 0, 0, 0, 0, 0, 0, 628, 684, - 0, 688, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 681, 682, 0, 0, 0, 0, 718, 0, - 683, 0, 0, 720, 0, 707, 0, 148, 263, 277, - 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, - 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, - 185, 169, 226, 704, 716, 673, 168, 671, 715, 285, - 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, - 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, - 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 713, - 0, 0, 287, 0, 0, 731, 0, 0, 0, 262, - 0, 0, 198, 0, 0, 0, 674, 0, 248, 231, - 741, 0, 0, 246, 201, 273, 239, 278, 264, 286, - 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, - 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, - 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, - 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, - 269, 294, 300, 301, 305, 0, 306, 307, 0, 0, + 660, 661, 662, 663, 664, 665, 721, 716, 0, 295, + 296, 297, 281, 0, 0, 0, 0, 229, 0, 0, + 0, 0, 0, 0, 0, 686, 0, 0, 0, 174, + 888, 0, 199, 0, 0, 0, 258, 213, 0, 0, + 0, 0, 731, 737, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 679, 0, 0, 0, 629, 723, 722, + 696, 705, 0, 0, 156, 697, 0, 704, 698, 702, + 701, 699, 700, 0, 666, 0, 0, 0, 0, 0, + 0, 627, 683, 0, 687, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 680, 681, 0, 0, 0, + 0, 717, 0, 682, 0, 0, 719, 0, 706, 0, + 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, + 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, + 0, 245, 172, 185, 169, 226, 703, 715, 672, 168, + 670, 714, 285, 152, 0, 284, 225, 272, 276, 211, + 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, + 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 181, 142, 282, 729, 227, 740, 725, - 726, 727, 730, 733, 734, 669, 672, 735, 737, 739, - 742, 251, 0, 0, 0, 0, 0, 192, 233, 0, - 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, - 0, 0, 291, 0, 0, 0, 0, 0, 719, 217, - 218, 219, 220, 668, 0, 161, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, - 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, - 202, 244, 288, 230, 249, 158, 279, 257, 206, 748, - 728, 747, 749, 750, 746, 751, 752, 736, 689, 0, - 744, 743, 745, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 712, 0, 0, 287, 0, 0, 730, 0, + 0, 0, 262, 0, 0, 198, 0, 0, 0, 673, + 0, 248, 231, 740, 0, 0, 246, 201, 273, 239, + 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, + 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, + 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, + 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, + 207, 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, - 179, 632, 633, 634, 635, 636, 637, 638, 639, 640, - 641, 642, 643, 644, 645, 646, 121, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 722, 717, 0, - 295, 296, 297, 281, 0, 0, 0, 0, 229, 0, - 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, - 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, - 0, 0, 0, 732, 738, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 680, 0, 0, 0, 630, 724, - 723, 697, 706, 0, 0, 156, 698, 0, 705, 699, - 703, 702, 700, 701, 0, 667, 0, 0, 0, 0, - 0, 0, 628, 684, 0, 688, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 681, 682, 625, 0, - 0, 0, 718, 0, 683, 0, 0, 720, 0, 707, - 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, - 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, - 149, 0, 245, 172, 185, 169, 226, 704, 716, 673, - 168, 671, 715, 285, 152, 0, 284, 225, 272, 276, - 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, - 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 299, 181, 142, 282, 728, 227, + 739, 724, 725, 726, 729, 732, 733, 668, 671, 734, + 736, 738, 741, 251, 0, 0, 0, 0, 0, 192, + 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 713, 0, 0, 287, 0, 0, 731, - 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, - 674, 0, 248, 231, 741, 0, 0, 246, 201, 273, - 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, - 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, - 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, - 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, - 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, - 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, + 669, 0, 0, 0, 291, 0, 0, 0, 0, 0, + 718, 217, 218, 219, 220, 667, 0, 161, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, + 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, + 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, + 206, 747, 727, 746, 748, 749, 745, 750, 751, 735, + 688, 0, 743, 742, 744, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 0, 200, + 0, 241, 179, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 121, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 721, + 0, 0, 295, 296, 297, 281, 716, 0, 0, 1555, + 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, + 0, 0, 0, 0, 686, 0, 0, 0, 174, 0, + 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, + 0, 731, 737, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 679, 0, 0, 0, 629, 723, 722, 696, + 705, 0, 0, 156, 697, 0, 704, 698, 702, 701, + 699, 700, 0, 666, 0, 0, 0, 0, 0, 0, + 627, 683, 0, 687, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 680, 681, 0, 0, 0, 0, + 717, 0, 682, 0, 0, 719, 0, 706, 0, 148, + 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, + 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, + 245, 172, 185, 169, 226, 703, 715, 672, 168, 670, + 714, 285, 152, 0, 284, 225, 272, 276, 211, 205, + 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, + 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 712, 0, 0, 287, 0, 0, 730, 0, 0, + 0, 262, 0, 0, 198, 0, 0, 0, 673, 0, + 248, 231, 740, 0, 0, 246, 201, 273, 239, 278, + 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, + 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, + 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, + 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, + 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 181, 142, 282, 728, 227, 739, + 724, 725, 726, 729, 732, 733, 668, 671, 734, 736, + 738, 741, 251, 0, 0, 0, 0, 0, 192, 233, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, + 0, 0, 0, 291, 0, 0, 0, 0, 0, 718, + 217, 218, 219, 220, 667, 0, 161, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, + 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, + 196, 202, 244, 288, 230, 249, 158, 279, 257, 206, + 747, 727, 746, 748, 749, 745, 750, 751, 735, 688, + 0, 743, 742, 744, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, + 241, 179, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 121, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 721, 716, + 0, 295, 296, 297, 281, 0, 0, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, + 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, + 0, 0, 0, 0, 731, 737, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 679, 0, 0, 0, 629, + 723, 722, 696, 705, 0, 0, 156, 697, 0, 704, + 698, 702, 701, 699, 700, 0, 666, 0, 0, 0, + 0, 0, 0, 627, 683, 0, 687, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 680, 681, 624, + 0, 0, 0, 717, 0, 682, 0, 0, 719, 0, + 706, 0, 148, 263, 277, 157, 254, 290, 162, 261, + 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, + 194, 149, 0, 245, 172, 185, 169, 226, 703, 715, + 672, 168, 670, 714, 285, 152, 0, 284, 225, 272, + 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, + 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 712, 0, 0, 287, 0, 0, + 730, 0, 0, 0, 262, 0, 0, 198, 0, 0, + 0, 673, 0, 248, 231, 740, 0, 0, 246, 201, + 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, + 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, + 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, + 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, + 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, + 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, - 729, 227, 740, 725, 726, 727, 730, 733, 734, 669, - 672, 735, 737, 739, 742, 251, 0, 0, 0, 0, + 728, 227, 739, 724, 725, 726, 729, 732, 733, 668, + 671, 734, 736, 738, 741, 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 670, 0, 0, 0, 291, 0, 0, 0, - 0, 0, 719, 217, 218, 219, 220, 668, 0, 161, + 0, 0, 669, 0, 0, 0, 291, 0, 0, 0, + 0, 0, 718, 217, 218, 219, 220, 667, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, 249, 158, - 279, 257, 206, 748, 728, 747, 749, 750, 746, 751, - 752, 736, 689, 0, 744, 743, 745, 0, 0, 0, + 279, 257, 206, 747, 727, 746, 748, 749, 745, 750, + 751, 735, 688, 0, 743, 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 0, 200, 0, 241, 179, 632, 633, 634, 635, 636, - 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, - 121, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, - 666, 722, 717, 0, 295, 296, 297, 281, 0, 0, + 0, 200, 0, 241, 179, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 121, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 721, 716, 0, 295, 296, 297, 281, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, - 687, 0, 0, 0, 174, 0, 0, 199, 0, 0, - 0, 258, 213, 0, 0, 0, 0, 732, 738, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, - 0, 0, 630, 724, 723, 697, 706, 0, 0, 156, - 698, 0, 705, 699, 703, 702, 700, 701, 0, 667, - 0, 0, 0, 0, 0, 0, 628, 684, 0, 688, + 686, 0, 0, 0, 174, 0, 0, 199, 0, 0, + 0, 258, 213, 0, 0, 0, 0, 731, 737, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, + 0, 0, 629, 723, 722, 696, 705, 0, 0, 156, + 697, 0, 704, 698, 702, 701, 699, 700, 0, 666, + 0, 0, 0, 0, 0, 0, 627, 683, 0, 687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 681, 682, 0, 0, 0, 0, 718, 0, 683, 0, - 0, 720, 0, 707, 0, 148, 263, 277, 157, 254, + 680, 681, 0, 0, 0, 0, 717, 0, 682, 0, + 0, 719, 0, 706, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, - 226, 704, 716, 673, 168, 671, 715, 285, 152, 0, + 226, 703, 715, 672, 168, 670, 714, 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 713, 0, 0, - 287, 0, 0, 731, 0, 0, 0, 262, 0, 0, - 198, 0, 0, 0, 674, 0, 248, 231, 741, 0, + 0, 0, 0, 0, 0, 0, 0, 712, 0, 0, + 287, 0, 0, 730, 0, 0, 0, 262, 0, 0, + 198, 0, 0, 0, 673, 0, 248, 231, 740, 0, 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, - 300, 301, 305, 0, 306, 307, 0, 0, 0, 0, + 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 181, 142, 282, 728, 227, 739, 724, 725, 726, 729, + 732, 733, 668, 671, 734, 736, 738, 741, 251, 0, + 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 181, 142, 282, 729, 227, 740, 725, 726, 727, - 730, 733, 734, 669, 672, 735, 737, 739, 742, 251, - 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, + 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 669, 0, 0, 0, 291, + 0, 0, 0, 0, 0, 718, 217, 218, 219, 220, + 667, 0, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, + 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, + 230, 249, 158, 279, 257, 206, 747, 727, 746, 748, + 749, 745, 750, 751, 735, 688, 0, 743, 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 670, 0, 0, 0, - 291, 0, 0, 0, 0, 0, 719, 217, 218, 219, - 220, 668, 0, 161, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, - 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, - 288, 230, 249, 158, 279, 257, 206, 748, 728, 747, - 749, 750, 746, 751, 752, 736, 689, 0, 744, 743, - 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 0, 200, 0, 241, 179, 632, + 0, 0, 143, 0, 200, 0, 241, 179, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, - 643, 644, 645, 646, 121, 647, 648, 649, 650, 651, + 643, 644, 645, 121, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 722, 717, 0, 295, 296, - 297, 281, 0, 0, 0, 0, 229, 0, 0, 0, - 1321, 0, 0, 0, 687, 0, 0, 0, 174, 0, - 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, - 0, 732, 738, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 680, 0, 0, 0, 630, 724, 723, 697, - 706, 0, 0, 156, 698, 0, 705, 699, 703, 702, - 700, 701, 0, 667, 0, 0, 0, 0, 0, 0, - 0, 684, 0, 688, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 681, 682, 0, 0, 0, 0, - 718, 0, 683, 0, 0, 720, 0, 707, 0, 148, - 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, - 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, - 245, 172, 185, 169, 226, 704, 716, 673, 168, 671, - 715, 285, 152, 0, 284, 225, 272, 276, 211, 205, - 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, - 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, + 662, 663, 664, 665, 721, 716, 0, 295, 296, 297, + 281, 0, 0, 0, 0, 229, 0, 0, 0, 1318, + 0, 0, 0, 686, 0, 0, 0, 174, 0, 0, + 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, + 731, 737, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 679, 0, 0, 0, 629, 723, 722, 696, 705, + 0, 0, 156, 697, 0, 704, 698, 702, 701, 699, + 700, 0, 666, 0, 0, 0, 0, 0, 0, 0, + 683, 0, 687, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 680, 681, 0, 0, 0, 0, 717, + 0, 682, 0, 0, 719, 0, 706, 0, 148, 263, + 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, + 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, + 172, 185, 169, 226, 703, 715, 672, 168, 670, 714, + 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, + 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, + 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 713, 0, 0, 287, 0, 0, 731, 0, 0, - 0, 262, 0, 0, 198, 0, 0, 0, 674, 0, - 248, 231, 741, 0, 0, 246, 201, 273, 239, 278, - 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, - 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, - 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, - 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, - 236, 270, 269, 294, 1322, 1323, 305, 0, 306, 307, + 712, 0, 0, 287, 0, 0, 730, 0, 0, 0, + 262, 0, 0, 198, 0, 0, 0, 673, 0, 248, + 231, 740, 0, 0, 246, 201, 273, 239, 278, 264, + 286, 242, 240, 144, 265, 171, 212, 154, 155, 167, + 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, + 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, + 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, + 270, 269, 294, 1319, 1320, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 181, 142, 282, 729, 227, - 740, 725, 726, 727, 730, 733, 734, 669, 672, 735, - 737, 739, 742, 251, 0, 0, 0, 0, 0, 192, - 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, + 0, 0, 299, 181, 142, 282, 728, 227, 739, 724, + 725, 726, 729, 732, 733, 668, 671, 734, 736, 738, + 741, 251, 0, 0, 0, 0, 0, 192, 233, 0, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 669, 0, + 0, 0, 291, 0, 0, 0, 0, 0, 718, 217, + 218, 219, 220, 667, 0, 161, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, + 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, + 202, 244, 288, 230, 249, 158, 279, 257, 206, 747, + 727, 746, 748, 749, 745, 750, 751, 735, 688, 0, + 743, 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 670, 0, 0, 0, 291, 0, 0, 0, 0, 0, - 719, 217, 218, 219, 220, 668, 0, 161, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, - 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, - 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, - 206, 748, 728, 747, 749, 750, 746, 751, 752, 736, - 689, 0, 744, 743, 745, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, + 179, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 121, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 721, 716, 0, + 295, 296, 297, 281, 0, 0, 0, 0, 229, 0, + 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, + 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, + 0, 0, 0, 731, 737, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 679, 0, 0, 0, 629, 723, + 722, 696, 705, 0, 0, 156, 697, 0, 704, 698, + 702, 701, 699, 700, 0, 666, 0, 0, 0, 0, + 0, 0, 0, 683, 0, 687, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 680, 681, 0, 0, + 0, 0, 717, 0, 682, 0, 0, 719, 0, 706, + 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, + 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, + 149, 0, 245, 172, 185, 169, 226, 703, 715, 672, + 168, 670, 714, 285, 152, 0, 284, 225, 272, 276, + 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, + 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 0, 200, - 0, 241, 179, 632, 633, 634, 635, 636, 637, 638, - 639, 640, 641, 642, 643, 644, 645, 646, 121, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 659, 660, 661, 662, 663, 664, 665, 666, 722, - 717, 0, 295, 296, 297, 281, 0, 0, 0, 0, - 229, 0, 0, 0, 0, 0, 0, 0, 687, 0, - 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, - 213, 0, 0, 0, 0, 732, 738, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, - 630, 724, 723, 697, 706, 0, 0, 156, 698, 0, - 705, 699, 703, 702, 700, 701, 0, 667, 0, 0, - 0, 0, 0, 0, 0, 684, 0, 688, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 681, 682, - 0, 0, 0, 0, 718, 0, 683, 0, 0, 720, - 0, 707, 0, 148, 263, 277, 157, 254, 290, 162, - 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, - 193, 194, 149, 0, 245, 172, 185, 169, 226, 704, - 716, 673, 168, 671, 715, 285, 152, 0, 284, 225, - 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, - 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, + 0, 0, 0, 712, 0, 0, 287, 0, 0, 730, + 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, + 673, 0, 248, 231, 740, 0, 0, 246, 201, 273, + 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, + 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, + 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, + 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, + 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, + 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 299, 181, 142, 282, 728, + 227, 739, 724, 725, 726, 729, 732, 733, 668, 671, + 734, 736, 738, 741, 251, 0, 0, 0, 0, 0, + 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 713, 0, 0, 287, 0, - 0, 731, 0, 0, 0, 262, 0, 0, 198, 0, - 0, 0, 674, 0, 248, 231, 741, 0, 0, 246, - 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, - 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, - 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, - 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, - 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, + 0, 669, 0, 0, 0, 291, 0, 0, 0, 0, + 0, 718, 217, 218, 219, 220, 667, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, + 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, + 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, + 257, 206, 747, 727, 746, 748, 749, 745, 750, 751, + 735, 688, 0, 743, 742, 744, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 200, 0, 241, 179, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 121, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 721, 716, 0, 295, 296, 297, 281, 0, 0, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 686, + 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, + 258, 213, 0, 0, 0, 0, 731, 737, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 629, 723, 722, 696, 705, 0, 0, 156, 697, + 0, 704, 698, 702, 701, 699, 700, 0, 666, 0, + 0, 0, 0, 0, 0, 627, 683, 0, 687, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, + 681, 0, 0, 0, 0, 717, 0, 682, 0, 0, + 719, 0, 706, 0, 148, 263, 277, 157, 254, 290, + 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, + 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, + 703, 715, 672, 168, 670, 714, 285, 152, 0, 284, + 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, + 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 712, 0, 0, 287, + 0, 0, 730, 0, 0, 0, 262, 0, 0, 198, + 0, 0, 0, 673, 0, 248, 231, 740, 0, 0, + 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, + 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, + 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, + 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, + 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, + 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, - 142, 282, 729, 227, 740, 725, 726, 727, 730, 733, - 734, 669, 672, 735, 737, 739, 742, 251, 0, 0, + 142, 282, 728, 227, 739, 724, 725, 726, 729, 732, + 733, 668, 671, 734, 736, 738, 741, 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 670, 0, 0, 0, 291, 0, - 0, 0, 0, 0, 719, 217, 218, 219, 220, 668, + 0, 0, 0, 0, 669, 0, 0, 0, 291, 0, + 0, 0, 0, 0, 718, 217, 218, 219, 220, 667, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, - 249, 158, 279, 257, 206, 748, 728, 747, 749, 750, - 746, 751, 752, 736, 689, 0, 744, 743, 745, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 200, 0, 241, 179, 632, 633, 634, - 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, - 645, 646, 121, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 666, 722, 717, 0, 295, 296, 297, 281, - 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, - 0, 0, 687, 0, 0, 0, 174, 0, 0, 199, - 0, 0, 0, 258, 213, 0, 0, 0, 0, 732, - 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 630, 724, 723, 697, 706, 0, - 0, 156, 698, 0, 705, 699, 703, 702, 700, 701, - 0, 667, 0, 0, 0, 0, 0, 0, 628, 684, - 0, 688, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 681, 682, 0, 0, 0, 0, 718, 0, - 683, 0, 0, 720, 0, 707, 0, 148, 263, 277, - 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, - 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, - 185, 169, 226, 704, 716, 673, 168, 671, 715, 285, - 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, - 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, - 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 713, - 0, 0, 287, 0, 0, 731, 0, 0, 0, 262, - 0, 0, 198, 0, 0, 0, 674, 0, 248, 231, - 741, 0, 0, 246, 201, 273, 239, 278, 264, 286, - 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, - 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, - 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, - 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, - 269, 294, 300, 301, 305, 0, 306, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 181, 142, 282, 729, 227, 740, 725, - 726, 727, 730, 733, 734, 669, 672, 735, 737, 739, - 742, 251, 0, 0, 0, 0, 0, 192, 233, 0, - 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, - 0, 0, 291, 0, 0, 0, 0, 0, 719, 217, - 218, 219, 220, 668, 0, 161, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, - 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, - 202, 244, 288, 230, 249, 158, 279, 257, 206, 748, - 728, 747, 749, 750, 746, 751, 752, 736, 689, 0, - 744, 743, 745, 0, 0, 0, 0, 0, 0, 0, + 249, 158, 279, 257, 206, 747, 727, 746, 748, 749, + 745, 750, 751, 735, 688, 0, 743, 742, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, - 179, 632, 633, 634, 635, 636, 637, 638, 639, 640, - 641, 642, 643, 644, 645, 646, 121, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 722, 0, 0, - 295, 296, 297, 281, 97, 0, 27, 87, 69, 0, - 0, 0, 0, 0, 0, 0, 229, 314, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, - 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 319, 0, 0, 0, 103, 0, 0, 0, - 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, - 0, 350, 354, 346, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 361, 0, 0, 0, 148, - 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, - 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, - 245, 172, 185, 169, 226, 0, 0, 302, 168, 293, - 0, 285, 152, 0, 284, 225, 272, 276, 211, 205, - 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, - 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, - 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, - 0, 262, 0, 0, 198, 0, 0, 0, 303, 0, - 248, 231, 0, 0, 0, 246, 201, 273, 239, 278, - 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, - 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, - 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, - 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, - 236, 270, 269, 294, 300, 301, 305, 0, 306, 307, - 344, 343, 347, 1360, 0, 0, 0, 0, 349, 0, - 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, - 353, 0, 0, 0, 0, 0, 0, 223, 298, 0, - 0, 0, 0, 251, 345, 0, 0, 0, 0, 192, - 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 283, 0, 0, 0, 291, 0, 0, 0, 0, 0, - 0, 217, 218, 219, 220, 315, 317, 161, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, - 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, - 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, - 206, 0, 348, 352, 355, 0, 356, 357, 0, 0, - 358, 359, 360, 0, 0, 362, 363, 0, 0, 0, - 0, 0, 1356, 0, 1353, 0, 0, 0, 1355, 1352, - 1354, 1358, 1359, 0, 0, 0, 1357, 143, 0, 200, - 70, 241, 179, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, - 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, - 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 1644, 1647, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1363, 1364, 1365, 1366, 1367, 1368, 1361, 1362, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, - 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, - 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, - 302, 168, 293, 0, 285, 152, 0, 284, 225, 272, - 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, - 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1648, 287, 0, 0, - 0, 1641, 0, 1640, 262, 1642, 1645, 198, 0, 0, - 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, - 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, - 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, - 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, - 165, 145, 255, 166, 146, 235, 271, 1646, 183, 243, - 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, - 0, 306, 307, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, - 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, - 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, - 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, - 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 283, 0, 0, 0, 291, 0, 0, - 0, 0, 0, 0, 217, 218, 219, 220, 184, 0, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, - 0, 224, 191, 256, 196, 202, 244, 288, 230, 249, - 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 143, 0, 200, 0, 241, 179, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 229, 0, 0, 295, 296, 297, 281, 919, + 0, 143, 0, 200, 0, 241, 179, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 121, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 721, 0, 0, 295, 296, 297, 281, + 97, 0, 27, 87, 69, 0, 0, 0, 0, 0, + 0, 0, 229, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 103, 0, 0, 920, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, + 0, 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, - 0, 0, 915, 916, 917, 914, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 350, 0, 349, 353, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 148, 263, 277, 157, 254, + 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 360, 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, 168, 293, 0, 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 317, 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, @@ -2060,144 +1965,52 @@ var yyAct = [...]int{ 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, - 300, 301, 305, 0, 306, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, - 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, - 291, 0, 0, 0, 0, 0, 0, 217, 218, 219, - 220, 184, 0, 161, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, - 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, - 288, 230, 249, 158, 279, 257, 206, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 0, 200, 0, 241, 179, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 229, 0, 0, 295, 296, - 297, 281, 0, 0, 0, 0, 0, 174, 429, 0, - 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 437, 438, 0, 0, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 148, 263, - 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, - 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, - 172, 185, 169, 226, 0, 0, 302, 168, 293, 411, - 285, 152, 410, 284, 225, 272, 276, 211, 205, 151, - 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, - 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 198, 0, 0, 0, 303, 0, 248, - 231, 0, 0, 0, 246, 201, 273, 239, 278, 264, - 286, 428, 240, 144, 265, 171, 212, 154, 155, 167, - 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, - 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, - 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, - 270, 269, 294, 300, 301, 305, 0, 306, 307, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, - 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, - 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, - 0, 0, 0, 291, 0, 0, 0, 0, 0, 431, - 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, - 188, 160, 232, 182, 289, 195, 0, 439, 434, 435, - 196, 202, 244, 288, 230, 249, 158, 279, 257, 436, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, - 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 97, 0, - 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, - 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 94, 0, 1007, 0, - 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, - 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, - 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, - 0, 302, 168, 293, 0, 285, 152, 0, 284, 225, - 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, - 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, - 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, - 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, - 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, - 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, - 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, - 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, - 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, - 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 283, 0, 0, 0, 291, 0, - 0, 0, 0, 0, 0, 217, 218, 219, 220, 184, - 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, - 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, - 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 200, 70, 241, 179, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 229, 0, 0, 295, 296, 297, 281, - 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, - 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 437, 438, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 300, 301, 305, 0, 306, 343, 342, 346, 0, 1357, + 0, 0, 0, 348, 0, 0, 0, 0, 0, 299, + 181, 142, 282, 0, 227, 352, 0, 0, 0, 0, + 0, 0, 223, 298, 0, 0, 0, 0, 251, 344, + 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, 0, 291, + 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 314, 316, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, + 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, + 230, 249, 158, 279, 257, 206, 347, 351, 354, 0, + 355, 356, 0, 0, 357, 358, 359, 0, 0, 361, + 362, 0, 0, 0, 0, 0, 0, 1353, 0, 1350, + 0, 0, 0, 1352, 1349, 1351, 1355, 1356, 0, 0, + 0, 1354, 143, 0, 200, 70, 241, 179, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 229, 0, 0, 295, 296, 297, + 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, + 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 159, 1637, 1640, 1338, 1339, 1340, 1341, 1342, 1343, + 1344, 1345, 1346, 1347, 1348, 1360, 1361, 1362, 1363, 1364, + 1365, 1358, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 148, 263, 277, 157, - 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, - 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, - 169, 226, 0, 0, 302, 168, 293, 411, 285, 152, - 410, 284, 225, 272, 276, 211, 205, 151, 274, 209, - 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, + 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, + 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, + 185, 169, 226, 0, 0, 302, 168, 293, 0, 285, + 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, + 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, + 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, 0, 262, 0, - 0, 198, 0, 0, 0, 303, 0, 248, 231, 0, - 0, 0, 246, 201, 273, 239, 278, 264, 286, 242, - 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, - 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, - 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, - 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, - 294, 300, 301, 305, 0, 306, 307, 0, 0, 0, + 0, 1641, 287, 0, 0, 0, 1634, 0, 1633, 262, + 1635, 1638, 198, 0, 0, 0, 303, 0, 248, 231, + 0, 0, 0, 246, 201, 273, 239, 278, 264, 286, + 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, + 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, + 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, + 235, 271, 1639, 183, 243, 208, 147, 207, 236, 270, + 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, @@ -2208,8 +2021,8 @@ var yyAct = [...]int{ 0, 291, 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, - 232, 182, 289, 195, 0, 439, 434, 435, 196, 202, - 244, 288, 230, 249, 158, 279, 257, 436, 0, 0, + 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, + 244, 288, 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2218,16 +2031,16 @@ var yyAct = [...]int{ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, 0, 295, - 296, 297, 281, 0, 0, 0, 0, 0, 174, 607, + 296, 297, 281, 917, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 605, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 918, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 913, 914, 915, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 603, 0, 0, 0, 148, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, 168, 293, @@ -2242,77 +2055,78 @@ var yyAct = [...]int{ 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, - 236, 270, 269, 294, 300, 301, 305, 0, 306, 307, + 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, - 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 0, 192, - 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, + 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, + 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, + 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, + 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, + 196, 202, 244, 288, 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 283, 0, 0, 0, 291, 0, 0, 0, 0, 0, - 0, 217, 218, 219, 220, 184, 0, 161, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, - 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, - 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 0, 200, - 0, 241, 179, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, - 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, - 0, 174, 601, 0, 199, 0, 0, 0, 258, 213, + 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, + 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, + 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, + 174, 428, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, - 0, 0, 605, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 436, + 437, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 603, 0, - 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, - 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, - 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, - 302, 168, 293, 0, 285, 152, 0, 284, 225, 272, - 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, - 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, - 0, 0, 0, 0, 262, 0, 0, 198, 0, 0, - 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, - 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, - 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, - 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, - 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, - 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, - 0, 306, 307, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, - 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, - 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, - 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, - 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 283, 0, 0, 0, 291, 0, 0, - 0, 0, 0, 0, 217, 218, 219, 220, 184, 0, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, - 0, 224, 191, 256, 196, 202, 244, 288, 230, 249, - 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, + 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, + 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, + 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, + 168, 293, 410, 285, 152, 409, 284, 225, 272, 276, + 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, + 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, + 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, + 239, 278, 264, 286, 427, 240, 144, 265, 171, 212, + 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, + 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, + 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, + 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, + 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, + 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, + 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, + 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 283, 0, 0, 0, 291, 0, 0, 0, 0, + 0, 430, 217, 218, 219, 220, 184, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, + 186, 0, 188, 160, 232, 182, 289, 195, 0, 438, + 433, 434, 196, 202, 244, 288, 230, 249, 158, 279, + 257, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 143, 0, 200, 0, 241, 179, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 229, 0, 0, 295, 296, 297, 281, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 200, 0, 241, 179, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 97, 0, 0, 295, 296, 297, 281, 0, 0, 0, + 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2240, 0, 103, 724, 0, 0, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, + 1005, 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2333,52 +2147,97 @@ var yyAct = [...]int{ 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, - 300, 301, 305, 0, 306, 307, 0, 0, 0, 0, + 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, + 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, + 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, - 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, + 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, 0, 291, + 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 184, 0, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, + 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, + 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, - 291, 0, 0, 0, 0, 0, 0, 217, 218, 219, - 220, 184, 0, 161, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, - 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, - 288, 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 143, 0, 200, 70, 241, 179, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 229, 0, 0, 295, 296, 297, + 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, + 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 0, 200, 0, 241, 179, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 229, 0, 0, 295, 296, - 297, 281, 0, 0, 0, 0, 0, 174, 0, 0, - 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 436, 437, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 605, 0, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, + 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, + 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, + 185, 169, 226, 0, 0, 302, 168, 293, 410, 285, + 152, 409, 284, 225, 272, 276, 211, 205, 151, 274, + 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, + 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 603, 0, 0, 0, 148, 263, - 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, - 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, - 172, 185, 169, 226, 0, 0, 302, 168, 293, 0, - 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, - 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, - 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, 0, 262, + 0, 0, 198, 0, 0, 0, 303, 0, 248, 231, + 0, 0, 0, 246, 201, 273, 239, 278, 264, 286, + 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, + 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, + 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, + 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, + 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 198, 0, 0, 0, 303, 0, 248, - 231, 0, 0, 0, 246, 201, 273, 239, 278, 264, - 286, 242, 240, 144, 265, 171, 212, 154, 155, 167, - 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, - 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, - 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, - 270, 269, 294, 300, 301, 305, 0, 306, 307, 0, + 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, + 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, + 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, + 0, 291, 0, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 184, 0, 161, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, + 232, 182, 289, 195, 0, 438, 433, 434, 196, 202, + 244, 288, 230, 249, 158, 279, 257, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 0, 200, 0, 241, 179, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 229, 0, 0, 295, + 296, 297, 281, 0, 0, 0, 0, 0, 174, 606, + 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 604, + 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 602, 0, 0, 0, 148, + 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, + 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, + 245, 172, 185, 169, 226, 0, 0, 302, 168, 293, + 0, 285, 152, 0, 284, 225, 272, 276, 211, 205, + 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, + 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 0, 262, 0, 0, 198, 0, 0, 0, 303, 0, + 248, 231, 0, 0, 0, 246, 201, 273, 239, 278, + 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, + 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, + 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, + 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, + 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, @@ -2400,15 +2259,15 @@ var yyAct = [...]int{ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, - 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, + 174, 600, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, - 0, 605, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 604, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 602, 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, @@ -2416,60 +2275,105 @@ var yyAct = [...]int{ 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, - 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, - 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, - 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, - 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, - 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, - 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, - 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, - 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, - 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, - 298, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, + 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, + 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, + 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, + 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, + 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, + 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, + 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, + 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, + 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, + 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, + 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 283, 0, 0, 0, 291, 0, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 184, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, + 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, + 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, + 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 200, 0, 241, 179, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 229, 0, 0, 295, 296, 297, 281, 0, 0, 0, + 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, + 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2228, 0, + 103, 723, 0, 0, 0, 0, 0, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, + 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, + 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, + 0, 302, 168, 293, 0, 285, 152, 0, 284, 225, + 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, + 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, + 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, + 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, + 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, + 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, + 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, + 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, + 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, + 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, + 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, + 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, + 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 283, 0, 0, 0, 291, 0, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 184, 0, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, + 0, 224, 191, 256, 196, 202, 244, 288, 230, 249, + 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 283, 0, 0, 0, 291, 0, 0, 0, - 0, 0, 0, 217, 218, 219, 220, 184, 0, 161, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, - 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, - 224, 191, 256, 196, 202, 244, 288, 230, 249, 158, - 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 0, 200, 0, 241, 179, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 229, 0, 0, 295, 296, 297, 281, 0, 0, - 0, 0, 0, 174, 1297, 0, 199, 0, 0, 0, - 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 0, 200, 0, 241, 179, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 229, 0, 0, 295, 296, 297, 281, 0, + 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, + 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 605, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, + 0, 0, 103, 0, 0, 604, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, - 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, - 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, - 0, 0, 302, 168, 293, 0, 285, 152, 0, 284, - 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, - 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, + 0, 602, 0, 0, 0, 148, 263, 277, 157, 254, + 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, + 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, + 226, 0, 0, 302, 168, 293, 0, 285, 152, 0, + 284, 225, 272, 276, 211, 205, 151, 274, 209, 204, + 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 0, 0, 0, 0, 0, 0, 262, 0, 0, 198, - 0, 0, 0, 303, 0, 248, 231, 0, 0, 0, - 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, - 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, - 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, - 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, - 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, - 301, 305, 0, 306, 307, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 0, 262, 0, 0, + 198, 0, 0, 0, 303, 0, 248, 231, 0, 0, + 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, + 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, + 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, + 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, + 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, + 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, @@ -2493,13 +2397,13 @@ var yyAct = [...]int{ 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 103, 724, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 604, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, + 0, 0, 0, 1835, 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, 168, 293, 0, 285, @@ -2514,53 +2418,98 @@ var yyAct = [...]int{ 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, - 269, 294, 300, 301, 305, 0, 306, 307, 0, 0, + 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, - 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 0, 192, 233, 0, - 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, - 0, 0, 291, 0, 0, 0, 0, 0, 0, 217, - 218, 219, 220, 184, 0, 161, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, - 160, 232, 182, 289, 195, 0, 224, 191, 256, 196, - 202, 244, 288, 230, 249, 158, 279, 257, 206, 0, + 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, + 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, + 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, + 0, 291, 0, 0, 0, 0, 0, 0, 217, 218, + 219, 220, 184, 0, 161, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, + 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, + 244, 288, 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, - 179, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 229, 0, 0, - 295, 296, 297, 281, 0, 0, 0, 0, 0, 174, - 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1995, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 0, 200, 0, 241, 179, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 229, 0, 0, 295, + 296, 297, 281, 0, 0, 0, 0, 0, 174, 1294, + 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 604, + 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, - 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, - 0, 245, 172, 185, 169, 226, 0, 0, 302, 168, - 293, 0, 285, 152, 0, 284, 225, 272, 276, 211, - 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, - 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, + 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, + 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, + 245, 172, 185, 169, 226, 0, 0, 302, 168, 293, + 0, 285, 152, 0, 284, 225, 272, 276, 211, 205, + 151, 274, 209, 204, 197, 176, 189, 237, 203, 238, + 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, - 0, 0, 262, 0, 0, 198, 0, 0, 0, 303, - 0, 248, 231, 0, 0, 0, 246, 201, 273, 239, - 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, - 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, - 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, - 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, - 207, 236, 270, 269, 294, 300, 301, 305, 0, 306, - 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 0, 262, 0, 0, 198, 0, 0, 0, 303, 0, + 248, 231, 0, 0, 0, 246, 201, 273, 239, 278, + 264, 286, 242, 240, 144, 265, 171, 212, 154, 155, + 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, + 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, + 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, + 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, + 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, + 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, + 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, + 196, 202, 244, 288, 230, 249, 158, 279, 257, 206, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, + 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, + 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, + 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 723, + 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, + 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, + 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, + 168, 293, 0, 285, 152, 0, 284, 225, 272, 276, + 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, + 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, + 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, + 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, + 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, + 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, + 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, + 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, + 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, @@ -2583,13 +2532,13 @@ var yyAct = [...]int{ 229, 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1983, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1679, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, @@ -2605,52 +2554,97 @@ var yyAct = [...]int{ 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, - 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, - 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 283, 0, 0, 0, 291, 0, - 0, 0, 0, 0, 0, 217, 218, 219, 220, 184, - 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, - 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, - 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, + 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, + 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, + 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, + 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, + 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 283, 0, 0, 0, 291, 0, 0, + 0, 0, 0, 0, 217, 218, 219, 220, 184, 0, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 180, 186, 0, 188, 160, 232, 182, 289, 195, + 0, 224, 191, 256, 196, 202, 244, 288, 230, 249, + 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 0, 200, 0, 241, 179, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 229, 0, 0, 295, 296, 297, 281, 0, + 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, + 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1672, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 148, 263, 277, 157, 254, + 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, + 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, + 226, 0, 0, 302, 168, 293, 0, 285, 152, 0, + 284, 225, 272, 276, 211, 205, 151, 274, 209, 204, + 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 0, 262, 0, 0, + 198, 0, 0, 0, 303, 0, 248, 231, 0, 0, + 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, + 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, + 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, + 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, + 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, + 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, + 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, + 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, 0, 291, + 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 184, 0, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, + 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, + 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 200, 0, 241, 179, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 229, 0, 0, 295, 296, 297, 281, - 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, - 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 869, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 143, 0, 200, 0, 241, 179, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 229, 0, 0, 295, 296, 297, + 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, + 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 867, 0, 0, 0, 103, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 148, 263, 277, 157, - 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, - 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, - 169, 226, 0, 0, 302, 168, 293, 0, 285, 152, - 0, 284, 225, 272, 276, 211, 205, 151, 274, 209, - 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, 0, 262, 0, - 0, 198, 0, 0, 0, 303, 0, 248, 231, 0, - 0, 0, 246, 201, 273, 239, 278, 264, 286, 242, - 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, - 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, - 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, - 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, - 294, 300, 301, 305, 0, 306, 307, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, + 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, + 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, + 185, 169, 226, 0, 0, 302, 168, 293, 0, 285, + 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, + 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, + 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, 0, 262, + 0, 0, 198, 0, 0, 0, 303, 0, 248, 231, + 0, 0, 0, 246, 201, 273, 239, 278, 264, 286, + 242, 240, 144, 265, 171, 212, 154, 155, 167, 173, + 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, + 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, + 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, + 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, @@ -2674,7 +2668,7 @@ var yyAct = [...]int{ 296, 297, 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 605, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 604, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2695,53 +2689,98 @@ var yyAct = [...]int{ 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, - 236, 270, 269, 294, 300, 301, 305, 0, 306, 307, + 236, 270, 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, - 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 0, 192, - 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, + 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, + 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, + 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, + 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, + 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, + 196, 202, 244, 288, 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 283, 0, 0, 0, 291, 0, 0, 0, 0, 0, - 0, 217, 218, 219, 220, 184, 0, 161, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, - 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, - 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 0, 200, - 0, 241, 179, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, - 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, - 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, + 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, + 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, + 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, + 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, + 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1705, + 0, 0, 0, 0, 0, 0, 0, 0, 1698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, - 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, - 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, - 302, 168, 293, 0, 285, 152, 0, 284, 225, 272, - 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, - 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, + 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, + 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, + 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, + 168, 293, 0, 285, 152, 0, 284, 225, 272, 276, + 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, + 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, - 0, 0, 0, 0, 262, 0, 0, 198, 0, 0, - 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, - 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, - 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, - 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, - 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, - 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, - 0, 306, 307, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, + 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, + 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, + 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, + 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, + 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, + 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, + 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, + 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, + 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, + 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 283, 0, 0, 0, 291, 0, 0, 0, 0, + 0, 0, 217, 218, 219, 220, 184, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, + 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, + 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, + 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 200, 0, 241, 179, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 229, 0, 0, 295, 296, 297, 281, 0, 0, 0, + 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, + 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1309, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, + 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, + 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, + 0, 302, 168, 293, 0, 285, 152, 0, 284, 225, + 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, + 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, + 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, + 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, + 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, + 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, + 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, + 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, + 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, @@ -2765,12 +2804,12 @@ var yyAct = [...]int{ 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 103, 0, 0, 0, 0, 0, 0, 156, + 0, 0, 103, 0, 0, 1307, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, 169, @@ -2779,14 +2818,105 @@ var yyAct = [...]int{ 197, 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 287, 0, 0, 0, 0, 0, 0, 262, 0, 0, - 198, 0, 0, 0, 303, 0, 248, 231, 0, 0, - 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, - 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, - 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, - 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, - 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, - 300, 301, 305, 0, 306, 307, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 0, 262, 0, 0, + 198, 0, 0, 0, 303, 0, 248, 231, 0, 0, + 0, 246, 201, 273, 239, 278, 264, 286, 242, 240, + 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, + 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, + 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, + 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, + 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, + 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, + 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, 0, 291, + 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 184, 0, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, + 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, + 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 143, 0, 200, 0, 241, 179, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 1236, 0, 0, 295, 296, 297, + 281, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, + 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, + 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, + 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, + 0, 0, 302, 168, 293, 0, 285, 152, 0, 284, + 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, + 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, + 0, 0, 0, 0, 0, 0, 262, 0, 0, 198, + 0, 0, 0, 303, 0, 248, 231, 0, 0, 0, + 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, + 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, + 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, + 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, + 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, + 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, + 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, + 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, + 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, + 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 283, 0, 0, 0, 291, 0, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 184, + 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, + 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, + 249, 158, 279, 257, 206, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 0, 200, 0, 241, 179, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 229, 0, 0, 295, 296, 297, 281, + 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, + 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 148, 263, 277, 157, + 254, 290, 162, 261, 153, 228, 250, 0, 0, 150, + 275, 260, 210, 193, 194, 149, 0, 245, 172, 185, + 169, 226, 0, 0, 302, 168, 293, 0, 285, 152, + 0, 284, 225, 272, 276, 211, 205, 151, 274, 209, + 204, 197, 176, 189, 237, 203, 238, 190, 215, 214, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 287, 0, 0, 1219, 0, 0, 0, 262, 0, + 0, 198, 0, 0, 0, 303, 0, 248, 231, 0, + 0, 0, 246, 201, 273, 239, 278, 264, 286, 242, + 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, + 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, + 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, + 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, + 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, @@ -2810,52 +2940,6 @@ var yyAct = [...]int{ 297, 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 1310, 0, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 148, 263, - 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, - 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, - 172, 185, 169, 226, 0, 0, 302, 168, 293, 0, - 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, - 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, - 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 198, 0, 0, 0, 303, 0, 248, - 231, 0, 0, 0, 246, 201, 273, 239, 278, 264, - 286, 242, 240, 144, 265, 171, 212, 154, 155, 167, - 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, - 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, - 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, - 270, 269, 294, 300, 301, 305, 0, 306, 307, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, - 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, - 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, - 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, - 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, - 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, - 196, 202, 244, 288, 230, 249, 158, 279, 257, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, - 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 1239, 0, - 0, 295, 296, 297, 281, 229, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, - 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, @@ -2877,150 +2961,14 @@ var yyAct = [...]int{ 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, - 270, 269, 294, 300, 301, 305, 0, 306, 307, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, - 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, - 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, - 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, - 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, - 188, 160, 232, 182, 289, 195, 0, 224, 191, 256, - 196, 202, 244, 288, 230, 249, 158, 279, 257, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 0, 200, 0, - 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, - 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, - 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 148, 263, 277, 157, 254, 290, 162, 261, 153, - 228, 250, 0, 0, 150, 275, 260, 210, 193, 194, - 149, 0, 245, 172, 185, 169, 226, 0, 0, 302, - 168, 293, 0, 285, 152, 0, 284, 225, 272, 276, - 211, 205, 151, 274, 209, 204, 197, 176, 189, 237, - 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 0, 0, 1222, - 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, - 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, - 239, 278, 264, 286, 242, 240, 144, 265, 171, 212, - 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, - 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, - 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, - 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, - 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, - 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, - 298, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 283, 0, 0, 0, 291, 0, 0, 0, - 0, 0, 0, 217, 218, 219, 220, 184, 0, 161, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, - 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, - 224, 191, 256, 196, 202, 244, 288, 230, 249, 158, - 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 0, 200, 0, 241, 179, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 229, 0, 0, 295, 296, 297, 281, 0, 0, - 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, - 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, - 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, - 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, - 0, 0, 302, 168, 293, 0, 285, 152, 0, 284, - 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, - 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 0, 0, 0, 0, 0, 0, 262, 0, 0, 198, - 0, 0, 0, 303, 0, 248, 231, 0, 0, 0, - 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, - 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, - 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, - 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, - 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, - 301, 305, 0, 306, 307, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, - 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, - 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 283, 0, 0, 0, 291, - 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, - 184, 0, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 304, 180, 186, 0, 188, 160, 232, 182, - 289, 195, 0, 224, 191, 256, 196, 202, 244, 288, - 230, 249, 158, 279, 257, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, - 0, 0, 143, 0, 200, 0, 241, 179, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 229, 0, 0, 295, 296, 297, - 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, - 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 148, 263, 277, - 157, 254, 290, 162, 261, 153, 228, 250, 0, 0, - 150, 275, 260, 210, 193, 194, 149, 0, 245, 172, - 185, 169, 226, 0, 0, 302, 168, 293, 0, 285, - 152, 0, 284, 225, 272, 276, 211, 205, 151, 274, - 209, 204, 197, 176, 189, 237, 203, 238, 190, 215, - 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 0, 0, 0, 262, - 0, 0, 198, 0, 0, 0, 303, 0, 248, 231, - 0, 0, 0, 246, 201, 273, 239, 278, 264, 286, - 331, 240, 144, 265, 171, 212, 154, 155, 167, 173, - 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, - 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, - 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, - 269, 294, 300, 301, 305, 0, 306, 307, 0, 0, + 270, 269, 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 332, 283, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, 184, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, @@ -3029,12 +2977,12 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, + 0, 0, 393, 0, 0, 143, 0, 200, 0, 241, 179, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, 0, - 295, 296, 297, 281, 0, 0, 0, 0, 100, 174, + 295, 296, 297, 281, 0, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, @@ -3054,57 +3002,102 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, 273, 239, - 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, + 278, 264, 286, 330, 240, 144, 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, 0, 306, - 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, - 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, - 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, - 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 283, 0, 0, 0, 291, 0, 0, 0, 0, - 0, 0, 217, 218, 219, 220, 184, 0, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, - 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, - 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, - 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, + 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, + 0, 0, 0, 251, 0, 0, 0, 0, 0, 192, + 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 280, 292, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, + 283, 0, 0, 0, 291, 0, 0, 0, 0, 0, + 0, 217, 218, 219, 220, 184, 0, 161, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 180, 186, + 0, 188, 160, 232, 182, 289, 195, 0, 224, 191, + 256, 196, 202, 244, 288, 230, 249, 158, 279, 257, + 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 0, 200, + 0, 241, 179, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, + 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, + 100, 174, 0, 0, 199, 0, 0, 0, 258, 213, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, + 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, + 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, + 302, 168, 293, 0, 285, 152, 0, 284, 225, 272, + 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, + 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 0, 262, 0, 0, 198, 0, 0, + 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, + 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, + 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, + 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, + 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, + 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, + 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, + 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, + 298, 0, 0, 0, 0, 251, 0, 0, 0, 0, + 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 283, 0, 0, 0, 291, 0, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 184, 0, 161, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, + 224, 191, 256, 196, 202, 244, 288, 230, 249, 158, + 279, 257, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, - 200, 0, 241, 179, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 229, 0, 0, 295, 296, 297, 281, 0, 0, 0, - 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 0, 200, 0, 241, 179, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 229, 0, 0, 295, 296, 297, 281, 0, 0, + 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, + 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 103, 0, 0, 0, 0, 0, 0, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, + 0, 103, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, - 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, - 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, - 0, 302, 168, 293, 0, 285, 152, 0, 284, 225, - 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, - 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, + 0, 0, 0, 0, 148, 263, 277, 157, 254, 290, + 162, 261, 153, 228, 250, 0, 0, 150, 275, 260, + 210, 193, 194, 149, 0, 245, 172, 185, 169, 226, + 0, 0, 302, 168, 293, 0, 285, 152, 0, 284, + 225, 272, 276, 211, 205, 151, 274, 209, 204, 197, + 176, 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, - 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, - 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, - 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, - 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, - 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, - 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, + 0, 0, 0, 0, 0, 0, 262, 0, 0, 198, + 0, 0, 0, 303, 0, 248, 231, 0, 0, 0, + 246, 201, 273, 239, 278, 264, 286, 242, 240, 144, + 265, 171, 212, 154, 155, 167, 173, 175, 177, 178, + 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, + 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, + 183, 243, 208, 147, 207, 236, 270, 269, 294, 300, + 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, @@ -3125,10 +3118,10 @@ var yyAct = [...]int{ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 229, 0, 0, 295, 296, 297, 281, - 1279, 0, 0, 0, 0, 174, 0, 0, 199, 0, + 1276, 0, 0, 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 830, 831, 832, 1281, 0, 0, 0, + 0, 0, 0, 828, 829, 830, 1278, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3149,163 +3142,164 @@ var yyAct = [...]int{ 177, 178, 221, 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, 270, 269, - 294, 300, 301, 305, 0, 306, 307, 0, 0, 0, + 294, 300, 301, 305, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 181, 142, 282, 0, 227, 0, 0, 0, - 0, 0, 0, 0, 223, 298, 0, 0, 0, 0, - 251, 0, 0, 0, 0, 0, 192, 233, 0, 252, + 299, 181, 142, 282, 0, 227, 0, 0, 0, 0, + 0, 0, 0, 223, 298, 0, 0, 0, 0, 251, + 0, 0, 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 259, 280, 292, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, - 0, 291, 0, 0, 0, 0, 0, 0, 217, 218, - 219, 220, 184, 0, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 304, 180, 186, 0, 188, 160, - 232, 182, 289, 195, 0, 224, 191, 256, 196, 202, - 244, 288, 230, 249, 158, 279, 257, 206, 0, 0, - 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 174, 0, 0, 199, 0, 0, 0, 258, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 0, 200, 0, 241, 179, - 830, 831, 832, 1281, 0, 0, 0, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, + 0, 259, 280, 292, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, + 291, 0, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 184, 0, 161, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 180, 186, 0, 188, 160, 232, + 182, 289, 195, 0, 224, 191, 256, 196, 202, 244, + 288, 230, 249, 158, 279, 257, 206, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, - 296, 297, 281, 0, 0, 0, 0, 0, 0, 0, + 0, 174, 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 148, 263, 277, 157, 254, 290, 162, - 261, 153, 228, 250, 0, 0, 150, 275, 260, 210, - 193, 194, 149, 0, 245, 172, 185, 169, 226, 0, - 0, 302, 168, 293, 0, 285, 152, 0, 284, 225, - 272, 276, 211, 205, 151, 274, 209, 204, 197, 176, - 189, 237, 203, 238, 190, 215, 214, 216, 0, 0, + 0, 0, 0, 143, 0, 200, 0, 241, 179, 828, + 829, 830, 1278, 0, 0, 0, 156, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 0, 0, 0, 262, 0, 0, 198, 0, - 0, 0, 303, 0, 248, 231, 0, 0, 0, 246, - 201, 273, 239, 278, 264, 286, 242, 240, 144, 265, - 171, 212, 154, 155, 167, 173, 175, 177, 178, 221, - 222, 234, 253, 266, 267, 268, 170, 163, 247, 164, - 187, 165, 145, 255, 166, 146, 235, 271, 0, 183, - 243, 208, 147, 207, 236, 270, 269, 294, 300, 301, - 305, 0, 306, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 299, 181, - 142, 282, 0, 227, 0, 0, 0, 0, 0, 0, - 0, 223, 298, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 0, 192, 233, 0, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 280, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 283, 0, 0, 0, 291, 0, - 0, 0, 0, 0, 0, 217, 218, 219, 220, 184, - 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 180, 186, 0, 188, 160, 232, 182, 289, - 195, 0, 224, 191, 256, 196, 202, 244, 288, 230, - 249, 158, 279, 257, 206, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, - 0, 0, 199, 0, 0, 0, 258, 213, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, + 297, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 200, 0, 241, 179, 830, 831, 832, - 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, + 0, 0, 148, 263, 277, 157, 254, 290, 162, 261, + 153, 228, 250, 0, 0, 150, 275, 260, 210, 193, + 194, 149, 0, 245, 172, 185, 169, 226, 0, 0, + 302, 168, 293, 0, 285, 152, 0, 284, 225, 272, + 276, 211, 205, 151, 274, 209, 204, 197, 176, 189, + 237, 203, 238, 190, 215, 214, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 0, 262, 0, 0, 198, 0, 0, + 0, 303, 0, 248, 231, 0, 0, 0, 246, 201, + 273, 239, 278, 264, 286, 242, 240, 144, 265, 171, + 212, 154, 155, 167, 173, 175, 177, 178, 221, 222, + 234, 253, 266, 267, 268, 170, 163, 247, 164, 187, + 165, 145, 255, 166, 146, 235, 271, 0, 183, 243, + 208, 147, 207, 236, 270, 269, 294, 300, 301, 305, + 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 299, 181, 142, 282, + 0, 227, 0, 0, 0, 0, 0, 0, 0, 223, + 298, 0, 0, 0, 0, 251, 0, 0, 0, 0, + 0, 192, 233, 0, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 280, 292, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 283, 0, 0, 0, 291, 0, 0, 0, + 0, 0, 0, 217, 218, 219, 220, 184, 0, 161, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 180, 186, 0, 188, 160, 232, 182, 289, 195, 0, + 224, 191, 256, 196, 202, 244, 288, 230, 249, 158, + 279, 257, 206, 0, 0, 229, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, + 199, 0, 0, 0, 258, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 0, 200, 0, 241, 179, 828, 829, 830, 0, 0, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 295, 296, 297, 281, + 0, 0, 0, 0, 295, 296, 297, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 148, 263, + 277, 157, 254, 290, 162, 261, 153, 228, 250, 0, + 0, 150, 275, 260, 210, 193, 194, 149, 0, 245, + 172, 185, 169, 226, 0, 0, 302, 168, 293, 0, + 285, 152, 0, 284, 225, 272, 276, 211, 205, 151, + 274, 209, 204, 197, 176, 189, 237, 203, 238, 190, + 215, 214, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 263, 277, 157, 254, 290, 162, 261, 153, 228, - 250, 0, 0, 150, 275, 260, 210, 193, 194, 149, - 0, 245, 172, 185, 169, 226, 0, 0, 302, 168, - 293, 0, 285, 152, 0, 284, 225, 272, 276, 211, - 205, 151, 274, 209, 204, 197, 176, 189, 237, 203, - 238, 190, 215, 214, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, + 262, 0, 0, 198, 0, 0, 0, 303, 0, 248, + 231, 0, 0, 0, 246, 201, 273, 239, 278, 264, + 286, 242, 240, 144, 265, 171, 212, 154, 155, 167, + 173, 175, 177, 178, 221, 222, 234, 253, 266, 267, + 268, 170, 163, 247, 164, 187, 165, 145, 255, 166, + 146, 235, 271, 0, 183, 243, 208, 147, 207, 236, + 270, 269, 294, 300, 301, 305, 0, 306, 913, 914, + 915, 912, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 299, 181, 142, 282, 0, 227, 0, 0, + 0, 0, 0, 0, 0, 223, 298, 0, 0, 0, + 0, 251, 0, 0, 0, 0, 0, 192, 233, 0, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 1727, + 0, 0, 0, 259, 280, 292, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, + 0, 1357, 291, 0, 0, 0, 1941, 0, 0, 217, + 218, 219, 220, 184, 0, 161, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 180, 186, 0, 188, + 160, 232, 182, 289, 195, 1234, 224, 191, 256, 196, + 202, 244, 288, 230, 249, 158, 279, 257, 206, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2347, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1923, + 0, 0, 0, 0, 0, 1715, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 0, 200, 0, 241, + 179, 0, 1734, 1738, 1740, 1742, 1744, 1745, 1747, 0, + 1751, 1748, 1749, 1750, 0, 0, 1729, 1730, 1731, 1732, + 1713, 1714, 1735, 1941, 1716, 0, 1717, 1718, 1719, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1733, 0, 0, 0, + 295, 296, 297, 281, 1737, 1739, 1741, 1743, 1746, 1353, + 0, 1350, 1234, 0, 0, 1352, 1349, 1351, 1355, 1356, + 0, 0, 0, 1354, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1941, 2019, 0, 1728, 0, + 0, 0, 0, 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, - 0, 0, 262, 0, 0, 198, 0, 0, 0, 303, - 0, 248, 231, 0, 0, 0, 246, 201, 273, 239, - 278, 264, 286, 242, 240, 144, 265, 171, 212, 154, - 155, 167, 173, 175, 177, 178, 221, 222, 234, 253, - 266, 267, 268, 170, 163, 247, 164, 187, 165, 145, - 255, 166, 146, 235, 271, 0, 183, 243, 208, 147, - 207, 236, 270, 269, 294, 300, 301, 305, 0, 306, - 307, 0, 0, 0, 915, 916, 917, 914, 0, 0, - 0, 0, 0, 0, 0, 299, 181, 142, 282, 0, - 227, 0, 0, 0, 0, 0, 0, 0, 223, 298, - 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, - 192, 233, 0, 252, 0, 0, 0, 0, 0, 0, - 0, 0, 1734, 0, 0, 0, 259, 280, 292, 0, + 0, 0, 0, 0, 1234, 0, 0, 0, 0, 1927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 283, 0, 0, 0, 291, 0, 1360, 0, 0, - 0, 0, 217, 218, 219, 220, 184, 0, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 180, - 186, 0, 188, 160, 232, 182, 289, 195, 0, 224, - 191, 256, 196, 202, 244, 288, 230, 249, 158, 279, - 257, 206, 0, 0, 0, 0, 0, 0, 0, 97, - 0, 27, 87, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 1722, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 143, 0, - 200, 0, 241, 179, 0, 1741, 1745, 1747, 1749, 1751, - 1752, 1754, 51, 1758, 1755, 1756, 1757, 94, 0, 1736, - 1737, 1738, 1739, 1720, 1721, 1742, 1953, 1723, 0, 1724, - 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1740, - 0, 0, 0, 295, 296, 297, 281, 1744, 1746, 1748, - 1750, 1753, 0, 0, 0, 1237, 1356, 0, 1353, 0, - 0, 0, 1355, 1352, 1354, 1358, 1359, 0, 0, 0, - 1357, 0, 0, 0, 0, 0, 1953, 0, 0, 2031, - 0, 1735, 0, 0, 88, 89, 0, 90, 91, 1935, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1237, 351, 0, 350, 354, - 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 0, 0, 0, 0, 0, 1935, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 86, 95, 0, 49, 0, 0, 0, 364, 0, - 0, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 80, 79, 1341, 1342, 1343, 1344, 1345, 1346, 1347, - 1348, 1349, 1350, 1351, 1363, 1364, 1365, 1366, 1367, 1368, - 1361, 1362, 351, 0, 350, 354, 346, 0, 1712, 1713, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 361, 1939, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1943, 0, 0, 0, 0, 82, 83, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 365, 0, 0, - 1932, 0, 0, 0, 1934, 1936, 1938, 0, 1940, 1941, - 1942, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 59, 1939, - 0, 0, 84, 0, 60, 0, 0, 0, 0, 0, - 1943, 0, 0, 0, 0, 0, 0, 344, 343, 347, - 0, 0, 0, 0, 0, 349, 0, 0, 1954, 0, - 1932, 1743, 0, 0, 1934, 1936, 1938, 353, 1940, 1941, - 1942, 1944, 1945, 1946, 1948, 1949, 1950, 1951, 0, 0, - 0, 345, 0, 61, 0, 337, 0, 0, 0, 0, - 0, 0, 1952, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1954, 1931, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 343, 347, 1947, 0, 0, 0, - 0, 349, 1952, 1937, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 353, 0, 70, 0, 0, 0, 1931, - 0, 0, 0, 0, 0, 0, 0, 345, 0, 348, - 352, 355, 0, 356, 357, 0, 0, 358, 359, 360, - 0, 0, 362, 363, 0, 0, 1947, 0, 0, 0, - 0, 0, 0, 1937, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 348, 352, 355, 0, 356, - 357, 0, 0, 358, 359, 360, 0, 0, 362, 363, + 1931, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1923, 0, + 1920, 0, 0, 0, 1922, 1924, 1926, 0, 1928, 1929, + 1930, 1932, 1933, 1934, 1936, 1937, 1938, 1939, 0, 0, + 0, 0, 0, 0, 0, 0, 1338, 1339, 1340, 1341, + 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1360, 1361, 1362, + 1363, 1364, 1365, 1358, 1359, 0, 0, 1942, 350, 0, + 349, 353, 345, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 360, 0, 1927, 0, 0, 0, + 0, 1940, 0, 0, 0, 0, 0, 1931, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1919, 0, + 363, 0, 0, 364, 0, 0, 0, 1920, 0, 0, + 0, 1922, 1924, 1926, 0, 1928, 1929, 1930, 1932, 1933, + 1934, 1936, 1937, 1938, 1939, 1935, 0, 0, 1927, 0, + 0, 0, 1925, 0, 0, 0, 0, 0, 0, 1931, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1942, 0, 0, 1736, 0, 1920, + 0, 0, 0, 1922, 1924, 1926, 0, 1928, 1929, 1930, + 1932, 1933, 1934, 1936, 1937, 1938, 1939, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1940, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1919, 1942, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, + 342, 346, 1935, 0, 0, 0, 0, 348, 0, 1925, + 1940, 0, 0, 0, 0, 0, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 0, 0, 1919, 0, 0, + 0, 0, 0, 344, 0, 0, 0, 336, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1935, 0, 0, 0, 0, 0, + 0, 1925, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 351, 354, 0, 355, 356, 0, 0, 357, 358, + 359, 0, 0, 361, 362, } var yyPact = [...]int{ - 20869, -1000, -296, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 210, -1000, -300, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18767, -1000, -1000, + 1591, -1000, 7900, 19219, 81, 19219, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 273, + -1000, 18315, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 234, + 21038, 153, -1000, 1995, -1000, -1000, -1000, -1000, 619, 320, + 17863, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1169, 14, 320, 395, 399, + 611, 611, 9256, 1995, 187, 62, -1000, 700, 210, 207, + 19219, -1000, 542, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18815, -1000, -1000, - 1547, -1000, 7924, 19268, 64, 19268, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 272, - -1000, 18362, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 239, - 21006, 160, -1000, 1869, -1000, -1000, -1000, -1000, 140, 286, - 17909, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1412, 17, 286, 375, 379, - 409, 409, 9283, 1869, 215, 32, -1000, 705, 20869, 207, - 19268, -1000, 429, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3325,78 +3319,78 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1995, 1995, 19219, -63, 660, -1000, 224, 219, 186, 538, + -1000, -1000, -1000, -1000, 2016, -1000, 19219, 1778, 19219, -1000, + 1011, 192, 1742, 1887, 1529, 387, 1797, -1000, -1000, 1770, + -1000, 30, -3, 106, -1000, -1000, 188, -1000, -1000, -1000, + -1000, -1000, 72, -1000, 15, -1000, 7, -1000, -1000, -1000, + -101, -1000, -1000, -1000, -1000, -191, 1864, 1939, 1601, 1998, + 1942, 1925, 1913, 1911, 2, 229, 229, 229, 251, 229, + 270, -1000, -1000, -1000, -1000, -1000, -1000, 328, -1000, -1000, + -1000, -1000, 1549, 19219, -1000, 1612, 601, 601, 714, 183, + -1000, -1000, -97, -115, 601, 601, -115, 16, -1000, 1907, + 1903, -1000, -1000, -1000, -1000, -1000, -1000, 234, 234, 239, + -1000, -195, -1000, 378, -1000, 361, -1000, 285, 178, 1553, + 715, -1000, 606, 19219, 19219, 19219, 606, 606, 11076, 10624, + 517, -1000, 1939, 1601, -1000, 1343, 1184, 1601, 234, 234, + 234, 234, 234, 234, 234, 19219, 5577, 5577, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 216, 1768, -1000, 19219, + 1939, 1864, 1939, -1000, 482, 906, 1095, -1000, -1000, 224, + 1527, -1000, 625, -1000, -1000, -1000, -1000, 19219, 193, -1000, + 1067, 1765, -1000, 307, 1354, 1531, -1000, 52, 7984, 15144, + 1011, 15144, 19219, -1000, -1000, -1000, -1000, -102, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -69, -1000, + -1000, -290, 1864, 6040, -1000, -1000, 6040, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 260, 229, -1000, 1114, 720, + 15144, 1011, 924, 19219, 229, 239, -1000, 19219, 1549, 1894, + 19219, 1991, 6966, 1991, 19219, -1000, -1000, 601, 601, -1000, + 714, 714, -1000, -1000, -106, 1991, 1991, -121, 19219, 19219, + 229, -1000, -1000, 1114, 15144, 14692, -1000, -141, 389, 367, + 381, -1000, -1000, 2038, -1000, -1000, 1500, 306, 10172, 237, + 15144, 3719, -1000, -1000, 606, 606, 606, 3719, 3719, 558, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19219, 1864, -1000, + -1000, -1000, -1000, -1000, 1114, 15144, 1011, 19219, 19219, 19219, + 20423, -1000, 1493, -1000, -1000, 8804, 475, 6040, 807, 1763, + -1000, -1000, 1755, 1751, 1750, 1748, 1747, 1745, 1744, -1000, + 1692, -1000, -1000, 1743, 1740, 1739, 1737, -1000, -1000, -1000, + -1000, -1000, -1000, 1736, -1000, -1000, -1000, 1735, 1692, -1000, + -1000, 1721, 1719, 1718, 1717, 1715, -1000, -1000, -1000, -1000, + -1000, -1000, 1093, 1084, 2139, -1000, -1000, -1000, -1000, 3256, + 6966, 6966, 6966, 6966, -1000, -1000, 1656, 6040, 1714, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1869, 1869, 19268, -70, 640, -1000, 237, 231, 213, - 427, -1000, -1000, -1000, -1000, 1880, -1000, 19268, 1674, 19268, - -1000, 999, 195, 21092, 1781, 1487, 414, 1693, -1000, -1000, - 1670, -1000, 15, -8, 166, -1000, -1000, 183, -1000, -1000, - -1000, -1000, -1000, 74, -1000, 6, -1000, -1, -1000, -1000, - -1000, -103, -1000, -1000, -1000, -1000, -181, 1763, 1819, 1562, - 1853, 1822, 1820, 1818, 1792, 14, 225, 225, 225, 257, - 225, 267, -1000, -1000, -1000, -1000, -1000, -1000, 340, -1000, - -1000, -1000, -1000, 1503, 19268, -1000, 1549, 483, 483, 681, - 193, -1000, -1000, -114, -133, 483, 483, -133, 16, -1000, - 1804, 1801, -1000, -1000, -1000, -1000, -1000, -1000, 239, 239, - 245, -1000, -178, -1000, 362, -1000, 348, -1000, 271, 182, - 1504, 656, -1000, 600, 19268, 19268, 19268, 600, 600, 11107, - 10654, 426, -1000, 1819, 1562, -1000, 1375, 1337, 1562, 239, - 239, 239, 239, 239, 239, 239, 19268, 5596, 5596, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 230, 1669, -1000, - 19268, 1819, 1763, 1819, -1000, 423, 848, 1082, -1000, -1000, - 237, 1452, -1000, 676, -1000, -1000, -1000, -1000, 19268, 196, - -1000, 1056, 1668, -1000, 297, 1486, 1439, -1000, 24, 8009, - 15184, 999, 15184, 19268, -1000, -1000, -1000, -1000, -117, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18, - -1000, -1000, -286, 1763, 6060, -1000, -1000, 6060, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 255, 225, -1000, 1113, - 680, 15184, 999, 890, 19268, 225, 245, -1000, 19268, 1503, - 1786, 19268, 1871, 6988, 1871, 19268, -1000, -1000, 483, 483, - -1000, 681, 681, -1000, -1000, -121, 1871, 1871, -141, 19268, - 19268, 225, -1000, -1000, 1113, 15184, 14731, -1000, -157, 371, - 351, 355, -1000, -1000, 1895, -1000, -1000, 1465, 335, 10201, - 233, 15184, 3734, -1000, -1000, 600, 600, 600, 3734, 3734, - 435, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19268, 1763, - -1000, -1000, -1000, -1000, -1000, 1113, 15184, 999, 19268, 19268, - 19268, 20475, -1000, 1414, -1000, -1000, 8830, 422, 6060, 886, - 1667, -1000, -1000, 1663, 1659, 1658, 1657, 1653, 1652, 1645, - -1000, 1607, -1000, -1000, 1644, 1643, 1642, 1640, -1000, -1000, - -1000, -1000, -1000, -1000, 1637, -1000, -1000, -1000, 1634, 1607, - -1000, -1000, 1633, 1632, 1629, 1628, 1627, -1000, -1000, -1000, - -1000, -1000, -1000, 1077, 1067, 987, -1000, -1000, -1000, -1000, - 3270, 6988, 6988, 6988, 6988, -1000, -1000, 1577, 6060, 1619, + -1000, -1000, -1000, -1000, -1000, -1000, 7429, -1000, 1709, 1708, + 1703, 1701, 1695, 1692, 1690, 1079, 1689, 1684, 1683, 6966, + 1679, 1678, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 7452, -1000, 1616, - 1614, 1611, 1610, 1608, 1607, 1606, 1061, 1605, 1603, 1602, - 6988, 1597, 1596, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1493, -1000, -288, -1000, 9720, 19219, 19219, -1000, + 1864, -1000, 1864, 2359, -1000, 1919, -1000, 224, 103, -1000, + -1000, -1000, -1000, -1000, -1000, 448, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1543, -1000, 19219, -1000, -1000, + 52, 15144, 648, -1000, -1000, -1000, -1000, -1000, -1000, 152, + -1000, -1000, 119, -1000, 254, -42, 1498, -1000, -1000, 10, + 114, 1063, -1000, 895, 441, 1541, -1000, 779, 17411, 19219, + -17, -1000, 1871, 1417, -1000, -42, 1500, 1777, -1000, -1000, + -1000, 1844, 19219, 16959, -1000, 1676, 1496, -1000, -1000, 6040, + -1000, -1000, 1991, 1991, 1991, 601, 20423, 714, 19219, 714, + -1000, -1000, 714, -1000, 436, -1000, 19219, -17, 1417, 1987, + 1502, -1000, -1000, -1000, -1000, 1893, 19671, 187, -1000, -1000, + 383, 352, 364, 1011, 252, -1000, -1000, 1500, -1000, -1000, + -1000, 1674, 658, -1000, -1000, 6966, -1000, 1041, -1000, 3719, + 3719, 3719, -1000, -1000, 12884, -1000, -1000, -1000, 1535, 1500, + 1796, 1520, -1000, 1520, -1000, -1000, -1000, 1991, 5577, -1000, + 14692, -1000, 6040, 6040, 6040, 6040, -1000, 16500, -1000, 16048, + -1000, 322, 6503, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 6040, 1900, 1900, 1900, 6040, 681, 6040, 6040, -1000, 823, + 8024, 1900, 1900, 1900, 1900, 1900, -1000, 2785, 1900, 1900, + 1900, 1900, -1000, -1000, 6966, 6966, 6966, 6966, 6966, 6966, + 6966, 6966, 6966, 6966, 6966, 6966, 1654, 659, 6966, 6966, + 6966, 1184, 1865, 1518, -1000, -1000, -1000, -1000, -1000, 677, + 1041, 6040, 20616, 6040, 6040, 6040, -1000, 1341, 1336, -1000, + -1000, 6040, -1000, 6040, 6966, 6040, -1000, 1900, 1056, 1991, + 1387, -1000, 1673, -1000, 1485, 1840, -1000, 435, 1515, -1000, + 657, 1446, -1000, -1000, -1000, -1000, 428, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1414, -1000, -284, -1000, 9748, 19268, 19268, - -1000, 1763, -1000, 1763, 2371, -1000, 1815, -1000, 237, 99, - -1000, -1000, -1000, -1000, -1000, -1000, 416, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1497, -1000, 19268, -1000, - -1000, 24, 15184, 637, -1000, -1000, -1000, -1000, -1000, -1000, - 143, -1000, -1000, 124, -1000, 253, -46, 1445, -1000, -1000, - 11, 118, 66, 1027, -1000, 969, 411, 1496, -1000, 816, - 17456, 19268, -30, -1000, 1780, 1457, -1000, -46, 1465, 1538, - -1000, -1000, -1000, 1753, 19268, 17003, -1000, 1582, 1410, -1000, - -1000, 6060, -1000, -1000, 1871, 1871, 1871, 483, 20475, 681, - 19268, 681, -1000, -1000, 681, -1000, 406, -1000, 19268, -30, - 1457, 1728, 1427, -1000, -1000, -1000, -1000, 1785, 19721, 215, - -1000, -1000, 365, 344, 358, 999, 252, -1000, -1000, 1465, - -1000, -1000, -1000, 1581, 636, -1000, -1000, 6988, -1000, 947, - -1000, 3734, 3734, 3734, -1000, -1000, 12919, -1000, -1000, -1000, - 1488, 1465, 1691, 1484, -1000, 1484, -1000, -1000, -1000, 1871, - 5596, -1000, 14731, -1000, 6060, 6060, 6060, 6060, -1000, 16543, - -1000, 16090, -1000, 269, 6524, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 6060, 1790, 1790, 1790, 6060, 697, 6060, 6060, - -1000, 770, 8048, 1790, 1790, 1790, 1790, 1790, -1000, 2798, - 1790, 1790, 1790, 1790, -1000, -1000, 6988, 6988, 6988, 6988, - 6988, 6988, 6988, 6988, 6988, 6988, 6988, 6988, 1576, 703, - 6988, 6988, 6988, 1337, 1624, 1481, -1000, -1000, -1000, -1000, - -1000, 653, 947, 6060, 20672, 6060, 6060, 6060, -1000, 1366, - 1341, -1000, -1000, 6060, -1000, 6060, 6988, 6060, -1000, 1790, - 1019, 1871, 1447, -1000, 1580, -1000, 1407, 1745, -1000, 403, - 1471, -1000, 634, 1402, -1000, -1000, -1000, -1000, 401, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3412,171 +3406,169 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -65, -1000, -1000, 19219, 1067, 1444, 648, 1382, + -1000, 247, 421, 419, -1000, 15144, 17, 15144, -1000, 15144, + -1000, -1000, 190, -1000, 19219, 1850, -1000, -1000, -1000, 1051, + -119, 6040, 6040, 19219, 6040, -1000, -1000, -1000, 1612, 710, + 1670, -82, 638, -1000, 338, 15144, 172, -1000, 1790, 208, + -1000, 1844, -1000, 437, -1000, 1668, 19219, 1480, -1000, 415, + 210, -1000, 19219, 1041, -1000, -1000, -1000, 1991, -1000, 601, + -1000, 601, 714, 19219, -1000, -1000, -82, 338, 19219, 14692, + 14692, 14692, 14692, -1000, 1832, 1825, -1000, 1817, 1811, 1837, + 19219, 14692, 19219, -1000, -1000, -1000, 20047, -1000, -1000, -1000, + -1000, 1331, 1995, -1000, -1000, -1000, 343, 1500, 15144, 1049, + 237, -1000, -1000, -1000, -1000, -1000, 19219, 19219, 2003, -1000, + 1442, 1910, -1000, 744, 744, 727, -1000, -1000, 414, -1000, + -1000, 269, -1000, -1000, -1000, -1000, -1000, 1656, -1000, -1000, + -1000, 1321, 1377, 1041, 6040, -1000, -1000, 6040, 6040, 1009, + 6040, 1312, 1438, 1429, -1000, 1304, 2011, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -72, -1000, -1000, 19268, 1056, 1387, - 637, 1441, -1000, 249, 399, 396, -1000, 15184, 23, 15184, - -1000, 15184, -1000, -1000, 178, -1000, 19268, 1757, -1000, -1000, - -1000, 1018, -300, -149, 6060, 6060, 19268, 6060, -1000, -1000, - -1000, 1549, 670, 1579, -110, 509, -1000, 395, 15184, 181, - -1000, 1690, 119, -1000, 1753, -1000, 641, -1000, 1578, 19268, - 1404, -1000, 393, 20869, -1000, 19268, 947, -1000, -1000, -1000, - 1871, -1000, 483, -1000, 483, 681, 19268, -1000, -1000, -110, - 395, 19268, 14731, 14731, 14731, 14731, -1000, 1719, 1718, -1000, - 1722, 1721, 1754, 19268, 14731, 19268, -1000, -1000, -1000, 20098, - -1000, -1000, -1000, -1000, 1319, 1869, -1000, -1000, -1000, 337, - 1465, 15184, 1012, 233, -1000, -1000, -1000, -1000, -1000, 19268, - 19268, 1868, -1000, 1464, 1710, -1000, 702, 702, 694, -1000, - -1000, 392, -1000, -1000, 304, -1000, -1000, -1000, -1000, -1000, - 1577, -1000, -1000, -1000, 1309, 1430, 947, 6060, -1000, -1000, - 6060, 6060, 936, 6060, 1305, 1385, 1365, -1000, 1295, 1879, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 6040, 6040, 6040, 6040, + 6040, 761, 5114, -1000, -1000, -1000, 6040, 6040, 6040, 6040, + 1108, 1196, -1000, 723, 723, 565, 565, 565, 565, 565, + 688, 688, -1000, -1000, -1000, 3256, 1654, 6966, 6966, 6966, + 200, 1799, 1675, -1000, 6040, 683, -1000, 6040, 877, -1000, + 1295, 943, 1290, 1288, -1000, -1000, 1128, 1264, 1530, 1262, + 6040, 1433, 2003, -288, 4645, 209, 19219, -288, 19219, 19219, + 4645, -1000, 19219, 2359, 905, -1000, -1000, -1000, 2008, 15144, + 1011, 586, 630, -1000, 13, -1000, 143, 250, 1047, -1000, + 268, 645, -79, -73, 1041, 1041, 411, -1000, 1890, 1863, + 8352, 914, -1000, -1000, 1046, -1000, 243, -1000, -1000, -1000, + 329, 20, 901, 238, -1000, 1053, 19219, -1000, -1000, -1000, + -1000, -1000, 638, 638, 638, 8352, 207, 1411, 410, 14692, + 19219, -1000, 14240, 1258, -1000, -1000, 1991, 1991, 601, -1000, + 914, 243, 1315, -1000, 643, 1774, 1788, 1774, -1000, -1000, + -1000, -1000, 1819, -1000, 1809, -1000, -1000, 1315, -1000, 1612, + -1000, -1000, -1000, 1382, 1236, -1000, -1000, -1000, -1000, 1997, + 1996, 15596, -1000, -1000, -1000, -1000, -1000, 6040, 1861, 1805, + 1789, 999, 1415, -1000, -1000, -1000, -1000, 6040, 1756, 1680, + 1661, 1617, 1611, -1000, 6040, 6040, 771, 1547, 1537, 1397, + 1371, 1413, -1000, 200, 1799, 1456, -1000, 6966, 6966, 1366, + 671, -1000, 6040, 740, 899, 11980, -1000, 6040, -1000, -1000, + -1000, 11980, -1000, 6966, -1000, 1340, 1031, 1997, -1000, 1231, + 1425, -1000, -288, -1000, -1000, 1387, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 15144, -1000, 136, -1000, -1000, + -1000, -1000, -1000, -1000, -54, -1000, 19219, 1030, -292, -77, + 1993, 1990, 19219, 187, 19219, 1228, 1419, -1000, -1000, -1000, + 20724, 505, -1000, 19219, 769, 396, 229, 396, 767, 1651, + -1000, -1000, -1000, 1021, -43, -1000, -1000, 1020, 1014, 897, + -1000, -1000, 855, 459, -32, -1000, -1000, -1000, -1000, -1000, + -1000, 1650, 11980, 12432, 1013, 1226, 19671, 14692, 14240, 1242, + -1000, 406, -1000, -1000, -1000, -1000, 1991, -1000, -1000, 2000, + 19219, 4645, -1000, -1000, 6040, 1645, -1000, 6040, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 6040, 6040, -1000, -1000, 1041, + -1000, -1000, -1000, 1220, -1000, 341, 341, -12, -1000, -1000, + -1000, 1598, -1000, 1620, 1620, 1598, 1598, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1625, 1624, -1000, 1598, + 1616, 1616, 1598, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1621, 1621, + 1622, 1621, -1000, 1310, -1000, -1000, -1000, -1000, -1000, 1210, + 1193, 6040, -1000, -1000, -1000, -1000, -1000, -1000, 6966, -1000, + -1000, -1000, -1000, 1041, 6040, 1214, -1000, 1598, 1620, -1000, + 1598, 1616, 1598, 341, 341, 1208, 791, 1195, 1406, -1000, + 1191, -1000, -1000, 4645, 1387, 1382, -1000, -1000, -121, 110, + -294, 1010, -1000, 1989, 993, 925, -1000, 1612, 20929, 8352, + 1649, -1000, -1000, 19219, 19219, -1000, 19219, 19219, 229, 6040, + -1000, -1000, 170, -1000, -1000, 50, -1000, -1000, 853, 274, + -1000, 13788, -1000, -1000, -1000, -1000, -1000, -69, 1991, 1242, + 406, -1000, -1000, 583, -1000, 1939, -1000, -1000, 1041, 19219, + 1041, 1041, 1377, -1000, -1000, -1000, -1000, -1000, -15, -1000, + -1000, -1000, -1000, 896, -1000, 893, -1000, -1000, -1000, 985, + 985, -1000, -1000, 887, -1000, -1000, -1000, 885, -1000, -1000, + 879, -1000, -1000, -1000, -1000, 1182, -1000, 1041, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6040, -1000, + -1000, -1000, -1000, -1000, -87, -81, -1000, 979, -296, 878, + -1000, 978, -74, -1000, -1000, 1889, 206, 20877, -1000, 638, + 638, 454, 638, 638, 638, 638, 151, 150, 638, 638, + 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, + 638, 638, 1609, -1000, -1000, 1649, -1000, -1000, 733, 6966, + -1000, -1000, 972, 12432, 350, 458, 1608, -1000, 122, 751, + 734, -1000, 19219, -1000, 1604, 1619, 91, 1603, -1000, 1600, + 1599, 19219, 1151, 249, 971, -1000, -1000, 48, -1000, -1000, + 1404, -1000, 1598, 6040, -1000, -121, 2000, -1000, -1000, 1400, + -1000, -1000, 1187, 1181, 1379, -1000, 1375, 1152, 1359, 1352, + -1000, 1125, 236, -96, -81, -1000, 1988, -78, 1986, 1985, + 642, -1000, 1596, -1000, -1000, 1979, 187, -1000, 1978, 20929, + -1000, 873, 870, 638, 638, 865, 970, 966, 965, 638, + 638, 861, 964, 20047, 856, 852, 829, 849, 958, 533, + 845, 844, 843, 19219, 1595, 919, -1000, -1000, 1799, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6060, - 6060, 6060, 6060, 6060, 879, 5132, -1000, -1000, -1000, 6060, - 6060, 6060, 6060, 1122, 930, -1000, 661, 661, 402, 402, - 402, 402, 402, 814, 814, -1000, -1000, -1000, 3270, 1576, - 6988, 6988, 6988, 218, 2676, 2872, -1000, 6060, 675, -1000, - 6060, 773, -1000, 1287, 1110, 1280, 1268, -1000, -1000, 1126, - 1256, 2234, 1250, 6060, 1458, 1868, -284, 4662, 229, 19268, - -284, 19268, 19268, 4662, -1000, 19268, 2371, 846, -1000, -1000, - -1000, 1878, 15184, 999, 470, 624, -1000, 5, -1000, 142, - 248, 1009, -1000, 254, 633, 990, -89, -82, 947, 947, - 390, -1000, 1784, 1770, 8377, 743, -1000, -1000, 1006, -1000, - 236, -1000, -1000, -1000, 292, 12, 844, 240, -1000, 1112, - 19268, -1000, -1000, -1000, -1000, -1000, 509, 509, 509, 8377, - 207, 1340, 389, 14731, 19268, -1000, 14278, 1243, -1000, -1000, - 1871, 1871, 483, -1000, 743, 236, 1308, -1000, 632, 1681, - 1689, 1681, -1000, -1000, -1000, -1000, 1705, -1000, 1704, -1000, - -1000, 1308, -1000, 1549, -1000, -1000, -1000, 1441, 1231, -1000, - -1000, -1000, -1000, 1862, 1852, 15637, -1000, -1000, -1000, -1000, - -1000, 6060, 1598, 1531, 1469, 20777, 1358, -1000, -1000, -1000, - -1000, 6060, 1443, 1436, 1400, 1395, 1374, -1000, 6060, 6060, - 862, 1355, 1310, 1267, 1249, 1349, -1000, 218, 2676, 2784, - -1000, 6988, 6988, 1237, 642, -1000, 6060, 742, 554, 12013, - -1000, 6060, -1000, -1000, -1000, 12013, -1000, 6988, -1000, 1230, - 1003, 1862, -1000, 1229, 1456, -1000, -284, -1000, -1000, 1447, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15184, - -1000, 136, -1000, -1000, -1000, -1000, -1000, -1000, -57, -1000, - 19268, 1002, 126, -1000, 618, -288, -85, 1851, 1849, 19268, - 215, 19268, 1223, 1450, -1000, -1000, -1000, 997, 611, -1000, - 19268, 715, 381, 225, 381, 713, 1575, -1000, -1000, -1000, - 1001, -47, -1000, -1000, 998, 992, 842, -1000, -1000, 835, - 410, -38, -1000, -1000, -1000, -1000, -1000, -1000, 1573, 12013, - 12466, 991, 1212, 19721, 14731, 14278, 1271, -1000, 387, -1000, - -1000, -1000, -1000, 1871, -1000, -1000, 1860, 19268, 4662, -1000, - -1000, 6060, 1568, -1000, 6060, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 6060, 6060, -1000, -1000, 947, -1000, -1000, -1000, - 1201, -1000, 339, 339, -16, -1000, -1000, -1000, 1523, -1000, - 1551, 1551, 1523, 1523, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1567, 1566, -1000, 1523, 1550, 1550, 1523, + 828, 1594, -1000, -1000, 1593, 13788, 191, 191, 13788, 13788, + 13788, 1590, 293, -1000, -55, -1000, -1000, -1000, 13788, 1860, + 1090, -1000, 1939, -1000, -1000, -1000, -1000, 957, -1000, -1000, + -1000, 827, -1000, 824, -1000, 1575, 819, -77, 1975, -1000, + 925, 1946, 925, 925, 952, 19219, 925, -1000, 104, -1000, + -1000, -1000, 11980, 11980, -1000, -1000, -1000, -1000, 932, 927, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1560, 1560, 1561, 1560, -1000, - 1222, -1000, -1000, -1000, -1000, -1000, 1211, 1185, 6060, -1000, - -1000, -1000, -1000, -1000, -1000, 6988, -1000, -1000, -1000, -1000, - 947, 6060, 1156, -1000, 1523, 1551, -1000, 1523, 1550, 1523, - 339, 339, 1150, 790, 1141, 2159, -1000, 1139, -1000, -1000, - 4662, 1447, 1441, -1000, -1000, -141, 121, -1000, 990, 985, - -290, 984, -1000, 1848, 962, 883, -1000, 1549, 20980, 8377, - 1817, -1000, -1000, 19268, 19268, -1000, 19268, 19268, 225, 6060, - -1000, -1000, 177, -1000, -1000, 37, -1000, -1000, 825, 277, - -1000, 13825, -1000, -1000, -1000, -1000, -1000, 18, 1871, 1271, - 387, -1000, -1000, 454, -1000, 1819, -1000, -1000, 947, 19268, - 947, 947, 1430, -1000, -1000, -1000, -1000, -1000, -26, -1000, - -1000, -1000, -1000, 840, -1000, 839, -1000, -1000, -1000, 960, - 960, -1000, -1000, 838, -1000, -1000, -1000, 836, -1000, -1000, - 826, -1000, -1000, -1000, -1000, 1165, -1000, 947, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6060, -1000, - -1000, -1000, -1000, -1000, -91, -90, -1000, 958, -1000, -1000, - -292, 823, -1000, 949, -78, -1000, -1000, 1783, 205, 20930, - -1000, 509, 509, 408, 509, 509, 509, 509, 153, 147, - 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, - 509, 509, 509, 509, 1546, -1000, -1000, 1817, -1000, -1000, - 708, 6988, -1000, -1000, 948, 12466, 445, 363, 1540, -1000, - 110, 711, 707, -1000, 19268, -1000, 1537, 1533, 80, 1535, - -1000, 1526, 1525, 19268, 1137, 246, 944, -1000, -1000, 35, - -1000, -1000, 1346, -1000, 1523, 6060, -1000, -141, 1860, -1000, - -1000, 1344, -1000, -1000, 1136, 1131, 1327, -1000, 1314, 1129, - 1300, 1294, -1000, 1130, 243, -87, -90, -1000, 1844, -83, - 1843, 1842, 617, -1000, 1520, -1000, -1000, 1841, 215, -1000, - 1838, 20980, -1000, 818, 813, 509, 509, 811, 927, 923, - 913, 509, 509, 799, 907, 20098, 798, 796, 794, 809, - 905, 465, 783, 779, 767, 19268, 1519, 877, -1000, -1000, - 2676, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 784, 1518, -1000, -1000, 1517, 13825, 90, 90, - 13825, 13825, 13825, 1516, 278, -1000, -60, -1000, -1000, -1000, - 13825, 1772, 1088, -1000, 1819, -1000, -1000, -1000, -1000, 903, - -1000, -1000, -1000, 782, -1000, 775, -1000, 1515, 758, -85, - 1834, -1000, 883, 1831, 883, 883, 901, 19268, 883, -1000, - 123, -1000, -1000, -1000, 12013, 12013, -1000, -1000, -1000, -1000, - 894, 885, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 168, 19268, 1279, -1000, 613, 1127, - 6060, -225, 13825, 1277, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1239, 1220, 1218, 13825, -1000, -1000, -1000, 106, -1000, - 125, -1000, -1000, 1772, -1000, -1000, 1116, 1005, 1798, 11560, - -99, -1000, 884, -1000, 883, -1000, -1000, -306, 1200, -1000, - -1000, 88, 180, 159, -1000, 251, -1000, -1000, -1000, -1000, - -1000, -1000, 185, 1194, -1000, 877, 870, -1000, 1045, 1685, - -1000, 7, 1192, -1000, -1000, -1000, -1000, 1184, -1000, -1000, - 509, 819, 60, -1000, -1000, -1000, -1000, -1000, -1000, 19268, - -1000, 1182, -1000, -1000, -1000, 386, -1000, -1000, -1000, -1000, - -1000, 19268, 86, 741, 6988, 1511, 6988, 1509, 98, 1508, - -1000, -1000, -1000, -1000, -1000, 278, -1000, -1000, 1684, 1683, - 1876, -1000, -1000, -1000, -1000, 125, 125, 125, 125, 3, - 734, -1000, 890, 1391, -1000, 506, -1000, 13372, 19268, -1000, - 1507, 1830, -1000, 2147, 19268, 1536, 19268, 1413, 505, 6988, - -1000, -1000, 1887, -1000, 1882, 561, 561, -1000, -1000, -1000, - 19268, 4198, -1000, 385, -1000, 204, 95, -1000, 1168, -1000, - 1164, 19268, 729, 1000, -1000, -1000, -1000, 766, 120, -1000, - -1000, -1000, 947, 19268, 1149, -1000, 1096, 75, -1000, -1000, - 1146, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 204, 1727, - -1000, 728, -1000, -1000, 1712, 199, -1000, -1000, 1712, 85, - -1000, 190, -1000, -1000, 1144, -1000, 1094, 1004, -1000, 85, - 20980, 6060, -1000, 20980, 1124, -1000, + -1000, -1000, 162, 19219, 1339, -1000, 640, 1144, 6040, -243, + 13788, 1330, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1328, + 1294, 1261, 13788, -1000, -1000, -1000, 117, -1000, 132, -1000, + -1000, 1860, -1000, -1000, 1139, 1137, 1869, 11528, -89, -1000, + 926, -1000, 925, -1000, -1000, -306, 1257, -1000, -1000, 107, + 160, 155, -1000, 267, -1000, -1000, -1000, -1000, -1000, -1000, + 163, 1240, -1000, 919, 900, -1000, 1050, 1787, -1000, 6, + 1224, -1000, -1000, -1000, -1000, 1197, -1000, -1000, 638, 882, + 71, -1000, -1000, -1000, -1000, -1000, -1000, 19219, -1000, 1186, + -1000, -1000, -1000, 405, -1000, -1000, -1000, -1000, -1000, 19219, + 98, 812, 6966, 1569, 6966, 1568, 112, 1558, -1000, -1000, + -1000, -1000, -1000, 293, -1000, -1000, 1782, 1781, 2027, -1000, + -1000, -1000, -1000, 132, 132, 132, 132, 8, 800, -1000, + 924, 1361, -1000, 636, -1000, 13336, 19219, -1000, 1556, 1944, + -1000, 1227, 19219, 992, 19219, 1555, 612, 6966, -1000, -1000, + 2030, -1000, 2028, 429, 429, -1000, -1000, -1000, 19219, 4182, + -1000, 403, -1000, 204, 105, -1000, 1179, -1000, 1172, 19219, + 799, 953, -1000, -1000, -1000, 817, 126, -1000, -1000, -1000, + 1041, 19219, 1168, -1000, 995, 94, -1000, -1000, 1142, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 204, 1762, -1000, 795, + -1000, -1000, 20770, 197, -1000, -1000, 20770, 96, -1000, 195, + -1000, -1000, 1135, -1000, 956, 1407, -1000, 96, 20929, 6040, + -1000, 20929, 1118, -1000, } var yyPgo = [...]int{ - 0, 122, 2229, 182, 158, 154, 181, 2228, 1808, 1806, - 2227, 2224, 2223, 2222, 2221, 2220, 2217, 2216, 2215, 2214, - 2213, 2212, 2211, 2210, 2209, 2206, 2205, 178, 2202, 2200, - 2199, 2198, 2196, 2195, 2194, 2193, 2191, 2189, 2188, 2187, - 2186, 147, 2185, 1805, 2184, 2183, 2182, 2180, 2179, 150, - 2178, 2177, 2176, 2174, 2173, 2172, 2171, 2170, 2167, 2166, - 2165, 2164, 2162, 174, 53, 2161, 48, 58, 109, 196, - 73, 218, 205, 137, 76, 123, 169, 118, 2160, 2159, - 114, 24, 130, 2158, 46, 44, 35, 200, 103, 50, - 66, 94, 2157, 2155, 90, 2154, 2153, 98, 2150, 54, - 2149, 80, 41, 92, 25, 2148, 2147, 2145, 85, 2144, - 2143, 2141, 2140, 88, 2135, 64, 62, 2133, 2132, 2131, - 2129, 2128, 43, 2127, 51, 2124, 2123, 2122, 2120, 2119, - 2115, 2114, 12, 14, 17, 2113, 2109, 18, 2, 2108, - 161, 57, 86, 111, 2106, 369, 2105, 2101, 2100, 115, - 2099, 134, 2096, 2095, 2094, 2093, 2092, 11, 2090, 49, - 2089, 2088, 56, 2086, 2085, 47, 2080, 2079, 2076, 102, - 38, 61, 97, 2074, 2073, 78, 152, 16, 26, 0, - 144, 31, 2072, 2069, 2067, 193, 143, 160, 173, 125, - 275, 119, 2066, 2065, 60, 2064, 124, 2063, 112, 83, - 39, 2062, 87, 2061, 40, 89, 2060, 110, 2059, 135, - 1, 108, 2058, 163, 2057, 2055, 2054, 127, 2053, 2052, - 70, 126, 2051, 2050, 2047, 29, 2044, 30, 20, 2042, - 100, 176, 2039, 128, 95, 131, 129, 84, 165, 171, - 72, 116, 742, 113, 81, 19, 2038, 167, 2037, 199, - 166, 141, 2035, 2033, 177, 342, 145, 2032, 132, 7, - 2031, 2030, 8, 2029, 22, 2028, 2027, 2025, 2022, 6, - 2019, 2000, 1995, 3, 5, 1991, 4, 107, 45, 67, - 1989, 68, 75, 1988, 1987, 1986, 1985, 1983, 203, 1982, - 1980, 1979, 1978, 1977, 1976, 1974, 82, 1973, 1972, 1971, - 1970, 65, 1969, 1968, 1967, 1965, 1964, 32, 1963, 1962, - 23, 1961, 27, 1960, 1945, 1944, 13, 136, 1943, 1941, - 15, 1940, 1939, 9, 10, 1938, 1936, 55, 42, 37, - 79, 77, 1935, 21, 1934, 99, 1933, 1931, 139, 1929, - 105, 1928, 120, 170, 235, 1927, 151, 1926, 1925, 1924, - 1923, 1921, 1920, 1919, 755, 1918, 1917, 175, 63, 164, - 1916, 1915, 156, 1913, 117, 96, 91, 146, 1912, 149, - 1909, 1908, 1905, 162, 1904, -} - -//line mysql_sql.y:7231 + 0, 122, 2358, 180, 128, 126, 175, 2357, 1900, 1899, + 2356, 2355, 2354, 2353, 2352, 2350, 2348, 2347, 2346, 2345, + 2344, 2342, 2341, 2340, 2339, 2338, 2336, 174, 2335, 2334, + 2333, 2331, 2330, 2329, 2328, 2327, 2326, 2325, 2324, 2323, + 2321, 118, 2319, 1898, 2318, 2316, 2315, 2314, 2312, 162, + 2309, 2307, 2305, 2304, 2303, 2302, 2301, 2300, 2299, 2298, + 2297, 2296, 2288, 171, 57, 2286, 39, 61, 114, 199, + 73, 208, 191, 140, 70, 121, 164, 116, 2281, 2280, + 112, 24, 132, 2279, 43, 40, 35, 198, 102, 54, + 60, 91, 2275, 2273, 88, 2272, 2270, 97, 2268, 59, + 2267, 78, 48, 90, 26, 2266, 2265, 2264, 80, 2263, + 2262, 2261, 2260, 85, 2259, 63, 51, 2258, 2257, 2244, + 2239, 2238, 27, 2236, 46, 2235, 2230, 2229, 2228, 2226, + 2223, 2222, 11, 16, 21, 2221, 2220, 14, 2, 2219, + 147, 189, 84, 108, 2218, 375, 2217, 2216, 2215, 113, + 2212, 138, 2211, 2210, 2209, 2208, 2207, 10, 2205, 53, + 2204, 2203, 2202, 56, 2201, 2200, 2199, 96, 49, 50, + 92, 2198, 2197, 72, 157, 13, 42, 0, 151, 38, + 2195, 2194, 2191, 192, 146, 141, 165, 99, 246, 120, + 2190, 2189, 47, 2187, 117, 2185, 109, 66, 44, 2184, + 87, 2183, 37, 86, 2182, 105, 2181, 133, 1, 100, + 2180, 158, 2179, 2177, 2175, 125, 2174, 2173, 67, 124, + 2172, 2171, 2169, 25, 2168, 29, 19, 2167, 95, 176, + 2166, 156, 98, 131, 135, 82, 163, 166, 68, 115, + 766, 111, 81, 17, 2165, 161, 2164, 239, 194, 150, + 2162, 2161, 173, 322, 153, 2160, 130, 7, 2159, 2158, + 8, 2157, 22, 2154, 2153, 2152, 2150, 6, 2149, 2148, + 2147, 3, 5, 2146, 4, 110, 41, 65, 2145, 64, + 75, 2143, 2142, 2139, 2138, 2137, 269, 2136, 2135, 2134, + 2133, 2132, 2131, 2129, 83, 2125, 2123, 2122, 2121, 69, + 2120, 2119, 2117, 2116, 2115, 32, 2112, 2111, 23, 2110, + 30, 2109, 2107, 2105, 15, 136, 2103, 2102, 18, 2101, + 2100, 9, 12, 2098, 2097, 58, 45, 31, 79, 77, + 2093, 20, 2092, 107, 2089, 2088, 139, 2087, 103, 2086, + 144, 167, 215, 2085, 155, 2084, 2082, 2077, 2076, 2073, + 2065, 2061, 778, 2060, 2057, 170, 55, 159, 2053, 2052, + 154, 2051, 123, 94, 89, 148, 2050, 152, 2049, 2048, + 2047, 143, 2046, +} + +//line mysql_sql.y:7200 type yySymType struct { union interface{} id int @@ -4221,157 +4213,157 @@ func (st *yySymType) zeroFillOptUnion() bool { } var yyR1 = [...]int{ - 0, 370, 2, 2, 1, 1, 1, 1, 1, 1, + 0, 368, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 57, 326, 326, 325, 325, 324, - 324, 323, 323, 323, 322, 322, 322, 321, 321, 320, - 320, 319, 319, 317, 317, 318, 316, 315, 315, 313, - 313, 311, 311, 312, 312, 306, 306, 309, 309, 307, - 307, 307, 307, 310, 305, 305, 305, 304, 304, 56, - 56, 56, 244, 244, 55, 55, 258, 258, 258, 258, - 258, 256, 256, 256, 256, 256, 256, 255, 255, 254, - 254, 259, 259, 257, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 50, 50, 50, 50, - 53, 54, 252, 252, 252, 252, 252, 253, 253, 253, - 51, 52, 52, 243, 243, 248, 248, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 251, - 251, 251, 250, 250, 249, 249, 44, 44, 44, 47, - 46, 242, 242, 242, 242, 242, 242, 242, 242, 45, + 1, 1, 1, 1, 57, 324, 324, 323, 323, 322, + 322, 321, 321, 321, 320, 320, 320, 319, 319, 318, + 318, 317, 317, 315, 315, 316, 314, 313, 313, 311, + 311, 309, 309, 310, 310, 304, 304, 307, 307, 305, + 305, 305, 305, 308, 303, 303, 303, 302, 302, 56, + 56, 56, 242, 242, 55, 55, 256, 256, 256, 256, + 256, 254, 254, 254, 254, 254, 254, 253, 253, 252, + 252, 257, 257, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 50, 50, 50, 50, + 53, 54, 250, 250, 250, 250, 250, 251, 251, 251, + 51, 52, 52, 241, 241, 246, 246, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 249, + 249, 249, 248, 248, 247, 247, 44, 44, 44, 47, + 46, 240, 240, 240, 240, 240, 240, 240, 240, 45, 45, 45, 45, 45, 45, 42, 42, 42, 42, 42, - 41, 41, 43, 43, 241, 241, 240, 60, 60, 60, + 41, 41, 43, 43, 239, 239, 238, 60, 60, 60, 60, 60, 60, 60, 59, 59, 62, 62, 61, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 349, 349, 349, 351, 351, 183, 184, 371, - 182, 182, 182, 345, 345, 346, 347, 348, 348, 348, - 58, 7, 7, 39, 40, 369, 369, 288, 288, 196, - 196, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 291, 292, 192, + 48, 48, 347, 347, 347, 349, 349, 181, 182, 369, + 180, 180, 180, 343, 343, 344, 345, 346, 346, 346, + 58, 7, 7, 39, 40, 367, 367, 286, 286, 194, + 194, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 289, 290, 190, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 27, 31, 31, 38, 372, 372, 372, 36, 37, 287, - 287, 287, 35, 34, 33, 32, 32, 30, 30, 29, - 29, 189, 189, 191, 191, 187, 373, 373, 264, 264, - 190, 190, 28, 28, 28, 188, 188, 166, 186, 186, - 186, 6, 10, 10, 10, 10, 10, 10, 10, 10, - 16, 18, 238, 238, 235, 17, 13, 12, 15, 11, + 27, 31, 31, 38, 370, 370, 370, 36, 37, 285, + 285, 285, 35, 34, 33, 32, 32, 30, 30, 29, + 29, 187, 187, 189, 189, 185, 371, 371, 262, 262, + 188, 188, 28, 28, 28, 186, 186, 164, 184, 184, + 184, 6, 10, 10, 10, 10, 10, 10, 10, 10, + 16, 18, 236, 236, 233, 17, 13, 12, 15, 11, 14, 5, 5, 5, 5, 8, 8, 9, 75, 75, - 103, 103, 358, 358, 354, 354, 355, 355, 355, 356, - 356, 357, 357, 4, 295, 295, 295, 295, 295, 295, - 334, 334, 334, 335, 93, 93, 88, 88, 296, 296, - 211, 336, 336, 303, 303, 302, 302, 301, 301, 91, - 91, 92, 92, 79, 79, 63, 63, 308, 308, 308, - 308, 314, 314, 285, 285, 129, 129, 160, 160, 161, - 161, 67, 67, 68, 68, 68, 68, 68, 68, 342, - 342, 344, 344, 343, 90, 90, 86, 86, 87, 87, + 103, 103, 356, 356, 352, 352, 353, 353, 353, 354, + 354, 355, 355, 4, 293, 293, 293, 293, 293, 293, + 332, 332, 332, 333, 93, 93, 88, 88, 294, 294, + 209, 334, 334, 301, 301, 300, 300, 299, 299, 91, + 91, 92, 92, 79, 79, 63, 63, 306, 306, 306, + 306, 312, 312, 283, 283, 129, 129, 160, 160, 161, + 161, 67, 67, 68, 68, 68, 68, 68, 68, 340, + 340, 342, 342, 341, 90, 90, 86, 86, 87, 87, 87, 85, 85, 84, 83, 83, 82, 81, 81, 81, 70, 70, 69, 69, 69, 69, 69, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 71, - 71, 350, 350, 350, 289, 289, 289, 294, 294, 142, + 71, 348, 348, 348, 287, 287, 287, 292, 292, 142, 142, 143, 143, 141, 141, 72, 72, 73, 73, 73, 73, 140, 140, 139, 74, 74, 80, 76, 76, 78, 78, 78, 78, 150, 150, 149, 149, 149, 149, 96, 96, 148, 147, 147, 147, 95, 95, 94, 94, 89, - 89, 77, 77, 146, 374, 374, 144, 175, 175, 175, - 181, 181, 174, 174, 174, 174, 174, 185, 180, 180, - 176, 176, 177, 177, 177, 3, 3, 3, 3, 22, - 22, 22, 22, 26, 26, 352, 352, 19, 359, 362, - 360, 363, 363, 363, 364, 364, 364, 365, 365, 20, - 361, 366, 366, 366, 239, 239, 236, 237, 237, 234, - 233, 233, 233, 368, 368, 367, 367, 367, 178, 178, - 21, 230, 230, 231, 232, 232, 224, 224, 224, 224, - 25, 228, 228, 229, 229, 229, 229, 229, 225, 225, - 227, 227, 223, 223, 223, 223, 223, 24, 222, 222, - 220, 220, 218, 218, 219, 219, 217, 217, 217, 221, - 221, 23, 23, 65, 64, 64, 64, 64, 66, 163, - 163, 162, 162, 290, 290, 260, 260, 263, 263, 270, - 270, 271, 271, 269, 269, 276, 276, 275, 275, 274, - 274, 273, 273, 272, 272, 267, 267, 266, 266, 261, - 261, 261, 261, 261, 262, 262, 265, 265, 268, 268, - 120, 120, 121, 121, 121, 138, 138, 138, 138, 138, + 89, 77, 77, 146, 372, 372, 144, 173, 173, 173, + 179, 179, 172, 172, 172, 172, 172, 183, 178, 178, + 174, 174, 175, 175, 175, 3, 3, 3, 3, 22, + 22, 22, 22, 26, 26, 350, 350, 19, 357, 360, + 358, 361, 361, 361, 362, 362, 362, 363, 363, 20, + 359, 364, 364, 364, 237, 237, 234, 235, 235, 232, + 231, 231, 231, 366, 366, 365, 365, 365, 176, 176, + 21, 228, 228, 229, 230, 230, 222, 222, 222, 222, + 25, 226, 226, 227, 227, 227, 227, 227, 223, 223, + 225, 225, 221, 221, 221, 221, 221, 24, 220, 220, + 218, 218, 216, 216, 217, 217, 215, 215, 215, 219, + 219, 23, 23, 65, 64, 64, 64, 66, 288, 288, + 258, 258, 261, 261, 268, 268, 269, 269, 267, 267, + 274, 274, 273, 273, 272, 272, 271, 271, 270, 270, + 265, 265, 264, 264, 259, 259, 259, 259, 259, 260, + 260, 263, 263, 266, 266, 120, 120, 121, 121, 121, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 332, 332, 333, 123, 123, 123, - 127, 127, 127, 127, 127, 127, 122, 122, 124, 124, - 104, 104, 102, 102, 97, 97, 98, 98, 99, 99, - 100, 100, 101, 101, 101, 101, 101, 101, 246, 246, - 330, 330, 331, 331, 327, 327, 327, 329, 329, 329, - 329, 329, 328, 328, 105, 158, 158, 158, 179, 179, - 179, 157, 157, 157, 119, 119, 118, 118, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 245, 245, 193, 193, 194, 194, 137, 135, 135, - 136, 136, 136, 136, 133, 134, 132, 132, 132, 132, - 132, 131, 131, 130, 130, 130, 226, 226, 128, 128, - 126, 126, 126, 125, 125, 125, 277, 200, 200, 200, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 330, + 330, 331, 123, 123, 123, 127, 127, 127, 127, 127, + 127, 122, 122, 124, 124, 104, 104, 102, 102, 97, + 97, 98, 98, 99, 99, 100, 100, 101, 101, 101, + 101, 101, 101, 244, 244, 328, 328, 329, 329, 325, + 325, 325, 327, 327, 327, 327, 327, 326, 326, 105, + 158, 158, 158, 177, 177, 177, 157, 157, 157, 119, + 119, 118, 118, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 243, 243, 191, 191, + 192, 192, 137, 135, 135, 136, 136, 136, 136, 133, + 134, 132, 132, 132, 132, 132, 131, 131, 130, 130, + 130, 224, 224, 128, 128, 126, 126, 126, 125, 125, + 125, 275, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 203, 203, 208, 208, 341, 341, 340, 106, 106, - 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 115, 115, 115, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 300, 300, - 300, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 156, 353, 353, 353, 337, 337, 338, - 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, - 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, - 339, 339, 339, 339, 339, 339, 339, 339, 154, 154, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 212, 212, 213, 213, 297, 297, 297, - 297, 297, 297, 298, 298, 299, 299, 299, 299, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 201, 151, 151, - 151, 214, 209, 209, 210, 210, 204, 204, 204, 204, - 204, 204, 204, 204, 204, 204, 206, 206, 206, 206, - 206, 198, 198, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 205, 205, 207, 207, 216, 216, 216, 215, - 215, 215, 215, 215, 215, 215, 117, 117, 117, 117, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 108, 108, 108, 108, 112, 112, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 113, 113, 113, 113, 111, 111, 111, 111, 111, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 110, 159, 159, 278, 278, 281, - 281, 279, 279, 280, 282, 282, 282, 283, 283, 283, - 284, 284, 284, 286, 286, 165, 165, 165, 171, 171, - 164, 164, 172, 172, 173, 173, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 167, 167, 167, 167, 167, 167, 167, 167, + 200, 200, 200, 200, 200, 200, 201, 201, 206, 206, + 339, 339, 338, 106, 106, 106, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 115, 115, 115, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 298, 298, 298, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 156, 351, + 351, 351, 335, 335, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 336, 336, 337, 337, 337, 337, + 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, + 337, 337, 337, 154, 154, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 210, 210, + 211, 211, 295, 295, 295, 295, 295, 295, 296, 296, + 297, 297, 297, 297, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 199, 151, 151, 151, 212, 207, 207, 208, + 208, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 204, 204, 204, 204, 204, 196, 196, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 203, 203, 205, + 205, 214, 214, 214, 213, 213, 213, 213, 213, 213, + 213, 117, 117, 117, 117, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 108, 108, 108, 108, 112, + 112, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 113, 113, 113, 113, 111, + 111, 111, 111, 111, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, + 159, 159, 276, 276, 279, 279, 277, 277, 278, 280, + 280, 280, 281, 281, 281, 282, 282, 282, 284, 284, + 163, 163, 163, 169, 169, 162, 162, 170, 170, 171, + 171, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, } var yyR2 = [...]int{ @@ -4437,57 +4429,57 @@ var yyR2 = [...]int{ 11, 0, 2, 3, 2, 3, 1, 1, 1, 3, 3, 4, 0, 2, 2, 2, 2, 5, 1, 1, 0, 3, 0, 1, 1, 2, 4, 4, 4, 0, - 1, 10, 9, 2, 2, 6, 10, 5, 5, 1, - 3, 0, 3, 0, 1, 0, 6, 0, 4, 0, - 3, 1, 3, 4, 5, 0, 3, 1, 3, 2, - 3, 1, 2, 0, 6, 0, 2, 0, 2, 4, - 5, 4, 5, 1, 6, 5, 0, 3, 0, 1, - 0, 1, 1, 3, 2, 3, 3, 4, 4, 3, - 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, + 1, 10, 9, 2, 2, 6, 10, 5, 0, 1, + 0, 6, 0, 4, 0, 3, 1, 3, 4, 5, + 0, 3, 1, 3, 2, 3, 1, 2, 0, 6, + 0, 2, 0, 2, 4, 5, 4, 5, 1, 6, + 5, 0, 3, 0, 1, 0, 1, 1, 3, 2, + 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 4, 5, 4, 1, 3, 3, 0, 2, 2, + 3, 3, 3, 3, 3, 3, 4, 5, 4, 1, + 3, 3, 0, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 3, 0, + 1, 1, 3, 1, 1, 2, 1, 7, 7, 7, + 7, 8, 5, 0, 1, 0, 1, 1, 1, 1, + 3, 3, 1, 1, 1, 1, 1, 0, 1, 3, + 1, 3, 5, 1, 1, 1, 1, 3, 5, 0, + 1, 1, 2, 1, 2, 2, 1, 1, 2, 2, + 2, 2, 2, 1, 5, 6, 1, 2, 0, 1, + 1, 2, 5, 0, 1, 1, 1, 2, 2, 3, + 3, 1, 1, 2, 2, 2, 0, 1, 2, 2, + 2, 0, 3, 0, 3, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 1, 1, 1, 1, 3, 5, + 2, 2, 2, 2, 1, 1, 2, 5, 6, 6, + 6, 1, 1, 1, 1, 1, 0, 2, 0, 1, + 1, 2, 4, 1, 2, 2, 1, 2, 2, 1, + 2, 2, 2, 2, 2, 0, 1, 1, 5, 4, + 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, + 5, 5, 5, 1, 1, 1, 4, 4, 6, 8, + 6, 4, 5, 5, 4, 6, 6, 7, 6, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 3, 0, 1, 1, 3, 1, 1, - 2, 1, 7, 7, 7, 7, 8, 5, 0, 1, - 0, 1, 1, 1, 1, 3, 3, 1, 1, 1, - 1, 1, 0, 1, 3, 1, 3, 5, 1, 1, - 1, 1, 3, 5, 0, 1, 1, 2, 1, 2, - 2, 1, 1, 2, 2, 2, 2, 2, 1, 5, - 6, 1, 2, 0, 1, 1, 2, 5, 0, 1, - 1, 1, 2, 2, 3, 3, 1, 1, 2, 2, - 2, 0, 1, 2, 2, 2, 0, 3, 0, 3, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 1, 1, 1, 3, 5, 2, 2, 2, 2, 1, - 1, 2, 5, 6, 6, 6, 1, 1, 1, 1, - 1, 0, 2, 0, 1, 1, 2, 4, 1, 2, - 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, - 0, 1, 1, 5, 4, 4, 5, 5, 5, 5, - 4, 5, 5, 5, 5, 5, 5, 5, 1, 1, - 1, 4, 4, 6, 8, 6, 4, 5, 5, 4, - 6, 6, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 4, 2, 3, 2, 4, + 6, 2, 2, 4, 6, 4, 2, 2, 0, 1, + 2, 3, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 4, 2, 3, 2, 4, 6, 2, 2, 4, 6, - 4, 2, 2, 0, 1, 2, 3, 1, 1, 1, - 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 0, 1, - 1, 3, 0, 1, 1, 3, 3, 3, 3, 3, - 2, 3, 4, 3, 4, 1, 3, 4, 3, 4, - 1, 1, 1, 3, 4, 4, 5, 3, 4, 5, - 6, 1, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, + 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, + 3, 3, 3, 3, 3, 2, 3, 4, 3, 4, + 1, 3, 4, 3, 4, 1, 1, 1, 3, 4, + 4, 5, 3, 4, 5, 6, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 4, 1, 1, 3, 0, 1, 0, - 3, 0, 3, 3, 0, 3, 5, 0, 3, 5, - 0, 1, 1, 0, 1, 1, 2, 2, 0, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, + 1, 3, 0, 1, 0, 3, 0, 3, 3, 0, + 3, 5, 0, 3, 5, 0, 1, 1, 0, 1, + 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -4525,248 +4517,247 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, } var yyChk = [...]int{ - -1000, -370, -2, -1, -3, -4, -5, -6, -48, -59, + -1000, -368, -2, -1, -3, -4, -5, -6, -48, -59, -61, -62, -27, -7, -58, -41, -42, -44, -50, -55, -56, -57, -67, -22, -21, -20, -19, 12, -8, -9, - -342, -10, -182, -183, -184, -371, -28, -29, -30, -32, + -340, -10, -180, -181, -182, -369, -28, -29, -30, -32, -33, -34, -35, -36, -37, -38, -31, -40, -39, 195, - -43, 53, -45, -46, -47, -51, -52, -53, -54, 309, - 315, 364, -68, -70, -23, -24, -25, -26, 191, 14, - 436, -11, -14, -12, -15, -13, -17, -18, -16, 213, - 212, 32, 276, 277, 313, 211, 192, 13, 125, 126, - 128, 129, 25, -69, 58, 193, -71, 10, 482, -79, - 33, -102, -179, 62, -167, -170, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 292, 433, 230, 254, 257, 264, 125, 144, - 138, 166, 158, 133, 234, 235, 69, 128, 393, 79, - 378, 363, 131, 249, 251, 253, 256, 236, 154, 149, - 248, 232, 147, 237, 34, 238, 171, 239, 240, 438, - 374, 291, 380, 261, 361, 148, 375, 252, 377, 172, - 176, 385, 315, 142, 143, 382, 387, 170, 210, 37, - 435, 222, 388, 174, 169, 165, 396, 265, 263, 168, - 141, 164, 233, 42, 178, 177, 179, 357, 358, 359, - 360, 241, 242, 303, 384, 161, 150, 295, 134, 22, - 391, 217, 379, 316, 243, 258, 266, 173, 175, 224, - 229, 437, 228, 262, 389, 146, 221, 250, 216, 392, - 135, 309, 318, 244, 129, 255, 386, 395, 41, 331, + -43, 53, -45, -46, -47, -51, -52, -53, -54, 308, + 314, 363, -68, -70, -23, -24, -25, -26, 191, 14, + 435, -11, -14, -12, -15, -13, -17, -18, -16, 213, + 212, 32, 275, 276, 312, 211, 192, 13, 125, 126, + 128, 129, 25, -69, 58, 193, -71, 10, 481, -79, + 33, -102, -177, 62, -165, -168, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, + 472, 473, 291, 432, 230, 254, 257, 264, 125, 144, + 138, 166, 158, 133, 234, 235, 69, 128, 392, 79, + 377, 362, 131, 249, 251, 253, 256, 236, 154, 149, + 248, 232, 147, 237, 34, 238, 171, 239, 240, 437, + 373, 290, 379, 261, 360, 148, 374, 252, 376, 172, + 176, 384, 314, 142, 143, 381, 386, 170, 210, 37, + 434, 222, 387, 174, 169, 165, 395, 265, 263, 168, + 141, 164, 233, 42, 178, 177, 179, 356, 357, 358, + 359, 241, 242, 302, 383, 161, 150, 294, 134, 22, + 390, 217, 378, 315, 243, 258, 266, 173, 175, 224, + 229, 436, 228, 262, 388, 146, 221, 250, 216, 391, + 135, 308, 317, 244, 129, 255, 385, 394, 41, 330, 140, 132, 207, 126, 226, 231, 245, 246, 247, 268, - 267, 259, 162, 223, 167, 139, 163, 127, 225, 394, - 332, 481, 293, 346, 160, 157, 227, 200, 390, 381, - 130, 350, 333, 155, 269, 478, 479, 480, 304, 290, - 270, 271, 153, 214, 373, 272, 274, 275, -43, -9, - -8, -69, -70, -186, 23, 361, -49, 362, 195, 58, - -179, -5, -4, -41, -67, -185, -179, 276, -185, 198, - -179, 228, 345, -288, 203, -255, -230, 229, -254, -231, - -257, -232, 26, 192, 191, 225, 14, 193, 313, 199, - 12, 10, 314, 211, 13, 315, 317, 318, 321, 322, - 323, 36, 326, 327, 62, 65, 236, -84, -85, -145, - 19, 6, 7, 8, 9, -290, 292, 346, 228, -224, - -222, 272, 324, 208, 207, 80, 398, 197, -354, -355, - 188, 189, 190, -344, 430, -343, -179, 431, -165, -372, - -287, 381, 380, -190, 379, 372, 383, 374, 191, 79, - 159, 156, 199, 382, 37, 385, 386, 375, 292, 346, - -354, 130, 127, -242, 85, 135, 134, -242, 228, 35, - -248, 356, -247, -249, 385, 386, 396, 63, 64, 384, - -165, -179, 79, -85, -145, -84, -68, -70, -342, 292, - 346, 228, 199, 198, 200, 398, 276, -289, -350, 26, - -294, 185, 186, 187, 27, 28, -1, -91, 220, -102, - 124, -85, -84, -85, -157, -179, 363, 94, -49, -49, - 362, -345, -346, -347, -349, 195, 362, 361, 124, 15, - -185, 56, -102, -231, 228, -255, -230, 30, 55, 59, - 201, 59, 55, 58, 311, 325, 346, 312, 324, 200, - 228, 325, 228, 372, 200, 316, 319, 320, 373, -304, - 396, -63, 33, -87, 21, -71, -70, 20, 26, 27, - 26, 27, 26, 27, 26, 27, -352, 198, 430, -220, - 203, -220, -220, 199, -220, 198, -356, 137, 59, -344, - -90, 58, -189, 102, -189, -373, 15, 104, 227, 226, - 376, 373, -264, 377, 378, -190, -189, -189, -190, 198, - 200, 398, 25, 25, -288, -288, -357, 202, 389, 436, - 133, 134, 135, -252, 26, 35, 355, -230, 228, 59, - 94, 23, -250, 94, 105, -249, -249, -249, -250, -250, - -122, 35, -178, 121, -179, 65, -122, 35, 124, -86, - -87, -71, -70, 60, 60, -288, -288, -288, -288, -288, - -288, -288, -185, -72, -73, 112, -204, -179, 86, -206, - 62, -199, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, 450, 451, 452, 453, 455, 456, 457, + 267, 259, 162, 223, 167, 139, 163, 127, 225, 393, + 331, 480, 292, 345, 160, 157, 227, 200, 389, 380, + 130, 349, 332, 155, 269, 477, 478, 479, 303, 289, + 270, 271, 153, 214, 372, 272, 274, -43, -9, -8, + -69, -70, -184, 23, 360, -49, 361, 195, 58, -177, + -5, -4, -41, -67, -183, -177, 275, -183, 198, -177, + 228, 344, -286, 203, -253, -228, 229, -252, -229, -255, + -230, 26, 192, 191, 225, 14, 193, 312, 199, 12, + 10, 313, 211, 13, 314, 316, 317, 320, 321, 322, + 36, 325, 326, 62, 65, 236, -84, -85, -145, 19, + 6, 7, 8, 9, -288, 291, 345, 228, -222, -220, + 272, 323, 208, 207, 80, 397, 197, -352, -353, 188, + 189, 190, -342, 429, -341, -177, 430, -163, -370, -285, + 380, 379, -188, 378, 371, 382, 373, 191, 79, 159, + 156, 199, 381, 37, 384, 385, 374, 291, 345, -352, + 130, 127, -240, 85, 135, 134, -240, 228, 35, -246, + 355, -245, -247, 384, 385, 395, 63, 64, 383, -163, + -177, 79, -85, -145, -84, -68, -70, -340, 291, 345, + 228, 199, 198, 200, 397, 275, -287, -348, 26, -292, + 185, 186, 187, 27, 28, -1, -91, 220, -102, 124, + -85, -84, -85, -157, -177, 362, 94, -49, -49, 361, + -343, -344, -345, -347, 195, 361, 360, 124, 15, -183, + 56, -102, -229, 228, -253, -228, 30, 55, 59, 201, + 59, 55, 58, 310, 324, 345, 311, 323, 200, 228, + 324, 228, 371, 200, 315, 318, 319, 372, -302, 395, + -63, 33, -87, 21, -71, -70, 20, 26, 27, 26, + 27, 26, 27, 26, 27, -350, 198, 429, -218, 203, + -218, -218, 199, -218, 198, -354, 137, 59, -342, -90, + 58, -187, 102, -187, -371, 15, 104, 227, 226, 375, + 372, -262, 376, 377, -188, -187, -187, -188, 198, 200, + 397, 25, 25, -286, -286, -355, 202, 388, 435, 133, + 134, 135, -250, 26, 35, 354, -228, 228, 59, 94, + 23, -248, 94, 105, -247, -247, -247, -248, -248, -122, + 35, -176, 121, -177, 65, -122, 35, 124, -86, -87, + -71, -70, 60, 60, -286, -286, -286, -286, -286, -286, + -286, -183, -72, -73, 112, -202, -177, 86, -204, 62, + -197, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 79, 361, 303, - 346, 155, 304, 153, 214, -200, -202, -323, -317, -197, - 58, 110, 111, 118, 87, -201, -277, 30, 89, 406, - -152, -153, -154, -155, -156, -318, -316, 65, 70, 73, - 76, 77, 75, 74, 151, 72, 66, 123, -70, -337, - -168, -293, -299, 197, -297, 156, 152, 12, 116, 356, - 121, -300, 475, 64, 63, 297, 298, 299, 398, 294, - 300, 203, 47, 301, 302, 305, 405, 306, 48, 307, - 296, 218, 308, 409, 408, 410, 402, 399, 397, 400, - 401, 403, 404, -72, -295, 38, -67, 58, 25, 58, - -179, -86, -63, -87, 124, 70, 65, -49, 60, 59, - -348, 76, 77, -351, 170, 162, -179, -60, 65, -3, - -4, -5, -6, -27, -41, -67, -319, -317, 58, 26, - 355, 55, 15, -256, 198, 398, 310, 224, 200, -254, - -238, -235, -233, -178, -231, -234, -233, -259, -157, 373, - -64, 365, 274, 477, -63, -204, -179, -83, -82, -204, - 200, -220, -359, 62, 86, -239, -236, -233, -230, -177, - 62, 63, 64, -179, -220, -357, -343, 29, -89, -179, - -141, 16, -202, -141, -102, -189, -189, -191, -373, -187, - -373, 373, -141, -141, -264, -188, -179, -188, -220, -359, - -239, -76, -74, -77, -78, -80, -144, -146, -102, 58, - 390, 391, 131, 134, 133, 7, -253, 355, 26, -230, - -247, -243, 65, 356, -234, -251, 55, 121, -301, -204, - 35, -250, -250, -250, -251, -251, 120, -179, -63, -359, - -238, -230, -179, -104, -102, -104, -180, -177, -170, -140, - 59, -139, 15, -174, 85, 82, 83, 84, -179, 29, - 65, 124, -204, 101, -215, 94, 95, 96, 97, 98, - 99, 100, 58, 58, 58, 58, 58, 58, 58, 58, - -213, 58, 58, 58, 58, 58, 58, 58, -213, 58, - 58, 58, 58, 58, 65, 65, 107, 106, 117, 110, - 111, 112, 113, 114, 115, 116, 108, 109, 104, 86, - 102, 103, 88, -70, -204, -210, -202, -202, -202, -202, - -277, -208, -204, 58, -204, 58, 58, 58, -298, 58, - 58, -212, -213, 58, 65, 58, 58, 58, -202, 58, - 58, -140, -296, -211, -336, 476, -93, 60, -88, -179, - -334, -335, -88, -92, -179, -63, -63, -172, -173, -164, - -169, -176, -177, -170, 196, 26, 85, 29, 31, 297, - 329, 88, 121, 20, 89, 156, 120, 299, 406, 298, - 191, 51, 408, 410, 409, 399, 397, 348, 352, 354, - 351, 398, 372, 35, 14, 32, 212, 27, 28, 114, - 193, 92, 93, 215, 30, 213, 77, 23, 54, 15, - 17, 18, 300, 347, 203, 202, 104, 365, 199, 49, - 12, 123, 33, 101, 349, 45, 81, 47, 102, 21, - 400, 401, 36, 364, 432, 219, 116, 301, 302, 52, - 86, 355, 75, 55, 82, 19, 50, 103, 194, 405, - 48, 353, 305, 307, 430, 306, 197, 383, 10, 296, - 407, 25, 211, 46, 198, 91, 201, 76, 218, 152, - 6, 80, 13, 53, 56, 402, 403, 404, 38, 90, - 16, 308, 436, 356, 366, 367, 368, 369, 370, 371, - 180, 181, 182, 183, 184, 260, 206, 204, 208, 209, - 476, 477, 185, 186, 287, 289, 159, 188, 189, 190, - 220, 137, 7, 334, 335, 336, 337, 339, 340, 341, - 342, 343, 344, 345, 23, -49, -346, 124, 59, -89, - -256, -237, -234, -258, 112, 62, -244, 59, 436, 483, - 63, 201, -368, -367, 347, 60, 59, -305, 202, 405, - 65, 484, 275, 65, 59, 22, 124, 59, -81, 31, - 32, -102, 203, -102, -362, 334, 30, -369, 59, 35, - -367, -223, 56, -218, -219, -217, -221, 35, -102, 15, - -75, -103, -179, 58, 60, 59, -204, -141, -141, -141, - -189, -180, -191, -186, -191, -187, 124, -166, -179, -362, - -369, 25, -147, -148, -149, -150, 45, 49, 51, 46, - 47, 48, 52, 25, 59, -374, 29, -175, -181, 29, - -176, 65, -177, -170, -68, -70, 132, 135, 135, 134, - -230, 201, 58, 94, -251, -251, -251, 35, -178, 55, - 59, -141, -73, -74, -76, -204, -204, -204, -204, -179, - 65, -179, 112, -198, 86, 290, 75, 76, 77, -199, - -216, 26, 270, 271, -209, -210, -204, -151, 27, 26, - -151, -151, -204, -151, 112, -210, -210, 60, 70, -338, - -339, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 301, 296, 302, 300, 294, 308, 303, 304, - 155, 428, 429, 422, 423, 424, 425, 426, 427, -151, - -151, -151, -151, -151, -204, -353, 288, 287, 289, -151, - -151, -151, -151, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -207, -214, -277, 58, 104, - 102, 103, 88, -202, -200, -200, 60, 59, -341, -340, - 90, -204, -338, -209, -204, -209, -209, 60, 60, -210, - -209, -200, -209, -151, 65, -141, 59, 58, 60, 59, - 38, 124, 59, 94, 60, 59, 124, 363, -179, -317, - 60, -258, 59, 201, 124, 124, -235, 315, -178, -237, - 20, 436, -157, 33, 65, 484, -308, 377, -204, -204, - -179, -82, -90, 86, 58, -364, 379, 336, -171, 94, - -196, -195, 293, 36, -291, 356, 342, 343, -236, 228, - 55, 282, 283, 284, 285, -217, -165, 120, 239, 58, - -102, -75, -179, 15, 59, -358, 124, -1, -179, -141, - -189, -189, -191, -179, -364, -196, -241, -240, -157, -77, - -77, -77, -77, 45, 45, 45, 50, 45, 50, 45, - -149, -241, -80, -179, -181, 60, 135, -237, -192, 65, - -243, -102, -102, -143, 17, 124, -198, 290, 75, -277, - 60, 59, -204, -204, -204, 29, -210, 60, 60, 60, - 60, 15, -204, -204, -204, -204, -204, 60, 15, 15, - -204, -204, -204, -204, -204, -210, -207, -202, -200, -200, - -205, 215, 85, -204, -203, -340, 92, -204, 59, 56, - 60, 15, 60, 60, 60, 56, 60, 59, 60, -204, - 59, -143, -211, -303, -302, -301, 38, -67, -88, -296, - -179, -335, -301, -179, -172, -169, -177, -170, 70, 15, - -234, -230, 112, 112, 62, 316, -244, 65, 335, 65, - 198, 94, -163, -162, 65, -314, 371, 366, 368, 124, - 29, 30, -97, -98, -99, -105, -100, -157, -194, -101, - 206, 204, 208, -331, 80, 209, 260, 81, 199, -365, - 69, -360, 65, -366, 69, 337, 123, 295, 35, 338, - 339, 353, 291, 70, 70, 344, -361, 62, -102, -171, - -171, -171, -97, -91, 56, 124, -74, -103, -179, 112, - 60, -141, -141, -189, -365, -366, -141, 59, 94, -95, - -94, 55, 56, -96, 55, -94, 45, 45, -141, -90, - 60, -142, 18, 20, -179, 112, -204, 60, 60, 60, - -106, -108, 331, 332, -112, -109, -111, -110, -114, -113, - 156, 157, 121, 160, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 25, 214, 152, 153, 154, 155, - 172, 138, 158, 434, 180, 139, 181, 140, 182, 141, - 183, 142, 143, 184, 144, 147, 148, 149, 146, 60, - -204, 60, 60, 60, 60, 60, -204, -204, 15, 60, - 60, 60, 60, 60, -205, 85, -202, -199, 60, 93, - -204, 91, -107, -113, 121, 156, 214, 155, 154, 152, - 331, 332, -122, -204, -122, -200, 60, 65, -142, 60, - 59, -296, -237, -244, 356, -102, 65, 485, 59, 94, - -285, 478, -312, 366, 20, 20, -67, -102, 60, 59, - -108, -101, -179, 81, -330, -331, -220, -330, 81, 58, - 65, -363, 347, 65, 65, 70, 35, 70, 123, 340, - -292, 58, -122, -124, -178, 121, 65, 60, -175, -74, - -179, -141, -358, 124, -141, -85, -240, -301, -204, 58, - -204, -204, -210, 60, -115, 143, 142, -115, -284, 332, - 331, -278, -280, 58, -279, 58, -279, -278, -278, 58, - 58, -278, -281, 58, -281, -278, -282, 58, -282, -283, - 58, -282, 60, 60, 60, -204, -199, -204, 60, -278, - -279, -278, -281, -278, -115, -115, 60, 60, 23, 60, - 60, 60, -301, -66, -306, -264, 485, 59, -162, 65, - -129, 479, 65, 20, 65, -310, 65, -90, -120, -121, - -138, 329, 230, -221, 234, 69, 235, 363, 236, 199, - 238, 239, 240, 210, 241, 242, 243, 356, 244, 245, - 246, 247, 312, 6, 278, -99, -119, -118, -116, 75, - 86, 35, 329, -117, 69, 120, 253, 231, 254, -137, - -193, 204, 80, 81, 317, -194, -327, -328, -179, -328, - -179, -327, -327, -220, -204, 20, 436, 294, 35, 70, - 35, 341, -225, -227, -157, 58, -65, -64, -141, -141, - -86, -89, -286, 333, 70, 70, -159, 65, -159, 70, - 70, 70, 60, -204, -313, 371, -309, -307, 366, 367, - 368, 369, 65, -160, 480, 70, 65, 368, 29, -260, - 220, 59, -138, -171, -171, -165, 120, -171, -171, -171, - -171, 237, 237, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, -171, -171, -171, -171, 58, -116, 75, - -200, 65, -124, -125, 35, 252, 248, -126, 35, 232, - 233, -128, 58, 260, 81, 81, -102, 58, 56, 269, - 58, 58, 58, -328, 60, 65, 335, 65, 294, 60, - 59, -278, -204, -66, -85, 60, 60, 60, 60, 59, - 60, 60, 60, 59, 60, 59, 60, -315, 202, -311, - 370, -307, 20, 368, 20, 20, 94, 58, 20, -67, - 20, -138, 70, 70, -171, -171, 70, 65, 65, 65, - -171, -171, 70, 65, -181, 70, 70, 70, 70, 35, - 65, -127, 35, 248, 252, 249, 250, 251, 70, 35, - 70, 35, 70, 35, -179, 58, -332, -333, 65, 70, - 58, -226, 58, -225, -329, 282, 283, 284, 286, 285, - -329, -225, -225, -225, 58, -246, -245, 261, 86, 356, - -228, -227, -81, 60, -86, 65, 70, 70, -322, 58, - 70, -312, 20, -310, 20, -310, -310, 65, -161, -179, - -310, -261, 262, 263, -262, -268, 265, -122, -122, 65, - 65, -123, 231, -104, 60, 59, 94, 60, -204, -131, - -130, 432, -225, 60, 60, 60, 60, -225, 261, -229, - 210, 69, 436, 280, 281, -81, 60, 60, -326, 25, - 60, -321, -320, -158, -316, -179, 371, 65, -310, 485, - 60, 59, -266, 266, 58, -264, 58, -264, 81, 283, - 232, 233, 60, -333, 65, 60, -135, -136, -133, -134, - 55, 375, 258, 259, 60, -228, -228, -228, -228, 60, - -171, 65, 279, -325, -324, -323, 60, 59, 124, -179, - -263, 267, 70, -200, 58, -200, 58, -265, 264, 58, - -245, -134, 55, -133, 55, 14, 13, -137, 70, -177, - 59, 94, -320, -179, -270, 58, 20, 60, -259, 60, - -259, 58, 94, -200, -132, 255, 256, 25, 134, -132, - -324, 35, -204, 124, -271, -269, 220, -262, 60, 60, - -259, 70, 60, 75, 35, 257, -179, 60, 59, 62, - -267, 268, 60, -269, -272, 38, 70, -276, -273, 58, - -138, 222, -276, -138, -275, -274, 267, 223, 60, 59, - 62, 58, -274, -273, -210, 60, + 468, 469, 470, 471, 472, 473, 79, 360, 302, 345, + 155, 303, 153, 214, -198, -200, -321, -315, -195, 58, + 110, 111, 118, 87, -199, -275, 30, 89, 405, -152, + -153, -154, -155, -156, -316, -314, 65, 70, 73, 76, + 77, 75, 74, 151, 72, 66, 123, -70, -335, -166, + -291, -297, 197, -295, 156, 152, 12, 116, 355, 121, + -298, 474, 64, 63, 296, 297, 298, 397, 293, 299, + 203, 47, 300, 301, 304, 404, 305, 48, 306, 295, + 218, 307, 408, 407, 409, 401, 398, 396, 399, 400, + 402, 403, -72, -293, 38, -67, 58, 25, 58, -177, + -86, -63, -87, 124, 70, 65, -49, 60, 59, -346, + 76, 77, -349, 170, 162, -177, -60, 65, -3, -4, + -5, -6, -27, -41, -67, -317, -315, 58, 26, 354, + 55, 15, -254, 198, 397, 309, 224, 200, -252, -236, + -233, -231, -176, -229, -232, -231, -257, -157, 372, -64, + 364, 476, -63, -202, -177, -83, -82, -202, 200, -218, + -357, 62, 86, -237, -234, -231, -228, -175, 62, 63, + 64, -177, -218, -355, -341, 29, -89, -177, -141, 16, + -200, -141, -102, -187, -187, -189, -371, -185, -371, 372, + -141, -141, -262, -186, -177, -186, -218, -357, -237, -76, + -74, -77, -78, -80, -144, -146, -102, 58, 389, 390, + 131, 134, 133, 7, -251, 354, 26, -228, -245, -241, + 65, 355, -232, -249, 55, 121, -299, -202, 35, -248, + -248, -248, -249, -249, 120, -177, -63, -357, -236, -228, + -177, -104, -102, -104, -178, -175, -168, -140, 59, -139, + 15, -172, 85, 82, 83, 84, -177, 29, 65, 124, + -202, 101, -213, 94, 95, 96, 97, 98, 99, 100, + 58, 58, 58, 58, 58, 58, 58, 58, -211, 58, + 58, 58, 58, 58, 58, 58, -211, 58, 58, 58, + 58, 58, 65, 65, 107, 106, 117, 110, 111, 112, + 113, 114, 115, 116, 108, 109, 104, 86, 102, 103, + 88, -70, -202, -208, -200, -200, -200, -200, -275, -206, + -202, 58, -202, 58, 58, 58, -296, 58, 58, -210, + -211, 58, 65, 58, 58, 58, -200, 58, 58, -140, + -294, -209, -334, 475, -93, 60, -88, -177, -332, -333, + -88, -92, -177, -63, -63, -170, -171, -162, -167, -174, + -175, -168, 196, 26, 85, 29, 31, 296, 328, 88, + 121, 20, 89, 156, 120, 298, 405, 297, 191, 51, + 407, 409, 408, 398, 396, 347, 351, 353, 350, 397, + 371, 35, 14, 32, 212, 27, 28, 114, 193, 92, + 93, 215, 30, 213, 77, 23, 54, 15, 17, 18, + 299, 346, 203, 202, 104, 364, 199, 49, 12, 123, + 33, 101, 348, 45, 81, 47, 102, 21, 399, 400, + 36, 363, 431, 219, 116, 300, 301, 52, 86, 354, + 75, 55, 82, 19, 50, 103, 194, 404, 48, 352, + 304, 306, 429, 305, 197, 382, 10, 295, 406, 25, + 211, 46, 198, 91, 201, 76, 218, 152, 6, 80, + 13, 53, 56, 401, 402, 403, 38, 90, 16, 307, + 435, 355, 365, 366, 367, 368, 369, 370, 180, 181, + 182, 183, 184, 260, 206, 204, 208, 209, 475, 476, + 185, 186, 286, 288, 159, 188, 189, 190, 220, 137, + 7, 333, 334, 335, 336, 338, 339, 340, 341, 342, + 343, 344, 23, -49, -344, 124, 59, -89, -254, -235, + -232, -256, 112, 62, -242, 59, 435, 482, 63, 201, + -366, -365, 346, 60, 59, -303, 202, 404, 65, 483, + 65, 59, 22, 124, 59, -81, 31, 32, -102, 203, + -102, -360, 333, 30, -367, 59, 35, -365, -221, 56, + -216, -217, -215, -219, 35, -102, 15, -75, -103, -177, + 58, 60, 59, -202, -141, -141, -141, -187, -178, -189, + -184, -189, -185, 124, -164, -177, -360, -367, 25, -147, + -148, -149, -150, 45, 49, 51, 46, 47, 48, 52, + 25, 59, -372, 29, -173, -179, 29, -174, 65, -175, + -168, -68, -70, 132, 135, 135, 134, -228, 201, 58, + 94, -249, -249, -249, 35, -176, 55, 59, -141, -73, + -74, -76, -202, -202, -202, -202, -177, 65, -177, 112, + -196, 86, 289, 75, 76, 77, -197, -214, 26, 270, + 271, -207, -208, -202, -151, 27, 26, -151, -151, -202, + -151, 112, -208, -208, 60, 70, -336, -337, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 300, + 295, 301, 299, 293, 307, 302, 303, 155, 427, 428, + 421, 422, 423, 424, 425, 426, -151, -151, -151, -151, + -151, -202, -351, 287, 286, 288, -151, -151, -151, -151, + -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, + -198, -198, -205, -212, -275, 58, 104, 102, 103, 88, + -200, -198, -198, 60, 59, -339, -338, 90, -202, -336, + -207, -202, -207, -207, 60, 60, -208, -207, -198, -207, + -151, 65, -141, 59, 58, 60, 59, 38, 124, 59, + 94, 60, 59, 124, 362, -177, -315, 60, -256, 59, + 201, 124, 124, -233, 314, -176, -235, 20, 435, -157, + 33, 65, -306, 376, -202, -202, -177, -82, -90, 86, + 58, -362, 378, 335, -169, 94, -194, -193, 292, 36, + -289, 355, 341, 342, -234, 228, 55, 281, 282, 283, + 284, -215, -163, 120, 239, 58, -102, -75, -177, 15, + 59, -356, 124, -1, -177, -141, -187, -187, -189, -177, + -362, -194, -239, -238, -157, -77, -77, -77, -77, 45, + 45, 45, 50, 45, 50, 45, -149, -239, -80, -177, + -179, 60, 135, -235, -190, 65, -241, -102, -102, -143, + 17, 124, -196, 289, 75, -275, 60, 59, -202, -202, + -202, 29, -208, 60, 60, 60, 60, 15, -202, -202, + -202, -202, -202, 60, 15, 15, -202, -202, -202, -202, + -202, -208, -205, -200, -198, -198, -203, 215, 85, -202, + -201, -338, 92, -202, 59, 56, 60, 15, 60, 60, + 60, 56, 60, 59, 60, -202, 59, -143, -209, -301, + -300, -299, 38, -67, -88, -294, -177, -333, -299, -177, + -170, -167, -175, -168, 70, 15, -232, -228, 112, 112, + 62, 315, -242, 65, 334, 65, 198, 94, -312, 370, + 365, 367, 124, 29, 30, -97, -98, -99, -105, -100, + -157, -192, -101, 206, 204, 208, -329, 80, 209, 260, + 81, 199, -363, 69, -358, 65, -364, 69, 336, 123, + 294, 35, 337, 338, 352, 290, 70, 70, 343, -359, + 62, -102, -169, -169, -169, -97, -91, 56, 124, -74, + -103, -177, 112, 60, -141, -141, -187, -363, -364, -141, + 59, 94, -95, -94, 55, 56, -96, 55, -94, 45, + 45, -141, -90, 60, -142, 18, 20, -177, 112, -202, + 60, 60, 60, -106, -108, 330, 331, -112, -109, -111, + -110, -114, -113, 156, 157, 121, 160, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 25, 214, 152, + 153, 154, 155, 172, 138, 158, 433, 180, 139, 181, + 140, 182, 141, 183, 142, 143, 184, 144, 147, 148, + 149, 146, 60, -202, 60, 60, 60, 60, 60, -202, + -202, 15, 60, 60, 60, 60, 60, -203, 85, -200, + -197, 60, 93, -202, 91, -107, -113, 121, 156, 214, + 155, 154, 152, 330, 331, -122, -202, -122, -198, 60, + 65, -142, 60, 59, -294, -235, -242, 355, -102, 65, + -283, 477, -310, 365, 20, 20, -67, -102, 60, 59, + -108, -101, -177, 81, -328, -329, -218, -328, 81, 58, + 65, -361, 346, 65, 65, 70, 35, 70, 123, 339, + -290, 58, -122, -124, -176, 121, 65, 60, -173, -74, + -177, -141, -356, 124, -141, -85, -238, -299, -202, 58, + -202, -202, -208, 60, -115, 143, 142, -115, -282, 331, + 330, -276, -278, 58, -277, 58, -277, -276, -276, 58, + 58, -276, -279, 58, -279, -276, -280, 58, -280, -281, + 58, -280, 60, 60, 60, -202, -197, -202, 60, -276, + -277, -276, -279, -276, -115, -115, 60, 60, 23, 60, + 60, 60, -299, -66, -304, -262, 484, 59, -129, 478, + 65, 20, 65, -308, 65, -90, -120, -121, -138, 328, + 230, -219, 234, 69, 235, 362, 236, 199, 238, 239, + 240, 210, 241, 242, 243, 355, 244, 245, 246, 247, + 311, 6, 277, -99, -119, -118, -116, 75, 86, 35, + 328, -117, 69, 120, 253, 231, 254, -137, -191, 204, + 80, 81, 316, -192, -325, -326, -177, -326, -177, -325, + -325, -218, -202, 20, 435, 293, 35, 70, 35, 340, + -223, -225, -157, 58, -65, -64, -141, -141, -86, -89, + -284, 332, 70, 70, -159, 65, -159, 70, 70, 70, + 60, -202, -311, 370, -307, -305, 365, 366, 367, 368, + 65, -160, 479, 70, 65, 367, 29, -258, 220, 59, + -138, -169, -169, -163, 120, -169, -169, -169, -169, 237, + 237, -169, -169, -169, -169, -169, -169, -169, -169, -169, + -169, -169, -169, -169, -169, 58, -116, 75, -198, 65, + -124, -125, 35, 252, 248, -126, 35, 232, 233, -128, + 58, 260, 81, 81, -102, 58, 56, 269, 58, 58, + 58, -326, 60, 65, 334, 65, 293, 60, 59, -276, + -202, -66, -85, 60, 60, 60, 60, 59, 60, 60, + 60, 59, 60, 59, 60, -313, 202, -309, 369, -305, + 20, 367, 20, 20, 94, 58, 20, -67, 20, -138, + 70, 70, -169, -169, 70, 65, 65, 65, -169, -169, + 70, 65, -179, 70, 70, 70, 70, 35, 65, -127, + 35, 248, 252, 249, 250, 251, 70, 35, 70, 35, + 70, 35, -177, 58, -330, -331, 65, 70, 58, -224, + 58, -223, -327, 281, 282, 283, 285, 284, -327, -223, + -223, -223, 58, -244, -243, 261, 86, 355, -226, -225, + -81, 60, -86, 65, 70, 70, -320, 58, 70, -310, + 20, -308, 20, -308, -308, 65, -161, -177, -308, -259, + 262, 263, -260, -266, 265, -122, -122, 65, 65, -123, + 231, -104, 60, 59, 94, 60, -202, -131, -130, 431, + -223, 60, 60, 60, 60, -223, 261, -227, 210, 69, + 435, 279, 280, -81, 60, 60, -324, 25, 60, -319, + -318, -158, -314, -177, 370, 65, -308, 484, 60, 59, + -264, 266, 58, -262, 58, -262, 81, 282, 232, 233, + 60, -331, 65, 60, -135, -136, -133, -134, 55, 374, + 258, 259, 60, -226, -226, -226, -226, 60, -169, 65, + 278, -323, -322, -321, 60, 59, 124, -177, -261, 267, + 70, -198, 58, -198, 58, -263, 264, 58, -243, -134, + 55, -133, 55, 14, 13, -137, 70, -175, 59, 94, + -318, -177, -268, 58, 20, 60, -257, 60, -257, 58, + 94, -198, -132, 255, 256, 25, 134, -132, -322, 35, + -202, 124, -269, -267, 220, -260, 60, 60, -257, 70, + 60, 75, 35, 257, -177, 60, 59, 62, -265, 268, + 60, -267, -270, 38, 70, -274, -271, 58, -138, 222, + -274, -138, -273, -272, 267, 223, 60, 59, 62, 58, + -272, -271, -208, 60, } var yyDef = [...]int{ @@ -4780,234 +4771,233 @@ var yyDef = [...]int{ 0, 322, 323, 324, 325, 326, 327, 328, 329, 230, 231, 232, 227, 228, 229, -2, 0, 354, 179, 0, 171, 171, 0, 431, 0, 0, 442, 464, 23, 389, - 0, 394, 722, 758, 759, 760, 1472, 1473, 1474, 1475, - 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, - 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, - 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, - 1506, 1507, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, - 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, - 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, - 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, - 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, - 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, - 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, - 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, - 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, - 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, - 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, - 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 191, 343, - 344, 431, 431, 213, 0, 1338, 217, 0, 0, 0, - 318, 209, 210, 211, 212, 0, 527, 0, 206, 0, - 185, 1396, 0, 0, 0, 0, 0, 0, 87, 581, - 89, 583, 93, 95, 96, 99, 100, 101, 102, 103, - 104, 105, 106, 0, 108, 0, 110, 0, 113, 114, - 115, 0, 124, 125, 584, 585, 67, -2, 0, 0, - 0, 447, 450, 453, 456, 545, 610, 610, 610, 0, - 610, 0, 634, 587, 588, 589, 608, 609, 359, 355, - 356, 357, 358, 419, 0, 421, 424, 301, 301, 0, - 0, 292, 293, 0, 310, 301, 301, 310, 0, 1125, - 0, 0, 284, 285, 286, 290, 291, 311, 247, 247, - 361, 180, 181, 170, 0, 175, 0, 169, 1396, 0, - 140, 0, 145, 0, 1345, 1410, 1360, 0, 0, 1378, - 0, 164, -2, 426, 0, 432, 0, 431, 0, 247, - 247, 247, 247, 247, 247, 247, 0, 0, 0, 465, - 466, 461, 462, 463, 467, 468, 3, 0, 0, 393, - 0, 426, -2, 0, 214, 761, 0, 0, 218, 219, - 0, 0, 233, 0, 236, 222, 223, 224, 0, 0, - 208, 0, 0, 187, 0, 0, 0, 248, 81, 0, - 0, 0, 0, 0, 94, 123, 97, 98, 0, 118, - 120, 122, 121, 107, 119, 109, 111, 112, 117, 0, - 68, 414, 0, 395, 0, 444, 446, 0, 448, 449, - 451, 452, 454, 455, 457, 458, 0, 610, 546, 0, - 0, 0, 0, 0, 0, 610, 361, 360, 0, 420, - 0, 0, 473, 0, 473, 0, 306, 307, 301, 301, - 294, 303, 0, 308, 309, 0, 473, 473, 0, 0, - 0, 610, 1126, 1127, 0, 0, 0, 362, 0, 0, - 173, 0, 178, 130, 135, 133, 134, 136, 0, 0, - 0, 0, 0, 162, 163, 0, 0, 0, 0, 0, - 153, 156, 716, 717, 578, 579, 157, 158, 0, 395, - 427, 443, 445, 440, 441, 0, 0, 0, 0, 0, - 0, 0, 340, 481, 475, 477, 522, 31, 0, 1015, - 758, 1020, -2, 1473, 1474, 1475, 1476, 1477, 1478, 1479, - -2, 1481, -2, -2, 1484, 1485, 1486, 1488, -2, -2, - -2, -2, -2, -2, 1495, -2, -2, -2, 1499, 1500, - -2, -2, 1503, 1504, 1505, 1506, 1507, -2, -2, -2, - -2, -2, -2, -2, -2, 1031, 829, 830, 831, 832, - 0, 0, 0, 0, 0, 839, 840, 0, 853, 0, - 846, 847, 848, 849, 850, 43, 44, 1050, 1051, 1052, - 1053, 1054, 1055, 1056, 1057, 1058, 1059, 978, 816, 0, - 0, 0, 963, 0, 953, 0, 991, 0, 0, 0, - 0, 0, 0, 45, 46, 969, 971, 972, 974, 975, - 976, 977, 980, 981, 982, 985, 986, 987, 988, 989, - 990, 993, 995, 965, 966, 967, 968, 957, 958, 959, - 960, 961, 962, 481, 363, 381, 365, 0, 370, 0, - 723, 395, 417, 395, 0, 215, 0, 220, 0, 0, - 235, 237, 238, 239, 225, 226, 319, 204, 205, 197, - 198, 199, 200, 201, 202, 203, 207, 41, 0, 188, - 189, 81, 0, 0, 82, 83, 84, 85, 86, 88, - 72, 332, 334, 570, 582, 0, 573, 0, 91, 116, - 64, 0, 0, 0, 415, 428, 31, 433, 434, 437, - 0, 0, 0, 548, 0, 245, 564, 0, 580, 602, - 532, 533, 534, -2, 0, 0, 422, 0, 0, 509, - 281, 0, 302, 282, 473, 473, 473, 301, 0, 303, - 0, 303, 297, 298, 0, 312, 315, 313, 0, 0, - 245, 486, 0, 487, 488, 484, 511, 514, 517, 0, - 182, 183, 0, 0, 177, 0, 0, 137, 138, 139, - 146, 141, 143, 0, 0, 147, 159, 160, 161, 387, - 388, 0, 0, 0, 151, 152, 0, 165, 413, 330, - 331, 335, 0, 337, 720, 338, 339, 528, 529, 473, - 0, 482, 0, 478, 0, 0, 0, 0, 523, 0, - 525, 0, 1010, 0, 0, 1039, 1040, 1041, 1042, 1043, - 1044, 1045, 1002, 998, 998, 998, 0, 998, 0, 0, - 938, 0, 0, 998, 998, 998, 998, 998, 939, 0, - 998, 998, 998, 998, 952, 946, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -2, 1004, 0, 835, 836, 837, 838, - 841, 0, 854, 0, 0, 1002, 1002, 1002, 941, 0, - 0, 943, 954, 0, 947, 1002, 0, 1002, 951, 998, - 0, 473, 364, 378, 0, 382, 0, 0, 374, 376, - 369, 371, 0, 0, 391, 416, 418, 762, 0, 1132, - -2, 1134, -2, -2, 1136, 1137, 1138, 1139, 1140, 1141, - 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, - 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, - 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, - 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, - 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, - 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, - 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, - 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, - 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, - 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, - 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 0, 221, 234, 0, 0, 0, - 0, 75, 567, 0, 76, 80, 70, 0, 0, 0, - 572, 0, 569, 574, 0, 90, 0, 0, 65, 66, - 624, 0, 0, 397, 0, 0, 0, 0, 436, 438, - 439, 424, 0, 0, 554, 1128, 611, 249, 0, 0, - 566, 0, 0, 607, -2, 614, 0, 620, 0, 0, - 0, 348, 352, 23, 425, 0, 474, 283, 287, 288, - 473, 304, 301, 305, 301, 303, 0, 314, 317, 554, - 249, 0, 0, 0, 0, 0, 502, 0, 0, 501, - 0, 0, 0, 0, 0, 0, 515, 516, 518, 0, - 520, 521, 530, 531, 0, 431, 184, 172, 174, 0, - 132, 0, 0, 0, 148, 149, 150, 154, 155, 0, - 0, 471, 476, 483, 486, 1006, 1007, 1008, 1009, 524, - 526, 32, 479, 1011, 0, 1013, 1016, 1021, 1022, 1018, - 0, 1036, -2, -2, 0, 1003, 1004, 0, 999, 1000, - 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, - 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, - 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, - 929, 930, 931, 932, 933, 934, 935, 936, 937, 0, - 0, 0, 0, 0, 0, 0, 904, 905, 906, 0, - 0, 0, 0, 817, 818, 819, 820, 821, 822, 823, - 824, 825, 826, 827, 828, 1023, 1034, 1035, 0, 0, - 0, 0, 0, 1032, 1027, 0, 833, 0, 851, 855, - 0, 0, 997, 0, 1004, 0, 0, 964, 942, 0, - 0, 0, 0, 0, 0, 471, 381, 383, 0, 0, - 381, 0, 0, 0, 390, 0, 0, 0, 320, 42, - 240, 0, 0, 0, 0, 0, 333, 0, 571, 72, - 0, 0, 92, 0, 0, 631, 401, 0, 429, 430, - 32, 435, 0, 0, 724, 557, 555, 556, 0, 1129, - 561, 250, 251, 252, 253, 0, 0, 0, 565, 0, - 0, 603, 604, 605, 606, 615, 1128, 1128, 1128, 724, - 389, 0, -2, 0, 0, 350, 0, 0, 510, 295, - 473, 473, 301, 316, 557, 561, 473, 194, 0, 505, - 499, 0, 492, 503, 504, 495, 0, 497, 0, 493, - 494, 473, 485, 424, 519, 513, 176, 131, 0, 269, - 142, 336, 721, 469, 0, 0, 1012, 1014, 1017, 1019, - 891, 0, 0, 0, 0, 0, 0, 880, 874, 875, - 956, 0, 0, 0, 0, 0, 0, 899, 0, 0, - 0, 0, 0, 0, 0, 0, 1024, 1032, 1028, 0, - 1025, 0, 0, 1005, 0, 856, 0, 0, 0, 0, - 892, 0, 896, 940, 944, 0, 948, 0, 950, 0, - 0, 469, 379, 0, 384, 385, 381, 368, 375, 367, - 377, 372, 373, 392, 763, 1133, 1130, 1131, 216, 0, - 568, 72, 77, 78, 79, 73, 71, 575, 0, 577, - 0, 0, 0, 629, 0, 403, 53, 0, 0, 0, - 0, 0, 0, 725, 726, 728, 729, 0, 0, 731, - 785, 0, 740, 610, 740, 0, 0, 742, 743, 547, - 0, 0, 550, 559, 0, 0, 0, 255, 256, 0, - 0, 0, 268, 264, 265, 266, 246, 560, 0, 0, - 0, 0, 0, 517, 0, 0, 473, 349, 352, 353, - 423, 299, 296, 473, 243, 244, 431, 0, 0, 489, - 506, 0, 0, 490, 0, 491, 496, 498, 193, 512, - 144, 459, 0, 0, 33, 480, 1005, 876, 877, 878, - 0, 858, 870, 870, 1120, 1061, 1062, 1063, 1107, 1065, - 1111, 1111, 1107, 1107, 1093, 1094, 1095, 1096, 1097, 1098, - 1099, 1100, 1101, 0, 0, 1084, 1107, 1109, 1109, 1107, - 1104, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 1075, 1076, 1077, 1078, 1079, 1114, 1114, 1117, 1114, 879, - 0, 898, 881, 882, 885, 883, 0, 0, 0, 897, - 886, 887, 873, 1001, 1026, 0, 1033, 1029, 834, 842, - 852, 0, 0, 861, 1107, 1111, 864, 1107, 1109, 1107, - 870, 870, 0, 0, 0, 0, 884, 0, 460, 380, - 0, 366, 74, 69, 576, 55, 0, 627, 631, 0, + 0, 394, 717, 753, 754, 755, 1466, 1467, 1468, 1469, + 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, + 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, + 1500, 1501, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, + 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, + 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, + 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, + 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, + 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, + 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, + 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, + 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, + 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, + 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, + 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, + 1449, 1450, 1451, 1452, 1453, 1454, 1455, 191, 343, 344, + 431, 431, 213, 0, 1333, 217, 0, 0, 0, 318, + 209, 210, 211, 212, 0, 527, 0, 206, 0, 185, + 1391, 0, 0, 0, 0, 0, 0, 87, 581, 89, + 583, 93, 95, 96, 99, 100, 101, 102, 103, 104, + 105, 106, 0, 108, 0, 110, 0, 113, 114, 115, + 0, 124, 125, 584, 585, 67, -2, 0, 0, 0, + 447, 450, 453, 456, 545, 610, 610, 610, 0, 610, + 0, 629, 587, 588, 589, 608, 609, 359, 355, 356, + 357, 358, 419, 0, 421, 424, 301, 301, 0, 0, + 292, 293, 0, 310, 301, 301, 310, 0, 1120, 0, + 0, 284, 285, 286, 290, 291, 311, 247, 247, 361, + 180, 181, 170, 0, 175, 0, 169, 1391, 0, 140, + 0, 145, 0, 1340, 1405, 1355, 0, 0, 1373, 0, + 164, -2, 426, 0, 432, 0, 431, 0, 247, 247, + 247, 247, 247, 247, 247, 0, 0, 0, 465, 466, + 461, 462, 463, 467, 468, 3, 0, 0, 393, 0, + 426, -2, 0, 214, 756, 0, 0, 218, 219, 0, + 0, 233, 0, 236, 222, 223, 224, 0, 0, 208, + 0, 0, 187, 0, 0, 0, 248, 81, 0, 0, + 0, 0, 0, 94, 123, 97, 98, 0, 118, 120, + 122, 121, 107, 119, 109, 111, 112, 117, 0, 68, + 414, 0, 395, 0, 444, 446, 0, 448, 449, 451, + 452, 454, 455, 457, 458, 0, 610, 546, 0, 0, + 0, 0, 0, 0, 610, 361, 360, 0, 420, 0, + 0, 473, 0, 473, 0, 306, 307, 301, 301, 294, + 303, 0, 308, 309, 0, 473, 473, 0, 0, 0, + 610, 1121, 1122, 0, 0, 0, 362, 0, 0, 173, + 0, 178, 130, 135, 133, 134, 136, 0, 0, 0, + 0, 0, 162, 163, 0, 0, 0, 0, 0, 153, + 156, 711, 712, 578, 579, 157, 158, 0, 395, 427, + 443, 445, 440, 441, 0, 0, 0, 0, 0, 0, + 0, 340, 481, 475, 477, 522, 31, 0, 1010, 753, + 1015, -2, 1467, 1468, 1469, 1470, 1471, 1472, 1473, -2, + 1475, -2, -2, 1478, 1479, 1480, 1482, -2, -2, -2, + -2, -2, -2, 1489, -2, -2, -2, 1493, 1494, -2, + -2, 1497, 1498, 1499, 1500, 1501, -2, -2, -2, -2, + -2, -2, -2, -2, 1026, 824, 825, 826, 827, 0, + 0, 0, 0, 0, 834, 835, 0, 848, 0, 841, + 842, 843, 844, 845, 43, 44, 1045, 1046, 1047, 1048, + 1049, 1050, 1051, 1052, 1053, 1054, 973, 811, 0, 0, + 0, 958, 0, 948, 0, 986, 0, 0, 0, 0, + 0, 0, 45, 46, 964, 966, 967, 969, 970, 971, + 972, 975, 976, 977, 980, 981, 982, 983, 984, 985, + 988, 990, 960, 961, 962, 963, 952, 953, 954, 955, + 956, 957, 481, 363, 381, 365, 0, 370, 0, 718, + 395, 417, 395, 0, 215, 0, 220, 0, 0, 235, + 237, 238, 239, 225, 226, 319, 204, 205, 197, 198, + 199, 200, 201, 202, 203, 207, 41, 0, 188, 189, + 81, 0, 0, 82, 83, 84, 85, 86, 88, 72, + 332, 334, 570, 582, 0, 573, 0, 91, 116, 64, + 0, 0, 415, 428, 31, 433, 434, 437, 0, 0, + 0, 548, 0, 245, 564, 0, 580, 602, 532, 533, + 534, -2, 0, 0, 422, 0, 0, 509, 281, 0, + 302, 282, 473, 473, 473, 301, 0, 303, 0, 303, + 297, 298, 0, 312, 315, 313, 0, 0, 245, 486, + 0, 487, 488, 484, 511, 514, 517, 0, 182, 183, + 0, 0, 177, 0, 0, 137, 138, 139, 146, 141, + 143, 0, 0, 147, 159, 160, 161, 387, 388, 0, + 0, 0, 151, 152, 0, 165, 413, 330, 331, 335, + 0, 337, 715, 338, 339, 528, 529, 473, 0, 482, + 0, 478, 0, 0, 0, 0, 523, 0, 525, 0, + 1005, 0, 0, 1034, 1035, 1036, 1037, 1038, 1039, 1040, + 997, 993, 993, 993, 0, 993, 0, 0, 933, 0, + 0, 993, 993, 993, 993, 993, 934, 0, 993, 993, + 993, 993, 947, 941, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2, 999, 0, 830, 831, 832, 833, 836, 0, + 849, 0, 0, 997, 997, 997, 936, 0, 0, 938, + 949, 0, 942, 997, 0, 997, 946, 993, 0, 473, + 364, 378, 0, 382, 0, 0, 374, 376, 369, 371, + 0, 0, 391, 416, 418, 757, 0, 1127, -2, 1129, + -2, -2, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, + 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, + 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, + 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, + 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, + 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, + 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, + 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, + 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, + 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, + 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, + 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 1290, 0, 221, 234, 0, 0, 0, 0, 75, + 567, 0, 76, 80, 70, 0, 0, 0, 572, 0, + 569, 574, 0, 90, 0, 0, 65, 66, 624, 0, + 397, 0, 0, 0, 0, 436, 438, 439, 424, 0, + 0, 554, 1123, 611, 249, 0, 0, 566, 0, 0, + 607, -2, 614, 0, 620, 0, 0, 0, 348, 352, + 23, 425, 0, 474, 283, 287, 288, 473, 304, 301, + 305, 301, 303, 0, 314, 317, 554, 249, 0, 0, + 0, 0, 0, 502, 0, 0, 501, 0, 0, 0, + 0, 0, 0, 515, 516, 518, 0, 520, 521, 530, + 531, 0, 431, 184, 172, 174, 0, 132, 0, 0, + 0, 148, 149, 150, 154, 155, 0, 0, 471, 476, + 483, 486, 1001, 1002, 1003, 1004, 524, 526, 32, 479, + 1006, 0, 1008, 1011, 1016, 1017, 1013, 0, 1031, -2, + -2, 0, 998, 999, 0, 994, 995, 0, 0, 0, + 0, 0, 0, 0, 950, 0, 0, 904, 905, 906, + 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, + 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, + 927, 928, 929, 930, 931, 932, 0, 0, 0, 0, + 0, 0, 0, 899, 900, 901, 0, 0, 0, 0, + 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, + 822, 823, 1018, 1029, 1030, 0, 0, 0, 0, 0, + 1027, 1022, 0, 828, 0, 846, 850, 0, 0, 992, + 0, 999, 0, 0, 959, 937, 0, 0, 0, 0, + 0, 0, 471, 381, 383, 0, 0, 381, 0, 0, + 0, 390, 0, 0, 0, 320, 42, 240, 0, 0, + 0, 0, 0, 333, 0, 571, 72, 0, 0, 92, + 0, 0, 401, 0, 429, 430, 32, 435, 0, 0, + 719, 557, 555, 556, 0, 1124, 561, 250, 251, 252, + 253, 0, 0, 0, 565, 0, 0, 603, 604, 605, + 606, 615, 1123, 1123, 1123, 719, 389, 0, -2, 0, + 0, 350, 0, 0, 510, 295, 473, 473, 301, 316, + 557, 561, 473, 194, 0, 505, 499, 0, 492, 503, + 504, 495, 0, 497, 0, 493, 494, 473, 485, 424, + 519, 513, 176, 131, 0, 269, 142, 336, 716, 469, + 0, 0, 1007, 1009, 1012, 1014, 886, 0, 0, 0, + 0, 0, 0, 875, 869, 870, 951, 0, 0, 0, + 0, 0, 0, 894, 0, 0, 0, 0, 0, 0, + 0, 0, 1019, 1027, 1023, 0, 1020, 0, 0, 1000, + 0, 851, 0, 0, 0, 0, 887, 0, 891, 935, + 939, 0, 943, 0, 945, 0, 0, 469, 379, 0, + 384, 385, 381, 368, 375, 367, 377, 372, 373, 392, + 758, 1128, 1125, 1126, 216, 0, 568, 72, 77, 78, + 79, 73, 71, 575, 0, 577, 0, 0, 403, 53, + 0, 0, 0, 0, 0, 0, 720, 721, 723, 724, + 0, 0, 726, 780, 0, 735, 610, 735, 0, 0, + 737, 738, 547, 0, 0, 550, 559, 0, 0, 0, + 255, 256, 0, 0, 0, 268, 264, 265, 266, 246, + 560, 0, 0, 0, 0, 0, 517, 0, 0, 473, + 349, 352, 353, 423, 299, 296, 473, 243, 244, 431, + 0, 0, 489, 506, 0, 0, 490, 0, 491, 496, + 498, 193, 512, 144, 459, 0, 0, 33, 480, 1000, + 871, 872, 873, 0, 853, 865, 865, 1115, 1056, 1057, + 1058, 1102, 1060, 1106, 1106, 1102, 1102, 1088, 1089, 1090, + 1091, 1092, 1093, 1094, 1095, 1096, 0, 0, 1079, 1102, + 1104, 1104, 1102, 1099, 1061, 1062, 1063, 1064, 1065, 1066, + 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1109, 1109, + 1112, 1109, 874, 0, 893, 876, 877, 880, 878, 0, + 0, 0, 892, 881, 882, 868, 996, 1021, 0, 1028, + 1024, 829, 837, 847, 0, 0, 856, 1102, 1106, 859, + 1102, 1104, 1102, 865, 865, 0, 0, 0, 0, 879, + 0, 460, 380, 0, 366, 74, 69, 576, 55, 0, 405, 0, 402, 0, 0, 0, 543, 424, -2, 0, - -2, 730, 786, 752, 752, 741, 752, 752, 610, 0, + -2, 725, 781, 747, 747, 736, 747, 747, 610, 0, 558, 549, 0, 562, 563, 0, 257, 258, 0, 261, - 267, 0, 616, 617, 718, 719, 618, 0, 473, 473, + 267, 0, 616, 617, 713, 714, 618, 0, 473, 473, -2, 346, 351, 0, 300, 426, 195, 196, 507, 0, - 500, 470, 472, 843, 859, 871, 872, 860, 1123, 1121, - 1122, 1064, 1108, 0, 1089, 0, 1090, 1091, 1092, 0, - 0, 1085, 1086, 0, 1087, 1088, 1080, 0, 1081, 1082, - 0, 1083, 895, 900, 901, 0, 1030, 857, 844, 862, - 863, 865, 866, 867, 868, 869, 845, 893, 0, 945, - 949, 903, 386, 24, 49, 0, 625, 0, 630, 632, - 407, 0, 404, 0, 398, 400, 63, 0, 635, -2, - 672, 1128, 1128, 0, 1128, 1128, 1128, 1128, 0, 0, - 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, - 1128, 1128, 1128, 1128, 0, 727, 754, -2, 766, 768, - 0, 0, 771, 772, 0, 0, 0, 0, 808, 778, - 0, 0, 1048, 1049, 0, 784, 0, 744, 753, 0, - 753, 0, 0, 752, 0, 0, 0, 254, 259, 0, - 262, 263, 0, 598, 1107, 0, 622, 55, 431, 347, - 192, 0, 1060, 1124, 0, 0, 0, 1105, 0, 0, - 0, 0, 902, 0, 47, 51, 56, 57, 0, 0, - 0, 0, 0, 396, 0, 406, 54, 0, 0, 621, - 0, 619, 674, 0, 0, 1128, 1128, 0, 0, 0, - 0, 1128, 1128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 767, 769, - 770, 773, 774, 775, 813, 814, 815, 776, 810, 811, - 812, 777, 0, 0, 1046, 1047, 806, 0, 0, 0, - 0, 0, 0, 0, 738, 551, 0, 553, 260, 591, - 0, 437, 0, 623, 426, 508, 1113, 1112, 1102, 0, - 1103, 1110, 1115, 0, 1118, 0, 894, 34, 0, 53, - 0, 58, 0, 0, 0, 0, 0, 0, 0, 544, - 668, 673, 675, 676, 0, 0, 679, 680, 681, 682, - 0, 0, 685, 686, 687, 688, 689, 690, 691, 692, - 693, 694, 710, 711, 712, 713, 714, 715, 695, 696, - 697, 698, 699, 700, 707, 0, 0, 704, 0, 0, - 0, 801, 0, 0, 745, 747, 748, 749, 750, 751, - 746, 0, 0, 0, 0, 737, 739, 781, 0, 552, - 590, 599, 600, 437, 345, 1106, 0, 0, 25, 0, - 0, 50, 0, 59, 0, 61, 62, 0, 0, 409, - 399, 657, 0, 0, 663, 0, 669, 677, 678, 683, - 684, 701, 0, 0, 703, 0, 0, 809, 0, 788, - 802, 0, 0, 591, 591, 591, 591, 0, 782, 592, - 1128, 0, 0, 596, 597, 601, 1116, 1119, 628, 0, - 35, 0, 37, 39, 40, 755, 48, 52, 60, 626, - 408, 0, 637, 0, 0, 0, 0, 0, 666, 0, - 708, 709, 702, 705, 706, 779, 787, 789, 790, 791, - 0, 803, 804, 805, 807, 732, 733, 734, 735, 0, - 0, 594, 0, 26, 27, 0, 36, 0, 0, 410, - 639, 0, 658, 0, 0, 0, 0, 0, 0, 0, - 780, 792, 0, 793, 0, 0, 0, 736, 593, 595, - 0, 0, 38, 756, 636, 0, 668, 659, 0, 661, - 0, 0, 0, 0, 794, 796, 797, 0, 0, 795, - 28, 29, 30, 0, 0, 641, 0, 655, 660, 662, - 0, 667, 665, 798, 800, 799, 757, 640, 0, 653, - 638, 0, 664, 642, -2, 0, 656, 643, -2, 0, - 651, 0, 644, 652, 0, 647, 0, 0, 646, 0, - -2, 0, 648, -2, 0, 654, + 500, 470, 472, 838, 854, 866, 867, 855, 1118, 1116, + 1117, 1059, 1103, 0, 1084, 0, 1085, 1086, 1087, 0, + 0, 1080, 1081, 0, 1082, 1083, 1075, 0, 1076, 1077, + 0, 1078, 890, 895, 896, 0, 1025, 852, 839, 857, + 858, 860, 861, 862, 863, 864, 840, 888, 0, 940, + 944, 898, 386, 24, 49, 0, 625, 0, 407, 0, + 404, 0, 398, 400, 63, 0, 630, -2, 667, 1123, + 1123, 0, 1123, 1123, 1123, 1123, 0, 0, 1123, 1123, + 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, + 1123, 1123, 0, 722, 749, -2, 761, 763, 0, 0, + 766, 767, 0, 0, 0, 0, 803, 773, 0, 0, + 1043, 1044, 0, 779, 0, 739, 748, 0, 748, 0, + 0, 747, 0, 0, 0, 254, 259, 0, 262, 263, + 0, 598, 1102, 0, 622, 55, 431, 347, 192, 0, + 1055, 1119, 0, 0, 0, 1100, 0, 0, 0, 0, + 897, 0, 47, 51, 56, 57, 0, 0, 0, 0, + 0, 396, 0, 406, 54, 0, 0, 621, 0, 619, + 669, 0, 0, 1123, 1123, 0, 0, 0, 0, 1123, + 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 762, 764, 765, 768, + 769, 770, 808, 809, 810, 771, 805, 806, 807, 772, + 0, 0, 1041, 1042, 801, 0, 0, 0, 0, 0, + 0, 0, 733, 551, 0, 553, 260, 591, 0, 437, + 0, 623, 426, 508, 1108, 1107, 1097, 0, 1098, 1105, + 1110, 0, 1113, 0, 889, 34, 0, 53, 0, 58, + 0, 0, 0, 0, 0, 0, 0, 544, 663, 668, + 670, 671, 0, 0, 674, 675, 676, 677, 0, 0, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 705, 706, 707, 708, 709, 710, 690, 691, 692, 693, + 694, 695, 702, 0, 0, 699, 0, 0, 0, 796, + 0, 0, 740, 742, 743, 744, 745, 746, 741, 0, + 0, 0, 0, 732, 734, 776, 0, 552, 590, 599, + 600, 437, 345, 1101, 0, 0, 25, 0, 0, 50, + 0, 59, 0, 61, 62, 0, 0, 409, 399, 652, + 0, 0, 658, 0, 664, 672, 673, 678, 679, 696, + 0, 0, 698, 0, 0, 804, 0, 783, 797, 0, + 0, 591, 591, 591, 591, 0, 777, 592, 1123, 0, + 0, 596, 597, 601, 1111, 1114, 627, 0, 35, 0, + 37, 39, 40, 750, 48, 52, 60, 626, 408, 0, + 632, 0, 0, 0, 0, 0, 661, 0, 703, 704, + 697, 700, 701, 774, 782, 784, 785, 786, 0, 798, + 799, 800, 802, 727, 728, 729, 730, 0, 0, 594, + 0, 26, 27, 0, 36, 0, 0, 410, 634, 0, + 653, 0, 0, 0, 0, 0, 0, 0, 775, 787, + 0, 788, 0, 0, 0, 731, 593, 595, 0, 0, + 38, 751, 631, 0, 663, 654, 0, 656, 0, 0, + 0, 0, 789, 791, 792, 0, 0, 790, 28, 29, + 30, 0, 0, 636, 0, 650, 655, 657, 0, 662, + 660, 793, 795, 794, 752, 635, 0, 648, 633, 0, + 659, 637, -2, 0, 651, 638, -2, 0, 646, 0, + 639, 647, 0, 642, 0, 0, 641, 0, -2, 0, + 643, -2, 0, 649, } var yyTok1 = [...]int{ @@ -5016,14 +5006,14 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 87, 3, 3, 3, 115, 107, 3, 58, 60, 112, 110, 59, 111, 124, 113, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 482, - 95, 94, 96, 3, 483, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 481, + 95, 94, 96, 3, 482, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 117, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 484, 106, 485, 118, + 3, 3, 3, 483, 106, 484, 118, } var yyTok2 = [...]int{ @@ -5097,7 +5087,7 @@ var yyTok3 = [...]int{ 57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469, 57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474, 57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479, - 57805, 480, 57806, 481, 0, + 57805, 480, 0, } var yyErrorMessages = [...]struct { @@ -10066,7 +10056,6 @@ yydefault: { yyLOCAL = &tree.ExternParam{ Filepath: yyDollar[2].str, - ScanType: tree.LOCAL, CompressType: tree.AUTO, } } @@ -10074,7 +10063,7 @@ yydefault: case 625: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3943 +//line mysql_sql.y:3942 { if strings.ToLower(yyDollar[3].str) != "filepath" { yylex.Error(fmt.Sprintf("can not recognize the '%s'", yyDollar[3].str)) @@ -10082,7 +10071,6 @@ yydefault: } yyLOCAL = &tree.ExternParam{ Filepath: yyDollar[5].str, - ScanType: tree.LOCAL, CompressType: tree.AUTO, } } @@ -10090,7 +10078,7 @@ yydefault: case 626: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3955 +//line mysql_sql.y:3953 { if strings.ToLower(yyDollar[3].str) != "filepath" || strings.ToLower(yyDollar[7].str) != "compression" { yylex.Error(fmt.Sprintf("can not recognize the '%s' or '%s' ", yyDollar[3].str, yyDollar[7].str)) @@ -10098,26 +10086,14 @@ yydefault: } yyLOCAL = &tree.ExternParam{ Filepath: yyDollar[5].str, - ScanType: tree.LOCAL, CompressType: yyDollar[9].str, } } yyVAL.union = yyLOCAL case 627: - yyDollar = yyS[yypt-5 : yypt+1] - var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3967 - { - yyLOCAL = &tree.ExternParam{ - ScanType: tree.S3, - S3option: yyDollar[4].strsUnion(), - } - } - yyVAL.union = yyLOCAL - case 628: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.TailParameter -//line mysql_sql.y:3976 +//line mysql_sql.y:3966 { yyLOCAL = &tree.TailParameter{ Fields: yyDollar[1].fieldsUnion(), @@ -10128,67 +10104,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 629: - yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL []string -//line mysql_sql.y:3988 - { - yyLOCAL = yyDollar[1].strsUnion() - } - yyVAL.union = yyLOCAL - case 630: - yyDollar = yyS[yypt-3 : yypt+1] - var yyLOCAL []string -//line mysql_sql.y:3992 - { - yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) - } - yyVAL.union = yyLOCAL - case 631: - yyDollar = yyS[yypt-0 : yypt+1] - var yyLOCAL []string -//line mysql_sql.y:3997 - { - yyLOCAL = []string{} - } - yyVAL.union = yyLOCAL - case 632: - yyDollar = yyS[yypt-3 : yypt+1] - var yyLOCAL []string -//line mysql_sql.y:4001 - { - yyLOCAL = append(yyLOCAL, yyDollar[1].str) - yyLOCAL = append(yyLOCAL, yyDollar[3].str) - } - yyVAL.union = yyLOCAL - case 633: + case 628: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4007 +//line mysql_sql.y:3977 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 634: + case 629: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4011 +//line mysql_sql.y:3981 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 635: + case 630: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:4016 +//line mysql_sql.y:3986 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 636: + case 631: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:4020 +//line mysql_sql.y:3990 { yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) yyLOCAL = &tree.PartitionOption{ @@ -10198,18 +10141,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 637: + case 632: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4030 +//line mysql_sql.y:4000 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 638: + case 633: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4034 +//line mysql_sql.y:4004 { yyLOCAL = &tree.PartitionBy{ IsSubPartition: true, @@ -10218,42 +10161,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 639: + case 634: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4043 +//line mysql_sql.y:4013 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 640: + case 635: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4047 +//line mysql_sql.y:4017 { yyLOCAL = yyDollar[2].partitionsUnion() } yyVAL.union = yyLOCAL - case 641: + case 636: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4053 +//line mysql_sql.y:4023 { yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()} } yyVAL.union = yyLOCAL - case 642: + case 637: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4057 +//line mysql_sql.y:4027 { yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion()) } yyVAL.union = yyLOCAL - case 643: + case 638: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:4063 +//line mysql_sql.y:4033 { yyLOCAL = &tree.Partition{ Name: tree.Identifier(yyDollar[2].str), @@ -10263,10 +10206,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 644: + case 639: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:4072 +//line mysql_sql.y:4042 { yyLOCAL = &tree.Partition{ Name: tree.Identifier(yyDollar[2].str), @@ -10276,42 +10219,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 645: + case 640: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4082 +//line mysql_sql.y:4052 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 646: + case 641: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4086 +//line mysql_sql.y:4056 { yyLOCAL = yyDollar[2].subPartitionsUnion() } yyVAL.union = yyLOCAL - case 647: + case 642: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4092 +//line mysql_sql.y:4062 { yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()} } yyVAL.union = yyLOCAL - case 648: + case 643: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4096 +//line mysql_sql.y:4066 { yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion()) } yyVAL.union = yyLOCAL - case 649: + case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:4102 +//line mysql_sql.y:4072 { yyLOCAL = &tree.SubPartition{ Name: tree.Identifier(yyDollar[2].str), @@ -10319,10 +10262,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 650: + case 645: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:4109 +//line mysql_sql.y:4079 { yyLOCAL = &tree.SubPartition{ Name: tree.Identifier(yyDollar[2].str), @@ -10330,50 +10273,50 @@ yydefault: } } yyVAL.union = yyLOCAL - case 651: + case 646: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4118 +//line mysql_sql.y:4088 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 652: + case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4122 +//line mysql_sql.y:4092 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 653: + case 648: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4127 +//line mysql_sql.y:4097 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 654: + case 649: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4131 +//line mysql_sql.y:4101 { yyLOCAL = &tree.ValuesLessThan{ValueList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 655: + case 650: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4136 +//line mysql_sql.y:4106 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 656: + case 651: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4140 +//line mysql_sql.y:4110 { res := yyDollar[2].item.(int64) if res == 0 { @@ -10383,18 +10326,18 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 657: + case 652: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4150 +//line mysql_sql.y:4120 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 658: + case 653: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4154 +//line mysql_sql.y:4124 { res := yyDollar[2].item.(int64) if res == 0 { @@ -10404,10 +10347,10 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 659: + case 654: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4165 +//line mysql_sql.y:4135 { yyLOCAL = &tree.PartitionBy{ PType: &tree.RangeType{ @@ -10416,10 +10359,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 660: + case 655: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4173 +//line mysql_sql.y:4143 { yyLOCAL = &tree.PartitionBy{ PType: &tree.RangeType{ @@ -10428,10 +10371,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 661: + case 656: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4181 +//line mysql_sql.y:4151 { yyLOCAL = &tree.PartitionBy{ PType: &tree.ListType{ @@ -10440,10 +10383,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 662: + case 657: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4189 +//line mysql_sql.y:4159 { yyLOCAL = &tree.PartitionBy{ PType: &tree.ListType{ @@ -10452,10 +10395,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 664: + case 659: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4200 +//line mysql_sql.y:4170 { yyLOCAL = &tree.PartitionBy{ PType: &tree.KeyType{ @@ -10466,10 +10409,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 665: + case 660: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4210 +//line mysql_sql.y:4180 { yyLOCAL = &tree.PartitionBy{ PType: &tree.HashType{ @@ -10479,478 +10422,478 @@ yydefault: } } yyVAL.union = yyLOCAL - case 666: + case 661: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4220 +//line mysql_sql.y:4190 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 667: + case 662: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4224 +//line mysql_sql.y:4194 { yyLOCAL = yyDollar[3].item.(int64) } yyVAL.union = yyLOCAL - case 668: + case 663: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4229 +//line mysql_sql.y:4199 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 669: + case 664: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4233 +//line mysql_sql.y:4203 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 670: + case 665: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4238 +//line mysql_sql.y:4208 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 671: + case 666: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4242 +//line mysql_sql.y:4212 { yyLOCAL = yyDollar[1].tableOptionsUnion() } yyVAL.union = yyLOCAL - case 672: + case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4248 +//line mysql_sql.y:4218 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 673: + case 668: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4252 +//line mysql_sql.y:4222 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 674: + case 669: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4256 +//line mysql_sql.y:4226 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 675: + case 670: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4262 +//line mysql_sql.y:4232 { yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 676: + case 671: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4266 +//line mysql_sql.y:4236 { yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 677: + case 672: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4270 +//line mysql_sql.y:4240 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 678: + case 673: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4274 +//line mysql_sql.y:4244 { yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 679: + case 674: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4278 +//line mysql_sql.y:4248 { yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 680: + case 675: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4282 +//line mysql_sql.y:4252 { yyLOCAL = tree.NewTableOptionComment(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 681: + case 676: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4286 +//line mysql_sql.y:4256 { yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 682: + case 677: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4290 +//line mysql_sql.y:4260 { yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 683: + case 678: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4294 +//line mysql_sql.y:4264 { yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 684: + case 679: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4298 +//line mysql_sql.y:4268 { yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 685: + case 680: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4302 +//line mysql_sql.y:4272 { yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 686: + case 681: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4306 +//line mysql_sql.y:4276 { yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 687: + case 682: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4310 +//line mysql_sql.y:4280 { yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 688: + case 683: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4314 +//line mysql_sql.y:4284 { yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 689: + case 684: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4318 +//line mysql_sql.y:4288 { yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 690: + case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4322 +//line mysql_sql.y:4292 { yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 691: + case 686: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4326 +//line mysql_sql.y:4296 { yyLOCAL = &tree.TableOptionPackKeys{Value: yyDollar[3].item.(int64)} } yyVAL.union = yyLOCAL - case 692: + case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4330 +//line mysql_sql.y:4300 { yyLOCAL = &tree.TableOptionPackKeys{Default: true} } yyVAL.union = yyLOCAL - case 693: + case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4334 +//line mysql_sql.y:4304 { yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 694: + case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4338 +//line mysql_sql.y:4308 { yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion()) } yyVAL.union = yyLOCAL - case 695: + case 690: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4342 +//line mysql_sql.y:4312 { yyLOCAL = &tree.TableOptionStatsAutoRecalc{Value: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 696: + case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4346 +//line mysql_sql.y:4316 { yyLOCAL = &tree.TableOptionStatsAutoRecalc{Default: true} } yyVAL.union = yyLOCAL - case 697: + case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4350 +//line mysql_sql.y:4320 { yyLOCAL = &tree.TableOptionStatsPersistent{Value: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 698: + case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4354 +//line mysql_sql.y:4324 { yyLOCAL = &tree.TableOptionStatsPersistent{Default: true} } yyVAL.union = yyLOCAL - case 699: + case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4358 +//line mysql_sql.y:4328 { yyLOCAL = &tree.TableOptionStatsSamplePages{Value: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 700: + case 695: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4362 +//line mysql_sql.y:4332 { yyLOCAL = &tree.TableOptionStatsSamplePages{Default: true} } yyVAL.union = yyLOCAL - case 701: + case 696: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4366 +//line mysql_sql.y:4336 { yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].str, yyDollar[4].str) } yyVAL.union = yyLOCAL - case 702: + case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4370 +//line mysql_sql.y:4340 { yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) } yyVAL.union = yyLOCAL - case 703: + case 698: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4374 +//line mysql_sql.y:4344 { yyLOCAL = &tree.TableOptionProperties{Preperties: yyDollar[3].propertiesUnion()} } yyVAL.union = yyLOCAL - case 704: + case 699: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:4381 +//line mysql_sql.y:4351 { yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()} } yyVAL.union = yyLOCAL - case 705: + case 700: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:4385 +//line mysql_sql.y:4355 { yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion()) } yyVAL.union = yyLOCAL - case 706: + case 701: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Property -//line mysql_sql.y:4391 +//line mysql_sql.y:4361 { yyLOCAL = tree.Property{Key: yyDollar[1].str, Value: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 707: + case 702: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4396 +//line mysql_sql.y:4366 { yyVAL.str = "" } - case 708: + case 703: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4400 +//line mysql_sql.y:4370 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } - case 709: + case 704: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4404 +//line mysql_sql.y:4374 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } - case 710: + case 705: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4410 +//line mysql_sql.y:4380 { yyLOCAL = tree.ROW_FORMAT_DEFAULT } yyVAL.union = yyLOCAL - case 711: + case 706: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4414 +//line mysql_sql.y:4384 { yyLOCAL = tree.ROW_FORMAT_DYNAMIC } yyVAL.union = yyLOCAL - case 712: + case 707: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4418 +//line mysql_sql.y:4388 { yyLOCAL = tree.ROW_FORMAT_FIXED } yyVAL.union = yyLOCAL - case 713: + case 708: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4422 +//line mysql_sql.y:4392 { yyLOCAL = tree.ROW_FORMAT_COMPRESSED } yyVAL.union = yyLOCAL - case 714: + case 709: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4426 +//line mysql_sql.y:4396 { yyLOCAL = tree.ROW_FORMAT_REDUNDANT } yyVAL.union = yyLOCAL - case 715: + case 710: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4430 +//line mysql_sql.y:4400 { yyLOCAL = tree.ROW_FORMAT_COMPACT } yyVAL.union = yyLOCAL - case 720: + case 715: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:4444 +//line mysql_sql.y:4414 { yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()} } yyVAL.union = yyLOCAL - case 721: + case 716: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:4448 +//line mysql_sql.y:4418 { yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 722: + case 717: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:4457 +//line mysql_sql.y:4427 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].str), prefix) } yyVAL.union = yyLOCAL - case 723: + case 718: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:4462 +//line mysql_sql.y:4432 { prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].str), prefix) } yyVAL.union = yyLOCAL - case 724: + case 719: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:4468 +//line mysql_sql.y:4438 { yyLOCAL = tree.TableDefs(nil) } yyVAL.union = yyLOCAL - case 726: + case 721: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:4475 +//line mysql_sql.y:4445 { yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()} } yyVAL.union = yyLOCAL - case 727: + case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:4479 +//line mysql_sql.y:4449 { yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion()) } yyVAL.union = yyLOCAL - case 728: + case 723: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4485 +//line mysql_sql.y:4455 { yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion()) } yyVAL.union = yyLOCAL - case 729: + case 724: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4489 +//line mysql_sql.y:4459 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 730: + case 725: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4495 +//line mysql_sql.y:4465 { if yyDollar[1].str != "" { switch v := yyDollar[2].tableDefUnion().(type) { @@ -10961,18 +10904,18 @@ yydefault: yyLOCAL = yyDollar[2].tableDefUnion() } yyVAL.union = yyLOCAL - case 731: + case 726: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4505 +//line mysql_sql.y:4475 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 732: + case 727: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4511 +//line mysql_sql.y:4481 { yyLOCAL = &tree.PrimaryKeyIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -10982,10 +10925,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 733: + case 728: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4520 +//line mysql_sql.y:4490 { yyLOCAL = &tree.FullTextIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -10995,10 +10938,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 734: + case 729: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4529 +//line mysql_sql.y:4499 { keyTyp := tree.INDEX_TYPE_INVALID if yyDollar[3].strsUnion()[1] != "" { @@ -11022,10 +10965,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 735: + case 730: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4552 +//line mysql_sql.y:4522 { yyLOCAL = &tree.UniqueIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -11035,10 +10978,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 736: + case 731: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4561 +//line mysql_sql.y:4531 { yyLOCAL = &tree.ForeignKey{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -11049,10 +10992,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 737: + case 732: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4571 +//line mysql_sql.y:4541 { yyLOCAL = &tree.CheckIndex{ Expr: yyDollar[3].exprUnion(), @@ -11060,298 +11003,298 @@ yydefault: } } yyVAL.union = yyLOCAL - case 738: + case 733: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4579 +//line mysql_sql.y:4549 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 740: + case 735: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4585 +//line mysql_sql.y:4555 { yyVAL.str = "" } - case 741: + case 736: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4589 +//line mysql_sql.y:4559 { yyVAL.str = yyDollar[1].str } - case 744: + case 739: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4599 +//line mysql_sql.y:4569 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = "" } yyVAL.union = yyLOCAL - case 745: + case 740: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4605 +//line mysql_sql.y:4575 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = yyDollar[3].str } yyVAL.union = yyLOCAL - case 746: + case 741: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4611 +//line mysql_sql.y:4581 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = yyDollar[3].str } yyVAL.union = yyLOCAL - case 752: + case 747: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4625 +//line mysql_sql.y:4595 { yyVAL.str = "" } - case 754: + case 749: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ColumnTableDef -//line mysql_sql.y:4632 +//line mysql_sql.y:4602 { yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion()) } yyVAL.union = yyLOCAL - case 755: + case 750: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4638 +//line mysql_sql.y:4608 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 756: + case 751: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4642 +//line mysql_sql.y:4612 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 757: + case 752: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4646 +//line mysql_sql.y:4616 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } yyVAL.union = yyLOCAL - case 761: + case 756: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4657 +//line mysql_sql.y:4627 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 762: + case 757: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4661 +//line mysql_sql.y:4631 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 763: + case 758: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4665 +//line mysql_sql.y:4635 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } yyVAL.union = yyLOCAL - case 764: + case 759: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4670 +//line mysql_sql.y:4640 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 765: + case 760: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4674 +//line mysql_sql.y:4644 { yyLOCAL = yyDollar[1].columnAttributesUnion() } yyVAL.union = yyLOCAL - case 766: + case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4680 +//line mysql_sql.y:4650 { yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()} } yyVAL.union = yyLOCAL - case 767: + case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4684 +//line mysql_sql.y:4654 { yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion()) } yyVAL.union = yyLOCAL - case 768: + case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4690 +//line mysql_sql.y:4660 { yyLOCAL = tree.NewAttributeNull(true) } yyVAL.union = yyLOCAL - case 769: + case 764: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4694 +//line mysql_sql.y:4664 { yyLOCAL = tree.NewAttributeNull(false) } yyVAL.union = yyLOCAL - case 770: + case 765: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4698 +//line mysql_sql.y:4668 { yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 771: + case 766: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4702 +//line mysql_sql.y:4672 { yyLOCAL = tree.NewAttributeAutoIncrement() } yyVAL.union = yyLOCAL - case 772: + case 767: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4706 +//line mysql_sql.y:4676 { yyLOCAL = yyDollar[1].columnAttributeUnion() } yyVAL.union = yyLOCAL - case 773: + case 768: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4710 +//line mysql_sql.y:4680 { yyLOCAL = tree.NewAttributeComment(tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char)) } yyVAL.union = yyLOCAL - case 774: + case 769: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4714 +//line mysql_sql.y:4684 { yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 775: + case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4718 +//line mysql_sql.y:4688 { yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 776: + case 771: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4722 +//line mysql_sql.y:4692 { yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 777: + case 772: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4726 +//line mysql_sql.y:4696 { yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion())) } yyVAL.union = yyLOCAL - case 778: + case 773: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4730 +//line mysql_sql.y:4700 { yyLOCAL = yyDollar[1].attributeReferenceUnion() } yyVAL.union = yyLOCAL - case 779: + case 774: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4734 +//line mysql_sql.y:4704 { yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), false, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 780: + case 775: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4738 +//line mysql_sql.y:4708 { yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str) } yyVAL.union = yyLOCAL - case 781: + case 776: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4748 +//line mysql_sql.y:4718 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 782: + case 777: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4752 +//line mysql_sql.y:4722 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 783: + case 778: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4757 +//line mysql_sql.y:4727 { yyVAL.str = "" } - case 784: + case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4761 +//line mysql_sql.y:4731 { yyVAL.str = yyDollar[1].str } - case 785: + case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4767 +//line mysql_sql.y:4737 { yyVAL.str = "" } - case 786: + case 781: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4771 +//line mysql_sql.y:4741 { yyVAL.str = yyDollar[2].str } - case 787: + case 782: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AttributeReference -//line mysql_sql.y:4777 +//line mysql_sql.y:4747 { yyLOCAL = &tree.AttributeReference{ TableName: yyDollar[2].tableNameUnion(), @@ -11362,10 +11305,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 788: + case 783: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4788 +//line mysql_sql.y:4758 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -11373,10 +11316,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 790: + case 785: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4798 +//line mysql_sql.y:4768 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -11384,10 +11327,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 791: + case 786: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4805 +//line mysql_sql.y:4775 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -11395,10 +11338,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 792: + case 787: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4812 +//line mysql_sql.y:4782 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -11406,10 +11349,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 793: + case 788: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4819 +//line mysql_sql.y:4789 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[2].referenceOptionTypeUnion(), @@ -11417,339 +11360,339 @@ yydefault: } } yyVAL.union = yyLOCAL - case 794: + case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4828 +//line mysql_sql.y:4798 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } yyVAL.union = yyLOCAL - case 795: + case 790: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4834 +//line mysql_sql.y:4804 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } yyVAL.union = yyLOCAL - case 796: + case 791: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4840 +//line mysql_sql.y:4810 { yyLOCAL = tree.REFERENCE_OPTION_RESTRICT } yyVAL.union = yyLOCAL - case 797: + case 792: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4844 +//line mysql_sql.y:4814 { yyLOCAL = tree.REFERENCE_OPTION_CASCADE } yyVAL.union = yyLOCAL - case 798: + case 793: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4848 +//line mysql_sql.y:4818 { yyLOCAL = tree.REFERENCE_OPTION_SET_NULL } yyVAL.union = yyLOCAL - case 799: + case 794: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4852 +//line mysql_sql.y:4822 { yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION } yyVAL.union = yyLOCAL - case 800: + case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4856 +//line mysql_sql.y:4826 { yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT } yyVAL.union = yyLOCAL - case 801: + case 796: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4861 +//line mysql_sql.y:4831 { yyLOCAL = tree.MATCH_INVALID } yyVAL.union = yyLOCAL - case 803: + case 798: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4868 +//line mysql_sql.y:4838 { yyLOCAL = tree.MATCH_FULL } yyVAL.union = yyLOCAL - case 804: + case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4872 +//line mysql_sql.y:4842 { yyLOCAL = tree.MATCH_PARTIAL } yyVAL.union = yyLOCAL - case 805: + case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4876 +//line mysql_sql.y:4846 { yyLOCAL = tree.MATCH_SIMPLE } yyVAL.union = yyLOCAL - case 806: + case 801: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:4881 +//line mysql_sql.y:4851 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 807: + case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:4885 +//line mysql_sql.y:4855 { yyLOCAL = yyDollar[2].keyPartsUnion() } yyVAL.union = yyLOCAL - case 808: + case 803: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4890 +//line mysql_sql.y:4860 { yyLOCAL = -1 } yyVAL.union = yyLOCAL - case 809: + case 804: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4894 +//line mysql_sql.y:4864 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 816: + case 811: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Subquery -//line mysql_sql.y:4910 +//line mysql_sql.y:4880 { yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false} } yyVAL.union = yyLOCAL - case 817: + case 812: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4916 +//line mysql_sql.y:4886 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 818: + case 813: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4920 +//line mysql_sql.y:4890 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 819: + case 814: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4924 +//line mysql_sql.y:4894 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 820: + case 815: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4928 +//line mysql_sql.y:4898 { yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 821: + case 816: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4932 +//line mysql_sql.y:4902 { yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 822: + case 817: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4936 +//line mysql_sql.y:4906 { yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 823: + case 818: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4940 +//line mysql_sql.y:4910 { yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 824: + case 819: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4944 +//line mysql_sql.y:4914 { yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 825: + case 820: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4948 +//line mysql_sql.y:4918 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 826: + case 821: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4952 +//line mysql_sql.y:4922 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 827: + case 822: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4956 +//line mysql_sql.y:4926 { yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 828: + case 823: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4960 +//line mysql_sql.y:4930 { yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 829: + case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4964 +//line mysql_sql.y:4934 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 830: + case 825: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4970 +//line mysql_sql.y:4940 { yyLOCAL = yyDollar[1].unresolvedNameUnion() } yyVAL.union = yyLOCAL - case 831: + case 826: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4974 +//line mysql_sql.y:4944 { yyLOCAL = yyDollar[1].varExprUnion() } yyVAL.union = yyLOCAL - case 832: + case 827: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4978 +//line mysql_sql.y:4948 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 833: + case 828: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4982 +//line mysql_sql.y:4952 { yyLOCAL = tree.NewParenExpr(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 834: + case 829: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4986 +//line mysql_sql.y:4956 { yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion())) } yyVAL.union = yyLOCAL - case 835: + case 830: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4990 +//line mysql_sql.y:4960 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 836: + case 831: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4994 +//line mysql_sql.y:4964 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 837: + case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4998 +//line mysql_sql.y:4968 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 838: + case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5002 +//line mysql_sql.y:4972 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 839: + case 834: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5006 +//line mysql_sql.y:4976 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 840: + case 835: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5010 +//line mysql_sql.y:4980 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 841: + case 836: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5014 +//line mysql_sql.y:4984 { yyDollar[2].subqueryUnion().Exists = true yyLOCAL = yyDollar[2].subqueryUnion() } yyVAL.union = yyLOCAL - case 842: + case 837: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5019 +//line mysql_sql.y:4989 { yyLOCAL = &tree.CaseExpr{ Expr: yyDollar[2].exprUnion(), @@ -11758,26 +11701,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 843: + case 838: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5027 +//line mysql_sql.y:4997 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 844: + case 839: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5031 +//line mysql_sql.y:5001 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 845: + case 840: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5035 +//line mysql_sql.y:5005 { name := tree.SetUnresolvedName("convert") es := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) @@ -11787,98 +11730,98 @@ yydefault: } } yyVAL.union = yyLOCAL - case 846: + case 841: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5044 +//line mysql_sql.y:5014 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 847: + case 842: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5048 +//line mysql_sql.y:5018 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 848: + case 843: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5052 +//line mysql_sql.y:5022 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 849: + case 844: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5056 +//line mysql_sql.y:5026 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 850: + case 845: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5060 +//line mysql_sql.y:5030 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 851: + case 846: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5065 +//line mysql_sql.y:5035 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 852: + case 847: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5069 +//line mysql_sql.y:5039 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 853: + case 848: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5074 +//line mysql_sql.y:5044 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 854: + case 849: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5078 +//line mysql_sql.y:5048 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 855: + case 850: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:5084 +//line mysql_sql.y:5054 { yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()} } yyVAL.union = yyLOCAL - case 856: + case 851: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:5088 +//line mysql_sql.y:5058 { yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion()) } yyVAL.union = yyLOCAL - case 857: + case 852: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.When -//line mysql_sql.y:5094 +//line mysql_sql.y:5064 { yyLOCAL = &tree.When{ Cond: yyDollar[2].exprUnion(), @@ -11886,10 +11829,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 859: + case 854: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5104 +//line mysql_sql.y:5074 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -11907,10 +11850,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 860: + case 855: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5121 +//line mysql_sql.y:5091 { locale := "" yyLOCAL = &tree.T{ @@ -11925,10 +11868,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 862: + case 857: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5138 +//line mysql_sql.y:5108 { locale := "" yyLOCAL = &tree.T{ @@ -11942,10 +11885,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 863: + case 858: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5151 +//line mysql_sql.y:5121 { locale := "" yyLOCAL = &tree.T{ @@ -11959,10 +11902,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 864: + case 859: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5164 +//line mysql_sql.y:5134 { locale := "" yyLOCAL = &tree.T{ @@ -11975,10 +11918,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 865: + case 860: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5176 +//line mysql_sql.y:5146 { locale := "" yyLOCAL = &tree.T{ @@ -11993,10 +11936,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 866: + case 861: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5190 +//line mysql_sql.y:5160 { locale := "" yyLOCAL = &tree.T{ @@ -12012,10 +11955,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 867: + case 862: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5205 +//line mysql_sql.y:5175 { locale := "" yyLOCAL = &tree.T{ @@ -12031,10 +11974,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 868: + case 863: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5220 +//line mysql_sql.y:5190 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -12052,10 +11995,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 869: + case 864: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5237 +//line mysql_sql.y:5207 { locale := "" yyLOCAL = &tree.T{ @@ -12070,15 +12013,15 @@ yydefault: } } yyVAL.union = yyLOCAL - case 870: + case 865: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5252 +//line mysql_sql.y:5222 { } - case 873: + case 868: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5258 +//line mysql_sql.y:5228 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12088,10 +12031,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 874: + case 869: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5267 +//line mysql_sql.y:5237 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12100,10 +12043,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 875: + case 870: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5275 +//line mysql_sql.y:5245 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12112,10 +12055,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 876: + case 871: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5283 +//line mysql_sql.y:5253 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12125,10 +12068,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 877: + case 872: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5292 +//line mysql_sql.y:5262 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12138,10 +12081,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 878: + case 873: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5301 +//line mysql_sql.y:5271 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12151,10 +12094,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 879: + case 874: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5310 +//line mysql_sql.y:5280 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12164,10 +12107,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 880: + case 875: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5319 +//line mysql_sql.y:5289 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char) @@ -12177,10 +12120,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 881: + case 876: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5328 +//line mysql_sql.y:5298 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12190,10 +12133,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 882: + case 877: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5337 +//line mysql_sql.y:5307 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12203,10 +12146,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 883: + case 878: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5346 +//line mysql_sql.y:5316 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12216,10 +12159,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 884: + case 879: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5355 +//line mysql_sql.y:5325 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12229,10 +12172,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 885: + case 880: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5364 +//line mysql_sql.y:5334 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12242,10 +12185,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 886: + case 881: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5373 +//line mysql_sql.y:5343 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12255,10 +12198,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 887: + case 882: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5382 +//line mysql_sql.y:5352 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12268,10 +12211,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 891: + case 886: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5398 +//line mysql_sql.y:5368 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12280,10 +12223,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 892: + case 887: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5406 +//line mysql_sql.y:5376 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12292,10 +12235,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 893: + case 888: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5414 +//line mysql_sql.y:5384 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12304,10 +12247,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 894: + case 889: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5422 +//line mysql_sql.y:5392 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12316,10 +12259,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 895: + case 890: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5430 +//line mysql_sql.y:5400 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) timeUinit := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12329,10 +12272,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 896: + case 891: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5439 +//line mysql_sql.y:5409 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12341,10 +12284,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 897: + case 892: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5447 +//line mysql_sql.y:5417 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12354,10 +12297,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 898: + case 893: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5456 +//line mysql_sql.y:5426 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12367,10 +12310,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 899: + case 894: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5465 +//line mysql_sql.y:5435 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12379,10 +12322,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 900: + case 895: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5473 +//line mysql_sql.y:5443 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12391,10 +12334,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 901: + case 896: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5481 +//line mysql_sql.y:5451 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12404,10 +12347,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 902: + case 897: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5490 +//line mysql_sql.y:5460 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12417,10 +12360,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 903: + case 898: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5500 +//line mysql_sql.y:5470 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) a1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12431,16 +12374,16 @@ yydefault: } } yyVAL.union = yyLOCAL - case 909: + case 904: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:5521 +//line mysql_sql.y:5491 { yyVAL.str = yyDollar[1].str } - case 938: + case 933: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5557 +//line mysql_sql.y:5527 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -12453,10 +12396,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 939: + case 934: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5569 +//line mysql_sql.y:5539 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -12469,10 +12412,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 940: + case 935: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5583 +//line mysql_sql.y:5553 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12481,10 +12424,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 941: + case 936: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5591 +//line mysql_sql.y:5561 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12492,10 +12435,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 942: + case 937: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5598 +//line mysql_sql.y:5568 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12503,10 +12446,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 943: + case 938: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5605 +//line mysql_sql.y:5575 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -12519,10 +12462,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 944: + case 939: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5617 +//line mysql_sql.y:5587 { name := tree.SetUnresolvedName("char") yyLOCAL = &tree.FuncExpr{ @@ -12531,10 +12474,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 945: + case 940: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5625 +//line mysql_sql.y:5595 { cn := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) es := yyDollar[3].exprsUnion() @@ -12546,10 +12489,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 946: + case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5636 +//line mysql_sql.y:5606 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("date") @@ -12559,10 +12502,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 947: + case 942: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5645 +//line mysql_sql.y:5615 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("time") @@ -12572,10 +12515,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 948: + case 943: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5654 +//line mysql_sql.y:5624 { name := tree.SetUnresolvedName("insert") yyLOCAL = &tree.FuncExpr{ @@ -12584,10 +12527,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 949: + case 944: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5662 +//line mysql_sql.y:5632 { es := tree.Exprs{yyDollar[3].exprUnion()} es = append(es, yyDollar[5].exprUnion()) @@ -12598,10 +12541,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 950: + case 945: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5672 +//line mysql_sql.y:5642 { name := tree.SetUnresolvedName("password") yyLOCAL = &tree.FuncExpr{ @@ -12610,10 +12553,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 951: + case 946: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5680 +//line mysql_sql.y:5650 { name := tree.SetUnresolvedName("binary") yyLOCAL = &tree.FuncExpr{ @@ -12622,10 +12565,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 952: + case 947: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5688 +//line mysql_sql.y:5658 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("timestamp") @@ -12635,34 +12578,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 953: + case 948: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5698 +//line mysql_sql.y:5668 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 954: + case 949: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5702 +//line mysql_sql.y:5672 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 955: + case 950: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5708 +//line mysql_sql.y:5678 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 956: + case 951: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5712 +//line mysql_sql.y:5682 { ival, errStr := util.GetInt64(yyDollar[2].item) if errStr != "" { @@ -12673,20 +12616,20 @@ yydefault: yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(ival), str, false, tree.P_int64) } yyVAL.union = yyLOCAL - case 963: + case 958: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5731 +//line mysql_sql.y:5701 { } - case 964: + case 959: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5733 +//line mysql_sql.y:5703 { } - case 997: + case 992: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5773 +//line mysql_sql.y:5743 { name := tree.SetUnresolvedName("interval") arg2 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12696,90 +12639,90 @@ yydefault: } } yyVAL.union = yyLOCAL - case 998: + case 993: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:5783 +//line mysql_sql.y:5753 { yyLOCAL = tree.FUNC_TYPE_DEFAULT } yyVAL.union = yyLOCAL - case 999: + case 994: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:5787 +//line mysql_sql.y:5757 { yyLOCAL = tree.FUNC_TYPE_DISTINCT } yyVAL.union = yyLOCAL - case 1000: + case 995: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:5791 +//line mysql_sql.y:5761 { yyLOCAL = tree.FUNC_TYPE_ALL } yyVAL.union = yyLOCAL - case 1001: + case 996: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Tuple -//line mysql_sql.y:5797 +//line mysql_sql.y:5767 { yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1002: + case 997: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5802 +//line mysql_sql.y:5772 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1003: + case 998: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5806 +//line mysql_sql.y:5776 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1004: + case 999: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5812 +//line mysql_sql.y:5782 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1005: + case 1000: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5816 +//line mysql_sql.y:5786 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1006: + case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5823 +//line mysql_sql.y:5793 { yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1007: + case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5827 +//line mysql_sql.y:5797 { yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1008: + case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5831 +//line mysql_sql.y:5801 { name := tree.SetUnresolvedName(strings.ToLower("concat")) yyLOCAL = &tree.FuncExpr{ @@ -12788,332 +12731,332 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1009: + case 1004: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5839 +//line mysql_sql.y:5809 { yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1010: + case 1005: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5843 +//line mysql_sql.y:5813 { yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1011: + case 1006: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5847 +//line mysql_sql.y:5817 { yyLOCAL = tree.NewComparisonExpr(tree.EQUAL, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1012: + case 1007: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5851 +//line mysql_sql.y:5821 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_EQUAL, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1013: + case 1008: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5855 +//line mysql_sql.y:5825 { arg := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), "", false, tree.P_char) yyLOCAL = tree.NewComparisonExpr(tree.EQUAL, yyDollar[1].exprUnion(), arg) } yyVAL.union = yyLOCAL - case 1014: + case 1009: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5860 +//line mysql_sql.y:5830 { arg := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), "", false, tree.P_char) yyLOCAL = tree.NewComparisonExpr(tree.NOT_EQUAL, yyDollar[1].exprUnion(), arg) } yyVAL.union = yyLOCAL - case 1015: + case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5865 +//line mysql_sql.y:5835 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1016: + case 1011: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5871 +//line mysql_sql.y:5841 { yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1017: + case 1012: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5875 +//line mysql_sql.y:5845 { yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1018: + case 1013: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5879 +//line mysql_sql.y:5849 { yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1019: + case 1014: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5883 +//line mysql_sql.y:5853 { yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) } yyVAL.union = yyLOCAL - case 1021: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5890 +//line mysql_sql.y:5860 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1022: + case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5894 +//line mysql_sql.y:5864 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1023: + case 1018: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5900 +//line mysql_sql.y:5870 { yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1024: + case 1019: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5904 +//line mysql_sql.y:5874 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1025: + case 1020: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5908 +//line mysql_sql.y:5878 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1026: + case 1021: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5912 +//line mysql_sql.y:5882 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1027: + case 1022: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5916 +//line mysql_sql.y:5886 { yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1028: + case 1023: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5920 +//line mysql_sql.y:5890 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1029: + case 1024: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5924 +//line mysql_sql.y:5894 { yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1030: + case 1025: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5928 +//line mysql_sql.y:5898 { yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion()) } yyVAL.union = yyLOCAL - case 1032: + case 1027: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5934 +//line mysql_sql.y:5904 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1033: + case 1028: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5938 +//line mysql_sql.y:5908 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1034: + case 1029: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5944 +//line mysql_sql.y:5914 { yyLOCAL = yyDollar[1].tupleUnion() } yyVAL.union = yyLOCAL - case 1035: + case 1030: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5948 +//line mysql_sql.y:5918 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1036: + case 1031: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5955 +//line mysql_sql.y:5925 { yyLOCAL = tree.ALL } yyVAL.union = yyLOCAL - case 1037: + case 1032: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5959 +//line mysql_sql.y:5929 { yyLOCAL = tree.ANY } yyVAL.union = yyLOCAL - case 1038: + case 1033: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5963 +//line mysql_sql.y:5933 { yyLOCAL = tree.SOME } yyVAL.union = yyLOCAL - case 1039: + case 1034: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5969 +//line mysql_sql.y:5939 { yyLOCAL = tree.EQUAL } yyVAL.union = yyLOCAL - case 1040: + case 1035: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5973 +//line mysql_sql.y:5943 { yyLOCAL = tree.LESS_THAN } yyVAL.union = yyLOCAL - case 1041: + case 1036: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5977 +//line mysql_sql.y:5947 { yyLOCAL = tree.GREAT_THAN } yyVAL.union = yyLOCAL - case 1042: + case 1037: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5981 +//line mysql_sql.y:5951 { yyLOCAL = tree.LESS_THAN_EQUAL } yyVAL.union = yyLOCAL - case 1043: + case 1038: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5985 +//line mysql_sql.y:5955 { yyLOCAL = tree.GREAT_THAN_EQUAL } yyVAL.union = yyLOCAL - case 1044: + case 1039: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5989 +//line mysql_sql.y:5959 { yyLOCAL = tree.NOT_EQUAL } yyVAL.union = yyLOCAL - case 1045: + case 1040: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5993 +//line mysql_sql.y:5963 { yyLOCAL = tree.NULL_SAFE_EQUAL } yyVAL.union = yyLOCAL - case 1046: + case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5999 +//line mysql_sql.y:5969 { yyLOCAL = tree.NewAttributePrimaryKey() } yyVAL.union = yyLOCAL - case 1047: + case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6003 +//line mysql_sql.y:5973 { yyLOCAL = tree.NewAttributeUniqueKey() } yyVAL.union = yyLOCAL - case 1048: + case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6007 +//line mysql_sql.y:5977 { yyLOCAL = tree.NewAttributeUnique() } yyVAL.union = yyLOCAL - case 1049: + case 1044: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6011 +//line mysql_sql.y:5981 { yyLOCAL = tree.NewAttributeKey() } yyVAL.union = yyLOCAL - case 1050: + case 1045: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6017 +//line mysql_sql.y:5987 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 1051: + case 1046: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6021 +//line mysql_sql.y:5991 { str := fmt.Sprintf("%v", yyDollar[1].item) switch v := yyDollar[1].item.(type) { @@ -13127,43 +13070,43 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1052: + case 1047: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6034 +//line mysql_sql.y:6004 { fval := yyDollar[1].item.(float64) yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) } yyVAL.union = yyLOCAL - case 1053: + case 1048: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6039 +//line mysql_sql.y:6009 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "true", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1054: + case 1049: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6043 +//line mysql_sql.y:6013 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "false", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1055: + case 1050: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6047 +//line mysql_sql.y:6017 { yyLOCAL = tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null) } yyVAL.union = yyLOCAL - case 1056: + case 1051: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6051 +//line mysql_sql.y:6021 { switch v := yyDollar[1].item.(type) { case uint64: @@ -13178,18 +13121,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1057: + case 1052: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6065 +//line mysql_sql.y:6035 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal) } yyVAL.union = yyLOCAL - case 1058: + case 1053: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6069 +//line mysql_sql.y:6039 { switch v := yyDollar[1].item.(type) { case uint64: @@ -13204,45 +13147,45 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1059: + case 1054: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6083 +//line mysql_sql.y:6053 { yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) } yyVAL.union = yyLOCAL - case 1060: + case 1055: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6089 +//line mysql_sql.y:6059 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion() yyLOCAL.InternalType.Zerofill = yyDollar[3].zeroFillOptUnion() } yyVAL.union = yyLOCAL - case 1064: + case 1059: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6100 +//line mysql_sql.y:6070 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion() } yyVAL.union = yyLOCAL - case 1065: + case 1060: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6105 +//line mysql_sql.y:6075 { yyLOCAL = yyDollar[1].columnTypeUnion() } yyVAL.union = yyLOCAL - case 1066: + case 1061: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6111 +//line mysql_sql.y:6081 { locale := "" yyLOCAL = &tree.T{ @@ -13255,10 +13198,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1067: + case 1062: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6123 +//line mysql_sql.y:6093 { locale := "" yyLOCAL = &tree.T{ @@ -13271,10 +13214,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1068: + case 1063: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6135 +//line mysql_sql.y:6105 { locale := "" yyLOCAL = &tree.T{ @@ -13287,10 +13230,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1069: + case 1064: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6147 +//line mysql_sql.y:6117 { locale := "" yyLOCAL = &tree.T{ @@ -13304,10 +13247,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1070: + case 1065: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6160 +//line mysql_sql.y:6130 { locale := "" yyLOCAL = &tree.T{ @@ -13321,10 +13264,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1071: + case 1066: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6173 +//line mysql_sql.y:6143 { locale := "" yyLOCAL = &tree.T{ @@ -13338,10 +13281,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1072: + case 1067: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6186 +//line mysql_sql.y:6156 { locale := "" yyLOCAL = &tree.T{ @@ -13355,10 +13298,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1073: + case 1068: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6199 +//line mysql_sql.y:6169 { locale := "" yyLOCAL = &tree.T{ @@ -13372,10 +13315,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1074: + case 1069: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6212 +//line mysql_sql.y:6182 { locale := "" yyLOCAL = &tree.T{ @@ -13389,10 +13332,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1075: + case 1070: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6225 +//line mysql_sql.y:6195 { locale := "" yyLOCAL = &tree.T{ @@ -13406,10 +13349,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1076: + case 1071: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6238 +//line mysql_sql.y:6208 { locale := "" yyLOCAL = &tree.T{ @@ -13423,10 +13366,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1077: + case 1072: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6251 +//line mysql_sql.y:6221 { locale := "" yyLOCAL = &tree.T{ @@ -13440,10 +13383,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1078: + case 1073: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6264 +//line mysql_sql.y:6234 { locale := "" yyLOCAL = &tree.T{ @@ -13457,10 +13400,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1079: + case 1074: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6277 +//line mysql_sql.y:6247 { locale := "" yyLOCAL = &tree.T{ @@ -13474,10 +13417,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1080: + case 1075: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6292 +//line mysql_sql.y:6262 { locale := "" if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { @@ -13501,10 +13444,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1081: + case 1076: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6315 +//line mysql_sql.y:6285 { locale := "" if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -13541,10 +13484,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1082: + case 1077: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6352 +//line mysql_sql.y:6322 { locale := "" if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -13581,10 +13524,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1083: + case 1078: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6400 +//line mysql_sql.y:6370 { locale := "" yyLOCAL = &tree.T{ @@ -13600,10 +13543,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1084: + case 1079: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6417 +//line mysql_sql.y:6387 { locale := "" yyLOCAL = &tree.T{ @@ -13616,10 +13559,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1085: + case 1080: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6429 +//line mysql_sql.y:6399 { locale := "" yyLOCAL = &tree.T{ @@ -13635,10 +13578,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1086: + case 1081: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6444 +//line mysql_sql.y:6414 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -13659,10 +13602,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1087: + case 1082: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6464 +//line mysql_sql.y:6434 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -13683,10 +13626,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1088: + case 1083: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6484 +//line mysql_sql.y:6454 { locale := "" yyLOCAL = &tree.T{ @@ -13701,10 +13644,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1089: + case 1084: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6500 +//line mysql_sql.y:6470 { locale := "" yyLOCAL = &tree.T{ @@ -13718,10 +13661,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1090: + case 1085: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6513 +//line mysql_sql.y:6483 { locale := "" yyLOCAL = &tree.T{ @@ -13735,10 +13678,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1091: + case 1086: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6526 +//line mysql_sql.y:6496 { locale := "" yyLOCAL = &tree.T{ @@ -13752,10 +13695,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1092: + case 1087: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6539 +//line mysql_sql.y:6509 { locale := "" yyLOCAL = &tree.T{ @@ -13769,10 +13712,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1093: + case 1088: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6552 +//line mysql_sql.y:6522 { locale := "" yyLOCAL = &tree.T{ @@ -13785,10 +13728,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1094: + case 1089: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6564 +//line mysql_sql.y:6534 { locale := "" yyLOCAL = &tree.T{ @@ -13801,10 +13744,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1095: + case 1090: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6576 +//line mysql_sql.y:6546 { locale := "" yyLOCAL = &tree.T{ @@ -13817,10 +13760,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1096: + case 1091: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6588 +//line mysql_sql.y:6558 { locale := "" yyLOCAL = &tree.T{ @@ -13833,10 +13776,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1097: + case 1092: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6600 +//line mysql_sql.y:6570 { locale := "" yyLOCAL = &tree.T{ @@ -13849,10 +13792,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1098: + case 1093: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6612 +//line mysql_sql.y:6582 { locale := "" yyLOCAL = &tree.T{ @@ -13865,10 +13808,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1099: + case 1094: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6624 +//line mysql_sql.y:6594 { locale := "" yyLOCAL = &tree.T{ @@ -13881,10 +13824,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1100: + case 1095: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6636 +//line mysql_sql.y:6606 { locale := "" yyLOCAL = &tree.T{ @@ -13897,10 +13840,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1101: + case 1096: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6648 +//line mysql_sql.y:6618 { locale := "" yyLOCAL = &tree.T{ @@ -13913,10 +13856,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1102: + case 1097: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6660 +//line mysql_sql.y:6630 { locale := "" yyLOCAL = &tree.T{ @@ -13930,10 +13873,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1103: + case 1098: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6673 +//line mysql_sql.y:6643 { locale := "" yyLOCAL = &tree.T{ @@ -13947,10 +13890,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1104: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6688 +//line mysql_sql.y:6658 { locale := "" yyLOCAL = &tree.T{ @@ -13963,75 +13906,75 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1105: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6711 +//line mysql_sql.y:6681 { yyLOCAL = make([]string, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1106: + case 1101: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6716 +//line mysql_sql.y:6686 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1107: + case 1102: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6722 +//line mysql_sql.y:6692 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1109: + case 1104: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6729 +//line mysql_sql.y:6699 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1110: + case 1105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6733 +//line mysql_sql.y:6703 { yyLOCAL = int32(yyDollar[2].item.(int64)) } yyVAL.union = yyLOCAL - case 1111: + case 1106: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6738 +//line mysql_sql.y:6708 { yyLOCAL = int32(-1) } yyVAL.union = yyLOCAL - case 1112: + case 1107: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6742 +//line mysql_sql.y:6712 { yyLOCAL = int32(yyDollar[2].item.(int64)) } yyVAL.union = yyLOCAL - case 1113: + case 1108: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6748 +//line mysql_sql.y:6718 { yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64))) } yyVAL.union = yyLOCAL - case 1114: + case 1109: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6754 +//line mysql_sql.y:6724 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.NotDefineDisplayWidth, @@ -14039,10 +13982,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1115: + case 1110: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6761 +//line mysql_sql.y:6731 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14050,10 +13993,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1116: + case 1111: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6768 +//line mysql_sql.y:6738 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14061,10 +14004,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1117: + case 1112: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6777 +//line mysql_sql.y:6747 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: 34, // this is the default precision for decimal @@ -14072,10 +14015,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1118: + case 1113: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6784 +//line mysql_sql.y:6754 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14083,10 +14026,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1119: + case 1114: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6791 +//line mysql_sql.y:6761 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14094,52 +14037,52 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1120: + case 1115: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6800 +//line mysql_sql.y:6770 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1121: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6804 +//line mysql_sql.y:6774 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1122: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6808 +//line mysql_sql.y:6778 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1123: + case 1118: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6814 +//line mysql_sql.y:6784 { } - case 1124: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6816 +//line mysql_sql.y:6786 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1128: + case 1123: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6826 +//line mysql_sql.y:6796 { yyVAL.str = "" } - case 1129: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6830 +//line mysql_sql.y:6800 { yyVAL.str = string(yyDollar[1].str) } diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.y b/pkg/sql/parsers/dialect/mysql/mysql_sql.y index 36cf9d7ec..06f3c3699 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.y +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.y @@ -243,7 +243,7 @@ import ( %token <str> DYNAMIC COMPRESSED REDUNDANT COMPACT FIXED COLUMN_FORMAT AUTO_RANDOM %token <str> RESTRICT CASCADE ACTION PARTIAL SIMPLE CHECK ENFORCED %token <str> RANGE LIST ALGORITHM LINEAR PARTITIONS SUBPARTITION SUBPARTITIONS -%token <str> TYPE ANY SOME EXTERNAL LOCALFILE URL S3OPTION +%token <str> TYPE ANY SOME EXTERNAL LOCALFILE URL %token <str> PREPARE DEALLOCATE // MO table option @@ -394,7 +394,7 @@ import ( %type <funcExpr> function_call_json %type <unresolvedName> column_name column_name_unresolved -%type <strs> enum_values force_quote_opt force_quote_list s3param s3params +%type <strs> enum_values force_quote_opt force_quote_list %type <str> sql_id charset_keyword db_name %type <str> not_keyword func_not_keyword %type <str> reserved_keyword non_reserved_keyword @@ -3935,7 +3935,6 @@ load_param_opt: { $$ = &tree.ExternParam{ Filepath: $2, - ScanType: tree.LOCAL, CompressType: tree.AUTO, } } @@ -3947,7 +3946,6 @@ load_param_opt: } $$ = &tree.ExternParam{ Filepath: $5, - ScanType: tree.LOCAL, CompressType: tree.AUTO, } } @@ -3959,17 +3957,9 @@ load_param_opt: } $$ = &tree.ExternParam{ Filepath: $5, - ScanType: tree.LOCAL, CompressType: $9, } } -| URL S3OPTION '{' s3params '}' - { - $$ = &tree.ExternParam{ - ScanType: tree.S3, - S3option: $4, - } - } tail_param_opt: load_fields load_lines ignore_lines columns_or_variable_list_opt load_set_spec_opt @@ -3983,26 +3973,6 @@ tail_param_opt: } } -s3params: - s3param - { - $$ = $1 - } -| s3params ',' s3param - { - $$ = append($1, $3...) - } - -s3param: - { - $$ = []string{} - } -| STRING '=' STRING - { - $$ = append($$, $1) - $$ = append($$, $3) - } - temporary_opt: { $$ = false @@ -7171,7 +7141,6 @@ non_reserved_keyword: | TABLES | EXTERNAL | URL -| S3OPTION func_not_keyword: DATE_ADD diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go index 7cb640b0e..f3a19f0db 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go @@ -467,9 +467,6 @@ var ( }, { input: "create external table t (a int) infile 'data.txt' FIELDS TERMINATED BY '' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY ''", output: "create external table t (a int) infile 'data.txt' fields terminated by \t optionally enclosed by \u0000 lines", - }, { - input: "create external table t (a int) URL s3option{'endpoint'='s3.us-west-2.amazonaws.com', 'access_key_id'='XXX', 'secret_access_key'='XXX', 'bucket'='test', 'filepath'='*.txt', 'region'='us-west-2'}", - output: "create external table t (a int) url s3option {'endpoint'='endpoint', 'access_key_id'='XXX', 'secret_access_key'='XXX', 'bucket'='test', 'filepath'='*.txt', 'region'='us-west-2'}", }, { input: "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_general_ci'", output: "set names = utf8mb4 utf8mb4_general_ci", @@ -540,9 +537,6 @@ var ( }, { input: "load data infile {'filepath'='data.txt', 'compression'='LZ4'} into table db.a", output: "load data infile {'filepath':'data.txt', 'compression':'lz4'} into table db.a", - }, { - input: "LOAD DATA URL s3option{'endpoint'='s3.us-west-2.amazonaws.com', 'access_key_id'='XXX', 'secret_access_key'='XXX', 'bucket'='test', 'filepath'='*.txt', 'region'='us-west-2'} into table db.a", - output: "load data url s3option {'endpoint'='endpoint', 'access_key_id'='XXX', 'secret_access_key'='XXX', 'bucket'='test', 'filepath'='*.txt', 'region'='us-west-2'} into table db.a", }, { input: "show tables from test01 where tables_in_test01 like '%t2%'", output: "show tables from test01 where tables_in_test01 like %t2%", diff --git a/pkg/sql/parsers/tree/create.go b/pkg/sql/parsers/tree/create.go index 0706dc63c..1cdaec099 100644 --- a/pkg/sql/parsers/tree/create.go +++ b/pkg/sql/parsers/tree/create.go @@ -171,17 +171,12 @@ func (node *CreateTable) Format(ctx *FmtCtx) { } if node.Param != nil { - if node.Param.ScanType == LOCAL && (node.Param.CompressType == AUTO || node.Param.CompressType == NOCOMPRESS) { + if node.Param.CompressType == AUTO || node.Param.CompressType == NOCOMPRESS { ctx.WriteString(" infile ") ctx.WriteString("'" + node.Param.Filepath + "'") - } else if node.Param.ScanType == LOCAL { + } else { ctx.WriteString(" infile ") ctx.WriteString("{'filepath':'" + node.Param.Filepath + "', 'compression':'" + strings.ToLower(node.Param.CompressType) + "'}") - } else { - ctx.WriteString(" url s3option ") - ctx.WriteString("{'endpoint'='" + node.Param.S3option[0] + "', 'access_key_id'='" + node.Param.S3option[3] + - "', 'secret_access_key'='" + node.Param.S3option[5] + "', 'bucket'='" + node.Param.S3option[7] + "', 'filepath'='" + node.Param.S3option[9] + "', 'region'='" + node.Param.S3option[11] + "'}") - } if node.Param.Tail.Fields != nil { ctx.WriteByte(' ') diff --git a/pkg/sql/parsers/tree/update.go b/pkg/sql/parsers/tree/update.go index d00110894..6138a0fb6 100644 --- a/pkg/sql/parsers/tree/update.go +++ b/pkg/sql/parsers/tree/update.go @@ -101,12 +101,6 @@ func NewUpdateExpr(t bool, n []*UnresolvedName, e Expr) *UpdateExpr { } } -const ( - LOCAL = iota - S3 - MinIO -) - const ( AUTO = "auto" NOCOMPRESS = "none" @@ -119,20 +113,10 @@ const ( ) type ExternParam struct { - ScanType int Filepath string CompressType string Tail *TailParameter - S3Param *S3Parameter - S3option []string -} - -type S3Parameter struct { - //s3 parameter - Config fileservice.S3Config - Region string - APIKey string - APISecret string + FileService fileservice.FileService } type TailParameter struct { @@ -164,17 +148,12 @@ func (node *Load) Format(ctx *FmtCtx) { ctx.WriteString(" local") } - if node.Param.ScanType == LOCAL && (node.Param.CompressType == AUTO || node.Param.CompressType == NOCOMPRESS) { + if node.Param.CompressType == AUTO || node.Param.CompressType == NOCOMPRESS { ctx.WriteString(" infile ") ctx.WriteString(node.Param.Filepath) - } else if node.Param.ScanType == LOCAL { + } else { ctx.WriteString(" infile ") ctx.WriteString("{'filepath':'" + node.Param.Filepath + "', 'compression':'" + strings.ToLower(node.Param.CompressType) + "'}") - } else { - ctx.WriteString(" url s3option ") - ctx.WriteString("{'endpoint'='" + node.Param.S3option[0] + "', 'access_key_id'='" + node.Param.S3option[3] + - "', 'secret_access_key'='" + node.Param.S3option[5] + "', 'bucket'='" + node.Param.S3option[7] + "', 'filepath'='" + - node.Param.S3option[9] + "', 'region'='" + node.Param.S3option[11] + "'}") } switch node.DuplicateHandling.(type) { diff --git a/pkg/sql/plan/build_ddl.go b/pkg/sql/plan/build_ddl.go index ed505ddfa..15b1bab19 100644 --- a/pkg/sql/plan/build_ddl.go +++ b/pkg/sql/plan/build_ddl.go @@ -17,7 +17,6 @@ package plan import ( "encoding/json" "fmt" - "strings" "github.com/matrixorigin/matrixone/pkg/container/types" "github.com/matrixorigin/matrixone/pkg/errno" @@ -184,13 +183,6 @@ func buildCreateTable(stmt *tree.CreateTable, ctx CompilerContext) (*Plan, error } if stmt.Param != nil { - for i := 0; i < len(stmt.Param.S3option); i += 2 { - switch strings.ToLower(stmt.Param.S3option[i]) { - case "endpoint", "region", "access_key_id", "secret_access_key", "bucket", "filepath", "compression": - default: - return nil, fmt.Errorf("the keyword '%s' is not support", strings.ToLower(stmt.Param.S3option[i])) - } - } json_byte, err := json.Marshal(stmt.Param) if err != nil { return nil, err diff --git a/pkg/testutil/util_make.go b/pkg/testutil/util_make.go index 9f003db7e..3534b1cef 100644 --- a/pkg/testutil/util_make.go +++ b/pkg/testutil/util_make.go @@ -337,6 +337,7 @@ type vecType interface { func NewProc() *process.Process { proc := process.New(mheap.New(guest.New(1<<20, host.New(1<<20)))) proc.SessionInfo.TimeZone = time.Local + proc.FileService = NewFS() return proc } diff --git a/pkg/testutil/util_new.go b/pkg/testutil/util_new.go index 1a71314a6..ec0166f3e 100644 --- a/pkg/testutil/util_new.go +++ b/pkg/testutil/util_new.go @@ -24,6 +24,7 @@ import ( "github.com/matrixorigin/matrixone/pkg/container/nulls" "github.com/matrixorigin/matrixone/pkg/container/types" "github.com/matrixorigin/matrixone/pkg/container/vector" + "github.com/matrixorigin/matrixone/pkg/fileservice" "github.com/matrixorigin/matrixone/pkg/vm/mheap" "github.com/matrixorigin/matrixone/pkg/vm/mmu/guest" "github.com/matrixorigin/matrixone/pkg/vm/mmu/host" @@ -44,9 +45,30 @@ func NewProcess() *process.Process { proc.Lim.BatchRows = 1 << 20 proc.Lim.BatchSize = 1 << 20 proc.Lim.ReaderSize = 1 << 20 + proc.FileService = NewFS() return proc } +func NewFS() *fileservice.FileServices { + local, err := fileservice.NewMemoryFS("local") + if err != nil { + panic(err) + } + s3, err := fileservice.NewMemoryFS("s3") + if err != nil { + panic(err) + } + fs, err := fileservice.NewFileServices( + "local", + local, + s3, + ) + if err != nil { + panic(err) + } + return fs +} + func NewBatch(ts []types.Type, random bool, n int, m *mheap.Mheap) *batch.Batch { bat := batch.NewWithSize(len(ts)) bat.InitZsOne(n) diff --git a/pkg/vm/process/process.go b/pkg/vm/process/process.go index 65f46c382..26cffd9fa 100644 --- a/pkg/vm/process/process.go +++ b/pkg/vm/process/process.go @@ -49,6 +49,7 @@ func NewFromProc(p *Process, ctx context.Context, regNumber int) *Process { proc.TxnOperator = p.TxnOperator proc.AnalInfos = p.AnalInfos proc.SessionInfo = p.SessionInfo + proc.FileService = p.FileService // reg and cancel proc.Ctx = newctx diff --git a/pkg/vm/process/types.go b/pkg/vm/process/types.go index 9bb6c9e63..373da664d 100644 --- a/pkg/vm/process/types.go +++ b/pkg/vm/process/types.go @@ -19,6 +19,7 @@ import ( "time" "github.com/matrixorigin/matrixone/pkg/container/batch" + "github.com/matrixorigin/matrixone/pkg/fileservice" "github.com/matrixorigin/matrixone/pkg/txn/client" "github.com/matrixorigin/matrixone/pkg/vm/mheap" ) @@ -115,6 +116,8 @@ type Process struct { Ctx context.Context Cancel context.CancelFunc + + FileService fileservice.FileService } type analyze struct { -- GitLab