From 439ea6bfb17795f7f6a001f6f160a60f9c2ab279 Mon Sep 17 00:00:00 2001 From: Manan Gupta Date: Thu, 7 Apr 2022 16:36:49 +0530 Subject: [PATCH 1/2] feat: add precedence rules to the grammar to reduce the number of conflicts Signed-off-by: Manan Gupta --- go/vt/sqlparser/sql.go | 9641 ++++++++++++++++++++-------------------- go/vt/sqlparser/sql.y | 53 +- 2 files changed, 4864 insertions(+), 4830 deletions(-) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 4b97774b06b..fe0dd99223d 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -45,569 +45,572 @@ func bindVariable(yylex yyLexer, bvar string) { yylex.(*Tokenizer).BindVars[bvar] = struct{}{} } -const LEX_ERROR = 57346 -const UNION = 57347 -const SELECT = 57348 -const STREAM = 57349 -const VSTREAM = 57350 -const INSERT = 57351 -const UPDATE = 57352 -const DELETE = 57353 -const FROM = 57354 -const WHERE = 57355 -const GROUP = 57356 -const HAVING = 57357 -const ORDER = 57358 -const BY = 57359 -const LIMIT = 57360 -const OFFSET = 57361 -const FOR = 57362 -const ALL = 57363 -const DISTINCT = 57364 -const AS = 57365 -const EXISTS = 57366 -const ASC = 57367 -const DESC = 57368 -const INTO = 57369 -const DUPLICATE = 57370 -const DEFAULT = 57371 -const SET = 57372 -const LOCK = 57373 -const UNLOCK = 57374 -const KEYS = 57375 -const DO = 57376 -const CALL = 57377 -const DISTINCTROW = 57378 -const PARSER = 57379 -const GENERATED = 57380 -const ALWAYS = 57381 -const OUTFILE = 57382 -const S3 = 57383 -const DATA = 57384 -const LOAD = 57385 -const LINES = 57386 -const TERMINATED = 57387 -const ESCAPED = 57388 -const ENCLOSED = 57389 -const DUMPFILE = 57390 -const CSV = 57391 -const HEADER = 57392 -const MANIFEST = 57393 -const OVERWRITE = 57394 -const STARTING = 57395 -const OPTIONALLY = 57396 -const VALUES = 57397 -const LAST_INSERT_ID = 57398 -const NEXT = 57399 -const VALUE = 57400 -const SHARE = 57401 -const MODE = 57402 -const SQL_NO_CACHE = 57403 -const SQL_CACHE = 57404 -const SQL_CALC_FOUND_ROWS = 57405 -const JOIN = 57406 -const STRAIGHT_JOIN = 57407 -const LEFT = 57408 -const RIGHT = 57409 -const INNER = 57410 -const OUTER = 57411 -const CROSS = 57412 -const NATURAL = 57413 -const USE = 57414 -const FORCE = 57415 -const ON = 57416 -const USING = 57417 -const INPLACE = 57418 -const COPY = 57419 -const ALGORITHM = 57420 -const NONE = 57421 -const SHARED = 57422 -const EXCLUSIVE = 57423 -const SUBQUERY_AS_EXPR = 57424 -const ID = 57425 -const AT_ID = 57426 -const AT_AT_ID = 57427 -const HEX = 57428 -const STRING = 57429 -const NCHAR_STRING = 57430 -const INTEGRAL = 57431 -const FLOAT = 57432 -const DECIMAL = 57433 -const HEXNUM = 57434 -const VALUE_ARG = 57435 -const LIST_ARG = 57436 -const COMMENT = 57437 -const COMMENT_KEYWORD = 57438 -const BIT_LITERAL = 57439 -const COMPRESSION = 57440 -const JSON_PRETTY = 57441 -const JSON_STORAGE_SIZE = 57442 -const JSON_STORAGE_FREE = 57443 -const JSON_CONTAINS = 57444 -const JSON_CONTAINS_PATH = 57445 -const JSON_EXTRACT = 57446 -const JSON_KEYS = 57447 -const JSON_OVERLAPS = 57448 -const JSON_SEARCH = 57449 -const JSON_VALUE = 57450 -const EXTRACT = 57451 -const NULL = 57452 -const TRUE = 57453 -const FALSE = 57454 -const OFF = 57455 -const DISCARD = 57456 -const IMPORT = 57457 -const ENABLE = 57458 -const DISABLE = 57459 -const TABLESPACE = 57460 -const VIRTUAL = 57461 -const STORED = 57462 -const BOTH = 57463 -const LEADING = 57464 -const TRAILING = 57465 -const EMPTY_FROM_CLAUSE = 57466 -const LOWER_THAN_CHARSET = 57467 -const CHARSET = 57468 -const MEMBER = 57469 -const UNIQUE = 57470 -const KEY = 57471 -const EXPRESSION_PREC_SETTER = 57472 -const OR = 57473 -const XOR = 57474 -const AND = 57475 -const NOT = 57476 -const BETWEEN = 57477 -const CASE = 57478 -const WHEN = 57479 -const THEN = 57480 -const ELSE = 57481 -const END = 57482 -const LE = 57483 -const GE = 57484 -const NE = 57485 -const NULL_SAFE_EQUAL = 57486 -const IS = 57487 -const LIKE = 57488 -const REGEXP = 57489 -const IN = 57490 -const SHIFT_LEFT = 57491 -const SHIFT_RIGHT = 57492 -const DIV = 57493 -const MOD = 57494 -const UNARY = 57495 -const COLLATE = 57496 -const BINARY = 57497 -const UNDERSCORE_ARMSCII8 = 57498 -const UNDERSCORE_ASCII = 57499 -const UNDERSCORE_BIG5 = 57500 -const UNDERSCORE_BINARY = 57501 -const UNDERSCORE_CP1250 = 57502 -const UNDERSCORE_CP1251 = 57503 -const UNDERSCORE_CP1256 = 57504 -const UNDERSCORE_CP1257 = 57505 -const UNDERSCORE_CP850 = 57506 -const UNDERSCORE_CP852 = 57507 -const UNDERSCORE_CP866 = 57508 -const UNDERSCORE_CP932 = 57509 -const UNDERSCORE_DEC8 = 57510 -const UNDERSCORE_EUCJPMS = 57511 -const UNDERSCORE_EUCKR = 57512 -const UNDERSCORE_GB18030 = 57513 -const UNDERSCORE_GB2312 = 57514 -const UNDERSCORE_GBK = 57515 -const UNDERSCORE_GEOSTD8 = 57516 -const UNDERSCORE_GREEK = 57517 -const UNDERSCORE_HEBREW = 57518 -const UNDERSCORE_HP8 = 57519 -const UNDERSCORE_KEYBCS2 = 57520 -const UNDERSCORE_KOI8R = 57521 -const UNDERSCORE_KOI8U = 57522 -const UNDERSCORE_LATIN1 = 57523 -const UNDERSCORE_LATIN2 = 57524 -const UNDERSCORE_LATIN5 = 57525 -const UNDERSCORE_LATIN7 = 57526 -const UNDERSCORE_MACCE = 57527 -const UNDERSCORE_MACROMAN = 57528 -const UNDERSCORE_SJIS = 57529 -const UNDERSCORE_SWE7 = 57530 -const UNDERSCORE_TIS620 = 57531 -const UNDERSCORE_UCS2 = 57532 -const UNDERSCORE_UJIS = 57533 -const UNDERSCORE_UTF16 = 57534 -const UNDERSCORE_UTF16LE = 57535 -const UNDERSCORE_UTF32 = 57536 -const UNDERSCORE_UTF8 = 57537 -const UNDERSCORE_UTF8MB4 = 57538 -const INTERVAL = 57539 -const JSON_EXTRACT_OP = 57540 -const JSON_UNQUOTE_EXTRACT_OP = 57541 -const CREATE = 57542 -const ALTER = 57543 -const DROP = 57544 -const RENAME = 57545 -const ANALYZE = 57546 -const ADD = 57547 -const FLUSH = 57548 -const CHANGE = 57549 -const MODIFY = 57550 -const DEALLOCATE = 57551 -const REVERT = 57552 -const SCHEMA = 57553 -const TABLE = 57554 -const INDEX = 57555 -const VIEW = 57556 -const TO = 57557 -const IGNORE = 57558 -const IF = 57559 -const PRIMARY = 57560 -const COLUMN = 57561 -const SPATIAL = 57562 -const FULLTEXT = 57563 -const KEY_BLOCK_SIZE = 57564 -const CHECK = 57565 -const INDEXES = 57566 -const ACTION = 57567 -const CASCADE = 57568 -const CONSTRAINT = 57569 -const FOREIGN = 57570 -const NO = 57571 -const REFERENCES = 57572 -const RESTRICT = 57573 -const SHOW = 57574 -const DESCRIBE = 57575 -const EXPLAIN = 57576 -const DATE = 57577 -const ESCAPE = 57578 -const REPAIR = 57579 -const OPTIMIZE = 57580 -const TRUNCATE = 57581 -const COALESCE = 57582 -const EXCHANGE = 57583 -const REBUILD = 57584 -const PARTITIONING = 57585 -const REMOVE = 57586 -const PREPARE = 57587 -const EXECUTE = 57588 -const MAXVALUE = 57589 -const PARTITION = 57590 -const REORGANIZE = 57591 -const LESS = 57592 -const THAN = 57593 -const PROCEDURE = 57594 -const TRIGGER = 57595 -const VINDEX = 57596 -const VINDEXES = 57597 -const DIRECTORY = 57598 -const NAME = 57599 -const UPGRADE = 57600 -const STATUS = 57601 -const VARIABLES = 57602 -const WARNINGS = 57603 -const CASCADED = 57604 -const DEFINER = 57605 -const OPTION = 57606 -const SQL = 57607 -const UNDEFINED = 57608 -const SEQUENCE = 57609 -const MERGE = 57610 -const TEMPORARY = 57611 -const TEMPTABLE = 57612 -const INVOKER = 57613 -const SECURITY = 57614 -const FIRST = 57615 -const AFTER = 57616 -const LAST = 57617 -const VITESS_MIGRATION = 57618 -const CANCEL = 57619 -const RETRY = 57620 -const COMPLETE = 57621 -const CLEANUP = 57622 -const BEGIN = 57623 -const START = 57624 -const TRANSACTION = 57625 -const COMMIT = 57626 -const ROLLBACK = 57627 -const SAVEPOINT = 57628 -const RELEASE = 57629 -const WORK = 57630 -const BIT = 57631 -const TINYINT = 57632 -const SMALLINT = 57633 -const MEDIUMINT = 57634 -const INT = 57635 -const INTEGER = 57636 -const BIGINT = 57637 -const INTNUM = 57638 -const REAL = 57639 -const DOUBLE = 57640 -const FLOAT_TYPE = 57641 -const DECIMAL_TYPE = 57642 -const NUMERIC = 57643 -const TIME = 57644 -const TIMESTAMP = 57645 -const DATETIME = 57646 -const YEAR = 57647 -const CHAR = 57648 -const VARCHAR = 57649 -const BOOL = 57650 -const CHARACTER = 57651 -const VARBINARY = 57652 -const NCHAR = 57653 -const TEXT = 57654 -const TINYTEXT = 57655 -const MEDIUMTEXT = 57656 -const LONGTEXT = 57657 -const BLOB = 57658 -const TINYBLOB = 57659 -const MEDIUMBLOB = 57660 -const LONGBLOB = 57661 -const JSON = 57662 -const JSON_SCHEMA_VALID = 57663 -const JSON_SCHEMA_VALIDATION_REPORT = 57664 -const ENUM = 57665 -const GEOMETRY = 57666 -const POINT = 57667 -const LINESTRING = 57668 -const POLYGON = 57669 -const GEOMETRYCOLLECTION = 57670 -const MULTIPOINT = 57671 -const MULTILINESTRING = 57672 -const MULTIPOLYGON = 57673 -const ASCII = 57674 -const UNICODE = 57675 -const NULLX = 57676 -const AUTO_INCREMENT = 57677 -const APPROXNUM = 57678 -const SIGNED = 57679 -const UNSIGNED = 57680 -const ZEROFILL = 57681 -const CODE = 57682 -const COLLATION = 57683 -const COLUMNS = 57684 -const DATABASES = 57685 -const ENGINES = 57686 -const EVENT = 57687 -const EXTENDED = 57688 -const FIELDS = 57689 -const FULL = 57690 -const FUNCTION = 57691 -const GTID_EXECUTED = 57692 -const KEYSPACES = 57693 -const OPEN = 57694 -const PLUGINS = 57695 -const PRIVILEGES = 57696 -const PROCESSLIST = 57697 -const SCHEMAS = 57698 -const TABLES = 57699 -const TRIGGERS = 57700 -const USER = 57701 -const VGTID_EXECUTED = 57702 -const VITESS_KEYSPACES = 57703 -const VITESS_METADATA = 57704 -const VITESS_MIGRATIONS = 57705 -const VITESS_REPLICATION_STATUS = 57706 -const VITESS_SHARDS = 57707 -const VITESS_TABLETS = 57708 -const VSCHEMA = 57709 -const NAMES = 57710 -const GLOBAL = 57711 -const SESSION = 57712 -const ISOLATION = 57713 -const LEVEL = 57714 -const READ = 57715 -const WRITE = 57716 -const ONLY = 57717 -const REPEATABLE = 57718 -const COMMITTED = 57719 -const UNCOMMITTED = 57720 -const SERIALIZABLE = 57721 -const CURRENT_TIMESTAMP = 57722 -const DATABASE = 57723 -const CURRENT_DATE = 57724 -const CURRENT_TIME = 57725 -const LOCALTIME = 57726 -const LOCALTIMESTAMP = 57727 -const CURRENT_USER = 57728 -const UTC_DATE = 57729 -const UTC_TIME = 57730 -const UTC_TIMESTAMP = 57731 -const DAY = 57732 -const DAY_HOUR = 57733 -const DAY_MICROSECOND = 57734 -const DAY_MINUTE = 57735 -const DAY_SECOND = 57736 -const HOUR = 57737 -const HOUR_MICROSECOND = 57738 -const HOUR_MINUTE = 57739 -const HOUR_SECOND = 57740 -const MICROSECOND = 57741 -const MINUTE = 57742 -const MINUTE_MICROSECOND = 57743 -const MINUTE_SECOND = 57744 -const MONTH = 57745 -const QUARTER = 57746 -const SECOND = 57747 -const SECOND_MICROSECOND = 57748 -const YEAR_MONTH = 57749 -const WEEK = 57750 -const REPLACE = 57751 -const CONVERT = 57752 -const CAST = 57753 -const SUBSTR = 57754 -const SUBSTRING = 57755 -const GROUP_CONCAT = 57756 -const SEPARATOR = 57757 -const TIMESTAMPADD = 57758 -const TIMESTAMPDIFF = 57759 -const WEIGHT_STRING = 57760 -const LTRIM = 57761 -const RTRIM = 57762 -const TRIM = 57763 -const JSON_ARRAY = 57764 -const JSON_OBJECT = 57765 -const JSON_QUOTE = 57766 -const MATCH = 57767 -const AGAINST = 57768 -const BOOLEAN = 57769 -const LANGUAGE = 57770 -const WITH = 57771 -const QUERY = 57772 -const EXPANSION = 57773 -const WITHOUT = 57774 -const VALIDATION = 57775 -const UNUSED = 57776 -const ARRAY = 57777 -const CUME_DIST = 57778 -const DESCRIPTION = 57779 -const DENSE_RANK = 57780 -const EMPTY = 57781 -const EXCEPT = 57782 -const FIRST_VALUE = 57783 -const GROUPING = 57784 -const GROUPS = 57785 -const JSON_TABLE = 57786 -const LAG = 57787 -const LAST_VALUE = 57788 -const LATERAL = 57789 -const LEAD = 57790 -const NTH_VALUE = 57791 -const NTILE = 57792 -const OF = 57793 -const OVER = 57794 -const PERCENT_RANK = 57795 -const RANK = 57796 -const RECURSIVE = 57797 -const ROW_NUMBER = 57798 -const SYSTEM = 57799 -const WINDOW = 57800 -const ACTIVE = 57801 -const ADMIN = 57802 -const BUCKETS = 57803 -const CLONE = 57804 -const COMPONENT = 57805 -const DEFINITION = 57806 -const ENFORCED = 57807 -const EXCLUDE = 57808 -const FOLLOWING = 57809 -const GEOMCOLLECTION = 57810 -const GET_MASTER_PUBLIC_KEY = 57811 -const HISTOGRAM = 57812 -const HISTORY = 57813 -const INACTIVE = 57814 -const INVISIBLE = 57815 -const LOCKED = 57816 -const MASTER_COMPRESSION_ALGORITHMS = 57817 -const MASTER_PUBLIC_KEY_PATH = 57818 -const MASTER_TLS_CIPHERSUITES = 57819 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57820 -const NESTED = 57821 -const NETWORK_NAMESPACE = 57822 -const NOWAIT = 57823 -const NULLS = 57824 -const OJ = 57825 -const OLD = 57826 -const OPTIONAL = 57827 -const ORDINALITY = 57828 -const ORGANIZATION = 57829 -const OTHERS = 57830 -const PATH = 57831 -const PERSIST = 57832 -const PERSIST_ONLY = 57833 -const PRECEDING = 57834 -const PRIVILEGE_CHECKS_USER = 57835 -const PROCESS = 57836 -const RANDOM = 57837 -const REFERENCE = 57838 -const REQUIRE_ROW_FORMAT = 57839 -const RESOURCE = 57840 -const RESPECT = 57841 -const RESTART = 57842 -const RETAIN = 57843 -const REUSE = 57844 -const ROLE = 57845 -const SECONDARY = 57846 -const SECONDARY_ENGINE = 57847 -const SECONDARY_LOAD = 57848 -const SECONDARY_UNLOAD = 57849 -const SKIP = 57850 -const SRID = 57851 -const THREAD_PRIORITY = 57852 -const TIES = 57853 -const UNBOUNDED = 57854 -const VCPU = 57855 -const VISIBLE = 57856 -const FORMAT = 57857 -const TREE = 57858 -const VITESS = 57859 -const TRADITIONAL = 57860 -const LOCAL = 57861 -const LOW_PRIORITY = 57862 -const NO_WRITE_TO_BINLOG = 57863 -const LOGS = 57864 -const ERROR = 57865 -const GENERAL = 57866 -const HOSTS = 57867 -const OPTIMIZER_COSTS = 57868 -const USER_RESOURCES = 57869 -const SLOW = 57870 -const CHANNEL = 57871 -const RELAY = 57872 -const EXPORT = 57873 -const AVG_ROW_LENGTH = 57874 -const CONNECTION = 57875 -const CHECKSUM = 57876 -const DELAY_KEY_WRITE = 57877 -const ENCRYPTION = 57878 -const ENGINE = 57879 -const INSERT_METHOD = 57880 -const MAX_ROWS = 57881 -const MIN_ROWS = 57882 -const PACK_KEYS = 57883 -const PASSWORD = 57884 -const FIXED = 57885 -const DYNAMIC = 57886 -const COMPRESSED = 57887 -const REDUNDANT = 57888 -const COMPACT = 57889 -const ROW_FORMAT = 57890 -const STATS_AUTO_RECALC = 57891 -const STATS_PERSISTENT = 57892 -const STATS_SAMPLE_PAGES = 57893 -const STORAGE = 57894 -const MEMORY = 57895 -const DISK = 57896 -const PARTITIONS = 57897 -const LINEAR = 57898 -const RANGE = 57899 -const LIST = 57900 -const SUBPARTITION = 57901 -const SUBPARTITIONS = 57902 -const HASH = 57903 +const MEMBER = 57346 +const FUNCTION_CALL_NON_KEYWORD = 57347 +const LEX_ERROR = 57348 +const UNION = 57349 +const SELECT = 57350 +const STREAM = 57351 +const VSTREAM = 57352 +const INSERT = 57353 +const UPDATE = 57354 +const DELETE = 57355 +const FROM = 57356 +const WHERE = 57357 +const GROUP = 57358 +const HAVING = 57359 +const ORDER = 57360 +const BY = 57361 +const LIMIT = 57362 +const OFFSET = 57363 +const FOR = 57364 +const ALL = 57365 +const DISTINCT = 57366 +const AS = 57367 +const EXISTS = 57368 +const ASC = 57369 +const DESC = 57370 +const INTO = 57371 +const DUPLICATE = 57372 +const DEFAULT = 57373 +const SET = 57374 +const LOCK = 57375 +const UNLOCK = 57376 +const KEYS = 57377 +const DO = 57378 +const CALL = 57379 +const DISTINCTROW = 57380 +const PARSER = 57381 +const GENERATED = 57382 +const ALWAYS = 57383 +const OUTFILE = 57384 +const S3 = 57385 +const DATA = 57386 +const LOAD = 57387 +const LINES = 57388 +const TERMINATED = 57389 +const ESCAPED = 57390 +const ENCLOSED = 57391 +const DUMPFILE = 57392 +const CSV = 57393 +const HEADER = 57394 +const MANIFEST = 57395 +const OVERWRITE = 57396 +const STARTING = 57397 +const OPTIONALLY = 57398 +const VALUES = 57399 +const LAST_INSERT_ID = 57400 +const NEXT = 57401 +const VALUE = 57402 +const SHARE = 57403 +const MODE = 57404 +const SQL_NO_CACHE = 57405 +const SQL_CACHE = 57406 +const SQL_CALC_FOUND_ROWS = 57407 +const JOIN = 57408 +const STRAIGHT_JOIN = 57409 +const LEFT = 57410 +const RIGHT = 57411 +const INNER = 57412 +const OUTER = 57413 +const CROSS = 57414 +const NATURAL = 57415 +const USE = 57416 +const FORCE = 57417 +const ON = 57418 +const USING = 57419 +const INPLACE = 57420 +const COPY = 57421 +const ALGORITHM = 57422 +const NONE = 57423 +const SHARED = 57424 +const EXCLUSIVE = 57425 +const SUBQUERY_AS_EXPR = 57426 +const ID = 57427 +const AT_ID = 57428 +const AT_AT_ID = 57429 +const HEX = 57430 +const STRING = 57431 +const NCHAR_STRING = 57432 +const INTEGRAL = 57433 +const FLOAT = 57434 +const DECIMAL = 57435 +const HEXNUM = 57436 +const VALUE_ARG = 57437 +const LIST_ARG = 57438 +const COMMENT = 57439 +const COMMENT_KEYWORD = 57440 +const BIT_LITERAL = 57441 +const COMPRESSION = 57442 +const JSON_PRETTY = 57443 +const JSON_STORAGE_SIZE = 57444 +const JSON_STORAGE_FREE = 57445 +const JSON_CONTAINS = 57446 +const JSON_CONTAINS_PATH = 57447 +const JSON_EXTRACT = 57448 +const JSON_KEYS = 57449 +const JSON_OVERLAPS = 57450 +const JSON_SEARCH = 57451 +const JSON_VALUE = 57452 +const EXTRACT = 57453 +const NULL = 57454 +const TRUE = 57455 +const FALSE = 57456 +const OFF = 57457 +const DISCARD = 57458 +const IMPORT = 57459 +const ENABLE = 57460 +const DISABLE = 57461 +const TABLESPACE = 57462 +const VIRTUAL = 57463 +const STORED = 57464 +const BOTH = 57465 +const LEADING = 57466 +const TRAILING = 57467 +const EMPTY_FROM_CLAUSE = 57468 +const LOWER_THAN_CHARSET = 57469 +const CHARSET = 57470 +const UNIQUE = 57471 +const KEY = 57472 +const EXPRESSION_PREC_SETTER = 57473 +const OR = 57474 +const XOR = 57475 +const AND = 57476 +const NOT = 57477 +const BETWEEN = 57478 +const CASE = 57479 +const WHEN = 57480 +const THEN = 57481 +const ELSE = 57482 +const END = 57483 +const LE = 57484 +const GE = 57485 +const NE = 57486 +const NULL_SAFE_EQUAL = 57487 +const IS = 57488 +const LIKE = 57489 +const REGEXP = 57490 +const IN = 57491 +const SHIFT_LEFT = 57492 +const SHIFT_RIGHT = 57493 +const DIV = 57494 +const MOD = 57495 +const UNARY = 57496 +const COLLATE = 57497 +const BINARY = 57498 +const UNDERSCORE_ARMSCII8 = 57499 +const UNDERSCORE_ASCII = 57500 +const UNDERSCORE_BIG5 = 57501 +const UNDERSCORE_BINARY = 57502 +const UNDERSCORE_CP1250 = 57503 +const UNDERSCORE_CP1251 = 57504 +const UNDERSCORE_CP1256 = 57505 +const UNDERSCORE_CP1257 = 57506 +const UNDERSCORE_CP850 = 57507 +const UNDERSCORE_CP852 = 57508 +const UNDERSCORE_CP866 = 57509 +const UNDERSCORE_CP932 = 57510 +const UNDERSCORE_DEC8 = 57511 +const UNDERSCORE_EUCJPMS = 57512 +const UNDERSCORE_EUCKR = 57513 +const UNDERSCORE_GB18030 = 57514 +const UNDERSCORE_GB2312 = 57515 +const UNDERSCORE_GBK = 57516 +const UNDERSCORE_GEOSTD8 = 57517 +const UNDERSCORE_GREEK = 57518 +const UNDERSCORE_HEBREW = 57519 +const UNDERSCORE_HP8 = 57520 +const UNDERSCORE_KEYBCS2 = 57521 +const UNDERSCORE_KOI8R = 57522 +const UNDERSCORE_KOI8U = 57523 +const UNDERSCORE_LATIN1 = 57524 +const UNDERSCORE_LATIN2 = 57525 +const UNDERSCORE_LATIN5 = 57526 +const UNDERSCORE_LATIN7 = 57527 +const UNDERSCORE_MACCE = 57528 +const UNDERSCORE_MACROMAN = 57529 +const UNDERSCORE_SJIS = 57530 +const UNDERSCORE_SWE7 = 57531 +const UNDERSCORE_TIS620 = 57532 +const UNDERSCORE_UCS2 = 57533 +const UNDERSCORE_UJIS = 57534 +const UNDERSCORE_UTF16 = 57535 +const UNDERSCORE_UTF16LE = 57536 +const UNDERSCORE_UTF32 = 57537 +const UNDERSCORE_UTF8 = 57538 +const UNDERSCORE_UTF8MB4 = 57539 +const INTERVAL = 57540 +const JSON_EXTRACT_OP = 57541 +const JSON_UNQUOTE_EXTRACT_OP = 57542 +const CREATE = 57543 +const ALTER = 57544 +const DROP = 57545 +const RENAME = 57546 +const ANALYZE = 57547 +const ADD = 57548 +const FLUSH = 57549 +const CHANGE = 57550 +const MODIFY = 57551 +const DEALLOCATE = 57552 +const REVERT = 57553 +const SCHEMA = 57554 +const TABLE = 57555 +const INDEX = 57556 +const VIEW = 57557 +const TO = 57558 +const IGNORE = 57559 +const IF = 57560 +const PRIMARY = 57561 +const COLUMN = 57562 +const SPATIAL = 57563 +const FULLTEXT = 57564 +const KEY_BLOCK_SIZE = 57565 +const CHECK = 57566 +const INDEXES = 57567 +const ACTION = 57568 +const CASCADE = 57569 +const CONSTRAINT = 57570 +const FOREIGN = 57571 +const NO = 57572 +const REFERENCES = 57573 +const RESTRICT = 57574 +const SHOW = 57575 +const DESCRIBE = 57576 +const EXPLAIN = 57577 +const DATE = 57578 +const ESCAPE = 57579 +const REPAIR = 57580 +const OPTIMIZE = 57581 +const TRUNCATE = 57582 +const COALESCE = 57583 +const EXCHANGE = 57584 +const REBUILD = 57585 +const PARTITIONING = 57586 +const REMOVE = 57587 +const PREPARE = 57588 +const EXECUTE = 57589 +const MAXVALUE = 57590 +const PARTITION = 57591 +const REORGANIZE = 57592 +const LESS = 57593 +const THAN = 57594 +const PROCEDURE = 57595 +const TRIGGER = 57596 +const VINDEX = 57597 +const VINDEXES = 57598 +const DIRECTORY = 57599 +const NAME = 57600 +const UPGRADE = 57601 +const STATUS = 57602 +const VARIABLES = 57603 +const WARNINGS = 57604 +const CASCADED = 57605 +const DEFINER = 57606 +const OPTION = 57607 +const SQL = 57608 +const UNDEFINED = 57609 +const SEQUENCE = 57610 +const MERGE = 57611 +const TEMPORARY = 57612 +const TEMPTABLE = 57613 +const INVOKER = 57614 +const SECURITY = 57615 +const FIRST = 57616 +const AFTER = 57617 +const LAST = 57618 +const VITESS_MIGRATION = 57619 +const CANCEL = 57620 +const RETRY = 57621 +const COMPLETE = 57622 +const CLEANUP = 57623 +const BEGIN = 57624 +const START = 57625 +const TRANSACTION = 57626 +const COMMIT = 57627 +const ROLLBACK = 57628 +const SAVEPOINT = 57629 +const RELEASE = 57630 +const WORK = 57631 +const BIT = 57632 +const TINYINT = 57633 +const SMALLINT = 57634 +const MEDIUMINT = 57635 +const INT = 57636 +const INTEGER = 57637 +const BIGINT = 57638 +const INTNUM = 57639 +const REAL = 57640 +const DOUBLE = 57641 +const FLOAT_TYPE = 57642 +const DECIMAL_TYPE = 57643 +const NUMERIC = 57644 +const TIME = 57645 +const TIMESTAMP = 57646 +const DATETIME = 57647 +const YEAR = 57648 +const CHAR = 57649 +const VARCHAR = 57650 +const BOOL = 57651 +const CHARACTER = 57652 +const VARBINARY = 57653 +const NCHAR = 57654 +const TEXT = 57655 +const TINYTEXT = 57656 +const MEDIUMTEXT = 57657 +const LONGTEXT = 57658 +const BLOB = 57659 +const TINYBLOB = 57660 +const MEDIUMBLOB = 57661 +const LONGBLOB = 57662 +const JSON = 57663 +const JSON_SCHEMA_VALID = 57664 +const JSON_SCHEMA_VALIDATION_REPORT = 57665 +const ENUM = 57666 +const GEOMETRY = 57667 +const POINT = 57668 +const LINESTRING = 57669 +const POLYGON = 57670 +const GEOMETRYCOLLECTION = 57671 +const MULTIPOINT = 57672 +const MULTILINESTRING = 57673 +const MULTIPOLYGON = 57674 +const ASCII = 57675 +const UNICODE = 57676 +const NULLX = 57677 +const AUTO_INCREMENT = 57678 +const APPROXNUM = 57679 +const SIGNED = 57680 +const UNSIGNED = 57681 +const ZEROFILL = 57682 +const CODE = 57683 +const COLLATION = 57684 +const COLUMNS = 57685 +const DATABASES = 57686 +const ENGINES = 57687 +const EVENT = 57688 +const EXTENDED = 57689 +const FIELDS = 57690 +const FULL = 57691 +const FUNCTION = 57692 +const GTID_EXECUTED = 57693 +const KEYSPACES = 57694 +const OPEN = 57695 +const PLUGINS = 57696 +const PRIVILEGES = 57697 +const PROCESSLIST = 57698 +const SCHEMAS = 57699 +const TABLES = 57700 +const TRIGGERS = 57701 +const USER = 57702 +const VGTID_EXECUTED = 57703 +const VITESS_KEYSPACES = 57704 +const VITESS_METADATA = 57705 +const VITESS_MIGRATIONS = 57706 +const VITESS_REPLICATION_STATUS = 57707 +const VITESS_SHARDS = 57708 +const VITESS_TABLETS = 57709 +const VSCHEMA = 57710 +const NAMES = 57711 +const GLOBAL = 57712 +const SESSION = 57713 +const ISOLATION = 57714 +const LEVEL = 57715 +const READ = 57716 +const WRITE = 57717 +const ONLY = 57718 +const REPEATABLE = 57719 +const COMMITTED = 57720 +const UNCOMMITTED = 57721 +const SERIALIZABLE = 57722 +const CURRENT_TIMESTAMP = 57723 +const DATABASE = 57724 +const CURRENT_DATE = 57725 +const CURRENT_TIME = 57726 +const LOCALTIME = 57727 +const LOCALTIMESTAMP = 57728 +const CURRENT_USER = 57729 +const UTC_DATE = 57730 +const UTC_TIME = 57731 +const UTC_TIMESTAMP = 57732 +const DAY = 57733 +const DAY_HOUR = 57734 +const DAY_MICROSECOND = 57735 +const DAY_MINUTE = 57736 +const DAY_SECOND = 57737 +const HOUR = 57738 +const HOUR_MICROSECOND = 57739 +const HOUR_MINUTE = 57740 +const HOUR_SECOND = 57741 +const MICROSECOND = 57742 +const MINUTE = 57743 +const MINUTE_MICROSECOND = 57744 +const MINUTE_SECOND = 57745 +const MONTH = 57746 +const QUARTER = 57747 +const SECOND = 57748 +const SECOND_MICROSECOND = 57749 +const YEAR_MONTH = 57750 +const WEEK = 57751 +const REPLACE = 57752 +const CONVERT = 57753 +const CAST = 57754 +const SUBSTR = 57755 +const SUBSTRING = 57756 +const GROUP_CONCAT = 57757 +const SEPARATOR = 57758 +const TIMESTAMPADD = 57759 +const TIMESTAMPDIFF = 57760 +const WEIGHT_STRING = 57761 +const LTRIM = 57762 +const RTRIM = 57763 +const TRIM = 57764 +const JSON_ARRAY = 57765 +const JSON_OBJECT = 57766 +const JSON_QUOTE = 57767 +const MATCH = 57768 +const AGAINST = 57769 +const BOOLEAN = 57770 +const LANGUAGE = 57771 +const WITH = 57772 +const QUERY = 57773 +const EXPANSION = 57774 +const WITHOUT = 57775 +const VALIDATION = 57776 +const UNUSED = 57777 +const ARRAY = 57778 +const CUME_DIST = 57779 +const DESCRIPTION = 57780 +const DENSE_RANK = 57781 +const EMPTY = 57782 +const EXCEPT = 57783 +const FIRST_VALUE = 57784 +const GROUPING = 57785 +const GROUPS = 57786 +const JSON_TABLE = 57787 +const LAG = 57788 +const LAST_VALUE = 57789 +const LATERAL = 57790 +const LEAD = 57791 +const NTH_VALUE = 57792 +const NTILE = 57793 +const OF = 57794 +const OVER = 57795 +const PERCENT_RANK = 57796 +const RANK = 57797 +const RECURSIVE = 57798 +const ROW_NUMBER = 57799 +const SYSTEM = 57800 +const WINDOW = 57801 +const ACTIVE = 57802 +const ADMIN = 57803 +const BUCKETS = 57804 +const CLONE = 57805 +const COMPONENT = 57806 +const DEFINITION = 57807 +const ENFORCED = 57808 +const EXCLUDE = 57809 +const FOLLOWING = 57810 +const GEOMCOLLECTION = 57811 +const GET_MASTER_PUBLIC_KEY = 57812 +const HISTOGRAM = 57813 +const HISTORY = 57814 +const INACTIVE = 57815 +const INVISIBLE = 57816 +const LOCKED = 57817 +const MASTER_COMPRESSION_ALGORITHMS = 57818 +const MASTER_PUBLIC_KEY_PATH = 57819 +const MASTER_TLS_CIPHERSUITES = 57820 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57821 +const NESTED = 57822 +const NETWORK_NAMESPACE = 57823 +const NOWAIT = 57824 +const NULLS = 57825 +const OJ = 57826 +const OLD = 57827 +const OPTIONAL = 57828 +const ORDINALITY = 57829 +const ORGANIZATION = 57830 +const OTHERS = 57831 +const PATH = 57832 +const PERSIST = 57833 +const PERSIST_ONLY = 57834 +const PRECEDING = 57835 +const PRIVILEGE_CHECKS_USER = 57836 +const PROCESS = 57837 +const RANDOM = 57838 +const REFERENCE = 57839 +const REQUIRE_ROW_FORMAT = 57840 +const RESOURCE = 57841 +const RESPECT = 57842 +const RESTART = 57843 +const RETAIN = 57844 +const REUSE = 57845 +const ROLE = 57846 +const SECONDARY = 57847 +const SECONDARY_ENGINE = 57848 +const SECONDARY_LOAD = 57849 +const SECONDARY_UNLOAD = 57850 +const SKIP = 57851 +const SRID = 57852 +const THREAD_PRIORITY = 57853 +const TIES = 57854 +const UNBOUNDED = 57855 +const VCPU = 57856 +const VISIBLE = 57857 +const FORMAT = 57858 +const TREE = 57859 +const VITESS = 57860 +const TRADITIONAL = 57861 +const LOCAL = 57862 +const LOW_PRIORITY = 57863 +const NO_WRITE_TO_BINLOG = 57864 +const LOGS = 57865 +const ERROR = 57866 +const GENERAL = 57867 +const HOSTS = 57868 +const OPTIMIZER_COSTS = 57869 +const USER_RESOURCES = 57870 +const SLOW = 57871 +const CHANNEL = 57872 +const RELAY = 57873 +const EXPORT = 57874 +const AVG_ROW_LENGTH = 57875 +const CONNECTION = 57876 +const CHECKSUM = 57877 +const DELAY_KEY_WRITE = 57878 +const ENCRYPTION = 57879 +const ENGINE = 57880 +const INSERT_METHOD = 57881 +const MAX_ROWS = 57882 +const MIN_ROWS = 57883 +const PACK_KEYS = 57884 +const PASSWORD = 57885 +const FIXED = 57886 +const DYNAMIC = 57887 +const COMPRESSED = 57888 +const REDUNDANT = 57889 +const COMPACT = 57890 +const ROW_FORMAT = 57891 +const STATS_AUTO_RECALC = 57892 +const STATS_PERSISTENT = 57893 +const STATS_SAMPLE_PAGES = 57894 +const STORAGE = 57895 +const MEMORY = 57896 +const DISK = 57897 +const PARTITIONS = 57898 +const LINEAR = 57899 +const RANGE = 57900 +const LIST = 57901 +const SUBPARTITION = 57902 +const SUBPARTITIONS = 57903 +const HASH = 57904 var yyToknames = [...]string{ "$end", "error", "$unk", + "MEMBER", + "FUNCTION_CALL_NON_KEYWORD", "LEX_ERROR", "UNION", "SELECT", @@ -734,7 +737,6 @@ var yyToknames = [...]string{ "EMPTY_FROM_CLAUSE", "LOWER_THAN_CHARSET", "CHARSET", - "MEMBER", "UNIQUE", "KEY", "EXPRESSION_PREC_SETTER", @@ -1195,138 +1197,137 @@ const yyInitialStackSize = 16 //line yacctab:1 var yyExca = [...]int{ -1, 0, - 10, 47, - 11, 47, + 12, 47, + 13, 47, -2, 37, -1, 1, 1, -1, -2, 0, -1, 47, 1, 145, - 579, 145, + 580, 145, -2, 151, -1, 48, - 129, 151, - 170, 151, - 326, 151, + 131, 151, + 171, 151, + 327, 151, -2, 454, -1, 55, - 33, 652, - 230, 652, - 241, 652, - 276, 666, + 35, 652, + 231, 652, + 242, 652, 277, 666, + 278, 666, -2, 654, -1, 60, - 232, 677, + 233, 677, -2, 675, -1, 114, - 229, 1181, + 230, 1181, -2, 119, -1, 116, 1, 146, - 579, 146, + 580, 146, -2, 151, -1, 126, - 131, 357, - 235, 357, + 132, 357, + 236, 357, -2, 448, -1, 145, - 129, 151, - 170, 151, - 326, 151, + 131, 151, + 171, 151, + 327, 151, -2, 463, -1, 647, - 214, 1202, + 215, 1202, -2, 1198, -1, 648, - 214, 1203, + 215, 1203, -2, 1199, -1, 722, - 57, 745, + 59, 745, -2, 760, -1, 759, - 146, 1586, + 147, 1586, -2, 112, -1, 760, - 146, 1445, + 147, 1445, -2, 113, -1, 766, - 146, 1515, + 147, 1515, -2, 1175, -1, 913, - 146, 1376, + 147, 1376, -2, 1172, -1, 951, - 240, 41, - 245, 41, + 241, 41, + 246, 41, -2, 368, -1, 1028, 1, 502, - 579, 502, + 580, 502, -2, 151, -1, 1249, - 57, 746, + 59, 746, -2, 765, -1, 1250, - 57, 747, + 59, 747, -2, 766, -1, 1303, - 129, 151, - 170, 151, - 326, 151, + 131, 151, + 171, 151, + 327, 151, -2, 398, -1, 1380, - 131, 357, - 235, 357, + 132, 357, + 236, 357, -2, 448, -1, 1389, - 240, 42, - 245, 42, + 241, 42, + 246, 42, -2, 369, -1, 1672, - 214, 1207, + 215, 1207, -2, 1201, -1, 1755, - 129, 151, - 170, 151, - 326, 151, + 131, 151, + 171, 151, + 327, 151, -2, 399, -1, 1762, - 23, 170, + 25, 170, -2, 172, -1, 1980, - 84, 39, + 86, 39, -2, 802, -1, 2032, - 75, 94, - 84, 94, + 77, 94, + 86, 94, -2, 822, -1, 2220, - 47, 1143, + 49, 1143, -2, 1137, -1, 2401, - 84, 39, + 86, 39, -2, 803, -1, 2439, - 5, 53, - 16, 53, + 7, 53, 18, 53, - 85, 53, + 20, 53, + 87, 53, -2, 794, -1, 2702, - 20, 1517, - 30, 1517, - 171, 1517, - 252, 1517, - 306, 1517, + 22, 1517, + 32, 1517, + 172, 1517, + 253, 1517, 307, 1517, 308, 1517, 309, 1517, 310, 1517, 311, 1517, 312, 1517, - 314, 1517, + 313, 1517, 315, 1517, 316, 1517, 317, 1517, @@ -1338,8 +1339,8 @@ var yyExca = [...]int{ 323, 1517, 324, 1517, 325, 1517, - 327, 1517, - 329, 1517, + 326, 1517, + 328, 1517, 330, 1517, 331, 1517, 332, 1517, @@ -1348,7 +1349,7 @@ var yyExca = [...]int{ 335, 1517, 336, 1517, 337, 1517, - 340, 1517, + 338, 1517, 341, 1517, 342, 1517, 343, 1517, @@ -1357,13 +1358,14 @@ var yyExca = [...]int{ 346, 1517, 347, 1517, 348, 1517, - 444, 1517, + 349, 1517, + 445, 1517, -2, 542, } const yyPrivate = 57344 -const yyLast = 39327 +const yyLast = 39510 var yyAct = [...]int{ 647, 656, 2768, 2189, 2767, 2750, 2644, 2744, 1752, 2700, @@ -1384,228 +1386,228 @@ var yyAct = [...]int{ 924, 1717, 947, 948, 1781, 1477, 1294, 1278, 1711, 729, 1085, 1652, 1292, 1500, 157, 1355, 98, 1379, 724, 959, 123, 1090, 725, 124, 727, 1178, 751, 85, 2653, 1182, - 922, 117, 118, 1024, 1040, 1679, 89, 76, 2086, 97, + 922, 117, 118, 1024, 1040, 1679, 2086, 76, 89, 97, 2751, 1817, 1818, 1819, 1817, 2311, 2113, 2112, 1855, 1360, - 2084, 1463, 8, 567, 726, 77, 745, 7, 750, 6, - 2142, 2143, 119, 2778, 517, 1551, 125, 2777, 1550, 731, - 1683, 1684, 90, 184, 185, 186, 2771, 1549, 983, 1548, - 986, 917, 102, 1547, 1546, 1533, 1112, 1669, 570, 2718, - 571, 997, 998, 1966, 1001, 1002, 1003, 1004, 1538, 2217, + 2084, 2142, 1463, 567, 726, 77, 745, 8, 750, 7, + 6, 2143, 119, 2778, 517, 1551, 125, 2771, 2777, 731, + 1683, 1684, 90, 184, 185, 186, 1550, 1549, 983, 1548, + 986, 917, 102, 1547, 1546, 1533, 570, 1669, 571, 1538, + 2718, 997, 998, 1966, 1001, 1002, 1003, 1004, 2217, 932, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1020, 1021, 718, 716, 765, 1997, 568, - 2764, 758, 962, 104, 105, 739, 108, 732, 939, 114, - 932, 119, 179, 927, 2728, 512, 2741, 2465, 1556, 2599, - 2598, 987, 988, 989, 2297, 985, 984, 963, 938, 937, - 2493, 2778, 78, 2494, 78, 711, 712, 713, 714, 178, - 2770, 722, 2763, 1797, 2694, 2754, 999, 2664, 2739, 78, - 2089, 1112, 80, 994, 2501, 2685, 2006, 1843, 2693, 2663, - 78, 2150, 2377, 120, 1895, 142, 178, 1795, 1369, 753, - 754, 1122, 2270, 2271, 931, 119, 162, 933, 184, 185, - 186, 2007, 2121, 2548, 1967, 936, 2120, 1033, 1034, 1027, - 120, 1076, 2043, 1078, 1296, 2042, 1297, 1685, 2044, 1747, - 1748, 2269, 2141, 162, 1892, 1746, 1088, 152, 1059, 87, - 1047, 87, 141, 1064, 1065, 1048, 709, 708, 2645, 1036, - 2087, 547, 1047, 1046, 1060, 1045, 87, 1048, 1893, 1053, - 2055, 1075, 1077, 159, 2345, 160, 2407, 87, 1765, 1764, - 2177, 2368, 2366, 934, 558, 2048, 547, 547, 547, 1537, - 562, 1381, 1382, 151, 150, 177, 1122, 1235, 556, 2094, - 159, 1825, 160, 534, 2338, 1483, 1118, 1453, 2116, 1110, - 1144, 936, 2339, 928, 1539, 1540, 1541, 1863, 1858, 2753, - 930, 929, 177, 1478, 547, 1062, 1063, 1000, 940, 1082, - 1023, 2608, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1153, - 1152, 1154, 1155, 1029, 1066, 1061, 1068, 1794, 1087, 533, - 1054, 1454, 2129, 1455, 1067, 2346, 1869, 1866, 1868, 1867, - 1874, 531, 1006, 1871, 1073, 1872, 2719, 1873, 1074, 934, - 1005, 2347, 1864, 1860, 2486, 2322, 1862, 1828, 1079, 936, - 1022, 970, 182, 1726, 182, 968, 942, 182, 87, 943, - 943, 1118, 146, 1383, 153, 935, 1380, 1238, 147, 148, - 1072, 528, 979, 978, 163, 1080, 977, 976, 975, 974, - 542, 973, 1372, 168, 972, 560, 560, 560, 1861, 967, - 980, 1893, 2133, 1156, 961, 539, 2286, 2758, 2737, 921, - 2748, 163, 2178, 560, 560, 954, 921, 1156, 921, 1393, - 168, 955, 919, 996, 1026, 1492, 1803, 1971, 1973, 1031, - 752, 1037, 1057, 2130, 1039, 1849, 1488, 1098, 548, 1104, - 990, 2304, 2115, 1367, 1366, 1365, 2105, 1489, 1363, 516, - 511, 2641, 37, 2446, 1117, 1114, 1115, 1116, 1121, 1123, - 1120, 935, 1119, 548, 548, 548, 2321, 1845, 2426, 1113, - 518, 961, 520, 535, 2652, 550, 2128, 549, 524, 2127, - 522, 526, 536, 527, 2085, 521, 2146, 532, 2296, 1484, - 523, 537, 538, 540, 554, 553, 541, 1083, 530, 551, - 1907, 548, 960, 2039, 2002, 971, 155, 964, 954, 969, - 1159, 1160, 1161, 1162, 1958, 1025, 2088, 965, 1678, 2118, - 1167, 1282, 1170, 1392, 1712, 1713, 1081, 1157, 1158, 935, - 1208, 1753, 961, 155, 1796, 1482, 2408, 966, 961, 1117, - 1114, 1115, 1116, 1121, 1123, 1120, 1226, 1119, 1038, 2595, - 1155, 2276, 2662, 1043, 1113, 1049, 1050, 1051, 1052, 182, - 2136, 2136, 116, 560, 560, 2135, 2135, 1094, 1095, 960, - 2268, 1156, 1163, 184, 185, 186, 734, 1588, 1089, 182, - 1086, 149, 1465, 1464, 1466, 1467, 1468, 2769, 1972, 81, - 2658, 2482, 86, 111, 86, 2420, 2277, 1227, 560, 982, - 143, 2609, 182, 144, 1241, 1239, 1070, 560, 1245, 86, - 1894, 1501, 1859, 560, 719, 717, 1244, 1107, 1242, 77, - 86, 2279, 1105, 2746, 1106, 1485, 2747, 761, 2745, 1056, - 960, 1180, 995, 1181, 1298, 2274, 960, 1108, 1044, 1184, - 1058, 964, 954, 1035, 1042, 2170, 1032, 1568, 552, 2077, - 1609, 965, 1221, 2284, 2285, 1609, 1844, 1921, 1589, 1227, - 2275, 1569, 1570, 1567, 112, 1127, 545, 2544, 1243, 1287, - 961, 2457, 95, 1214, 1215, 1216, 1217, 2456, 1479, 1832, - 1480, 546, 1402, 1481, 1718, 1719, 961, 1917, 1126, 1127, - 1401, 1232, 2281, 1148, 1149, 1150, 1151, 1153, 1152, 1154, - 1155, 1391, 98, 156, 161, 158, 164, 165, 166, 167, - 169, 170, 171, 172, 1837, 2733, 1558, 1560, 1561, 173, - 174, 175, 176, 1150, 1151, 1153, 1152, 1154, 1155, 1842, + 1017, 1018, 1019, 1020, 1021, 718, 716, 765, 1112, 568, + 1997, 758, 962, 104, 105, 739, 108, 732, 939, 114, + 927, 119, 179, 2764, 2728, 512, 2741, 2297, 2465, 1556, + 2599, 987, 988, 989, 2598, 985, 984, 963, 938, 937, + 2493, 2770, 2778, 2494, 78, 711, 712, 713, 714, 1797, + 178, 722, 184, 185, 186, 2763, 999, 2694, 2754, 2664, + 78, 2089, 2739, 994, 2501, 2685, 1843, 2693, 2006, 2663, + 2150, 78, 78, 1795, 120, 80, 142, 178, 2377, 753, + 754, 1369, 2121, 2270, 2271, 119, 2120, 162, 1895, 931, + 1747, 1748, 933, 2007, 1296, 547, 1297, 2269, 1076, 1027, + 1078, 120, 2043, 1144, 1967, 2042, 2141, 1685, 2044, 2548, + 1892, 1746, 1088, 1122, 162, 1064, 1065, 1059, 152, 709, + 708, 87, 2087, 141, 2608, 1145, 1146, 1147, 1148, 1149, + 1150, 1151, 1153, 1152, 1154, 1155, 534, 87, 1075, 1077, + 1047, 2645, 1047, 1060, 159, 1048, 160, 1048, 87, 87, + 2407, 1053, 1893, 1046, 2055, 1045, 2048, 936, 2345, 1033, + 1034, 547, 1381, 1382, 151, 150, 177, 1112, 2368, 1023, + 547, 159, 547, 160, 2366, 1539, 1540, 1541, 1765, 1764, + 2177, 1235, 533, 558, 1537, 562, 936, 547, 928, 1483, + 556, 1036, 1453, 177, 531, 930, 929, 1869, 1866, 1868, + 1867, 1000, 2094, 1825, 2116, 2338, 1066, 2753, 1118, 1082, + 1863, 1110, 1794, 2339, 1087, 934, 1067, 1871, 1858, 1872, + 1478, 1873, 2129, 1068, 1061, 1062, 1063, 940, 1029, 1874, + 1006, 1073, 1054, 1005, 528, 1074, 1454, 2719, 1455, 2346, + 1862, 2347, 1860, 542, 934, 1079, 2486, 2322, 936, 1022, + 970, 968, 182, 1828, 182, 942, 1726, 182, 539, 943, + 87, 1238, 146, 1383, 153, 1864, 1380, 1072, 147, 148, + 943, 979, 1122, 978, 163, 1080, 1156, 977, 976, 975, + 974, 973, 1861, 168, 972, 560, 560, 560, 967, 1372, + 980, 548, 1156, 2286, 921, 1393, 921, 2758, 1893, 955, + 919, 163, 2133, 560, 560, 954, 2737, 1492, 921, 1803, + 168, 1057, 752, 1026, 2130, 1849, 996, 1488, 961, 1031, + 1098, 1037, 961, 518, 1039, 520, 535, 935, 550, 1104, + 549, 524, 2178, 522, 526, 536, 527, 990, 521, 2748, + 532, 2304, 37, 523, 537, 538, 540, 554, 553, 541, + 2115, 530, 551, 1367, 961, 1366, 935, 548, 2321, 2146, + 1971, 1973, 1365, 2105, 2652, 1489, 548, 1118, 548, 1363, + 516, 2296, 2085, 511, 2641, 1907, 1117, 1114, 1115, 1116, + 1121, 1123, 1120, 548, 1119, 2128, 2446, 1083, 2127, 1712, + 1713, 1113, 1484, 971, 969, 1845, 155, 2088, 2118, 1392, + 1159, 1160, 1161, 1162, 1025, 116, 1157, 1158, 2426, 2039, + 1167, 2002, 1170, 1958, 2609, 1081, 960, 1678, 935, 1796, + 960, 964, 954, 155, 961, 1282, 954, 957, 958, 2408, + 921, 965, 1208, 1038, 951, 955, 1226, 1753, 1482, 1156, + 2595, 2662, 1155, 1043, 2268, 1049, 1050, 1051, 1052, 182, + 734, 966, 960, 560, 560, 950, 2136, 1094, 1095, 1086, + 2136, 2135, 1163, 1070, 2658, 2135, 2482, 2769, 1089, 182, + 1568, 149, 1465, 1464, 1466, 1467, 1468, 184, 185, 186, + 2420, 1588, 111, 86, 1569, 1570, 1567, 1227, 560, 1501, + 143, 81, 182, 144, 1241, 1239, 982, 560, 1245, 86, + 1042, 552, 1035, 560, 719, 717, 1244, 1056, 1242, 77, + 86, 86, 1107, 1894, 1105, 1106, 1859, 761, 1058, 545, + 1972, 1180, 960, 1181, 995, 1485, 1298, 1108, 2170, 1184, + 1044, 1609, 2077, 1032, 546, 1117, 1114, 1115, 1116, 1121, + 1123, 1120, 1221, 1119, 1127, 1609, 2710, 1921, 2544, 1227, + 1113, 2746, 112, 2457, 2747, 961, 2745, 2456, 1243, 1287, + 2708, 1589, 95, 1214, 1215, 1216, 1217, 1126, 1127, 2712, + 2713, 1832, 1128, 1402, 961, 1401, 1391, 2284, 2285, 1842, + 1479, 1232, 1480, 1844, 2709, 1481, 1028, 1840, 970, 968, + 1283, 1128, 98, 156, 161, 158, 164, 165, 166, 167, + 169, 170, 171, 172, 1837, 1837, 1071, 2759, 2733, 173, + 174, 175, 176, 1150, 1151, 1153, 1152, 1154, 1155, 2447, 156, 161, 158, 164, 165, 166, 167, 169, 170, 171, - 172, 1559, 1840, 1028, 1240, 970, 173, 174, 175, 176, - 1071, 1841, 2447, 1263, 968, 1502, 1283, 2283, 716, 1916, - 1260, 1229, 2761, 87, 718, 765, 182, 2734, 960, 2286, - 1356, 1837, 1472, 2670, 954, 957, 958, 1566, 921, 1364, - 1288, 1289, 951, 955, 960, 1041, 2619, 1258, 2590, 1128, - 954, 957, 958, 1125, 921, 1126, 1127, 2759, 951, 955, - 560, 2634, 1389, 950, 1246, 1128, 1930, 1293, 1839, 1125, - 1398, 1126, 1127, 2516, 1400, 2671, 2515, 560, 560, 1470, - 560, 2464, 560, 560, 1144, 560, 560, 560, 560, 560, - 560, 2463, 1128, 1305, 2312, 1471, 1125, 2302, 1126, 1127, - 560, 1460, 2638, 2635, 182, 1436, 1145, 1146, 1147, 1148, - 1149, 1150, 1151, 1153, 1152, 1154, 1155, 1899, 1900, 1901, + 172, 2670, 1502, 87, 1240, 2634, 173, 174, 175, 176, + 1041, 1841, 1839, 1263, 1899, 1900, 1901, 1566, 716, 1128, + 1260, 1229, 2761, 960, 718, 765, 182, 2590, 964, 954, + 1356, 1558, 1560, 1561, 1472, 1128, 1293, 2374, 965, 1364, + 1288, 1289, 960, 2671, 2516, 1128, 2515, 2635, 954, 957, + 958, 2283, 921, 2464, 2463, 1559, 951, 955, 2312, 2302, + 560, 2760, 1389, 2286, 1246, 661, 662, 663, 1718, 1719, + 1398, 1470, 2062, 1125, 1400, 1126, 1127, 560, 560, 1460, + 560, 2061, 560, 560, 1144, 560, 560, 560, 560, 560, + 560, 1800, 1125, 1305, 1126, 1127, 1473, 1471, 1458, 1457, + 560, 2172, 1258, 1456, 182, 1436, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1153, 1152, 1154, 1155, 2619, 1258, 1447, 182, 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1152, 1154, - 1155, 560, 2374, 182, 2278, 1370, 1371, 2062, 2061, 1128, - 1800, 2760, 1469, 1125, 1490, 1126, 1127, 560, 1473, 182, - 1458, 1457, 2172, 1456, 1385, 1378, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1130, 1459, 182, 1447, 1258, 661, 662, - 663, 1435, 182, 1128, 1613, 1397, 756, 1125, 1614, 1126, - 1127, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 560, 560, 560, 1441, 1433, 1439, 1440, 1258, 1438, 1437, - 1476, 1445, 1446, 1405, 2637, 1406, 1938, 1408, 1410, 1412, - 2636, 1414, 1416, 1418, 1420, 1422, 1396, 1267, 1399, 2543, - 1362, 182, 1375, 2541, 2512, 1376, 2461, 1388, 1374, 184, - 185, 186, 1506, 2454, 2453, 1497, 2071, 1395, 1395, 1510, - 2059, 1223, 1128, 1431, 1432, 1853, 1125, 1449, 1126, 1127, - 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1852, 1709, 1434, - 184, 185, 186, 1691, 1503, 1504, 1268, 1587, 1534, 1593, - 1593, 1590, 1594, 1498, 1461, 1368, 1448, 1444, 1508, 1258, - 1599, 560, 1443, 1591, 1591, 1515, 1516, 1517, 1545, 1493, - 2372, 1258, 1564, 1442, 1128, 1269, 560, 560, 1125, 1084, - 1126, 1127, 2342, 119, 1571, 1097, 1573, 1574, 1575, 1576, + 1155, 560, 1441, 182, 1469, 1370, 1371, 184, 185, 186, + 1438, 2454, 1459, 1128, 1490, 756, 1437, 560, 1412, 182, + 1125, 2734, 1126, 1127, 1385, 1378, 1148, 1149, 1150, 1151, + 1153, 1152, 1154, 1155, 2638, 182, 1125, 1128, 1126, 1127, + 1267, 1435, 182, 2637, 2636, 1397, 1125, 1917, 1126, 1127, + 2543, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 560, 560, 560, 2541, 1433, 1439, 1440, 2512, 2461, 1258, + 1476, 1445, 1446, 1405, 2342, 1406, 1613, 1408, 1410, 1128, + 1614, 1414, 1416, 1418, 1420, 1422, 1396, 2453, 1399, 1268, + 1362, 182, 1375, 2071, 2059, 1376, 2735, 1388, 1374, 184, + 185, 186, 1506, 2046, 1223, 1497, 1853, 1395, 1395, 1510, + 184, 185, 186, 1431, 1432, 1852, 1709, 1449, 1128, 1916, + 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1691, 1534, 1434, + 1498, 1461, 1448, 1444, 1503, 1504, 1443, 1587, 1442, 1593, + 1593, 1590, 1594, 1269, 1125, 1368, 1126, 1127, 1508, 1084, + 1599, 560, 1912, 1591, 1591, 1515, 1516, 1517, 1545, 1493, + 1097, 1911, 1564, 1993, 2752, 1128, 560, 560, 1125, 1258, + 1126, 1127, 2616, 119, 1571, 2615, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1562, - 938, 937, 1993, 2752, 1128, 2724, 1258, 1572, 1125, 1507, - 1126, 1127, 2735, 1993, 2691, 1653, 1128, 1993, 2678, 1670, - 1125, 1258, 1126, 1127, 182, 92, 1993, 2674, 1505, 560, - 184, 185, 186, 1531, 2046, 1509, 93, 1511, 1512, 1513, - 1514, 1528, 1529, 1530, 1518, 2315, 2419, 184, 185, 186, - 2616, 1813, 1653, 182, 2666, 1258, 560, 1128, 1532, 2710, - 1565, 1125, 2615, 1126, 1127, 101, 182, 184, 185, 186, - 560, 1811, 1696, 2708, 1697, 182, 100, 182, 99, 182, - 182, 560, 2712, 2713, 560, 1672, 2649, 94, 1993, 2654, - 1258, 2284, 2285, 1670, 1144, 560, 2145, 101, 2709, 2584, - 1271, 761, 1674, 1675, 761, 1762, 2491, 2651, 100, 2583, - 99, 2391, 1258, 1610, 2499, 95, 1145, 1146, 1147, 1148, - 1149, 1150, 1151, 1153, 1152, 1154, 1155, 1993, 2591, 2491, - 1258, 1128, 1702, 1720, 95, 1125, 1671, 1126, 1127, 1993, - 2489, 2230, 1724, 1912, 1727, 1258, 2095, 1545, 2074, 1728, - 560, 2419, 1911, 1837, 1258, 94, 1806, 1807, 1808, 1672, - 1761, 1810, 1812, 2424, 1258, 1270, 2716, 1771, 1772, 1773, - 1774, 2294, 2293, 2290, 2291, 560, 2681, 1258, 1756, 731, - 2421, 560, 1398, 1950, 1124, 1398, 1690, 1398, 2657, 1757, - 1739, 1993, 1595, 1836, 2004, 2283, 2290, 2289, 1128, 1601, - 1602, 2012, 1125, 2391, 1126, 1127, 1826, 2286, 2012, 1258, - 1723, 1128, 1704, 1258, 1760, 1125, 1787, 1126, 1127, 1908, - 1258, 2292, 2441, 560, 2205, 1587, 1745, 1721, 1793, 1128, - 1587, 1587, 1144, 1125, 1906, 1126, 1127, 1673, 1744, 765, - 1676, 1677, 765, 1743, 1893, 2114, 100, 1759, 1758, 1359, - 2099, 2091, 2092, 2152, 1145, 1146, 1147, 1148, 1149, 1150, - 1151, 1153, 1152, 1154, 1155, 2012, 182, 1908, 1128, 1823, - 1993, 1992, 1125, 182, 1126, 1127, 1701, 1943, 182, 182, - 1124, 1258, 182, 2004, 182, 1359, 1358, 1831, 1304, 1303, - 1834, 182, 1835, 2011, 1989, 1788, 1783, 1784, 182, 1258, - 1798, 1766, 1799, 1767, 1768, 1769, 1770, 1809, 1801, 94, - 2588, 2035, 1838, 1927, 1908, 2263, 1926, 1846, 962, 1777, - 1778, 1779, 1780, 1830, 1893, 1829, 182, 560, 1788, 1837, - 648, 1833, 1848, 1545, 2154, 1847, 2393, 1850, 1851, 1820, - 1865, 1716, 1262, 963, 1128, 1875, 1876, 2012, 1125, 1880, - 1126, 1127, 1681, 1395, 2419, 1128, 1542, 1910, 1883, 1125, - 1638, 1126, 1127, 2483, 92, 1886, 1908, 1487, 2035, 1837, - 1290, 94, 2389, 945, 2036, 93, 1856, 944, 87, 2068, - 2380, 183, 1128, 2038, 183, 2605, 1125, 183, 1126, 1127, - 721, 1265, 561, 1889, 183, 2581, 2164, 2163, 2162, 2156, - 1564, 2160, 183, 2155, 2555, 2153, 2481, 2478, 1128, 2459, - 2158, 1903, 1125, 1905, 1126, 1127, 2383, 183, 1128, 2157, - 2382, 1361, 1125, 1877, 1126, 1127, 1128, 1027, 1786, 1258, - 1125, 2036, 1126, 1127, 1904, 2340, 2159, 2161, 2344, 561, - 1893, 2317, 561, 183, 561, 1630, 1619, 1620, 1621, 1622, + 938, 937, 92, 2584, 1128, 2724, 1258, 1572, 2583, 1507, + 2372, 1258, 2499, 93, 1938, 1653, 1993, 2691, 2263, 1670, + 1125, 2095, 1126, 1127, 182, 1993, 2678, 1893, 1505, 560, + 1993, 2674, 1128, 1531, 2074, 1509, 2004, 1511, 1512, 1513, + 1514, 1528, 1529, 1530, 1518, 2666, 1258, 1993, 2654, 1271, + 2491, 2651, 1653, 182, 2391, 1258, 560, 1950, 1532, 1125, + 1565, 1126, 1127, 1128, 1761, 101, 182, 1258, 1993, 2591, + 560, 1128, 1696, 2419, 1697, 182, 100, 182, 99, 182, + 182, 560, 2491, 1258, 560, 1672, 1838, 1258, 1128, 1993, + 2489, 1837, 1258, 1670, 1144, 560, 2145, 2424, 1258, 2294, + 2293, 761, 1674, 1675, 761, 1762, 1125, 2012, 1126, 1127, + 2290, 2291, 100, 1610, 1270, 95, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1153, 1152, 1154, 1155, 184, 185, 186, + 94, 1813, 1702, 1720, 95, 1125, 1671, 1126, 1127, 2290, + 2289, 1128, 1724, 1837, 1727, 1258, 2649, 1545, 2035, 1728, + 560, 2421, 1128, 92, 1258, 2004, 1806, 1807, 1808, 1672, + 94, 1810, 1812, 1125, 93, 1126, 1127, 1771, 1772, 1773, + 1774, 2588, 2012, 1258, 1124, 560, 1908, 1258, 1756, 731, + 1908, 560, 1398, 1893, 2114, 1398, 1690, 1398, 1258, 1757, + 1739, 2230, 1595, 1836, 1125, 2657, 1126, 1127, 1989, 1601, + 1602, 2419, 1125, 1993, 1126, 1127, 1826, 2012, 1128, 2391, + 1723, 2036, 1704, 94, 1760, 2292, 1787, 1128, 1258, 1125, + 2038, 1126, 1127, 560, 2483, 1587, 2419, 1721, 1793, 1930, + 1587, 1587, 1144, 2205, 1906, 2063, 1745, 1673, 1744, 765, + 1676, 1677, 765, 1743, 1359, 2099, 1128, 1759, 1758, 2091, + 2092, 1993, 1992, 2152, 1145, 1146, 1147, 1148, 1149, 1150, + 1151, 1153, 1152, 1154, 1155, 1908, 182, 1910, 1943, 1823, + 1908, 1927, 1125, 182, 1126, 1127, 1701, 1926, 182, 182, + 1837, 1128, 182, 1125, 182, 1126, 1127, 1831, 1820, 2035, + 1834, 182, 1835, 1128, 1716, 1788, 1783, 1784, 182, 2441, + 1798, 1766, 1799, 1767, 1768, 1769, 1770, 1809, 1801, 1132, + 1133, 1134, 1135, 1136, 1137, 1138, 1130, 1846, 962, 1777, + 1778, 1779, 1780, 1830, 2011, 1829, 182, 560, 1788, 1262, + 648, 1833, 1848, 1545, 2154, 1847, 1128, 1850, 1851, 1125, + 1865, 1126, 1127, 963, 1681, 1875, 1876, 1542, 1125, 1880, + 1126, 1127, 2036, 1395, 1487, 184, 185, 186, 1883, 1811, + 1638, 1893, 1290, 2393, 721, 1886, 1124, 1258, 1359, 1358, + 1304, 1303, 945, 944, 2315, 2389, 1856, 1125, 2012, 1126, + 1127, 183, 2716, 1128, 183, 2681, 87, 183, 2605, 1128, + 1265, 2581, 561, 1889, 183, 2555, 2164, 2163, 2162, 2156, + 1564, 2160, 183, 2155, 2481, 2153, 2478, 2459, 2383, 2382, + 2158, 1903, 1125, 1905, 1126, 1127, 1361, 183, 2380, 2157, + 1786, 2340, 2317, 1877, 1125, 2313, 1126, 1127, 2100, 1782, + 1128, 2276, 1776, 1775, 1904, 1475, 2159, 2161, 1390, 561, + 1386, 87, 561, 183, 561, 1630, 1619, 1620, 1621, 1622, 1632, 1623, 1624, 1625, 1637, 1633, 1626, 1627, 1634, 1635, - 1636, 1628, 1629, 1631, 1128, 2313, 2100, 87, 1125, 1782, - 1126, 1127, 182, 1891, 1776, 1775, 1475, 1390, 1884, 1885, - 182, 2379, 1386, 1887, 1593, 560, 1977, 1357, 1565, 1964, - 1144, 560, 1888, 1140, 2063, 1141, 113, 2606, 1591, 1902, - 2470, 1797, 560, 1694, 1953, 2067, 2776, 1981, 2774, 1142, - 1143, 1139, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1153, - 1152, 1154, 1155, 2431, 2432, 182, 2730, 1128, 2705, 182, - 2434, 1125, 2309, 1126, 1127, 2466, 1920, 2308, 2307, 1128, - 2008, 2230, 1424, 1125, 2045, 1126, 1127, 2471, 2472, 1952, - 1128, 2078, 2068, 37, 1125, 1672, 1126, 1127, 1427, 1994, - 1878, 1535, 2028, 2252, 2250, 2525, 2437, 2524, 2253, 2251, - 1936, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1152, - 1154, 1155, 2436, 1990, 2249, 2467, 2468, 2469, 560, 1425, - 1426, 1951, 2248, 182, 2721, 1128, 2032, 2692, 1708, 1125, - 182, 1126, 1127, 1266, 1232, 1965, 1671, 1975, 1428, 1429, - 1430, 1700, 560, 2027, 2425, 2523, 2210, 2056, 2057, 560, - 1986, 2209, 2097, 1398, 1398, 2633, 1991, 2534, 560, 1948, - 2049, 2001, 1918, 2254, 2090, 2021, 2022, 1128, 2412, 2033, - 2111, 1125, 2536, 1126, 1127, 2415, 2411, 2110, 735, 2219, - 2288, 182, 182, 182, 182, 182, 736, 2037, 2040, 1947, - 2076, 1793, 1486, 2047, 2222, 2224, 707, 2050, 182, 182, - 2070, 2053, 2072, 2225, 992, 1128, 991, 632, 2354, 1125, - 1946, 1126, 1127, 2060, 182, 2067, 2017, 2020, 2021, 2022, - 2018, 1944, 2019, 2023, 1605, 1955, 1956, 2139, 2075, 2079, - 2080, 2081, 2069, 1587, 92, 1128, 92, 1096, 1606, 1125, - 1378, 1126, 1127, 94, 2109, 93, 2107, 93, 2122, 2123, - 2124, 2125, 2126, 2106, 120, 2417, 1128, 94, 2101, 2102, - 1125, 2756, 1126, 1127, 2305, 1545, 2132, 1128, 1881, 559, - 1593, 1125, 1593, 1126, 1127, 1593, 1718, 1719, 2108, 560, - 2650, 2140, 2601, 2287, 1591, 717, 1591, 101, 2169, 1591, - 2025, 1705, 743, 744, 1870, 560, 1940, 2208, 100, 2199, - 99, 2397, 2148, 1897, 2147, 2207, 99, 2625, 2131, 94, - 182, 101, 2137, 2624, 560, 2138, 763, 2542, 2195, 918, - 2540, 925, 100, 560, 99, 2539, 2532, 2479, 2165, 2416, - 560, 560, 2149, 182, 182, 182, 182, 182, 2414, 2192, - 2166, 2318, 1128, 2199, 2212, 182, 1125, 1821, 1126, 1127, - 182, 1373, 742, 182, 101, 182, 100, 2242, 182, 182, - 182, 2531, 2405, 2227, 2183, 100, 2004, 723, 1989, 2179, - 2236, 2262, 183, 1928, 183, 2732, 2731, 183, 1692, 2198, - 2213, 1284, 1275, 2200, 106, 107, 2732, 1245, 2028, 2639, - 2452, 733, 103, 2303, 88, 1, 2707, 529, 2211, 182, - 1682, 2214, 1230, 543, 2703, 561, 561, 561, 1462, 1452, - 2502, 1654, 560, 1655, 2190, 2602, 2190, 2096, 724, 2190, - 2204, 560, 725, 561, 561, 2264, 182, 1827, 2265, 2477, - 1791, 2244, 2245, 2255, 2247, 953, 182, 2243, 2259, 2260, - 2246, 2266, 1939, 2324, 145, 1754, 1497, 95, 1755, 2687, - 110, 182, 914, 2272, 182, 109, 2241, 956, 1055, 1822, - 2492, 2201, 2202, 2203, 2355, 2054, 2306, 1763, 2299, 2298, - 1310, 1308, 2233, 2300, 2301, 1309, 1307, 2233, 1312, 1311, - 1929, 2332, 1536, 2331, 557, 2024, 180, 1299, 1128, 1276, - 993, 519, 1125, 2327, 1126, 1127, 2295, 1854, 525, 1793, - 2323, 1168, 2206, 2336, 2041, 2335, 2319, 762, 755, 2017, - 2020, 2021, 2022, 2018, 1693, 2019, 2023, 1979, 2348, 2431, - 2432, 2351, 1256, 1252, 2238, 2388, 560, 182, 2350, 2409, - 2349, 2218, 2220, 1996, 2223, 1256, 1252, 1253, 2216, 2632, - 2533, 2358, 2679, 2357, 2051, 1272, 1919, 1607, 2364, 1733, - 1253, 1557, 582, 581, 579, 1982, 2005, 1131, 651, 1969, - 2320, 1285, 1698, 1699, 1255, 2016, 1254, 2014, 2403, 183, - 2013, 1879, 1740, 561, 561, 1249, 1250, 1255, 2433, 1254, - 2429, 2766, 2699, 1735, 182, 1731, 1988, 590, 583, 183, - 575, 2449, 2330, 2117, 2402, 2341, 2398, 2399, 2119, 2428, - 2052, 2337, 2455, 2406, 1109, 1248, 569, 182, 561, 2438, - 2413, 926, 183, 1604, 2607, 2418, 2593, 561, 1896, 2376, - 1247, 2444, 2445, 561, 1617, 182, 1618, 2310, 182, 182, - 182, 1814, 2435, 63, 41, 1645, 564, 2717, 560, 560, - 1100, 749, 2352, 2353, 2442, 32, 31, 30, 29, 28, - 2332, 23, 2331, 22, 2443, 2450, 21, 2451, 20, 19, - 2484, 2485, 25, 18, 17, 560, 560, 560, 560, 2460, - 16, 2462, 2361, 2362, 2458, 2363, 2727, 2755, 2365, 115, - 2367, 50, 2369, 47, 45, 2487, 122, 121, 48, 2498, - 44, 1030, 2473, 42, 27, 2474, 2475, 2476, 26, 15, - 14, 2496, 2497, 13, 12, 11, 10, 9, 5, 4, - 35, 1593, 34, 1593, 33, 1103, 24, 2, 2083, 1816, + 1636, 1628, 1629, 1631, 1128, 2379, 1357, 1125, 1128, 1126, + 1127, 1953, 182, 1891, 113, 2068, 2277, 2067, 1884, 1885, + 182, 1027, 2344, 1887, 1593, 560, 1977, 2470, 1565, 1964, + 1424, 560, 1888, 2431, 2432, 2606, 1797, 2466, 1591, 1902, + 1694, 2279, 560, 2776, 1128, 2774, 1427, 1981, 2730, 2705, + 1128, 2434, 1952, 2309, 1125, 2274, 1126, 1127, 2308, 2307, + 1125, 2230, 1126, 1127, 2068, 182, 2078, 1878, 1535, 182, + 2721, 2437, 2284, 2285, 2471, 2472, 1920, 1425, 1426, 2275, + 2008, 2525, 2436, 2524, 2045, 1128, 1951, 2467, 2468, 2469, + 1948, 2249, 2248, 37, 2692, 1672, 1428, 1429, 1430, 1994, + 1128, 1125, 2028, 1126, 1127, 2254, 1708, 2021, 2022, 1266, + 1936, 2281, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1153, + 1152, 1154, 1155, 1990, 2252, 2250, 1947, 1700, 560, 2253, + 2251, 2523, 1946, 182, 2425, 1125, 2032, 1126, 1127, 1125, + 182, 1126, 1127, 2210, 1232, 1965, 1671, 1975, 2209, 2097, + 1128, 2633, 560, 2027, 2412, 2534, 2536, 2056, 2057, 560, + 1986, 735, 2411, 1398, 1398, 2415, 1991, 1944, 560, 736, + 2049, 2001, 1918, 2219, 2090, 1125, 2283, 1126, 1127, 2033, + 2111, 1125, 1940, 1126, 1127, 1486, 707, 2110, 2286, 2288, + 2053, 182, 182, 182, 182, 182, 2072, 2037, 2040, 992, + 2076, 1793, 991, 2047, 2354, 1256, 1252, 2050, 182, 182, + 2070, 1605, 2222, 2224, 2067, 92, 1125, 632, 1126, 1127, + 1253, 2225, 94, 2060, 182, 1606, 93, 2139, 1096, 2107, + 2106, 1125, 1939, 1126, 1127, 1955, 1956, 92, 2075, 2079, + 2080, 2081, 2069, 1587, 101, 1698, 1699, 1255, 93, 1254, + 1378, 120, 101, 2417, 2109, 100, 94, 99, 2122, 2123, + 2124, 2125, 2126, 100, 2756, 99, 94, 2305, 2101, 2102, + 1718, 1719, 1881, 2650, 94, 1545, 2132, 2601, 2287, 559, + 1593, 1125, 1593, 1126, 1127, 1593, 2025, 1705, 2108, 560, + 1870, 2140, 2397, 2278, 1591, 717, 1591, 1897, 2169, 1591, + 2017, 2020, 2021, 2022, 2018, 560, 2019, 2023, 99, 2199, + 2431, 2432, 2148, 2208, 2147, 743, 744, 2625, 2131, 2624, + 182, 2207, 2137, 101, 560, 2138, 763, 2542, 2195, 918, + 2540, 925, 1258, 560, 100, 100, 99, 2539, 2165, 2532, + 560, 560, 2149, 182, 182, 182, 182, 182, 2479, 2192, + 2166, 2416, 2414, 2199, 2212, 182, 2318, 1821, 1373, 742, + 182, 101, 2531, 182, 2405, 182, 2004, 2242, 182, 182, + 182, 1989, 100, 2227, 2183, 2732, 2731, 723, 2179, 1928, + 2236, 2262, 183, 1692, 183, 1284, 1275, 183, 2732, 2198, + 2213, 106, 107, 2200, 2639, 2452, 733, 1245, 2028, 103, + 88, 1, 2707, 2303, 529, 1682, 1230, 543, 2211, 182, + 2703, 2214, 1462, 1452, 2502, 561, 561, 561, 1654, 1655, + 2602, 2096, 560, 1827, 2190, 2477, 2190, 1791, 724, 2190, + 2204, 560, 725, 561, 561, 2264, 182, 953, 2265, 145, + 1754, 2244, 2245, 2255, 2247, 1755, 182, 2243, 2259, 2260, + 2246, 2266, 2687, 2324, 110, 914, 1497, 95, 109, 956, + 1055, 182, 1822, 2272, 182, 2492, 2241, 2054, 1763, 1310, + 1308, 2201, 2202, 2203, 2355, 1309, 2306, 1307, 2299, 2298, + 1312, 1311, 2233, 2300, 2301, 1929, 1536, 2233, 557, 2024, + 180, 2332, 1299, 2331, 2017, 2020, 2021, 2022, 2018, 1276, + 2019, 2023, 993, 2327, 1256, 1252, 519, 2295, 1854, 1793, + 2323, 525, 1168, 2336, 2206, 2335, 2319, 2041, 762, 1253, + 755, 1693, 1979, 2238, 2409, 2218, 2220, 1996, 2348, 2223, + 2216, 2351, 2632, 2533, 2679, 2388, 560, 182, 2350, 2051, + 2349, 1272, 1919, 1607, 1249, 1250, 1255, 1733, 1254, 1557, + 582, 2358, 581, 2357, 579, 1982, 2005, 1131, 2364, 651, + 1969, 1285, 2016, 2014, 2013, 1879, 1740, 2433, 2429, 2766, + 2320, 2699, 1735, 1731, 1988, 590, 583, 575, 2403, 183, + 2449, 2330, 2117, 561, 561, 2341, 2119, 2052, 2337, 1109, + 1248, 569, 926, 1604, 182, 2607, 2593, 1896, 2376, 183, + 1247, 1617, 1618, 2310, 2402, 1814, 2398, 2399, 63, 2428, + 41, 1645, 2455, 2406, 564, 2717, 1100, 182, 561, 2438, + 2413, 749, 183, 32, 31, 2418, 30, 561, 29, 28, + 23, 2444, 2445, 561, 22, 182, 21, 20, 182, 182, + 182, 19, 2435, 25, 18, 17, 16, 2727, 560, 560, + 2755, 115, 2352, 2353, 2442, 50, 47, 45, 122, 121, + 2332, 48, 2331, 44, 2443, 2450, 1030, 2451, 42, 27, + 2484, 2485, 26, 15, 14, 560, 560, 560, 560, 2460, + 13, 2462, 2361, 2362, 2458, 2363, 12, 11, 2365, 10, + 2367, 9, 2369, 5, 4, 2487, 35, 34, 33, 2498, + 1103, 24, 2473, 2, 2083, 2474, 2475, 2476, 1816, 0, + 0, 2496, 2497, 0, 0, 0, 0, 0, 0, 0, + 0, 1593, 0, 1593, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 1591, 0, 1591, 0, 0, 0, 0, 2507, 0, 0, 0, 2511, 0, 0, 2528, 0, 0, 2508, 0, 0, 560, 0, 560, 0, 0, @@ -1619,19 +1621,19 @@ var yyAct = [...]int{ 0, 0, 560, 0, 2589, 0, 2585, 561, 561, 0, 561, 2587, 561, 561, 2586, 561, 561, 561, 561, 561, 561, 2597, 2604, 560, 2596, 0, 0, 560, 560, 2592, - 561, 0, 0, 0, 183, 2190, 0, 2190, 178, 0, + 561, 0, 0, 0, 183, 2190, 0, 2190, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 560, 0, 2629, 2628, - 2631, 561, 120, 183, 0, 2233, 0, 2626, 2627, 0, - 2640, 0, 0, 0, 0, 162, 0, 561, 2643, 183, + 2631, 561, 0, 183, 0, 2233, 0, 2626, 2627, 0, + 2640, 0, 0, 0, 0, 0, 0, 561, 2643, 183, 0, 0, 560, 0, 0, 0, 0, 0, 0, 0, 0, 2236, 0, 2642, 0, 183, 0, 0, 0, 0, 1236, 1237, 183, 0, 2648, 717, 560, 182, 2646, 0, 0, 183, 183, 183, 183, 183, 183, 183, 183, 183, 561, 561, 561, 0, 0, 0, 2656, 0, 2659, 0, - 0, 0, 159, 0, 160, 1280, 0, 0, 0, 37, + 0, 0, 0, 0, 0, 1280, 0, 0, 0, 37, 0, 0, 560, 0, 763, 0, 0, 0, 0, 0, - 1300, 183, 0, 0, 177, 0, 0, 0, 560, 560, + 1300, 183, 0, 0, 0, 0, 0, 0, 560, 560, 0, 0, 0, 0, 0, 2672, 0, 560, 0, 0, 0, 0, 0, 0, 2660, 2680, 182, 560, 2604, 2688, 2682, 2686, 0, 0, 0, 2695, 2677, 0, 37, 0, @@ -1641,66 +1643,66 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 560, 561, 561, 0, 1593, 0, 2743, 2738, 0, 2740, 2742, 0, 0, 0, 2736, 2749, 0, 0, 1591, 0, 0, 0, 0, 0, 0, - 2757, 0, 0, 0, 0, 0, 0, 0, 2762, 0, - 0, 0, 0, 163, 0, 0, 1593, 0, 2765, 2773, - 0, 2772, 168, 1593, 183, 2775, 0, 0, 0, 561, - 1591, 0, 0, 0, 0, 2233, 0, 1591, 0, 0, + 2757, 0, 178, 0, 0, 0, 0, 0, 2762, 0, + 0, 0, 0, 0, 0, 0, 1593, 0, 2765, 2773, + 0, 2772, 0, 1593, 183, 2775, 120, 0, 0, 561, + 1591, 0, 0, 0, 0, 2233, 0, 1591, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 561, 0, 0, 0, 0, 183, 0, 183, 0, 183, 183, 561, 0, 0, 561, 0, 0, 918, 0, 0, - 0, 0, 0, 0, 0, 561, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 561, 159, 0, 160, 0, 1224, 0, 0, 0, 1404, 1404, 0, 1404, 0, 1404, - 1404, 0, 1413, 1404, 1404, 1404, 1404, 1404, 0, 0, + 1404, 0, 1413, 1404, 1404, 1404, 1404, 1404, 177, 0, 0, 0, 0, 0, 0, 1224, 1224, 918, 0, 0, - 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, - 561, 0, 0, 0, 0, 0, 0, 0, 1474, 0, - 0, 0, 0, 0, 0, 0, 0, 120, 0, 142, - 0, 0, 0, 0, 1494, 561, 0, 0, 0, 0, - 162, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 152, 0, 0, 0, 0, 141, 763, 763, 763, - 0, 0, 0, 561, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 160, - 0, 2563, 2565, 2564, 2574, 2575, 2576, 2577, 2578, 2579, - 2580, 612, 0, 0, 0, 129, 130, 151, 150, 177, - 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, + 561, 0, 0, 0, 0, 0, 0, 0, 1474, 0, + 0, 0, 0, 0, 0, 0, 0, 1144, 0, 0, + 1140, 120, 1141, 142, 1494, 561, 0, 0, 0, 0, + 0, 561, 0, 0, 162, 0, 1142, 1143, 1139, 1145, + 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1152, 1154, 1155, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 152, 0, 763, 763, 763, + 141, 0, 0, 561, 0, 0, 163, 0, 0, 0, + 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, + 0, 159, 0, 160, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 151, 150, 177, 0, 0, 183, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 183, 183, 0, 0, 183, 0, 183, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 1615, 1616, 0, 183, 561, 0, 0, - 0, 0, 156, 161, 158, 164, 165, 166, 167, 169, - 170, 171, 172, 0, 0, 0, 763, 0, 173, 174, - 175, 176, 0, 0, 0, 0, 146, 127, 153, 134, - 126, 0, 147, 148, 0, 0, 0, 0, 163, 0, - 0, 0, 0, 0, 0, 0, 1695, 168, 135, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 138, 136, 131, 132, 133, 137, 0, 0, - 0, 0, 0, 1707, 128, 0, 0, 0, 0, 0, - 0, 0, 0, 139, 0, 0, 0, 1280, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 763, 0, 155, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 127, 153, 134, 126, 0, 147, 148, 0, 0, 0, + 0, 163, 0, 0, 0, 0, 1695, 0, 0, 0, + 168, 135, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 138, 136, 131, 132, 133, + 137, 0, 0, 1707, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 139, 1280, 0, 0, 763, 0, 0, 0, 0, 0, 0, 0, 763, 0, 0, 763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 183, 0, 0, 0, 0, 2569, 2570, 0, + 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 561, 0, 0, 0, 0, - 155, 561, 0, 0, 0, 0, 0, 925, 0, 0, + 0, 561, 0, 155, 0, 0, 0, 925, 0, 0, 0, 1257, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 183, 0, 0, 925, 183, - 0, 0, 0, 0, 0, 0, 643, 0, 607, 609, - 644, 645, 0, 605, 608, 646, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, - 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, - 918, 0, 610, 611, 2562, 2566, 2567, 2568, 2571, 2572, - 2573, 0, 0, 0, 143, 0, 0, 144, 561, 0, - 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 156, 161, 158, 164, 165, + 166, 167, 169, 170, 171, 172, 0, 0, 0, 633, + 0, 173, 174, 175, 176, 0, 0, 0, 149, 0, + 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 561, 0, + 144, 0, 0, 183, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 561, 515, 0, 0, 555, 0, 0, 561, 0, 0, 0, 515, 0, 0, 0, 0, 561, 0, @@ -1709,78 +1711,78 @@ var yyAct = [...]int{ 0, 183, 183, 183, 183, 183, 0, 0, 0, 0, 0, 0, 748, 0, 748, 0, 0, 0, 183, 183, 0, 0, 515, 0, 1890, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 183, 0, 0, 156, 161, 158, - 164, 165, 166, 167, 169, 170, 171, 172, 178, 0, - 0, 0, 0, 173, 174, 175, 176, 0, 0, 1377, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 120, 0, 142, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 561, 152, 0, 0, 0, - 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, - 183, 0, 0, 0, 561, 0, 0, 0, 0, 0, - 0, 0, 159, 561, 160, 0, 0, 0, 0, 0, - 561, 561, 0, 183, 183, 183, 183, 183, 0, 0, - 1381, 1382, 151, 150, 177, 183, 763, 0, 0, 0, - 183, 0, 0, 183, 0, 183, 0, 0, 183, 183, - 183, 0, 1707, 0, 0, 0, 0, 0, 1983, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1998, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, - 0, 0, 0, 2725, 0, 0, 0, 0, 0, 0, - 0, 0, 561, 1327, 0, 0, 0, 0, 0, 0, - 0, 561, 0, 0, 0, 0, 183, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, - 0, 146, 1383, 153, 0, 1380, 0, 147, 148, 0, - 0, 183, 0, 163, 183, 0, 0, 0, 0, 0, - 0, 0, 168, 0, 0, 2073, 0, 0, 0, 0, + 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, + 156, 161, 158, 164, 165, 166, 167, 169, 170, 171, + 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1707, - 0, 0, 0, 0, 0, 0, 2098, 0, 0, 0, - 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 561, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 78, 39, 40, 80, 0, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1315, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 561, 0, 0, 43, 69, + 70, 0, 67, 71, 0, 0, 0, 0, 0, 0, + 183, 68, 0, 0, 561, 0, 0, 0, 0, 0, + 0, 0, 0, 561, 0, 0, 0, 0, 0, 0, + 561, 561, 0, 183, 183, 183, 183, 183, 0, 0, + 56, 0, 0, 0, 0, 183, 763, 0, 0, 0, + 183, 87, 0, 183, 0, 183, 0, 0, 183, 183, + 183, 178, 1707, 0, 0, 0, 0, 0, 1983, 0, + 0, 0, 1377, 0, 0, 0, 0, 0, 0, 1998, + 0, 0, 0, 0, 0, 120, 0, 142, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 162, 183, + 2563, 2565, 2564, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 612, 0, 561, 0, 0, 0, 0, 0, 0, 0, + 0, 561, 0, 0, 0, 0, 183, 0, 0, 152, + 0, 0, 0, 0, 141, 0, 183, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 183, 0, 0, 183, 159, 0, 160, 0, 0, + 0, 0, 0, 0, 0, 2073, 0, 0, 0, 0, + 0, 0, 0, 1381, 1382, 151, 150, 177, 0, 0, + 0, 0, 0, 0, 46, 49, 52, 51, 54, 1707, + 66, 0, 0, 75, 72, 0, 2098, 0, 0, 0, + 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 83, 82, 0, + 0, 64, 65, 53, 0, 0, 561, 183, 0, 73, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 58, 0, 59, 60, + 61, 62, 0, 146, 1383, 153, 0, 1380, 0, 147, + 148, 0, 0, 0, 183, 163, 0, 0, 0, 0, + 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 515, 0, 515, 0, 0, 515, 183, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 1224, 0, 0, 1224, 0, 0, 0, 183, 763, 0, 183, 183, - 183, 0, 0, 0, 0, 1328, 0, 0, 561, 561, + 183, 0, 0, 0, 0, 2569, 2570, 0, 561, 561, 0, 0, 1404, 0, 0, 0, 0, 0, 0, 0, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2215, 0, 0, 0, 561, 561, 561, 561, 143, - 763, 0, 144, 0, 1224, 0, 0, 2240, 1404, 1224, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1341, - 1344, 1345, 1346, 1347, 1348, 1349, 0, 1350, 1351, 1352, - 1353, 1354, 1329, 1330, 1331, 1332, 1313, 1314, 1342, 0, - 1316, 0, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, - 1325, 183, 0, 1326, 1333, 1334, 1335, 1336, 1337, 1338, - 1339, 1340, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2215, 0, 0, 0, 561, 561, 561, 561, 0, + 763, 0, 0, 0, 1224, 0, 0, 2240, 1404, 1224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 643, 0, 607, 609, 644, 645, + 0, 605, 608, 646, 0, 0, 0, 155, 0, 0, + 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, + 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, + 610, 611, 2562, 2566, 2567, 2568, 2571, 2572, 2573, 0, 0, 0, 0, 0, 0, 561, 1225, 561, 0, 0, 0, 0, 0, 0, 0, 0, 1259, 1261, 0, 918, 0, 0, 1224, 0, 0, 0, 0, 0, 1707, 0, - 0, 0, 156, 161, 158, 164, 165, 166, 167, 169, - 170, 171, 172, 0, 0, 0, 0, 0, 173, 174, - 175, 176, 0, 0, 658, 79, 0, 0, 515, 0, - 0, 0, 561, 0, 0, 78, 39, 40, 80, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 658, 79, 0, 0, 515, 0, + 0, 143, 561, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, - 0, 0, 561, 0, 0, 84, 0, 1343, 0, 43, - 69, 70, 0, 67, 71, 0, 0, 0, 0, 0, - 0, 515, 68, 561, 0, 0, 0, 561, 561, 0, + 0, 0, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 515, 0, 561, 0, 0, 0, 561, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 720, 2215, 79, 0, 561, 0, 0, 0, - 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 561, 183, 0, 0, + 0, 0, 720, 2215, 79, 0, 561, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 561, 0, 156, 161, 158, 164, 165, 166, + 167, 169, 170, 171, 172, 0, 0, 0, 0, 0, + 173, 174, 175, 176, 0, 0, 561, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1789,65 +1791,65 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 1707, 1707, 561, 0, 0, 0, 0, 0, 0, 0, 0, 183, 561, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, - 0, 0, 2503, 2504, 2505, 2506, 46, 49, 52, 51, - 54, 0, 66, 0, 0, 75, 72, 0, 0, 0, + 0, 0, 2503, 2504, 2505, 2506, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, - 0, 0, 0, 0, 0, 561, 0, 0, 55, 83, - 82, 0, 1225, 64, 65, 53, 0, 1224, 0, 1224, - 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 561, 0, 0, 0, 0, + 0, 0, 1225, 0, 0, 0, 0, 1224, 0, 1224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 1225, 0, 0, 0, 0, 515, 0, 0, 0, 1224, 0, 0, - 0, 0, 2550, 0, 2552, 0, 0, 57, 58, 1450, - 59, 60, 61, 62, 0, 0, 0, 0, 0, 0, + 0, 0, 2550, 0, 2552, 0, 0, 0, 0, 1450, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 515, 0, 0, 0, 0, 1707, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 1519, 1520, 515, 515, 515, 515, 515, 515, 515, 763, - 0, 0, 0, 0, 0, 1327, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2622, 0, 0, 0, 2622, 2622, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 1611, 0, 0, 0, 1612, 0, 0, 0, 0, - 0, 0, 0, 1707, 0, 81, 0, 0, 0, 0, + 0, 0, 0, 1707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, - 0, 0, 0, 0, 0, 86, 0, 0, 0, 1707, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1707, 0, 0, 0, 0, 748, 0, 0, 0, 0, 1259, 1680, 748, 748, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 1707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1703, 0, 0, 0, 0, 748, 1496, 748, 748, 748, 748, 748, 0, 0, 0, 1224, 0, 2673, - 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0, - 0, 0, 0, 1450, 0, 763, 763, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1315, 0, 0, 1450, 0, 763, 763, 0, 0, 0, 0, 0, 0, 0, 2696, 0, 0, 0, 748, 1091, 1091, 1091, 0, 0, 2701, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 1496, 0, 515, 0, 515, 0, 515, 1742, 0, 0, 0, 0, 1707, 0, 720, 1164, 1165, 1166, - 0, 1169, 2701, 1171, 1172, 1173, 1174, 1328, 1177, 1179, - 1179, 0, 1179, 1183, 1183, 1185, 1186, 1187, 1188, 1189, + 0, 1169, 2701, 1171, 1172, 1173, 1174, 0, 1177, 1179, + 1179, 1328, 1179, 1183, 1183, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 0, 1209, 1210, 1211, 1212, 1213, 0, 0, 0, 0, 1183, 1183, - 1183, 1183, 659, 660, 0, 0, 0, 0, 1592, 0, - 0, 1341, 1344, 1345, 1346, 1347, 1348, 1349, 0, 1350, - 1351, 1352, 1353, 1354, 1329, 1330, 1331, 1332, 1313, 1314, - 1342, 0, 1316, 0, 1317, 1318, 1319, 1320, 1321, 1322, - 1323, 1324, 1325, 0, 0, 1326, 1333, 1334, 1335, 1336, - 1337, 1338, 1339, 1340, 0, 0, 0, 0, 0, 0, + 1183, 1183, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1341, 1344, 1345, 1346, 1347, + 1348, 1349, 0, 1350, 1351, 1352, 1353, 1354, 1329, 1330, + 1331, 1332, 1313, 1314, 1342, 0, 1316, 0, 1317, 1318, + 1319, 1320, 1321, 1322, 1323, 1324, 1325, 0, 0, 1326, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 0, 0, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 720, 0, 0, 0, 720, 0, 0, 0, 0, - 0, 720, 0, 0, 666, 667, 668, 669, 670, 671, - 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, - 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 706, 515, 0, 0, 0, 0, + 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0, + 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 515, 515, 0, - 0, 515, 0, 1882, 0, 0, 0, 0, 0, 1343, - 515, 0, 0, 0, 0, 0, 0, 515, 0, 0, + 0, 515, 0, 1882, 0, 0, 0, 0, 0, 0, + 515, 0, 0, 1343, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 1909, 0, 0, @@ -1857,34 +1859,34 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1931, 1932, 1933, 1934, 1935, 0, 1937, 0, 0, 0, 0, 0, 1941, 0, 1942, 0, 0, 0, - 1945, 0, 0, 0, 748, 0, 0, 0, 1954, 0, + 1945, 0, 0, 0, 748, 0, 1315, 0, 1954, 0, 0, 0, 0, 0, 0, 1959, 1960, 1961, 1962, 1963, 0, 1703, 0, 0, 1129, 0, 0, 0, 0, 0, 0, 0, 1976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1176, 87, 0, 0, 0, 0, 0, 652, - 659, 660, 661, 662, 663, 653, 655, 748, 748, 0, - 654, 0, 0, 0, 0, 0, 0, 0, 1496, 0, - 0, 515, 0, 657, 664, 665, 0, 0, 0, 1450, + 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 748, 748, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, + 0, 515, 0, 0, 0, 0, 0, 1328, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2333, 2334, 1978, 0, 515, 659, 660, 0, 515, 0, - 0, 1592, 666, 667, 668, 669, 670, 671, 672, 673, - 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, - 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, - 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, - 704, 705, 706, 0, 1091, 1091, 1091, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1978, 0, 0, 659, + 660, 0, 0, 0, 515, 1592, 0, 0, 515, 0, + 0, 1341, 1344, 1345, 1346, 1347, 1348, 1349, 0, 1350, + 1351, 1352, 1353, 1354, 1329, 1330, 1331, 1332, 1313, 1314, + 1342, 0, 1316, 0, 1317, 1318, 1319, 1320, 1321, 1322, + 1323, 1324, 1325, 0, 0, 1326, 1333, 1334, 1335, 1336, + 1337, 1338, 1339, 1340, 1091, 1091, 1091, 0, 0, 0, 0, 0, 1274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 2082, - 0, 0, 0, 0, 0, 0, 0, 666, 667, 668, - 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, - 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, - 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, - 699, 700, 701, 702, 703, 704, 705, 706, 0, 0, + 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 515, 515, 515, 515, 0, 0, 0, 0, 0, - 0, 2176, 0, 0, 0, 0, 0, 515, 515, 0, + 0, 2176, 0, 0, 0, 0, 0, 515, 515, 1343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2191, 0, 515, 0, 0, 0, 2196, 2197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 748, 0, @@ -1893,8 +1895,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 1225, 2239, 0, 1225, 0, 0, 0, 748, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 643, 2257, 2258, - 0, 644, 645, 0, 0, 0, 646, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2257, 2258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, @@ -1964,33 +1966,33 @@ var yyAct = [...]int{ 0, 2723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1450, 0, 0, 0, 87, - 0, 0, 0, 0, 0, 652, 659, 660, 661, 662, - 663, 653, 655, 0, 1734, 1176, 654, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, - 664, 665, 2237, 0, 79, 0, 0, 1734, 1734, 1734, + 0, 0, 0, 0, 0, 1450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1734, 1176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2237, 0, 79, 0, 0, 1734, 1734, 1734, 1734, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2029, 720, 0, 0, 0, 1734, 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2333, 2334, 0, 0, - 0, 0, 0, 0, 0, 0, 1274, 0, 666, 667, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1274, 0, 0, 87, + 0, 0, 0, 0, 0, 652, 659, 660, 661, 662, + 663, 653, 655, 0, 0, 0, 654, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, + 664, 665, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2329, 0, 0, 0, 0, 659, 660, 0, + 0, 0, 0, 1592, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2333, 2334, 0, 0, 0, + 0, 0, 0, 0, 0, 2359, 0, 666, 667, 668, + 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 0, - 0, 0, 2329, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2359, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2167, 2168, 1734, 0, @@ -2002,20 +2004,20 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 2488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2261, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2228, 0, 0, 0, 87, 0, + 0, 0, 0, 0, 652, 659, 660, 661, 662, 663, + 653, 655, 0, 0, 0, 654, 0, 0, 0, 0, + 0, 2261, 643, 0, 0, 0, 644, 645, 657, 664, + 665, 646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2522, 0, 2526, 2527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2237, 0, 79, 0, - 2237, 0, 0, 0, 0, 0, 0, 2316, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2237, 0, 0, 0, 2333, 2334, 0, 2316, 0, 0, + 0, 0, 0, 0, 0, 0, 666, 667, 668, 669, + 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 0, 0, 0, 0, 2594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2055,73 +2057,65 @@ 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, 2630, 573, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2665, - 0, 0, 0, 896, 881, 436, 0, 828, 899, 797, - 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, - 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, - 898, 312, 241, 778, 802, 371, 818, 193, 865, 412, - 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, - 369, 430, 363, 905, 316, 852, 0, 421, 342, 0, - 0, 2715, 832, 887, 840, 877, 827, 864, 786, 851, - 900, 814, 860, 901, 287, 226, 192, 354, 422, 259, - 0, 0, 0, 0, 184, 185, 186, 0, 2689, 0, - 2690, 0, 0, 0, 0, 0, 0, 217, 0, 224, - 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, - 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, - 906, 886, 775, 839, 894, 0, 0, 209, 339, 897, - 834, 0, 862, 0, 912, 770, 854, 0, 773, 777, - 908, 890, 805, 249, 0, 0, 0, 0, 0, 0, - 0, 831, 841, 874, 825, 0, 0, 0, 0, 0, - 0, 0, 803, 0, 850, 0, 0, 0, 782, 774, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2630, 573, 0, 0, 0, 0, 0, 339, 0, + 0, 896, 881, 436, 0, 828, 899, 797, 816, 909, + 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, + 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, + 241, 778, 802, 371, 818, 193, 865, 412, 228, 322, + 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, + 363, 905, 316, 852, 573, 421, 342, 0, 0, 0, + 832, 887, 840, 877, 827, 864, 786, 851, 900, 814, + 860, 901, 287, 226, 192, 354, 422, 259, 0, 2665, + 0, 0, 184, 185, 186, 0, 2689, 0, 2690, 0, + 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, + 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, + 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, + 775, 839, 894, 0, 0, 209, 897, 834, 0, 862, + 0, 912, 770, 854, 0, 773, 777, 908, 890, 805, + 249, 2715, 0, 0, 0, 0, 0, 0, 831, 841, + 874, 825, 0, 0, 0, 0, 0, 0, 0, 803, + 0, 850, 0, 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 829, 0, 0, 0, 785, 0, 804, 875, 0, - 767, 268, 779, 343, 231, 0, 879, 889, 826, 474, - 893, 824, 823, 869, 783, 885, 817, 311, 781, 293, - 188, 205, 0, 815, 353, 394, 400, 884, 800, 809, - 229, 807, 398, 367, 458, 213, 257, 391, 372, 396, - 379, 260, 849, 867, 397, 317, 445, 386, 455, 475, - 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, - 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, - 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, - 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, - 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, - 490, 208, 470, 201, 1093, 469, 349, 444, 452, 337, - 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, - 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, - 195, 0, 423, 463, 491, 214, 215, 216, 795, 252, - 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, - 387, 880, 439, 456, 466, 473, 479, 480, 482, 483, - 484, 485, 486, 348, 278, 419, 294, 318, 872, 911, - 366, 399, 219, 460, 420, 790, 794, 788, 789, 844, - 845, 791, 902, 903, 904, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 0, 876, 784, 0, 792, 793, 0, - 882, 891, 892, 510, 328, 411, 457, 296, 301, 304, - 848, 187, 202, 314, 907, 388, 261, 488, 468, 464, - 769, 787, 236, 798, 806, 0, 812, 820, 821, 833, - 835, 836, 837, 838, 855, 856, 858, 866, 868, 871, - 873, 878, 888, 910, 189, 190, 203, 212, 222, 235, - 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, - 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, - 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, - 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 270, 454, 478, 0, 323, 847, 853, 325, 254, 273, - 284, 861, 467, 425, 207, 395, 262, 196, 225, 210, - 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, - 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 843, 870, 321, 437, 438, 280, 896, 881, 436, + 0, 0, 0, 0, 0, 0, 0, 0, 829, 0, + 0, 0, 785, 0, 804, 875, 0, 767, 268, 779, + 343, 231, 0, 879, 889, 826, 474, 893, 824, 823, + 869, 783, 885, 817, 311, 781, 293, 188, 205, 0, + 815, 353, 394, 400, 884, 800, 809, 229, 807, 398, + 367, 458, 213, 257, 391, 372, 396, 379, 260, 849, + 867, 397, 317, 445, 386, 455, 475, 476, 237, 347, + 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, + 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, + 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, + 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, + 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, + 201, 1093, 469, 349, 444, 452, 337, 327, 200, 450, + 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, + 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, + 463, 491, 214, 215, 216, 795, 252, 256, 263, 265, + 271, 272, 279, 313, 360, 383, 381, 387, 880, 439, + 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, + 348, 278, 419, 294, 318, 872, 911, 366, 399, 219, + 460, 420, 790, 794, 788, 789, 844, 845, 791, 902, + 903, 904, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 0, 876, 784, 0, 792, 793, 0, 882, 891, 892, + 510, 328, 411, 457, 296, 301, 304, 848, 187, 202, + 314, 907, 388, 261, 488, 468, 464, 769, 787, 236, + 798, 806, 0, 812, 820, 821, 833, 835, 836, 837, + 838, 855, 856, 858, 866, 868, 871, 873, 878, 888, + 910, 189, 190, 203, 212, 222, 235, 250, 258, 269, + 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, + 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, + 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, + 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, + 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, + 0, 323, 847, 853, 325, 254, 273, 284, 861, 467, + 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, + 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, + 410, 431, 432, 433, 435, 338, 240, 373, 843, 870, + 321, 437, 438, 280, 339, 0, 0, 896, 881, 436, 0, 828, 899, 797, 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, 241, 778, 802, 371, @@ -2134,281 +2128,282 @@ var yyAct = [...]int{ 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, 775, 839, 894, 0, - 0, 209, 339, 897, 834, 0, 862, 0, 912, 770, - 854, 0, 773, 777, 908, 890, 805, 249, 0, 0, - 0, 0, 0, 0, 0, 831, 841, 874, 825, 0, - 0, 0, 0, 0, 2268, 0, 803, 0, 850, 0, - 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 897, 834, 0, 862, 0, 912, 770, 854, + 0, 773, 777, 908, 890, 805, 249, 0, 0, 0, + 0, 0, 0, 0, 831, 841, 874, 825, 0, 0, + 0, 0, 0, 2268, 0, 803, 0, 850, 0, 0, + 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 829, 0, 0, 0, 785, - 0, 804, 875, 0, 767, 268, 779, 343, 231, 0, - 879, 889, 826, 474, 893, 824, 823, 869, 783, 885, - 817, 311, 781, 293, 188, 205, 0, 815, 353, 394, - 400, 884, 800, 809, 229, 807, 398, 367, 458, 213, - 257, 391, 372, 396, 379, 260, 849, 867, 397, 317, - 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, - 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, - 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, - 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, - 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 1093, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 795, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 880, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, - 294, 318, 872, 911, 366, 399, 219, 460, 420, 790, - 794, 788, 789, 844, 845, 791, 902, 903, 904, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 876, 784, - 0, 792, 793, 0, 882, 891, 892, 510, 328, 411, - 457, 296, 301, 304, 848, 187, 202, 314, 907, 388, - 261, 488, 468, 464, 769, 787, 236, 798, 806, 0, - 812, 820, 821, 833, 835, 836, 837, 838, 855, 856, - 858, 866, 868, 871, 873, 878, 888, 910, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 847, - 853, 325, 254, 273, 284, 861, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 843, 870, 321, 437, 438, - 280, 896, 881, 436, 0, 828, 899, 797, 816, 909, - 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, - 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, - 241, 778, 802, 371, 818, 193, 865, 412, 228, 322, - 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, - 363, 905, 316, 852, 0, 421, 342, 0, 0, 0, - 832, 887, 840, 877, 827, 864, 786, 851, 900, 814, - 860, 901, 287, 226, 192, 354, 422, 259, 0, 0, - 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, - 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, - 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, - 775, 839, 894, 0, 0, 209, 339, 897, 834, 0, - 862, 0, 912, 770, 854, 0, 773, 777, 908, 890, - 805, 249, 0, 0, 0, 0, 0, 0, 0, 831, - 841, 874, 825, 0, 0, 0, 0, 0, 2226, 0, - 803, 0, 850, 0, 0, 0, 782, 774, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 829, 0, 0, 0, 785, 0, + 804, 875, 0, 767, 268, 779, 343, 231, 0, 879, + 889, 826, 474, 893, 824, 823, 869, 783, 885, 817, + 311, 781, 293, 188, 205, 0, 815, 353, 394, 400, + 884, 800, 809, 229, 807, 398, 367, 458, 213, 257, + 391, 372, 396, 379, 260, 849, 867, 397, 317, 445, + 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, + 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, + 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, + 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, + 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, + 448, 449, 230, 490, 208, 470, 201, 1093, 469, 349, + 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, + 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, + 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, + 216, 795, 252, 256, 263, 265, 271, 272, 279, 313, + 360, 383, 381, 387, 880, 439, 456, 466, 473, 479, + 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, + 318, 872, 911, 366, 399, 219, 460, 420, 790, 794, + 788, 789, 844, 845, 791, 902, 903, 904, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 0, 876, 784, 0, + 792, 793, 0, 882, 891, 892, 510, 328, 411, 457, + 296, 301, 304, 848, 187, 202, 314, 907, 388, 261, + 488, 468, 464, 769, 787, 236, 798, 806, 0, 812, + 820, 821, 833, 835, 836, 837, 838, 855, 856, 858, + 866, 868, 871, 873, 878, 888, 910, 189, 190, 203, + 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, + 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, + 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, + 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, + 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, + 459, 472, 477, 270, 454, 478, 0, 323, 847, 853, + 325, 254, 273, 284, 861, 467, 425, 207, 395, 262, + 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, + 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, + 435, 338, 240, 373, 843, 870, 321, 437, 438, 280, + 339, 0, 0, 896, 881, 436, 0, 828, 899, 797, + 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, + 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, + 898, 312, 241, 778, 802, 371, 818, 193, 865, 412, + 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, + 369, 430, 363, 905, 316, 852, 0, 421, 342, 0, + 0, 0, 832, 887, 840, 877, 827, 864, 786, 851, + 900, 814, 860, 901, 287, 226, 192, 354, 422, 259, + 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, + 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, + 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, + 906, 886, 775, 839, 894, 0, 0, 209, 897, 834, + 0, 862, 0, 912, 770, 854, 0, 773, 777, 908, + 890, 805, 249, 0, 0, 0, 0, 0, 0, 0, + 831, 841, 874, 825, 0, 0, 0, 0, 0, 2226, + 0, 803, 0, 850, 0, 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 829, - 0, 0, 0, 785, 0, 804, 875, 0, 767, 268, - 779, 343, 231, 0, 879, 889, 826, 474, 893, 824, - 823, 869, 783, 885, 817, 311, 781, 293, 188, 205, - 0, 815, 353, 394, 400, 884, 800, 809, 229, 807, - 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, - 849, 867, 397, 317, 445, 386, 455, 475, 476, 237, - 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, - 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, - 204, 406, 221, 211, 197, 429, 453, 218, 409, 0, - 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, - 390, 242, 264, 232, 356, 448, 449, 230, 490, 208, - 470, 201, 1093, 469, 349, 444, 452, 337, 327, 200, - 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, - 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, - 423, 463, 491, 214, 215, 216, 795, 252, 256, 263, - 265, 271, 272, 279, 313, 360, 383, 381, 387, 880, - 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, - 486, 348, 278, 419, 294, 318, 872, 911, 366, 399, - 219, 460, 420, 790, 794, 788, 789, 844, 845, 791, - 902, 903, 904, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 0, 876, 784, 0, 792, 793, 0, 882, 891, - 892, 510, 328, 411, 457, 296, 301, 304, 848, 187, - 202, 314, 907, 388, 261, 488, 468, 464, 769, 787, - 236, 798, 806, 0, 812, 820, 821, 833, 835, 836, - 837, 838, 855, 856, 858, 866, 868, 871, 873, 878, - 888, 910, 189, 190, 203, 212, 222, 235, 250, 258, - 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, - 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, - 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, - 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, - 478, 0, 323, 847, 853, 325, 254, 273, 284, 861, - 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, - 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 843, - 870, 321, 437, 438, 280, 896, 881, 436, 0, 828, - 899, 797, 816, 909, 819, 822, 863, 776, 842, 357, - 813, 768, 801, 771, 808, 772, 799, 830, 244, 796, - 883, 846, 898, 312, 241, 778, 802, 371, 818, 193, - 865, 412, 228, 322, 319, 443, 255, 247, 243, 227, - 281, 329, 369, 430, 363, 905, 316, 852, 0, 421, - 342, 0, 0, 0, 832, 887, 840, 877, 827, 864, - 786, 851, 900, 814, 860, 901, 287, 226, 192, 354, - 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, - 305, 308, 810, 857, 895, 811, 859, 239, 285, 246, - 238, 440, 906, 886, 775, 839, 894, 0, 0, 209, - 339, 897, 834, 0, 862, 0, 912, 770, 854, 0, - 773, 777, 908, 890, 805, 249, 0, 0, 0, 0, - 0, 0, 0, 831, 841, 874, 825, 0, 0, 0, - 0, 0, 1722, 0, 803, 0, 850, 0, 0, 0, - 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 829, 0, 0, 0, 785, 0, 804, - 875, 0, 767, 268, 779, 343, 231, 0, 879, 889, - 826, 474, 893, 824, 823, 869, 783, 885, 817, 311, - 781, 293, 188, 205, 0, 815, 353, 394, 400, 884, - 800, 809, 229, 807, 398, 367, 458, 213, 257, 391, - 372, 396, 379, 260, 849, 867, 397, 317, 445, 386, - 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, - 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, - 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, - 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, - 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, - 449, 230, 490, 208, 470, 201, 1093, 469, 349, 444, - 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, - 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, - 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, - 795, 252, 256, 263, 265, 271, 272, 279, 313, 360, - 383, 381, 387, 880, 439, 456, 466, 473, 479, 480, - 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, - 872, 911, 366, 399, 219, 460, 420, 790, 794, 788, - 789, 844, 845, 791, 902, 903, 904, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 0, 876, 784, 0, 792, - 793, 0, 882, 891, 892, 510, 328, 411, 457, 296, - 301, 304, 848, 187, 202, 314, 907, 388, 261, 488, - 468, 464, 769, 787, 236, 798, 806, 0, 812, 820, - 821, 833, 835, 836, 837, 838, 855, 856, 858, 866, - 868, 871, 873, 878, 888, 910, 189, 190, 203, 212, - 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, - 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, - 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, - 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, - 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, - 472, 477, 270, 454, 478, 0, 323, 847, 853, 325, - 254, 273, 284, 861, 467, 425, 207, 395, 262, 196, - 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, - 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 843, 870, 321, 437, 438, 280, 896, - 881, 436, 0, 828, 899, 797, 816, 909, 819, 822, + 829, 0, 0, 0, 785, 0, 804, 875, 0, 767, + 268, 779, 343, 231, 0, 879, 889, 826, 474, 893, + 824, 823, 869, 783, 885, 817, 311, 781, 293, 188, + 205, 0, 815, 353, 394, 400, 884, 800, 809, 229, + 807, 398, 367, 458, 213, 257, 391, 372, 396, 379, + 260, 849, 867, 397, 317, 445, 386, 455, 475, 476, + 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, + 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, + 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, + 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, + 0, 390, 242, 264, 232, 356, 448, 449, 230, 490, + 208, 470, 201, 1093, 469, 349, 444, 452, 337, 327, + 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, + 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, + 0, 423, 463, 491, 214, 215, 216, 795, 252, 256, + 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, + 880, 439, 456, 466, 473, 479, 480, 482, 483, 484, + 485, 486, 348, 278, 419, 294, 318, 872, 911, 366, + 399, 219, 460, 420, 790, 794, 788, 789, 844, 845, + 791, 902, 903, 904, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 0, 876, 784, 0, 792, 793, 0, 882, + 891, 892, 510, 328, 411, 457, 296, 301, 304, 848, + 187, 202, 314, 907, 388, 261, 488, 468, 464, 769, + 787, 236, 798, 806, 0, 812, 820, 821, 833, 835, + 836, 837, 838, 855, 856, 858, 866, 868, 871, 873, + 878, 888, 910, 189, 190, 203, 212, 222, 235, 250, + 258, 269, 274, 277, 282, 283, 286, 291, 324, 330, + 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, + 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, + 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, + 415, 416, 424, 428, 446, 447, 459, 472, 477, 270, + 454, 478, 0, 323, 847, 853, 325, 254, 273, 284, + 861, 467, 425, 207, 395, 262, 196, 225, 210, 233, + 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, + 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, + 843, 870, 321, 437, 438, 280, 339, 0, 0, 896, + 881, 436, 0, 828, 899, 797, 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, 241, 778, 802, 371, 818, 193, 865, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, 905, 316, 852, 0, 421, 342, 0, 0, 0, 832, 887, 840, 877, 827, 864, 786, 851, 900, 814, 860, 901, - 287, 226, 192, 354, 422, 259, 0, 87, 0, 0, + 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, 775, 839, - 894, 0, 0, 209, 339, 897, 834, 0, 862, 0, - 912, 770, 854, 0, 773, 777, 908, 890, 805, 249, - 0, 0, 0, 0, 0, 0, 0, 831, 841, 874, - 825, 0, 0, 0, 0, 0, 0, 0, 803, 0, - 850, 0, 0, 0, 782, 774, 0, 0, 0, 0, + 894, 0, 0, 209, 897, 834, 0, 862, 0, 912, + 770, 854, 0, 773, 777, 908, 890, 805, 249, 0, + 0, 0, 0, 0, 0, 0, 831, 841, 874, 825, + 0, 0, 0, 0, 0, 1722, 0, 803, 0, 850, + 0, 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 829, 0, 0, - 0, 785, 0, 804, 875, 0, 767, 268, 779, 343, - 231, 0, 879, 889, 826, 474, 893, 824, 823, 869, - 783, 885, 817, 311, 781, 293, 188, 205, 0, 815, - 353, 394, 400, 884, 800, 809, 229, 807, 398, 367, - 458, 213, 257, 391, 372, 396, 379, 260, 849, 867, - 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, - 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, - 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, - 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, - 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, - 264, 232, 356, 448, 449, 230, 490, 208, 470, 201, - 1093, 469, 349, 444, 452, 337, 327, 200, 450, 335, - 326, 295, 309, 310, 253, 275, 384, 320, 385, 276, - 345, 344, 346, 194, 462, 0, 195, 0, 423, 463, - 491, 214, 215, 216, 795, 252, 256, 263, 265, 271, - 272, 279, 313, 360, 383, 381, 387, 880, 439, 456, - 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, - 278, 419, 294, 318, 872, 911, 366, 399, 219, 460, - 420, 790, 794, 788, 789, 844, 845, 791, 902, 903, - 904, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, - 876, 784, 0, 792, 793, 0, 882, 891, 892, 510, - 328, 411, 457, 296, 301, 304, 848, 187, 202, 314, - 907, 388, 261, 488, 468, 464, 769, 787, 236, 798, - 806, 0, 812, 820, 821, 833, 835, 836, 837, 838, - 855, 856, 858, 866, 868, 871, 873, 878, 888, 910, - 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, - 277, 282, 283, 286, 291, 324, 330, 331, 332, 333, - 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, - 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, - 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, - 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, - 323, 847, 853, 325, 254, 273, 284, 861, 467, 425, - 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, - 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, - 431, 432, 433, 435, 338, 240, 373, 843, 870, 321, - 437, 438, 280, 896, 881, 436, 0, 828, 899, 797, - 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, - 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, - 898, 312, 241, 778, 802, 371, 818, 193, 865, 412, - 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, - 369, 430, 363, 905, 316, 852, 0, 421, 342, 0, - 0, 0, 832, 887, 840, 877, 827, 864, 786, 851, - 900, 814, 860, 901, 287, 226, 192, 354, 422, 259, - 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, - 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, - 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, - 906, 886, 775, 839, 894, 0, 0, 209, 339, 897, - 834, 0, 862, 0, 912, 770, 854, 0, 773, 777, - 908, 890, 805, 249, 0, 0, 0, 0, 0, 0, - 0, 831, 841, 874, 825, 0, 0, 0, 0, 0, - 0, 0, 803, 0, 850, 0, 0, 0, 782, 774, + 0, 0, 0, 0, 0, 0, 829, 0, 0, 0, + 785, 0, 804, 875, 0, 767, 268, 779, 343, 231, + 0, 879, 889, 826, 474, 893, 824, 823, 869, 783, + 885, 817, 311, 781, 293, 188, 205, 0, 815, 353, + 394, 400, 884, 800, 809, 229, 807, 398, 367, 458, + 213, 257, 391, 372, 396, 379, 260, 849, 867, 397, + 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, + 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, + 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, + 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, + 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, + 232, 356, 448, 449, 230, 490, 208, 470, 201, 1093, + 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, + 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, + 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, + 214, 215, 216, 795, 252, 256, 263, 265, 271, 272, + 279, 313, 360, 383, 381, 387, 880, 439, 456, 466, + 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, + 419, 294, 318, 872, 911, 366, 399, 219, 460, 420, + 790, 794, 788, 789, 844, 845, 791, 902, 903, 904, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 0, 876, + 784, 0, 792, 793, 0, 882, 891, 892, 510, 328, + 411, 457, 296, 301, 304, 848, 187, 202, 314, 907, + 388, 261, 488, 468, 464, 769, 787, 236, 798, 806, + 0, 812, 820, 821, 833, 835, 836, 837, 838, 855, + 856, 858, 866, 868, 871, 873, 878, 888, 910, 189, + 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, + 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, + 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, + 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, + 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, + 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, + 847, 853, 325, 254, 273, 284, 861, 467, 425, 207, + 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, + 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, + 432, 433, 435, 338, 240, 373, 843, 870, 321, 437, + 438, 280, 339, 0, 0, 896, 881, 436, 0, 828, + 899, 797, 816, 909, 819, 822, 863, 776, 842, 357, + 813, 768, 801, 771, 808, 772, 799, 830, 244, 796, + 883, 846, 898, 312, 241, 778, 802, 371, 818, 193, + 865, 412, 228, 322, 319, 443, 255, 247, 243, 227, + 281, 329, 369, 430, 363, 905, 316, 852, 0, 421, + 342, 0, 0, 0, 832, 887, 840, 877, 827, 864, + 786, 851, 900, 814, 860, 901, 287, 226, 192, 354, + 422, 259, 0, 87, 0, 0, 184, 185, 186, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, + 305, 308, 810, 857, 895, 811, 859, 239, 285, 246, + 238, 440, 906, 886, 775, 839, 894, 0, 0, 209, + 897, 834, 0, 862, 0, 912, 770, 854, 0, 773, + 777, 908, 890, 805, 249, 0, 0, 0, 0, 0, + 0, 0, 831, 841, 874, 825, 0, 0, 0, 0, + 0, 0, 0, 803, 0, 850, 0, 0, 0, 782, + 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 829, 0, 0, 0, 785, 0, 804, 875, + 0, 767, 268, 779, 343, 231, 0, 879, 889, 826, + 474, 893, 824, 823, 869, 783, 885, 817, 311, 781, + 293, 188, 205, 0, 815, 353, 394, 400, 884, 800, + 809, 229, 807, 398, 367, 458, 213, 257, 391, 372, + 396, 379, 260, 849, 867, 397, 317, 445, 386, 455, + 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, + 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, + 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, + 218, 409, 0, 0, 489, 199, 451, 426, 336, 289, + 290, 198, 0, 390, 242, 264, 232, 356, 448, 449, + 230, 490, 208, 470, 201, 1093, 469, 349, 444, 452, + 337, 327, 200, 450, 335, 326, 295, 309, 310, 253, + 275, 384, 320, 385, 276, 345, 344, 346, 194, 462, + 0, 195, 0, 423, 463, 491, 214, 215, 216, 795, + 252, 256, 263, 265, 271, 272, 279, 313, 360, 383, + 381, 387, 880, 439, 456, 466, 473, 479, 480, 482, + 483, 484, 485, 486, 348, 278, 419, 294, 318, 872, + 911, 366, 399, 219, 460, 420, 790, 794, 788, 789, + 844, 845, 791, 902, 903, 904, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 0, 876, 784, 0, 792, 793, + 0, 882, 891, 892, 510, 328, 411, 457, 296, 301, + 304, 848, 187, 202, 314, 907, 388, 261, 488, 468, + 464, 769, 787, 236, 798, 806, 0, 812, 820, 821, + 833, 835, 836, 837, 838, 855, 856, 858, 866, 868, + 871, 873, 878, 888, 910, 189, 190, 203, 212, 222, + 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, + 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, + 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, + 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, + 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, + 477, 270, 454, 478, 0, 323, 847, 853, 325, 254, + 273, 284, 861, 467, 425, 207, 395, 262, 196, 225, + 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, + 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, + 240, 373, 843, 870, 321, 437, 438, 280, 339, 0, + 0, 896, 881, 436, 0, 828, 899, 797, 816, 909, + 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, + 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, + 241, 778, 802, 371, 818, 193, 865, 412, 228, 322, + 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, + 363, 905, 316, 852, 0, 421, 342, 0, 0, 0, + 832, 887, 840, 877, 827, 864, 786, 851, 900, 814, + 860, 901, 287, 226, 192, 354, 422, 259, 0, 0, + 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, + 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, + 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, + 775, 839, 894, 0, 0, 209, 897, 834, 0, 862, + 0, 912, 770, 854, 0, 773, 777, 908, 890, 805, + 249, 0, 0, 0, 0, 0, 0, 0, 831, 841, + 874, 825, 0, 0, 0, 0, 0, 0, 0, 803, + 0, 850, 0, 0, 0, 782, 774, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 829, 0, 0, 0, 785, 0, 804, 875, 0, - 767, 268, 779, 343, 231, 0, 879, 889, 826, 474, - 893, 824, 823, 869, 783, 885, 817, 311, 781, 293, - 188, 205, 0, 815, 353, 394, 400, 884, 800, 809, - 229, 807, 398, 367, 458, 213, 257, 391, 372, 396, - 379, 260, 849, 867, 397, 317, 445, 386, 455, 475, - 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, - 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, - 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, - 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, - 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, - 490, 208, 470, 201, 1093, 469, 349, 444, 452, 337, - 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, - 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, - 195, 0, 423, 463, 491, 214, 215, 216, 795, 252, - 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, - 387, 880, 439, 456, 466, 473, 479, 480, 482, 483, - 484, 485, 486, 348, 278, 419, 294, 318, 872, 911, - 366, 399, 219, 460, 420, 790, 794, 788, 789, 844, - 845, 791, 902, 903, 904, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 0, 876, 784, 0, 792, 793, 0, - 882, 891, 892, 510, 328, 411, 457, 296, 301, 304, - 848, 187, 202, 314, 907, 388, 261, 488, 468, 464, - 769, 787, 236, 798, 806, 0, 812, 820, 821, 833, - 835, 836, 837, 838, 855, 856, 858, 866, 868, 871, - 873, 878, 888, 910, 189, 190, 203, 212, 222, 235, - 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, - 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, - 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, - 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 270, 454, 478, 0, 323, 847, 853, 325, 254, 273, - 284, 861, 467, 425, 207, 395, 262, 196, 225, 210, - 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, - 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 843, 870, 321, 437, 438, 280, 896, 881, 436, + 0, 0, 0, 0, 0, 0, 0, 0, 829, 0, + 0, 0, 785, 0, 804, 875, 0, 767, 268, 779, + 343, 231, 0, 879, 889, 826, 474, 893, 824, 823, + 869, 783, 885, 817, 311, 781, 293, 188, 205, 0, + 815, 353, 394, 400, 884, 800, 809, 229, 807, 398, + 367, 458, 213, 257, 391, 372, 396, 379, 260, 849, + 867, 397, 317, 445, 386, 455, 475, 476, 237, 347, + 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, + 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, + 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, + 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, + 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, + 201, 1093, 469, 349, 444, 452, 337, 327, 200, 450, + 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, + 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, + 463, 491, 214, 215, 216, 795, 252, 256, 263, 265, + 271, 272, 279, 313, 360, 383, 381, 387, 880, 439, + 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, + 348, 278, 419, 294, 318, 872, 911, 366, 399, 219, + 460, 420, 790, 794, 788, 789, 844, 845, 791, 902, + 903, 904, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 0, 876, 784, 0, 792, 793, 0, 882, 891, 892, + 510, 328, 411, 457, 296, 301, 304, 848, 187, 202, + 314, 907, 388, 261, 488, 468, 464, 769, 787, 236, + 798, 806, 0, 812, 820, 821, 833, 835, 836, 837, + 838, 855, 856, 858, 866, 868, 871, 873, 878, 888, + 910, 189, 190, 203, 212, 222, 235, 250, 258, 269, + 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, + 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, + 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, + 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, + 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, + 0, 323, 847, 853, 325, 254, 273, 284, 861, 467, + 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, + 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, + 410, 431, 432, 433, 435, 338, 240, 373, 843, 870, + 321, 437, 438, 280, 339, 0, 0, 896, 881, 436, 0, 828, 899, 797, 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, 241, 778, 802, 371, @@ -2421,337 +2416,225 @@ var yyAct = [...]int{ 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, 775, 839, 894, 0, - 0, 913, 339, 897, 834, 0, 862, 0, 912, 770, - 854, 0, 773, 777, 908, 890, 805, 249, 0, 0, - 0, 0, 0, 0, 0, 831, 841, 874, 825, 0, - 0, 0, 0, 0, 0, 0, 803, 0, 850, 0, - 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 829, 0, 0, 0, 785, - 0, 804, 875, 0, 767, 268, 779, 343, 231, 0, - 879, 889, 826, 474, 893, 824, 823, 869, 783, 885, - 817, 311, 781, 293, 188, 205, 0, 815, 353, 394, - 400, 884, 800, 809, 229, 807, 398, 367, 458, 213, - 257, 391, 372, 396, 379, 260, 849, 867, 397, 317, - 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, - 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, - 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, - 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, - 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 780, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 795, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 880, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 766, 760, 759, - 294, 318, 872, 911, 366, 399, 219, 460, 420, 790, - 794, 788, 789, 844, 845, 791, 902, 903, 904, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 876, 784, - 0, 792, 793, 0, 882, 891, 892, 510, 328, 411, - 457, 296, 301, 304, 848, 187, 202, 314, 907, 388, - 261, 488, 468, 464, 769, 787, 236, 798, 806, 0, - 812, 820, 821, 833, 835, 836, 837, 838, 855, 856, - 858, 866, 868, 871, 873, 878, 888, 910, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 847, - 853, 325, 254, 273, 284, 861, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 843, 870, 321, 437, 438, - 280, 896, 881, 436, 0, 828, 899, 797, 816, 909, - 819, 822, 863, 776, 842, 357, 813, 768, 801, 771, - 808, 772, 799, 830, 244, 796, 883, 846, 898, 312, - 241, 778, 802, 371, 818, 193, 865, 412, 228, 322, - 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, - 363, 905, 316, 852, 0, 421, 342, 0, 0, 0, - 832, 887, 840, 877, 827, 864, 786, 851, 900, 814, - 860, 901, 287, 226, 192, 354, 422, 259, 0, 0, - 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, - 306, 297, 298, 299, 300, 302, 305, 308, 810, 857, - 895, 811, 859, 239, 285, 246, 238, 440, 906, 886, - 775, 839, 894, 0, 0, 913, 339, 897, 834, 0, - 862, 0, 912, 770, 854, 0, 773, 777, 908, 890, - 805, 249, 0, 0, 0, 0, 0, 0, 0, 831, - 841, 874, 825, 0, 0, 0, 0, 0, 0, 0, - 803, 0, 850, 0, 0, 0, 782, 774, 0, 0, + 0, 913, 897, 834, 0, 862, 0, 912, 770, 854, + 0, 773, 777, 908, 890, 805, 249, 0, 0, 0, + 0, 0, 0, 0, 831, 841, 874, 825, 0, 0, + 0, 0, 0, 0, 0, 803, 0, 850, 0, 0, + 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 829, - 0, 0, 0, 785, 0, 804, 875, 0, 767, 268, - 779, 343, 231, 0, 879, 889, 826, 474, 893, 824, - 823, 869, 783, 885, 817, 311, 781, 293, 188, 205, - 0, 815, 353, 394, 400, 884, 800, 809, 229, 807, - 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, - 849, 867, 397, 317, 445, 386, 455, 475, 476, 237, - 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, - 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, - 204, 406, 221, 211, 197, 429, 1291, 218, 409, 0, - 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, - 390, 242, 264, 232, 356, 448, 449, 230, 490, 208, - 470, 201, 780, 469, 349, 444, 452, 337, 327, 200, - 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, - 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, - 423, 463, 491, 214, 215, 216, 795, 252, 256, 263, - 265, 271, 272, 279, 313, 360, 383, 381, 387, 880, - 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, - 486, 766, 760, 759, 294, 318, 872, 911, 366, 399, - 219, 460, 420, 790, 794, 788, 789, 844, 845, 791, - 902, 903, 904, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 0, 876, 784, 0, 792, 793, 0, 882, 891, - 892, 510, 328, 411, 457, 296, 301, 304, 848, 187, - 202, 314, 907, 388, 261, 488, 468, 464, 769, 787, - 236, 798, 806, 0, 812, 820, 821, 833, 835, 836, - 837, 838, 855, 856, 858, 866, 868, 871, 873, 878, - 888, 910, 189, 190, 203, 212, 222, 235, 250, 258, - 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, - 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, - 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, - 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, - 478, 0, 323, 847, 853, 325, 254, 273, 284, 861, - 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, - 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 843, - 870, 321, 437, 438, 280, 896, 881, 436, 0, 828, - 899, 797, 816, 909, 819, 822, 863, 776, 842, 357, - 813, 768, 801, 771, 808, 772, 799, 830, 244, 796, - 883, 846, 898, 312, 241, 778, 802, 371, 818, 193, - 865, 412, 228, 322, 319, 443, 255, 247, 243, 227, - 281, 329, 369, 430, 363, 905, 316, 852, 0, 421, - 342, 0, 0, 0, 832, 887, 840, 877, 827, 864, - 786, 851, 900, 814, 860, 901, 287, 226, 192, 354, - 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, - 305, 308, 810, 857, 895, 811, 859, 239, 285, 246, - 238, 440, 906, 886, 775, 839, 894, 0, 0, 913, - 339, 897, 834, 0, 862, 0, 912, 770, 854, 0, - 773, 777, 908, 890, 805, 249, 0, 0, 0, 0, - 0, 0, 0, 831, 841, 874, 825, 0, 0, 0, - 0, 0, 0, 0, 803, 0, 850, 0, 0, 0, - 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 829, 0, 0, 0, 785, 0, + 804, 875, 0, 767, 268, 779, 343, 231, 0, 879, + 889, 826, 474, 893, 824, 823, 869, 783, 885, 817, + 311, 781, 293, 188, 205, 0, 815, 353, 394, 400, + 884, 800, 809, 229, 807, 398, 367, 458, 213, 257, + 391, 372, 396, 379, 260, 849, 867, 397, 317, 445, + 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, + 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, + 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, + 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, + 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, + 448, 449, 230, 490, 208, 470, 201, 780, 469, 349, + 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, + 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, + 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, + 216, 795, 252, 256, 263, 265, 271, 272, 279, 313, + 360, 383, 381, 387, 880, 439, 456, 466, 473, 479, + 480, 482, 483, 484, 485, 486, 766, 760, 759, 294, + 318, 872, 911, 366, 399, 219, 460, 420, 790, 794, + 788, 789, 844, 845, 791, 902, 903, 904, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 0, 876, 784, 0, + 792, 793, 0, 882, 891, 892, 510, 328, 411, 457, + 296, 301, 304, 848, 187, 202, 314, 907, 388, 261, + 488, 468, 464, 769, 787, 236, 798, 806, 0, 812, + 820, 821, 833, 835, 836, 837, 838, 855, 856, 858, + 866, 868, 871, 873, 878, 888, 910, 189, 190, 203, + 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, + 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, + 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, + 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, + 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, + 459, 472, 477, 270, 454, 478, 0, 323, 847, 853, + 325, 254, 273, 284, 861, 467, 425, 207, 395, 262, + 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, + 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, + 435, 338, 240, 373, 843, 870, 321, 437, 438, 280, + 339, 0, 0, 896, 881, 436, 0, 828, 899, 797, + 816, 909, 819, 822, 863, 776, 842, 357, 813, 768, + 801, 771, 808, 772, 799, 830, 244, 796, 883, 846, + 898, 312, 241, 778, 802, 371, 818, 193, 865, 412, + 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, + 369, 430, 363, 905, 316, 852, 0, 421, 342, 0, + 0, 0, 832, 887, 840, 877, 827, 864, 786, 851, + 900, 814, 860, 901, 287, 226, 192, 354, 422, 259, + 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, + 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, + 810, 857, 895, 811, 859, 239, 285, 246, 238, 440, + 906, 886, 775, 839, 894, 0, 0, 913, 897, 834, + 0, 862, 0, 912, 770, 854, 0, 773, 777, 908, + 890, 805, 249, 0, 0, 0, 0, 0, 0, 0, + 831, 841, 874, 825, 0, 0, 0, 0, 0, 0, + 0, 803, 0, 850, 0, 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 829, 0, 0, 0, 785, 0, 804, - 875, 0, 767, 268, 779, 343, 231, 0, 879, 889, - 826, 474, 893, 824, 823, 869, 783, 885, 817, 311, - 781, 293, 188, 205, 0, 815, 353, 394, 400, 884, - 800, 809, 229, 807, 398, 367, 458, 213, 257, 391, - 372, 396, 379, 260, 849, 867, 397, 317, 445, 386, - 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, - 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, - 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, - 757, 218, 409, 0, 0, 489, 199, 451, 426, 336, - 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, - 449, 230, 490, 208, 470, 201, 780, 469, 349, 444, - 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, - 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, - 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, - 795, 252, 256, 263, 265, 271, 272, 279, 313, 360, - 383, 381, 387, 880, 439, 456, 466, 473, 479, 480, - 482, 483, 484, 485, 486, 766, 760, 759, 294, 318, - 872, 911, 366, 399, 219, 460, 420, 790, 794, 788, - 789, 844, 845, 791, 902, 903, 904, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 0, 876, 784, 0, 792, - 793, 0, 882, 891, 892, 510, 328, 411, 457, 296, - 301, 304, 848, 187, 202, 314, 907, 388, 261, 488, - 468, 464, 769, 787, 236, 798, 806, 0, 812, 820, - 821, 833, 835, 836, 837, 838, 855, 856, 858, 866, - 868, 871, 873, 878, 888, 910, 189, 190, 203, 212, - 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, - 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, - 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, - 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, - 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, - 472, 477, 270, 454, 478, 0, 323, 847, 853, 325, - 254, 273, 284, 861, 467, 425, 207, 395, 262, 196, - 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, - 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 843, 870, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 357, 0, 0, 1667, 0, 591, 0, 0, 0, - 244, 596, 0, 0, 0, 312, 241, 0, 1668, 371, - 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, - 243, 227, 281, 329, 369, 430, 363, 603, 316, 0, - 0, 421, 342, 0, 0, 0, 0, 0, 598, 599, - 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, - 192, 354, 422, 259, 0, 87, 0, 0, 184, 185, - 186, 652, 659, 660, 661, 662, 663, 653, 655, 0, - 0, 217, 654, 224, 614, 616, 615, 625, 626, 627, - 628, 629, 630, 631, 612, 657, 664, 665, 0, 239, - 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, - 574, 588, 0, 602, 0, 0, 0, 249, 0, 0, + 829, 0, 0, 0, 785, 0, 804, 875, 0, 767, + 268, 779, 343, 231, 0, 879, 889, 826, 474, 893, + 824, 823, 869, 783, 885, 817, 311, 781, 293, 188, + 205, 0, 815, 353, 394, 400, 884, 800, 809, 229, + 807, 398, 367, 458, 213, 257, 391, 372, 396, 379, + 260, 849, 867, 397, 317, 445, 386, 455, 475, 476, + 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, + 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, + 481, 204, 406, 221, 211, 197, 429, 1291, 218, 409, + 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, + 0, 390, 242, 264, 232, 356, 448, 449, 230, 490, + 208, 470, 201, 780, 469, 349, 444, 452, 337, 327, + 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, + 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, + 0, 423, 463, 491, 214, 215, 216, 795, 252, 256, + 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, + 880, 439, 456, 466, 473, 479, 480, 482, 483, 484, + 485, 486, 766, 760, 759, 294, 318, 872, 911, 366, + 399, 219, 460, 420, 790, 794, 788, 789, 844, 845, + 791, 902, 903, 904, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 0, 876, 784, 0, 792, 793, 0, 882, + 891, 892, 510, 328, 411, 457, 296, 301, 304, 848, + 187, 202, 314, 907, 388, 261, 488, 468, 464, 769, + 787, 236, 798, 806, 0, 812, 820, 821, 833, 835, + 836, 837, 838, 855, 856, 858, 866, 868, 871, 873, + 878, 888, 910, 189, 190, 203, 212, 222, 235, 250, + 258, 269, 274, 277, 282, 283, 286, 291, 324, 330, + 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, + 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, + 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, + 415, 416, 424, 428, 446, 447, 459, 472, 477, 270, + 454, 478, 0, 323, 847, 853, 325, 254, 273, 284, + 861, 467, 425, 207, 395, 262, 196, 225, 210, 233, + 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, + 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, + 843, 870, 321, 437, 438, 280, 339, 0, 0, 896, + 881, 436, 0, 828, 899, 797, 816, 909, 819, 822, + 863, 776, 842, 357, 813, 768, 801, 771, 808, 772, + 799, 830, 244, 796, 883, 846, 898, 312, 241, 778, + 802, 371, 818, 193, 865, 412, 228, 322, 319, 443, + 255, 247, 243, 227, 281, 329, 369, 430, 363, 905, + 316, 852, 0, 421, 342, 0, 0, 0, 832, 887, + 840, 877, 827, 864, 786, 851, 900, 814, 860, 901, + 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, + 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, + 298, 299, 300, 302, 305, 308, 810, 857, 895, 811, + 859, 239, 285, 246, 238, 440, 906, 886, 775, 839, + 894, 0, 0, 913, 897, 834, 0, 862, 0, 912, + 770, 854, 0, 773, 777, 908, 890, 805, 249, 0, + 0, 0, 0, 0, 0, 0, 831, 841, 874, 825, + 0, 0, 0, 0, 0, 0, 0, 803, 0, 850, + 0, 0, 0, 782, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 585, 586, 746, 0, 0, 0, 637, 0, - 587, 0, 0, 595, 666, 667, 668, 669, 670, 671, - 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, - 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 706, 597, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, - 636, 0, 0, 474, 0, 0, 634, 0, 0, 0, - 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, - 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, - 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, - 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, - 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, - 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, - 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, - 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 620, 621, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, - 294, 318, 0, 0, 366, 399, 219, 460, 420, 643, - 635, 607, 609, 644, 645, 604, 605, 608, 646, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 638, 594, - 593, 0, 600, 601, 0, 610, 611, 613, 617, 618, - 619, 622, 623, 624, 592, 187, 202, 314, 0, 388, - 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, - 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 436, 0, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, - 0, 0, 591, 0, 0, 0, 244, 596, 0, 0, - 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, - 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, - 369, 430, 363, 603, 316, 0, 0, 421, 342, 0, - 0, 0, 0, 0, 598, 599, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, - 0, 87, 0, 0, 184, 185, 186, 652, 659, 660, - 661, 662, 663, 653, 655, 0, 0, 217, 654, 224, - 614, 616, 615, 625, 626, 627, 628, 629, 630, 631, - 612, 657, 664, 665, 0, 239, 285, 246, 238, 440, - 0, 0, 1647, 1648, 1649, 0, 0, 209, 339, 0, - 0, 0, 0, 0, 0, 0, 574, 588, 0, 602, - 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, - 0, 0, 0, 0, 637, 0, 587, 0, 0, 595, - 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, - 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, - 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, - 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, - 706, 597, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 268, 0, 343, 231, 0, 636, 0, 0, 474, - 0, 0, 634, 0, 0, 0, 0, 311, 0, 293, - 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, - 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, - 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, - 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, - 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, - 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, - 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, - 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, - 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, - 327, 200, 450, 335, 326, 295, 620, 621, 253, 275, - 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, - 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, - 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, - 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, - 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, - 366, 399, 219, 460, 420, 643, 635, 607, 609, 644, - 645, 604, 605, 608, 646, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 0, 638, 594, 593, 0, 600, 601, - 0, 610, 611, 613, 617, 618, 619, 622, 623, 624, - 592, 187, 202, 314, 0, 388, 261, 488, 468, 464, - 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, - 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, - 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, - 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, - 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, - 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, - 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, - 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 436, 0, 321, 437, 438, 280, 0, 0, 0, - 0, 0, 0, 357, 0, 0, 0, 0, 591, 0, - 0, 0, 244, 596, 0, 0, 0, 312, 241, 0, - 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, - 255, 247, 243, 227, 281, 329, 369, 430, 363, 603, - 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, - 598, 599, 0, 0, 0, 0, 0, 0, 1749, 0, - 287, 226, 192, 354, 422, 259, 0, 87, 0, 0, - 184, 185, 186, 652, 659, 660, 661, 662, 663, 653, - 655, 0, 0, 217, 654, 224, 614, 616, 615, 625, - 626, 627, 628, 629, 630, 631, 612, 657, 664, 665, - 1750, 239, 285, 246, 238, 440, 0, 0, 0, 0, - 0, 0, 0, 209, 339, 0, 0, 0, 0, 0, - 0, 0, 574, 588, 0, 602, 0, 0, 0, 249, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 585, 586, 0, 0, 0, 0, - 637, 0, 587, 0, 0, 595, 666, 667, 668, 669, - 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, - 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, - 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, - 700, 701, 702, 703, 704, 705, 706, 597, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, - 231, 0, 636, 0, 0, 474, 0, 0, 634, 0, - 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, - 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, - 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, - 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, - 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, - 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, - 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, - 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, - 264, 232, 356, 448, 449, 230, 490, 208, 470, 201, - 0, 469, 349, 444, 452, 337, 327, 200, 450, 335, - 326, 295, 620, 621, 253, 275, 384, 320, 385, 276, - 345, 344, 346, 194, 462, 0, 195, 0, 423, 463, - 491, 214, 215, 216, 0, 252, 256, 263, 265, 271, - 272, 279, 313, 360, 383, 381, 387, 0, 439, 456, - 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, - 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, - 420, 643, 635, 607, 609, 644, 645, 604, 605, 608, - 646, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, - 638, 594, 593, 0, 600, 601, 0, 610, 611, 613, - 617, 618, 619, 622, 623, 624, 592, 187, 202, 314, - 0, 388, 261, 488, 468, 464, 0, 0, 236, 0, + 0, 0, 0, 0, 0, 0, 829, 0, 0, 0, + 785, 0, 804, 875, 0, 767, 268, 779, 343, 231, + 0, 879, 889, 826, 474, 893, 824, 823, 869, 783, + 885, 817, 311, 781, 293, 188, 205, 0, 815, 353, + 394, 400, 884, 800, 809, 229, 807, 398, 367, 458, + 213, 257, 391, 372, 396, 379, 260, 849, 867, 397, + 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, + 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, + 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, + 211, 197, 429, 757, 218, 409, 0, 0, 489, 199, + 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, + 232, 356, 448, 449, 230, 490, 208, 470, 201, 780, + 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, + 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, + 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, + 214, 215, 216, 795, 252, 256, 263, 265, 271, 272, + 279, 313, 360, 383, 381, 387, 880, 439, 456, 466, + 473, 479, 480, 482, 483, 484, 485, 486, 766, 760, + 759, 294, 318, 872, 911, 366, 399, 219, 460, 420, + 790, 794, 788, 789, 844, 845, 791, 902, 903, 904, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 0, 876, + 784, 0, 792, 793, 0, 882, 891, 892, 510, 328, + 411, 457, 296, 301, 304, 848, 187, 202, 314, 907, + 388, 261, 488, 468, 464, 769, 787, 236, 798, 806, + 0, 812, 820, 821, 833, 835, 836, 837, 838, 855, + 856, 858, 866, 868, 871, 873, 878, 888, 910, 189, + 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, + 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, + 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, + 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, + 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, + 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, + 847, 853, 325, 254, 273, 284, 861, 467, 425, 207, + 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, + 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, + 432, 433, 435, 338, 240, 373, 843, 870, 321, 437, + 438, 280, 339, 0, 0, 0, 0, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 0, 0, 1667, 0, 591, 0, 0, 0, 244, 596, + 0, 0, 0, 312, 241, 0, 1668, 371, 0, 193, + 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, + 281, 329, 369, 430, 363, 603, 316, 0, 0, 421, + 342, 0, 0, 0, 0, 0, 598, 599, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, + 422, 259, 0, 87, 0, 0, 184, 185, 186, 652, + 659, 660, 661, 662, 663, 653, 655, 0, 0, 217, + 654, 224, 614, 616, 615, 625, 626, 627, 628, 629, + 630, 631, 612, 657, 664, 665, 0, 239, 285, 246, + 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, + 0, 0, 0, 0, 0, 0, 0, 574, 588, 0, + 602, 0, 0, 0, 249, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, + 586, 746, 0, 0, 0, 637, 0, 587, 0, 0, + 595, 666, 667, 668, 669, 670, 671, 672, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 597, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 268, 0, 343, 231, 0, 636, 0, 0, + 474, 0, 0, 634, 0, 0, 0, 0, 311, 0, + 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, + 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, + 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, + 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, + 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, + 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, + 218, 409, 0, 0, 489, 199, 451, 426, 336, 289, + 290, 198, 0, 390, 242, 264, 232, 356, 448, 449, + 230, 490, 208, 470, 201, 0, 469, 349, 444, 452, + 337, 327, 200, 450, 335, 326, 295, 620, 621, 253, + 275, 384, 320, 385, 276, 345, 344, 346, 194, 462, + 0, 195, 0, 423, 463, 491, 214, 215, 216, 0, + 252, 256, 263, 265, 271, 272, 279, 313, 360, 383, + 381, 387, 0, 439, 456, 466, 473, 479, 480, 482, + 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, + 0, 366, 399, 219, 460, 420, 643, 635, 607, 609, + 644, 645, 604, 605, 608, 646, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 0, 638, 594, 593, 0, 600, + 601, 0, 610, 611, 613, 617, 618, 619, 622, 623, + 624, 592, 187, 202, 314, 0, 388, 261, 488, 468, + 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, + 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, + 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, + 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, + 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, + 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, + 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, + 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, + 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, + 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, + 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, - 277, 282, 283, 286, 291, 324, 330, 331, 332, 333, - 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, - 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, - 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, - 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, - 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, - 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, - 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, - 431, 432, 433, 435, 338, 240, 373, 78, 436, 321, - 437, 438, 280, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 591, 0, 0, 0, 244, 596, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, @@ -2762,8 +2645,65 @@ var yyAct = [...]int{ 652, 659, 660, 661, 662, 663, 653, 655, 0, 0, 217, 654, 224, 614, 616, 615, 625, 626, 627, 628, 629, 630, 631, 612, 657, 664, 665, 0, 239, 285, - 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, - 209, 339, 0, 0, 0, 0, 0, 0, 0, 574, + 246, 238, 440, 0, 0, 1647, 1648, 1649, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 574, 588, + 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 585, 586, 0, 0, 0, 0, 637, 0, 587, 0, + 0, 595, 666, 667, 668, 669, 670, 671, 672, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 597, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 268, 0, 343, 231, 0, 636, 0, + 0, 474, 0, 0, 634, 0, 0, 0, 0, 311, + 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, + 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, + 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, + 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, + 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, + 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, + 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, + 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, + 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, + 452, 337, 327, 200, 450, 335, 326, 295, 620, 621, + 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, + 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, + 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, + 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, + 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, + 0, 0, 366, 399, 219, 460, 420, 643, 635, 607, + 609, 644, 645, 604, 605, 608, 646, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 0, 638, 594, 593, 0, + 600, 601, 0, 610, 611, 613, 617, 618, 619, 622, + 623, 624, 592, 187, 202, 314, 0, 388, 261, 488, + 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, + 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, + 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, + 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, + 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, + 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, + 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, + 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, + 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, + 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, + 338, 240, 373, 0, 339, 321, 437, 438, 280, 436, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 357, 0, 0, 0, 0, 591, 0, 0, 0, + 244, 596, 0, 0, 0, 312, 241, 0, 0, 371, + 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, + 243, 227, 281, 329, 369, 430, 363, 603, 316, 0, + 0, 421, 342, 0, 0, 0, 0, 0, 598, 599, + 0, 0, 0, 0, 0, 0, 1749, 0, 287, 226, + 192, 354, 422, 259, 0, 87, 0, 0, 184, 185, + 186, 652, 659, 660, 661, 662, 663, 653, 655, 0, + 0, 217, 654, 224, 614, 616, 615, 625, 626, 627, + 628, 629, 630, 631, 612, 657, 664, 665, 1750, 239, + 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 0, 0, 0, 0, 0, 574, 588, 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, 0, 0, 0, 0, 637, 0, 587, @@ -2794,7 +2734,7 @@ var yyAct = [...]int{ 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, 638, 594, 593, 0, 600, 601, 0, 610, 611, 613, 617, 618, 619, - 622, 623, 624, 592, 187, 202, 314, 86, 388, 261, + 622, 623, 624, 592, 187, 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, @@ -2807,19 +2747,20 @@ var yyAct = [...]int{ 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, - 435, 338, 240, 373, 436, 0, 321, 437, 438, 280, - 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, - 0, 591, 0, 0, 0, 244, 596, 0, 0, 0, - 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, - 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, - 430, 363, 603, 316, 0, 0, 421, 342, 0, 0, - 0, 0, 0, 598, 599, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, - 87, 0, 0, 184, 185, 186, 652, 659, 660, 661, - 662, 663, 653, 655, 0, 0, 217, 654, 224, 614, - 616, 615, 625, 626, 627, 628, 629, 630, 631, 612, - 657, 664, 665, 0, 239, 285, 246, 238, 440, 0, - 0, 0, 0, 0, 0, 0, 209, 339, 0, 0, + 435, 338, 240, 373, 0, 0, 321, 437, 438, 280, + 339, 0, 0, 0, 78, 436, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, + 0, 0, 591, 0, 0, 0, 244, 596, 0, 0, + 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, + 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, + 369, 430, 363, 603, 316, 0, 0, 421, 342, 0, + 0, 0, 0, 0, 598, 599, 0, 0, 0, 0, + 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, + 0, 87, 0, 0, 184, 185, 186, 652, 659, 660, + 661, 662, 663, 653, 655, 0, 0, 217, 654, 224, + 614, 616, 615, 625, 626, 627, 628, 629, 630, 631, + 612, 657, 664, 665, 0, 239, 285, 246, 238, 440, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 574, 588, 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, 0, @@ -2833,7 +2774,7 @@ var yyAct = [...]int{ 0, 634, 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, - 260, 2655, 0, 397, 317, 445, 386, 455, 475, 476, + 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, @@ -2851,7 +2792,7 @@ var yyAct = [...]int{ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, 638, 594, 593, 0, 600, 601, 0, 610, 611, 613, 617, 618, 619, 622, 623, 624, 592, - 187, 202, 314, 0, 388, 261, 488, 468, 464, 0, + 187, 202, 314, 86, 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, @@ -2864,64 +2805,8 @@ var yyAct = [...]int{ 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, - 436, 0, 321, 437, 438, 280, 0, 0, 0, 0, - 0, 0, 357, 0, 0, 0, 0, 591, 0, 0, - 0, 244, 596, 0, 0, 0, 312, 241, 0, 0, - 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, - 247, 243, 227, 281, 329, 369, 430, 363, 603, 316, - 0, 0, 421, 342, 0, 0, 0, 0, 0, 598, - 599, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 226, 192, 354, 422, 259, 0, 87, 0, 1258, 184, - 185, 186, 652, 659, 660, 661, 662, 663, 653, 655, - 0, 0, 217, 654, 224, 614, 616, 615, 625, 626, - 627, 628, 629, 630, 631, 612, 657, 664, 665, 0, - 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, - 0, 0, 209, 339, 0, 0, 0, 0, 0, 0, - 0, 574, 588, 0, 602, 0, 0, 0, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 585, 586, 0, 0, 0, 0, 637, - 0, 587, 0, 0, 595, 666, 667, 668, 669, 670, - 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, - 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, - 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, - 701, 702, 703, 704, 705, 706, 597, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, - 0, 636, 0, 0, 474, 0, 0, 634, 0, 0, - 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, - 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, - 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, - 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, - 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, - 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, - 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, - 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, - 232, 356, 448, 449, 230, 490, 208, 470, 201, 0, - 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, - 295, 620, 621, 253, 275, 384, 320, 385, 276, 345, - 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, - 214, 215, 216, 0, 252, 256, 263, 265, 271, 272, - 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, - 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, - 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, - 643, 635, 607, 609, 644, 645, 604, 605, 608, 646, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 0, 638, - 594, 593, 0, 600, 601, 0, 610, 611, 613, 617, - 618, 619, 622, 623, 624, 592, 187, 202, 314, 0, - 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, - 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, - 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, - 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, - 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, - 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, - 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, - 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, - 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, - 432, 433, 435, 338, 240, 373, 436, 0, 321, 437, - 438, 280, 0, 0, 0, 0, 0, 0, 357, 0, + 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 591, 0, 0, 0, 244, 596, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, @@ -2932,11 +2817,68 @@ var yyAct = [...]int{ 660, 661, 662, 663, 653, 655, 0, 0, 217, 654, 224, 614, 616, 615, 625, 626, 627, 628, 629, 630, 631, 612, 657, 664, 665, 0, 239, 285, 246, 238, - 440, 0, 0, 0, 0, 0, 0, 0, 209, 339, + 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 0, 0, 0, 0, 0, 574, 588, 0, 602, + 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, + 0, 0, 0, 0, 637, 0, 587, 0, 0, 595, + 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 597, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 268, 0, 343, 231, 0, 636, 0, 0, 474, + 0, 0, 634, 0, 0, 0, 0, 311, 0, 293, + 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, + 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, + 379, 260, 2655, 0, 397, 317, 445, 386, 455, 475, + 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, + 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, + 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, + 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, + 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, + 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, + 327, 200, 450, 335, 326, 295, 620, 621, 253, 275, + 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, + 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, + 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, + 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, + 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, + 366, 399, 219, 460, 420, 643, 635, 607, 609, 644, + 645, 604, 605, 608, 646, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 0, 638, 594, 593, 0, 600, 601, + 0, 610, 611, 613, 617, 618, 619, 622, 623, 624, + 592, 187, 202, 314, 0, 388, 261, 488, 468, 464, + 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, + 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, + 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, + 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, + 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, + 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, + 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, + 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, + 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, + 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, + 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 0, 0, 0, 0, 591, 0, 0, 0, 244, 596, + 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, + 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, + 281, 329, 369, 430, 363, 603, 316, 0, 0, 421, + 342, 0, 0, 0, 0, 0, 598, 599, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, + 422, 259, 0, 87, 0, 1258, 184, 185, 186, 652, + 659, 660, 661, 662, 663, 653, 655, 0, 0, 217, + 654, 224, 614, 616, 615, 625, 626, 627, 628, 629, + 630, 631, 612, 657, 664, 665, 0, 239, 285, 246, + 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 574, 588, 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, - 586, 746, 0, 0, 0, 637, 0, 587, 0, 0, + 586, 0, 0, 0, 0, 637, 0, 587, 0, 0, 595, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, @@ -2961,80 +2903,24 @@ var yyAct = [...]int{ 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, 643, 635, 607, 609, 644, 645, 604, 605, 608, 646, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 0, 638, 594, 593, 0, 600, - 601, 0, 610, 611, 613, 617, 618, 619, 622, 623, - 624, 592, 187, 202, 314, 0, 388, 261, 488, 468, - 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, - 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, - 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, - 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, - 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, - 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, - 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, - 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, - 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, - 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, - 240, 373, 436, 0, 321, 437, 438, 280, 0, 0, - 0, 0, 0, 0, 357, 0, 0, 0, 0, 591, - 0, 0, 0, 244, 596, 0, 0, 0, 312, 241, - 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, - 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, - 603, 316, 0, 0, 421, 342, 0, 0, 0, 0, - 0, 598, 599, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 226, 192, 354, 422, 259, 0, 87, 0, - 0, 184, 185, 186, 652, 659, 660, 661, 662, 663, - 653, 655, 0, 0, 217, 654, 224, 614, 616, 615, - 625, 626, 627, 628, 629, 630, 631, 612, 657, 664, - 665, 0, 239, 285, 246, 238, 440, 0, 0, 0, - 0, 0, 0, 0, 209, 339, 0, 0, 0, 0, - 0, 0, 0, 574, 588, 0, 602, 0, 0, 0, - 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 585, 586, 0, 0, 0, - 0, 637, 0, 587, 0, 0, 595, 666, 667, 668, - 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, - 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, - 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, - 699, 700, 701, 702, 703, 704, 705, 706, 597, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 343, 231, 0, 636, 0, 0, 474, 0, 0, 634, - 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, - 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, - 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, - 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, - 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, - 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, - 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, - 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, - 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, - 201, 0, 469, 349, 444, 452, 337, 327, 200, 450, - 335, 326, 295, 620, 621, 253, 275, 384, 320, 385, - 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, - 463, 491, 214, 215, 216, 0, 252, 256, 263, 265, - 271, 272, 279, 313, 360, 383, 381, 387, 0, 439, - 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, - 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, - 460, 420, 643, 635, 607, 609, 644, 645, 604, 605, - 608, 646, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 0, 638, 594, 593, 0, 600, 601, 0, 610, 611, - 613, 617, 618, 619, 622, 623, 624, 592, 187, 202, - 314, 0, 388, 261, 488, 468, 464, 0, 0, 236, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 0, 638, 594, 593, 0, 600, + 601, 0, 610, 611, 613, 617, 618, 619, 622, 623, + 624, 592, 187, 202, 314, 0, 388, 261, 488, 468, + 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, + 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, + 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, + 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, + 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, + 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, + 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, + 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, + 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, + 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, + 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, - 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, - 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, - 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, - 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, - 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, - 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, - 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, - 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, - 410, 431, 432, 433, 435, 338, 240, 373, 436, 0, - 321, 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 591, 0, 0, 0, 244, 596, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, @@ -3046,7 +2932,64 @@ var yyAct = [...]int{ 217, 654, 224, 614, 616, 615, 625, 626, 627, 628, 629, 630, 631, 612, 657, 664, 665, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, - 209, 339, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 574, 588, + 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 585, 586, 746, 0, 0, 0, 637, 0, 587, 0, + 0, 595, 666, 667, 668, 669, 670, 671, 672, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 597, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 268, 0, 343, 231, 0, 636, 0, + 0, 474, 0, 0, 634, 0, 0, 0, 0, 311, + 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, + 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, + 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, + 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, + 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, + 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, + 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, + 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, + 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, + 452, 337, 327, 200, 450, 335, 326, 295, 620, 621, + 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, + 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, + 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, + 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, + 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, + 0, 0, 366, 399, 219, 460, 420, 643, 635, 607, + 609, 644, 645, 604, 605, 608, 646, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 0, 638, 594, 593, 0, + 600, 601, 0, 610, 611, 613, 617, 618, 619, 622, + 623, 624, 592, 187, 202, 314, 0, 388, 261, 488, + 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, + 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, + 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, + 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, + 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, + 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, + 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, + 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, + 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, + 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, + 338, 240, 373, 0, 339, 321, 437, 438, 280, 436, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 357, 0, 0, 0, 0, 591, 0, 0, 0, + 244, 596, 0, 0, 0, 312, 241, 0, 0, 371, + 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, + 243, 227, 281, 329, 369, 430, 363, 603, 316, 0, + 0, 421, 342, 0, 0, 0, 0, 0, 598, 599, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, + 192, 354, 422, 259, 0, 87, 0, 0, 184, 185, + 186, 652, 659, 660, 661, 662, 663, 653, 655, 0, + 0, 217, 654, 224, 614, 616, 615, 625, 626, 627, + 628, 629, 630, 631, 612, 657, 664, 665, 0, 239, + 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 0, 0, 0, 0, 0, 574, 588, 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, 0, 0, 0, 0, 637, 0, 587, @@ -3090,87 +3033,88 @@ var yyAct = [...]int{ 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, - 435, 338, 240, 373, 436, 0, 321, 437, 438, 280, - 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, - 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, - 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, - 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, - 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, - 0, 0, 0, 184, 185, 186, 0, 659, 660, 0, - 0, 0, 0, 1592, 0, 0, 217, 0, 224, 303, - 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, - 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, - 0, 0, 0, 0, 0, 0, 209, 339, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 666, - 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, - 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, - 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, - 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, - 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, - 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, - 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, - 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, - 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, - 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, - 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, - 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, - 0, 390, 242, 264, 232, 356, 448, 449, 230, 490, - 208, 470, 201, 0, 469, 349, 444, 452, 337, 327, - 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, - 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, - 0, 423, 463, 491, 214, 215, 216, 0, 252, 256, - 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, - 0, 439, 456, 466, 473, 479, 480, 482, 483, 484, - 485, 486, 348, 278, 419, 294, 318, 0, 0, 366, - 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 328, 411, 457, 296, 301, 304, 0, - 187, 202, 314, 0, 388, 261, 488, 468, 464, 0, - 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, - 258, 269, 274, 277, 282, 283, 286, 291, 324, 330, - 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, - 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, - 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, - 415, 416, 424, 428, 446, 447, 459, 472, 477, 270, - 454, 478, 0, 323, 0, 0, 325, 254, 273, 284, - 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, - 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, - 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, - 436, 0, 321, 437, 438, 280, 0, 0, 0, 0, - 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, - 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, + 435, 338, 240, 373, 0, 339, 321, 437, 438, 280, + 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 357, 0, 0, 0, 0, 591, 0, 0, + 0, 244, 596, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, - 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, - 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, - 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, - 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, + 247, 243, 227, 281, 329, 369, 430, 363, 603, 316, + 0, 0, 421, 342, 0, 0, 0, 0, 0, 598, + 599, 0, 0, 0, 0, 0, 0, 0, 0, 287, + 226, 192, 354, 422, 259, 0, 87, 0, 0, 184, + 185, 186, 652, 659, 660, 661, 662, 663, 653, 655, + 0, 0, 217, 654, 224, 614, 616, 615, 625, 626, + 627, 628, 629, 630, 631, 612, 657, 664, 665, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, - 0, 0, 209, 339, 0, 961, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, + 0, 588, 0, 602, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 585, 586, 0, 0, 0, 0, 637, 0, + 587, 0, 0, 595, 666, 667, 668, 669, 670, 671, + 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 597, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, + 636, 0, 0, 474, 0, 0, 634, 0, 0, 0, + 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, + 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, + 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, + 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, + 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, + 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, + 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, + 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, + 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, + 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, + 620, 621, 253, 275, 384, 320, 385, 276, 345, 344, + 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, + 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, + 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, + 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, + 294, 318, 0, 0, 366, 399, 219, 460, 420, 643, + 635, 607, 609, 644, 645, 604, 605, 608, 646, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 0, 638, 594, + 593, 0, 600, 601, 0, 610, 611, 613, 617, 618, + 619, 622, 623, 624, 592, 187, 202, 314, 0, 388, + 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, + 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, + 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, + 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, + 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, + 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, + 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, + 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, + 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, + 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, + 433, 435, 338, 240, 373, 0, 339, 321, 437, 438, + 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, + 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, + 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, + 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, + 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, + 184, 185, 186, 0, 659, 660, 0, 0, 0, 0, + 1592, 0, 0, 217, 0, 224, 303, 307, 306, 297, + 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, + 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 666, 667, 668, 669, 670, + 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, - 0, 0, 0, 960, 474, 0, 0, 0, 0, 0, - 957, 958, 311, 921, 293, 188, 205, 951, 955, 353, + 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, + 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, @@ -3187,36 +3131,94 @@ var yyAct = [...]int{ 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, - 411, 457, 296, 301, 304, 0, 187, 202, 314, 0, - 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, + 411, 457, 296, 301, 304, 0, 187, 202, 314, 0, + 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, + 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, + 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, + 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, + 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, + 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, + 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, + 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, + 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, + 432, 433, 435, 338, 240, 373, 0, 339, 321, 437, + 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, + 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, + 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, + 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, + 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 287, 226, 192, 354, 422, 259, 0, 0, 0, + 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, + 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, + 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 961, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, + 231, 0, 0, 0, 960, 474, 0, 0, 0, 0, + 0, 957, 958, 311, 921, 293, 188, 205, 951, 955, + 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, + 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, + 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, + 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, + 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, + 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, + 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, + 264, 232, 356, 448, 449, 230, 490, 208, 470, 201, + 0, 469, 349, 444, 452, 337, 327, 200, 450, 335, + 326, 295, 309, 310, 253, 275, 384, 320, 385, 276, + 345, 344, 346, 194, 462, 0, 195, 0, 423, 463, + 491, 214, 215, 216, 0, 252, 256, 263, 265, 271, + 272, 279, 313, 360, 383, 381, 387, 0, 439, 456, + 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, + 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, + 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, + 328, 411, 457, 296, 301, 304, 0, 187, 202, 314, + 0, 388, 261, 488, 468, 464, 0, 0, 236, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, + 277, 282, 283, 286, 291, 324, 330, 331, 332, 333, + 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, + 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, + 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, + 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, + 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, + 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, + 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, + 431, 432, 433, 435, 338, 240, 373, 0, 0, 321, + 437, 438, 280, 339, 0, 0, 0, 78, 436, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, + 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, + 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, + 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, + 354, 422, 259, 0, 87, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, - 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, - 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, - 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, - 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, - 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, - 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, - 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, - 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, - 432, 433, 435, 338, 240, 373, 78, 436, 321, 437, - 438, 280, 0, 0, 0, 0, 0, 0, 0, 357, - 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, - 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, - 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, - 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, - 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, - 422, 259, 0, 87, 0, 0, 184, 185, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, - 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, - 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, - 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, + 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, + 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3260,76 +3262,77 @@ var yyAct = [...]int{ 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 436, 0, 321, 437, 438, 280, 0, - 0, 0, 0, 0, 0, 357, 0, 0, 0, 1279, - 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, - 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, - 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, - 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, - 0, 0, 184, 185, 186, 0, 1281, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, - 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, - 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, - 0, 0, 0, 0, 0, 209, 1277, 0, 0, 0, - 1125, 0, 1126, 1127, 0, 0, 0, 0, 0, 0, - 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, - 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, - 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, - 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, - 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, - 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, - 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, - 204, 406, 221, 211, 197, 429, 453, 218, 409, 0, - 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, - 390, 242, 264, 232, 356, 448, 449, 230, 490, 208, - 470, 201, 0, 469, 349, 444, 452, 337, 327, 200, - 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, - 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, - 423, 463, 491, 214, 215, 216, 0, 252, 256, 263, - 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, - 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, - 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, - 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 510, 328, 411, 457, 296, 301, 304, 0, 187, - 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, - 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 338, 240, 373, 0, 1277, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, - 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, - 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, - 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, - 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, - 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, - 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, - 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 436, - 0, 321, 437, 438, 280, 0, 0, 0, 0, 0, - 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 357, 0, 0, 0, 1279, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, 185, - 186, 1220, 1223, 0, 0, 0, 0, 1219, 1222, 0, - 0, 217, 1218, 224, 303, 307, 306, 297, 298, 299, + 186, 0, 1281, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 0, 1125, 0, 1126, 1127, 0, + 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, + 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, + 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, + 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, + 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, + 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, + 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, + 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, + 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, + 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, + 448, 449, 230, 490, 208, 470, 201, 0, 469, 349, + 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, + 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, + 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, + 216, 0, 252, 256, 263, 265, 271, 272, 279, 313, + 360, 383, 381, 387, 0, 439, 456, 466, 473, 479, + 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, + 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 510, 328, 411, 457, + 296, 301, 304, 0, 187, 202, 314, 0, 388, 261, + 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, + 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, + 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, + 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, + 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, + 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, + 459, 472, 477, 270, 454, 478, 0, 323, 0, 0, + 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, + 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, + 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, + 435, 338, 240, 373, 0, 339, 321, 437, 438, 280, + 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, + 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, + 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, + 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, + 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, + 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, + 185, 186, 1220, 1223, 0, 0, 0, 0, 1219, 1222, + 0, 0, 217, 1218, 224, 303, 307, 306, 297, 298, + 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, + 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3373,8 +3376,9 @@ var yyAct = [...]int{ 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 78, 436, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 0, 357, 0, + 433, 435, 338, 240, 373, 0, 0, 321, 437, 438, + 280, 339, 0, 0, 0, 78, 436, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, @@ -3385,7 +3389,64 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, - 440, 0, 0, 0, 0, 0, 0, 0, 209, 339, + 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, + 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, + 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, + 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, + 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, + 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, + 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, + 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, + 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, + 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, + 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, + 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, + 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, + 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, + 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, + 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, + 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, + 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 510, 328, 411, 457, 296, 301, 304, + 0, 187, 202, 314, 86, 388, 261, 488, 468, 464, + 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, + 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, + 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, + 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, + 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, + 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, + 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, + 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, + 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, + 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, + 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, + 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, + 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, + 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, + 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, + 422, 259, 0, 87, 0, 0, 184, 185, 186, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, + 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, + 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3412,82 +3473,26 @@ var yyAct = [...]int{ 252, 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, - 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 510, 328, 411, 457, 296, 301, - 304, 0, 187, 202, 314, 86, 388, 261, 488, 468, - 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, - 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, - 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, - 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, - 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, - 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, - 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, - 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, - 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, - 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, - 240, 373, 436, 0, 321, 437, 438, 280, 0, 0, - 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, - 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, - 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, - 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, - 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 226, 192, 354, 422, 259, 0, 87, 0, - 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, - 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, - 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, - 0, 0, 0, 0, 209, 339, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, - 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, - 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, - 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, - 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, - 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, - 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, - 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, - 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, - 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, - 201, 0, 469, 349, 444, 452, 337, 327, 200, 450, - 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, - 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, - 463, 491, 214, 215, 216, 0, 252, 256, 263, 265, - 271, 272, 279, 313, 360, 383, 381, 387, 0, 439, - 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, - 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, - 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 510, 328, 411, 457, 296, 301, 304, 0, 187, 202, - 314, 0, 388, 261, 488, 468, 464, 0, 0, 236, - 0, 0, 0, 0, 0, 0, 1737, 0, 0, 1736, + 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 510, 328, 411, 457, 296, 301, + 304, 0, 187, 202, 314, 0, 388, 261, 488, 468, + 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, + 1737, 0, 0, 1736, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, + 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, + 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, + 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, + 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, + 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, + 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, + 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, + 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, + 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, + 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, - 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, - 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, - 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, - 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, - 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, - 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, - 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, - 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, - 410, 431, 432, 433, 435, 338, 240, 373, 436, 0, - 321, 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 1689, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, @@ -3499,9 +3504,66 @@ var yyAct = [...]int{ 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, - 209, 339, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, + 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, + 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, + 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, + 372, 396, 379, 260, 0, 1687, 397, 317, 445, 386, + 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, + 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, + 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, + 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, + 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, + 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, + 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, + 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, + 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, + 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, + 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, + 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, + 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 510, 328, 411, 457, 296, + 301, 304, 0, 187, 202, 314, 0, 388, 261, 488, + 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, + 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, + 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, + 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, + 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, + 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, + 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, + 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, + 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, + 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, + 338, 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, + 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, + 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, + 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, + 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, + 192, 354, 422, 259, 0, 0, 0, 0, 184, 185, + 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, + 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, + 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 0, 0, 915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3510,9 +3572,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, - 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, + 311, 921, 293, 188, 205, 919, 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, - 391, 372, 396, 379, 260, 0, 1687, 397, 317, 445, + 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, @@ -3543,64 +3605,8 @@ var yyAct = [...]int{ 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, - 435, 338, 240, 373, 436, 0, 321, 437, 438, 280, - 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, - 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, - 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, - 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, - 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, - 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, - 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, - 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, - 0, 0, 0, 0, 0, 0, 209, 339, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, - 0, 915, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, - 0, 0, 0, 0, 0, 0, 311, 921, 293, 188, - 205, 919, 0, 353, 394, 400, 0, 0, 0, 229, - 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, - 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, - 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, - 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, - 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, - 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, - 0, 390, 242, 264, 232, 356, 448, 449, 230, 490, - 208, 470, 201, 0, 469, 349, 444, 452, 337, 327, - 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, - 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, - 0, 423, 463, 491, 214, 215, 216, 0, 252, 256, - 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, - 0, 439, 456, 466, 473, 479, 480, 482, 483, 484, - 485, 486, 348, 278, 419, 294, 318, 0, 0, 366, - 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 328, 411, 457, 296, 301, 304, 0, - 187, 202, 314, 0, 388, 261, 488, 468, 464, 0, - 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, - 258, 269, 274, 277, 282, 283, 286, 291, 324, 330, - 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, - 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, - 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, - 415, 416, 424, 428, 446, 447, 459, 472, 477, 270, - 454, 478, 0, 323, 0, 0, 325, 254, 273, 284, - 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, - 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, - 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, - 436, 0, 321, 437, 438, 280, 0, 0, 0, 0, + 435, 338, 240, 373, 0, 339, 321, 437, 438, 280, + 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 1689, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, @@ -3612,65 +3618,65 @@ var yyAct = [...]int{ 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, - 0, 0, 209, 339, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, - 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, - 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, - 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, - 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, - 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, - 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, - 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, - 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, - 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, - 232, 356, 448, 449, 230, 490, 208, 470, 201, 0, - 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, - 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, - 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, - 214, 215, 216, 0, 252, 256, 263, 265, 271, 272, - 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, - 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, - 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, - 411, 457, 296, 301, 304, 0, 187, 202, 314, 0, - 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, - 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, - 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, - 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, - 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, - 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, - 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, - 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, - 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, - 432, 433, 435, 338, 240, 373, 436, 0, 321, 437, - 438, 280, 0, 0, 0, 0, 0, 0, 357, 0, - 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, - 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, - 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, - 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, + 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, + 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, + 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, + 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, + 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, + 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, + 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, + 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, + 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, + 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, + 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, + 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, + 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, + 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, + 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, + 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, + 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, + 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 510, 328, 411, + 457, 296, 301, 304, 0, 187, 202, 314, 0, 388, + 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, - 259, 0, 0, 0, 1258, 184, 185, 186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, - 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, - 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, - 440, 0, 0, 0, 0, 0, 0, 0, 209, 339, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, + 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, + 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, + 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, + 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, + 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, + 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, + 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, + 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, + 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, + 433, 435, 338, 240, 373, 0, 339, 321, 437, 438, + 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, + 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, + 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, + 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, + 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, + 287, 226, 192, 354, 422, 259, 0, 0, 0, 1258, + 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, + 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, + 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3678,42 +3684,43 @@ 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, 268, 0, 343, 231, 0, 0, 0, 0, - 474, 0, 0, 0, 2623, 0, 0, 0, 311, 0, - 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, - 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, - 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, - 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, - 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, - 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, - 218, 409, 0, 0, 489, 199, 451, 426, 336, 289, - 290, 198, 0, 390, 242, 264, 232, 356, 448, 449, - 230, 490, 208, 470, 201, 0, 469, 349, 444, 452, - 337, 327, 200, 450, 335, 326, 295, 309, 310, 253, - 275, 384, 320, 385, 276, 345, 344, 346, 194, 462, - 0, 195, 0, 423, 463, 491, 214, 215, 216, 0, - 252, 256, 263, 265, 271, 272, 279, 313, 360, 383, - 381, 387, 0, 439, 456, 466, 473, 479, 480, 482, - 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, - 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 510, 328, 411, 457, 296, 301, - 304, 0, 187, 202, 314, 0, 388, 261, 488, 468, - 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, + 0, 0, 0, 0, 474, 0, 0, 0, 2623, 0, + 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, + 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, + 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, + 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, + 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, + 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, + 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, + 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, + 232, 356, 448, 449, 230, 490, 208, 470, 201, 0, + 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, + 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, + 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, + 214, 215, 216, 0, 252, 256, 263, 265, 271, 272, + 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, + 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, + 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, - 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, - 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, - 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, - 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, - 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, - 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, - 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, - 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, - 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, - 240, 373, 436, 0, 321, 437, 438, 280, 0, 0, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, + 411, 457, 296, 301, 304, 0, 187, 202, 314, 0, + 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, + 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, + 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, + 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, + 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, + 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, + 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, + 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, + 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, + 432, 433, 435, 338, 240, 373, 0, 339, 321, 437, + 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, @@ -3725,11 +3732,68 @@ var yyAct = [...]int{ 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, - 0, 0, 0, 0, 209, 339, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2000, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, + 231, 0, 0, 0, 0, 474, 0, 0, 0, 0, + 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, + 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, + 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, + 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, + 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, + 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, + 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, + 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, + 264, 232, 356, 448, 449, 230, 490, 208, 470, 201, + 0, 469, 349, 444, 452, 337, 327, 200, 450, 335, + 326, 295, 309, 310, 253, 275, 384, 320, 385, 276, + 345, 344, 346, 194, 462, 0, 195, 0, 423, 463, + 491, 214, 215, 216, 0, 252, 256, 263, 265, 271, + 272, 279, 313, 360, 383, 381, 387, 0, 439, 456, + 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, + 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, + 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, + 328, 411, 457, 296, 301, 304, 0, 187, 202, 314, + 0, 388, 261, 488, 468, 464, 0, 0, 236, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, + 277, 282, 283, 286, 291, 324, 330, 331, 332, 333, + 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, + 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, + 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, + 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, + 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, + 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, + 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, + 431, 432, 433, 435, 338, 240, 373, 0, 339, 321, + 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, + 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, + 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, + 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, + 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, + 0, 0, 184, 185, 186, 0, 0, 0, 1984, 0, + 0, 0, 1985, 0, 0, 217, 0, 224, 303, 307, + 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, + 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2000, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3769,64 +3833,8 @@ var yyAct = [...]int{ 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, - 410, 431, 432, 433, 435, 338, 240, 373, 436, 0, - 321, 437, 438, 280, 0, 0, 0, 0, 0, 0, - 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, - 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, - 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, - 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, - 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, - 354, 422, 259, 0, 0, 0, 0, 184, 185, 186, - 0, 0, 0, 1984, 0, 0, 0, 1985, 0, 0, - 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, - 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, - 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, - 209, 339, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, - 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, - 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, - 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, - 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, - 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, - 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, - 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, - 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, - 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, - 448, 449, 230, 490, 208, 470, 201, 0, 469, 349, - 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, - 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, - 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, - 216, 0, 252, 256, 263, 265, 271, 272, 279, 313, - 360, 383, 381, 387, 0, 439, 456, 466, 473, 479, - 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, - 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 510, 328, 411, 457, - 296, 301, 304, 0, 187, 202, 314, 0, 388, 261, - 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, - 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, - 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, - 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, - 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, - 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, - 459, 472, 477, 270, 454, 478, 0, 323, 0, 0, - 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, - 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, - 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, - 435, 338, 240, 373, 436, 0, 321, 437, 438, 280, + 410, 431, 432, 433, 435, 338, 240, 373, 0, 339, + 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 1302, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, @@ -3838,7 +3846,64 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, - 0, 0, 0, 0, 0, 0, 209, 339, 0, 0, + 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, + 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, + 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, + 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, + 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, + 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, + 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, + 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, + 204, 406, 221, 211, 197, 429, 453, 218, 409, 0, + 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, + 390, 242, 264, 232, 356, 448, 449, 230, 490, 208, + 470, 201, 0, 469, 349, 444, 452, 337, 327, 200, + 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, + 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, + 423, 463, 491, 214, 215, 216, 0, 252, 256, 263, + 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, + 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, + 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, + 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 510, 328, 411, 457, 296, 301, 304, 0, 187, + 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, + 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, + 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, + 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, + 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, + 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, + 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, + 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, + 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, + 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, + 220, 410, 431, 432, 433, 435, 338, 240, 373, 0, + 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, + 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, + 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, + 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, + 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, + 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, + 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3849,7 +3914,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, - 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, + 0, 0, 2697, 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, @@ -3883,75 +3948,76 @@ var yyAct = [...]int{ 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, - 436, 0, 321, 437, 438, 280, 0, 0, 0, 0, - 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, - 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, - 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, - 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, - 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, - 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, - 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, - 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, - 0, 0, 209, 339, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, + 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, + 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, + 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, + 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, + 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, + 259, 0, 0, 0, 0, 184, 185, 186, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, + 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, + 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, - 0, 0, 0, 0, 474, 0, 0, 0, 2697, 0, - 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, - 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, - 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, - 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, - 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, - 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, - 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, - 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, - 232, 356, 448, 449, 230, 490, 208, 470, 201, 0, - 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, - 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, - 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, - 214, 215, 216, 0, 252, 256, 263, 265, 271, 272, - 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, - 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, - 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, - 411, 457, 296, 301, 304, 0, 187, 202, 314, 0, - 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, - 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, - 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, - 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, - 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, - 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, - 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, - 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, - 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, - 432, 433, 435, 338, 240, 373, 436, 0, 321, 437, - 438, 280, 0, 0, 0, 0, 0, 0, 357, 0, - 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, - 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, - 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, - 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, + 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, + 0, 0, 0, 2623, 0, 0, 0, 311, 0, 293, + 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, + 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, + 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, + 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, + 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, + 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, + 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, + 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, + 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, + 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, + 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, + 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, + 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, + 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, + 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, + 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 510, 328, 411, 457, 296, 301, 304, + 0, 187, 202, 314, 0, 388, 261, 488, 468, 464, + 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, - 259, 0, 0, 0, 0, 184, 185, 186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, - 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, - 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, - 440, 0, 0, 0, 0, 0, 0, 0, 209, 339, + 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, + 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, + 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, + 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, + 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, + 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, + 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, + 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, + 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, + 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, + 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, + 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, + 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, + 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, + 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, + 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, + 1451, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, + 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, + 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3962,7 +4028,7 @@ 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, 268, 0, 343, 231, 0, 0, 0, 0, - 474, 0, 0, 0, 2623, 0, 0, 0, 311, 0, + 474, 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, @@ -3996,64 +4062,65 @@ var yyAct = [...]int{ 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, - 240, 373, 436, 0, 321, 437, 438, 280, 0, 0, - 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, - 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, - 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, - 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, - 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 226, 192, 354, 422, 259, 0, 0, 0, - 0, 184, 185, 186, 0, 1451, 0, 0, 0, 0, - 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, - 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, - 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, - 0, 0, 0, 0, 209, 339, 0, 0, 0, 0, + 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, + 0, 0, 0, 1738, 0, 0, 0, 0, 0, 0, + 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, + 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, + 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, + 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, + 354, 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, + 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, + 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, - 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, - 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, - 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, - 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, - 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, - 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, - 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, - 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, - 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, - 201, 0, 469, 349, 444, 452, 337, 327, 200, 450, - 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, - 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, - 463, 491, 214, 215, 216, 0, 252, 256, 263, 265, - 271, 272, 279, 313, 360, 383, 381, 387, 0, 439, - 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, - 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, - 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 510, 328, 411, 457, 296, 301, 304, 0, 187, 202, - 314, 0, 388, 261, 488, 468, 464, 0, 0, 236, + 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, + 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, + 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, + 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, + 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, + 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, + 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, + 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, + 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, + 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, + 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, + 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, + 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, + 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, + 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, + 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, + 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, + 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 510, 328, 411, 457, 296, + 301, 304, 0, 187, 202, 314, 0, 388, 261, 488, + 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, + 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, + 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, + 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, + 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, + 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, + 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, + 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, + 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, + 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, + 338, 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, - 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, - 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, - 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, - 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, - 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, - 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, - 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, - 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, - 410, 431, 432, 433, 435, 338, 240, 373, 0, 436, - 321, 437, 438, 280, 1738, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, @@ -4061,15 +4128,72 @@ var yyAct = [...]int{ 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, 185, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 186, 0, 1281, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, + 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, + 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, + 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, + 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, + 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, + 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, + 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, + 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, + 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, + 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, + 448, 449, 230, 490, 208, 470, 201, 0, 469, 349, + 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, + 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, + 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, + 216, 0, 252, 256, 263, 265, 271, 272, 279, 313, + 360, 383, 381, 387, 0, 439, 456, 466, 473, 479, + 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, + 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 510, 328, 411, 457, + 296, 301, 304, 0, 187, 202, 314, 0, 388, 261, + 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, + 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, + 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, + 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, + 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, + 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, + 459, 472, 477, 270, 454, 478, 0, 323, 0, 0, + 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, + 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, + 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, + 435, 338, 240, 373, 0, 339, 321, 437, 438, 280, + 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, + 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, + 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, + 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, + 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, + 226, 192, 354, 422, 259, 0, 0, 0, 0, 184, + 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, + 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, + 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4084,89 +4208,33 @@ var yyAct = [...]int{ 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, - 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 510, 328, 411, - 457, 296, 301, 304, 0, 187, 202, 314, 0, 388, - 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, - 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 436, 0, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, - 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, - 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, - 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, - 0, 0, 0, 0, 184, 185, 186, 0, 1281, 0, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, - 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, - 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, - 0, 0, 0, 0, 0, 0, 0, 209, 339, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, - 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, - 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, - 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, - 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, - 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, - 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, - 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, - 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, - 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, - 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, - 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, - 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, - 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, - 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, - 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, - 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, - 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 510, 328, 411, 457, 296, 301, 304, - 0, 187, 202, 314, 0, 388, 261, 488, 468, 464, - 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, + 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, + 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, + 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, + 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, + 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, + 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, + 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, + 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 510, 328, 411, + 457, 296, 301, 304, 0, 187, 202, 314, 0, 388, + 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, - 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, - 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, - 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, - 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, - 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, - 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, - 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 436, 0, 321, 437, 438, 280, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, + 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, + 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, + 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, + 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, + 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, + 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, + 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, + 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, + 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, + 433, 435, 338, 240, 373, 0, 339, 321, 437, 438, + 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, @@ -4178,11 +4246,68 @@ var yyAct = [...]int{ 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, - 0, 0, 0, 209, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, + 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, + 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, + 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, + 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, + 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, + 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, + 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, + 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, + 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, + 232, 356, 448, 449, 230, 490, 208, 470, 201, 0, + 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, + 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, + 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, + 214, 215, 216, 0, 252, 256, 263, 265, 271, 272, + 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, + 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, + 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, + 411, 457, 296, 301, 304, 0, 187, 202, 314, 1543, + 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, + 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, + 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, + 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, + 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, + 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, + 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, + 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, + 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, + 432, 433, 435, 338, 240, 373, 0, 339, 321, 437, + 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 357, 0, 1423, 0, 0, 0, + 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, + 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, + 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, + 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 287, 226, 192, 354, 422, 259, 0, 0, 0, + 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, + 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, + 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4222,65 +4347,9 @@ var yyAct = [...]int{ 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, - 431, 432, 433, 435, 338, 240, 373, 436, 0, 321, - 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, - 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, - 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, - 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, - 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, - 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, - 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, - 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, - 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, - 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, - 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, - 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, - 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, - 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, - 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, - 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, - 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, - 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, - 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, - 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, - 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, - 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, - 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, - 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, - 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, - 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, - 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 510, 328, 411, 457, 296, - 301, 304, 0, 187, 202, 314, 1543, 388, 261, 488, - 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, - 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, - 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, - 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, - 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, - 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, - 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, - 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, - 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, - 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 436, 0, 321, 437, 438, 280, 0, - 0, 0, 0, 0, 0, 357, 0, 1423, 0, 0, + 431, 432, 433, 435, 338, 240, 373, 0, 339, 321, + 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 357, 0, 1421, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, @@ -4291,7 +4360,64 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, - 0, 0, 0, 0, 0, 209, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, + 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, + 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, + 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, + 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, + 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, + 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, + 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, + 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, + 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, + 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, + 201, 0, 469, 349, 444, 452, 337, 327, 200, 450, + 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, + 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, + 463, 491, 214, 215, 216, 0, 252, 256, 263, 265, + 271, 272, 279, 313, 360, 383, 381, 387, 0, 439, + 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, + 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, + 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 510, 328, 411, 457, 296, 301, 304, 0, 187, 202, + 314, 0, 388, 261, 488, 468, 464, 0, 0, 236, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, + 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, + 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, + 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, + 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, + 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, + 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, + 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, + 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, + 410, 431, 432, 433, 435, 338, 240, 373, 0, 339, + 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 357, 0, 1419, 0, + 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, + 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, + 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, + 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, + 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, + 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, + 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, + 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4314,86 +4440,30 @@ var yyAct = [...]int{ 470, 201, 0, 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, - 423, 463, 491, 214, 215, 216, 0, 252, 256, 263, - 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, - 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, - 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, - 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 510, 328, 411, 457, 296, 301, 304, 0, 187, - 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, - 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, - 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, - 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, - 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, - 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, - 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, - 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, - 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 436, - 0, 321, 437, 438, 280, 0, 0, 0, 0, 0, - 0, 357, 0, 1421, 0, 0, 0, 0, 0, 0, - 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, - 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, - 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, - 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, - 192, 354, 422, 259, 0, 0, 0, 0, 184, 185, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, - 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, - 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, - 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, - 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, - 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, - 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, - 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, - 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, - 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, - 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, - 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, - 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 510, 328, 411, - 457, 296, 301, 304, 0, 187, 202, 314, 0, 388, - 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, + 423, 463, 491, 214, 215, 216, 0, 252, 256, 263, + 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, + 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, + 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, + 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 510, 328, 411, 457, 296, 301, 304, 0, 187, + 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, + 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, - 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 436, 0, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 357, 0, 1419, + 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, + 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, + 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, + 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, + 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, + 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, + 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, + 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, + 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, + 220, 410, 431, 432, 433, 435, 338, 240, 373, 0, + 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 357, 0, 1417, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, @@ -4404,7 +4474,64 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, - 0, 0, 0, 0, 0, 0, 0, 209, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, + 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, + 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, + 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, + 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, + 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, + 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, + 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, + 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, + 0, 390, 242, 264, 232, 356, 448, 449, 230, 490, + 208, 470, 201, 0, 469, 349, 444, 452, 337, 327, + 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, + 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, + 0, 423, 463, 491, 214, 215, 216, 0, 252, 256, + 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, + 0, 439, 456, 466, 473, 479, 480, 482, 483, 484, + 485, 486, 348, 278, 419, 294, 318, 0, 0, 366, + 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 510, 328, 411, 457, 296, 301, 304, 0, + 187, 202, 314, 0, 388, 261, 488, 468, 464, 0, + 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, + 258, 269, 274, 277, 282, 283, 286, 291, 324, 330, + 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, + 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, + 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, + 415, 416, 424, 428, 446, 447, 459, 472, 477, 270, + 454, 478, 0, 323, 0, 0, 325, 254, 273, 284, + 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, + 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, + 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, + 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, + 1415, 0, 0, 0, 0, 0, 0, 244, 0, 0, + 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, + 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, + 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, + 259, 0, 0, 0, 0, 184, 185, 186, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, + 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, + 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4449,65 +4576,9 @@ var yyAct = [...]int{ 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 436, 0, 321, 437, 438, 280, 0, 0, 0, - 0, 0, 0, 357, 0, 1417, 0, 0, 0, 0, - 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, - 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, - 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, - 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, - 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, - 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, - 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, - 0, 0, 0, 209, 339, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, - 231, 0, 0, 0, 0, 474, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, - 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, - 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, - 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, - 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, - 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, - 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, - 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, - 264, 232, 356, 448, 449, 230, 490, 208, 470, 201, - 0, 469, 349, 444, 452, 337, 327, 200, 450, 335, - 326, 295, 309, 310, 253, 275, 384, 320, 385, 276, - 345, 344, 346, 194, 462, 0, 195, 0, 423, 463, - 491, 214, 215, 216, 0, 252, 256, 263, 265, 271, - 272, 279, 313, 360, 383, 381, 387, 0, 439, 456, - 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, - 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, - 328, 411, 457, 296, 301, 304, 0, 187, 202, 314, - 0, 388, 261, 488, 468, 464, 0, 0, 236, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, - 277, 282, 283, 286, 291, 324, 330, 331, 332, 333, - 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, - 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, - 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, - 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, - 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, - 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, - 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, - 431, 432, 433, 435, 338, 240, 373, 436, 0, 321, - 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, - 0, 1415, 0, 0, 0, 0, 0, 0, 244, 0, + 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 0, 1411, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, @@ -4518,109 +4589,110 @@ var yyAct = [...]int{ 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, - 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, - 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, - 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, - 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, - 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, - 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, - 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, - 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, - 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, - 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, - 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, - 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, - 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, - 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, - 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, - 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, - 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, - 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 510, 328, 411, 457, 296, - 301, 304, 0, 187, 202, 314, 0, 388, 261, 488, - 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, - 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, - 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, - 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, - 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, - 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, - 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, - 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, - 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, - 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 436, 0, 321, 437, 438, 280, 0, - 0, 0, 0, 0, 0, 357, 0, 1411, 0, 0, - 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, - 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, - 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, - 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, + 0, 0, 268, 0, 343, 231, 0, 0, 0, 0, + 474, 0, 0, 0, 0, 0, 0, 0, 311, 0, + 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, + 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, + 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, + 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, + 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, + 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, + 218, 409, 0, 0, 489, 199, 451, 426, 336, 289, + 290, 198, 0, 390, 242, 264, 232, 356, 448, 449, + 230, 490, 208, 470, 201, 0, 469, 349, 444, 452, + 337, 327, 200, 450, 335, 326, 295, 309, 310, 253, + 275, 384, 320, 385, 276, 345, 344, 346, 194, 462, + 0, 195, 0, 423, 463, 491, 214, 215, 216, 0, + 252, 256, 263, 265, 271, 272, 279, 313, 360, 383, + 381, 387, 0, 439, 456, 466, 473, 479, 480, 482, + 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, + 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 510, 328, 411, 457, 296, 301, + 304, 0, 187, 202, 314, 0, 388, 261, 488, 468, + 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, - 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, - 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, - 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, - 0, 0, 0, 0, 0, 209, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, + 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, + 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, + 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, + 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, + 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, + 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, + 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, + 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, + 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, + 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, + 357, 0, 1409, 0, 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, + 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, + 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, + 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, + 354, 422, 259, 0, 0, 0, 0, 184, 185, 186, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, + 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, + 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, - 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, - 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, - 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, - 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, - 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, - 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, - 204, 406, 221, 211, 197, 429, 453, 218, 409, 0, - 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, - 390, 242, 264, 232, 356, 448, 449, 230, 490, 208, - 470, 201, 0, 469, 349, 444, 452, 337, 327, 200, - 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, - 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, - 423, 463, 491, 214, 215, 216, 0, 252, 256, 263, - 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, - 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, - 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, - 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 510, 328, 411, 457, 296, 301, 304, 0, 187, - 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, - 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, - 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, - 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, - 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, - 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, - 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, - 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, - 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 436, - 0, 321, 437, 438, 280, 0, 0, 0, 0, 0, - 0, 357, 0, 1409, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, + 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, + 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, + 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, + 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, + 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, + 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, + 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, + 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, + 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, + 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, + 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, + 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, + 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, + 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, + 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, + 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, + 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 510, 328, 411, 457, 296, + 301, 304, 0, 187, 202, 314, 0, 388, 261, 488, + 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, + 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, + 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, + 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, + 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, + 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, + 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, + 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, + 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, + 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, + 338, 240, 373, 0, 339, 321, 437, 438, 280, 436, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 357, 0, 1407, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, @@ -4631,7 +4703,64 @@ var yyAct = [...]int{ 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, + 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, + 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, + 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, + 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, + 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, + 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, + 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, + 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, + 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, + 448, 449, 230, 490, 208, 470, 201, 0, 469, 349, + 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, + 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, + 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, + 216, 0, 252, 256, 263, 265, 271, 272, 279, 313, + 360, 383, 381, 387, 0, 439, 456, 466, 473, 479, + 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, + 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 510, 328, 411, 457, + 296, 301, 304, 0, 187, 202, 314, 0, 388, 261, + 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, + 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, + 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, + 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, + 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, + 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, + 459, 472, 477, 270, 454, 478, 0, 323, 0, 0, + 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, + 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, + 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, + 435, 338, 240, 373, 0, 339, 321, 437, 438, 280, + 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, + 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, + 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, + 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, + 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, + 226, 192, 354, 422, 259, 0, 1384, 0, 0, 184, + 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, + 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, + 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4675,76 +4804,77 @@ var yyAct = [...]int{ 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 436, 0, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 357, 0, 1407, - 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, - 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, - 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, - 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, + 433, 435, 338, 240, 373, 0, 339, 321, 437, 438, + 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, + 0, 1286, 244, 0, 0, 0, 0, 312, 241, 0, + 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, + 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, + 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, - 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, - 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, - 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, - 0, 0, 0, 0, 0, 0, 0, 209, 339, 0, + 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, + 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, + 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, + 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, + 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, + 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, + 394, 400, 0, 0, 0, 229, 0, 398, 367, 458, + 213, 257, 391, 372, 396, 379, 260, 0, 0, 397, + 317, 445, 386, 455, 475, 476, 237, 347, 465, 434, + 471, 487, 206, 234, 361, 427, 461, 418, 340, 441, + 442, 292, 417, 266, 191, 315, 481, 204, 406, 221, + 211, 197, 429, 453, 218, 409, 0, 0, 489, 199, + 451, 426, 336, 289, 290, 198, 0, 390, 242, 264, + 232, 356, 448, 449, 230, 490, 208, 470, 201, 0, + 469, 349, 444, 452, 337, 327, 200, 450, 335, 326, + 295, 309, 310, 253, 275, 384, 320, 385, 276, 345, + 344, 346, 194, 462, 0, 195, 0, 423, 463, 491, + 214, 215, 216, 0, 252, 256, 263, 265, 271, 272, + 279, 313, 360, 383, 381, 387, 0, 439, 456, 466, + 473, 479, 480, 482, 483, 484, 485, 486, 348, 278, + 419, 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, - 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, - 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, - 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, - 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, - 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, - 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, - 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, - 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, - 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, - 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, - 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, - 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, - 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, - 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, - 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, - 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, - 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 510, 328, 411, 457, 296, 301, 304, - 0, 187, 202, 314, 0, 388, 261, 488, 468, 464, - 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 510, 328, + 411, 457, 296, 301, 304, 0, 187, 202, 314, 0, + 388, 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, - 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, - 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, - 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, - 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, - 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, - 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, - 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 436, 0, 321, 437, 438, 280, 0, 0, 0, - 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, - 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, - 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, - 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, + 282, 283, 286, 291, 324, 330, 331, 332, 333, 350, + 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, + 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, + 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, + 446, 447, 459, 472, 477, 270, 454, 478, 0, 323, + 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, + 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, + 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, + 432, 433, 435, 338, 240, 373, 0, 339, 321, 437, + 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, + 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, + 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, + 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, + 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 287, 226, 192, 354, 422, 259, 0, 1384, 0, 0, - 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, - 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, - 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, - 0, 0, 0, 209, 339, 0, 0, 0, 0, 0, + 0, 287, 226, 192, 354, 422, 259, 0, 0, 0, + 0, 184, 185, 186, 0, 1102, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, + 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, + 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4784,68 +4914,12 @@ var yyAct = [...]int{ 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, - 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, - 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, - 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, - 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, - 431, 432, 433, 435, 338, 240, 373, 436, 0, 321, - 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, - 0, 0, 0, 0, 0, 0, 0, 1286, 244, 0, - 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, - 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, - 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, - 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, - 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, - 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, - 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, - 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, - 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, - 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, - 0, 0, 229, 0, 398, 367, 458, 213, 257, 391, - 372, 396, 379, 260, 0, 0, 397, 317, 445, 386, - 455, 475, 476, 237, 347, 465, 434, 471, 487, 206, - 234, 361, 427, 461, 418, 340, 441, 442, 292, 417, - 266, 191, 315, 481, 204, 406, 221, 211, 197, 429, - 453, 218, 409, 0, 0, 489, 199, 451, 426, 336, - 289, 290, 198, 0, 390, 242, 264, 232, 356, 448, - 449, 230, 490, 208, 470, 201, 0, 469, 349, 444, - 452, 337, 327, 200, 450, 335, 326, 295, 309, 310, - 253, 275, 384, 320, 385, 276, 345, 344, 346, 194, - 462, 0, 195, 0, 423, 463, 491, 214, 215, 216, - 0, 252, 256, 263, 265, 271, 272, 279, 313, 360, - 383, 381, 387, 0, 439, 456, 466, 473, 479, 480, - 482, 483, 484, 485, 486, 348, 278, 419, 294, 318, - 0, 0, 366, 399, 219, 460, 420, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 510, 328, 411, 457, 296, - 301, 304, 0, 187, 202, 314, 0, 388, 261, 488, - 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, - 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, - 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, - 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, - 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, - 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, - 472, 477, 270, 454, 478, 0, 323, 0, 0, 325, - 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, - 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, - 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 436, 0, 321, 437, 438, 280, 0, + 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, + 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, + 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, + 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, + 431, 432, 433, 435, 338, 240, 373, 0, 339, 321, + 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, @@ -4853,11 +4927,68 @@ var yyAct = [...]int{ 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, - 0, 0, 184, 185, 186, 0, 1102, 0, 0, 0, + 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, - 0, 0, 0, 0, 0, 209, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, + 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, + 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, + 0, 353, 394, 400, 0, 0, 0, 229, 0, 398, + 367, 458, 213, 257, 391, 372, 396, 379, 260, 0, + 0, 397, 317, 445, 386, 455, 475, 476, 237, 347, + 465, 434, 471, 487, 206, 234, 361, 427, 461, 418, + 340, 441, 442, 292, 417, 266, 191, 315, 481, 204, + 406, 221, 211, 197, 429, 453, 218, 409, 0, 0, + 489, 199, 451, 426, 336, 289, 290, 198, 0, 390, + 242, 264, 232, 356, 448, 449, 230, 490, 208, 470, + 201, 0, 469, 349, 444, 452, 337, 327, 200, 450, + 335, 326, 295, 309, 310, 253, 275, 384, 320, 385, + 276, 345, 344, 346, 194, 462, 0, 195, 0, 423, + 463, 491, 214, 215, 216, 0, 252, 256, 263, 265, + 271, 272, 279, 313, 360, 383, 381, 387, 0, 439, + 456, 466, 473, 479, 480, 482, 483, 484, 485, 486, + 348, 278, 419, 294, 318, 0, 0, 366, 399, 219, + 460, 420, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 510, 328, 411, 457, 296, 301, 304, 0, 187, 202, + 314, 0, 388, 261, 488, 468, 464, 0, 0, 236, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, + 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, + 274, 277, 282, 283, 286, 291, 324, 330, 331, 332, + 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, + 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, + 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, + 424, 428, 446, 447, 459, 472, 477, 270, 454, 478, + 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, + 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, + 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, + 410, 431, 432, 433, 435, 338, 240, 373, 0, 339, + 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, + 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, + 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, + 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, + 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 226, 192, 354, 422, 259, 0, + 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, + 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, + 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, + 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4866,7 +4997,7 @@ 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, 0, 0, 0, 0, 268, + 0, 0, 0, 0, 0, 0, 0, 566, 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, @@ -4897,69 +5028,13 @@ var yyAct = [...]int{ 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, + 416, 424, 428, 446, 447, 459, 472, 477, 565, 454, 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 436, - 0, 321, 437, 438, 280, 0, 0, 0, 0, 0, - 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, - 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, - 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, - 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, - 192, 354, 422, 259, 0, 0, 0, 0, 184, 185, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, - 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, - 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, - 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, - 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, - 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, - 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, - 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, - 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, - 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, - 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, - 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, - 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 510, 328, 411, - 457, 296, 301, 304, 0, 187, 202, 314, 0, 388, - 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 728, 0, 0, 0, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, - 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 436, 0, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, + 220, 410, 431, 432, 433, 435, 338, 240, 373, 0, + 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, @@ -4970,7 +5045,64 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, - 0, 0, 0, 0, 0, 0, 0, 209, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 268, 0, 343, 231, 0, 0, 513, 0, 474, 0, + 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, + 205, 0, 0, 353, 394, 400, 0, 0, 0, 229, + 0, 398, 367, 458, 213, 257, 391, 372, 396, 379, + 260, 0, 0, 397, 317, 445, 386, 455, 475, 476, + 237, 347, 465, 434, 471, 487, 206, 234, 361, 427, + 461, 418, 340, 441, 442, 292, 417, 266, 191, 315, + 481, 204, 406, 221, 211, 197, 429, 453, 218, 409, + 0, 0, 489, 199, 451, 426, 336, 289, 290, 198, + 0, 390, 242, 264, 232, 356, 448, 449, 230, 490, + 208, 470, 201, 0, 469, 349, 444, 452, 337, 327, + 200, 450, 335, 326, 295, 309, 310, 253, 275, 384, + 320, 385, 276, 345, 344, 346, 194, 462, 0, 195, + 0, 423, 463, 491, 214, 215, 216, 0, 252, 256, + 263, 265, 271, 272, 279, 313, 360, 383, 381, 387, + 0, 439, 456, 466, 473, 479, 480, 482, 483, 484, + 485, 486, 348, 278, 419, 294, 318, 0, 0, 366, + 399, 219, 460, 420, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 510, 328, 411, 457, 296, 301, 304, 0, + 187, 202, 314, 0, 388, 261, 488, 468, 464, 0, + 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, + 258, 269, 274, 277, 282, 283, 286, 291, 324, 330, + 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, + 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, + 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, + 415, 416, 424, 428, 446, 447, 459, 472, 477, 270, + 454, 478, 0, 323, 0, 0, 325, 254, 273, 284, + 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, + 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, + 392, 220, 410, 431, 432, 433, 435, 338, 240, 373, + 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, + 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, + 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, + 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, + 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 226, 192, 354, 422, + 259, 0, 0, 0, 0, 184, 185, 186, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, + 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, + 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4979,7 +5111,7 @@ 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, 0, 0, 0, 0, 566, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, @@ -5007,28 +5139,29 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, + 330, 331, 332, 333, 2702, 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 565, 454, 478, 0, 323, 0, 0, 325, 254, 273, + 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 436, 0, 321, 437, 438, 280, 0, 0, 0, - 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, - 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, - 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, - 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, + 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, + 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, + 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, + 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, + 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, + 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, + 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, + 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 287, 226, 192, 354, 422, 259, 0, 0, 0, 0, - 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, - 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, - 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, - 0, 0, 0, 209, 339, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, + 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5036,55 +5169,55 @@ 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, 0, 0, 268, 0, 343, - 231, 0, 0, 513, 0, 474, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 293, 188, 205, 0, 0, - 353, 394, 400, 0, 0, 0, 229, 0, 398, 367, - 458, 213, 257, 391, 372, 396, 379, 260, 0, 0, - 397, 317, 445, 386, 455, 475, 476, 237, 347, 465, - 434, 471, 487, 206, 234, 361, 427, 461, 418, 340, - 441, 442, 292, 417, 266, 191, 315, 481, 204, 406, - 221, 211, 197, 429, 453, 218, 409, 0, 0, 489, - 199, 451, 426, 336, 289, 290, 198, 0, 390, 242, - 264, 232, 356, 448, 449, 230, 490, 208, 470, 201, - 0, 469, 349, 444, 452, 337, 327, 200, 450, 335, - 326, 295, 309, 310, 253, 275, 384, 320, 385, 276, - 345, 344, 346, 194, 462, 0, 195, 0, 423, 463, - 491, 214, 215, 216, 0, 252, 256, 263, 265, 271, - 272, 279, 313, 360, 383, 381, 387, 0, 439, 456, - 466, 473, 479, 480, 482, 483, 484, 485, 486, 348, - 278, 419, 294, 318, 0, 0, 366, 399, 219, 460, - 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, - 328, 411, 457, 296, 301, 304, 0, 187, 202, 314, - 0, 388, 261, 488, 468, 464, 0, 0, 236, 0, + 0, 0, 268, 0, 343, 231, 0, 0, 0, 0, + 474, 0, 0, 0, 0, 0, 0, 0, 311, 0, + 293, 188, 205, 0, 0, 353, 394, 400, 0, 0, + 0, 229, 0, 398, 367, 458, 213, 257, 391, 372, + 396, 379, 260, 0, 0, 397, 317, 445, 386, 455, + 475, 476, 237, 347, 465, 434, 471, 487, 206, 234, + 361, 427, 461, 418, 340, 441, 442, 292, 417, 266, + 191, 315, 481, 204, 406, 221, 211, 197, 429, 453, + 218, 409, 0, 0, 489, 199, 451, 426, 336, 289, + 290, 198, 0, 390, 242, 264, 232, 356, 448, 449, + 230, 490, 208, 470, 201, 0, 469, 349, 444, 452, + 337, 327, 200, 450, 335, 326, 295, 309, 310, 253, + 275, 384, 320, 385, 276, 345, 344, 346, 194, 462, + 0, 195, 0, 423, 463, 491, 214, 215, 216, 0, + 252, 256, 263, 265, 271, 272, 279, 313, 360, 383, + 381, 387, 0, 439, 456, 466, 473, 479, 480, 482, + 483, 484, 485, 486, 348, 278, 419, 294, 318, 0, + 0, 366, 399, 219, 460, 420, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 510, 328, 411, 457, 296, 301, + 304, 0, 187, 202, 314, 0, 388, 261, 488, 468, + 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, + 235, 250, 258, 269, 274, 277, 282, 283, 286, 291, + 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, + 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, + 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, + 413, 414, 415, 416, 424, 428, 446, 447, 459, 472, + 477, 270, 454, 478, 0, 323, 0, 0, 325, 254, + 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, + 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, + 245, 223, 392, 220, 410, 431, 432, 433, 435, 338, + 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, + 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, + 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, + 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 226, 192, + 354, 422, 259, 0, 0, 0, 0, 184, 2401, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, - 277, 282, 283, 286, 291, 324, 330, 331, 332, 333, - 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, - 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, - 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, - 428, 446, 447, 459, 472, 477, 270, 454, 478, 0, - 323, 0, 0, 325, 254, 273, 284, 0, 467, 425, - 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, - 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, - 431, 432, 433, 435, 338, 240, 373, 436, 0, 321, - 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, - 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, - 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, - 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, - 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, - 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 226, 192, 354, - 422, 259, 0, 0, 0, 0, 184, 185, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, - 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, - 238, 440, 0, 0, 0, 0, 0, 0, 0, 209, - 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, + 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, + 246, 238, 440, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5120,7 +5253,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, 286, - 291, 324, 330, 331, 332, 333, 2702, 351, 352, 355, + 291, 324, 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, 459, @@ -5128,134 +5261,21 @@ var yyAct = [...]int{ 254, 273, 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, 435, - 338, 240, 373, 436, 0, 321, 437, 438, 280, 0, - 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, - 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, - 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, - 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 226, 192, 354, 422, 259, 0, 0, - 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, - 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, - 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, - 0, 0, 0, 0, 0, 209, 339, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 0, 343, 231, 0, 0, 0, 0, 474, 0, 0, - 0, 0, 0, 0, 0, 311, 0, 293, 188, 205, - 0, 0, 353, 394, 400, 0, 0, 0, 229, 0, - 398, 367, 458, 213, 257, 391, 372, 396, 379, 260, - 0, 0, 397, 317, 445, 386, 455, 475, 476, 237, - 347, 465, 434, 471, 487, 206, 234, 361, 427, 461, - 418, 340, 441, 442, 292, 417, 266, 191, 315, 481, - 204, 406, 221, 211, 197, 429, 453, 218, 409, 0, - 0, 489, 199, 451, 426, 336, 289, 290, 198, 0, - 390, 242, 264, 232, 356, 448, 449, 230, 490, 208, - 470, 201, 0, 469, 349, 444, 452, 337, 327, 200, - 450, 335, 326, 295, 309, 310, 253, 275, 384, 320, - 385, 276, 345, 344, 346, 194, 462, 0, 195, 0, - 423, 463, 491, 214, 215, 216, 0, 252, 256, 263, - 265, 271, 272, 279, 313, 360, 383, 381, 387, 0, - 439, 456, 466, 473, 479, 480, 482, 483, 484, 485, - 486, 348, 278, 419, 294, 318, 0, 0, 366, 399, - 219, 460, 420, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 510, 328, 411, 457, 296, 301, 304, 0, 187, - 202, 314, 0, 388, 261, 488, 468, 464, 0, 0, - 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 338, 240, 373, 0, 339, 321, 437, 438, 280, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 190, 203, 212, 222, 235, 250, 258, - 269, 274, 277, 282, 283, 286, 291, 324, 330, 331, - 332, 333, 350, 351, 352, 355, 358, 359, 362, 364, - 365, 368, 375, 376, 377, 378, 380, 382, 389, 393, - 401, 402, 403, 404, 405, 407, 408, 413, 414, 415, - 416, 424, 428, 446, 447, 459, 472, 477, 270, 454, - 478, 0, 323, 0, 0, 325, 254, 273, 284, 0, - 467, 425, 207, 395, 262, 196, 225, 210, 233, 248, - 251, 288, 334, 341, 370, 374, 267, 245, 223, 392, - 220, 410, 431, 432, 433, 435, 338, 240, 373, 436, - 0, 321, 437, 438, 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 226, - 192, 354, 422, 259, 0, 0, 0, 0, 184, 2401, + 192, 354, 422, 259, 0, 0, 0, 0, 184, 1980, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, 0, 0, 0, 0, 0, 0, - 0, 209, 339, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 343, 231, 0, - 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, - 0, 311, 0, 293, 188, 205, 0, 0, 353, 394, - 400, 0, 0, 0, 229, 0, 398, 367, 458, 213, - 257, 391, 372, 396, 379, 260, 0, 0, 397, 317, - 445, 386, 455, 475, 476, 237, 347, 465, 434, 471, - 487, 206, 234, 361, 427, 461, 418, 340, 441, 442, - 292, 417, 266, 191, 315, 481, 204, 406, 221, 211, - 197, 429, 453, 218, 409, 0, 0, 489, 199, 451, - 426, 336, 289, 290, 198, 0, 390, 242, 264, 232, - 356, 448, 449, 230, 490, 208, 470, 201, 0, 469, - 349, 444, 452, 337, 327, 200, 450, 335, 326, 295, - 309, 310, 253, 275, 384, 320, 385, 276, 345, 344, - 346, 194, 462, 0, 195, 0, 423, 463, 491, 214, - 215, 216, 0, 252, 256, 263, 265, 271, 272, 279, - 313, 360, 383, 381, 387, 0, 439, 456, 466, 473, - 479, 480, 482, 483, 484, 485, 486, 348, 278, 419, - 294, 318, 0, 0, 366, 399, 219, 460, 420, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 510, 328, 411, - 457, 296, 301, 304, 0, 187, 202, 314, 0, 388, - 261, 488, 468, 464, 0, 0, 236, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, - 203, 212, 222, 235, 250, 258, 269, 274, 277, 282, - 283, 286, 291, 324, 330, 331, 332, 333, 350, 351, - 352, 355, 358, 359, 362, 364, 365, 368, 375, 376, - 377, 378, 380, 382, 389, 393, 401, 402, 403, 404, - 405, 407, 408, 413, 414, 415, 416, 424, 428, 446, - 447, 459, 472, 477, 270, 454, 478, 0, 323, 0, - 0, 325, 254, 273, 284, 0, 467, 425, 207, 395, - 262, 196, 225, 210, 233, 248, 251, 288, 334, 341, - 370, 374, 267, 245, 223, 392, 220, 410, 431, 432, - 433, 435, 338, 240, 373, 436, 0, 321, 437, 438, - 280, 0, 0, 0, 0, 0, 0, 357, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, - 0, 312, 241, 0, 0, 371, 0, 193, 0, 412, - 228, 322, 319, 443, 255, 247, 243, 227, 281, 329, - 369, 430, 363, 0, 316, 0, 0, 421, 342, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 226, 192, 354, 422, 259, - 0, 0, 0, 0, 184, 1980, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 224, - 303, 307, 306, 297, 298, 299, 300, 302, 305, 308, - 0, 0, 0, 0, 0, 239, 285, 246, 238, 440, - 0, 0, 0, 0, 0, 0, 0, 209, 339, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5263,64 +5283,64 @@ 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, 268, 0, 343, 231, 0, 0, 0, 0, 474, - 0, 0, 0, 0, 0, 0, 0, 311, 0, 293, - 188, 205, 0, 0, 353, 394, 400, 0, 0, 0, - 229, 0, 398, 367, 458, 213, 257, 391, 372, 396, - 379, 260, 0, 0, 397, 317, 445, 386, 455, 475, - 476, 237, 347, 465, 434, 471, 487, 206, 234, 361, - 427, 461, 418, 340, 441, 442, 292, 417, 266, 191, - 315, 481, 204, 406, 221, 211, 197, 429, 453, 218, - 409, 0, 0, 489, 199, 451, 426, 336, 289, 290, - 198, 0, 390, 242, 264, 232, 356, 448, 449, 230, - 490, 208, 470, 201, 0, 469, 349, 444, 452, 337, - 327, 200, 450, 335, 326, 295, 309, 310, 253, 275, - 384, 320, 385, 276, 345, 344, 346, 194, 462, 0, - 195, 0, 423, 463, 491, 214, 215, 216, 0, 252, - 256, 263, 265, 271, 272, 279, 313, 360, 383, 381, - 387, 0, 439, 456, 466, 473, 479, 480, 482, 483, - 484, 485, 486, 348, 278, 419, 294, 318, 0, 0, - 366, 399, 219, 460, 420, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 510, 328, 411, 457, 296, 301, 304, - 0, 187, 202, 314, 0, 388, 261, 488, 468, 464, - 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 268, 0, 343, 231, 0, 0, + 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, + 311, 0, 293, 188, 205, 0, 0, 353, 394, 400, + 0, 0, 0, 229, 0, 398, 367, 458, 213, 257, + 391, 372, 396, 379, 260, 0, 0, 397, 317, 445, + 386, 455, 475, 476, 237, 347, 465, 434, 471, 487, + 206, 234, 361, 427, 461, 418, 340, 441, 442, 292, + 417, 266, 191, 315, 481, 204, 406, 221, 211, 197, + 429, 453, 218, 409, 0, 0, 489, 199, 451, 426, + 336, 289, 290, 198, 0, 390, 242, 264, 232, 356, + 448, 449, 230, 490, 208, 470, 201, 0, 469, 349, + 444, 452, 337, 327, 200, 450, 335, 326, 295, 309, + 310, 253, 275, 384, 320, 385, 276, 345, 344, 346, + 194, 462, 0, 195, 0, 423, 463, 491, 214, 215, + 216, 0, 252, 256, 263, 265, 271, 272, 279, 313, + 360, 383, 381, 387, 0, 439, 456, 466, 473, 479, + 480, 482, 483, 484, 485, 486, 348, 278, 419, 294, + 318, 0, 0, 366, 399, 219, 460, 420, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 510, 328, 411, 457, + 296, 301, 304, 0, 187, 202, 314, 0, 388, 261, + 488, 468, 464, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 190, 203, 212, 222, 235, - 250, 258, 269, 274, 277, 282, 283, 286, 291, 324, - 330, 331, 332, 333, 350, 351, 352, 355, 358, 359, - 362, 364, 365, 368, 375, 376, 377, 378, 380, 382, - 389, 393, 401, 402, 403, 404, 405, 407, 408, 413, - 414, 415, 416, 424, 428, 446, 447, 459, 472, 477, - 270, 454, 478, 0, 323, 0, 0, 325, 254, 273, - 284, 0, 467, 425, 207, 395, 262, 196, 225, 210, - 233, 248, 251, 288, 334, 341, 370, 374, 267, 245, - 223, 392, 220, 410, 431, 432, 433, 435, 338, 240, - 373, 0, 0, 321, 437, 438, 280, + 0, 0, 0, 0, 0, 0, 0, 189, 190, 203, + 212, 222, 235, 250, 258, 269, 274, 277, 282, 283, + 286, 291, 324, 330, 331, 332, 333, 350, 351, 352, + 355, 358, 359, 362, 364, 365, 368, 375, 376, 377, + 378, 380, 382, 389, 393, 401, 402, 403, 404, 405, + 407, 408, 413, 414, 415, 416, 424, 428, 446, 447, + 459, 472, 477, 270, 454, 478, 0, 323, 0, 0, + 325, 254, 273, 284, 0, 467, 425, 207, 395, 262, + 196, 225, 210, 233, 248, 251, 288, 334, 341, 370, + 374, 267, 245, 223, 392, 220, 410, 431, 432, 433, + 435, 338, 240, 373, 0, 0, 321, 437, 438, 280, } var yyPact = [...]int{ - 4019, -1000, -393, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3486, -1000, -392, -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, 1896, 1962, -1000, -1000, - -1000, -1000, 2054, -1000, 660, 1623, -1000, 1905, 2888, -1000, - 37616, 371, -1000, 36484, 370, 262, 37616, -1000, 128, -1000, - 109, 37616, 117, 35918, -1000, -1000, -298, 16105, 1834, 13, - 12, 37616, -1000, -1000, -1000, -1000, 2029, 1594, -1000, 324, - -1000, -1000, -1000, -1000, -1000, -1000, 35352, -1000, -1000, -1000, - 1910, 1894, 2061, 570, 1818, -1000, 1968, 1594, -1000, 16105, - 2015, 1951, 15539, -1000, 15539, 347, -1000, -1000, 11570, -1000, - -1000, 21767, 37616, 37616, 213, -1000, 1905, -1000, -1000, 288, - -1000, 255, 1503, -1000, 1499, -1000, 688, 422, 284, 394, - 390, 279, 276, 274, 273, 272, 271, 268, 267, 290, - -1000, 603, 603, -154, -155, 2533, 329, 329, 329, 358, - 1853, 1851, -1000, 550, -1000, 603, 603, 287, 603, 603, - 603, 603, 227, 219, 603, 603, 603, 603, 603, 603, - 603, 603, 603, 603, 603, 603, 603, 603, 603, 281, - 1905, 198, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1863, 1907, -1000, -1000, + -1000, -1000, 2049, -1000, 657, 1599, -1000, 1890, 2890, -1000, + 37788, 403, -1000, 36646, 400, 224, 37788, -1000, 149, -1000, + 137, 37788, 141, 36075, -1000, -1000, -301, 16080, 1812, 5, + 4, 37788, -1000, -1000, -1000, -1000, 2024, 1566, -1000, 323, + -1000, -1000, -1000, -1000, -1000, -1000, 35504, -1000, -1000, -1000, + 1897, 1885, 2054, 553, 1789, -1000, 1958, 1566, -1000, 16080, + 2010, 1962, 15509, -1000, 15509, 338, -1000, -1000, 11502, -1000, + -1000, 21800, 37788, 37788, 217, -1000, 1890, -1000, -1000, 316, + -1000, 253, 1497, -1000, 1496, -1000, 449, 445, 282, 388, + 387, 278, 275, 274, 273, 272, 271, 267, 265, 289, + -1000, 609, 609, -155, -156, 2745, 328, 328, 328, 364, + 1837, 1834, -1000, 551, -1000, 609, 609, 290, 609, 609, + 609, 609, 219, 216, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 279, + 1890, 212, -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, -1000, @@ -5353,34 +5373,34 @@ 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, 37616, 127, 37616, -1000, 484, 37616, 781, 781, 21, - 781, 781, 781, 781, 123, 549, 4, -1000, 118, 179, - 107, 200, 744, 132, 137, -1000, -1000, 182, 744, 1099, - 576, 104, -1000, 781, 9274, 9274, 9274, -1000, 1887, -1000, - -1000, -1000, -1000, -1000, -1000, 1108, -1000, 355, -1000, -1000, - -1000, -1000, 37616, 34786, 313, 641, -1000, -1000, -1000, 65, - -1000, -1000, 1310, 1054, 16105, 900, -1000, 1565, 551, -1000, - -1000, -1000, -1000, -1000, 462, 16671, 16671, 16671, 16671, -1000, - -1000, 1505, 1505, 1505, 1505, 16671, 1505, 16671, 1505, 1505, - 1505, 1505, 16105, 1505, 1505, 1505, -1000, 1505, 1505, 1505, - 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, - 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, - 1505, 1505, 1505, 466, 1505, 1505, 1505, 1505, 1505, -1000, - -1000, -1000, -1000, 1505, 1505, 1505, 1505, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 19502, -1000, 13841, -1000, + -1000, 37788, 188, 37788, -1000, 478, 37788, 745, 745, 40, + 745, 745, 745, 745, 134, 536, 2, -1000, 126, 208, + 98, 206, 709, 128, 135, -1000, -1000, 191, 709, 1077, + 564, 99, -1000, 745, 9198, 9198, 9198, -1000, 1866, -1000, + -1000, -1000, -1000, -1000, -1000, 1091, -1000, 347, -1000, -1000, + -1000, -1000, 37788, 34933, 324, 640, -1000, -1000, -1000, 96, + -1000, -1000, 1298, 828, 16080, 1372, -1000, 2781, 528, -1000, + -1000, -1000, -1000, -1000, 450, 16651, 16651, 16651, 16651, -1000, + -1000, 1511, 1511, 1511, 1511, 16651, 1511, 16651, 1511, 1511, + 1511, 1511, 16080, 1511, 1511, 1511, -1000, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 477, 1511, 1511, 1511, 1511, 1511, -1000, + -1000, -1000, -1000, 1511, 1511, 1511, 1511, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 19511, -1000, 13796, -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, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 37616, -1000, - 1505, 134, 37616, 37616, 265, 1968, 1594, -1000, 2029, 1986, - 324, -1000, 2194, 1270, 1554, 1146, 1594, 1468, 37616, -1000, - 1518, -1000, -1000, -1000, 1754, 1066, 1095, -1000, -1000, -1000, - -1000, 1291, 16105, -1000, -1000, 2050, -1000, 18936, 457, 808, - 2049, 34220, -1000, 347, 347, 1496, 10996, -24, -1000, -1000, - -1000, 638, 24597, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 37788, -1000, + 1511, 147, 37788, 37788, 258, 1958, 1566, -1000, 2024, 1986, + 323, -1000, 2151, 1915, 1341, 1102, 1566, 1453, 37788, -1000, + 1515, -1000, -1000, -1000, 1718, 1017, 1071, -1000, -1000, -1000, + -1000, 1238, 16080, -1000, -1000, 2042, -1000, 18940, 470, 750, + 2041, 34362, -1000, 338, 338, 1486, 10926, -35, -1000, -1000, + -1000, 639, 24655, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1887, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1866, -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, -1000, -1000, @@ -5393,235 +5413,235 @@ 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, -1000, -1000, 1414, 37616, -1000, -1000, 4365, 1064, - -1000, 1614, -1000, 1411, -1000, 1548, 1559, 369, 1064, 365, - 364, 363, -1000, -88, -1000, -1000, -1000, -1000, -1000, 603, - 603, -1000, 282, 2014, 2888, 3443, -1000, -1000, -1000, 33654, - 1609, 1064, -1000, 1604, -1000, 719, 438, 489, 489, 1064, - -1000, -1000, 37616, 1064, 708, 700, 37616, 37616, -1000, 33088, - -1000, 32522, 31956, 1007, 37616, 31390, 30824, 30258, 29692, 29126, - -1000, 1723, -1000, 1739, -1000, -1000, -1000, 37616, 37616, 37616, - 289, -1000, -1000, 37616, 1064, -1000, -1000, 997, 996, 603, - 603, 991, 1093, 1082, 1077, 603, 603, 964, 1076, 26295, - 191, 951, 949, 948, 962, 1074, 172, 940, 893, 946, - 37616, 1603, 37616, -1000, 173, 611, 345, 629, 1905, 1830, - 1493, 354, 368, 1064, 341, 341, 37616, -1000, 9848, -1000, - -1000, 1073, 16105, -1000, 749, 744, 744, -1000, -1000, -1000, - -1000, -1000, -1000, 781, 37616, 749, -1000, -1000, -1000, 744, - 781, 37616, 781, 781, 781, 781, 744, 744, 744, 781, - 37616, 37616, 37616, 37616, 37616, 37616, 37616, 37616, 37616, 9274, - 9274, 9274, 576, 781, -304, -1000, 1068, -1000, 1697, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 116, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -89, 1482, - 28560, -1000, -305, -306, -310, -312, -1000, -1000, -1000, -321, - -324, -1000, -1000, -1000, 16105, 16105, 16105, 16105, -180, -1000, - 753, 16671, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 830, - 657, 16671, 16671, 16671, 16671, 16671, 16671, 16671, 16671, 16671, - 16671, 16671, 16671, 16671, 16671, 16671, 637, 4572, 4572, 551, - 551, 551, 551, -1000, 15539, 16105, 16105, 551, -1000, 1064, - 27994, 15539, 15539, 16105, 1882, 658, 1054, 37616, -1000, 1146, - -1000, -1000, -1000, 972, -1000, 37616, 37616, 1248, 16105, 16105, - 16105, 16105, 16105, 16105, 12708, 16105, 16105, 16105, 16105, 16105, - 16105, 16105, 16105, 16105, 16105, 16105, 16105, 12142, 9848, 15539, - 15539, 15539, 15539, 15539, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 454, 1302, 1215, 1406, -1000, - 1478, -1000, -170, 21201, 16105, 1063, 2046, 1638, 37616, -1000, - -1000, -1000, 1968, -1000, 1968, 1302, 2181, 1764, 15539, -1000, - -1000, 2181, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1338, -1000, 37616, 1468, 1948, 37616, 1748, 1058, 325, -1000, - 16105, 16105, 1467, -1000, 809, 37616, -1000, -180, -1000, 27428, - -1000, -1000, 8700, -1000, 37616, 248, 37616, -1000, 20635, 26862, - 10422, -24, -1000, 10422, 1352, -1000, -14, -22, 13274, 511, - -1000, -1000, -1000, 2533, 17803, 1285, 511, 54, -1000, -1000, - -1000, 1548, -1000, 1548, 1548, 1548, 1548, 325, 325, 325, - 325, -1000, -1000, -1000, -1000, -1000, 1602, 1601, -1000, 1548, - 1548, 1548, 1548, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1494, 37788, -1000, -1000, 4744, 1042, + -1000, 1591, -1000, 1492, -1000, 1541, 1611, 399, 1042, 391, + 384, 382, -1000, -86, -1000, -1000, -1000, -1000, -1000, 609, + 609, -1000, 288, 2009, 2890, 3574, -1000, -1000, -1000, 33791, + 1565, 1042, -1000, 1563, -1000, 703, 423, 481, 481, 1042, + -1000, -1000, 37788, 1042, 702, 700, 37788, 37788, -1000, 33220, + -1000, 32649, 32078, 944, 37788, 31507, 30936, 30365, 29794, 29223, + -1000, 1669, -1000, 1685, -1000, -1000, -1000, 37788, 37788, 37788, + 301, -1000, -1000, 37788, 1042, -1000, -1000, 942, 936, 609, + 609, 928, 1066, 1064, 1061, 609, 609, 915, 1060, 26368, + 205, 899, 895, 894, 938, 1059, 171, 930, 893, 892, + 37788, 1560, 37788, -1000, 199, 622, 357, 638, 1890, 1811, + 1478, 344, 395, 1042, 332, 332, 37788, -1000, 9774, -1000, + -1000, 1058, 16080, -1000, 735, 709, 709, -1000, -1000, -1000, + -1000, -1000, -1000, 745, 37788, 735, -1000, -1000, -1000, 709, + 745, 37788, 745, 745, 745, 745, 709, 709, 709, 745, + 37788, 37788, 37788, 37788, 37788, 37788, 37788, 37788, 37788, 9198, + 9198, 9198, 564, 745, -305, -1000, 1056, -1000, 1662, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 140, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -99, 1471, + 28652, -1000, -306, -307, -311, -313, -1000, -1000, -1000, -314, + -325, -1000, -1000, -1000, 16080, 16080, 16080, 16080, -180, -1000, + 806, 16651, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 808, + 589, 16651, 16651, 16651, 16651, 16651, 16651, 16651, 16651, 16651, + 16651, 16651, 16651, 16651, 16651, 16651, 649, 6035, 6035, 528, + 528, 528, 528, -1000, 15509, 16080, 16080, 528, -1000, 1042, + 28081, 15509, 15509, 16080, 1857, 648, 828, 37788, -1000, 1102, + -1000, -1000, -1000, 1002, -1000, 37788, 37788, 1247, 16080, 16080, + 16080, 16080, 16080, 16080, 12649, 16080, 16080, 16080, 16080, 16080, + 16080, 16080, 16080, 16080, 16080, 16080, 16080, 12078, 9774, 15509, + 15509, 15509, 15509, 15509, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 462, 1268, 1190, 1490, -1000, + 1468, -1000, -171, 21229, 16080, 1055, 2039, 1633, 37788, -1000, + -1000, -1000, 1958, -1000, 1958, 1268, 1852, 1738, 15509, -1000, + -1000, 1852, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1311, -1000, 37788, 1453, 1932, 37788, 1714, 1044, 299, -1000, + 16080, 16080, 1418, -1000, 931, 37788, -1000, -180, -1000, 27510, + -1000, -1000, 8622, -1000, 37788, 250, 37788, -1000, 20658, 26939, + 10350, -35, -1000, 10350, 1360, -1000, -19, -42, 13220, 526, + -1000, -1000, -1000, 2745, 17793, 1187, 526, 83, -1000, -1000, + -1000, 1541, -1000, 1541, 1541, 1541, 1541, 299, 299, 299, + 299, -1000, -1000, -1000, -1000, -1000, 1558, 1557, -1000, 1541, + 1541, 1541, 1541, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1596, 1596, 1596, 1555, 1555, 319, -1000, 16105, 238, 37616, - 1931, 938, 173, 342, 1636, 1064, 1064, 1064, 342, -1000, - 1191, 1171, -1000, -382, 1465, -1000, -1000, 2010, -1000, -1000, - 704, 783, 774, 556, 37616, 141, 242, -1000, 326, -1000, - 37616, 1064, 697, 489, 1064, -1000, 1064, -1000, -1000, -1000, - -1000, -1000, 1064, 1455, -1000, 1495, 837, 771, 780, 758, - 1455, -1000, -1000, -119, 1455, -1000, 1455, -1000, 1455, -1000, - 1455, -1000, 1455, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 587, 37616, 141, 637, -1000, 353, -1000, -1000, 637, - 637, -1000, -1000, -1000, -1000, 1057, 1045, -1000, -1000, -1000, + 1554, 1554, 1554, 1545, 1545, 327, -1000, 16080, 232, 37788, + 1913, 887, 199, 334, 1629, 1042, 1042, 1042, 334, -1000, + 1477, 1249, -1000, -383, 1412, -1000, -1000, 2008, -1000, -1000, + 701, 726, 725, 682, 37788, 172, 247, -1000, 313, -1000, + 37788, 1042, 698, 481, 1042, -1000, 1042, -1000, -1000, -1000, + -1000, -1000, 1042, 1404, -1000, 1267, 779, 724, 778, 716, + 1404, -1000, -1000, -121, 1404, -1000, 1404, -1000, 1404, -1000, + 1404, -1000, 1404, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 623, 37788, 172, 649, -1000, 342, -1000, -1000, 649, + 649, -1000, -1000, -1000, -1000, 1043, 1034, -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, -371, 37616, -1000, 166, 616, 232, - 277, 218, 37616, 192, 1953, 210, 217, 37616, 37616, 341, - 1696, 37616, 1924, 37616, -1000, -1000, -1000, -1000, -1000, 1054, - 37616, -1000, -1000, 781, 781, -1000, -1000, 37616, 781, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 781, -1000, -1000, + -1000, -1000, -1000, -1000, -372, 37788, -1000, 195, 629, 230, + 270, 240, 37788, 162, 1937, 193, 215, 37788, 37788, 332, + 1661, 37788, 1916, 37788, -1000, -1000, -1000, -1000, -1000, 828, + 37788, -1000, -1000, 745, 745, -1000, -1000, 37788, 745, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 745, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 37616, 37616, -1000, -1000, -1000, - -1000, -1000, 150, -16, 314, -1000, -1000, -1000, -1000, -1000, - 1963, -1000, 1054, 702, 678, -1000, 1505, -1000, -1000, 894, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 830, 16671, 16671, - 16671, 1307, 397, 839, 1624, 853, 683, 683, 711, 711, - 533, 533, 533, 533, 533, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1041, -1000, 1345, -1000, 1544, 1278, 1146, - -1000, 1345, 1345, 825, 15539, -1000, -1000, 663, -1000, 16105, - 1146, -1000, -1000, 1146, 1146, 1442, 1439, 2041, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 37788, 37788, -1000, -1000, -1000, + -1000, -1000, 255, -21, 326, -1000, -1000, -1000, -1000, -1000, + 1945, -1000, 828, 690, 666, -1000, 1511, -1000, -1000, 789, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 808, 16651, 16651, + 16651, 1306, 381, 838, 1624, 852, 885, 885, 710, 710, + 534, 534, 534, 534, 534, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1032, -1000, 1300, -1000, 1452, 1095, 1102, + -1000, 1300, 1300, 1053, 15509, -1000, -1000, 662, -1000, 16080, + 1102, -1000, -1000, 1102, 1102, 1401, 1395, 2035, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 933, - 1424, 1424, 1424, 1424, 1424, 16105, 1084, -1000, -1000, -1000, - 2038, 1892, 1146, 1310, 1146, 1403, -1000, 1817, 1424, 1806, - 1785, 1755, 1309, 1717, 1675, 1630, 1146, 15539, 15539, 1393, - 1505, 450, -1000, 1345, 1146, 1146, 1345, 1345, 9848, 1146, - -1000, 37616, -1000, -293, -1000, -37, 505, 1505, -1000, 26295, - 1146, -1000, 4955, -1000, 38748, -1000, -1000, -1000, -1000, -1000, - 24031, 1492, 2181, -1000, -1000, 1505, 1396, -1000, -1000, 325, - 33, 23465, -1000, -1000, 1054, 1054, 16105, -1000, -1000, -1000, - -1000, -1000, -1000, 440, 2033, 296, 1505, -1000, 1473, 1832, - -1000, -1000, -1000, 1947, 18370, -1000, 1505, 1505, 37616, 1566, - 1509, -1000, 439, -1000, 1352, -24, -28, -1000, -1000, -1000, - -1000, 1054, -1000, 1154, 254, 331, -1000, 328, -1000, -1000, - -1000, -1000, 1843, 44, -1000, -1000, -1000, 325, 325, -1000, - -1000, -1000, -1000, -1000, -1000, 1040, 1040, -1000, -1000, -1000, - -1000, -1000, 936, -1000, -1000, -1000, 935, -1000, -1000, 1619, - 1684, 238, -1000, -1000, 603, 1036, 1845, 37616, -1000, -1000, - 1273, 166, 37616, 661, 1687, -1000, 1636, 1636, 1636, 37616, - -1000, -1000, -1000, -1000, -372, 56, 307, -1000, -1000, -1000, - 304, 37616, 1377, -1000, 138, -1000, 1271, 1777, 37616, -1000, - 1375, 1593, 1064, 1064, -1000, -1000, -1000, 37616, 1505, -1000, - -1000, -1000, -1000, 367, 1904, 1897, 141, 138, 511, 1064, - -1000, -1000, -1000, -1000, -1000, -374, 1370, 361, 149, 266, - 37616, 37616, 37616, 37616, 37616, 407, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 208, 351, -1000, 37616, 37616, 468, - -1000, -1000, -1000, 744, -1000, -1000, 744, -1000, -1000, -1000, - -1000, -1000, 1876, 37616, -18, -338, -1000, -335, 16105, -1000, - -1000, -1000, -1000, 1169, 383, 839, 16671, 16671, 15539, -112, - 1292, 1292, 637, -1000, -1000, -1000, 16105, 16105, 1440, 650, - -1000, 16105, 899, -1000, -1000, -1000, 16105, 16105, 16105, 1146, - 239, -1000, -1000, -1000, -1000, -1000, 2037, -1000, 16105, 16105, - 16105, -1000, -1000, 16105, 16105, -1000, 16105, 16105, 17237, 1146, - 17237, 16105, 16105, 17237, -1000, 1345, 1345, 15539, 9848, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 505, - -1000, 489, 489, 489, 37616, -1000, -1000, -1000, -1000, -1000, - -1000, 1350, 1965, -1000, 1776, 1771, 2036, 2033, -1000, 20635, - 2181, -1000, -1000, 37616, -283, -1000, 1815, 1829, -1000, -1000, - -1000, -1000, 8126, 1968, 16105, 1677, 37616, 1505, -1000, 20069, - 37616, 37616, 20635, 20635, 20635, 20635, 20635, -1000, 1738, 1730, - -1000, 1710, 1709, 1779, 37616, -1000, 1334, 1146, 1986, 18370, - 324, 16105, 22333, 1450, 20635, -1000, -1000, 20635, 37616, 7552, - -1000, -1000, -19, -52, -1000, -1000, -1000, -1000, 2533, -1000, - -1000, 672, 1940, 1821, -1000, -1000, -1000, -1000, 1322, -1000, - 1299, 1347, 1297, 156, -1000, 1511, 1864, 603, 603, -1000, - 895, -1000, 1064, -1000, -1000, 360, -1000, 1920, 37616, 1674, - 1673, 1668, -1000, -381, 892, 1592, 1177, 16105, 1568, 2004, - 1317, 37616, -1000, -1000, 37616, -1000, -1000, 349, -1000, 238, - 37616, -1000, -1000, -1000, 242, 37616, -1000, 5906, 138, -1000, - -1000, -1000, -1000, -1000, -1000, 37616, 154, -1000, 1562, 1105, - -1000, -1000, 1573, -1000, -1000, -1000, -1000, 133, 230, -1000, - 37616, 467, 1684, 37616, -1000, -1000, -1000, 781, 781, -1000, - -1000, 1857, -1000, 1064, 1424, 16671, 16671, -1000, 551, -1000, - 1505, 1146, 1548, 1548, -1000, 1548, 1555, -1000, 1548, 101, - 1548, 100, 1548, -1000, -1000, 1146, 1146, 1096, 1002, -100, - -1000, 1054, 16105, 1607, 1506, 1424, -1000, 1547, 1543, 16105, - 1424, 1424, 1424, -1000, 1054, 1309, 1498, 1237, -1000, -1000, - -1000, -1000, 1329, 1424, 1462, 1146, -1000, -1000, 1146, -1000, - -1000, 1961, 1961, 1961, 1279, 38182, 37616, -1000, -1000, -1000, - -1000, 2033, 2028, 1327, -1000, -1000, 33, 357, -1000, 1803, - 1829, -1000, 2001, 1808, 1992, -1000, -1000, -1000, 1054, -1000, - 1907, 1277, -1000, 599, 1306, -1000, -1000, 14973, 1289, 1769, - 404, 1279, 1480, 1832, 1659, 1666, 2125, -1000, -1000, -1000, - -1000, 1728, -1000, 1712, -1000, -1000, 1518, -1000, -1000, 1215, - 1146, 1348, 248, 20635, 1391, 1391, -1000, 389, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 789, 4880, 2060, -1000, 1034, - -1000, 1033, -1000, 695, 689, -1000, 37616, 1536, -1000, 325, - 1026, 325, 889, -1000, 879, -1000, -1000, -195, -1000, -1000, - 1716, 1681, -1000, -1000, 37616, -1000, -1000, 37616, 37616, 37616, - 1534, 1990, -1000, 16105, 1533, 595, 1488, 37616, 37616, -1000, - -1000, 236, 1505, -1000, 1265, 1255, -1000, -146, -1000, 16105, - -1000, -1000, -1000, 966, 966, -1000, 1518, -1000, -1000, -1000, - 1239, -1000, -1000, -122, 37616, 37616, 37616, 37616, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 551, 16671, - -1000, -1000, 325, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 16105, -1000, 16105, -1000, 1968, 1024, 1054, 16105, - 16105, -1000, 874, 871, 1424, -1000, -1000, -1000, 1146, 17237, - -1000, 17237, -1000, 16105, -1000, -1000, 1505, 1761, 1505, 1505, - 22333, -1000, -1000, 2028, 2026, 1989, 1786, 1802, 1802, 1803, - -1000, 1988, 1983, -1000, 1023, 1980, 1019, 685, -1000, 37616, - 16105, 1505, -1000, 298, 37616, 1505, 37616, -1000, 2020, -1000, - -1000, 16105, 1531, -1000, 16105, -1000, -1000, -1000, -1000, -1000, - -1000, 4572, 2033, 1391, -1000, -1000, 558, -1000, 16105, -1000, - -1000, -1000, 2889, -1000, -1000, -1000, -1000, -1000, 1522, 16105, - -1000, -1000, -1000, 1234, 1224, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1518, -1000, -1000, -1000, -1000, 242, -379, - 1435, 37616, 846, -1000, 1253, 1317, 435, -1000, 16105, 309, - -1000, 242, -1000, -160, -161, 1424, -1000, -1000, 1939, -1000, - -1000, 9848, -1000, -1000, 1512, 1632, -1000, 305, -1000, 1424, - 1424, 1146, -1000, 1424, 1424, 1187, 1175, -1000, -1000, 1237, - -1000, 852, 22899, -1000, 1976, 1970, 25729, 25729, 505, 2026, - -1000, 16105, 16105, 1783, 877, -1000, -1000, -1000, -1000, 1010, - 1004, -1000, 902, -1000, 2059, -1000, 1054, -1000, 1505, -1000, - 387, 1306, -1000, 1968, 1054, 37616, 1054, 29, 2020, -1000, - 1424, -1000, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, - 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, - 1505, 37616, 1211, -1000, -1000, 1937, 1232, 46, -1000, 1214, - -1000, -1000, -1000, -1000, 14407, -1000, -1000, -1000, -1000, -1000, - -1000, 324, 1314, -1000, 594, 37616, 37616, 1146, 258, -130, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 16105, - 1180, -1000, -1000, -1000, -1000, -1000, 1180, 1180, -1000, -1000, - 1054, 1310, -1000, 849, -1000, -1000, -1000, -1000, -1000, 37616, - 1306, 37616, -1000, 1152, 1146, 1505, 1968, -1000, 1143, -1000, - 324, -1000, 1303, 1177, -1000, 1146, -121, 9848, 6978, 1139, - -1000, -1000, 1747, -117, -134, 1309, 25163, -1000, -1000, -1000, - -1000, -1000, 1172, -1000, -1000, 22333, 37050, -1000, 1664, 1170, - -121, 16105, 1293, -1000, -1000, -40, -1000, -1000, -1000, -1000, - -1000, 1573, -1000, 1744, -1000, 1146, -1000, -1000, -1000, 1131, - -1000, 3603, -222, 1662, -1000, 2045, -1000, -1000, -1000, 752, - 827, -1000, -1000, -1000, -1000, 1137, 37616, 318, -1000, -1000, - -122, -128, -1000, -1000, 37050, -217, 511, 4572, -1000, -1000, - 2056, 530, 530, -1000, -1000, -387, 1128, 168, -1000, -132, - -1000, -1000, 1917, 29, -1000, -1000, -1000, 315, 918, -1000, - -1000, 820, -387, -1000, -136, -236, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 4572, 197, 197, -1000, 1644, -1000, - -1000, 4572, -1000, 1642, -239, -1000, -327, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1414, + 1277, 1277, 1277, 1277, 1277, 16080, 1210, -1000, -1000, -1000, + 1816, 1766, 1102, 1298, 1102, 1392, -1000, 1751, 1277, 1716, + 1710, 1674, 1181, 1670, 1636, 1595, 1102, 15509, 15509, 1389, + 1511, 458, -1000, 1300, 1102, 1102, 1300, 1300, 9774, 1102, + -1000, 37788, -1000, -294, -1000, -28, 546, 1511, -1000, 26368, + 1102, -1000, 4947, -1000, 38930, -1000, -1000, -1000, -1000, -1000, + 24084, 1394, 1852, -1000, -1000, 1511, 1375, -1000, -1000, 299, + 42, 23513, -1000, -1000, 828, 828, 16080, -1000, -1000, -1000, + -1000, -1000, -1000, 456, 2021, 296, 1511, -1000, 1502, 2098, + -1000, -1000, -1000, 1931, 18369, -1000, 1511, 1511, 37788, 1485, + 1344, -1000, 454, -1000, 1360, -35, -29, -1000, -1000, -1000, + -1000, 828, -1000, 1031, 264, 330, -1000, 315, -1000, -1000, + -1000, -1000, 1820, 57, -1000, -1000, -1000, 299, 299, -1000, + -1000, -1000, -1000, -1000, -1000, 1022, 1022, -1000, -1000, -1000, + -1000, -1000, 877, -1000, -1000, -1000, 868, -1000, -1000, 1358, + 1654, 232, -1000, -1000, 609, 1021, 1827, 37788, -1000, -1000, + 1157, 195, 37788, 653, 1660, -1000, 1629, 1629, 1629, 37788, + -1000, -1000, -1000, -1000, -373, 53, 297, -1000, -1000, -1000, + 303, 37788, 1373, -1000, 170, -1000, 1144, 1762, 37788, -1000, + 1368, 1553, 1042, 1042, -1000, -1000, -1000, 37788, 1511, -1000, + -1000, -1000, -1000, 393, 1869, 1868, 172, 170, 526, 1042, + -1000, -1000, -1000, -1000, -1000, -375, 1307, 378, 174, 254, + 37788, 37788, 37788, 37788, 37788, 425, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 207, 341, -1000, 37788, 37788, 476, + -1000, -1000, -1000, 709, -1000, -1000, 709, -1000, -1000, -1000, + -1000, -1000, 1864, 37788, -25, -348, -1000, -336, 16080, -1000, + -1000, -1000, -1000, 1168, 365, 838, 16651, 16651, 15509, -114, + 1291, 1291, 649, -1000, -1000, -1000, 16080, 16080, 1304, 642, + -1000, 16080, 847, -1000, -1000, -1000, 16080, 16080, 16080, 1102, + 268, -1000, -1000, -1000, -1000, -1000, 2034, -1000, 16080, 16080, + 16080, -1000, -1000, 16080, 16080, -1000, 16080, 16080, 17222, 1102, + 17222, 16080, 16080, 17222, -1000, 1300, 1300, 15509, 9774, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 546, + -1000, 481, 481, 481, 37788, -1000, -1000, -1000, -1000, -1000, + -1000, 1357, 1969, -1000, 1761, 1756, 2027, 2021, -1000, 20658, + 1852, -1000, -1000, 37788, -285, -1000, 1797, 1835, -1000, -1000, + -1000, -1000, 8046, 1958, 16080, 1655, 37788, 1511, -1000, 20087, + 37788, 37788, 20658, 20658, 20658, 20658, 20658, -1000, 1696, 1695, + -1000, 1729, 1728, 1709, 37788, -1000, 1296, 1102, 1986, 18369, + 323, 16080, 22371, 1151, 20658, -1000, -1000, 20658, 37788, 7470, + -1000, -1000, -34, -52, -1000, -1000, -1000, -1000, 2745, -1000, + -1000, 1610, 1923, 1818, -1000, -1000, -1000, -1000, 1263, -1000, + 1234, 1339, 1223, 148, -1000, 1605, 1851, 609, 609, -1000, + 855, -1000, 1042, -1000, -1000, 369, -1000, 1911, 37788, 1653, + 1652, 1647, -1000, -382, 854, 1550, 1504, 16080, 1547, 2007, + 1327, 37788, -1000, -1000, 37788, -1000, -1000, 350, -1000, 232, + 37788, -1000, -1000, -1000, 247, 37788, -1000, 6283, 170, -1000, + -1000, -1000, -1000, -1000, -1000, 37788, 184, -1000, 1546, 1005, + -1000, -1000, 1615, -1000, -1000, -1000, -1000, 146, 229, -1000, + 37788, 472, 1654, 37788, -1000, -1000, -1000, 745, 745, -1000, + -1000, 1841, -1000, 1042, 1277, 16651, 16651, -1000, 528, -1000, + 1511, 1102, 1541, 1541, -1000, 1541, 1545, -1000, 1541, 122, + 1541, 116, 1541, -1000, -1000, 1102, 1102, 1134, 905, -95, + -1000, 828, 16080, 1589, 1542, 1277, -1000, 1534, 1533, 16080, + 1277, 1277, 1277, -1000, 828, 1181, 1499, 1178, -1000, -1000, + -1000, -1000, 1333, 1277, 1487, 1102, -1000, -1000, 1102, -1000, + -1000, 1940, 1940, 1940, 1215, 38359, 37788, -1000, -1000, -1000, + -1000, 2021, 2018, 1331, -1000, -1000, 42, 359, -1000, 1777, + 1835, -1000, 2003, 1786, 2002, -1000, -1000, -1000, 828, -1000, + 1893, 1325, -1000, 593, 1275, -1000, -1000, 14938, 1221, 1747, + 453, 1215, 1350, 2098, 1627, 1645, 1904, -1000, -1000, -1000, + -1000, 1686, -1000, 1675, -1000, -1000, 1515, -1000, -1000, 1190, + 1102, 1423, 250, 20658, 1231, 1231, -1000, 431, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 764, 5994, 2053, -1000, 1015, + -1000, 939, -1000, 684, 680, -1000, 37788, 1532, -1000, 299, + 996, 299, 850, -1000, 849, -1000, -1000, -195, -1000, -1000, + 1676, 1666, -1000, -1000, 37788, -1000, -1000, 37788, 37788, 37788, + 1531, 1999, -1000, 16080, 1529, 579, 1347, 37788, 37788, -1000, + -1000, 237, 1511, -1000, 1213, 1206, -1000, -147, -1000, 16080, + -1000, -1000, -1000, 861, 861, -1000, 1515, -1000, -1000, -1000, + 1135, -1000, -1000, -123, 37788, 37788, 37788, 37788, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 528, 16651, + -1000, -1000, 299, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 16080, -1000, 16080, -1000, 1958, 995, 828, 16080, + 16080, -1000, 842, 840, 1277, -1000, -1000, -1000, 1102, 17222, + -1000, 17222, -1000, 16080, -1000, -1000, 1511, 1735, 1511, 1511, + 22371, -1000, -1000, 2018, 2015, 1990, 1772, 1774, 1774, 1777, + -1000, 1988, 1981, -1000, 991, 1978, 978, 675, -1000, 37788, + 16080, 1511, -1000, 312, 37788, 1511, 37788, -1000, 1987, -1000, + -1000, 16080, 1520, -1000, 16080, -1000, -1000, -1000, -1000, -1000, + -1000, 6035, 2021, 1231, -1000, -1000, 541, -1000, 16080, -1000, + -1000, -1000, 3516, -1000, -1000, -1000, -1000, -1000, 1516, 16080, + -1000, -1000, -1000, 1131, 1126, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1515, -1000, -1000, -1000, -1000, 247, -380, + 1294, 37788, 823, -1000, 1192, 1327, 435, -1000, 16080, 305, + -1000, 247, -1000, -157, -161, 1277, -1000, -1000, 1922, -1000, + -1000, 9774, -1000, -1000, 1513, 1628, -1000, 227, -1000, 1277, + 1277, 1102, -1000, 1277, 1277, 1108, 1105, -1000, -1000, 1178, + -1000, 921, 22942, -1000, 1970, 1968, 25797, 25797, 546, 2015, + -1000, 16080, 16080, 1767, 819, -1000, -1000, -1000, -1000, 972, + 971, -1000, 962, -1000, 2052, -1000, 828, -1000, 1511, -1000, + 419, 1275, -1000, 1958, 828, 37788, 828, 41, 1987, -1000, + 1277, -1000, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 37788, 1269, -1000, -1000, 1918, 1174, 45, -1000, 1171, + -1000, -1000, -1000, -1000, 14367, -1000, -1000, -1000, -1000, -1000, + -1000, 323, 1319, -1000, 577, 37788, 37788, 1102, 256, -129, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 16080, + 1169, -1000, -1000, -1000, -1000, -1000, 1169, 1169, -1000, -1000, + 828, 1298, -1000, 815, -1000, -1000, -1000, -1000, -1000, 37788, + 1275, 37788, -1000, 1154, 1102, 1511, 1958, -1000, 1149, -1000, + 323, -1000, 1510, 1504, -1000, 1102, -122, 9774, 6894, 1140, + -1000, -1000, 1702, -119, -132, 1181, 25226, -1000, -1000, -1000, + -1000, -1000, 1197, -1000, -1000, 22371, 37217, -1000, 1643, 705, + -122, 16080, 1507, -1000, -1000, -40, -1000, -1000, -1000, -1000, + -1000, 1615, -1000, 1678, -1000, 1102, -1000, -1000, -1000, 1129, + -1000, 4368, -223, 1642, -1000, 2033, -1000, -1000, -1000, 753, + 949, -1000, -1000, -1000, -1000, 1029, 37788, 325, -1000, -1000, + -123, -125, -1000, -1000, 37217, -218, 526, 6035, -1000, -1000, + 2046, 567, 567, -1000, -1000, -388, 1097, 185, -1000, -130, + -1000, -1000, 1908, 41, -1000, -1000, -1000, 314, 836, -1000, + -1000, 818, -388, -1000, -134, -224, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 6035, 186, 186, -1000, 1639, -1000, + -1000, 6035, -1000, 1637, -239, -1000, -328, -1000, -1000, } var yyPgo = [...]int{ - 0, 2399, 2398, 26, 5, 2397, 37, 88, 187, 24, - 177, 92, 2396, 2395, 2394, 2392, 2390, 2389, 2388, 209, - 207, 202, 2387, 2386, 2385, 2384, 2383, 2380, 2379, 2378, - 2374, 2373, 204, 159, 174, 2371, 2370, 2368, 99, 167, - 81, 83, 173, 2367, 2366, 75, 2364, 2363, 2361, 182, - 181, 712, 2359, 164, 111, 31, 2357, 2356, 2350, 2344, - 2343, 2342, 2339, 2338, 2336, 2333, 2331, 2329, 2328, 2327, - 2326, 2325, 232, 2321, 2320, 14, 2317, 78, 2316, 2315, - 2314, 2313, 118, 2311, 2307, 2306, 2304, 2300, 2299, 140, - 2298, 2296, 2294, 2293, 189, 2291, 2286, 237, 101, 103, - 2285, 2284, 90, 183, 2281, 106, 2280, 2278, 2275, 155, - 2273, 4359, 2272, 60, 55, 2271, 52, 74, 53, 47, - 15, 3, 2270, 2268, 58, 77, 2267, 91, 70, 2266, - 104, 97, 2265, 2263, 9, 6, 2262, 4, 2261, 2, - 65, 2260, 2258, 110, 2252, 2251, 2250, 89, 2247, 2245, - 67, 2241, 82, 132, 93, 73, 2239, 30, 36, 2238, - 2237, 2236, 2235, 2234, 33, 2233, 2232, 2231, 141, 27, - 161, 21, 42, 41, 130, 2229, 145, 76, 2227, 138, - 134, 2226, 48, 28, 49, 2225, 46, 124, 151, 39, - 98, 128, 2224, 2222, 50, 66, 2220, 2219, 2218, 2214, - 2213, 2212, 69, 2211, 43, 2209, 185, 2204, 22, 2197, - 32, 40, 2194, 61, 125, 63, 25, 2188, 158, 2187, - 45, 162, 122, 156, 2184, 2182, 2181, 176, 268, 2178, - 2177, 184, 160, 143, 148, 2176, 283, 2171, 2170, 86, - 1540, 1887, 20, 157, 2169, 2167, 3309, 137, 127, 18, - 2166, 108, 2165, 2164, 2162, 203, 171, 107, 957, 96, - 2160, 13, 2159, 2158, 2156, 2155, 2151, 2150, 199, 179, - 59, 8, 154, 71, 2147, 2145, 2140, 116, 94, 2139, - 153, 152, 119, 169, 2138, 163, 147, 105, 2137, 85, - 2135, 2132, 2130, 2129, 84, 2128, 2125, 2124, 2115, 150, - 142, 120, 79, 2110, 80, 102, 146, 149, 35, 2109, - 29, 2107, 2097, 170, 23, 2095, 11, 44, 68, 19, - 100, 2093, 2091, 0, 2090, 12, 165, 280, 144, 2089, - 2088, 7, 2084, 10, 2083, 2082, 133, 2080, 2077, 2076, - 17, 34, 16, 1, 2075, 2074, 4014, 3251, 126, 2072, + 0, 2378, 2374, 26, 5, 2373, 37, 88, 187, 24, + 177, 92, 2371, 2370, 2368, 2367, 2366, 2364, 2363, 210, + 209, 207, 2361, 2359, 2357, 2356, 2350, 2344, 2343, 2342, + 2339, 2338, 204, 159, 174, 2336, 2333, 2331, 99, 167, + 81, 83, 173, 2329, 2328, 75, 2327, 2326, 2325, 182, + 181, 665, 2321, 164, 111, 31, 2320, 2317, 2316, 2315, + 2314, 2313, 2311, 2307, 2306, 2304, 2300, 2299, 2298, 2296, + 2294, 2293, 232, 2291, 2286, 14, 2285, 78, 2284, 2281, + 2280, 2278, 118, 2275, 2273, 2272, 2271, 2270, 2268, 140, + 2267, 2266, 2265, 2263, 189, 2262, 2261, 237, 101, 103, + 2260, 2259, 90, 183, 2258, 106, 2257, 2256, 2255, 155, + 2252, 4359, 2251, 60, 55, 2250, 52, 74, 53, 47, + 15, 3, 2247, 2246, 58, 77, 2245, 91, 70, 2244, + 104, 97, 2243, 2242, 9, 6, 2241, 4, 2239, 2, + 65, 2238, 2237, 110, 2236, 2235, 2234, 89, 2233, 2232, + 67, 2231, 82, 132, 93, 73, 2230, 30, 36, 2229, + 2227, 2226, 2225, 2224, 33, 2222, 2220, 2219, 141, 27, + 161, 21, 42, 41, 130, 2217, 145, 76, 2213, 138, + 134, 2212, 48, 28, 49, 2211, 46, 124, 151, 39, + 98, 128, 2209, 2204, 50, 66, 2203, 2202, 2200, 2199, + 2197, 2196, 69, 2195, 43, 2194, 185, 2193, 22, 2192, + 32, 40, 2191, 61, 125, 63, 25, 2190, 158, 2188, + 45, 162, 122, 156, 2187, 2184, 2182, 176, 270, 2181, + 2178, 184, 160, 143, 148, 2177, 280, 2176, 2172, 86, + 1540, 1887, 20, 157, 2169, 2162, 3309, 137, 127, 18, + 2160, 108, 2159, 2158, 2156, 203, 171, 107, 926, 96, + 2155, 13, 2151, 2150, 2147, 2145, 2140, 2139, 199, 179, + 59, 8, 154, 71, 2138, 2137, 2135, 116, 94, 2132, + 153, 152, 119, 169, 2130, 163, 147, 105, 2129, 85, + 2128, 2125, 2124, 2122, 84, 2115, 2110, 2109, 2107, 150, + 142, 120, 79, 2097, 80, 102, 146, 149, 35, 2095, + 29, 2093, 2091, 170, 23, 2090, 11, 44, 68, 19, + 100, 2089, 2088, 0, 2084, 12, 165, 249, 144, 2083, + 2082, 7, 2080, 10, 2077, 2076, 133, 2075, 2074, 2072, + 17, 34, 16, 1, 2071, 2070, 4014, 3251, 126, 2069, 175, } -//line sql.y:6539 +//line sql.y:6552 type yySymType struct { union any empty struct{} @@ -6513,281 +6533,281 @@ var yyChk = [...]int{ -1000, -344, -5, -9, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -58, -59, -60, -62, -63, -64, -65, -66, -12, -61, -29, -30, -67, -68, - -69, -70, -71, -14, -15, -16, -7, -6, -11, 7, - 8, -80, -31, 30, -36, -46, 217, -47, -37, 218, - -48, 220, 219, 256, 221, 249, 72, 298, 299, 301, - 302, 303, 304, -81, 254, 255, 223, 34, 43, 31, - 32, 35, 227, 262, 263, 226, -8, -32, 6, -346, - 9, 426, 251, 250, 26, -10, 446, 83, -345, 579, - -206, -191, 20, 31, 27, -190, -186, -94, -191, 18, - 16, 5, -72, -349, -72, -72, 10, 11, -72, -290, - -292, 83, 154, 83, -72, -52, -51, -50, -49, -53, - 29, -43, -44, -313, -42, -39, 222, 219, 266, 117, - 118, 256, 257, 258, 221, 240, 255, 259, 254, 275, - -38, 78, 31, 446, 449, -297, 218, 224, 225, 427, - 120, 119, 73, 220, -294, 352, 549, -53, 551, 99, - 101, 550, 42, 230, 552, 553, 554, 555, 239, 556, - 557, 558, 559, 565, 566, 567, 568, 121, 5, -72, - -250, -246, -323, -240, 86, 87, 88, 443, 242, 476, - 477, 291, 78, 39, 349, 352, 549, 298, 312, 306, - 333, 325, 444, 478, 294, 243, 279, 546, 323, 129, - 551, 297, 479, 257, 357, 358, 359, 99, 301, 394, - 564, 296, 480, 562, 101, 550, 77, 49, 42, 252, - 321, 226, 317, 552, 280, 481, 454, 273, 120, 117, - 571, 34, 315, 48, 28, 561, 119, 47, 553, 145, - 482, 554, 361, 340, 540, 46, 362, 258, 483, 81, - 263, 448, 548, 363, 316, 364, 290, 560, 223, 484, - 532, 365, 366, 541, 485, 341, 345, 486, 386, 367, - 578, 50, 487, 488, 542, 118, 489, 76, 555, 310, - 311, 490, 288, 241, 388, 337, 439, 105, 106, 107, - 108, 440, 109, 102, 441, 110, 104, 103, 111, 338, - 339, 239, 33, 368, 445, 292, 56, 267, 389, 44, - 343, 575, 43, 536, 491, 539, 336, 332, 436, 51, - 492, 493, 494, 495, 556, 335, 309, 331, 570, 130, - 285, 557, 60, 225, 347, 346, 348, 274, 385, 328, - 496, 497, 498, 246, 79, 499, 318, 19, 500, 501, - 369, 281, 502, 54, 503, 504, 392, 255, 505, 52, - 558, 37, 260, 572, 559, 506, 507, 508, 509, 262, - 510, 371, 511, 370, 342, 344, 269, 372, 447, 512, - 314, 259, 563, 513, 247, 547, 261, 266, 254, 393, - 248, 514, 515, 516, 517, 518, 295, 519, 520, 302, - 565, 437, 41, 521, 522, 523, 524, 289, 284, 387, - 396, 59, 80, 354, 525, 545, 308, 282, 526, 299, - 53, 566, 567, 568, 276, 569, 7, 576, 577, 374, - 121, 286, 287, 45, 329, 268, 527, 528, 319, 320, - 334, 307, 330, 300, 533, 270, 375, 438, 256, 529, - 395, 283, 350, 355, 451, 275, 376, 544, 450, 327, - 324, 277, 530, 377, 231, 271, 272, 531, 534, 378, - 379, 293, 380, 381, 382, 383, 384, 278, 449, 305, - 322, 356, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 435, 229, -72, 229, -150, -246, 229, -218, 358, -237, - 360, 373, 368, 378, 366, -229, 369, 371, 269, -338, - 386, 229, 375, 217, 171, 361, 370, 379, 380, 293, - 381, 384, 278, -334, -323, 554, 569, 129, 326, 365, - 363, 387, 536, 383, 382, -246, 300, -253, 305, -241, - -323, -240, 303, -150, -78, 532, 221, -255, -255, -96, - 536, 538, -169, -111, 138, -122, -125, -116, -117, -163, - -164, -165, -166, -123, -176, 160, 161, 168, 139, -174, - -126, 24, 442, 428, 427, 171, 29, 213, 66, 67, - 430, 431, 141, 55, 403, 404, -124, 399, 405, 400, - 433, 434, 112, 435, 102, 104, 103, 436, 437, 438, - 338, 339, 439, 440, 441, 105, 106, 107, 108, 109, - 110, 111, -241, -246, 234, 398, 228, 166, 426, -118, - -114, -6, -172, 397, 401, 402, 406, -323, -240, -120, - -119, -159, 89, 95, 100, 96, -343, 113, -346, 90, - 91, 92, 93, 94, 114, 115, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 42, 374, 374, + -69, -70, -71, -14, -15, -16, -7, -6, -11, 9, + 10, -80, -31, 32, -36, -46, 218, -47, -37, 219, + -48, 221, 220, 257, 222, 250, 74, 299, 300, 302, + 303, 304, 305, -81, 255, 256, 224, 36, 45, 33, + 34, 37, 228, 263, 264, 227, -8, -32, 8, -346, + 11, 427, 252, 251, 28, -10, 447, 85, -345, 580, + -206, -191, 22, 33, 29, -190, -186, -94, -191, 20, + 18, 7, -72, -349, -72, -72, 12, 13, -72, -290, + -292, 85, 155, 85, -72, -52, -51, -50, -49, -53, + 31, -43, -44, -313, -42, -39, 223, 220, 267, 119, + 120, 257, 258, 259, 222, 241, 256, 260, 255, 276, + -38, 80, 33, 447, 450, -297, 219, 225, 226, 428, + 122, 121, 75, 221, -294, 353, 550, -53, 552, 101, + 103, 551, 44, 231, 553, 554, 555, 556, 240, 557, + 558, 559, 560, 566, 567, 568, 569, 123, 7, -72, + -250, -246, -323, -240, 88, 89, 90, 444, 243, 477, + 478, 292, 80, 41, 350, 353, 550, 299, 313, 307, + 334, 326, 445, 479, 295, 244, 280, 547, 324, 131, + 552, 298, 480, 258, 358, 359, 360, 101, 302, 395, + 565, 297, 481, 563, 103, 551, 79, 51, 44, 253, + 322, 227, 318, 553, 281, 482, 455, 274, 122, 119, + 572, 36, 316, 50, 30, 562, 121, 49, 554, 146, + 483, 555, 362, 341, 541, 48, 363, 259, 484, 83, + 264, 449, 549, 364, 317, 365, 291, 561, 224, 485, + 533, 366, 367, 542, 486, 342, 346, 487, 387, 368, + 579, 52, 488, 489, 543, 120, 490, 78, 556, 311, + 312, 491, 289, 242, 389, 338, 440, 107, 108, 109, + 110, 441, 111, 104, 442, 112, 106, 105, 113, 339, + 340, 240, 35, 369, 446, 293, 58, 268, 390, 46, + 344, 576, 45, 537, 492, 540, 337, 333, 437, 53, + 493, 494, 495, 496, 557, 336, 310, 332, 571, 4, + 286, 558, 62, 226, 348, 347, 349, 275, 386, 329, + 497, 498, 499, 247, 81, 500, 319, 21, 501, 502, + 370, 282, 503, 56, 504, 505, 393, 256, 506, 54, + 559, 39, 261, 573, 560, 507, 508, 509, 510, 263, + 511, 372, 512, 371, 343, 345, 270, 373, 448, 513, + 315, 260, 564, 514, 248, 548, 262, 267, 255, 394, + 249, 515, 516, 517, 518, 519, 296, 520, 521, 303, + 566, 438, 43, 522, 523, 524, 525, 290, 285, 388, + 397, 61, 82, 355, 526, 546, 309, 283, 527, 300, + 55, 567, 568, 569, 277, 570, 9, 577, 578, 375, + 123, 287, 288, 47, 330, 269, 528, 529, 320, 321, + 335, 308, 331, 301, 534, 271, 376, 439, 257, 530, + 396, 284, 351, 356, 452, 276, 377, 545, 451, 328, + 325, 278, 531, 378, 232, 272, 273, 532, 535, 379, + 380, 294, 381, 382, 383, 384, 385, 279, 450, 306, + 323, 357, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 436, 230, -72, 230, -150, -246, 230, -218, 359, -237, + 361, 374, 369, 379, 367, -229, 370, 372, 270, -338, + 387, 230, 376, 218, 172, 362, 371, 380, 381, 294, + 382, 385, 279, -334, -323, 555, 570, 131, 327, 366, + 364, 388, 537, 384, 383, -246, 301, -253, 306, -241, + -323, -240, 304, -150, -78, 533, 222, -255, -255, -96, + 537, 539, -169, -111, 139, -122, -125, -116, -117, -163, + -164, -165, -166, -123, -176, 161, 162, 169, 140, -174, + -126, 26, 443, 429, 428, 172, 31, 214, 68, 69, + 431, 432, 142, 57, 404, 405, -124, 400, 406, 401, + 434, 435, 114, 436, 104, 106, 105, 437, 438, 439, + 339, 340, 440, 441, 442, 107, 108, 109, 110, 111, + 112, 113, -241, -246, 235, 399, 229, 167, 427, -118, + -114, -6, -172, 398, 402, 403, 407, -323, -240, -120, + -119, -159, 91, 97, 102, 98, -343, 115, -346, 92, + 93, 94, 95, 96, 116, 117, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 44, 375, 375, -150, -72, -72, -72, -72, -184, -94, -186, -8, -6, - -346, 6, -72, -6, -7, -11, -32, -34, 472, -33, - -246, -191, -206, 10, 156, 40, 48, -189, -190, -10, - -6, -111, 17, 21, 22, -99, 162, -111, -246, -73, - -99, -227, 233, -72, -72, -217, -258, 300, -221, 387, - 386, -242, -219, -241, -239, -218, 385, 222, 21, 452, - 137, 23, 25, 140, 171, 124, 17, 141, 35, 224, - 326, 240, 170, 236, 427, 217, 70, 453, 399, 400, - 397, 403, 429, 430, 398, 360, 29, 11, 455, 26, - 250, 22, 36, 164, 219, 144, 456, 253, 24, 251, - 112, 115, 458, 20, 73, 245, 12, 238, 38, 14, - 459, 460, 15, 234, 233, 156, 230, 68, 9, 213, - 27, 153, 64, 461, 132, 462, 463, 464, 465, 125, - 66, 154, 18, 573, 401, 402, 31, 537, 442, 264, - 166, 71, 57, 538, 138, 466, 467, 113, 468, 116, - 74, 543, 134, 16, 69, 40, 469, 265, 470, 235, - 574, 471, 390, 472, 155, 220, 426, 67, 473, 228, - 373, 6, 432, 30, 249, 237, 123, 65, 474, 229, - 143, 433, 434, 232, 126, 114, 5, 131, 32, 10, - 72, 75, 404, 405, 406, 55, 122, 446, 142, 13, - 475, 391, 136, 129, -291, 154, -278, -282, -241, 244, - -307, 240, -150, -300, -299, -241, -95, -236, 230, 238, - 237, 131, -327, 134, 286, 398, 228, -49, -50, -218, - 170, -82, 261, 265, 84, 84, -282, -281, -280, -328, - 265, 244, -306, -298, 236, 245, -288, 237, 238, -283, - 230, 132, -328, -283, 235, 245, 265, 265, 121, 265, - 121, 265, 265, 265, 265, 265, 265, 265, 265, 265, - 260, -289, 146, -289, 450, 450, -294, -328, -328, -328, - 232, 33, 33, -238, -283, 232, 23, -289, -289, -218, - 170, -289, -289, -289, -289, 273, 273, -289, -289, -289, + -346, 8, -72, -6, -7, -11, -32, -34, 473, -33, + -246, -191, -206, 12, 157, 42, 50, -189, -190, -10, + -6, -111, 19, 23, 24, -99, 163, -111, -246, -73, + -99, -227, 234, -72, -72, -217, -258, 301, -221, 388, + 387, -242, -219, -241, -239, -218, 386, 223, 23, 453, + 138, 25, 27, 141, 172, 126, 19, 142, 37, 225, + 327, 241, 171, 237, 428, 218, 72, 454, 400, 401, + 398, 404, 430, 431, 399, 361, 31, 13, 456, 28, + 251, 24, 38, 165, 220, 145, 457, 254, 26, 252, + 114, 117, 459, 22, 75, 246, 14, 239, 40, 16, + 460, 461, 17, 235, 234, 157, 231, 70, 11, 214, + 29, 154, 66, 462, 133, 463, 464, 465, 466, 127, + 68, 155, 20, 574, 402, 403, 33, 538, 443, 265, + 167, 73, 59, 539, 139, 467, 468, 115, 469, 118, + 76, 544, 135, 18, 71, 42, 470, 266, 471, 236, + 575, 472, 391, 473, 156, 221, 427, 69, 474, 229, + 374, 8, 433, 32, 250, 238, 125, 67, 475, 230, + 144, 434, 435, 233, 128, 116, 7, 132, 34, 12, + 74, 77, 405, 406, 407, 57, 124, 447, 143, 15, + 476, 392, 137, 131, -291, 155, -278, -282, -241, 245, + -307, 241, -150, -300, -299, -241, -95, -236, 231, 239, + 238, 132, -327, 135, 287, 399, 229, -49, -50, -218, + 171, -82, 262, 266, 86, 86, -282, -281, -280, -328, + 266, 245, -306, -298, 237, 246, -288, 238, 239, -283, + 231, 133, -328, -283, 236, 246, 266, 266, 123, 266, + 123, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 261, -289, 147, -289, 451, 451, -294, -328, -328, -328, + 233, 35, 35, -238, -283, 233, 25, -289, -289, -218, + 171, -289, -289, -289, -289, 274, 274, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, - -289, -289, 229, -327, -103, 384, 293, 78, -51, 275, - -35, -150, -236, 230, 231, -327, 262, -150, 214, -150, - -231, 154, 13, -231, -228, 374, 372, 359, 364, -231, - -231, -231, -231, 276, 357, -284, 230, 33, 241, 374, - 276, 357, 276, 277, 276, 277, 367, 377, 276, -251, - 12, 156, 398, 362, 366, 269, 229, 270, 231, 376, - -323, 539, 277, -251, 90, -232, 154, 374, 272, -231, - -256, -346, -242, 326, -256, -256, 30, 87, 232, -241, - -74, -241, 90, -13, -9, -20, -19, -21, 146, -101, - 374, -89, 171, 554, 540, 541, 542, 539, 371, 547, - 545, 543, 276, 544, 84, 134, 136, 137, 130, -111, - 153, -160, 146, 147, 148, 149, 150, 151, 152, 156, - 138, 140, 154, 155, 135, 157, 158, 159, 160, 161, - 162, 163, 165, 164, 166, 167, 170, 215, 216, -117, + -289, -289, 230, -327, -103, 385, 294, 80, -51, 276, + -35, -150, -236, 231, 232, -327, 263, -150, 215, -150, + -231, 155, 15, -231, -228, 375, 373, 360, 365, -231, + -231, -231, -231, 277, 358, -284, 231, 35, 242, 375, + 277, 358, 277, 278, 277, 278, 368, 378, 277, -251, + 14, 157, 399, 363, 367, 270, 230, 271, 232, 377, + -323, 540, 278, -251, 92, -232, 155, 375, 273, -231, + -256, -346, -242, 327, -256, -256, 32, 89, 233, -241, + -74, -241, 92, -13, -9, -20, -19, -21, 147, -101, + 375, -89, 172, 555, 541, 542, 543, 540, 372, 548, + 546, 544, 277, 545, 86, 135, 137, 138, 4, -111, + 154, -160, 147, 148, 149, 150, 151, 152, 153, 157, + 139, 141, 155, 156, 136, 158, 159, 160, 161, 162, + 163, 164, 166, 165, 167, 168, 171, 216, 217, -117, -117, -117, -117, -174, -346, -346, -346, -117, -226, -346, -117, -346, -346, -346, -346, -180, -111, -346, -350, -346, -350, -350, -269, -346, -269, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, - -346, -346, -346, -346, -346, -346, -346, -346, 214, -346, - -346, -346, -346, -346, -269, -269, -269, -269, 100, 95, - 89, -176, 96, 90, -241, -246, -6, -7, -169, -255, - -335, -336, -153, -150, -346, 293, -241, -241, 262, -189, - -10, -6, -184, -190, -186, -6, -72, -87, -100, 61, - 62, -102, 22, 36, 65, 63, 21, -347, 85, -347, - -206, -347, 84, -34, -210, 83, 59, 41, 90, 90, - 84, 19, -185, -187, -111, 12, -244, 130, -243, 23, - -241, 90, 214, 98, 12, -151, 27, -150, -227, -227, - 84, 300, -221, -258, -223, -222, 388, 390, 146, -245, - -241, 90, 29, 85, 84, -150, -261, -264, -266, -265, - -267, -262, -263, 323, 324, 171, 327, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 340, 30, 252, 319, - 320, 321, 322, 341, 342, 343, 344, 345, 346, 347, - 348, 306, 325, 444, 307, 308, 309, 310, 311, 312, - 314, 315, 316, 317, 318, -326, -323, 83, 85, 84, - -268, 83, -103, 229, -323, 230, 230, 230, -72, 426, - -289, -289, 260, 17, -42, -39, -313, 16, -38, -39, - 222, 117, 118, 219, 83, -278, 83, -287, -326, -323, - 83, 132, 235, 131, -286, -283, -286, -287, -323, -176, - -323, 132, 132, -214, -241, -214, -214, 21, -214, 21, - -214, 21, 92, -241, -214, 21, -214, 21, -214, 21, - -214, 21, -214, 21, 29, 76, 77, 29, 79, 80, - 81, -176, -176, -278, -218, -150, -323, 92, 92, -289, - -289, 92, 90, 90, 90, -289, -289, 92, 90, -248, - -246, 90, -329, 246, 290, 292, 92, 92, 92, 92, - 29, 90, -330, 29, 561, 560, 562, 563, 564, 92, - 29, 92, 29, 92, -241, 83, -150, -109, 280, 217, - 219, 222, 74, 90, 294, 146, 42, 84, 232, 229, - -323, -233, 234, -233, -241, -247, -246, -239, 90, -111, - -285, 12, 156, -251, -251, -231, -150, -285, -251, -231, + -346, -346, -346, -346, -346, -346, -346, -346, 215, -346, + -346, -346, -346, -346, -269, -269, -269, -269, 102, 97, + 91, -176, 98, 92, -241, -246, -6, -7, -169, -255, + -335, -336, -153, -150, -346, 294, -241, -241, 263, -189, + -10, -6, -184, -190, -186, -6, -72, -87, -100, 63, + 64, -102, 24, 38, 67, 65, 23, -347, 87, -347, + -206, -347, 86, -34, -210, 85, 61, 43, 92, 92, + 86, 21, -185, -187, -111, 14, -244, 4, -243, 25, + -241, 92, 215, 100, 14, -151, 29, -150, -227, -227, + 86, 301, -221, -258, -223, -222, 389, 391, 147, -245, + -241, 92, 31, 87, 86, -150, -261, -264, -266, -265, + -267, -262, -263, 324, 325, 172, 328, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 341, 32, 253, 320, + 321, 322, 323, 342, 343, 344, 345, 346, 347, 348, + 349, 307, 326, 445, 308, 309, 310, 311, 312, 313, + 315, 316, 317, 318, 319, -326, -323, 85, 87, 86, + -268, 85, -103, 230, -323, 231, 231, 231, -72, 427, + -289, -289, 261, 19, -42, -39, -313, 18, -38, -39, + 223, 119, 120, 220, 85, -278, 85, -287, -326, -323, + 85, 133, 236, 132, -286, -283, -286, -287, -323, -176, + -323, 133, 133, -214, -241, -214, -214, 23, -214, 23, + -214, 23, 94, -241, -214, 23, -214, 23, -214, 23, + -214, 23, -214, 23, 31, 78, 79, 31, 81, 82, + 83, -176, -176, -278, -218, -150, -323, 94, 94, -289, + -289, 94, 92, 92, 92, -289, -289, 94, 92, -248, + -246, 92, -329, 247, 291, 293, 94, 94, 94, 94, + 31, 92, -330, 31, 562, 561, 563, 564, 565, 94, + 31, 94, 31, 94, -241, 85, -150, -109, 281, 218, + 220, 223, 76, 92, 295, 147, 44, 86, 233, 230, + -323, -233, 235, -233, -241, -247, -246, -239, 92, -111, + -285, 14, 157, -251, -251, -231, -150, -285, -251, -231, -150, -231, -231, -231, -231, -251, -251, -251, -231, -246, -246, -150, -150, -150, -150, -150, -150, -150, -256, -256, - -256, -232, -231, 539, 90, 74, -254, 303, 337, 533, - 534, 535, 84, 446, -143, -150, 539, 539, 539, 539, - 539, 539, -111, -111, -111, -111, 468, -167, 113, 138, - 114, 115, -125, -168, -172, -174, 97, 156, 140, 154, - 155, -116, -117, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, -116, -116, -116, -257, -323, 90, 171, - -121, -120, 96, -343, -121, -97, -99, -111, -111, -323, - -241, -97, -97, -111, -93, 22, 36, -178, -179, 142, - -176, -347, -347, 92, 96, -241, -241, -86, -85, 408, - 409, 410, 411, 413, 414, 415, 418, 419, 423, 424, - 407, 425, 412, 417, 420, 421, 422, 416, 322, -111, - -111, -111, -111, -111, -111, -79, -111, 124, 125, 126, + -256, -232, -231, 540, 92, 76, -254, 304, 338, 534, + 535, 536, 86, 447, -143, -150, 540, 540, 540, 540, + 540, 540, -111, -111, -111, -111, 469, -167, 115, 139, + 116, 117, -125, -168, -172, -174, 99, 157, 141, 155, + 156, -116, -117, -116, -116, -116, -116, -116, -116, -116, + -116, -116, -116, -116, -116, -116, -257, -323, 92, 172, + -121, -120, 98, -343, -121, -97, -99, -111, -111, -323, + -241, -97, -97, -111, -93, 24, 38, -178, -179, 143, + -176, -347, -347, 94, 98, -241, -241, -86, -85, 409, + 410, 411, 412, 414, 415, 416, 419, 420, 424, 425, + 408, 426, 413, 418, 421, 422, 423, 417, 323, -111, + -111, -111, -111, -111, -111, -79, -111, 126, 127, 128, -111, -111, -170, -169, -322, -321, -320, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -98, 22, 36, -97, - -242, -247, -239, -97, -98, -98, -97, -97, 214, -206, - -347, 84, -337, 390, 391, 537, -249, 265, -248, 23, - -170, 90, 12, -212, 75, -241, -189, -189, 61, 62, - 57, -97, -102, -347, -33, 23, -208, -241, 60, 90, - -270, -218, 349, 350, -111, -111, 84, -188, 25, 26, - -150, -243, 162, -247, -150, -213, 265, -150, -128, -130, - -131, -132, -153, -175, -346, -133, 464, 461, 12, -143, - -144, -152, -246, -221, -223, 84, 389, 391, 392, 74, - 116, -111, -271, 170, -296, -295, -294, -278, -280, -281, - -282, 85, -271, -274, 355, 354, -268, -268, -268, -268, - -268, -270, -270, -270, -270, 83, 83, -268, -268, -268, - -268, -272, 83, -272, -272, -273, 83, -273, -307, -111, - -304, -303, -301, -302, 239, 99, 446, 75, -299, -188, - 92, -109, -234, 234, -305, -302, -323, -323, -323, -234, - -323, 90, -323, 90, -83, -55, -1, 573, 574, 575, - 84, 17, -279, -278, -54, 290, -310, -311, 265, -306, - -300, -287, 132, -286, -287, -287, -323, 84, 27, 121, - 121, 121, 121, 446, 219, 30, -278, -54, -257, 232, - -257, -257, 90, 90, -230, 569, -143, -105, 282, 146, - 271, 271, 229, 229, 284, -150, 295, 297, 296, 294, - 21, 283, 285, 287, 273, -150, -150, -233, 74, -145, - -150, 24, -246, -150, -231, -231, -150, -231, -231, -150, - -241, -89, 390, 84, 446, 20, -90, 20, -346, 113, - 114, 115, -168, -116, -117, -116, 137, 253, 84, -347, - 23, 84, 75, -347, -347, -347, 84, 12, -97, -181, - -179, 144, -111, -347, -347, -347, 84, 84, 12, -260, - 23, -347, -347, -347, -347, -347, -180, -347, 12, 84, - 84, -347, -347, 84, 84, -347, 84, 84, 84, -319, - 84, 84, 84, 84, -347, -97, -97, -346, 214, -347, - -347, -347, -347, -347, -242, -336, 536, 391, -157, -156, - -154, 72, 233, 73, -346, -248, -347, -121, 87, -209, - 87, -208, -162, -241, 92, 96, -191, -127, -129, 12, - -102, -174, 85, 84, -270, -195, -200, -228, -241, 90, - 171, -187, 214, -158, 13, -161, 30, 55, -9, -346, - -346, 30, 84, -146, -148, -147, -149, 64, 68, 70, - 65, 66, 67, 71, -252, 23, -128, -7, -6, -346, - -346, -346, -150, -143, -348, 12, 75, -348, 84, 214, - -222, -224, 393, 390, 396, -323, 90, -82, 84, -294, - -282, -192, -106, 38, -275, 356, -270, -270, -277, 90, - -277, 92, 92, 85, -45, -40, -41, 31, 78, -301, - -289, 90, 37, -241, 85, -105, -150, 138, 74, -305, - -305, -305, -246, -2, 572, 578, 132, 83, 359, 16, - -208, 84, 85, -177, 291, 85, -312, 55, -241, 85, - 83, -287, -287, -241, -346, 229, 29, 29, -54, -177, - -271, -323, 571, 570, 85, 231, 289, -110, 403, -107, - 90, 86, -150, -150, -150, -150, -150, 222, 219, 274, - 232, -143, -150, 84, -77, 248, 243, -251, -251, 31, - -150, 390, 548, 546, -111, 137, 253, -125, -117, -99, - 443, -259, 171, 323, 252, 321, 317, 337, 328, 354, - 319, 355, 316, 315, 314, -259, -257, -111, -111, -184, - 145, -111, 143, -111, -111, -111, -347, 171, 323, 12, + -111, -111, -111, -111, -111, -111, -98, 24, 38, -97, + -242, -247, -239, -97, -98, -98, -97, -97, 215, -206, + -347, 86, -337, 391, 392, 538, -249, 266, -248, 25, + -170, 92, 14, -212, 77, -241, -189, -189, 63, 64, + 59, -97, -102, -347, -33, 25, -208, -241, 62, 92, + -270, -218, 350, 351, -111, -111, 86, -188, 27, 28, + -150, -243, 163, -247, -150, -213, 266, -150, -128, -130, + -131, -132, -153, -175, -346, -133, 465, 462, 14, -143, + -144, -152, -246, -221, -223, 86, 390, 392, 393, 76, + 118, -111, -271, 171, -296, -295, -294, -278, -280, -281, + -282, 87, -271, -274, 356, 355, -268, -268, -268, -268, + -268, -270, -270, -270, -270, 85, 85, -268, -268, -268, + -268, -272, 85, -272, -272, -273, 85, -273, -307, -111, + -304, -303, -301, -302, 240, 101, 447, 77, -299, -188, + 94, -109, -234, 235, -305, -302, -323, -323, -323, -234, + -323, 92, -323, 92, -83, -55, -1, 574, 575, 576, + 86, 19, -279, -278, -54, 291, -310, -311, 266, -306, + -300, -287, 133, -286, -287, -287, -323, 86, 29, 123, + 123, 123, 123, 447, 220, 32, -278, -54, -257, 233, + -257, -257, 92, 92, -230, 570, -143, -105, 283, 147, + 272, 272, 230, 230, 285, -150, 296, 298, 297, 295, + 23, 284, 286, 288, 274, -150, -150, -233, 76, -145, + -150, 26, -246, -150, -231, -231, -150, -231, -231, -150, + -241, -89, 391, 86, 447, 22, -90, 22, -346, 115, + 116, 117, -168, -116, -117, -116, 138, 254, 86, -347, + 25, 86, 77, -347, -347, -347, 86, 14, -97, -181, + -179, 145, -111, -347, -347, -347, 86, 86, 14, -260, + 25, -347, -347, -347, -347, -347, -180, -347, 14, 86, + 86, -347, -347, 86, 86, -347, 86, 86, 86, -319, + 86, 86, 86, 86, -347, -97, -97, -346, 215, -347, + -347, -347, -347, -347, -242, -336, 537, 392, -157, -156, + -154, 74, 234, 75, -346, -248, -347, -121, 89, -209, + 89, -208, -162, -241, 94, 98, -191, -127, -129, 14, + -102, -174, 87, 86, -270, -195, -200, -228, -241, 92, + 172, -187, 215, -158, 15, -161, 32, 57, -9, -346, + -346, 32, 86, -146, -148, -147, -149, 66, 70, 72, + 67, 68, 69, 73, -252, 25, -128, -7, -6, -346, + -346, -346, -150, -143, -348, 14, 77, -348, 86, 215, + -222, -224, 394, 391, 397, -323, 92, -82, 86, -294, + -282, -192, -106, 40, -275, 357, -270, -270, -277, 92, + -277, 94, 94, 87, -45, -40, -41, 33, 80, -301, + -289, 92, 39, -241, 87, -105, -150, 139, 76, -305, + -305, -305, -246, -2, 573, 579, 133, 85, 360, 18, + -208, 86, 87, -177, 292, 87, -312, 57, -241, 87, + 85, -287, -287, -241, -346, 230, 31, 31, -54, -177, + -271, -323, 572, 571, 87, 232, 290, -110, 404, -107, + 92, 88, -150, -150, -150, -150, -150, 223, 220, 275, + 233, -143, -150, 86, -77, 249, 244, -251, -251, 33, + -150, 391, 549, 547, -111, 138, 254, -125, -117, -99, + 444, -259, 172, 324, 253, 322, 318, 338, 329, 355, + 320, 356, 317, 316, 315, -259, -257, -111, -111, -184, + 146, -111, 144, -111, -111, -111, -347, 172, 324, 14, -111, -111, -111, -320, -111, -111, -111, -318, -317, -121, -176, -347, -318, -111, -111, -317, -347, -347, -98, -242, - -154, -283, -283, -283, -214, 84, -225, 20, 12, 55, - 55, -127, -158, -128, -102, -241, -198, 532, -203, 44, - -201, -202, 45, -199, 46, 54, 162, -189, -111, -215, - 74, -216, -220, -176, -171, -173, -172, -346, -207, -347, - -241, -214, -216, -130, -131, -131, -130, -131, 64, 64, - 64, 69, 64, 69, 64, -147, -246, -347, -347, -7, - -7, -111, -249, 75, -128, -128, -152, -246, 162, 390, - 394, 395, -294, -342, 113, 138, 29, 74, 352, 99, - -340, 170, -341, 235, 131, 132, 247, 23, 39, 85, - 84, 85, 84, 85, 84, -235, 482, 138, -41, -40, - -289, -289, 92, -323, 231, 24, -150, 74, 74, 74, - -84, 576, 92, 83, -3, 78, -111, 83, 17, -278, - -176, 267, 156, -304, -208, -308, -310, -150, -113, -346, - -112, -114, -118, 160, 161, -177, -150, -104, 280, 288, - 83, -108, 87, -325, 75, 271, 352, 271, -150, -77, - -45, -150, -231, -231, 31, -323, -347, -125, -117, -346, - -347, -268, -268, -268, -273, -268, 311, -268, 311, -268, - -347, -347, 84, -347, 20, -347, -88, 432, -111, 84, - 84, -347, 83, 83, -111, -347, -347, -347, -319, 84, - -347, 84, -347, 84, -347, -347, -155, 20, -155, -155, - -347, 87, -150, -158, -182, 14, -195, 49, 329, -205, - -204, 53, 45, -202, 17, 47, 17, 28, -215, 84, - 146, 84, -347, -347, 84, 55, 214, -347, -158, -141, - -140, 74, 75, -142, 74, -140, 64, 64, -210, -347, - -347, 84, -213, -128, -158, -158, 214, 113, -346, -115, - -124, -113, 10, 90, 90, -323, 132, 132, -150, 83, - -270, 90, -270, 92, 92, 482, 29, 79, 80, 81, - 29, 76, 77, -150, -150, -150, -150, -309, 83, 17, - -111, 83, 146, 85, -208, -208, 268, -172, -346, 85, - -347, 84, -276, 446, 449, -111, -119, -119, -210, 85, - -316, 446, -324, -241, -241, -241, -241, -116, -270, -111, - -111, -189, 90, -111, -111, 92, 92, -347, -347, -318, - -317, -111, -346, 64, 16, 14, -346, -346, -249, -182, - -183, 15, 17, -196, 51, -194, 50, -194, -204, 17, - 17, 90, 17, 90, 132, -220, -111, -173, 55, -9, - -241, -171, -241, -184, -111, 83, -111, -121, -158, -158, - -111, -164, 435, 102, 104, 103, 436, 437, 438, 338, - 339, 439, 440, 441, 105, 106, 107, 108, 109, 110, - 111, 83, -111, 85, 85, -210, -308, -55, 85, -208, - 92, 85, -172, -91, -346, 264, -341, -310, 450, 450, - -347, 23, -315, -314, -242, 83, 75, -92, 156, 446, - -347, -347, -347, -347, -347, 85, 85, -347, -347, 84, - -211, -347, -241, 235, 17, 17, -211, -211, -157, -183, - -111, -169, -197, 52, 74, 116, 90, 90, 90, 10, - -171, 214, -189, -208, -135, 359, -184, -347, -208, 85, - 23, 85, 578, 132, 85, 264, -9, 84, 146, -208, - -150, -347, 444, 71, 447, -111, 84, -347, -347, -347, - 74, 116, -216, -241, 85, -347, -346, -189, 85, -193, - -9, 83, -3, -347, -75, 446, -314, -293, -242, 90, - 92, 85, 60, 445, 448, -319, -241, 235, -249, -136, - -134, -241, 496, -332, -333, 74, -342, -339, 113, 138, - 99, -340, 122, 123, -75, -111, 83, -76, 279, 536, - -325, 60, -347, -347, 84, 20, -261, -57, 506, -333, - 74, 11, 10, 113, 90, 85, -208, 240, -316, 446, - -134, 503, -271, -121, -331, 248, 243, 246, 30, -331, - -4, 577, 85, 281, 447, -56, 24, -135, 242, 29, - 113, 92, -4, 448, 506, -121, -138, -137, -139, 540, - 113, 29, -137, -139, 74, -121, 74, 456, 540, + -154, -283, -283, -283, -214, 86, -225, 22, 14, 57, + 57, -127, -158, -128, -102, -241, -198, 533, -203, 46, + -201, -202, 47, -199, 48, 56, 163, -189, -111, -215, + 76, -216, -220, -176, -171, -173, -172, -346, -207, -347, + -241, -214, -216, -130, -131, -131, -130, -131, 66, 66, + 66, 71, 66, 71, 66, -147, -246, -347, -347, -7, + -7, -111, -249, 77, -128, -128, -152, -246, 163, 391, + 395, 396, -294, -342, 115, 139, 31, 76, 353, 101, + -340, 171, -341, 236, 132, 133, 248, 25, 41, 87, + 86, 87, 86, 87, 86, -235, 483, 139, -41, -40, + -289, -289, 94, -323, 232, 26, -150, 76, 76, 76, + -84, 577, 94, 85, -3, 80, -111, 85, 19, -278, + -176, 268, 157, -304, -208, -308, -310, -150, -113, -346, + -112, -114, -118, 161, 162, -177, -150, -104, 281, 289, + 85, -108, 89, -325, 77, 272, 353, 272, -150, -77, + -45, -150, -231, -231, 33, -323, -347, -125, -117, -346, + -347, -268, -268, -268, -273, -268, 312, -268, 312, -268, + -347, -347, 86, -347, 22, -347, -88, 433, -111, 86, + 86, -347, 85, 85, -111, -347, -347, -347, -319, 86, + -347, 86, -347, 86, -347, -347, -155, 22, -155, -155, + -347, 89, -150, -158, -182, 16, -195, 51, 330, -205, + -204, 55, 47, -202, 19, 49, 19, 30, -215, 86, + 147, 86, -347, -347, 86, 57, 215, -347, -158, -141, + -140, 76, 77, -142, 76, -140, 66, 66, -210, -347, + -347, 86, -213, -128, -158, -158, 215, 115, -346, -115, + -124, -113, 12, 92, 92, -323, 133, 133, -150, 85, + -270, 92, -270, 94, 94, 483, 31, 81, 82, 83, + 31, 78, 79, -150, -150, -150, -150, -309, 85, 19, + -111, 85, 147, 87, -208, -208, 269, -172, -346, 87, + -347, 86, -276, 447, 450, -111, -119, -119, -210, 87, + -316, 447, -324, -241, -241, -241, -241, -116, -270, -111, + -111, -189, 92, -111, -111, 94, 94, -347, -347, -318, + -317, -111, -346, 66, 18, 16, -346, -346, -249, -182, + -183, 17, 19, -196, 53, -194, 52, -194, -204, 19, + 19, 92, 19, 92, 133, -220, -111, -173, 57, -9, + -241, -171, -241, -184, -111, 85, -111, -121, -158, -158, + -111, -164, 436, 104, 106, 105, 437, 438, 439, 339, + 340, 440, 441, 442, 107, 108, 109, 110, 111, 112, + 113, 85, -111, 87, 87, -210, -308, -55, 87, -208, + 94, 87, -172, -91, -346, 265, -341, -310, 451, 451, + -347, 25, -315, -314, -242, 85, 77, -92, 157, 447, + -347, -347, -347, -347, -347, 87, 87, -347, -347, 86, + -211, -347, -241, 236, 19, 19, -211, -211, -157, -183, + -111, -169, -197, 54, 76, 118, 92, 92, 92, 12, + -171, 215, -189, -208, -135, 360, -184, -347, -208, 87, + 25, 87, 579, 133, 87, 265, -9, 86, 147, -208, + -150, -347, 445, 73, 448, -111, 86, -347, -347, -347, + 76, 118, -216, -241, 87, -347, -346, -189, 87, -193, + -9, 85, -3, -347, -75, 447, -314, -293, -242, 92, + 94, 87, 62, 446, 449, -319, -241, 236, -249, -136, + -134, -241, 497, -332, -333, 76, -342, -339, 115, 139, + 101, -340, 124, 125, -75, -111, 85, -76, 280, 537, + -325, 62, -347, -347, 86, 22, -261, -57, 507, -333, + 76, 13, 12, 115, 92, 87, -208, 241, -316, 447, + -134, 504, -271, -121, -331, 249, 244, 247, 32, -331, + -4, 578, 87, 282, 448, -56, 26, -135, 243, 31, + 115, 94, -4, 449, 507, -121, -138, -137, -139, 541, + 115, 31, -137, -139, 76, -121, 76, 457, 541, } var yyDef = [...]int{ @@ -7075,16 +7095,16 @@ var yyTok1 = [...]int{ 1, 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, - 3, 3, 3, 139, 3, 3, 3, 165, 157, 3, - 83, 85, 162, 160, 84, 161, 214, 163, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 579, - 147, 146, 148, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 140, 3, 3, 3, 166, 158, 3, + 85, 87, 163, 161, 86, 162, 215, 164, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 580, + 148, 147, 149, 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, 3, 3, 167, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 168, 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, 135, 3, 168, + 3, 3, 3, 3, 136, 3, 169, } var yyTok2 = [...]int{ @@ -7096,18 +7116,18 @@ var yyTok2 = [...]int{ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 82, 83, 84, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 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, - 136, 137, 138, 140, 141, 142, 143, 144, 145, 149, - 150, 151, 152, 153, 154, 155, 156, 158, 159, 164, - 166, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 135, 137, 138, 139, 141, 142, 143, 144, 145, 146, + 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, + 165, 167, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 215, 216, 217, 218, + 208, 209, 210, 211, 212, 213, 214, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, @@ -7177,7 +7197,8 @@ var yyTok3 = [...]int{ 57885, 560, 57886, 561, 57887, 562, 57888, 563, 57889, 564, 57890, 565, 57891, 566, 57892, 567, 57893, 568, 57894, 569, 57895, 570, 57896, 571, 57897, 572, 57898, 573, 57899, 574, - 57900, 575, 57901, 576, 57902, 577, 57903, 578, 0, + 57900, 575, 57901, 576, 57902, 577, 57903, 578, 57904, 579, + 0, } var yyErrorMessages = [...]struct { @@ -7527,68 +7548,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:499 +//line sql.y:512 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:504 +//line sql.y:517 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:505 +//line sql.y:518 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:509 +//line sql.y:522 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:545 +//line sql.y:558 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:551 +//line sql.y:564 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:555 +//line sql.y:568 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:559 +//line sql.y:572 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:564 +//line sql.y:577 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:568 +//line sql.y:581 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:574 +//line sql.y:587 { yyLOCAL = &OtherAdmin{} } @@ -7596,7 +7617,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:580 +//line sql.y:593 { yyLOCAL = &Load{} } @@ -7604,7 +7625,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:586 +//line sql.y:599 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -7612,7 +7633,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:590 +//line sql.y:603 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -7620,7 +7641,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:595 +//line sql.y:608 { yyLOCAL = nil } @@ -7628,14 +7649,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:599 +//line sql.y:612 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:605 +//line sql.y:618 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -7643,7 +7664,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:609 +//line sql.y:622 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -7651,7 +7672,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:615 +//line sql.y:628 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -7659,7 +7680,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:621 +//line sql.y:634 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -7667,7 +7688,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:625 +//line sql.y:638 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -7675,7 +7696,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:629 +//line sql.y:642 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -7684,7 +7705,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:652 +//line sql.y:665 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -7694,7 +7715,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:658 +//line sql.y:671 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -7703,7 +7724,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:663 +//line sql.y:676 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -7713,7 +7734,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:669 +//line sql.y:682 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -7724,7 +7745,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:676 +//line sql.y:689 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -7734,7 +7755,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:682 +//line sql.y:695 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -7744,14 +7765,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:689 +//line sql.y:702 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:693 +//line sql.y:706 { yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/) } @@ -7759,7 +7780,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:699 +//line sql.y:712 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -7767,7 +7788,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:703 +//line sql.y:716 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -7775,7 +7796,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:707 +//line sql.y:720 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -7783,7 +7804,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:711 +//line sql.y:724 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -7791,7 +7812,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:715 +//line sql.y:728 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -7799,7 +7820,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:721 +//line sql.y:734 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -7807,7 +7828,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:725 +//line sql.y:738 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -7816,7 +7837,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:730 +//line sql.y:743 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -7824,7 +7845,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:734 +//line sql.y:747 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -7832,7 +7853,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:740 +//line sql.y:753 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -7840,7 +7861,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:744 +//line sql.y:757 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -7849,7 +7870,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:749 +//line sql.y:762 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -7859,7 +7880,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:755 +//line sql.y:768 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -7869,7 +7890,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:761 +//line sql.y:774 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -7878,7 +7899,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:768 +//line sql.y:781 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -7886,7 +7907,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:774 +//line sql.y:787 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -7894,7 +7915,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:782 +//line sql.y:795 { yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), GroupBy(yyDollar[8].exprsUnion()), NewWhere(HavingClause, yyDollar[9].exprUnion())) } @@ -7902,7 +7923,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:786 +//line sql.y:799 { yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), GroupBy(yyDollar[7].exprsUnion()), NewWhere(HavingClause, yyDollar[8].exprUnion())) } @@ -7910,7 +7931,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:794 +//line sql.y:807 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -7926,7 +7947,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:806 +//line sql.y:819 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -7940,7 +7961,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:818 +//line sql.y:831 { yyLOCAL = InsertAct } @@ -7948,7 +7969,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:822 +//line sql.y:835 { yyLOCAL = ReplaceAct } @@ -7956,7 +7977,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:828 +//line sql.y:841 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()} } @@ -7964,7 +7985,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:834 +//line sql.y:847 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].tableIdent}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()} } @@ -7972,7 +7993,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:838 +//line sql.y:851 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -7980,7 +8001,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:842 +//line sql.y:855 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -7988,32 +8009,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:846 +//line sql.y:859 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:851 +//line sql.y:864 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:852 +//line sql.y:865 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:856 +//line sql.y:869 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:860 +//line sql.y:873 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8021,14 +8042,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:866 +//line sql.y:879 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:870 +//line sql.y:883 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8036,14 +8057,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:876 +//line sql.y:889 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:880 +//line sql.y:893 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8051,7 +8072,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:885 +//line sql.y:898 { yyLOCAL = nil } @@ -8059,7 +8080,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:889 +//line sql.y:902 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8067,7 +8088,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:895 +//line sql.y:908 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8075,7 +8096,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:901 +//line sql.y:914 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8083,7 +8104,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:905 +//line sql.y:918 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8091,14 +8112,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:911 +//line sql.y:924 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:915 +//line sql.y:928 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8106,7 +8127,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:921 +//line sql.y:934 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8114,7 +8135,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:925 +//line sql.y:938 { yyLOCAL = ReadWrite } @@ -8122,7 +8143,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:929 +//line sql.y:942 { yyLOCAL = ReadOnly } @@ -8130,7 +8151,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:935 +//line sql.y:948 { yyLOCAL = RepeatableRead } @@ -8138,7 +8159,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:939 +//line sql.y:952 { yyLOCAL = ReadCommitted } @@ -8146,7 +8167,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:943 +//line sql.y:956 { yyLOCAL = ReadUncommitted } @@ -8154,7 +8175,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:947 +//line sql.y:960 { yyLOCAL = Serializable } @@ -8162,7 +8183,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:953 +//line sql.y:966 { yyLOCAL = SessionScope } @@ -8170,7 +8191,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:957 +//line sql.y:970 { yyLOCAL = GlobalScope } @@ -8178,7 +8199,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:963 +//line sql.y:976 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8188,7 +8209,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:969 +//line sql.y:982 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8199,7 +8220,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:976 +//line sql.y:989 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8212,7 +8233,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:985 +//line sql.y:998 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -8220,7 +8241,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:989 +//line sql.y:1002 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].collateAndCharsetsUnion() @@ -8230,7 +8251,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:996 +//line sql.y:1009 { yyLOCAL = false } @@ -8238,33 +8259,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1000 +//line sql.y:1013 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1005 +//line sql.y:1018 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1009 +//line sql.y:1022 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1015 +//line sql.y:1028 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1020 +//line sql.y:1033 { var v []VindexParam yyLOCAL = v @@ -8273,7 +8294,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1025 +//line sql.y:1038 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -8281,7 +8302,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1031 +//line sql.y:1044 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -8289,21 +8310,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1036 +//line sql.y:1049 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1042 +//line sql.y:1055 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1047 +//line sql.y:1060 { yyLOCAL = nil } @@ -8311,7 +8332,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1051 +//line sql.y:1064 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -8319,28 +8340,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1057 +//line sql.y:1070 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1061 +//line sql.y:1074 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1067 +//line sql.y:1080 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1073 +//line sql.y:1086 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -8349,7 +8370,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1080 +//line sql.y:1093 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -8358,7 +8379,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1087 +//line sql.y:1100 { yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].colIdent, Type: string(yyDollar[3].str)}, Options: yyDollar[5].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -8367,7 +8388,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1092 +//line sql.y:1105 { yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Fulltext: true}, Options: yyDollar[6].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -8376,7 +8397,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1097 +//line sql.y:1110 { yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Spatial: true}, Options: yyDollar[6].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -8385,7 +8406,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1102 +//line sql.y:1115 { yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Unique: true}, Options: yyDollar[6].indexOptionsUnion()}}}} setDDL(yylex, yyLOCAL) @@ -8394,7 +8415,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1109 +//line sql.y:1122 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -8403,7 +8424,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1116 +//line sql.y:1129 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -8412,7 +8433,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1127 +//line sql.y:1140 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -8422,7 +8443,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []CollateAndCharset -//line sql.y:1134 +//line sql.y:1147 { yyLOCAL = nil } @@ -8430,7 +8451,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []CollateAndCharset -//line sql.y:1138 +//line sql.y:1151 { yyLOCAL = yyDollar[1].collateAndCharsetsUnion() } @@ -8438,7 +8459,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []CollateAndCharset -//line sql.y:1144 +//line sql.y:1157 { yyLOCAL = []CollateAndCharset{yyDollar[1].collateAndCharset} } @@ -8446,21 +8467,21 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []CollateAndCharset -//line sql.y:1148 +//line sql.y:1161 { yyLOCAL = []CollateAndCharset{yyDollar[1].collateAndCharset} } yyVAL.union = yyLOCAL case 149: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1152 +//line sql.y:1165 { yySLICE := (*[]CollateAndCharset)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].collateAndCharset) } case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1156 +//line sql.y:1169 { yySLICE := (*[]CollateAndCharset)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].collateAndCharset) @@ -8468,7 +8489,7 @@ yydefault: case 151: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1162 +//line sql.y:1175 { yyLOCAL = false } @@ -8476,39 +8497,39 @@ yydefault: case 152: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1166 +//line sql.y:1179 { yyLOCAL = true } yyVAL.union = yyLOCAL case 153: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1172 +//line sql.y:1185 { yyVAL.collateAndCharset = CollateAndCharset{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 154: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1176 +//line sql.y:1189 { yyVAL.collateAndCharset = CollateAndCharset{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1182 +//line sql.y:1195 { yyVAL.collateAndCharset = CollateAndCharset{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1186 +//line sql.y:1199 { yyVAL.collateAndCharset = CollateAndCharset{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1193 +//line sql.y:1206 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -8516,7 +8537,7 @@ yydefault: case 158: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1197 +//line sql.y:1210 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -8524,14 +8545,14 @@ yydefault: case 159: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1203 +//line sql.y:1216 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 160: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1207 +//line sql.y:1220 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -8539,7 +8560,7 @@ yydefault: case 161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1213 +//line sql.y:1226 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -8548,7 +8569,7 @@ yydefault: case 162: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1218 +//line sql.y:1231 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -8556,39 +8577,39 @@ yydefault: yyVAL.union = yyLOCAL case 163: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1223 +//line sql.y:1236 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 164: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1227 +//line sql.y:1240 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 165: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1232 +//line sql.y:1245 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 166: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1236 +//line sql.y:1249 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1240 +//line sql.y:1253 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 168: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1251 +//line sql.y:1264 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -8601,7 +8622,7 @@ yydefault: case 169: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1260 +//line sql.y:1273 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -8612,20 +8633,20 @@ yydefault: yyVAL.union = yyLOCAL case 170: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1269 +//line sql.y:1282 { yyVAL.str = "" } case 171: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1273 +//line sql.y:1286 { yyVAL.str = "" } case 172: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1282 +//line sql.y:1295 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil} } @@ -8633,7 +8654,7 @@ yydefault: case 173: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1286 +//line sql.y:1299 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -8643,7 +8664,7 @@ yydefault: case 174: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1292 +//line sql.y:1305 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -8653,7 +8674,7 @@ yydefault: case 175: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1298 +//line sql.y:1311 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8662,7 +8683,7 @@ yydefault: case 176: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1303 +//line sql.y:1316 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8671,7 +8692,7 @@ yydefault: case 177: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1308 +//line sql.y:1321 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8680,7 +8701,7 @@ yydefault: case 178: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1313 +//line sql.y:1326 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8689,7 +8710,7 @@ yydefault: case 179: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1318 +//line sql.y:1331 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8698,7 +8719,7 @@ yydefault: case 180: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1323 +//line sql.y:1336 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8706,14 +8727,14 @@ yydefault: yyVAL.union = yyLOCAL case 181: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1328 +//line sql.y:1341 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 182: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1332 +//line sql.y:1345 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8722,7 +8743,7 @@ yydefault: case 183: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1339 +//line sql.y:1352 { yyLOCAL = VirtualStorage } @@ -8730,7 +8751,7 @@ yydefault: case 184: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1343 +//line sql.y:1356 { yyLOCAL = StoredStorage } @@ -8738,7 +8759,7 @@ yydefault: case 185: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1348 +//line sql.y:1361 { yyLOCAL = &ColumnTypeOptions{} } @@ -8746,7 +8767,7 @@ yydefault: case 186: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1352 +//line sql.y:1365 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8755,7 +8776,7 @@ yydefault: case 187: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1357 +//line sql.y:1370 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -8765,7 +8786,7 @@ yydefault: case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1363 +//line sql.y:1376 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -8775,7 +8796,7 @@ yydefault: case 189: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1369 +//line sql.y:1382 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8784,7 +8805,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1374 +//line sql.y:1387 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -8793,7 +8814,7 @@ yydefault: case 191: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1381 +//line sql.y:1394 { yyLOCAL = yyDollar[1].exprUnion() } @@ -8801,7 +8822,7 @@ yydefault: case 193: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1388 +//line sql.y:1401 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -8809,7 +8830,7 @@ yydefault: case 194: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1392 +//line sql.y:1405 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -8817,7 +8838,7 @@ yydefault: case 195: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1396 +//line sql.y:1409 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -8825,7 +8846,7 @@ yydefault: case 196: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1400 +//line sql.y:1413 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -8833,7 +8854,7 @@ yydefault: case 199: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1411 +//line sql.y:1424 { yyLOCAL = &NullVal{} } @@ -8841,7 +8862,7 @@ yydefault: case 201: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1418 +//line sql.y:1431 { yyLOCAL = yyDollar[2].exprUnion() } @@ -8849,7 +8870,7 @@ yydefault: case 202: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1422 +//line sql.y:1435 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -8857,7 +8878,7 @@ yydefault: case 203: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1428 +//line sql.y:1441 { yyLOCAL = yyDollar[1].exprUnion() } @@ -8865,7 +8886,7 @@ yydefault: case 204: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1432 +//line sql.y:1445 { yyLOCAL = yyDollar[1].exprUnion() } @@ -8873,7 +8894,7 @@ yydefault: case 205: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1436 +//line sql.y:1449 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -8881,7 +8902,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1440 +//line sql.y:1453 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -8889,7 +8910,7 @@ yydefault: case 207: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1444 +//line sql.y:1457 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -8897,7 +8918,7 @@ yydefault: case 208: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1448 +//line sql.y:1461 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -8905,7 +8926,7 @@ yydefault: case 209: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1452 +//line sql.y:1465 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -8914,7 +8935,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1457 +//line sql.y:1470 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -8922,7 +8943,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1461 +//line sql.y:1474 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -8930,7 +8951,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1465 +//line sql.y:1478 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -8938,7 +8959,7 @@ yydefault: case 213: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1469 +//line sql.y:1482 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -8946,7 +8967,7 @@ yydefault: case 214: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1473 +//line sql.y:1486 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -8954,254 +8975,254 @@ yydefault: yyVAL.union = yyLOCAL case 215: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1480 +//line sql.y:1493 { yyVAL.str = Armscii8Str } case 216: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1484 +//line sql.y:1497 { yyVAL.str = ASCIIStr } case 217: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1488 +//line sql.y:1501 { yyVAL.str = Big5Str } case 218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1492 +//line sql.y:1505 { yyVAL.str = UBinaryStr } case 219: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1496 +//line sql.y:1509 { yyVAL.str = Cp1250Str } case 220: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1500 +//line sql.y:1513 { yyVAL.str = Cp1251Str } case 221: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1504 +//line sql.y:1517 { yyVAL.str = Cp1256Str } case 222: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1508 +//line sql.y:1521 { yyVAL.str = Cp1257Str } case 223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1512 +//line sql.y:1525 { yyVAL.str = Cp850Str } case 224: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1516 +//line sql.y:1529 { yyVAL.str = Cp852Str } case 225: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1520 +//line sql.y:1533 { yyVAL.str = Cp866Str } case 226: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1524 +//line sql.y:1537 { yyVAL.str = Cp932Str } case 227: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1528 +//line sql.y:1541 { yyVAL.str = Dec8Str } case 228: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1532 +//line sql.y:1545 { yyVAL.str = EucjpmsStr } case 229: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1536 +//line sql.y:1549 { yyVAL.str = EuckrStr } case 230: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1540 +//line sql.y:1553 { yyVAL.str = Gb18030Str } case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1544 +//line sql.y:1557 { yyVAL.str = Gb2312Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1548 +//line sql.y:1561 { yyVAL.str = GbkStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1552 +//line sql.y:1565 { yyVAL.str = Geostd8Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1556 +//line sql.y:1569 { yyVAL.str = GreekStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1560 +//line sql.y:1573 { yyVAL.str = HebrewStr } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1564 +//line sql.y:1577 { yyVAL.str = Hp8Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1568 +//line sql.y:1581 { yyVAL.str = Keybcs2Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1572 +//line sql.y:1585 { yyVAL.str = Koi8rStr } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1576 +//line sql.y:1589 { yyVAL.str = Koi8uStr } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1580 +//line sql.y:1593 { yyVAL.str = Latin1Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1584 +//line sql.y:1597 { yyVAL.str = Latin2Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1588 +//line sql.y:1601 { yyVAL.str = Latin5Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1592 +//line sql.y:1605 { yyVAL.str = Latin7Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1596 +//line sql.y:1609 { yyVAL.str = MacceStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1600 +//line sql.y:1613 { yyVAL.str = MacromanStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1604 +//line sql.y:1617 { yyVAL.str = SjisStr } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1608 +//line sql.y:1621 { yyVAL.str = Swe7Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1612 +//line sql.y:1625 { yyVAL.str = Tis620Str } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1616 +//line sql.y:1629 { yyVAL.str = Ucs2Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1620 +//line sql.y:1633 { yyVAL.str = UjisStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1624 +//line sql.y:1637 { yyVAL.str = Utf16Str } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1628 +//line sql.y:1641 { yyVAL.str = Utf16leStr } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1632 +//line sql.y:1645 { yyVAL.str = Utf32Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1636 +//line sql.y:1649 { yyVAL.str = Utf8Str } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1640 +//line sql.y:1653 { yyVAL.str = Utf8mb4Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1650 +//line sql.y:1663 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -9209,7 +9230,7 @@ yydefault: case 259: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1654 +//line sql.y:1667 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -9217,7 +9238,7 @@ yydefault: case 260: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1658 +//line sql.y:1671 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -9225,7 +9246,7 @@ yydefault: case 261: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1664 +//line sql.y:1677 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -9233,7 +9254,7 @@ yydefault: case 262: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1668 +//line sql.y:1681 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -9241,7 +9262,7 @@ yydefault: case 263: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1672 +//line sql.y:1685 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -9249,7 +9270,7 @@ yydefault: case 264: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1678 +//line sql.y:1691 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9257,7 +9278,7 @@ yydefault: case 265: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1682 +//line sql.y:1695 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9266,7 +9287,7 @@ yydefault: case 266: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1689 +//line sql.y:1702 { yyLOCAL = colKeyPrimary } @@ -9274,7 +9295,7 @@ yydefault: case 267: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1693 +//line sql.y:1706 { yyLOCAL = colKeyUnique } @@ -9282,7 +9303,7 @@ yydefault: case 268: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1697 +//line sql.y:1710 { yyLOCAL = colKeyUniqueKey } @@ -9290,14 +9311,14 @@ yydefault: case 269: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1701 +//line sql.y:1714 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 270: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1707 +//line sql.y:1720 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -9305,74 +9326,74 @@ yydefault: } case 274: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1718 +//line sql.y:1731 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 275: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1723 +//line sql.y:1736 { yyVAL.columnType = yyDollar[1].columnType } case 276: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1729 +//line sql.y:1742 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 277: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1733 +//line sql.y:1746 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 278: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1737 +//line sql.y:1750 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 279: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1741 +//line sql.y:1754 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 280: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1745 +//line sql.y:1758 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 281: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1749 +//line sql.y:1762 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 282: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1753 +//line sql.y:1766 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 283: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1757 +//line sql.y:1770 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 284: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1761 +//line sql.y:1774 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 285: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1767 +//line sql.y:1780 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -9380,7 +9401,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1773 +//line sql.y:1786 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -9388,7 +9409,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1779 +//line sql.y:1792 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -9396,7 +9417,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1785 +//line sql.y:1798 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -9404,7 +9425,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1791 +//line sql.y:1804 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -9412,189 +9433,189 @@ yydefault: } case 290: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1799 +//line sql.y:1812 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1803 +//line sql.y:1816 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 292: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1807 +//line sql.y:1820 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 293: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1811 +//line sql.y:1824 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 294: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1815 +//line sql.y:1828 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 295: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1821 +//line sql.y:1834 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str} } case 296: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1825 +//line sql.y:1838 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str} } case 297: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1829 +//line sql.y:1842 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 298: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1833 +//line sql.y:1846 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 299: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1837 +//line sql.y:1850 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} } case 300: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1841 +//line sql.y:1854 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} } case 301: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1845 +//line sql.y:1858 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1849 +//line sql.y:1862 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} } case 303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1853 +//line sql.y:1866 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1857 +//line sql.y:1870 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 305: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1861 +//line sql.y:1874 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 306: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1865 +//line sql.y:1878 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1869 +//line sql.y:1882 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1873 +//line sql.y:1886 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str} } case 309: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1878 +//line sql.y:1891 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str} } case 310: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1884 +//line sql.y:1897 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 311: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1888 +//line sql.y:1901 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 312: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1892 +//line sql.y:1905 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 313: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1896 +//line sql.y:1909 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1900 +//line sql.y:1913 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1904 +//line sql.y:1917 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1908 +//line sql.y:1921 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1912 +//line sql.y:1925 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1918 +//line sql.y:1931 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 319: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1923 +//line sql.y:1936 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 320: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:1928 +//line sql.y:1941 { yyLOCAL = nil } @@ -9602,20 +9623,20 @@ yydefault: case 321: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:1932 +//line sql.y:1945 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 322: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1937 +//line sql.y:1950 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 323: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1941 +//line sql.y:1954 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -9624,13 +9645,13 @@ yydefault: } case 324: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1949 +//line sql.y:1962 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 325: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1953 +//line sql.y:1966 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -9638,7 +9659,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1959 +//line sql.y:1972 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -9648,7 +9669,7 @@ yydefault: case 327: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1967 +//line sql.y:1980 { yyLOCAL = false } @@ -9656,7 +9677,7 @@ yydefault: case 328: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1971 +//line sql.y:1984 { yyLOCAL = true } @@ -9664,7 +9685,7 @@ yydefault: case 329: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1975 +//line sql.y:1988 { yyLOCAL = false } @@ -9672,7 +9693,7 @@ yydefault: case 330: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1980 +//line sql.y:1993 { yyLOCAL = false } @@ -9680,71 +9701,71 @@ yydefault: case 331: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1984 +//line sql.y:1997 { yyLOCAL = true } yyVAL.union = yyLOCAL case 332: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1989 +//line sql.y:2002 { yyVAL.str = "" } case 333: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1993 +//line sql.y:2006 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1997 +//line sql.y:2010 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 335: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2001 +//line sql.y:2014 { yyVAL.str = string(yyDollar[2].str) } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2005 +//line sql.y:2018 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.str = "latin1" } case 337: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2010 +//line sql.y:2023 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.str = "ucs2" } case 338: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2016 +//line sql.y:2029 { yyVAL.str = "" } case 339: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2020 +//line sql.y:2033 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 340: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2024 +//line sql.y:2037 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 341: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2031 +//line sql.y:2044 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -9752,7 +9773,7 @@ yydefault: case 342: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2036 +//line sql.y:2049 { yyLOCAL = nil } @@ -9760,7 +9781,7 @@ yydefault: case 343: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2040 +//line sql.y:2053 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -9768,14 +9789,14 @@ yydefault: case 344: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2046 +//line sql.y:2059 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 345: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2050 +//line sql.y:2063 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -9783,7 +9804,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2056 +//line sql.y:2069 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -9791,7 +9812,7 @@ yydefault: case 347: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2060 +//line sql.y:2073 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -9800,7 +9821,7 @@ yydefault: case 348: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2065 +//line sql.y:2078 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -9808,27 +9829,27 @@ yydefault: case 349: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2069 +//line sql.y:2082 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2075 +//line sql.y:2088 { yyVAL.str = "" } case 351: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2079 +//line sql.y:2092 { yyVAL.str = string(yyDollar[1].str) } case 352: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2085 +//line sql.y:2098 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -9836,7 +9857,7 @@ yydefault: case 353: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2089 +//line sql.y:2102 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -9844,7 +9865,7 @@ yydefault: case 354: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2093 +//line sql.y:2106 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -9852,7 +9873,7 @@ yydefault: case 355: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2097 +//line sql.y:2110 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -9860,100 +9881,100 @@ yydefault: case 356: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2101 +//line sql.y:2114 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 357: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2106 +//line sql.y:2119 { yyVAL.str = "" } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2110 +//line sql.y:2123 { yyVAL.str = yyDollar[2].str } case 359: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2116 +//line sql.y:2129 { yyVAL.str = string(yyDollar[1].str) } case 360: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2120 +//line sql.y:2133 { yyVAL.str = string(yyDollar[1].str) } case 361: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2124 +//line sql.y:2137 { yyVAL.str = string(yyDollar[1].str) } case 362: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2131 +//line sql.y:2144 { yyVAL.str = string(yyDollar[1].str) } case 363: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2135 +//line sql.y:2148 { yyVAL.str = string(yyDollar[1].str) } case 364: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2140 +//line sql.y:2153 { yyVAL.str = "key" } case 365: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2144 +//line sql.y:2157 { yyVAL.str = yyDollar[1].str } case 366: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2150 +//line sql.y:2163 { yyVAL.str = string(yyDollar[1].str) } case 367: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2154 +//line sql.y:2167 { yyVAL.str = string(yyDollar[1].str) } case 368: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2159 +//line sql.y:2172 { yyVAL.str = "" } case 369: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2163 +//line sql.y:2176 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 370: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2169 +//line sql.y:2182 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 371: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2173 +//line sql.y:2186 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -9961,7 +9982,7 @@ yydefault: case 372: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2179 +//line sql.y:2192 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -9969,7 +9990,7 @@ yydefault: case 373: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2185 +//line sql.y:2198 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -9977,7 +9998,7 @@ yydefault: case 374: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2189 +//line sql.y:2202 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -9985,7 +10006,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2195 +//line sql.y:2208 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -9993,7 +10014,7 @@ yydefault: case 376: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2199 +//line sql.y:2212 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10001,7 +10022,7 @@ yydefault: case 377: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2205 +//line sql.y:2218 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -10009,7 +10030,7 @@ yydefault: case 378: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2211 +//line sql.y:2224 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion()} } @@ -10017,7 +10038,7 @@ yydefault: case 379: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2215 +//line sql.y:2228 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnDelete: yyDollar[6].ReferenceActionUnion()} } @@ -10025,7 +10046,7 @@ yydefault: case 380: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2219 +//line sql.y:2232 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnUpdate: yyDollar[6].ReferenceActionUnion()} } @@ -10033,7 +10054,7 @@ yydefault: case 381: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2223 +//line sql.y:2236 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnDelete: yyDollar[6].ReferenceActionUnion(), OnUpdate: yyDollar[7].ReferenceActionUnion()} } @@ -10041,7 +10062,7 @@ yydefault: case 382: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2228 +//line sql.y:2241 { yyLOCAL = nil } @@ -10049,7 +10070,7 @@ yydefault: case 383: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2232 +//line sql.y:2245 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -10057,7 +10078,7 @@ yydefault: case 384: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2238 +//line sql.y:2251 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -10065,7 +10086,7 @@ yydefault: case 385: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2244 +//line sql.y:2257 { yyLOCAL = yyDollar[3].ReferenceActionUnion() } @@ -10073,7 +10094,7 @@ yydefault: case 386: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2250 +//line sql.y:2263 { yyLOCAL = yyDollar[3].ReferenceActionUnion() } @@ -10081,7 +10102,7 @@ yydefault: case 387: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2256 +//line sql.y:2269 { yyLOCAL = Restrict } @@ -10089,7 +10110,7 @@ yydefault: case 388: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2260 +//line sql.y:2273 { yyLOCAL = Cascade } @@ -10097,7 +10118,7 @@ yydefault: case 389: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2264 +//line sql.y:2277 { yyLOCAL = NoAction } @@ -10105,7 +10126,7 @@ yydefault: case 390: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2268 +//line sql.y:2281 { yyLOCAL = SetDefault } @@ -10113,33 +10134,33 @@ yydefault: case 391: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2272 +//line sql.y:2285 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 392: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2277 +//line sql.y:2290 { yyVAL.str = "" } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2281 +//line sql.y:2294 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2285 +//line sql.y:2298 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2290 +//line sql.y:2303 { yyLOCAL = true } @@ -10147,7 +10168,7 @@ yydefault: case 396: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2294 +//line sql.y:2307 { yyLOCAL = true } @@ -10155,7 +10176,7 @@ yydefault: case 397: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2298 +//line sql.y:2311 { yyLOCAL = false } @@ -10163,7 +10184,7 @@ yydefault: case 398: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2303 +//line sql.y:2316 { yyLOCAL = nil } @@ -10171,7 +10192,7 @@ yydefault: case 399: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2307 +//line sql.y:2320 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -10179,21 +10200,21 @@ yydefault: case 400: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2313 +//line sql.y:2326 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 401: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2317 +//line sql.y:2330 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 402: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2321 +//line sql.y:2334 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -10201,14 +10222,14 @@ yydefault: case 403: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2327 +//line sql.y:2340 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 404: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2331 +//line sql.y:2344 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -10216,7 +10237,7 @@ yydefault: case 405: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2337 +//line sql.y:2350 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10224,7 +10245,7 @@ yydefault: case 406: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2341 +//line sql.y:2354 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10232,7 +10253,7 @@ yydefault: case 407: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2345 +//line sql.y:2358 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str} } @@ -10240,7 +10261,7 @@ yydefault: case 408: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2349 +//line sql.y:2362 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str} } @@ -10248,7 +10269,7 @@ yydefault: case 409: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2353 +//line sql.y:2366 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10256,7 +10277,7 @@ yydefault: case 410: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2357 +//line sql.y:2370 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10264,7 +10285,7 @@ yydefault: case 411: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2361 +//line sql.y:2374 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10272,7 +10293,7 @@ yydefault: case 412: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2365 +//line sql.y:2378 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10280,7 +10301,7 @@ yydefault: case 413: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2369 +//line sql.y:2382 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -10288,7 +10309,7 @@ yydefault: case 414: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2373 +//line sql.y:2386 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -10296,7 +10317,7 @@ yydefault: case 415: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2377 +//line sql.y:2390 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10304,7 +10325,7 @@ yydefault: case 416: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2381 +//line sql.y:2394 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10312,7 +10333,7 @@ yydefault: case 417: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2385 +//line sql.y:2398 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String()} } @@ -10320,7 +10341,7 @@ yydefault: case 418: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2389 +//line sql.y:2402 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -10328,7 +10349,7 @@ yydefault: case 419: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2393 +//line sql.y:2406 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10336,7 +10357,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2397 +//line sql.y:2410 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10344,7 +10365,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2401 +//line sql.y:2414 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10352,7 +10373,7 @@ yydefault: case 422: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2405 +//line sql.y:2418 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10360,7 +10381,7 @@ yydefault: case 423: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2409 +//line sql.y:2422 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -10368,7 +10389,7 @@ yydefault: case 424: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2413 +//line sql.y:2426 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10376,7 +10397,7 @@ yydefault: case 425: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2417 +//line sql.y:2430 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -10384,7 +10405,7 @@ yydefault: case 426: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2421 +//line sql.y:2434 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10392,7 +10413,7 @@ yydefault: case 427: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2425 +//line sql.y:2438 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -10400,7 +10421,7 @@ yydefault: case 428: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2429 +//line sql.y:2442 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10408,7 +10429,7 @@ yydefault: case 429: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2433 +//line sql.y:2446 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -10416,7 +10437,7 @@ yydefault: case 430: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2437 +//line sql.y:2450 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -10424,7 +10445,7 @@ yydefault: case 431: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2441 +//line sql.y:2454 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -10432,57 +10453,57 @@ yydefault: case 432: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2445 +//line sql.y:2458 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 433: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2450 +//line sql.y:2463 { yyVAL.str = "" } case 434: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2454 +//line sql.y:2467 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 435: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2458 +//line sql.y:2471 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 445: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2477 +//line sql.y:2490 { yyVAL.str = yyDollar[1].colIdent.String() } case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2481 +//line sql.y:2494 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 447: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2485 +//line sql.y:2498 { yyVAL.str = string(yyDollar[1].str) } case 448: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2490 +//line sql.y:2503 { yyVAL.str = "" } case 450: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2496 +//line sql.y:2509 { yyLOCAL = false } @@ -10490,7 +10511,7 @@ yydefault: case 451: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2500 +//line sql.y:2513 { yyLOCAL = true } @@ -10498,7 +10519,7 @@ yydefault: case 452: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2505 +//line sql.y:2518 { yyLOCAL = nil } @@ -10506,7 +10527,7 @@ yydefault: case 453: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2509 +//line sql.y:2522 { yyLOCAL = yyDollar[2].colNameUnion() } @@ -10514,7 +10535,7 @@ yydefault: case 454: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2514 +//line sql.y:2527 { yyLOCAL = nil } @@ -10522,14 +10543,14 @@ yydefault: case 455: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2518 +//line sql.y:2531 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 456: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2522 +//line sql.y:2535 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -10537,14 +10558,14 @@ yydefault: case 457: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2526 +//line sql.y:2539 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2530 +//line sql.y:2543 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -10552,7 +10573,7 @@ yydefault: case 459: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2534 +//line sql.y:2547 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -10560,21 +10581,21 @@ yydefault: case 460: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2540 +//line sql.y:2553 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 461: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2544 +//line sql.y:2557 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 462: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2548 +//line sql.y:2561 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -10582,7 +10603,7 @@ yydefault: case 463: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2554 +//line sql.y:2567 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -10590,7 +10611,7 @@ yydefault: case 464: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2558 +//line sql.y:2571 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -10598,7 +10619,7 @@ yydefault: case 465: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2562 +//line sql.y:2575 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -10606,7 +10627,7 @@ yydefault: case 466: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2566 +//line sql.y:2579 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -10614,7 +10635,7 @@ yydefault: case 467: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2570 +//line sql.y:2583 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -10622,7 +10643,7 @@ yydefault: case 468: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2574 +//line sql.y:2587 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -10630,7 +10651,7 @@ yydefault: case 469: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2578 +//line sql.y:2591 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -10638,7 +10659,7 @@ yydefault: case 470: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2582 +//line sql.y:2595 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -10646,7 +10667,7 @@ yydefault: case 471: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2586 +//line sql.y:2599 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -10654,7 +10675,7 @@ yydefault: case 472: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2590 +//line sql.y:2603 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -10662,7 +10683,7 @@ yydefault: case 473: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2594 +//line sql.y:2607 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -10670,7 +10691,7 @@ yydefault: case 474: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2598 +//line sql.y:2611 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -10678,7 +10699,7 @@ yydefault: case 475: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2602 +//line sql.y:2615 { yyLOCAL = &KeyState{Enable: false} } @@ -10686,7 +10707,7 @@ yydefault: case 476: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2606 +//line sql.y:2619 { yyLOCAL = &KeyState{Enable: true} } @@ -10694,7 +10715,7 @@ yydefault: case 477: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2610 +//line sql.y:2623 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -10702,7 +10723,7 @@ yydefault: case 478: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2614 +//line sql.y:2627 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -10710,7 +10731,7 @@ yydefault: case 479: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2618 +//line sql.y:2631 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -10718,7 +10739,7 @@ yydefault: case 480: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2622 +//line sql.y:2635 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -10726,7 +10747,7 @@ yydefault: case 481: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2626 +//line sql.y:2639 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -10734,7 +10755,7 @@ yydefault: case 482: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2630 +//line sql.y:2643 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -10742,7 +10763,7 @@ yydefault: case 483: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2634 +//line sql.y:2647 { yyLOCAL = &Force{} } @@ -10750,7 +10771,7 @@ yydefault: case 484: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2638 +//line sql.y:2651 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -10758,7 +10779,7 @@ yydefault: case 485: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2642 +//line sql.y:2655 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -10766,14 +10787,14 @@ yydefault: case 486: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2648 +//line sql.y:2661 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 487: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2652 +//line sql.y:2665 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -10781,7 +10802,7 @@ yydefault: case 488: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2658 +//line sql.y:2671 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -10789,7 +10810,7 @@ yydefault: case 489: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2662 +//line sql.y:2675 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -10797,7 +10818,7 @@ yydefault: case 490: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2666 +//line sql.y:2679 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -10805,7 +10826,7 @@ yydefault: case 491: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2670 +//line sql.y:2683 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -10813,7 +10834,7 @@ yydefault: case 492: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2674 +//line sql.y:2687 { yyLOCAL = &LockOption{Type: NoneType} } @@ -10821,7 +10842,7 @@ yydefault: case 493: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2678 +//line sql.y:2691 { yyLOCAL = &LockOption{Type: SharedType} } @@ -10829,7 +10850,7 @@ yydefault: case 494: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2682 +//line sql.y:2695 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -10837,7 +10858,7 @@ yydefault: case 495: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2686 +//line sql.y:2699 { yyLOCAL = &Validation{With: true} } @@ -10845,7 +10866,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2690 +//line sql.y:2703 { yyLOCAL = &Validation{With: false} } @@ -10853,7 +10874,7 @@ yydefault: case 497: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2696 +//line sql.y:2709 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -10864,7 +10885,7 @@ yydefault: case 498: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2703 +//line sql.y:2716 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -10875,7 +10896,7 @@ yydefault: case 499: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2710 +//line sql.y:2723 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -10886,7 +10907,7 @@ yydefault: case 500: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2717 +//line sql.y:2730 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -10896,7 +10917,7 @@ yydefault: case 501: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2723 +//line sql.y:2736 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -10904,7 +10925,7 @@ yydefault: case 502: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2727 +//line sql.y:2740 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -10915,7 +10936,7 @@ yydefault: case 503: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:2734 +//line sql.y:2747 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -10926,7 +10947,7 @@ yydefault: case 504: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:2741 +//line sql.y:2754 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -10942,7 +10963,7 @@ yydefault: case 505: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:2753 +//line sql.y:2766 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -10956,7 +10977,7 @@ yydefault: case 506: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:2763 +//line sql.y:2776 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -10964,7 +10985,7 @@ yydefault: case 507: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:2767 +//line sql.y:2780 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -10972,7 +10993,7 @@ yydefault: case 508: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:2771 +//line sql.y:2784 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -10989,7 +11010,7 @@ yydefault: case 509: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:2784 +//line sql.y:2797 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -11003,7 +11024,7 @@ yydefault: case 510: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:2794 +//line sql.y:2807 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -11011,7 +11032,7 @@ yydefault: case 511: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:2798 +//line sql.y:2811 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -11026,7 +11047,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:2809 +//line sql.y:2822 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -11037,7 +11058,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:2816 +//line sql.y:2829 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -11048,7 +11069,7 @@ yydefault: case 514: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:2823 +//line sql.y:2836 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -11059,7 +11080,7 @@ yydefault: case 515: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:2830 +//line sql.y:2843 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -11070,7 +11091,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:2837 +//line sql.y:2850 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -11080,7 +11101,7 @@ yydefault: case 517: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:2844 +//line sql.y:2857 { yyLOCAL = nil } @@ -11088,7 +11109,7 @@ yydefault: case 518: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:2848 +//line sql.y:2861 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -11099,7 +11120,7 @@ yydefault: case 519: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:2857 +//line sql.y:2870 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -11111,7 +11132,7 @@ yydefault: case 520: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:2865 +//line sql.y:2878 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -11124,7 +11145,7 @@ yydefault: case 521: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:2874 +//line sql.y:2887 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -11135,7 +11156,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:2881 +//line sql.y:2894 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -11146,7 +11167,7 @@ yydefault: case 523: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:2889 +//line sql.y:2902 { yyLOCAL = nil } @@ -11154,7 +11175,7 @@ yydefault: case 524: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:2893 +//line sql.y:2906 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -11167,7 +11188,7 @@ yydefault: case 525: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:2902 +//line sql.y:2915 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -11181,7 +11202,7 @@ yydefault: case 526: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:2913 +//line sql.y:2926 { yyLOCAL = nil } @@ -11189,7 +11210,7 @@ yydefault: case 527: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:2917 +//line sql.y:2930 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -11197,7 +11218,7 @@ yydefault: case 528: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2922 +//line sql.y:2935 { yyLOCAL = false } @@ -11205,7 +11226,7 @@ yydefault: case 529: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2926 +//line sql.y:2939 { yyLOCAL = true } @@ -11213,7 +11234,7 @@ yydefault: case 530: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:2931 +//line sql.y:2944 { yyLOCAL = 0 } @@ -11221,7 +11242,7 @@ yydefault: case 531: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:2935 +//line sql.y:2948 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -11229,7 +11250,7 @@ yydefault: case 532: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:2941 +//line sql.y:2954 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -11237,7 +11258,7 @@ yydefault: case 533: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:2947 +//line sql.y:2960 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -11245,14 +11266,14 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:2953 +//line sql.y:2966 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 535: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2957 +//line sql.y:2970 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -11260,7 +11281,7 @@ yydefault: case 536: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:2963 +//line sql.y:2976 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -11268,7 +11289,7 @@ yydefault: case 537: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:2967 +//line sql.y:2980 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -11278,7 +11299,7 @@ yydefault: case 538: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:2973 +//line sql.y:2986 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -11288,7 +11309,7 @@ yydefault: case 539: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:2979 +//line sql.y:2992 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -11298,7 +11319,7 @@ yydefault: case 540: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:2985 +//line sql.y:2998 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -11308,7 +11329,7 @@ yydefault: case 541: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:2991 +//line sql.y:3004 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -11317,7 +11338,7 @@ yydefault: case 542: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2997 +//line sql.y:3010 { yyLOCAL = false } @@ -11325,7 +11346,7 @@ yydefault: case 543: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3001 +//line sql.y:3014 { yyLOCAL = true } @@ -11333,7 +11354,7 @@ yydefault: case 544: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3005 +//line sql.y:3018 { yyLOCAL = false } @@ -11341,7 +11362,7 @@ yydefault: case 545: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3009 +//line sql.y:3022 { yyLOCAL = true } @@ -11349,7 +11370,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3015 +//line sql.y:3028 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -11357,7 +11378,7 @@ yydefault: case 547: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3021 +//line sql.y:3034 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -11365,7 +11386,7 @@ yydefault: case 548: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3027 +//line sql.y:3040 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -11373,7 +11394,7 @@ yydefault: case 549: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3031 +//line sql.y:3044 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -11381,7 +11402,7 @@ yydefault: case 550: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3035 +//line sql.y:3048 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -11389,7 +11410,7 @@ yydefault: case 551: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3041 +//line sql.y:3054 { yyLOCAL = RangeType } @@ -11397,7 +11418,7 @@ yydefault: case 552: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3045 +//line sql.y:3058 { yyLOCAL = ListType } @@ -11405,7 +11426,7 @@ yydefault: case 553: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3050 +//line sql.y:3063 { yyLOCAL = -1 } @@ -11413,7 +11434,7 @@ yydefault: case 554: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3054 +//line sql.y:3067 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -11421,7 +11442,7 @@ yydefault: case 555: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3059 +//line sql.y:3072 { yyLOCAL = -1 } @@ -11429,7 +11450,7 @@ yydefault: case 556: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3063 +//line sql.y:3076 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -11437,7 +11458,7 @@ yydefault: case 557: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3069 +//line sql.y:3082 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -11445,7 +11466,7 @@ yydefault: case 558: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3073 +//line sql.y:3086 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -11453,7 +11474,7 @@ yydefault: case 559: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3077 +//line sql.y:3090 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -11461,7 +11482,7 @@ yydefault: case 560: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3081 +//line sql.y:3094 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -11469,7 +11490,7 @@ yydefault: case 561: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3085 +//line sql.y:3098 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -11477,7 +11498,7 @@ yydefault: case 562: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3089 +//line sql.y:3102 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -11485,7 +11506,7 @@ yydefault: case 563: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3093 +//line sql.y:3106 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -11493,7 +11514,7 @@ yydefault: case 564: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3097 +//line sql.y:3110 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -11501,7 +11522,7 @@ yydefault: case 565: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3101 +//line sql.y:3114 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -11509,7 +11530,7 @@ yydefault: case 566: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3105 +//line sql.y:3118 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -11517,7 +11538,7 @@ yydefault: case 567: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3109 +//line sql.y:3122 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -11525,7 +11546,7 @@ yydefault: case 568: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3113 +//line sql.y:3126 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -11533,7 +11554,7 @@ yydefault: case 569: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3117 +//line sql.y:3130 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -11541,7 +11562,7 @@ yydefault: case 570: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3121 +//line sql.y:3134 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -11549,7 +11570,7 @@ yydefault: case 571: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3125 +//line sql.y:3138 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -11557,7 +11578,7 @@ yydefault: case 572: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3129 +//line sql.y:3142 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -11565,7 +11586,7 @@ yydefault: case 573: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3133 +//line sql.y:3146 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -11573,7 +11594,7 @@ yydefault: case 574: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3137 +//line sql.y:3150 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -11581,7 +11602,7 @@ yydefault: case 575: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3141 +//line sql.y:3154 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -11589,7 +11610,7 @@ yydefault: case 576: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3145 +//line sql.y:3158 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -11597,7 +11618,7 @@ yydefault: case 577: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3149 +//line sql.y:3162 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -11605,7 +11626,7 @@ yydefault: case 578: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3153 +//line sql.y:3166 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -11613,7 +11634,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3158 +//line sql.y:3171 { yyLOCAL = false } @@ -11621,7 +11642,7 @@ yydefault: case 580: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3162 +//line sql.y:3175 { yyLOCAL = false } @@ -11629,7 +11650,7 @@ yydefault: case 581: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3166 +//line sql.y:3179 { yyLOCAL = true } @@ -11637,28 +11658,28 @@ yydefault: case 582: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3173 +//line sql.y:3186 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 583: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3177 +//line sql.y:3190 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 584: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3183 +//line sql.y:3196 { yyVAL.partDefUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() } case 585: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3188 +//line sql.y:3201 { yyLOCAL = nil } @@ -11666,7 +11687,7 @@ yydefault: case 586: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3192 +//line sql.y:3205 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -11677,7 +11698,7 @@ yydefault: case 587: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3199 +//line sql.y:3212 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -11688,7 +11709,7 @@ yydefault: case 588: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3206 +//line sql.y:3219 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -11699,27 +11720,27 @@ yydefault: case 589: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3215 +//line sql.y:3228 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 590: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3221 +//line sql.y:3234 { yyVAL.str = "" } case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3225 +//line sql.y:3238 { yyVAL.str = "" } case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3231 +//line sql.y:3244 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -11727,14 +11748,14 @@ yydefault: case 593: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3237 +//line sql.y:3250 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 594: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3241 +//line sql.y:3254 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -11742,7 +11763,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3247 +//line sql.y:3260 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -11750,7 +11771,7 @@ yydefault: case 596: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3251 +//line sql.y:3264 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -11763,7 +11784,7 @@ yydefault: case 597: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3260 +//line sql.y:3273 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -11771,7 +11792,7 @@ yydefault: case 598: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3264 +//line sql.y:3277 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -11779,7 +11800,7 @@ yydefault: case 599: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3270 +//line sql.y:3283 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -11787,7 +11808,7 @@ yydefault: case 600: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3274 +//line sql.y:3287 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -11795,7 +11816,7 @@ yydefault: case 601: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3279 +//line sql.y:3292 { yyLOCAL = &OtherRead{} } @@ -11803,7 +11824,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3285 +//line sql.y:3298 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -11811,7 +11832,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3289 +//line sql.y:3302 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -11819,7 +11840,7 @@ yydefault: case 604: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3293 +//line sql.y:3306 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -11827,7 +11848,7 @@ yydefault: case 605: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3297 +//line sql.y:3310 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -11835,7 +11856,7 @@ yydefault: case 606: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3301 +//line sql.y:3314 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -11843,7 +11864,7 @@ yydefault: case 607: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3305 +//line sql.y:3318 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -11851,7 +11872,7 @@ yydefault: case 608: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3309 +//line sql.y:3322 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -11859,7 +11880,7 @@ yydefault: case 609: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3313 +//line sql.y:3326 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -11867,7 +11888,7 @@ yydefault: case 610: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3317 +//line sql.y:3330 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -11875,7 +11896,7 @@ yydefault: case 611: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3321 +//line sql.y:3334 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -11883,7 +11904,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3325 +//line sql.y:3338 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -11891,7 +11912,7 @@ yydefault: case 613: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3329 +//line sql.y:3342 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -11899,7 +11920,7 @@ yydefault: case 614: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3333 +//line sql.y:3346 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -11907,7 +11928,7 @@ yydefault: case 615: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3337 +//line sql.y:3350 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -11915,7 +11936,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3341 +//line sql.y:3354 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -11923,7 +11944,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3345 +//line sql.y:3358 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -11931,7 +11952,7 @@ yydefault: case 618: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3349 +//line sql.y:3362 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -11939,7 +11960,7 @@ yydefault: case 619: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3353 +//line sql.y:3366 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -11947,7 +11968,7 @@ yydefault: case 620: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3357 +//line sql.y:3370 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -11955,7 +11976,7 @@ yydefault: case 621: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3361 +//line sql.y:3374 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -11963,7 +11984,7 @@ yydefault: case 622: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3365 +//line sql.y:3378 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -11971,7 +11992,7 @@ yydefault: case 623: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3369 +//line sql.y:3382 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -11979,7 +12000,7 @@ yydefault: case 624: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3373 +//line sql.y:3386 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -11987,7 +12008,7 @@ yydefault: case 625: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3377 +//line sql.y:3390 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -11995,7 +12016,7 @@ yydefault: case 626: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3381 +//line sql.y:3394 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -12003,7 +12024,7 @@ yydefault: case 627: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3385 +//line sql.y:3398 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -12011,7 +12032,7 @@ yydefault: case 628: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3389 +//line sql.y:3402 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} } @@ -12019,7 +12040,7 @@ yydefault: case 629: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3393 +//line sql.y:3406 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } @@ -12027,7 +12048,7 @@ yydefault: case 630: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3397 +//line sql.y:3410 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} } @@ -12035,7 +12056,7 @@ yydefault: case 631: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3401 +//line sql.y:3414 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} } @@ -12043,7 +12064,7 @@ yydefault: case 632: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3405 +//line sql.y:3418 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } @@ -12051,7 +12072,7 @@ yydefault: case 633: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3409 +//line sql.y:3422 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} } @@ -12059,7 +12080,7 @@ yydefault: case 634: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3413 +//line sql.y:3426 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } @@ -12067,7 +12088,7 @@ yydefault: case 635: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3417 +//line sql.y:3430 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[3].str), Scope: ImplicitScope}} } @@ -12075,7 +12096,7 @@ yydefault: case 636: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3421 +//line sql.y:3434 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -12083,7 +12104,7 @@ yydefault: case 637: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3425 +//line sql.y:3438 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -12091,7 +12112,7 @@ yydefault: case 638: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3429 +//line sql.y:3442 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilterUnion()} yyLOCAL = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt}} @@ -12100,7 +12121,7 @@ yydefault: case 639: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3434 +//line sql.y:3447 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -12108,7 +12129,7 @@ yydefault: case 640: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3438 +//line sql.y:3451 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -12116,7 +12137,7 @@ yydefault: case 641: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3442 +//line sql.y:3455 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilterUnion()} yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope, ShowTablesOpt: showTablesOpt}} @@ -12125,7 +12146,7 @@ yydefault: case 642: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3447 +//line sql.y:3460 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} } @@ -12133,7 +12154,7 @@ yydefault: case 643: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3451 +//line sql.y:3464 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} } @@ -12141,7 +12162,7 @@ yydefault: case 644: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3455 +//line sql.y:3468 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } @@ -12149,7 +12170,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3459 +//line sql.y:3472 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -12157,7 +12178,7 @@ yydefault: case 646: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3464 +//line sql.y:3477 { // This should probably be a different type (ShowVitessTopoOpt), but // just getting the thing working for now @@ -12168,7 +12189,7 @@ yydefault: case 647: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3478 +//line sql.y:3491 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} } @@ -12176,7 +12197,7 @@ yydefault: case 648: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3482 +//line sql.y:3495 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} } @@ -12184,39 +12205,39 @@ yydefault: case 649: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3486 +//line sql.y:3499 { yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} } yyVAL.union = yyLOCAL case 650: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3492 +//line sql.y:3505 { yyVAL.str = string(yyDollar[1].str) } case 651: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3496 +//line sql.y:3509 { yyVAL.str = string(yyDollar[1].str) } case 652: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3502 +//line sql.y:3515 { yyVAL.str = "" } case 653: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3506 +//line sql.y:3519 { yyVAL.str = "extended " } case 654: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3512 +//line sql.y:3525 { yyLOCAL = false } @@ -12224,45 +12245,45 @@ yydefault: case 655: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3516 +//line sql.y:3529 { yyLOCAL = true } yyVAL.union = yyLOCAL case 656: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3522 +//line sql.y:3535 { yyVAL.str = string(yyDollar[1].str) } case 657: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3526 +//line sql.y:3539 { yyVAL.str = string(yyDollar[1].str) } case 658: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3532 +//line sql.y:3545 { yyVAL.tableIdent = NewTableIdent("") } case 659: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3536 +//line sql.y:3549 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 660: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3540 +//line sql.y:3553 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 661: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:3546 +//line sql.y:3559 { yyLOCAL = nil } @@ -12270,7 +12291,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:3550 +//line sql.y:3563 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -12278,7 +12299,7 @@ yydefault: case 663: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:3554 +//line sql.y:3567 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -12286,7 +12307,7 @@ yydefault: case 664: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:3560 +//line sql.y:3573 { yyLOCAL = nil } @@ -12294,33 +12315,33 @@ yydefault: case 665: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:3564 +//line sql.y:3577 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 666: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3570 +//line sql.y:3583 { yyVAL.empty = struct{}{} } case 667: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3574 +//line sql.y:3587 { yyVAL.empty = struct{}{} } case 668: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3578 +//line sql.y:3591 { yyVAL.empty = struct{}{} } case 669: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3584 +//line sql.y:3597 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -12328,7 +12349,7 @@ yydefault: case 670: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3588 +//line sql.y:3601 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -12336,7 +12357,7 @@ yydefault: case 671: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3592 +//line sql.y:3605 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -12344,7 +12365,7 @@ yydefault: case 672: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3598 +//line sql.y:3611 { yyLOCAL = &Begin{} } @@ -12352,7 +12373,7 @@ yydefault: case 673: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3602 +//line sql.y:3615 { yyLOCAL = &Begin{} } @@ -12360,7 +12381,7 @@ yydefault: case 674: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3608 +//line sql.y:3621 { yyLOCAL = &Commit{} } @@ -12368,7 +12389,7 @@ yydefault: case 675: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3614 +//line sql.y:3627 { yyLOCAL = &Rollback{} } @@ -12376,39 +12397,39 @@ yydefault: case 676: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3618 +//line sql.y:3631 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 677: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3623 +//line sql.y:3636 { yyVAL.empty = struct{}{} } case 678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3625 +//line sql.y:3638 { yyVAL.empty = struct{}{} } case 679: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3628 +//line sql.y:3641 { yyVAL.empty = struct{}{} } case 680: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3630 +//line sql.y:3643 { yyVAL.empty = struct{}{} } case 681: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3635 +//line sql.y:3648 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -12416,7 +12437,7 @@ yydefault: case 682: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3641 +//line sql.y:3654 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -12424,7 +12445,7 @@ yydefault: case 683: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:3646 +//line sql.y:3659 { yyLOCAL = EmptyType } @@ -12432,7 +12453,7 @@ yydefault: case 684: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:3650 +//line sql.y:3663 { yyLOCAL = JSONType } @@ -12440,7 +12461,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:3654 +//line sql.y:3667 { yyLOCAL = TreeType } @@ -12448,7 +12469,7 @@ yydefault: case 686: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:3658 +//line sql.y:3671 { yyLOCAL = VitessType } @@ -12456,7 +12477,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:3662 +//line sql.y:3675 { yyLOCAL = TraditionalType } @@ -12464,33 +12485,33 @@ yydefault: case 688: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:3666 +//line sql.y:3679 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 689: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3672 +//line sql.y:3685 { yyVAL.str = yyDollar[1].str } case 690: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3676 +//line sql.y:3689 { yyVAL.str = yyDollar[1].str } case 691: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3680 +//line sql.y:3693 { yyVAL.str = yyDollar[1].str } case 692: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3686 +//line sql.y:3699 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -12498,7 +12519,7 @@ yydefault: case 693: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3690 +//line sql.y:3703 { yyLOCAL = yyDollar[1].statementUnion() } @@ -12506,7 +12527,7 @@ yydefault: case 694: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3694 +//line sql.y:3707 { yyLOCAL = yyDollar[1].statementUnion() } @@ -12514,33 +12535,33 @@ yydefault: case 695: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:3698 +//line sql.y:3711 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 696: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3703 +//line sql.y:3716 { yyVAL.str = "" } case 697: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3707 +//line sql.y:3720 { yyVAL.str = yyDollar[1].colIdent.val } case 698: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3711 +//line sql.y:3724 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 699: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3717 +//line sql.y:3730 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -12548,7 +12569,7 @@ yydefault: case 700: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3721 +//line sql.y:3734 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -12556,7 +12577,7 @@ yydefault: case 701: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3727 +//line sql.y:3740 { yyLOCAL = &OtherAdmin{} } @@ -12564,7 +12585,7 @@ yydefault: case 702: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3731 +//line sql.y:3744 { yyLOCAL = &OtherAdmin{} } @@ -12572,7 +12593,7 @@ yydefault: case 703: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3737 +//line sql.y:3750 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -12580,14 +12601,14 @@ yydefault: case 704: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:3743 +//line sql.y:3756 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 705: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3747 +//line sql.y:3760 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -12595,7 +12616,7 @@ yydefault: case 706: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:3753 +//line sql.y:3766 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -12603,7 +12624,7 @@ yydefault: case 707: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:3759 +//line sql.y:3772 { yyLOCAL = Read } @@ -12611,7 +12632,7 @@ yydefault: case 708: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:3763 +//line sql.y:3776 { yyLOCAL = ReadLocal } @@ -12619,7 +12640,7 @@ yydefault: case 709: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:3767 +//line sql.y:3780 { yyLOCAL = Write } @@ -12627,7 +12648,7 @@ yydefault: case 710: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:3771 +//line sql.y:3784 { yyLOCAL = LowPriorityWrite } @@ -12635,7 +12656,7 @@ yydefault: case 711: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3777 +//line sql.y:3790 { yyLOCAL = &UnlockTables{} } @@ -12643,7 +12664,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3783 +//line sql.y:3796 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -12651,7 +12672,7 @@ yydefault: case 713: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3789 +//line sql.y:3802 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -12659,7 +12680,7 @@ yydefault: case 714: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3793 +//line sql.y:3806 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -12667,7 +12688,7 @@ yydefault: case 715: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3797 +//line sql.y:3810 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -12675,7 +12696,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3801 +//line sql.y:3814 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -12683,7 +12704,7 @@ yydefault: case 717: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3805 +//line sql.y:3818 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -12691,99 +12712,99 @@ yydefault: case 718: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3809 +//line sql.y:3822 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 719: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3815 +//line sql.y:3828 { yyVAL.strs = []string{yyDollar[1].str} } case 720: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3819 +//line sql.y:3832 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 721: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3825 +//line sql.y:3838 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 722: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3829 +//line sql.y:3842 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 723: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3833 +//line sql.y:3846 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 724: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3837 +//line sql.y:3850 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 725: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3841 +//line sql.y:3854 { yyVAL.str = string(yyDollar[1].str) } case 726: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3845 +//line sql.y:3858 { yyVAL.str = string(yyDollar[1].str) } case 727: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3849 +//line sql.y:3862 { yyVAL.str = string(yyDollar[1].str) } case 728: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3853 +//line sql.y:3866 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 729: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3857 +//line sql.y:3870 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 730: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3861 +//line sql.y:3874 { yyVAL.str = string(yyDollar[1].str) } case 731: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3865 +//line sql.y:3878 { yyVAL.str = string(yyDollar[1].str) } case 732: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3869 +//line sql.y:3882 { yyVAL.str = string(yyDollar[1].str) } case 733: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3874 +//line sql.y:3887 { yyLOCAL = false } @@ -12791,7 +12812,7 @@ yydefault: case 734: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3878 +//line sql.y:3891 { yyLOCAL = true } @@ -12799,52 +12820,52 @@ yydefault: case 735: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3882 +//line sql.y:3895 { yyLOCAL = true } yyVAL.union = yyLOCAL case 736: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3887 +//line sql.y:3900 { yyVAL.str = "" } case 737: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3891 +//line sql.y:3904 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 738: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3896 +//line sql.y:3909 { setAllowComments(yylex, true) } case 739: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3900 +//line sql.y:3913 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 740: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3906 +//line sql.y:3919 { yyVAL.strs = nil } case 741: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3910 +//line sql.y:3923 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3916 +//line sql.y:3929 { yyLOCAL = true } @@ -12852,7 +12873,7 @@ yydefault: case 743: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3920 +//line sql.y:3933 { yyLOCAL = false } @@ -12860,33 +12881,33 @@ yydefault: case 744: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3924 +//line sql.y:3937 { yyLOCAL = true } yyVAL.union = yyLOCAL case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3929 +//line sql.y:3942 { yyVAL.str = "" } case 746: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3933 +//line sql.y:3946 { yyVAL.str = SQLNoCacheStr } case 747: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3937 +//line sql.y:3950 { yyVAL.str = SQLCacheStr } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3942 +//line sql.y:3955 { yyLOCAL = false } @@ -12894,7 +12915,7 @@ yydefault: case 749: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3946 +//line sql.y:3959 { yyLOCAL = true } @@ -12902,7 +12923,7 @@ yydefault: case 750: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3950 +//line sql.y:3963 { yyLOCAL = true } @@ -12910,7 +12931,7 @@ yydefault: case 751: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3956 +//line sql.y:3969 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -12918,7 +12939,7 @@ yydefault: case 752: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3960 +//line sql.y:3973 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -12932,7 +12953,7 @@ yydefault: case 753: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3972 +//line sql.y:3985 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -12940,7 +12961,7 @@ yydefault: case 754: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:3977 +//line sql.y:3990 { yyLOCAL = nil } @@ -12948,7 +12969,7 @@ yydefault: case 755: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:3981 +//line sql.y:3994 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -12956,7 +12977,7 @@ yydefault: case 756: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3987 +//line sql.y:4000 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -12964,7 +12985,7 @@ yydefault: case 757: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3991 +//line sql.y:4004 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -12972,7 +12993,7 @@ yydefault: case 758: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:3996 +//line sql.y:4009 { yyLOCAL = nil } @@ -12980,94 +13001,94 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4000 +//line sql.y:4013 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 760: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4005 +//line sql.y:4018 { yyVAL.strs = nil } case 761: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4009 +//line sql.y:4022 { yyVAL.strs = []string{yyDollar[1].str} } case 762: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4013 +//line sql.y:4026 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 763: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4017 +//line sql.y:4030 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 764: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4021 +//line sql.y:4034 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 765: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4027 +//line sql.y:4040 { yyVAL.str = SQLNoCacheStr } case 766: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4031 +//line sql.y:4044 { yyVAL.str = SQLCacheStr } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4035 +//line sql.y:4048 { yyVAL.str = DistinctStr } case 768: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4052 { yyVAL.str = DistinctStr } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4043 +//line sql.y:4056 { yyVAL.str = StraightJoinHint } case 770: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4047 +//line sql.y:4060 { yyVAL.str = SQLCalcFoundRowsStr } case 771: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4051 +//line sql.y:4064 { yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway } case 772: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4057 +//line sql.y:4070 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 773: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4061 +//line sql.y:4074 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -13075,7 +13096,7 @@ yydefault: case 774: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4067 +//line sql.y:4080 { yyLOCAL = &StarExpr{} } @@ -13083,7 +13104,7 @@ yydefault: case 775: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4071 +//line sql.y:4084 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } @@ -13091,7 +13112,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4075 +//line sql.y:4088 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } @@ -13099,39 +13120,39 @@ yydefault: case 777: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4079 +//line sql.y:4092 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4084 +//line sql.y:4097 { yyVAL.colIdent = ColIdent{} } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4088 +//line sql.y:4101 { yyVAL.colIdent = yyDollar[1].colIdent } case 780: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4092 +//line sql.y:4105 { yyVAL.colIdent = yyDollar[2].colIdent } case 782: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4099 +//line sql.y:4112 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 783: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4104 +//line sql.y:4117 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } @@ -13139,7 +13160,7 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4108 +//line sql.y:4121 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -13147,7 +13168,7 @@ yydefault: case 785: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4114 +//line sql.y:4127 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -13155,14 +13176,14 @@ yydefault: case 786: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4120 +//line sql.y:4133 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 787: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4124 +//line sql.y:4137 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -13170,7 +13191,7 @@ yydefault: case 790: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4134 +//line sql.y:4147 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -13178,7 +13199,7 @@ yydefault: case 791: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4138 +//line sql.y:4151 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } @@ -13186,7 +13207,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4142 +//line sql.y:4155 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -13194,7 +13215,7 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4146 +//line sql.y:4159 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -13202,7 +13223,7 @@ yydefault: case 794: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4152 +//line sql.y:4165 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } @@ -13210,7 +13231,7 @@ yydefault: case 795: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4156 +//line sql.y:4169 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } @@ -13218,7 +13239,7 @@ yydefault: case 796: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4162 +//line sql.y:4175 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } @@ -13226,7 +13247,7 @@ yydefault: case 797: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4166 +//line sql.y:4179 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } @@ -13234,7 +13255,7 @@ yydefault: case 798: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4171 +//line sql.y:4184 { yyLOCAL = nil } @@ -13242,7 +13263,7 @@ yydefault: case 799: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4175 +//line sql.y:4188 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -13250,14 +13271,14 @@ yydefault: case 800: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4181 +//line sql.y:4194 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 801: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4185 +//line sql.y:4198 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -13265,14 +13286,14 @@ yydefault: case 802: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4191 +//line sql.y:4204 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL case 803: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4195 +//line sql.y:4208 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) @@ -13280,7 +13301,7 @@ yydefault: case 804: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4201 +//line sql.y:4214 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -13288,21 +13309,21 @@ yydefault: case 805: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4205 +//line sql.y:4218 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 806: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4209 +//line sql.y:4222 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 807: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4213 +//line sql.y:4226 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) @@ -13310,14 +13331,14 @@ yydefault: case 808: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4219 +//line sql.y:4232 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4223 +//line sql.y:4236 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -13325,7 +13346,7 @@ yydefault: case 810: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4236 +//line sql.y:4249 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -13333,7 +13354,7 @@ yydefault: case 811: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4240 +//line sql.y:4253 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -13341,7 +13362,7 @@ yydefault: case 812: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4244 +//line sql.y:4257 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -13349,87 +13370,87 @@ yydefault: case 813: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4248 +//line sql.y:4261 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 814: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4254 +//line sql.y:4267 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 815: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4256 +//line sql.y:4269 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 816: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4260 +//line sql.y:4273 { yyVAL.joinCondition = &JoinCondition{} } case 817: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4262 +//line sql.y:4275 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 818: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4266 +//line sql.y:4279 { yyVAL.joinCondition = &JoinCondition{} } case 819: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4268 +//line sql.y:4281 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 820: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4271 +//line sql.y:4284 { yyVAL.empty = struct{}{} } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4273 +//line sql.y:4286 { yyVAL.empty = struct{}{} } case 822: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4276 +//line sql.y:4289 { yyVAL.tableIdent = NewTableIdent("") } case 823: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4280 +//line sql.y:4293 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 824: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4284 +//line sql.y:4297 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 826: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4291 +//line sql.y:4304 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 827: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4297 +//line sql.y:4310 { yyLOCAL = NormalJoinType } @@ -13437,7 +13458,7 @@ yydefault: case 828: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4301 +//line sql.y:4314 { yyLOCAL = NormalJoinType } @@ -13445,7 +13466,7 @@ yydefault: case 829: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4305 +//line sql.y:4318 { yyLOCAL = NormalJoinType } @@ -13453,7 +13474,7 @@ yydefault: case 830: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4311 +//line sql.y:4324 { yyLOCAL = StraightJoinType } @@ -13461,7 +13482,7 @@ yydefault: case 831: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4317 +//line sql.y:4330 { yyLOCAL = LeftJoinType } @@ -13469,7 +13490,7 @@ yydefault: case 832: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4321 +//line sql.y:4334 { yyLOCAL = LeftJoinType } @@ -13477,7 +13498,7 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4325 +//line sql.y:4338 { yyLOCAL = RightJoinType } @@ -13485,7 +13506,7 @@ yydefault: case 834: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4329 +//line sql.y:4342 { yyLOCAL = RightJoinType } @@ -13493,7 +13514,7 @@ yydefault: case 835: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4335 +//line sql.y:4348 { yyLOCAL = NaturalJoinType } @@ -13501,7 +13522,7 @@ yydefault: case 836: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4339 +//line sql.y:4352 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -13512,38 +13533,38 @@ yydefault: yyVAL.union = yyLOCAL case 837: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4349 +//line sql.y:4362 { yyVAL.tableName = yyDollar[2].tableName } case 838: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4353 +//line sql.y:4366 { yyVAL.tableName = yyDollar[1].tableName } case 839: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4359 +//line sql.y:4372 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 840: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4363 +//line sql.y:4376 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 841: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4369 +//line sql.y:4382 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 842: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4374 +//line sql.y:4387 { yyLOCAL = nil } @@ -13551,7 +13572,7 @@ yydefault: case 843: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4378 +//line sql.y:4391 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -13559,14 +13580,14 @@ yydefault: case 844: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4384 +//line sql.y:4397 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 845: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4388 +//line sql.y:4401 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -13574,7 +13595,7 @@ yydefault: case 846: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4394 +//line sql.y:4407 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -13582,7 +13603,7 @@ yydefault: case 847: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4398 +//line sql.y:4411 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -13590,7 +13611,7 @@ yydefault: case 848: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4402 +//line sql.y:4415 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -13598,7 +13619,7 @@ yydefault: case 849: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4406 +//line sql.y:4419 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -13606,7 +13627,7 @@ yydefault: case 850: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4411 +//line sql.y:4424 { yyLOCAL = NoForType } @@ -13614,7 +13635,7 @@ yydefault: case 851: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4415 +//line sql.y:4428 { yyLOCAL = JoinForType } @@ -13622,7 +13643,7 @@ yydefault: case 852: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4419 +//line sql.y:4432 { yyLOCAL = OrderByForType } @@ -13630,7 +13651,7 @@ yydefault: case 853: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4423 +//line sql.y:4436 { yyLOCAL = GroupByForType } @@ -13638,7 +13659,7 @@ yydefault: case 854: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4429 +//line sql.y:4442 { yyLOCAL = nil } @@ -13646,7 +13667,7 @@ yydefault: case 855: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4433 +//line sql.y:4446 { yyLOCAL = yyDollar[2].exprUnion() } @@ -13654,7 +13675,7 @@ yydefault: case 856: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4440 +//line sql.y:4453 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -13662,7 +13683,7 @@ yydefault: case 857: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4444 +//line sql.y:4457 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -13670,7 +13691,7 @@ yydefault: case 858: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4448 +//line sql.y:4461 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -13678,7 +13699,7 @@ yydefault: case 859: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4452 +//line sql.y:4465 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -13686,7 +13707,7 @@ yydefault: case 860: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4456 +//line sql.y:4469 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -13694,7 +13715,7 @@ yydefault: case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4460 +//line sql.y:4473 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13702,7 +13723,7 @@ yydefault: case 862: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4464 +//line sql.y:4477 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } @@ -13710,7 +13731,7 @@ yydefault: case 863: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4471 +//line sql.y:4484 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -13718,7 +13739,7 @@ yydefault: case 864: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4475 +//line sql.y:4488 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -13726,7 +13747,7 @@ yydefault: case 865: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4479 +//line sql.y:4492 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -13734,7 +13755,7 @@ yydefault: case 866: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4483 +//line sql.y:4496 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13742,7 +13763,7 @@ yydefault: case 867: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4489 +//line sql.y:4502 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -13750,7 +13771,7 @@ yydefault: case 868: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4493 +//line sql.y:4506 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -13758,7 +13779,7 @@ yydefault: case 869: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4497 +//line sql.y:4510 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -13766,7 +13787,7 @@ yydefault: case 870: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4501 +//line sql.y:4514 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -13774,7 +13795,7 @@ yydefault: case 871: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4505 +//line sql.y:4518 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -13782,7 +13803,7 @@ yydefault: case 872: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4509 +//line sql.y:4522 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -13790,7 +13811,7 @@ yydefault: case 873: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4513 +//line sql.y:4526 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -13798,7 +13819,7 @@ yydefault: case 874: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4517 +//line sql.y:4530 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -13806,7 +13827,7 @@ yydefault: case 875: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4521 +//line sql.y:4534 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -13814,7 +13835,7 @@ yydefault: case 876: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4525 +//line sql.y:4538 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -13822,7 +13843,7 @@ yydefault: case 877: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4529 +//line sql.y:4542 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13830,7 +13851,7 @@ yydefault: case 878: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4535 +//line sql.y:4548 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -13838,7 +13859,7 @@ yydefault: case 879: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4539 +//line sql.y:4552 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -13846,7 +13867,7 @@ yydefault: case 880: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4543 +//line sql.y:4556 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -13854,7 +13875,7 @@ yydefault: case 881: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4547 +//line sql.y:4560 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -13862,7 +13883,7 @@ yydefault: case 882: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4551 +//line sql.y:4564 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -13870,7 +13891,7 @@ yydefault: case 883: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4555 +//line sql.y:4568 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -13878,7 +13899,7 @@ yydefault: case 884: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4559 +//line sql.y:4572 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -13886,7 +13907,7 @@ yydefault: case 885: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4563 +//line sql.y:4576 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -13894,7 +13915,7 @@ yydefault: case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4567 +//line sql.y:4580 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -13902,7 +13923,7 @@ yydefault: case 887: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4571 +//line sql.y:4584 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -13910,7 +13931,7 @@ yydefault: case 888: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4575 +//line sql.y:4588 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -13918,7 +13939,7 @@ yydefault: case 889: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4579 +//line sql.y:4592 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -13926,7 +13947,7 @@ yydefault: case 890: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4583 +//line sql.y:4596 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13934,7 +13955,7 @@ yydefault: case 891: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4589 +//line sql.y:4602 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13942,7 +13963,7 @@ yydefault: case 892: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4593 +//line sql.y:4606 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13950,7 +13971,7 @@ yydefault: case 893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4597 +//line sql.y:4610 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13958,7 +13979,7 @@ yydefault: case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4601 +//line sql.y:4614 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13966,7 +13987,7 @@ yydefault: case 895: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4605 +//line sql.y:4618 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -13974,7 +13995,7 @@ yydefault: case 896: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4609 +//line sql.y:4622 { yyLOCAL = yyDollar[1].exprUnion() } @@ -13982,7 +14003,7 @@ yydefault: case 897: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4613 +//line sql.y:4626 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -13990,7 +14011,7 @@ yydefault: case 898: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4617 +//line sql.y:4630 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -13998,7 +14019,7 @@ yydefault: case 899: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4621 +//line sql.y:4634 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -14006,7 +14027,7 @@ yydefault: case 900: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4625 +//line sql.y:4638 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -14014,7 +14035,7 @@ yydefault: case 901: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4629 +//line sql.y:4642 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -14022,7 +14043,7 @@ yydefault: case 902: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4633 +//line sql.y:4646 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -14030,7 +14051,7 @@ yydefault: case 903: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4637 +//line sql.y:4650 { yyLOCAL = yyDollar[1].exprUnion() } @@ -14038,7 +14059,7 @@ yydefault: case 904: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4641 +//line sql.y:4654 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -14046,7 +14067,7 @@ yydefault: case 905: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:4645 +//line sql.y:4658 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } @@ -14054,7 +14075,7 @@ yydefault: case 906: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4649 +//line sql.y:4662 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -14062,7 +14083,7 @@ yydefault: case 907: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4653 +//line sql.y:4666 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -14070,7 +14091,7 @@ yydefault: case 908: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4657 +//line sql.y:4670 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -14078,7 +14099,7 @@ yydefault: case 909: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4661 +//line sql.y:4674 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -14090,7 +14111,7 @@ yydefault: case 910: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4669 +//line sql.y:4682 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -14098,7 +14119,7 @@ yydefault: case 911: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4673 +//line sql.y:4686 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -14110,7 +14131,7 @@ yydefault: case 912: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4681 +//line sql.y:4694 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } @@ -14118,7 +14139,7 @@ yydefault: case 913: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4685 +//line sql.y:4698 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } @@ -14126,7 +14147,7 @@ yydefault: case 914: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:4691 +//line sql.y:4704 { yyLOCAL = BothTrimType } @@ -14134,7 +14155,7 @@ yydefault: case 915: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:4695 +//line sql.y:4708 { yyLOCAL = LeadingTrimType } @@ -14142,27 +14163,27 @@ yydefault: case 916: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:4699 +//line sql.y:4712 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL case 917: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4705 +//line sql.y:4718 { yyVAL.str = "" } case 918: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4709 +//line sql.y:4722 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 919: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:4715 +//line sql.y:4728 { yyLOCAL = BoolVal(true) } @@ -14170,7 +14191,7 @@ yydefault: case 920: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:4719 +//line sql.y:4732 { yyLOCAL = BoolVal(false) } @@ -14178,7 +14199,7 @@ yydefault: case 921: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:4726 +//line sql.y:4739 { yyLOCAL = IsTrueOp } @@ -14186,7 +14207,7 @@ yydefault: case 922: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:4730 +//line sql.y:4743 { yyLOCAL = IsNotTrueOp } @@ -14194,7 +14215,7 @@ yydefault: case 923: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:4734 +//line sql.y:4747 { yyLOCAL = IsFalseOp } @@ -14202,7 +14223,7 @@ yydefault: case 924: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:4738 +//line sql.y:4751 { yyLOCAL = IsNotFalseOp } @@ -14210,7 +14231,7 @@ yydefault: case 925: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4744 +//line sql.y:4757 { yyLOCAL = EqualOp } @@ -14218,7 +14239,7 @@ yydefault: case 926: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4748 +//line sql.y:4761 { yyLOCAL = LessThanOp } @@ -14226,7 +14247,7 @@ yydefault: case 927: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4752 +//line sql.y:4765 { yyLOCAL = GreaterThanOp } @@ -14234,7 +14255,7 @@ yydefault: case 928: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4756 +//line sql.y:4769 { yyLOCAL = LessEqualOp } @@ -14242,7 +14263,7 @@ yydefault: case 929: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4760 +//line sql.y:4773 { yyLOCAL = GreaterEqualOp } @@ -14250,7 +14271,7 @@ yydefault: case 930: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4764 +//line sql.y:4777 { yyLOCAL = NotEqualOp } @@ -14258,7 +14279,7 @@ yydefault: case 931: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:4768 +//line sql.y:4781 { yyLOCAL = NullSafeEqualOp } @@ -14266,7 +14287,7 @@ yydefault: case 932: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:4774 +//line sql.y:4787 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -14274,7 +14295,7 @@ yydefault: case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:4778 +//line sql.y:4791 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -14282,7 +14303,7 @@ yydefault: case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:4782 +//line sql.y:4795 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) @@ -14291,7 +14312,7 @@ yydefault: case 935: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:4789 +//line sql.y:4802 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -14299,14 +14320,14 @@ yydefault: case 936: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:4795 +//line sql.y:4808 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 937: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4799 +//line sql.y:4812 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -14314,7 +14335,7 @@ yydefault: case 938: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4809 +//line sql.y:4822 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } @@ -14322,7 +14343,7 @@ yydefault: case 939: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4813 +//line sql.y:4826 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -14330,7 +14351,7 @@ yydefault: case 940: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4817 +//line sql.y:4830 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -14338,7 +14359,7 @@ yydefault: case 941: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4821 +//line sql.y:4834 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } @@ -14346,7 +14367,7 @@ yydefault: case 942: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4831 +//line sql.y:4844 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14354,7 +14375,7 @@ yydefault: case 943: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4835 +//line sql.y:4848 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14362,7 +14383,7 @@ yydefault: case 944: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4839 +//line sql.y:4852 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -14370,7 +14391,7 @@ yydefault: case 945: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4843 +//line sql.y:4856 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -14378,7 +14399,7 @@ yydefault: case 946: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4847 +//line sql.y:4860 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -14386,7 +14407,7 @@ yydefault: case 947: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4851 +//line sql.y:4864 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -14394,7 +14415,7 @@ yydefault: case 948: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4855 +//line sql.y:4868 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -14402,7 +14423,7 @@ yydefault: case 949: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4859 +//line sql.y:4872 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -14410,7 +14431,7 @@ yydefault: case 950: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4863 +//line sql.y:4876 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -14418,7 +14439,7 @@ yydefault: case 951: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4867 +//line sql.y:4880 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } @@ -14426,7 +14447,7 @@ yydefault: case 952: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4878 +//line sql.y:4891 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } @@ -14434,7 +14455,7 @@ yydefault: case 953: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4882 +//line sql.y:4895 { yyLOCAL = yyDollar[1].exprUnion() } @@ -14442,7 +14463,7 @@ yydefault: case 954: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4888 +//line sql.y:4901 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } @@ -14450,7 +14471,7 @@ yydefault: case 955: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4892 +//line sql.y:4905 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } @@ -14458,7 +14479,7 @@ yydefault: case 956: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4897 +//line sql.y:4910 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } @@ -14466,7 +14487,7 @@ yydefault: case 957: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4901 +//line sql.y:4914 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } @@ -14474,7 +14495,7 @@ yydefault: case 958: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4905 +//line sql.y:4918 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } @@ -14482,7 +14503,7 @@ yydefault: case 959: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4909 +//line sql.y:4922 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } @@ -14490,7 +14511,7 @@ yydefault: case 960: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4913 +//line sql.y:4926 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } @@ -14498,7 +14519,7 @@ yydefault: case 961: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4917 +//line sql.y:4930 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } @@ -14506,7 +14527,7 @@ yydefault: case 962: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4921 +//line sql.y:4934 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } @@ -14514,7 +14535,7 @@ yydefault: case 963: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4925 +//line sql.y:4938 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } @@ -14522,7 +14543,7 @@ yydefault: case 964: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4929 +//line sql.y:4942 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } @@ -14530,7 +14551,7 @@ yydefault: case 965: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4933 +//line sql.y:4946 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } @@ -14538,7 +14559,7 @@ yydefault: case 966: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:4937 +//line sql.y:4950 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } @@ -14546,7 +14567,7 @@ yydefault: case 967: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4941 +//line sql.y:4954 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } @@ -14554,7 +14575,7 @@ yydefault: case 968: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4945 +//line sql.y:4958 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } @@ -14562,7 +14583,7 @@ yydefault: case 969: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4949 +//line sql.y:4962 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } @@ -14570,7 +14591,7 @@ yydefault: case 970: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4953 +//line sql.y:4966 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } @@ -14578,7 +14599,7 @@ yydefault: case 971: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4957 +//line sql.y:4970 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } @@ -14586,7 +14607,7 @@ yydefault: case 972: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4961 +//line sql.y:4974 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } @@ -14594,7 +14615,7 @@ yydefault: case 973: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4965 +//line sql.y:4978 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } @@ -14602,7 +14623,7 @@ yydefault: case 974: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:4969 +//line sql.y:4982 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } @@ -14610,7 +14631,7 @@ yydefault: case 975: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4973 +//line sql.y:4986 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } @@ -14618,7 +14639,7 @@ yydefault: case 976: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4977 +//line sql.y:4990 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } @@ -14626,7 +14647,7 @@ yydefault: case 977: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4981 +//line sql.y:4994 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } @@ -14634,7 +14655,7 @@ yydefault: case 978: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4985 +//line sql.y:4998 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } @@ -14642,7 +14663,7 @@ yydefault: case 979: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:4989 +//line sql.y:5002 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } @@ -14650,7 +14671,7 @@ yydefault: case 980: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:4993 +//line sql.y:5006 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } @@ -14658,7 +14679,7 @@ yydefault: case 981: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4997 +//line sql.y:5010 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } @@ -14666,7 +14687,7 @@ yydefault: case 982: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5002 +//line sql.y:5015 { yyLOCAL = nil } @@ -14674,7 +14695,7 @@ yydefault: case 983: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5006 +//line sql.y:5019 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } @@ -14682,39 +14703,39 @@ yydefault: case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5012 +//line sql.y:5025 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL case 985: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5016 +//line sql.y:5029 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } case 986: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5022 +//line sql.y:5035 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } case 987: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5026 +//line sql.y:5039 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } case 988: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5032 +//line sql.y:5045 { } case 989: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5034 +//line sql.y:5047 { yyLOCAL = IntervalDayHour } @@ -14722,7 +14743,7 @@ yydefault: case 990: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5038 +//line sql.y:5051 { yyLOCAL = IntervalDayMicrosecond } @@ -14730,7 +14751,7 @@ yydefault: case 991: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5042 +//line sql.y:5055 { yyLOCAL = IntervalDayMinute } @@ -14738,7 +14759,7 @@ yydefault: case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5046 +//line sql.y:5059 { yyLOCAL = IntervalDaySecond } @@ -14746,7 +14767,7 @@ yydefault: case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5050 +//line sql.y:5063 { yyLOCAL = IntervalHourMicrosecond } @@ -14754,7 +14775,7 @@ yydefault: case 994: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5054 +//line sql.y:5067 { yyLOCAL = IntervalHourMinute } @@ -14762,7 +14783,7 @@ yydefault: case 995: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5058 +//line sql.y:5071 { yyLOCAL = IntervalHourSecond } @@ -14770,7 +14791,7 @@ yydefault: case 996: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5062 +//line sql.y:5075 { yyLOCAL = IntervalMinuteMicrosecond } @@ -14778,7 +14799,7 @@ yydefault: case 997: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5066 +//line sql.y:5079 { yyLOCAL = IntervalMinuteSecond } @@ -14786,7 +14807,7 @@ yydefault: case 998: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5070 +//line sql.y:5083 { yyLOCAL = IntervalSecondMicrosecond } @@ -14794,7 +14815,7 @@ yydefault: case 999: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5074 +//line sql.y:5087 { yyLOCAL = IntervalYearMonth } @@ -14802,7 +14823,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5080 +//line sql.y:5093 { yyLOCAL = IntervalDay } @@ -14810,7 +14831,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5084 +//line sql.y:5097 { yyLOCAL = IntervalWeek } @@ -14818,7 +14839,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5088 +//line sql.y:5101 { yyLOCAL = IntervalHour } @@ -14826,7 +14847,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5092 +//line sql.y:5105 { yyLOCAL = IntervalMinute } @@ -14834,7 +14855,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5096 +//line sql.y:5109 { yyLOCAL = IntervalMonth } @@ -14842,7 +14863,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5100 +//line sql.y:5113 { yyLOCAL = IntervalQuarter } @@ -14850,7 +14871,7 @@ yydefault: case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5104 +//line sql.y:5117 { yyLOCAL = IntervalSecond } @@ -14858,7 +14879,7 @@ yydefault: case 1007: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5108 +//line sql.y:5121 { yyLOCAL = IntervalMicrosecond } @@ -14866,7 +14887,7 @@ yydefault: case 1008: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5112 +//line sql.y:5125 { yyLOCAL = IntervalYear } @@ -14874,7 +14895,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5122 +//line sql.y:5135 { yyLOCAL = nil } @@ -14882,7 +14903,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5126 +//line sql.y:5139 { yyLOCAL = nil } @@ -14890,7 +14911,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5130 +//line sql.y:5143 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -14898,7 +14919,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5134 +//line sql.y:5147 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) @@ -14907,7 +14928,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5145 +//line sql.y:5158 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14915,7 +14936,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5149 +//line sql.y:5162 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14923,7 +14944,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5153 +//line sql.y:5166 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14931,7 +14952,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5157 +//line sql.y:5170 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14939,7 +14960,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5161 +//line sql.y:5174 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -14947,7 +14968,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5167 +//line sql.y:5180 { yyLOCAL = NoOption } @@ -14955,7 +14976,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5171 +//line sql.y:5184 { yyLOCAL = BooleanModeOpt } @@ -14963,7 +14984,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5175 +//line sql.y:5188 { yyLOCAL = NaturalLanguageModeOpt } @@ -14971,7 +14992,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5179 +//line sql.y:5192 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } @@ -14979,33 +15000,33 @@ yydefault: case 1024: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5183 +//line sql.y:5196 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL case 1025: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5189 +//line sql.y:5202 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 1026: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5193 +//line sql.y:5206 { yyVAL.str = string(yyDollar[1].str) } case 1027: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5197 +//line sql.y:5210 { yyVAL.str = string(yyDollar[1].str) } case 1028: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5203 +//line sql.y:5216 { yyLOCAL = nil } @@ -15013,7 +15034,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5207 +//line sql.y:5220 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } @@ -15021,7 +15042,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5211 +//line sql.y:5224 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } @@ -15029,7 +15050,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5217 +//line sql.y:5230 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } @@ -15037,7 +15058,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5221 +//line sql.y:5234 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str} } @@ -15045,7 +15066,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5225 +//line sql.y:5238 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15053,7 +15074,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5229 +//line sql.y:5242 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } @@ -15061,7 +15082,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5233 +//line sql.y:5246 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length @@ -15071,7 +15092,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5239 +//line sql.y:5252 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15079,7 +15100,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5243 +//line sql.y:5256 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } @@ -15087,7 +15108,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5247 +//line sql.y:5260 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15095,7 +15116,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5251 +//line sql.y:5264 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15103,7 +15124,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5255 +//line sql.y:5268 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } @@ -15111,7 +15132,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5259 +//line sql.y:5272 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15119,7 +15140,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5263 +//line sql.y:5276 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15127,7 +15148,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5267 +//line sql.y:5280 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } @@ -15135,7 +15156,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5271 +//line sql.y:5284 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15143,7 +15164,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5275 +//line sql.y:5288 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } @@ -15151,7 +15172,7 @@ yydefault: case 1046: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5281 +//line sql.y:5294 { yyLOCAL = nil } @@ -15159,34 +15180,34 @@ yydefault: case 1047: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5285 +//line sql.y:5298 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL case 1048: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5290 +//line sql.y:5303 { yyVAL.str = string("") } case 1049: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5294 +//line sql.y:5307 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } case 1050: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5300 +//line sql.y:5313 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL case 1051: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5304 +//line sql.y:5317 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) @@ -15194,7 +15215,7 @@ yydefault: case 1052: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5310 +//line sql.y:5323 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } @@ -15202,7 +15223,7 @@ yydefault: case 1053: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5315 +//line sql.y:5328 { yyLOCAL = nil } @@ -15210,7 +15231,7 @@ yydefault: case 1054: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5319 +//line sql.y:5332 { yyLOCAL = yyDollar[2].exprUnion() } @@ -15218,7 +15239,7 @@ yydefault: case 1055: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5325 +//line sql.y:5338 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } @@ -15226,7 +15247,7 @@ yydefault: case 1056: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5329 +//line sql.y:5342 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } @@ -15234,7 +15255,7 @@ yydefault: case 1057: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5333 +//line sql.y:5346 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } @@ -15242,7 +15263,7 @@ yydefault: case 1058: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5339 +//line sql.y:5352 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -15255,7 +15276,7 @@ yydefault: case 1059: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5348 +//line sql.y:5361 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -15263,7 +15284,7 @@ yydefault: case 1060: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5352 +//line sql.y:5365 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -15272,7 +15293,7 @@ yydefault: case 1061: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5358 +//line sql.y:5371 { yyLOCAL = nil } @@ -15280,7 +15301,7 @@ yydefault: case 1062: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5362 +//line sql.y:5375 { yyLOCAL = yyDollar[3].exprsUnion() } @@ -15288,7 +15309,7 @@ yydefault: case 1063: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5367 +//line sql.y:5380 { yyLOCAL = nil } @@ -15296,7 +15317,7 @@ yydefault: case 1064: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5371 +//line sql.y:5384 { yyLOCAL = yyDollar[2].exprUnion() } @@ -15304,7 +15325,7 @@ yydefault: case 1065: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5376 +//line sql.y:5389 { yyLOCAL = nil } @@ -15312,7 +15333,7 @@ yydefault: case 1066: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5380 +//line sql.y:5393 { yyLOCAL = yyDollar[1].orderByUnion() } @@ -15320,7 +15341,7 @@ yydefault: case 1067: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5386 +//line sql.y:5399 { yyLOCAL = yyDollar[3].orderByUnion() } @@ -15328,14 +15349,14 @@ yydefault: case 1068: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5392 +//line sql.y:5405 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL case 1069: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5396 +//line sql.y:5409 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) @@ -15343,7 +15364,7 @@ yydefault: case 1070: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5402 +//line sql.y:5415 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } @@ -15351,7 +15372,7 @@ yydefault: case 1071: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5407 +//line sql.y:5420 { yyLOCAL = AscOrder } @@ -15359,7 +15380,7 @@ yydefault: case 1072: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5411 +//line sql.y:5424 { yyLOCAL = AscOrder } @@ -15367,7 +15388,7 @@ yydefault: case 1073: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5415 +//line sql.y:5428 { yyLOCAL = DescOrder } @@ -15375,7 +15396,7 @@ yydefault: case 1074: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5420 +//line sql.y:5433 { yyLOCAL = nil } @@ -15383,7 +15404,7 @@ yydefault: case 1075: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:5424 +//line sql.y:5437 { yyLOCAL = yyDollar[1].limitUnion() } @@ -15391,7 +15412,7 @@ yydefault: case 1076: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:5430 +//line sql.y:5443 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } @@ -15399,7 +15420,7 @@ yydefault: case 1077: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5434 +//line sql.y:5447 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } @@ -15407,7 +15428,7 @@ yydefault: case 1078: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5438 +//line sql.y:5451 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } @@ -15415,7 +15436,7 @@ yydefault: case 1079: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5443 +//line sql.y:5456 { yyLOCAL = nil } @@ -15423,7 +15444,7 @@ yydefault: case 1080: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5447 +//line sql.y:5460 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } @@ -15431,7 +15452,7 @@ yydefault: case 1081: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5451 +//line sql.y:5464 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } @@ -15439,7 +15460,7 @@ yydefault: case 1082: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5455 +//line sql.y:5468 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } @@ -15447,7 +15468,7 @@ yydefault: case 1083: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5459 +//line sql.y:5472 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } @@ -15455,7 +15476,7 @@ yydefault: case 1084: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5466 +//line sql.y:5479 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -15463,7 +15484,7 @@ yydefault: case 1085: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5470 +//line sql.y:5483 { yyLOCAL = &LockOption{Type: NoneType} } @@ -15471,7 +15492,7 @@ yydefault: case 1086: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5474 +//line sql.y:5487 { yyLOCAL = &LockOption{Type: SharedType} } @@ -15479,7 +15500,7 @@ yydefault: case 1087: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5478 +//line sql.y:5491 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -15487,7 +15508,7 @@ yydefault: case 1088: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5484 +//line sql.y:5497 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } @@ -15495,7 +15516,7 @@ yydefault: case 1089: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5488 +//line sql.y:5501 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } @@ -15503,93 +15524,93 @@ yydefault: case 1090: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:5492 +//line sql.y:5505 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL case 1091: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5497 +//line sql.y:5510 { yyVAL.str = "" } case 1092: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5501 +//line sql.y:5514 { yyVAL.str = string(yyDollar[3].str) } case 1093: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5505 +//line sql.y:5518 { yyVAL.str = string(yyDollar[3].str) } case 1094: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5509 +//line sql.y:5522 { yyVAL.str = string(yyDollar[3].str) } case 1095: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5514 +//line sql.y:5527 { yyVAL.str = "" } case 1096: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5518 +//line sql.y:5531 { yyVAL.str = yyDollar[3].str } case 1097: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5524 +//line sql.y:5537 { yyVAL.str = string(yyDollar[1].str) } case 1098: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5528 +//line sql.y:5541 { yyVAL.str = string(yyDollar[1].str) } case 1099: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5533 +//line sql.y:5546 { yyVAL.str = "" } case 1100: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5537 +//line sql.y:5550 { yyVAL.str = yyDollar[2].str } case 1101: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5542 +//line sql.y:5555 { yyVAL.str = "cascaded" } case 1102: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5546 +//line sql.y:5559 { yyVAL.str = string(yyDollar[1].str) } case 1103: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5550 +//line sql.y:5563 { yyVAL.str = string(yyDollar[1].str) } case 1104: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:5555 +//line sql.y:5568 { yyLOCAL = nil } @@ -15597,7 +15618,7 @@ yydefault: case 1105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:5559 +//line sql.y:5572 { yyLOCAL = yyDollar[3].definerUnion() } @@ -15605,7 +15626,7 @@ yydefault: case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:5565 +//line sql.y:5578 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), @@ -15615,7 +15636,7 @@ yydefault: case 1107: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:5571 +//line sql.y:5584 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), @@ -15625,7 +15646,7 @@ yydefault: case 1108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:5577 +//line sql.y:5590 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -15635,32 +15656,32 @@ yydefault: yyVAL.union = yyLOCAL case 1109: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5586 +//line sql.y:5599 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 1110: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5590 +//line sql.y:5603 { yyVAL.str = formatIdentifier(yyDollar[1].str) } case 1111: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5595 +//line sql.y:5608 { yyVAL.str = "" } case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5599 +//line sql.y:5612 { yyVAL.str = formatAddress(yyDollar[1].str) } case 1113: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:5605 +//line sql.y:5618 { yyLOCAL = ForUpdateLock } @@ -15668,7 +15689,7 @@ yydefault: case 1114: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:5609 +//line sql.y:5622 { yyLOCAL = ShareModeLock } @@ -15676,7 +15697,7 @@ yydefault: case 1115: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:5615 +//line sql.y:5628 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } @@ -15684,7 +15705,7 @@ yydefault: case 1116: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:5619 +//line sql.y:5632 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } @@ -15692,177 +15713,177 @@ yydefault: case 1117: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:5623 +//line sql.y:5636 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL case 1118: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5628 +//line sql.y:5641 { yyVAL.str = "" } case 1119: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5632 +//line sql.y:5645 { yyVAL.str = " format csv" + yyDollar[3].str } case 1120: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5636 +//line sql.y:5649 { yyVAL.str = " format text" + yyDollar[3].str } case 1121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5641 +//line sql.y:5654 { yyVAL.str = "" } case 1122: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5645 +//line sql.y:5658 { yyVAL.str = " header" } case 1123: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5650 +//line sql.y:5663 { yyVAL.str = "" } case 1124: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5654 +//line sql.y:5667 { yyVAL.str = " manifest on" } case 1125: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5658 +//line sql.y:5671 { yyVAL.str = " manifest off" } case 1126: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5663 +//line sql.y:5676 { yyVAL.str = "" } case 1127: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5667 +//line sql.y:5680 { yyVAL.str = " overwrite on" } case 1128: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5671 +//line sql.y:5684 { yyVAL.str = " overwrite off" } case 1129: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5677 +//line sql.y:5690 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 1130: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5682 +//line sql.y:5695 { yyVAL.str = "" } case 1131: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5686 +//line sql.y:5699 { yyVAL.str = " lines" + yyDollar[2].str } case 1132: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5692 +//line sql.y:5705 { yyVAL.str = yyDollar[1].str } case 1133: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5696 +//line sql.y:5709 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 1134: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5702 +//line sql.y:5715 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } case 1135: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5706 +//line sql.y:5719 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } case 1136: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5711 +//line sql.y:5724 { yyVAL.str = "" } case 1137: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5715 +//line sql.y:5728 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } case 1138: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5721 +//line sql.y:5734 { yyVAL.str = yyDollar[1].str } case 1139: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5725 +//line sql.y:5738 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } case 1140: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5731 +//line sql.y:5744 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } case 1141: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5735 +//line sql.y:5748 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } case 1142: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5739 +//line sql.y:5752 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } case 1143: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5744 +//line sql.y:5757 { yyVAL.str = "" } case 1144: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5748 +//line sql.y:5761 { yyVAL.str = " optionally" } case 1145: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:5761 +//line sql.y:5774 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } @@ -15870,7 +15891,7 @@ yydefault: case 1146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:5765 +//line sql.y:5778 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } @@ -15878,7 +15899,7 @@ yydefault: case 1147: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:5769 +//line sql.y:5782 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } @@ -15886,7 +15907,7 @@ yydefault: case 1148: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:5773 +//line sql.y:5786 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } @@ -15894,7 +15915,7 @@ yydefault: case 1149: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:5777 +//line sql.y:5790 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } @@ -15902,7 +15923,7 @@ yydefault: case 1150: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:5783 +//line sql.y:5796 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -15910,21 +15931,21 @@ yydefault: case 1151: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:5787 +//line sql.y:5800 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL case 1152: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5791 +//line sql.y:5804 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 1153: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:5795 +//line sql.y:5808 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) @@ -15932,7 +15953,7 @@ yydefault: case 1154: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:5800 +//line sql.y:5813 { yyLOCAL = nil } @@ -15940,7 +15961,7 @@ yydefault: case 1155: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:5804 +//line sql.y:5817 { yyLOCAL = yyDollar[5].updateExprsUnion() } @@ -15948,14 +15969,14 @@ yydefault: case 1156: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:5810 +//line sql.y:5823 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL case 1157: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5814 +//line sql.y:5827 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) @@ -15963,7 +15984,7 @@ yydefault: case 1158: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:5820 +//line sql.y:5833 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -15971,7 +15992,7 @@ yydefault: case 1159: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:5824 +//line sql.y:5837 { yyLOCAL = ValTuple{} } @@ -15979,7 +16000,7 @@ yydefault: case 1160: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:5830 +//line sql.y:5843 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } @@ -15987,7 +16008,7 @@ yydefault: case 1161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5835 +//line sql.y:5848 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -15999,14 +16020,14 @@ yydefault: case 1162: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:5845 +//line sql.y:5858 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL case 1163: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5849 +//line sql.y:5862 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) @@ -16014,7 +16035,7 @@ yydefault: case 1164: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:5855 +//line sql.y:5868 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } @@ -16022,14 +16043,14 @@ yydefault: case 1165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:5861 +//line sql.y:5874 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL case 1166: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5865 +//line sql.y:5878 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) @@ -16037,7 +16058,7 @@ yydefault: case 1167: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:5871 +//line sql.y:5884 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } @@ -16045,7 +16066,7 @@ yydefault: case 1168: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:5875 +//line sql.y:5888 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } @@ -16053,7 +16074,7 @@ yydefault: case 1169: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:5879 +//line sql.y:5892 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } @@ -16061,7 +16082,7 @@ yydefault: case 1170: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:5883 +//line sql.y:5896 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } @@ -16069,7 +16090,7 @@ yydefault: case 1171: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:5887 +//line sql.y:5900 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() @@ -16077,14 +16098,14 @@ yydefault: yyVAL.union = yyLOCAL case 1173: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5895 +//line sql.y:5908 { yyVAL.str = "charset" } case 1176: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5905 +//line sql.y:5918 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } @@ -16092,7 +16113,7 @@ yydefault: case 1177: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5909 +//line sql.y:5922 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -16100,7 +16121,7 @@ yydefault: case 1178: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5913 +//line sql.y:5926 { yyLOCAL = &Default{} } @@ -16108,7 +16129,7 @@ yydefault: case 1181: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:5922 +//line sql.y:5935 { yyLOCAL = false } @@ -16116,7 +16137,7 @@ yydefault: case 1182: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:5924 +//line sql.y:5937 { yyLOCAL = true } @@ -16124,7 +16145,7 @@ yydefault: case 1183: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:5927 +//line sql.y:5940 { yyLOCAL = false } @@ -16132,7 +16153,7 @@ yydefault: case 1184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:5929 +//line sql.y:5942 { yyLOCAL = true } @@ -16140,7 +16161,7 @@ yydefault: case 1185: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:5932 +//line sql.y:5945 { yyLOCAL = false } @@ -16148,7 +16169,7 @@ yydefault: case 1186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:5934 +//line sql.y:5947 { yyLOCAL = true } @@ -16156,7 +16177,7 @@ yydefault: case 1187: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:5937 +//line sql.y:5950 { yyLOCAL = false } @@ -16164,33 +16185,33 @@ yydefault: case 1188: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:5939 +//line sql.y:5952 { yyLOCAL = true } yyVAL.union = yyLOCAL case 1189: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5942 +//line sql.y:5955 { yyVAL.empty = struct{}{} } case 1190: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5944 +//line sql.y:5957 { yyVAL.empty = struct{}{} } case 1191: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5946 +//line sql.y:5959 { yyVAL.empty = struct{}{} } case 1192: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:5950 +//line sql.y:5963 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } @@ -16198,7 +16219,7 @@ yydefault: case 1193: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5955 +//line sql.y:5968 { yyLOCAL = nil } @@ -16206,7 +16227,7 @@ yydefault: case 1194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5959 +//line sql.y:5972 { yyLOCAL = yyDollar[1].exprsUnion() } @@ -16214,7 +16235,7 @@ yydefault: case 1195: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:5964 +//line sql.y:5977 { yyLOCAL = nil } @@ -16222,7 +16243,7 @@ yydefault: case 1196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:5966 +//line sql.y:5979 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } @@ -16230,62 +16251,62 @@ yydefault: case 1197: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:5970 +//line sql.y:5983 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL case 1198: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5976 +//line sql.y:5989 { yyVAL.colIdent = yyDollar[1].colIdent } case 1199: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5980 +//line sql.y:5993 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 1201: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5987 +//line sql.y:6000 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 1202: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5993 +//line sql.y:6006 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } case 1203: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5997 +//line sql.y:6010 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 1204: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6003 +//line sql.y:6016 { yyVAL.tableIdent = NewTableIdent("") } case 1205: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6007 +//line sql.y:6020 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 1207: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6014 +//line sql.y:6027 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 1678: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6509 +//line sql.y:6522 { if incNesting(yylex) { yylex.Error("max nesting level reached") @@ -16294,31 +16315,31 @@ yydefault: } case 1679: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6518 +//line sql.y:6531 { decNesting(yylex) } case 1680: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6523 +//line sql.y:6536 { skipToEnd(yylex) } case 1681: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6528 +//line sql.y:6541 { skipToEnd(yylex) } case 1682: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6532 +//line sql.y:6545 { skipToEnd(yylex) } case 1683: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6536 +//line sql.y:6549 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 676bdbcb8b9..7c9dc938949 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -185,6 +185,20 @@ func bindVariable(yylex yyLexer, bvar string) { jtOnResponse *JtOnResponse } +// These precedence rules are there to handle shift-reduce conflicts. +%nonassoc MEMBER +// FUNCTION_CALL_NON_KEYWORD is used to resolve shift-reduce conflicts occuring due to function_call_generic symbol and +// having special parsing for functions whose names are non-reserved keywords. The shift-reduce conflict occurrs because +// after seeing a non-reserved keyword, if we see '(', then we can either shift to use the special parsing grammar rule or +// reduce the non-reserved keyword into sql_id and eventually use a rule from function_call_generic. +// The way to fix this conflict is to give shifting higher precedence than reducing. +// Adding no precedence also works, since shifting is the default, but it reports a large number of conflicts +// Shifting on '(' already has an assigned precedence. +// All we need to add is a lower precedence to reducing the grammar symbol to non-reserved keywords. +// In order to ensure lower precedence of reduction, this rule has to come before the precedence declaration of '('. +// This precedence should not be used anywhere else other than with function names that are non-reserved-keywords. +%nonassoc FUNCTION_CALL_NON_KEYWORD + %token LEX_ERROR %left UNION %token SELECT STREAM VSTREAM INSERT UPDATE DELETE FROM WHERE GROUP HAVING ORDER BY LIMIT OFFSET FOR @@ -217,7 +231,6 @@ func bindVariable(yylex yyLexer, bvar string) { // * NOTE: If you change anything here, update precedence.go as well * %nonassoc LOWER_THAN_CHARSET %nonassoc CHARSET -%nonassoc MEMBER // Resolve column attribute ambiguity. %right UNIQUE KEY %left EXPRESSION_PREC_SETTER @@ -6288,21 +6301,21 @@ non_reserved_keyword: | INDEXES | ISOLATION | JSON -| JSON_ARRAY -| JSON_CONTAINS -| JSON_CONTAINS_PATH -| JSON_EXTRACT -| JSON_KEYS -| JSON_OBJECT -| JSON_OVERLAPS -| JSON_PRETTY -| JSON_QUOTE -| JSON_SEARCH -| JSON_STORAGE_FREE -| JSON_STORAGE_SIZE -| JSON_VALUE -| JSON_SCHEMA_VALID -| JSON_SCHEMA_VALIDATION_REPORT +| JSON_ARRAY %prec FUNCTION_CALL_NON_KEYWORD +| JSON_CONTAINS %prec FUNCTION_CALL_NON_KEYWORD +| JSON_CONTAINS_PATH %prec FUNCTION_CALL_NON_KEYWORD +| JSON_EXTRACT %prec FUNCTION_CALL_NON_KEYWORD +| JSON_KEYS %prec FUNCTION_CALL_NON_KEYWORD +| JSON_OBJECT %prec FUNCTION_CALL_NON_KEYWORD +| JSON_OVERLAPS %prec FUNCTION_CALL_NON_KEYWORD +| JSON_PRETTY %prec FUNCTION_CALL_NON_KEYWORD +| JSON_QUOTE %prec FUNCTION_CALL_NON_KEYWORD +| JSON_SEARCH %prec FUNCTION_CALL_NON_KEYWORD +| JSON_STORAGE_FREE %prec FUNCTION_CALL_NON_KEYWORD +| JSON_STORAGE_SIZE %prec FUNCTION_CALL_NON_KEYWORD +| JSON_VALUE %prec FUNCTION_CALL_NON_KEYWORD +| JSON_SCHEMA_VALID %prec FUNCTION_CALL_NON_KEYWORD +| JSON_SCHEMA_VALIDATION_REPORT %prec FUNCTION_CALL_NON_KEYWORD | KEY_BLOCK_SIZE | KEYS | KEYSPACES @@ -6320,7 +6333,7 @@ non_reserved_keyword: | LOGS | LONGBLOB | LONGTEXT -| LTRIM +| LTRIM %prec FUNCTION_CALL_NON_KEYWORD | MANIFEST | MASTER_COMPRESSION_ALGORITHMS | MASTER_PUBLIC_KEY_PATH @@ -6403,7 +6416,7 @@ non_reserved_keyword: | ROLE | ROLLBACK | ROW_FORMAT -| RTRIM +| RTRIM %prec FUNCTION_CALL_NON_KEYWORD | S3 | SECONDARY | SECONDARY_ENGINE @@ -6449,7 +6462,7 @@ non_reserved_keyword: | TREE | TRIGGER | TRIGGERS -| TRIM +| TRIM %prec FUNCTION_CALL_NON_KEYWORD | TRUNCATE | UNBOUNDED | UNCOMMITTED @@ -6502,7 +6515,7 @@ non_reserved_keyword: | SECOND | SECOND_MICROSECOND | YEAR_MONTH -| WEIGHT_STRING +| WEIGHT_STRING %prec FUNCTION_CALL_NON_KEYWORD openb: '(' From da828dfc0b9988895d65af79b213823a5c3fde5c Mon Sep 17 00:00:00 2001 From: Manan Gupta Date: Thu, 7 Apr 2022 16:37:24 +0530 Subject: [PATCH 2/2] test: update the tool checker for make parser Signed-off-by: Manan Gupta --- tools/check_make_parser.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/check_make_parser.sh b/tools/check_make_parser.sh index 64eb1dead16..f807302f840 100755 --- a/tools/check_make_parser.sh +++ b/tools/check_make_parser.sh @@ -20,7 +20,7 @@ fi mv $CUR $TMP output=$(go run ./goyacc -fast-append -o $CUR sql.y) -expectedOutput=$'\nconflicts: 20 shift/reduce' +expectedOutput=$'\nconflicts: 1 shift/reduce' if [[ "$output" != "$expectedOutput" ]]; then echo -e "Expected output from goyacc:$expectedOutput\ngot:$output"