github.com/matrixorigin/matrixone@v1.2.0/pkg/sql/parsers/dialect/mysql/mysql_sql.go (about) 1 // Code generated by goyacc -o mysql_sql.go mysql_sql.y. DO NOT EDIT. 2 3 //line mysql_sql.y:16 4 package mysql 5 6 import ( 7 __yyfmt__ "fmt" 8 __yyunsafe__ "unsafe" 9 ) 10 11 //line mysql_sql.y:16 12 13 import ( 14 "fmt" 15 "go/constant" 16 "strings" 17 18 "github.com/matrixorigin/matrixone/pkg/defines" 19 "github.com/matrixorigin/matrixone/pkg/sql/parsers/tree" 20 "github.com/matrixorigin/matrixone/pkg/sql/parsers/util" 21 ) 22 23 const LEX_ERROR = 57346 24 const EMPTY = 57347 25 const UNION = 57348 26 const EXCEPT = 57349 27 const INTERSECT = 57350 28 const MINUS = 57351 29 const LOWER_THAN_ORDER = 57352 30 const ORDER = 57353 31 const LOWER_THAN_COMMA = 57354 32 const SELECT = 57355 33 const INSERT = 57356 34 const UPDATE = 57357 35 const DELETE = 57358 36 const FROM = 57359 37 const WHERE = 57360 38 const GROUP = 57361 39 const HAVING = 57362 40 const BY = 57363 41 const LIMIT = 57364 42 const OFFSET = 57365 43 const FOR = 57366 44 const CONNECT = 57367 45 const MANAGE = 57368 46 const GRANTS = 57369 47 const OWNERSHIP = 57370 48 const REFERENCE = 57371 49 const LOWER_THAN_SET = 57372 50 const SET = 57373 51 const ALL = 57374 52 const DISTINCT = 57375 53 const DISTINCTROW = 57376 54 const AS = 57377 55 const EXISTS = 57378 56 const ASC = 57379 57 const DESC = 57380 58 const INTO = 57381 59 const DUPLICATE = 57382 60 const DEFAULT = 57383 61 const LOCK = 57384 62 const KEYS = 57385 63 const NULLS = 57386 64 const FIRST = 57387 65 const LAST = 57388 66 const AFTER = 57389 67 const INSTANT = 57390 68 const INPLACE = 57391 69 const COPY = 57392 70 const DISABLE = 57393 71 const ENABLE = 57394 72 const UNDEFINED = 57395 73 const MERGE = 57396 74 const TEMPTABLE = 57397 75 const DEFINER = 57398 76 const INVOKER = 57399 77 const SQL = 57400 78 const SECURITY = 57401 79 const CASCADED = 57402 80 const VALUES = 57403 81 const NEXT = 57404 82 const VALUE = 57405 83 const SHARE = 57406 84 const MODE = 57407 85 const SQL_NO_CACHE = 57408 86 const SQL_CACHE = 57409 87 const JOIN = 57410 88 const STRAIGHT_JOIN = 57411 89 const LEFT = 57412 90 const RIGHT = 57413 91 const INNER = 57414 92 const OUTER = 57415 93 const CROSS = 57416 94 const NATURAL = 57417 95 const USE = 57418 96 const FORCE = 57419 97 const LOWER_THAN_ON = 57420 98 const ON = 57421 99 const USING = 57422 100 const SUBQUERY_AS_EXPR = 57423 101 const LOWER_THAN_STRING = 57424 102 const ID = 57425 103 const AT_ID = 57426 104 const AT_AT_ID = 57427 105 const STRING = 57428 106 const VALUE_ARG = 57429 107 const LIST_ARG = 57430 108 const COMMENT = 57431 109 const COMMENT_KEYWORD = 57432 110 const QUOTE_ID = 57433 111 const STAGE = 57434 112 const CREDENTIALS = 57435 113 const STAGES = 57436 114 const SNAPSHOTS = 57437 115 const INTEGRAL = 57438 116 const HEX = 57439 117 const FLOAT = 57440 118 const HEXNUM = 57441 119 const BIT_LITERAL = 57442 120 const NULL = 57443 121 const TRUE = 57444 122 const FALSE = 57445 123 const LOWER_THAN_CHARSET = 57446 124 const CHARSET = 57447 125 const UNIQUE = 57448 126 const KEY = 57449 127 const OR = 57450 128 const PIPE_CONCAT = 57451 129 const XOR = 57452 130 const AND = 57453 131 const NOT = 57454 132 const BETWEEN = 57455 133 const CASE = 57456 134 const WHEN = 57457 135 const THEN = 57458 136 const ELSE = 57459 137 const END = 57460 138 const ELSEIF = 57461 139 const LOWER_THAN_EQ = 57462 140 const LE = 57463 141 const GE = 57464 142 const NE = 57465 143 const NULL_SAFE_EQUAL = 57466 144 const IS = 57467 145 const LIKE = 57468 146 const REGEXP = 57469 147 const IN = 57470 148 const ASSIGNMENT = 57471 149 const ILIKE = 57472 150 const SHIFT_LEFT = 57473 151 const SHIFT_RIGHT = 57474 152 const DIV = 57475 153 const MOD = 57476 154 const UNARY = 57477 155 const COLLATE = 57478 156 const BINARY = 57479 157 const UNDERSCORE_BINARY = 57480 158 const INTERVAL = 57481 159 const OUT = 57482 160 const INOUT = 57483 161 const BEGIN = 57484 162 const START = 57485 163 const TRANSACTION = 57486 164 const COMMIT = 57487 165 const ROLLBACK = 57488 166 const WORK = 57489 167 const CONSISTENT = 57490 168 const SNAPSHOT = 57491 169 const CHAIN = 57492 170 const NO = 57493 171 const RELEASE = 57494 172 const PRIORITY = 57495 173 const QUICK = 57496 174 const BIT = 57497 175 const TINYINT = 57498 176 const SMALLINT = 57499 177 const MEDIUMINT = 57500 178 const INT = 57501 179 const INTEGER = 57502 180 const BIGINT = 57503 181 const INTNUM = 57504 182 const REAL = 57505 183 const DOUBLE = 57506 184 const FLOAT_TYPE = 57507 185 const DECIMAL = 57508 186 const NUMERIC = 57509 187 const DECIMAL_VALUE = 57510 188 const TIME = 57511 189 const TIMESTAMP = 57512 190 const DATETIME = 57513 191 const YEAR = 57514 192 const CHAR = 57515 193 const VARCHAR = 57516 194 const BOOL = 57517 195 const CHARACTER = 57518 196 const VARBINARY = 57519 197 const NCHAR = 57520 198 const TEXT = 57521 199 const TINYTEXT = 57522 200 const MEDIUMTEXT = 57523 201 const LONGTEXT = 57524 202 const BLOB = 57525 203 const TINYBLOB = 57526 204 const MEDIUMBLOB = 57527 205 const LONGBLOB = 57528 206 const JSON = 57529 207 const ENUM = 57530 208 const UUID = 57531 209 const VECF32 = 57532 210 const VECF64 = 57533 211 const GEOMETRY = 57534 212 const POINT = 57535 213 const LINESTRING = 57536 214 const POLYGON = 57537 215 const GEOMETRYCOLLECTION = 57538 216 const MULTIPOINT = 57539 217 const MULTILINESTRING = 57540 218 const MULTIPOLYGON = 57541 219 const INT1 = 57542 220 const INT2 = 57543 221 const INT3 = 57544 222 const INT4 = 57545 223 const INT8 = 57546 224 const S3OPTION = 57547 225 const STAGEOPTION = 57548 226 const SQL_SMALL_RESULT = 57549 227 const SQL_BIG_RESULT = 57550 228 const SQL_BUFFER_RESULT = 57551 229 const LOW_PRIORITY = 57552 230 const HIGH_PRIORITY = 57553 231 const DELAYED = 57554 232 const CREATE = 57555 233 const ALTER = 57556 234 const DROP = 57557 235 const RENAME = 57558 236 const ANALYZE = 57559 237 const ADD = 57560 238 const RETURNS = 57561 239 const SCHEMA = 57562 240 const TABLE = 57563 241 const SEQUENCE = 57564 242 const INDEX = 57565 243 const VIEW = 57566 244 const TO = 57567 245 const IGNORE = 57568 246 const IF = 57569 247 const PRIMARY = 57570 248 const COLUMN = 57571 249 const CONSTRAINT = 57572 250 const SPATIAL = 57573 251 const FULLTEXT = 57574 252 const FOREIGN = 57575 253 const KEY_BLOCK_SIZE = 57576 254 const SHOW = 57577 255 const DESCRIBE = 57578 256 const EXPLAIN = 57579 257 const DATE = 57580 258 const ESCAPE = 57581 259 const REPAIR = 57582 260 const OPTIMIZE = 57583 261 const TRUNCATE = 57584 262 const MAXVALUE = 57585 263 const PARTITION = 57586 264 const REORGANIZE = 57587 265 const LESS = 57588 266 const THAN = 57589 267 const PROCEDURE = 57590 268 const TRIGGER = 57591 269 const STATUS = 57592 270 const VARIABLES = 57593 271 const ROLE = 57594 272 const PROXY = 57595 273 const AVG_ROW_LENGTH = 57596 274 const STORAGE = 57597 275 const DISK = 57598 276 const MEMORY = 57599 277 const CHECKSUM = 57600 278 const COMPRESSION = 57601 279 const DATA = 57602 280 const DIRECTORY = 57603 281 const DELAY_KEY_WRITE = 57604 282 const ENCRYPTION = 57605 283 const ENGINE = 57606 284 const MAX_ROWS = 57607 285 const MIN_ROWS = 57608 286 const PACK_KEYS = 57609 287 const ROW_FORMAT = 57610 288 const STATS_AUTO_RECALC = 57611 289 const STATS_PERSISTENT = 57612 290 const STATS_SAMPLE_PAGES = 57613 291 const DYNAMIC = 57614 292 const COMPRESSED = 57615 293 const REDUNDANT = 57616 294 const COMPACT = 57617 295 const FIXED = 57618 296 const COLUMN_FORMAT = 57619 297 const AUTO_RANDOM = 57620 298 const ENGINE_ATTRIBUTE = 57621 299 const SECONDARY_ENGINE_ATTRIBUTE = 57622 300 const INSERT_METHOD = 57623 301 const RESTRICT = 57624 302 const CASCADE = 57625 303 const ACTION = 57626 304 const PARTIAL = 57627 305 const SIMPLE = 57628 306 const CHECK = 57629 307 const ENFORCED = 57630 308 const RANGE = 57631 309 const LIST = 57632 310 const ALGORITHM = 57633 311 const LINEAR = 57634 312 const PARTITIONS = 57635 313 const SUBPARTITION = 57636 314 const SUBPARTITIONS = 57637 315 const CLUSTER = 57638 316 const TYPE = 57639 317 const ANY = 57640 318 const SOME = 57641 319 const EXTERNAL = 57642 320 const LOCALFILE = 57643 321 const URL = 57644 322 const PREPARE = 57645 323 const DEALLOCATE = 57646 324 const RESET = 57647 325 const EXTENSION = 57648 326 const INCREMENT = 57649 327 const CYCLE = 57650 328 const MINVALUE = 57651 329 const PUBLICATION = 57652 330 const SUBSCRIPTIONS = 57653 331 const PUBLICATIONS = 57654 332 const PROPERTIES = 57655 333 const PARSER = 57656 334 const VISIBLE = 57657 335 const INVISIBLE = 57658 336 const BTREE = 57659 337 const HASH = 57660 338 const RTREE = 57661 339 const BSI = 57662 340 const IVFFLAT = 57663 341 const MASTER = 57664 342 const ZONEMAP = 57665 343 const LEADING = 57666 344 const BOTH = 57667 345 const TRAILING = 57668 346 const UNKNOWN = 57669 347 const LISTS = 57670 348 const OP_TYPE = 57671 349 const REINDEX = 57672 350 const EXPIRE = 57673 351 const ACCOUNT = 57674 352 const ACCOUNTS = 57675 353 const UNLOCK = 57676 354 const DAY = 57677 355 const NEVER = 57678 356 const PUMP = 57679 357 const MYSQL_COMPATIBILITY_MODE = 57680 358 const MODIFY = 57681 359 const CHANGE = 57682 360 const SECOND = 57683 361 const ASCII = 57684 362 const COALESCE = 57685 363 const COLLATION = 57686 364 const HOUR = 57687 365 const MICROSECOND = 57688 366 const MINUTE = 57689 367 const MONTH = 57690 368 const QUARTER = 57691 369 const REPEAT = 57692 370 const REVERSE = 57693 371 const ROW_COUNT = 57694 372 const WEEK = 57695 373 const REVOKE = 57696 374 const FUNCTION = 57697 375 const PRIVILEGES = 57698 376 const TABLESPACE = 57699 377 const EXECUTE = 57700 378 const SUPER = 57701 379 const GRANT = 57702 380 const OPTION = 57703 381 const REFERENCES = 57704 382 const REPLICATION = 57705 383 const SLAVE = 57706 384 const CLIENT = 57707 385 const USAGE = 57708 386 const RELOAD = 57709 387 const FILE = 57710 388 const TEMPORARY = 57711 389 const ROUTINE = 57712 390 const EVENT = 57713 391 const SHUTDOWN = 57714 392 const NULLX = 57715 393 const AUTO_INCREMENT = 57716 394 const APPROXNUM = 57717 395 const SIGNED = 57718 396 const UNSIGNED = 57719 397 const ZEROFILL = 57720 398 const ENGINES = 57721 399 const LOW_CARDINALITY = 57722 400 const AUTOEXTEND_SIZE = 57723 401 const ADMIN_NAME = 57724 402 const RANDOM = 57725 403 const SUSPEND = 57726 404 const ATTRIBUTE = 57727 405 const HISTORY = 57728 406 const REUSE = 57729 407 const CURRENT = 57730 408 const OPTIONAL = 57731 409 const FAILED_LOGIN_ATTEMPTS = 57732 410 const PASSWORD_LOCK_TIME = 57733 411 const UNBOUNDED = 57734 412 const SECONDARY = 57735 413 const RESTRICTED = 57736 414 const USER = 57737 415 const IDENTIFIED = 57738 416 const CIPHER = 57739 417 const ISSUER = 57740 418 const X509 = 57741 419 const SUBJECT = 57742 420 const SAN = 57743 421 const REQUIRE = 57744 422 const SSL = 57745 423 const NONE = 57746 424 const PASSWORD = 57747 425 const SHARED = 57748 426 const EXCLUSIVE = 57749 427 const MAX_QUERIES_PER_HOUR = 57750 428 const MAX_UPDATES_PER_HOUR = 57751 429 const MAX_CONNECTIONS_PER_HOUR = 57752 430 const MAX_USER_CONNECTIONS = 57753 431 const FORMAT = 57754 432 const VERBOSE = 57755 433 const CONNECTION = 57756 434 const TRIGGERS = 57757 435 const PROFILES = 57758 436 const LOAD = 57759 437 const INLINE = 57760 438 const INFILE = 57761 439 const TERMINATED = 57762 440 const OPTIONALLY = 57763 441 const ENCLOSED = 57764 442 const ESCAPED = 57765 443 const STARTING = 57766 444 const LINES = 57767 445 const ROWS = 57768 446 const IMPORT = 57769 447 const DISCARD = 57770 448 const JSONTYPE = 57771 449 const MODUMP = 57772 450 const OVER = 57773 451 const PRECEDING = 57774 452 const FOLLOWING = 57775 453 const GROUPS = 57776 454 const DATABASES = 57777 455 const TABLES = 57778 456 const SEQUENCES = 57779 457 const EXTENDED = 57780 458 const FULL = 57781 459 const PROCESSLIST = 57782 460 const FIELDS = 57783 461 const COLUMNS = 57784 462 const OPEN = 57785 463 const ERRORS = 57786 464 const WARNINGS = 57787 465 const INDEXES = 57788 466 const SCHEMAS = 57789 467 const NODE = 57790 468 const LOCKS = 57791 469 const ROLES = 57792 470 const TABLE_NUMBER = 57793 471 const COLUMN_NUMBER = 57794 472 const TABLE_VALUES = 57795 473 const TABLE_SIZE = 57796 474 const NAMES = 57797 475 const GLOBAL = 57798 476 const PERSIST = 57799 477 const SESSION = 57800 478 const ISOLATION = 57801 479 const LEVEL = 57802 480 const READ = 57803 481 const WRITE = 57804 482 const ONLY = 57805 483 const REPEATABLE = 57806 484 const COMMITTED = 57807 485 const UNCOMMITTED = 57808 486 const SERIALIZABLE = 57809 487 const LOCAL = 57810 488 const EVENTS = 57811 489 const PLUGINS = 57812 490 const CURRENT_TIMESTAMP = 57813 491 const DATABASE = 57814 492 const CURRENT_TIME = 57815 493 const LOCALTIME = 57816 494 const LOCALTIMESTAMP = 57817 495 const UTC_DATE = 57818 496 const UTC_TIME = 57819 497 const UTC_TIMESTAMP = 57820 498 const REPLACE = 57821 499 const CONVERT = 57822 500 const SEPARATOR = 57823 501 const TIMESTAMPDIFF = 57824 502 const CURRENT_DATE = 57825 503 const CURRENT_USER = 57826 504 const CURRENT_ROLE = 57827 505 const SECOND_MICROSECOND = 57828 506 const MINUTE_MICROSECOND = 57829 507 const MINUTE_SECOND = 57830 508 const HOUR_MICROSECOND = 57831 509 const HOUR_SECOND = 57832 510 const HOUR_MINUTE = 57833 511 const DAY_MICROSECOND = 57834 512 const DAY_SECOND = 57835 513 const DAY_MINUTE = 57836 514 const DAY_HOUR = 57837 515 const YEAR_MONTH = 57838 516 const SQL_TSI_HOUR = 57839 517 const SQL_TSI_DAY = 57840 518 const SQL_TSI_WEEK = 57841 519 const SQL_TSI_MONTH = 57842 520 const SQL_TSI_QUARTER = 57843 521 const SQL_TSI_YEAR = 57844 522 const SQL_TSI_SECOND = 57845 523 const SQL_TSI_MINUTE = 57846 524 const RECURSIVE = 57847 525 const CONFIG = 57848 526 const DRAINER = 57849 527 const SOURCE = 57850 528 const STREAM = 57851 529 const HEADERS = 57852 530 const CONNECTOR = 57853 531 const CONNECTORS = 57854 532 const DAEMON = 57855 533 const PAUSE = 57856 534 const CANCEL = 57857 535 const TASK = 57858 536 const RESUME = 57859 537 const MATCH = 57860 538 const AGAINST = 57861 539 const BOOLEAN = 57862 540 const LANGUAGE = 57863 541 const WITH = 57864 542 const QUERY = 57865 543 const EXPANSION = 57866 544 const WITHOUT = 57867 545 const VALIDATION = 57868 546 const UPGRADE = 57869 547 const RETRY = 57870 548 const ADDDATE = 57871 549 const BIT_AND = 57872 550 const BIT_OR = 57873 551 const BIT_XOR = 57874 552 const CAST = 57875 553 const COUNT = 57876 554 const APPROX_COUNT = 57877 555 const APPROX_COUNT_DISTINCT = 57878 556 const SERIAL_EXTRACT = 57879 557 const APPROX_PERCENTILE = 57880 558 const CURDATE = 57881 559 const CURTIME = 57882 560 const DATE_ADD = 57883 561 const DATE_SUB = 57884 562 const EXTRACT = 57885 563 const GROUP_CONCAT = 57886 564 const MAX = 57887 565 const MID = 57888 566 const MIN = 57889 567 const NOW = 57890 568 const POSITION = 57891 569 const SESSION_USER = 57892 570 const STD = 57893 571 const STDDEV = 57894 572 const MEDIAN = 57895 573 const CLUSTER_CENTERS = 57896 574 const KMEANS = 57897 575 const STDDEV_POP = 57898 576 const STDDEV_SAMP = 57899 577 const SUBDATE = 57900 578 const SUBSTR = 57901 579 const SUBSTRING = 57902 580 const SUM = 57903 581 const SYSDATE = 57904 582 const SYSTEM_USER = 57905 583 const TRANSLATE = 57906 584 const TRIM = 57907 585 const VARIANCE = 57908 586 const VAR_POP = 57909 587 const VAR_SAMP = 57910 588 const AVG = 57911 589 const RANK = 57912 590 const ROW_NUMBER = 57913 591 const DENSE_RANK = 57914 592 const BIT_CAST = 57915 593 const BITMAP_BIT_POSITION = 57916 594 const BITMAP_BUCKET_NUMBER = 57917 595 const BITMAP_COUNT = 57918 596 const BITMAP_CONSTRUCT_AGG = 57919 597 const BITMAP_OR_AGG = 57920 598 const NEXTVAL = 57921 599 const SETVAL = 57922 600 const CURRVAL = 57923 601 const LASTVAL = 57924 602 const ARROW = 57925 603 const ROW = 57926 604 const OUTFILE = 57927 605 const HEADER = 57928 606 const MAX_FILE_SIZE = 57929 607 const FORCE_QUOTE = 57930 608 const PARALLEL = 57931 609 const STRICT = 57932 610 const UNUSED = 57933 611 const BINDINGS = 57934 612 const DO = 57935 613 const DECLARE = 57936 614 const LOOP = 57937 615 const WHILE = 57938 616 const LEAVE = 57939 617 const ITERATE = 57940 618 const UNTIL = 57941 619 const CALL = 57942 620 const PREV = 57943 621 const SLIDING = 57944 622 const FILL = 57945 623 const SPBEGIN = 57946 624 const BACKEND = 57947 625 const SERVERS = 57948 626 const HANDLER = 57949 627 const PERCENT = 57950 628 const SAMPLE = 57951 629 const MO_TS = 57952 630 const KILL = 57953 631 const BACKUP = 57954 632 const FILESYSTEM = 57955 633 const PARALLELISM = 57956 634 const RESTORE = 57957 635 const QUERY_RESULT = 57958 636 637 var yyToknames = [...]string{ 638 "$end", 639 "error", 640 "$unk", 641 "LEX_ERROR", 642 "EMPTY", 643 "UNION", 644 "EXCEPT", 645 "INTERSECT", 646 "MINUS", 647 "LOWER_THAN_ORDER", 648 "ORDER", 649 "LOWER_THAN_COMMA", 650 "SELECT", 651 "INSERT", 652 "UPDATE", 653 "DELETE", 654 "FROM", 655 "WHERE", 656 "GROUP", 657 "HAVING", 658 "BY", 659 "LIMIT", 660 "OFFSET", 661 "FOR", 662 "CONNECT", 663 "MANAGE", 664 "GRANTS", 665 "OWNERSHIP", 666 "REFERENCE", 667 "LOWER_THAN_SET", 668 "SET", 669 "ALL", 670 "DISTINCT", 671 "DISTINCTROW", 672 "AS", 673 "EXISTS", 674 "ASC", 675 "DESC", 676 "INTO", 677 "DUPLICATE", 678 "DEFAULT", 679 "LOCK", 680 "KEYS", 681 "NULLS", 682 "FIRST", 683 "LAST", 684 "AFTER", 685 "INSTANT", 686 "INPLACE", 687 "COPY", 688 "DISABLE", 689 "ENABLE", 690 "UNDEFINED", 691 "MERGE", 692 "TEMPTABLE", 693 "DEFINER", 694 "INVOKER", 695 "SQL", 696 "SECURITY", 697 "CASCADED", 698 "VALUES", 699 "NEXT", 700 "VALUE", 701 "SHARE", 702 "MODE", 703 "SQL_NO_CACHE", 704 "SQL_CACHE", 705 "JOIN", 706 "STRAIGHT_JOIN", 707 "LEFT", 708 "RIGHT", 709 "INNER", 710 "OUTER", 711 "CROSS", 712 "NATURAL", 713 "USE", 714 "FORCE", 715 "LOWER_THAN_ON", 716 "ON", 717 "USING", 718 "SUBQUERY_AS_EXPR", 719 "'('", 720 "')'", 721 "LOWER_THAN_STRING", 722 "ID", 723 "AT_ID", 724 "AT_AT_ID", 725 "STRING", 726 "VALUE_ARG", 727 "LIST_ARG", 728 "COMMENT", 729 "COMMENT_KEYWORD", 730 "QUOTE_ID", 731 "STAGE", 732 "CREDENTIALS", 733 "STAGES", 734 "SNAPSHOTS", 735 "INTEGRAL", 736 "HEX", 737 "FLOAT", 738 "HEXNUM", 739 "BIT_LITERAL", 740 "NULL", 741 "TRUE", 742 "FALSE", 743 "LOWER_THAN_CHARSET", 744 "CHARSET", 745 "UNIQUE", 746 "KEY", 747 "OR", 748 "PIPE_CONCAT", 749 "XOR", 750 "AND", 751 "NOT", 752 "'!'", 753 "BETWEEN", 754 "CASE", 755 "WHEN", 756 "THEN", 757 "ELSE", 758 "END", 759 "ELSEIF", 760 "LOWER_THAN_EQ", 761 "'='", 762 "'<'", 763 "'>'", 764 "LE", 765 "GE", 766 "NE", 767 "NULL_SAFE_EQUAL", 768 "IS", 769 "LIKE", 770 "REGEXP", 771 "IN", 772 "ASSIGNMENT", 773 "ILIKE", 774 "'|'", 775 "'&'", 776 "SHIFT_LEFT", 777 "SHIFT_RIGHT", 778 "'+'", 779 "'-'", 780 "'*'", 781 "'/'", 782 "DIV", 783 "'%'", 784 "MOD", 785 "'^'", 786 "'~'", 787 "UNARY", 788 "COLLATE", 789 "BINARY", 790 "UNDERSCORE_BINARY", 791 "INTERVAL", 792 "'.'", 793 "','", 794 "OUT", 795 "INOUT", 796 "BEGIN", 797 "START", 798 "TRANSACTION", 799 "COMMIT", 800 "ROLLBACK", 801 "WORK", 802 "CONSISTENT", 803 "SNAPSHOT", 804 "CHAIN", 805 "NO", 806 "RELEASE", 807 "PRIORITY", 808 "QUICK", 809 "BIT", 810 "TINYINT", 811 "SMALLINT", 812 "MEDIUMINT", 813 "INT", 814 "INTEGER", 815 "BIGINT", 816 "INTNUM", 817 "REAL", 818 "DOUBLE", 819 "FLOAT_TYPE", 820 "DECIMAL", 821 "NUMERIC", 822 "DECIMAL_VALUE", 823 "TIME", 824 "TIMESTAMP", 825 "DATETIME", 826 "YEAR", 827 "CHAR", 828 "VARCHAR", 829 "BOOL", 830 "CHARACTER", 831 "VARBINARY", 832 "NCHAR", 833 "TEXT", 834 "TINYTEXT", 835 "MEDIUMTEXT", 836 "LONGTEXT", 837 "BLOB", 838 "TINYBLOB", 839 "MEDIUMBLOB", 840 "LONGBLOB", 841 "JSON", 842 "ENUM", 843 "UUID", 844 "VECF32", 845 "VECF64", 846 "GEOMETRY", 847 "POINT", 848 "LINESTRING", 849 "POLYGON", 850 "GEOMETRYCOLLECTION", 851 "MULTIPOINT", 852 "MULTILINESTRING", 853 "MULTIPOLYGON", 854 "INT1", 855 "INT2", 856 "INT3", 857 "INT4", 858 "INT8", 859 "S3OPTION", 860 "STAGEOPTION", 861 "SQL_SMALL_RESULT", 862 "SQL_BIG_RESULT", 863 "SQL_BUFFER_RESULT", 864 "LOW_PRIORITY", 865 "HIGH_PRIORITY", 866 "DELAYED", 867 "CREATE", 868 "ALTER", 869 "DROP", 870 "RENAME", 871 "ANALYZE", 872 "ADD", 873 "RETURNS", 874 "SCHEMA", 875 "TABLE", 876 "SEQUENCE", 877 "INDEX", 878 "VIEW", 879 "TO", 880 "IGNORE", 881 "IF", 882 "PRIMARY", 883 "COLUMN", 884 "CONSTRAINT", 885 "SPATIAL", 886 "FULLTEXT", 887 "FOREIGN", 888 "KEY_BLOCK_SIZE", 889 "SHOW", 890 "DESCRIBE", 891 "EXPLAIN", 892 "DATE", 893 "ESCAPE", 894 "REPAIR", 895 "OPTIMIZE", 896 "TRUNCATE", 897 "MAXVALUE", 898 "PARTITION", 899 "REORGANIZE", 900 "LESS", 901 "THAN", 902 "PROCEDURE", 903 "TRIGGER", 904 "STATUS", 905 "VARIABLES", 906 "ROLE", 907 "PROXY", 908 "AVG_ROW_LENGTH", 909 "STORAGE", 910 "DISK", 911 "MEMORY", 912 "CHECKSUM", 913 "COMPRESSION", 914 "DATA", 915 "DIRECTORY", 916 "DELAY_KEY_WRITE", 917 "ENCRYPTION", 918 "ENGINE", 919 "MAX_ROWS", 920 "MIN_ROWS", 921 "PACK_KEYS", 922 "ROW_FORMAT", 923 "STATS_AUTO_RECALC", 924 "STATS_PERSISTENT", 925 "STATS_SAMPLE_PAGES", 926 "DYNAMIC", 927 "COMPRESSED", 928 "REDUNDANT", 929 "COMPACT", 930 "FIXED", 931 "COLUMN_FORMAT", 932 "AUTO_RANDOM", 933 "ENGINE_ATTRIBUTE", 934 "SECONDARY_ENGINE_ATTRIBUTE", 935 "INSERT_METHOD", 936 "RESTRICT", 937 "CASCADE", 938 "ACTION", 939 "PARTIAL", 940 "SIMPLE", 941 "CHECK", 942 "ENFORCED", 943 "RANGE", 944 "LIST", 945 "ALGORITHM", 946 "LINEAR", 947 "PARTITIONS", 948 "SUBPARTITION", 949 "SUBPARTITIONS", 950 "CLUSTER", 951 "TYPE", 952 "ANY", 953 "SOME", 954 "EXTERNAL", 955 "LOCALFILE", 956 "URL", 957 "PREPARE", 958 "DEALLOCATE", 959 "RESET", 960 "EXTENSION", 961 "INCREMENT", 962 "CYCLE", 963 "MINVALUE", 964 "PUBLICATION", 965 "SUBSCRIPTIONS", 966 "PUBLICATIONS", 967 "PROPERTIES", 968 "PARSER", 969 "VISIBLE", 970 "INVISIBLE", 971 "BTREE", 972 "HASH", 973 "RTREE", 974 "BSI", 975 "IVFFLAT", 976 "MASTER", 977 "ZONEMAP", 978 "LEADING", 979 "BOTH", 980 "TRAILING", 981 "UNKNOWN", 982 "LISTS", 983 "OP_TYPE", 984 "REINDEX", 985 "EXPIRE", 986 "ACCOUNT", 987 "ACCOUNTS", 988 "UNLOCK", 989 "DAY", 990 "NEVER", 991 "PUMP", 992 "MYSQL_COMPATIBILITY_MODE", 993 "MODIFY", 994 "CHANGE", 995 "SECOND", 996 "ASCII", 997 "COALESCE", 998 "COLLATION", 999 "HOUR", 1000 "MICROSECOND", 1001 "MINUTE", 1002 "MONTH", 1003 "QUARTER", 1004 "REPEAT", 1005 "REVERSE", 1006 "ROW_COUNT", 1007 "WEEK", 1008 "REVOKE", 1009 "FUNCTION", 1010 "PRIVILEGES", 1011 "TABLESPACE", 1012 "EXECUTE", 1013 "SUPER", 1014 "GRANT", 1015 "OPTION", 1016 "REFERENCES", 1017 "REPLICATION", 1018 "SLAVE", 1019 "CLIENT", 1020 "USAGE", 1021 "RELOAD", 1022 "FILE", 1023 "TEMPORARY", 1024 "ROUTINE", 1025 "EVENT", 1026 "SHUTDOWN", 1027 "NULLX", 1028 "AUTO_INCREMENT", 1029 "APPROXNUM", 1030 "SIGNED", 1031 "UNSIGNED", 1032 "ZEROFILL", 1033 "ENGINES", 1034 "LOW_CARDINALITY", 1035 "AUTOEXTEND_SIZE", 1036 "ADMIN_NAME", 1037 "RANDOM", 1038 "SUSPEND", 1039 "ATTRIBUTE", 1040 "HISTORY", 1041 "REUSE", 1042 "CURRENT", 1043 "OPTIONAL", 1044 "FAILED_LOGIN_ATTEMPTS", 1045 "PASSWORD_LOCK_TIME", 1046 "UNBOUNDED", 1047 "SECONDARY", 1048 "RESTRICTED", 1049 "USER", 1050 "IDENTIFIED", 1051 "CIPHER", 1052 "ISSUER", 1053 "X509", 1054 "SUBJECT", 1055 "SAN", 1056 "REQUIRE", 1057 "SSL", 1058 "NONE", 1059 "PASSWORD", 1060 "SHARED", 1061 "EXCLUSIVE", 1062 "MAX_QUERIES_PER_HOUR", 1063 "MAX_UPDATES_PER_HOUR", 1064 "MAX_CONNECTIONS_PER_HOUR", 1065 "MAX_USER_CONNECTIONS", 1066 "FORMAT", 1067 "VERBOSE", 1068 "CONNECTION", 1069 "TRIGGERS", 1070 "PROFILES", 1071 "LOAD", 1072 "INLINE", 1073 "INFILE", 1074 "TERMINATED", 1075 "OPTIONALLY", 1076 "ENCLOSED", 1077 "ESCAPED", 1078 "STARTING", 1079 "LINES", 1080 "ROWS", 1081 "IMPORT", 1082 "DISCARD", 1083 "JSONTYPE", 1084 "MODUMP", 1085 "OVER", 1086 "PRECEDING", 1087 "FOLLOWING", 1088 "GROUPS", 1089 "DATABASES", 1090 "TABLES", 1091 "SEQUENCES", 1092 "EXTENDED", 1093 "FULL", 1094 "PROCESSLIST", 1095 "FIELDS", 1096 "COLUMNS", 1097 "OPEN", 1098 "ERRORS", 1099 "WARNINGS", 1100 "INDEXES", 1101 "SCHEMAS", 1102 "NODE", 1103 "LOCKS", 1104 "ROLES", 1105 "TABLE_NUMBER", 1106 "COLUMN_NUMBER", 1107 "TABLE_VALUES", 1108 "TABLE_SIZE", 1109 "NAMES", 1110 "GLOBAL", 1111 "PERSIST", 1112 "SESSION", 1113 "ISOLATION", 1114 "LEVEL", 1115 "READ", 1116 "WRITE", 1117 "ONLY", 1118 "REPEATABLE", 1119 "COMMITTED", 1120 "UNCOMMITTED", 1121 "SERIALIZABLE", 1122 "LOCAL", 1123 "EVENTS", 1124 "PLUGINS", 1125 "CURRENT_TIMESTAMP", 1126 "DATABASE", 1127 "CURRENT_TIME", 1128 "LOCALTIME", 1129 "LOCALTIMESTAMP", 1130 "UTC_DATE", 1131 "UTC_TIME", 1132 "UTC_TIMESTAMP", 1133 "REPLACE", 1134 "CONVERT", 1135 "SEPARATOR", 1136 "TIMESTAMPDIFF", 1137 "CURRENT_DATE", 1138 "CURRENT_USER", 1139 "CURRENT_ROLE", 1140 "SECOND_MICROSECOND", 1141 "MINUTE_MICROSECOND", 1142 "MINUTE_SECOND", 1143 "HOUR_MICROSECOND", 1144 "HOUR_SECOND", 1145 "HOUR_MINUTE", 1146 "DAY_MICROSECOND", 1147 "DAY_SECOND", 1148 "DAY_MINUTE", 1149 "DAY_HOUR", 1150 "YEAR_MONTH", 1151 "SQL_TSI_HOUR", 1152 "SQL_TSI_DAY", 1153 "SQL_TSI_WEEK", 1154 "SQL_TSI_MONTH", 1155 "SQL_TSI_QUARTER", 1156 "SQL_TSI_YEAR", 1157 "SQL_TSI_SECOND", 1158 "SQL_TSI_MINUTE", 1159 "RECURSIVE", 1160 "CONFIG", 1161 "DRAINER", 1162 "SOURCE", 1163 "STREAM", 1164 "HEADERS", 1165 "CONNECTOR", 1166 "CONNECTORS", 1167 "DAEMON", 1168 "PAUSE", 1169 "CANCEL", 1170 "TASK", 1171 "RESUME", 1172 "MATCH", 1173 "AGAINST", 1174 "BOOLEAN", 1175 "LANGUAGE", 1176 "WITH", 1177 "QUERY", 1178 "EXPANSION", 1179 "WITHOUT", 1180 "VALIDATION", 1181 "UPGRADE", 1182 "RETRY", 1183 "ADDDATE", 1184 "BIT_AND", 1185 "BIT_OR", 1186 "BIT_XOR", 1187 "CAST", 1188 "COUNT", 1189 "APPROX_COUNT", 1190 "APPROX_COUNT_DISTINCT", 1191 "SERIAL_EXTRACT", 1192 "APPROX_PERCENTILE", 1193 "CURDATE", 1194 "CURTIME", 1195 "DATE_ADD", 1196 "DATE_SUB", 1197 "EXTRACT", 1198 "GROUP_CONCAT", 1199 "MAX", 1200 "MID", 1201 "MIN", 1202 "NOW", 1203 "POSITION", 1204 "SESSION_USER", 1205 "STD", 1206 "STDDEV", 1207 "MEDIAN", 1208 "CLUSTER_CENTERS", 1209 "KMEANS", 1210 "STDDEV_POP", 1211 "STDDEV_SAMP", 1212 "SUBDATE", 1213 "SUBSTR", 1214 "SUBSTRING", 1215 "SUM", 1216 "SYSDATE", 1217 "SYSTEM_USER", 1218 "TRANSLATE", 1219 "TRIM", 1220 "VARIANCE", 1221 "VAR_POP", 1222 "VAR_SAMP", 1223 "AVG", 1224 "RANK", 1225 "ROW_NUMBER", 1226 "DENSE_RANK", 1227 "BIT_CAST", 1228 "BITMAP_BIT_POSITION", 1229 "BITMAP_BUCKET_NUMBER", 1230 "BITMAP_COUNT", 1231 "BITMAP_CONSTRUCT_AGG", 1232 "BITMAP_OR_AGG", 1233 "NEXTVAL", 1234 "SETVAL", 1235 "CURRVAL", 1236 "LASTVAL", 1237 "ARROW", 1238 "ROW", 1239 "OUTFILE", 1240 "HEADER", 1241 "MAX_FILE_SIZE", 1242 "FORCE_QUOTE", 1243 "PARALLEL", 1244 "STRICT", 1245 "UNUSED", 1246 "BINDINGS", 1247 "DO", 1248 "DECLARE", 1249 "LOOP", 1250 "WHILE", 1251 "LEAVE", 1252 "ITERATE", 1253 "UNTIL", 1254 "CALL", 1255 "PREV", 1256 "SLIDING", 1257 "FILL", 1258 "SPBEGIN", 1259 "BACKEND", 1260 "SERVERS", 1261 "HANDLER", 1262 "PERCENT", 1263 "SAMPLE", 1264 "MO_TS", 1265 "KILL", 1266 "BACKUP", 1267 "FILESYSTEM", 1268 "PARALLELISM", 1269 "RESTORE", 1270 "QUERY_RESULT", 1271 "';'", 1272 "'{'", 1273 "'}'", 1274 "':'", 1275 "'@'", 1276 } 1277 1278 var yyStatenames = [...]string{} 1279 1280 const yyEofCode = 1 1281 const yyErrCode = 2 1282 const yyInitialStackSize = 16 1283 1284 //line mysql_sql.y:12099 1285 1286 //line yacctab:1 1287 var yyExca = [...]int{ 1288 -1, 1, 1289 1, -1, 1290 -2, 0, 1291 -1, 123, 1292 11, 740, 1293 22, 740, 1294 -2, 733, 1295 -1, 144, 1296 238, 1141, 1297 240, 1040, 1298 -2, 1087, 1299 -1, 169, 1300 43, 563, 1301 240, 563, 1302 267, 570, 1303 268, 570, 1304 463, 563, 1305 -2, 600, 1306 -1, 210, 1307 637, 1897, 1308 -2, 476, 1309 -1, 511, 1310 637, 2016, 1311 -2, 365, 1312 -1, 569, 1313 637, 2075, 1314 -2, 363, 1315 -1, 570, 1316 637, 2076, 1317 -2, 364, 1318 -1, 571, 1319 637, 2077, 1320 -2, 366, 1321 -1, 702, 1322 319, 151, 1323 435, 151, 1324 436, 151, 1325 -2, 1802, 1326 -1, 768, 1327 82, 1589, 1328 -2, 1952, 1329 -1, 769, 1330 82, 1607, 1331 -2, 1923, 1332 -1, 773, 1333 82, 1608, 1334 -2, 1951, 1335 -1, 806, 1336 82, 1516, 1337 -2, 2148, 1338 -1, 807, 1339 82, 1517, 1340 -2, 2147, 1341 -1, 808, 1342 82, 1518, 1343 -2, 2137, 1344 -1, 809, 1345 82, 2109, 1346 -2, 2130, 1347 -1, 810, 1348 82, 2110, 1349 -2, 2131, 1350 -1, 811, 1351 82, 2111, 1352 -2, 2139, 1353 -1, 812, 1354 82, 2112, 1355 -2, 2119, 1356 -1, 813, 1357 82, 2113, 1358 -2, 2128, 1359 -1, 814, 1360 82, 2114, 1361 -2, 2140, 1362 -1, 815, 1363 82, 2115, 1364 -2, 2141, 1365 -1, 816, 1366 82, 2116, 1367 -2, 2146, 1368 -1, 817, 1369 82, 2117, 1370 -2, 2151, 1371 -1, 818, 1372 82, 2118, 1373 -2, 2152, 1374 -1, 819, 1375 82, 1585, 1376 -2, 1990, 1377 -1, 820, 1378 82, 1586, 1379 -2, 1786, 1380 -1, 821, 1381 82, 1587, 1382 -2, 1999, 1383 -1, 822, 1384 82, 1588, 1385 -2, 1795, 1386 -1, 824, 1387 82, 1591, 1388 -2, 1803, 1389 -1, 825, 1390 82, 1592, 1391 -2, 2023, 1392 -1, 827, 1393 82, 1595, 1394 -2, 1822, 1395 -1, 829, 1396 82, 1597, 1397 -2, 2035, 1398 -1, 830, 1399 82, 1598, 1400 -2, 2034, 1401 -1, 831, 1402 82, 1599, 1403 -2, 1866, 1404 -1, 832, 1405 82, 1600, 1406 -2, 1947, 1407 -1, 835, 1408 82, 1603, 1409 -2, 2046, 1410 -1, 837, 1411 82, 1605, 1412 -2, 2049, 1413 -1, 838, 1414 82, 1606, 1415 -2, 2051, 1416 -1, 839, 1417 82, 1609, 1418 -2, 2059, 1419 -1, 840, 1420 82, 1610, 1421 -2, 1932, 1422 -1, 841, 1423 82, 1611, 1424 -2, 1977, 1425 -1, 842, 1426 82, 1612, 1427 -2, 1942, 1428 -1, 843, 1429 82, 1613, 1430 -2, 1967, 1431 -1, 854, 1432 82, 1494, 1433 -2, 2142, 1434 -1, 855, 1435 82, 1495, 1436 -2, 2143, 1437 -1, 856, 1438 82, 1496, 1439 -2, 2144, 1440 -1, 945, 1441 458, 600, 1442 459, 600, 1443 -2, 564, 1444 -1, 992, 1445 124, 1786, 1446 135, 1786, 1447 155, 1786, 1448 -2, 1760, 1449 -1, 1108, 1450 22, 767, 1451 -2, 716, 1452 -1, 1214, 1453 11, 740, 1454 22, 740, 1455 -2, 1374, 1456 -1, 1296, 1457 22, 767, 1458 -2, 716, 1459 -1, 1626, 1460 82, 1660, 1461 -2, 1949, 1462 -1, 1627, 1463 82, 1661, 1464 -2, 1950, 1465 -1, 1784, 1466 83, 917, 1467 -2, 923, 1468 -1, 2217, 1469 107, 1079, 1470 151, 1079, 1471 190, 1079, 1472 193, 1079, 1473 280, 1079, 1474 -2, 1072, 1475 -1, 2367, 1476 11, 740, 1477 22, 740, 1478 -2, 860, 1479 -1, 2399, 1480 83, 1746, 1481 156, 1746, 1482 -2, 1934, 1483 -1, 2400, 1484 83, 1746, 1485 156, 1746, 1486 -2, 1933, 1487 -1, 2401, 1488 83, 1722, 1489 156, 1722, 1490 -2, 1920, 1491 -1, 2402, 1492 83, 1723, 1493 156, 1723, 1494 -2, 1925, 1495 -1, 2403, 1496 83, 1724, 1497 156, 1724, 1498 -2, 1854, 1499 -1, 2404, 1500 83, 1725, 1501 156, 1725, 1502 -2, 1848, 1503 -1, 2405, 1504 83, 1726, 1505 156, 1726, 1506 -2, 1776, 1507 -1, 2406, 1508 83, 1727, 1509 156, 1727, 1510 -2, 1922, 1511 -1, 2407, 1512 83, 1728, 1513 156, 1728, 1514 -2, 1852, 1515 -1, 2408, 1516 83, 1729, 1517 156, 1729, 1518 -2, 1847, 1519 -1, 2409, 1520 83, 1730, 1521 156, 1730, 1522 -2, 1836, 1523 -1, 2410, 1524 83, 1746, 1525 156, 1746, 1526 -2, 1837, 1527 -1, 2411, 1528 83, 1746, 1529 156, 1746, 1530 -2, 1838, 1531 -1, 2413, 1532 83, 1735, 1533 156, 1735, 1534 -2, 1967, 1535 -1, 2414, 1536 83, 1713, 1537 156, 1713, 1538 -2, 1952, 1539 -1, 2415, 1540 83, 1744, 1541 156, 1744, 1542 -2, 1923, 1543 -1, 2416, 1544 83, 1744, 1545 156, 1744, 1546 -2, 1951, 1547 -1, 2417, 1548 83, 1744, 1549 156, 1744, 1550 -2, 1804, 1551 -1, 2418, 1552 83, 1742, 1553 156, 1742, 1554 -2, 1942, 1555 -1, 2419, 1556 83, 1739, 1557 156, 1739, 1558 -2, 1827, 1559 -1, 2420, 1560 82, 1694, 1561 83, 1694, 1562 156, 1694, 1563 393, 1694, 1564 394, 1694, 1565 395, 1694, 1566 -2, 1775, 1567 -1, 2421, 1568 82, 1695, 1569 83, 1695, 1570 156, 1695, 1571 393, 1695, 1572 394, 1695, 1573 395, 1695, 1574 -2, 1777, 1575 -1, 2422, 1576 82, 1696, 1577 83, 1696, 1578 156, 1696, 1579 393, 1696, 1580 394, 1696, 1581 395, 1696, 1582 -2, 1995, 1583 -1, 2423, 1584 82, 1698, 1585 83, 1698, 1586 156, 1698, 1587 393, 1698, 1588 394, 1698, 1589 395, 1698, 1590 -2, 1924, 1591 -1, 2424, 1592 82, 1700, 1593 83, 1700, 1594 156, 1700, 1595 393, 1700, 1596 394, 1700, 1597 395, 1700, 1598 -2, 1906, 1599 -1, 2425, 1600 82, 1702, 1601 83, 1702, 1602 156, 1702, 1603 393, 1702, 1604 394, 1702, 1605 395, 1702, 1606 -2, 1853, 1607 -1, 2426, 1608 82, 1704, 1609 83, 1704, 1610 156, 1704, 1611 393, 1704, 1612 394, 1704, 1613 395, 1704, 1614 -2, 1832, 1615 -1, 2427, 1616 82, 1705, 1617 83, 1705, 1618 156, 1705, 1619 393, 1705, 1620 394, 1705, 1621 395, 1705, 1622 -2, 1833, 1623 -1, 2428, 1624 82, 1707, 1625 83, 1707, 1626 156, 1707, 1627 393, 1707, 1628 394, 1707, 1629 395, 1707, 1630 -2, 1774, 1631 -1, 2429, 1632 83, 1749, 1633 156, 1749, 1634 393, 1749, 1635 394, 1749, 1636 395, 1749, 1637 -2, 1809, 1638 -1, 2430, 1639 83, 1749, 1640 156, 1749, 1641 393, 1749, 1642 394, 1749, 1643 395, 1749, 1644 -2, 1823, 1645 -1, 2431, 1646 83, 1752, 1647 156, 1752, 1648 393, 1752, 1649 394, 1752, 1650 395, 1752, 1651 -2, 1805, 1652 -1, 2432, 1653 83, 1752, 1654 156, 1752, 1655 393, 1752, 1656 394, 1752, 1657 395, 1752, 1658 -2, 1869, 1659 -1, 2433, 1660 83, 1749, 1661 156, 1749, 1662 393, 1749, 1663 394, 1749, 1664 395, 1749, 1665 -2, 1890, 1666 -1, 2635, 1667 107, 1079, 1668 151, 1079, 1669 190, 1079, 1670 193, 1079, 1671 280, 1079, 1672 -2, 1073, 1673 -1, 2653, 1674 80, 660, 1675 156, 660, 1676 -2, 1256, 1677 -1, 3055, 1678 193, 1079, 1679 304, 1342, 1680 -2, 1314, 1681 -1, 3221, 1682 107, 1079, 1683 151, 1079, 1684 190, 1079, 1685 193, 1079, 1686 -2, 1197, 1687 -1, 3223, 1688 107, 1079, 1689 151, 1079, 1690 190, 1079, 1691 193, 1079, 1692 -2, 1197, 1693 -1, 3235, 1694 80, 660, 1695 156, 660, 1696 -2, 1256, 1697 -1, 3257, 1698 193, 1079, 1699 304, 1342, 1700 -2, 1315, 1701 -1, 3397, 1702 107, 1079, 1703 151, 1079, 1704 190, 1079, 1705 193, 1079, 1706 -2, 1198, 1707 -1, 3424, 1708 83, 1159, 1709 156, 1159, 1710 -2, 1079, 1711 -1, 3556, 1712 83, 1159, 1713 156, 1159, 1714 -2, 1079, 1715 -1, 3708, 1716 83, 1163, 1717 156, 1163, 1718 -2, 1079, 1719 -1, 3756, 1720 83, 1164, 1721 156, 1164, 1722 -2, 1079, 1723 } 1724 1725 const yyPrivate = 57344 1726 1727 const yyLast = 48457 1728 1729 var yyAct = [...]int{ 1730 735, 712, 3802, 737, 3776, 2683, 199, 3795, 3712, 1869, 1731 1606, 3718, 3242, 3613, 3336, 3711, 3719, 3074, 3556, 3041, 1732 3639, 721, 3596, 3670, 3452, 3143, 3271, 1443, 3534, 2487, 1733 2677, 3590, 1249, 3555, 3144, 1381, 3384, 3385, 1602, 3382, 1734 3617, 3480, 604, 714, 765, 2680, 3525, 1109, 991, 2686, 1735 3340, 1520, 1387, 3597, 622, 3331, 628, 628, 3599, 1653, 1736 1817, 3208, 628, 645, 654, 3404, 3399, 654, 3394, 2656, 1737 2265, 3258, 1103, 3366, 1609, 3011, 2972, 2790, 3050, 3224, 1738 3141, 2789, 1960, 3000, 184, 2791, 3196, 2773, 2707, 3226, 1739 3052, 3070, 3099, 37, 1667, 3183, 710, 3059, 2072, 2522, 1740 2852, 2395, 665, 3129, 2268, 2812, 1957, 2030, 3109, 2786, 1741 659, 2361, 2624, 2979, 1436, 2983, 1925, 1829, 3058, 2973, 1742 704, 2975, 2974, 1532, 2247, 2977, 2228, 2397, 3020, 2970, 1743 2636, 1099, 2345, 122, 1358, 2195, 2181, 2298, 36, 1975, 1744 2068, 2180, 2898, 2955, 2055, 2825, 2467, 920, 709, 2039, 1745 2038, 1524, 1516, 1759, 2449, 2362, 651, 2003, 2031, 1521, 1746 2835, 1953, 1928, 2350, 1926, 2612, 2067, 2607, 1352, 1848, 1747 2709, 2688, 1321, 604, 2266, 1859, 2648, 6, 59, 195, 1748 8, 194, 7, 2217, 2227, 1793, 2393, 985, 1048, 1600, 1749 2069, 1531, 1483, 1452, 713, 2261, 2079, 1509, 621, 199, 1750 2207, 199, 2102, 1039, 1040, 1422, 1640, 1660, 703, 1553, 1751 628, 1390, 1122, 722, 2037, 1535, 1591, 2034, 954, 1490, 1752 1828, 27, 23, 2555, 1993, 1370, 16, 1789, 15, 603, 1753 14, 984, 1599, 1421, 2019, 33, 1475, 1792, 858, 919, 1754 637, 668, 1668, 2369, 705, 1419, 640, 1382, 667, 100, 1755 24, 17, 10, 1482, 185, 896, 1605, 653, 175, 181, 1756 917, 1354, 902, 1294, 940, 711, 1250, 664, 3519, 1391, 1757 1182, 1183, 1184, 1181, 2076, 2590, 2590, 1366, 1182, 1183, 1758 1184, 1181, 1545, 1035, 650, 1037, 2590, 2371, 1036, 646, 1759 3412, 649, 3238, 648, 1182, 1183, 1184, 1181, 647, 1182, 1760 1183, 1184, 1181, 1544, 3027, 2086, 1104, 3211, 3136, 2248, 1761 997, 2510, 2452, 1105, 2455, 999, 2453, 1772, 633, 2450, 1762 1497, 1493, 1031, 860, 657, 861, 1032, 183, 623, 2179, 1763 1032, 1313, 624, 2948, 2945, 2950, 705, 2947, 1032, 3787, 1764 2582, 2580, 3261, 1404, 1766, 1309, 1495, 1182, 1183, 1184, 1765 1181, 1182, 1183, 1184, 1181, 1000, 3329, 2848, 2846, 2008, 1766 1104, 1030, 3585, 8, 3487, 7, 3481, 3332, 3142, 2052, 1767 3601, 1244, 2033, 859, 2925, 2025, 2306, 3693, 3541, 3371, 1768 3273, 2584, 870, 2504, 1316, 1144, 2496, 1688, 2073, 629, 1769 3367, 3225, 2219, 3264, 182, 1530, 182, 182, 55, 171, 1770 145, 182, 3507, 3650, 3259, 1462, 182, 182, 1461, 3281, 1771 3282, 2218, 1539, 182, 1460, 3260, 182, 55, 171, 145, 1772 182, 663, 3542, 706, 182, 55, 171, 145, 1003, 2642, 1773 1001, 681, 680, 687, 677, 182, 2923, 1002, 182, 55, 1774 171, 145, 1536, 684, 685, 1317, 686, 690, 1327, 121, 1775 671, 1344, 3265, 1551, 2870, 182, 55, 171, 145, 2784, 1776 695, 2860, 1774, 1538, 2388, 176, 176, 2084, 121, 2387, 1777 176, 1592, 1574, 2212, 1596, 176, 2640, 1179, 1159, 2818, 1778 1120, 1160, 176, 1548, 3509, 176, 1937, 1400, 1562, 176, 1779 1401, 871, 1378, 176, 2375, 2819, 2820, 2374, 1595, 995, 1780 2376, 996, 1117, 699, 1550, 3045, 701, 176, 1970, 1162, 1781 2468, 700, 1938, 1939, 963, 2949, 2946, 1776, 1777, 1423, 1782 1843, 1425, 1388, 1389, 176, 849, 2643, 848, 850, 851, 1783 1608, 852, 853, 1386, 2609, 1172, 3690, 1385, 1388, 1389, 1784 3722, 3723, 1177, 994, 2610, 3353, 3280, 993, 2269, 3043, 1785 1684, 3604, 3683, 3603, 3682, 3604, 1681, 3602, 3681, 3603, 1786 1683, 1680, 1682, 1686, 1687, 3686, 3602, 3588, 1685, 2168, 1787 3743, 3780, 3781, 3269, 2853, 3672, 1403, 3145, 2854, 1326, 1788 2855, 3672, 1597, 3591, 3592, 3593, 3594, 2585, 2491, 1157, 1789 3145, 1496, 1494, 2608, 3675, 3266, 3270, 3268, 3267, 2088, 1790 3484, 1702, 1114, 3610, 1125, 1594, 1954, 3158, 3376, 1612, 1791 2992, 1948, 1944, 2728, 144, 1583, 180, 3695, 3696, 1587, 1792 1033, 1034, 1125, 3197, 2080, 1038, 628, 628, 3204, 2016, 1793 3691, 3692, 2615, 3275, 3276, 2339, 169, 628, 1113, 2984, 1794 1152, 2994, 2888, 1154, 3511, 3512, 2206, 908, 672, 674, 1795 673, 2599, 1158, 1503, 1502, 3283, 654, 654, 679, 628, 1796 1175, 1176, 3688, 2501, 699, 2989, 2990, 701, 168, 2886, 1797 683, 1155, 700, 1174, 2304, 1147, 3330, 698, 2847, 2777, 1798 3283, 2991, 3352, 2342, 676, 2341, 3516, 1112, 666, 1376, 1799 3354, 3373, 3262, 3684, 3721, 2597, 3505, 3187, 3274, 2583, 1800 1413, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1801 1678, 1679, 1691, 1692, 1693, 1694, 1695, 1696, 1689, 1690, 1802 2085, 1222, 1593, 2988, 2211, 1611, 1610, 873, 662, 1161, 1803 1042, 2598, 1328, 3295, 2346, 651, 651, 3073, 1402, 1312, 1804 2063, 1169, 3298, 1546, 620, 3047, 1170, 1171, 3518, 3071, 1805 3072, 1148, 1543, 3009, 1164, 3161, 2892, 1165, 3751, 1968, 1806 1969, 1106, 3021, 874, 3632, 1139, 2589, 1113, 2074, 2074, 1807 2649, 2074, 1105, 2091, 2093, 2094, 1150, 997, 3546, 1618, 1808 1621, 1622, 999, 3627, 1105, 1167, 1105, 3538, 1153, 1156, 1809 1619, 656, 655, 678, 682, 688, 2869, 689, 691, 1127, 1810 1126, 692, 693, 694, 2868, 2782, 696, 697, 2214, 3288, 1811 1253, 2956, 3618, 3634, 1149, 3243, 1254, 1127, 1126, 3540, 1812 2867, 1032, 1000, 3640, 3694, 2107, 2075, 1032, 3279, 1032, 1813 3042, 1032, 2682, 1119, 1032, 1032, 2986, 652, 1365, 1216, 1814 1105, 2678, 2679, 3076, 2682, 652, 3250, 2451, 3609, 997, 1815 3299, 1498, 2087, 3443, 999, 910, 3813, 911, 973, 652, 1816 3432, 2316, 2315, 650, 650, 1163, 2390, 1128, 646, 646, 1817 649, 649, 648, 648, 3798, 1315, 652, 647, 647, 3343, 1818 1130, 1388, 1389, 2621, 1432, 1324, 622, 1431, 1116, 1118, 1819 859, 1151, 1380, 1379, 1000, 3438, 2581, 3372, 1108, 56, 1820 1137, 2505, 1136, 1168, 3278, 1292, 1363, 56, 1297, 3510, 1821 2336, 2337, 1377, 1132, 1133, 177, 178, 1362, 179, 920, 1822 146, 56, 146, 146, 1361, 1388, 1389, 146, 1166, 2271, 1823 1138, 3641, 146, 146, 1775, 3547, 3526, 1223, 56, 146, 1824 1955, 2614, 146, 3560, 3539, 3710, 146, 3051, 1100, 2985, 1825 146, 3499, 2995, 3500, 2889, 2944, 3513, 1107, 1101, 996, 1826 2307, 146, 675, 3227, 146, 1213, 3327, 2264, 1322, 3494, 1827 628, 3048, 1415, 3377, 3687, 1384, 663, 3669, 604, 604, 1828 1420, 146, 1218, 1219, 1220, 1221, 3606, 604, 604, 2757, 1829 3148, 1447, 1447, 2729, 628, 2730, 2731, 2618, 2619, 3362, 1830 1947, 1945, 969, 967, 1144, 968, 1336, 3502, 1588, 2830, 1831 2831, 3799, 2617, 3499, 2092, 3500, 654, 1476, 622, 1449, 1832 1620, 2281, 1486, 1486, 3071, 3072, 3067, 2814, 2816, 1445, 1833 1445, 2960, 2497, 199, 3075, 2987, 2379, 2302, 3501, 2077, 1834 1329, 2274, 604, 1454, 1265, 1266, 2284, 2593, 2891, 2530, 1835 2271, 2274, 2264, 2287, 3453, 3454, 3455, 3459, 3457, 3458, 1836 3456, 1331, 1332, 1333, 1334, 1335, 2270, 1337, 1342, 3502, 1837 2103, 2272, 3559, 1343, 1341, 1340, 1339, 1091, 1087, 1088, 1838 1089, 1090, 658, 2535, 1325, 2534, 2533, 2531, 3190, 1414, 1839 1143, 974, 3445, 1528, 964, 914, 915, 916, 1533, 1504, 1840 3501, 2089, 2090, 1441, 1442, 1542, 3068, 909, 3434, 2726, 1841 2286, 3184, 3433, 970, 2628, 2631, 2632, 2633, 2629, 2630, 1842 1349, 1298, 2595, 3709, 1296, 2273, 2187, 3439, 3440, 964, 1843 1572, 1185, 2900, 2899, 964, 2189, 2188, 1320, 3007, 1215, 1844 912, 1779, 3796, 3797, 1447, 1780, 1447, 1113, 1225, 3363, 1845 1330, 2961, 2532, 2285, 2668, 1552, 2748, 2749, 2186, 1372, 1846 1373, 1318, 1319, 1567, 1568, 1427, 1429, 2184, 1773, 1778, 1847 875, 2328, 2275, 1233, 1439, 1440, 972, 966, 2301, 1351, 1848 965, 876, 2275, 3405, 1357, 1359, 3821, 2270, 2264, 2269, 1849 1364, 2267, 2272, 1537, 2815, 2209, 1607, 1374, 3814, 3809, 1850 1549, 1367, 1371, 1371, 1371, 1393, 1394, 1392, 1396, 1397, 1851 1395, 1398, 966, 651, 1447, 965, 1477, 966, 3149, 879, 1852 965, 1430, 1518, 1519, 2359, 1582, 1367, 1367, 2280, 1499, 1853 3026, 1666, 2278, 1541, 1405, 1406, 2654, 2758, 2760, 2761, 1854 2762, 2759, 1526, 3679, 3804, 1715, 2273, 1507, 1523, 1510, 1855 1511, 1527, 1654, 971, 1996, 1571, 1455, 2198, 3495, 633, 1856 1512, 1513, 3496, 1570, 1110, 1468, 2137, 3008, 2594, 2136, 1857 878, 2554, 2082, 1474, 881, 880, 1487, 1590, 1000, 2747, 1858 2199, 2200, 1180, 2116, 3106, 1000, 1604, 1488, 1144, 2470, 1859 2536, 2537, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1860 1636, 1637, 1638, 1639, 3793, 1359, 2655, 3069, 1651, 1652, 1861 2208, 1113, 975, 1182, 1183, 1184, 1181, 3805, 1589, 3102, 1862 3495, 3193, 1781, 2360, 3598, 3758, 3730, 1476, 1757, 1585, 1863 3724, 1700, 1790, 1447, 1795, 1796, 1623, 1798, 1799, 628, 1864 1560, 650, 1180, 1563, 628, 3160, 646, 1447, 649, 2360, 1865 648, 920, 2243, 1580, 1818, 647, 1724, 1555, 1577, 2115, 1866 1768, 1447, 1576, 1705, 1706, 1707, 1561, 1415, 1023, 1028, 1867 1029, 3706, 645, 2173, 3660, 2655, 1721, 3759, 1760, 1722, 1868 3635, 1581, 1579, 1578, 1575, 1110, 1603, 1182, 1183, 1184, 1869 1181, 1598, 1842, 1994, 1714, 1142, 1735, 1736, 3759, 3731, 1870 1601, 1849, 1849, 3522, 1415, 2496, 1415, 1415, 3080, 1180, 1871 628, 628, 3078, 1790, 1919, 1756, 1144, 1447, 1922, 1923, 1872 1935, 1642, 863, 864, 865, 866, 1697, 1698, 2954, 1701, 1873 1141, 3623, 2952, 2921, 604, 3579, 1447, 1716, 1797, 1182, 1874 1183, 1184, 1181, 3106, 3707, 1485, 1485, 3522, 1846, 3578, 1875 1723, 3573, 1725, 2082, 1726, 1727, 1728, 1182, 1183, 1184, 1876 1181, 3572, 2360, 3571, 628, 1790, 1447, 2833, 1980, 2601, 1877 628, 628, 628, 1985, 1986, 1649, 1650, 3570, 1871, 2586, 1878 1990, 1991, 1992, 3550, 3549, 2242, 1998, 2486, 2475, 1819, 1879 1971, 2271, 2274, 199, 3521, 1917, 199, 199, 2390, 199, 1880 1786, 1787, 1788, 2113, 3624, 1688, 1763, 1142, 3580, 1834, 1881 1729, 2073, 1801, 1802, 1803, 1804, 863, 864, 865, 866, 1882 1936, 1852, 2232, 3304, 3522, 1841, 3252, 3217, 1844, 1845, 1883 1293, 2257, 1758, 2178, 3522, 1949, 3522, 2172, 2171, 1715, 1884 1715, 2041, 1941, 3176, 1943, 1764, 3172, 3088, 1963, 1964, 1885 3522, 1715, 1715, 2144, 1961, 1962, 2082, 2082, 2057, 2064, 1886 1025, 1026, 1027, 1785, 2809, 2561, 1966, 3522, 1350, 1979, 1887 868, 1850, 3469, 1657, 1433, 1851, 1956, 2007, 3806, 3238, 1888 2010, 2011, 1830, 2013, 1832, 1833, 2837, 1818, 2051, 1794, 1889 1815, 1447, 2071, 1458, 1814, 3203, 2390, 2553, 1839, 3253, 1890 3218, 1835, 2512, 1810, 1613, 1614, 1615, 1616, 1617, 1982, 1891 1983, 1984, 1831, 1840, 2657, 2043, 3177, 1823, 2494, 3173, 1892 3089, 1820, 1821, 2275, 1826, 1827, 1853, 1854, 2270, 2264, 1893 2269, 1367, 2267, 2272, 2482, 1537, 3302, 2360, 1180, 1825, 1894 1916, 1836, 1837, 2477, 2259, 1371, 1658, 2065, 2472, 2499, 1895 1662, 1663, 1664, 1665, 1921, 2464, 2047, 1371, 651, 1699, 1896 1940, 1847, 1942, 1924, 868, 1950, 2498, 1709, 1684, 1213, 1897 1180, 2490, 997, 1794, 1681, 1180, 2251, 999, 1683, 1680, 1898 1682, 1686, 1687, 2462, 997, 2460, 1685, 2273, 2036, 999, 1899 2458, 2232, 1977, 2132, 2117, 2062, 1409, 1410, 1978, 1412, 1900 2036, 1416, 1417, 1418, 2001, 1988, 2231, 2473, 2174, 2004, 1901 1557, 1230, 2002, 1129, 1097, 1965, 2478, 1000, 1092, 1761, 1902 1000, 2473, 1601, 2151, 2150, 2135, 2126, 1197, 2465, 1000, 1903 3031, 3628, 2883, 1463, 1464, 1465, 1466, 1467, 3815, 1469, 1904 1470, 1471, 1472, 1473, 2100, 2101, 2125, 1479, 1480, 1481, 1905 2021, 2124, 1704, 1703, 2081, 1564, 2463, 2042, 2459, 1437, 1906 1355, 1435, 3784, 2459, 1356, 2053, 2050, 2096, 2048, 2299, 1907 1438, 3520, 3406, 3230, 2183, 3629, 2185, 997, 2061, 2232, 1908 3491, 2173, 999, 1822, 704, 2059, 650, 628, 628, 628, 1909 3436, 646, 1368, 649, 3435, 648, 1180, 1180, 1180, 1180, 1910 647, 3421, 628, 628, 628, 628, 2066, 1838, 1704, 1703, 1911 1399, 2060, 3228, 3378, 3210, 2229, 3407, 3231, 877, 1180, 1912 3107, 3098, 1000, 3093, 1180, 2235, 1415, 2082, 1565, 3090, 1913 1691, 1692, 1693, 1694, 1695, 1696, 1689, 1690, 2095, 1196, 1914 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1915 1197, 2097, 1415, 2104, 2145, 2146, 3229, 2148, 1642, 3037, 1916 1761, 1434, 3002, 1741, 2155, 1761, 1761, 2109, 2779, 2293, 1917 1730, 1731, 1732, 1733, 2626, 2450, 1737, 1738, 1739, 1740, 1918 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1919 738, 748, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1197, 1920 739, 2591, 740, 744, 747, 743, 741, 742, 2509, 1369, 1921 1355, 2098, 2099, 2476, 1356, 2006, 2381, 2046, 2009, 1734, 1922 2300, 2012, 3134, 2045, 2014, 1200, 1201, 1202, 1203, 1204, 1923 1197, 2364, 2364, 1935, 2364, 1196, 1195, 1205, 1206, 1198, 1924 1199, 1200, 1201, 1202, 1203, 1204, 1197, 2044, 1346, 882, 1925 1345, 1115, 604, 604, 2139, 745, 1182, 1183, 1184, 1181, 1926 1113, 2237, 2238, 2519, 2444, 3135, 1447, 628, 1661, 2253, 1927 2110, 2240, 2241, 2250, 2175, 2252, 2167, 2169, 2170, 3022, 1928 2056, 1491, 628, 2005, 2263, 2262, 2005, 746, 1113, 2434, 1929 622, 2210, 2192, 1661, 2839, 1486, 1782, 1935, 1184, 1181, 1930 2439, 3680, 2441, 1253, 2385, 1181, 199, 3448, 3447, 1254, 1931 2856, 2902, 2718, 2716, 2305, 2694, 2692, 2308, 2309, 2310, 1932 2311, 2312, 2313, 2314, 3427, 2256, 2317, 2318, 2319, 2320, 1933 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2398, 2329, 2330, 1934 2331, 2332, 2333, 2366, 2334, 2370, 2236, 2239, 2377, 2368, 1935 2378, 1232, 2245, 3379, 3380, 2246, 3023, 3812, 3374, 2276, 1936 2277, 2625, 2282, 2492, 1231, 1719, 997, 2071, 2382, 2383, 1937 3201, 999, 2249, 2574, 1447, 2575, 1447, 1648, 1447, 2769, 1938 1720, 2106, 3789, 1113, 2767, 2111, 1182, 1183, 1184, 1181, 1939 2445, 2511, 3788, 1645, 1647, 1644, 3734, 1646, 3705, 3704, 1940 3024, 2244, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1186, 1941 3630, 1000, 3575, 2438, 2502, 3375, 1371, 1447, 2539, 3811, 1942 3563, 2392, 2343, 3553, 3543, 2765, 2123, 3202, 2436, 3482, 1943 3409, 3408, 2506, 2546, 2130, 3244, 2768, 2443, 1447, 1427, 1944 1429, 2766, 2372, 3232, 2538, 1205, 1206, 1198, 1199, 1200, 1945 1201, 1202, 1203, 1204, 1197, 1445, 2147, 3200, 2993, 2754, 1946 2386, 2152, 2153, 2154, 2879, 2547, 2157, 2158, 2159, 2160, 1947 2161, 2162, 2163, 2164, 2165, 2166, 1445, 1182, 1183, 1184, 1948 1181, 2389, 2764, 2851, 2850, 2592, 2521, 2437, 2435, 1182, 1949 1183, 1184, 1181, 2550, 2551, 2752, 2751, 1981, 1113, 2750, 1950 3137, 2742, 1113, 2736, 1182, 1183, 1184, 1181, 2735, 1447, 1951 2734, 2733, 2622, 2623, 2527, 2454, 2753, 2587, 2466, 1919, 1952 2177, 1182, 1183, 1184, 1181, 2024, 2023, 2653, 2022, 2508, 1953 2446, 2018, 2017, 2659, 1974, 1973, 2548, 1972, 1558, 1311, 1954 2523, 3209, 2523, 3100, 2503, 699, 3808, 2602, 701, 2978, 1955 1095, 2398, 2670, 700, 2517, 3807, 2578, 2495, 3337, 2493, 1956 3782, 2484, 1113, 2500, 1182, 1183, 1184, 1181, 3514, 3515, 1957 2691, 3750, 3749, 1492, 3746, 3667, 3612, 1113, 1113, 1113, 1958 1849, 3383, 3595, 1113, 2637, 2702, 2703, 2704, 2705, 1113, 1959 2712, 3586, 2713, 2714, 3567, 2715, 3562, 2717, 3561, 3517, 1960 2638, 2513, 2514, 3483, 2529, 3429, 1094, 3390, 2712, 1182, 1961 1183, 1184, 1181, 3360, 2641, 3357, 3356, 1491, 3335, 3333, 1962 2364, 3312, 3311, 3308, 1871, 3306, 2774, 2697, 2698, 3239, 1963 1601, 3199, 2701, 3198, 2770, 3195, 3185, 2660, 2708, 3169, 1964 3167, 3095, 604, 3086, 2611, 3085, 3003, 1919, 1113, 1935, 1965 1935, 1935, 1935, 2650, 2965, 2964, 750, 123, 2959, 2182, 1966 1113, 1935, 123, 2893, 2364, 1761, 2890, 1761, 2849, 2516, 1967 2684, 2604, 2689, 2606, 2662, 2823, 2689, 2763, 2755, 2665, 1968 1447, 2685, 2745, 2672, 2743, 1761, 1761, 2545, 2603, 2739, 1969 2738, 628, 628, 2737, 2620, 2588, 2696, 2792, 2914, 1000, 1970 2128, 805, 804, 3647, 2644, 2485, 2027, 2020, 2658, 2792, 1971 8, 2652, 7, 1771, 1770, 1559, 634, 1261, 1485, 123, 1972 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1973 1197, 2671, 1257, 2674, 1256, 1098, 872, 2805, 2724, 2725, 1974 2687, 2690, 182, 2693, 171, 145, 3643, 199, 3504, 2700, 1975 3503, 3492, 199, 2740, 2741, 3359, 3344, 2913, 3223, 3222, 1976 3221, 2669, 3192, 3181, 3179, 1794, 2127, 3178, 2479, 2480, 1977 2481, 3175, 3174, 3168, 1715, 2744, 1715, 2776, 2732, 2866, 1978 1182, 1183, 1184, 1181, 1182, 1183, 1184, 1181, 3166, 3150, 1979 3140, 2878, 3139, 1182, 1183, 1184, 1181, 1447, 2661, 3125, 1980 2885, 3124, 3032, 2968, 2488, 2489, 2775, 2666, 2667, 2780, 1981 2951, 176, 3733, 2793, 2794, 2795, 2796, 2919, 2912, 2808, 1982 3715, 2904, 2804, 2806, 2120, 2903, 2834, 2897, 2832, 2778, 1983 2807, 2840, 1933, 998, 2520, 2600, 2844, 2526, 2461, 2457, 1984 123, 2456, 2156, 2824, 2540, 2541, 2821, 1182, 1183, 1184, 1985 1181, 2149, 2543, 2544, 1760, 123, 2143, 123, 2114, 2865, 1986 2142, 2141, 2140, 2817, 2138, 2134, 2861, 2133, 2549, 1518, 1987 1519, 1182, 1183, 1184, 1181, 2131, 2871, 1182, 1183, 1184, 1988 1181, 2122, 2863, 2119, 1526, 2907, 3616, 2909, 627, 627, 1989 1523, 2872, 2118, 1527, 635, 2962, 1613, 1761, 1511, 2963, 1990 2882, 2026, 2887, 2842, 2838, 2841, 1113, 2112, 1512, 1513, 1991 1754, 1753, 2981, 1182, 1183, 1184, 1181, 1182, 1183, 1184, 1992 1181, 1752, 2997, 2862, 1718, 2859, 2864, 1717, 628, 2857, 1993 2873, 2875, 2874, 1182, 1183, 1184, 1181, 2881, 1708, 1459, 1994 3012, 1113, 3358, 1457, 628, 1251, 1113, 1113, 3764, 3554, 1995 3642, 1000, 2894, 3581, 3659, 1935, 2229, 3569, 3030, 3564, 1996 1506, 1000, 3463, 3446, 2895, 182, 2663, 2664, 2901, 1182, 1997 1183, 1184, 1181, 3442, 3420, 3403, 3320, 2293, 3318, 2910, 1998 2911, 2953, 1182, 1183, 1184, 1181, 3006, 2908, 3290, 3057, 1999 3289, 3060, 3346, 3060, 3060, 3286, 3285, 3251, 1113, 3248, 2000 3246, 3212, 2637, 1196, 1195, 1205, 1206, 1198, 1199, 1200, 2001 1201, 1202, 1203, 1204, 1197, 3657, 3345, 3081, 1517, 1182, 2002 1183, 1184, 1181, 3077, 1508, 1447, 1447, 2958, 2905, 2906, 2003 2967, 3044, 3046, 2957, 176, 1522, 3015, 2966, 3079, 1525, 2004 1514, 3019, 635, 1182, 1183, 1184, 1181, 1353, 2771, 2695, 2005 2646, 2645, 3082, 3083, 2639, 2998, 2999, 2605, 2573, 2471, 2006 2380, 2335, 2230, 1445, 1445, 2201, 3005, 3040, 2176, 1643, 2007 3014, 3028, 628, 176, 997, 3017, 3018, 2981, 3292, 999, 2008 1987, 1784, 3029, 3025, 1767, 1415, 3056, 3065, 1919, 1919, 2009 3034, 1586, 1412, 1540, 3655, 3164, 3033, 2263, 2262, 3653, 2010 3039, 3035, 3036, 1515, 1310, 1182, 1183, 1184, 1181, 1295, 2011 1291, 3061, 3062, 2917, 3055, 1290, 1289, 3066, 1288, 1000, 2012 1287, 1000, 1182, 1183, 1184, 1181, 1000, 1286, 1285, 1284, 2013 1283, 1208, 1282, 1212, 1113, 1281, 1280, 1279, 2539, 1278, 2014 1182, 1183, 1184, 1181, 1277, 1276, 1275, 3138, 1274, 1209, 2015 1211, 1207, 1000, 1210, 1196, 1195, 1205, 1206, 1198, 1199, 2016 1200, 1201, 1202, 1203, 1204, 1197, 1273, 3063, 1272, 1271, 2017 1270, 1269, 1268, 1267, 2843, 1264, 2845, 1347, 2916, 1263, 2018 1262, 1260, 1259, 2398, 3425, 2915, 1258, 1255, 1248, 1247, 2019 3092, 1245, 628, 3094, 3097, 1761, 3096, 3103, 3104, 2572, 2020 1761, 3091, 3101, 1244, 3114, 1182, 1183, 1184, 1181, 2571, 2021 2056, 3087, 1182, 1183, 1184, 1181, 1243, 3118, 1242, 3121, 2022 3122, 3123, 2570, 1241, 1240, 3105, 1182, 1183, 1184, 1181, 2023 1239, 3038, 1238, 1237, 1236, 3127, 1182, 1183, 1184, 1181, 2024 3117, 1235, 3133, 2569, 1234, 2896, 1229, 1228, 1227, 1182, 2025 1183, 1184, 1181, 1226, 1146, 1096, 3287, 3418, 2568, 3110, 2026 3111, 3762, 3188, 2234, 2567, 2216, 1134, 3720, 3151, 2918, 2027 1182, 1183, 1184, 1181, 3113, 3153, 2566, 3416, 3152, 2627, 2028 2391, 3157, 2029, 3156, 1145, 1182, 1183, 1184, 1181, 3116, 2029 3170, 1182, 1183, 1184, 1181, 3115, 2801, 2798, 123, 123, 2030 998, 2802, 3162, 1182, 1183, 1184, 1181, 2797, 2483, 2474, 2031 3216, 1196, 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 2032 1203, 1204, 1197, 3001, 108, 2877, 2364, 1935, 3235, 2565, 2033 2523, 1196, 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 2034 1203, 1204, 1197, 2799, 1812, 1813, 2564, 2303, 2800, 3182, 2035 58, 3297, 3254, 3186, 3322, 1113, 1182, 1183, 1184, 1181, 2036 2563, 57, 3323, 3191, 3057, 3053, 2560, 3054, 1113, 3128, 2037 3194, 1908, 1214, 1182, 1183, 1184, 1181, 3154, 3155, 1113, 2038 2803, 3301, 2356, 2357, 630, 1447, 2559, 1182, 1183, 1184, 2039 1181, 3206, 3207, 1182, 1183, 1184, 1181, 1807, 1808, 1809, 2040 3237, 1500, 2469, 1919, 3255, 2558, 2507, 1113, 2488, 2489, 2041 631, 3321, 3303, 1182, 1183, 1184, 1181, 3294, 1554, 3064, 2042 1534, 632, 3277, 1445, 2191, 1989, 3284, 1140, 2708, 3241, 2043 2976, 2969, 1182, 1183, 1184, 1181, 199, 3233, 2673, 2647, 2044 3245, 2255, 3247, 3234, 3213, 3214, 3215, 3773, 1000, 1113, 2045 3219, 3220, 3566, 3314, 2225, 1000, 2792, 3293, 627, 1102, 2046 3296, 3291, 1816, 3236, 1783, 1704, 1703, 3300, 1173, 1111, 2047 1306, 1307, 3324, 3240, 3084, 2552, 2344, 3305, 2720, 3307, 2048 2340, 3310, 2542, 1920, 3313, 2721, 2722, 2723, 3361, 1408, 2049 3316, 1135, 3315, 1407, 1113, 2518, 1304, 1305, 2792, 2347, 2050 1656, 3309, 1182, 1183, 1184, 1181, 1302, 1303, 3342, 1182, 2051 1183, 1184, 1181, 1113, 1447, 1447, 1300, 1301, 1299, 3012, 2052 3328, 3120, 1182, 1183, 1184, 1181, 3338, 1182, 1183, 1184, 2053 1181, 3398, 2826, 3398, 3339, 2190, 2352, 2355, 2356, 2357, 2054 2353, 3388, 2354, 2358, 2058, 1360, 1338, 1113, 3414, 1113, 2055 1383, 3740, 1445, 1654, 3738, 3326, 3698, 3417, 3677, 3419, 2056 3676, 3674, 3386, 3392, 3393, 3619, 1447, 3582, 3370, 3477, 2057 3369, 3476, 3368, 3415, 3389, 2352, 2355, 2356, 2357, 2353, 2058 3334, 2354, 2358, 3171, 628, 3147, 1113, 1113, 3146, 3131, 2059 1113, 1113, 3402, 2288, 3391, 3355, 1607, 3401, 1607, 2258, 2060 1556, 3130, 2836, 1359, 1654, 3237, 3189, 3413, 2043, 2880, 2061 3465, 3766, 3765, 3460, 2218, 3395, 2121, 1314, 3365, 1818, 2062 1131, 3474, 3450, 3451, 3277, 3430, 3461, 3462, 3284, 3426, 2063 3478, 3479, 3423, 3765, 3766, 3386, 3386, 3444, 3163, 3386, 2064 3386, 3126, 1110, 1447, 1375, 3165, 186, 3, 3422, 66, 2065 3471, 2, 3785, 1456, 3786, 1, 2579, 634, 3428, 1765, 2066 863, 864, 865, 866, 3506, 1110, 1308, 867, 3410, 3411, 2067 3490, 862, 3470, 3498, 1424, 2373, 3180, 1967, 1451, 3472, 2068 1769, 1445, 869, 2810, 2811, 3119, 2813, 2596, 2078, 123, 2069 2781, 2338, 3466, 2205, 3489, 3485, 2996, 1348, 913, 1710, 2070 1000, 1569, 1022, 1124, 3535, 3493, 1566, 3529, 1123, 1121, 2071 3497, 1659, 752, 2032, 2772, 2746, 3473, 3772, 3801, 3732, 2072 3775, 1113, 2556, 2557, 1584, 736, 3668, 3587, 2562, 3736, 2073 3589, 3552, 3488, 2083, 3558, 1178, 3467, 2858, 3523, 936, 2074 3468, 793, 763, 1246, 1547, 2924, 2922, 1024, 3530, 3532, 2075 3342, 762, 3531, 3205, 2616, 2829, 123, 3537, 3544, 1021, 2076 937, 3548, 2015, 123, 1113, 3584, 3486, 1501, 1505, 1447, 2077 1607, 2254, 3545, 3638, 3424, 3049, 123, 2681, 1529, 3633, 2078 3249, 3351, 3349, 3350, 669, 2920, 1946, 602, 123, 3565, 2079 3527, 982, 3464, 2028, 670, 2233, 3576, 3689, 3568, 893, 2080 3574, 2215, 1411, 894, 886, 2635, 3605, 1445, 3608, 2634, 2081 1624, 1187, 1641, 3386, 2942, 2943, 3600, 1224, 1761, 708, 2082 2108, 2613, 3272, 1113, 2822, 65, 1453, 3583, 64, 63, 2083 62, 1761, 1997, 207, 3317, 754, 206, 3319, 3620, 1196, 2084 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 2085 1197, 3381, 3664, 3615, 3325, 3777, 734, 733, 732, 3611, 2086 3614, 731, 730, 729, 2351, 2349, 3637, 2348, 1930, 1929, 2087 1113, 1995, 3386, 3622, 3010, 1000, 2711, 2706, 1447, 1860, 2088 3631, 3662, 3665, 1858, 3652, 3654, 3656, 3658, 2699, 2283, 2089 3636, 2290, 1857, 3717, 3648, 3649, 3441, 3666, 3645, 2756, 2090 3341, 1806, 2515, 2279, 1877, 3661, 3651, 3577, 2727, 1874, 2091 1873, 2719, 3437, 3431, 1905, 3533, 1445, 3397, 3256, 3386, 2092 3257, 3673, 1447, 3671, 3263, 3535, 1196, 1195, 1205, 1206, 2093 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1197, 2224, 1047, 2094 1043, 3708, 1045, 1046, 1044, 2528, 3697, 3716, 2260, 3700, 2095 3699, 2971, 2197, 3701, 2196, 2194, 2193, 1323, 3607, 3685, 2096 1445, 3364, 2396, 2394, 1093, 3112, 3108, 2040, 3621, 3702, 2097 3703, 2054, 2876, 3625, 3626, 1931, 1927, 2783, 3725, 3508, 2098 3726, 2105, 3727, 1811, 3728, 3745, 887, 3729, 2213, 3739, 2099 161, 3741, 3742, 51, 105, 3737, 3735, 159, 50, 1113, 2100 94, 93, 3600, 3744, 3646, 1196, 1195, 1205, 1206, 1198, 2101 1199, 1200, 1201, 1202, 1203, 1204, 1197, 924, 3558, 3754, 2102 104, 157, 49, 191, 190, 193, 3757, 3756, 3755, 192, 2103 189, 3763, 3771, 3760, 3779, 3761, 2447, 3778, 2448, 3767, 2104 3768, 3769, 3770, 188, 1489, 187, 3678, 3400, 3752, 857, 2105 40, 39, 3790, 38, 1113, 3783, 34, 13, 12, 35, 2106 22, 21, 1573, 20, 3791, 26, 3637, 3792, 3794, 32, 2107 31, 116, 115, 30, 3800, 3803, 1934, 114, 113, 112, 2108 111, 110, 29, 19, 44, 43, 922, 923, 42, 9, 2109 103, 101, 28, 102, 99, 97, 95, 964, 3810, 77, 2110 76, 75, 1019, 1607, 90, 89, 3779, 3817, 88, 3778, 2111 3816, 3524, 87, 86, 85, 83, 3803, 3818, 84, 935, 2112 74, 73, 3822, 72, 2926, 2927, 71, 70, 3747, 3748, 2113 2928, 2929, 2930, 2931, 92, 2932, 2933, 2934, 2935, 2936, 2114 2937, 2938, 2939, 2940, 2941, 98, 96, 81, 91, 123, 2115 82, 80, 123, 123, 79, 123, 78, 69, 68, 67, 2116 182, 55, 171, 145, 143, 142, 141, 140, 139, 137, 2117 138, 1800, 136, 135, 1020, 134, 1805, 133, 172, 132, 2118 966, 131, 45, 965, 46, 164, 47, 48, 153, 173, 2119 152, 154, 156, 158, 155, 998, 160, 150, 123, 148, 2120 151, 149, 147, 60, 11, 106, 18, 998, 121, 25, 2121 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2122 950, 123, 0, 109, 0, 0, 1233, 0, 925, 176, 2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2124 0, 0, 1855, 1856, 0, 1014, 1009, 1004, 1008, 1012, 2125 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 2127 55, 171, 145, 1017, 0, 0, 0, 1007, 0, 0, 2128 0, 0, 0, 0, 0, 0, 0, 172, 3644, 0, 2129 0, 0, 0, 0, 164, 0, 1976, 0, 173, 0, 2130 1214, 0, 1976, 1976, 1976, 0, 127, 128, 0, 129, 2131 130, 0, 0, 0, 0, 0, 0, 121, 949, 947, 2132 0, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 2133 0, 0, 109, 0, 0, 1018, 0, 0, 176, 0, 2134 946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2135 0, 921, 0, 0, 0, 0, 0, 1005, 0, 0, 2136 0, 0, 926, 959, 0, 0, 3713, 0, 0, 0, 2137 0, 0, 0, 0, 0, 0, 0, 144, 170, 180, 2138 1016, 107, 0, 0, 0, 0, 955, 0, 0, 0, 2139 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 2140 163, 162, 0, 0, 0, 0, 61, 0, 0, 0, 2141 0, 0, 0, 0, 0, 127, 128, 0, 129, 130, 2142 1006, 0, 956, 960, 0, 0, 0, 0, 0, 0, 2143 0, 0, 0, 0, 3713, 0, 0, 0, 0, 0, 2144 0, 0, 943, 0, 941, 945, 963, 0, 0, 0, 2145 942, 939, 938, 0, 944, 929, 930, 928, 931, 932, 2146 933, 934, 0, 961, 0, 962, 0, 165, 166, 167, 2147 0, 0, 0, 0, 0, 0, 957, 958, 0, 0, 2148 0, 0, 0, 3713, 0, 0, 144, 170, 180, 0, 2149 107, 0, 0, 0, 0, 0, 0, 1013, 174, 0, 2150 0, 0, 0, 0, 0, 0, 0, 0, 169, 163, 2151 162, 0, 0, 953, 0, 61, 0, 0, 117, 952, 2152 0, 0, 168, 0, 118, 0, 0, 0, 0, 0, 2153 0, 0, 0, 1010, 948, 0, 1011, 0, 0, 3820, 2154 0, 910, 0, 911, 0, 0, 0, 0, 0, 0, 2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2157 0, 0, 0, 0, 0, 0, 165, 166, 167, 891, 2158 0, 119, 0, 0, 0, 0, 0, 0, 0, 2367, 2159 0, 0, 0, 905, 54, 901, 0, 0, 0, 0, 2160 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 2161 0, 0, 951, 0, 0, 0, 0, 0, 0, 2202, 2162 2203, 2204, 0, 0, 0, 0, 0, 117, 0, 0, 2163 0, 168, 0, 118, 2220, 2221, 2222, 2223, 0, 0, 2164 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 2165 0, 883, 0, 1934, 0, 0, 0, 0, 0, 0, 2166 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 2167 0, 0, 0, 0, 0, 1906, 0, 0, 177, 178, 2168 1867, 179, 0, 0, 0, 0, 146, 0, 0, 0, 2169 119, 52, 0, 0, 0, 0, 0, 0, 0, 0, 2170 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 2171 1908, 1876, 0, 0, 0, 0, 0, 0, 0, 0, 2172 1909, 1910, 907, 0, 900, 0, 0, 0, 0, 0, 2173 0, 0, 0, 904, 903, 0, 0, 0, 3347, 0, 2174 3348, 0, 0, 0, 0, 0, 1875, 0, 0, 0, 2175 885, 0, 56, 0, 892, 0, 0, 120, 41, 0, 2176 0, 1883, 0, 0, 53, 0, 0, 0, 5, 0, 2177 0, 0, 0, 0, 899, 124, 125, 0, 0, 126, 2178 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 2179 179, 0, 0, 909, 0, 146, 0, 0, 898, 1453, 2180 52, 0, 897, 0, 1906, 0, 0, 0, 884, 1867, 2181 0, 0, 890, 0, 1976, 0, 0, 0, 0, 0, 2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 2183 0, 0, 0, 0, 888, 0, 0, 0, 0, 1908, 2184 1876, 0, 0, 0, 0, 0, 0, 0, 0, 1909, 2185 1910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2186 0, 0, 0, 0, 0, 0, 120, 41, 0, 0, 2187 0, 908, 0, 53, 0, 1875, 0, 123, 0, 0, 2188 0, 0, 0, 0, 124, 125, 0, 123, 126, 0, 2189 1883, 0, 0, 0, 0, 0, 0, 889, 0, 0, 2190 1866, 1868, 1865, 0, 1862, 0, 0, 0, 0, 1887, 2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2192 1893, 0, 0, 0, 0, 0, 0, 0, 1878, 0, 2193 1861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2194 1881, 1915, 0, 0, 1882, 1884, 1886, 0, 1888, 1889, 2195 1890, 1894, 1895, 1896, 1898, 1901, 1902, 1903, 1899, 0, 2196 0, 0, 0, 0, 0, 1891, 1900, 1892, 0, 0, 2197 0, 0, 0, 0, 906, 0, 0, 1870, 0, 0, 2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 1907, 2200 0, 0, 0, 0, 0, 1934, 1934, 1934, 1934, 0, 2201 0, 0, 0, 895, 0, 0, 0, 1934, 0, 0, 2202 0, 0, 0, 0, 0, 1863, 1864, 0, 0, 1866, 2203 2676, 1865, 0, 2675, 0, 0, 0, 0, 1887, 0, 2204 0, 0, 0, 1904, 0, 0, 0, 0, 0, 1893, 2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 2651, 2206 1880, 0, 0, 0, 0, 0, 0, 1879, 0, 1881, 2207 1915, 0, 0, 1882, 1884, 1886, 0, 1888, 1889, 1890, 2208 1894, 1895, 1896, 1898, 1901, 1902, 1903, 0, 0, 0, 2209 0, 1897, 0, 0, 1891, 1900, 1892, 0, 0, 0, 2210 1885, 0, 0, 123, 1065, 0, 1870, 0, 123, 0, 2211 0, 0, 0, 1912, 1911, 0, 0, 0, 0, 0, 2212 0, 0, 0, 0, 0, 0, 0, 0, 1907, 123, 2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 2214 0, 0, 0, 1182, 1183, 1184, 1181, 0, 0, 0, 2215 0, 0, 0, 0, 1863, 1864, 0, 0, 0, 0, 2216 0, 0, 0, 0, 0, 0, 1872, 0, 0, 0, 2217 0, 0, 1904, 0, 0, 0, 0, 0, 0, 0, 2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 1880, 2219 0, 0, 0, 0, 0, 0, 1879, 0, 0, 0, 2220 1065, 0, 681, 680, 687, 677, 0, 0, 1914, 0, 2221 0, 1913, 0, 0, 684, 685, 0, 686, 690, 0, 2222 1897, 671, 1688, 2827, 2828, 1051, 0, 0, 0, 1885, 2223 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 2224 0, 0, 1912, 1911, 0, 1073, 1077, 1079, 1081, 1083, 2225 1084, 1086, 0, 1091, 1087, 1088, 1089, 1090, 0, 1068, 2226 1069, 1070, 1071, 1049, 1050, 1074, 0, 1052, 0, 1053, 2227 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1064, 1066, 2228 1062, 1063, 1072, 0, 0, 0, 0, 0, 0, 0, 2229 1076, 1078, 1080, 1082, 1085, 1872, 0, 998, 0, 123, 2230 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 2231 0, 1934, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 1051, 0, 0, 0, 1041, 0, 0, 1067, 0, 2233 123, 0, 0, 0, 0, 0, 1065, 1914, 0, 0, 2234 1913, 1073, 1077, 1079, 1081, 1083, 1084, 1086, 0, 1091, 2235 1087, 1088, 1089, 1090, 0, 1068, 1069, 1070, 1071, 1049, 2236 1050, 1074, 0, 1052, 0, 1053, 1054, 1055, 1056, 1057, 2237 1058, 1059, 1060, 1061, 1064, 1066, 1062, 1063, 1072, 1906, 2238 0, 0, 0, 0, 0, 1684, 1076, 1078, 1080, 1082, 2239 1085, 1681, 0, 0, 0, 1683, 1680, 1682, 1686, 1687, 2240 0, 0, 0, 1685, 0, 0, 0, 0, 0, 0, 2241 0, 0, 0, 0, 1908, 0, 0, 0, 0, 672, 2242 674, 673, 0, 0, 1067, 0, 0, 0, 0, 679, 2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2244 0, 683, 0, 0, 0, 0, 0, 0, 698, 0, 2245 0, 0, 0, 0, 0, 676, 0, 1051, 0, 0, 2246 3004, 0, 0, 0, 0, 1883, 2524, 2525, 0, 0, 2247 0, 0, 0, 0, 0, 0, 3016, 1073, 1077, 1079, 2248 1081, 1083, 1084, 1086, 0, 1091, 1087, 1088, 1089, 1090, 2249 0, 1068, 1069, 1070, 1071, 1049, 1050, 1074, 0, 1052, 2250 0, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 2251 1064, 1066, 1062, 1063, 1072, 0, 0, 0, 0, 0, 2252 0, 0, 1076, 1078, 1080, 1082, 1085, 0, 0, 3528, 2253 0, 0, 0, 1899, 0, 0, 1669, 1670, 1671, 1672, 2254 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1691, 1692, 1693, 2255 1694, 1695, 1696, 1689, 1690, 0, 0, 0, 0, 0, 2256 1067, 0, 0, 0, 678, 682, 688, 0, 689, 691, 2257 0, 0, 692, 693, 694, 0, 0, 696, 697, 0, 2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2260 0, 0, 0, 0, 1976, 0, 0, 0, 0, 0, 2261 1075, 0, 0, 1887, 0, 0, 0, 0, 0, 0, 2262 0, 0, 0, 0, 1893, 0, 123, 0, 0, 0, 2263 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 2264 0, 0, 0, 0, 1881, 1915, 0, 0, 1882, 1884, 2265 1886, 0, 1888, 1889, 1890, 1894, 1895, 1896, 1898, 1901, 2266 1902, 1903, 0, 0, 0, 0, 0, 0, 0, 1891, 2267 1900, 1892, 0, 0, 0, 0, 0, 0, 0, 0, 2268 0, 0, 0, 1934, 0, 0, 0, 0, 0, 0, 2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2270 0, 0, 0, 1907, 0, 0, 1075, 0, 0, 0, 2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2272 0, 0, 0, 0, 3159, 0, 0, 0, 0, 0, 2273 0, 0, 0, 675, 0, 0, 0, 0, 0, 0, 2274 0, 0, 0, 0, 0, 0, 0, 1904, 0, 0, 2275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2276 0, 0, 0, 0, 1880, 0, 0, 0, 0, 0, 2277 0, 1879, 0, 0, 0, 0, 0, 0, 0, 0, 2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2279 0, 0, 123, 0, 0, 1897, 0, 0, 0, 0, 2280 0, 0, 0, 0, 1885, 0, 0, 0, 0, 0, 2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2284 0, 0, 1075, 0, 0, 0, 0, 0, 0, 0, 2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2287 0, 0, 0, 0, 770, 0, 0, 0, 123, 0, 2288 0, 0, 0, 370, 0, 495, 528, 517, 600, 483, 2289 0, 0, 0, 0, 0, 0, 723, 0, 0, 0, 2290 310, 0, 0, 340, 532, 514, 524, 515, 500, 501, 2291 502, 509, 320, 503, 504, 505, 475, 506, 476, 507, 2292 508, 761, 531, 482, 401, 354, 549, 548, 0, 0, 2293 828, 836, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 715, 0, 0, 751, 805, 804, 738, 748, 2295 0, 0, 283, 205, 477, 596, 479, 478, 739, 0, 2296 740, 744, 747, 743, 741, 742, 0, 820, 0, 0, 2297 0, 0, 0, 0, 707, 719, 0, 724, 0, 0, 2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300 0, 716, 717, 0, 0, 0, 0, 771, 0, 718, 2301 0, 0, 766, 745, 749, 0, 0, 0, 0, 273, 2302 406, 423, 284, 397, 436, 289, 404, 279, 369, 393, 2303 0, 0, 275, 421, 403, 351, 330, 331, 274, 0, 2304 388, 308, 322, 305, 367, 746, 769, 773, 304, 842, 2305 767, 431, 277, 123, 430, 366, 417, 422, 352, 346, 2306 276, 419, 350, 345, 334, 312, 843, 335, 336, 326, 2307 378, 344, 379, 327, 356, 355, 357, 0, 0, 0, 2308 0, 0, 459, 460, 0, 0, 0, 0, 0, 0, 2309 0, 0, 0, 0, 0, 0, 590, 764, 0, 593, 2310 0, 433, 0, 0, 826, 0, 0, 0, 405, 0, 2311 0, 337, 0, 0, 0, 768, 3449, 391, 372, 839, 2312 0, 0, 389, 342, 418, 380, 424, 407, 432, 385, 2313 381, 268, 408, 307, 353, 280, 282, 302, 309, 311, 2314 313, 314, 362, 363, 375, 396, 409, 410, 411, 306, 2315 290, 390, 291, 324, 292, 269, 298, 296, 299, 398, 2316 300, 271, 376, 415, 0, 319, 386, 349, 272, 348, 2317 377, 414, 413, 281, 440, 446, 447, 536, 0, 452, 2318 616, 617, 618, 461, 466, 467, 468, 470, 471, 472, 2319 473, 537, 554, 521, 491, 454, 545, 488, 492, 493, 2320 557, 1712, 1711, 1713, 445, 338, 339, 0, 317, 265, 2321 266, 611, 824, 368, 559, 592, 484, 0, 838, 819, 2322 821, 822, 825, 829, 830, 831, 832, 833, 835, 837, 2323 841, 610, 0, 538, 553, 614, 552, 607, 374, 0, 2324 395, 550, 497, 0, 542, 516, 0, 543, 512, 547, 2325 0, 486, 0, 402, 426, 438, 455, 458, 487, 572, 2326 573, 574, 270, 457, 576, 577, 578, 579, 580, 581, 2327 582, 575, 840, 519, 496, 522, 437, 499, 498, 0, 2328 0, 533, 772, 534, 535, 358, 359, 360, 361, 827, 2329 560, 288, 456, 384, 0, 520, 0, 0, 0, 0, 2330 0, 0, 0, 0, 525, 526, 523, 619, 0, 583, 2331 584, 0, 0, 450, 451, 316, 323, 469, 325, 287, 2332 373, 318, 435, 332, 0, 462, 527, 463, 586, 589, 2333 587, 588, 365, 328, 329, 399, 333, 343, 387, 434, 2334 371, 392, 285, 425, 400, 347, 513, 540, 849, 823, 2335 848, 850, 851, 847, 852, 853, 834, 728, 0, 779, 2336 845, 844, 846, 0, 0, 0, 0, 0, 0, 0, 2337 0, 0, 0, 0, 568, 567, 566, 565, 564, 563, 2338 562, 561, 0, 0, 510, 412, 297, 259, 293, 294, 2339 301, 608, 605, 416, 609, 0, 267, 490, 341, 0, 2340 382, 315, 555, 556, 0, 0, 812, 786, 787, 788, 2341 725, 789, 783, 784, 726, 785, 813, 777, 809, 810, 2342 753, 780, 790, 808, 791, 811, 814, 815, 854, 855, 2343 797, 781, 231, 856, 794, 816, 807, 806, 792, 778, 2344 817, 818, 760, 755, 795, 796, 782, 800, 801, 802, 2345 727, 774, 775, 776, 798, 799, 756, 757, 758, 759, 2346 0, 0, 0, 441, 442, 443, 465, 0, 427, 489, 2347 606, 0, 0, 0, 0, 0, 0, 0, 539, 551, 2348 585, 0, 594, 595, 597, 599, 803, 601, 770, 612, 2349 480, 481, 613, 591, 0, 720, 0, 370, 0, 495, 2350 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 2351 723, 0, 0, 0, 310, 1762, 0, 340, 532, 514, 2352 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 2353 475, 506, 476, 507, 508, 761, 531, 482, 401, 354, 2354 549, 548, 0, 0, 828, 836, 0, 0, 0, 0, 2355 0, 0, 0, 1958, 0, 0, 715, 0, 0, 751, 2356 805, 804, 738, 748, 0, 0, 283, 205, 477, 596, 2357 479, 478, 739, 0, 740, 744, 747, 743, 741, 742, 2358 0, 820, 0, 0, 0, 0, 0, 0, 707, 719, 2359 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 2360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2361 0, 0, 0, 0, 0, 716, 717, 0, 0, 0, 2362 0, 771, 0, 718, 0, 0, 1959, 745, 749, 0, 2363 0, 0, 0, 273, 406, 423, 284, 397, 436, 289, 2364 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 2365 330, 331, 274, 0, 388, 308, 322, 305, 367, 746, 2366 769, 773, 304, 842, 767, 431, 277, 0, 430, 366, 2367 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 2368 843, 335, 336, 326, 378, 344, 379, 327, 356, 355, 2369 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2371 590, 764, 0, 593, 0, 433, 0, 0, 826, 0, 2372 0, 0, 405, 0, 0, 337, 0, 0, 0, 768, 2373 0, 391, 372, 839, 0, 0, 389, 342, 418, 380, 2374 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 2375 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 2376 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 2377 298, 296, 299, 398, 300, 271, 376, 415, 0, 319, 2378 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 2379 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 2380 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 2381 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 2382 339, 0, 317, 265, 266, 611, 824, 368, 559, 592, 2383 484, 0, 838, 819, 821, 822, 825, 829, 830, 831, 2384 832, 833, 835, 837, 841, 610, 0, 538, 553, 614, 2385 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 2386 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 2387 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 2388 578, 579, 580, 581, 582, 575, 840, 519, 496, 522, 2389 437, 499, 498, 0, 0, 533, 772, 534, 535, 358, 2390 359, 360, 361, 827, 560, 288, 456, 384, 0, 520, 2391 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 2392 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 2393 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 2394 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 2395 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 2396 513, 540, 849, 823, 848, 850, 851, 847, 852, 853, 2397 834, 728, 0, 779, 845, 844, 846, 0, 0, 0, 2398 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 2399 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 2400 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 2401 267, 490, 341, 0, 382, 315, 555, 556, 0, 0, 2402 812, 786, 787, 788, 725, 789, 783, 784, 726, 785, 2403 813, 777, 809, 810, 753, 780, 790, 808, 791, 811, 2404 814, 815, 854, 855, 797, 781, 231, 856, 794, 816, 2405 807, 806, 792, 778, 817, 818, 760, 755, 795, 796, 2406 782, 800, 801, 802, 727, 774, 775, 776, 798, 799, 2407 756, 757, 758, 759, 0, 0, 0, 441, 442, 443, 2408 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 2409 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 2410 803, 601, 0, 612, 480, 481, 613, 591, 0, 720, 2411 182, 770, 0, 0, 0, 0, 0, 0, 0, 0, 2412 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 2413 0, 0, 0, 723, 0, 0, 0, 310, 0, 0, 2414 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 2415 503, 504, 505, 475, 506, 476, 507, 508, 1217, 531, 2416 482, 401, 354, 549, 548, 0, 0, 828, 836, 0, 2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 2418 0, 0, 751, 805, 804, 738, 748, 0, 0, 283, 2419 205, 477, 596, 479, 478, 739, 0, 740, 744, 747, 2420 743, 741, 742, 0, 820, 0, 0, 0, 0, 0, 2421 0, 707, 719, 0, 724, 0, 0, 0, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423 0, 0, 0, 0, 0, 0, 0, 0, 716, 717, 2424 0, 0, 0, 0, 771, 0, 718, 0, 0, 766, 2425 745, 749, 0, 0, 0, 0, 273, 406, 423, 284, 2426 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 2427 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 2428 305, 367, 746, 769, 773, 304, 842, 767, 431, 277, 2429 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 2430 345, 334, 312, 843, 335, 336, 326, 378, 344, 379, 2431 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 2432 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433 0, 0, 0, 590, 764, 0, 593, 0, 433, 0, 2434 0, 826, 0, 0, 0, 405, 0, 0, 337, 0, 2435 0, 0, 768, 0, 391, 372, 839, 0, 0, 389, 2436 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 2437 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 2438 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 2439 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 2440 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 2441 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 2442 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 2443 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 2444 0, 445, 338, 339, 0, 317, 265, 266, 611, 824, 2445 368, 559, 592, 484, 0, 838, 819, 821, 822, 825, 2446 829, 830, 831, 832, 833, 835, 837, 841, 610, 0, 2447 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 2448 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 2449 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 2450 457, 576, 577, 578, 579, 580, 581, 582, 575, 840, 2451 519, 496, 522, 437, 499, 498, 0, 0, 533, 772, 2452 534, 535, 358, 359, 360, 361, 827, 560, 288, 456, 2453 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 2454 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 2455 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 2456 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 2457 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 2458 425, 400, 347, 513, 540, 849, 823, 848, 850, 851, 2459 847, 852, 853, 834, 728, 0, 779, 845, 844, 846, 2460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2461 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 2462 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 2463 416, 609, 0, 267, 490, 341, 146, 382, 315, 555, 2464 556, 0, 0, 812, 786, 787, 788, 725, 789, 783, 2465 784, 726, 785, 813, 777, 809, 810, 753, 780, 790, 2466 808, 791, 811, 814, 815, 854, 855, 797, 781, 231, 2467 856, 794, 816, 807, 806, 792, 778, 817, 818, 760, 2468 755, 795, 796, 782, 800, 801, 802, 727, 774, 775, 2469 776, 798, 799, 756, 757, 758, 759, 0, 0, 0, 2470 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 2471 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 2472 595, 597, 599, 803, 601, 770, 612, 480, 481, 613, 2473 591, 0, 720, 0, 370, 0, 495, 528, 517, 600, 2474 483, 0, 0, 0, 0, 0, 0, 723, 0, 0, 2475 0, 310, 3819, 0, 340, 532, 514, 524, 515, 500, 2476 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 2477 507, 508, 761, 531, 482, 401, 354, 549, 548, 0, 2478 0, 828, 836, 0, 0, 0, 0, 0, 0, 0, 2479 0, 0, 0, 715, 0, 0, 751, 805, 804, 738, 2480 748, 0, 0, 283, 205, 477, 596, 479, 478, 739, 2481 0, 740, 744, 747, 743, 741, 742, 0, 820, 0, 2482 0, 0, 0, 0, 0, 707, 719, 0, 724, 0, 2483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485 0, 0, 716, 717, 0, 0, 0, 0, 771, 0, 2486 718, 0, 0, 766, 745, 749, 0, 0, 0, 0, 2487 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 2488 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 2489 0, 388, 308, 322, 305, 367, 746, 769, 773, 304, 2490 842, 767, 431, 277, 0, 430, 366, 417, 422, 352, 2491 346, 276, 419, 350, 345, 334, 312, 843, 335, 336, 2492 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 2493 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 2494 0, 0, 0, 0, 0, 0, 0, 590, 764, 0, 2495 593, 0, 433, 0, 0, 826, 0, 0, 0, 405, 2496 0, 0, 337, 0, 0, 0, 768, 0, 391, 372, 2497 839, 0, 0, 389, 342, 418, 380, 424, 407, 432, 2498 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 2499 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 2500 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 2501 398, 300, 271, 376, 415, 0, 319, 386, 349, 272, 2502 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 2503 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 2504 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 2505 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 2506 265, 266, 611, 824, 368, 559, 592, 484, 0, 838, 2507 819, 821, 822, 825, 829, 830, 831, 832, 833, 835, 2508 837, 841, 610, 0, 538, 553, 614, 552, 607, 374, 2509 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 2510 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 2511 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 2512 581, 582, 575, 840, 519, 496, 522, 437, 499, 498, 2513 0, 0, 533, 772, 534, 535, 358, 359, 360, 361, 2514 827, 560, 288, 456, 384, 0, 520, 0, 0, 0, 2515 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 2516 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 2517 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 2518 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 2519 434, 371, 392, 285, 425, 400, 347, 513, 540, 849, 2520 823, 848, 850, 851, 847, 852, 853, 834, 728, 0, 2521 779, 845, 844, 846, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 2523 563, 562, 561, 0, 0, 510, 412, 297, 259, 293, 2524 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 2525 0, 382, 315, 555, 556, 0, 0, 812, 786, 787, 2526 788, 725, 789, 783, 784, 726, 785, 813, 777, 809, 2527 810, 753, 780, 790, 808, 791, 811, 814, 815, 854, 2528 855, 797, 781, 231, 856, 794, 816, 807, 806, 792, 2529 778, 817, 818, 760, 755, 795, 796, 782, 800, 801, 2530 802, 727, 774, 775, 776, 798, 799, 756, 757, 758, 2531 759, 0, 0, 0, 441, 442, 443, 465, 0, 427, 2532 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 2533 551, 585, 0, 594, 595, 597, 599, 803, 601, 770, 2534 612, 480, 481, 613, 591, 0, 720, 0, 370, 0, 2535 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 2536 0, 723, 0, 0, 0, 310, 0, 0, 340, 532, 2537 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 2538 505, 475, 506, 476, 507, 508, 761, 531, 482, 401, 2539 354, 549, 548, 0, 0, 828, 836, 0, 0, 0, 2540 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 2541 751, 805, 804, 738, 748, 0, 0, 283, 205, 477, 2542 596, 479, 478, 739, 0, 740, 744, 747, 743, 741, 2543 742, 0, 820, 0, 0, 0, 0, 0, 0, 707, 2544 719, 0, 724, 0, 0, 0, 0, 0, 0, 0, 2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546 0, 0, 0, 0, 0, 0, 716, 717, 0, 0, 2547 0, 0, 771, 0, 718, 0, 0, 766, 745, 749, 2548 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 2549 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 2550 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 2551 746, 769, 773, 304, 842, 767, 431, 277, 0, 430, 2552 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 2553 312, 843, 335, 336, 326, 378, 344, 379, 327, 356, 2554 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2556 0, 590, 764, 0, 593, 0, 433, 0, 0, 826, 2557 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 2558 768, 0, 391, 372, 839, 3714, 0, 389, 342, 418, 2559 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 2560 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 2561 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 2562 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 2563 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 2564 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 2565 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 2566 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 2567 338, 339, 0, 317, 265, 266, 611, 824, 368, 559, 2568 592, 484, 0, 838, 819, 821, 822, 825, 829, 830, 2569 831, 832, 833, 835, 837, 841, 610, 0, 538, 553, 2570 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 2571 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 2572 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 2573 577, 578, 579, 580, 581, 582, 575, 840, 519, 496, 2574 522, 437, 499, 498, 0, 0, 533, 772, 534, 535, 2575 358, 359, 360, 361, 827, 560, 288, 456, 384, 0, 2576 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 2577 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 2578 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 2579 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 2580 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 2581 347, 513, 540, 849, 823, 848, 850, 851, 847, 852, 2582 853, 834, 728, 0, 779, 845, 844, 846, 0, 0, 2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 2584 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 2585 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 2586 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 2587 0, 812, 786, 787, 788, 725, 789, 783, 784, 726, 2588 785, 813, 777, 809, 810, 753, 780, 790, 808, 791, 2589 811, 814, 815, 854, 855, 797, 781, 231, 856, 794, 2590 816, 807, 806, 792, 778, 817, 818, 760, 755, 795, 2591 796, 782, 800, 801, 802, 727, 774, 775, 776, 798, 2592 799, 756, 757, 758, 759, 0, 0, 0, 441, 442, 2593 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 2594 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 2595 599, 803, 601, 770, 612, 480, 481, 613, 591, 0, 2596 720, 0, 370, 0, 495, 528, 517, 600, 483, 0, 2597 0, 0, 0, 0, 0, 723, 0, 0, 0, 310, 2598 1762, 0, 340, 532, 514, 524, 515, 500, 501, 502, 2599 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 2600 761, 531, 482, 401, 354, 549, 548, 0, 0, 828, 2601 836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2602 0, 715, 0, 0, 751, 805, 804, 738, 748, 0, 2603 0, 283, 205, 477, 596, 479, 478, 739, 0, 740, 2604 744, 747, 743, 741, 742, 0, 820, 0, 0, 0, 2605 0, 0, 0, 707, 719, 0, 724, 0, 0, 0, 2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2608 716, 717, 0, 0, 0, 0, 771, 0, 718, 0, 2609 0, 766, 745, 749, 0, 0, 0, 0, 273, 406, 2610 423, 284, 397, 436, 289, 404, 279, 369, 393, 0, 2611 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 2612 308, 322, 305, 367, 746, 769, 773, 304, 842, 767, 2613 431, 277, 0, 430, 366, 417, 422, 352, 346, 276, 2614 419, 350, 345, 334, 312, 843, 335, 336, 326, 378, 2615 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 2616 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 2617 0, 0, 0, 0, 0, 590, 764, 0, 593, 0, 2618 433, 0, 0, 826, 0, 0, 0, 405, 0, 0, 2619 337, 0, 0, 0, 768, 0, 391, 372, 839, 0, 2620 0, 389, 342, 418, 380, 424, 407, 432, 385, 381, 2621 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 2622 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 2623 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 2624 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 2625 414, 413, 281, 440, 446, 447, 536, 0, 452, 616, 2626 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 2627 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 2628 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 2629 611, 824, 368, 559, 592, 484, 0, 838, 819, 821, 2630 822, 825, 829, 830, 831, 832, 833, 835, 837, 841, 2631 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 2632 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 2633 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 2634 574, 270, 457, 576, 577, 578, 579, 580, 581, 582, 2635 575, 840, 519, 496, 522, 437, 499, 498, 0, 0, 2636 533, 772, 534, 535, 358, 359, 360, 361, 827, 560, 2637 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 2638 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 2639 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 2640 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 2641 588, 365, 328, 329, 399, 333, 343, 387, 434, 371, 2642 392, 285, 425, 400, 347, 513, 540, 849, 823, 848, 2643 850, 851, 847, 852, 853, 834, 728, 0, 779, 845, 2644 844, 846, 0, 0, 0, 0, 0, 0, 0, 0, 2645 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 2646 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 2647 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 2648 315, 555, 556, 0, 0, 812, 786, 787, 788, 725, 2649 789, 783, 784, 726, 785, 813, 777, 809, 810, 753, 2650 780, 790, 808, 791, 811, 814, 815, 854, 855, 797, 2651 781, 231, 856, 794, 816, 807, 806, 792, 778, 817, 2652 818, 760, 755, 795, 796, 782, 800, 801, 802, 727, 2653 774, 775, 776, 798, 799, 756, 757, 758, 759, 0, 2654 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 2655 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 2656 0, 594, 595, 597, 599, 803, 601, 770, 612, 480, 2657 481, 613, 591, 0, 720, 0, 370, 0, 495, 528, 2658 517, 600, 483, 0, 0, 0, 0, 0, 0, 723, 2659 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 2660 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 2661 506, 476, 507, 508, 761, 531, 482, 401, 354, 549, 2662 548, 0, 0, 828, 836, 0, 0, 0, 0, 0, 2663 0, 0, 0, 0, 0, 715, 0, 0, 751, 805, 2664 804, 738, 748, 0, 0, 283, 205, 477, 596, 479, 2665 478, 739, 0, 740, 744, 747, 743, 741, 742, 0, 2666 820, 0, 0, 0, 0, 0, 0, 707, 719, 0, 2667 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2669 0, 0, 0, 0, 716, 717, 1484, 0, 0, 0, 2670 771, 0, 718, 0, 0, 766, 745, 749, 0, 0, 2671 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 2672 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 2673 331, 274, 0, 388, 308, 322, 305, 367, 746, 769, 2674 773, 304, 842, 767, 431, 277, 0, 430, 366, 417, 2675 422, 352, 346, 276, 419, 350, 345, 334, 312, 843, 2676 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 2677 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 2679 764, 0, 593, 0, 433, 0, 0, 826, 0, 0, 2680 0, 405, 0, 0, 337, 0, 0, 0, 768, 0, 2681 391, 372, 839, 0, 0, 389, 342, 418, 380, 424, 2682 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 2683 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 2684 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 2685 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 2686 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 2687 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 2688 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 2689 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 2690 0, 317, 265, 266, 611, 824, 368, 559, 592, 484, 2691 0, 838, 819, 821, 822, 825, 829, 830, 831, 832, 2692 833, 835, 837, 841, 610, 0, 538, 553, 614, 552, 2693 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 2694 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 2695 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 2696 579, 580, 581, 582, 575, 840, 519, 496, 522, 437, 2697 499, 498, 0, 0, 533, 772, 534, 535, 358, 359, 2698 360, 361, 827, 560, 288, 456, 384, 0, 520, 0, 2699 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 2700 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 2701 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 2702 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 2703 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 2704 540, 849, 823, 848, 850, 851, 847, 852, 853, 834, 2705 728, 0, 779, 845, 844, 846, 0, 0, 0, 0, 2706 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 2707 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 2708 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 2709 490, 341, 0, 382, 315, 555, 556, 0, 0, 812, 2710 786, 787, 788, 725, 789, 783, 784, 726, 785, 813, 2711 777, 809, 810, 753, 780, 790, 808, 791, 811, 814, 2712 815, 854, 855, 797, 781, 231, 856, 794, 816, 807, 2713 806, 792, 778, 817, 818, 760, 755, 795, 796, 782, 2714 800, 801, 802, 727, 774, 775, 776, 798, 799, 756, 2715 757, 758, 759, 0, 0, 0, 441, 442, 443, 465, 2716 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 2717 0, 539, 551, 585, 0, 594, 595, 597, 599, 803, 2718 601, 0, 612, 480, 481, 613, 591, 770, 720, 0, 2719 2129, 0, 0, 0, 0, 0, 370, 0, 495, 528, 2720 517, 600, 483, 0, 0, 0, 0, 0, 0, 723, 2721 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 2722 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 2723 506, 476, 507, 508, 761, 531, 482, 401, 354, 549, 2724 548, 0, 0, 828, 836, 0, 0, 0, 0, 0, 2725 0, 0, 0, 0, 0, 715, 0, 0, 751, 805, 2726 804, 738, 748, 0, 0, 283, 205, 477, 596, 479, 2727 478, 739, 0, 740, 744, 747, 743, 741, 742, 0, 2728 820, 0, 0, 0, 0, 0, 0, 707, 719, 0, 2729 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2731 0, 0, 0, 0, 716, 717, 0, 0, 0, 0, 2732 771, 0, 718, 0, 0, 766, 745, 749, 0, 0, 2733 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 2734 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 2735 331, 274, 0, 388, 308, 322, 305, 367, 746, 769, 2736 773, 304, 842, 767, 431, 277, 0, 430, 366, 417, 2737 422, 352, 346, 276, 419, 350, 345, 334, 312, 843, 2738 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 2739 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 2741 764, 0, 593, 0, 433, 0, 0, 826, 0, 0, 2742 0, 405, 0, 0, 337, 0, 0, 0, 768, 0, 2743 391, 372, 839, 0, 0, 389, 342, 418, 380, 424, 2744 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 2745 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 2746 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 2747 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 2748 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 2749 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 2750 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 2751 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 2752 0, 317, 265, 266, 611, 824, 368, 559, 592, 484, 2753 0, 838, 819, 821, 822, 825, 829, 830, 831, 832, 2754 833, 835, 837, 841, 610, 0, 538, 553, 614, 552, 2755 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 2756 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 2757 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 2758 579, 580, 581, 582, 575, 840, 519, 496, 522, 437, 2759 499, 498, 0, 0, 533, 772, 534, 535, 358, 359, 2760 360, 361, 827, 560, 288, 456, 384, 0, 520, 0, 2761 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 2762 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 2763 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 2764 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 2765 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 2766 540, 849, 823, 848, 850, 851, 847, 852, 853, 834, 2767 728, 0, 779, 845, 844, 846, 0, 0, 0, 0, 2768 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 2769 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 2770 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 2771 490, 341, 0, 382, 315, 555, 556, 0, 0, 812, 2772 786, 787, 788, 725, 789, 783, 784, 726, 785, 813, 2773 777, 809, 810, 753, 780, 790, 808, 791, 811, 814, 2774 815, 854, 855, 797, 781, 231, 856, 794, 816, 807, 2775 806, 792, 778, 817, 818, 760, 755, 795, 796, 782, 2776 800, 801, 802, 727, 774, 775, 776, 798, 799, 756, 2777 757, 758, 759, 0, 0, 0, 441, 442, 443, 465, 2778 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 2779 0, 539, 551, 585, 0, 594, 595, 597, 599, 803, 2780 601, 770, 612, 480, 481, 613, 591, 0, 720, 0, 2781 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 2782 0, 0, 0, 723, 0, 0, 0, 310, 0, 0, 2783 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 2784 503, 504, 505, 475, 506, 476, 507, 508, 761, 531, 2785 482, 401, 354, 549, 548, 0, 0, 828, 836, 0, 2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 2787 0, 0, 751, 805, 804, 738, 748, 0, 0, 283, 2788 205, 477, 596, 479, 478, 739, 0, 740, 744, 747, 2789 743, 741, 742, 0, 820, 0, 0, 0, 0, 0, 2790 0, 707, 719, 0, 724, 0, 0, 0, 0, 0, 2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792 0, 0, 0, 0, 0, 0, 0, 0, 716, 717, 2793 1755, 0, 0, 0, 771, 0, 718, 0, 0, 766, 2794 745, 749, 0, 0, 0, 0, 273, 406, 423, 284, 2795 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 2796 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 2797 305, 367, 746, 769, 773, 304, 842, 767, 431, 277, 2798 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 2799 345, 334, 312, 843, 335, 336, 326, 378, 344, 379, 2800 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 2801 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2802 0, 0, 0, 590, 764, 0, 593, 0, 433, 0, 2803 0, 826, 0, 0, 0, 405, 0, 0, 337, 0, 2804 0, 0, 768, 0, 391, 372, 839, 0, 0, 389, 2805 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 2806 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 2807 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 2808 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 2809 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 2810 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 2811 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 2812 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 2813 0, 445, 338, 339, 0, 317, 265, 266, 611, 824, 2814 368, 559, 592, 484, 0, 838, 819, 821, 822, 825, 2815 829, 830, 831, 832, 833, 835, 837, 841, 610, 0, 2816 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 2817 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 2818 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 2819 457, 576, 577, 578, 579, 580, 581, 582, 575, 840, 2820 519, 496, 522, 437, 499, 498, 0, 0, 533, 772, 2821 534, 535, 358, 359, 360, 361, 827, 560, 288, 456, 2822 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 2823 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 2824 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 2825 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 2826 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 2827 425, 400, 347, 513, 540, 849, 823, 848, 850, 851, 2828 847, 852, 853, 834, 728, 0, 779, 845, 844, 846, 2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2830 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 2831 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 2832 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 2833 556, 0, 0, 812, 786, 787, 788, 725, 789, 783, 2834 784, 726, 785, 813, 777, 809, 810, 753, 780, 790, 2835 808, 791, 811, 814, 815, 854, 855, 797, 781, 231, 2836 856, 794, 816, 807, 806, 792, 778, 817, 818, 760, 2837 755, 795, 796, 782, 800, 801, 802, 727, 774, 775, 2838 776, 798, 799, 756, 757, 758, 759, 0, 0, 0, 2839 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 2840 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 2841 595, 597, 599, 803, 601, 770, 612, 480, 481, 613, 2842 591, 0, 720, 0, 370, 0, 495, 528, 517, 600, 2843 483, 0, 0, 0, 0, 0, 0, 723, 0, 0, 2844 0, 310, 0, 0, 340, 532, 514, 524, 515, 500, 2845 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 2846 507, 508, 761, 531, 482, 401, 354, 549, 548, 0, 2847 0, 828, 836, 0, 0, 0, 0, 0, 0, 0, 2848 0, 0, 0, 715, 0, 0, 751, 805, 804, 738, 2849 748, 0, 0, 283, 205, 477, 596, 479, 478, 739, 2850 0, 740, 744, 747, 743, 741, 742, 0, 820, 0, 2851 0, 0, 0, 0, 0, 707, 719, 0, 724, 0, 2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2854 0, 0, 716, 717, 0, 0, 0, 0, 771, 0, 2855 718, 0, 0, 766, 745, 749, 0, 0, 0, 0, 2856 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 2857 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 2858 0, 388, 308, 322, 305, 367, 746, 769, 773, 304, 2859 842, 767, 431, 277, 0, 430, 366, 417, 422, 352, 2860 346, 276, 419, 350, 345, 334, 312, 843, 335, 336, 2861 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 2862 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 2863 0, 0, 0, 0, 0, 0, 0, 590, 764, 0, 2864 593, 0, 433, 0, 0, 826, 0, 0, 0, 405, 2865 0, 0, 337, 0, 0, 0, 768, 0, 391, 372, 2866 839, 0, 0, 389, 342, 418, 380, 424, 407, 432, 2867 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 2868 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 2869 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 2870 398, 300, 271, 376, 415, 0, 319, 386, 349, 272, 2871 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 2872 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 2873 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 2874 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 2875 265, 266, 611, 824, 368, 559, 592, 484, 0, 838, 2876 819, 821, 822, 825, 829, 830, 831, 832, 833, 835, 2877 837, 841, 610, 0, 538, 553, 614, 552, 607, 374, 2878 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 2879 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 2880 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 2881 581, 582, 575, 840, 519, 496, 522, 437, 499, 498, 2882 0, 0, 533, 772, 534, 535, 358, 359, 360, 361, 2883 827, 560, 288, 456, 384, 0, 520, 0, 0, 0, 2884 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 2885 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 2886 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 2887 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 2888 434, 371, 392, 285, 425, 400, 347, 513, 540, 849, 2889 823, 848, 850, 851, 847, 852, 853, 834, 728, 0, 2890 779, 845, 844, 846, 0, 0, 0, 0, 0, 0, 2891 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 2892 563, 562, 561, 0, 0, 510, 412, 297, 259, 293, 2893 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 2894 0, 382, 315, 555, 556, 0, 0, 812, 786, 787, 2895 788, 725, 789, 783, 784, 726, 785, 813, 777, 809, 2896 810, 753, 780, 790, 808, 791, 811, 814, 815, 854, 2897 855, 797, 781, 231, 856, 794, 816, 807, 806, 792, 2898 778, 817, 818, 760, 755, 795, 796, 782, 800, 801, 2899 802, 727, 774, 775, 776, 798, 799, 756, 757, 758, 2900 759, 0, 0, 0, 441, 442, 443, 465, 0, 427, 2901 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 2902 551, 585, 0, 594, 595, 597, 599, 803, 601, 770, 2903 612, 480, 481, 613, 591, 0, 720, 0, 370, 0, 2904 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 2905 0, 723, 0, 0, 0, 310, 0, 0, 340, 532, 2906 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 2907 505, 475, 506, 476, 507, 508, 761, 531, 482, 401, 2908 354, 549, 548, 0, 0, 828, 836, 0, 0, 0, 2909 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 2910 751, 805, 804, 738, 748, 0, 0, 283, 205, 477, 2911 596, 479, 478, 2576, 0, 2577, 744, 747, 743, 741, 2912 742, 0, 820, 0, 0, 0, 0, 0, 0, 707, 2913 719, 0, 724, 0, 0, 0, 0, 0, 0, 0, 2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2915 0, 0, 0, 0, 0, 0, 716, 717, 0, 0, 2916 0, 0, 771, 0, 718, 0, 0, 766, 745, 749, 2917 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 2918 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 2919 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 2920 746, 769, 773, 304, 842, 767, 431, 277, 0, 430, 2921 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 2922 312, 843, 335, 336, 326, 378, 344, 379, 327, 356, 2923 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 2924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2925 0, 590, 764, 0, 593, 0, 433, 0, 0, 826, 2926 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 2927 768, 0, 391, 372, 839, 0, 0, 389, 342, 418, 2928 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 2929 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 2930 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 2931 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 2932 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 2933 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 2934 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 2935 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 2936 338, 339, 0, 317, 265, 266, 611, 824, 368, 559, 2937 592, 484, 0, 838, 819, 821, 822, 825, 829, 830, 2938 831, 832, 833, 835, 837, 841, 610, 0, 538, 553, 2939 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 2940 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 2941 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 2942 577, 578, 579, 580, 581, 582, 575, 840, 519, 496, 2943 522, 437, 499, 498, 0, 0, 533, 772, 534, 535, 2944 358, 359, 360, 361, 827, 560, 288, 456, 384, 0, 2945 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 2946 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 2947 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 2948 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 2949 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 2950 347, 513, 540, 849, 823, 848, 850, 851, 847, 852, 2951 853, 834, 728, 0, 779, 845, 844, 846, 0, 0, 2952 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 2953 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 2954 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 2955 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 2956 0, 812, 786, 787, 788, 725, 789, 783, 784, 726, 2957 785, 813, 777, 809, 810, 753, 780, 790, 808, 791, 2958 811, 814, 815, 854, 855, 797, 781, 231, 856, 794, 2959 816, 807, 806, 792, 778, 817, 818, 760, 755, 795, 2960 796, 782, 800, 801, 802, 727, 774, 775, 776, 798, 2961 799, 756, 757, 758, 759, 0, 0, 0, 441, 442, 2962 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 2963 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 2964 599, 803, 601, 770, 612, 480, 481, 613, 591, 0, 2965 720, 0, 370, 0, 495, 528, 517, 600, 483, 0, 2966 0, 1625, 0, 0, 0, 723, 0, 0, 0, 310, 2967 0, 0, 340, 532, 514, 524, 515, 500, 501, 502, 2968 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 2969 761, 531, 482, 401, 354, 549, 548, 0, 0, 828, 2970 836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2971 0, 715, 0, 0, 751, 805, 804, 738, 748, 0, 2972 0, 283, 205, 477, 596, 479, 478, 739, 0, 740, 2973 744, 747, 743, 741, 742, 0, 820, 0, 0, 0, 2974 0, 0, 0, 0, 719, 0, 724, 0, 0, 0, 2975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2977 716, 717, 0, 0, 0, 0, 771, 0, 718, 0, 2978 0, 766, 745, 749, 0, 0, 0, 0, 273, 406, 2979 423, 284, 397, 436, 289, 404, 279, 369, 393, 0, 2980 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 2981 308, 322, 305, 367, 746, 769, 773, 304, 842, 767, 2982 431, 277, 0, 430, 366, 417, 422, 352, 346, 276, 2983 419, 350, 345, 334, 312, 843, 335, 336, 326, 378, 2984 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 2985 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 2986 0, 0, 0, 0, 0, 590, 764, 0, 593, 0, 2987 433, 0, 0, 826, 0, 0, 0, 405, 0, 0, 2988 337, 0, 0, 0, 768, 0, 391, 372, 839, 0, 2989 0, 389, 342, 418, 380, 424, 407, 432, 385, 381, 2990 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 2991 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 2992 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 2993 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 2994 414, 413, 281, 440, 1626, 1627, 536, 0, 452, 616, 2995 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 2996 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 2997 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 2998 611, 824, 368, 559, 592, 484, 0, 838, 819, 821, 2999 822, 825, 829, 830, 831, 832, 833, 835, 837, 841, 3000 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 3001 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 3002 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 3003 574, 270, 457, 576, 577, 578, 579, 580, 581, 582, 3004 575, 840, 519, 496, 522, 437, 499, 498, 0, 0, 3005 533, 772, 534, 535, 358, 359, 360, 361, 827, 560, 3006 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 3007 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 3008 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 3009 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 3010 588, 365, 328, 329, 399, 333, 343, 387, 434, 371, 3011 392, 285, 425, 400, 347, 513, 540, 849, 823, 848, 3012 850, 851, 847, 852, 853, 834, 728, 0, 779, 845, 3013 844, 846, 0, 0, 0, 0, 0, 0, 0, 0, 3014 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 3015 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 3016 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 3017 315, 555, 556, 0, 0, 812, 786, 787, 788, 725, 3018 789, 783, 784, 726, 785, 813, 777, 809, 810, 753, 3019 780, 790, 808, 791, 811, 814, 815, 854, 855, 797, 3020 781, 231, 856, 794, 816, 807, 806, 792, 778, 817, 3021 818, 760, 755, 795, 796, 782, 800, 801, 802, 727, 3022 774, 775, 776, 798, 799, 756, 757, 758, 759, 0, 3023 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 3024 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 3025 0, 594, 595, 597, 599, 803, 601, 770, 612, 480, 3026 481, 613, 591, 0, 720, 0, 370, 0, 495, 528, 3027 517, 600, 483, 0, 0, 0, 0, 0, 0, 723, 3028 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 3029 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 3030 506, 476, 507, 508, 761, 531, 482, 401, 354, 549, 3031 548, 0, 0, 828, 836, 0, 0, 0, 0, 0, 3032 0, 0, 0, 0, 0, 715, 0, 0, 751, 805, 3033 804, 738, 748, 0, 0, 283, 205, 477, 596, 479, 3034 478, 739, 0, 740, 744, 747, 743, 741, 742, 0, 3035 820, 0, 0, 0, 0, 0, 0, 0, 719, 0, 3036 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3038 0, 0, 0, 0, 716, 717, 0, 0, 0, 0, 3039 771, 0, 718, 0, 0, 766, 745, 749, 0, 0, 3040 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 3041 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 3042 331, 274, 0, 388, 308, 322, 305, 367, 746, 769, 3043 773, 304, 842, 767, 431, 277, 0, 430, 366, 417, 3044 422, 352, 346, 276, 419, 350, 345, 334, 312, 843, 3045 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 3046 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 3047 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 3048 764, 0, 593, 0, 433, 0, 0, 826, 0, 0, 3049 0, 405, 0, 0, 337, 0, 0, 0, 768, 0, 3050 391, 372, 839, 0, 0, 389, 342, 418, 380, 424, 3051 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 3052 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 3053 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 3054 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 3055 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 3056 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 3057 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 3058 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 3059 0, 317, 265, 266, 611, 824, 368, 559, 592, 484, 3060 0, 838, 819, 821, 822, 825, 829, 830, 831, 832, 3061 833, 835, 837, 841, 610, 0, 538, 553, 614, 552, 3062 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 3063 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 3064 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 3065 579, 580, 581, 582, 575, 840, 519, 496, 522, 437, 3066 499, 498, 0, 0, 533, 772, 534, 535, 358, 359, 3067 360, 361, 827, 560, 288, 456, 384, 0, 520, 0, 3068 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 3069 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 3070 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 3071 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 3072 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 3073 540, 849, 823, 848, 850, 851, 847, 852, 853, 834, 3074 728, 0, 779, 845, 844, 846, 0, 0, 0, 0, 3075 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 3076 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 3077 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 3078 490, 341, 0, 382, 315, 555, 556, 0, 0, 812, 3079 786, 787, 788, 725, 789, 783, 784, 726, 785, 813, 3080 777, 809, 810, 753, 780, 790, 808, 791, 811, 814, 3081 815, 854, 855, 797, 781, 231, 856, 794, 816, 807, 3082 806, 792, 778, 817, 818, 760, 755, 795, 796, 782, 3083 800, 801, 802, 727, 774, 775, 776, 798, 799, 756, 3084 757, 758, 759, 0, 0, 0, 441, 442, 443, 465, 3085 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 3086 0, 539, 551, 585, 0, 594, 595, 597, 599, 803, 3087 601, 770, 612, 480, 481, 613, 591, 0, 720, 0, 3088 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 3089 0, 0, 0, 723, 0, 0, 0, 310, 0, 0, 3090 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 3091 503, 504, 505, 475, 506, 476, 507, 508, 761, 531, 3092 482, 401, 354, 549, 548, 0, 0, 828, 836, 0, 3093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3094 0, 0, 751, 805, 804, 738, 748, 0, 0, 283, 3095 205, 477, 596, 479, 478, 739, 0, 740, 744, 747, 3096 743, 741, 742, 0, 820, 0, 0, 0, 0, 0, 3097 0, 707, 719, 0, 724, 0, 0, 0, 0, 0, 3098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3099 0, 0, 0, 0, 0, 0, 0, 0, 716, 717, 3100 0, 0, 0, 0, 771, 0, 718, 0, 0, 766, 3101 745, 749, 0, 0, 0, 0, 273, 406, 423, 284, 3102 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 3103 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 3104 305, 367, 746, 769, 773, 304, 842, 767, 431, 277, 3105 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 3106 345, 334, 312, 843, 335, 336, 326, 378, 344, 379, 3107 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 3108 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3109 0, 0, 0, 590, 764, 0, 593, 0, 433, 0, 3110 0, 826, 0, 0, 0, 405, 0, 0, 337, 0, 3111 0, 0, 768, 0, 391, 372, 839, 0, 0, 389, 3112 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 3113 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 3114 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 3115 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 3116 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 3117 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 3118 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 3119 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 3120 0, 445, 338, 339, 0, 317, 265, 266, 611, 824, 3121 368, 559, 592, 484, 0, 838, 819, 821, 822, 825, 3122 829, 830, 831, 832, 833, 835, 837, 841, 610, 0, 3123 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 3124 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 3125 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 3126 457, 576, 577, 578, 579, 580, 581, 582, 575, 840, 3127 519, 496, 522, 437, 499, 498, 0, 0, 533, 772, 3128 534, 535, 358, 359, 360, 361, 827, 560, 288, 456, 3129 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 3130 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 3131 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 3132 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 3133 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 3134 425, 400, 347, 513, 540, 849, 823, 848, 850, 851, 3135 847, 852, 853, 834, 728, 0, 779, 845, 844, 846, 3136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3137 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 3138 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 3139 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 3140 556, 0, 0, 812, 786, 787, 788, 725, 789, 783, 3141 784, 726, 785, 813, 777, 809, 810, 753, 780, 790, 3142 808, 791, 811, 814, 815, 854, 855, 797, 781, 231, 3143 856, 794, 816, 807, 806, 792, 778, 817, 818, 760, 3144 755, 795, 796, 782, 800, 801, 802, 727, 774, 775, 3145 776, 798, 799, 756, 757, 758, 759, 0, 0, 0, 3146 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 3147 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 3148 595, 597, 599, 803, 601, 0, 612, 480, 481, 613, 3149 591, 0, 720, 182, 55, 171, 145, 0, 0, 0, 3150 0, 0, 0, 370, 0, 495, 528, 517, 600, 483, 3151 0, 172, 0, 0, 0, 0, 0, 0, 164, 0, 3152 310, 0, 173, 340, 532, 514, 524, 515, 500, 501, 3153 502, 509, 320, 503, 504, 505, 475, 506, 476, 507, 3154 508, 121, 531, 482, 401, 354, 549, 548, 0, 0, 3155 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 3156 0, 0, 176, 0, 0, 204, 0, 0, 0, 0, 3157 0, 0, 283, 205, 477, 596, 479, 478, 0, 0, 3158 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 3159 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3163 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 3164 406, 423, 284, 397, 436, 289, 404, 279, 369, 393, 3165 0, 0, 275, 421, 403, 351, 330, 331, 274, 0, 3166 388, 308, 322, 305, 367, 0, 420, 448, 304, 439, 3167 0, 431, 277, 0, 430, 366, 417, 422, 352, 346, 3168 276, 419, 350, 345, 334, 312, 464, 335, 336, 326, 3169 378, 344, 379, 327, 356, 355, 357, 0, 0, 0, 3170 0, 0, 459, 460, 0, 0, 0, 0, 0, 0, 3171 144, 170, 180, 0, 107, 0, 590, 0, 0, 593, 3172 0, 433, 0, 0, 197, 0, 0, 0, 405, 0, 3173 0, 337, 169, 163, 162, 449, 0, 391, 372, 209, 3174 0, 0, 389, 342, 418, 380, 424, 407, 432, 385, 3175 381, 268, 408, 307, 353, 280, 282, 302, 309, 311, 3176 313, 314, 362, 363, 375, 396, 409, 410, 411, 306, 3177 290, 390, 291, 324, 292, 269, 298, 296, 299, 398, 3178 300, 271, 376, 415, 0, 319, 386, 349, 272, 348, 3179 377, 414, 413, 281, 440, 446, 447, 536, 0, 452, 3180 569, 570, 571, 461, 466, 467, 468, 470, 471, 472, 3181 473, 537, 554, 521, 491, 454, 545, 488, 492, 493, 3182 557, 0, 0, 0, 445, 338, 339, 0, 317, 265, 3183 266, 428, 303, 368, 559, 592, 484, 0, 546, 485, 3184 494, 295, 518, 530, 529, 364, 444, 200, 541, 544, 3185 474, 210, 0, 538, 553, 511, 552, 211, 374, 0, 3186 395, 550, 497, 0, 542, 516, 0, 543, 512, 547, 3187 0, 486, 0, 402, 426, 438, 455, 458, 487, 572, 3188 573, 574, 270, 457, 576, 577, 578, 579, 580, 581, 3189 582, 575, 429, 519, 496, 522, 437, 499, 498, 0, 3190 0, 533, 453, 534, 535, 358, 359, 360, 361, 321, 3191 560, 288, 456, 384, 119, 520, 0, 0, 0, 0, 3192 0, 0, 0, 0, 525, 526, 523, 208, 0, 583, 3193 584, 0, 0, 450, 451, 316, 323, 469, 325, 287, 3194 373, 318, 435, 332, 0, 462, 527, 463, 586, 589, 3195 587, 588, 365, 328, 329, 399, 333, 343, 387, 434, 3196 371, 392, 285, 425, 400, 347, 513, 540, 0, 0, 3197 0, 0, 0, 0, 0, 0, 56, 0, 0, 254, 3198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3199 0, 0, 0, 0, 568, 567, 566, 565, 564, 563, 3200 562, 561, 0, 0, 510, 412, 297, 259, 293, 294, 3201 301, 383, 278, 416, 394, 0, 267, 490, 341, 146, 3202 382, 315, 555, 556, 52, 0, 215, 216, 217, 218, 3203 219, 220, 221, 222, 260, 223, 224, 225, 226, 227, 3204 228, 229, 232, 233, 234, 235, 236, 237, 238, 239, 3205 558, 230, 231, 240, 241, 242, 243, 244, 245, 246, 3206 247, 248, 249, 250, 251, 252, 253, 0, 0, 0, 3207 261, 262, 263, 264, 0, 0, 255, 256, 257, 258, 3208 0, 0, 0, 441, 442, 443, 465, 0, 427, 489, 3209 212, 41, 198, 201, 203, 202, 0, 53, 539, 551, 3210 585, 5, 594, 595, 597, 599, 598, 601, 124, 213, 3211 480, 481, 214, 591, 182, 0, 0, 0, 0, 0, 3212 0, 0, 0, 0, 370, 0, 495, 528, 517, 600, 3213 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3214 0, 310, 0, 0, 340, 532, 514, 524, 515, 500, 3215 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 3216 507, 508, 121, 531, 482, 401, 354, 549, 548, 0, 3217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3218 0, 0, 0, 176, 0, 0, 204, 0, 0, 0, 3219 0, 0, 0, 283, 205, 477, 596, 479, 478, 0, 3220 0, 0, 0, 0, 0, 0, 0, 0, 286, 2271, 3221 2274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3226 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 3227 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 3228 0, 388, 308, 322, 305, 367, 0, 420, 448, 304, 3229 439, 0, 431, 277, 0, 430, 366, 417, 422, 352, 3230 346, 276, 419, 350, 345, 334, 312, 464, 335, 336, 3231 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 3232 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 3233 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 3234 593, 2275, 433, 0, 0, 0, 2270, 0, 2269, 405, 3235 2267, 2272, 337, 0, 0, 0, 449, 0, 391, 372, 3236 615, 0, 0, 389, 342, 418, 380, 424, 407, 432, 3237 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 3238 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 3239 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 3240 398, 300, 271, 376, 415, 2273, 319, 386, 349, 272, 3241 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 3242 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 3243 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 3244 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 3245 265, 266, 611, 303, 368, 559, 592, 484, 0, 546, 3246 485, 494, 295, 518, 530, 529, 364, 444, 0, 541, 3247 544, 474, 610, 0, 538, 553, 614, 552, 607, 374, 3248 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 3249 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 3250 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 3251 581, 582, 575, 429, 519, 496, 522, 437, 499, 498, 3252 0, 0, 533, 453, 534, 535, 358, 359, 360, 361, 3253 321, 560, 288, 456, 384, 0, 520, 0, 0, 0, 3254 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 3255 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 3256 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 3257 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 3258 434, 371, 392, 285, 425, 400, 347, 513, 540, 0, 3259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3260 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3261 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 3262 563, 562, 561, 0, 0, 510, 412, 297, 259, 293, 3263 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 3264 146, 382, 315, 555, 556, 0, 0, 215, 216, 217, 3265 218, 219, 220, 221, 222, 260, 223, 224, 225, 226, 3266 227, 228, 229, 232, 233, 234, 235, 236, 237, 238, 3267 239, 558, 230, 231, 240, 241, 242, 243, 244, 245, 3268 246, 247, 248, 249, 250, 251, 252, 253, 0, 0, 3269 0, 261, 262, 263, 264, 0, 0, 255, 256, 257, 3270 258, 0, 0, 0, 441, 442, 443, 465, 0, 427, 3271 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 3272 551, 585, 0, 594, 595, 597, 599, 598, 601, 0, 3273 612, 480, 481, 613, 591, 370, 0, 495, 528, 517, 3274 600, 483, 0, 0, 0, 0, 0, 0, 0, 0, 3275 0, 0, 310, 0, 0, 340, 532, 514, 524, 515, 3276 500, 501, 502, 509, 320, 503, 504, 505, 475, 506, 3277 476, 507, 508, 0, 531, 482, 401, 354, 549, 548, 3278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3279 0, 0, 0, 0, 1252, 0, 0, 204, 0, 0, 3280 738, 748, 0, 0, 283, 205, 477, 596, 479, 478, 3281 739, 0, 740, 744, 747, 743, 741, 742, 0, 286, 3282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3286 0, 0, 0, 0, 0, 745, 0, 0, 0, 0, 3287 0, 273, 406, 423, 284, 397, 436, 289, 404, 279, 3288 369, 393, 0, 0, 275, 421, 403, 351, 330, 331, 3289 274, 0, 388, 308, 322, 305, 367, 746, 420, 448, 3290 304, 439, 0, 431, 277, 0, 430, 366, 417, 422, 3291 352, 346, 276, 419, 350, 345, 334, 312, 464, 335, 3292 336, 326, 378, 344, 379, 327, 356, 355, 357, 0, 3293 0, 0, 0, 0, 459, 460, 0, 0, 0, 0, 3294 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 3295 0, 593, 0, 433, 0, 0, 0, 0, 0, 0, 3296 405, 0, 0, 337, 0, 0, 0, 449, 0, 391, 3297 372, 615, 0, 0, 389, 342, 418, 380, 424, 407, 3298 432, 385, 381, 268, 408, 307, 353, 280, 282, 302, 3299 309, 311, 313, 314, 362, 363, 375, 396, 409, 410, 3300 411, 306, 290, 390, 291, 324, 292, 269, 298, 296, 3301 299, 398, 300, 271, 376, 415, 0, 319, 386, 349, 3302 272, 348, 377, 414, 413, 281, 440, 446, 447, 536, 3303 0, 452, 616, 617, 618, 461, 466, 467, 468, 470, 3304 471, 472, 473, 537, 554, 521, 491, 454, 545, 488, 3305 492, 493, 557, 0, 0, 0, 445, 338, 339, 0, 3306 317, 265, 266, 611, 303, 368, 559, 592, 484, 0, 3307 546, 485, 494, 295, 518, 530, 529, 364, 444, 0, 3308 541, 544, 474, 610, 0, 538, 553, 614, 552, 607, 3309 374, 0, 395, 550, 497, 0, 542, 516, 0, 543, 3310 512, 547, 0, 486, 0, 402, 426, 438, 455, 458, 3311 487, 572, 573, 574, 270, 457, 576, 577, 578, 579, 3312 580, 581, 582, 575, 429, 519, 496, 522, 437, 499, 3313 498, 0, 0, 533, 453, 534, 535, 358, 359, 360, 3314 361, 321, 560, 288, 456, 384, 0, 520, 0, 0, 3315 0, 0, 0, 0, 0, 0, 525, 526, 523, 619, 3316 0, 583, 584, 0, 0, 450, 451, 316, 323, 469, 3317 325, 287, 373, 318, 435, 332, 0, 462, 527, 463, 3318 586, 589, 587, 588, 365, 328, 329, 399, 333, 343, 3319 387, 434, 371, 392, 285, 425, 400, 347, 513, 540, 3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3321 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 3322 0, 0, 0, 0, 0, 0, 568, 567, 566, 565, 3323 564, 563, 562, 561, 0, 0, 510, 412, 297, 259, 3324 293, 294, 301, 608, 605, 416, 609, 0, 267, 490, 3325 341, 0, 382, 315, 555, 556, 0, 0, 215, 216, 3326 217, 218, 219, 220, 221, 222, 260, 223, 224, 225, 3327 226, 227, 228, 229, 232, 233, 234, 235, 236, 237, 3328 238, 239, 558, 230, 231, 240, 241, 242, 243, 244, 3329 245, 246, 247, 248, 249, 250, 251, 252, 253, 0, 3330 0, 0, 261, 262, 263, 264, 0, 0, 255, 256, 3331 257, 258, 0, 0, 0, 441, 442, 443, 465, 0, 3332 427, 489, 606, 0, 0, 0, 0, 0, 0, 0, 3333 539, 551, 585, 0, 594, 595, 597, 599, 598, 601, 3334 0, 612, 480, 481, 613, 591, 182, 55, 171, 145, 3335 0, 0, 0, 0, 0, 0, 370, 638, 495, 528, 3336 517, 600, 483, 0, 0, 0, 0, 0, 0, 0, 3337 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 3338 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 3339 506, 476, 507, 508, 0, 531, 482, 401, 354, 549, 3340 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3341 644, 0, 0, 0, 0, 643, 0, 0, 204, 0, 3342 0, 0, 0, 0, 0, 283, 205, 477, 596, 479, 3343 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3344 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3349 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 3350 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 3351 331, 274, 0, 388, 308, 322, 305, 367, 0, 420, 3352 448, 304, 439, 0, 431, 277, 0, 430, 366, 417, 3353 422, 352, 346, 276, 419, 350, 345, 334, 312, 464, 3354 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 3355 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 3356 0, 0, 0, 0, 0, 0, 0, 642, 0, 590, 3357 0, 0, 593, 0, 433, 0, 0, 0, 0, 0, 3358 0, 405, 0, 0, 337, 0, 0, 0, 449, 0, 3359 391, 372, 615, 0, 0, 389, 342, 418, 380, 424, 3360 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 3361 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 3362 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 3363 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 3364 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 3365 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 3366 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 3367 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 3368 0, 317, 265, 266, 611, 303, 368, 559, 592, 484, 3369 0, 546, 485, 494, 295, 518, 530, 529, 364, 444, 3370 0, 541, 544, 474, 610, 0, 538, 553, 614, 552, 3371 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 3372 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 3373 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 3374 579, 580, 581, 582, 575, 429, 519, 496, 522, 437, 3375 499, 498, 0, 0, 533, 453, 534, 535, 358, 359, 3376 360, 361, 639, 641, 288, 456, 384, 652, 520, 0, 3377 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 3378 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 3379 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 3380 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 3381 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 3382 540, 0, 0, 0, 0, 0, 0, 0, 0, 56, 3383 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 3384 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 3385 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 3386 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 3387 490, 341, 146, 382, 315, 555, 556, 0, 0, 215, 3388 216, 217, 218, 219, 220, 221, 222, 260, 223, 224, 3389 225, 226, 227, 228, 229, 232, 233, 234, 235, 236, 3390 237, 238, 239, 558, 230, 231, 240, 241, 242, 243, 3391 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 3392 0, 0, 0, 261, 262, 263, 264, 0, 0, 255, 3393 256, 257, 258, 0, 0, 0, 441, 442, 443, 465, 3394 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 3395 0, 539, 551, 585, 0, 594, 595, 597, 599, 598, 3396 601, 0, 612, 480, 481, 613, 591, 370, 0, 495, 3397 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 3398 0, 0, 0, 0, 310, 0, 0, 340, 532, 514, 3399 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 3400 475, 506, 476, 507, 508, 0, 531, 482, 401, 354, 3401 549, 548, 0, 0, 0, 0, 0, 0, 0, 0, 3402 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 3403 0, 0, 0, 0, 0, 0, 283, 205, 477, 596, 3404 479, 478, 0, 0, 0, 0, 0, 0, 0, 0, 3405 0, 286, 2271, 2274, 0, 0, 0, 0, 0, 0, 3406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3410 0, 0, 0, 273, 406, 423, 284, 397, 436, 289, 3411 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 3412 330, 331, 274, 0, 388, 308, 322, 305, 367, 0, 3413 420, 448, 304, 439, 0, 431, 277, 0, 430, 366, 3414 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 3415 464, 335, 336, 326, 378, 344, 379, 327, 356, 355, 3416 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3418 590, 0, 0, 593, 2275, 433, 0, 0, 0, 2270, 3419 0, 2269, 405, 2267, 2272, 337, 0, 0, 0, 449, 3420 0, 391, 372, 615, 0, 0, 389, 342, 418, 380, 3421 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 3422 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 3423 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 3424 298, 296, 299, 398, 300, 271, 376, 415, 2273, 319, 3425 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 3426 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 3427 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 3428 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 3429 339, 0, 317, 265, 266, 611, 303, 368, 559, 592, 3430 484, 0, 546, 485, 494, 295, 518, 530, 529, 364, 3431 444, 0, 541, 544, 474, 610, 0, 538, 553, 614, 3432 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 3433 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 3434 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 3435 578, 579, 580, 581, 582, 575, 429, 519, 496, 522, 3436 437, 499, 498, 0, 0, 533, 453, 534, 535, 358, 3437 359, 360, 361, 321, 560, 288, 456, 384, 0, 520, 3438 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 3439 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 3440 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 3441 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 3442 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 3443 513, 540, 0, 0, 0, 0, 0, 0, 0, 0, 3444 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 3445 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 3446 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 3447 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 3448 267, 490, 341, 0, 382, 315, 555, 556, 0, 0, 3449 215, 216, 217, 218, 219, 220, 221, 222, 260, 223, 3450 224, 225, 226, 227, 228, 229, 232, 233, 234, 235, 3451 236, 237, 238, 239, 558, 230, 231, 240, 241, 242, 3452 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 3453 253, 0, 0, 0, 261, 262, 263, 264, 0, 0, 3454 255, 256, 257, 258, 0, 0, 0, 441, 442, 443, 3455 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 3456 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 3457 598, 601, 0, 612, 480, 481, 613, 591, 370, 0, 3458 495, 528, 517, 600, 483, 0, 1065, 0, 0, 0, 3459 0, 0, 0, 0, 0, 310, 0, 0, 340, 532, 3460 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 3461 505, 475, 506, 476, 507, 508, 0, 531, 482, 401, 3462 354, 549, 548, 0, 0, 0, 0, 0, 0, 0, 3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3464 204, 0, 0, 0, 0, 0, 0, 283, 205, 477, 3465 596, 479, 478, 0, 0, 0, 0, 0, 0, 0, 3466 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3470 0, 0, 0, 0, 0, 0, 0, 1051, 0, 0, 3471 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 3472 289, 404, 279, 369, 393, 0, 0, 2420, 2423, 2424, 3473 2425, 2426, 2427, 2428, 0, 2433, 2429, 2430, 2431, 2432, 3474 0, 2415, 2416, 2417, 2418, 1049, 2399, 2421, 0, 2400, 3475 366, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 3476 2412, 2413, 2410, 2411, 2419, 378, 344, 379, 327, 356, 3477 355, 357, 1076, 1078, 1080, 1082, 1085, 459, 460, 0, 3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3479 0, 590, 0, 0, 593, 0, 433, 0, 0, 0, 3480 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 3481 2414, 0, 391, 372, 615, 0, 0, 389, 342, 418, 3482 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 3483 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 3484 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 3485 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 3486 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 3487 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 3488 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 3489 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 3490 338, 339, 0, 317, 265, 266, 611, 303, 368, 559, 3491 592, 484, 0, 546, 485, 494, 295, 518, 530, 529, 3492 364, 444, 0, 541, 544, 474, 610, 0, 538, 553, 3493 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 3494 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 3495 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 3496 577, 578, 579, 580, 581, 582, 575, 429, 519, 496, 3497 522, 437, 499, 498, 0, 0, 533, 453, 534, 535, 3498 358, 359, 360, 361, 321, 560, 288, 456, 384, 0, 3499 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 3500 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 3501 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 3502 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 3503 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 3504 347, 513, 540, 0, 0, 0, 0, 0, 0, 0, 3505 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 3506 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 3507 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 3508 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 3509 0, 267, 2422, 341, 0, 382, 315, 555, 556, 0, 3510 0, 215, 216, 217, 218, 219, 220, 221, 222, 260, 3511 223, 224, 225, 226, 227, 228, 229, 232, 233, 234, 3512 235, 236, 237, 238, 239, 558, 230, 231, 240, 241, 3513 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 3514 252, 253, 0, 0, 0, 261, 262, 263, 264, 0, 3515 0, 255, 256, 257, 258, 0, 0, 0, 441, 442, 3516 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 3517 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 3518 599, 598, 601, 0, 612, 480, 481, 613, 591, 370, 3519 0, 495, 528, 517, 600, 483, 0, 0, 0, 0, 3520 0, 0, 0, 0, 0, 0, 310, 0, 0, 340, 3521 532, 514, 524, 515, 500, 501, 502, 509, 320, 503, 3522 504, 505, 475, 506, 476, 507, 508, 0, 531, 482, 3523 401, 354, 549, 548, 0, 0, 0, 0, 0, 0, 3524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3525 0, 204, 0, 0, 0, 0, 0, 0, 283, 205, 3526 477, 596, 479, 478, 0, 0, 0, 0, 0, 0, 3527 0, 0, 0, 286, 0, 2292, 0, 0, 0, 0, 3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3532 0, 0, 0, 0, 0, 273, 406, 423, 284, 397, 3533 436, 289, 404, 279, 369, 393, 0, 0, 275, 421, 3534 403, 351, 330, 331, 274, 0, 388, 308, 322, 305, 3535 367, 0, 420, 448, 304, 439, 0, 431, 277, 0, 3536 430, 366, 417, 422, 352, 346, 276, 419, 350, 345, 3537 334, 312, 464, 335, 336, 326, 378, 344, 379, 327, 3538 356, 355, 357, 0, 0, 0, 0, 0, 459, 460, 3539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3540 0, 0, 590, 0, 0, 593, 2291, 433, 0, 0, 3541 0, 2297, 2294, 2296, 405, 0, 2295, 337, 0, 0, 3542 0, 449, 0, 391, 372, 615, 0, 2289, 389, 342, 3543 418, 380, 424, 407, 432, 385, 381, 268, 408, 307, 3544 353, 280, 282, 302, 309, 311, 313, 314, 362, 363, 3545 375, 396, 409, 410, 411, 306, 290, 390, 291, 324, 3546 292, 269, 298, 296, 299, 398, 300, 271, 376, 415, 3547 0, 319, 386, 349, 272, 348, 377, 414, 413, 281, 3548 440, 446, 447, 536, 0, 452, 616, 617, 618, 461, 3549 466, 467, 468, 470, 471, 472, 473, 537, 554, 521, 3550 491, 454, 545, 488, 492, 493, 557, 0, 0, 0, 3551 445, 338, 339, 0, 317, 265, 266, 611, 303, 368, 3552 559, 592, 484, 0, 546, 485, 494, 295, 518, 530, 3553 529, 364, 444, 0, 541, 544, 474, 610, 0, 538, 3554 553, 614, 552, 607, 374, 0, 395, 550, 497, 0, 3555 542, 516, 0, 543, 512, 547, 0, 486, 0, 402, 3556 426, 438, 455, 458, 487, 572, 573, 574, 270, 457, 3557 576, 577, 578, 579, 580, 581, 582, 575, 429, 519, 3558 496, 522, 437, 499, 498, 0, 0, 533, 453, 534, 3559 535, 358, 359, 360, 361, 321, 560, 288, 456, 384, 3560 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 3561 525, 526, 523, 619, 0, 583, 584, 0, 0, 450, 3562 451, 316, 323, 469, 325, 287, 373, 318, 435, 332, 3563 0, 462, 527, 463, 586, 589, 587, 588, 365, 328, 3564 329, 399, 333, 343, 387, 434, 371, 392, 285, 425, 3565 400, 347, 513, 540, 0, 0, 0, 0, 0, 0, 3566 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 3567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3568 568, 567, 566, 565, 564, 563, 562, 561, 0, 0, 3569 510, 412, 297, 259, 293, 294, 301, 608, 605, 416, 3570 609, 0, 267, 490, 341, 0, 382, 315, 555, 556, 3571 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, 3572 260, 223, 224, 225, 226, 227, 228, 229, 232, 233, 3573 234, 235, 236, 237, 238, 239, 558, 230, 231, 240, 3574 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 3575 251, 252, 253, 0, 0, 0, 261, 262, 263, 264, 3576 0, 0, 255, 256, 257, 258, 0, 0, 0, 441, 3577 442, 443, 465, 0, 427, 489, 606, 0, 0, 0, 3578 0, 0, 0, 0, 539, 551, 585, 0, 594, 595, 3579 597, 599, 598, 601, 0, 612, 480, 481, 613, 591, 3580 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 3581 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 3582 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 3583 503, 504, 505, 475, 506, 476, 507, 508, 0, 531, 3584 482, 401, 354, 549, 548, 0, 0, 0, 0, 0, 3585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3586 0, 0, 204, 0, 0, 0, 0, 0, 0, 283, 3587 205, 477, 596, 479, 478, 0, 0, 0, 0, 0, 3588 0, 0, 0, 0, 286, 0, 2292, 0, 0, 0, 3589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3593 0, 0, 0, 0, 0, 0, 273, 406, 423, 284, 3594 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 3595 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 3596 305, 367, 0, 420, 448, 304, 439, 0, 431, 277, 3597 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 3598 345, 334, 312, 464, 335, 336, 326, 378, 344, 379, 3599 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 3600 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3601 0, 0, 0, 590, 0, 0, 593, 2291, 433, 0, 3602 0, 0, 2297, 2294, 2296, 405, 0, 2295, 337, 0, 3603 0, 0, 449, 0, 391, 372, 615, 0, 0, 389, 3604 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 3605 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 3606 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 3607 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 3608 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 3609 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 3610 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 3611 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 3612 0, 445, 338, 339, 0, 317, 265, 266, 611, 303, 3613 368, 559, 592, 484, 0, 546, 485, 494, 295, 518, 3614 530, 529, 364, 444, 0, 541, 544, 474, 610, 0, 3615 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 3616 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 3617 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 3618 457, 576, 577, 578, 579, 580, 581, 582, 575, 429, 3619 519, 496, 522, 437, 499, 498, 0, 0, 533, 453, 3620 534, 535, 358, 359, 360, 361, 321, 560, 288, 456, 3621 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 3622 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 3623 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 3624 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 3625 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 3626 425, 400, 347, 513, 540, 0, 0, 0, 0, 0, 3627 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 3628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3629 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 3630 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 3631 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 3632 556, 0, 0, 215, 216, 217, 218, 219, 220, 221, 3633 222, 260, 223, 224, 225, 226, 227, 228, 229, 232, 3634 233, 234, 235, 236, 237, 238, 239, 558, 230, 231, 3635 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 3636 250, 251, 252, 253, 0, 0, 0, 261, 262, 263, 3637 264, 0, 0, 255, 256, 257, 258, 0, 0, 0, 3638 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 3639 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 3640 595, 597, 599, 598, 601, 0, 612, 480, 481, 613, 3641 591, 370, 0, 495, 528, 517, 600, 483, 0, 0, 3642 0, 0, 0, 1999, 0, 0, 0, 0, 310, 0, 3643 0, 340, 532, 514, 524, 515, 500, 501, 502, 509, 3644 320, 503, 504, 505, 475, 506, 476, 507, 508, 0, 3645 531, 482, 401, 354, 549, 548, 0, 0, 0, 0, 3646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3647 0, 0, 0, 204, 0, 0, 2000, 0, 0, 0, 3648 283, 205, 477, 596, 479, 478, 0, 0, 0, 0, 3649 0, 0, 0, 0, 0, 286, 0, 0, 1182, 1183, 3650 1184, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 3651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3654 0, 0, 0, 0, 0, 0, 0, 273, 406, 423, 3655 284, 397, 436, 289, 404, 279, 369, 393, 0, 0, 3656 275, 421, 403, 351, 330, 331, 274, 0, 388, 308, 3657 322, 305, 367, 0, 420, 448, 304, 439, 0, 431, 3658 277, 0, 430, 366, 417, 422, 352, 346, 276, 419, 3659 350, 345, 334, 312, 464, 335, 336, 326, 378, 344, 3660 379, 327, 356, 355, 357, 0, 0, 0, 0, 0, 3661 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 3662 0, 0, 0, 0, 590, 0, 0, 593, 0, 433, 3663 0, 0, 0, 0, 0, 0, 405, 0, 0, 337, 3664 0, 0, 0, 449, 0, 391, 372, 615, 0, 0, 3665 389, 342, 418, 380, 424, 407, 432, 385, 381, 268, 3666 408, 307, 353, 280, 282, 302, 309, 311, 313, 314, 3667 362, 363, 375, 396, 409, 410, 411, 306, 290, 390, 3668 291, 324, 292, 269, 298, 296, 299, 398, 300, 271, 3669 376, 415, 0, 319, 386, 349, 272, 348, 377, 414, 3670 413, 281, 440, 446, 447, 536, 0, 452, 616, 617, 3671 618, 461, 466, 467, 468, 470, 471, 472, 473, 537, 3672 554, 521, 491, 454, 545, 488, 492, 493, 557, 0, 3673 0, 0, 445, 338, 339, 0, 317, 265, 266, 611, 3674 303, 368, 559, 592, 484, 0, 546, 485, 494, 295, 3675 518, 530, 529, 364, 444, 0, 541, 544, 474, 610, 3676 0, 538, 553, 614, 552, 607, 374, 0, 395, 550, 3677 497, 0, 542, 516, 0, 543, 512, 547, 0, 486, 3678 0, 402, 426, 438, 455, 458, 487, 572, 573, 574, 3679 270, 457, 576, 577, 578, 579, 580, 581, 582, 575, 3680 429, 519, 496, 522, 437, 499, 498, 0, 0, 533, 3681 453, 534, 535, 358, 359, 360, 361, 321, 560, 288, 3682 456, 384, 0, 520, 0, 0, 0, 0, 0, 0, 3683 0, 0, 525, 526, 523, 619, 0, 583, 584, 0, 3684 0, 450, 451, 316, 323, 469, 325, 287, 373, 318, 3685 435, 332, 0, 462, 527, 463, 586, 589, 587, 588, 3686 365, 328, 329, 399, 333, 343, 387, 434, 371, 392, 3687 285, 425, 400, 347, 513, 540, 0, 0, 0, 0, 3688 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 3689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3690 0, 0, 568, 567, 566, 565, 564, 563, 562, 561, 3691 0, 0, 510, 412, 297, 259, 293, 294, 301, 608, 3692 605, 416, 609, 0, 267, 490, 341, 0, 382, 315, 3693 555, 556, 0, 0, 215, 216, 217, 218, 219, 220, 3694 221, 222, 260, 223, 224, 225, 226, 227, 228, 229, 3695 232, 233, 234, 235, 236, 237, 238, 239, 558, 230, 3696 231, 240, 241, 242, 243, 244, 245, 246, 247, 248, 3697 249, 250, 251, 252, 253, 0, 0, 0, 261, 262, 3698 263, 264, 0, 0, 255, 256, 257, 258, 0, 0, 3699 0, 441, 442, 443, 465, 0, 427, 489, 606, 0, 3700 0, 0, 0, 0, 0, 0, 539, 551, 585, 0, 3701 594, 595, 597, 599, 598, 601, 182, 612, 480, 481, 3702 613, 591, 0, 0, 0, 0, 370, 0, 495, 528, 3703 517, 600, 483, 0, 0, 0, 0, 0, 0, 0, 3704 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 3705 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 3706 506, 476, 507, 508, 121, 531, 482, 401, 354, 549, 3707 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3708 0, 0, 0, 0, 0, 176, 2049, 0, 204, 0, 3709 0, 0, 0, 0, 0, 283, 205, 477, 596, 479, 3710 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3716 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 3717 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 3718 331, 274, 0, 388, 308, 322, 305, 367, 0, 420, 3719 448, 304, 439, 0, 431, 277, 0, 430, 366, 417, 3720 422, 352, 346, 276, 419, 350, 345, 334, 312, 464, 3721 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 3722 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 3723 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 3724 0, 0, 593, 0, 433, 0, 0, 0, 0, 0, 3725 0, 405, 0, 0, 337, 0, 0, 0, 449, 0, 3726 391, 372, 615, 0, 0, 389, 342, 418, 380, 424, 3727 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 3728 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 3729 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 3730 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 3731 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 3732 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 3733 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 3734 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 3735 0, 317, 265, 266, 611, 303, 368, 559, 592, 484, 3736 0, 546, 485, 494, 295, 518, 530, 529, 364, 444, 3737 0, 541, 544, 474, 610, 0, 538, 553, 614, 552, 3738 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 3739 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 3740 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 3741 579, 580, 581, 582, 575, 429, 519, 496, 522, 437, 3742 499, 498, 0, 0, 533, 453, 534, 535, 358, 359, 3743 360, 361, 321, 560, 288, 456, 384, 0, 520, 0, 3744 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 3745 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 3746 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 3747 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 3748 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 3749 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3750 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 3751 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 3752 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 3753 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 3754 490, 341, 146, 382, 315, 555, 556, 0, 0, 215, 3755 216, 217, 218, 219, 220, 221, 222, 260, 223, 224, 3756 225, 226, 227, 228, 229, 232, 233, 234, 235, 236, 3757 237, 238, 239, 558, 230, 231, 240, 241, 242, 243, 3758 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 3759 0, 0, 0, 261, 262, 263, 264, 0, 0, 255, 3760 256, 257, 258, 0, 0, 0, 441, 442, 443, 465, 3761 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 3762 0, 539, 551, 585, 0, 594, 595, 597, 599, 598, 3763 601, 182, 612, 480, 481, 613, 591, 0, 0, 0, 3764 0, 370, 0, 495, 528, 517, 600, 483, 0, 0, 3765 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 3766 0, 340, 532, 514, 524, 515, 500, 501, 502, 509, 3767 320, 503, 504, 505, 475, 506, 476, 507, 508, 121, 3768 531, 482, 401, 354, 549, 548, 0, 0, 0, 0, 3769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3770 176, 2035, 0, 204, 0, 0, 0, 0, 0, 0, 3771 283, 205, 477, 596, 479, 478, 0, 0, 0, 0, 3772 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 3773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3777 0, 0, 0, 0, 0, 0, 0, 273, 406, 423, 3778 284, 397, 436, 289, 404, 279, 369, 393, 0, 0, 3779 275, 421, 403, 351, 330, 331, 274, 0, 388, 308, 3780 322, 305, 367, 0, 420, 448, 304, 439, 0, 431, 3781 277, 0, 430, 366, 417, 422, 352, 346, 276, 419, 3782 350, 345, 334, 312, 464, 335, 336, 326, 378, 344, 3783 379, 327, 356, 355, 357, 0, 0, 0, 0, 0, 3784 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 3785 0, 0, 0, 0, 590, 0, 0, 593, 0, 433, 3786 0, 0, 0, 0, 0, 0, 405, 0, 0, 337, 3787 0, 0, 0, 449, 0, 391, 372, 615, 0, 0, 3788 389, 342, 418, 380, 424, 407, 432, 385, 381, 268, 3789 408, 307, 353, 280, 282, 302, 309, 311, 313, 314, 3790 362, 363, 375, 396, 409, 410, 411, 306, 290, 390, 3791 291, 324, 292, 269, 298, 296, 299, 398, 300, 271, 3792 376, 415, 0, 319, 386, 349, 272, 348, 377, 414, 3793 413, 281, 440, 446, 447, 536, 0, 452, 616, 617, 3794 618, 461, 466, 467, 468, 470, 471, 472, 473, 537, 3795 554, 521, 491, 454, 545, 488, 492, 493, 557, 0, 3796 0, 0, 445, 338, 339, 0, 317, 265, 266, 611, 3797 303, 368, 559, 592, 484, 0, 546, 485, 494, 295, 3798 518, 530, 529, 364, 444, 0, 541, 544, 474, 610, 3799 0, 538, 553, 614, 552, 607, 374, 0, 395, 550, 3800 497, 0, 542, 516, 0, 543, 512, 547, 0, 486, 3801 0, 402, 426, 438, 455, 458, 487, 572, 573, 574, 3802 270, 457, 576, 577, 578, 579, 580, 581, 582, 575, 3803 429, 519, 496, 522, 437, 499, 498, 0, 0, 533, 3804 453, 534, 535, 358, 359, 360, 361, 321, 560, 288, 3805 456, 384, 0, 520, 0, 0, 0, 0, 0, 0, 3806 0, 0, 525, 526, 523, 619, 0, 583, 584, 0, 3807 0, 450, 451, 316, 323, 469, 325, 287, 373, 318, 3808 435, 332, 0, 462, 527, 463, 586, 589, 587, 588, 3809 365, 328, 329, 399, 333, 343, 387, 434, 371, 392, 3810 285, 425, 400, 347, 513, 540, 0, 0, 0, 0, 3811 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 3812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3813 0, 0, 568, 567, 566, 565, 564, 563, 562, 561, 3814 0, 0, 510, 412, 297, 259, 293, 294, 301, 608, 3815 605, 416, 609, 0, 267, 490, 341, 146, 382, 315, 3816 555, 556, 0, 0, 215, 216, 217, 218, 219, 220, 3817 221, 222, 260, 223, 224, 225, 226, 227, 228, 229, 3818 232, 233, 234, 235, 236, 237, 238, 239, 558, 230, 3819 231, 240, 241, 242, 243, 244, 245, 246, 247, 248, 3820 249, 250, 251, 252, 253, 0, 0, 0, 261, 262, 3821 263, 264, 0, 0, 255, 256, 257, 258, 0, 0, 3822 0, 441, 442, 443, 465, 0, 427, 489, 606, 0, 3823 0, 0, 0, 0, 0, 0, 539, 551, 585, 0, 3824 594, 595, 597, 599, 598, 601, 0, 612, 480, 481, 3825 613, 591, 370, 0, 495, 528, 517, 600, 483, 0, 3826 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 3827 981, 0, 340, 532, 514, 524, 515, 500, 501, 502, 3828 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 3829 0, 531, 482, 401, 354, 549, 548, 0, 0, 0, 3830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3831 0, 0, 0, 0, 204, 988, 989, 0, 0, 0, 3832 0, 283, 205, 477, 596, 479, 478, 0, 0, 0, 3833 0, 0, 0, 0, 0, 0, 992, 0, 0, 0, 3834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3838 0, 0, 0, 0, 0, 0, 0, 0, 273, 406, 3839 976, 284, 397, 436, 289, 404, 279, 369, 393, 0, 3840 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 3841 308, 322, 305, 367, 0, 420, 448, 304, 439, 966, 3842 431, 277, 965, 430, 366, 417, 422, 352, 346, 276, 3843 419, 350, 345, 334, 312, 464, 335, 336, 326, 378, 3844 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 3845 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 3846 0, 0, 0, 0, 0, 590, 0, 0, 593, 0, 3847 433, 0, 0, 0, 0, 0, 0, 405, 0, 0, 3848 337, 0, 0, 0, 449, 0, 391, 372, 615, 0, 3849 0, 389, 342, 418, 380, 424, 407, 432, 979, 381, 3850 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 3851 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 3852 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 3853 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 3854 414, 413, 281, 440, 446, 447, 536, 0, 452, 616, 3855 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 3856 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 3857 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 3858 611, 303, 368, 559, 592, 484, 0, 546, 485, 494, 3859 295, 518, 530, 529, 364, 444, 0, 541, 544, 474, 3860 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 3861 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 3862 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 3863 574, 270, 457, 576, 577, 578, 579, 580, 581, 980, 3864 575, 429, 519, 496, 522, 437, 499, 498, 0, 0, 3865 533, 983, 534, 535, 358, 359, 360, 361, 321, 560, 3866 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 3867 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 3868 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 3869 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 3870 588, 990, 977, 986, 978, 333, 343, 387, 434, 371, 3871 392, 285, 425, 400, 987, 513, 540, 0, 0, 0, 3872 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 3873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3874 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 3875 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 3876 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 3877 315, 555, 556, 0, 0, 215, 216, 217, 218, 219, 3878 220, 221, 222, 260, 223, 224, 225, 226, 227, 228, 3879 229, 232, 233, 234, 235, 236, 237, 238, 239, 558, 3880 230, 231, 240, 241, 242, 243, 244, 245, 246, 247, 3881 248, 249, 250, 251, 252, 253, 0, 0, 0, 261, 3882 262, 263, 264, 0, 0, 255, 256, 257, 258, 0, 3883 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 3884 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 3885 0, 594, 595, 597, 599, 598, 601, 182, 612, 480, 3886 481, 613, 591, 0, 0, 0, 0, 370, 0, 495, 3887 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 3888 0, 0, 0, 0, 310, 0, 0, 340, 532, 514, 3889 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 3890 475, 506, 476, 507, 508, 121, 531, 482, 401, 354, 3891 549, 548, 0, 0, 0, 0, 0, 0, 0, 0, 3892 0, 0, 0, 0, 0, 0, 1932, 0, 0, 204, 3893 0, 0, 0, 0, 0, 0, 283, 205, 477, 596, 3894 479, 478, 0, 0, 0, 0, 0, 0, 0, 0, 3895 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 3896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3900 0, 0, 0, 273, 406, 423, 284, 397, 436, 289, 3901 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 3902 330, 331, 274, 0, 388, 308, 322, 305, 367, 0, 3903 420, 448, 304, 439, 0, 431, 277, 0, 430, 366, 3904 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 3905 464, 335, 336, 326, 378, 344, 379, 327, 356, 355, 3906 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 3907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3908 590, 0, 0, 593, 0, 433, 0, 0, 0, 0, 3909 0, 0, 405, 0, 0, 337, 0, 0, 0, 449, 3910 0, 391, 372, 615, 0, 0, 389, 342, 418, 380, 3911 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 3912 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 3913 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 3914 298, 296, 299, 398, 300, 271, 376, 415, 0, 319, 3915 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 3916 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 3917 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 3918 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 3919 339, 0, 317, 265, 266, 611, 303, 368, 559, 592, 3920 484, 0, 546, 485, 494, 295, 518, 530, 529, 364, 3921 444, 0, 541, 544, 474, 610, 0, 538, 553, 614, 3922 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 3923 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 3924 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 3925 578, 579, 580, 581, 582, 575, 429, 519, 496, 522, 3926 437, 499, 498, 0, 0, 533, 453, 534, 535, 358, 3927 359, 360, 361, 321, 560, 288, 456, 384, 0, 520, 3928 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 3929 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 3930 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 3931 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 3932 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 3933 513, 540, 0, 0, 0, 0, 0, 0, 0, 0, 3934 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 3935 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 3936 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 3937 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 3938 267, 490, 341, 146, 382, 315, 555, 556, 0, 0, 3939 215, 216, 217, 218, 219, 220, 221, 222, 260, 223, 3940 224, 225, 226, 227, 228, 229, 232, 233, 234, 235, 3941 236, 237, 238, 239, 558, 230, 231, 240, 241, 242, 3942 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 3943 253, 0, 0, 0, 261, 262, 263, 264, 0, 0, 3944 255, 256, 257, 258, 0, 0, 0, 441, 442, 443, 3945 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 3946 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 3947 598, 601, 0, 612, 480, 481, 613, 591, 370, 0, 3948 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 3949 0, 0, 0, 0, 0, 310, 0, 0, 340, 532, 3950 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 3951 505, 475, 506, 476, 507, 508, 0, 531, 482, 401, 3952 354, 549, 548, 0, 0, 0, 0, 0, 0, 0, 3953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3954 204, 988, 989, 0, 0, 0, 0, 283, 205, 477, 3955 596, 479, 478, 0, 0, 0, 0, 0, 0, 0, 3956 0, 0, 992, 0, 0, 0, 0, 0, 0, 0, 3957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3961 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 3962 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 3963 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 3964 0, 420, 448, 304, 439, 966, 431, 277, 965, 430, 3965 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 3966 312, 464, 335, 336, 326, 378, 344, 379, 327, 356, 3967 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 3968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3969 0, 590, 0, 0, 593, 0, 433, 0, 0, 0, 3970 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 3971 449, 0, 391, 372, 615, 0, 0, 389, 342, 418, 3972 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 3973 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 3974 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 3975 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 3976 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 3977 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 3978 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 3979 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 3980 338, 339, 0, 317, 265, 266, 611, 303, 368, 559, 3981 592, 484, 0, 546, 485, 494, 295, 518, 530, 529, 3982 364, 444, 0, 541, 544, 474, 610, 0, 538, 553, 3983 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 3984 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 3985 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 3986 577, 578, 579, 580, 581, 582, 575, 429, 519, 496, 3987 522, 437, 499, 498, 0, 0, 533, 453, 534, 535, 3988 358, 359, 360, 361, 321, 560, 288, 456, 384, 0, 3989 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 3990 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 3991 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 3992 462, 527, 463, 586, 589, 587, 588, 990, 1951, 986, 3993 1952, 333, 343, 387, 434, 371, 392, 285, 425, 400, 3994 987, 513, 540, 0, 0, 0, 0, 0, 0, 0, 3995 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 3996 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 3997 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 3998 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 3999 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 4000 0, 215, 216, 217, 218, 219, 220, 221, 222, 260, 4001 223, 224, 225, 226, 227, 228, 229, 232, 233, 234, 4002 235, 236, 237, 238, 239, 558, 230, 231, 240, 241, 4003 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 4004 252, 253, 0, 0, 0, 261, 262, 263, 264, 0, 4005 0, 255, 256, 257, 258, 0, 0, 0, 441, 442, 4006 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 4007 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 4008 599, 598, 601, 0, 612, 480, 481, 613, 591, 370, 4009 0, 495, 528, 517, 600, 483, 0, 0, 2785, 0, 4010 0, 0, 0, 0, 0, 0, 310, 0, 0, 340, 4011 532, 514, 524, 515, 500, 501, 502, 509, 320, 503, 4012 504, 505, 475, 506, 476, 507, 508, 0, 531, 482, 4013 401, 354, 549, 548, 0, 0, 0, 0, 0, 0, 4014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4015 0, 204, 0, 0, 0, 0, 0, 0, 283, 205, 4016 477, 596, 479, 478, 0, 0, 0, 0, 0, 0, 4017 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 4018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4022 0, 0, 0, 0, 0, 273, 406, 423, 284, 397, 4023 436, 289, 404, 279, 369, 393, 0, 0, 275, 421, 4024 403, 351, 330, 331, 274, 0, 388, 308, 322, 305, 4025 367, 0, 420, 448, 304, 439, 0, 431, 277, 0, 4026 430, 366, 417, 422, 352, 346, 276, 419, 350, 345, 4027 334, 312, 464, 335, 336, 326, 378, 344, 379, 327, 4028 356, 355, 357, 0, 0, 0, 0, 0, 459, 460, 4029 0, 0, 0, 0, 0, 0, 0, 0, 2788, 0, 4030 0, 2787, 590, 0, 0, 593, 0, 433, 0, 0, 4031 0, 0, 0, 0, 405, 0, 0, 337, 0, 0, 4032 0, 449, 0, 391, 372, 615, 0, 0, 389, 342, 4033 418, 380, 424, 407, 432, 385, 381, 268, 408, 307, 4034 353, 280, 282, 302, 309, 311, 313, 314, 362, 363, 4035 375, 396, 409, 410, 411, 306, 290, 390, 291, 324, 4036 292, 269, 298, 296, 299, 398, 300, 271, 376, 415, 4037 0, 319, 386, 349, 272, 348, 377, 414, 413, 281, 4038 440, 446, 447, 536, 0, 452, 616, 617, 618, 461, 4039 466, 467, 468, 470, 471, 472, 473, 537, 554, 521, 4040 491, 454, 545, 488, 492, 493, 557, 0, 0, 0, 4041 445, 338, 339, 0, 317, 265, 266, 611, 303, 368, 4042 559, 592, 484, 0, 546, 485, 494, 295, 518, 530, 4043 529, 364, 444, 0, 541, 544, 474, 610, 0, 538, 4044 553, 614, 552, 607, 374, 0, 395, 550, 497, 0, 4045 542, 516, 0, 543, 512, 547, 0, 486, 0, 402, 4046 426, 438, 455, 458, 487, 572, 573, 574, 270, 457, 4047 576, 577, 578, 579, 580, 581, 582, 575, 429, 519, 4048 496, 522, 437, 499, 498, 0, 0, 533, 453, 534, 4049 535, 358, 359, 360, 361, 321, 560, 288, 456, 384, 4050 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 4051 525, 526, 523, 619, 0, 583, 584, 0, 0, 450, 4052 451, 316, 323, 469, 325, 287, 373, 318, 435, 332, 4053 0, 462, 527, 463, 586, 589, 587, 588, 365, 328, 4054 329, 399, 333, 343, 387, 434, 371, 392, 285, 425, 4055 400, 347, 513, 540, 0, 0, 0, 0, 0, 0, 4056 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 4057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4058 568, 567, 566, 565, 564, 563, 562, 561, 0, 0, 4059 510, 412, 297, 259, 293, 294, 301, 608, 605, 416, 4060 609, 0, 267, 490, 341, 0, 382, 315, 555, 556, 4061 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, 4062 260, 223, 224, 225, 226, 227, 228, 229, 232, 233, 4063 234, 235, 236, 237, 238, 239, 558, 230, 231, 240, 4064 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 4065 251, 252, 253, 0, 0, 0, 261, 262, 263, 264, 4066 0, 0, 255, 256, 257, 258, 0, 0, 0, 441, 4067 442, 443, 465, 0, 427, 489, 606, 0, 0, 0, 4068 0, 0, 0, 0, 539, 551, 585, 0, 594, 595, 4069 597, 599, 598, 601, 0, 612, 480, 481, 613, 591, 4070 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 4071 0, 0, 0, 0, 0, 0, 0, 310, 1450, 0, 4072 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 4073 503, 504, 505, 475, 506, 476, 507, 508, 0, 531, 4074 482, 401, 354, 549, 548, 0, 0, 0, 0, 0, 4075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4076 0, 0, 204, 0, 0, 1448, 0, 0, 0, 283, 4077 205, 477, 596, 479, 478, 0, 0, 0, 0, 0, 4078 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 4079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4082 0, 0, 0, 0, 0, 0, 0, 0, 0, 1446, 4083 0, 0, 0, 0, 0, 0, 273, 406, 423, 284, 4084 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 4085 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 4086 305, 367, 0, 420, 448, 304, 439, 0, 431, 277, 4087 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 4088 345, 334, 312, 464, 335, 336, 326, 378, 344, 379, 4089 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 4090 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4091 0, 0, 0, 590, 0, 0, 593, 0, 433, 0, 4092 0, 0, 0, 0, 0, 405, 0, 0, 337, 0, 4093 0, 0, 449, 0, 391, 372, 615, 0, 0, 389, 4094 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 4095 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 4096 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 4097 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 4098 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 4099 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 4100 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 4101 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 4102 0, 445, 338, 339, 0, 317, 265, 266, 611, 303, 4103 368, 559, 592, 484, 0, 546, 485, 494, 295, 518, 4104 530, 529, 364, 444, 0, 541, 544, 474, 610, 0, 4105 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 4106 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 4107 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 4108 457, 576, 577, 578, 579, 580, 581, 582, 575, 429, 4109 519, 496, 522, 437, 499, 498, 0, 0, 533, 453, 4110 534, 535, 358, 359, 360, 361, 321, 560, 288, 456, 4111 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 4112 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 4113 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 4114 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 4115 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 4116 425, 400, 347, 513, 540, 0, 0, 0, 0, 0, 4117 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 4118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4119 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 4120 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 4121 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 4122 556, 0, 0, 215, 216, 217, 218, 219, 220, 221, 4123 222, 260, 223, 224, 225, 226, 227, 228, 229, 232, 4124 233, 234, 235, 236, 237, 238, 239, 558, 230, 231, 4125 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 4126 250, 251, 252, 253, 0, 0, 0, 261, 262, 263, 4127 264, 0, 0, 255, 256, 257, 258, 0, 0, 0, 4128 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 4129 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 4130 595, 597, 599, 598, 601, 0, 612, 480, 481, 613, 4131 591, 370, 0, 495, 528, 517, 600, 483, 0, 0, 4132 0, 0, 0, 0, 0, 0, 0, 0, 310, 1444, 4133 0, 340, 532, 514, 524, 515, 500, 501, 502, 509, 4134 320, 503, 504, 505, 475, 506, 476, 507, 508, 0, 4135 531, 482, 401, 354, 549, 548, 0, 0, 0, 0, 4136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4137 0, 0, 0, 204, 0, 0, 1448, 0, 0, 0, 4138 283, 205, 477, 596, 479, 478, 0, 0, 0, 0, 4139 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 4140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4144 1446, 0, 0, 0, 0, 0, 0, 273, 406, 423, 4145 284, 397, 436, 289, 404, 279, 369, 393, 0, 0, 4146 275, 421, 403, 351, 330, 331, 274, 0, 388, 308, 4147 322, 305, 367, 0, 420, 448, 304, 439, 0, 431, 4148 277, 0, 430, 366, 417, 422, 352, 346, 276, 419, 4149 350, 345, 334, 312, 464, 335, 336, 326, 378, 344, 4150 379, 327, 356, 355, 357, 0, 0, 0, 0, 0, 4151 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 4152 0, 0, 0, 0, 590, 0, 0, 593, 0, 433, 4153 0, 0, 0, 0, 0, 0, 405, 0, 0, 337, 4154 0, 0, 0, 449, 0, 391, 372, 615, 0, 0, 4155 389, 342, 418, 380, 424, 407, 432, 385, 381, 268, 4156 408, 307, 353, 280, 282, 302, 309, 311, 313, 314, 4157 362, 363, 375, 396, 409, 410, 411, 306, 290, 390, 4158 291, 324, 292, 269, 298, 296, 299, 398, 300, 271, 4159 376, 415, 0, 319, 386, 349, 272, 348, 377, 414, 4160 413, 281, 440, 446, 447, 536, 0, 452, 616, 617, 4161 618, 461, 466, 467, 468, 470, 471, 472, 473, 537, 4162 554, 521, 491, 454, 545, 488, 492, 493, 557, 0, 4163 0, 0, 445, 338, 339, 0, 317, 265, 266, 611, 4164 303, 368, 559, 592, 484, 0, 546, 485, 494, 295, 4165 518, 530, 529, 364, 444, 0, 541, 544, 474, 610, 4166 0, 538, 553, 614, 552, 607, 374, 0, 395, 550, 4167 497, 0, 542, 516, 0, 543, 512, 547, 0, 486, 4168 0, 402, 426, 438, 455, 458, 487, 572, 573, 574, 4169 270, 457, 576, 577, 578, 579, 580, 581, 582, 575, 4170 429, 519, 496, 522, 437, 499, 498, 0, 0, 533, 4171 453, 534, 535, 358, 359, 360, 361, 321, 560, 288, 4172 456, 384, 0, 520, 0, 0, 0, 0, 0, 0, 4173 0, 0, 525, 526, 523, 619, 0, 583, 584, 0, 4174 0, 450, 451, 316, 323, 469, 325, 287, 373, 318, 4175 435, 332, 0, 462, 527, 463, 586, 589, 587, 588, 4176 365, 328, 329, 399, 333, 343, 387, 434, 371, 392, 4177 285, 425, 400, 347, 513, 540, 0, 0, 0, 0, 4178 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 4179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4180 0, 0, 568, 567, 566, 565, 564, 563, 562, 561, 4181 0, 0, 510, 412, 297, 259, 293, 294, 301, 608, 4182 605, 416, 609, 0, 267, 490, 341, 0, 382, 315, 4183 555, 556, 0, 0, 215, 216, 217, 218, 219, 220, 4184 221, 222, 260, 223, 224, 225, 226, 227, 228, 229, 4185 232, 233, 234, 235, 236, 237, 238, 239, 558, 230, 4186 231, 240, 241, 242, 243, 244, 245, 246, 247, 248, 4187 249, 250, 251, 252, 253, 0, 0, 0, 261, 262, 4188 263, 264, 0, 0, 255, 256, 257, 258, 0, 0, 4189 0, 441, 442, 443, 465, 0, 427, 489, 606, 0, 4190 0, 0, 0, 0, 0, 0, 539, 551, 585, 0, 4191 594, 595, 597, 599, 598, 601, 0, 612, 480, 481, 4192 613, 591, 370, 0, 495, 528, 517, 600, 483, 0, 4193 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 4194 0, 0, 340, 532, 514, 524, 515, 500, 501, 502, 4195 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 4196 0, 531, 482, 401, 354, 549, 548, 0, 0, 0, 4197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4198 0, 0, 3774, 0, 204, 805, 0, 0, 0, 0, 4199 0, 283, 205, 477, 596, 479, 478, 0, 0, 0, 4200 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 4201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4205 0, 0, 0, 0, 0, 0, 0, 0, 273, 406, 4206 423, 284, 397, 436, 289, 404, 279, 369, 393, 0, 4207 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 4208 308, 322, 305, 367, 0, 420, 448, 304, 439, 0, 4209 431, 277, 0, 430, 366, 417, 422, 352, 346, 276, 4210 419, 350, 345, 334, 312, 464, 335, 336, 326, 378, 4211 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 4212 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 4213 0, 0, 0, 0, 0, 590, 0, 0, 593, 0, 4214 433, 0, 0, 0, 0, 0, 0, 405, 0, 0, 4215 337, 0, 0, 0, 449, 0, 391, 372, 615, 0, 4216 0, 389, 342, 418, 380, 424, 407, 432, 385, 381, 4217 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 4218 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 4219 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 4220 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 4221 414, 413, 281, 440, 446, 447, 536, 0, 452, 616, 4222 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 4223 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 4224 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 4225 611, 303, 368, 559, 592, 484, 0, 546, 485, 494, 4226 295, 518, 530, 529, 364, 444, 0, 541, 544, 474, 4227 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 4228 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 4229 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 4230 574, 270, 457, 576, 577, 578, 579, 580, 581, 582, 4231 575, 429, 519, 496, 522, 437, 499, 498, 0, 0, 4232 533, 453, 534, 535, 358, 359, 360, 361, 321, 560, 4233 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 4234 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 4235 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 4236 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 4237 588, 365, 328, 329, 399, 333, 343, 387, 434, 371, 4238 392, 285, 425, 400, 347, 513, 540, 0, 0, 0, 4239 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 4240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4241 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 4242 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 4243 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 4244 315, 555, 556, 0, 0, 215, 216, 217, 218, 219, 4245 220, 221, 222, 260, 223, 224, 225, 226, 227, 228, 4246 229, 232, 233, 234, 235, 236, 237, 238, 239, 558, 4247 230, 231, 240, 241, 242, 243, 244, 245, 246, 247, 4248 248, 249, 250, 251, 252, 253, 0, 0, 0, 261, 4249 262, 263, 264, 0, 0, 255, 256, 257, 258, 0, 4250 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 4251 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 4252 0, 594, 595, 597, 599, 598, 601, 0, 612, 480, 4253 481, 613, 591, 370, 0, 495, 528, 517, 600, 483, 4254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4255 310, 0, 0, 340, 532, 514, 524, 515, 500, 501, 4256 502, 509, 320, 503, 504, 505, 475, 506, 476, 507, 4257 508, 0, 531, 482, 401, 354, 549, 548, 0, 0, 4258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4259 0, 0, 0, 0, 0, 204, 0, 0, 1448, 0, 4260 0, 0, 283, 205, 477, 596, 479, 478, 0, 0, 4261 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 4262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4266 0, 0, 1446, 0, 0, 0, 0, 0, 0, 273, 4267 406, 423, 284, 397, 436, 289, 404, 279, 369, 393, 4268 0, 0, 275, 421, 403, 351, 330, 331, 274, 0, 4269 388, 308, 322, 305, 367, 0, 420, 448, 304, 439, 4270 0, 431, 277, 0, 430, 366, 417, 422, 352, 346, 4271 276, 419, 350, 345, 334, 312, 464, 335, 336, 326, 4272 378, 344, 379, 327, 356, 355, 357, 0, 0, 0, 4273 0, 0, 459, 460, 0, 0, 0, 0, 0, 0, 4274 0, 0, 0, 0, 0, 0, 590, 0, 0, 593, 4275 0, 433, 0, 0, 0, 0, 0, 0, 405, 0, 4276 0, 337, 0, 0, 0, 449, 0, 391, 372, 615, 4277 0, 0, 389, 342, 418, 380, 424, 407, 432, 385, 4278 381, 268, 408, 307, 353, 280, 282, 302, 309, 311, 4279 313, 314, 362, 363, 375, 396, 409, 410, 411, 306, 4280 290, 390, 291, 324, 292, 269, 298, 296, 299, 398, 4281 300, 271, 376, 415, 0, 319, 386, 349, 272, 348, 4282 377, 414, 413, 281, 440, 446, 447, 536, 0, 452, 4283 616, 617, 618, 461, 466, 467, 468, 470, 471, 472, 4284 473, 537, 554, 521, 491, 454, 545, 488, 492, 493, 4285 557, 0, 0, 0, 445, 338, 339, 0, 317, 265, 4286 266, 611, 303, 368, 559, 592, 484, 0, 546, 485, 4287 494, 295, 518, 530, 529, 364, 444, 0, 541, 544, 4288 474, 610, 0, 538, 553, 614, 552, 607, 374, 0, 4289 395, 550, 497, 0, 542, 516, 0, 543, 512, 547, 4290 0, 486, 0, 402, 426, 438, 455, 458, 487, 572, 4291 573, 574, 270, 457, 576, 577, 578, 579, 580, 581, 4292 582, 575, 429, 519, 496, 522, 437, 499, 498, 0, 4293 0, 533, 453, 534, 535, 358, 359, 360, 361, 321, 4294 560, 288, 456, 384, 0, 520, 0, 0, 0, 0, 4295 0, 0, 0, 0, 525, 526, 523, 619, 0, 583, 4296 584, 0, 0, 450, 451, 316, 323, 469, 325, 287, 4297 373, 318, 435, 332, 0, 462, 527, 463, 586, 589, 4298 587, 588, 365, 328, 329, 399, 333, 343, 387, 434, 4299 371, 392, 285, 425, 400, 347, 513, 540, 0, 0, 4300 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 4301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4302 0, 0, 0, 0, 568, 567, 566, 565, 564, 563, 4303 562, 561, 0, 0, 510, 412, 297, 259, 293, 294, 4304 301, 608, 605, 416, 609, 0, 267, 490, 341, 0, 4305 382, 315, 555, 556, 0, 0, 215, 216, 217, 218, 4306 219, 220, 221, 222, 260, 223, 224, 225, 226, 227, 4307 228, 229, 232, 233, 234, 235, 236, 237, 238, 239, 4308 558, 230, 231, 240, 241, 242, 243, 244, 245, 246, 4309 247, 248, 249, 250, 251, 252, 253, 0, 0, 0, 4310 261, 262, 263, 264, 0, 0, 255, 256, 257, 258, 4311 0, 0, 0, 441, 442, 443, 465, 0, 427, 489, 4312 606, 0, 0, 0, 0, 0, 0, 0, 539, 551, 4313 585, 0, 594, 595, 597, 599, 598, 601, 0, 612, 4314 480, 481, 613, 591, 370, 0, 495, 528, 517, 600, 4315 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4316 0, 310, 0, 0, 340, 532, 514, 524, 515, 500, 4317 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 4318 507, 508, 0, 531, 482, 401, 354, 549, 548, 0, 4319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4320 0, 0, 0, 0, 0, 0, 204, 0, 0, 1448, 4321 0, 0, 0, 283, 205, 477, 596, 479, 478, 0, 4322 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 4323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4327 0, 0, 0, 1655, 0, 0, 0, 0, 0, 0, 4328 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 4329 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 4330 0, 388, 308, 322, 305, 367, 0, 420, 448, 304, 4331 439, 0, 431, 277, 0, 430, 366, 417, 422, 352, 4332 346, 276, 419, 350, 345, 334, 312, 464, 335, 336, 4333 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 4334 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 4335 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 4336 593, 0, 433, 0, 0, 0, 0, 0, 0, 405, 4337 0, 0, 337, 0, 0, 0, 449, 0, 391, 372, 4338 615, 0, 0, 389, 342, 418, 380, 424, 407, 432, 4339 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 4340 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 4341 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 4342 398, 300, 271, 376, 415, 0, 319, 386, 349, 272, 4343 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 4344 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 4345 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 4346 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 4347 265, 266, 611, 303, 368, 559, 592, 484, 0, 546, 4348 485, 494, 295, 518, 530, 529, 364, 444, 0, 541, 4349 544, 474, 610, 0, 538, 553, 614, 552, 607, 374, 4350 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 4351 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 4352 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 4353 581, 582, 575, 429, 519, 496, 522, 437, 499, 498, 4354 0, 0, 533, 453, 534, 535, 358, 359, 360, 361, 4355 321, 560, 288, 456, 384, 0, 520, 0, 0, 0, 4356 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 4357 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 4358 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 4359 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 4360 434, 371, 392, 285, 425, 400, 347, 513, 540, 0, 4361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4362 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4363 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 4364 563, 562, 561, 0, 0, 510, 412, 297, 259, 293, 4365 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 4366 0, 382, 315, 555, 556, 0, 0, 215, 216, 217, 4367 218, 219, 220, 221, 222, 260, 223, 224, 225, 226, 4368 227, 228, 229, 232, 233, 234, 235, 236, 237, 238, 4369 239, 558, 230, 231, 240, 241, 242, 243, 244, 245, 4370 246, 247, 248, 249, 250, 251, 252, 253, 0, 0, 4371 0, 261, 262, 263, 264, 0, 0, 255, 256, 257, 4372 258, 0, 0, 0, 441, 442, 443, 465, 0, 427, 4373 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 4374 551, 585, 0, 594, 595, 597, 599, 598, 601, 0, 4375 612, 480, 481, 613, 591, 370, 0, 495, 528, 517, 4376 600, 483, 0, 0, 0, 0, 0, 2363, 0, 0, 4377 0, 0, 310, 0, 0, 340, 532, 514, 524, 515, 4378 500, 501, 502, 509, 320, 503, 504, 505, 475, 506, 4379 476, 507, 508, 0, 531, 482, 401, 354, 549, 548, 4380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4381 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 4382 2365, 0, 0, 0, 283, 205, 477, 596, 479, 478, 4383 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 4384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4389 0, 273, 406, 423, 284, 397, 436, 289, 404, 279, 4390 369, 393, 0, 0, 275, 421, 403, 351, 330, 331, 4391 274, 0, 388, 308, 322, 305, 367, 0, 420, 448, 4392 304, 439, 0, 431, 277, 0, 430, 366, 417, 422, 4393 352, 346, 276, 419, 350, 345, 334, 312, 464, 335, 4394 336, 326, 378, 344, 379, 327, 356, 355, 357, 0, 4395 0, 0, 0, 0, 459, 460, 0, 0, 0, 0, 4396 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 4397 0, 593, 0, 433, 0, 0, 0, 0, 0, 0, 4398 405, 0, 0, 337, 0, 0, 0, 449, 0, 391, 4399 372, 615, 0, 0, 389, 342, 418, 380, 424, 407, 4400 432, 385, 381, 268, 408, 307, 353, 280, 282, 302, 4401 309, 311, 313, 314, 362, 363, 375, 396, 409, 410, 4402 411, 306, 290, 390, 291, 324, 292, 269, 298, 296, 4403 299, 398, 300, 271, 376, 415, 0, 319, 386, 349, 4404 272, 348, 377, 414, 413, 281, 440, 446, 447, 536, 4405 0, 452, 616, 617, 618, 461, 466, 467, 468, 470, 4406 471, 472, 473, 537, 554, 521, 491, 454, 545, 488, 4407 492, 493, 557, 0, 0, 0, 445, 338, 339, 0, 4408 317, 265, 266, 611, 303, 368, 559, 592, 484, 0, 4409 546, 485, 494, 295, 518, 530, 529, 364, 444, 0, 4410 541, 544, 474, 610, 0, 538, 553, 614, 552, 607, 4411 374, 0, 395, 550, 497, 0, 542, 516, 0, 543, 4412 512, 547, 0, 486, 0, 402, 426, 438, 455, 458, 4413 487, 572, 573, 574, 270, 457, 576, 577, 578, 579, 4414 580, 581, 582, 575, 429, 519, 496, 522, 437, 499, 4415 498, 0, 0, 533, 453, 534, 535, 358, 359, 360, 4416 361, 321, 560, 288, 456, 384, 0, 520, 0, 0, 4417 0, 0, 0, 0, 0, 0, 525, 526, 523, 619, 4418 0, 583, 584, 0, 0, 450, 451, 316, 323, 469, 4419 325, 287, 373, 318, 435, 332, 0, 462, 527, 463, 4420 586, 589, 587, 588, 365, 328, 329, 399, 333, 343, 4421 387, 434, 371, 392, 285, 425, 400, 347, 513, 540, 4422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4423 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 4424 0, 0, 0, 0, 0, 0, 568, 567, 566, 565, 4425 564, 563, 562, 561, 0, 0, 510, 412, 297, 259, 4426 293, 294, 301, 608, 605, 416, 609, 0, 267, 490, 4427 341, 0, 382, 315, 555, 556, 0, 0, 215, 216, 4428 217, 218, 219, 220, 221, 222, 260, 223, 224, 225, 4429 226, 227, 228, 229, 232, 233, 234, 235, 236, 237, 4430 238, 239, 558, 230, 231, 240, 241, 242, 243, 244, 4431 245, 246, 247, 248, 249, 250, 251, 252, 253, 0, 4432 0, 0, 261, 262, 263, 264, 0, 0, 255, 256, 4433 257, 258, 0, 0, 0, 441, 442, 443, 465, 0, 4434 427, 489, 606, 0, 0, 0, 0, 0, 0, 0, 4435 539, 551, 585, 0, 594, 595, 597, 599, 598, 601, 4436 0, 612, 480, 481, 613, 591, 370, 0, 495, 528, 4437 517, 600, 483, 0, 0, 0, 0, 0, 0, 0, 4438 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 4439 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 4440 506, 476, 507, 508, 0, 531, 482, 401, 354, 549, 4441 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4442 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 4443 0, 2980, 2982, 0, 0, 283, 205, 477, 596, 479, 4444 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4445 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4450 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 4451 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 4452 331, 274, 0, 388, 308, 322, 305, 367, 0, 420, 4453 448, 304, 439, 0, 431, 277, 0, 430, 366, 417, 4454 422, 352, 346, 276, 419, 350, 345, 334, 312, 464, 4455 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 4456 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 4457 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 4458 0, 0, 593, 0, 433, 0, 0, 0, 0, 0, 4459 0, 405, 0, 0, 337, 0, 0, 0, 449, 0, 4460 391, 372, 615, 0, 0, 389, 342, 418, 380, 424, 4461 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 4462 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 4463 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 4464 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 4465 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 4466 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 4467 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 4468 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 4469 0, 317, 265, 266, 611, 303, 368, 559, 592, 484, 4470 0, 546, 485, 494, 295, 518, 530, 529, 364, 444, 4471 0, 541, 544, 474, 610, 0, 538, 553, 614, 552, 4472 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 4473 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 4474 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 4475 579, 580, 581, 582, 575, 429, 519, 496, 522, 437, 4476 499, 498, 0, 0, 533, 453, 534, 535, 358, 359, 4477 360, 361, 321, 560, 288, 456, 384, 0, 520, 0, 4478 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 4479 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 4480 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 4481 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 4482 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 4483 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4484 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 4485 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 4486 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 4487 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 4488 490, 341, 0, 382, 315, 555, 556, 0, 0, 215, 4489 216, 217, 218, 219, 220, 221, 222, 260, 223, 224, 4490 225, 226, 227, 228, 229, 232, 233, 234, 235, 236, 4491 237, 238, 239, 558, 230, 231, 240, 241, 242, 243, 4492 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 4493 0, 0, 0, 261, 262, 263, 264, 0, 0, 255, 4494 256, 257, 258, 0, 0, 0, 441, 442, 443, 465, 4495 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 4496 0, 539, 551, 585, 0, 594, 595, 597, 599, 598, 4497 601, 0, 612, 480, 481, 613, 591, 370, 0, 495, 4498 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 4499 0, 0, 0, 0, 310, 2384, 0, 340, 532, 514, 4500 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 4501 475, 506, 476, 507, 508, 0, 531, 482, 401, 354, 4502 549, 548, 0, 0, 0, 0, 0, 0, 0, 0, 4503 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 4504 0, 0, 1448, 0, 0, 0, 283, 205, 477, 596, 4505 479, 478, 0, 0, 0, 0, 0, 0, 0, 0, 4506 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 4507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4511 0, 0, 0, 273, 406, 423, 284, 397, 436, 289, 4512 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 4513 330, 331, 274, 0, 388, 308, 322, 305, 367, 0, 4514 420, 448, 304, 439, 0, 431, 277, 0, 430, 366, 4515 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 4516 464, 335, 336, 326, 378, 344, 379, 327, 356, 355, 4517 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 4518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4519 590, 0, 0, 593, 0, 433, 0, 0, 0, 0, 4520 0, 0, 405, 0, 0, 337, 0, 0, 0, 449, 4521 0, 391, 372, 615, 0, 0, 389, 342, 418, 380, 4522 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 4523 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 4524 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 4525 298, 296, 299, 398, 300, 271, 376, 415, 0, 319, 4526 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 4527 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 4528 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 4529 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 4530 339, 0, 317, 265, 266, 611, 303, 368, 559, 592, 4531 484, 0, 546, 485, 494, 295, 518, 530, 529, 364, 4532 444, 0, 541, 544, 474, 610, 0, 538, 553, 614, 4533 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 4534 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 4535 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 4536 578, 579, 580, 581, 582, 575, 429, 519, 496, 522, 4537 437, 499, 498, 0, 0, 533, 453, 534, 535, 358, 4538 359, 360, 361, 321, 560, 288, 456, 384, 0, 520, 4539 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 4540 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 4541 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 4542 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 4543 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 4544 513, 540, 0, 0, 0, 0, 0, 0, 0, 0, 4545 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 4546 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 4547 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 4548 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 4549 267, 490, 341, 0, 382, 315, 555, 556, 0, 0, 4550 215, 216, 217, 218, 219, 220, 221, 222, 260, 223, 4551 224, 225, 226, 227, 228, 229, 232, 233, 234, 235, 4552 236, 237, 238, 239, 558, 230, 231, 240, 241, 242, 4553 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 4554 253, 0, 0, 0, 261, 262, 263, 264, 0, 0, 4555 255, 256, 257, 258, 0, 0, 0, 441, 442, 443, 4556 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 4557 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 4558 598, 601, 0, 612, 480, 481, 613, 591, 370, 0, 4559 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 4560 0, 0, 0, 0, 626, 310, 0, 0, 340, 532, 4561 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 4562 505, 475, 506, 476, 507, 508, 0, 531, 482, 401, 4563 354, 549, 548, 0, 0, 0, 0, 0, 0, 0, 4564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4565 204, 0, 0, 0, 0, 0, 0, 283, 205, 477, 4566 596, 479, 478, 0, 0, 0, 0, 0, 0, 0, 4567 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 4568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4572 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 4573 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 4574 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 4575 0, 420, 448, 304, 439, 0, 431, 277, 0, 430, 4576 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 4577 312, 464, 335, 336, 326, 378, 344, 379, 327, 356, 4578 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 4579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4580 0, 590, 0, 0, 593, 0, 433, 0, 625, 0, 4581 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 4582 449, 0, 391, 372, 615, 0, 0, 389, 342, 418, 4583 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 4584 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 4585 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 4586 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 4587 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 4588 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 4589 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 4590 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 4591 338, 339, 0, 317, 265, 266, 611, 303, 368, 559, 4592 592, 484, 0, 546, 485, 494, 295, 518, 530, 529, 4593 364, 444, 0, 541, 544, 474, 610, 0, 538, 553, 4594 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 4595 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 4596 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 4597 577, 578, 579, 580, 581, 582, 575, 429, 519, 496, 4598 522, 437, 499, 498, 0, 0, 533, 453, 534, 535, 4599 358, 359, 360, 361, 321, 560, 288, 456, 384, 0, 4600 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 4601 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 4602 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 4603 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 4604 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 4605 347, 513, 540, 0, 0, 0, 0, 0, 0, 0, 4606 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 4607 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 4608 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 4609 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 4610 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 4611 0, 215, 216, 217, 218, 219, 220, 221, 222, 260, 4612 223, 224, 225, 226, 227, 228, 229, 232, 233, 234, 4613 235, 236, 237, 238, 239, 558, 230, 231, 240, 241, 4614 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 4615 252, 253, 0, 0, 0, 261, 262, 263, 264, 0, 4616 0, 255, 256, 257, 258, 0, 0, 0, 441, 442, 4617 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 4618 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 4619 599, 598, 601, 0, 612, 480, 481, 613, 591, 370, 4620 0, 495, 528, 517, 600, 483, 0, 0, 0, 0, 4621 0, 0, 0, 0, 0, 0, 310, 0, 0, 340, 4622 532, 514, 524, 515, 500, 501, 502, 509, 320, 503, 4623 504, 505, 475, 506, 476, 507, 508, 0, 531, 482, 4624 401, 354, 549, 548, 0, 0, 0, 0, 0, 0, 4625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4626 0, 204, 805, 0, 0, 0, 0, 0, 283, 205, 4627 477, 596, 479, 478, 0, 0, 0, 0, 0, 0, 4628 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 4629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4633 0, 0, 0, 0, 0, 273, 406, 423, 284, 397, 4634 436, 289, 404, 279, 369, 393, 0, 0, 275, 421, 4635 403, 351, 330, 331, 274, 0, 388, 308, 322, 305, 4636 367, 0, 420, 448, 304, 439, 0, 431, 277, 0, 4637 430, 366, 417, 422, 352, 346, 276, 419, 350, 345, 4638 334, 312, 464, 335, 336, 326, 378, 344, 379, 327, 4639 356, 355, 357, 0, 0, 0, 0, 0, 459, 460, 4640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4641 0, 0, 590, 0, 0, 593, 0, 433, 0, 0, 4642 0, 0, 0, 0, 405, 0, 0, 337, 0, 0, 4643 0, 449, 0, 391, 372, 615, 0, 0, 389, 342, 4644 418, 380, 424, 407, 432, 385, 381, 268, 408, 307, 4645 353, 280, 282, 302, 309, 311, 313, 314, 362, 363, 4646 375, 396, 409, 410, 411, 306, 290, 390, 291, 324, 4647 292, 269, 298, 296, 299, 398, 300, 271, 376, 415, 4648 0, 319, 386, 349, 272, 348, 377, 414, 413, 281, 4649 440, 446, 447, 536, 0, 452, 616, 617, 618, 461, 4650 466, 467, 468, 470, 471, 472, 473, 537, 554, 521, 4651 491, 454, 545, 488, 492, 493, 557, 0, 0, 0, 4652 445, 338, 339, 0, 317, 265, 266, 611, 303, 368, 4653 559, 592, 484, 0, 546, 485, 494, 295, 518, 530, 4654 529, 364, 444, 0, 541, 544, 474, 610, 0, 538, 4655 553, 614, 552, 607, 374, 0, 395, 550, 497, 0, 4656 542, 516, 0, 543, 512, 547, 0, 486, 0, 402, 4657 426, 438, 455, 458, 487, 572, 573, 574, 270, 457, 4658 576, 577, 578, 579, 580, 581, 582, 575, 429, 519, 4659 496, 522, 437, 499, 498, 0, 0, 533, 453, 534, 4660 535, 358, 359, 360, 361, 321, 560, 288, 456, 384, 4661 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 4662 525, 526, 523, 619, 0, 583, 584, 0, 0, 450, 4663 451, 316, 323, 469, 325, 287, 373, 318, 435, 332, 4664 0, 462, 527, 463, 586, 589, 587, 588, 365, 328, 4665 329, 399, 333, 343, 387, 434, 371, 392, 285, 425, 4666 400, 347, 513, 540, 0, 0, 0, 0, 0, 0, 4667 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 4668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4669 568, 567, 566, 565, 564, 563, 562, 561, 0, 0, 4670 510, 412, 297, 259, 293, 294, 301, 608, 605, 416, 4671 609, 0, 267, 490, 341, 0, 382, 315, 555, 556, 4672 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, 4673 260, 223, 224, 225, 226, 227, 228, 229, 232, 233, 4674 234, 235, 236, 237, 238, 239, 558, 230, 231, 240, 4675 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 4676 251, 252, 253, 0, 0, 0, 261, 262, 263, 264, 4677 0, 0, 255, 256, 257, 258, 0, 0, 0, 441, 4678 442, 443, 465, 0, 427, 489, 606, 0, 0, 0, 4679 0, 0, 0, 0, 539, 551, 585, 0, 594, 595, 4680 597, 599, 598, 601, 0, 612, 480, 481, 613, 591, 4681 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 4682 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 4683 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 4684 503, 504, 505, 475, 506, 476, 507, 508, 0, 531, 4685 482, 401, 354, 549, 548, 0, 0, 0, 0, 0, 4686 0, 0, 0, 0, 0, 0, 0, 0, 0, 3753, 4687 0, 0, 204, 0, 0, 0, 0, 0, 0, 283, 4688 205, 477, 596, 479, 478, 0, 0, 0, 0, 0, 4689 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 4690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4694 0, 0, 0, 0, 0, 0, 273, 406, 423, 284, 4695 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 4696 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 4697 305, 367, 0, 420, 448, 304, 439, 0, 431, 277, 4698 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 4699 345, 334, 312, 464, 335, 336, 326, 378, 344, 379, 4700 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 4701 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4702 0, 0, 0, 590, 0, 0, 593, 0, 433, 0, 4703 0, 0, 0, 0, 0, 405, 0, 0, 337, 0, 4704 0, 0, 449, 0, 391, 372, 615, 0, 0, 389, 4705 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 4706 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 4707 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 4708 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 4709 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 4710 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 4711 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 4712 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 4713 0, 445, 338, 339, 0, 317, 265, 266, 611, 303, 4714 368, 559, 592, 484, 0, 546, 485, 494, 295, 518, 4715 530, 529, 364, 444, 0, 541, 544, 474, 610, 0, 4716 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 4717 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 4718 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 4719 457, 576, 577, 578, 579, 580, 581, 582, 575, 429, 4720 519, 496, 522, 437, 499, 498, 0, 0, 533, 453, 4721 534, 535, 358, 359, 360, 361, 321, 560, 288, 456, 4722 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 4723 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 4724 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 4725 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 4726 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 4727 425, 400, 347, 513, 540, 0, 0, 0, 0, 0, 4728 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 4729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4730 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 4731 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 4732 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 4733 556, 0, 0, 215, 216, 217, 218, 219, 220, 221, 4734 222, 260, 223, 224, 225, 226, 227, 228, 229, 232, 4735 233, 234, 235, 236, 237, 238, 239, 558, 230, 231, 4736 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 4737 250, 251, 252, 253, 0, 0, 0, 261, 262, 263, 4738 264, 0, 0, 255, 256, 257, 258, 0, 0, 0, 4739 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 4740 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 4741 595, 597, 599, 598, 601, 0, 612, 480, 481, 613, 4742 591, 370, 0, 495, 528, 517, 600, 483, 0, 0, 4743 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 4744 0, 340, 532, 514, 524, 515, 500, 501, 502, 509, 4745 320, 503, 504, 505, 475, 506, 476, 507, 508, 0, 4746 531, 482, 401, 354, 549, 548, 0, 0, 0, 0, 4747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4748 0, 0, 0, 204, 0, 0, 3536, 0, 0, 0, 4749 283, 205, 477, 596, 479, 478, 0, 0, 0, 0, 4750 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 4751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4755 0, 0, 0, 0, 0, 0, 0, 273, 406, 423, 4756 284, 397, 436, 289, 404, 279, 369, 393, 0, 0, 4757 275, 421, 403, 351, 330, 331, 274, 0, 388, 308, 4758 322, 305, 367, 0, 420, 448, 304, 439, 0, 431, 4759 277, 0, 430, 366, 417, 422, 352, 346, 276, 419, 4760 350, 345, 334, 312, 464, 335, 336, 326, 378, 344, 4761 379, 327, 356, 355, 357, 0, 0, 0, 0, 0, 4762 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 4763 0, 0, 0, 0, 590, 0, 0, 593, 0, 433, 4764 0, 0, 0, 0, 0, 0, 405, 0, 0, 337, 4765 0, 0, 0, 449, 0, 391, 372, 615, 0, 0, 4766 389, 342, 418, 380, 424, 407, 432, 385, 381, 268, 4767 408, 307, 353, 280, 282, 302, 309, 311, 313, 314, 4768 362, 363, 375, 396, 409, 410, 411, 306, 290, 390, 4769 291, 324, 292, 269, 298, 296, 299, 398, 300, 271, 4770 376, 415, 0, 319, 386, 349, 272, 348, 377, 414, 4771 413, 281, 440, 446, 447, 536, 0, 452, 616, 617, 4772 618, 461, 466, 467, 468, 470, 471, 472, 473, 537, 4773 554, 521, 491, 454, 545, 488, 492, 493, 557, 0, 4774 0, 0, 445, 338, 339, 0, 317, 265, 266, 611, 4775 303, 368, 559, 592, 484, 0, 546, 485, 494, 295, 4776 518, 530, 529, 364, 444, 0, 541, 544, 474, 610, 4777 0, 538, 553, 614, 552, 607, 374, 0, 395, 550, 4778 497, 0, 542, 516, 0, 543, 512, 547, 0, 486, 4779 0, 402, 426, 438, 455, 458, 487, 572, 573, 574, 4780 270, 457, 576, 577, 578, 579, 580, 581, 582, 575, 4781 429, 519, 496, 522, 437, 499, 498, 0, 0, 533, 4782 453, 534, 535, 358, 359, 360, 361, 321, 560, 288, 4783 456, 384, 0, 520, 0, 0, 0, 0, 0, 0, 4784 0, 0, 525, 526, 523, 619, 0, 583, 584, 0, 4785 0, 450, 451, 316, 323, 469, 325, 287, 373, 318, 4786 435, 332, 0, 462, 527, 463, 586, 589, 587, 588, 4787 365, 328, 329, 399, 333, 343, 387, 434, 371, 392, 4788 285, 425, 400, 347, 513, 540, 0, 0, 0, 0, 4789 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 4790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4791 0, 0, 568, 567, 566, 565, 564, 563, 562, 561, 4792 0, 0, 510, 412, 297, 259, 293, 294, 301, 608, 4793 605, 416, 609, 0, 267, 490, 341, 0, 382, 315, 4794 555, 556, 0, 0, 215, 216, 217, 218, 219, 220, 4795 221, 222, 260, 223, 224, 225, 226, 227, 228, 229, 4796 232, 233, 234, 235, 236, 237, 238, 239, 558, 230, 4797 231, 240, 241, 242, 243, 244, 245, 246, 247, 248, 4798 249, 250, 251, 252, 253, 0, 0, 0, 261, 262, 4799 263, 264, 0, 0, 255, 256, 257, 258, 0, 0, 4800 0, 441, 442, 443, 465, 0, 427, 489, 606, 0, 4801 0, 0, 0, 0, 0, 0, 539, 551, 585, 0, 4802 594, 595, 597, 599, 598, 601, 0, 612, 480, 481, 4803 613, 591, 370, 0, 495, 528, 517, 600, 483, 0, 4804 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 4805 0, 0, 340, 532, 514, 524, 515, 500, 501, 502, 4806 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 4807 0, 531, 482, 401, 354, 549, 548, 0, 0, 0, 4808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4809 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 4810 0, 283, 205, 477, 596, 479, 478, 0, 0, 0, 4811 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 4812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4816 0, 0, 0, 0, 0, 0, 0, 0, 273, 406, 4817 423, 284, 397, 436, 289, 404, 279, 369, 393, 0, 4818 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 4819 308, 322, 305, 367, 0, 420, 448, 304, 439, 0, 4820 431, 277, 0, 430, 366, 417, 422, 352, 346, 276, 4821 419, 350, 345, 334, 312, 464, 335, 336, 326, 378, 4822 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 4823 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 4824 0, 0, 0, 0, 0, 590, 0, 0, 593, 0, 4825 433, 0, 0, 0, 3663, 0, 0, 405, 0, 0, 4826 337, 0, 0, 0, 449, 0, 391, 372, 615, 0, 4827 0, 389, 342, 418, 380, 424, 407, 432, 385, 381, 4828 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 4829 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 4830 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 4831 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 4832 414, 413, 281, 440, 446, 447, 536, 0, 452, 616, 4833 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 4834 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 4835 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 4836 611, 303, 368, 559, 592, 484, 0, 546, 485, 494, 4837 295, 518, 530, 529, 364, 444, 0, 541, 544, 474, 4838 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 4839 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 4840 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 4841 574, 270, 457, 576, 577, 578, 579, 580, 581, 582, 4842 575, 429, 519, 496, 522, 437, 499, 498, 0, 0, 4843 533, 453, 534, 535, 358, 359, 360, 361, 321, 560, 4844 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 4845 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 4846 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 4847 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 4848 588, 365, 328, 329, 399, 333, 343, 387, 434, 371, 4849 392, 285, 425, 400, 347, 513, 540, 0, 0, 0, 4850 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 4851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4852 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 4853 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 4854 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 4855 315, 555, 556, 0, 0, 215, 216, 217, 218, 219, 4856 220, 221, 222, 260, 223, 224, 225, 226, 227, 228, 4857 229, 232, 233, 234, 235, 236, 237, 238, 239, 558, 4858 230, 231, 240, 241, 242, 243, 244, 245, 246, 247, 4859 248, 249, 250, 251, 252, 253, 0, 0, 0, 261, 4860 262, 263, 264, 0, 0, 255, 256, 257, 258, 0, 4861 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 4862 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 4863 0, 594, 595, 597, 599, 598, 601, 0, 612, 480, 4864 481, 613, 591, 370, 0, 495, 528, 517, 600, 483, 4865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4866 310, 0, 0, 340, 532, 514, 524, 515, 500, 501, 4867 502, 509, 320, 503, 504, 505, 475, 506, 476, 507, 4868 508, 0, 531, 482, 401, 354, 549, 548, 0, 0, 4869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4870 0, 0, 3387, 0, 0, 204, 0, 0, 0, 0, 4871 0, 0, 283, 205, 477, 596, 479, 478, 0, 0, 4872 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 4873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4877 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 4878 406, 423, 284, 397, 436, 289, 404, 279, 369, 393, 4879 0, 0, 275, 421, 403, 351, 330, 331, 274, 0, 4880 388, 308, 322, 305, 367, 0, 420, 448, 304, 439, 4881 0, 431, 277, 0, 430, 366, 417, 422, 352, 346, 4882 276, 419, 350, 345, 334, 312, 464, 335, 336, 326, 4883 378, 344, 379, 327, 356, 355, 357, 0, 0, 0, 4884 0, 0, 459, 460, 0, 0, 0, 0, 0, 0, 4885 0, 0, 0, 0, 0, 0, 590, 0, 0, 593, 4886 0, 433, 0, 0, 0, 0, 0, 0, 405, 0, 4887 0, 337, 0, 0, 0, 449, 0, 391, 372, 615, 4888 0, 0, 389, 342, 418, 380, 424, 407, 432, 385, 4889 381, 268, 408, 307, 353, 280, 282, 302, 309, 311, 4890 313, 314, 362, 363, 375, 396, 409, 410, 411, 306, 4891 290, 390, 291, 324, 292, 269, 298, 296, 299, 398, 4892 300, 271, 376, 415, 0, 319, 386, 349, 272, 348, 4893 377, 414, 413, 281, 440, 446, 447, 536, 0, 452, 4894 616, 617, 618, 461, 466, 467, 468, 470, 471, 472, 4895 473, 537, 554, 521, 491, 454, 545, 488, 492, 493, 4896 557, 0, 0, 0, 445, 338, 339, 0, 317, 265, 4897 266, 611, 303, 368, 559, 592, 484, 0, 546, 485, 4898 494, 295, 518, 530, 529, 364, 444, 0, 541, 544, 4899 474, 610, 0, 538, 553, 614, 552, 607, 374, 0, 4900 395, 550, 497, 0, 542, 516, 0, 543, 512, 547, 4901 0, 486, 0, 402, 426, 438, 455, 458, 487, 572, 4902 573, 574, 270, 457, 576, 577, 578, 579, 580, 581, 4903 582, 575, 429, 519, 496, 522, 437, 499, 498, 0, 4904 0, 533, 453, 534, 535, 358, 359, 360, 361, 321, 4905 560, 288, 456, 384, 0, 520, 0, 0, 0, 0, 4906 0, 0, 0, 0, 525, 526, 523, 619, 0, 583, 4907 584, 0, 0, 450, 451, 316, 323, 469, 325, 287, 4908 373, 318, 435, 332, 0, 462, 527, 463, 586, 589, 4909 587, 588, 365, 328, 329, 399, 333, 343, 387, 434, 4910 371, 392, 285, 425, 400, 347, 513, 540, 0, 0, 4911 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 4912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4913 0, 0, 0, 0, 568, 567, 566, 565, 564, 563, 4914 562, 561, 0, 0, 510, 412, 297, 259, 293, 294, 4915 301, 608, 605, 416, 609, 0, 267, 490, 341, 0, 4916 382, 315, 555, 556, 0, 0, 215, 216, 217, 218, 4917 219, 220, 221, 222, 260, 223, 224, 225, 226, 227, 4918 228, 229, 232, 233, 234, 235, 236, 237, 238, 239, 4919 558, 230, 231, 240, 241, 242, 243, 244, 245, 246, 4920 247, 248, 249, 250, 251, 252, 253, 0, 0, 0, 4921 261, 262, 263, 264, 0, 0, 255, 256, 257, 258, 4922 0, 0, 0, 441, 442, 443, 465, 0, 427, 489, 4923 606, 0, 0, 0, 0, 0, 0, 0, 539, 551, 4924 585, 0, 594, 595, 597, 599, 598, 601, 0, 612, 4925 480, 481, 613, 591, 370, 0, 495, 528, 517, 600, 4926 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4927 0, 310, 0, 0, 340, 532, 514, 524, 515, 500, 4928 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 4929 507, 508, 0, 531, 482, 401, 354, 549, 548, 0, 4930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931 0, 0, 0, 0, 3551, 0, 204, 0, 0, 0, 4932 0, 0, 0, 283, 205, 477, 596, 479, 478, 0, 4933 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 4934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4939 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 4940 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 4941 0, 388, 308, 322, 305, 367, 0, 420, 448, 304, 4942 439, 0, 431, 277, 0, 430, 366, 417, 422, 352, 4943 346, 276, 419, 350, 345, 334, 312, 464, 335, 336, 4944 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 4945 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 4946 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 4947 593, 0, 433, 0, 0, 0, 0, 0, 0, 405, 4948 0, 0, 337, 0, 0, 0, 449, 0, 391, 372, 4949 615, 0, 0, 389, 342, 418, 380, 424, 407, 432, 4950 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 4951 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 4952 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 4953 398, 300, 271, 376, 415, 0, 319, 386, 349, 272, 4954 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 4955 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 4956 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 4957 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 4958 265, 266, 611, 303, 368, 559, 592, 484, 0, 546, 4959 485, 494, 295, 518, 530, 529, 364, 444, 0, 541, 4960 544, 474, 610, 0, 538, 553, 614, 552, 607, 374, 4961 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 4962 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 4963 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 4964 581, 582, 575, 429, 519, 496, 522, 437, 499, 498, 4965 0, 0, 533, 453, 534, 535, 358, 359, 360, 361, 4966 321, 560, 288, 456, 384, 0, 520, 0, 0, 0, 4967 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 4968 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 4969 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 4970 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 4971 434, 371, 392, 285, 425, 400, 347, 513, 540, 0, 4972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4973 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4974 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 4975 563, 562, 561, 0, 0, 510, 412, 297, 259, 293, 4976 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 4977 0, 382, 315, 555, 556, 0, 0, 215, 216, 217, 4978 218, 219, 220, 221, 222, 260, 223, 224, 225, 226, 4979 227, 228, 229, 232, 233, 234, 235, 236, 237, 238, 4980 239, 558, 230, 231, 240, 241, 242, 243, 244, 245, 4981 246, 247, 248, 249, 250, 251, 252, 253, 0, 0, 4982 0, 261, 262, 263, 264, 0, 0, 255, 256, 257, 4983 258, 0, 0, 0, 441, 442, 443, 465, 0, 427, 4984 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 4985 551, 585, 0, 594, 595, 597, 599, 598, 601, 0, 4986 612, 480, 481, 613, 591, 370, 0, 495, 528, 517, 4987 600, 483, 0, 0, 0, 0, 0, 0, 0, 0, 4988 0, 0, 310, 0, 0, 340, 532, 514, 524, 515, 4989 500, 501, 502, 509, 320, 503, 504, 505, 475, 506, 4990 476, 507, 508, 0, 531, 482, 401, 354, 549, 548, 4991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4992 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 4993 0, 0, 0, 0, 283, 205, 477, 596, 479, 478, 4994 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 4995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5000 0, 273, 406, 423, 284, 397, 436, 289, 404, 279, 5001 369, 393, 0, 0, 275, 421, 403, 351, 330, 331, 5002 274, 0, 388, 308, 322, 305, 367, 0, 420, 448, 5003 304, 439, 0, 431, 277, 0, 430, 366, 417, 422, 5004 352, 346, 276, 419, 350, 345, 334, 312, 464, 335, 5005 336, 326, 378, 344, 379, 327, 356, 355, 357, 0, 5006 0, 0, 0, 0, 459, 460, 0, 0, 0, 0, 5007 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 5008 0, 593, 0, 433, 0, 0, 0, 3475, 0, 0, 5009 405, 0, 0, 337, 0, 0, 0, 449, 0, 391, 5010 372, 615, 0, 0, 389, 342, 418, 380, 424, 407, 5011 432, 385, 381, 268, 408, 307, 353, 280, 282, 302, 5012 309, 311, 313, 314, 362, 363, 375, 396, 409, 410, 5013 411, 306, 290, 390, 291, 324, 292, 269, 298, 296, 5014 299, 398, 300, 271, 376, 415, 0, 319, 386, 349, 5015 272, 348, 377, 414, 413, 281, 440, 446, 447, 536, 5016 0, 452, 616, 617, 618, 461, 466, 467, 468, 470, 5017 471, 472, 473, 537, 554, 521, 491, 454, 545, 488, 5018 492, 493, 557, 0, 0, 0, 445, 338, 339, 0, 5019 317, 265, 266, 611, 303, 368, 559, 592, 484, 0, 5020 546, 485, 494, 295, 518, 530, 529, 364, 444, 0, 5021 541, 544, 474, 610, 0, 538, 553, 614, 552, 607, 5022 374, 0, 395, 550, 497, 0, 542, 516, 0, 543, 5023 512, 547, 0, 486, 0, 402, 426, 438, 455, 458, 5024 487, 572, 573, 574, 270, 457, 576, 577, 578, 579, 5025 580, 581, 582, 575, 429, 519, 496, 522, 437, 499, 5026 498, 0, 0, 533, 453, 534, 535, 358, 359, 360, 5027 361, 321, 560, 288, 456, 384, 0, 520, 0, 0, 5028 0, 0, 0, 0, 0, 0, 525, 526, 523, 619, 5029 0, 583, 584, 0, 0, 450, 451, 316, 323, 469, 5030 325, 287, 373, 318, 435, 332, 0, 462, 527, 463, 5031 586, 589, 587, 588, 365, 328, 329, 399, 333, 343, 5032 387, 434, 371, 392, 285, 425, 400, 347, 513, 540, 5033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5034 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 5035 0, 0, 0, 0, 0, 0, 568, 567, 566, 565, 5036 564, 563, 562, 561, 0, 0, 510, 412, 297, 259, 5037 293, 294, 301, 608, 605, 416, 609, 0, 267, 490, 5038 341, 0, 382, 315, 555, 556, 0, 0, 215, 216, 5039 217, 218, 219, 220, 221, 222, 260, 223, 224, 225, 5040 226, 227, 228, 229, 232, 233, 234, 235, 236, 237, 5041 238, 239, 558, 230, 231, 240, 241, 242, 243, 244, 5042 245, 246, 247, 248, 249, 250, 251, 252, 253, 0, 5043 0, 0, 261, 262, 263, 264, 0, 0, 255, 256, 5044 257, 258, 0, 0, 0, 441, 442, 443, 465, 0, 5045 427, 489, 606, 0, 0, 0, 0, 0, 0, 0, 5046 539, 551, 585, 0, 594, 595, 597, 599, 598, 601, 5047 0, 612, 480, 481, 613, 591, 370, 0, 495, 528, 5048 517, 600, 483, 0, 0, 0, 0, 0, 0, 0, 5049 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 5050 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 5051 506, 476, 507, 508, 0, 531, 482, 401, 354, 549, 5052 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5053 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 5054 0, 3013, 0, 0, 0, 283, 205, 477, 596, 479, 5055 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5056 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5061 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 5062 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 5063 331, 274, 0, 388, 308, 322, 305, 367, 0, 420, 5064 448, 304, 439, 0, 431, 277, 0, 430, 366, 417, 5065 422, 352, 346, 276, 419, 350, 345, 334, 312, 464, 5066 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 5067 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 5068 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 5069 0, 0, 593, 0, 433, 0, 0, 0, 0, 0, 5070 0, 405, 0, 0, 337, 0, 0, 0, 449, 0, 5071 391, 372, 615, 0, 0, 389, 342, 418, 380, 424, 5072 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 5073 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 5074 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 5075 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 5076 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 5077 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 5078 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 5079 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 5080 0, 317, 265, 266, 611, 303, 368, 559, 592, 484, 5081 0, 546, 485, 494, 295, 518, 530, 529, 364, 444, 5082 0, 541, 544, 474, 610, 0, 538, 553, 614, 552, 5083 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 5084 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 5085 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 5086 579, 580, 581, 582, 575, 429, 519, 496, 522, 437, 5087 499, 498, 0, 0, 533, 453, 534, 535, 358, 359, 5088 360, 361, 321, 560, 288, 456, 384, 0, 520, 0, 5089 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 5090 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 5091 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 5092 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 5093 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 5094 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5095 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 5096 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 5097 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 5098 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 5099 490, 341, 0, 382, 315, 555, 556, 0, 0, 215, 5100 216, 217, 218, 219, 220, 221, 222, 260, 223, 224, 5101 225, 226, 227, 228, 229, 232, 233, 234, 235, 236, 5102 237, 238, 239, 558, 230, 231, 240, 241, 242, 243, 5103 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 5104 0, 0, 0, 261, 262, 263, 264, 0, 0, 255, 5105 256, 257, 258, 0, 0, 0, 441, 442, 443, 465, 5106 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 5107 0, 539, 551, 585, 0, 594, 595, 597, 599, 598, 5108 601, 0, 612, 480, 481, 613, 591, 370, 0, 495, 5109 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 5110 0, 0, 0, 0, 310, 0, 0, 340, 532, 514, 5111 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 5112 475, 506, 476, 507, 508, 0, 531, 482, 401, 354, 5113 549, 548, 0, 0, 0, 0, 0, 0, 0, 0, 5114 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 5115 0, 0, 0, 0, 0, 0, 283, 205, 477, 596, 5116 479, 478, 0, 0, 0, 0, 0, 0, 0, 0, 5117 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 5118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5120 0, 0, 0, 0, 0, 0, 0, 3031, 0, 0, 5121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5122 0, 0, 0, 273, 406, 423, 284, 397, 436, 289, 5123 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 5124 330, 331, 274, 0, 388, 308, 322, 305, 367, 0, 5125 420, 448, 304, 439, 0, 431, 277, 0, 430, 366, 5126 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 5127 464, 335, 336, 326, 378, 344, 379, 327, 356, 355, 5128 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 5129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5130 590, 0, 0, 593, 0, 433, 0, 0, 0, 0, 5131 0, 0, 405, 0, 0, 337, 0, 0, 0, 449, 5132 0, 391, 372, 615, 0, 0, 389, 342, 418, 380, 5133 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 5134 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 5135 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 5136 298, 296, 299, 398, 300, 271, 376, 415, 0, 319, 5137 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 5138 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 5139 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 5140 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 5141 339, 0, 317, 265, 266, 611, 303, 368, 559, 592, 5142 484, 0, 546, 485, 494, 295, 518, 530, 529, 364, 5143 444, 0, 541, 544, 474, 610, 0, 538, 553, 614, 5144 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 5145 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 5146 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 5147 578, 579, 580, 581, 582, 575, 429, 519, 496, 522, 5148 437, 499, 498, 0, 0, 533, 453, 534, 535, 358, 5149 359, 360, 361, 321, 560, 288, 456, 384, 0, 520, 5150 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 5151 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 5152 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 5153 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 5154 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 5155 513, 540, 0, 0, 0, 0, 0, 0, 0, 0, 5156 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 5157 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 5158 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 5159 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 5160 267, 490, 341, 0, 382, 315, 555, 556, 0, 0, 5161 215, 216, 217, 218, 219, 220, 221, 222, 260, 223, 5162 224, 225, 226, 227, 228, 229, 232, 233, 234, 235, 5163 236, 237, 238, 239, 558, 230, 231, 240, 241, 242, 5164 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 5165 253, 0, 0, 0, 261, 262, 263, 264, 0, 0, 5166 255, 256, 257, 258, 0, 0, 0, 441, 442, 443, 5167 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 5168 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 5169 598, 601, 0, 612, 480, 481, 613, 591, 370, 0, 5170 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 5171 0, 0, 0, 0, 0, 310, 0, 0, 340, 532, 5172 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 5173 505, 475, 506, 476, 507, 508, 0, 531, 482, 401, 5174 354, 549, 548, 0, 0, 0, 0, 0, 0, 0, 5175 0, 0, 0, 0, 0, 0, 0, 1932, 0, 0, 5176 204, 0, 0, 0, 0, 0, 0, 283, 205, 477, 5177 596, 479, 478, 0, 0, 0, 0, 0, 0, 0, 5178 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 5179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5183 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 5184 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 5185 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 5186 0, 420, 448, 304, 439, 0, 431, 277, 0, 430, 5187 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 5188 312, 464, 335, 336, 326, 378, 344, 379, 327, 356, 5189 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 5190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5191 0, 590, 0, 0, 593, 0, 433, 0, 0, 0, 5192 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 5193 449, 0, 391, 372, 615, 0, 0, 389, 342, 418, 5194 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 5195 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 5196 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 5197 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 5198 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 5199 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 5200 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 5201 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 5202 338, 339, 0, 317, 265, 266, 611, 303, 368, 559, 5203 592, 484, 0, 546, 485, 494, 295, 518, 530, 529, 5204 364, 444, 0, 541, 544, 474, 610, 0, 538, 553, 5205 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 5206 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 5207 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 5208 577, 578, 579, 580, 581, 582, 575, 429, 519, 496, 5209 522, 437, 499, 498, 0, 0, 533, 453, 534, 535, 5210 358, 359, 360, 361, 321, 560, 288, 456, 384, 0, 5211 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 5212 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 5213 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 5214 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 5215 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 5216 347, 513, 540, 0, 0, 0, 0, 0, 0, 0, 5217 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 5218 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 5219 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 5220 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 5221 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 5222 0, 215, 216, 217, 218, 219, 220, 221, 222, 260, 5223 223, 224, 225, 226, 227, 228, 229, 232, 233, 234, 5224 235, 236, 237, 238, 239, 558, 230, 231, 240, 241, 5225 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 5226 252, 253, 0, 0, 0, 261, 262, 263, 264, 0, 5227 0, 255, 256, 257, 258, 0, 0, 0, 441, 442, 5228 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 5229 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 5230 599, 598, 601, 0, 612, 480, 481, 613, 591, 370, 5231 0, 495, 528, 517, 600, 483, 0, 0, 0, 0, 5232 0, 0, 0, 0, 0, 0, 310, 0, 0, 340, 5233 532, 514, 524, 515, 500, 501, 502, 509, 320, 503, 5234 504, 505, 475, 506, 476, 507, 508, 0, 531, 482, 5235 401, 354, 549, 548, 0, 0, 0, 0, 0, 0, 5236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5237 0, 204, 0, 0, 0, 0, 0, 0, 283, 205, 5238 477, 596, 479, 478, 0, 0, 0, 0, 0, 0, 5239 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 5240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5242 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 5243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5244 0, 0, 0, 0, 0, 273, 406, 423, 284, 397, 5245 436, 289, 404, 279, 369, 393, 0, 0, 275, 421, 5246 403, 351, 330, 331, 274, 0, 388, 308, 322, 305, 5247 367, 0, 420, 448, 304, 439, 0, 431, 277, 0, 5248 430, 366, 417, 422, 352, 346, 276, 419, 350, 345, 5249 334, 312, 464, 335, 336, 326, 378, 344, 379, 327, 5250 356, 355, 357, 0, 0, 0, 0, 0, 459, 460, 5251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5252 0, 0, 590, 0, 0, 593, 0, 433, 0, 0, 5253 0, 0, 0, 0, 405, 0, 0, 337, 0, 0, 5254 0, 449, 0, 391, 372, 615, 0, 0, 389, 342, 5255 418, 380, 424, 407, 432, 385, 381, 268, 408, 307, 5256 353, 280, 282, 302, 309, 311, 313, 314, 362, 363, 5257 375, 396, 409, 410, 411, 306, 290, 390, 291, 324, 5258 292, 269, 298, 296, 299, 398, 300, 271, 376, 415, 5259 0, 319, 386, 349, 272, 348, 377, 414, 413, 281, 5260 440, 446, 447, 536, 0, 452, 616, 617, 618, 461, 5261 466, 467, 468, 470, 471, 472, 473, 537, 554, 521, 5262 491, 454, 545, 488, 492, 493, 557, 0, 0, 0, 5263 445, 338, 339, 0, 317, 265, 266, 611, 303, 368, 5264 559, 592, 484, 0, 546, 485, 494, 295, 518, 530, 5265 529, 364, 444, 0, 541, 544, 474, 610, 0, 538, 5266 553, 614, 552, 607, 374, 0, 395, 550, 497, 0, 5267 542, 516, 0, 543, 512, 547, 0, 486, 0, 402, 5268 426, 438, 455, 458, 487, 572, 573, 574, 270, 457, 5269 576, 577, 578, 579, 580, 581, 582, 575, 429, 519, 5270 496, 522, 437, 499, 498, 0, 0, 533, 453, 534, 5271 535, 358, 359, 360, 361, 321, 560, 288, 456, 384, 5272 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 5273 525, 526, 523, 619, 0, 583, 584, 0, 0, 450, 5274 451, 316, 323, 469, 325, 287, 373, 318, 435, 332, 5275 0, 462, 527, 463, 586, 589, 587, 588, 365, 328, 5276 329, 399, 333, 343, 387, 434, 371, 392, 285, 425, 5277 400, 347, 513, 540, 0, 0, 0, 0, 0, 0, 5278 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 5279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5280 568, 567, 566, 565, 564, 563, 562, 561, 0, 0, 5281 510, 412, 297, 259, 293, 294, 301, 608, 605, 416, 5282 609, 0, 267, 490, 341, 0, 382, 315, 555, 556, 5283 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, 5284 260, 223, 224, 225, 226, 227, 228, 229, 232, 233, 5285 234, 235, 236, 237, 238, 239, 558, 230, 231, 240, 5286 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 5287 251, 252, 253, 0, 0, 0, 261, 262, 263, 264, 5288 0, 0, 255, 256, 257, 258, 0, 0, 0, 441, 5289 442, 443, 465, 0, 427, 489, 606, 0, 0, 0, 5290 0, 0, 0, 0, 539, 551, 585, 0, 594, 595, 5291 597, 599, 598, 601, 0, 612, 480, 481, 613, 591, 5292 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 5293 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 5294 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 5295 503, 504, 505, 475, 506, 476, 507, 508, 0, 531, 5296 482, 401, 354, 549, 548, 0, 0, 0, 0, 0, 5297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5298 0, 0, 204, 0, 0, 0, 0, 0, 0, 283, 5299 205, 477, 596, 479, 478, 0, 0, 0, 0, 0, 5300 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 5301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5304 2884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5305 0, 0, 0, 0, 0, 0, 273, 406, 423, 284, 5306 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 5307 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 5308 305, 367, 0, 420, 448, 304, 439, 0, 431, 277, 5309 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 5310 345, 334, 312, 464, 335, 336, 326, 378, 344, 379, 5311 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 5312 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5313 0, 0, 0, 590, 0, 0, 593, 0, 433, 0, 5314 0, 0, 0, 0, 0, 405, 0, 0, 337, 0, 5315 0, 0, 449, 0, 391, 372, 615, 0, 0, 389, 5316 342, 418, 380, 424, 407, 432, 385, 381, 268, 408, 5317 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 5318 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 5319 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 5320 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 5321 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 5322 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 5323 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 5324 0, 445, 338, 339, 0, 317, 265, 266, 611, 303, 5325 368, 559, 592, 484, 0, 546, 485, 494, 295, 518, 5326 530, 529, 364, 444, 0, 541, 544, 474, 610, 0, 5327 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 5328 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 5329 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 5330 457, 576, 577, 578, 579, 580, 581, 582, 575, 429, 5331 519, 496, 522, 437, 499, 498, 0, 0, 533, 453, 5332 534, 535, 358, 359, 360, 361, 321, 560, 288, 456, 5333 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 5334 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 5335 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 5336 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 5337 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 5338 425, 400, 347, 513, 540, 0, 0, 0, 0, 0, 5339 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 5340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5341 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 5342 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 5343 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 5344 556, 0, 0, 215, 216, 217, 218, 219, 220, 221, 5345 222, 260, 223, 224, 225, 226, 227, 228, 229, 232, 5346 233, 234, 235, 236, 237, 238, 239, 558, 230, 231, 5347 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 5348 250, 251, 252, 253, 0, 0, 0, 261, 262, 263, 5349 264, 0, 0, 255, 256, 257, 258, 0, 0, 0, 5350 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 5351 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 5352 595, 597, 599, 598, 601, 0, 612, 480, 481, 613, 5353 591, 370, 0, 495, 528, 517, 600, 483, 0, 0, 5354 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 5355 0, 340, 532, 514, 524, 515, 500, 501, 502, 509, 5356 320, 503, 504, 505, 475, 506, 476, 507, 508, 0, 5357 531, 482, 401, 354, 549, 548, 0, 0, 0, 0, 5358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5359 0, 0, 0, 204, 0, 0, 1448, 0, 0, 0, 5360 283, 205, 477, 596, 479, 478, 0, 0, 0, 0, 5361 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 5362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5366 0, 0, 0, 0, 0, 0, 0, 273, 406, 423, 5367 284, 397, 436, 289, 404, 279, 369, 393, 0, 0, 5368 275, 421, 403, 351, 330, 331, 274, 0, 388, 308, 5369 322, 305, 367, 0, 420, 448, 304, 439, 0, 431, 5370 277, 0, 430, 366, 417, 422, 352, 346, 276, 419, 5371 350, 345, 334, 312, 464, 335, 336, 326, 378, 344, 5372 379, 327, 356, 355, 357, 0, 0, 0, 0, 0, 5373 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 5374 0, 0, 0, 0, 590, 0, 0, 593, 0, 433, 5375 0, 0, 0, 0, 0, 0, 405, 0, 0, 337, 5376 0, 0, 0, 449, 0, 391, 372, 615, 0, 0, 5377 389, 342, 418, 380, 424, 407, 432, 385, 381, 268, 5378 408, 307, 353, 280, 282, 302, 309, 311, 313, 314, 5379 362, 363, 375, 396, 409, 410, 411, 306, 290, 390, 5380 291, 324, 292, 269, 298, 296, 299, 398, 300, 271, 5381 376, 415, 0, 319, 386, 349, 272, 348, 377, 414, 5382 413, 281, 440, 446, 447, 536, 0, 452, 616, 617, 5383 618, 461, 466, 467, 468, 470, 471, 472, 473, 537, 5384 554, 521, 491, 454, 545, 488, 492, 493, 557, 0, 5385 0, 0, 445, 338, 339, 0, 317, 265, 266, 611, 5386 303, 368, 559, 592, 484, 0, 546, 485, 494, 295, 5387 518, 530, 529, 364, 444, 0, 541, 544, 474, 610, 5388 0, 538, 553, 614, 552, 607, 374, 0, 395, 550, 5389 497, 0, 542, 516, 0, 543, 512, 547, 0, 486, 5390 0, 402, 426, 438, 455, 458, 487, 572, 573, 574, 5391 270, 457, 576, 577, 578, 579, 580, 581, 582, 575, 5392 429, 519, 496, 522, 437, 499, 498, 0, 0, 533, 5393 453, 534, 535, 358, 359, 360, 361, 321, 560, 288, 5394 456, 384, 0, 520, 0, 0, 0, 0, 0, 0, 5395 0, 0, 525, 526, 523, 619, 0, 583, 584, 0, 5396 0, 450, 451, 316, 323, 469, 325, 287, 373, 318, 5397 435, 332, 0, 462, 527, 463, 586, 589, 587, 588, 5398 365, 328, 329, 399, 333, 343, 387, 434, 371, 392, 5399 285, 425, 400, 347, 513, 540, 0, 0, 0, 0, 5400 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 5401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5402 0, 0, 568, 567, 566, 565, 564, 563, 562, 561, 5403 0, 0, 510, 412, 297, 259, 293, 294, 301, 608, 5404 605, 416, 609, 0, 267, 490, 341, 0, 382, 315, 5405 555, 556, 0, 0, 215, 216, 217, 218, 219, 220, 5406 221, 222, 260, 223, 224, 225, 226, 227, 228, 229, 5407 232, 233, 234, 235, 236, 237, 238, 239, 558, 230, 5408 231, 240, 241, 242, 243, 244, 245, 246, 247, 248, 5409 249, 250, 251, 252, 253, 0, 0, 0, 261, 262, 5410 263, 264, 0, 0, 255, 256, 257, 258, 0, 0, 5411 0, 441, 442, 443, 465, 0, 427, 489, 606, 0, 5412 0, 0, 0, 0, 0, 0, 539, 551, 585, 0, 5413 594, 595, 597, 599, 598, 601, 0, 612, 480, 481, 5414 613, 591, 370, 0, 495, 528, 517, 600, 483, 0, 5415 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 5416 0, 0, 340, 532, 514, 524, 515, 500, 501, 502, 5417 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 5418 0, 531, 482, 401, 354, 549, 548, 0, 0, 0, 5419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5420 0, 0, 0, 0, 204, 0, 0, 2365, 0, 0, 5421 0, 283, 205, 477, 596, 479, 478, 0, 0, 0, 5422 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 5423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5427 0, 0, 0, 0, 0, 0, 0, 0, 273, 406, 5428 423, 284, 397, 436, 289, 404, 279, 369, 393, 0, 5429 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 5430 308, 322, 305, 367, 0, 420, 448, 304, 439, 0, 5431 431, 277, 0, 430, 366, 417, 422, 352, 346, 276, 5432 419, 350, 345, 334, 312, 464, 335, 336, 326, 378, 5433 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 5434 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 5435 0, 0, 0, 0, 0, 590, 0, 0, 593, 0, 5436 433, 0, 0, 0, 0, 0, 0, 405, 0, 0, 5437 337, 0, 0, 0, 449, 0, 391, 372, 615, 0, 5438 0, 389, 342, 418, 380, 424, 407, 432, 385, 381, 5439 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 5440 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 5441 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 5442 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 5443 414, 413, 281, 440, 446, 447, 536, 0, 452, 616, 5444 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 5445 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 5446 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 5447 611, 303, 368, 559, 592, 484, 0, 546, 485, 494, 5448 295, 518, 530, 529, 364, 444, 0, 541, 544, 474, 5449 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 5450 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 5451 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 5452 574, 270, 457, 576, 577, 578, 579, 580, 581, 582, 5453 575, 429, 519, 496, 522, 437, 499, 498, 0, 0, 5454 533, 453, 534, 535, 358, 359, 360, 361, 321, 560, 5455 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 5456 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 5457 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 5458 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 5459 588, 365, 328, 329, 399, 333, 343, 387, 434, 371, 5460 392, 285, 425, 400, 347, 513, 540, 0, 0, 0, 5461 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 5462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5463 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 5464 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 5465 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 5466 315, 555, 556, 0, 0, 215, 216, 217, 218, 219, 5467 220, 221, 222, 260, 223, 224, 225, 226, 227, 228, 5468 229, 232, 233, 234, 235, 236, 237, 238, 239, 558, 5469 230, 231, 240, 241, 242, 243, 244, 245, 246, 247, 5470 248, 249, 250, 251, 252, 253, 0, 0, 0, 261, 5471 262, 263, 264, 0, 0, 255, 256, 257, 258, 0, 5472 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 5473 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 5474 0, 594, 595, 597, 599, 598, 601, 0, 612, 480, 5475 481, 613, 591, 370, 0, 495, 528, 517, 600, 483, 5476 0, 0, 2710, 0, 0, 0, 0, 0, 0, 0, 5477 310, 0, 0, 340, 532, 514, 524, 515, 500, 501, 5478 502, 509, 320, 503, 504, 505, 475, 506, 476, 507, 5479 508, 0, 531, 482, 401, 354, 549, 548, 0, 0, 5480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5481 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 5482 0, 0, 283, 205, 477, 596, 479, 478, 0, 0, 5483 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 5484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5488 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 5489 406, 423, 284, 397, 436, 289, 404, 279, 369, 393, 5490 0, 0, 275, 421, 403, 351, 330, 331, 274, 0, 5491 388, 308, 322, 305, 367, 0, 420, 448, 304, 439, 5492 0, 431, 277, 0, 430, 366, 417, 422, 352, 346, 5493 276, 419, 350, 345, 334, 312, 464, 335, 336, 326, 5494 378, 344, 379, 327, 356, 355, 357, 0, 0, 0, 5495 0, 0, 459, 460, 0, 0, 0, 0, 0, 0, 5496 0, 0, 0, 0, 0, 0, 590, 0, 0, 593, 5497 0, 433, 0, 0, 0, 0, 0, 0, 405, 0, 5498 0, 337, 0, 0, 0, 449, 0, 391, 372, 615, 5499 0, 0, 389, 342, 418, 380, 424, 407, 432, 385, 5500 381, 268, 408, 307, 353, 280, 282, 302, 309, 311, 5501 313, 314, 362, 363, 375, 396, 409, 410, 411, 306, 5502 290, 390, 291, 324, 292, 269, 298, 296, 299, 398, 5503 300, 271, 376, 415, 0, 319, 386, 349, 272, 348, 5504 377, 414, 413, 281, 440, 446, 447, 536, 0, 452, 5505 616, 617, 618, 461, 466, 467, 468, 470, 471, 472, 5506 473, 537, 554, 521, 491, 454, 545, 488, 492, 493, 5507 557, 0, 0, 0, 445, 338, 339, 0, 317, 265, 5508 266, 611, 303, 368, 559, 592, 484, 0, 546, 485, 5509 494, 295, 518, 530, 529, 364, 444, 0, 541, 544, 5510 474, 610, 0, 538, 553, 614, 552, 607, 374, 0, 5511 395, 550, 497, 0, 542, 516, 0, 543, 512, 547, 5512 0, 486, 0, 402, 426, 438, 455, 458, 487, 572, 5513 573, 574, 270, 457, 576, 577, 578, 579, 580, 581, 5514 582, 575, 429, 519, 496, 522, 437, 499, 498, 0, 5515 0, 533, 453, 534, 535, 358, 359, 360, 361, 321, 5516 560, 288, 456, 384, 0, 520, 0, 0, 0, 0, 5517 0, 0, 0, 0, 525, 526, 523, 619, 0, 583, 5518 584, 0, 0, 450, 451, 316, 323, 469, 325, 287, 5519 373, 318, 435, 332, 0, 462, 527, 463, 586, 589, 5520 587, 588, 365, 328, 329, 399, 333, 343, 387, 434, 5521 371, 392, 285, 425, 400, 347, 513, 540, 0, 0, 5522 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 5523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5524 0, 0, 0, 0, 568, 567, 566, 565, 564, 563, 5525 562, 561, 0, 0, 510, 412, 297, 259, 293, 294, 5526 301, 608, 605, 416, 609, 0, 267, 490, 341, 0, 5527 382, 315, 555, 556, 0, 0, 215, 216, 217, 218, 5528 219, 220, 221, 222, 260, 223, 224, 225, 226, 227, 5529 228, 229, 232, 233, 234, 235, 236, 237, 238, 239, 5530 558, 230, 231, 240, 241, 242, 243, 244, 245, 246, 5531 247, 248, 249, 250, 251, 252, 253, 0, 0, 0, 5532 261, 262, 263, 264, 0, 0, 255, 256, 257, 258, 5533 0, 0, 0, 441, 442, 443, 465, 0, 427, 489, 5534 606, 0, 0, 0, 0, 0, 0, 0, 539, 551, 5535 585, 0, 594, 595, 597, 599, 598, 601, 0, 612, 5536 480, 481, 613, 591, 370, 0, 495, 528, 517, 600, 5537 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5538 0, 310, 0, 0, 340, 532, 514, 524, 515, 500, 5539 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 5540 507, 508, 0, 531, 482, 401, 354, 549, 548, 0, 5541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5542 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 5543 0, 0, 0, 283, 205, 477, 596, 479, 478, 0, 5544 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 5545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5548 0, 0, 0, 0, 2070, 0, 0, 0, 0, 0, 5549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5550 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 5551 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 5552 0, 388, 308, 322, 305, 367, 0, 420, 448, 304, 5553 439, 0, 431, 277, 0, 430, 366, 417, 422, 352, 5554 346, 276, 419, 350, 345, 334, 312, 464, 335, 336, 5555 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 5556 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 5557 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 5558 593, 0, 433, 0, 0, 0, 0, 0, 0, 405, 5559 0, 0, 337, 0, 0, 0, 449, 0, 391, 372, 5560 615, 0, 0, 389, 342, 418, 380, 424, 407, 432, 5561 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 5562 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 5563 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 5564 398, 300, 271, 376, 415, 0, 319, 386, 349, 272, 5565 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 5566 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 5567 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 5568 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 5569 265, 266, 611, 303, 368, 559, 592, 484, 0, 546, 5570 485, 494, 295, 518, 530, 529, 364, 444, 0, 541, 5571 544, 474, 610, 0, 538, 553, 614, 552, 607, 374, 5572 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 5573 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 5574 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 5575 581, 582, 575, 429, 519, 496, 522, 437, 499, 498, 5576 0, 0, 533, 453, 534, 535, 358, 359, 360, 361, 5577 321, 560, 288, 456, 384, 0, 520, 0, 0, 0, 5578 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 5579 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 5580 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 5581 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 5582 434, 371, 392, 285, 425, 400, 347, 513, 540, 0, 5583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5584 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5585 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 5586 563, 562, 561, 0, 0, 510, 412, 297, 259, 293, 5587 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 5588 0, 382, 315, 555, 556, 0, 0, 215, 216, 217, 5589 218, 219, 220, 221, 222, 260, 223, 224, 225, 226, 5590 227, 228, 229, 232, 233, 234, 235, 236, 237, 238, 5591 239, 558, 230, 231, 240, 241, 242, 243, 244, 245, 5592 246, 247, 248, 249, 250, 251, 252, 253, 0, 0, 5593 0, 261, 262, 263, 264, 0, 0, 255, 256, 257, 5594 258, 0, 0, 0, 441, 442, 443, 465, 0, 427, 5595 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 5596 551, 585, 0, 594, 595, 597, 599, 598, 601, 0, 5597 612, 480, 481, 613, 591, 370, 0, 495, 528, 517, 5598 600, 483, 0, 0, 0, 0, 0, 0, 0, 0, 5599 0, 0, 310, 0, 0, 340, 532, 514, 524, 515, 5600 500, 501, 502, 509, 320, 503, 504, 505, 475, 506, 5601 476, 507, 508, 0, 531, 482, 401, 354, 549, 548, 5602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5603 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 5604 0, 0, 0, 0, 283, 205, 477, 596, 479, 478, 5605 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 5606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5609 0, 0, 0, 0, 0, 2442, 0, 0, 0, 0, 5610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5611 0, 273, 406, 423, 284, 397, 436, 289, 404, 279, 5612 369, 393, 0, 0, 275, 421, 403, 351, 330, 331, 5613 274, 0, 388, 308, 322, 305, 367, 0, 420, 448, 5614 304, 439, 0, 431, 277, 0, 430, 366, 417, 422, 5615 352, 346, 276, 419, 350, 345, 334, 312, 464, 335, 5616 336, 326, 378, 344, 379, 327, 356, 355, 357, 0, 5617 0, 0, 0, 0, 459, 460, 0, 0, 0, 0, 5618 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 5619 0, 593, 0, 433, 0, 0, 0, 0, 0, 0, 5620 405, 0, 0, 337, 0, 0, 0, 449, 0, 391, 5621 372, 615, 0, 0, 389, 342, 418, 380, 424, 407, 5622 432, 385, 381, 268, 408, 307, 353, 280, 282, 302, 5623 309, 311, 313, 314, 362, 363, 375, 396, 409, 410, 5624 411, 306, 290, 390, 291, 324, 292, 269, 298, 296, 5625 299, 398, 300, 271, 376, 415, 0, 319, 386, 349, 5626 272, 348, 377, 414, 413, 281, 440, 446, 447, 536, 5627 0, 452, 616, 617, 618, 461, 466, 467, 468, 470, 5628 471, 472, 473, 537, 554, 521, 491, 454, 545, 488, 5629 492, 493, 557, 0, 0, 0, 445, 338, 339, 0, 5630 317, 265, 266, 611, 303, 368, 559, 592, 484, 0, 5631 546, 485, 494, 295, 518, 530, 529, 364, 444, 0, 5632 541, 544, 474, 610, 0, 538, 553, 614, 552, 607, 5633 374, 0, 395, 550, 497, 0, 542, 516, 0, 543, 5634 512, 547, 0, 486, 0, 402, 426, 438, 455, 458, 5635 487, 572, 573, 574, 270, 457, 576, 577, 578, 579, 5636 580, 581, 582, 575, 429, 519, 496, 522, 437, 499, 5637 498, 0, 0, 533, 453, 534, 535, 358, 359, 360, 5638 361, 321, 560, 288, 456, 384, 0, 520, 0, 0, 5639 0, 0, 0, 0, 0, 0, 525, 526, 523, 619, 5640 0, 583, 584, 0, 0, 450, 451, 316, 323, 469, 5641 325, 287, 373, 318, 435, 332, 0, 462, 527, 463, 5642 586, 589, 587, 588, 365, 328, 329, 399, 333, 343, 5643 387, 434, 371, 392, 285, 425, 400, 347, 513, 540, 5644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5645 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 5646 0, 0, 0, 0, 0, 0, 568, 567, 566, 565, 5647 564, 563, 562, 561, 0, 0, 510, 412, 297, 259, 5648 293, 294, 301, 608, 605, 416, 609, 0, 267, 490, 5649 341, 0, 382, 315, 555, 556, 0, 0, 215, 216, 5650 217, 218, 219, 220, 221, 222, 260, 223, 224, 225, 5651 226, 227, 228, 229, 232, 233, 234, 235, 236, 237, 5652 238, 239, 558, 230, 231, 240, 241, 242, 243, 244, 5653 245, 246, 247, 248, 249, 250, 251, 252, 253, 0, 5654 0, 0, 261, 262, 263, 264, 0, 0, 255, 256, 5655 257, 258, 0, 0, 0, 441, 442, 443, 465, 0, 5656 427, 489, 606, 0, 0, 0, 0, 0, 0, 0, 5657 539, 551, 585, 0, 594, 595, 597, 599, 598, 601, 5658 0, 612, 480, 481, 613, 591, 370, 0, 495, 528, 5659 517, 600, 483, 0, 0, 0, 0, 0, 0, 0, 5660 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 5661 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 5662 506, 476, 507, 508, 0, 531, 482, 401, 354, 549, 5663 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5664 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 5665 0, 2440, 0, 0, 0, 283, 205, 477, 596, 479, 5666 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5667 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5672 0, 0, 273, 406, 423, 284, 397, 436, 289, 404, 5673 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 5674 331, 274, 0, 388, 308, 322, 305, 367, 0, 420, 5675 448, 304, 439, 0, 431, 277, 0, 430, 366, 417, 5676 422, 352, 346, 276, 419, 350, 345, 334, 312, 464, 5677 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 5678 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 5679 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 5680 0, 0, 593, 0, 433, 0, 0, 0, 0, 0, 5681 0, 405, 0, 0, 337, 0, 0, 0, 449, 0, 5682 391, 372, 615, 0, 0, 389, 342, 418, 380, 424, 5683 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 5684 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 5685 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 5686 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 5687 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 5688 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 5689 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 5690 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 5691 0, 317, 265, 266, 611, 303, 368, 559, 592, 484, 5692 0, 546, 485, 494, 295, 518, 530, 529, 364, 444, 5693 0, 541, 544, 474, 610, 0, 538, 553, 614, 552, 5694 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 5695 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 5696 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 5697 579, 580, 581, 582, 575, 429, 519, 496, 522, 437, 5698 499, 498, 0, 0, 533, 453, 534, 535, 358, 359, 5699 360, 361, 321, 560, 288, 456, 384, 0, 520, 0, 5700 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 5701 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 5702 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 5703 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 5704 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 5705 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5706 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 5707 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 5708 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 5709 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 5710 490, 341, 0, 382, 315, 555, 556, 0, 0, 215, 5711 216, 217, 218, 219, 220, 221, 222, 260, 223, 224, 5712 225, 226, 227, 228, 229, 232, 233, 234, 235, 236, 5713 237, 238, 239, 558, 230, 231, 240, 241, 242, 243, 5714 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 5715 0, 0, 0, 261, 262, 263, 264, 0, 0, 255, 5716 256, 257, 258, 0, 0, 0, 441, 442, 443, 465, 5717 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 5718 0, 539, 551, 585, 0, 594, 595, 597, 599, 598, 5719 601, 2226, 612, 480, 481, 613, 591, 370, 0, 495, 5720 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 5721 0, 0, 0, 0, 310, 0, 0, 340, 532, 514, 5722 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 5723 475, 506, 476, 507, 508, 0, 531, 482, 401, 354, 5724 549, 548, 0, 0, 0, 0, 0, 0, 0, 0, 5725 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 5726 0, 0, 0, 0, 0, 0, 283, 205, 477, 596, 5727 479, 478, 0, 0, 0, 0, 0, 0, 0, 0, 5728 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 5729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5733 0, 0, 0, 273, 406, 423, 284, 397, 436, 289, 5734 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 5735 330, 331, 274, 0, 388, 308, 322, 305, 367, 0, 5736 420, 448, 304, 439, 0, 431, 277, 0, 430, 366, 5737 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 5738 464, 335, 336, 326, 378, 344, 379, 327, 356, 355, 5739 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 5740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5741 590, 0, 0, 593, 0, 433, 0, 0, 0, 0, 5742 0, 0, 405, 0, 0, 337, 0, 0, 0, 449, 5743 0, 391, 372, 615, 0, 0, 389, 342, 418, 380, 5744 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 5745 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 5746 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 5747 298, 296, 299, 398, 300, 271, 376, 415, 0, 319, 5748 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 5749 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 5750 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 5751 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 5752 339, 0, 317, 265, 266, 611, 303, 368, 559, 592, 5753 484, 0, 546, 485, 494, 295, 518, 530, 529, 364, 5754 444, 0, 541, 544, 474, 610, 0, 538, 553, 614, 5755 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 5756 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 5757 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 5758 578, 579, 580, 581, 582, 575, 429, 519, 496, 522, 5759 437, 499, 498, 0, 0, 533, 453, 534, 535, 358, 5760 359, 360, 361, 321, 560, 288, 456, 384, 0, 520, 5761 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 5762 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 5763 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 5764 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 5765 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 5766 513, 540, 0, 0, 0, 0, 0, 0, 0, 0, 5767 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 5768 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 5769 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 5770 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 5771 267, 490, 341, 0, 382, 315, 555, 556, 0, 0, 5772 215, 216, 217, 218, 219, 220, 221, 222, 260, 223, 5773 224, 225, 226, 227, 228, 229, 232, 233, 234, 235, 5774 236, 237, 238, 239, 558, 230, 231, 240, 241, 242, 5775 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 5776 253, 0, 0, 0, 261, 262, 263, 264, 0, 0, 5777 255, 256, 257, 258, 0, 0, 0, 441, 442, 443, 5778 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 5779 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 5780 598, 601, 0, 612, 480, 481, 613, 591, 370, 0, 5781 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 5782 0, 0, 0, 0, 0, 310, 0, 0, 340, 532, 5783 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 5784 505, 475, 506, 476, 507, 508, 0, 531, 482, 401, 5785 354, 549, 548, 0, 0, 0, 0, 0, 0, 0, 5786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5787 204, 0, 0, 0, 1791, 0, 0, 283, 205, 477, 5788 596, 479, 478, 0, 0, 0, 0, 0, 0, 0, 5789 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 5790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5794 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 5795 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 5796 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 5797 0, 420, 448, 304, 439, 0, 431, 277, 0, 430, 5798 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 5799 312, 464, 335, 336, 326, 378, 344, 379, 327, 356, 5800 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 5801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5802 0, 590, 0, 0, 593, 0, 433, 0, 0, 0, 5803 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 5804 449, 0, 391, 372, 615, 0, 0, 389, 342, 418, 5805 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 5806 280, 282, 302, 309, 311, 313, 314, 362, 363, 375, 5807 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 5808 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 5809 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 5810 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 5811 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 5812 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 5813 338, 339, 0, 317, 265, 266, 611, 303, 368, 559, 5814 592, 484, 0, 546, 485, 494, 295, 518, 530, 529, 5815 364, 444, 0, 541, 544, 474, 610, 0, 538, 553, 5816 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 5817 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 5818 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 5819 577, 578, 579, 580, 581, 582, 575, 429, 519, 496, 5820 522, 437, 499, 498, 0, 0, 533, 453, 534, 535, 5821 358, 359, 360, 361, 321, 560, 288, 456, 384, 0, 5822 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 5823 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 5824 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 5825 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 5826 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 5827 347, 513, 540, 0, 0, 0, 0, 0, 0, 0, 5828 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 5829 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 5830 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 5831 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 5832 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 5833 0, 215, 216, 217, 218, 219, 220, 221, 222, 260, 5834 223, 224, 225, 226, 227, 228, 229, 232, 233, 234, 5835 235, 236, 237, 238, 239, 558, 230, 231, 240, 241, 5836 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 5837 252, 253, 0, 0, 0, 261, 262, 263, 264, 0, 5838 0, 255, 256, 257, 258, 0, 0, 0, 441, 442, 5839 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 5840 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 5841 599, 598, 601, 0, 612, 480, 481, 613, 591, 370, 5842 0, 495, 528, 517, 600, 483, 0, 1918, 0, 0, 5843 0, 0, 0, 0, 0, 0, 310, 0, 0, 340, 5844 532, 514, 524, 515, 500, 501, 502, 509, 320, 503, 5845 504, 505, 475, 506, 476, 507, 508, 0, 531, 482, 5846 401, 354, 549, 548, 0, 0, 0, 0, 0, 0, 5847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5848 0, 204, 0, 0, 0, 0, 0, 0, 283, 205, 5849 477, 596, 479, 478, 0, 0, 0, 0, 0, 0, 5850 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 5851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5855 0, 0, 0, 0, 0, 273, 406, 423, 284, 397, 5856 436, 289, 404, 279, 369, 393, 0, 0, 275, 421, 5857 403, 351, 330, 331, 274, 0, 388, 308, 322, 305, 5858 367, 0, 420, 448, 304, 439, 0, 431, 277, 0, 5859 430, 366, 417, 422, 352, 346, 276, 419, 350, 345, 5860 334, 312, 464, 335, 336, 326, 378, 344, 379, 327, 5861 356, 355, 357, 0, 0, 0, 0, 0, 459, 460, 5862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5863 0, 0, 590, 0, 0, 593, 0, 433, 0, 0, 5864 0, 0, 0, 0, 405, 0, 0, 337, 0, 0, 5865 0, 449, 0, 391, 372, 615, 0, 0, 389, 342, 5866 418, 380, 424, 407, 432, 385, 381, 268, 408, 307, 5867 353, 280, 282, 302, 309, 311, 313, 314, 362, 363, 5868 375, 396, 409, 410, 411, 306, 290, 390, 291, 324, 5869 292, 269, 298, 296, 299, 398, 300, 271, 376, 415, 5870 0, 319, 386, 349, 272, 348, 377, 414, 413, 281, 5871 440, 446, 447, 536, 0, 452, 616, 617, 618, 461, 5872 466, 467, 468, 470, 471, 472, 473, 537, 554, 521, 5873 491, 454, 545, 488, 492, 493, 557, 0, 0, 0, 5874 445, 338, 339, 0, 317, 265, 266, 611, 303, 368, 5875 559, 592, 484, 0, 546, 485, 494, 295, 518, 530, 5876 529, 364, 444, 0, 541, 544, 474, 610, 0, 538, 5877 553, 614, 552, 607, 374, 0, 395, 550, 497, 0, 5878 542, 516, 0, 543, 512, 547, 0, 486, 0, 402, 5879 426, 438, 455, 458, 487, 572, 573, 574, 270, 457, 5880 576, 577, 578, 579, 580, 581, 582, 575, 429, 519, 5881 496, 522, 437, 499, 498, 0, 0, 533, 453, 534, 5882 535, 358, 359, 360, 361, 321, 560, 288, 456, 384, 5883 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 5884 525, 526, 523, 619, 0, 583, 584, 0, 0, 450, 5885 451, 316, 323, 469, 325, 287, 373, 318, 435, 332, 5886 0, 462, 527, 463, 586, 589, 587, 588, 365, 328, 5887 329, 399, 333, 343, 387, 434, 371, 392, 285, 425, 5888 400, 347, 513, 540, 0, 0, 0, 0, 0, 0, 5889 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 5890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891 568, 567, 566, 565, 564, 563, 562, 561, 0, 0, 5892 510, 412, 297, 259, 293, 294, 301, 608, 605, 416, 5893 609, 0, 267, 490, 341, 0, 382, 315, 555, 556, 5894 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, 5895 260, 223, 224, 225, 226, 227, 228, 229, 232, 233, 5896 234, 235, 236, 237, 238, 239, 558, 230, 231, 240, 5897 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 5898 251, 252, 253, 0, 0, 0, 261, 262, 263, 264, 5899 0, 0, 255, 256, 257, 258, 0, 0, 0, 441, 5900 442, 443, 465, 0, 427, 489, 606, 0, 0, 0, 5901 0, 0, 0, 0, 539, 551, 585, 0, 594, 595, 5902 597, 599, 598, 601, 0, 612, 480, 481, 613, 591, 5903 370, 0, 495, 528, 517, 600, 483, 0, 0, 0, 5904 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 5905 340, 532, 514, 524, 515, 500, 501, 502, 509, 320, 5906 503, 504, 505, 475, 506, 476, 507, 508, 0, 531, 5907 482, 401, 354, 549, 548, 0, 0, 0, 0, 0, 5908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5909 0, 0, 204, 0, 0, 1448, 0, 0, 0, 283, 5910 205, 477, 596, 479, 478, 0, 0, 0, 0, 0, 5911 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 5912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5916 0, 0, 0, 0, 0, 0, 273, 406, 423, 284, 5917 397, 436, 289, 404, 279, 369, 393, 0, 0, 275, 5918 421, 403, 351, 330, 331, 274, 0, 388, 308, 322, 5919 305, 367, 0, 420, 448, 304, 439, 0, 431, 277, 5920 0, 430, 366, 417, 422, 352, 346, 276, 419, 350, 5921 345, 334, 312, 464, 335, 336, 326, 378, 344, 379, 5922 327, 356, 355, 357, 0, 0, 0, 0, 0, 459, 5923 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924 0, 0, 0, 590, 0, 0, 593, 0, 433, 0, 5925 0, 0, 0, 0, 0, 405, 0, 0, 337, 0, 5926 0, 0, 449, 0, 391, 372, 615, 0, 0, 389, 5927 342, 418, 380, 424, 407, 432, 1824, 381, 268, 408, 5928 307, 353, 280, 282, 302, 309, 311, 313, 314, 362, 5929 363, 375, 396, 409, 410, 411, 306, 290, 390, 291, 5930 324, 292, 269, 298, 296, 299, 398, 300, 271, 376, 5931 415, 0, 319, 386, 349, 272, 348, 377, 414, 413, 5932 281, 440, 446, 447, 536, 0, 452, 616, 617, 618, 5933 461, 466, 467, 468, 470, 471, 472, 473, 537, 554, 5934 521, 491, 454, 545, 488, 492, 493, 557, 0, 0, 5935 0, 445, 338, 339, 0, 317, 265, 266, 611, 303, 5936 368, 559, 592, 484, 0, 546, 485, 494, 295, 518, 5937 530, 529, 364, 444, 0, 541, 544, 474, 610, 0, 5938 538, 553, 614, 552, 607, 374, 0, 395, 550, 497, 5939 0, 542, 516, 0, 543, 512, 547, 0, 486, 0, 5940 402, 426, 438, 455, 458, 487, 572, 573, 574, 270, 5941 457, 576, 577, 578, 579, 580, 581, 582, 575, 429, 5942 519, 496, 522, 437, 499, 498, 0, 0, 533, 453, 5943 534, 535, 358, 359, 360, 361, 321, 560, 288, 456, 5944 384, 0, 520, 0, 0, 0, 0, 0, 0, 0, 5945 0, 525, 526, 523, 619, 0, 583, 584, 0, 0, 5946 450, 451, 316, 323, 469, 325, 287, 373, 318, 435, 5947 332, 0, 462, 527, 463, 586, 589, 587, 588, 365, 5948 328, 329, 399, 333, 343, 387, 434, 371, 392, 285, 5949 425, 400, 347, 513, 540, 0, 0, 0, 0, 0, 5950 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 5951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5952 0, 568, 567, 566, 565, 564, 563, 562, 561, 0, 5953 0, 510, 412, 297, 259, 293, 294, 301, 608, 605, 5954 416, 609, 0, 267, 490, 341, 0, 382, 315, 555, 5955 556, 0, 0, 215, 216, 217, 218, 219, 220, 221, 5956 222, 260, 223, 224, 225, 226, 227, 228, 229, 232, 5957 233, 234, 235, 236, 237, 238, 239, 558, 230, 231, 5958 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 5959 250, 251, 252, 253, 0, 0, 0, 261, 262, 263, 5960 264, 0, 0, 255, 256, 257, 258, 0, 0, 0, 5961 441, 442, 443, 465, 0, 427, 489, 606, 0, 0, 5962 0, 0, 0, 0, 0, 539, 551, 585, 0, 594, 5963 595, 597, 599, 598, 601, 0, 612, 480, 481, 613, 5964 591, 370, 0, 495, 528, 517, 600, 483, 0, 0, 5965 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 5966 0, 340, 532, 514, 524, 515, 500, 501, 502, 509, 5967 320, 503, 504, 505, 475, 506, 476, 507, 508, 0, 5968 531, 482, 401, 354, 549, 548, 0, 0, 0, 0, 5969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5970 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 5971 283, 205, 477, 596, 479, 478, 0, 0, 0, 0, 5972 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 5973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5977 0, 0, 0, 0, 0, 0, 0, 273, 406, 423, 5978 284, 397, 436, 289, 404, 279, 369, 393, 0, 0, 5979 275, 421, 403, 351, 330, 331, 274, 0, 388, 308, 5980 322, 305, 367, 0, 420, 448, 304, 439, 0, 431, 5981 277, 0, 430, 366, 417, 422, 352, 346, 276, 419, 5982 350, 345, 334, 312, 464, 335, 336, 326, 378, 344, 5983 379, 327, 356, 355, 357, 0, 0, 0, 0, 0, 5984 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 5985 0, 0, 0, 0, 590, 0, 0, 593, 0, 433, 5986 0, 0, 1478, 0, 0, 0, 405, 0, 0, 337, 5987 0, 0, 0, 449, 0, 391, 372, 615, 0, 0, 5988 389, 342, 418, 380, 424, 407, 432, 385, 381, 268, 5989 408, 307, 353, 280, 282, 302, 309, 311, 313, 314, 5990 362, 363, 375, 396, 409, 410, 411, 306, 290, 390, 5991 291, 324, 292, 269, 298, 296, 299, 398, 300, 271, 5992 376, 415, 0, 319, 386, 349, 272, 348, 377, 414, 5993 413, 281, 440, 446, 447, 536, 0, 452, 616, 617, 5994 618, 461, 466, 467, 468, 470, 471, 472, 473, 537, 5995 554, 521, 491, 454, 545, 488, 492, 493, 557, 0, 5996 0, 0, 445, 338, 339, 0, 317, 265, 266, 611, 5997 303, 368, 559, 592, 484, 0, 546, 485, 494, 295, 5998 518, 530, 529, 364, 444, 0, 541, 544, 474, 610, 5999 0, 538, 553, 614, 552, 607, 374, 0, 395, 550, 6000 497, 0, 542, 516, 0, 543, 512, 547, 0, 486, 6001 0, 402, 426, 438, 455, 458, 487, 572, 573, 574, 6002 270, 457, 576, 577, 578, 579, 580, 581, 582, 575, 6003 429, 519, 496, 522, 437, 499, 498, 0, 0, 533, 6004 453, 534, 535, 358, 359, 360, 361, 321, 560, 288, 6005 456, 384, 0, 520, 0, 0, 0, 0, 0, 0, 6006 0, 0, 525, 526, 523, 619, 0, 583, 584, 0, 6007 0, 450, 451, 316, 323, 469, 325, 287, 373, 318, 6008 435, 332, 0, 462, 527, 463, 586, 589, 587, 588, 6009 365, 328, 329, 399, 333, 343, 387, 434, 371, 392, 6010 285, 425, 400, 347, 513, 540, 0, 0, 0, 0, 6011 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 6012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6013 0, 0, 568, 567, 566, 565, 564, 563, 562, 561, 6014 0, 0, 510, 412, 297, 259, 293, 294, 301, 608, 6015 605, 416, 609, 0, 267, 490, 341, 0, 382, 315, 6016 555, 556, 0, 0, 215, 216, 217, 218, 219, 220, 6017 221, 222, 260, 223, 224, 225, 226, 227, 228, 229, 6018 232, 233, 234, 235, 236, 237, 238, 239, 558, 230, 6019 231, 240, 241, 242, 243, 244, 245, 246, 247, 248, 6020 249, 250, 251, 252, 253, 0, 0, 0, 261, 262, 6021 263, 264, 0, 0, 255, 256, 257, 258, 0, 0, 6022 0, 441, 442, 443, 465, 0, 427, 489, 606, 0, 6023 0, 0, 0, 0, 0, 0, 539, 551, 585, 0, 6024 594, 595, 597, 599, 598, 601, 0, 612, 480, 481, 6025 613, 591, 370, 0, 495, 528, 517, 600, 483, 0, 6026 0, 0, 0, 0, 0, 0, 0, 0, 626, 310, 6027 0, 0, 340, 532, 514, 524, 515, 500, 501, 502, 6028 509, 320, 503, 504, 505, 475, 506, 476, 507, 508, 6029 0, 531, 482, 401, 354, 549, 548, 0, 0, 0, 6030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6031 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 6032 0, 283, 205, 477, 596, 479, 478, 0, 0, 0, 6033 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 6034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6038 0, 0, 0, 0, 0, 0, 0, 0, 273, 406, 6039 423, 284, 397, 436, 289, 404, 279, 369, 393, 0, 6040 0, 275, 421, 403, 351, 330, 331, 274, 0, 388, 6041 308, 322, 305, 367, 0, 420, 448, 304, 439, 0, 6042 431, 277, 0, 430, 366, 417, 422, 352, 346, 276, 6043 419, 350, 345, 334, 312, 464, 335, 336, 326, 378, 6044 344, 379, 327, 356, 355, 357, 0, 0, 0, 0, 6045 0, 459, 460, 0, 0, 0, 0, 0, 0, 0, 6046 0, 0, 0, 0, 0, 590, 0, 0, 593, 0, 6047 433, 0, 0, 0, 0, 0, 0, 405, 0, 0, 6048 337, 0, 0, 0, 449, 0, 391, 372, 615, 0, 6049 0, 389, 342, 418, 380, 424, 407, 432, 385, 381, 6050 268, 408, 307, 353, 280, 282, 302, 309, 311, 313, 6051 314, 362, 363, 375, 396, 409, 410, 411, 306, 290, 6052 390, 291, 324, 292, 269, 298, 296, 299, 398, 300, 6053 271, 376, 415, 0, 319, 386, 349, 272, 348, 377, 6054 414, 413, 281, 440, 446, 447, 536, 0, 452, 616, 6055 617, 618, 461, 466, 467, 468, 470, 471, 472, 473, 6056 537, 554, 521, 491, 454, 545, 488, 492, 493, 557, 6057 0, 0, 0, 445, 338, 339, 0, 317, 265, 266, 6058 611, 303, 368, 559, 592, 484, 0, 546, 485, 494, 6059 295, 518, 530, 529, 364, 444, 0, 541, 544, 474, 6060 610, 0, 538, 553, 614, 552, 607, 374, 0, 395, 6061 550, 497, 0, 542, 516, 0, 543, 512, 547, 0, 6062 486, 0, 402, 426, 438, 455, 458, 487, 572, 573, 6063 574, 270, 457, 576, 577, 578, 579, 580, 581, 582, 6064 575, 429, 519, 496, 522, 437, 499, 498, 0, 0, 6065 533, 453, 534, 535, 358, 359, 360, 361, 321, 560, 6066 288, 456, 384, 0, 520, 0, 0, 0, 0, 0, 6067 0, 0, 0, 525, 526, 523, 619, 0, 583, 584, 6068 0, 0, 450, 451, 316, 323, 469, 325, 287, 373, 6069 318, 435, 332, 0, 462, 527, 463, 586, 589, 587, 6070 588, 365, 328, 329, 399, 333, 343, 387, 434, 371, 6071 392, 285, 425, 400, 347, 513, 540, 0, 0, 0, 6072 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 6073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6074 0, 0, 0, 568, 567, 566, 565, 564, 563, 562, 6075 561, 0, 0, 510, 412, 297, 259, 293, 294, 301, 6076 608, 605, 416, 609, 0, 267, 490, 341, 0, 382, 6077 315, 555, 556, 0, 0, 215, 216, 217, 218, 219, 6078 220, 221, 222, 260, 223, 224, 225, 226, 227, 228, 6079 229, 232, 233, 234, 235, 236, 237, 238, 239, 558, 6080 230, 231, 240, 241, 242, 243, 244, 245, 246, 247, 6081 248, 249, 250, 251, 252, 253, 0, 0, 0, 261, 6082 262, 263, 264, 0, 0, 255, 256, 257, 258, 0, 6083 0, 0, 441, 442, 443, 465, 0, 427, 489, 606, 6084 0, 0, 0, 0, 0, 0, 0, 539, 551, 585, 6085 0, 594, 595, 597, 599, 598, 601, 0, 612, 480, 6086 481, 613, 591, 370, 0, 495, 528, 517, 600, 483, 6087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6088 310, 0, 0, 340, 532, 514, 524, 515, 500, 501, 6089 502, 509, 320, 503, 504, 505, 475, 506, 476, 507, 6090 508, 0, 531, 482, 401, 354, 549, 548, 0, 0, 6091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6092 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 6093 0, 0, 283, 205, 477, 596, 479, 478, 0, 0, 6094 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 6095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6099 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 6100 406, 423, 284, 397, 436, 289, 404, 279, 369, 393, 6101 0, 0, 275, 421, 403, 351, 330, 331, 274, 0, 6102 388, 308, 322, 305, 367, 0, 420, 448, 304, 439, 6103 0, 431, 277, 0, 430, 366, 417, 422, 352, 346, 6104 276, 419, 350, 345, 334, 312, 464, 335, 336, 326, 6105 378, 344, 379, 327, 356, 355, 357, 0, 0, 0, 6106 0, 0, 459, 460, 0, 0, 0, 0, 0, 0, 6107 0, 0, 0, 0, 0, 0, 590, 0, 636, 593, 6108 0, 433, 0, 0, 0, 0, 0, 0, 405, 0, 6109 0, 337, 0, 0, 0, 449, 0, 391, 372, 615, 6110 0, 0, 389, 342, 418, 380, 424, 407, 432, 385, 6111 381, 268, 408, 307, 353, 280, 282, 302, 309, 311, 6112 313, 314, 362, 363, 375, 396, 409, 410, 411, 306, 6113 290, 390, 291, 324, 292, 269, 298, 296, 299, 398, 6114 300, 271, 376, 415, 0, 319, 386, 349, 272, 348, 6115 377, 414, 413, 281, 440, 446, 447, 536, 0, 452, 6116 616, 617, 618, 461, 466, 467, 468, 470, 471, 472, 6117 473, 537, 554, 521, 491, 454, 545, 488, 492, 493, 6118 557, 0, 0, 0, 445, 338, 339, 0, 317, 265, 6119 266, 611, 303, 368, 559, 592, 484, 0, 546, 485, 6120 494, 295, 518, 530, 529, 364, 444, 0, 541, 544, 6121 474, 610, 0, 538, 553, 614, 552, 607, 374, 0, 6122 395, 550, 497, 0, 542, 516, 0, 543, 512, 547, 6123 0, 486, 0, 402, 426, 438, 455, 458, 487, 572, 6124 573, 574, 270, 457, 576, 577, 578, 579, 580, 581, 6125 582, 575, 429, 519, 496, 522, 437, 499, 498, 0, 6126 0, 533, 453, 534, 535, 358, 359, 360, 361, 321, 6127 560, 288, 456, 384, 0, 520, 0, 0, 0, 0, 6128 0, 0, 0, 0, 525, 526, 523, 619, 0, 583, 6129 584, 0, 0, 450, 451, 316, 323, 469, 325, 287, 6130 373, 318, 435, 332, 0, 462, 527, 463, 586, 589, 6131 587, 588, 365, 328, 329, 399, 333, 343, 387, 434, 6132 371, 392, 285, 425, 400, 347, 513, 540, 0, 0, 6133 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 6134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6135 0, 0, 0, 0, 568, 567, 566, 565, 564, 563, 6136 562, 561, 0, 0, 510, 412, 297, 259, 293, 294, 6137 301, 608, 605, 416, 609, 0, 267, 490, 341, 0, 6138 382, 315, 555, 556, 0, 0, 215, 216, 217, 218, 6139 219, 220, 221, 222, 260, 223, 224, 225, 226, 227, 6140 228, 229, 232, 233, 234, 235, 236, 237, 238, 239, 6141 558, 230, 231, 240, 241, 242, 243, 244, 245, 246, 6142 247, 248, 249, 250, 251, 252, 253, 0, 0, 0, 6143 261, 262, 263, 264, 0, 0, 255, 256, 257, 258, 6144 0, 0, 0, 441, 442, 443, 465, 0, 427, 489, 6145 606, 0, 0, 0, 0, 0, 0, 0, 539, 551, 6146 585, 0, 594, 595, 597, 599, 598, 601, 0, 612, 6147 480, 481, 613, 591, 370, 0, 495, 528, 517, 600, 6148 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6149 0, 310, 0, 0, 340, 532, 514, 524, 515, 500, 6150 501, 502, 509, 320, 503, 504, 505, 475, 506, 476, 6151 507, 508, 0, 531, 482, 401, 354, 549, 548, 0, 6152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6153 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 6154 0, 0, 0, 283, 205, 477, 596, 479, 478, 0, 6155 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 6156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6161 273, 406, 423, 284, 397, 436, 289, 404, 279, 369, 6162 393, 0, 0, 275, 421, 403, 351, 330, 331, 274, 6163 0, 388, 308, 322, 305, 367, 0, 420, 448, 304, 6164 439, 0, 431, 277, 0, 430, 366, 417, 422, 352, 6165 346, 276, 419, 350, 345, 334, 312, 464, 335, 336, 6166 326, 378, 344, 379, 327, 356, 355, 357, 0, 0, 6167 0, 0, 0, 459, 460, 0, 0, 0, 0, 0, 6168 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 6169 593, 0, 433, 0, 0, 0, 0, 0, 0, 405, 6170 0, 0, 337, 0, 0, 0, 449, 0, 391, 372, 6171 615, 0, 0, 389, 342, 418, 380, 424, 407, 432, 6172 385, 381, 268, 408, 307, 353, 280, 282, 302, 309, 6173 311, 313, 314, 362, 363, 375, 396, 409, 410, 411, 6174 306, 290, 390, 291, 324, 292, 269, 298, 296, 299, 6175 398, 300, 271, 376, 415, 0, 319, 386, 349, 272, 6176 348, 377, 414, 413, 281, 440, 446, 447, 536, 0, 6177 452, 616, 617, 618, 461, 466, 467, 468, 470, 471, 6178 472, 473, 537, 554, 521, 491, 454, 545, 488, 492, 6179 493, 557, 0, 0, 0, 445, 338, 339, 0, 317, 6180 265, 266, 611, 303, 368, 559, 592, 484, 0, 546, 6181 485, 494, 295, 518, 530, 529, 364, 444, 0, 541, 6182 544, 474, 610, 0, 538, 553, 614, 552, 607, 374, 6183 0, 395, 550, 497, 0, 542, 516, 0, 543, 512, 6184 547, 0, 486, 0, 402, 426, 438, 455, 458, 487, 6185 572, 573, 574, 270, 457, 576, 577, 578, 579, 580, 6186 581, 582, 575, 429, 519, 496, 522, 437, 499, 498, 6187 0, 0, 533, 453, 534, 535, 358, 359, 360, 361, 6188 321, 560, 288, 456, 384, 0, 520, 0, 0, 0, 6189 0, 0, 0, 0, 0, 525, 526, 523, 619, 0, 6190 583, 584, 0, 0, 450, 451, 316, 323, 469, 325, 6191 287, 373, 318, 435, 332, 0, 462, 527, 463, 586, 6192 589, 587, 588, 365, 328, 329, 399, 333, 343, 387, 6193 434, 371, 392, 285, 425, 400, 347, 513, 540, 0, 6194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6195 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6196 0, 0, 0, 0, 0, 568, 567, 566, 565, 564, 6197 563, 562, 561, 918, 0, 510, 412, 297, 259, 293, 6198 294, 301, 608, 605, 416, 609, 0, 267, 490, 341, 6199 0, 382, 315, 555, 556, 0, 0, 215, 216, 217, 6200 218, 219, 220, 221, 222, 260, 223, 224, 225, 226, 6201 227, 228, 229, 232, 233, 234, 235, 236, 237, 238, 6202 239, 558, 230, 231, 240, 241, 242, 243, 244, 245, 6203 246, 247, 248, 249, 250, 251, 252, 253, 0, 0, 6204 0, 261, 262, 263, 264, 0, 0, 255, 256, 257, 6205 258, 0, 0, 0, 441, 442, 443, 465, 0, 427, 6206 489, 606, 0, 0, 0, 0, 0, 0, 0, 539, 6207 551, 585, 0, 594, 595, 597, 599, 598, 601, 0, 6208 612, 480, 481, 613, 591, 370, 0, 495, 528, 517, 6209 600, 483, 0, 0, 0, 0, 0, 0, 0, 0, 6210 0, 0, 310, 0, 0, 340, 532, 514, 524, 515, 6211 500, 501, 502, 509, 320, 503, 504, 505, 475, 506, 6212 476, 507, 508, 0, 531, 482, 401, 354, 549, 548, 6213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6214 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 6215 0, 0, 0, 0, 283, 205, 477, 596, 479, 478, 6216 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 6217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6222 0, 273, 406, 423, 284, 397, 436, 289, 404, 279, 6223 369, 393, 0, 0, 275, 421, 403, 351, 330, 331, 6224 274, 0, 388, 308, 322, 305, 367, 0, 420, 448, 6225 304, 439, 0, 431, 277, 0, 430, 366, 417, 422, 6226 352, 346, 276, 419, 350, 345, 334, 312, 464, 335, 6227 336, 326, 378, 344, 379, 327, 356, 355, 357, 0, 6228 0, 0, 0, 0, 459, 460, 0, 0, 0, 0, 6229 0, 0, 0, 0, 0, 0, 0, 0, 590, 0, 6230 0, 593, 0, 433, 0, 0, 0, 0, 0, 0, 6231 405, 0, 0, 337, 0, 0, 0, 449, 0, 391, 6232 372, 615, 0, 0, 389, 342, 418, 380, 424, 407, 6233 432, 385, 381, 268, 408, 307, 353, 280, 282, 302, 6234 309, 311, 313, 314, 362, 363, 375, 396, 409, 410, 6235 411, 306, 290, 390, 291, 324, 292, 269, 298, 296, 6236 299, 398, 300, 271, 376, 415, 0, 319, 386, 349, 6237 272, 348, 377, 414, 413, 281, 440, 446, 447, 536, 6238 0, 452, 616, 617, 618, 461, 466, 467, 468, 470, 6239 471, 472, 473, 537, 554, 521, 491, 454, 545, 488, 6240 492, 493, 557, 0, 0, 0, 445, 338, 339, 0, 6241 317, 265, 266, 611, 303, 368, 559, 592, 484, 0, 6242 546, 485, 494, 295, 518, 530, 529, 364, 444, 0, 6243 541, 544, 474, 610, 0, 538, 553, 614, 552, 607, 6244 374, 0, 395, 550, 497, 0, 542, 516, 0, 543, 6245 512, 547, 0, 486, 0, 402, 426, 438, 455, 458, 6246 487, 572, 573, 574, 270, 457, 576, 577, 578, 579, 6247 580, 581, 582, 575, 429, 519, 496, 522, 437, 499, 6248 498, 0, 0, 533, 453, 534, 535, 358, 359, 360, 6249 361, 321, 560, 288, 456, 384, 0, 520, 0, 0, 6250 0, 0, 0, 0, 0, 0, 525, 526, 523, 619, 6251 0, 583, 584, 0, 0, 450, 451, 316, 323, 469, 6252 325, 287, 373, 318, 435, 332, 0, 462, 527, 463, 6253 586, 589, 587, 588, 365, 328, 329, 399, 333, 343, 6254 387, 434, 371, 392, 285, 425, 400, 347, 513, 540, 6255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6256 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 6257 0, 0, 0, 0, 0, 0, 568, 567, 566, 565, 6258 564, 563, 562, 561, 0, 0, 510, 412, 297, 259, 6259 293, 294, 301, 608, 605, 416, 609, 0, 267, 490, 6260 341, 0, 382, 315, 555, 556, 0, 0, 215, 216, 6261 217, 218, 219, 220, 221, 222, 260, 223, 224, 225, 6262 226, 227, 228, 229, 232, 233, 234, 235, 236, 237, 6263 238, 239, 558, 230, 231, 240, 241, 242, 243, 244, 6264 245, 246, 247, 248, 249, 250, 251, 252, 253, 0, 6265 0, 0, 261, 262, 263, 264, 0, 0, 255, 256, 6266 257, 258, 0, 0, 0, 441, 442, 443, 465, 0, 6267 427, 489, 606, 0, 0, 0, 0, 0, 0, 0, 6268 539, 551, 585, 0, 594, 595, 597, 599, 598, 601, 6269 0, 612, 480, 481, 613, 591, 370, 0, 495, 528, 6270 517, 600, 483, 0, 0, 0, 0, 0, 0, 0, 6271 0, 0, 0, 310, 0, 0, 340, 532, 514, 524, 6272 515, 500, 501, 502, 509, 320, 503, 504, 505, 475, 6273 506, 476, 507, 508, 0, 531, 482, 401, 354, 549, 6274 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 6276 0, 0, 0, 0, 0, 283, 205, 477, 596, 479, 6277 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6278 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283 0, 0, 273, 406, 1428, 284, 397, 436, 289, 404, 6284 279, 369, 393, 0, 0, 275, 421, 403, 351, 330, 6285 331, 274, 0, 388, 308, 322, 305, 367, 0, 420, 6286 448, 304, 439, 0, 431, 277, 0, 430, 366, 417, 6287 422, 352, 346, 276, 419, 350, 345, 334, 312, 464, 6288 335, 336, 326, 378, 344, 379, 327, 356, 355, 357, 6289 0, 0, 0, 0, 0, 459, 460, 0, 0, 0, 6290 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 6291 0, 0, 593, 0, 433, 0, 0, 0, 0, 0, 6292 0, 405, 0, 0, 337, 0, 0, 0, 449, 0, 6293 391, 372, 615, 0, 0, 389, 342, 418, 380, 424, 6294 407, 432, 385, 381, 268, 408, 307, 353, 280, 282, 6295 302, 309, 311, 313, 314, 362, 363, 375, 396, 409, 6296 410, 411, 306, 290, 390, 291, 324, 292, 269, 298, 6297 296, 299, 398, 300, 271, 376, 415, 0, 319, 386, 6298 349, 272, 348, 377, 414, 413, 281, 440, 446, 447, 6299 536, 0, 452, 616, 617, 618, 461, 466, 467, 468, 6300 470, 471, 472, 473, 537, 554, 521, 491, 454, 545, 6301 488, 492, 493, 557, 0, 0, 0, 445, 338, 339, 6302 0, 317, 265, 266, 611, 303, 368, 559, 592, 484, 6303 0, 546, 485, 494, 295, 518, 530, 529, 364, 444, 6304 0, 541, 544, 474, 610, 0, 538, 553, 614, 552, 6305 607, 374, 0, 395, 550, 497, 0, 542, 516, 0, 6306 543, 512, 547, 0, 486, 0, 402, 426, 438, 455, 6307 458, 487, 572, 573, 574, 270, 457, 576, 577, 578, 6308 579, 580, 581, 582, 575, 429, 519, 496, 522, 437, 6309 499, 498, 0, 0, 533, 453, 534, 535, 358, 359, 6310 360, 361, 321, 560, 288, 456, 384, 0, 520, 0, 6311 0, 0, 0, 0, 0, 0, 0, 525, 526, 523, 6312 619, 0, 583, 584, 0, 0, 450, 451, 316, 323, 6313 469, 325, 287, 373, 318, 435, 332, 0, 462, 527, 6314 463, 586, 589, 587, 588, 365, 328, 329, 399, 333, 6315 343, 387, 434, 371, 392, 285, 425, 400, 347, 513, 6316 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6317 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 6318 0, 0, 0, 0, 0, 0, 0, 568, 567, 566, 6319 565, 564, 563, 562, 561, 0, 0, 510, 412, 297, 6320 259, 293, 294, 301, 608, 605, 416, 609, 0, 267, 6321 490, 341, 0, 382, 315, 555, 556, 0, 0, 215, 6322 216, 217, 218, 219, 220, 221, 222, 260, 223, 224, 6323 225, 226, 227, 228, 229, 232, 233, 234, 235, 236, 6324 237, 238, 239, 558, 230, 231, 240, 241, 242, 243, 6325 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 6326 0, 0, 0, 261, 262, 263, 264, 0, 0, 255, 6327 256, 257, 258, 0, 0, 0, 441, 442, 443, 465, 6328 0, 427, 489, 606, 0, 0, 0, 0, 0, 0, 6329 0, 539, 551, 585, 0, 594, 595, 597, 599, 598, 6330 601, 0, 612, 480, 481, 613, 591, 370, 0, 495, 6331 528, 517, 600, 483, 0, 0, 0, 0, 0, 0, 6332 0, 0, 0, 0, 310, 0, 0, 340, 532, 514, 6333 524, 515, 500, 501, 502, 509, 320, 503, 504, 505, 6334 475, 506, 476, 507, 508, 0, 531, 482, 401, 354, 6335 549, 548, 0, 0, 0, 0, 0, 0, 0, 0, 6336 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 6337 0, 0, 0, 0, 0, 0, 283, 205, 477, 596, 6338 479, 478, 0, 0, 0, 0, 0, 0, 0, 0, 6339 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 6340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6344 0, 0, 0, 273, 406, 1426, 284, 397, 436, 289, 6345 404, 279, 369, 393, 0, 0, 275, 421, 403, 351, 6346 330, 331, 274, 0, 388, 308, 322, 305, 367, 0, 6347 420, 448, 304, 439, 0, 431, 277, 0, 430, 366, 6348 417, 422, 352, 346, 276, 419, 350, 345, 334, 312, 6349 464, 335, 336, 326, 378, 344, 379, 327, 356, 355, 6350 357, 0, 0, 0, 0, 0, 459, 460, 0, 0, 6351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6352 590, 0, 0, 593, 0, 433, 0, 0, 0, 0, 6353 0, 0, 405, 0, 0, 337, 0, 0, 0, 449, 6354 0, 391, 372, 615, 0, 0, 389, 342, 418, 380, 6355 424, 407, 432, 385, 381, 268, 408, 307, 353, 280, 6356 282, 302, 309, 311, 313, 314, 362, 363, 375, 396, 6357 409, 410, 411, 306, 290, 390, 291, 324, 292, 269, 6358 298, 296, 299, 398, 300, 271, 376, 415, 0, 319, 6359 386, 349, 272, 348, 377, 414, 413, 281, 440, 446, 6360 447, 536, 0, 452, 616, 617, 618, 461, 466, 467, 6361 468, 470, 471, 472, 473, 537, 554, 521, 491, 454, 6362 545, 488, 492, 493, 557, 0, 0, 0, 445, 338, 6363 339, 0, 317, 265, 266, 611, 303, 368, 559, 592, 6364 484, 0, 546, 485, 494, 295, 518, 530, 529, 364, 6365 444, 0, 541, 544, 474, 610, 0, 538, 553, 614, 6366 552, 607, 374, 0, 395, 550, 497, 0, 542, 516, 6367 0, 543, 512, 547, 0, 486, 0, 402, 426, 438, 6368 455, 458, 487, 572, 573, 574, 270, 457, 576, 577, 6369 578, 579, 580, 581, 582, 575, 429, 519, 496, 522, 6370 437, 499, 498, 0, 0, 533, 453, 534, 535, 358, 6371 359, 360, 361, 321, 560, 288, 456, 384, 0, 520, 6372 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 6373 523, 619, 0, 583, 584, 0, 0, 450, 451, 316, 6374 323, 469, 325, 287, 373, 318, 435, 332, 0, 462, 6375 527, 463, 586, 589, 587, 588, 365, 328, 329, 399, 6376 333, 343, 387, 434, 371, 392, 285, 425, 400, 347, 6377 513, 540, 0, 0, 0, 0, 0, 0, 0, 0, 6378 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 6379 0, 0, 0, 0, 0, 0, 0, 0, 568, 567, 6380 566, 565, 564, 563, 562, 561, 0, 0, 510, 412, 6381 297, 259, 293, 294, 301, 608, 605, 416, 609, 0, 6382 267, 490, 341, 0, 382, 315, 555, 556, 0, 0, 6383 215, 216, 217, 218, 219, 220, 221, 222, 260, 223, 6384 224, 225, 226, 227, 228, 229, 232, 233, 234, 235, 6385 236, 237, 238, 239, 558, 230, 231, 240, 241, 242, 6386 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 6387 253, 0, 0, 0, 261, 262, 263, 264, 0, 0, 6388 255, 256, 257, 258, 0, 0, 0, 441, 442, 443, 6389 465, 0, 427, 489, 606, 0, 0, 0, 0, 0, 6390 0, 0, 539, 551, 585, 0, 594, 595, 597, 599, 6391 598, 601, 0, 612, 480, 481, 613, 591, 370, 0, 6392 495, 528, 517, 600, 483, 0, 0, 0, 0, 0, 6393 0, 0, 0, 0, 0, 310, 0, 0, 340, 532, 6394 514, 524, 515, 500, 501, 502, 509, 320, 503, 504, 6395 505, 475, 506, 476, 507, 508, 0, 531, 482, 401, 6396 354, 549, 548, 0, 0, 0, 0, 0, 0, 0, 6397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6398 204, 0, 0, 0, 0, 0, 0, 283, 205, 477, 6399 596, 479, 478, 0, 0, 0, 0, 0, 0, 0, 6400 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 6401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6405 0, 0, 0, 0, 273, 406, 423, 284, 397, 436, 6406 289, 404, 279, 369, 393, 0, 0, 275, 421, 403, 6407 351, 330, 331, 274, 0, 388, 308, 322, 305, 367, 6408 0, 420, 448, 304, 439, 0, 431, 277, 0, 430, 6409 366, 417, 422, 352, 346, 276, 419, 350, 345, 334, 6410 312, 464, 335, 336, 326, 378, 344, 379, 327, 356, 6411 355, 357, 0, 0, 0, 0, 0, 459, 460, 0, 6412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6413 0, 590, 0, 0, 593, 0, 433, 0, 0, 0, 6414 0, 0, 0, 405, 0, 0, 337, 0, 0, 0, 6415 449, 0, 391, 372, 615, 0, 0, 389, 342, 418, 6416 380, 424, 407, 432, 385, 381, 268, 408, 307, 353, 6417 280, 282, 702, 309, 311, 313, 314, 362, 363, 375, 6418 396, 409, 410, 411, 306, 290, 390, 291, 324, 292, 6419 269, 298, 296, 299, 398, 300, 271, 376, 415, 0, 6420 319, 386, 349, 272, 348, 377, 414, 413, 281, 440, 6421 446, 447, 536, 0, 452, 616, 617, 618, 461, 466, 6422 467, 468, 470, 471, 472, 473, 537, 554, 521, 491, 6423 454, 545, 488, 492, 493, 557, 0, 0, 0, 445, 6424 338, 339, 0, 317, 265, 266, 611, 303, 368, 559, 6425 592, 484, 0, 546, 485, 494, 295, 518, 530, 529, 6426 364, 444, 0, 541, 544, 474, 610, 0, 538, 553, 6427 614, 552, 607, 374, 0, 395, 550, 497, 0, 542, 6428 516, 0, 543, 512, 547, 0, 486, 0, 402, 426, 6429 438, 455, 458, 487, 572, 573, 574, 270, 457, 576, 6430 577, 578, 579, 580, 581, 582, 575, 429, 519, 496, 6431 522, 437, 499, 498, 0, 0, 533, 453, 534, 535, 6432 358, 359, 360, 361, 321, 560, 288, 456, 384, 0, 6433 520, 0, 0, 0, 0, 0, 0, 0, 0, 525, 6434 526, 523, 619, 0, 583, 584, 0, 0, 450, 451, 6435 316, 323, 469, 325, 287, 373, 318, 435, 332, 0, 6436 462, 527, 463, 586, 589, 587, 588, 365, 328, 329, 6437 399, 333, 343, 387, 434, 371, 392, 285, 425, 400, 6438 347, 513, 540, 0, 0, 0, 0, 0, 0, 0, 6439 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 6440 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 6441 567, 566, 565, 564, 563, 562, 561, 0, 0, 510, 6442 412, 297, 259, 293, 294, 301, 608, 605, 416, 609, 6443 0, 267, 490, 341, 0, 382, 315, 555, 556, 0, 6444 0, 215, 216, 217, 218, 219, 220, 221, 222, 260, 6445 223, 224, 225, 226, 227, 228, 229, 232, 233, 234, 6446 235, 236, 237, 238, 239, 558, 230, 231, 240, 241, 6447 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 6448 252, 253, 0, 0, 0, 261, 262, 263, 264, 0, 6449 0, 255, 256, 257, 258, 0, 0, 0, 441, 442, 6450 443, 465, 0, 427, 489, 606, 0, 0, 0, 0, 6451 0, 0, 0, 539, 551, 585, 0, 594, 595, 597, 6452 599, 598, 601, 0, 612, 480, 481, 613, 591, 370, 6453 0, 495, 528, 517, 600, 483, 0, 0, 0, 0, 6454 0, 0, 0, 0, 0, 0, 310, 0, 0, 340, 6455 532, 514, 524, 515, 500, 501, 502, 509, 320, 503, 6456 504, 505, 475, 506, 476, 507, 508, 0, 531, 482, 6457 401, 354, 549, 548, 0, 0, 0, 0, 0, 0, 6458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6459 0, 204, 0, 0, 0, 0, 0, 0, 283, 205, 6460 477, 596, 479, 478, 0, 0, 0, 0, 0, 0, 6461 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 6462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6466 0, 0, 0, 0, 0, 273, 406, 423, 284, 397, 6467 436, 289, 404, 279, 369, 393, 0, 0, 275, 421, 6468 403, 351, 330, 331, 274, 0, 388, 308, 322, 305, 6469 367, 0, 420, 448, 304, 439, 0, 431, 277, 0, 6470 430, 366, 417, 422, 352, 346, 276, 419, 350, 345, 6471 334, 312, 464, 335, 336, 326, 378, 344, 379, 327, 6472 356, 355, 357, 0, 0, 0, 0, 0, 459, 460, 6473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6474 0, 0, 590, 0, 0, 593, 0, 433, 0, 0, 6475 0, 0, 0, 0, 405, 0, 0, 337, 0, 0, 6476 0, 449, 0, 391, 372, 615, 0, 0, 389, 342, 6477 418, 380, 424, 407, 432, 660, 381, 268, 408, 307, 6478 353, 280, 282, 302, 309, 311, 313, 314, 362, 363, 6479 375, 396, 409, 410, 411, 306, 290, 390, 291, 324, 6480 292, 269, 298, 296, 299, 398, 300, 271, 376, 415, 6481 0, 319, 386, 349, 272, 348, 377, 414, 413, 281, 6482 440, 446, 447, 536, 0, 452, 616, 617, 618, 461, 6483 466, 467, 468, 470, 471, 472, 473, 537, 554, 521, 6484 491, 454, 545, 488, 492, 493, 557, 0, 0, 0, 6485 445, 338, 339, 0, 317, 265, 266, 611, 303, 368, 6486 559, 592, 484, 0, 546, 485, 494, 295, 518, 530, 6487 529, 364, 444, 0, 541, 544, 474, 610, 0, 538, 6488 553, 614, 552, 607, 374, 0, 395, 550, 497, 0, 6489 542, 516, 0, 543, 512, 547, 0, 486, 0, 402, 6490 426, 438, 455, 458, 487, 572, 573, 574, 270, 457, 6491 576, 577, 578, 579, 580, 581, 661, 575, 429, 519, 6492 496, 522, 437, 499, 498, 0, 0, 533, 453, 534, 6493 535, 358, 359, 360, 361, 321, 560, 288, 456, 384, 6494 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 6495 525, 526, 523, 619, 0, 583, 584, 0, 0, 450, 6496 451, 316, 323, 469, 325, 287, 373, 318, 435, 332, 6497 0, 462, 527, 463, 586, 589, 587, 588, 365, 328, 6498 329, 399, 333, 343, 387, 434, 371, 392, 285, 425, 6499 400, 347, 513, 540, 0, 0, 0, 0, 0, 0, 6500 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 6501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6502 568, 567, 566, 565, 564, 563, 562, 561, 0, 0, 6503 510, 412, 297, 259, 293, 294, 301, 608, 605, 416, 6504 609, 0, 267, 490, 341, 0, 382, 315, 555, 556, 6505 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, 6506 260, 223, 224, 225, 226, 227, 228, 229, 232, 233, 6507 234, 235, 236, 237, 238, 239, 558, 230, 231, 240, 6508 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 6509 251, 252, 253, 0, 0, 0, 261, 262, 263, 264, 6510 0, 0, 255, 256, 257, 258, 0, 0, 0, 441, 6511 442, 443, 465, 0, 427, 489, 606, 0, 0, 0, 6512 0, 0, 0, 0, 539, 551, 585, 0, 594, 595, 6513 597, 599, 598, 601, 0, 612, 480, 481, 613, 591, 6514 681, 680, 687, 677, 0, 0, 0, 0, 0, 0, 6515 1906, 0, 684, 685, 0, 686, 690, 182, 0, 671, 6516 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 6517 0, 0, 0, 0, 0, 0, 0, 0, 0, 3396, 6518 0, 0, 0, 0, 0, 1908, 0, 0, 0, 0, 6519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6520 0, 0, 1906, 0, 0, 0, 0, 0, 0, 0, 6521 0, 0, 699, 0, 0, 701, 0, 0, 0, 0, 6522 700, 0, 0, 0, 0, 0, 176, 0, 0, 0, 6523 0, 0, 0, 0, 0, 0, 1883, 1908, 0, 0, 6524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6527 0, 0, 0, 0, 0, 0, 0, 0, 3557, 0, 6528 0, 0, 0, 0, 0, 0, 0, 0, 1883, 0, 6529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6530 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 6531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6533 0, 1906, 0, 0, 0, 0, 0, 0, 0, 0, 6534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6535 0, 0, 0, 0, 0, 0, 1899, 672, 674, 673, 6536 0, 0, 0, 0, 0, 0, 1908, 679, 0, 0, 6537 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 6538 0, 0, 0, 0, 1887, 0, 698, 0, 0, 0, 6539 0, 0, 0, 676, 0, 1893, 0, 0, 0, 0, 6540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6541 0, 0, 0, 0, 0, 1881, 1915, 1883, 0, 1882, 6542 1884, 1886, 0, 1888, 1889, 1890, 1894, 1895, 1896, 1898, 6543 1901, 1902, 1903, 0, 0, 0, 1887, 0, 0, 0, 6544 1891, 1900, 1892, 0, 0, 0, 0, 1893, 0, 0, 6545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6546 0, 0, 0, 0, 0, 0, 0, 1881, 1915, 0, 6547 0, 1882, 1884, 1886, 1907, 1888, 1889, 1890, 1894, 1895, 6548 1896, 1898, 1901, 1902, 1903, 1899, 0, 0, 0, 0, 6549 0, 0, 1891, 1900, 1892, 0, 0, 0, 0, 0, 6550 0, 0, 678, 682, 688, 0, 689, 691, 0, 0, 6551 692, 693, 694, 0, 0, 696, 697, 0, 1904, 0, 6552 0, 0, 0, 0, 0, 0, 1907, 0, 0, 0, 6553 0, 0, 0, 0, 0, 1880, 0, 0, 0, 0, 6554 0, 0, 1879, 0, 0, 0, 0, 0, 0, 0, 6555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6556 0, 0, 0, 0, 0, 1887, 1897, 0, 0, 0, 6557 1904, 0, 0, 0, 0, 1885, 1893, 0, 0, 0, 6558 0, 0, 0, 0, 0, 0, 0, 1880, 0, 0, 6559 0, 0, 0, 0, 1879, 0, 1881, 1915, 0, 0, 6560 1882, 1884, 1886, 0, 1888, 1889, 1890, 1894, 1895, 1896, 6561 1898, 1901, 1902, 1903, 0, 0, 0, 0, 1897, 0, 6562 0, 1891, 1900, 1892, 0, 0, 0, 1885, 0, 0, 6563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6565 0, 0, 0, 0, 0, 1907, 0, 0, 0, 0, 6566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6567 0, 675, 0, 0, 0, 0, 0, 0, 0, 0, 6568 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 6569 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904, 6570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6571 0, 0, 0, 0, 0, 0, 1880, 0, 0, 0, 6572 0, 0, 0, 1879, 0, 0, 0, 0, 0, 0, 6573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 6575 0, 0, 0, 0, 0, 0, 1885, 6576 } 6577 6578 var yyPact = [...]int{ 6579 3847, -1000, -1000, -1000, -307, 14180, -1000, -1000, -1000, -1000, 6580 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6581 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6582 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6583 -1000, 44762, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6584 -1000, -1000, 395, 44762, -305, 28265, 42929, -1000, -1000, 2429, 6585 -1000, 43540, 16033, 44762, 472, 471, 44762, -1000, -1000, -1000, 6586 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6587 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6588 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6589 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 844, -1000, 47206, 6590 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 732, 418, 46595, 6591 11101, -228, -1000, 1416, -49, 2348, 414, 1006, 1020, 1106, 6592 1106, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6593 -1000, -1000, -1000, -1000, 4185, 868, 44151, -1000, -1000, -1000, 6594 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6595 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3690, 6596 764, 868, 20929, 94, 90, 1416, 407, -100, -93, -102, 6597 3708, -1000, 1336, 3956, 201, -1000, -1000, -1000, -1000, -1000, 6598 -1000, -1000, -1000, -1000, -1000, -1000, 11101, 11101, 14180, -349, 6599 14180, 11101, 44762, 44762, -1000, -1000, -1000, -1000, -305, 43540, 6600 732, 418, 11101, 2348, 414, -1000, -1000, -1000, -1000, -1000, 6601 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6602 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6603 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6604 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6605 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6606 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -93, -1000, 6607 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6608 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6609 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6610 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6611 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6612 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6613 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6614 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6615 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6616 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6617 -1000, -1000, -1000, -100, -1000, -1000, -1000, -1000, -1000, -1000, 6618 -1000, -1000, -1000, -1000, -102, -1000, -1000, -1000, -1000, -1000, 6619 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6620 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6621 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 90, -1000, 6622 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6623 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6624 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6625 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6626 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6627 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6628 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6629 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6630 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6631 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6632 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6633 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6634 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6635 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6636 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6637 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6638 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6639 -1000, -1000, 4869, -1000, 1563, -1000, -1000, -1000, -1000, -1000, 6640 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6641 2218, 2873, 1559, 2347, 687, 42929, 44762, -1000, 151, 687, 6642 -1000, -1000, -1000, 1416, 3354, -1000, 44762, 44762, 171, 1827, 6643 -1000, 425, 403, 388, 293, 1558, -1000, -1000, -1000, -1000, 6644 -1000, -1000, 603, 3303, -1000, 44762, 44762, 2886, 44762, -1000, 6645 2160, 631, 47827, 3091, 1351, 848, 2905, -1000, -1000, 2872, 6646 -1000, 302, 402, 240, 516, 392, -1000, -1000, -1000, -1000, 6647 -1000, -1000, -1000, 294, -1000, 3141, -1000, -1000, 295, -1000, 6648 -1000, 279, -1000, -1000, -1000, 89, -1000, -1000, -1000, -1000, 6649 -1000, -1000, -8, -1000, -1000, 1126, 2461, 11101, 1978, -1000, 6650 2717, 1518, -1000, -1000, -1000, 6797, 12943, 12943, 12943, 12943, 6651 44762, -1000, -1000, 2691, 11101, 2871, 2866, 2865, 2864, -1000, 6652 -1000, -1000, -1000, -1000, -1000, 1556, -1000, -1000, -1000, -1000, 6653 -1000, -1000, -1000, -1000, -1000, 1963, -1000, -1000, -1000, 13557, 6654 -1000, 2862, 2859, 2852, 2851, 2850, 2848, 2842, 2841, 2836, 6655 2834, 2821, 2809, 2807, 2806, 2563, 15412, 2805, 2346, 2344, 6656 2804, 2800, 2799, 2329, 2798, 2797, 2793, 2563, 2563, 2791, 6657 2790, 2789, 2788, 2787, 2786, 2784, 2766, 2764, 2763, 2762, 6658 2757, 2755, 2754, 2753, 2750, 2748, 2747, 2746, 2745, 2738, 6659 2736, 2734, 2733, 2728, -1000, -1000, -1000, -1000, -1000, -1000, 6660 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6661 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6662 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6663 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6664 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1374, -1000, 2727, 6665 3331, 2652, -1000, 3184, 3174, 3164, 3138, -274, 2722, 2141, 6666 -1000, -1000, 109, 3300, 44762, -1000, -94, -1000, -1000, 994, 6667 -1000, 968, -1000, 724, 44762, 44762, 207, 799, 724, 724, 6668 724, 724, 724, 766, 724, 3222, 838, 837, 836, 830, 6669 724, -45, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1826, 6670 1824, 2818, 949, -1000, -1000, -1000, -1000, 1412, 44762, -1000, 6671 2665, 1628, 1628, 3285, 3221, 657, 650, 639, 1628, 531, 6672 -1000, 1775, 1775, 1775, 1775, 1628, 449, 625, 3228, 3228, 6673 80, 1775, 58, 1628, 1628, 58, 1628, 1628, -1000, 1778, 6674 249, -280, -1000, -1000, -1000, -1000, 1775, 1775, -1000, -1000, 6675 -1000, -1000, -1000, -1000, -1000, 3162, 3158, 732, 732, 44762, 6676 177, 44762, 732, 732, 732, 737, 43, 45984, 45373, 2160, 6677 618, 615, 1418, 1737, -1000, 1635, 44762, 44762, 1635, 1635, 6678 23988, 23377, -1000, 44762, -1000, 3331, 2652, 2560, 1510, 2556, 6679 2652, -119, -125, -128, 732, 732, 732, 732, 732, 261, 6680 732, 732, 732, 732, 732, 44762, 44762, 42318, 732, 732, 6681 732, 9253, 9253, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6682 -1000, -1000, 14180, 2199, 2154, 200, -21, -296, 241, -1000, 6683 -1000, 44762, 3060, 260, -1000, -1000, -1000, 2578, -1000, 2642, 6684 2642, 2642, 2642, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6685 -1000, -1000, 2642, 2642, 2658, 2721, -1000, -1000, 2636, 2636, 6686 2636, 2578, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6687 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2653, 2653, 2657, 6688 2657, 2653, 44762, -144, -1000, -1000, 11101, 44762, 3081, 381, 6689 2711, 687, -1000, -1000, 44762, 116, 422, 3331, 3079, 3228, 6690 3279, -1000, -1000, 1555, 2140, 2327, -1000, 293, -1000, 411, 6691 293, 1672, -1000, 1059, -1000, -1000, -1000, -1000, -1000, 44762, 6692 -8, 384, -1000, -1000, 2315, 2709, -1000, 587, 1239, 1260, 6693 -1000, 233, 4889, 36208, 2160, 36208, 44762, -1000, -1000, -1000, 6694 -1000, -1000, -1000, 77, -1000, -1000, -1000, -1000, -1000, -1000, 6695 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6696 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 290, -1000, 6697 11101, 11101, 11101, 11101, 11101, -1000, 676, 12329, -1000, -1000, 6698 -1000, -1000, -1000, -1000, -1000, 12943, 12943, 12943, 12943, 12943, 6699 12943, 12943, 12943, 12943, 12943, 12943, 12943, 2687, 1961, 12943, 6700 12943, 12943, 12943, 25821, 1510, 3117, 1417, 289, 1518, 1518, 6701 1518, 1518, 11101, -1000, 1875, 2461, 11101, 11101, 11101, 11101, 6702 44762, -1000, -1000, 4733, 11101, 11101, 198, 11101, 3133, 11101, 6703 11101, 11101, 2555, 5560, 44762, 11101, -1000, 2544, 2541, -1000, 6704 -1000, 1982, 11101, -1000, -1000, 11101, -1000, -1000, 11101, 12943, 6705 11101, -1000, 11101, 11101, 11101, -1000, -1000, 1316, 3133, 3133, 6706 3133, 1776, 11101, 11101, 3133, 3133, 3133, 1720, 3133, 3133, 6707 3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 2538, 2528, 6708 2527, 10487, 3228, -228, -1000, 8639, 3079, 3228, -1000, -1000, 6709 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -276, 2702, 6710 44762, 2326, 2325, -318, 1002, 445, 38, 1004, 973, 978, 6711 -1000, 44762, 1882, 3129, -1000, 2699, 44762, 724, 724, 724, 6712 -1000, 40485, 36208, 44762, 44762, 2160, 44762, 44762, 44762, 724, 6713 724, 724, 724, 44762, -1000, 3044, 36208, 2988, 737, -1000, 6714 44762, 1412, 3127, 44762, 3285, 12943, 12943, -1000, -1000, 11101, 6715 41707, 1775, 1628, 1628, -1000, -1000, 44762, -1000, -1000, -1000, 6716 1775, 44762, 1775, 1775, 3285, 1775, -1000, -1000, -1000, 1628, 6717 1628, -1000, -1000, 11101, -1000, -1000, 1775, 1775, -1000, -1000, 6718 3285, 44762, 67, 3285, 3285, 64, -1000, -1000, -1000, 1628, 6719 44762, 44762, 724, 44762, -1000, 44762, 44762, -1000, -1000, 44762, 6720 44762, 4369, 40485, 41096, 3152, -1000, 36208, 44762, 44762, 34375, 6721 -1000, 1364, -1000, 9, -1000, 33, 43, 1635, 43, 1635, 6722 -1000, 580, 579, 22155, 518, 36208, 6174, -1000, -1000, 1635, 6723 1635, 6174, 6174, 1564, -1000, -1000, -1000, -1000, -1000, -1000, 6724 -1000, 1410, -1000, 281, 3228, -1000, -1000, -1000, -1000, -1000, 6725 2139, 2137, 2136, 44762, 40485, 36208, 2160, 44762, 732, 44762, 6726 44762, 44762, 44762, 44762, -1000, 2698, 1550, -1000, 3089, 44762, 6727 44762, 44762, 1237, -1000, -1000, 19088, 1549, 1237, -1000, 1863, 6728 -1000, 11101, 14180, -253, 11101, 14180, 14180, 11101, 14180, -1000, 6729 11101, 234, -1000, -1000, -1000, -1000, 2134, -1000, 2133, -1000, 6730 -1000, -1000, -1000, -1000, 2319, 2319, -1000, 2130, -1000, -1000, 6731 -1000, -1000, 2128, -1000, -1000, 2127, -1000, -1000, -1000, -1000, 6732 -170, 2518, 1126, -1000, 2318, 2903, -229, -1000, 20318, 44762, 6733 44762, 381, -322, -1000, 1823, 1799, 1793, -1000, -229, -1000, 6734 19703, 44762, 3228, -1000, -233, 3079, 11101, 44762, -1000, 3220, 6735 -1000, -1000, 293, -1000, 442, 370, -1000, -1000, -1000, -1000, 6736 -1000, -1000, 1540, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6737 -1000, -1000, -1000, 391, 1403, -1000, 44762, -1000, -1000, 233, 6738 36208, 38041, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 232, 6739 -1000, -1000, 188, -1000, 797, 211, 1671, -1000, -1000, 224, 6740 217, 170, 879, 2461, -1000, 1886, 1886, 1892, -1000, 670, 6741 -1000, -1000, -1000, -1000, 2691, -1000, -1000, -1000, 2006, 2282, 6742 -1000, 1782, 1782, 1579, 1579, 1579, 1579, 1579, 1751, 1751, 6743 -1000, -1000, -1000, 6797, 2687, 12943, 12943, 12943, 12943, 814, 6744 814, 1702, 3568, -1000, -1000, -1000, -1000, 11101, 189, 1850, 6745 -1000, 11101, 2572, 1347, 2523, 1203, 1539, -1000, -1000, -1000, 6746 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6747 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6748 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2509, 2500, 2507, 6749 3299, 2498, 11101, -1000, -1000, 1668, 1663, 1643, -1000, 2383, 6750 9873, -1000, -1000, -1000, 2492, 1538, 2484, -1000, -1000, -1000, 6751 2482, 1642, 1186, 2481, 1798, 2479, 2478, 2477, 2473, 1397, 6752 11101, 11101, 11101, 11101, 2468, 1641, 1640, 11101, 11101, 11101, 6753 11101, 2459, 11101, 11101, 11101, 11101, 11101, 11101, 11101, 11101, 6754 11101, 11101, 121, 121, 121, 1382, 1381, -1000, -1000, 1625, 6755 -1000, 2461, -1000, -1000, 3079, -1000, 2686, 2122, 1377, -1000, 6756 -1000, -302, 2271, 44762, 1001, 44762, -1000, -1000, 992, 957, 6757 967, 3211, 3088, 44762, 1123, 2683, 44762, 44762, 44762, 247, 6758 -1000, -1000, 1154, -1000, 211, 235, 489, 1132, 2885, 3297, 6759 -147, 44762, 44762, 44762, 44762, 3119, -1000, -1000, -1000, -1000, 6760 -1000, -1000, -1000, -1000, 39874, -1000, 2680, 1623, -1000, -1000, 6761 1518, 1518, 2461, 2883, 44762, 44762, 3285, 3285, -1000, -1000, 6762 -1000, -1000, -1000, -1000, -1000, 1775, 3285, 3285, 1329, 1628, 6763 1775, -1000, -1000, 1775, -326, -1000, 1775, -1000, -326, 1521, 6764 -326, 44762, -1000, -1000, -1000, 3106, 2665, 1375, -1000, -1000, 6765 -1000, 3278, 1383, 721, 721, 986, 806, 3272, 17866, -1000, 6766 1645, 1027, 795, 3004, 300, -1000, 1645, -167, 699, 1645, 6767 1645, 1645, 1645, 1645, 1645, 1645, 584, 583, 1645, 1645, 6768 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1010, 6769 1645, 1645, 1645, 1645, 1645, -1000, 1645, 2679, -1000, -1000, 6770 -1000, -1000, -1000, -1000, -1000, 637, 236, 3149, 330, -1000, 6771 328, 1154, 3145, 385, 3168, 1193, -1000, -1000, -1000, -1000, 6772 26432, 26432, 21544, 26432, -1000, 205, 43, 16, -1000, -1000, 6773 1364, 6174, 1364, 6174, -1000, -1000, 794, -1000, -1000, 1132, 6774 -1000, 44762, 44762, -1000, -1000, 2678, 1792, -1000, -1000, 15412, 6775 -1000, 6174, 6174, -1000, -1000, 27654, 44762, -1000, -16, -1000, 6776 -15, 3079, -1000, -1000, -1000, 1342, -1000, -1000, 1355, 1132, 6777 2901, 44762, 1342, 1342, 1342, -1000, -1000, 17255, 44762, 44762, 6778 -1000, -1000, -1000, 3285, 9253, -1000, 34375, -1000, -1000, 39263, 6779 -1000, 38652, 3285, 1843, -1000, 14180, 2111, 197, -1000, 237, 6780 -304, 195, 2094, 193, 2461, -1000, -1000, 2458, 2456, 1607, 6781 -1000, 1602, 2455, 1600, 1572, 2120, -1000, 52, -1000, 3062, 6782 1133, -1000, 2677, -1000, 1565, 2948, -1000, 1332, -1000, 1789, 6783 1560, -1000, -1000, -1000, 11101, 11101, 11101, 1133, 1551, 2947, 6784 1332, 3079, 2317, -1000, 1331, -1000, 2467, 1516, 157, -1000, 6785 -1000, -1000, 44762, 732, 2315, 1535, 38041, 1249, -1000, 790, 6786 1511, 1494, -1000, 36208, 286, 36208, -1000, 36208, -1000, -1000, 6787 362, -1000, 44762, 3067, -1000, -1000, -1000, 2271, 1784, -324, 6788 44762, -1000, -1000, -1000, -1000, -1000, 1519, -1000, 814, 814, 6789 1702, 3489, -1000, 12943, -1000, 12943, 3112, -1000, 1842, -1000, 6790 11101, 2067, 4773, 11101, 4773, 897, 25210, 44762, -1000, -1000, 6791 11101, 11101, -1000, 3099, -1000, -1000, -1000, -1000, 11101, 11101, 6792 2370, -1000, 44762, -1000, -1000, -1000, -1000, 25210, -1000, 12943, 6793 -1000, -1000, -1000, -1000, 11101, 1253, 1253, 3092, 1514, 121, 6794 121, 121, 3022, 3003, 2983, 1482, 121, 2977, 2963, 2946, 6795 2893, 2881, 2875, 2860, 2839, 2826, 2816, -1000, 2676, -1000, 6796 -1000, 1975, 11715, 8639, -1000, -1000, 278, 1323, 2119, 2307, 6797 130, -1000, 1777, -1000, 44762, 1030, -1000, -1000, -1000, 953, 6798 382, -1000, 266, 2452, 1313, -1000, -1000, 44762, -1000, -1000, 6799 -1000, 17255, 2665, 2675, 2665, 133, 1645, 590, 36208, 614, 6800 -1000, 44762, 44762, 1966, 1750, 2900, 780, 3030, 44762, 2672, 6801 394, 2669, 2668, 3104, 446, 5005, 44762, 1219, -1000, 1459, 6802 3956, -1000, 44762, -1000, 2160, -1000, 1628, -1000, -1000, 3285, 6803 -1000, -1000, 11101, 11101, 3285, 1628, 1628, -1000, 988, 1775, 6804 -1000, 44762, -1000, -1000, 446, 5005, 3103, 4498, 535, 2288, 6805 -1000, 44762, -1000, -1000, -1000, 821, -1000, 932, 724, 44762, 6806 1907, 932, 1906, 2667, -1000, -1000, 44762, 44762, 44762, 44762, 6807 -1000, -1000, 44762, -1000, 44762, 44762, 44762, 44762, 44762, 37430, 6808 -1000, 44762, 44762, -1000, 44762, 1904, 44762, 1903, 3137, -1000, 6809 1645, 1645, 916, -1000, -1000, 572, -1000, 37430, 2113, 2112, 6810 2110, 2105, 2305, 2302, 2301, 1645, 1645, 2103, 2296, 36819, 6811 2294, 1111, 2101, 2098, 2097, 2118, 2290, 948, -1000, 2289, 6812 2084, 2043, 2038, 44762, 2666, 2238, -1000, -1000, 133, 1645, 6813 324, 44762, 1744, 590, 486, -30, 22766, 44762, 34375, 34375, 6814 34375, 34375, -1000, 2939, 2929, -1000, 2975, 2928, 3012, 44762, 6815 34375, 2665, -1000, 36819, -1000, -1000, -1000, 1510, 1481, 3207, 6816 951, 11101, -1000, -1000, 1, 13, -1000, -1000, -1000, 36208, 6817 2287, 518, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3208, 6818 44762, 44762, 710, 2445, 1311, -1000, -1000, -1000, 5005, 2642, 6819 2642, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6820 2642, 2642, 2658, -1000, -1000, 2636, 2636, 2636, 2578, -1000, 6821 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2653, 6822 2653, 2657, 2657, 2653, -1000, -1000, 3283, -1000, 1306, -1000, 6823 -1000, 1431, -1000, 3283, 1877, -308, 14180, 1866, 1753, -1000, 6824 11101, 14180, 11101, -254, 311, -256, -1000, -1000, -1000, 2280, 6825 -1000, -1000, -1000, 2086, -1000, 2085, -1000, 132, 141, 1901, 6826 -229, 8639, 400, 44762, -229, 44762, 8639, -1000, 44762, 184, 6827 168, 160, 393, -229, 3208, 52, 11101, 2981, -1000, -1000, 6828 44762, 2066, -1000, -1000, -1000, 3292, 36208, 2160, 1589, 35597, 6829 -1000, 291, -1000, 230, 554, 2278, -1000, 810, 120, 2275, 6830 2271, -1000, -1000, -1000, -1000, 12943, 1518, -1000, -1000, -1000, 6831 2461, 11101, 2444, -1000, 956, 956, 1976, 2442, 2438, -1000, 6832 2642, 2642, -1000, 2578, 2636, 2578, 956, 956, 2435, -1000, 6833 2374, 2802, -1000, 2795, 2730, 11101, -1000, 2434, 3402, 1277, 6834 -62, -198, 121, 121, -1000, -1000, -1000, -1000, 121, 121, 6835 121, 121, -1000, 121, 121, 121, 121, 121, 121, 121, 6836 121, 121, 121, 694, -109, -288, -110, -290, -1000, 2427, 6837 1276, -1000, -1000, -1000, -1000, -1000, 198, 1272, 497, 497, 6838 2271, 2270, 789, 985, 44762, -1000, -1000, -1000, 44762, 2267, 6839 2266, 1123, 5005, 2420, 3096, 16644, 3095, 2157, -1000, -1000, 6840 -1000, 27043, 547, -1000, -1000, -1000, 682, 262, 2060, 543, 6841 -1000, 44762, 385, 385, 2971, 1738, 2258, 44762, -1000, -1000, 6842 -1000, -1000, -1000, -1000, -1000, 3030, -1000, 987, 426, 33153, 6843 14801, -1000, 383, 44762, -1000, 16644, 16644, 383, 436, 1958, 6844 -1000, 687, 1150, 149, 34375, 44762, -1000, 33764, 2419, -1000, 6845 1132, 3285, -1000, 2461, 2461, -326, 3285, 3285, 1735, 1628, 6846 -1000, 436, -1000, 383, -1000, 942, 18477, 520, 467, 423, 6847 -1000, 636, -1000, -1000, 686, 3020, 5005, -1000, 44762, -1000, 6848 44762, -1000, 44762, 44762, 724, 11101, 3020, 44762, 784, -1000, 6849 -1000, 1075, 417, 399, 729, 729, 1256, -1000, 3071, -1000, 6850 -1000, 1252, -1000, -1000, -1000, -1000, 44762, -1000, -1000, -1000, 6851 -1000, -1000, -1000, -1000, 25210, 25210, 3143, -1000, -1000, -1000, 6852 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6853 2257, 2255, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6854 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6855 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6856 -1000, 44762, 1464, -1000, 1705, 2157, 27043, 1699, 1635, 2253, 6857 547, 1966, 1697, 2151, 44762, -1000, 1163, 44762, 44762, -1000, 6858 1287, -1000, 1696, 2880, 2895, 2880, -1000, -1000, -1000, -1000, 6859 2927, -1000, 2921, -1000, -1000, 1287, -1000, -1000, -1000, -1000, 6860 -1000, 951, -1000, 3197, 932, 932, 932, 2418, -1000, -1000, 6861 -1000, 1249, 2416, -1000, -1000, -1000, 3326, -1000, -1000, -1000, 6862 -1000, -1000, -1000, 17255, 3028, 3281, 3268, 34986, 3281, -1000, 6863 -308, 1801, -1000, 1846, 187, 2079, 44762, -1000, -1000, -1000, 6864 2409, 2407, -235, 153, 3267, 3264, 975, -1000, 2406, 1217, 6865 -229, -1000, -1000, 1133, -1000, -1000, -1000, -1000, -1000, -1000, 6866 -229, -1000, 1133, -1000, 132, -1000, -1000, 3032, -1000, -1000, 6867 2160, -1000, 229, -1000, -1000, -1000, -1000, -1000, -1000, 185, 6868 -1000, 44762, -1000, 1189, 119, -1000, 2461, -1000, -1000, -1000, 6869 -1000, -1000, 4773, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6870 -1000, -1000, -1000, -1000, 11101, -1000, -1000, -1000, 2712, -1000, 6871 -1000, 11101, 2405, 2252, 2390, 2251, -1000, -1000, -1000, -1000, 6872 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6873 -1000, -1000, 3331, -1000, 3262, 1463, 2389, 2388, 1460, 2384, 6874 2381, -1000, 11101, 2380, 198, 924, 2248, 924, -1000, -1000, 6875 348, 44762, 3289, -1000, -1000, -1000, -1000, -1000, 852, 383, 6876 2379, 1165, -1000, -1000, -1000, -1000, 383, -1000, 2247, 210, 6877 -1000, -1000, -1000, -1000, 2245, 2243, 2059, -1000, -1000, 2029, 6878 1441, 223, -1000, -1000, -1000, -1000, -1000, -1000, 2151, 2151, 6879 2149, 1690, -328, -1000, 2619, -1000, 1645, 1645, 1645, 44762, 6880 1444, -1000, 1645, 1645, 2377, -1000, -1000, 2376, 2375, -148, 6881 703, 1714, 1675, -1000, 2045, 26432, 34375, 33764, 1167, -1000, 6882 1424, -1000, -1000, -1000, -1000, -1000, -1000, 2241, 3285, 703, 6883 -1000, 504, 2037, 12943, 2618, 12943, 2617, 538, 2615, 1443, 6884 -1000, 44762, -1000, -1000, 44762, 301, 2614, -1000, 2613, 2876, 6885 495, 2608, 2606, 44762, 2695, -1000, 3020, 44762, 692, 3010, 6886 -1000, -1000, -1000, 397, -1000, -1000, 545, -1000, 44762, -1000, 6887 44762, -1000, 1485, -1000, 25210, -1000, -1000, 1440, -1000, 2238, 6888 2237, -1000, 210, 2235, 6174, -1000, -1000, 2971, 2234, -1000, 6889 2233, -1000, 44762, 1163, 1163, 3331, 44762, 8639, -1000, -1000, 6890 11101, 2596, -1000, 11101, -1000, -1000, -1000, -1000, -1000, 2594, 6891 3043, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1802, -1000, 6892 11101, 11101, -1000, -1000, 722, 14180, -257, 309, -1000, -1000, 6893 -1000, -237, 2231, -1000, -1000, 3259, 2230, 2170, 44762, -1000, 6894 -1000, 1133, 1133, -235, -1000, -1000, 1132, -1000, -1000, 1022, 6895 602, -1000, 2373, 2633, -1000, 2609, 121, -1000, 121, -1000, 6896 239, 11101, -1000, 2228, -1000, -1000, -1000, 2227, -1000, -1000, 6897 2559, -1000, 2372, -1000, 2225, -1000, -1000, 44762, 757, 983, 6898 5005, -149, -148, 16644, -149, -1000, -1000, 358, -1000, -1000, 6899 339, -1000, -1000, 2017, 567, -1000, -1000, -1000, -1000, 1689, 6900 1949, 2193, 31320, 25210, 25821, 2219, -1000, -1000, 33153, 1802, 6901 1802, 47844, 290, 48025, -1000, 2593, 1023, 1674, -1000, 2033, 6902 -1000, 2032, -1000, 3285, 1167, 137, -1000, -1000, 1587, -346, 6903 -1000, 1023, 2288, 3252, -1000, 2894, 44762, 2874, 44762, 2592, 6904 1677, 12943, -1000, 686, 2823, -1000, -1000, 301, -1000, -1000, 6905 1921, 12943, -1000, -1000, 2217, 25821, 819, 1670, 1666, 854, 6906 2591, -1000, 549, 3322, -1000, -1000, -1000, 899, 2581, -1000, 6907 1899, 1898, -1000, 44762, -1000, 31320, 31320, 720, 720, 31320, 6908 31320, 2580, 729, -1000, -1000, 12943, -1000, -1000, 1645, -1000, 6909 -1000, -1000, 1645, 1421, -1000, -1000, -1000, -1000, -1000, -1000, 6910 2149, -1000, -1000, -1000, 3228, -1000, -1000, 2461, 44762, 2461, 6911 32542, -1000, 3250, 3248, -1000, 2461, 1126, -1000, -308, 44762, 6912 44762, -239, 2031, -1000, 2215, 161, -1000, -1000, 1128, -237, 6913 -242, 64, 25210, 1656, -1000, -1000, -1000, -1000, -1000, 2368, 6914 -1000, 853, -1000, -1000, -1000, 1126, 2367, 2365, -1000, -1000, 6915 -1000, -1000, 347, 44762, -136, -1000, -1000, 424, -1000, -1000, 6916 -1000, 556, 2180, -1000, -1000, 334, -1000, -1000, 2211, -1000, 6917 -1000, 112, -1000, 1647, 1411, -1000, 2578, 11101, -1000, -1000, 6918 -1000, -1000, -1000, -1000, 675, -1000, 383, 5073, -1000, 1027, 6919 -1000, 1022, 675, 30098, 619, 280, -1000, 2026, -1000, -1000, 6920 3331, -1000, -1000, 610, -1000, 523, -1000, 1401, -1000, 1400, 6921 31931, 2025, 2566, -1000, 47896, 809, -1000, -1000, 1702, -1000, 6922 -1000, -1000, -1000, -1000, -1000, 2210, 2208, -1000, -1000, -1000, 6923 -1000, -1000, 2022, 2577, 37, 3121, 2206, -1000, -1000, 2575, 6924 1394, 1380, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6925 -1000, 1378, 1368, 31320, -1000, -1000, 1702, 2014, 25210, 1645, 6926 -1000, -1000, 1366, 1352, -1000, -1000, -1000, -1000, -1000, -1000, 6927 -1000, 2571, -1000, -1000, 3246, -239, -245, 2203, 125, 146, 6928 -1000, 2194, -1000, -1000, 915, -231, 117, 110, 106, -1000, 6929 -1000, -1000, 11101, -1000, -1000, 44762, 744, 44762, 544, -1000, 6930 -1000, -1000, -1000, 181, -1000, -1000, -1000, -1000, -1000, 2193, 6931 2188, -1000, 31320, 3071, 2503, 499, 3244, -1000, 48025, -1000, 6932 1645, -1000, 499, 1348, -1000, 1645, 1645, -1000, 458, -1000, 6933 1633, -1000, 2012, -1000, 3228, -1000, 439, -1000, 501, -1000, 6934 -1000, -1000, 1297, -1000, -1000, -1000, 47896, 512, -1000, 667, 6935 2568, -1000, -1000, 2363, 11101, 2563, 1645, 2320, -132, 31320, 6936 2719, 2714, 2635, 2574, 1291, -1000, -1000, 25210, -1000, -1000, 6937 30709, 44762, 2170, -1000, -1000, 2187, -1000, 734, 140, 146, 6938 -1000, 3240, 155, 3239, 3237, 1087, 1888, -1000, 108, 104, 6939 102, -1000, -1000, -1000, -1000, -1000, 344, 530, -1000, 284, 6940 -1000, -1000, -1000, 285, -1000, -1000, 3071, -1000, 3235, 535, 6941 -1000, 25210, -1000, -1000, 30098, 1802, 1802, -1000, -1000, 2001, 6942 -1000, -1000, -1000, -1000, 2000, -1000, -1000, -1000, 1288, -1000, 6943 44762, 863, 8025, -1000, 2437, -1000, 44762, -1000, 2888, -1000, 6944 238, 1247, 285, 720, 285, 720, 285, 720, 285, 720, 6945 276, -1000, -1000, -1000, 1243, -1000, -1000, -1000, 2430, 1998, 6946 153, 134, 3233, -1000, 2170, 3230, 2170, 2170, -1000, 124, 6947 915, -1000, -1000, -1000, 44762, 2186, -1000, -1000, -1000, -1000, 6948 1645, 1645, 2184, 2183, 427, -1000, -1000, -1000, 29487, 520, 6949 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 512, 48025, -1000, 6950 8025, 1242, -1000, 2461, -1000, 729, -1000, -1000, 2882, 2569, 6951 3296, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6952 -1000, 44762, 3116, 24599, 129, -1000, -1000, -1000, 2172, -1000, 6953 2170, -1000, -1000, 1638, -1000, -1000, -285, 1994, 1984, -1000, 6954 -1000, 44762, -1000, 44762, 504, -1000, 48025, 1221, -1000, 8025, 6955 -1000, -1000, 3319, -1000, 3317, 843, 843, 285, 285, 285, 6956 285, -1000, -1000, 44762, -1000, 1161, -1000, -1000, -1000, 1423, 6957 -1000, -1000, -1000, -1000, 2167, -1000, -1000, 2158, -1000, -1000, 6958 -1000, 1116, 2288, -1000, -1000, -1000, -1000, -1000, 2016, 555, 6959 -1000, 1042, -1000, 1614, -1000, 28876, 44762, -1000, -1000, -1000, 6960 -1000, -1000, -1000, -1000, 44762, 7411, -1000, 1031, -1000, -1000, 6961 2461, 44762, -1000, 6962 } 6963 6964 var yyPgo = [...]int{ 6965 0, 177, 3346, 254, 181, 3910, 84, 252, 230, 226, 6966 251, 3909, 3906, 3905, 3904, 3061, 3050, 3903, 3902, 3901, 6967 3900, 3899, 3897, 3896, 3894, 3893, 3892, 3891, 3890, 3888, 6968 3887, 3886, 3884, 3882, 3881, 3879, 3877, 3875, 3873, 3872, 6969 3870, 3869, 3868, 3867, 3866, 3865, 3864, 250, 3859, 3858, 6970 3857, 3856, 3854, 3851, 3850, 3848, 3847, 3846, 3845, 3834, 6971 3827, 3826, 3823, 3821, 3820, 3819, 3818, 3815, 3814, 3813, 6972 3812, 3808, 3805, 3804, 3801, 3800, 3799, 3796, 3795, 249, 6973 3794, 3793, 221, 3792, 3024, 3791, 3790, 3789, 3788, 3785, 6974 3784, 3783, 246, 3782, 3781, 3780, 3779, 3778, 3777, 3773, 6975 3772, 3771, 3770, 3769, 235, 3765, 3763, 3762, 3761, 222, 6976 3760, 228, 3759, 179, 138, 3758, 3757, 3756, 3753, 3751, 6977 3750, 3749, 238, 209, 74, 3747, 50, 3746, 3745, 219, 6978 3744, 157, 3743, 154, 3738, 3736, 3730, 3729, 3725, 3724, 6979 3723, 3722, 3721, 3720, 3701, 3700, 3698, 3697, 3694, 3693, 6980 3690, 3688, 92, 3686, 262, 3683, 73, 3679, 183, 132, 6981 3677, 93, 133, 258, 2356, 259, 253, 192, 184, 116, 6982 3676, 332, 3675, 164, 243, 162, 29, 3672, 144, 3671, 6983 263, 47, 35, 247, 149, 60, 168, 131, 3667, 217, 6984 109, 108, 3666, 3665, 145, 3664, 236, 186, 3663, 101, 6985 3662, 3661, 3659, 3658, 3657, 208, 198, 3656, 3655, 135, 6986 3654, 3652, 72, 129, 3651, 76, 122, 174, 121, 3648, 6987 2532, 126, 139, 119, 99, 3645, 127, 3644, 3643, 3642, 6988 3640, 188, 3639, 3638, 142, 71, 3624, 3620, 3618, 68, 6989 3617, 79, 3615, 27, 3614, 59, 3613, 3612, 3611, 3610, 6990 3609, 3608, 3604, 3603, 3601, 3600, 3599, 3596, 55, 3595, 6991 3594, 7, 11, 16, 3593, 26, 3592, 175, 3591, 3589, 6992 3588, 3583, 3579, 90, 88, 3577, 91, 170, 3576, 9, 6993 28, 75, 3574, 3571, 224, 134, 103, 160, 3569, 325, 6994 3568, 3567, 3565, 163, 3564, 601, 3563, 3562, 3561, 3558, 6995 3557, 3556, 49, 3555, 234, 41, 3552, 136, 141, 3551, 6996 39, 48, 117, 220, 143, 95, 3536, 3535, 3533, 137, 6997 195, 111, 38, 0, 3532, 155, 3530, 3529, 3528, 257, 6998 3525, 240, 225, 169, 261, 264, 211, 3524, 3522, 70, 6999 124, 3521, 165, 43, 58, 148, 96, 21, 265, 3520, 7000 423, 8, 202, 3519, 206, 3517, 191, 15, 123, 158, 7001 3515, 3514, 32, 266, 3512, 3511, 3510, 130, 3509, 3505, 7002 172, 66, 3504, 3503, 3501, 3499, 36, 3498, 37, 13, 7003 3497, 102, 3495, 241, 3494, 256, 140, 189, 185, 166, 7004 232, 237, 85, 77, 3493, 1818, 161, 98, 17, 3492, 7005 231, 3491, 187, 114, 3487, 106, 3486, 248, 267, 216, 7006 3484, 190, 10, 46, 40, 30, 45, 12, 1271, 223, 7007 3483, 3482, 22, 53, 3481, 52, 3480, 19, 3479, 3478, 7008 3477, 78, 5, 3475, 3474, 18, 20, 3473, 33, 213, 7009 176, 128, 89, 65, 3472, 3471, 51, 197, 3468, 152, 7010 159, 151, 3467, 80, 3466, 3465, 3462, 3460, 728, 3459, 7011 255, 3457, 3455, 3454, 3453, 3451, 3447, 3446, 3445, 215, 7012 3444, 107, 44, 3443, 3442, 3441, 3439, 82, 153, 3437, 7013 3435, 3433, 3432, 31, 146, 3430, 14, 3429, 25, 23, 7014 34, 3427, 100, 3426, 3, 194, 3425, 3424, 4, 3420, 7015 3419, 1, 2, 3418, 3417, 118, 3416, 97, 24, 171, 7016 104, 3415, 3414, 87, 214, 150, 3413, 3412, 94, 242, 7017 207, 3411, 178, 239, 260, 3409, 212, 3408, 3406, 3403, 7018 3402, 3401, 3399, 1140, 3398, 3397, 245, 69, 81, 3396, 7019 227, 113, 3393, 3391, 86, 167, 125, 115, 61, 83, 7020 3390, 112, 196, 3388, 200, 3387, 3386, 3385, 105, 3384, 7021 3383, 3382, 3380, 193, 3378, 3377, 205, 233, 3375, 3374, 7022 323, 3371, 3367, 3366, 3359, 3356, 3355, 3354, 3352, 3351, 7023 3349, 277, 269, 3344, 7024 } 7025 7026 //line mysql_sql.y:12099 7027 type yySymType struct { 7028 union interface{} 7029 id int 7030 str string 7031 item interface{} 7032 yys int 7033 } 7034 7035 func (st *yySymType) PartitionNamesUnion() tree.IdentifierList { 7036 v, _ := st.union.(tree.IdentifierList) 7037 return v 7038 } 7039 7040 func (st *yySymType) accessModeUnion() tree.AccessModeType { 7041 v, _ := st.union.(tree.AccessModeType) 7042 return v 7043 } 7044 7045 func (st *yySymType) accountAuthOptionUnion() tree.AccountAuthOption { 7046 v, _ := st.union.(tree.AccountAuthOption) 7047 return v 7048 } 7049 7050 func (st *yySymType) accountCommentUnion() tree.AccountComment { 7051 v, _ := st.union.(tree.AccountComment) 7052 return v 7053 } 7054 7055 func (st *yySymType) accountCommentOrAttributeUnion() tree.AccountCommentOrAttribute { 7056 v, _ := st.union.(tree.AccountCommentOrAttribute) 7057 return v 7058 } 7059 7060 func (st *yySymType) accountIdentifiedUnion() tree.AccountIdentified { 7061 v, _ := st.union.(tree.AccountIdentified) 7062 return v 7063 } 7064 7065 func (st *yySymType) accountRoleUnion() *tree.Role { 7066 v, _ := st.union.(*tree.Role) 7067 return v 7068 } 7069 7070 func (st *yySymType) accountStatusUnion() tree.AccountStatus { 7071 v, _ := st.union.(tree.AccountStatus) 7072 return v 7073 } 7074 7075 func (st *yySymType) accountsSetOptionUnion() *tree.AccountsSetOption { 7076 v, _ := st.union.(*tree.AccountsSetOption) 7077 return v 7078 } 7079 7080 func (st *yySymType) aliasedTableExprUnion() *tree.AliasedTableExpr { 7081 v, _ := st.union.(*tree.AliasedTableExpr) 7082 return v 7083 } 7084 7085 func (st *yySymType) alterAccountAuthOptionUnion() tree.AlterAccountAuthOption { 7086 v, _ := st.union.(tree.AlterAccountAuthOption) 7087 return v 7088 } 7089 7090 func (st *yySymType) alterColPositionUnion() *tree.ColumnPosition { 7091 v, _ := st.union.(*tree.ColumnPosition) 7092 return v 7093 } 7094 7095 func (st *yySymType) alterColumnOrderUnion() *tree.AlterColumnOrder { 7096 v, _ := st.union.(*tree.AlterColumnOrder) 7097 return v 7098 } 7099 7100 func (st *yySymType) alterColumnOrderByUnion() []*tree.AlterColumnOrder { 7101 v, _ := st.union.([]*tree.AlterColumnOrder) 7102 return v 7103 } 7104 7105 func (st *yySymType) alterPartitionOptionUnion() tree.AlterPartitionOption { 7106 v, _ := st.union.(tree.AlterPartitionOption) 7107 return v 7108 } 7109 7110 func (st *yySymType) alterTableUnion() tree.AlterTable { 7111 v, _ := st.union.(tree.AlterTable) 7112 return v 7113 } 7114 7115 func (st *yySymType) alterTableOptionUnion() tree.AlterTableOption { 7116 v, _ := st.union.(tree.AlterTableOption) 7117 return v 7118 } 7119 7120 func (st *yySymType) alterTableOptionsUnion() tree.AlterTableOptions { 7121 v, _ := st.union.(tree.AlterTableOptions) 7122 return v 7123 } 7124 7125 func (st *yySymType) alterTypeOptionUnion() *tree.TypeOption { 7126 v, _ := st.union.(*tree.TypeOption) 7127 return v 7128 } 7129 7130 func (st *yySymType) assignmentUnion() *tree.Assignment { 7131 v, _ := st.union.(*tree.Assignment) 7132 return v 7133 } 7134 7135 func (st *yySymType) assignmentsUnion() []*tree.Assignment { 7136 v, _ := st.union.([]*tree.Assignment) 7137 return v 7138 } 7139 7140 func (st *yySymType) atTimeStampUnion() *tree.AtTimeStamp { 7141 v, _ := st.union.(*tree.AtTimeStamp) 7142 return v 7143 } 7144 7145 func (st *yySymType) attributeNullUnion() tree.AttributeNull { 7146 v, _ := st.union.(tree.AttributeNull) 7147 return v 7148 } 7149 7150 func (st *yySymType) attributeReferenceUnion() *tree.AttributeReference { 7151 v, _ := st.union.(*tree.AttributeReference) 7152 return v 7153 } 7154 7155 func (st *yySymType) authRecordUnion() *tree.AuthRecord { 7156 v, _ := st.union.(*tree.AuthRecord) 7157 return v 7158 } 7159 7160 func (st *yySymType) boolValUnion() bool { 7161 v, _ := st.union.(bool) 7162 return v 7163 } 7164 7165 func (st *yySymType) clusterByOptionUnion() *tree.ClusterByOption { 7166 v, _ := st.union.(*tree.ClusterByOption) 7167 return v 7168 } 7169 7170 func (st *yySymType) columnAttributeUnion() tree.ColumnAttribute { 7171 v, _ := st.union.(tree.ColumnAttribute) 7172 return v 7173 } 7174 7175 func (st *yySymType) columnAttributesUnion() []tree.ColumnAttribute { 7176 v, _ := st.union.([]tree.ColumnAttribute) 7177 return v 7178 } 7179 7180 func (st *yySymType) columnTableDefUnion() *tree.ColumnTableDef { 7181 v, _ := st.union.(*tree.ColumnTableDef) 7182 return v 7183 } 7184 7185 func (st *yySymType) columnTypeUnion() *tree.T { 7186 v, _ := st.union.(*tree.T) 7187 return v 7188 } 7189 7190 func (st *yySymType) comparisionExprUnion() *tree.ComparisonExpr { 7191 v, _ := st.union.(*tree.ComparisonExpr) 7192 return v 7193 } 7194 7195 func (st *yySymType) comparisonOpUnion() tree.ComparisonOp { 7196 v, _ := st.union.(tree.ComparisonOp) 7197 return v 7198 } 7199 7200 func (st *yySymType) completionTypeUnion() tree.CompletionType { 7201 v, _ := st.union.(tree.CompletionType) 7202 return v 7203 } 7204 7205 func (st *yySymType) connectorOptionUnion() *tree.ConnectorOption { 7206 v, _ := st.union.(*tree.ConnectorOption) 7207 return v 7208 } 7209 7210 func (st *yySymType) connectorOptionalUnion() bool { 7211 v, _ := st.union.(bool) 7212 return v 7213 } 7214 7215 func (st *yySymType) connectorOptionsUnion() []*tree.ConnectorOption { 7216 v, _ := st.union.([]*tree.ConnectorOption) 7217 return v 7218 } 7219 7220 func (st *yySymType) createOptionUnion() tree.CreateOption { 7221 v, _ := st.union.(tree.CreateOption) 7222 return v 7223 } 7224 7225 func (st *yySymType) createOptionsUnion() []tree.CreateOption { 7226 v, _ := st.union.([]tree.CreateOption) 7227 return v 7228 } 7229 7230 func (st *yySymType) cstrUnion() *tree.CStr { 7231 v, _ := st.union.(*tree.CStr) 7232 return v 7233 } 7234 7235 func (st *yySymType) cteUnion() *tree.CTE { 7236 v, _ := st.union.(*tree.CTE) 7237 return v 7238 } 7239 7240 func (st *yySymType) cteListUnion() []*tree.CTE { 7241 v, _ := st.union.([]*tree.CTE) 7242 return v 7243 } 7244 7245 func (st *yySymType) cycleOptionUnion() *tree.CycleOption { 7246 v, _ := st.union.(*tree.CycleOption) 7247 return v 7248 } 7249 7250 func (st *yySymType) defaultOptionalUnion() bool { 7251 v, _ := st.union.(bool) 7252 return v 7253 } 7254 7255 func (st *yySymType) directionUnion() tree.Direction { 7256 v, _ := st.union.(tree.Direction) 7257 return v 7258 } 7259 7260 func (st *yySymType) duplicateKeyUnion() tree.DuplicateKey { 7261 v, _ := st.union.(tree.DuplicateKey) 7262 return v 7263 } 7264 7265 func (st *yySymType) elseIfClauseUnion() *tree.ElseIfStmt { 7266 v, _ := st.union.(*tree.ElseIfStmt) 7267 return v 7268 } 7269 7270 func (st *yySymType) elseIfClauseListUnion() []*tree.ElseIfStmt { 7271 v, _ := st.union.([]*tree.ElseIfStmt) 7272 return v 7273 } 7274 7275 func (st *yySymType) epxlainOptionUnion() tree.OptionElem { 7276 v, _ := st.union.(tree.OptionElem) 7277 return v 7278 } 7279 7280 func (st *yySymType) epxlainOptionsUnion() []tree.OptionElem { 7281 v, _ := st.union.([]tree.OptionElem) 7282 return v 7283 } 7284 7285 func (st *yySymType) exportParmUnion() *tree.ExportParam { 7286 v, _ := st.union.(*tree.ExportParam) 7287 return v 7288 } 7289 7290 func (st *yySymType) exprUnion() tree.Expr { 7291 v, _ := st.union.(tree.Expr) 7292 return v 7293 } 7294 7295 func (st *yySymType) exprsUnion() tree.Exprs { 7296 v, _ := st.union.(tree.Exprs) 7297 return v 7298 } 7299 7300 func (st *yySymType) fieldsUnion() *tree.Fields { 7301 v, _ := st.union.(*tree.Fields) 7302 return v 7303 } 7304 7305 func (st *yySymType) fieldsListUnion() []*tree.Fields { 7306 v, _ := st.union.([]*tree.Fields) 7307 return v 7308 } 7309 7310 func (st *yySymType) fillModeUnion() tree.FillMode { 7311 v, _ := st.union.(tree.FillMode) 7312 return v 7313 } 7314 7315 func (st *yySymType) frameBoundUnion() *tree.FrameBound { 7316 v, _ := st.union.(*tree.FrameBound) 7317 return v 7318 } 7319 7320 func (st *yySymType) frameClauseUnion() *tree.FrameClause { 7321 v, _ := st.union.(*tree.FrameClause) 7322 return v 7323 } 7324 7325 func (st *yySymType) frameTypeUnion() tree.FrameType { 7326 v, _ := st.union.(tree.FrameType) 7327 return v 7328 } 7329 7330 func (st *yySymType) fromUnion() *tree.From { 7331 v, _ := st.union.(*tree.From) 7332 return v 7333 } 7334 7335 func (st *yySymType) fullOptUnion() bool { 7336 v, _ := st.union.(bool) 7337 return v 7338 } 7339 7340 func (st *yySymType) funcArgUnion() tree.FunctionArg { 7341 v, _ := st.union.(tree.FunctionArg) 7342 return v 7343 } 7344 7345 func (st *yySymType) funcArgDeclUnion() *tree.FunctionArgDecl { 7346 v, _ := st.union.(*tree.FunctionArgDecl) 7347 return v 7348 } 7349 7350 func (st *yySymType) funcArgsUnion() tree.FunctionArgs { 7351 v, _ := st.union.(tree.FunctionArgs) 7352 return v 7353 } 7354 7355 func (st *yySymType) funcExprUnion() *tree.FuncExpr { 7356 v, _ := st.union.(*tree.FuncExpr) 7357 return v 7358 } 7359 7360 func (st *yySymType) funcReturnUnion() *tree.ReturnType { 7361 v, _ := st.union.(*tree.ReturnType) 7362 return v 7363 } 7364 7365 func (st *yySymType) funcTypeUnion() tree.FuncType { 7366 v, _ := st.union.(tree.FuncType) 7367 return v 7368 } 7369 7370 func (st *yySymType) functionNameUnion() *tree.FunctionName { 7371 v, _ := st.union.(*tree.FunctionName) 7372 return v 7373 } 7374 7375 func (st *yySymType) groupByUnion() tree.GroupBy { 7376 v, _ := st.union.(tree.GroupBy) 7377 return v 7378 } 7379 7380 func (st *yySymType) identifierListUnion() tree.IdentifierList { 7381 v, _ := st.union.(tree.IdentifierList) 7382 return v 7383 } 7384 7385 func (st *yySymType) ifNotExistsUnion() bool { 7386 v, _ := st.union.(bool) 7387 return v 7388 } 7389 7390 func (st *yySymType) incrementByOptionUnion() *tree.IncrementByOption { 7391 v, _ := st.union.(*tree.IncrementByOption) 7392 return v 7393 } 7394 7395 func (st *yySymType) indexCategoryUnion() tree.IndexCategory { 7396 v, _ := st.union.(tree.IndexCategory) 7397 return v 7398 } 7399 7400 func (st *yySymType) indexHintUnion() *tree.IndexHint { 7401 v, _ := st.union.(*tree.IndexHint) 7402 return v 7403 } 7404 7405 func (st *yySymType) indexHintListUnion() []*tree.IndexHint { 7406 v, _ := st.union.([]*tree.IndexHint) 7407 return v 7408 } 7409 7410 func (st *yySymType) indexHintScopeUnion() tree.IndexHintScope { 7411 v, _ := st.union.(tree.IndexHintScope) 7412 return v 7413 } 7414 7415 func (st *yySymType) indexHintTypeUnion() tree.IndexHintType { 7416 v, _ := st.union.(tree.IndexHintType) 7417 return v 7418 } 7419 7420 func (st *yySymType) indexOptionUnion() *tree.IndexOption { 7421 v, _ := st.union.(*tree.IndexOption) 7422 return v 7423 } 7424 7425 func (st *yySymType) indexTypeUnion() tree.IndexType { 7426 v, _ := st.union.(tree.IndexType) 7427 return v 7428 } 7429 7430 func (st *yySymType) indexVisibilityUnion() tree.VisibleType { 7431 v, _ := st.union.(tree.VisibleType) 7432 return v 7433 } 7434 7435 func (st *yySymType) insertUnion() *tree.Insert { 7436 v, _ := st.union.(*tree.Insert) 7437 return v 7438 } 7439 7440 func (st *yySymType) int64ValUnion() int64 { 7441 v, _ := st.union.(int64) 7442 return v 7443 } 7444 7445 func (st *yySymType) isolationLevelUnion() tree.IsolationLevelType { 7446 v, _ := st.union.(tree.IsolationLevelType) 7447 return v 7448 } 7449 7450 func (st *yySymType) joinCondUnion() tree.JoinCond { 7451 v, _ := st.union.(tree.JoinCond) 7452 return v 7453 } 7454 7455 func (st *yySymType) joinTableExprUnion() *tree.JoinTableExpr { 7456 v, _ := st.union.(*tree.JoinTableExpr) 7457 return v 7458 } 7459 7460 func (st *yySymType) keyPartUnion() *tree.KeyPart { 7461 v, _ := st.union.(*tree.KeyPart) 7462 return v 7463 } 7464 7465 func (st *yySymType) keyPartsUnion() []*tree.KeyPart { 7466 v, _ := st.union.([]*tree.KeyPart) 7467 return v 7468 } 7469 7470 func (st *yySymType) killOptionUnion() tree.KillOption { 7471 v, _ := st.union.(tree.KillOption) 7472 return v 7473 } 7474 7475 func (st *yySymType) lengthOptUnion() int32 { 7476 v, _ := st.union.(int32) 7477 return v 7478 } 7479 7480 func (st *yySymType) lengthScaleOptUnion() tree.LengthScaleOpt { 7481 v, _ := st.union.(tree.LengthScaleOpt) 7482 return v 7483 } 7484 7485 func (st *yySymType) limitUnion() *tree.Limit { 7486 v, _ := st.union.(*tree.Limit) 7487 return v 7488 } 7489 7490 func (st *yySymType) linesUnion() *tree.Lines { 7491 v, _ := st.union.(*tree.Lines) 7492 return v 7493 } 7494 7495 func (st *yySymType) loadColumnUnion() tree.LoadColumn { 7496 v, _ := st.union.(tree.LoadColumn) 7497 return v 7498 } 7499 7500 func (st *yySymType) loadColumnsUnion() []tree.LoadColumn { 7501 v, _ := st.union.([]tree.LoadColumn) 7502 return v 7503 } 7504 7505 func (st *yySymType) loadParamUnion() *tree.ExternParam { 7506 v, _ := st.union.(*tree.ExternParam) 7507 return v 7508 } 7509 7510 func (st *yySymType) matchTypeUnion() tree.MatchType { 7511 v, _ := st.union.(tree.MatchType) 7512 return v 7513 } 7514 7515 func (st *yySymType) maxValueOptionUnion() *tree.MaxValueOption { 7516 v, _ := st.union.(*tree.MaxValueOption) 7517 return v 7518 } 7519 7520 func (st *yySymType) minValueOptionUnion() *tree.MinValueOption { 7521 v, _ := st.union.(*tree.MinValueOption) 7522 return v 7523 } 7524 7525 func (st *yySymType) nullsPositionUnion() tree.NullsPosition { 7526 v, _ := st.union.(tree.NullsPosition) 7527 return v 7528 } 7529 7530 func (st *yySymType) numValUnion() *tree.NumVal { 7531 v, _ := st.union.(*tree.NumVal) 7532 return v 7533 } 7534 7535 func (st *yySymType) objectTypeUnion() tree.ObjectType { 7536 v, _ := st.union.(tree.ObjectType) 7537 return v 7538 } 7539 7540 func (st *yySymType) orderUnion() *tree.Order { 7541 v, _ := st.union.(*tree.Order) 7542 return v 7543 } 7544 7545 func (st *yySymType) orderByUnion() tree.OrderBy { 7546 v, _ := st.union.(tree.OrderBy) 7547 return v 7548 } 7549 7550 func (st *yySymType) parenTableExprUnion() *tree.ParenTableExpr { 7551 v, _ := st.union.(*tree.ParenTableExpr) 7552 return v 7553 } 7554 7555 func (st *yySymType) partitionUnion() *tree.Partition { 7556 v, _ := st.union.(*tree.Partition) 7557 return v 7558 } 7559 7560 func (st *yySymType) partitionByUnion() *tree.PartitionBy { 7561 v, _ := st.union.(*tree.PartitionBy) 7562 return v 7563 } 7564 7565 func (st *yySymType) partitionOptionUnion() *tree.PartitionOption { 7566 v, _ := st.union.(*tree.PartitionOption) 7567 return v 7568 } 7569 7570 func (st *yySymType) partitionsUnion() []*tree.Partition { 7571 v, _ := st.union.([]*tree.Partition) 7572 return v 7573 } 7574 7575 func (st *yySymType) privilegeUnion() *tree.Privilege { 7576 v, _ := st.union.(*tree.Privilege) 7577 return v 7578 } 7579 7580 func (st *yySymType) privilegeLevelUnion() *tree.PrivilegeLevel { 7581 v, _ := st.union.(*tree.PrivilegeLevel) 7582 return v 7583 } 7584 7585 func (st *yySymType) privilegeTypeUnion() tree.PrivilegeType { 7586 v, _ := st.union.(tree.PrivilegeType) 7587 return v 7588 } 7589 7590 func (st *yySymType) privilegesUnion() []*tree.Privilege { 7591 v, _ := st.union.([]*tree.Privilege) 7592 return v 7593 } 7594 7595 func (st *yySymType) procArgUnion() tree.ProcedureArg { 7596 v, _ := st.union.(tree.ProcedureArg) 7597 return v 7598 } 7599 7600 func (st *yySymType) procArgDeclUnion() *tree.ProcedureArgDecl { 7601 v, _ := st.union.(*tree.ProcedureArgDecl) 7602 return v 7603 } 7604 7605 func (st *yySymType) procArgTypeUnion() tree.InOutArgType { 7606 v, _ := st.union.(tree.InOutArgType) 7607 return v 7608 } 7609 7610 func (st *yySymType) procArgsUnion() tree.ProcedureArgs { 7611 v, _ := st.union.(tree.ProcedureArgs) 7612 return v 7613 } 7614 7615 func (st *yySymType) procNameUnion() *tree.ProcedureName { 7616 v, _ := st.union.(*tree.ProcedureName) 7617 return v 7618 } 7619 7620 func (st *yySymType) propertiesUnion() []tree.Property { 7621 v, _ := st.union.([]tree.Property) 7622 return v 7623 } 7624 7625 func (st *yySymType) propertyUnion() tree.Property { 7626 v, _ := st.union.(tree.Property) 7627 return v 7628 } 7629 7630 func (st *yySymType) referenceOnRecordUnion() *tree.ReferenceOnRecord { 7631 v, _ := st.union.(*tree.ReferenceOnRecord) 7632 return v 7633 } 7634 7635 func (st *yySymType) referenceOptionTypeUnion() tree.ReferenceOptionType { 7636 v, _ := st.union.(tree.ReferenceOptionType) 7637 return v 7638 } 7639 7640 func (st *yySymType) replaceUnion() *tree.Replace { 7641 v, _ := st.union.(*tree.Replace) 7642 return v 7643 } 7644 7645 func (st *yySymType) resourceOptionUnion() tree.ResourceOption { 7646 v, _ := st.union.(tree.ResourceOption) 7647 return v 7648 } 7649 7650 func (st *yySymType) resourceOptionsUnion() []tree.ResourceOption { 7651 v, _ := st.union.([]tree.ResourceOption) 7652 return v 7653 } 7654 7655 func (st *yySymType) roleUnion() *tree.Role { 7656 v, _ := st.union.(*tree.Role) 7657 return v 7658 } 7659 7660 func (st *yySymType) rolesUnion() []*tree.Role { 7661 v, _ := st.union.([]*tree.Role) 7662 return v 7663 } 7664 7665 func (st *yySymType) rowFormatTypeUnion() tree.RowFormatType { 7666 v, _ := st.union.(tree.RowFormatType) 7667 return v 7668 } 7669 7670 func (st *yySymType) rowsExprsUnion() []tree.Exprs { 7671 v, _ := st.union.([]tree.Exprs) 7672 return v 7673 } 7674 7675 func (st *yySymType) selectUnion() *tree.Select { 7676 v, _ := st.union.(*tree.Select) 7677 return v 7678 } 7679 7680 func (st *yySymType) selectExprUnion() tree.SelectExpr { 7681 v, _ := st.union.(tree.SelectExpr) 7682 return v 7683 } 7684 7685 func (st *yySymType) selectExprsUnion() tree.SelectExprs { 7686 v, _ := st.union.(tree.SelectExprs) 7687 return v 7688 } 7689 7690 func (st *yySymType) selectLockInfoUnion() *tree.SelectLockInfo { 7691 v, _ := st.union.(*tree.SelectLockInfo) 7692 return v 7693 } 7694 7695 func (st *yySymType) selectStatementUnion() tree.SelectStatement { 7696 v, _ := st.union.(tree.SelectStatement) 7697 return v 7698 } 7699 7700 func (st *yySymType) setDefaultRoleUnion() *tree.SetDefaultRole { 7701 v, _ := st.union.(*tree.SetDefaultRole) 7702 return v 7703 } 7704 7705 func (st *yySymType) setRoleUnion() *tree.SetRole { 7706 v, _ := st.union.(*tree.SetRole) 7707 return v 7708 } 7709 7710 func (st *yySymType) showTypeUnion() tree.ShowType { 7711 v, _ := st.union.(tree.ShowType) 7712 return v 7713 } 7714 7715 func (st *yySymType) snapshotObjectUnion() tree.ObjectInfo { 7716 v, _ := st.union.(tree.ObjectInfo) 7717 return v 7718 } 7719 7720 func (st *yySymType) sourceOptionalUnion() bool { 7721 v, _ := st.union.(bool) 7722 return v 7723 } 7724 7725 func (st *yySymType) stageCommentUnion() tree.StageComment { 7726 v, _ := st.union.(tree.StageComment) 7727 return v 7728 } 7729 7730 func (st *yySymType) stageCredentialsUnion() tree.StageCredentials { 7731 v, _ := st.union.(tree.StageCredentials) 7732 return v 7733 } 7734 7735 func (st *yySymType) stageStatusUnion() tree.StageStatus { 7736 v, _ := st.union.(tree.StageStatus) 7737 return v 7738 } 7739 7740 func (st *yySymType) stageUrlUnion() tree.StageUrl { 7741 v, _ := st.union.(tree.StageUrl) 7742 return v 7743 } 7744 7745 func (st *yySymType) startWithOptionUnion() *tree.StartWithOption { 7746 v, _ := st.union.(*tree.StartWithOption) 7747 return v 7748 } 7749 7750 func (st *yySymType) statementUnion() tree.Statement { 7751 v, _ := st.union.(tree.Statement) 7752 return v 7753 } 7754 7755 func (st *yySymType) statementOptionUnion() tree.StatementOption { 7756 v, _ := st.union.(tree.StatementOption) 7757 return v 7758 } 7759 7760 func (st *yySymType) statementsUnion() []tree.Statement { 7761 v, _ := st.union.([]tree.Statement) 7762 return v 7763 } 7764 7765 func (st *yySymType) strsUnion() []string { 7766 v, _ := st.union.([]string) 7767 return v 7768 } 7769 7770 func (st *yySymType) subPartitionUnion() *tree.SubPartition { 7771 v, _ := st.union.(*tree.SubPartition) 7772 return v 7773 } 7774 7775 func (st *yySymType) subPartitionsUnion() []*tree.SubPartition { 7776 v, _ := st.union.([]*tree.SubPartition) 7777 return v 7778 } 7779 7780 func (st *yySymType) subqueryUnion() *tree.Subquery { 7781 v, _ := st.union.(*tree.Subquery) 7782 return v 7783 } 7784 7785 func (st *yySymType) subscriptionOptionUnion() *tree.SubscriptionOption { 7786 v, _ := st.union.(*tree.SubscriptionOption) 7787 return v 7788 } 7789 7790 func (st *yySymType) tableDefUnion() tree.TableDef { 7791 v, _ := st.union.(tree.TableDef) 7792 return v 7793 } 7794 7795 func (st *yySymType) tableDefsUnion() tree.TableDefs { 7796 v, _ := st.union.(tree.TableDefs) 7797 return v 7798 } 7799 7800 func (st *yySymType) tableExprUnion() tree.TableExpr { 7801 v, _ := st.union.(tree.TableExpr) 7802 return v 7803 } 7804 7805 func (st *yySymType) tableExprsUnion() tree.TableExprs { 7806 v, _ := st.union.(tree.TableExprs) 7807 return v 7808 } 7809 7810 func (st *yySymType) tableLockUnion() tree.TableLock { 7811 v, _ := st.union.(tree.TableLock) 7812 return v 7813 } 7814 7815 func (st *yySymType) tableLockTypeUnion() tree.TableLockType { 7816 v, _ := st.union.(tree.TableLockType) 7817 return v 7818 } 7819 7820 func (st *yySymType) tableLocksUnion() []tree.TableLock { 7821 v, _ := st.union.([]tree.TableLock) 7822 return v 7823 } 7824 7825 func (st *yySymType) tableNameUnion() *tree.TableName { 7826 v, _ := st.union.(*tree.TableName) 7827 return v 7828 } 7829 7830 func (st *yySymType) tableNamesUnion() tree.TableNames { 7831 v, _ := st.union.(tree.TableNames) 7832 return v 7833 } 7834 7835 func (st *yySymType) tableOptionUnion() tree.TableOption { 7836 v, _ := st.union.(tree.TableOption) 7837 return v 7838 } 7839 7840 func (st *yySymType) tableOptionsUnion() []tree.TableOption { 7841 v, _ := st.union.([]tree.TableOption) 7842 return v 7843 } 7844 7845 func (st *yySymType) tailParamUnion() *tree.TailParameter { 7846 v, _ := st.union.(*tree.TailParameter) 7847 return v 7848 } 7849 7850 func (st *yySymType) timeFillUnion() *tree.Fill { 7851 v, _ := st.union.(*tree.Fill) 7852 return v 7853 } 7854 7855 func (st *yySymType) timeIntervalUnion() *tree.Interval { 7856 v, _ := st.union.(*tree.Interval) 7857 return v 7858 } 7859 7860 func (st *yySymType) timeSlidingUnion() *tree.Sliding { 7861 v, _ := st.union.(*tree.Sliding) 7862 return v 7863 } 7864 7865 func (st *yySymType) timeWindowUnion() *tree.TimeWindow { 7866 v, _ := st.union.(*tree.TimeWindow) 7867 return v 7868 } 7869 7870 func (st *yySymType) tlsOptionUnion() tree.TlsOption { 7871 v, _ := st.union.(tree.TlsOption) 7872 return v 7873 } 7874 7875 func (st *yySymType) tlsOptionsUnion() []tree.TlsOption { 7876 v, _ := st.union.([]tree.TlsOption) 7877 return v 7878 } 7879 7880 func (st *yySymType) transactionCharacteristicUnion() *tree.TransactionCharacteristic { 7881 v, _ := st.union.(*tree.TransactionCharacteristic) 7882 return v 7883 } 7884 7885 func (st *yySymType) transactionCharacteristicListUnion() []*tree.TransactionCharacteristic { 7886 v, _ := st.union.([]*tree.TransactionCharacteristic) 7887 return v 7888 } 7889 7890 func (st *yySymType) tupleUnion() *tree.Tuple { 7891 v, _ := st.union.(*tree.Tuple) 7892 return v 7893 } 7894 7895 func (st *yySymType) unionTypeRecordUnion() *tree.UnionTypeRecord { 7896 v, _ := st.union.(*tree.UnionTypeRecord) 7897 return v 7898 } 7899 7900 func (st *yySymType) unresolveNamesUnion() []*tree.UnresolvedName { 7901 v, _ := st.union.([]*tree.UnresolvedName) 7902 return v 7903 } 7904 7905 func (st *yySymType) unresolvedNameUnion() *tree.UnresolvedName { 7906 v, _ := st.union.(*tree.UnresolvedName) 7907 return v 7908 } 7909 7910 func (st *yySymType) unresolvedObjectNameUnion() *tree.UnresolvedObjectName { 7911 v, _ := st.union.(*tree.UnresolvedObjectName) 7912 return v 7913 } 7914 7915 func (st *yySymType) unsignedOptUnion() bool { 7916 v, _ := st.union.(bool) 7917 return v 7918 } 7919 7920 func (st *yySymType) updateExprUnion() *tree.UpdateExpr { 7921 v, _ := st.union.(*tree.UpdateExpr) 7922 return v 7923 } 7924 7925 func (st *yySymType) updateExprsUnion() tree.UpdateExprs { 7926 v, _ := st.union.(tree.UpdateExprs) 7927 return v 7928 } 7929 7930 func (st *yySymType) upgrade_targetUnion() *tree.Target { 7931 v, _ := st.union.(*tree.Target) 7932 return v 7933 } 7934 7935 func (st *yySymType) userUnion() *tree.User { 7936 v, _ := st.union.(*tree.User) 7937 return v 7938 } 7939 7940 func (st *yySymType) userIdentifiedUnion() *tree.AccountIdentified { 7941 v, _ := st.union.(*tree.AccountIdentified) 7942 return v 7943 } 7944 7945 func (st *yySymType) userMiscOptionUnion() tree.UserMiscOption { 7946 v, _ := st.union.(tree.UserMiscOption) 7947 return v 7948 } 7949 7950 func (st *yySymType) userMiscOptionsUnion() []tree.UserMiscOption { 7951 v, _ := st.union.([]tree.UserMiscOption) 7952 return v 7953 } 7954 7955 func (st *yySymType) usernameRecordUnion() *tree.UsernameRecord { 7956 v, _ := st.union.(*tree.UsernameRecord) 7957 return v 7958 } 7959 7960 func (st *yySymType) usersUnion() []*tree.User { 7961 v, _ := st.union.([]*tree.User) 7962 return v 7963 } 7964 7965 func (st *yySymType) valuesUnion() tree.Values { 7966 v, _ := st.union.(tree.Values) 7967 return v 7968 } 7969 7970 func (st *yySymType) varAssignmentExprUnion() *tree.VarAssignmentExpr { 7971 v, _ := st.union.(*tree.VarAssignmentExpr) 7972 return v 7973 } 7974 7975 func (st *yySymType) varAssignmentExprsUnion() []*tree.VarAssignmentExpr { 7976 v, _ := st.union.([]*tree.VarAssignmentExpr) 7977 return v 7978 } 7979 7980 func (st *yySymType) varExprUnion() *tree.VarExpr { 7981 v, _ := st.union.(*tree.VarExpr) 7982 return v 7983 } 7984 7985 func (st *yySymType) varExprsUnion() []*tree.VarExpr { 7986 v, _ := st.union.([]*tree.VarExpr) 7987 return v 7988 } 7989 7990 func (st *yySymType) whenClauseUnion() *tree.When { 7991 v, _ := st.union.(*tree.When) 7992 return v 7993 } 7994 7995 func (st *yySymType) whenClause2Union() *tree.WhenStmt { 7996 v, _ := st.union.(*tree.WhenStmt) 7997 return v 7998 } 7999 8000 func (st *yySymType) whenClauseListUnion() []*tree.When { 8001 v, _ := st.union.([]*tree.When) 8002 return v 8003 } 8004 8005 func (st *yySymType) whenClauseList2Union() []*tree.WhenStmt { 8006 v, _ := st.union.([]*tree.WhenStmt) 8007 return v 8008 } 8009 8010 func (st *yySymType) whereUnion() *tree.Where { 8011 v, _ := st.union.(*tree.Where) 8012 return v 8013 } 8014 8015 func (st *yySymType) windowSpecUnion() *tree.WindowSpec { 8016 v, _ := st.union.(*tree.WindowSpec) 8017 return v 8018 } 8019 8020 func (st *yySymType) withClauseUnion() *tree.With { 8021 v, _ := st.union.(*tree.With) 8022 return v 8023 } 8024 8025 func (st *yySymType) zeroFillOptUnion() bool { 8026 v, _ := st.union.(bool) 8027 return v 8028 } 8029 8030 var yyR1 = [...]int{ 8031 0, 576, 579, 579, 5, 5, 2, 6, 6, 3, 8032 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8033 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 8034 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8035 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8036 4, 4, 4, 4, 4, 119, 119, 314, 314, 315, 8037 315, 149, 555, 555, 120, 120, 120, 120, 120, 120, 8038 120, 118, 561, 561, 561, 562, 562, 115, 138, 137, 8039 140, 140, 139, 139, 136, 136, 132, 135, 135, 134, 8040 134, 133, 128, 130, 130, 129, 131, 131, 116, 104, 8041 117, 504, 504, 503, 503, 502, 502, 454, 454, 455, 8042 455, 501, 501, 501, 500, 500, 500, 499, 499, 498, 8043 498, 497, 497, 495, 495, 496, 494, 493, 493, 493, 8044 491, 491, 491, 487, 487, 489, 488, 488, 490, 482, 8045 482, 485, 485, 483, 483, 483, 483, 486, 481, 481, 8046 481, 480, 480, 103, 103, 103, 397, 397, 102, 102, 8047 411, 411, 411, 411, 411, 409, 409, 409, 409, 409, 8048 409, 408, 408, 407, 407, 412, 412, 410, 410, 410, 8049 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 8050 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 8051 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 8052 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 8053 410, 410, 410, 410, 410, 410, 410, 410, 93, 93, 8054 93, 93, 93, 98, 98, 98, 567, 567, 566, 566, 8055 568, 568, 568, 568, 569, 569, 96, 96, 96, 97, 8056 406, 406, 406, 94, 95, 95, 396, 396, 401, 401, 8057 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 8058 400, 400, 400, 405, 405, 405, 403, 403, 402, 402, 8059 404, 404, 87, 87, 87, 90, 89, 395, 395, 395, 8060 395, 395, 395, 395, 395, 395, 88, 88, 88, 88, 8061 88, 88, 83, 83, 83, 83, 83, 82, 82, 84, 8062 84, 393, 393, 392, 99, 99, 100, 564, 564, 563, 8063 565, 565, 565, 565, 101, 107, 107, 107, 107, 107, 8064 107, 107, 107, 106, 106, 109, 109, 108, 110, 92, 8065 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 8066 91, 91, 91, 91, 91, 91, 91, 91, 529, 529, 8067 529, 531, 531, 327, 328, 580, 330, 326, 326, 326, 8068 525, 525, 526, 527, 528, 528, 528, 105, 14, 195, 8069 195, 429, 429, 11, 11, 11, 11, 11, 11, 11, 8070 11, 13, 81, 86, 86, 266, 266, 271, 271, 272, 8071 272, 272, 277, 277, 278, 278, 267, 267, 267, 267, 8072 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 8073 267, 267, 267, 267, 267, 267, 267, 267, 253, 253, 8074 253, 248, 248, 248, 248, 249, 249, 250, 250, 251, 8075 251, 251, 251, 252, 252, 320, 320, 273, 273, 273, 8076 275, 275, 274, 270, 268, 268, 268, 268, 268, 268, 8077 268, 269, 269, 269, 269, 276, 276, 79, 85, 85, 8078 85, 543, 543, 80, 554, 554, 458, 458, 342, 342, 8079 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 8080 341, 341, 341, 341, 341, 341, 463, 464, 337, 47, 8081 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 8082 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 8083 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 8084 47, 54, 57, 58, 53, 53, 53, 382, 382, 52, 8085 581, 581, 313, 313, 67, 66, 56, 68, 69, 70, 8086 71, 72, 73, 51, 65, 65, 65, 65, 65, 65, 8087 65, 65, 76, 476, 476, 583, 583, 583, 74, 75, 8088 457, 457, 457, 64, 63, 62, 61, 60, 60, 50, 8089 50, 49, 49, 55, 144, 59, 145, 145, 334, 334, 8090 334, 336, 336, 332, 340, 340, 582, 582, 425, 425, 8091 335, 335, 48, 48, 48, 48, 77, 333, 333, 312, 8092 331, 331, 331, 12, 12, 10, 17, 17, 17, 17, 8093 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 8094 17, 26, 27, 29, 390, 390, 387, 28, 20, 19, 8095 19, 23, 22, 18, 18, 21, 24, 25, 25, 9, 8096 9, 9, 9, 15, 15, 16, 168, 168, 221, 221, 8097 537, 537, 533, 533, 534, 534, 534, 535, 535, 536, 8098 536, 111, 470, 470, 470, 470, 470, 470, 8, 8, 8099 190, 190, 469, 469, 469, 469, 469, 469, 394, 394, 8100 394, 514, 514, 514, 515, 189, 189, 184, 184, 471, 8101 471, 359, 516, 516, 479, 479, 478, 478, 477, 477, 8102 187, 187, 188, 188, 171, 171, 123, 123, 484, 484, 8103 484, 484, 492, 492, 453, 453, 258, 258, 305, 305, 8104 306, 306, 161, 161, 162, 162, 162, 162, 162, 162, 8105 570, 570, 571, 572, 573, 573, 574, 574, 574, 575, 8106 575, 575, 575, 575, 522, 522, 524, 524, 523, 186, 8107 186, 182, 182, 183, 183, 183, 181, 181, 180, 179, 8108 179, 178, 176, 176, 176, 177, 177, 177, 194, 194, 8109 164, 164, 164, 163, 163, 163, 163, 163, 289, 289, 8110 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 8111 165, 165, 530, 530, 530, 459, 459, 459, 466, 466, 8112 286, 286, 287, 287, 285, 285, 166, 166, 167, 167, 8113 167, 167, 284, 284, 283, 169, 169, 175, 174, 174, 8114 170, 170, 170, 170, 294, 294, 293, 293, 293, 293, 8115 114, 121, 121, 122, 193, 193, 292, 291, 291, 291, 8116 192, 192, 191, 191, 185, 185, 173, 173, 173, 173, 8117 290, 172, 288, 560, 560, 559, 559, 558, 556, 556, 8118 556, 557, 557, 557, 557, 506, 506, 506, 506, 506, 8119 321, 321, 321, 325, 325, 324, 324, 324, 324, 324, 8120 329, 7, 7, 7, 7, 7, 7, 7, 33, 33, 8121 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 8122 33, 39, 204, 205, 40, 206, 206, 207, 207, 208, 8123 208, 209, 210, 211, 211, 211, 211, 38, 196, 196, 8124 197, 197, 198, 198, 199, 200, 200, 200, 203, 201, 8125 202, 202, 578, 578, 577, 37, 37, 30, 153, 153, 8126 154, 154, 154, 156, 156, 254, 254, 254, 155, 155, 8127 157, 157, 157, 538, 540, 540, 542, 541, 541, 541, 8128 544, 544, 544, 544, 544, 545, 545, 545, 545, 546, 8129 546, 31, 141, 141, 146, 549, 549, 549, 548, 548, 8130 550, 550, 551, 551, 309, 309, 310, 310, 151, 152, 8131 152, 148, 143, 159, 159, 159, 159, 159, 160, 160, 8132 142, 147, 150, 539, 547, 547, 547, 391, 391, 388, 8133 389, 389, 386, 385, 385, 385, 553, 553, 552, 552, 8134 552, 322, 322, 32, 381, 381, 383, 384, 384, 384, 8135 375, 375, 375, 375, 36, 379, 379, 380, 380, 380, 8136 380, 380, 380, 380, 376, 376, 378, 378, 374, 374, 8137 374, 374, 374, 374, 374, 35, 158, 158, 373, 373, 8138 370, 370, 368, 368, 369, 369, 367, 367, 367, 371, 8139 371, 43, 78, 44, 45, 46, 42, 372, 372, 34, 8140 34, 34, 34, 34, 34, 34, 34, 34, 34, 125, 8141 124, 124, 124, 124, 124, 127, 127, 308, 308, 307, 8142 307, 126, 255, 255, 41, 233, 233, 445, 445, 440, 8143 440, 440, 440, 440, 461, 461, 461, 441, 441, 441, 8144 442, 442, 442, 444, 444, 444, 443, 443, 443, 443, 8145 443, 460, 460, 462, 462, 462, 413, 413, 414, 414, 8146 414, 417, 417, 432, 432, 433, 433, 431, 431, 438, 8147 438, 437, 437, 436, 436, 435, 435, 434, 434, 434, 8148 434, 428, 428, 427, 427, 415, 415, 415, 415, 415, 8149 416, 416, 416, 426, 426, 430, 430, 282, 282, 281, 8150 281, 241, 241, 242, 242, 280, 280, 239, 239, 240, 8151 240, 240, 279, 279, 279, 279, 279, 279, 279, 279, 8152 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 8153 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 8154 279, 279, 279, 279, 279, 279, 279, 512, 512, 513, 8155 244, 244, 256, 256, 256, 256, 256, 256, 243, 243, 8156 245, 245, 222, 222, 220, 220, 212, 212, 212, 212, 8157 212, 213, 213, 214, 214, 215, 215, 215, 219, 219, 8158 218, 218, 218, 218, 216, 216, 217, 217, 217, 217, 8159 217, 217, 399, 399, 509, 509, 510, 510, 505, 505, 8160 505, 508, 508, 508, 508, 508, 508, 508, 511, 511, 8161 511, 507, 507, 223, 303, 303, 303, 323, 323, 323, 8162 323, 302, 302, 302, 238, 238, 237, 237, 235, 235, 8163 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 8164 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 8165 398, 398, 338, 338, 339, 339, 265, 264, 264, 264, 8166 264, 264, 262, 263, 261, 261, 261, 261, 261, 260, 8167 260, 259, 259, 259, 377, 377, 257, 257, 247, 247, 8168 247, 246, 246, 246, 439, 346, 346, 346, 346, 346, 8169 346, 346, 346, 346, 346, 346, 346, 346, 348, 348, 8170 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 8171 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 8172 348, 348, 348, 348, 300, 300, 300, 301, 301, 301, 8173 301, 301, 301, 301, 301, 349, 349, 355, 355, 521, 8174 521, 520, 224, 224, 224, 225, 225, 225, 225, 225, 8175 225, 225, 225, 225, 234, 234, 234, 422, 422, 422, 8176 422, 423, 423, 423, 423, 424, 424, 424, 420, 420, 8177 421, 421, 360, 361, 361, 467, 467, 468, 468, 418, 8178 418, 419, 299, 299, 299, 299, 299, 299, 299, 299, 8179 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 8180 299, 299, 299, 299, 475, 475, 475, 296, 296, 296, 8181 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 8182 296, 296, 296, 532, 532, 532, 517, 517, 517, 518, 8183 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 8184 518, 519, 519, 519, 519, 519, 519, 519, 519, 519, 8185 519, 519, 519, 519, 519, 519, 519, 519, 298, 298, 8186 298, 297, 297, 297, 297, 297, 297, 297, 297, 297, 8187 297, 297, 297, 297, 297, 297, 297, 297, 297, 362, 8188 362, 363, 363, 472, 472, 472, 472, 472, 472, 473, 8189 473, 474, 474, 474, 474, 465, 465, 465, 465, 465, 8190 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 8191 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 8192 465, 465, 465, 465, 347, 295, 295, 295, 364, 356, 8193 356, 357, 357, 358, 358, 350, 350, 350, 350, 350, 8194 350, 351, 351, 353, 353, 353, 353, 353, 353, 353, 8195 353, 353, 353, 353, 345, 345, 345, 345, 345, 345, 8196 345, 345, 345, 345, 345, 352, 352, 354, 354, 366, 8197 366, 366, 365, 365, 365, 365, 365, 365, 365, 236, 8198 236, 236, 236, 344, 344, 344, 343, 343, 343, 343, 8199 343, 343, 343, 343, 343, 343, 343, 343, 226, 226, 8200 226, 226, 230, 230, 232, 232, 232, 232, 232, 232, 8201 232, 232, 232, 232, 232, 232, 232, 232, 231, 231, 8202 231, 231, 231, 229, 229, 229, 229, 229, 227, 227, 8203 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 8204 227, 227, 227, 227, 227, 227, 112, 113, 113, 228, 8205 304, 304, 446, 446, 449, 449, 447, 447, 448, 450, 8206 450, 450, 451, 451, 451, 452, 452, 452, 456, 456, 8207 311, 311, 311, 319, 319, 318, 318, 318, 318, 318, 8208 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8209 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8210 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8211 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8212 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8213 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8214 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8215 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8216 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8217 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8218 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8219 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8220 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8221 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8222 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8223 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8224 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8225 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8226 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8227 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8228 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8229 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8230 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8231 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8232 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8233 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8234 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8235 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8236 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8237 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8238 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8239 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8240 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 8241 318, 318, 318, 318, 318, 318, 318, 318, 318, 317, 8242 317, 317, 317, 317, 317, 317, 317, 317, 317, 316, 8243 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 8244 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 8245 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 8246 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 8247 316, 316, 316, 316, 316, 316, 316, 316, 316, 8248 } 8249 8250 var yyR2 = [...]int{ 8251 0, 1, 1, 1, 1, 3, 3, 1, 3, 1, 8252 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 8253 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 8254 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8255 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8256 1, 1, 1, 1, 1, 8, 8, 0, 2, 0, 8257 2, 6, 1, 2, 5, 6, 8, 10, 9, 11, 8258 13, 4, 0, 1, 1, 0, 1, 5, 2, 2, 8259 6, 9, 6, 9, 4, 7, 8, 0, 1, 1, 8260 2, 4, 6, 1, 2, 4, 0, 2, 10, 11, 8261 2, 0, 2, 1, 3, 3, 3, 0, 2, 0, 8262 2, 1, 3, 5, 0, 2, 3, 1, 3, 1, 8263 1, 1, 3, 1, 1, 1, 1, 0, 3, 3, 8264 0, 3, 3, 0, 1, 3, 0, 1, 3, 0, 8265 2, 1, 2, 3, 4, 3, 3, 1, 0, 1, 8266 1, 0, 1, 8, 5, 7, 0, 3, 8, 5, 8267 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 8268 1, 1, 3, 1, 4, 1, 3, 1, 2, 2, 8269 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 8270 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 8271 2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 8272 1, 2, 2, 1, 1, 1, 3, 2, 2, 2, 8273 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 8274 1, 1, 1, 3, 4, 4, 1, 3, 3, 1, 8275 2, 2, 2, 1, 2, 2, 3, 4, 4, 6, 8276 1, 1, 1, 2, 4, 6, 1, 4, 1, 3, 8277 3, 4, 4, 4, 4, 3, 3, 2, 4, 4, 8278 2, 2, 2, 1, 1, 1, 1, 1, 1, 3, 8279 1, 3, 1, 1, 1, 2, 2, 0, 1, 4, 8280 2, 4, 1, 5, 3, 2, 1, 2, 2, 4, 8281 4, 5, 2, 1, 3, 4, 4, 1, 2, 9, 8282 7, 1, 3, 3, 1, 1, 3, 1, 3, 2, 8283 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 8284 1, 1, 1, 4, 4, 2, 4, 3, 3, 1, 8285 1, 1, 1, 1, 1, 2, 3, 4, 7, 2, 8286 3, 3, 4, 5, 3, 4, 4, 5, 1, 1, 8287 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8288 1, 3, 2, 1, 1, 1, 1, 6, 4, 1, 8289 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 8290 1, 10, 7, 4, 4, 1, 3, 1, 6, 3, 8291 3, 3, 1, 1, 1, 3, 2, 4, 5, 5, 8292 6, 5, 5, 3, 2, 2, 1, 3, 4, 3, 8293 7, 5, 8, 2, 2, 1, 3, 2, 0, 1, 8294 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8295 1, 1, 1, 1, 1, 0, 1, 0, 1, 2, 8296 1, 3, 2, 1, 2, 2, 1, 2, 3, 2, 8297 2, 3, 6, 3, 3, 1, 1, 7, 7, 8, 8298 8, 0, 4, 7, 0, 3, 0, 2, 0, 1, 8299 1, 1, 1, 4, 2, 2, 3, 3, 4, 5, 8300 3, 4, 4, 2, 2, 2, 3, 0, 1, 1, 8301 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8302 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8303 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8304 1, 4, 3, 3, 2, 5, 5, 0, 2, 7, 8305 0, 1, 0, 1, 5, 5, 3, 3, 2, 4, 8306 4, 4, 4, 4, 1, 1, 1, 3, 3, 1, 8307 1, 1, 6, 0, 1, 1, 1, 1, 5, 5, 8308 0, 1, 1, 3, 3, 3, 4, 7, 7, 5, 8309 4, 7, 8, 3, 3, 2, 3, 4, 0, 2, 8310 2, 0, 2, 2, 0, 5, 1, 1, 1, 1, 8311 0, 1, 5, 5, 5, 4, 3, 1, 3, 1, 8312 1, 3, 5, 2, 3, 1, 1, 1, 1, 1, 8313 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8314 1, 4, 4, 4, 1, 3, 1, 4, 6, 6, 8315 4, 4, 4, 4, 4, 3, 6, 3, 5, 1, 8316 1, 2, 2, 11, 8, 9, 1, 3, 2, 4, 8317 0, 2, 0, 1, 1, 1, 1, 0, 1, 0, 8318 1, 4, 2, 1, 5, 4, 4, 2, 5, 5, 8319 1, 3, 2, 1, 5, 4, 4, 2, 0, 5, 8320 4, 0, 1, 3, 3, 1, 3, 1, 3, 1, 8321 3, 4, 0, 1, 0, 1, 1, 3, 1, 1, 8322 0, 4, 1, 3, 2, 1, 0, 8, 0, 4, 8323 7, 4, 0, 2, 0, 2, 0, 2, 0, 4, 8324 1, 3, 1, 1, 6, 4, 5, 7, 4, 5, 8325 0, 1, 3, 8, 0, 6, 0, 4, 6, 1, 8326 1, 1, 1, 1, 2, 3, 1, 3, 6, 0, 8327 3, 0, 1, 2, 4, 4, 0, 1, 3, 1, 8328 3, 3, 0, 1, 1, 0, 2, 2, 0, 2, 8329 3, 3, 3, 1, 3, 3, 3, 3, 1, 2, 8330 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 8331 7, 7, 1, 1, 1, 0, 1, 1, 1, 1, 8332 0, 2, 0, 3, 0, 2, 1, 3, 1, 2, 8333 3, 5, 0, 1, 2, 1, 3, 1, 1, 1, 8334 4, 4, 4, 3, 2, 2, 2, 3, 2, 3, 8335 4, 1, 3, 4, 0, 2, 1, 1, 2, 2, 8336 0, 1, 2, 4, 1, 3, 1, 3, 2, 3, 8337 1, 4, 3, 0, 1, 1, 2, 5, 2, 2, 8338 2, 0, 2, 3, 3, 0, 1, 3, 1, 3, 8339 0, 1, 2, 1, 1, 0, 1, 2, 1, 2, 8340 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8341 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8342 1, 7, 1, 1, 7, 1, 3, 0, 1, 1, 8343 3, 1, 3, 0, 1, 1, 1, 14, 1, 3, 8344 0, 1, 1, 3, 1, 1, 2, 4, 1, 1, 8345 1, 1, 0, 1, 2, 9, 9, 7, 1, 2, 8346 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, 8347 0, 1, 1, 1, 1, 1, 4, 1, 1, 1, 8348 3, 3, 4, 3, 3, 0, 1, 1, 1, 0, 8349 2, 7, 8, 8, 8, 0, 3, 3, 0, 3, 8350 0, 3, 0, 5, 1, 3, 0, 3, 3, 0, 8351 2, 9, 7, 0, 2, 2, 3, 3, 0, 2, 8352 4, 4, 4, 1, 0, 2, 2, 1, 3, 2, 8353 1, 3, 2, 1, 3, 2, 0, 1, 3, 4, 8354 3, 1, 1, 4, 1, 3, 1, 1, 1, 1, 8355 0, 1, 1, 1, 11, 0, 2, 3, 3, 2, 8356 2, 3, 1, 1, 1, 3, 3, 4, 0, 2, 8357 2, 2, 2, 2, 2, 6, 0, 4, 1, 1, 8358 0, 3, 0, 1, 1, 2, 4, 4, 4, 0, 8359 1, 8, 2, 4, 4, 4, 9, 0, 2, 11, 8360 9, 11, 8, 6, 9, 7, 10, 7, 6, 2, 8361 2, 9, 4, 5, 3, 0, 4, 1, 3, 0, 8362 3, 6, 0, 2, 10, 0, 2, 0, 2, 0, 8363 3, 2, 4, 3, 0, 2, 1, 0, 2, 3, 8364 0, 2, 3, 0, 2, 1, 0, 3, 2, 4, 8365 3, 0, 1, 0, 1, 1, 0, 6, 0, 3, 8366 5, 0, 4, 0, 3, 1, 3, 4, 5, 0, 8367 3, 1, 3, 2, 3, 1, 2, 0, 4, 6, 8368 5, 0, 2, 0, 2, 4, 5, 4, 5, 1, 8369 5, 6, 5, 0, 3, 0, 1, 1, 3, 3, 8370 3, 0, 4, 1, 3, 3, 3, 0, 1, 1, 8371 3, 2, 3, 3, 3, 4, 4, 3, 3, 3, 8372 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 8373 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 8374 3, 3, 3, 3, 1, 5, 4, 1, 3, 3, 8375 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 8376 1, 1, 1, 3, 2, 4, 0, 2, 5, 5, 8377 5, 0, 1, 1, 3, 1, 1, 1, 1, 1, 8378 7, 9, 7, 9, 2, 1, 7, 9, 7, 9, 8379 8, 5, 0, 1, 0, 1, 1, 1, 1, 3, 8380 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8381 1, 0, 1, 3, 1, 3, 5, 1, 1, 1, 8382 1, 1, 3, 5, 0, 1, 1, 2, 1, 2, 8383 2, 1, 1, 2, 2, 2, 3, 3, 2, 2, 8384 1, 5, 6, 4, 1, 1, 1, 5, 4, 1, 8385 1, 2, 0, 1, 1, 2, 5, 0, 1, 1, 8386 2, 2, 3, 3, 1, 1, 2, 2, 2, 0, 8387 1, 2, 2, 2, 0, 3, 0, 3, 1, 1, 8388 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 8389 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 8390 1, 3, 5, 2, 2, 2, 2, 4, 1, 1, 8391 2, 5, 6, 8, 6, 6, 6, 1, 1, 1, 8392 1, 1, 1, 3, 4, 4, 4, 7, 9, 7, 8393 7, 7, 9, 7, 7, 0, 2, 0, 1, 1, 8394 2, 4, 1, 2, 2, 1, 2, 2, 1, 2, 8395 2, 2, 2, 2, 0, 1, 1, 1, 2, 2, 8396 2, 2, 2, 2, 2, 1, 1, 1, 2, 5, 8397 0, 1, 3, 0, 1, 0, 2, 0, 2, 0, 8398 1, 6, 8, 8, 6, 6, 5, 5, 5, 6, 8399 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 8400 6, 6, 6, 6, 1, 1, 1, 4, 4, 6, 8401 8, 6, 4, 5, 4, 4, 4, 3, 4, 6, 8402 6, 7, 4, 1, 1, 1, 1, 1, 1, 1, 8403 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8405 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 8406 8, 4, 2, 3, 2, 4, 2, 2, 4, 6, 8407 2, 2, 4, 6, 4, 2, 4, 4, 4, 0, 8408 1, 2, 3, 1, 1, 1, 1, 1, 1, 0, 8409 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8410 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8412 1, 1, 1, 1, 3, 0, 1, 1, 3, 0, 8413 1, 1, 3, 1, 3, 3, 3, 3, 3, 2, 8414 1, 1, 1, 3, 4, 3, 4, 3, 4, 3, 8415 4, 3, 4, 1, 3, 4, 4, 5, 4, 5, 8416 3, 4, 5, 6, 1, 0, 2, 1, 1, 1, 8417 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 8418 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8419 1, 1, 1, 2, 1, 1, 1, 2, 3, 1, 8420 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 8421 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 8422 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 8423 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 8424 1, 2, 2, 4, 4, 1, 2, 3, 5, 1, 8425 1, 3, 0, 1, 0, 3, 0, 3, 3, 0, 8426 3, 5, 0, 3, 5, 0, 1, 1, 0, 1, 8427 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, 8428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8449 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8450 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8451 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8463 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8467 1, 1, 1, 1, 1, 1, 1, 1, 1, 8468 } 8469 8470 var yyChk = [...]int{ 8471 -1000, -576, -579, -2, -5, 621, -1, -4, -113, -87, 8472 -7, -14, -115, -116, -8, -111, -9, -10, -12, -91, 8473 -106, -108, -110, -109, -47, -11, -105, -82, -83, -93, 8474 -99, -102, -103, -104, -117, -112, -114, -161, -118, -119, 8475 -120, 611, -88, -89, -90, -33, -32, -31, -30, -141, 8476 -146, -149, 544, 617, 447, 14, 496, -15, -16, -522, 8477 -17, 259, -326, -327, -328, -330, -580, -48, -49, -50, 8478 -60, -61, -62, -63, -64, -74, -75, -76, -51, -52, 8479 -53, -56, -54, -67, -66, -68, -69, -70, -71, -72, 8480 -73, -55, -59, -144, -145, -77, -57, -78, -58, -80, 8481 -79, -85, -81, -86, -143, -148, -13, 234, -84, 76, 8482 -94, -95, -96, -97, -98, -100, -101, 371, 377, 434, 8483 610, 61, -162, -164, 628, 629, 632, 159, 160, 162, 8484 163, -34, -35, -36, -37, -38, -39, -41, -40, -42, 8485 -43, -44, -45, -46, 230, 16, 539, -18, -21, -19, 8486 -22, -20, -28, -29, -27, -24, -26, -142, -25, -147, 8487 -23, -150, 254, 253, 38, 320, 321, 322, 375, 252, 8488 231, 15, 31, 42, 351, -163, 82, 531, 532, 534, 8489 232, -165, 13, 634, -6, -3, -2, -128, -132, -136, 8490 -139, -140, -137, -138, -4, -113, 117, 244, 612, -323, 8491 367, 613, 615, 614, 85, 93, -316, -318, 447, 259, 8492 371, 377, 610, 629, 632, 546, 547, 548, 549, 550, 8493 551, 552, 553, 555, 556, 557, 558, 559, 560, 561, 8494 571, 572, 562, 563, 564, 565, 566, 567, 568, 569, 8495 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 8496 583, 584, 585, 586, 499, 596, 597, 598, 599, 527, 8497 554, 590, 591, 592, 593, 349, 350, 536, 271, 295, 8498 402, 301, 308, 159, 178, 172, 200, 192, 532, 167, 8499 275, 313, 276, 92, 162, 482, 107, 459, 431, 165, 8500 290, 292, 294, 528, 529, 361, 297, 526, 296, 298, 8501 300, 530, 277, 352, 188, 183, 289, 273, 181, 278, 8502 40, 279, 205, 280, 281, 541, 455, 348, 461, 305, 8503 52, 429, 182, 456, 293, 458, 209, 213, 473, 474, 8504 176, 177, 463, 476, 204, 207, 208, 251, 345, 346, 8505 43, 538, 263, 477, 211, 203, 199, 485, 309, 307, 8506 202, 175, 198, 274, 65, 215, 214, 216, 425, 426, 8507 427, 428, 282, 283, 365, 472, 195, 184, 353, 168, 8508 23, 480, 258, 460, 378, 284, 302, 310, 210, 212, 8509 265, 270, 540, 531, 433, 269, 306, 478, 180, 262, 8510 291, 257, 481, 169, 534, 380, 285, 163, 299, 475, 8511 484, 64, 393, 174, 166, 248, 160, 267, 272, 286, 8512 287, 288, 525, 312, 311, 303, 533, 196, 264, 201, 8513 186, 173, 197, 161, 266, 483, 394, 608, 351, 412, 8514 194, 191, 268, 241, 479, 462, 164, 416, 395, 189, 8515 314, 603, 604, 605, 366, 344, 315, 316, 187, 255, 8516 453, 454, 319, 422, 335, 396, 432, 403, 397, 222, 8517 223, 323, 465, 467, 206, 606, 324, 325, 326, 457, 8518 327, 328, 329, 330, 370, 56, 58, 94, 97, 96, 8519 630, 631, 63, 29, 356, 359, 391, 398, 337, 609, 8520 537, 334, 338, 339, 360, 25, 414, 382, 418, 417, 8521 48, 49, 50, 53, 54, 55, 57, 59, 60, 51, 8522 524, 375, 388, 486, 45, 47, 385, 27, 362, 413, 8523 435, 333, 415, 446, 46, 444, 445, 466, 26, 364, 8524 363, 62, 44, 421, 423, 424, 317, 331, 373, 618, 8525 487, 368, 384, 387, 369, 336, 358, 389, 67, 66, 8526 381, 619, 376, 374, 332, 542, 543, 340, 570, 354, 8527 430, 521, 520, 519, 518, 517, 516, 515, 514, 320, 8528 321, 322, 399, 400, 401, 411, 404, 405, 406, 407, 8529 408, 409, 410, 449, 450, 620, 468, 470, 471, 469, 8530 236, 633, 355, 239, 622, 623, 95, 624, 626, 625, 8531 28, 627, -404, -402, -323, 532, 610, 377, 531, 534, 8532 371, 351, 629, 632, 375, 259, 320, 321, 322, 447, 8533 349, -206, -323, 633, -171, 243, 39, -220, -323, -171, 8534 -84, -16, -15, -163, -164, -220, 238, -331, 24, 429, 8535 -92, 430, 234, 82, 77, -323, -9, -104, -8, -111, 8536 -82, -161, 434, -329, -323, 320, 320, -329, 238, -323, 8537 269, 410, -458, 244, -408, -381, 270, -407, -383, -410, 8538 -384, 32, 230, 232, 231, 544, 266, 16, 375, 240, 8539 14, 13, 376, 252, 25, 26, 28, 15, 377, 379, 8540 29, 380, 383, 384, 385, 42, 388, 389, 259, 85, 8541 93, 88, 277, -205, -323, -358, -350, 114, -353, -345, 8542 -346, -348, -501, -495, -343, 82, 141, 142, 149, 115, 8543 635, -347, -439, 36, 117, 550, 554, 590, 497, -296, 8544 -297, -298, -299, -300, -301, -323, -496, -494, 88, 98, 8545 100, 104, 105, 103, 101, 153, 185, 102, 89, 154, 8546 -164, 85, -517, 560, -317, 583, 596, 597, 598, 599, 8547 582, 61, -465, -474, 237, -472, 152, 190, 255, 186, 8548 14, 147, 422, 187, 591, 592, 593, 557, 579, 499, 8549 561, 571, 586, 552, 553, 555, 547, 548, 549, 551, 8550 562, 564, 578, -475, 574, 584, 585, 570, 594, 595, 8551 587, 588, 589, 626, 87, 86, 577, 576, 563, 558, 8552 559, 565, 546, 556, 566, 567, 575, 580, 581, 359, 8553 107, 360, 361, 489, 352, 362, 244, 429, 70, 363, 8554 364, 365, 366, 367, 496, 368, 71, 369, 358, 259, 8555 412, 370, 189, 206, 501, 500, 502, 493, 490, 488, 8556 491, 492, 494, 495, 568, 569, 573, -121, -122, 601, 8557 -570, -289, -571, 6, 7, 8, 9, -572, 154, -561, 8558 431, 540, 88, 313, 349, 164, 161, -395, 164, 113, 8559 169, 168, -395, 166, 323, 265, -372, -153, 349, 412, 8560 327, 94, 269, -375, -373, 528, -460, 317, 313, 289, 8561 239, 110, -154, 249, 248, 108, 489, 237, 386, 308, 8562 56, 58, -533, -534, 227, 228, 229, -524, 522, -523, 8563 -323, 361, 96, 97, 27, 238, 372, 265, 467, 465, 8564 466, 468, 469, 470, 471, -65, -476, -457, 462, 461, 8565 -335, 454, 460, 452, 464, 455, 350, 329, 544, 328, 8566 230, 622, 529, 523, -311, 396, 432, 486, 487, 373, 8567 433, 473, 475, 456, 107, 193, 190, 239, 241, 238, 8568 349, 489, 412, 94, 327, -533, 161, 473, 475, 269, 8569 410, 41, -401, 422, -400, -402, 474, 485, 86, 87, 8570 472, -311, 107, 453, 453, -570, -289, -162, -164, -114, 8571 -522, 530, 530, 530, 239, 349, 412, 269, 240, 238, 8572 525, 528, 241, 489, 237, 320, 372, 265, 327, 94, 8573 166, -459, -530, 32, -466, 224, 225, 226, 33, 34, 8574 -1, 121, 634, -350, -350, -6, 637, -6, -350, -323, 8575 -323, 156, -226, -230, -227, -229, -228, -232, -231, 190, 8576 191, 152, 194, 196, 197, 198, 199, 200, 201, 202, 8577 203, 204, 207, 208, 205, 31, 206, 255, 186, 187, 8578 188, 189, 209, 172, 192, 537, 217, 173, 218, 174, 8579 219, 175, 220, 176, 177, 221, 178, 181, 182, 183, 8580 184, 180, 155, -195, 88, 32, 82, 155, 88, -187, 8581 261, -171, -220, -212, 155, 635, -187, -570, -180, -181, 8582 11, -220, -302, -323, 431, 124, -92, 77, -92, 430, 8583 77, -525, -526, -527, -529, 234, 430, 429, -109, 155, 8584 277, 17, -329, -329, 80, -220, -383, 269, -408, -381, 8585 36, 79, 156, 242, 156, 79, 82, 373, 349, 412, 8586 374, 489, 238, 386, 241, 269, 387, 349, 412, 238, 8587 241, 489, 269, 349, 238, 241, 412, 269, 387, 349, 8588 452, 453, 241, 27, 378, 381, 382, 453, -480, 485, 8589 156, 113, 110, 111, 112, -350, 131, -365, 124, 125, 8590 126, 127, 128, 129, 130, 138, 137, 148, 141, 142, 8591 143, 144, 145, 146, 147, 139, 140, 134, 114, 132, 8592 136, 133, 116, 151, -164, -350, -358, 61, -348, -348, 8593 -348, -348, -323, -439, -355, -350, 82, 82, 82, 82, 8594 155, 101, 88, -350, 82, 82, 82, 82, 82, 82, 8595 82, 82, 82, 82, 82, 82, -473, 82, 82, -362, 8596 -363, 82, 82, -343, -302, 82, 88, 88, 82, 82, 8597 82, 88, 82, 82, 82, -363, -363, 82, 82, 82, 8598 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 8599 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 8600 82, 82, -181, 156, -180, 82, -180, -181, -165, -164, 8601 32, 33, 32, 33, 32, 33, 32, 33, -573, 619, 8602 82, 98, 630, 222, 17, -323, 478, 539, 167, 168, 8603 169, -370, 244, -204, -323, -206, 372, 241, 525, 241, 8604 -154, -370, -370, -370, -370, -370, 240, -370, 24, 238, 8605 238, 238, 238, -370, 496, 124, 124, 59, -535, 171, 8606 156, -524, -186, 82, -334, 132, 136, -334, -285, 18, 8607 24, 267, 267, 267, -334, 307, -581, -582, 17, 134, 8608 -332, -582, -332, -332, -334, -583, 240, 463, 43, 268, 8609 267, -182, -183, 22, -182, 457, 453, -425, 458, 459, 8610 -336, -582, -335, -334, -334, -335, -334, -334, -334, 32, 8611 238, 241, 489, 327, 623, -581, -581, 31, 31, -458, 8612 -458, -220, -458, 523, -312, -323, -458, -458, -458, -536, 8613 243, -567, -566, 476, -569, 478, 161, -402, 161, -402, 8614 -383, 269, 269, 156, 124, 24, -403, 124, 135, -402, 8615 -402, -403, -403, -243, 41, -322, 152, -323, 88, -243, 8616 41, -564, -563, -220, -181, -165, -164, 83, 83, 83, 8617 533, 533, 533, -458, -458, -458, -458, -458, -460, -458, 8618 -458, -458, -458, -458, -329, -196, -323, -206, 244, -458, 8619 -458, -458, -166, -167, 143, -350, -323, -166, -3, -130, 8620 -129, 118, 119, 121, 613, 367, 612, 616, 610, -402, 8621 41, -452, 394, 393, -446, -448, 82, -447, 82, -447, 8622 -447, -447, -447, -447, 82, 82, -449, 82, -449, -449, 8623 -446, -450, 82, -450, -451, 82, -451, -450, -323, -429, 8624 539, -356, -358, -323, 39, -469, 61, -161, 82, 31, 8625 82, -187, -323, 636, 187, 166, 627, -470, 61, -161, 8626 82, 31, -181, -123, 39, -183, 21, 155, 98, 88, 8627 -109, -92, 77, -109, 83, 156, -528, 104, 105, -531, 8628 204, 196, -323, -107, 88, -7, -8, -9, -10, -47, 8629 -82, -79, -161, 231, -497, -495, 82, 32, 421, 79, 8630 17, -409, 238, 489, 372, 265, 241, 349, -407, -390, 8631 -387, -385, -322, -383, -386, -385, -412, -302, 453, -124, 8632 436, 435, 319, -350, -350, -350, -350, -350, 103, 114, 8633 344, 104, 105, -345, -366, 32, 315, 316, -346, -346, 8634 -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, 8635 -354, -364, -439, 82, 134, 132, 136, 133, 116, -348, 8636 -348, -346, -346, -245, -322, 152, 83, 156, -350, -521, 8637 -520, 118, -350, -350, -350, -350, -323, -518, -519, 503, 8638 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 8639 363, 358, 364, 362, 352, 370, 365, 366, 189, 520, 8640 521, 514, 515, 516, 517, 518, 519, -356, -356, -350, 8641 -518, -356, -295, 33, 32, -358, -358, -358, 83, -350, 8642 -532, 342, 341, 343, -184, -323, -356, 83, 83, 83, 8643 98, -358, -358, -356, -346, -356, -356, -356, -356, -519, 8644 -295, -295, -295, -295, 143, -358, -358, -295, -295, -295, 8645 -295, 143, -295, -295, -295, -295, -295, -295, -295, -295, 8646 -295, -295, 83, 83, 83, 143, -358, -182, -122, -478, 8647 -477, -350, 41, -123, -183, -574, 620, 82, -302, -562, 8648 88, 88, 635, 166, 17, 489, 479, 480, 165, 168, 8649 167, -323, 114, 35, 82, -196, -370, -370, -370, -540, 8650 -323, 89, -391, -388, -385, -323, -323, -381, -323, -323, 8651 -220, -370, -370, -370, -370, -220, -254, 53, 54, 55, 8652 -385, -155, 56, 57, -536, -523, 35, -185, -323, -285, 8653 -348, -348, -350, -385, 269, -581, -334, -334, -313, -312, 8654 -336, -331, -336, -336, -285, -332, -334, -334, -350, -336, 8655 -332, -285, -323, 453, -285, -285, -425, -334, -333, -323, 8656 -333, -370, -312, -313, -313, -220, -220, -266, -271, -267, 8657 -272, 261, 235, 356, 357, 233, 231, 11, 232, -279, 8658 308, -371, 497, -249, -250, 77, 42, -252, 259, 398, 8659 391, 271, 275, 92, 276, 431, 277, 240, 279, 280, 8660 281, 296, 298, 251, 282, 283, 284, 422, 285, 160, 8661 297, 286, 287, 288, 374, -244, 6, 330, 41, 51, 8662 52, 445, 444, 542, 539, 272, -540, -538, 31, -323, 8663 31, -391, -323, -323, -174, -169, -173, -170, -175, -288, 8664 -290, -172, 82, -220, -164, -323, 156, 477, 479, 480, 8665 -567, -403, -567, -403, 32, 421, -406, 421, 32, -381, 8666 -400, 473, 475, -396, 88, 422, -386, -405, 79, 152, 8667 -477, -403, -403, -405, -405, 151, 156, -565, 478, 479, 8668 227, -182, 98, 98, 98, -222, -220, -540, -390, -381, 8669 -323, -458, -222, -222, -222, -323, -323, 82, 155, 36, 8670 -323, -323, -323, -284, 156, -283, 17, -324, -323, 35, 8671 88, 155, -284, -131, -129, 120, -350, -6, 612, -350, 8672 -6, -6, -350, -6, -350, -456, 395, 98, 98, -304, 8673 88, -304, 98, 98, 98, 545, 83, 88, -394, 79, 8674 -471, -359, -516, 601, -189, 83, -184, -514, -515, -184, 8675 -188, -323, -469, -212, 124, 124, 124, -471, -189, 83, 8676 -514, -182, 602, -123, -179, -178, -350, -323, 24, -109, 8677 -92, -526, 155, 349, 156, -185, -409, -389, -386, -411, 8678 143, -323, -397, 156, 539, 638, 86, 242, -553, -552, 8679 413, 83, 156, -481, 243, 496, 88, 635, 429, 222, 8680 223, 103, 344, 104, 105, -439, -358, -354, -348, -348, 8681 -346, -346, -352, 256, -352, 113, -350, 636, -349, -520, 8682 120, -350, 35, 156, 35, 156, 80, 155, 83, 83, 8683 17, 17, 83, -350, 83, 83, 83, 83, 17, 17, 8684 -350, 83, 155, 83, 83, 83, 83, 80, 83, 156, 8685 83, 83, 83, 83, 156, -358, -358, -350, -358, 83, 8686 83, 83, -350, -350, -350, -358, 83, -350, -350, -350, 8687 -350, -350, -350, -350, -350, -350, -350, -419, 448, -419, 8688 -419, 156, 156, 156, 83, -123, 82, 98, 156, 631, 8689 -308, -307, 88, -323, 166, -323, 166, 169, 169, 168, 8690 24, 36, -205, -207, -208, -209, -210, -211, 134, 157, 8691 158, 82, -220, -220, -220, -542, 399, -554, 156, 41, 8692 -552, 489, 238, -151, 319, -374, 80, -158, 17, 539, 8693 -220, -220, -220, -220, -233, 35, 17, -168, -221, -323, 8694 82, 83, 156, -382, 80, -323, -313, -285, -285, -336, 8695 -285, -285, 156, 23, -334, -336, -336, -340, 635, -332, 8696 -340, 155, -340, -312, -445, 35, -186, 156, 21, 261, 8697 -219, -320, -216, -218, 246, -339, -217, 249, -510, 247, 8698 245, 108, 250, 304, 109, 240, -320, -320, 246, -253, 8699 242, 35, -320, -269, 240, 347, 304, 247, 21, 261, 8700 -268, 240, 109, -323, 246, 250, 247, 245, -319, 124, 8701 -311, 151, 242, 43, 374, -319, 543, 261, -319, -319, 8702 -319, -319, -319, -319, -319, 278, 278, -319, -319, -319, 8703 -319, -319, -319, -319, -319, -319, -319, -319, 161, -319, 8704 -319, -319, -319, -319, -319, 82, 273, 274, -543, 399, 8705 31, 355, 355, -554, 31, -159, 349, 31, -291, -292, 8706 -293, -294, 68, 72, 74, 69, 70, 71, 75, 31, 8707 156, -321, -325, 35, -323, 88, -321, -164, -169, -174, 8708 -321, 82, -566, -568, 481, 478, 484, -405, -405, 242, 8709 82, 124, -405, -405, 41, -322, -563, 485, 479, -123, 8710 156, 79, -222, -197, -198, -199, -200, -226, -302, 191, 8711 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 8712 207, 208, 205, 206, 255, 186, 187, 188, 189, 209, 8713 172, 192, 537, 173, 174, 175, 176, 177, 178, 181, 8714 182, 183, 184, 180, -323, -206, -285, -167, -169, -323, 8715 88, -323, 143, -285, 121, -6, 119, -135, -134, -133, 8716 122, 610, 616, 121, 121, 121, 83, 83, 83, 156, 8717 83, 83, 83, 156, 83, 156, 98, -484, 458, 40, 8718 156, 82, 83, 156, 61, 156, 124, 83, 156, -350, 8719 -350, -350, 83, 61, -123, 88, 156, -176, 37, 38, 8720 155, 431, -323, -495, 83, -411, 156, 242, 155, 155, 8721 -387, 377, -322, -389, 21, 539, -302, 39, -308, 124, 8722 635, -323, 83, -352, -352, 113, -348, -345, 83, 121, 8723 -350, 119, -224, -226, 393, 394, -350, -224, -225, -231, 8724 152, 190, 255, 189, 188, 186, 393, 394, -243, -323, 8725 -350, -350, 83, -350, -350, 17, -323, -243, -346, -350, 8726 -181, -181, 83, 83, -418, -419, -418, -418, 83, 83, 8727 83, 83, -418, 83, 83, 83, 83, 83, 83, 83, 8728 83, 83, 83, 82, 98, 100, 98, 100, -477, -575, 8729 63, 618, 62, 421, 103, 309, 156, 98, 88, 636, 8730 156, 124, -323, 17, 238, 169, -555, 313, 349, 385, 8731 83, 156, -302, -197, -186, 82, -186, -545, 460, 401, 8732 411, -319, -342, -341, 351, 42, -463, 422, 407, 408, 8733 -388, 269, -323, -323, -551, 95, 124, 79, 334, 338, 8734 339, 335, 336, 337, -368, -369, -367, -371, -538, 82, 8735 82, -161, 35, 132, -158, 82, 82, 35, -440, 324, 8736 -226, -220, -168, -323, 17, 156, -537, 155, -1, -323, 8737 -381, -334, -285, -350, -350, -285, -334, -334, 166, -336, 8738 -323, -440, -226, 35, -267, 235, 232, -415, 306, 307, 8739 -416, -430, 309, -432, 82, -223, -302, -217, -509, -510, 8740 -370, -323, 109, -509, 109, 82, -223, -302, -302, -270, 8741 -333, -302, -323, -323, -323, -323, -275, -274, -302, -277, 8742 32, -278, -323, -323, -323, -323, 109, -323, 109, -248, 8743 41, 48, 49, 50, -319, -319, 193, -251, 41, 421, 8744 423, 424, -277, 98, 98, 98, 98, 88, 88, 88, 8745 -319, -319, 98, 88, -325, 88, -511, 168, 45, 46, 8746 98, 98, 98, 98, 41, 88, -256, 41, 289, 293, 8747 290, 291, 292, 88, 98, 41, 98, 41, 98, 41, 8748 -323, 82, -512, -513, 88, -545, -319, 355, -402, 124, 8749 -342, -550, 319, -160, 489, 32, -190, 235, 232, -538, 8750 -393, -392, -302, -173, -173, -173, -173, 68, 68, 68, 8751 73, 68, 73, 68, -293, -393, -175, -186, -325, 83, 8752 -560, -559, -558, -556, 76, 243, 77, -356, 478, 482, 8753 483, -389, -337, 88, -396, -194, 24, -220, -220, -462, 8754 299, 300, 83, 156, -226, -287, 19, 155, -287, 117, 8755 -6, -131, -133, -350, -6, -350, 612, 367, 613, 88, 8756 98, 98, -492, 442, 437, 439, 109, -359, -479, -478, 8757 61, -161, -184, -471, -515, -477, -323, 636, 636, 636, 8758 61, -161, -471, -194, -484, -178, -177, 44, -323, 98, 8759 17, -386, -381, 143, 143, -323, 378, -397, 88, 400, 8760 88, 238, 636, 88, -308, -345, -350, 83, -234, 177, 8761 176, -234, 35, 83, 83, -447, -447, -446, -449, -446, 8762 -234, -234, 83, 83, 24, 83, 83, 83, -350, 83, 8763 83, 156, -467, 498, -468, 572, -418, -418, -418, -418, 8764 -418, -418, -418, -418, -418, -418, -418, -418, -418, -418, 8765 -418, -418, -361, -360, 261, 443, 625, 625, 443, 625, 8766 625, 83, 156, -518, 156, -314, 314, -314, -307, 88, 8767 242, 166, -323, -323, 88, 88, -209, -226, 83, 35, 8768 -213, -214, -215, -223, -216, -218, 35, -546, 92, -541, 8769 88, -323, 89, -547, 92, 402, 154, 353, 41, 403, 8770 404, 419, 348, 98, 98, 409, -539, -323, -159, -159, 8771 -549, 52, 124, 88, -220, -367, -311, 151, 280, 327, 8772 -282, -281, -323, 88, -213, -161, -220, -213, -213, -161, 8773 -441, 326, 21, 98, 142, -187, 80, 155, -169, -221, 8774 -323, 143, 83, -285, -340, -285, -285, 124, -334, -441, 8775 -161, -427, 310, 82, -425, 82, -425, 109, 335, -433, 8776 -431, 261, -273, 45, 47, -226, -507, -323, -505, -507, 8777 -323, -505, -505, -370, -350, -273, -223, 242, 31, 232, 8778 -276, 332, 333, 338, -398, 305, 114, -398, 156, -176, 8779 156, -323, -243, -243, 31, 88, 88, -222, 83, 156, 8780 124, -546, -541, 124, -403, 88, -547, -551, 124, -152, 8781 92, -312, 156, -190, -190, -285, 156, 124, -192, -191, 8782 79, 80, -193, 79, -191, 68, 68, -285, -558, -557, 8783 24, -510, -510, -510, 83, 83, 15, -199, 41, -286, 8784 20, 21, 143, -286, 121, 119, 121, 121, -323, 83, 8785 83, -453, 603, -488, -490, 437, 21, 21, 15, 243, 8786 83, -471, -471, -492, 45, 46, -381, -397, 422, -220, 8787 156, 636, -224, -350, 83, -350, 83, 88, 83, 88, 8788 -181, 21, 83, 156, 83, 83, 83, 156, 83, 83, 8789 -350, 83, -518, -315, 187, 88, -315, 349, -323, 17, 8790 236, -161, 83, 156, -161, 88, -544, 413, 88, 88, 8791 98, 41, 98, 154, 405, -464, -152, -152, -548, 92, 8792 124, 635, 82, -319, -319, -319, -323, 83, 156, -319, 8793 -319, 83, 83, 83, -241, 539, -442, 260, 98, 142, 8794 98, 142, 98, -321, -169, -323, -285, -537, 155, 88, 8795 -285, -442, -417, 311, 98, -346, 82, -346, 82, -426, 8796 308, 82, 83, 156, -323, -302, -238, -237, -235, 103, 8797 114, 41, 391, -236, 92, 151, 294, 297, 296, 272, 8798 295, -265, -338, 79, 397, 332, 333, -371, 603, 527, 8799 245, 108, 109, 379, -339, 82, 82, 80, 314, 82, 8800 82, -507, 83, -273, -302, 41, -276, 41, 345, 305, 8801 -274, -323, 151, -243, 83, -513, 88, -544, 88, -405, 8802 -549, 88, 88, -538, -181, -392, -477, -350, 82, -350, 8803 82, 68, 11, 19, -343, -350, -358, 244, -6, 613, 8804 367, -258, 604, 88, 21, 88, -486, 88, -393, -453, 8805 -126, -255, -311, 277, 83, 83, 83, -418, -418, -421, 8806 -420, -424, 443, 306, 451, -358, 88, 88, 83, 83, 8807 88, -323, 242, 166, -201, -226, -156, 539, -241, -215, 8808 -156, 21, 539, 352, 41, 98, 41, 406, 124, 104, 8809 105, -309, -310, 88, -376, -378, -302, 82, -243, -245, 8810 88, -281, -343, -343, -239, -161, 35, -240, -279, -371, 8811 -125, -124, -239, 82, -443, 160, 98, 142, 98, 98, 8812 -285, -285, 636, -443, -432, 21, 83, -412, 83, -412, 8813 82, 124, -346, -431, -434, 61, -235, 103, -346, 88, 8814 -245, -246, 41, 293, 289, 124, 124, -247, 41, 273, 8815 274, -257, 82, 304, 15, 193, 82, 109, 109, -220, 8816 -376, -376, -508, 334, 335, 336, 340, 338, 339, 337, 8817 -508, -376, -376, 82, -399, -398, -346, -319, -319, 151, 8818 -548, -182, -185, -506, -323, 245, 21, 21, -323, -323, 8819 -305, 605, 98, 88, 439, -258, -454, 606, -482, -425, 8820 -243, 124, 83, -423, 116, 405, 409, -344, -347, 98, 8821 100, 185, 154, 83, 83, 349, -323, 538, -157, 60, 8822 485, 88, 89, 400, 88, 89, 352, 88, 636, 156, 8823 124, 83, 156, -446, -350, -413, 261, -161, 156, -279, 8824 -311, -126, -413, -242, -280, -323, 88, -461, 168, 325, 8825 539, 98, 142, 98, -181, -444, 168, 325, -416, 83, 8826 83, 83, -412, 98, 83, -438, -435, 82, -279, 263, 8827 134, 88, 88, 98, 82, -472, 31, 88, -377, 82, 8828 83, 83, 83, 83, -376, 98, -243, -319, 83, 83, 8829 156, 82, 21, -305, -455, 607, 88, -491, 442, -485, 8830 -483, 437, 438, 439, 440, 88, -422, -423, 409, -344, 8831 -347, 601, 449, 449, 449, -323, 242, -203, -323, 304, 8832 422, -310, 88, -379, -378, -176, 83, -414, 313, 21, 8833 -279, -319, -414, 83, 156, -319, -319, 325, 98, 142, 8834 98, -182, 325, -428, 312, 83, -438, -279, -437, -436, 8835 311, 264, 82, 83, -350, -362, -319, 83, -260, -259, 8836 535, -376, -379, 80, -379, 80, -379, 80, -379, 80, 8837 83, -243, -323, 245, -306, -323, -486, 88, -493, 243, 8838 -489, -490, 441, -483, 21, 439, 21, 21, -127, 156, 8839 113, 450, 450, 450, 349, -202, 35, 444, 378, -380, 8840 251, 345, 346, 92, 539, 332, 333, -176, 21, -415, 8841 -243, -280, -343, -343, 98, 98, 83, 156, -323, 260, 8842 82, -357, -351, -350, 260, 83, -323, -264, -262, -263, 8843 79, 456, 302, 303, 83, -508, -508, -508, -508, -265, 8844 83, 156, -500, 82, 98, -488, -487, -489, 21, -486, 8845 21, -486, -486, 446, -422, -323, 88, -319, -319, 88, 8846 88, 331, -302, 82, -427, -436, -435, -357, 83, 156, 8847 -398, -263, 79, -262, 79, 16, 15, -379, -379, -379, 8848 -379, -323, -504, 31, 83, -499, -498, -303, -494, -323, 8849 442, 443, 88, -486, 124, -578, -577, 624, 98, 98, 8850 -323, -412, -417, 83, -351, -261, 299, 300, 31, 168, 8851 -261, -503, -502, -501, 83, 156, 155, 88, 88, 83, 8852 -432, 103, 41, 301, 156, 124, -498, -323, -502, 41, 8853 -350, 155, -323, 8854 } 8855 8856 var yyDef = [...]int{ 8857 23, -2, 1, 2, 3, 19, 4, 20, 21, 22, 8858 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 8859 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 8860 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 8861 54, 0, 282, 283, 284, 891, 892, 893, 894, 895, 8862 896, 897, 0, 0, 0, 0, 0, 649, 650, 0, 8863 615, 0, 0, 0, 0, 0, 0, 499, 500, 501, 8864 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 8865 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 8866 522, 523, 524, 525, 526, 527, 528, 529, 530, 383, 8867 384, 385, 386, 387, 388, 389, 390, 0, 307, 303, 8868 228, 229, 230, 231, 232, 314, 315, 476, 0, 0, 8869 0, 0, 732, -2, 72, 0, 0, 296, 0, 287, 8870 287, 898, 899, 900, 901, 902, 903, 904, 905, 906, 8871 907, 908, 909, 910, -2, 662, 0, 616, 617, 618, 8872 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 8873 629, 630, 367, 368, 369, 363, 364, 366, 365, -2, 8874 0, 662, 0, 0, 0, 740, 0, 0, 0, 0, 8875 0, 783, 805, 23, 0, 7, 9, 10, 11, 12, 8876 13, 14, 15, 16, 17, 18, 0, 0, 19, 0, 8877 19, 0, 0, 0, 1307, 1308, 1309, 1310, 2089, 2059, 8878 -2, 1831, 1808, 1983, 1984, 2119, 2120, 2121, 2122, 2123, 8879 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 8880 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 8881 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 8882 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 8883 2164, 2165, 2166, 2167, 2168, 1765, 1766, 1767, 1768, 1769, 8884 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 8885 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 8886 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 8887 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1809, 1810, 8888 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 8889 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 8890 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 8891 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 8892 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 8893 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 8894 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 8895 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 8896 1892, 1893, 1894, 1895, 1896, 1898, 1899, 1900, 1901, 1902, 8897 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 8898 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 8899 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 8900 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 8901 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 8902 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 8903 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 8904 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 8905 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 8906 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 8907 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 8908 2015, -2, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 8909 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 8910 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 8911 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 8912 2055, 2056, 2057, 2058, 2060, 2061, 2062, 2063, 2064, 2065, 8913 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, -2, 8914 -2, -2, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 8915 2086, 2087, 2088, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 8916 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 8917 2107, 2108, 0, 280, 278, 1778, 1808, 1831, 1885, 1896, 8918 1897, 1931, 1983, 1984, 2016, 2059, 2075, 2076, 2077, 2089, 8919 0, 0, 915, 0, 710, 0, 0, 715, 1256, 710, 8920 308, 651, 652, 740, 766, 613, 0, 345, 0, 1822, 8921 349, 2066, 0, 0, 0, 610, 339, 340, 341, 342, 8922 343, 344, 0, 0, 890, 0, 0, 335, 0, 302, 8923 1887, 2088, 0, 0, 0, 0, 0, 171, 1034, 173, 8924 1036, 177, 185, 0, 0, 0, 190, 191, 194, 195, 8925 196, 197, 198, 0, 202, 0, 204, 207, 0, 209, 8926 210, 0, 213, 214, 215, 0, 225, 226, 227, 1037, 8927 1038, 1039, -2, 100, 913, 1736, 1623, 0, 1630, 1643, 8928 1654, 1387, 1388, 1389, 1390, 0, 0, 0, 0, 0, 8929 0, 1398, 1399, 0, 1427, 2123, 2164, 2165, 0, 1407, 8930 1408, 1409, 1410, 1411, 1412, 111, 123, 124, 1676, 1677, 8931 1678, 1679, 1680, 1681, 1682, 0, 1684, 1685, 1686, 1594, 8932 1374, 1307, 0, 2132, 0, 2154, 2159, 2160, 2161, 2162, 8933 2153, 0, 0, 1579, 0, 1569, 0, 0, -2, -2, 8934 0, 0, 1956, -2, 2166, 2167, 2168, 2129, 2150, 2158, 8935 2133, 2134, 2157, 2125, 2126, 2127, 2120, 2121, 2122, 2124, 8936 2136, 2138, 2149, 0, 2145, 2155, 2156, 2064, 0, 0, 8937 0, 0, 0, 2105, 125, 126, -2, -2, -2, -2, 8938 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 8939 -2, -2, -2, 1590, -2, -2, 1593, -2, 1596, -2, 8940 -2, -2, -2, 1601, 1602, -2, 1604, -2, -2, -2, 8941 -2, -2, -2, -2, 1581, 1582, 1583, 1584, 1573, 1574, 8942 1575, 1576, 1577, 1578, -2, -2, -2, 766, 841, 0, 8943 766, 0, 741, 788, 791, 794, 797, 744, 0, 0, 8944 73, 74, 0, 0, 0, 297, 298, 286, 288, 0, 8945 292, 0, 285, 1070, 0, 0, 0, 0, 1070, 1070, 8946 1070, 1070, 1070, 0, 1070, 0, 0, 0, 0, 0, 8947 1070, 0, 948, 1041, 1042, 1043, 1068, 1069, 1142, 0, 8948 0, 0, 667, 663, 664, 665, 666, 754, 0, 756, 8949 759, 588, 588, 814, 534, 0, 0, 0, 588, 0, 8950 548, 540, 0, 0, 0, 588, 0, 0, 761, 761, 8951 0, 591, 600, 588, 588, -2, 588, 588, 585, 588, 8952 0, 0, 1082, 554, 555, 556, 540, 540, 559, 560, 8953 561, 571, 572, 601, 1760, 0, 0, 476, 476, 0, 8954 476, 0, 476, 476, 476, 669, 1926, 1829, 1902, 1887, 8955 2088, 0, 253, 1956, 258, 0, 1830, 1849, 0, 0, 8956 1867, 0, -2, 0, 324, 766, 0, 0, 740, 0, 8957 0, 0, 0, 0, 476, 476, 476, 476, 476, 1141, 8958 476, 476, 476, 476, 476, 0, 0, 0, 476, 476, 8959 476, 0, 0, 806, 807, 802, 803, 804, 808, 809, 8960 5, 6, 19, 0, 0, 0, 0, 0, 0, 79, 8961 78, 0, 1737, 1755, 1689, 1690, 1691, 1742, 1693, 1746, 8962 1746, 1746, 1746, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 8963 1729, 1730, 1746, 1746, 0, 0, 1735, 1713, 1744, 1744, 8964 1744, 1742, 1739, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 8965 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1749, 1749, 1752, 8966 1752, 1749, 0, 381, 379, 380, 1619, 0, 0, 0, 8967 0, 710, 714, 1254, 0, 0, 0, 766, -2, 0, 8968 0, 614, 346, 1311, 0, 0, 350, 0, 351, 0, 8969 0, 0, 370, 0, 373, 358, 359, 360, 354, 0, 8970 151, 0, 337, 338, 0, 0, 304, 0, 0, 0, 8971 477, 0, 0, 0, 0, 0, 0, 182, 178, 186, 8972 189, 199, 206, 0, 218, 220, 223, 179, 187, 192, 8973 193, 200, 221, 180, 183, 184, 188, 222, 224, 181, 8974 201, 205, 219, 203, 208, 211, 212, 217, 0, 152, 8975 0, 0, 0, 0, 0, 1629, 0, 0, 1662, 1663, 8976 1664, 1665, 1666, 1667, 1668, 0, 0, 0, 0, 0, 8977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8978 0, 0, 0, 0, -2, 1623, 0, 0, 1393, 1394, 8979 1395, 1396, 0, 1400, 0, 1428, 0, 0, 0, 0, 8980 0, 1683, 1687, 0, 1619, 1619, 0, 1619, 1615, 0, 8981 0, 0, 0, 0, 0, 1619, 1552, 0, 0, 1554, 8982 1570, 0, 0, 1556, 1557, 0, 1560, 1561, 1619, 0, 8983 1619, 1565, 1619, 1619, 1619, 1548, 1549, 0, 1615, 1615, 8984 1615, 1615, 0, 0, 1615, 1615, 1615, 1615, 1615, 1615, 8985 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 0, 0, 8986 0, 0, 761, 0, 767, 0, -2, 0, 785, 787, 8987 789, 790, 792, 793, 795, 796, 798, 799, 746, 0, 8988 0, 75, 0, 0, 0, 0, 0, 0, 290, 0, 8989 295, 0, 0, 0, 912, 0, 0, 1070, 1070, 1070, 8990 949, 0, 0, 0, 0, 0, 0, 0, 0, 1070, 8991 1070, 1070, 1070, 0, 1088, 0, 0, 0, 669, 668, 8992 0, 755, 0, 0, 814, 0, 0, 532, 533, 0, 8993 0, 540, 588, 588, 546, 547, 542, 541, 596, 597, 8994 591, 0, 591, 591, 814, 0, 565, 566, 567, 588, 8995 588, 573, 762, 0, 574, 575, 591, 0, 598, 599, 8996 814, 0, 0, 814, 814, 0, 583, 584, 586, 588, 8997 0, 0, 1070, 0, 606, 542, 542, 1761, 1762, 0, 8998 0, 1079, 0, 0, 0, 609, 0, 0, 0, 0, 8999 670, 233, 236, 0, 239, 0, 1926, 0, 1926, 0, 9000 246, 0, 0, 0, 0, 0, 0, 276, 277, 0, 9001 0, 0, 0, 267, 270, 1248, 1249, 1031, 1032, 271, 9002 272, 316, 317, 0, 761, 784, 786, 780, 781, 782, 9003 0, 0, 0, 0, 0, 0, 0, 0, 476, 0, 9004 0, 0, 0, 0, 645, 0, 928, 647, 0, 0, 9005 0, 0, 822, 816, 818, 885, 111, 822, 8, 96, 9006 93, 0, 19, 0, 0, 19, 19, 0, 19, 281, 9007 0, 1758, 1756, 1757, 1692, 1743, 0, 1718, 0, 1719, 9008 1720, 1721, 1731, 1732, 0, 0, 1714, 0, 1715, 1716, 9009 1717, 1708, 0, 1709, 1710, 0, 1711, 1712, 279, 378, 9010 0, 0, 1620, 916, 0, 688, 702, 683, 0, 691, 9011 0, 0, 1256, 1257, 0, 0, 0, 671, 702, 673, 9012 0, 691, 761, 738, 0, 716, 0, 0, 347, 0, 9013 355, 352, 0, 356, 0, 0, 372, 374, 375, 376, 9014 361, 362, 611, 333, 334, 325, 326, 327, 328, 329, 9015 330, 331, 332, 0, 336, 121, 0, 305, 306, 0, 9016 0, 0, 165, 166, 167, 168, 169, 170, 172, 156, 9017 634, 636, 1023, 1035, 0, 1026, 0, 175, 216, 148, 9018 0, 0, 0, 1624, 1625, 1626, 1627, 1628, 1633, 0, 9019 1635, 1637, 1639, 1641, 0, 1659, -2, -2, 1375, 1376, 9020 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 9021 1644, 1657, 1658, 0, 0, 0, 0, 0, 0, 1655, 9022 1655, 1650, 0, 1413, 1250, 1251, 1391, 0, 0, 1425, 9023 1429, 0, 0, 0, 0, 0, 112, 1614, 1519, 1520, 9024 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 9025 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 9026 1541, 1542, 1543, 1544, 1545, 1546, 1547, 0, 0, 1623, 9027 0, 0, 0, 1616, 1617, 0, 0, 0, 1507, 0, 9028 0, 1513, 1514, 1515, 0, 697, 0, 1580, 1553, 1571, 9029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9032 0, 0, 0, 0, 0, 0, 0, 840, 842, 0, 9033 706, 708, 709, 735, 716, 742, 0, 0, 0, 71, 9034 76, 0, 1109, 0, 0, 0, 299, 300, 0, 0, 9035 294, 0, 0, 0, -2, 0, 0, 0, 0, 0, 9036 964, 965, 474, 1017, 0, 0, 0, 1033, 1058, 1066, 9037 0, 0, 0, 0, 0, 1115, 950, 955, 956, 957, 9038 951, 952, 958, 959, 0, 757, 0, 0, 854, 531, 9039 589, 590, 815, 537, 1887, 542, 814, 814, 549, 543, 9040 550, 593, 551, 552, 553, 591, 814, 814, 763, 588, 9041 591, 576, 592, 591, 594, 580, 0, 587, 594, 607, 9042 594, 0, 605, 557, 558, 1117, 759, 393, 394, 395, 9043 397, 0, 445, 445, 445, 428, 445, 0, 0, 416, 9044 1763, 0, 0, 0, 0, 425, 1763, 0, 0, 1763, 9045 1763, 1763, 1763, 1763, 1763, 1763, 0, 0, 1763, 1763, 9046 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 0, 9047 1763, 1763, 1763, 1763, 1763, 1234, 1763, 0, 1080, 435, 9048 436, 437, 438, 443, 444, 0, 471, 0, 0, 963, 9049 0, 474, 0, 1003, 827, 0, 828, 829, 825, 856, 9050 880, 880, 0, 880, 860, 1256, 0, 0, 244, 245, 9051 234, 0, 235, 0, 247, 248, 0, 250, 251, 252, 9052 259, 1829, 1902, 254, 256, 0, 0, 260, 273, 274, 9053 275, 0, 0, 265, 266, 0, 0, 319, 320, 322, 9054 0, 716, 1083, 1084, 1085, 631, 1252, 632, 633, 637, 9055 0, 0, 640, 641, 642, 643, 644, 930, 0, 0, 9056 1010, 1011, 1012, 814, 0, 823, 0, 819, 886, 0, 9057 888, 0, 814, 0, 94, 19, 0, 87, 84, 0, 9058 0, 0, 0, 0, 1738, 1688, 1759, 0, 0, 0, 9059 1740, 0, 0, 0, 0, 0, 77, 718, 678, 0, 9060 682, 699, 0, 703, 0, 0, 695, 687, 692, 0, 9061 0, 712, 679, 1255, 0, 0, 0, 672, 0, 0, 9062 677, 716, 0, 739, 768, 769, 772, 1312, 0, 357, 9063 353, 371, 0, 476, 0, 0, 0, 159, 1020, 0, 9064 160, 164, 154, 0, 0, 0, 1025, 0, 1022, 1027, 9065 0, 174, 0, 0, 149, 150, 1100, 1109, 0, 0, 9066 0, 1634, 1636, 1638, 1640, 1642, 0, 1645, 1655, 1655, 9067 1651, 0, 1646, 0, 1648, 0, 1624, 1397, 0, 1430, 9068 0, 0, 0, 0, 0, 0, 0, 0, 1497, 1498, 9069 0, 0, 1502, 0, 1504, 1505, 1506, 1508, 0, 0, 9070 0, 1512, 0, 1551, 1572, 1555, 1558, 0, 1562, 0, 9071 1564, 1566, 1567, 1568, 0, 766, 766, 0, 0, 1469, 9072 1469, 1469, 0, 0, 0, 0, 1469, 0, 0, 0, 9073 0, 0, 0, 0, 0, 0, 0, 1414, 0, 1415, 9074 1416, 0, 0, 0, 843, 736, 0, 0, 0, 0, 9075 0, 1107, 0, 64, 0, 0, 301, 289, 291, 0, 9076 0, 1071, 0, 0, 918, 919, 921, 0, 924, 925, 9077 926, 930, 759, 0, 759, 975, 1763, 478, 0, 0, 9078 1019, 0, 0, 992, 0, 0, 0, -2, 0, 0, 9079 1066, 0, 0, 0, 1119, 0, 0, 0, 656, 660, 9080 23, 760, 0, 535, 0, 536, 588, 544, 545, 814, 9081 568, 569, 0, 0, 814, 588, 588, 579, 0, 591, 9082 602, 0, 603, 604, 1119, 0, 0, 1079, 1185, 1153, 9083 406, 0, 1268, 1269, 446, 0, 1275, 1284, 1070, 1344, 9084 0, 1284, 0, 0, 1286, 1287, 0, 0, 0, 0, 9085 429, 430, 0, 415, 0, 0, 0, 0, 0, 0, 9086 414, 0, 0, 456, 0, 0, 0, 0, 0, 1764, 9087 1763, 1763, 0, 423, 424, 0, 427, 0, 0, 0, 9088 0, 0, 0, 0, 0, 1763, 1763, 0, 0, 0, 9089 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 9090 0, 0, 0, 0, 0, 0, 1240, 1241, 975, 1763, 9091 0, 0, 0, 478, 990, 1008, 0, 0, 0, 0, 9092 0, 0, 847, 0, 0, 846, 0, 0, 0, 0, 9093 0, 759, 881, 0, 883, 884, 858, -2, 0, 827, 9094 863, 1619, 237, 238, 0, 0, 243, 261, 263, 0, 9095 0, 0, 262, 264, 268, 269, 318, 321, 323, 778, 9096 0, 0, 1143, 0, 931, 932, 934, 935, 0, -2, 9097 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 9098 -2, -2, 1813, -2, -2, -2, -2, -2, -2, -2, 9099 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 9100 -2, -2, -2, -2, 929, 648, 812, 817, 824, 887, 9101 889, 112, 820, 812, 0, 97, 19, 96, 88, 89, 9102 0, 19, 0, 0, 0, 0, 1748, 1747, 1733, 0, 9103 1734, 1745, 1750, 0, 1753, 0, 382, 722, 0, 0, 9104 702, 704, 0, 0, 702, 0, 0, 711, 0, 0, 9105 0, 0, 0, 702, 778, 718, 0, 775, 773, 774, 9106 0, 0, 612, 122, 377, 0, 0, 0, 0, 0, 9107 635, 0, 1024, 156, 0, 0, 176, 0, 0, 0, 9108 1109, 1104, 1618, 1647, 1649, 0, 1656, 1652, 1392, 1401, 9109 1426, 0, 0, 1432, 1444, 1444, 0, 0, 0, 1435, 9110 1746, 1746, 1438, 1742, 1744, 1742, 1444, 1444, 0, 113, 9111 0, 0, 1503, 0, 0, 0, 698, 0, 0, 0, 9112 1465, 1467, 1469, 1469, 1476, 1470, 1477, 1478, 1469, 1469, 9113 1469, 1469, 1483, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 9114 1469, 1469, 1469, 1463, 0, 0, 1677, 1678, 707, 0, 9115 0, 749, 750, 751, 752, 753, 0, 0, 57, 57, 9116 1109, 0, 65, 0, 0, 293, 61, 62, 0, 0, 9117 0, 923, 0, 0, 0, 1261, 0, 979, 976, 977, 9118 978, 0, 1014, 479, 480, 481, 482, 0, 0, 0, 9119 1018, 0, 1003, 1003, 985, 0, 0, 0, 1059, 1060, 9120 1061, 1062, 1063, 1064, 1065, -2, 1074, 0, 0, 0, 9121 1261, 1093, 0, 0, 1098, 1261, 1261, 0, 1127, 0, 9122 1116, 710, 0, -2, 0, 0, 658, 0, 0, 855, 9123 538, 814, 562, 764, 765, 594, 814, 814, 0, 588, 9124 608, 1127, 1118, 0, 396, 445, 0, 1173, 0, 0, 9125 1179, 0, 1186, 399, 0, 447, 0, 1274, 1301, 1285, 9126 1301, 1345, 1301, 1301, 1070, 0, 447, 0, 0, 417, 9127 453, 0, 0, 0, 0, 0, 413, 450, 772, 400, 9128 402, 403, 404, 454, 455, 457, 0, 459, 460, 419, 9129 431, 432, 433, 434, 0, 0, 0, 426, 439, 440, 9130 441, 442, 401, 1202, 1203, 1204, 1207, 1208, 1209, 1210, 9131 0, 0, 1213, 1214, 1215, 1216, 1217, 1298, 1299, 1300, 9132 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1242, 1243, 1244, 9133 1245, 1246, 1247, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 9134 1233, 0, 0, 1237, 0, 979, 0, 0, 0, 0, 9135 1014, 992, 0, 999, 0, 1004, 1005, 0, 0, 680, 9136 814, 311, 0, 850, 844, 0, 833, 848, 849, 836, 9137 0, 838, 0, 834, 835, 814, 826, 857, 882, 859, 9138 862, 864, 865, 871, 0, 0, 0, 0, 240, 241, 9139 242, 249, 0, 498, 255, 734, 0, 1253, 638, 639, 9140 1144, 1145, 646, 0, 936, 810, 0, 0, 810, 92, 9141 95, 0, 90, 0, 0, 0, 0, 82, 80, 1741, 9142 0, 0, 724, 136, 0, 0, 0, 700, 0, 705, 9143 702, 686, 696, 685, 693, 694, 713, 1258, 1259, 1260, 9144 702, 676, 675, 737, 722, 770, 771, 0, 1313, 348, 9145 0, 1021, 156, 161, 162, 163, 157, 155, 1028, 0, 9146 1030, 0, 1102, 0, 0, 1653, 1431, 1402, 1433, 1445, 9147 1446, 1434, 0, 1404, 1405, 1436, 1437, 1439, 1440, 1441, 9148 1442, 1443, 1406, 1499, 0, 1501, 1509, 1510, 0, 1559, 9149 1563, 0, 0, 0, 0, 0, 1474, 1475, 1479, 1480, 9150 1481, 1482, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 9151 1492, 1493, 766, 1464, 0, 0, 0, 0, 0, 0, 9152 0, 747, 0, 0, 0, 59, 0, 59, 1108, 1110, 9153 0, 0, 0, 63, 911, 914, 920, 922, 0, 0, 9154 0, 1262, 1263, 1265, 1266, 1267, 0, 947, 0, 0, 9155 967, 968, 969, 981, 0, 0, 0, 484, 485, 0, 9156 0, 0, 497, 493, 494, 495, 475, 1013, 999, 999, 9157 988, 0, 0, 998, 0, 1075, 1763, 1763, 1763, 0, 9158 0, 1187, 1763, 1763, 0, 1095, 1097, 0, 0, 1191, 9159 1130, 0, 0, 1121, 0, 880, 0, 0, 814, 657, 9160 660, 661, 758, 539, 577, 581, 578, 0, 814, 1130, 9161 392, 1151, 0, 0, 0, 0, 0, 1183, 0, 0, 9162 1155, 0, 418, 448, 0, -2, 0, 1302, 0, 1288, 9163 1302, 0, 0, 1301, 0, 407, 447, 0, 0, 0, 9164 461, 465, 466, 0, 463, 1340, 0, 464, 0, 452, 9165 0, 458, 1205, 1206, 0, 1211, 1212, 0, 1236, 0, 9166 0, 467, 0, 0, 0, 468, 473, 985, 0, 1002, 9167 0, 1009, 0, 1006, 1007, 766, 0, 0, 830, 851, 9168 0, 0, 831, 0, 832, 837, 839, 310, 866, 0, 9169 0, 868, 869, 870, 861, 257, 779, 933, 0, 800, 9170 0, 0, 821, 801, 0, 19, 0, 0, 85, 1751, 9171 1754, 726, 0, 723, 137, 0, 0, 0, 0, 690, 9172 701, 684, 674, 724, 776, 777, 158, 153, 1029, 1112, 9173 0, 1103, 0, 0, 1511, 0, 1469, 1466, 1469, 1468, 9174 1460, 0, 1417, 0, 1419, 1420, 1421, 0, 1423, 1424, 9175 0, 745, 0, 55, 0, 58, 56, 0, 66, 0, 9176 0, 953, 1191, 0, 953, 980, 966, 0, 1015, 1016, 9177 0, 486, 487, 0, 490, 496, 982, 983, 984, 0, 9178 0, 996, 0, 0, 0, 0, 1067, 1081, 0, 0, 9179 0, -2, 0, -2, 1092, 0, 1136, 0, 1128, 0, 9180 1120, 0, 1123, 814, 814, -2, 654, 659, 0, 0, 9181 582, 1136, 1153, 0, 1174, 0, 0, 0, 0, 0, 9182 0, 0, 1154, 0, 1167, 449, 1303, -2, 1316, 1318, 9183 0, 1080, 1321, 1322, 0, 0, 0, 0, 0, 0, 9184 1366, 1330, 0, 0, 1334, 1335, 1336, 0, 0, 1339, 9185 0, 1671, 1672, 0, 1343, 0, 0, 0, 0, 0, 9186 0, 0, 1282, 408, 409, 0, 411, 412, 1763, 1341, 9187 451, 405, 1763, 421, 1235, 1238, 1239, 472, 469, 470, 9188 988, 991, 1000, 681, 761, 312, 313, 852, 0, 845, 9189 875, 872, 0, 0, 937, 811, 813, 86, 91, 0, 9190 0, 728, 0, 725, 0, 719, 721, 147, 689, 726, 9191 107, 139, 0, 0, 1403, 1500, 1550, 1472, 1473, 0, 9192 1461, 0, 1455, 1456, 1457, 1462, 0, 0, 748, 743, 9193 60, 68, 0, 0, 0, 939, 946, 960, 1086, 1264, 9194 945, 0, 0, 483, 488, 0, 491, 492, 0, 986, 9195 987, 0, 994, 0, 0, 1054, 1742, 0, 1076, 1077, 9196 1078, 1188, 1189, 1190, 1146, 1094, 0, -2, 1199, 0, 9197 1090, 1112, 1146, 0, 1124, 0, 1131, 0, 1129, 1122, 9198 766, 655, 595, 1133, 398, 1185, 1175, 0, 1177, 0, 9199 0, 0, 0, 1156, -2, 0, 1317, 1319, 1320, 1323, 9200 1324, 1325, 1371, 1372, 1373, 0, 0, 1328, 1368, 1369, 9201 1370, 1329, 0, 0, 0, 0, 0, 1669, 1670, 1364, 9202 0, 0, 1289, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 9203 1290, 0, 0, 0, 1281, 1283, 410, 0, 0, 1763, 9204 1001, 309, 0, 0, 876, 878, 873, 874, 81, 83, 9205 98, 0, 727, 138, 0, 728, 109, 0, 130, 0, 9206 1113, 0, 1471, 1458, 0, 0, 0, 0, 0, 1673, 9207 1674, 1675, 0, 1418, 1422, 0, 67, 0, 0, 961, 9208 962, 970, 971, 0, 973, 974, 489, 989, 993, 996, 9209 0, 1045, 0, 772, 0, 1148, 0, 1096, 1079, 1201, 9210 1763, 1099, 1148, 0, 1193, 1763, 1763, 1114, 0, 1126, 9211 0, 1138, 0, 1132, 761, 391, 0, 1135, 1171, 1176, 9212 1178, 1180, 0, 1184, 1182, 1157, -2, 0, 1165, 0, 9213 0, 1326, 1327, 0, 0, 1569, 1763, 0, 1359, 0, 9214 1045, 1045, 1045, 1045, 0, 462, 420, 0, 853, 867, 9215 0, 0, 0, 717, 99, 0, 108, 127, 0, 140, 9216 141, 0, 0, 0, 0, 1105, 0, 1447, 0, 0, 9217 0, 1451, 1452, 1453, 1454, 69, 0, 0, 938, 0, 9218 972, 995, 997, 1044, 1055, 1056, 772, 1089, 0, 1185, 9219 1200, 0, 1091, 1192, 0, 0, 0, 1125, 1137, 0, 9220 1140, 653, 1134, 1152, 0, 1181, 1158, 1166, 0, 1161, 9221 0, 0, 0, 1367, 0, 1333, 0, 1338, 1347, 1360, 9222 0, 0, 1270, 0, 1272, 0, 1276, 0, 1278, 0, 9223 0, 422, 877, 879, 0, 730, 720, 110, 114, 0, 9224 136, 133, 0, 142, 0, 0, 0, 0, 1101, 0, 9225 0, 1448, 1449, 1450, 0, 0, 940, 941, 954, 1046, 9226 1763, 1763, 0, 0, 0, 1052, 1053, 1057, 0, 1173, 9227 1205, 1194, 1195, 1196, 1139, 1172, 1160, 0, -2, 1168, 9228 0, 0, 1621, 1631, 1632, 1331, 1337, 1346, 1348, 1349, 9229 0, 1361, 1362, 1363, 1365, 1045, 1045, 1045, 1045, 1280, 9230 729, 0, 101, 0, 0, 131, 132, 134, 0, 143, 9231 0, 145, 146, 0, 1459, 70, 942, 0, 0, 1049, 9232 1050, 0, 1149, 0, 1151, 1162, -2, 0, 1170, 0, 9233 1332, 1350, 0, 1351, 0, 0, 0, 1271, 1273, 1277, 9234 1279, 731, 1111, 0, 115, 0, 117, 119, 120, 1304, 9235 128, 129, 135, 144, 0, 927, 943, 0, 1047, 1048, 9236 1051, 0, 1153, 1169, 1622, 1352, 1354, 1355, 0, 0, 9237 1353, 102, 103, 0, 116, 0, 0, 1106, 944, 1150, 9238 1147, 1356, 1358, 1357, 0, 0, 118, 1305, 104, 105, 9239 106, 0, 1306, 9240 } 9241 9242 var yyTok1 = [...]int{ 9243 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9244 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9245 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9246 3, 3, 3, 115, 3, 3, 3, 146, 138, 3, 9247 82, 83, 143, 141, 156, 142, 155, 144, 3, 3, 9248 3, 3, 3, 3, 3, 3, 3, 3, 637, 634, 9249 125, 124, 126, 3, 638, 3, 3, 3, 3, 3, 9250 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9251 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9252 3, 3, 3, 3, 148, 3, 3, 3, 3, 3, 9253 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9254 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9255 3, 3, 3, 635, 137, 636, 149, 9256 } 9257 9258 var yyTok2 = [...]int{ 9259 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 9260 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9261 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 9262 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 9263 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 9264 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 9265 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 9266 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 9267 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 9268 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 9269 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 9270 114, 116, 117, 118, 119, 120, 121, 122, 123, 127, 9271 128, 129, 130, 131, 132, 133, 134, 135, 136, 139, 9272 140, 145, 147, 150, 151, 152, 153, 154, 157, 158, 9273 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 9274 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 9275 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 9276 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 9277 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 9278 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 9279 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 9280 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 9281 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 9282 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 9283 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 9284 269, 270, 271, 272, 273, 274, 9285 } 9286 9287 var yyTok3 = [...]int{ 9288 57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279, 9289 57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284, 9290 57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289, 9291 57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294, 9292 57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299, 9293 57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304, 9294 57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309, 9295 57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314, 9296 57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319, 9297 57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324, 9298 57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329, 9299 57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334, 9300 57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339, 9301 57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344, 9302 57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349, 9303 57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354, 9304 57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359, 9305 57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364, 9306 57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369, 9307 57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374, 9308 57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379, 9309 57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384, 9310 57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389, 9311 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, 9312 57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399, 9313 57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404, 9314 57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409, 9315 57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414, 9316 57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419, 9317 57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424, 9318 57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429, 9319 57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434, 9320 57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439, 9321 57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444, 9322 57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449, 9323 57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454, 9324 57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459, 9325 57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464, 9326 57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469, 9327 57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474, 9328 57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479, 9329 57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484, 9330 57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489, 9331 57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494, 9332 57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499, 9333 57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504, 9334 57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509, 9335 57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514, 9336 57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519, 9337 57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524, 9338 57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529, 9339 57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534, 9340 57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539, 9341 57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544, 9342 57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549, 9343 57875, 550, 57876, 551, 57877, 552, 57878, 553, 57879, 554, 9344 57880, 555, 57881, 556, 57882, 557, 57883, 558, 57884, 559, 9345 57885, 560, 57886, 561, 57887, 562, 57888, 563, 57889, 564, 9346 57890, 565, 57891, 566, 57892, 567, 57893, 568, 57894, 569, 9347 57895, 570, 57896, 571, 57897, 572, 57898, 573, 57899, 574, 9348 57900, 575, 57901, 576, 57902, 577, 57903, 578, 57904, 579, 9349 57905, 580, 57906, 581, 57907, 582, 57908, 583, 57909, 584, 9350 57910, 585, 57911, 586, 57912, 587, 57913, 588, 57914, 589, 9351 57915, 590, 57916, 591, 57917, 592, 57918, 593, 57919, 594, 9352 57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599, 9353 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 9354 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, 9355 57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614, 9356 57940, 615, 57941, 616, 57942, 617, 57943, 618, 57944, 619, 9357 57945, 620, 57946, 621, 57947, 622, 57948, 623, 57949, 624, 9358 57950, 625, 57951, 626, 57952, 627, 57953, 628, 57954, 629, 9359 57955, 630, 57956, 631, 57957, 632, 57958, 633, 0, 9360 } 9361 9362 var yyErrorMessages = [...]struct { 9363 state int 9364 token int 9365 msg string 9366 }{} 9367 9368 //line yaccpar:1 9369 9370 /* parser for yacc output */ 9371 9372 func yyIaddr(v interface{}) __yyunsafe__.Pointer { 9373 type h struct { 9374 t __yyunsafe__.Pointer 9375 p __yyunsafe__.Pointer 9376 } 9377 return (*h)(__yyunsafe__.Pointer(&v)).p 9378 } 9379 9380 var ( 9381 yyDebug = 0 9382 yyErrorVerbose = false 9383 ) 9384 9385 type yyLexer interface { 9386 Lex(lval *yySymType) int 9387 Error(s string) 9388 } 9389 9390 type yyParser interface { 9391 Parse(yyLexer) int 9392 Lookahead() int 9393 } 9394 9395 type yyParserImpl struct { 9396 lval yySymType 9397 stack [yyInitialStackSize]yySymType 9398 char int 9399 } 9400 9401 func (p *yyParserImpl) Lookahead() int { 9402 return p.char 9403 } 9404 9405 func yyNewParser() yyParser { 9406 return &yyParserImpl{} 9407 } 9408 9409 const yyFlag = -1000 9410 9411 func yyTokname(c int) string { 9412 if c >= 1 && c-1 < len(yyToknames) { 9413 if yyToknames[c-1] != "" { 9414 return yyToknames[c-1] 9415 } 9416 } 9417 return __yyfmt__.Sprintf("tok-%v", c) 9418 } 9419 9420 func yyStatname(s int) string { 9421 if s >= 0 && s < len(yyStatenames) { 9422 if yyStatenames[s] != "" { 9423 return yyStatenames[s] 9424 } 9425 } 9426 return __yyfmt__.Sprintf("state-%v", s) 9427 } 9428 9429 func yyErrorMessage(state, lookAhead int) string { 9430 const TOKSTART = 4 9431 9432 if !yyErrorVerbose { 9433 return "syntax error" 9434 } 9435 9436 for _, e := range yyErrorMessages { 9437 if e.state == state && e.token == lookAhead { 9438 return "syntax error: " + e.msg 9439 } 9440 } 9441 9442 res := "syntax error: unexpected " + yyTokname(lookAhead) 9443 9444 // To match Bison, suggest at most four expected tokens. 9445 expected := make([]int, 0, 4) 9446 9447 // Look for shiftable tokens. 9448 base := yyPact[state] 9449 for tok := TOKSTART; tok-1 < len(yyToknames); tok++ { 9450 if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok { 9451 if len(expected) == cap(expected) { 9452 return res 9453 } 9454 expected = append(expected, tok) 9455 } 9456 } 9457 9458 if yyDef[state] == -2 { 9459 i := 0 9460 for yyExca[i] != -1 || yyExca[i+1] != state { 9461 i += 2 9462 } 9463 9464 // Look for tokens that we accept or reduce. 9465 for i += 2; yyExca[i] >= 0; i += 2 { 9466 tok := yyExca[i] 9467 if tok < TOKSTART || yyExca[i+1] == 0 { 9468 continue 9469 } 9470 if len(expected) == cap(expected) { 9471 return res 9472 } 9473 expected = append(expected, tok) 9474 } 9475 9476 // If the default action is to accept or reduce, give up. 9477 if yyExca[i+1] != 0 { 9478 return res 9479 } 9480 } 9481 9482 for i, tok := range expected { 9483 if i == 0 { 9484 res += ", expecting " 9485 } else { 9486 res += " or " 9487 } 9488 res += yyTokname(tok) 9489 } 9490 return res 9491 } 9492 9493 func yylex1(lex yyLexer, lval *yySymType) (char, token int) { 9494 token = 0 9495 char = lex.Lex(lval) 9496 if char <= 0 { 9497 token = yyTok1[0] 9498 goto out 9499 } 9500 if char < len(yyTok1) { 9501 token = yyTok1[char] 9502 goto out 9503 } 9504 if char >= yyPrivate { 9505 if char < yyPrivate+len(yyTok2) { 9506 token = yyTok2[char-yyPrivate] 9507 goto out 9508 } 9509 } 9510 for i := 0; i < len(yyTok3); i += 2 { 9511 token = yyTok3[i+0] 9512 if token == char { 9513 token = yyTok3[i+1] 9514 goto out 9515 } 9516 } 9517 9518 out: 9519 if token == 0 { 9520 token = yyTok2[1] /* unknown char */ 9521 } 9522 if yyDebug >= 3 { 9523 __yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char)) 9524 } 9525 return char, token 9526 } 9527 9528 func yyParse(yylex yyLexer) int { 9529 return yyNewParser().Parse(yylex) 9530 } 9531 9532 func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int { 9533 var yyn int 9534 var yyVAL yySymType 9535 var yyDollar []yySymType 9536 _ = yyDollar // silence set and not used 9537 yyS := yyrcvr.stack[:] 9538 9539 Nerrs := 0 /* number of errors */ 9540 Errflag := 0 /* error recovery flag */ 9541 yystate := 0 9542 yyrcvr.char = -1 9543 yytoken := -1 // yyrcvr.char translated into internal numbering 9544 defer func() { 9545 // Make sure we report no lookahead when not parsing. 9546 yystate = -1 9547 yyrcvr.char = -1 9548 yytoken = -1 9549 }() 9550 yyp := -1 9551 goto yystack 9552 9553 ret0: 9554 return 0 9555 9556 ret1: 9557 return 1 9558 9559 yystack: 9560 /* put a state and value onto the stack */ 9561 if yyDebug >= 4 { 9562 __yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate)) 9563 } 9564 9565 yyp++ 9566 if yyp >= len(yyS) { 9567 nyys := make([]yySymType, len(yyS)*2) 9568 copy(nyys, yyS) 9569 yyS = nyys 9570 } 9571 yyS[yyp] = yyVAL 9572 yyS[yyp].yys = yystate 9573 9574 yynewstate: 9575 yyn = yyPact[yystate] 9576 if yyn <= yyFlag { 9577 goto yydefault /* simple state */ 9578 } 9579 if yyrcvr.char < 0 { 9580 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 9581 } 9582 yyn += yytoken 9583 if yyn < 0 || yyn >= yyLast { 9584 goto yydefault 9585 } 9586 yyn = yyAct[yyn] 9587 if yyChk[yyn] == yytoken { /* valid shift */ 9588 yyrcvr.char = -1 9589 yytoken = -1 9590 yyVAL = yyrcvr.lval 9591 yystate = yyn 9592 if Errflag > 0 { 9593 Errflag-- 9594 } 9595 goto yystack 9596 } 9597 9598 yydefault: 9599 /* default state action */ 9600 yyn = yyDef[yystate] 9601 if yyn == -2 { 9602 if yyrcvr.char < 0 { 9603 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 9604 } 9605 9606 /* look through exception table */ 9607 xi := 0 9608 for { 9609 if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate { 9610 break 9611 } 9612 xi += 2 9613 } 9614 for xi += 2; ; xi += 2 { 9615 yyn = yyExca[xi+0] 9616 if yyn < 0 || yyn == yytoken { 9617 break 9618 } 9619 } 9620 yyn = yyExca[xi+1] 9621 if yyn < 0 { 9622 goto ret0 9623 } 9624 } 9625 if yyn == 0 { 9626 /* error ... attempt to resume parsing */ 9627 switch Errflag { 9628 case 0: /* brand new error */ 9629 yylex.Error(yyErrorMessage(yystate, yytoken)) 9630 Nerrs++ 9631 if yyDebug >= 1 { 9632 __yyfmt__.Printf("%s", yyStatname(yystate)) 9633 __yyfmt__.Printf(" saw %s\n", yyTokname(yytoken)) 9634 } 9635 fallthrough 9636 9637 case 1, 2: /* incompletely recovered error ... try again */ 9638 Errflag = 3 9639 9640 /* find a state where "error" is a legal shift action */ 9641 for yyp >= 0 { 9642 yyn = yyPact[yyS[yyp].yys] + yyErrCode 9643 if yyn >= 0 && yyn < yyLast { 9644 yystate = yyAct[yyn] /* simulate a shift of "error" */ 9645 if yyChk[yystate] == yyErrCode { 9646 goto yystack 9647 } 9648 } 9649 9650 /* the current p has no shift on "error", pop stack */ 9651 if yyDebug >= 2 { 9652 __yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys) 9653 } 9654 yyp-- 9655 } 9656 /* there is no state on the stack with an error shift ... abort */ 9657 goto ret1 9658 9659 case 3: /* no shift yet; clobber input char */ 9660 if yyDebug >= 2 { 9661 __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken)) 9662 } 9663 if yytoken == yyEofCode { 9664 goto ret1 9665 } 9666 yyrcvr.char = -1 9667 yytoken = -1 9668 goto yynewstate /* try again in the same state */ 9669 } 9670 } 9671 9672 /* reduction by production yyn */ 9673 if yyDebug >= 2 { 9674 __yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate)) 9675 } 9676 9677 yynt := yyn 9678 yypt := yyp 9679 _ = yypt // guard against "declared and not used" 9680 9681 yyp -= yyR2[yyn] 9682 // yyp is now the index of $0. Perform the default action. Iff the 9683 // reduced production is ε, $1 is possibly out of range. 9684 if yyp+1 >= len(yyS) { 9685 nyys := make([]yySymType, len(yyS)*2) 9686 copy(nyys, yyS) 9687 yyS = nyys 9688 } 9689 yyVAL = yyS[yyp+1] 9690 9691 /* consult goto table to find next state */ 9692 yyn = yyR1[yyn] 9693 yyg := yyPgo[yyn] 9694 yyj := yyg + yyS[yyp].yys + 1 9695 9696 if yyj >= yyLast { 9697 yystate = yyAct[yyg] 9698 } else { 9699 yystate = yyAct[yyj] 9700 if yyChk[yystate] != -yyn { 9701 yystate = yyAct[yyg] 9702 } 9703 } 9704 // dummy call; replaced with literal code 9705 switch yynt { 9706 9707 case 2: 9708 yyDollar = yyS[yypt-1 : yypt+1] 9709 //line mysql_sql.y:815 9710 { 9711 yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion()) 9712 } 9713 case 4: 9714 yyDollar = yyS[yypt-1 : yypt+1] 9715 //line mysql_sql.y:822 9716 { 9717 if yyDollar[1].statementUnion() != nil { 9718 yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion()) 9719 } 9720 } 9721 case 5: 9722 yyDollar = yyS[yypt-3 : yypt+1] 9723 //line mysql_sql.y:828 9724 { 9725 if yyDollar[3].statementUnion() != nil { 9726 yylex.(*Lexer).AppendStmt(yyDollar[3].statementUnion()) 9727 } 9728 } 9729 case 6: 9730 yyDollar = yyS[yypt-3 : yypt+1] 9731 var yyLOCAL tree.Statement 9732 //line mysql_sql.y:836 9733 { 9734 yyLOCAL = tree.NewCompoundStmt(yyDollar[2].statementsUnion()) 9735 } 9736 yyVAL.union = yyLOCAL 9737 case 7: 9738 yyDollar = yyS[yypt-1 : yypt+1] 9739 var yyLOCAL []tree.Statement 9740 //line mysql_sql.y:842 9741 { 9742 yyLOCAL = []tree.Statement{yyDollar[1].statementUnion()} 9743 } 9744 yyVAL.union = yyLOCAL 9745 case 8: 9746 yyDollar = yyS[yypt-3 : yypt+1] 9747 var yyLOCAL []tree.Statement 9748 //line mysql_sql.y:846 9749 { 9750 yyLOCAL = append(yyDollar[1].statementsUnion(), yyDollar[3].statementUnion()) 9751 } 9752 yyVAL.union = yyLOCAL 9753 case 18: 9754 yyDollar = yyS[yypt-1 : yypt+1] 9755 var yyLOCAL tree.Statement 9756 //line mysql_sql.y:861 9757 { 9758 yyLOCAL = yyDollar[1].statementUnion() 9759 } 9760 yyVAL.union = yyLOCAL 9761 case 19: 9762 yyDollar = yyS[yypt-0 : yypt+1] 9763 var yyLOCAL tree.Statement 9764 //line mysql_sql.y:865 9765 { 9766 yyLOCAL = tree.Statement(nil) 9767 } 9768 yyVAL.union = yyLOCAL 9769 case 20: 9770 yyDollar = yyS[yypt-1 : yypt+1] 9771 var yyLOCAL tree.Statement 9772 //line mysql_sql.y:871 9773 { 9774 yyLOCAL = yyDollar[1].statementUnion() 9775 } 9776 yyVAL.union = yyLOCAL 9777 case 22: 9778 yyDollar = yyS[yypt-1 : yypt+1] 9779 var yyLOCAL tree.Statement 9780 //line mysql_sql.y:876 9781 { 9782 yyLOCAL = yyDollar[1].statementUnion() 9783 } 9784 yyVAL.union = yyLOCAL 9785 case 23: 9786 yyDollar = yyS[yypt-0 : yypt+1] 9787 var yyLOCAL tree.Statement 9788 //line mysql_sql.y:880 9789 { 9790 yyLOCAL = tree.Statement(nil) 9791 } 9792 yyVAL.union = yyLOCAL 9793 case 51: 9794 yyDollar = yyS[yypt-1 : yypt+1] 9795 var yyLOCAL tree.Statement 9796 //line mysql_sql.y:913 9797 { 9798 yyLOCAL = yyDollar[1].selectUnion() 9799 } 9800 yyVAL.union = yyLOCAL 9801 case 55: 9802 yyDollar = yyS[yypt-8 : yypt+1] 9803 var yyLOCAL tree.Statement 9804 //line mysql_sql.y:923 9805 { 9806 var timestamp = yyDollar[2].str 9807 var isS3 = false 9808 var dir = yyDollar[4].str 9809 var parallelism = yyDollar[6].str 9810 var option []string 9811 var backuptype = yyDollar[7].str 9812 var backupts = yyDollar[8].str 9813 yyLOCAL = tree.NewBackupStart(timestamp, isS3, dir, parallelism, option, backuptype, backupts) 9814 } 9815 yyVAL.union = yyLOCAL 9816 case 56: 9817 yyDollar = yyS[yypt-8 : yypt+1] 9818 var yyLOCAL tree.Statement 9819 //line mysql_sql.y:934 9820 { 9821 var timestamp = yyDollar[2].str 9822 var isS3 = true 9823 var dir string 9824 var parallelism string 9825 var option = yyDollar[5].strsUnion() 9826 var backuptype = yyDollar[7].str 9827 var backupts = yyDollar[8].str 9828 yyLOCAL = tree.NewBackupStart(timestamp, isS3, dir, parallelism, option, backuptype, backupts) 9829 } 9830 yyVAL.union = yyLOCAL 9831 case 57: 9832 yyDollar = yyS[yypt-0 : yypt+1] 9833 //line mysql_sql.y:946 9834 { 9835 yyVAL.str = "" 9836 } 9837 case 58: 9838 yyDollar = yyS[yypt-2 : yypt+1] 9839 //line mysql_sql.y:950 9840 { 9841 yyVAL.str = yyDollar[2].str 9842 } 9843 case 59: 9844 yyDollar = yyS[yypt-0 : yypt+1] 9845 //line mysql_sql.y:955 9846 { 9847 yyVAL.str = "" 9848 } 9849 case 60: 9850 yyDollar = yyS[yypt-2 : yypt+1] 9851 //line mysql_sql.y:959 9852 { 9853 yyVAL.str = yyDollar[2].str 9854 } 9855 case 61: 9856 yyDollar = yyS[yypt-6 : yypt+1] 9857 var yyLOCAL tree.Statement 9858 //line mysql_sql.y:967 9859 { 9860 yyLOCAL = &tree.CreateSnapShot{ 9861 IfNotExists: yyDollar[3].ifNotExistsUnion(), 9862 Name: tree.Identifier(yyDollar[4].cstrUnion().Compare()), 9863 Object: yyDollar[6].snapshotObjectUnion(), 9864 } 9865 } 9866 yyVAL.union = yyLOCAL 9867 case 62: 9868 yyDollar = yyS[yypt-1 : yypt+1] 9869 var yyLOCAL tree.ObjectInfo 9870 //line mysql_sql.y:977 9871 { 9872 spLevel := tree.SnapshotLevelType{ 9873 Level: tree.SNAPSHOTLEVELCLUSTER, 9874 } 9875 yyLOCAL = tree.ObjectInfo{ 9876 SLevel: spLevel, 9877 ObjName: "", 9878 } 9879 } 9880 yyVAL.union = yyLOCAL 9881 case 63: 9882 yyDollar = yyS[yypt-2 : yypt+1] 9883 var yyLOCAL tree.ObjectInfo 9884 //line mysql_sql.y:987 9885 { 9886 spLevel := tree.SnapshotLevelType{ 9887 Level: tree.SNAPSHOTLEVELACCOUNT, 9888 } 9889 yyLOCAL = tree.ObjectInfo{ 9890 SLevel: spLevel, 9891 ObjName: tree.Identifier(yyDollar[2].cstrUnion().Compare()), 9892 } 9893 } 9894 yyVAL.union = yyLOCAL 9895 case 64: 9896 yyDollar = yyS[yypt-5 : yypt+1] 9897 var yyLOCAL tree.Statement 9898 //line mysql_sql.y:1000 9899 { 9900 yyLOCAL = &tree.RestoreSnapShot{ 9901 Level: tree.RESTORELEVELCLUSTER, 9902 SnapShotName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()), 9903 } 9904 9905 } 9906 yyVAL.union = yyLOCAL 9907 case 65: 9908 yyDollar = yyS[yypt-6 : yypt+1] 9909 var yyLOCAL tree.Statement 9910 //line mysql_sql.y:1008 9911 { 9912 yyLOCAL = &tree.RestoreSnapShot{ 9913 Level: tree.RESTORELEVELACCOUNT, 9914 AccountName: tree.Identifier(yyDollar[3].cstrUnion().ToLower()), 9915 SnapShotName: tree.Identifier(yyDollar[6].cstrUnion().ToLower()), 9916 } 9917 } 9918 yyVAL.union = yyLOCAL 9919 case 66: 9920 yyDollar = yyS[yypt-8 : yypt+1] 9921 var yyLOCAL tree.Statement 9922 //line mysql_sql.y:1016 9923 { 9924 yyLOCAL = &tree.RestoreSnapShot{ 9925 Level: tree.RESTORELEVELDATABASE, 9926 AccountName: tree.Identifier(yyDollar[3].cstrUnion().ToLower()), 9927 DatabaseName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()), 9928 SnapShotName: tree.Identifier(yyDollar[8].cstrUnion().ToLower()), 9929 } 9930 } 9931 yyVAL.union = yyLOCAL 9932 case 67: 9933 yyDollar = yyS[yypt-10 : yypt+1] 9934 var yyLOCAL tree.Statement 9935 //line mysql_sql.y:1025 9936 { 9937 yyLOCAL = &tree.RestoreSnapShot{ 9938 Level: tree.RESTORELEVELTABLE, 9939 AccountName: tree.Identifier(yyDollar[3].cstrUnion().ToLower()), 9940 DatabaseName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()), 9941 TableName: tree.Identifier(yyDollar[7].cstrUnion().ToLower()), 9942 SnapShotName: tree.Identifier(yyDollar[10].cstrUnion().ToLower()), 9943 } 9944 } 9945 yyVAL.union = yyLOCAL 9946 case 68: 9947 yyDollar = yyS[yypt-9 : yypt+1] 9948 var yyLOCAL tree.Statement 9949 //line mysql_sql.y:1035 9950 { 9951 yyLOCAL = &tree.RestoreSnapShot{ 9952 Level: tree.RESTORELEVELACCOUNT, 9953 AccountName: tree.Identifier(yyDollar[3].cstrUnion().ToLower()), 9954 SnapShotName: tree.Identifier(yyDollar[6].cstrUnion().ToLower()), 9955 ToAccountName: tree.Identifier(yyDollar[9].cstrUnion().ToLower()), 9956 } 9957 } 9958 yyVAL.union = yyLOCAL 9959 case 69: 9960 yyDollar = yyS[yypt-11 : yypt+1] 9961 var yyLOCAL tree.Statement 9962 //line mysql_sql.y:1044 9963 { 9964 yyLOCAL = &tree.RestoreSnapShot{ 9965 Level: tree.RESTORELEVELDATABASE, 9966 AccountName: tree.Identifier(yyDollar[3].cstrUnion().ToLower()), 9967 DatabaseName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()), 9968 SnapShotName: tree.Identifier(yyDollar[8].cstrUnion().ToLower()), 9969 ToAccountName: tree.Identifier(yyDollar[11].cstrUnion().ToLower()), 9970 } 9971 } 9972 yyVAL.union = yyLOCAL 9973 case 70: 9974 yyDollar = yyS[yypt-13 : yypt+1] 9975 var yyLOCAL tree.Statement 9976 //line mysql_sql.y:1054 9977 { 9978 yyLOCAL = &tree.RestoreSnapShot{ 9979 Level: tree.RESTORELEVELTABLE, 9980 AccountName: tree.Identifier(yyDollar[3].cstrUnion().ToLower()), 9981 DatabaseName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()), 9982 TableName: tree.Identifier(yyDollar[7].cstrUnion().ToLower()), 9983 SnapShotName: tree.Identifier(yyDollar[10].cstrUnion().ToLower()), 9984 ToAccountName: tree.Identifier(yyDollar[13].cstrUnion().ToLower()), 9985 } 9986 } 9987 yyVAL.union = yyLOCAL 9988 case 71: 9989 yyDollar = yyS[yypt-4 : yypt+1] 9990 var yyLOCAL tree.Statement 9991 //line mysql_sql.y:1067 9992 { 9993 var connectionId uint64 9994 switch v := yyDollar[3].item.(type) { 9995 case uint64: 9996 connectionId = v 9997 case int64: 9998 connectionId = uint64(v) 9999 default: 10000 yylex.Error("parse integral fail") 10001 goto ret1 10002 } 10003 10004 yyLOCAL = &tree.Kill{ 10005 Option: yyDollar[2].killOptionUnion(), 10006 ConnectionId: connectionId, 10007 StmtOption: yyDollar[4].statementOptionUnion(), 10008 } 10009 } 10010 yyVAL.union = yyLOCAL 10011 case 72: 10012 yyDollar = yyS[yypt-0 : yypt+1] 10013 var yyLOCAL tree.KillOption 10014 //line mysql_sql.y:1087 10015 { 10016 yyLOCAL = tree.KillOption{ 10017 Exist: false, 10018 } 10019 } 10020 yyVAL.union = yyLOCAL 10021 case 73: 10022 yyDollar = yyS[yypt-1 : yypt+1] 10023 var yyLOCAL tree.KillOption 10024 //line mysql_sql.y:1093 10025 { 10026 yyLOCAL = tree.KillOption{ 10027 Exist: true, 10028 Typ: tree.KillTypeConnection, 10029 } 10030 } 10031 yyVAL.union = yyLOCAL 10032 case 74: 10033 yyDollar = yyS[yypt-1 : yypt+1] 10034 var yyLOCAL tree.KillOption 10035 //line mysql_sql.y:1100 10036 { 10037 yyLOCAL = tree.KillOption{ 10038 Exist: true, 10039 Typ: tree.KillTypeQuery, 10040 } 10041 } 10042 yyVAL.union = yyLOCAL 10043 case 75: 10044 yyDollar = yyS[yypt-0 : yypt+1] 10045 var yyLOCAL tree.StatementOption 10046 //line mysql_sql.y:1108 10047 { 10048 yyLOCAL = tree.StatementOption{ 10049 Exist: false, 10050 } 10051 } 10052 yyVAL.union = yyLOCAL 10053 case 76: 10054 yyDollar = yyS[yypt-1 : yypt+1] 10055 var yyLOCAL tree.StatementOption 10056 //line mysql_sql.y:1114 10057 { 10058 yyLOCAL = tree.StatementOption{ 10059 Exist: true, 10060 StatementId: yyDollar[1].str, 10061 } 10062 } 10063 yyVAL.union = yyLOCAL 10064 case 77: 10065 yyDollar = yyS[yypt-5 : yypt+1] 10066 var yyLOCAL tree.Statement 10067 //line mysql_sql.y:1123 10068 { 10069 yyLOCAL = &tree.CallStmt{ 10070 Name: yyDollar[2].procNameUnion(), 10071 Args: yyDollar[4].exprsUnion(), 10072 } 10073 } 10074 yyVAL.union = yyLOCAL 10075 case 78: 10076 yyDollar = yyS[yypt-2 : yypt+1] 10077 var yyLOCAL tree.Statement 10078 //line mysql_sql.y:1133 10079 { 10080 yyLOCAL = &tree.LeaveStmt{ 10081 Name: tree.Identifier(yyDollar[2].cstrUnion().ToLower()), 10082 } 10083 } 10084 yyVAL.union = yyLOCAL 10085 case 79: 10086 yyDollar = yyS[yypt-2 : yypt+1] 10087 var yyLOCAL tree.Statement 10088 //line mysql_sql.y:1141 10089 { 10090 yyLOCAL = &tree.IterateStmt{ 10091 Name: tree.Identifier(yyDollar[2].cstrUnion().ToLower()), 10092 } 10093 } 10094 yyVAL.union = yyLOCAL 10095 case 80: 10096 yyDollar = yyS[yypt-6 : yypt+1] 10097 var yyLOCAL tree.Statement 10098 //line mysql_sql.y:1149 10099 { 10100 yyLOCAL = &tree.WhileStmt{ 10101 Name: "", 10102 Cond: yyDollar[2].exprUnion(), 10103 Body: yyDollar[4].statementsUnion(), 10104 } 10105 } 10106 yyVAL.union = yyLOCAL 10107 case 81: 10108 yyDollar = yyS[yypt-9 : yypt+1] 10109 var yyLOCAL tree.Statement 10110 //line mysql_sql.y:1157 10111 { 10112 yyLOCAL = &tree.WhileStmt{ 10113 Name: tree.Identifier(yyDollar[1].cstrUnion().ToLower()), 10114 Cond: yyDollar[4].exprUnion(), 10115 Body: yyDollar[6].statementsUnion(), 10116 } 10117 } 10118 yyVAL.union = yyLOCAL 10119 case 82: 10120 yyDollar = yyS[yypt-6 : yypt+1] 10121 var yyLOCAL tree.Statement 10122 //line mysql_sql.y:1167 10123 { 10124 yyLOCAL = &tree.RepeatStmt{ 10125 Name: "", 10126 Body: yyDollar[2].statementsUnion(), 10127 Cond: yyDollar[4].exprUnion(), 10128 } 10129 } 10130 yyVAL.union = yyLOCAL 10131 case 83: 10132 yyDollar = yyS[yypt-9 : yypt+1] 10133 var yyLOCAL tree.Statement 10134 //line mysql_sql.y:1175 10135 { 10136 yyLOCAL = &tree.RepeatStmt{ 10137 Name: tree.Identifier(yyDollar[1].cstrUnion().ToLower()), 10138 Body: yyDollar[4].statementsUnion(), 10139 Cond: yyDollar[6].exprUnion(), 10140 } 10141 } 10142 yyVAL.union = yyLOCAL 10143 case 84: 10144 yyDollar = yyS[yypt-4 : yypt+1] 10145 var yyLOCAL tree.Statement 10146 //line mysql_sql.y:1185 10147 { 10148 yyLOCAL = &tree.LoopStmt{ 10149 Name: "", 10150 Body: yyDollar[2].statementsUnion(), 10151 } 10152 } 10153 yyVAL.union = yyLOCAL 10154 case 85: 10155 yyDollar = yyS[yypt-7 : yypt+1] 10156 var yyLOCAL tree.Statement 10157 //line mysql_sql.y:1192 10158 { 10159 yyLOCAL = &tree.LoopStmt{ 10160 Name: tree.Identifier(yyDollar[1].cstrUnion().ToLower()), 10161 Body: yyDollar[4].statementsUnion(), 10162 } 10163 } 10164 yyVAL.union = yyLOCAL 10165 case 86: 10166 yyDollar = yyS[yypt-8 : yypt+1] 10167 var yyLOCAL tree.Statement 10168 //line mysql_sql.y:1201 10169 { 10170 yyLOCAL = &tree.IfStmt{ 10171 Cond: yyDollar[2].exprUnion(), 10172 Body: yyDollar[4].statementsUnion(), 10173 Elifs: yyDollar[5].elseIfClauseListUnion(), 10174 Else: yyDollar[6].statementsUnion(), 10175 } 10176 } 10177 yyVAL.union = yyLOCAL 10178 case 87: 10179 yyDollar = yyS[yypt-0 : yypt+1] 10180 var yyLOCAL []*tree.ElseIfStmt 10181 //line mysql_sql.y:1211 10182 { 10183 yyLOCAL = nil 10184 } 10185 yyVAL.union = yyLOCAL 10186 case 88: 10187 yyDollar = yyS[yypt-1 : yypt+1] 10188 var yyLOCAL []*tree.ElseIfStmt 10189 //line mysql_sql.y:1215 10190 { 10191 yyLOCAL = yyDollar[1].elseIfClauseListUnion() 10192 } 10193 yyVAL.union = yyLOCAL 10194 case 89: 10195 yyDollar = yyS[yypt-1 : yypt+1] 10196 var yyLOCAL []*tree.ElseIfStmt 10197 //line mysql_sql.y:1221 10198 { 10199 yyLOCAL = []*tree.ElseIfStmt{yyDollar[1].elseIfClauseUnion()} 10200 } 10201 yyVAL.union = yyLOCAL 10202 case 90: 10203 yyDollar = yyS[yypt-2 : yypt+1] 10204 var yyLOCAL []*tree.ElseIfStmt 10205 //line mysql_sql.y:1225 10206 { 10207 yyLOCAL = append(yyDollar[1].elseIfClauseListUnion(), yyDollar[2].elseIfClauseUnion()) 10208 } 10209 yyVAL.union = yyLOCAL 10210 case 91: 10211 yyDollar = yyS[yypt-4 : yypt+1] 10212 var yyLOCAL *tree.ElseIfStmt 10213 //line mysql_sql.y:1231 10214 { 10215 yyLOCAL = &tree.ElseIfStmt{ 10216 Cond: yyDollar[2].exprUnion(), 10217 Body: yyDollar[4].statementsUnion(), 10218 } 10219 } 10220 yyVAL.union = yyLOCAL 10221 case 92: 10222 yyDollar = yyS[yypt-6 : yypt+1] 10223 var yyLOCAL tree.Statement 10224 //line mysql_sql.y:1240 10225 { 10226 yyLOCAL = &tree.CaseStmt{ 10227 Expr: yyDollar[2].exprUnion(), 10228 Whens: yyDollar[3].whenClauseList2Union(), 10229 Else: yyDollar[4].statementsUnion(), 10230 } 10231 } 10232 yyVAL.union = yyLOCAL 10233 case 93: 10234 yyDollar = yyS[yypt-1 : yypt+1] 10235 var yyLOCAL []*tree.WhenStmt 10236 //line mysql_sql.y:1250 10237 { 10238 yyLOCAL = []*tree.WhenStmt{yyDollar[1].whenClause2Union()} 10239 } 10240 yyVAL.union = yyLOCAL 10241 case 94: 10242 yyDollar = yyS[yypt-2 : yypt+1] 10243 var yyLOCAL []*tree.WhenStmt 10244 //line mysql_sql.y:1254 10245 { 10246 yyLOCAL = append(yyDollar[1].whenClauseList2Union(), yyDollar[2].whenClause2Union()) 10247 } 10248 yyVAL.union = yyLOCAL 10249 case 95: 10250 yyDollar = yyS[yypt-4 : yypt+1] 10251 var yyLOCAL *tree.WhenStmt 10252 //line mysql_sql.y:1260 10253 { 10254 yyLOCAL = &tree.WhenStmt{ 10255 Cond: yyDollar[2].exprUnion(), 10256 Body: yyDollar[4].statementsUnion(), 10257 } 10258 } 10259 yyVAL.union = yyLOCAL 10260 case 96: 10261 yyDollar = yyS[yypt-0 : yypt+1] 10262 var yyLOCAL []tree.Statement 10263 //line mysql_sql.y:1269 10264 { 10265 yyLOCAL = nil 10266 } 10267 yyVAL.union = yyLOCAL 10268 case 97: 10269 yyDollar = yyS[yypt-2 : yypt+1] 10270 var yyLOCAL []tree.Statement 10271 //line mysql_sql.y:1273 10272 { 10273 yyLOCAL = yyDollar[2].statementsUnion() 10274 } 10275 yyVAL.union = yyLOCAL 10276 case 98: 10277 yyDollar = yyS[yypt-10 : yypt+1] 10278 var yyLOCAL tree.Statement 10279 //line mysql_sql.y:1279 10280 { 10281 ep := &tree.ExportParam{ 10282 Outfile: true, 10283 QueryId: yyDollar[3].str, 10284 FilePath: yyDollar[5].str, 10285 Fields: yyDollar[6].fieldsUnion(), 10286 Lines: yyDollar[7].linesUnion(), 10287 Header: yyDollar[8].unsignedOptUnion(), 10288 MaxFileSize: uint64(yyDollar[9].int64ValUnion()) * 1024, 10289 ForceQuote: yyDollar[10].strsUnion(), 10290 } 10291 yyLOCAL = &tree.MoDump{ 10292 ExportParams: ep, 10293 } 10294 } 10295 yyVAL.union = yyLOCAL 10296 case 99: 10297 yyDollar = yyS[yypt-11 : yypt+1] 10298 var yyLOCAL tree.Statement 10299 //line mysql_sql.y:1300 10300 { 10301 yyLOCAL = &tree.Load{ 10302 Local: yyDollar[3].boolValUnion(), 10303 Param: yyDollar[4].loadParamUnion(), 10304 DuplicateHandling: yyDollar[5].duplicateKeyUnion(), 10305 Table: yyDollar[8].tableNameUnion(), 10306 } 10307 yyLOCAL.(*tree.Load).Param.Tail = yyDollar[9].tailParamUnion() 10308 yyLOCAL.(*tree.Load).Param.Parallel = yyDollar[10].unsignedOptUnion() 10309 yyLOCAL.(*tree.Load).Param.Strict = yyDollar[11].unsignedOptUnion() 10310 } 10311 yyVAL.union = yyLOCAL 10312 case 100: 10313 yyDollar = yyS[yypt-2 : yypt+1] 10314 var yyLOCAL tree.Statement 10315 //line mysql_sql.y:1314 10316 { 10317 yyLOCAL = &tree.LoadExtension{ 10318 Name: tree.Identifier(yyDollar[2].str), 10319 } 10320 } 10321 yyVAL.union = yyLOCAL 10322 case 101: 10323 yyDollar = yyS[yypt-0 : yypt+1] 10324 var yyLOCAL tree.UpdateExprs 10325 //line mysql_sql.y:1321 10326 { 10327 yyLOCAL = nil 10328 } 10329 yyVAL.union = yyLOCAL 10330 case 102: 10331 yyDollar = yyS[yypt-2 : yypt+1] 10332 var yyLOCAL tree.UpdateExprs 10333 //line mysql_sql.y:1325 10334 { 10335 yyLOCAL = yyDollar[2].updateExprsUnion() 10336 } 10337 yyVAL.union = yyLOCAL 10338 case 103: 10339 yyDollar = yyS[yypt-1 : yypt+1] 10340 var yyLOCAL tree.UpdateExprs 10341 //line mysql_sql.y:1331 10342 { 10343 yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} 10344 } 10345 yyVAL.union = yyLOCAL 10346 case 104: 10347 yyDollar = yyS[yypt-3 : yypt+1] 10348 var yyLOCAL tree.UpdateExprs 10349 //line mysql_sql.y:1335 10350 { 10351 yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) 10352 } 10353 yyVAL.union = yyLOCAL 10354 case 105: 10355 yyDollar = yyS[yypt-3 : yypt+1] 10356 var yyLOCAL *tree.UpdateExpr 10357 //line mysql_sql.y:1341 10358 { 10359 yyLOCAL = &tree.UpdateExpr{ 10360 Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, 10361 Expr: &tree.DefaultVal{}, 10362 } 10363 } 10364 yyVAL.union = yyLOCAL 10365 case 106: 10366 yyDollar = yyS[yypt-3 : yypt+1] 10367 var yyLOCAL *tree.UpdateExpr 10368 //line mysql_sql.y:1348 10369 { 10370 yyLOCAL = &tree.UpdateExpr{ 10371 Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, 10372 Expr: yyDollar[3].exprUnion(), 10373 } 10374 } 10375 yyVAL.union = yyLOCAL 10376 case 107: 10377 yyDollar = yyS[yypt-0 : yypt+1] 10378 var yyLOCAL bool 10379 //line mysql_sql.y:1356 10380 { 10381 yyLOCAL = false 10382 } 10383 yyVAL.union = yyLOCAL 10384 case 108: 10385 yyDollar = yyS[yypt-2 : yypt+1] 10386 var yyLOCAL bool 10387 //line mysql_sql.y:1360 10388 { 10389 str := strings.ToLower(yyDollar[2].str) 10390 if str == "true" { 10391 yyLOCAL = true 10392 } else if str == "false" { 10393 yyLOCAL = false 10394 } else { 10395 yylex.Error("error strict flag") 10396 goto ret1 10397 } 10398 } 10399 yyVAL.union = yyLOCAL 10400 case 109: 10401 yyDollar = yyS[yypt-0 : yypt+1] 10402 var yyLOCAL bool 10403 //line mysql_sql.y:1372 10404 { 10405 yyLOCAL = false 10406 } 10407 yyVAL.union = yyLOCAL 10408 case 110: 10409 yyDollar = yyS[yypt-2 : yypt+1] 10410 var yyLOCAL bool 10411 //line mysql_sql.y:1376 10412 { 10413 str := strings.ToLower(yyDollar[2].str) 10414 if str == "true" { 10415 yyLOCAL = true 10416 } else if str == "false" { 10417 yyLOCAL = false 10418 } else { 10419 yylex.Error("error parallel flag") 10420 goto ret1 10421 } 10422 } 10423 yyVAL.union = yyLOCAL 10424 case 111: 10425 yyDollar = yyS[yypt-1 : yypt+1] 10426 var yyLOCAL *tree.UnresolvedName 10427 //line mysql_sql.y:1389 10428 { 10429 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare()) 10430 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin()) 10431 yyLOCAL = unResolve 10432 } 10433 yyVAL.union = yyLOCAL 10434 case 112: 10435 yyDollar = yyS[yypt-3 : yypt+1] 10436 var yyLOCAL *tree.UnresolvedName 10437 //line mysql_sql.y:1395 10438 { 10439 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare()) 10440 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin()) 10441 yyLOCAL = unResolve 10442 } 10443 yyVAL.union = yyLOCAL 10444 case 113: 10445 yyDollar = yyS[yypt-5 : yypt+1] 10446 var yyLOCAL *tree.UnresolvedName 10447 //line mysql_sql.y:1401 10448 { 10449 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare()) 10450 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin(), yyDollar[5].cstrUnion().Origin()) 10451 yyLOCAL = unResolve 10452 } 10453 yyVAL.union = yyLOCAL 10454 case 114: 10455 yyDollar = yyS[yypt-0 : yypt+1] 10456 var yyLOCAL []tree.LoadColumn 10457 //line mysql_sql.y:1408 10458 { 10459 yyLOCAL = nil 10460 } 10461 yyVAL.union = yyLOCAL 10462 case 115: 10463 yyDollar = yyS[yypt-2 : yypt+1] 10464 var yyLOCAL []tree.LoadColumn 10465 //line mysql_sql.y:1412 10466 { 10467 yyLOCAL = nil 10468 } 10469 yyVAL.union = yyLOCAL 10470 case 116: 10471 yyDollar = yyS[yypt-3 : yypt+1] 10472 var yyLOCAL []tree.LoadColumn 10473 //line mysql_sql.y:1416 10474 { 10475 yyLOCAL = yyDollar[2].loadColumnsUnion() 10476 } 10477 yyVAL.union = yyLOCAL 10478 case 117: 10479 yyDollar = yyS[yypt-1 : yypt+1] 10480 var yyLOCAL []tree.LoadColumn 10481 //line mysql_sql.y:1422 10482 { 10483 switch yyDollar[1].loadColumnUnion().(type) { 10484 case *tree.UnresolvedName: 10485 yyLOCAL = []tree.LoadColumn{yyDollar[1].loadColumnUnion().(*tree.UnresolvedName)} 10486 case *tree.VarExpr: 10487 yyLOCAL = []tree.LoadColumn{yyDollar[1].loadColumnUnion().(*tree.VarExpr)} 10488 } 10489 } 10490 yyVAL.union = yyLOCAL 10491 case 118: 10492 yyDollar = yyS[yypt-3 : yypt+1] 10493 var yyLOCAL []tree.LoadColumn 10494 //line mysql_sql.y:1431 10495 { 10496 switch yyDollar[3].loadColumnUnion().(type) { 10497 case *tree.UnresolvedName: 10498 yyLOCAL = append(yyDollar[1].loadColumnsUnion(), yyDollar[3].loadColumnUnion().(*tree.UnresolvedName)) 10499 case *tree.VarExpr: 10500 yyLOCAL = append(yyDollar[1].loadColumnsUnion(), yyDollar[3].loadColumnUnion().(*tree.VarExpr)) 10501 } 10502 } 10503 yyVAL.union = yyLOCAL 10504 case 119: 10505 yyDollar = yyS[yypt-1 : yypt+1] 10506 var yyLOCAL tree.LoadColumn 10507 //line mysql_sql.y:1442 10508 { 10509 yyLOCAL = yyDollar[1].unresolvedNameUnion() 10510 } 10511 yyVAL.union = yyLOCAL 10512 case 120: 10513 yyDollar = yyS[yypt-1 : yypt+1] 10514 var yyLOCAL tree.LoadColumn 10515 //line mysql_sql.y:1446 10516 { 10517 yyLOCAL = yyDollar[1].varExprUnion() 10518 } 10519 yyVAL.union = yyLOCAL 10520 case 121: 10521 yyDollar = yyS[yypt-1 : yypt+1] 10522 var yyLOCAL []*tree.VarExpr 10523 //line mysql_sql.y:1452 10524 { 10525 yyLOCAL = []*tree.VarExpr{yyDollar[1].varExprUnion()} 10526 } 10527 yyVAL.union = yyLOCAL 10528 case 122: 10529 yyDollar = yyS[yypt-3 : yypt+1] 10530 var yyLOCAL []*tree.VarExpr 10531 //line mysql_sql.y:1456 10532 { 10533 yyLOCAL = append(yyDollar[1].varExprsUnion(), yyDollar[3].varExprUnion()) 10534 } 10535 yyVAL.union = yyLOCAL 10536 case 123: 10537 yyDollar = yyS[yypt-1 : yypt+1] 10538 var yyLOCAL *tree.VarExpr 10539 //line mysql_sql.y:1462 10540 { 10541 yyLOCAL = yyDollar[1].varExprUnion() 10542 } 10543 yyVAL.union = yyLOCAL 10544 case 124: 10545 yyDollar = yyS[yypt-1 : yypt+1] 10546 var yyLOCAL *tree.VarExpr 10547 //line mysql_sql.y:1466 10548 { 10549 yyLOCAL = yyDollar[1].varExprUnion() 10550 } 10551 yyVAL.union = yyLOCAL 10552 case 125: 10553 yyDollar = yyS[yypt-1 : yypt+1] 10554 var yyLOCAL *tree.VarExpr 10555 //line mysql_sql.y:1472 10556 { 10557 vs := strings.Split(yyDollar[1].str, ".") 10558 var isGlobal bool 10559 if strings.ToLower(vs[0]) == "global" { 10560 isGlobal = true 10561 } 10562 var r string 10563 if len(vs) == 2 { 10564 r = vs[1] 10565 } else if len(vs) == 1 { 10566 r = vs[0] 10567 } else { 10568 yylex.Error("variable syntax error") 10569 goto ret1 10570 } 10571 yyLOCAL = &tree.VarExpr{ 10572 Name: r, 10573 System: true, 10574 Global: isGlobal, 10575 } 10576 } 10577 yyVAL.union = yyLOCAL 10578 case 126: 10579 yyDollar = yyS[yypt-1 : yypt+1] 10580 var yyLOCAL *tree.VarExpr 10581 //line mysql_sql.y:1496 10582 { 10583 // vs := strings.Split($1, ".") 10584 // var r string 10585 // if len(vs) == 2 { 10586 // r = vs[1] 10587 // } else if len(vs) == 1 { 10588 // r = vs[0] 10589 // } else { 10590 // yylex.Error("variable syntax error") 10591 // goto ret1 10592 // } 10593 yyLOCAL = &tree.VarExpr{ 10594 Name: yyDollar[1].str, 10595 System: false, 10596 Global: false, 10597 } 10598 } 10599 yyVAL.union = yyLOCAL 10600 case 127: 10601 yyDollar = yyS[yypt-0 : yypt+1] 10602 var yyLOCAL int64 10603 //line mysql_sql.y:1515 10604 { 10605 yyLOCAL = 0 10606 } 10607 yyVAL.union = yyLOCAL 10608 case 128: 10609 yyDollar = yyS[yypt-3 : yypt+1] 10610 var yyLOCAL int64 10611 //line mysql_sql.y:1519 10612 { 10613 yyLOCAL = yyDollar[2].item.(int64) 10614 } 10615 yyVAL.union = yyLOCAL 10616 case 129: 10617 yyDollar = yyS[yypt-3 : yypt+1] 10618 var yyLOCAL int64 10619 //line mysql_sql.y:1523 10620 { 10621 yyLOCAL = yyDollar[2].item.(int64) 10622 } 10623 yyVAL.union = yyLOCAL 10624 case 130: 10625 yyDollar = yyS[yypt-0 : yypt+1] 10626 var yyLOCAL *tree.Lines 10627 //line mysql_sql.y:1528 10628 { 10629 yyLOCAL = nil 10630 } 10631 yyVAL.union = yyLOCAL 10632 case 131: 10633 yyDollar = yyS[yypt-3 : yypt+1] 10634 var yyLOCAL *tree.Lines 10635 //line mysql_sql.y:1532 10636 { 10637 yyLOCAL = &tree.Lines{ 10638 StartingBy: yyDollar[2].str, 10639 TerminatedBy: &tree.Terminated{ 10640 Value: yyDollar[3].str, 10641 }, 10642 } 10643 } 10644 yyVAL.union = yyLOCAL 10645 case 132: 10646 yyDollar = yyS[yypt-3 : yypt+1] 10647 var yyLOCAL *tree.Lines 10648 //line mysql_sql.y:1541 10649 { 10650 yyLOCAL = &tree.Lines{ 10651 StartingBy: yyDollar[3].str, 10652 TerminatedBy: &tree.Terminated{ 10653 Value: yyDollar[2].str, 10654 }, 10655 } 10656 } 10657 yyVAL.union = yyLOCAL 10658 case 133: 10659 yyDollar = yyS[yypt-0 : yypt+1] 10660 //line mysql_sql.y:1551 10661 { 10662 yyVAL.str = "" 10663 } 10664 case 135: 10665 yyDollar = yyS[yypt-3 : yypt+1] 10666 //line mysql_sql.y:1558 10667 { 10668 yyVAL.str = yyDollar[3].str 10669 } 10670 case 136: 10671 yyDollar = yyS[yypt-0 : yypt+1] 10672 //line mysql_sql.y:1563 10673 { 10674 yyVAL.str = "\n" 10675 } 10676 case 138: 10677 yyDollar = yyS[yypt-3 : yypt+1] 10678 //line mysql_sql.y:1570 10679 { 10680 yyVAL.str = yyDollar[3].str 10681 } 10682 case 139: 10683 yyDollar = yyS[yypt-0 : yypt+1] 10684 var yyLOCAL *tree.Fields 10685 //line mysql_sql.y:1575 10686 { 10687 yyLOCAL = nil 10688 } 10689 yyVAL.union = yyLOCAL 10690 case 140: 10691 yyDollar = yyS[yypt-2 : yypt+1] 10692 var yyLOCAL *tree.Fields 10693 //line mysql_sql.y:1579 10694 { 10695 res := &tree.Fields{ 10696 Terminated: &tree.Terminated{ 10697 Value: "\t", 10698 }, 10699 EnclosedBy: &tree.EnclosedBy{ 10700 Value: byte(0), 10701 }, 10702 } 10703 for _, f := range yyDollar[2].fieldsListUnion() { 10704 if f.Terminated != nil { 10705 res.Terminated = f.Terminated 10706 } 10707 if f.Optionally { 10708 res.Optionally = f.Optionally 10709 } 10710 if f.EnclosedBy != nil { 10711 res.EnclosedBy = f.EnclosedBy 10712 } 10713 if f.EscapedBy != nil { 10714 res.EscapedBy = f.EscapedBy 10715 } 10716 } 10717 yyLOCAL = res 10718 } 10719 yyVAL.union = yyLOCAL 10720 case 141: 10721 yyDollar = yyS[yypt-1 : yypt+1] 10722 var yyLOCAL []*tree.Fields 10723 //line mysql_sql.y:1607 10724 { 10725 yyLOCAL = []*tree.Fields{yyDollar[1].fieldsUnion()} 10726 } 10727 yyVAL.union = yyLOCAL 10728 case 142: 10729 yyDollar = yyS[yypt-2 : yypt+1] 10730 var yyLOCAL []*tree.Fields 10731 //line mysql_sql.y:1611 10732 { 10733 yyLOCAL = append(yyDollar[1].fieldsListUnion(), yyDollar[2].fieldsUnion()) 10734 } 10735 yyVAL.union = yyLOCAL 10736 case 143: 10737 yyDollar = yyS[yypt-3 : yypt+1] 10738 var yyLOCAL *tree.Fields 10739 //line mysql_sql.y:1617 10740 { 10741 yyLOCAL = &tree.Fields{ 10742 Terminated: &tree.Terminated{ 10743 Value: yyDollar[3].str, 10744 }, 10745 } 10746 } 10747 yyVAL.union = yyLOCAL 10748 case 144: 10749 yyDollar = yyS[yypt-4 : yypt+1] 10750 var yyLOCAL *tree.Fields 10751 //line mysql_sql.y:1625 10752 { 10753 str := yyDollar[4].str 10754 if str != "\\" && len(str) > 1 { 10755 yylex.Error("error field terminator") 10756 goto ret1 10757 } 10758 var b byte 10759 if len(str) != 0 { 10760 b = byte(str[0]) 10761 } else { 10762 b = 0 10763 } 10764 yyLOCAL = &tree.Fields{ 10765 Optionally: true, 10766 EnclosedBy: &tree.EnclosedBy{ 10767 Value: b, 10768 }, 10769 } 10770 } 10771 yyVAL.union = yyLOCAL 10772 case 145: 10773 yyDollar = yyS[yypt-3 : yypt+1] 10774 var yyLOCAL *tree.Fields 10775 //line mysql_sql.y:1645 10776 { 10777 str := yyDollar[3].str 10778 if str != "\\" && len(str) > 1 { 10779 yylex.Error("error field terminator") 10780 goto ret1 10781 } 10782 var b byte 10783 if len(str) != 0 { 10784 b = byte(str[0]) 10785 } else { 10786 b = 0 10787 } 10788 yyLOCAL = &tree.Fields{ 10789 EnclosedBy: &tree.EnclosedBy{ 10790 Value: b, 10791 }, 10792 } 10793 } 10794 yyVAL.union = yyLOCAL 10795 case 146: 10796 yyDollar = yyS[yypt-3 : yypt+1] 10797 var yyLOCAL *tree.Fields 10798 //line mysql_sql.y:1664 10799 { 10800 str := yyDollar[3].str 10801 if str != "\\" && len(str) > 1 { 10802 yylex.Error("error field terminator") 10803 goto ret1 10804 } 10805 var b byte 10806 if len(str) != 0 { 10807 b = byte(str[0]) 10808 } else { 10809 b = 0 10810 } 10811 yyLOCAL = &tree.Fields{ 10812 EscapedBy: &tree.EscapedBy{ 10813 Value: b, 10814 }, 10815 } 10816 } 10817 yyVAL.union = yyLOCAL 10818 case 148: 10819 yyDollar = yyS[yypt-0 : yypt+1] 10820 var yyLOCAL tree.DuplicateKey 10821 //line mysql_sql.y:1689 10822 { 10823 yyLOCAL = &tree.DuplicateKeyError{} 10824 } 10825 yyVAL.union = yyLOCAL 10826 case 149: 10827 yyDollar = yyS[yypt-1 : yypt+1] 10828 var yyLOCAL tree.DuplicateKey 10829 //line mysql_sql.y:1693 10830 { 10831 yyLOCAL = &tree.DuplicateKeyIgnore{} 10832 } 10833 yyVAL.union = yyLOCAL 10834 case 150: 10835 yyDollar = yyS[yypt-1 : yypt+1] 10836 var yyLOCAL tree.DuplicateKey 10837 //line mysql_sql.y:1697 10838 { 10839 yyLOCAL = &tree.DuplicateKeyReplace{} 10840 } 10841 yyVAL.union = yyLOCAL 10842 case 151: 10843 yyDollar = yyS[yypt-0 : yypt+1] 10844 var yyLOCAL bool 10845 //line mysql_sql.y:1702 10846 { 10847 yyLOCAL = false 10848 } 10849 yyVAL.union = yyLOCAL 10850 case 152: 10851 yyDollar = yyS[yypt-1 : yypt+1] 10852 var yyLOCAL bool 10853 //line mysql_sql.y:1706 10854 { 10855 yyLOCAL = true 10856 } 10857 yyVAL.union = yyLOCAL 10858 case 153: 10859 yyDollar = yyS[yypt-8 : yypt+1] 10860 var yyLOCAL tree.Statement 10861 //line mysql_sql.y:1712 10862 { 10863 yyLOCAL = &tree.Grant{ 10864 Typ: tree.GrantTypePrivilege, 10865 GrantPrivilege: tree.GrantPrivilege{ 10866 Privileges: yyDollar[2].privilegesUnion(), 10867 ObjType: yyDollar[4].objectTypeUnion(), 10868 Level: yyDollar[5].privilegeLevelUnion(), 10869 Roles: yyDollar[7].rolesUnion(), 10870 GrantOption: yyDollar[8].boolValUnion(), 10871 }, 10872 } 10873 } 10874 yyVAL.union = yyLOCAL 10875 case 154: 10876 yyDollar = yyS[yypt-5 : yypt+1] 10877 var yyLOCAL tree.Statement 10878 //line mysql_sql.y:1725 10879 { 10880 yyLOCAL = &tree.Grant{ 10881 Typ: tree.GrantTypeRole, 10882 GrantRole: tree.GrantRole{ 10883 Roles: yyDollar[2].rolesUnion(), 10884 Users: yyDollar[4].usersUnion(), 10885 GrantOption: yyDollar[5].boolValUnion(), 10886 }, 10887 } 10888 } 10889 yyVAL.union = yyLOCAL 10890 case 155: 10891 yyDollar = yyS[yypt-7 : yypt+1] 10892 var yyLOCAL tree.Statement 10893 //line mysql_sql.y:1736 10894 { 10895 yyLOCAL = &tree.Grant{ 10896 Typ: tree.GrantTypeProxy, 10897 GrantProxy: tree.GrantProxy{ 10898 ProxyUser: yyDollar[4].userUnion(), 10899 Users: yyDollar[6].usersUnion(), 10900 GrantOption: yyDollar[7].boolValUnion(), 10901 }, 10902 } 10903 10904 } 10905 yyVAL.union = yyLOCAL 10906 case 156: 10907 yyDollar = yyS[yypt-0 : yypt+1] 10908 var yyLOCAL bool 10909 //line mysql_sql.y:1749 10910 { 10911 yyLOCAL = false 10912 } 10913 yyVAL.union = yyLOCAL 10914 case 157: 10915 yyDollar = yyS[yypt-3 : yypt+1] 10916 var yyLOCAL bool 10917 //line mysql_sql.y:1753 10918 { 10919 yyLOCAL = true 10920 } 10921 yyVAL.union = yyLOCAL 10922 case 158: 10923 yyDollar = yyS[yypt-8 : yypt+1] 10924 var yyLOCAL tree.Statement 10925 //line mysql_sql.y:1763 10926 { 10927 yyLOCAL = &tree.Revoke{ 10928 Typ: tree.RevokeTypePrivilege, 10929 RevokePrivilege: tree.RevokePrivilege{ 10930 IfExists: yyDollar[2].boolValUnion(), 10931 Privileges: yyDollar[3].privilegesUnion(), 10932 ObjType: yyDollar[5].objectTypeUnion(), 10933 Level: yyDollar[6].privilegeLevelUnion(), 10934 Roles: yyDollar[8].rolesUnion(), 10935 }, 10936 } 10937 } 10938 yyVAL.union = yyLOCAL 10939 case 159: 10940 yyDollar = yyS[yypt-5 : yypt+1] 10941 var yyLOCAL tree.Statement 10942 //line mysql_sql.y:1776 10943 { 10944 yyLOCAL = &tree.Revoke{ 10945 Typ: tree.RevokeTypeRole, 10946 RevokeRole: tree.RevokeRole{ 10947 IfExists: yyDollar[2].boolValUnion(), 10948 Roles: yyDollar[3].rolesUnion(), 10949 Users: yyDollar[5].usersUnion(), 10950 }, 10951 } 10952 } 10953 yyVAL.union = yyLOCAL 10954 case 160: 10955 yyDollar = yyS[yypt-1 : yypt+1] 10956 var yyLOCAL *tree.PrivilegeLevel 10957 //line mysql_sql.y:1789 10958 { 10959 yyLOCAL = &tree.PrivilegeLevel{ 10960 Level: tree.PRIVILEGE_LEVEL_TYPE_STAR, 10961 } 10962 } 10963 yyVAL.union = yyLOCAL 10964 case 161: 10965 yyDollar = yyS[yypt-3 : yypt+1] 10966 var yyLOCAL *tree.PrivilegeLevel 10967 //line mysql_sql.y:1795 10968 { 10969 yyLOCAL = &tree.PrivilegeLevel{ 10970 Level: tree.PRIVILEGE_LEVEL_TYPE_STAR_STAR, 10971 } 10972 } 10973 yyVAL.union = yyLOCAL 10974 case 162: 10975 yyDollar = yyS[yypt-3 : yypt+1] 10976 var yyLOCAL *tree.PrivilegeLevel 10977 //line mysql_sql.y:1801 10978 { 10979 yyLOCAL = &tree.PrivilegeLevel{ 10980 Level: tree.PRIVILEGE_LEVEL_TYPE_DATABASE_STAR, 10981 DbName: yyDollar[1].cstrUnion().Compare(), 10982 } 10983 } 10984 yyVAL.union = yyLOCAL 10985 case 163: 10986 yyDollar = yyS[yypt-3 : yypt+1] 10987 var yyLOCAL *tree.PrivilegeLevel 10988 //line mysql_sql.y:1808 10989 { 10990 yyLOCAL = &tree.PrivilegeLevel{ 10991 Level: tree.PRIVILEGE_LEVEL_TYPE_DATABASE_TABLE, 10992 DbName: yyDollar[1].cstrUnion().Compare(), 10993 TabName: yyDollar[3].cstrUnion().Compare(), 10994 } 10995 } 10996 yyVAL.union = yyLOCAL 10997 case 164: 10998 yyDollar = yyS[yypt-1 : yypt+1] 10999 var yyLOCAL *tree.PrivilegeLevel 11000 //line mysql_sql.y:1816 11001 { 11002 yyLOCAL = &tree.PrivilegeLevel{ 11003 Level: tree.PRIVILEGE_LEVEL_TYPE_TABLE, 11004 TabName: yyDollar[1].cstrUnion().Compare(), 11005 } 11006 } 11007 yyVAL.union = yyLOCAL 11008 case 165: 11009 yyDollar = yyS[yypt-1 : yypt+1] 11010 var yyLOCAL tree.ObjectType 11011 //line mysql_sql.y:1825 11012 { 11013 yyLOCAL = tree.OBJECT_TYPE_TABLE 11014 } 11015 yyVAL.union = yyLOCAL 11016 case 166: 11017 yyDollar = yyS[yypt-1 : yypt+1] 11018 var yyLOCAL tree.ObjectType 11019 //line mysql_sql.y:1829 11020 { 11021 yyLOCAL = tree.OBJECT_TYPE_DATABASE 11022 } 11023 yyVAL.union = yyLOCAL 11024 case 167: 11025 yyDollar = yyS[yypt-1 : yypt+1] 11026 var yyLOCAL tree.ObjectType 11027 //line mysql_sql.y:1833 11028 { 11029 yyLOCAL = tree.OBJECT_TYPE_FUNCTION 11030 } 11031 yyVAL.union = yyLOCAL 11032 case 168: 11033 yyDollar = yyS[yypt-1 : yypt+1] 11034 var yyLOCAL tree.ObjectType 11035 //line mysql_sql.y:1837 11036 { 11037 yyLOCAL = tree.OBJECT_TYPE_PROCEDURE 11038 } 11039 yyVAL.union = yyLOCAL 11040 case 169: 11041 yyDollar = yyS[yypt-1 : yypt+1] 11042 var yyLOCAL tree.ObjectType 11043 //line mysql_sql.y:1841 11044 { 11045 yyLOCAL = tree.OBJECT_TYPE_VIEW 11046 } 11047 yyVAL.union = yyLOCAL 11048 case 170: 11049 yyDollar = yyS[yypt-1 : yypt+1] 11050 var yyLOCAL tree.ObjectType 11051 //line mysql_sql.y:1845 11052 { 11053 yyLOCAL = tree.OBJECT_TYPE_ACCOUNT 11054 } 11055 yyVAL.union = yyLOCAL 11056 case 171: 11057 yyDollar = yyS[yypt-1 : yypt+1] 11058 var yyLOCAL []*tree.Privilege 11059 //line mysql_sql.y:1852 11060 { 11061 yyLOCAL = []*tree.Privilege{yyDollar[1].privilegeUnion()} 11062 } 11063 yyVAL.union = yyLOCAL 11064 case 172: 11065 yyDollar = yyS[yypt-3 : yypt+1] 11066 var yyLOCAL []*tree.Privilege 11067 //line mysql_sql.y:1856 11068 { 11069 yyLOCAL = append(yyDollar[1].privilegesUnion(), yyDollar[3].privilegeUnion()) 11070 } 11071 yyVAL.union = yyLOCAL 11072 case 173: 11073 yyDollar = yyS[yypt-1 : yypt+1] 11074 var yyLOCAL *tree.Privilege 11075 //line mysql_sql.y:1862 11076 { 11077 yyLOCAL = &tree.Privilege{ 11078 Type: yyDollar[1].privilegeTypeUnion(), 11079 ColumnList: nil, 11080 } 11081 } 11082 yyVAL.union = yyLOCAL 11083 case 174: 11084 yyDollar = yyS[yypt-4 : yypt+1] 11085 var yyLOCAL *tree.Privilege 11086 //line mysql_sql.y:1869 11087 { 11088 yyLOCAL = &tree.Privilege{ 11089 Type: yyDollar[1].privilegeTypeUnion(), 11090 ColumnList: yyDollar[3].unresolveNamesUnion(), 11091 } 11092 } 11093 yyVAL.union = yyLOCAL 11094 case 175: 11095 yyDollar = yyS[yypt-1 : yypt+1] 11096 var yyLOCAL []*tree.UnresolvedName 11097 //line mysql_sql.y:1878 11098 { 11099 yyLOCAL = []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()} 11100 } 11101 yyVAL.union = yyLOCAL 11102 case 176: 11103 yyDollar = yyS[yypt-3 : yypt+1] 11104 var yyLOCAL []*tree.UnresolvedName 11105 //line mysql_sql.y:1882 11106 { 11107 yyLOCAL = append(yyDollar[1].unresolveNamesUnion(), yyDollar[3].unresolvedNameUnion()) 11108 } 11109 yyVAL.union = yyLOCAL 11110 case 177: 11111 yyDollar = yyS[yypt-1 : yypt+1] 11112 var yyLOCAL tree.PrivilegeType 11113 //line mysql_sql.y:1888 11114 { 11115 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL 11116 } 11117 yyVAL.union = yyLOCAL 11118 case 178: 11119 yyDollar = yyS[yypt-2 : yypt+1] 11120 var yyLOCAL tree.PrivilegeType 11121 //line mysql_sql.y:1892 11122 { 11123 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ACCOUNT 11124 } 11125 yyVAL.union = yyLOCAL 11126 case 179: 11127 yyDollar = yyS[yypt-2 : yypt+1] 11128 var yyLOCAL tree.PrivilegeType 11129 //line mysql_sql.y:1896 11130 { 11131 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ACCOUNT 11132 } 11133 yyVAL.union = yyLOCAL 11134 case 180: 11135 yyDollar = yyS[yypt-2 : yypt+1] 11136 var yyLOCAL tree.PrivilegeType 11137 //line mysql_sql.y:1900 11138 { 11139 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ACCOUNT 11140 } 11141 yyVAL.union = yyLOCAL 11142 case 181: 11143 yyDollar = yyS[yypt-2 : yypt+1] 11144 var yyLOCAL tree.PrivilegeType 11145 //line mysql_sql.y:1904 11146 { 11147 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPGRADE_ACCOUNT 11148 } 11149 yyVAL.union = yyLOCAL 11150 case 182: 11151 yyDollar = yyS[yypt-2 : yypt+1] 11152 var yyLOCAL tree.PrivilegeType 11153 //line mysql_sql.y:1908 11154 { 11155 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL 11156 } 11157 yyVAL.union = yyLOCAL 11158 case 183: 11159 yyDollar = yyS[yypt-2 : yypt+1] 11160 var yyLOCAL tree.PrivilegeType 11161 //line mysql_sql.y:1912 11162 { 11163 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_TABLE 11164 } 11165 yyVAL.union = yyLOCAL 11166 case 184: 11167 yyDollar = yyS[yypt-2 : yypt+1] 11168 var yyLOCAL tree.PrivilegeType 11169 //line mysql_sql.y:1916 11170 { 11171 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_VIEW 11172 } 11173 yyVAL.union = yyLOCAL 11174 case 185: 11175 yyDollar = yyS[yypt-1 : yypt+1] 11176 var yyLOCAL tree.PrivilegeType 11177 //line mysql_sql.y:1920 11178 { 11179 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE 11180 } 11181 yyVAL.union = yyLOCAL 11182 case 186: 11183 yyDollar = yyS[yypt-2 : yypt+1] 11184 var yyLOCAL tree.PrivilegeType 11185 //line mysql_sql.y:1924 11186 { 11187 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_USER 11188 } 11189 yyVAL.union = yyLOCAL 11190 case 187: 11191 yyDollar = yyS[yypt-2 : yypt+1] 11192 var yyLOCAL tree.PrivilegeType 11193 //line mysql_sql.y:1928 11194 { 11195 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_USER 11196 } 11197 yyVAL.union = yyLOCAL 11198 case 188: 11199 yyDollar = yyS[yypt-2 : yypt+1] 11200 var yyLOCAL tree.PrivilegeType 11201 //line mysql_sql.y:1932 11202 { 11203 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_USER 11204 } 11205 yyVAL.union = yyLOCAL 11206 case 189: 11207 yyDollar = yyS[yypt-2 : yypt+1] 11208 var yyLOCAL tree.PrivilegeType 11209 //line mysql_sql.y:1936 11210 { 11211 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLESPACE 11212 } 11213 yyVAL.union = yyLOCAL 11214 case 190: 11215 yyDollar = yyS[yypt-1 : yypt+1] 11216 var yyLOCAL tree.PrivilegeType 11217 //line mysql_sql.y:1940 11218 { 11219 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRIGGER 11220 } 11221 yyVAL.union = yyLOCAL 11222 case 191: 11223 yyDollar = yyS[yypt-1 : yypt+1] 11224 var yyLOCAL tree.PrivilegeType 11225 //line mysql_sql.y:1944 11226 { 11227 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DELETE 11228 } 11229 yyVAL.union = yyLOCAL 11230 case 192: 11231 yyDollar = yyS[yypt-2 : yypt+1] 11232 var yyLOCAL tree.PrivilegeType 11233 //line mysql_sql.y:1948 11234 { 11235 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_TABLE 11236 } 11237 yyVAL.union = yyLOCAL 11238 case 193: 11239 yyDollar = yyS[yypt-2 : yypt+1] 11240 var yyLOCAL tree.PrivilegeType 11241 //line mysql_sql.y:1952 11242 { 11243 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_VIEW 11244 } 11245 yyVAL.union = yyLOCAL 11246 case 194: 11247 yyDollar = yyS[yypt-1 : yypt+1] 11248 var yyLOCAL tree.PrivilegeType 11249 //line mysql_sql.y:1956 11250 { 11251 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EXECUTE 11252 } 11253 yyVAL.union = yyLOCAL 11254 case 195: 11255 yyDollar = yyS[yypt-1 : yypt+1] 11256 var yyLOCAL tree.PrivilegeType 11257 //line mysql_sql.y:1960 11258 { 11259 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INDEX 11260 } 11261 yyVAL.union = yyLOCAL 11262 case 196: 11263 yyDollar = yyS[yypt-1 : yypt+1] 11264 var yyLOCAL tree.PrivilegeType 11265 //line mysql_sql.y:1964 11266 { 11267 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INSERT 11268 } 11269 yyVAL.union = yyLOCAL 11270 case 197: 11271 yyDollar = yyS[yypt-1 : yypt+1] 11272 var yyLOCAL tree.PrivilegeType 11273 //line mysql_sql.y:1968 11274 { 11275 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SELECT 11276 } 11277 yyVAL.union = yyLOCAL 11278 case 198: 11279 yyDollar = yyS[yypt-1 : yypt+1] 11280 var yyLOCAL tree.PrivilegeType 11281 //line mysql_sql.y:1972 11282 { 11283 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SUPER 11284 } 11285 yyVAL.union = yyLOCAL 11286 case 199: 11287 yyDollar = yyS[yypt-2 : yypt+1] 11288 var yyLOCAL tree.PrivilegeType 11289 //line mysql_sql.y:1976 11290 { 11291 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_DATABASE 11292 } 11293 yyVAL.union = yyLOCAL 11294 case 200: 11295 yyDollar = yyS[yypt-2 : yypt+1] 11296 var yyLOCAL tree.PrivilegeType 11297 //line mysql_sql.y:1980 11298 { 11299 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_DATABASE 11300 } 11301 yyVAL.union = yyLOCAL 11302 case 201: 11303 yyDollar = yyS[yypt-2 : yypt+1] 11304 var yyLOCAL tree.PrivilegeType 11305 //line mysql_sql.y:1984 11306 { 11307 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_DATABASES 11308 } 11309 yyVAL.union = yyLOCAL 11310 case 202: 11311 yyDollar = yyS[yypt-1 : yypt+1] 11312 var yyLOCAL tree.PrivilegeType 11313 //line mysql_sql.y:1988 11314 { 11315 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CONNECT 11316 } 11317 yyVAL.union = yyLOCAL 11318 case 203: 11319 yyDollar = yyS[yypt-2 : yypt+1] 11320 var yyLOCAL tree.PrivilegeType 11321 //line mysql_sql.y:1992 11322 { 11323 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_MANAGE_GRANTS 11324 } 11325 yyVAL.union = yyLOCAL 11326 case 204: 11327 yyDollar = yyS[yypt-1 : yypt+1] 11328 var yyLOCAL tree.PrivilegeType 11329 //line mysql_sql.y:1996 11330 { 11331 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_OWNERSHIP 11332 } 11333 yyVAL.union = yyLOCAL 11334 case 205: 11335 yyDollar = yyS[yypt-2 : yypt+1] 11336 var yyLOCAL tree.PrivilegeType 11337 //line mysql_sql.y:2000 11338 { 11339 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_TABLES 11340 } 11341 yyVAL.union = yyLOCAL 11342 case 206: 11343 yyDollar = yyS[yypt-2 : yypt+1] 11344 var yyLOCAL tree.PrivilegeType 11345 //line mysql_sql.y:2004 11346 { 11347 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLE 11348 } 11349 yyVAL.union = yyLOCAL 11350 case 207: 11351 yyDollar = yyS[yypt-1 : yypt+1] 11352 var yyLOCAL tree.PrivilegeType 11353 //line mysql_sql.y:2008 11354 { 11355 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPDATE 11356 } 11357 yyVAL.union = yyLOCAL 11358 case 208: 11359 yyDollar = yyS[yypt-2 : yypt+1] 11360 var yyLOCAL tree.PrivilegeType 11361 //line mysql_sql.y:2012 11362 { 11363 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_GRANT_OPTION 11364 } 11365 yyVAL.union = yyLOCAL 11366 case 209: 11367 yyDollar = yyS[yypt-1 : yypt+1] 11368 var yyLOCAL tree.PrivilegeType 11369 //line mysql_sql.y:2016 11370 { 11371 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCES 11372 } 11373 yyVAL.union = yyLOCAL 11374 case 210: 11375 yyDollar = yyS[yypt-1 : yypt+1] 11376 var yyLOCAL tree.PrivilegeType 11377 //line mysql_sql.y:2020 11378 { 11379 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCE 11380 } 11381 yyVAL.union = yyLOCAL 11382 case 211: 11383 yyDollar = yyS[yypt-2 : yypt+1] 11384 var yyLOCAL tree.PrivilegeType 11385 //line mysql_sql.y:2024 11386 { 11387 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_SLAVE 11388 } 11389 yyVAL.union = yyLOCAL 11390 case 212: 11391 yyDollar = yyS[yypt-2 : yypt+1] 11392 var yyLOCAL tree.PrivilegeType 11393 //line mysql_sql.y:2028 11394 { 11395 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_CLIENT 11396 } 11397 yyVAL.union = yyLOCAL 11398 case 213: 11399 yyDollar = yyS[yypt-1 : yypt+1] 11400 var yyLOCAL tree.PrivilegeType 11401 //line mysql_sql.y:2032 11402 { 11403 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_USAGE 11404 } 11405 yyVAL.union = yyLOCAL 11406 case 214: 11407 yyDollar = yyS[yypt-1 : yypt+1] 11408 var yyLOCAL tree.PrivilegeType 11409 //line mysql_sql.y:2036 11410 { 11411 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_RELOAD 11412 } 11413 yyVAL.union = yyLOCAL 11414 case 215: 11415 yyDollar = yyS[yypt-1 : yypt+1] 11416 var yyLOCAL tree.PrivilegeType 11417 //line mysql_sql.y:2040 11418 { 11419 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_FILE 11420 } 11421 yyVAL.union = yyLOCAL 11422 case 216: 11423 yyDollar = yyS[yypt-3 : yypt+1] 11424 var yyLOCAL tree.PrivilegeType 11425 //line mysql_sql.y:2044 11426 { 11427 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TEMPORARY_TABLES 11428 } 11429 yyVAL.union = yyLOCAL 11430 case 217: 11431 yyDollar = yyS[yypt-2 : yypt+1] 11432 var yyLOCAL tree.PrivilegeType 11433 //line mysql_sql.y:2048 11434 { 11435 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_LOCK_TABLES 11436 } 11437 yyVAL.union = yyLOCAL 11438 case 218: 11439 yyDollar = yyS[yypt-2 : yypt+1] 11440 var yyLOCAL tree.PrivilegeType 11441 //line mysql_sql.y:2052 11442 { 11443 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_VIEW 11444 } 11445 yyVAL.union = yyLOCAL 11446 case 219: 11447 yyDollar = yyS[yypt-2 : yypt+1] 11448 var yyLOCAL tree.PrivilegeType 11449 //line mysql_sql.y:2056 11450 { 11451 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_VIEW 11452 } 11453 yyVAL.union = yyLOCAL 11454 case 220: 11455 yyDollar = yyS[yypt-2 : yypt+1] 11456 var yyLOCAL tree.PrivilegeType 11457 //line mysql_sql.y:2060 11458 { 11459 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROLE 11460 } 11461 yyVAL.union = yyLOCAL 11462 case 221: 11463 yyDollar = yyS[yypt-2 : yypt+1] 11464 var yyLOCAL tree.PrivilegeType 11465 //line mysql_sql.y:2064 11466 { 11467 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ROLE 11468 } 11469 yyVAL.union = yyLOCAL 11470 case 222: 11471 yyDollar = yyS[yypt-2 : yypt+1] 11472 var yyLOCAL tree.PrivilegeType 11473 //line mysql_sql.y:2068 11474 { 11475 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROLE 11476 } 11477 yyVAL.union = yyLOCAL 11478 case 223: 11479 yyDollar = yyS[yypt-2 : yypt+1] 11480 var yyLOCAL tree.PrivilegeType 11481 //line mysql_sql.y:2072 11482 { 11483 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROUTINE 11484 } 11485 yyVAL.union = yyLOCAL 11486 case 224: 11487 yyDollar = yyS[yypt-2 : yypt+1] 11488 var yyLOCAL tree.PrivilegeType 11489 //line mysql_sql.y:2076 11490 { 11491 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROUTINE 11492 } 11493 yyVAL.union = yyLOCAL 11494 case 225: 11495 yyDollar = yyS[yypt-1 : yypt+1] 11496 var yyLOCAL tree.PrivilegeType 11497 //line mysql_sql.y:2080 11498 { 11499 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EVENT 11500 } 11501 yyVAL.union = yyLOCAL 11502 case 226: 11503 yyDollar = yyS[yypt-1 : yypt+1] 11504 var yyLOCAL tree.PrivilegeType 11505 //line mysql_sql.y:2084 11506 { 11507 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHUTDOWN 11508 } 11509 yyVAL.union = yyLOCAL 11510 case 227: 11511 yyDollar = yyS[yypt-1 : yypt+1] 11512 var yyLOCAL tree.PrivilegeType 11513 //line mysql_sql.y:2088 11514 { 11515 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRUNCATE 11516 } 11517 yyVAL.union = yyLOCAL 11518 case 233: 11519 yyDollar = yyS[yypt-3 : yypt+1] 11520 var yyLOCAL tree.Statement 11521 //line mysql_sql.y:2101 11522 { 11523 yyLOCAL = &tree.SetTransaction{ 11524 Global: false, 11525 CharacterList: yyDollar[3].transactionCharacteristicListUnion(), 11526 } 11527 } 11528 yyVAL.union = yyLOCAL 11529 case 234: 11530 yyDollar = yyS[yypt-4 : yypt+1] 11531 var yyLOCAL tree.Statement 11532 //line mysql_sql.y:2108 11533 { 11534 yyLOCAL = &tree.SetTransaction{ 11535 Global: true, 11536 CharacterList: yyDollar[4].transactionCharacteristicListUnion(), 11537 } 11538 } 11539 yyVAL.union = yyLOCAL 11540 case 235: 11541 yyDollar = yyS[yypt-4 : yypt+1] 11542 var yyLOCAL tree.Statement 11543 //line mysql_sql.y:2115 11544 { 11545 yyLOCAL = &tree.SetTransaction{ 11546 Global: false, 11547 CharacterList: yyDollar[4].transactionCharacteristicListUnion(), 11548 } 11549 } 11550 yyVAL.union = yyLOCAL 11551 case 236: 11552 yyDollar = yyS[yypt-1 : yypt+1] 11553 var yyLOCAL []*tree.TransactionCharacteristic 11554 //line mysql_sql.y:2125 11555 { 11556 yyLOCAL = []*tree.TransactionCharacteristic{yyDollar[1].transactionCharacteristicUnion()} 11557 } 11558 yyVAL.union = yyLOCAL 11559 case 237: 11560 yyDollar = yyS[yypt-3 : yypt+1] 11561 var yyLOCAL []*tree.TransactionCharacteristic 11562 //line mysql_sql.y:2129 11563 { 11564 yyLOCAL = append(yyDollar[1].transactionCharacteristicListUnion(), yyDollar[3].transactionCharacteristicUnion()) 11565 } 11566 yyVAL.union = yyLOCAL 11567 case 238: 11568 yyDollar = yyS[yypt-3 : yypt+1] 11569 var yyLOCAL *tree.TransactionCharacteristic 11570 //line mysql_sql.y:2135 11571 { 11572 yyLOCAL = &tree.TransactionCharacteristic{ 11573 IsLevel: true, 11574 Isolation: yyDollar[3].isolationLevelUnion(), 11575 } 11576 } 11577 yyVAL.union = yyLOCAL 11578 case 239: 11579 yyDollar = yyS[yypt-1 : yypt+1] 11580 var yyLOCAL *tree.TransactionCharacteristic 11581 //line mysql_sql.y:2142 11582 { 11583 yyLOCAL = &tree.TransactionCharacteristic{ 11584 Access: yyDollar[1].accessModeUnion(), 11585 } 11586 } 11587 yyVAL.union = yyLOCAL 11588 case 240: 11589 yyDollar = yyS[yypt-2 : yypt+1] 11590 var yyLOCAL tree.IsolationLevelType 11591 //line mysql_sql.y:2150 11592 { 11593 yyLOCAL = tree.ISOLATION_LEVEL_REPEATABLE_READ 11594 } 11595 yyVAL.union = yyLOCAL 11596 case 241: 11597 yyDollar = yyS[yypt-2 : yypt+1] 11598 var yyLOCAL tree.IsolationLevelType 11599 //line mysql_sql.y:2154 11600 { 11601 yyLOCAL = tree.ISOLATION_LEVEL_READ_COMMITTED 11602 } 11603 yyVAL.union = yyLOCAL 11604 case 242: 11605 yyDollar = yyS[yypt-2 : yypt+1] 11606 var yyLOCAL tree.IsolationLevelType 11607 //line mysql_sql.y:2158 11608 { 11609 yyLOCAL = tree.ISOLATION_LEVEL_READ_UNCOMMITTED 11610 } 11611 yyVAL.union = yyLOCAL 11612 case 243: 11613 yyDollar = yyS[yypt-1 : yypt+1] 11614 var yyLOCAL tree.IsolationLevelType 11615 //line mysql_sql.y:2162 11616 { 11617 yyLOCAL = tree.ISOLATION_LEVEL_SERIALIZABLE 11618 } 11619 yyVAL.union = yyLOCAL 11620 case 244: 11621 yyDollar = yyS[yypt-2 : yypt+1] 11622 var yyLOCAL tree.AccessModeType 11623 //line mysql_sql.y:2168 11624 { 11625 yyLOCAL = tree.ACCESS_MODE_READ_WRITE 11626 } 11627 yyVAL.union = yyLOCAL 11628 case 245: 11629 yyDollar = yyS[yypt-2 : yypt+1] 11630 var yyLOCAL tree.AccessModeType 11631 //line mysql_sql.y:2172 11632 { 11633 yyLOCAL = tree.ACCESS_MODE_READ_ONLY 11634 } 11635 yyVAL.union = yyLOCAL 11636 case 246: 11637 yyDollar = yyS[yypt-3 : yypt+1] 11638 var yyLOCAL tree.Statement 11639 //line mysql_sql.y:2178 11640 { 11641 yyLOCAL = &tree.SetRole{ 11642 SecondaryRole: false, 11643 Role: yyDollar[3].roleUnion(), 11644 } 11645 } 11646 yyVAL.union = yyLOCAL 11647 case 247: 11648 yyDollar = yyS[yypt-4 : yypt+1] 11649 var yyLOCAL tree.Statement 11650 //line mysql_sql.y:2185 11651 { 11652 yyLOCAL = &tree.SetRole{ 11653 SecondaryRole: true, 11654 SecondaryRoleType: tree.SecondaryRoleTypeAll, 11655 } 11656 } 11657 yyVAL.union = yyLOCAL 11658 case 248: 11659 yyDollar = yyS[yypt-4 : yypt+1] 11660 var yyLOCAL tree.Statement 11661 //line mysql_sql.y:2192 11662 { 11663 yyLOCAL = &tree.SetRole{ 11664 SecondaryRole: true, 11665 SecondaryRoleType: tree.SecondaryRoleTypeNone, 11666 } 11667 } 11668 yyVAL.union = yyLOCAL 11669 case 249: 11670 yyDollar = yyS[yypt-6 : yypt+1] 11671 var yyLOCAL tree.Statement 11672 //line mysql_sql.y:2201 11673 { 11674 dr := yyDollar[4].setDefaultRoleUnion() 11675 dr.Users = yyDollar[6].usersUnion() 11676 yyLOCAL = dr 11677 } 11678 yyVAL.union = yyLOCAL 11679 case 250: 11680 yyDollar = yyS[yypt-1 : yypt+1] 11681 var yyLOCAL *tree.SetDefaultRole 11682 //line mysql_sql.y:2231 11683 { 11684 yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NONE, Roles: nil} 11685 } 11686 yyVAL.union = yyLOCAL 11687 case 251: 11688 yyDollar = yyS[yypt-1 : yypt+1] 11689 var yyLOCAL *tree.SetDefaultRole 11690 //line mysql_sql.y:2235 11691 { 11692 yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_ALL, Roles: nil} 11693 } 11694 yyVAL.union = yyLOCAL 11695 case 252: 11696 yyDollar = yyS[yypt-1 : yypt+1] 11697 var yyLOCAL *tree.SetDefaultRole 11698 //line mysql_sql.y:2239 11699 { 11700 yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NORMAL, Roles: yyDollar[1].rolesUnion()} 11701 } 11702 yyVAL.union = yyLOCAL 11703 case 253: 11704 yyDollar = yyS[yypt-2 : yypt+1] 11705 var yyLOCAL tree.Statement 11706 //line mysql_sql.y:2245 11707 { 11708 yyLOCAL = &tree.SetVar{Assignments: yyDollar[2].varAssignmentExprsUnion()} 11709 } 11710 yyVAL.union = yyLOCAL 11711 case 254: 11712 yyDollar = yyS[yypt-4 : yypt+1] 11713 var yyLOCAL tree.Statement 11714 //line mysql_sql.y:2251 11715 { 11716 yyLOCAL = &tree.SetPassword{Password: yyDollar[4].str} 11717 } 11718 yyVAL.union = yyLOCAL 11719 case 255: 11720 yyDollar = yyS[yypt-6 : yypt+1] 11721 var yyLOCAL tree.Statement 11722 //line mysql_sql.y:2255 11723 { 11724 yyLOCAL = &tree.SetPassword{User: yyDollar[4].userUnion(), Password: yyDollar[6].str} 11725 } 11726 yyVAL.union = yyLOCAL 11727 case 257: 11728 yyDollar = yyS[yypt-4 : yypt+1] 11729 //line mysql_sql.y:2262 11730 { 11731 yyVAL.str = yyDollar[3].str 11732 } 11733 case 258: 11734 yyDollar = yyS[yypt-1 : yypt+1] 11735 var yyLOCAL []*tree.VarAssignmentExpr 11736 //line mysql_sql.y:2268 11737 { 11738 yyLOCAL = []*tree.VarAssignmentExpr{yyDollar[1].varAssignmentExprUnion()} 11739 } 11740 yyVAL.union = yyLOCAL 11741 case 259: 11742 yyDollar = yyS[yypt-3 : yypt+1] 11743 var yyLOCAL []*tree.VarAssignmentExpr 11744 //line mysql_sql.y:2272 11745 { 11746 yyLOCAL = append(yyDollar[1].varAssignmentExprsUnion(), yyDollar[3].varAssignmentExprUnion()) 11747 } 11748 yyVAL.union = yyLOCAL 11749 case 260: 11750 yyDollar = yyS[yypt-3 : yypt+1] 11751 var yyLOCAL *tree.VarAssignmentExpr 11752 //line mysql_sql.y:2278 11753 { 11754 yyLOCAL = &tree.VarAssignmentExpr{ 11755 System: true, 11756 Name: yyDollar[1].str, 11757 Value: yyDollar[3].exprUnion(), 11758 } 11759 } 11760 yyVAL.union = yyLOCAL 11761 case 261: 11762 yyDollar = yyS[yypt-4 : yypt+1] 11763 var yyLOCAL *tree.VarAssignmentExpr 11764 //line mysql_sql.y:2286 11765 { 11766 yyLOCAL = &tree.VarAssignmentExpr{ 11767 System: true, 11768 Global: true, 11769 Name: yyDollar[2].str, 11770 Value: yyDollar[4].exprUnion(), 11771 } 11772 } 11773 yyVAL.union = yyLOCAL 11774 case 262: 11775 yyDollar = yyS[yypt-4 : yypt+1] 11776 var yyLOCAL *tree.VarAssignmentExpr 11777 //line mysql_sql.y:2295 11778 { 11779 yyLOCAL = &tree.VarAssignmentExpr{ 11780 System: true, 11781 Global: true, 11782 Name: yyDollar[2].str, 11783 Value: yyDollar[4].exprUnion(), 11784 } 11785 } 11786 yyVAL.union = yyLOCAL 11787 case 263: 11788 yyDollar = yyS[yypt-4 : yypt+1] 11789 var yyLOCAL *tree.VarAssignmentExpr 11790 //line mysql_sql.y:2304 11791 { 11792 yyLOCAL = &tree.VarAssignmentExpr{ 11793 System: true, 11794 Name: yyDollar[2].str, 11795 Value: yyDollar[4].exprUnion(), 11796 } 11797 } 11798 yyVAL.union = yyLOCAL 11799 case 264: 11800 yyDollar = yyS[yypt-4 : yypt+1] 11801 var yyLOCAL *tree.VarAssignmentExpr 11802 //line mysql_sql.y:2312 11803 { 11804 yyLOCAL = &tree.VarAssignmentExpr{ 11805 System: true, 11806 Name: yyDollar[2].str, 11807 Value: yyDollar[4].exprUnion(), 11808 } 11809 } 11810 yyVAL.union = yyLOCAL 11811 case 265: 11812 yyDollar = yyS[yypt-3 : yypt+1] 11813 var yyLOCAL *tree.VarAssignmentExpr 11814 //line mysql_sql.y:2320 11815 { 11816 vs := strings.Split(yyDollar[1].str, ".") 11817 var isGlobal bool 11818 if strings.ToLower(vs[0]) == "global" { 11819 isGlobal = true 11820 } 11821 var r string 11822 if len(vs) == 2 { 11823 r = vs[1] 11824 } else if len(vs) == 1 { 11825 r = vs[0] 11826 } else { 11827 yylex.Error("variable syntax error") 11828 goto ret1 11829 } 11830 yyLOCAL = &tree.VarAssignmentExpr{ 11831 System: false, 11832 Global: isGlobal, 11833 Name: r, 11834 Value: yyDollar[3].exprUnion(), 11835 } 11836 } 11837 yyVAL.union = yyLOCAL 11838 case 266: 11839 yyDollar = yyS[yypt-3 : yypt+1] 11840 var yyLOCAL *tree.VarAssignmentExpr 11841 //line mysql_sql.y:2343 11842 { 11843 vs := strings.Split(yyDollar[1].str, ".") 11844 var isGlobal bool 11845 if strings.ToLower(vs[0]) == "global" { 11846 isGlobal = true 11847 } 11848 var r string 11849 if len(vs) == 2 { 11850 r = vs[1] 11851 } else if len(vs) == 1 { 11852 r = vs[0] 11853 } else { 11854 yylex.Error("variable syntax error") 11855 goto ret1 11856 } 11857 yyLOCAL = &tree.VarAssignmentExpr{ 11858 System: true, 11859 Global: isGlobal, 11860 Name: r, 11861 Value: yyDollar[3].exprUnion(), 11862 } 11863 } 11864 yyVAL.union = yyLOCAL 11865 case 267: 11866 yyDollar = yyS[yypt-2 : yypt+1] 11867 var yyLOCAL *tree.VarAssignmentExpr 11868 //line mysql_sql.y:2366 11869 { 11870 yyLOCAL = &tree.VarAssignmentExpr{ 11871 Name: strings.ToLower(yyDollar[1].str), 11872 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 11873 } 11874 } 11875 yyVAL.union = yyLOCAL 11876 case 268: 11877 yyDollar = yyS[yypt-4 : yypt+1] 11878 var yyLOCAL *tree.VarAssignmentExpr 11879 //line mysql_sql.y:2373 11880 { 11881 yyLOCAL = &tree.VarAssignmentExpr{ 11882 Name: strings.ToLower(yyDollar[1].str), 11883 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 11884 } 11885 } 11886 yyVAL.union = yyLOCAL 11887 case 269: 11888 yyDollar = yyS[yypt-4 : yypt+1] 11889 var yyLOCAL *tree.VarAssignmentExpr 11890 //line mysql_sql.y:2380 11891 { 11892 yyLOCAL = &tree.VarAssignmentExpr{ 11893 Name: strings.ToLower(yyDollar[1].str), 11894 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 11895 Reserved: tree.NewNumValWithType(constant.MakeString(yyDollar[4].str), yyDollar[4].str, false, tree.P_char), 11896 } 11897 } 11898 yyVAL.union = yyLOCAL 11899 case 270: 11900 yyDollar = yyS[yypt-2 : yypt+1] 11901 var yyLOCAL *tree.VarAssignmentExpr 11902 //line mysql_sql.y:2388 11903 { 11904 yyLOCAL = &tree.VarAssignmentExpr{ 11905 Name: strings.ToLower(yyDollar[1].str), 11906 Value: &tree.DefaultVal{}, 11907 } 11908 } 11909 yyVAL.union = yyLOCAL 11910 case 271: 11911 yyDollar = yyS[yypt-2 : yypt+1] 11912 var yyLOCAL *tree.VarAssignmentExpr 11913 //line mysql_sql.y:2395 11914 { 11915 yyLOCAL = &tree.VarAssignmentExpr{ 11916 Name: strings.ToLower(yyDollar[1].str), 11917 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 11918 } 11919 } 11920 yyVAL.union = yyLOCAL 11921 case 272: 11922 yyDollar = yyS[yypt-2 : yypt+1] 11923 var yyLOCAL *tree.VarAssignmentExpr 11924 //line mysql_sql.y:2402 11925 { 11926 yyLOCAL = &tree.VarAssignmentExpr{ 11927 Name: strings.ToLower(yyDollar[1].str), 11928 Value: &tree.DefaultVal{}, 11929 } 11930 } 11931 yyVAL.union = yyLOCAL 11932 case 273: 11933 yyDollar = yyS[yypt-1 : yypt+1] 11934 var yyLOCAL tree.Expr 11935 //line mysql_sql.y:2411 11936 { 11937 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) 11938 } 11939 yyVAL.union = yyLOCAL 11940 case 274: 11941 yyDollar = yyS[yypt-1 : yypt+1] 11942 var yyLOCAL tree.Expr 11943 //line mysql_sql.y:2415 11944 { 11945 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) 11946 } 11947 yyVAL.union = yyLOCAL 11948 case 275: 11949 yyDollar = yyS[yypt-1 : yypt+1] 11950 var yyLOCAL tree.Expr 11951 //line mysql_sql.y:2419 11952 { 11953 yyLOCAL = yyDollar[1].exprUnion() 11954 } 11955 yyVAL.union = yyLOCAL 11956 case 276: 11957 yyDollar = yyS[yypt-1 : yypt+1] 11958 //line mysql_sql.y:2425 11959 { 11960 yyVAL.str = string(yyDollar[1].str) 11961 } 11962 case 277: 11963 yyDollar = yyS[yypt-1 : yypt+1] 11964 //line mysql_sql.y:2429 11965 { 11966 yyVAL.str = yyDollar[1].str 11967 } 11968 case 278: 11969 yyDollar = yyS[yypt-1 : yypt+1] 11970 //line mysql_sql.y:2435 11971 { 11972 yyVAL.str = yyDollar[1].cstrUnion().Compare() 11973 } 11974 case 279: 11975 yyDollar = yyS[yypt-3 : yypt+1] 11976 //line mysql_sql.y:2439 11977 { 11978 yyVAL.str = yyDollar[1].cstrUnion().Compare() + "." + yyDollar[3].cstrUnion().Compare() 11979 } 11980 case 280: 11981 yyDollar = yyS[yypt-1 : yypt+1] 11982 var yyLOCAL []string 11983 //line mysql_sql.y:2445 11984 { 11985 yyLOCAL = []string{yyDollar[1].str} 11986 } 11987 yyVAL.union = yyLOCAL 11988 case 281: 11989 yyDollar = yyS[yypt-3 : yypt+1] 11990 var yyLOCAL []string 11991 //line mysql_sql.y:2449 11992 { 11993 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 11994 } 11995 yyVAL.union = yyLOCAL 11996 case 285: 11997 yyDollar = yyS[yypt-2 : yypt+1] 11998 var yyLOCAL tree.Statement 11999 //line mysql_sql.y:2460 12000 { 12001 yyLOCAL = &tree.RollbackTransaction{Type: yyDollar[2].completionTypeUnion()} 12002 } 12003 yyVAL.union = yyLOCAL 12004 case 286: 12005 yyDollar = yyS[yypt-2 : yypt+1] 12006 var yyLOCAL tree.Statement 12007 //line mysql_sql.y:2466 12008 { 12009 yyLOCAL = &tree.CommitTransaction{Type: yyDollar[2].completionTypeUnion()} 12010 } 12011 yyVAL.union = yyLOCAL 12012 case 287: 12013 yyDollar = yyS[yypt-0 : yypt+1] 12014 var yyLOCAL tree.CompletionType 12015 //line mysql_sql.y:2471 12016 { 12017 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 12018 } 12019 yyVAL.union = yyLOCAL 12020 case 288: 12021 yyDollar = yyS[yypt-1 : yypt+1] 12022 var yyLOCAL tree.CompletionType 12023 //line mysql_sql.y:2475 12024 { 12025 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 12026 } 12027 yyVAL.union = yyLOCAL 12028 case 289: 12029 yyDollar = yyS[yypt-4 : yypt+1] 12030 var yyLOCAL tree.CompletionType 12031 //line mysql_sql.y:2479 12032 { 12033 yyLOCAL = tree.COMPLETION_TYPE_CHAIN 12034 } 12035 yyVAL.union = yyLOCAL 12036 case 290: 12037 yyDollar = yyS[yypt-2 : yypt+1] 12038 var yyLOCAL tree.CompletionType 12039 //line mysql_sql.y:2483 12040 { 12041 yyLOCAL = tree.COMPLETION_TYPE_CHAIN 12042 } 12043 yyVAL.union = yyLOCAL 12044 case 291: 12045 yyDollar = yyS[yypt-4 : yypt+1] 12046 var yyLOCAL tree.CompletionType 12047 //line mysql_sql.y:2487 12048 { 12049 yyLOCAL = tree.COMPLETION_TYPE_RELEASE 12050 } 12051 yyVAL.union = yyLOCAL 12052 case 292: 12053 yyDollar = yyS[yypt-1 : yypt+1] 12054 var yyLOCAL tree.CompletionType 12055 //line mysql_sql.y:2491 12056 { 12057 yyLOCAL = tree.COMPLETION_TYPE_RELEASE 12058 } 12059 yyVAL.union = yyLOCAL 12060 case 293: 12061 yyDollar = yyS[yypt-5 : yypt+1] 12062 var yyLOCAL tree.CompletionType 12063 //line mysql_sql.y:2495 12064 { 12065 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 12066 } 12067 yyVAL.union = yyLOCAL 12068 case 294: 12069 yyDollar = yyS[yypt-3 : yypt+1] 12070 var yyLOCAL tree.CompletionType 12071 //line mysql_sql.y:2499 12072 { 12073 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 12074 } 12075 yyVAL.union = yyLOCAL 12076 case 295: 12077 yyDollar = yyS[yypt-2 : yypt+1] 12078 var yyLOCAL tree.CompletionType 12079 //line mysql_sql.y:2503 12080 { 12081 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 12082 } 12083 yyVAL.union = yyLOCAL 12084 case 296: 12085 yyDollar = yyS[yypt-1 : yypt+1] 12086 var yyLOCAL tree.Statement 12087 //line mysql_sql.y:2509 12088 { 12089 yyLOCAL = &tree.BeginTransaction{} 12090 } 12091 yyVAL.union = yyLOCAL 12092 case 297: 12093 yyDollar = yyS[yypt-2 : yypt+1] 12094 var yyLOCAL tree.Statement 12095 //line mysql_sql.y:2513 12096 { 12097 yyLOCAL = &tree.BeginTransaction{} 12098 } 12099 yyVAL.union = yyLOCAL 12100 case 298: 12101 yyDollar = yyS[yypt-2 : yypt+1] 12102 var yyLOCAL tree.Statement 12103 //line mysql_sql.y:2517 12104 { 12105 yyLOCAL = &tree.BeginTransaction{} 12106 } 12107 yyVAL.union = yyLOCAL 12108 case 299: 12109 yyDollar = yyS[yypt-4 : yypt+1] 12110 var yyLOCAL tree.Statement 12111 //line mysql_sql.y:2521 12112 { 12113 m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_WRITE) 12114 yyLOCAL = &tree.BeginTransaction{Modes: m} 12115 } 12116 yyVAL.union = yyLOCAL 12117 case 300: 12118 yyDollar = yyS[yypt-4 : yypt+1] 12119 var yyLOCAL tree.Statement 12120 //line mysql_sql.y:2526 12121 { 12122 m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_ONLY) 12123 yyLOCAL = &tree.BeginTransaction{Modes: m} 12124 } 12125 yyVAL.union = yyLOCAL 12126 case 301: 12127 yyDollar = yyS[yypt-5 : yypt+1] 12128 var yyLOCAL tree.Statement 12129 //line mysql_sql.y:2531 12130 { 12131 yyLOCAL = &tree.BeginTransaction{} 12132 } 12133 yyVAL.union = yyLOCAL 12134 case 302: 12135 yyDollar = yyS[yypt-2 : yypt+1] 12136 var yyLOCAL tree.Statement 12137 //line mysql_sql.y:2537 12138 { 12139 name := yyDollar[2].cstrUnion() 12140 secondaryRole := false 12141 var secondaryRoleType tree.SecondaryRoleType = 0 12142 var role *tree.Role 12143 yyLOCAL = tree.NewUse( 12144 name, 12145 secondaryRole, 12146 secondaryRoleType, 12147 role, 12148 ) 12149 } 12150 yyVAL.union = yyLOCAL 12151 case 303: 12152 yyDollar = yyS[yypt-1 : yypt+1] 12153 var yyLOCAL tree.Statement 12154 //line mysql_sql.y:2550 12155 { 12156 var name *tree.CStr 12157 secondaryRole := false 12158 var secondaryRoleType tree.SecondaryRoleType = 0 12159 var role *tree.Role 12160 yyLOCAL = tree.NewUse( 12161 name, 12162 secondaryRole, 12163 secondaryRoleType, 12164 role, 12165 ) 12166 } 12167 yyVAL.union = yyLOCAL 12168 case 304: 12169 yyDollar = yyS[yypt-3 : yypt+1] 12170 var yyLOCAL tree.Statement 12171 //line mysql_sql.y:2563 12172 { 12173 var name *tree.CStr 12174 secondaryRole := false 12175 var secondaryRoleType tree.SecondaryRoleType = 0 12176 role := yyDollar[3].roleUnion() 12177 yyLOCAL = tree.NewUse( 12178 name, 12179 secondaryRole, 12180 secondaryRoleType, 12181 role, 12182 ) 12183 } 12184 yyVAL.union = yyLOCAL 12185 case 305: 12186 yyDollar = yyS[yypt-4 : yypt+1] 12187 var yyLOCAL tree.Statement 12188 //line mysql_sql.y:2576 12189 { 12190 var name *tree.CStr 12191 secondaryRole := true 12192 secondaryRoleType := tree.SecondaryRoleTypeAll 12193 var role *tree.Role 12194 yyLOCAL = tree.NewUse( 12195 name, 12196 secondaryRole, 12197 secondaryRoleType, 12198 role, 12199 ) 12200 } 12201 yyVAL.union = yyLOCAL 12202 case 306: 12203 yyDollar = yyS[yypt-4 : yypt+1] 12204 var yyLOCAL tree.Statement 12205 //line mysql_sql.y:2589 12206 { 12207 var name *tree.CStr 12208 secondaryRole := true 12209 secondaryRoleType := tree.SecondaryRoleTypeNone 12210 var role *tree.Role 12211 yyLOCAL = tree.NewUse( 12212 name, 12213 secondaryRole, 12214 secondaryRoleType, 12215 role, 12216 ) 12217 } 12218 yyVAL.union = yyLOCAL 12219 case 308: 12220 yyDollar = yyS[yypt-2 : yypt+1] 12221 var yyLOCAL tree.Statement 12222 //line mysql_sql.y:2605 12223 { 12224 yyDollar[2].statementUnion().(*tree.Update).With = yyDollar[1].withClauseUnion() 12225 yyLOCAL = yyDollar[2].statementUnion() 12226 } 12227 yyVAL.union = yyLOCAL 12228 case 309: 12229 yyDollar = yyS[yypt-9 : yypt+1] 12230 var yyLOCAL tree.Statement 12231 //line mysql_sql.y:2612 12232 { 12233 // Single-table syntax 12234 yyLOCAL = &tree.Update{ 12235 Tables: tree.TableExprs{yyDollar[4].tableExprUnion()}, 12236 Exprs: yyDollar[6].updateExprsUnion(), 12237 Where: yyDollar[7].whereUnion(), 12238 OrderBy: yyDollar[8].orderByUnion(), 12239 Limit: yyDollar[9].limitUnion(), 12240 } 12241 } 12242 yyVAL.union = yyLOCAL 12243 case 310: 12244 yyDollar = yyS[yypt-7 : yypt+1] 12245 var yyLOCAL tree.Statement 12246 //line mysql_sql.y:2623 12247 { 12248 // Multiple-table syntax 12249 yyLOCAL = &tree.Update{ 12250 Tables: tree.TableExprs{yyDollar[4].joinTableExprUnion()}, 12251 Exprs: yyDollar[6].updateExprsUnion(), 12252 Where: yyDollar[7].whereUnion(), 12253 } 12254 } 12255 yyVAL.union = yyLOCAL 12256 case 311: 12257 yyDollar = yyS[yypt-1 : yypt+1] 12258 var yyLOCAL tree.UpdateExprs 12259 //line mysql_sql.y:2634 12260 { 12261 yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} 12262 } 12263 yyVAL.union = yyLOCAL 12264 case 312: 12265 yyDollar = yyS[yypt-3 : yypt+1] 12266 var yyLOCAL tree.UpdateExprs 12267 //line mysql_sql.y:2638 12268 { 12269 yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) 12270 } 12271 yyVAL.union = yyLOCAL 12272 case 313: 12273 yyDollar = yyS[yypt-3 : yypt+1] 12274 var yyLOCAL *tree.UpdateExpr 12275 //line mysql_sql.y:2644 12276 { 12277 yyLOCAL = &tree.UpdateExpr{Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, Expr: yyDollar[3].exprUnion()} 12278 } 12279 yyVAL.union = yyLOCAL 12280 case 316: 12281 yyDollar = yyS[yypt-3 : yypt+1] 12282 var yyLOCAL tree.Statement 12283 //line mysql_sql.y:2654 12284 { 12285 yyLOCAL = &tree.LockTableStmt{TableLocks: yyDollar[3].tableLocksUnion()} 12286 } 12287 yyVAL.union = yyLOCAL 12288 case 317: 12289 yyDollar = yyS[yypt-1 : yypt+1] 12290 var yyLOCAL []tree.TableLock 12291 //line mysql_sql.y:2660 12292 { 12293 yyLOCAL = []tree.TableLock{yyDollar[1].tableLockUnion()} 12294 } 12295 yyVAL.union = yyLOCAL 12296 case 318: 12297 yyDollar = yyS[yypt-3 : yypt+1] 12298 var yyLOCAL []tree.TableLock 12299 //line mysql_sql.y:2664 12300 { 12301 yyLOCAL = append(yyDollar[1].tableLocksUnion(), yyDollar[3].tableLockUnion()) 12302 } 12303 yyVAL.union = yyLOCAL 12304 case 319: 12305 yyDollar = yyS[yypt-2 : yypt+1] 12306 var yyLOCAL tree.TableLock 12307 //line mysql_sql.y:2670 12308 { 12309 yyLOCAL = tree.TableLock{Table: *yyDollar[1].tableNameUnion(), LockType: yyDollar[2].tableLockTypeUnion()} 12310 } 12311 yyVAL.union = yyLOCAL 12312 case 320: 12313 yyDollar = yyS[yypt-1 : yypt+1] 12314 var yyLOCAL tree.TableLockType 12315 //line mysql_sql.y:2676 12316 { 12317 yyLOCAL = tree.TableLockRead 12318 } 12319 yyVAL.union = yyLOCAL 12320 case 321: 12321 yyDollar = yyS[yypt-2 : yypt+1] 12322 var yyLOCAL tree.TableLockType 12323 //line mysql_sql.y:2680 12324 { 12325 yyLOCAL = tree.TableLockReadLocal 12326 } 12327 yyVAL.union = yyLOCAL 12328 case 322: 12329 yyDollar = yyS[yypt-1 : yypt+1] 12330 var yyLOCAL tree.TableLockType 12331 //line mysql_sql.y:2684 12332 { 12333 yyLOCAL = tree.TableLockWrite 12334 } 12335 yyVAL.union = yyLOCAL 12336 case 323: 12337 yyDollar = yyS[yypt-2 : yypt+1] 12338 var yyLOCAL tree.TableLockType 12339 //line mysql_sql.y:2688 12340 { 12341 yyLOCAL = tree.TableLockLowPriorityWrite 12342 } 12343 yyVAL.union = yyLOCAL 12344 case 324: 12345 yyDollar = yyS[yypt-2 : yypt+1] 12346 var yyLOCAL tree.Statement 12347 //line mysql_sql.y:2694 12348 { 12349 yyLOCAL = &tree.UnLockTableStmt{} 12350 } 12351 yyVAL.union = yyLOCAL 12352 case 332: 12353 yyDollar = yyS[yypt-1 : yypt+1] 12354 var yyLOCAL tree.Statement 12355 //line mysql_sql.y:2707 12356 { 12357 yyLOCAL = yyDollar[1].selectUnion() 12358 } 12359 yyVAL.union = yyLOCAL 12360 case 333: 12361 yyDollar = yyS[yypt-4 : yypt+1] 12362 var yyLOCAL tree.Statement 12363 //line mysql_sql.y:2713 12364 { 12365 yyLOCAL = tree.NewPrepareStmt(tree.Identifier(yyDollar[2].str), yyDollar[4].statementUnion()) 12366 } 12367 yyVAL.union = yyLOCAL 12368 case 334: 12369 yyDollar = yyS[yypt-4 : yypt+1] 12370 var yyLOCAL tree.Statement 12371 //line mysql_sql.y:2717 12372 { 12373 yyLOCAL = tree.NewPrepareString(tree.Identifier(yyDollar[2].str), yyDollar[4].str) 12374 } 12375 yyVAL.union = yyLOCAL 12376 case 335: 12377 yyDollar = yyS[yypt-2 : yypt+1] 12378 var yyLOCAL tree.Statement 12379 //line mysql_sql.y:2723 12380 { 12381 yyLOCAL = tree.NewExecute(tree.Identifier(yyDollar[2].str)) 12382 } 12383 yyVAL.union = yyLOCAL 12384 case 336: 12385 yyDollar = yyS[yypt-4 : yypt+1] 12386 var yyLOCAL tree.Statement 12387 //line mysql_sql.y:2727 12388 { 12389 yyLOCAL = tree.NewExecuteWithVariables(tree.Identifier(yyDollar[2].str), yyDollar[4].varExprsUnion()) 12390 } 12391 yyVAL.union = yyLOCAL 12392 case 337: 12393 yyDollar = yyS[yypt-3 : yypt+1] 12394 var yyLOCAL tree.Statement 12395 //line mysql_sql.y:2733 12396 { 12397 yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), false) 12398 } 12399 yyVAL.union = yyLOCAL 12400 case 338: 12401 yyDollar = yyS[yypt-3 : yypt+1] 12402 var yyLOCAL tree.Statement 12403 //line mysql_sql.y:2739 12404 { 12405 yyLOCAL = tree.NewReset(tree.Identifier(yyDollar[3].str)) 12406 } 12407 yyVAL.union = yyLOCAL 12408 case 344: 12409 yyDollar = yyS[yypt-1 : yypt+1] 12410 var yyLOCAL tree.Statement 12411 //line mysql_sql.y:2750 12412 { 12413 yyLOCAL = yyDollar[1].selectUnion() 12414 } 12415 yyVAL.union = yyLOCAL 12416 case 345: 12417 yyDollar = yyS[yypt-2 : yypt+1] 12418 var yyLOCAL tree.Statement 12419 //line mysql_sql.y:2756 12420 { 12421 yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion()} 12422 } 12423 yyVAL.union = yyLOCAL 12424 case 346: 12425 yyDollar = yyS[yypt-3 : yypt+1] 12426 var yyLOCAL tree.Statement 12427 //line mysql_sql.y:2760 12428 { 12429 yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion(), ColName: yyDollar[3].unresolvedNameUnion()} 12430 } 12431 yyVAL.union = yyLOCAL 12432 case 347: 12433 yyDollar = yyS[yypt-4 : yypt+1] 12434 var yyLOCAL tree.Statement 12435 //line mysql_sql.y:2764 12436 { 12437 yyLOCAL = tree.NewExplainFor("", uint64(yyDollar[4].item.(int64))) 12438 } 12439 yyVAL.union = yyLOCAL 12440 case 348: 12441 yyDollar = yyS[yypt-7 : yypt+1] 12442 var yyLOCAL tree.Statement 12443 //line mysql_sql.y:2768 12444 { 12445 yyLOCAL = tree.NewExplainFor(yyDollar[4].str, uint64(yyDollar[7].item.(int64))) 12446 } 12447 yyVAL.union = yyLOCAL 12448 case 349: 12449 yyDollar = yyS[yypt-2 : yypt+1] 12450 var yyLOCAL tree.Statement 12451 //line mysql_sql.y:2772 12452 { 12453 yyLOCAL = tree.NewExplainStmt(yyDollar[2].statementUnion(), "text") 12454 } 12455 yyVAL.union = yyLOCAL 12456 case 350: 12457 yyDollar = yyS[yypt-3 : yypt+1] 12458 var yyLOCAL tree.Statement 12459 //line mysql_sql.y:2776 12460 { 12461 explainStmt := tree.NewExplainStmt(yyDollar[3].statementUnion(), "text") 12462 optionElem := tree.MakeOptionElem("verbose", "NULL") 12463 options := tree.MakeOptions(optionElem) 12464 explainStmt.Options = options 12465 yyLOCAL = explainStmt 12466 } 12467 yyVAL.union = yyLOCAL 12468 case 351: 12469 yyDollar = yyS[yypt-3 : yypt+1] 12470 var yyLOCAL tree.Statement 12471 //line mysql_sql.y:2784 12472 { 12473 explainStmt := tree.NewExplainAnalyze(yyDollar[3].statementUnion(), "text") 12474 optionElem := tree.MakeOptionElem("analyze", "NULL") 12475 options := tree.MakeOptions(optionElem) 12476 explainStmt.Options = options 12477 yyLOCAL = explainStmt 12478 } 12479 yyVAL.union = yyLOCAL 12480 case 352: 12481 yyDollar = yyS[yypt-4 : yypt+1] 12482 var yyLOCAL tree.Statement 12483 //line mysql_sql.y:2792 12484 { 12485 explainStmt := tree.NewExplainAnalyze(yyDollar[4].statementUnion(), "text") 12486 optionElem1 := tree.MakeOptionElem("analyze", "NULL") 12487 optionElem2 := tree.MakeOptionElem("verbose", "NULL") 12488 options := tree.MakeOptions(optionElem1) 12489 options = append(options, optionElem2) 12490 explainStmt.Options = options 12491 yyLOCAL = explainStmt 12492 } 12493 yyVAL.union = yyLOCAL 12494 case 353: 12495 yyDollar = yyS[yypt-5 : yypt+1] 12496 var yyLOCAL tree.Statement 12497 //line mysql_sql.y:2802 12498 { 12499 if tree.IsContainAnalyze(yyDollar[3].epxlainOptionsUnion()) { 12500 explainStmt := tree.NewExplainAnalyze(yyDollar[5].statementUnion(), "text") 12501 explainStmt.Options = yyDollar[3].epxlainOptionsUnion() 12502 yyLOCAL = explainStmt 12503 } else { 12504 explainStmt := tree.NewExplainStmt(yyDollar[5].statementUnion(), "text") 12505 explainStmt.Options = yyDollar[3].epxlainOptionsUnion() 12506 yyLOCAL = explainStmt 12507 } 12508 } 12509 yyVAL.union = yyLOCAL 12510 case 354: 12511 yyDollar = yyS[yypt-3 : yypt+1] 12512 var yyLOCAL tree.Statement 12513 //line mysql_sql.y:2814 12514 { 12515 yyLOCAL = tree.NewExplainStmt(yyDollar[3].statementUnion(), "text") 12516 } 12517 yyVAL.union = yyLOCAL 12518 case 355: 12519 yyDollar = yyS[yypt-4 : yypt+1] 12520 var yyLOCAL tree.Statement 12521 //line mysql_sql.y:2818 12522 { 12523 explainStmt := tree.NewExplainStmt(yyDollar[4].statementUnion(), "text") 12524 optionElem := tree.MakeOptionElem("verbose", "NULL") 12525 options := tree.MakeOptions(optionElem) 12526 explainStmt.Options = options 12527 yyLOCAL = explainStmt 12528 } 12529 yyVAL.union = yyLOCAL 12530 case 356: 12531 yyDollar = yyS[yypt-4 : yypt+1] 12532 var yyLOCAL tree.Statement 12533 //line mysql_sql.y:2826 12534 { 12535 explainStmt := tree.NewExplainAnalyze(yyDollar[4].statementUnion(), "text") 12536 optionElem := tree.MakeOptionElem("analyze", "NULL") 12537 options := tree.MakeOptions(optionElem) 12538 explainStmt.Options = options 12539 yyLOCAL = explainStmt 12540 } 12541 yyVAL.union = yyLOCAL 12542 case 357: 12543 yyDollar = yyS[yypt-5 : yypt+1] 12544 var yyLOCAL tree.Statement 12545 //line mysql_sql.y:2834 12546 { 12547 explainStmt := tree.NewExplainAnalyze(yyDollar[5].statementUnion(), "text") 12548 optionElem1 := tree.MakeOptionElem("analyze", "NULL") 12549 optionElem2 := tree.MakeOptionElem("verbose", "NULL") 12550 options := tree.MakeOptions(optionElem1) 12551 options = append(options, optionElem2) 12552 explainStmt.Options = options 12553 yyLOCAL = explainStmt 12554 } 12555 yyVAL.union = yyLOCAL 12556 case 370: 12557 yyDollar = yyS[yypt-1 : yypt+1] 12558 var yyLOCAL []tree.OptionElem 12559 //line mysql_sql.y:2873 12560 { 12561 yyLOCAL = tree.MakeOptions(yyDollar[1].epxlainOptionUnion()) 12562 } 12563 yyVAL.union = yyLOCAL 12564 case 371: 12565 yyDollar = yyS[yypt-3 : yypt+1] 12566 var yyLOCAL []tree.OptionElem 12567 //line mysql_sql.y:2877 12568 { 12569 yyLOCAL = append(yyDollar[1].epxlainOptionsUnion(), yyDollar[3].epxlainOptionUnion()) 12570 } 12571 yyVAL.union = yyLOCAL 12572 case 372: 12573 yyDollar = yyS[yypt-2 : yypt+1] 12574 var yyLOCAL tree.OptionElem 12575 //line mysql_sql.y:2883 12576 { 12577 yyLOCAL = tree.MakeOptionElem(yyDollar[1].str, yyDollar[2].str) 12578 } 12579 yyVAL.union = yyLOCAL 12580 case 373: 12581 yyDollar = yyS[yypt-1 : yypt+1] 12582 //line mysql_sql.y:2889 12583 { 12584 yyVAL.str = yyDollar[1].str 12585 } 12586 case 374: 12587 yyDollar = yyS[yypt-1 : yypt+1] 12588 //line mysql_sql.y:2894 12589 { 12590 yyVAL.str = "true" 12591 } 12592 case 375: 12593 yyDollar = yyS[yypt-1 : yypt+1] 12594 //line mysql_sql.y:2895 12595 { 12596 yyVAL.str = "false" 12597 } 12598 case 376: 12599 yyDollar = yyS[yypt-1 : yypt+1] 12600 //line mysql_sql.y:2896 12601 { 12602 yyVAL.str = yyDollar[1].str 12603 } 12604 case 377: 12605 yyDollar = yyS[yypt-6 : yypt+1] 12606 var yyLOCAL tree.Statement 12607 //line mysql_sql.y:2901 12608 { 12609 yyLOCAL = tree.NewAnalyzeStmt(yyDollar[3].tableNameUnion(), yyDollar[5].identifierListUnion()) 12610 } 12611 yyVAL.union = yyLOCAL 12612 case 378: 12613 yyDollar = yyS[yypt-4 : yypt+1] 12614 var yyLOCAL tree.Statement 12615 //line mysql_sql.y:2907 12616 { 12617 yyLOCAL = &tree.UpgradeStatement{ 12618 Target: yyDollar[3].upgrade_targetUnion(), 12619 Retry: yyDollar[4].int64ValUnion(), 12620 } 12621 } 12622 yyVAL.union = yyLOCAL 12623 case 379: 12624 yyDollar = yyS[yypt-1 : yypt+1] 12625 var yyLOCAL *tree.Target 12626 //line mysql_sql.y:2916 12627 { 12628 yyLOCAL = &tree.Target{ 12629 AccountName: yyDollar[1].str, 12630 IsALLAccount: false, 12631 } 12632 } 12633 yyVAL.union = yyLOCAL 12634 case 380: 12635 yyDollar = yyS[yypt-1 : yypt+1] 12636 var yyLOCAL *tree.Target 12637 //line mysql_sql.y:2923 12638 { 12639 yyLOCAL = &tree.Target{ 12640 AccountName: "", 12641 IsALLAccount: true, 12642 } 12643 } 12644 yyVAL.union = yyLOCAL 12645 case 381: 12646 yyDollar = yyS[yypt-0 : yypt+1] 12647 var yyLOCAL int64 12648 //line mysql_sql.y:2931 12649 { 12650 yyLOCAL = -1 12651 } 12652 yyVAL.union = yyLOCAL 12653 case 382: 12654 yyDollar = yyS[yypt-3 : yypt+1] 12655 var yyLOCAL int64 12656 //line mysql_sql.y:2935 12657 { 12658 res := yyDollar[3].item.(int64) 12659 if res <= 0 { 12660 yylex.Error("retry value can not less than 0") 12661 yyLOCAL = -1 12662 } 12663 yyLOCAL = res 12664 } 12665 yyVAL.union = yyLOCAL 12666 case 391: 12667 yyDollar = yyS[yypt-10 : yypt+1] 12668 var yyLOCAL tree.Statement 12669 //line mysql_sql.y:2958 12670 { 12671 var ifExists = yyDollar[3].boolValUnion() 12672 var name = yyDollar[4].tableNameUnion() 12673 var typ = yyDollar[5].alterTypeOptionUnion() 12674 var incrementBy = yyDollar[6].incrementByOptionUnion() 12675 var minValue = yyDollar[7].minValueOptionUnion() 12676 var maxValue = yyDollar[8].maxValueOptionUnion() 12677 var startWith = yyDollar[9].startWithOptionUnion() 12678 var cycle = yyDollar[10].cycleOptionUnion() 12679 yyLOCAL = tree.NewAlterSequence( 12680 ifExists, 12681 name, 12682 typ, 12683 incrementBy, 12684 minValue, 12685 maxValue, 12686 startWith, 12687 cycle, 12688 ) 12689 } 12690 yyVAL.union = yyLOCAL 12691 case 392: 12692 yyDollar = yyS[yypt-7 : yypt+1] 12693 var yyLOCAL tree.Statement 12694 //line mysql_sql.y:2981 12695 { 12696 var ifExists = yyDollar[3].boolValUnion() 12697 var name = yyDollar[4].tableNameUnion() 12698 var colNames = yyDollar[5].identifierListUnion() 12699 var asSource = yyDollar[7].selectUnion() 12700 yyLOCAL = tree.NewAlterView(ifExists, name, colNames, asSource) 12701 } 12702 yyVAL.union = yyLOCAL 12703 case 393: 12704 yyDollar = yyS[yypt-4 : yypt+1] 12705 var yyLOCAL tree.Statement 12706 //line mysql_sql.y:2991 12707 { 12708 var table = yyDollar[3].tableNameUnion() 12709 alterTable := tree.NewAlterTable(table) 12710 alterTable.Options = yyDollar[4].alterTableOptionsUnion() 12711 yyLOCAL = alterTable 12712 } 12713 yyVAL.union = yyLOCAL 12714 case 394: 12715 yyDollar = yyS[yypt-4 : yypt+1] 12716 var yyLOCAL tree.Statement 12717 //line mysql_sql.y:2998 12718 { 12719 var table = yyDollar[3].tableNameUnion() 12720 alterTable := tree.NewAlterTable(table) 12721 alterTable.PartitionOption = yyDollar[4].alterPartitionOptionUnion() 12722 yyLOCAL = alterTable 12723 } 12724 yyVAL.union = yyLOCAL 12725 case 395: 12726 yyDollar = yyS[yypt-1 : yypt+1] 12727 var yyLOCAL tree.AlterTableOptions 12728 //line mysql_sql.y:3007 12729 { 12730 yyLOCAL = []tree.AlterTableOption{yyDollar[1].alterTableOptionUnion()} 12731 } 12732 yyVAL.union = yyLOCAL 12733 case 396: 12734 yyDollar = yyS[yypt-3 : yypt+1] 12735 var yyLOCAL tree.AlterTableOptions 12736 //line mysql_sql.y:3011 12737 { 12738 yyLOCAL = append(yyDollar[1].alterTableOptionsUnion(), yyDollar[3].alterTableOptionUnion()) 12739 } 12740 yyVAL.union = yyLOCAL 12741 case 397: 12742 yyDollar = yyS[yypt-1 : yypt+1] 12743 var yyLOCAL tree.AlterPartitionOption 12744 //line mysql_sql.y:3017 12745 { 12746 yyLOCAL = yyDollar[1].alterPartitionOptionUnion() 12747 } 12748 yyVAL.union = yyLOCAL 12749 case 398: 12750 yyDollar = yyS[yypt-6 : yypt+1] 12751 var yyLOCAL tree.AlterPartitionOption 12752 //line mysql_sql.y:3021 12753 { 12754 yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) 12755 var PartBy = yyDollar[3].partitionByUnion() 12756 var SubPartBy = yyDollar[5].partitionByUnion() 12757 var Partitions = yyDollar[6].partitionsUnion() 12758 12759 partitionDef := tree.NewPartitionOption( 12760 PartBy, 12761 SubPartBy, 12762 Partitions, 12763 ) 12764 12765 var typ tree.AlterPartitionOptionType 12766 12767 opt := tree.NewAlterPartitionRedefinePartitionClause( 12768 typ, 12769 partitionDef, 12770 ) 12771 12772 yyLOCAL = tree.AlterPartitionOption(opt) 12773 } 12774 yyVAL.union = yyLOCAL 12775 case 399: 12776 yyDollar = yyS[yypt-3 : yypt+1] 12777 var yyLOCAL tree.AlterPartitionOption 12778 //line mysql_sql.y:3045 12779 { 12780 var typ = tree.AlterPartitionAddPartition 12781 var partitions = yyDollar[3].partitionsUnion() 12782 opt := tree.NewAlterPartitionAddPartitionClause( 12783 typ, 12784 partitions, 12785 ) 12786 yyLOCAL = tree.AlterPartitionOption(opt) 12787 } 12788 yyVAL.union = yyLOCAL 12789 case 400: 12790 yyDollar = yyS[yypt-3 : yypt+1] 12791 var yyLOCAL tree.AlterPartitionOption 12792 //line mysql_sql.y:3055 12793 { 12794 var typ = tree.AlterPartitionDropPartition 12795 var partitionNames = yyDollar[3].PartitionNamesUnion() 12796 opt := tree.NewAlterPartitionDropPartitionClause( 12797 typ, 12798 partitionNames, 12799 ) 12800 12801 if yyDollar[3].PartitionNamesUnion() == nil { 12802 opt.OnAllPartitions = true 12803 } else { 12804 opt.PartitionNames = yyDollar[3].PartitionNamesUnion() 12805 } 12806 yyLOCAL = tree.AlterPartitionOption(opt) 12807 } 12808 yyVAL.union = yyLOCAL 12809 case 401: 12810 yyDollar = yyS[yypt-3 : yypt+1] 12811 var yyLOCAL tree.AlterPartitionOption 12812 //line mysql_sql.y:3071 12813 { 12814 var typ = tree.AlterPartitionTruncatePartition 12815 var partitionNames = yyDollar[3].PartitionNamesUnion() 12816 opt := tree.NewAlterPartitionTruncatePartitionClause( 12817 typ, 12818 partitionNames, 12819 ) 12820 12821 if yyDollar[3].PartitionNamesUnion() == nil { 12822 opt.OnAllPartitions = true 12823 } else { 12824 opt.PartitionNames = yyDollar[3].PartitionNamesUnion() 12825 } 12826 yyLOCAL = tree.AlterPartitionOption(opt) 12827 } 12828 yyVAL.union = yyLOCAL 12829 case 402: 12830 yyDollar = yyS[yypt-1 : yypt+1] 12831 var yyLOCAL tree.IdentifierList 12832 //line mysql_sql.y:3089 12833 { 12834 yyLOCAL = nil 12835 } 12836 yyVAL.union = yyLOCAL 12837 case 403: 12838 yyDollar = yyS[yypt-1 : yypt+1] 12839 var yyLOCAL tree.IdentifierList 12840 //line mysql_sql.y:3093 12841 { 12842 yyLOCAL = yyDollar[1].PartitionNamesUnion() 12843 } 12844 yyVAL.union = yyLOCAL 12845 case 404: 12846 yyDollar = yyS[yypt-1 : yypt+1] 12847 var yyLOCAL tree.IdentifierList 12848 //line mysql_sql.y:3099 12849 { 12850 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} 12851 } 12852 yyVAL.union = yyLOCAL 12853 case 405: 12854 yyDollar = yyS[yypt-3 : yypt+1] 12855 var yyLOCAL tree.IdentifierList 12856 //line mysql_sql.y:3103 12857 { 12858 yyLOCAL = append(yyDollar[1].PartitionNamesUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare())) 12859 } 12860 yyVAL.union = yyLOCAL 12861 case 406: 12862 yyDollar = yyS[yypt-2 : yypt+1] 12863 var yyLOCAL tree.AlterTableOption 12864 //line mysql_sql.y:3109 12865 { 12866 var def = yyDollar[2].tableDefUnion() 12867 opt := tree.NewAlterOptionAdd(def) 12868 yyLOCAL = tree.AlterTableOption(opt) 12869 } 12870 yyVAL.union = yyLOCAL 12871 case 407: 12872 yyDollar = yyS[yypt-4 : yypt+1] 12873 var yyLOCAL tree.AlterTableOption 12874 //line mysql_sql.y:3115 12875 { 12876 var typ = tree.AlterTableModifyColumn 12877 var newColumn = yyDollar[3].columnTableDefUnion() 12878 var position = yyDollar[4].alterColPositionUnion() 12879 opt := tree.NewAlterTableModifyColumnClause(typ, newColumn, position) 12880 yyLOCAL = tree.AlterTableOption(opt) 12881 } 12882 yyVAL.union = yyLOCAL 12883 case 408: 12884 yyDollar = yyS[yypt-5 : yypt+1] 12885 var yyLOCAL tree.AlterTableOption 12886 //line mysql_sql.y:3123 12887 { 12888 // Type OldColumnName NewColumn Position 12889 var typ = tree.AlterTableChangeColumn 12890 var oldColumnName = yyDollar[3].unresolvedNameUnion() 12891 var newColumn = yyDollar[4].columnTableDefUnion() 12892 var position = yyDollar[5].alterColPositionUnion() 12893 opt := tree.NewAlterTableChangeColumnClause(typ, oldColumnName, newColumn, position) 12894 yyLOCAL = tree.AlterTableOption(opt) 12895 } 12896 yyVAL.union = yyLOCAL 12897 case 409: 12898 yyDollar = yyS[yypt-5 : yypt+1] 12899 var yyLOCAL tree.AlterTableOption 12900 //line mysql_sql.y:3133 12901 { 12902 var typ = tree.AlterTableRenameColumn 12903 var oldColumnName = yyDollar[3].unresolvedNameUnion() 12904 var newColumnName = yyDollar[5].unresolvedNameUnion() 12905 opt := tree.NewAlterTableRenameColumnClause(typ, oldColumnName, newColumnName) 12906 yyLOCAL = tree.AlterTableOption(opt) 12907 } 12908 yyVAL.union = yyLOCAL 12909 case 410: 12910 yyDollar = yyS[yypt-6 : yypt+1] 12911 var yyLOCAL tree.AlterTableOption 12912 //line mysql_sql.y:3141 12913 { 12914 var typ = tree.AlterTableAlterColumn 12915 var columnName = yyDollar[3].unresolvedNameUnion() 12916 var defaultExpr = tree.NewAttributeDefault(yyDollar[6].exprUnion()) 12917 var visibility tree.VisibleType 12918 var optionType = tree.AlterColumnOptionSetDefault 12919 opt := tree.NewAlterTableAlterColumnClause(typ, columnName, defaultExpr, visibility, optionType) 12920 yyLOCAL = tree.AlterTableOption(opt) 12921 } 12922 yyVAL.union = yyLOCAL 12923 case 411: 12924 yyDollar = yyS[yypt-5 : yypt+1] 12925 var yyLOCAL tree.AlterTableOption 12926 //line mysql_sql.y:3151 12927 { 12928 var typ = tree.AlterTableAlterColumn 12929 var columnName = yyDollar[3].unresolvedNameUnion() 12930 var defaultExpr = tree.NewAttributeDefault(nil) 12931 var visibility = yyDollar[5].indexVisibilityUnion() 12932 var optionType = tree.AlterColumnOptionSetVisibility 12933 opt := tree.NewAlterTableAlterColumnClause(typ, columnName, defaultExpr, visibility, optionType) 12934 yyLOCAL = tree.AlterTableOption(opt) 12935 } 12936 yyVAL.union = yyLOCAL 12937 case 412: 12938 yyDollar = yyS[yypt-5 : yypt+1] 12939 var yyLOCAL tree.AlterTableOption 12940 //line mysql_sql.y:3161 12941 { 12942 var typ = tree.AlterTableAlterColumn 12943 var columnName = yyDollar[3].unresolvedNameUnion() 12944 var defaultExpr = tree.NewAttributeDefault(nil) 12945 var visibility tree.VisibleType 12946 var optionType = tree.AlterColumnOptionDropDefault 12947 opt := tree.NewAlterTableAlterColumnClause(typ, columnName, defaultExpr, visibility, optionType) 12948 yyLOCAL = tree.AlterTableOption(opt) 12949 } 12950 yyVAL.union = yyLOCAL 12951 case 413: 12952 yyDollar = yyS[yypt-3 : yypt+1] 12953 var yyLOCAL tree.AlterTableOption 12954 //line mysql_sql.y:3171 12955 { 12956 var orderByClauseType = tree.AlterTableOrderByColumn 12957 var orderByColumnList = yyDollar[3].alterColumnOrderByUnion() 12958 opt := tree.NewAlterTableOrderByColumnClause(orderByClauseType, orderByColumnList) 12959 yyLOCAL = tree.AlterTableOption(opt) 12960 } 12961 yyVAL.union = yyLOCAL 12962 case 414: 12963 yyDollar = yyS[yypt-2 : yypt+1] 12964 var yyLOCAL tree.AlterTableOption 12965 //line mysql_sql.y:3178 12966 { 12967 yyLOCAL = tree.AlterTableOption(yyDollar[2].alterTableOptionUnion()) 12968 } 12969 yyVAL.union = yyLOCAL 12970 case 415: 12971 yyDollar = yyS[yypt-2 : yypt+1] 12972 var yyLOCAL tree.AlterTableOption 12973 //line mysql_sql.y:3182 12974 { 12975 yyLOCAL = tree.AlterTableOption(yyDollar[2].alterTableOptionUnion()) 12976 } 12977 yyVAL.union = yyLOCAL 12978 case 416: 12979 yyDollar = yyS[yypt-1 : yypt+1] 12980 var yyLOCAL tree.AlterTableOption 12981 //line mysql_sql.y:3186 12982 { 12983 yyLOCAL = tree.AlterTableOption(yyDollar[1].tableOptionUnion()) 12984 } 12985 yyVAL.union = yyLOCAL 12986 case 417: 12987 yyDollar = yyS[yypt-3 : yypt+1] 12988 var yyLOCAL tree.AlterTableOption 12989 //line mysql_sql.y:3190 12990 { 12991 yyLOCAL = tree.AlterTableOption(yyDollar[3].alterTableOptionUnion()) 12992 } 12993 yyVAL.union = yyLOCAL 12994 case 418: 12995 yyDollar = yyS[yypt-4 : yypt+1] 12996 var yyLOCAL tree.AlterTableOption 12997 //line mysql_sql.y:3194 12998 { 12999 var column = yyDollar[3].columnTableDefUnion() 13000 var position = yyDollar[4].alterColPositionUnion() 13001 opt := tree.NewAlterAddCol(column, position) 13002 yyLOCAL = tree.AlterTableOption(opt) 13003 } 13004 yyVAL.union = yyLOCAL 13005 case 419: 13006 yyDollar = yyS[yypt-3 : yypt+1] 13007 var yyLOCAL tree.AlterTableOption 13008 //line mysql_sql.y:3201 13009 { 13010 var checkType = yyDollar[1].str 13011 var enforce bool 13012 yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce) 13013 } 13014 yyVAL.union = yyLOCAL 13015 case 420: 13016 yyDollar = yyS[yypt-7 : yypt+1] 13017 var yyLOCAL tree.AlterTableOption 13018 //line mysql_sql.y:3207 13019 { 13020 yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) 13021 } 13022 yyVAL.union = yyLOCAL 13023 case 421: 13024 yyDollar = yyS[yypt-5 : yypt+1] 13025 var yyLOCAL tree.AlterTableOption 13026 //line mysql_sql.y:3211 13027 { 13028 yyLOCAL = tree.NewTableOptionCharset(yyDollar[5].str) 13029 } 13030 yyVAL.union = yyLOCAL 13031 case 422: 13032 yyDollar = yyS[yypt-8 : yypt+1] 13033 var yyLOCAL tree.AlterTableOption 13034 //line mysql_sql.y:3215 13035 { 13036 yyLOCAL = tree.NewTableOptionCharset(yyDollar[5].str) 13037 } 13038 yyVAL.union = yyLOCAL 13039 case 423: 13040 yyDollar = yyS[yypt-2 : yypt+1] 13041 var yyLOCAL tree.AlterTableOption 13042 //line mysql_sql.y:3219 13043 { 13044 yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) 13045 } 13046 yyVAL.union = yyLOCAL 13047 case 424: 13048 yyDollar = yyS[yypt-2 : yypt+1] 13049 var yyLOCAL tree.AlterTableOption 13050 //line mysql_sql.y:3223 13051 { 13052 yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) 13053 } 13054 yyVAL.union = yyLOCAL 13055 case 425: 13056 yyDollar = yyS[yypt-1 : yypt+1] 13057 var yyLOCAL tree.AlterTableOption 13058 //line mysql_sql.y:3227 13059 { 13060 yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) 13061 } 13062 yyVAL.union = yyLOCAL 13063 case 426: 13064 yyDollar = yyS[yypt-3 : yypt+1] 13065 var yyLOCAL tree.AlterTableOption 13066 //line mysql_sql.y:3231 13067 { 13068 yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) 13069 } 13070 yyVAL.union = yyLOCAL 13071 case 427: 13072 yyDollar = yyS[yypt-2 : yypt+1] 13073 var yyLOCAL tree.AlterTableOption 13074 //line mysql_sql.y:3235 13075 { 13076 yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) 13077 } 13078 yyVAL.union = yyLOCAL 13079 case 428: 13080 yyDollar = yyS[yypt-0 : yypt+1] 13081 //line mysql_sql.y:3240 13082 { 13083 yyVAL.str = "" 13084 } 13085 case 445: 13086 yyDollar = yyS[yypt-0 : yypt+1] 13087 //line mysql_sql.y:3271 13088 { 13089 yyVAL.str = "" 13090 } 13091 case 446: 13092 yyDollar = yyS[yypt-1 : yypt+1] 13093 //line mysql_sql.y:3275 13094 { 13095 yyVAL.str = string("COLUMN") 13096 } 13097 case 447: 13098 yyDollar = yyS[yypt-0 : yypt+1] 13099 var yyLOCAL *tree.ColumnPosition 13100 //line mysql_sql.y:3280 13101 { 13102 var typ = tree.ColumnPositionNone 13103 var relativeColumn *tree.UnresolvedName 13104 yyLOCAL = tree.NewColumnPosition(typ, relativeColumn) 13105 } 13106 yyVAL.union = yyLOCAL 13107 case 448: 13108 yyDollar = yyS[yypt-1 : yypt+1] 13109 var yyLOCAL *tree.ColumnPosition 13110 //line mysql_sql.y:3286 13111 { 13112 var typ = tree.ColumnPositionFirst 13113 var relativeColumn *tree.UnresolvedName 13114 yyLOCAL = tree.NewColumnPosition(typ, relativeColumn) 13115 } 13116 yyVAL.union = yyLOCAL 13117 case 449: 13118 yyDollar = yyS[yypt-2 : yypt+1] 13119 var yyLOCAL *tree.ColumnPosition 13120 //line mysql_sql.y:3292 13121 { 13122 var typ = tree.ColumnPositionAfter 13123 var relativeColumn = yyDollar[2].unresolvedNameUnion() 13124 yyLOCAL = tree.NewColumnPosition(typ, relativeColumn) 13125 } 13126 yyVAL.union = yyLOCAL 13127 case 450: 13128 yyDollar = yyS[yypt-1 : yypt+1] 13129 var yyLOCAL []*tree.AlterColumnOrder 13130 //line mysql_sql.y:3300 13131 { 13132 yyLOCAL = []*tree.AlterColumnOrder{yyDollar[1].alterColumnOrderUnion()} 13133 } 13134 yyVAL.union = yyLOCAL 13135 case 451: 13136 yyDollar = yyS[yypt-3 : yypt+1] 13137 var yyLOCAL []*tree.AlterColumnOrder 13138 //line mysql_sql.y:3304 13139 { 13140 yyLOCAL = append(yyDollar[1].alterColumnOrderByUnion(), yyDollar[3].alterColumnOrderUnion()) 13141 } 13142 yyVAL.union = yyLOCAL 13143 case 452: 13144 yyDollar = yyS[yypt-2 : yypt+1] 13145 var yyLOCAL *tree.AlterColumnOrder 13146 //line mysql_sql.y:3310 13147 { 13148 var column = yyDollar[1].unresolvedNameUnion() 13149 var direction = yyDollar[2].directionUnion() 13150 yyLOCAL = tree.NewAlterColumnOrder(column, direction) 13151 } 13152 yyVAL.union = yyLOCAL 13153 case 453: 13154 yyDollar = yyS[yypt-1 : yypt+1] 13155 var yyLOCAL tree.AlterTableOption 13156 //line mysql_sql.y:3318 13157 { 13158 var name = yyDollar[1].unresolvedObjectNameUnion() 13159 yyLOCAL = tree.NewAlterOptionTableName(name) 13160 } 13161 yyVAL.union = yyLOCAL 13162 case 454: 13163 yyDollar = yyS[yypt-2 : yypt+1] 13164 var yyLOCAL tree.AlterTableOption 13165 //line mysql_sql.y:3325 13166 { 13167 var dropType = tree.AlterTableDropIndex 13168 var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 13169 yyLOCAL = tree.NewAlterOptionDrop(dropType, name) 13170 } 13171 yyVAL.union = yyLOCAL 13172 case 455: 13173 yyDollar = yyS[yypt-2 : yypt+1] 13174 var yyLOCAL tree.AlterTableOption 13175 //line mysql_sql.y:3331 13176 { 13177 var dropType = tree.AlterTableDropKey 13178 var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 13179 yyLOCAL = tree.NewAlterOptionDrop(dropType, name) 13180 } 13181 yyVAL.union = yyLOCAL 13182 case 456: 13183 yyDollar = yyS[yypt-1 : yypt+1] 13184 var yyLOCAL tree.AlterTableOption 13185 //line mysql_sql.y:3337 13186 { 13187 var dropType = tree.AlterTableDropColumn 13188 var name = tree.Identifier(yyDollar[1].cstrUnion().Compare()) 13189 yyLOCAL = tree.NewAlterOptionDrop(dropType, name) 13190 } 13191 yyVAL.union = yyLOCAL 13192 case 457: 13193 yyDollar = yyS[yypt-2 : yypt+1] 13194 var yyLOCAL tree.AlterTableOption 13195 //line mysql_sql.y:3343 13196 { 13197 var dropType = tree.AlterTableDropColumn 13198 var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 13199 yyLOCAL = tree.NewAlterOptionDrop(dropType, name) 13200 } 13201 yyVAL.union = yyLOCAL 13202 case 458: 13203 yyDollar = yyS[yypt-3 : yypt+1] 13204 var yyLOCAL tree.AlterTableOption 13205 //line mysql_sql.y:3349 13206 { 13207 var dropType = tree.AlterTableDropForeignKey 13208 var name = tree.Identifier(yyDollar[3].cstrUnion().Compare()) 13209 yyLOCAL = tree.NewAlterOptionDrop(dropType, name) 13210 13211 } 13212 yyVAL.union = yyLOCAL 13213 case 459: 13214 yyDollar = yyS[yypt-2 : yypt+1] 13215 var yyLOCAL tree.AlterTableOption 13216 //line mysql_sql.y:3356 13217 { 13218 yyLOCAL = &tree.AlterOptionDrop{ 13219 Typ: tree.AlterTableDropForeignKey, 13220 Name: tree.Identifier(yyDollar[2].cstrUnion().Compare()), 13221 } 13222 } 13223 yyVAL.union = yyLOCAL 13224 case 460: 13225 yyDollar = yyS[yypt-2 : yypt+1] 13226 var yyLOCAL tree.AlterTableOption 13227 //line mysql_sql.y:3363 13228 { 13229 var dropType = tree.AlterTableDropPrimaryKey 13230 var name = tree.Identifier("") 13231 yyLOCAL = tree.NewAlterOptionDrop(dropType, name) 13232 } 13233 yyVAL.union = yyLOCAL 13234 case 461: 13235 yyDollar = yyS[yypt-3 : yypt+1] 13236 var yyLOCAL tree.AlterTableOption 13237 //line mysql_sql.y:3371 13238 { 13239 var indexName = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 13240 var visibility = yyDollar[3].indexVisibilityUnion() 13241 yyLOCAL = tree.NewAlterOptionAlterIndex(indexName, visibility) 13242 } 13243 yyVAL.union = yyLOCAL 13244 case 462: 13245 yyDollar = yyS[yypt-6 : yypt+1] 13246 var yyLOCAL tree.AlterTableOption 13247 //line mysql_sql.y:3377 13248 { 13249 val := int64(yyDollar[6].item.(int64)) 13250 if val <= 0 { 13251 yylex.Error("LISTS should be greater than 0") 13252 return 1 13253 } 13254 var keyType = tree.INDEX_TYPE_IVFFLAT 13255 var algoParamList = val 13256 var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 13257 yyLOCAL = tree.NewAlterOptionAlterReIndex(name, keyType, algoParamList) 13258 } 13259 yyVAL.union = yyLOCAL 13260 case 463: 13261 yyDollar = yyS[yypt-3 : yypt+1] 13262 var yyLOCAL tree.AlterTableOption 13263 //line mysql_sql.y:3389 13264 { 13265 var checkType = yyDollar[1].str 13266 var enforce = yyDollar[3].boolValUnion() 13267 yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce) 13268 } 13269 yyVAL.union = yyLOCAL 13270 case 464: 13271 yyDollar = yyS[yypt-3 : yypt+1] 13272 var yyLOCAL tree.AlterTableOption 13273 //line mysql_sql.y:3395 13274 { 13275 var checkType = yyDollar[1].str 13276 var enforce = yyDollar[3].boolValUnion() 13277 yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce) 13278 } 13279 yyVAL.union = yyLOCAL 13280 case 465: 13281 yyDollar = yyS[yypt-1 : yypt+1] 13282 var yyLOCAL tree.VisibleType 13283 //line mysql_sql.y:3403 13284 { 13285 yyLOCAL = tree.VISIBLE_TYPE_VISIBLE 13286 } 13287 yyVAL.union = yyLOCAL 13288 case 466: 13289 yyDollar = yyS[yypt-1 : yypt+1] 13290 var yyLOCAL tree.VisibleType 13291 //line mysql_sql.y:3407 13292 { 13293 yyLOCAL = tree.VISIBLE_TYPE_INVISIBLE 13294 } 13295 yyVAL.union = yyLOCAL 13296 case 467: 13297 yyDollar = yyS[yypt-7 : yypt+1] 13298 var yyLOCAL tree.Statement 13299 //line mysql_sql.y:3414 13300 { 13301 var ifExists = yyDollar[3].boolValUnion() 13302 var name = yyDollar[4].exprUnion() 13303 var authOption = yyDollar[5].alterAccountAuthOptionUnion() 13304 var statusOption = yyDollar[6].accountStatusUnion() 13305 var comment = yyDollar[7].accountCommentUnion() 13306 13307 yyLOCAL = tree.NewAlterAccount( 13308 ifExists, 13309 name, 13310 authOption, 13311 statusOption, 13312 comment, 13313 ) 13314 } 13315 yyVAL.union = yyLOCAL 13316 case 468: 13317 yyDollar = yyS[yypt-7 : yypt+1] 13318 var yyLOCAL tree.Statement 13319 //line mysql_sql.y:3432 13320 { 13321 var accountName = "" 13322 var dbName = yyDollar[3].str 13323 var isAccountLevel = false 13324 var updateConfig = yyDollar[7].str 13325 13326 yyLOCAL = tree.NewAlterDataBaseConfig( 13327 accountName, 13328 dbName, 13329 isAccountLevel, 13330 updateConfig, 13331 ) 13332 } 13333 yyVAL.union = yyLOCAL 13334 case 469: 13335 yyDollar = yyS[yypt-8 : yypt+1] 13336 var yyLOCAL tree.Statement 13337 //line mysql_sql.y:3446 13338 { 13339 var accountName = yyDollar[4].str 13340 var dbName = "" 13341 var isAccountLevel = true 13342 var updateConfig = yyDollar[8].str 13343 13344 yyLOCAL = tree.NewAlterDataBaseConfig( 13345 accountName, 13346 dbName, 13347 isAccountLevel, 13348 updateConfig, 13349 ) 13350 } 13351 yyVAL.union = yyLOCAL 13352 case 470: 13353 yyDollar = yyS[yypt-8 : yypt+1] 13354 var yyLOCAL tree.Statement 13355 //line mysql_sql.y:3460 13356 { 13357 assignments := []*tree.VarAssignmentExpr{ 13358 { 13359 System: true, 13360 Global: true, 13361 Name: yyDollar[6].str, 13362 Value: yyDollar[8].exprUnion(), 13363 }, 13364 } 13365 yyLOCAL = &tree.SetVar{Assignments: assignments} 13366 } 13367 yyVAL.union = yyLOCAL 13368 case 471: 13369 yyDollar = yyS[yypt-0 : yypt+1] 13370 var yyLOCAL tree.AlterAccountAuthOption 13371 //line mysql_sql.y:3473 13372 { 13373 yyLOCAL = tree.AlterAccountAuthOption{ 13374 Exist: false, 13375 } 13376 } 13377 yyVAL.union = yyLOCAL 13378 case 472: 13379 yyDollar = yyS[yypt-4 : yypt+1] 13380 var yyLOCAL tree.AlterAccountAuthOption 13381 //line mysql_sql.y:3479 13382 { 13383 yyLOCAL = tree.AlterAccountAuthOption{ 13384 Exist: true, 13385 Equal: yyDollar[2].str, 13386 AdminName: yyDollar[3].exprUnion(), 13387 IdentifiedType: yyDollar[4].accountIdentifiedUnion(), 13388 } 13389 } 13390 yyVAL.union = yyLOCAL 13391 case 473: 13392 yyDollar = yyS[yypt-7 : yypt+1] 13393 var yyLOCAL tree.Statement 13394 //line mysql_sql.y:3490 13395 { 13396 // Create temporary variables with meaningful names 13397 ifExists := yyDollar[3].boolValUnion() 13398 users := yyDollar[4].usersUnion() 13399 role := yyDollar[5].accountRoleUnion() 13400 miscOpt := yyDollar[6].userMiscOptionUnion() 13401 commentOrAttribute := yyDollar[7].accountCommentOrAttributeUnion() 13402 13403 // Use the temporary variables to call the function 13404 yyLOCAL = tree.NewAlterUser(ifExists, users, role, miscOpt, commentOrAttribute) 13405 } 13406 yyVAL.union = yyLOCAL 13407 case 474: 13408 yyDollar = yyS[yypt-0 : yypt+1] 13409 var yyLOCAL *tree.Role 13410 //line mysql_sql.y:3503 13411 { 13412 yyLOCAL = nil 13413 } 13414 yyVAL.union = yyLOCAL 13415 case 475: 13416 yyDollar = yyS[yypt-3 : yypt+1] 13417 var yyLOCAL *tree.Role 13418 //line mysql_sql.y:3507 13419 { 13420 var UserName = yyDollar[3].str 13421 yyLOCAL = tree.NewRole( 13422 UserName, 13423 ) 13424 } 13425 yyVAL.union = yyLOCAL 13426 case 476: 13427 yyDollar = yyS[yypt-0 : yypt+1] 13428 var yyLOCAL bool 13429 //line mysql_sql.y:3515 13430 { 13431 yyLOCAL = false 13432 } 13433 yyVAL.union = yyLOCAL 13434 case 477: 13435 yyDollar = yyS[yypt-2 : yypt+1] 13436 var yyLOCAL bool 13437 //line mysql_sql.y:3519 13438 { 13439 yyLOCAL = true 13440 } 13441 yyVAL.union = yyLOCAL 13442 case 478: 13443 yyDollar = yyS[yypt-0 : yypt+1] 13444 var yyLOCAL tree.UserMiscOption 13445 //line mysql_sql.y:3524 13446 { 13447 yyLOCAL = nil 13448 } 13449 yyVAL.union = yyLOCAL 13450 case 479: 13451 yyDollar = yyS[yypt-1 : yypt+1] 13452 var yyLOCAL tree.UserMiscOption 13453 //line mysql_sql.y:3528 13454 { 13455 yyLOCAL = yyDollar[1].userMiscOptionUnion() 13456 } 13457 yyVAL.union = yyLOCAL 13458 case 480: 13459 yyDollar = yyS[yypt-1 : yypt+1] 13460 var yyLOCAL tree.UserMiscOption 13461 //line mysql_sql.y:3544 13462 { 13463 yyLOCAL = tree.NewUserMiscOptionAccountUnlock() 13464 } 13465 yyVAL.union = yyLOCAL 13466 case 481: 13467 yyDollar = yyS[yypt-1 : yypt+1] 13468 var yyLOCAL tree.UserMiscOption 13469 //line mysql_sql.y:3548 13470 { 13471 yyLOCAL = tree.NewUserMiscOptionAccountLock() 13472 } 13473 yyVAL.union = yyLOCAL 13474 case 482: 13475 yyDollar = yyS[yypt-1 : yypt+1] 13476 var yyLOCAL tree.UserMiscOption 13477 //line mysql_sql.y:3552 13478 { 13479 yyLOCAL = tree.NewUserMiscOptionPasswordExpireNone() 13480 } 13481 yyVAL.union = yyLOCAL 13482 case 483: 13483 yyDollar = yyS[yypt-4 : yypt+1] 13484 var yyLOCAL tree.UserMiscOption 13485 //line mysql_sql.y:3556 13486 { 13487 var Value = yyDollar[3].item.(int64) 13488 yyLOCAL = tree.NewUserMiscOptionPasswordExpireInterval( 13489 Value, 13490 ) 13491 } 13492 yyVAL.union = yyLOCAL 13493 case 484: 13494 yyDollar = yyS[yypt-2 : yypt+1] 13495 var yyLOCAL tree.UserMiscOption 13496 //line mysql_sql.y:3563 13497 { 13498 yyLOCAL = tree.NewUserMiscOptionPasswordExpireNever() 13499 } 13500 yyVAL.union = yyLOCAL 13501 case 485: 13502 yyDollar = yyS[yypt-2 : yypt+1] 13503 var yyLOCAL tree.UserMiscOption 13504 //line mysql_sql.y:3567 13505 { 13506 yyLOCAL = tree.NewUserMiscOptionPasswordExpireDefault() 13507 } 13508 yyVAL.union = yyLOCAL 13509 case 486: 13510 yyDollar = yyS[yypt-3 : yypt+1] 13511 var yyLOCAL tree.UserMiscOption 13512 //line mysql_sql.y:3571 13513 { 13514 yyLOCAL = tree.NewUserMiscOptionPasswordHistoryDefault() 13515 } 13516 yyVAL.union = yyLOCAL 13517 case 487: 13518 yyDollar = yyS[yypt-3 : yypt+1] 13519 var yyLOCAL tree.UserMiscOption 13520 //line mysql_sql.y:3575 13521 { 13522 var Value = yyDollar[3].item.(int64) 13523 yyLOCAL = tree.NewUserMiscOptionPasswordHistoryCount( 13524 Value, 13525 ) 13526 } 13527 yyVAL.union = yyLOCAL 13528 case 488: 13529 yyDollar = yyS[yypt-4 : yypt+1] 13530 var yyLOCAL tree.UserMiscOption 13531 //line mysql_sql.y:3582 13532 { 13533 yyLOCAL = tree.NewUserMiscOptionPasswordReuseIntervalDefault() 13534 } 13535 yyVAL.union = yyLOCAL 13536 case 489: 13537 yyDollar = yyS[yypt-5 : yypt+1] 13538 var yyLOCAL tree.UserMiscOption 13539 //line mysql_sql.y:3586 13540 { 13541 var Value = yyDollar[4].item.(int64) 13542 yyLOCAL = tree.NewUserMiscOptionPasswordReuseIntervalCount( 13543 Value, 13544 ) 13545 } 13546 yyVAL.union = yyLOCAL 13547 case 490: 13548 yyDollar = yyS[yypt-3 : yypt+1] 13549 var yyLOCAL tree.UserMiscOption 13550 //line mysql_sql.y:3593 13551 { 13552 yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentNone() 13553 } 13554 yyVAL.union = yyLOCAL 13555 case 491: 13556 yyDollar = yyS[yypt-4 : yypt+1] 13557 var yyLOCAL tree.UserMiscOption 13558 //line mysql_sql.y:3597 13559 { 13560 yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentDefault() 13561 } 13562 yyVAL.union = yyLOCAL 13563 case 492: 13564 yyDollar = yyS[yypt-4 : yypt+1] 13565 var yyLOCAL tree.UserMiscOption 13566 //line mysql_sql.y:3601 13567 { 13568 yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentOptional() 13569 } 13570 yyVAL.union = yyLOCAL 13571 case 493: 13572 yyDollar = yyS[yypt-2 : yypt+1] 13573 var yyLOCAL tree.UserMiscOption 13574 //line mysql_sql.y:3605 13575 { 13576 var Value = yyDollar[2].item.(int64) 13577 yyLOCAL = tree.NewUserMiscOptionFailedLoginAttempts( 13578 Value, 13579 ) 13580 } 13581 yyVAL.union = yyLOCAL 13582 case 494: 13583 yyDollar = yyS[yypt-2 : yypt+1] 13584 var yyLOCAL tree.UserMiscOption 13585 //line mysql_sql.y:3612 13586 { 13587 var Value = yyDollar[2].item.(int64) 13588 yyLOCAL = tree.NewUserMiscOptionPasswordLockTimeCount( 13589 Value, 13590 ) 13591 } 13592 yyVAL.union = yyLOCAL 13593 case 495: 13594 yyDollar = yyS[yypt-2 : yypt+1] 13595 var yyLOCAL tree.UserMiscOption 13596 //line mysql_sql.y:3619 13597 { 13598 yyLOCAL = tree.NewUserMiscOptionPasswordLockTimeUnbounded() 13599 } 13600 yyVAL.union = yyLOCAL 13601 case 496: 13602 yyDollar = yyS[yypt-3 : yypt+1] 13603 //line mysql_sql.y:3625 13604 { 13605 yyVAL.item = nil 13606 } 13607 case 497: 13608 yyDollar = yyS[yypt-0 : yypt+1] 13609 //line mysql_sql.y:3630 13610 { 13611 yyVAL.item = nil 13612 } 13613 case 531: 13614 yyDollar = yyS[yypt-4 : yypt+1] 13615 var yyLOCAL tree.Statement 13616 //line mysql_sql.y:3673 13617 { 13618 yyLOCAL = &tree.ShowCollation{ 13619 Like: yyDollar[3].comparisionExprUnion(), 13620 Where: yyDollar[4].whereUnion(), 13621 } 13622 } 13623 yyVAL.union = yyLOCAL 13624 case 532: 13625 yyDollar = yyS[yypt-3 : yypt+1] 13626 var yyLOCAL tree.Statement 13627 //line mysql_sql.y:3682 13628 { 13629 yyLOCAL = &tree.ShowStages{ 13630 Like: yyDollar[3].comparisionExprUnion(), 13631 } 13632 } 13633 yyVAL.union = yyLOCAL 13634 case 533: 13635 yyDollar = yyS[yypt-3 : yypt+1] 13636 var yyLOCAL tree.Statement 13637 //line mysql_sql.y:3690 13638 { 13639 yyLOCAL = &tree.ShowSnapShots{ 13640 Where: yyDollar[3].whereUnion(), 13641 } 13642 } 13643 yyVAL.union = yyLOCAL 13644 case 534: 13645 yyDollar = yyS[yypt-2 : yypt+1] 13646 var yyLOCAL tree.Statement 13647 //line mysql_sql.y:3698 13648 { 13649 yyLOCAL = &tree.ShowGrants{ShowGrantType: tree.GrantForUser} 13650 } 13651 yyVAL.union = yyLOCAL 13652 case 535: 13653 yyDollar = yyS[yypt-5 : yypt+1] 13654 var yyLOCAL tree.Statement 13655 //line mysql_sql.y:3702 13656 { 13657 yyLOCAL = &tree.ShowGrants{Username: yyDollar[4].usernameRecordUnion().Username, Hostname: yyDollar[4].usernameRecordUnion().Hostname, Roles: yyDollar[5].rolesUnion(), ShowGrantType: tree.GrantForUser} 13658 } 13659 yyVAL.union = yyLOCAL 13660 case 536: 13661 yyDollar = yyS[yypt-5 : yypt+1] 13662 var yyLOCAL tree.Statement 13663 //line mysql_sql.y:3706 13664 { 13665 s := &tree.ShowGrants{} 13666 roles := []*tree.Role{ 13667 {UserName: yyDollar[5].cstrUnion().Compare()}, 13668 } 13669 s.Roles = roles 13670 s.ShowGrantType = tree.GrantForRole 13671 yyLOCAL = s 13672 } 13673 yyVAL.union = yyLOCAL 13674 case 537: 13675 yyDollar = yyS[yypt-0 : yypt+1] 13676 var yyLOCAL []*tree.Role 13677 //line mysql_sql.y:3717 13678 { 13679 yyLOCAL = nil 13680 } 13681 yyVAL.union = yyLOCAL 13682 case 538: 13683 yyDollar = yyS[yypt-2 : yypt+1] 13684 var yyLOCAL []*tree.Role 13685 //line mysql_sql.y:3721 13686 { 13687 yyLOCAL = yyDollar[2].rolesUnion() 13688 } 13689 yyVAL.union = yyLOCAL 13690 case 539: 13691 yyDollar = yyS[yypt-7 : yypt+1] 13692 var yyLOCAL tree.Statement 13693 //line mysql_sql.y:3727 13694 { 13695 yyLOCAL = &tree.ShowTableStatus{DbName: yyDollar[5].str, Like: yyDollar[6].comparisionExprUnion(), Where: yyDollar[7].whereUnion()} 13696 } 13697 yyVAL.union = yyLOCAL 13698 case 540: 13699 yyDollar = yyS[yypt-0 : yypt+1] 13700 //line mysql_sql.y:3732 13701 { 13702 } 13703 case 542: 13704 yyDollar = yyS[yypt-0 : yypt+1] 13705 //line mysql_sql.y:3736 13706 { 13707 } 13708 case 544: 13709 yyDollar = yyS[yypt-5 : yypt+1] 13710 var yyLOCAL tree.Statement 13711 //line mysql_sql.y:3741 13712 { 13713 yyLOCAL = &tree.ShowFunctionOrProcedureStatus{ 13714 Like: yyDollar[4].comparisionExprUnion(), 13715 Where: yyDollar[5].whereUnion(), 13716 IsFunction: true, 13717 } 13718 } 13719 yyVAL.union = yyLOCAL 13720 case 545: 13721 yyDollar = yyS[yypt-5 : yypt+1] 13722 var yyLOCAL tree.Statement 13723 //line mysql_sql.y:3751 13724 { 13725 yyLOCAL = &tree.ShowFunctionOrProcedureStatus{ 13726 Like: yyDollar[4].comparisionExprUnion(), 13727 Where: yyDollar[5].whereUnion(), 13728 IsFunction: false, 13729 } 13730 } 13731 yyVAL.union = yyLOCAL 13732 case 546: 13733 yyDollar = yyS[yypt-3 : yypt+1] 13734 var yyLOCAL tree.Statement 13735 //line mysql_sql.y:3761 13736 { 13737 yyLOCAL = &tree.ShowRolesStmt{ 13738 Like: yyDollar[3].comparisionExprUnion(), 13739 } 13740 } 13741 yyVAL.union = yyLOCAL 13742 case 547: 13743 yyDollar = yyS[yypt-3 : yypt+1] 13744 var yyLOCAL tree.Statement 13745 //line mysql_sql.y:3769 13746 { 13747 yyLOCAL = &tree.ShowNodeList{} 13748 } 13749 yyVAL.union = yyLOCAL 13750 case 548: 13751 yyDollar = yyS[yypt-2 : yypt+1] 13752 var yyLOCAL tree.Statement 13753 //line mysql_sql.y:3775 13754 { 13755 yyLOCAL = &tree.ShowLocks{} 13756 } 13757 yyVAL.union = yyLOCAL 13758 case 549: 13759 yyDollar = yyS[yypt-4 : yypt+1] 13760 var yyLOCAL tree.Statement 13761 //line mysql_sql.y:3781 13762 { 13763 yyLOCAL = &tree.ShowTableNumber{DbName: yyDollar[4].str} 13764 } 13765 yyVAL.union = yyLOCAL 13766 case 550: 13767 yyDollar = yyS[yypt-4 : yypt+1] 13768 var yyLOCAL tree.Statement 13769 //line mysql_sql.y:3787 13770 { 13771 yyLOCAL = &tree.ShowColumnNumber{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} 13772 } 13773 yyVAL.union = yyLOCAL 13774 case 551: 13775 yyDollar = yyS[yypt-4 : yypt+1] 13776 var yyLOCAL tree.Statement 13777 //line mysql_sql.y:3793 13778 { 13779 yyLOCAL = &tree.ShowTableValues{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} 13780 } 13781 yyVAL.union = yyLOCAL 13782 case 552: 13783 yyDollar = yyS[yypt-4 : yypt+1] 13784 var yyLOCAL tree.Statement 13785 //line mysql_sql.y:3799 13786 { 13787 yyLOCAL = &tree.ShowTableSize{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} 13788 } 13789 yyVAL.union = yyLOCAL 13790 case 553: 13791 yyDollar = yyS[yypt-4 : yypt+1] 13792 var yyLOCAL tree.Statement 13793 //line mysql_sql.y:3805 13794 { 13795 s := yyDollar[2].statementUnion().(*tree.ShowTarget) 13796 s.Like = yyDollar[3].comparisionExprUnion() 13797 s.Where = yyDollar[4].whereUnion() 13798 yyLOCAL = s 13799 } 13800 yyVAL.union = yyLOCAL 13801 case 554: 13802 yyDollar = yyS[yypt-1 : yypt+1] 13803 var yyLOCAL tree.Statement 13804 //line mysql_sql.y:3814 13805 { 13806 yyLOCAL = &tree.ShowTarget{Type: tree.ShowConfig} 13807 } 13808 yyVAL.union = yyLOCAL 13809 case 555: 13810 yyDollar = yyS[yypt-1 : yypt+1] 13811 var yyLOCAL tree.Statement 13812 //line mysql_sql.y:3818 13813 { 13814 yyLOCAL = &tree.ShowTarget{Type: tree.ShowCharset} 13815 } 13816 yyVAL.union = yyLOCAL 13817 case 556: 13818 yyDollar = yyS[yypt-1 : yypt+1] 13819 var yyLOCAL tree.Statement 13820 //line mysql_sql.y:3822 13821 { 13822 yyLOCAL = &tree.ShowTarget{Type: tree.ShowEngines} 13823 } 13824 yyVAL.union = yyLOCAL 13825 case 557: 13826 yyDollar = yyS[yypt-3 : yypt+1] 13827 var yyLOCAL tree.Statement 13828 //line mysql_sql.y:3826 13829 { 13830 yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowTriggers} 13831 } 13832 yyVAL.union = yyLOCAL 13833 case 558: 13834 yyDollar = yyS[yypt-3 : yypt+1] 13835 var yyLOCAL tree.Statement 13836 //line mysql_sql.y:3830 13837 { 13838 yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowEvents} 13839 } 13840 yyVAL.union = yyLOCAL 13841 case 559: 13842 yyDollar = yyS[yypt-1 : yypt+1] 13843 var yyLOCAL tree.Statement 13844 //line mysql_sql.y:3834 13845 { 13846 yyLOCAL = &tree.ShowTarget{Type: tree.ShowPlugins} 13847 } 13848 yyVAL.union = yyLOCAL 13849 case 560: 13850 yyDollar = yyS[yypt-1 : yypt+1] 13851 var yyLOCAL tree.Statement 13852 //line mysql_sql.y:3838 13853 { 13854 yyLOCAL = &tree.ShowTarget{Type: tree.ShowPrivileges} 13855 } 13856 yyVAL.union = yyLOCAL 13857 case 561: 13858 yyDollar = yyS[yypt-1 : yypt+1] 13859 var yyLOCAL tree.Statement 13860 //line mysql_sql.y:3842 13861 { 13862 yyLOCAL = &tree.ShowTarget{Type: tree.ShowProfiles} 13863 } 13864 yyVAL.union = yyLOCAL 13865 case 562: 13866 yyDollar = yyS[yypt-6 : yypt+1] 13867 var yyLOCAL tree.Statement 13868 //line mysql_sql.y:3848 13869 { 13870 yyLOCAL = &tree.ShowIndex{ 13871 TableName: yyDollar[4].unresolvedObjectNameUnion(), 13872 DbName: yyDollar[5].str, 13873 Where: yyDollar[6].whereUnion(), 13874 } 13875 } 13876 yyVAL.union = yyLOCAL 13877 case 563: 13878 yyDollar = yyS[yypt-0 : yypt+1] 13879 //line mysql_sql.y:3857 13880 { 13881 } 13882 case 564: 13883 yyDollar = yyS[yypt-1 : yypt+1] 13884 //line mysql_sql.y:3859 13885 { 13886 } 13887 case 568: 13888 yyDollar = yyS[yypt-5 : yypt+1] 13889 var yyLOCAL tree.Statement 13890 //line mysql_sql.y:3868 13891 { 13892 yyLOCAL = &tree.ShowVariables{ 13893 Global: yyDollar[2].boolValUnion(), 13894 Like: yyDollar[4].comparisionExprUnion(), 13895 Where: yyDollar[5].whereUnion(), 13896 } 13897 } 13898 yyVAL.union = yyLOCAL 13899 case 569: 13900 yyDollar = yyS[yypt-5 : yypt+1] 13901 var yyLOCAL tree.Statement 13902 //line mysql_sql.y:3878 13903 { 13904 yyLOCAL = &tree.ShowStatus{ 13905 Global: yyDollar[2].boolValUnion(), 13906 Like: yyDollar[4].comparisionExprUnion(), 13907 Where: yyDollar[5].whereUnion(), 13908 } 13909 } 13910 yyVAL.union = yyLOCAL 13911 case 570: 13912 yyDollar = yyS[yypt-0 : yypt+1] 13913 var yyLOCAL bool 13914 //line mysql_sql.y:3887 13915 { 13916 yyLOCAL = false 13917 } 13918 yyVAL.union = yyLOCAL 13919 case 571: 13920 yyDollar = yyS[yypt-1 : yypt+1] 13921 var yyLOCAL bool 13922 //line mysql_sql.y:3891 13923 { 13924 yyLOCAL = true 13925 } 13926 yyVAL.union = yyLOCAL 13927 case 572: 13928 yyDollar = yyS[yypt-1 : yypt+1] 13929 var yyLOCAL bool 13930 //line mysql_sql.y:3895 13931 { 13932 yyLOCAL = false 13933 } 13934 yyVAL.union = yyLOCAL 13935 case 573: 13936 yyDollar = yyS[yypt-3 : yypt+1] 13937 var yyLOCAL tree.Statement 13938 //line mysql_sql.y:3901 13939 { 13940 yyLOCAL = &tree.ShowWarnings{} 13941 } 13942 yyVAL.union = yyLOCAL 13943 case 574: 13944 yyDollar = yyS[yypt-3 : yypt+1] 13945 var yyLOCAL tree.Statement 13946 //line mysql_sql.y:3907 13947 { 13948 yyLOCAL = &tree.ShowErrors{} 13949 } 13950 yyVAL.union = yyLOCAL 13951 case 575: 13952 yyDollar = yyS[yypt-3 : yypt+1] 13953 var yyLOCAL tree.Statement 13954 //line mysql_sql.y:3913 13955 { 13956 yyLOCAL = &tree.ShowProcessList{Full: yyDollar[2].fullOptUnion()} 13957 } 13958 yyVAL.union = yyLOCAL 13959 case 576: 13960 yyDollar = yyS[yypt-4 : yypt+1] 13961 var yyLOCAL tree.Statement 13962 //line mysql_sql.y:3919 13963 { 13964 yyLOCAL = &tree.ShowSequences{ 13965 DBName: yyDollar[3].str, 13966 Where: yyDollar[4].whereUnion(), 13967 } 13968 } 13969 yyVAL.union = yyLOCAL 13970 case 577: 13971 yyDollar = yyS[yypt-7 : yypt+1] 13972 var yyLOCAL tree.Statement 13973 //line mysql_sql.y:3928 13974 { 13975 yyLOCAL = &tree.ShowTables{ 13976 Open: false, 13977 Full: yyDollar[2].fullOptUnion(), 13978 DBName: yyDollar[4].str, 13979 Like: yyDollar[5].comparisionExprUnion(), 13980 Where: yyDollar[6].whereUnion(), 13981 SnapshotName: yyDollar[7].str, 13982 } 13983 } 13984 yyVAL.union = yyLOCAL 13985 case 578: 13986 yyDollar = yyS[yypt-7 : yypt+1] 13987 var yyLOCAL tree.Statement 13988 //line mysql_sql.y:3939 13989 { 13990 yyLOCAL = &tree.ShowTables{ 13991 Open: true, 13992 Full: yyDollar[3].fullOptUnion(), 13993 DBName: yyDollar[5].str, 13994 Like: yyDollar[6].comparisionExprUnion(), 13995 Where: yyDollar[7].whereUnion(), 13996 } 13997 } 13998 yyVAL.union = yyLOCAL 13999 case 579: 14000 yyDollar = yyS[yypt-5 : yypt+1] 14001 var yyLOCAL tree.Statement 14002 //line mysql_sql.y:3951 14003 { 14004 yyLOCAL = &tree.ShowDatabases{ 14005 Like: yyDollar[3].comparisionExprUnion(), 14006 Where: yyDollar[4].whereUnion(), 14007 SnapshotName: yyDollar[5].str, 14008 } 14009 } 14010 yyVAL.union = yyLOCAL 14011 case 580: 14012 yyDollar = yyS[yypt-4 : yypt+1] 14013 var yyLOCAL tree.Statement 14014 //line mysql_sql.y:3959 14015 { 14016 yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()} 14017 } 14018 yyVAL.union = yyLOCAL 14019 case 581: 14020 yyDollar = yyS[yypt-7 : yypt+1] 14021 var yyLOCAL tree.Statement 14022 //line mysql_sql.y:3965 14023 { 14024 yyLOCAL = &tree.ShowColumns{ 14025 Ext: false, 14026 Full: yyDollar[2].fullOptUnion(), 14027 Table: yyDollar[4].unresolvedObjectNameUnion(), 14028 // colName: $3, 14029 DBName: yyDollar[5].str, 14030 Like: yyDollar[6].comparisionExprUnion(), 14031 Where: yyDollar[7].whereUnion(), 14032 } 14033 } 14034 yyVAL.union = yyLOCAL 14035 case 582: 14036 yyDollar = yyS[yypt-8 : yypt+1] 14037 var yyLOCAL tree.Statement 14038 //line mysql_sql.y:3977 14039 { 14040 yyLOCAL = &tree.ShowColumns{ 14041 Ext: true, 14042 Full: yyDollar[3].fullOptUnion(), 14043 Table: yyDollar[5].unresolvedObjectNameUnion(), 14044 // colName: $3, 14045 DBName: yyDollar[6].str, 14046 Like: yyDollar[7].comparisionExprUnion(), 14047 Where: yyDollar[8].whereUnion(), 14048 } 14049 } 14050 yyVAL.union = yyLOCAL 14051 case 583: 14052 yyDollar = yyS[yypt-3 : yypt+1] 14053 var yyLOCAL tree.Statement 14054 //line mysql_sql.y:3991 14055 { 14056 yyLOCAL = &tree.ShowAccounts{Like: yyDollar[3].comparisionExprUnion()} 14057 } 14058 yyVAL.union = yyLOCAL 14059 case 584: 14060 yyDollar = yyS[yypt-3 : yypt+1] 14061 var yyLOCAL tree.Statement 14062 //line mysql_sql.y:3997 14063 { 14064 yyLOCAL = &tree.ShowPublications{Like: yyDollar[3].comparisionExprUnion()} 14065 } 14066 yyVAL.union = yyLOCAL 14067 case 585: 14068 yyDollar = yyS[yypt-2 : yypt+1] 14069 var yyLOCAL tree.Statement 14070 //line mysql_sql.y:4003 14071 { 14072 yyLOCAL = &tree.ShowAccountUpgrade{} 14073 } 14074 yyVAL.union = yyLOCAL 14075 case 586: 14076 yyDollar = yyS[yypt-3 : yypt+1] 14077 var yyLOCAL tree.Statement 14078 //line mysql_sql.y:4010 14079 { 14080 yyLOCAL = &tree.ShowSubscriptions{Like: yyDollar[3].comparisionExprUnion()} 14081 } 14082 yyVAL.union = yyLOCAL 14083 case 587: 14084 yyDollar = yyS[yypt-4 : yypt+1] 14085 var yyLOCAL tree.Statement 14086 //line mysql_sql.y:4014 14087 { 14088 yyLOCAL = &tree.ShowSubscriptions{All: true, Like: yyDollar[4].comparisionExprUnion()} 14089 } 14090 yyVAL.union = yyLOCAL 14091 case 588: 14092 yyDollar = yyS[yypt-0 : yypt+1] 14093 var yyLOCAL *tree.ComparisonExpr 14094 //line mysql_sql.y:4019 14095 { 14096 yyLOCAL = nil 14097 } 14098 yyVAL.union = yyLOCAL 14099 case 589: 14100 yyDollar = yyS[yypt-2 : yypt+1] 14101 var yyLOCAL *tree.ComparisonExpr 14102 //line mysql_sql.y:4023 14103 { 14104 yyLOCAL = tree.NewComparisonExpr(tree.LIKE, nil, yyDollar[2].exprUnion()) 14105 } 14106 yyVAL.union = yyLOCAL 14107 case 590: 14108 yyDollar = yyS[yypt-2 : yypt+1] 14109 var yyLOCAL *tree.ComparisonExpr 14110 //line mysql_sql.y:4027 14111 { 14112 yyLOCAL = tree.NewComparisonExpr(tree.ILIKE, nil, yyDollar[2].exprUnion()) 14113 } 14114 yyVAL.union = yyLOCAL 14115 case 591: 14116 yyDollar = yyS[yypt-0 : yypt+1] 14117 //line mysql_sql.y:4032 14118 { 14119 yyVAL.str = "" 14120 } 14121 case 592: 14122 yyDollar = yyS[yypt-2 : yypt+1] 14123 //line mysql_sql.y:4036 14124 { 14125 yyVAL.str = yyDollar[2].cstrUnion().Compare() 14126 } 14127 case 593: 14128 yyDollar = yyS[yypt-2 : yypt+1] 14129 var yyLOCAL *tree.UnresolvedObjectName 14130 //line mysql_sql.y:4042 14131 { 14132 yyLOCAL = yyDollar[2].unresolvedObjectNameUnion() 14133 } 14134 yyVAL.union = yyLOCAL 14135 case 594: 14136 yyDollar = yyS[yypt-0 : yypt+1] 14137 //line mysql_sql.y:4047 14138 { 14139 yyVAL.str = "" 14140 } 14141 case 595: 14142 yyDollar = yyS[yypt-5 : yypt+1] 14143 //line mysql_sql.y:4051 14144 { 14145 yyVAL.str = yyDollar[4].str 14146 } 14147 case 600: 14148 yyDollar = yyS[yypt-0 : yypt+1] 14149 var yyLOCAL bool 14150 //line mysql_sql.y:4066 14151 { 14152 yyLOCAL = false 14153 } 14154 yyVAL.union = yyLOCAL 14155 case 601: 14156 yyDollar = yyS[yypt-1 : yypt+1] 14157 var yyLOCAL bool 14158 //line mysql_sql.y:4070 14159 { 14160 yyLOCAL = true 14161 } 14162 yyVAL.union = yyLOCAL 14163 case 602: 14164 yyDollar = yyS[yypt-5 : yypt+1] 14165 var yyLOCAL tree.Statement 14166 //line mysql_sql.y:4076 14167 { 14168 yyLOCAL = &tree.ShowCreateTable{ 14169 Name: yyDollar[4].unresolvedObjectNameUnion(), 14170 SnapshotName: yyDollar[5].str, 14171 } 14172 } 14173 yyVAL.union = yyLOCAL 14174 case 603: 14175 yyDollar = yyS[yypt-5 : yypt+1] 14176 var yyLOCAL tree.Statement 14177 //line mysql_sql.y:4084 14178 { 14179 yyLOCAL = &tree.ShowCreateView{ 14180 Name: yyDollar[4].unresolvedObjectNameUnion(), 14181 SnapshotName: yyDollar[5].str, 14182 } 14183 } 14184 yyVAL.union = yyLOCAL 14185 case 604: 14186 yyDollar = yyS[yypt-5 : yypt+1] 14187 var yyLOCAL tree.Statement 14188 //line mysql_sql.y:4091 14189 { 14190 yyLOCAL = &tree.ShowCreateDatabase{IfNotExists: yyDollar[4].ifNotExistsUnion(), Name: yyDollar[5].str} 14191 } 14192 yyVAL.union = yyLOCAL 14193 case 605: 14194 yyDollar = yyS[yypt-4 : yypt+1] 14195 var yyLOCAL tree.Statement 14196 //line mysql_sql.y:4095 14197 { 14198 yyLOCAL = &tree.ShowCreatePublications{Name: yyDollar[4].str} 14199 } 14200 yyVAL.union = yyLOCAL 14201 case 606: 14202 yyDollar = yyS[yypt-3 : yypt+1] 14203 var yyLOCAL tree.Statement 14204 //line mysql_sql.y:4101 14205 { 14206 yyLOCAL = &tree.ShowBackendServers{} 14207 } 14208 yyVAL.union = yyLOCAL 14209 case 607: 14210 yyDollar = yyS[yypt-1 : yypt+1] 14211 var yyLOCAL *tree.UnresolvedObjectName 14212 //line mysql_sql.y:4107 14213 { 14214 yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].cstrUnion().Compare()}) 14215 } 14216 yyVAL.union = yyLOCAL 14217 case 608: 14218 yyDollar = yyS[yypt-3 : yypt+1] 14219 var yyLOCAL *tree.UnresolvedObjectName 14220 //line mysql_sql.y:4111 14221 { 14222 yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare()}) 14223 } 14224 yyVAL.union = yyLOCAL 14225 case 609: 14226 yyDollar = yyS[yypt-1 : yypt+1] 14227 //line mysql_sql.y:4117 14228 { 14229 yyVAL.str = yyDollar[1].cstrUnion().Compare() 14230 } 14231 case 610: 14232 yyDollar = yyS[yypt-1 : yypt+1] 14233 var yyLOCAL *tree.UnresolvedObjectName 14234 //line mysql_sql.y:4123 14235 { 14236 yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].cstrUnion().Compare()}) 14237 } 14238 yyVAL.union = yyLOCAL 14239 case 611: 14240 yyDollar = yyS[yypt-3 : yypt+1] 14241 var yyLOCAL *tree.UnresolvedObjectName 14242 //line mysql_sql.y:4127 14243 { 14244 yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare()}) 14245 } 14246 yyVAL.union = yyLOCAL 14247 case 612: 14248 yyDollar = yyS[yypt-5 : yypt+1] 14249 var yyLOCAL *tree.UnresolvedObjectName 14250 //line mysql_sql.y:4131 14251 { 14252 yyLOCAL = tree.SetUnresolvedObjectName(3, [3]string{yyDollar[5].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare()}) 14253 } 14254 yyVAL.union = yyLOCAL 14255 case 613: 14256 yyDollar = yyS[yypt-2 : yypt+1] 14257 var yyLOCAL tree.Statement 14258 //line mysql_sql.y:4137 14259 { 14260 yyLOCAL = tree.NewTruncateTable(yyDollar[2].tableNameUnion()) 14261 } 14262 yyVAL.union = yyLOCAL 14263 case 614: 14264 yyDollar = yyS[yypt-3 : yypt+1] 14265 var yyLOCAL tree.Statement 14266 //line mysql_sql.y:4141 14267 { 14268 yyLOCAL = tree.NewTruncateTable(yyDollar[3].tableNameUnion()) 14269 } 14270 yyVAL.union = yyLOCAL 14271 case 631: 14272 yyDollar = yyS[yypt-4 : yypt+1] 14273 var yyLOCAL tree.Statement 14274 //line mysql_sql.y:4167 14275 { 14276 var ifExists = yyDollar[3].boolValUnion() 14277 var name = yyDollar[4].tableNamesUnion() 14278 yyLOCAL = tree.NewDropSequence(ifExists, name) 14279 } 14280 yyVAL.union = yyLOCAL 14281 case 632: 14282 yyDollar = yyS[yypt-4 : yypt+1] 14283 var yyLOCAL tree.Statement 14284 //line mysql_sql.y:4175 14285 { 14286 var ifExists = yyDollar[3].boolValUnion() 14287 var name = yyDollar[4].exprUnion() 14288 yyLOCAL = tree.NewDropAccount(ifExists, name) 14289 } 14290 yyVAL.union = yyLOCAL 14291 case 633: 14292 yyDollar = yyS[yypt-4 : yypt+1] 14293 var yyLOCAL tree.Statement 14294 //line mysql_sql.y:4183 14295 { 14296 var ifExists = yyDollar[3].boolValUnion() 14297 var users = yyDollar[4].usersUnion() 14298 yyLOCAL = tree.NewDropUser(ifExists, users) 14299 } 14300 yyVAL.union = yyLOCAL 14301 case 634: 14302 yyDollar = yyS[yypt-1 : yypt+1] 14303 var yyLOCAL []*tree.User 14304 //line mysql_sql.y:4191 14305 { 14306 yyLOCAL = []*tree.User{yyDollar[1].userUnion()} 14307 } 14308 yyVAL.union = yyLOCAL 14309 case 635: 14310 yyDollar = yyS[yypt-3 : yypt+1] 14311 var yyLOCAL []*tree.User 14312 //line mysql_sql.y:4195 14313 { 14314 yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) 14315 } 14316 yyVAL.union = yyLOCAL 14317 case 636: 14318 yyDollar = yyS[yypt-1 : yypt+1] 14319 var yyLOCAL *tree.User 14320 //line mysql_sql.y:4201 14321 { 14322 var Username = yyDollar[1].usernameRecordUnion().Username 14323 var Hostname = yyDollar[1].usernameRecordUnion().Hostname 14324 var AuthOption *tree.AccountIdentified 14325 yyLOCAL = tree.NewUser( 14326 Username, 14327 Hostname, 14328 AuthOption, 14329 ) 14330 } 14331 yyVAL.union = yyLOCAL 14332 case 637: 14333 yyDollar = yyS[yypt-4 : yypt+1] 14334 var yyLOCAL tree.Statement 14335 //line mysql_sql.y:4214 14336 { 14337 var ifExists = yyDollar[3].boolValUnion() 14338 var roles = yyDollar[4].rolesUnion() 14339 yyLOCAL = tree.NewDropRole(ifExists, roles) 14340 } 14341 yyVAL.union = yyLOCAL 14342 case 638: 14343 yyDollar = yyS[yypt-6 : yypt+1] 14344 var yyLOCAL tree.Statement 14345 //line mysql_sql.y:4222 14346 { 14347 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 14348 var tableName = yyDollar[6].tableNameUnion() 14349 var ifExists = yyDollar[3].boolValUnion() 14350 yyLOCAL = tree.NewDropIndex(name, tableName, ifExists) 14351 } 14352 yyVAL.union = yyLOCAL 14353 case 639: 14354 yyDollar = yyS[yypt-6 : yypt+1] 14355 var yyLOCAL tree.Statement 14356 //line mysql_sql.y:4231 14357 { 14358 var ifExists = yyDollar[4].boolValUnion() 14359 var names = yyDollar[5].tableNamesUnion() 14360 yyLOCAL = tree.NewDropTable(ifExists, names) 14361 } 14362 yyVAL.union = yyLOCAL 14363 case 640: 14364 yyDollar = yyS[yypt-4 : yypt+1] 14365 var yyLOCAL tree.Statement 14366 //line mysql_sql.y:4237 14367 { 14368 var ifExists = yyDollar[3].boolValUnion() 14369 var names = yyDollar[4].tableNamesUnion() 14370 yyLOCAL = tree.NewDropTable(ifExists, names) 14371 } 14372 yyVAL.union = yyLOCAL 14373 case 641: 14374 yyDollar = yyS[yypt-4 : yypt+1] 14375 var yyLOCAL tree.Statement 14376 //line mysql_sql.y:4245 14377 { 14378 var ifExists = yyDollar[3].boolValUnion() 14379 var names = yyDollar[4].tableNamesUnion() 14380 yyLOCAL = tree.NewDropConnector(ifExists, names) 14381 } 14382 yyVAL.union = yyLOCAL 14383 case 642: 14384 yyDollar = yyS[yypt-4 : yypt+1] 14385 var yyLOCAL tree.Statement 14386 //line mysql_sql.y:4253 14387 { 14388 var ifExists = yyDollar[3].boolValUnion() 14389 var names = yyDollar[4].tableNamesUnion() 14390 yyLOCAL = tree.NewDropView(ifExists, names) 14391 } 14392 yyVAL.union = yyLOCAL 14393 case 643: 14394 yyDollar = yyS[yypt-4 : yypt+1] 14395 var yyLOCAL tree.Statement 14396 //line mysql_sql.y:4261 14397 { 14398 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 14399 var ifExists = yyDollar[3].boolValUnion() 14400 yyLOCAL = tree.NewDropDatabase(name, ifExists) 14401 } 14402 yyVAL.union = yyLOCAL 14403 case 644: 14404 yyDollar = yyS[yypt-4 : yypt+1] 14405 var yyLOCAL tree.Statement 14406 //line mysql_sql.y:4267 14407 { 14408 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 14409 var ifExists = yyDollar[3].boolValUnion() 14410 yyLOCAL = tree.NewDropDatabase(name, ifExists) 14411 } 14412 yyVAL.union = yyLOCAL 14413 case 645: 14414 yyDollar = yyS[yypt-3 : yypt+1] 14415 var yyLOCAL tree.Statement 14416 //line mysql_sql.y:4275 14417 { 14418 yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), true) 14419 } 14420 yyVAL.union = yyLOCAL 14421 case 646: 14422 yyDollar = yyS[yypt-6 : yypt+1] 14423 var yyLOCAL tree.Statement 14424 //line mysql_sql.y:4281 14425 { 14426 var name = yyDollar[3].functionNameUnion() 14427 var args = yyDollar[5].funcArgsUnion() 14428 yyLOCAL = tree.NewDropFunction(name, args) 14429 } 14430 yyVAL.union = yyLOCAL 14431 case 647: 14432 yyDollar = yyS[yypt-3 : yypt+1] 14433 var yyLOCAL tree.Statement 14434 //line mysql_sql.y:4289 14435 { 14436 var name = yyDollar[3].procNameUnion() 14437 var ifExists = false 14438 yyLOCAL = tree.NewDropProcedure(name, ifExists) 14439 } 14440 yyVAL.union = yyLOCAL 14441 case 648: 14442 yyDollar = yyS[yypt-5 : yypt+1] 14443 var yyLOCAL tree.Statement 14444 //line mysql_sql.y:4295 14445 { 14446 var name = yyDollar[5].procNameUnion() 14447 var ifExists = true 14448 yyLOCAL = tree.NewDropProcedure(name, ifExists) 14449 } 14450 yyVAL.union = yyLOCAL 14451 case 651: 14452 yyDollar = yyS[yypt-2 : yypt+1] 14453 var yyLOCAL tree.Statement 14454 //line mysql_sql.y:4305 14455 { 14456 yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() 14457 yyLOCAL = yyDollar[2].statementUnion() 14458 } 14459 yyVAL.union = yyLOCAL 14460 case 652: 14461 yyDollar = yyS[yypt-2 : yypt+1] 14462 var yyLOCAL tree.Statement 14463 //line mysql_sql.y:4310 14464 { 14465 yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() 14466 yyLOCAL = yyDollar[2].statementUnion() 14467 } 14468 yyVAL.union = yyLOCAL 14469 case 653: 14470 yyDollar = yyS[yypt-11 : yypt+1] 14471 var yyLOCAL tree.Statement 14472 //line mysql_sql.y:4317 14473 { 14474 // Single-Table Syntax 14475 t := &tree.AliasedTableExpr{ 14476 Expr: yyDollar[6].tableNameUnion(), 14477 As: tree.AliasClause{ 14478 Alias: tree.Identifier(yyDollar[8].str), 14479 }, 14480 } 14481 yyLOCAL = &tree.Delete{ 14482 Tables: tree.TableExprs{t}, 14483 Where: yyDollar[9].whereUnion(), 14484 OrderBy: yyDollar[10].orderByUnion(), 14485 Limit: yyDollar[11].limitUnion(), 14486 } 14487 } 14488 yyVAL.union = yyLOCAL 14489 case 654: 14490 yyDollar = yyS[yypt-8 : yypt+1] 14491 var yyLOCAL tree.Statement 14492 //line mysql_sql.y:4333 14493 { 14494 // Multiple-Table Syntax 14495 yyLOCAL = &tree.Delete{ 14496 Tables: yyDollar[5].tableExprsUnion(), 14497 Where: yyDollar[8].whereUnion(), 14498 TableRefs: tree.TableExprs{yyDollar[7].joinTableExprUnion()}, 14499 } 14500 } 14501 yyVAL.union = yyLOCAL 14502 case 655: 14503 yyDollar = yyS[yypt-9 : yypt+1] 14504 var yyLOCAL tree.Statement 14505 //line mysql_sql.y:4346 14506 { 14507 // Multiple-Table Syntax 14508 yyLOCAL = &tree.Delete{ 14509 Tables: yyDollar[6].tableExprsUnion(), 14510 Where: yyDollar[9].whereUnion(), 14511 TableRefs: tree.TableExprs{yyDollar[8].joinTableExprUnion()}, 14512 } 14513 } 14514 yyVAL.union = yyLOCAL 14515 case 656: 14516 yyDollar = yyS[yypt-1 : yypt+1] 14517 var yyLOCAL tree.TableExprs 14518 //line mysql_sql.y:4357 14519 { 14520 yyLOCAL = tree.TableExprs{yyDollar[1].tableNameUnion()} 14521 } 14522 yyVAL.union = yyLOCAL 14523 case 657: 14524 yyDollar = yyS[yypt-3 : yypt+1] 14525 var yyLOCAL tree.TableExprs 14526 //line mysql_sql.y:4361 14527 { 14528 yyLOCAL = append(yyDollar[1].tableExprsUnion(), yyDollar[3].tableNameUnion()) 14529 } 14530 yyVAL.union = yyLOCAL 14531 case 658: 14532 yyDollar = yyS[yypt-2 : yypt+1] 14533 var yyLOCAL *tree.TableName 14534 //line mysql_sql.y:4367 14535 { 14536 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 14537 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix, nil) 14538 } 14539 yyVAL.union = yyLOCAL 14540 case 659: 14541 yyDollar = yyS[yypt-4 : yypt+1] 14542 var yyLOCAL *tree.TableName 14543 //line mysql_sql.y:4372 14544 { 14545 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().Compare()), ExplicitSchema: true} 14546 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix, nil) 14547 } 14548 yyVAL.union = yyLOCAL 14549 case 660: 14550 yyDollar = yyS[yypt-0 : yypt+1] 14551 //line mysql_sql.y:4379 14552 { 14553 } 14554 case 661: 14555 yyDollar = yyS[yypt-2 : yypt+1] 14556 //line mysql_sql.y:4381 14557 { 14558 } 14559 case 662: 14560 yyDollar = yyS[yypt-0 : yypt+1] 14561 //line mysql_sql.y:4384 14562 { 14563 } 14564 case 667: 14565 yyDollar = yyS[yypt-0 : yypt+1] 14566 //line mysql_sql.y:4393 14567 { 14568 } 14569 case 669: 14570 yyDollar = yyS[yypt-0 : yypt+1] 14571 //line mysql_sql.y:4397 14572 { 14573 } 14574 case 671: 14575 yyDollar = yyS[yypt-4 : yypt+1] 14576 var yyLOCAL tree.Statement 14577 //line mysql_sql.y:4402 14578 { 14579 rep := yyDollar[4].replaceUnion() 14580 rep.Table = yyDollar[2].tableExprUnion() 14581 rep.PartitionNames = yyDollar[3].identifierListUnion() 14582 yyLOCAL = rep 14583 } 14584 yyVAL.union = yyLOCAL 14585 case 672: 14586 yyDollar = yyS[yypt-2 : yypt+1] 14587 var yyLOCAL *tree.Replace 14588 //line mysql_sql.y:4411 14589 { 14590 vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion()) 14591 yyLOCAL = &tree.Replace{ 14592 Rows: tree.NewSelect(vc, nil, nil), 14593 } 14594 } 14595 yyVAL.union = yyLOCAL 14596 case 673: 14597 yyDollar = yyS[yypt-1 : yypt+1] 14598 var yyLOCAL *tree.Replace 14599 //line mysql_sql.y:4418 14600 { 14601 yyLOCAL = &tree.Replace{ 14602 Rows: yyDollar[1].selectUnion(), 14603 } 14604 } 14605 yyVAL.union = yyLOCAL 14606 case 674: 14607 yyDollar = yyS[yypt-5 : yypt+1] 14608 var yyLOCAL *tree.Replace 14609 //line mysql_sql.y:4424 14610 { 14611 vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) 14612 yyLOCAL = &tree.Replace{ 14613 Columns: yyDollar[2].identifierListUnion(), 14614 Rows: tree.NewSelect(vc, nil, nil), 14615 } 14616 } 14617 yyVAL.union = yyLOCAL 14618 case 675: 14619 yyDollar = yyS[yypt-4 : yypt+1] 14620 var yyLOCAL *tree.Replace 14621 //line mysql_sql.y:4432 14622 { 14623 vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion()) 14624 yyLOCAL = &tree.Replace{ 14625 Rows: tree.NewSelect(vc, nil, nil), 14626 } 14627 } 14628 yyVAL.union = yyLOCAL 14629 case 676: 14630 yyDollar = yyS[yypt-4 : yypt+1] 14631 var yyLOCAL *tree.Replace 14632 //line mysql_sql.y:4439 14633 { 14634 yyLOCAL = &tree.Replace{ 14635 Columns: yyDollar[2].identifierListUnion(), 14636 Rows: yyDollar[4].selectUnion(), 14637 } 14638 } 14639 yyVAL.union = yyLOCAL 14640 case 677: 14641 yyDollar = yyS[yypt-2 : yypt+1] 14642 var yyLOCAL *tree.Replace 14643 //line mysql_sql.y:4446 14644 { 14645 if yyDollar[2].assignmentsUnion() == nil { 14646 yylex.Error("the set list of replace can not be empty") 14647 goto ret1 14648 } 14649 var identList tree.IdentifierList 14650 var valueList tree.Exprs 14651 for _, a := range yyDollar[2].assignmentsUnion() { 14652 identList = append(identList, a.Column) 14653 valueList = append(valueList, a.Expr) 14654 } 14655 vc := tree.NewValuesClause([]tree.Exprs{valueList}) 14656 yyLOCAL = &tree.Replace{ 14657 Columns: identList, 14658 Rows: tree.NewSelect(vc, nil, nil), 14659 } 14660 } 14661 yyVAL.union = yyLOCAL 14662 case 678: 14663 yyDollar = yyS[yypt-5 : yypt+1] 14664 var yyLOCAL tree.Statement 14665 //line mysql_sql.y:4466 14666 { 14667 ins := yyDollar[4].insertUnion() 14668 ins.Table = yyDollar[2].tableExprUnion() 14669 ins.PartitionNames = yyDollar[3].identifierListUnion() 14670 ins.OnDuplicateUpdate = yyDollar[5].updateExprsUnion() 14671 yyLOCAL = ins 14672 } 14673 yyVAL.union = yyLOCAL 14674 case 679: 14675 yyDollar = yyS[yypt-5 : yypt+1] 14676 var yyLOCAL tree.Statement 14677 //line mysql_sql.y:4474 14678 { 14679 ins := yyDollar[5].insertUnion() 14680 ins.Table = yyDollar[3].tableExprUnion() 14681 ins.PartitionNames = yyDollar[4].identifierListUnion() 14682 ins.OnDuplicateUpdate = []*tree.UpdateExpr{nil} 14683 yyLOCAL = ins 14684 } 14685 yyVAL.union = yyLOCAL 14686 case 680: 14687 yyDollar = yyS[yypt-1 : yypt+1] 14688 var yyLOCAL tree.IdentifierList 14689 //line mysql_sql.y:4484 14690 { 14691 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} 14692 } 14693 yyVAL.union = yyLOCAL 14694 case 681: 14695 yyDollar = yyS[yypt-3 : yypt+1] 14696 var yyLOCAL tree.IdentifierList 14697 //line mysql_sql.y:4488 14698 { 14699 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) 14700 } 14701 yyVAL.union = yyLOCAL 14702 case 682: 14703 yyDollar = yyS[yypt-2 : yypt+1] 14704 var yyLOCAL *tree.Insert 14705 //line mysql_sql.y:4494 14706 { 14707 vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion()) 14708 yyLOCAL = &tree.Insert{ 14709 Rows: tree.NewSelect(vc, nil, nil), 14710 } 14711 } 14712 yyVAL.union = yyLOCAL 14713 case 683: 14714 yyDollar = yyS[yypt-1 : yypt+1] 14715 var yyLOCAL *tree.Insert 14716 //line mysql_sql.y:4501 14717 { 14718 yyLOCAL = &tree.Insert{ 14719 Rows: yyDollar[1].selectUnion(), 14720 } 14721 } 14722 yyVAL.union = yyLOCAL 14723 case 684: 14724 yyDollar = yyS[yypt-5 : yypt+1] 14725 var yyLOCAL *tree.Insert 14726 //line mysql_sql.y:4507 14727 { 14728 vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) 14729 yyLOCAL = &tree.Insert{ 14730 Columns: yyDollar[2].identifierListUnion(), 14731 Rows: tree.NewSelect(vc, nil, nil), 14732 } 14733 } 14734 yyVAL.union = yyLOCAL 14735 case 685: 14736 yyDollar = yyS[yypt-4 : yypt+1] 14737 var yyLOCAL *tree.Insert 14738 //line mysql_sql.y:4515 14739 { 14740 vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion()) 14741 yyLOCAL = &tree.Insert{ 14742 Rows: tree.NewSelect(vc, nil, nil), 14743 } 14744 } 14745 yyVAL.union = yyLOCAL 14746 case 686: 14747 yyDollar = yyS[yypt-4 : yypt+1] 14748 var yyLOCAL *tree.Insert 14749 //line mysql_sql.y:4522 14750 { 14751 yyLOCAL = &tree.Insert{ 14752 Columns: yyDollar[2].identifierListUnion(), 14753 Rows: yyDollar[4].selectUnion(), 14754 } 14755 } 14756 yyVAL.union = yyLOCAL 14757 case 687: 14758 yyDollar = yyS[yypt-2 : yypt+1] 14759 var yyLOCAL *tree.Insert 14760 //line mysql_sql.y:4529 14761 { 14762 if yyDollar[2].assignmentsUnion() == nil { 14763 yylex.Error("the set list of insert can not be empty") 14764 goto ret1 14765 } 14766 var identList tree.IdentifierList 14767 var valueList tree.Exprs 14768 for _, a := range yyDollar[2].assignmentsUnion() { 14769 identList = append(identList, a.Column) 14770 valueList = append(valueList, a.Expr) 14771 } 14772 vc := tree.NewValuesClause([]tree.Exprs{valueList}) 14773 yyLOCAL = &tree.Insert{ 14774 Columns: identList, 14775 Rows: tree.NewSelect(vc, nil, nil), 14776 } 14777 } 14778 yyVAL.union = yyLOCAL 14779 case 688: 14780 yyDollar = yyS[yypt-0 : yypt+1] 14781 var yyLOCAL tree.UpdateExprs 14782 //line mysql_sql.y:4548 14783 { 14784 yyLOCAL = []*tree.UpdateExpr{} 14785 } 14786 yyVAL.union = yyLOCAL 14787 case 689: 14788 yyDollar = yyS[yypt-5 : yypt+1] 14789 var yyLOCAL tree.UpdateExprs 14790 //line mysql_sql.y:4552 14791 { 14792 yyLOCAL = yyDollar[5].updateExprsUnion() 14793 } 14794 yyVAL.union = yyLOCAL 14795 case 690: 14796 yyDollar = yyS[yypt-4 : yypt+1] 14797 var yyLOCAL tree.UpdateExprs 14798 //line mysql_sql.y:4556 14799 { 14800 yyLOCAL = []*tree.UpdateExpr{nil} 14801 } 14802 yyVAL.union = yyLOCAL 14803 case 691: 14804 yyDollar = yyS[yypt-0 : yypt+1] 14805 var yyLOCAL []*tree.Assignment 14806 //line mysql_sql.y:4561 14807 { 14808 yyLOCAL = nil 14809 } 14810 yyVAL.union = yyLOCAL 14811 case 692: 14812 yyDollar = yyS[yypt-1 : yypt+1] 14813 var yyLOCAL []*tree.Assignment 14814 //line mysql_sql.y:4565 14815 { 14816 yyLOCAL = []*tree.Assignment{yyDollar[1].assignmentUnion()} 14817 } 14818 yyVAL.union = yyLOCAL 14819 case 693: 14820 yyDollar = yyS[yypt-3 : yypt+1] 14821 var yyLOCAL []*tree.Assignment 14822 //line mysql_sql.y:4569 14823 { 14824 yyLOCAL = append(yyDollar[1].assignmentsUnion(), yyDollar[3].assignmentUnion()) 14825 } 14826 yyVAL.union = yyLOCAL 14827 case 694: 14828 yyDollar = yyS[yypt-3 : yypt+1] 14829 var yyLOCAL *tree.Assignment 14830 //line mysql_sql.y:4575 14831 { 14832 yyLOCAL = &tree.Assignment{ 14833 Column: tree.Identifier(yyDollar[1].str), 14834 Expr: yyDollar[3].exprUnion(), 14835 } 14836 } 14837 yyVAL.union = yyLOCAL 14838 case 695: 14839 yyDollar = yyS[yypt-1 : yypt+1] 14840 var yyLOCAL tree.IdentifierList 14841 //line mysql_sql.y:4584 14842 { 14843 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} 14844 } 14845 yyVAL.union = yyLOCAL 14846 case 696: 14847 yyDollar = yyS[yypt-3 : yypt+1] 14848 var yyLOCAL tree.IdentifierList 14849 //line mysql_sql.y:4588 14850 { 14851 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) 14852 } 14853 yyVAL.union = yyLOCAL 14854 case 697: 14855 yyDollar = yyS[yypt-1 : yypt+1] 14856 //line mysql_sql.y:4594 14857 { 14858 yyVAL.str = yyDollar[1].cstrUnion().Compare() 14859 } 14860 case 698: 14861 yyDollar = yyS[yypt-3 : yypt+1] 14862 //line mysql_sql.y:4598 14863 { 14864 yyVAL.str = yyDollar[3].cstrUnion().Compare() 14865 } 14866 case 699: 14867 yyDollar = yyS[yypt-1 : yypt+1] 14868 var yyLOCAL []tree.Exprs 14869 //line mysql_sql.y:4604 14870 { 14871 yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} 14872 } 14873 yyVAL.union = yyLOCAL 14874 case 700: 14875 yyDollar = yyS[yypt-3 : yypt+1] 14876 var yyLOCAL []tree.Exprs 14877 //line mysql_sql.y:4608 14878 { 14879 yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) 14880 } 14881 yyVAL.union = yyLOCAL 14882 case 701: 14883 yyDollar = yyS[yypt-4 : yypt+1] 14884 var yyLOCAL tree.Exprs 14885 //line mysql_sql.y:4614 14886 { 14887 yyLOCAL = yyDollar[3].exprsUnion() 14888 } 14889 yyVAL.union = yyLOCAL 14890 case 702: 14891 yyDollar = yyS[yypt-0 : yypt+1] 14892 //line mysql_sql.y:4619 14893 { 14894 } 14895 case 704: 14896 yyDollar = yyS[yypt-0 : yypt+1] 14897 var yyLOCAL tree.Exprs 14898 //line mysql_sql.y:4623 14899 { 14900 yyLOCAL = nil 14901 } 14902 yyVAL.union = yyLOCAL 14903 case 706: 14904 yyDollar = yyS[yypt-1 : yypt+1] 14905 var yyLOCAL tree.Exprs 14906 //line mysql_sql.y:4630 14907 { 14908 yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} 14909 } 14910 yyVAL.union = yyLOCAL 14911 case 707: 14912 yyDollar = yyS[yypt-3 : yypt+1] 14913 var yyLOCAL tree.Exprs 14914 //line mysql_sql.y:4634 14915 { 14916 yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) 14917 } 14918 yyVAL.union = yyLOCAL 14919 case 709: 14920 yyDollar = yyS[yypt-1 : yypt+1] 14921 var yyLOCAL tree.Expr 14922 //line mysql_sql.y:4641 14923 { 14924 yyLOCAL = &tree.DefaultVal{} 14925 } 14926 yyVAL.union = yyLOCAL 14927 case 710: 14928 yyDollar = yyS[yypt-0 : yypt+1] 14929 var yyLOCAL tree.IdentifierList 14930 //line mysql_sql.y:4646 14931 { 14932 yyLOCAL = nil 14933 } 14934 yyVAL.union = yyLOCAL 14935 case 711: 14936 yyDollar = yyS[yypt-4 : yypt+1] 14937 var yyLOCAL tree.IdentifierList 14938 //line mysql_sql.y:4650 14939 { 14940 yyLOCAL = yyDollar[3].identifierListUnion() 14941 } 14942 yyVAL.union = yyLOCAL 14943 case 712: 14944 yyDollar = yyS[yypt-1 : yypt+1] 14945 var yyLOCAL tree.IdentifierList 14946 //line mysql_sql.y:4656 14947 { 14948 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} 14949 } 14950 yyVAL.union = yyLOCAL 14951 case 713: 14952 yyDollar = yyS[yypt-3 : yypt+1] 14953 var yyLOCAL tree.IdentifierList 14954 //line mysql_sql.y:4660 14955 { 14956 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare())) 14957 } 14958 yyVAL.union = yyLOCAL 14959 case 714: 14960 yyDollar = yyS[yypt-2 : yypt+1] 14961 var yyLOCAL tree.TableExpr 14962 //line mysql_sql.y:4666 14963 { 14964 yyLOCAL = yyDollar[2].tableNameUnion() 14965 } 14966 yyVAL.union = yyLOCAL 14967 case 715: 14968 yyDollar = yyS[yypt-1 : yypt+1] 14969 var yyLOCAL tree.TableExpr 14970 //line mysql_sql.y:4670 14971 { 14972 yyLOCAL = yyDollar[1].tableNameUnion() 14973 } 14974 yyVAL.union = yyLOCAL 14975 case 716: 14976 yyDollar = yyS[yypt-0 : yypt+1] 14977 var yyLOCAL *tree.ExportParam 14978 //line mysql_sql.y:4675 14979 { 14980 yyLOCAL = nil 14981 } 14982 yyVAL.union = yyLOCAL 14983 case 717: 14984 yyDollar = yyS[yypt-8 : yypt+1] 14985 var yyLOCAL *tree.ExportParam 14986 //line mysql_sql.y:4679 14987 { 14988 yyLOCAL = &tree.ExportParam{ 14989 Outfile: true, 14990 FilePath: yyDollar[3].str, 14991 Fields: yyDollar[4].fieldsUnion(), 14992 Lines: yyDollar[5].linesUnion(), 14993 Header: yyDollar[6].unsignedOptUnion(), 14994 MaxFileSize: uint64(yyDollar[7].int64ValUnion()) * 1024, 14995 ForceQuote: yyDollar[8].strsUnion(), 14996 } 14997 } 14998 yyVAL.union = yyLOCAL 14999 case 718: 15000 yyDollar = yyS[yypt-0 : yypt+1] 15001 var yyLOCAL *tree.Fields 15002 //line mysql_sql.y:4692 15003 { 15004 yyLOCAL = &tree.Fields{ 15005 Terminated: &tree.Terminated{ 15006 Value: ",", 15007 }, 15008 EnclosedBy: &tree.EnclosedBy{ 15009 Value: '"', 15010 }, 15011 } 15012 } 15013 yyVAL.union = yyLOCAL 15014 case 719: 15015 yyDollar = yyS[yypt-4 : yypt+1] 15016 var yyLOCAL *tree.Fields 15017 //line mysql_sql.y:4703 15018 { 15019 yyLOCAL = &tree.Fields{ 15020 Terminated: &tree.Terminated{ 15021 Value: yyDollar[4].str, 15022 }, 15023 EnclosedBy: &tree.EnclosedBy{ 15024 Value: '"', 15025 }, 15026 } 15027 } 15028 yyVAL.union = yyLOCAL 15029 case 720: 15030 yyDollar = yyS[yypt-7 : yypt+1] 15031 var yyLOCAL *tree.Fields 15032 //line mysql_sql.y:4714 15033 { 15034 str := yyDollar[7].str 15035 if str != "\\" && len(str) > 1 { 15036 yylex.Error("export1 error field terminator") 15037 goto ret1 15038 } 15039 var b byte 15040 if len(str) != 0 { 15041 b = byte(str[0]) 15042 } else { 15043 b = 0 15044 } 15045 yyLOCAL = &tree.Fields{ 15046 Terminated: &tree.Terminated{ 15047 Value: yyDollar[4].str, 15048 }, 15049 EnclosedBy: &tree.EnclosedBy{ 15050 Value: b, 15051 }, 15052 } 15053 } 15054 yyVAL.union = yyLOCAL 15055 case 721: 15056 yyDollar = yyS[yypt-4 : yypt+1] 15057 var yyLOCAL *tree.Fields 15058 //line mysql_sql.y:4736 15059 { 15060 str := yyDollar[4].str 15061 if str != "\\" && len(str) > 1 { 15062 yylex.Error("export2 error field terminator") 15063 goto ret1 15064 } 15065 var b byte 15066 if len(str) != 0 { 15067 b = byte(str[0]) 15068 } else { 15069 b = 0 15070 } 15071 yyLOCAL = &tree.Fields{ 15072 Terminated: &tree.Terminated{ 15073 Value: ",", 15074 }, 15075 EnclosedBy: &tree.EnclosedBy{ 15076 Value: b, 15077 }, 15078 } 15079 } 15080 yyVAL.union = yyLOCAL 15081 case 722: 15082 yyDollar = yyS[yypt-0 : yypt+1] 15083 var yyLOCAL *tree.Lines 15084 //line mysql_sql.y:4759 15085 { 15086 yyLOCAL = &tree.Lines{ 15087 TerminatedBy: &tree.Terminated{ 15088 Value: "\n", 15089 }, 15090 } 15091 } 15092 yyVAL.union = yyLOCAL 15093 case 723: 15094 yyDollar = yyS[yypt-2 : yypt+1] 15095 var yyLOCAL *tree.Lines 15096 //line mysql_sql.y:4767 15097 { 15098 yyLOCAL = &tree.Lines{ 15099 TerminatedBy: &tree.Terminated{ 15100 Value: yyDollar[2].str, 15101 }, 15102 } 15103 } 15104 yyVAL.union = yyLOCAL 15105 case 724: 15106 yyDollar = yyS[yypt-0 : yypt+1] 15107 var yyLOCAL bool 15108 //line mysql_sql.y:4776 15109 { 15110 yyLOCAL = true 15111 } 15112 yyVAL.union = yyLOCAL 15113 case 725: 15114 yyDollar = yyS[yypt-2 : yypt+1] 15115 var yyLOCAL bool 15116 //line mysql_sql.y:4780 15117 { 15118 str := strings.ToLower(yyDollar[2].str) 15119 if str == "true" { 15120 yyLOCAL = true 15121 } else if str == "false" { 15122 yyLOCAL = false 15123 } else { 15124 yylex.Error("error header flag") 15125 goto ret1 15126 } 15127 } 15128 yyVAL.union = yyLOCAL 15129 case 726: 15130 yyDollar = yyS[yypt-0 : yypt+1] 15131 var yyLOCAL int64 15132 //line mysql_sql.y:4793 15133 { 15134 yyLOCAL = 0 15135 } 15136 yyVAL.union = yyLOCAL 15137 case 727: 15138 yyDollar = yyS[yypt-2 : yypt+1] 15139 var yyLOCAL int64 15140 //line mysql_sql.y:4797 15141 { 15142 yyLOCAL = yyDollar[2].item.(int64) 15143 } 15144 yyVAL.union = yyLOCAL 15145 case 728: 15146 yyDollar = yyS[yypt-0 : yypt+1] 15147 var yyLOCAL []string 15148 //line mysql_sql.y:4802 15149 { 15150 yyLOCAL = []string{} 15151 } 15152 yyVAL.union = yyLOCAL 15153 case 729: 15154 yyDollar = yyS[yypt-4 : yypt+1] 15155 var yyLOCAL []string 15156 //line mysql_sql.y:4806 15157 { 15158 yyLOCAL = yyDollar[3].strsUnion() 15159 } 15160 yyVAL.union = yyLOCAL 15161 case 730: 15162 yyDollar = yyS[yypt-1 : yypt+1] 15163 var yyLOCAL []string 15164 //line mysql_sql.y:4813 15165 { 15166 yyLOCAL = make([]string, 0, 4) 15167 yyLOCAL = append(yyLOCAL, yyDollar[1].cstrUnion().Compare()) 15168 } 15169 yyVAL.union = yyLOCAL 15170 case 731: 15171 yyDollar = yyS[yypt-3 : yypt+1] 15172 var yyLOCAL []string 15173 //line mysql_sql.y:4818 15174 { 15175 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].cstrUnion().Compare()) 15176 } 15177 yyVAL.union = yyLOCAL 15178 case 733: 15179 yyDollar = yyS[yypt-1 : yypt+1] 15180 var yyLOCAL *tree.Select 15181 //line mysql_sql.y:4825 15182 { 15183 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion()} 15184 } 15185 yyVAL.union = yyLOCAL 15186 case 734: 15187 yyDollar = yyS[yypt-6 : yypt+1] 15188 var yyLOCAL *tree.Select 15189 //line mysql_sql.y:4831 15190 { 15191 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), SelectLockInfo: yyDollar[6].selectLockInfoUnion()} 15192 } 15193 yyVAL.union = yyLOCAL 15194 case 735: 15195 yyDollar = yyS[yypt-4 : yypt+1] 15196 var yyLOCAL *tree.Select 15197 //line mysql_sql.y:4835 15198 { 15199 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion()} 15200 } 15201 yyVAL.union = yyLOCAL 15202 case 736: 15203 yyDollar = yyS[yypt-5 : yypt+1] 15204 var yyLOCAL *tree.Select 15205 //line mysql_sql.y:4839 15206 { 15207 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion()} 15208 } 15209 yyVAL.union = yyLOCAL 15210 case 737: 15211 yyDollar = yyS[yypt-7 : yypt+1] 15212 var yyLOCAL *tree.Select 15213 //line mysql_sql.y:4843 15214 { 15215 yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), TimeWindow: yyDollar[3].timeWindowUnion(), OrderBy: yyDollar[4].orderByUnion(), Limit: yyDollar[5].limitUnion(), Ep: yyDollar[6].exportParmUnion(), SelectLockInfo: yyDollar[7].selectLockInfoUnion(), With: yyDollar[1].withClauseUnion()} 15216 } 15217 yyVAL.union = yyLOCAL 15218 case 738: 15219 yyDollar = yyS[yypt-4 : yypt+1] 15220 var yyLOCAL *tree.Select 15221 //line mysql_sql.y:4847 15222 { 15223 yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion(), With: yyDollar[1].withClauseUnion()} 15224 } 15225 yyVAL.union = yyLOCAL 15226 case 739: 15227 yyDollar = yyS[yypt-5 : yypt+1] 15228 var yyLOCAL *tree.Select 15229 //line mysql_sql.y:4851 15230 { 15231 yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), With: yyDollar[1].withClauseUnion()} 15232 } 15233 yyVAL.union = yyLOCAL 15234 case 740: 15235 yyDollar = yyS[yypt-0 : yypt+1] 15236 var yyLOCAL *tree.TimeWindow 15237 //line mysql_sql.y:4856 15238 { 15239 yyLOCAL = nil 15240 } 15241 yyVAL.union = yyLOCAL 15242 case 741: 15243 yyDollar = yyS[yypt-1 : yypt+1] 15244 var yyLOCAL *tree.TimeWindow 15245 //line mysql_sql.y:4860 15246 { 15247 yyLOCAL = yyDollar[1].timeWindowUnion() 15248 } 15249 yyVAL.union = yyLOCAL 15250 case 742: 15251 yyDollar = yyS[yypt-3 : yypt+1] 15252 var yyLOCAL *tree.TimeWindow 15253 //line mysql_sql.y:4866 15254 { 15255 yyLOCAL = &tree.TimeWindow{ 15256 Interval: yyDollar[1].timeIntervalUnion(), 15257 Sliding: yyDollar[2].timeSlidingUnion(), 15258 Fill: yyDollar[3].timeFillUnion(), 15259 } 15260 } 15261 yyVAL.union = yyLOCAL 15262 case 743: 15263 yyDollar = yyS[yypt-8 : yypt+1] 15264 var yyLOCAL *tree.Interval 15265 //line mysql_sql.y:4876 15266 { 15267 str := fmt.Sprintf("%v", yyDollar[5].item) 15268 v, errStr := util.GetInt64(yyDollar[5].item) 15269 if errStr != "" { 15270 yylex.Error(errStr) 15271 goto ret1 15272 } 15273 yyLOCAL = &tree.Interval{ 15274 Col: yyDollar[3].unresolvedNameUnion(), 15275 Val: tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64), 15276 Unit: yyDollar[7].str, 15277 } 15278 } 15279 yyVAL.union = yyLOCAL 15280 case 744: 15281 yyDollar = yyS[yypt-0 : yypt+1] 15282 var yyLOCAL *tree.Sliding 15283 //line mysql_sql.y:4891 15284 { 15285 yyLOCAL = nil 15286 } 15287 yyVAL.union = yyLOCAL 15288 case 745: 15289 yyDollar = yyS[yypt-6 : yypt+1] 15290 var yyLOCAL *tree.Sliding 15291 //line mysql_sql.y:4895 15292 { 15293 str := fmt.Sprintf("%v", yyDollar[3].item) 15294 v, errStr := util.GetInt64(yyDollar[3].item) 15295 if errStr != "" { 15296 yylex.Error(errStr) 15297 goto ret1 15298 } 15299 yyLOCAL = &tree.Sliding{ 15300 Val: tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64), 15301 Unit: yyDollar[5].str, 15302 } 15303 } 15304 yyVAL.union = yyLOCAL 15305 case 746: 15306 yyDollar = yyS[yypt-0 : yypt+1] 15307 var yyLOCAL *tree.Fill 15308 //line mysql_sql.y:4909 15309 { 15310 yyLOCAL = nil 15311 } 15312 yyVAL.union = yyLOCAL 15313 case 747: 15314 yyDollar = yyS[yypt-4 : yypt+1] 15315 var yyLOCAL *tree.Fill 15316 //line mysql_sql.y:4913 15317 { 15318 yyLOCAL = &tree.Fill{ 15319 Mode: yyDollar[3].fillModeUnion(), 15320 } 15321 } 15322 yyVAL.union = yyLOCAL 15323 case 748: 15324 yyDollar = yyS[yypt-6 : yypt+1] 15325 var yyLOCAL *tree.Fill 15326 //line mysql_sql.y:4919 15327 { 15328 yyLOCAL = &tree.Fill{ 15329 Mode: tree.FillValue, 15330 Val: yyDollar[5].exprUnion(), 15331 } 15332 } 15333 yyVAL.union = yyLOCAL 15334 case 749: 15335 yyDollar = yyS[yypt-1 : yypt+1] 15336 var yyLOCAL tree.FillMode 15337 //line mysql_sql.y:4928 15338 { 15339 yyLOCAL = tree.FillPrev 15340 } 15341 yyVAL.union = yyLOCAL 15342 case 750: 15343 yyDollar = yyS[yypt-1 : yypt+1] 15344 var yyLOCAL tree.FillMode 15345 //line mysql_sql.y:4932 15346 { 15347 yyLOCAL = tree.FillNext 15348 } 15349 yyVAL.union = yyLOCAL 15350 case 751: 15351 yyDollar = yyS[yypt-1 : yypt+1] 15352 var yyLOCAL tree.FillMode 15353 //line mysql_sql.y:4936 15354 { 15355 yyLOCAL = tree.FillNone 15356 } 15357 yyVAL.union = yyLOCAL 15358 case 752: 15359 yyDollar = yyS[yypt-1 : yypt+1] 15360 var yyLOCAL tree.FillMode 15361 //line mysql_sql.y:4940 15362 { 15363 yyLOCAL = tree.FillNull 15364 } 15365 yyVAL.union = yyLOCAL 15366 case 753: 15367 yyDollar = yyS[yypt-1 : yypt+1] 15368 var yyLOCAL tree.FillMode 15369 //line mysql_sql.y:4944 15370 { 15371 yyLOCAL = tree.FillLinear 15372 } 15373 yyVAL.union = yyLOCAL 15374 case 754: 15375 yyDollar = yyS[yypt-2 : yypt+1] 15376 var yyLOCAL *tree.With 15377 //line mysql_sql.y:4950 15378 { 15379 yyLOCAL = &tree.With{ 15380 IsRecursive: false, 15381 CTEs: yyDollar[2].cteListUnion(), 15382 } 15383 } 15384 yyVAL.union = yyLOCAL 15385 case 755: 15386 yyDollar = yyS[yypt-3 : yypt+1] 15387 var yyLOCAL *tree.With 15388 //line mysql_sql.y:4957 15389 { 15390 yyLOCAL = &tree.With{ 15391 IsRecursive: true, 15392 CTEs: yyDollar[3].cteListUnion(), 15393 } 15394 } 15395 yyVAL.union = yyLOCAL 15396 case 756: 15397 yyDollar = yyS[yypt-1 : yypt+1] 15398 var yyLOCAL []*tree.CTE 15399 //line mysql_sql.y:4966 15400 { 15401 yyLOCAL = []*tree.CTE{yyDollar[1].cteUnion()} 15402 } 15403 yyVAL.union = yyLOCAL 15404 case 757: 15405 yyDollar = yyS[yypt-3 : yypt+1] 15406 var yyLOCAL []*tree.CTE 15407 //line mysql_sql.y:4970 15408 { 15409 yyLOCAL = append(yyDollar[1].cteListUnion(), yyDollar[3].cteUnion()) 15410 } 15411 yyVAL.union = yyLOCAL 15412 case 758: 15413 yyDollar = yyS[yypt-6 : yypt+1] 15414 var yyLOCAL *tree.CTE 15415 //line mysql_sql.y:4976 15416 { 15417 yyLOCAL = &tree.CTE{ 15418 Name: &tree.AliasClause{Alias: tree.Identifier(yyDollar[1].cstrUnion().Compare()), Cols: yyDollar[2].identifierListUnion()}, 15419 Stmt: yyDollar[5].statementUnion(), 15420 } 15421 } 15422 yyVAL.union = yyLOCAL 15423 case 759: 15424 yyDollar = yyS[yypt-0 : yypt+1] 15425 var yyLOCAL tree.IdentifierList 15426 //line mysql_sql.y:4984 15427 { 15428 yyLOCAL = nil 15429 } 15430 yyVAL.union = yyLOCAL 15431 case 760: 15432 yyDollar = yyS[yypt-3 : yypt+1] 15433 var yyLOCAL tree.IdentifierList 15434 //line mysql_sql.y:4988 15435 { 15436 yyLOCAL = yyDollar[2].identifierListUnion() 15437 } 15438 yyVAL.union = yyLOCAL 15439 case 761: 15440 yyDollar = yyS[yypt-0 : yypt+1] 15441 var yyLOCAL *tree.Limit 15442 //line mysql_sql.y:4993 15443 { 15444 yyLOCAL = nil 15445 } 15446 yyVAL.union = yyLOCAL 15447 case 762: 15448 yyDollar = yyS[yypt-1 : yypt+1] 15449 var yyLOCAL *tree.Limit 15450 //line mysql_sql.y:4997 15451 { 15452 yyLOCAL = yyDollar[1].limitUnion() 15453 } 15454 yyVAL.union = yyLOCAL 15455 case 763: 15456 yyDollar = yyS[yypt-2 : yypt+1] 15457 var yyLOCAL *tree.Limit 15458 //line mysql_sql.y:5003 15459 { 15460 yyLOCAL = &tree.Limit{Count: yyDollar[2].exprUnion()} 15461 } 15462 yyVAL.union = yyLOCAL 15463 case 764: 15464 yyDollar = yyS[yypt-4 : yypt+1] 15465 var yyLOCAL *tree.Limit 15466 //line mysql_sql.y:5007 15467 { 15468 yyLOCAL = &tree.Limit{Offset: yyDollar[2].exprUnion(), Count: yyDollar[4].exprUnion()} 15469 } 15470 yyVAL.union = yyLOCAL 15471 case 765: 15472 yyDollar = yyS[yypt-4 : yypt+1] 15473 var yyLOCAL *tree.Limit 15474 //line mysql_sql.y:5011 15475 { 15476 yyLOCAL = &tree.Limit{Offset: yyDollar[4].exprUnion(), Count: yyDollar[2].exprUnion()} 15477 } 15478 yyVAL.union = yyLOCAL 15479 case 766: 15480 yyDollar = yyS[yypt-0 : yypt+1] 15481 var yyLOCAL tree.OrderBy 15482 //line mysql_sql.y:5016 15483 { 15484 yyLOCAL = nil 15485 } 15486 yyVAL.union = yyLOCAL 15487 case 767: 15488 yyDollar = yyS[yypt-1 : yypt+1] 15489 var yyLOCAL tree.OrderBy 15490 //line mysql_sql.y:5020 15491 { 15492 yyLOCAL = yyDollar[1].orderByUnion() 15493 } 15494 yyVAL.union = yyLOCAL 15495 case 768: 15496 yyDollar = yyS[yypt-3 : yypt+1] 15497 var yyLOCAL tree.OrderBy 15498 //line mysql_sql.y:5026 15499 { 15500 yyLOCAL = yyDollar[3].orderByUnion() 15501 } 15502 yyVAL.union = yyLOCAL 15503 case 769: 15504 yyDollar = yyS[yypt-1 : yypt+1] 15505 var yyLOCAL tree.OrderBy 15506 //line mysql_sql.y:5032 15507 { 15508 yyLOCAL = tree.OrderBy{yyDollar[1].orderUnion()} 15509 } 15510 yyVAL.union = yyLOCAL 15511 case 770: 15512 yyDollar = yyS[yypt-3 : yypt+1] 15513 var yyLOCAL tree.OrderBy 15514 //line mysql_sql.y:5036 15515 { 15516 yyLOCAL = append(yyDollar[1].orderByUnion(), yyDollar[3].orderUnion()) 15517 } 15518 yyVAL.union = yyLOCAL 15519 case 771: 15520 yyDollar = yyS[yypt-3 : yypt+1] 15521 var yyLOCAL *tree.Order 15522 //line mysql_sql.y:5042 15523 { 15524 yyLOCAL = &tree.Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].directionUnion(), NullsPosition: yyDollar[3].nullsPositionUnion()} 15525 } 15526 yyVAL.union = yyLOCAL 15527 case 772: 15528 yyDollar = yyS[yypt-0 : yypt+1] 15529 var yyLOCAL tree.Direction 15530 //line mysql_sql.y:5047 15531 { 15532 yyLOCAL = tree.DefaultDirection 15533 } 15534 yyVAL.union = yyLOCAL 15535 case 773: 15536 yyDollar = yyS[yypt-1 : yypt+1] 15537 var yyLOCAL tree.Direction 15538 //line mysql_sql.y:5051 15539 { 15540 yyLOCAL = tree.Ascending 15541 } 15542 yyVAL.union = yyLOCAL 15543 case 774: 15544 yyDollar = yyS[yypt-1 : yypt+1] 15545 var yyLOCAL tree.Direction 15546 //line mysql_sql.y:5055 15547 { 15548 yyLOCAL = tree.Descending 15549 } 15550 yyVAL.union = yyLOCAL 15551 case 775: 15552 yyDollar = yyS[yypt-0 : yypt+1] 15553 var yyLOCAL tree.NullsPosition 15554 //line mysql_sql.y:5060 15555 { 15556 yyLOCAL = tree.DefaultNullsPosition 15557 } 15558 yyVAL.union = yyLOCAL 15559 case 776: 15560 yyDollar = yyS[yypt-2 : yypt+1] 15561 var yyLOCAL tree.NullsPosition 15562 //line mysql_sql.y:5064 15563 { 15564 yyLOCAL = tree.NullsFirst 15565 } 15566 yyVAL.union = yyLOCAL 15567 case 777: 15568 yyDollar = yyS[yypt-2 : yypt+1] 15569 var yyLOCAL tree.NullsPosition 15570 //line mysql_sql.y:5068 15571 { 15572 yyLOCAL = tree.NullsLast 15573 } 15574 yyVAL.union = yyLOCAL 15575 case 778: 15576 yyDollar = yyS[yypt-0 : yypt+1] 15577 var yyLOCAL *tree.SelectLockInfo 15578 //line mysql_sql.y:5073 15579 { 15580 yyLOCAL = nil 15581 } 15582 yyVAL.union = yyLOCAL 15583 case 779: 15584 yyDollar = yyS[yypt-2 : yypt+1] 15585 var yyLOCAL *tree.SelectLockInfo 15586 //line mysql_sql.y:5077 15587 { 15588 yyLOCAL = &tree.SelectLockInfo{ 15589 LockType: tree.SelectLockForUpdate, 15590 } 15591 } 15592 yyVAL.union = yyLOCAL 15593 case 780: 15594 yyDollar = yyS[yypt-3 : yypt+1] 15595 var yyLOCAL tree.SelectStatement 15596 //line mysql_sql.y:5085 15597 { 15598 yyLOCAL = &tree.ParenSelect{Select: yyDollar[2].selectUnion()} 15599 } 15600 yyVAL.union = yyLOCAL 15601 case 781: 15602 yyDollar = yyS[yypt-3 : yypt+1] 15603 var yyLOCAL tree.SelectStatement 15604 //line mysql_sql.y:5089 15605 { 15606 yyLOCAL = &tree.ParenSelect{Select: &tree.Select{Select: yyDollar[2].selectStatementUnion()}} 15607 } 15608 yyVAL.union = yyLOCAL 15609 case 782: 15610 yyDollar = yyS[yypt-3 : yypt+1] 15611 var yyLOCAL tree.SelectStatement 15612 //line mysql_sql.y:5093 15613 { 15614 valuesStmt := yyDollar[2].statementUnion().(*tree.ValuesStatement) 15615 yyLOCAL = &tree.ParenSelect{Select: &tree.Select{ 15616 Select: &tree.ValuesClause{ 15617 Rows: valuesStmt.Rows, 15618 RowWord: true, 15619 }, 15620 OrderBy: valuesStmt.OrderBy, 15621 Limit: valuesStmt.Limit, 15622 }} 15623 } 15624 yyVAL.union = yyLOCAL 15625 case 783: 15626 yyDollar = yyS[yypt-1 : yypt+1] 15627 var yyLOCAL tree.SelectStatement 15628 //line mysql_sql.y:5107 15629 { 15630 yyLOCAL = yyDollar[1].selectStatementUnion() 15631 } 15632 yyVAL.union = yyLOCAL 15633 case 784: 15634 yyDollar = yyS[yypt-3 : yypt+1] 15635 var yyLOCAL tree.SelectStatement 15636 //line mysql_sql.y:5111 15637 { 15638 yyLOCAL = &tree.UnionClause{ 15639 Type: yyDollar[2].unionTypeRecordUnion().Type, 15640 Left: yyDollar[1].selectStatementUnion(), 15641 Right: yyDollar[3].selectStatementUnion(), 15642 All: yyDollar[2].unionTypeRecordUnion().All, 15643 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 15644 } 15645 } 15646 yyVAL.union = yyLOCAL 15647 case 785: 15648 yyDollar = yyS[yypt-3 : yypt+1] 15649 var yyLOCAL tree.SelectStatement 15650 //line mysql_sql.y:5121 15651 { 15652 yyLOCAL = &tree.UnionClause{ 15653 Type: yyDollar[2].unionTypeRecordUnion().Type, 15654 Left: yyDollar[1].selectStatementUnion(), 15655 Right: yyDollar[3].selectStatementUnion(), 15656 All: yyDollar[2].unionTypeRecordUnion().All, 15657 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 15658 } 15659 } 15660 yyVAL.union = yyLOCAL 15661 case 786: 15662 yyDollar = yyS[yypt-3 : yypt+1] 15663 var yyLOCAL tree.SelectStatement 15664 //line mysql_sql.y:5131 15665 { 15666 yyLOCAL = &tree.UnionClause{ 15667 Type: yyDollar[2].unionTypeRecordUnion().Type, 15668 Left: yyDollar[1].selectStatementUnion(), 15669 Right: yyDollar[3].selectStatementUnion(), 15670 All: yyDollar[2].unionTypeRecordUnion().All, 15671 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 15672 } 15673 } 15674 yyVAL.union = yyLOCAL 15675 case 787: 15676 yyDollar = yyS[yypt-3 : yypt+1] 15677 var yyLOCAL tree.SelectStatement 15678 //line mysql_sql.y:5141 15679 { 15680 yyLOCAL = &tree.UnionClause{ 15681 Type: yyDollar[2].unionTypeRecordUnion().Type, 15682 Left: yyDollar[1].selectStatementUnion(), 15683 Right: yyDollar[3].selectStatementUnion(), 15684 All: yyDollar[2].unionTypeRecordUnion().All, 15685 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 15686 } 15687 } 15688 yyVAL.union = yyLOCAL 15689 case 788: 15690 yyDollar = yyS[yypt-1 : yypt+1] 15691 var yyLOCAL *tree.UnionTypeRecord 15692 //line mysql_sql.y:5153 15693 { 15694 yyLOCAL = &tree.UnionTypeRecord{ 15695 Type: tree.UNION, 15696 All: false, 15697 Distinct: false, 15698 } 15699 } 15700 yyVAL.union = yyLOCAL 15701 case 789: 15702 yyDollar = yyS[yypt-2 : yypt+1] 15703 var yyLOCAL *tree.UnionTypeRecord 15704 //line mysql_sql.y:5161 15705 { 15706 yyLOCAL = &tree.UnionTypeRecord{ 15707 Type: tree.UNION, 15708 All: true, 15709 Distinct: false, 15710 } 15711 } 15712 yyVAL.union = yyLOCAL 15713 case 790: 15714 yyDollar = yyS[yypt-2 : yypt+1] 15715 var yyLOCAL *tree.UnionTypeRecord 15716 //line mysql_sql.y:5169 15717 { 15718 yyLOCAL = &tree.UnionTypeRecord{ 15719 Type: tree.UNION, 15720 All: false, 15721 Distinct: true, 15722 } 15723 } 15724 yyVAL.union = yyLOCAL 15725 case 791: 15726 yyDollar = yyS[yypt-1 : yypt+1] 15727 var yyLOCAL *tree.UnionTypeRecord 15728 //line mysql_sql.y:5178 15729 { 15730 yyLOCAL = &tree.UnionTypeRecord{ 15731 Type: tree.EXCEPT, 15732 All: false, 15733 Distinct: false, 15734 } 15735 } 15736 yyVAL.union = yyLOCAL 15737 case 792: 15738 yyDollar = yyS[yypt-2 : yypt+1] 15739 var yyLOCAL *tree.UnionTypeRecord 15740 //line mysql_sql.y:5186 15741 { 15742 yyLOCAL = &tree.UnionTypeRecord{ 15743 Type: tree.EXCEPT, 15744 All: true, 15745 Distinct: false, 15746 } 15747 } 15748 yyVAL.union = yyLOCAL 15749 case 793: 15750 yyDollar = yyS[yypt-2 : yypt+1] 15751 var yyLOCAL *tree.UnionTypeRecord 15752 //line mysql_sql.y:5194 15753 { 15754 yyLOCAL = &tree.UnionTypeRecord{ 15755 Type: tree.EXCEPT, 15756 All: false, 15757 Distinct: true, 15758 } 15759 } 15760 yyVAL.union = yyLOCAL 15761 case 794: 15762 yyDollar = yyS[yypt-1 : yypt+1] 15763 var yyLOCAL *tree.UnionTypeRecord 15764 //line mysql_sql.y:5202 15765 { 15766 yyLOCAL = &tree.UnionTypeRecord{ 15767 Type: tree.INTERSECT, 15768 All: false, 15769 Distinct: false, 15770 } 15771 } 15772 yyVAL.union = yyLOCAL 15773 case 795: 15774 yyDollar = yyS[yypt-2 : yypt+1] 15775 var yyLOCAL *tree.UnionTypeRecord 15776 //line mysql_sql.y:5210 15777 { 15778 yyLOCAL = &tree.UnionTypeRecord{ 15779 Type: tree.INTERSECT, 15780 All: true, 15781 Distinct: false, 15782 } 15783 } 15784 yyVAL.union = yyLOCAL 15785 case 796: 15786 yyDollar = yyS[yypt-2 : yypt+1] 15787 var yyLOCAL *tree.UnionTypeRecord 15788 //line mysql_sql.y:5218 15789 { 15790 yyLOCAL = &tree.UnionTypeRecord{ 15791 Type: tree.INTERSECT, 15792 All: false, 15793 Distinct: true, 15794 } 15795 } 15796 yyVAL.union = yyLOCAL 15797 case 797: 15798 yyDollar = yyS[yypt-1 : yypt+1] 15799 var yyLOCAL *tree.UnionTypeRecord 15800 //line mysql_sql.y:5226 15801 { 15802 yyLOCAL = &tree.UnionTypeRecord{ 15803 Type: tree.UT_MINUS, 15804 All: false, 15805 Distinct: false, 15806 } 15807 } 15808 yyVAL.union = yyLOCAL 15809 case 798: 15810 yyDollar = yyS[yypt-2 : yypt+1] 15811 var yyLOCAL *tree.UnionTypeRecord 15812 //line mysql_sql.y:5234 15813 { 15814 yyLOCAL = &tree.UnionTypeRecord{ 15815 Type: tree.UT_MINUS, 15816 All: true, 15817 Distinct: false, 15818 } 15819 } 15820 yyVAL.union = yyLOCAL 15821 case 799: 15822 yyDollar = yyS[yypt-2 : yypt+1] 15823 var yyLOCAL *tree.UnionTypeRecord 15824 //line mysql_sql.y:5242 15825 { 15826 yyLOCAL = &tree.UnionTypeRecord{ 15827 Type: tree.UT_MINUS, 15828 All: false, 15829 Distinct: true, 15830 } 15831 } 15832 yyVAL.union = yyLOCAL 15833 case 800: 15834 yyDollar = yyS[yypt-7 : yypt+1] 15835 var yyLOCAL tree.SelectStatement 15836 //line mysql_sql.y:5252 15837 { 15838 yyLOCAL = &tree.SelectClause{ 15839 Distinct: yyDollar[2].boolValUnion(), 15840 Exprs: yyDollar[3].selectExprsUnion(), 15841 From: yyDollar[4].fromUnion(), 15842 Where: yyDollar[5].whereUnion(), 15843 GroupBy: yyDollar[6].groupByUnion(), 15844 Having: yyDollar[7].whereUnion(), 15845 } 15846 } 15847 yyVAL.union = yyLOCAL 15848 case 801: 15849 yyDollar = yyS[yypt-7 : yypt+1] 15850 var yyLOCAL tree.SelectStatement 15851 //line mysql_sql.y:5263 15852 { 15853 yyLOCAL = &tree.SelectClause{ 15854 Distinct: false, 15855 Exprs: yyDollar[3].selectExprsUnion(), 15856 From: yyDollar[4].fromUnion(), 15857 Where: yyDollar[5].whereUnion(), 15858 GroupBy: yyDollar[6].groupByUnion(), 15859 Having: yyDollar[7].whereUnion(), 15860 Option: yyDollar[2].str, 15861 } 15862 } 15863 yyVAL.union = yyLOCAL 15864 case 802: 15865 yyDollar = yyS[yypt-1 : yypt+1] 15866 //line mysql_sql.y:5277 15867 { 15868 yyVAL.str = strings.ToLower(yyDollar[1].str) 15869 } 15870 case 803: 15871 yyDollar = yyS[yypt-1 : yypt+1] 15872 //line mysql_sql.y:5281 15873 { 15874 yyVAL.str = strings.ToLower(yyDollar[1].str) 15875 } 15876 case 804: 15877 yyDollar = yyS[yypt-1 : yypt+1] 15878 //line mysql_sql.y:5285 15879 { 15880 yyVAL.str = strings.ToLower(yyDollar[1].str) 15881 } 15882 case 805: 15883 yyDollar = yyS[yypt-0 : yypt+1] 15884 var yyLOCAL bool 15885 //line mysql_sql.y:5290 15886 { 15887 yyLOCAL = false 15888 } 15889 yyVAL.union = yyLOCAL 15890 case 806: 15891 yyDollar = yyS[yypt-1 : yypt+1] 15892 var yyLOCAL bool 15893 //line mysql_sql.y:5294 15894 { 15895 yyLOCAL = false 15896 } 15897 yyVAL.union = yyLOCAL 15898 case 807: 15899 yyDollar = yyS[yypt-1 : yypt+1] 15900 var yyLOCAL bool 15901 //line mysql_sql.y:5298 15902 { 15903 yyLOCAL = true 15904 } 15905 yyVAL.union = yyLOCAL 15906 case 810: 15907 yyDollar = yyS[yypt-0 : yypt+1] 15908 var yyLOCAL *tree.Where 15909 //line mysql_sql.y:5307 15910 { 15911 yyLOCAL = nil 15912 } 15913 yyVAL.union = yyLOCAL 15914 case 811: 15915 yyDollar = yyS[yypt-2 : yypt+1] 15916 var yyLOCAL *tree.Where 15917 //line mysql_sql.y:5311 15918 { 15919 yyLOCAL = &tree.Where{Type: tree.AstHaving, Expr: yyDollar[2].exprUnion()} 15920 } 15921 yyVAL.union = yyLOCAL 15922 case 812: 15923 yyDollar = yyS[yypt-0 : yypt+1] 15924 var yyLOCAL tree.GroupBy 15925 //line mysql_sql.y:5316 15926 { 15927 yyLOCAL = nil 15928 } 15929 yyVAL.union = yyLOCAL 15930 case 813: 15931 yyDollar = yyS[yypt-3 : yypt+1] 15932 var yyLOCAL tree.GroupBy 15933 //line mysql_sql.y:5320 15934 { 15935 yyLOCAL = tree.GroupBy(yyDollar[3].exprsUnion()) 15936 } 15937 yyVAL.union = yyLOCAL 15938 case 814: 15939 yyDollar = yyS[yypt-0 : yypt+1] 15940 var yyLOCAL *tree.Where 15941 //line mysql_sql.y:5325 15942 { 15943 yyLOCAL = nil 15944 } 15945 yyVAL.union = yyLOCAL 15946 case 815: 15947 yyDollar = yyS[yypt-2 : yypt+1] 15948 var yyLOCAL *tree.Where 15949 //line mysql_sql.y:5329 15950 { 15951 yyLOCAL = &tree.Where{Type: tree.AstWhere, Expr: yyDollar[2].exprUnion()} 15952 } 15953 yyVAL.union = yyLOCAL 15954 case 816: 15955 yyDollar = yyS[yypt-1 : yypt+1] 15956 var yyLOCAL tree.SelectExprs 15957 //line mysql_sql.y:5335 15958 { 15959 yyLOCAL = tree.SelectExprs{yyDollar[1].selectExprUnion()} 15960 } 15961 yyVAL.union = yyLOCAL 15962 case 817: 15963 yyDollar = yyS[yypt-3 : yypt+1] 15964 var yyLOCAL tree.SelectExprs 15965 //line mysql_sql.y:5339 15966 { 15967 yyLOCAL = append(yyDollar[1].selectExprsUnion(), yyDollar[3].selectExprUnion()) 15968 } 15969 yyVAL.union = yyLOCAL 15970 case 818: 15971 yyDollar = yyS[yypt-1 : yypt+1] 15972 var yyLOCAL tree.SelectExpr 15973 //line mysql_sql.y:5345 15974 { 15975 yyLOCAL = tree.SelectExpr{Expr: tree.StarExpr()} 15976 } 15977 yyVAL.union = yyLOCAL 15978 case 819: 15979 yyDollar = yyS[yypt-2 : yypt+1] 15980 var yyLOCAL tree.SelectExpr 15981 //line mysql_sql.y:5349 15982 { 15983 yyDollar[2].cstrUnion().SetConfig(0) 15984 yyLOCAL = tree.SelectExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].cstrUnion()} 15985 } 15986 yyVAL.union = yyLOCAL 15987 case 820: 15988 yyDollar = yyS[yypt-3 : yypt+1] 15989 var yyLOCAL tree.SelectExpr 15990 //line mysql_sql.y:5354 15991 { 15992 yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[1].cstrUnion().Compare())} 15993 } 15994 yyVAL.union = yyLOCAL 15995 case 821: 15996 yyDollar = yyS[yypt-5 : yypt+1] 15997 var yyLOCAL tree.SelectExpr 15998 //line mysql_sql.y:5358 15999 { 16000 yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare())} 16001 } 16002 yyVAL.union = yyLOCAL 16003 case 822: 16004 yyDollar = yyS[yypt-0 : yypt+1] 16005 var yyLOCAL *tree.From 16006 //line mysql_sql.y:5363 16007 { 16008 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 16009 tn := tree.NewTableName(tree.Identifier(""), prefix, nil) 16010 yyLOCAL = &tree.From{ 16011 Tables: tree.TableExprs{&tree.AliasedTableExpr{Expr: tn}}, 16012 } 16013 } 16014 yyVAL.union = yyLOCAL 16015 case 823: 16016 yyDollar = yyS[yypt-1 : yypt+1] 16017 var yyLOCAL *tree.From 16018 //line mysql_sql.y:5371 16019 { 16020 yyLOCAL = yyDollar[1].fromUnion() 16021 } 16022 yyVAL.union = yyLOCAL 16023 case 824: 16024 yyDollar = yyS[yypt-2 : yypt+1] 16025 var yyLOCAL *tree.From 16026 //line mysql_sql.y:5377 16027 { 16028 yyLOCAL = &tree.From{ 16029 Tables: tree.TableExprs{yyDollar[2].joinTableExprUnion()}, 16030 } 16031 } 16032 yyVAL.union = yyLOCAL 16033 case 825: 16034 yyDollar = yyS[yypt-1 : yypt+1] 16035 var yyLOCAL *tree.JoinTableExpr 16036 //line mysql_sql.y:5385 16037 { 16038 if t, ok := yyDollar[1].tableExprUnion().(*tree.JoinTableExpr); ok { 16039 yyLOCAL = t 16040 } else { 16041 yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].tableExprUnion(), Right: nil, JoinType: tree.JOIN_TYPE_CROSS} 16042 } 16043 } 16044 yyVAL.union = yyLOCAL 16045 case 826: 16046 yyDollar = yyS[yypt-3 : yypt+1] 16047 var yyLOCAL *tree.JoinTableExpr 16048 //line mysql_sql.y:5393 16049 { 16050 yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].joinTableExprUnion(), Right: yyDollar[3].tableExprUnion(), JoinType: tree.JOIN_TYPE_CROSS} 16051 } 16052 yyVAL.union = yyLOCAL 16053 case 829: 16054 yyDollar = yyS[yypt-1 : yypt+1] 16055 var yyLOCAL tree.TableExpr 16056 //line mysql_sql.y:5403 16057 { 16058 yyLOCAL = yyDollar[1].joinTableExprUnion() 16059 } 16060 yyVAL.union = yyLOCAL 16061 case 830: 16062 yyDollar = yyS[yypt-4 : yypt+1] 16063 var yyLOCAL *tree.JoinTableExpr 16064 //line mysql_sql.y:5409 16065 { 16066 yyLOCAL = &tree.JoinTableExpr{ 16067 Left: yyDollar[1].tableExprUnion(), 16068 JoinType: yyDollar[2].str, 16069 Right: yyDollar[3].tableExprUnion(), 16070 Cond: yyDollar[4].joinCondUnion(), 16071 } 16072 } 16073 yyVAL.union = yyLOCAL 16074 case 831: 16075 yyDollar = yyS[yypt-4 : yypt+1] 16076 var yyLOCAL *tree.JoinTableExpr 16077 //line mysql_sql.y:5418 16078 { 16079 yyLOCAL = &tree.JoinTableExpr{ 16080 Left: yyDollar[1].tableExprUnion(), 16081 JoinType: yyDollar[2].str, 16082 Right: yyDollar[3].tableExprUnion(), 16083 Cond: yyDollar[4].joinCondUnion(), 16084 } 16085 } 16086 yyVAL.union = yyLOCAL 16087 case 832: 16088 yyDollar = yyS[yypt-4 : yypt+1] 16089 var yyLOCAL *tree.JoinTableExpr 16090 //line mysql_sql.y:5427 16091 { 16092 yyLOCAL = &tree.JoinTableExpr{ 16093 Left: yyDollar[1].tableExprUnion(), 16094 JoinType: yyDollar[2].str, 16095 Right: yyDollar[3].tableExprUnion(), 16096 Cond: yyDollar[4].joinCondUnion(), 16097 } 16098 } 16099 yyVAL.union = yyLOCAL 16100 case 833: 16101 yyDollar = yyS[yypt-3 : yypt+1] 16102 var yyLOCAL *tree.JoinTableExpr 16103 //line mysql_sql.y:5436 16104 { 16105 yyLOCAL = &tree.JoinTableExpr{ 16106 Left: yyDollar[1].tableExprUnion(), 16107 JoinType: yyDollar[2].str, 16108 Right: yyDollar[3].tableExprUnion(), 16109 } 16110 } 16111 yyVAL.union = yyLOCAL 16112 case 834: 16113 yyDollar = yyS[yypt-2 : yypt+1] 16114 //line mysql_sql.y:5446 16115 { 16116 yyVAL.str = tree.JOIN_TYPE_NATURAL 16117 } 16118 case 835: 16119 yyDollar = yyS[yypt-2 : yypt+1] 16120 //line mysql_sql.y:5450 16121 { 16122 if yyDollar[2].str == tree.JOIN_TYPE_LEFT { 16123 yyVAL.str = tree.JOIN_TYPE_NATURAL_LEFT 16124 } else { 16125 yyVAL.str = tree.JOIN_TYPE_NATURAL_RIGHT 16126 } 16127 } 16128 case 836: 16129 yyDollar = yyS[yypt-2 : yypt+1] 16130 //line mysql_sql.y:5460 16131 { 16132 yyVAL.str = tree.JOIN_TYPE_LEFT 16133 } 16134 case 837: 16135 yyDollar = yyS[yypt-3 : yypt+1] 16136 //line mysql_sql.y:5464 16137 { 16138 yyVAL.str = tree.JOIN_TYPE_LEFT 16139 } 16140 case 838: 16141 yyDollar = yyS[yypt-2 : yypt+1] 16142 //line mysql_sql.y:5468 16143 { 16144 yyVAL.str = tree.JOIN_TYPE_RIGHT 16145 } 16146 case 839: 16147 yyDollar = yyS[yypt-3 : yypt+1] 16148 //line mysql_sql.y:5472 16149 { 16150 yyVAL.str = tree.JOIN_TYPE_RIGHT 16151 } 16152 case 840: 16153 yyDollar = yyS[yypt-4 : yypt+1] 16154 var yyLOCAL tree.Statement 16155 //line mysql_sql.y:5478 16156 { 16157 yyLOCAL = &tree.ValuesStatement{ 16158 Rows: yyDollar[2].rowsExprsUnion(), 16159 OrderBy: yyDollar[3].orderByUnion(), 16160 Limit: yyDollar[4].limitUnion(), 16161 } 16162 } 16163 yyVAL.union = yyLOCAL 16164 case 841: 16165 yyDollar = yyS[yypt-1 : yypt+1] 16166 var yyLOCAL []tree.Exprs 16167 //line mysql_sql.y:5488 16168 { 16169 yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} 16170 } 16171 yyVAL.union = yyLOCAL 16172 case 842: 16173 yyDollar = yyS[yypt-3 : yypt+1] 16174 var yyLOCAL []tree.Exprs 16175 //line mysql_sql.y:5492 16176 { 16177 yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) 16178 } 16179 yyVAL.union = yyLOCAL 16180 case 843: 16181 yyDollar = yyS[yypt-4 : yypt+1] 16182 var yyLOCAL tree.Exprs 16183 //line mysql_sql.y:5498 16184 { 16185 yyLOCAL = yyDollar[3].exprsUnion() 16186 } 16187 yyVAL.union = yyLOCAL 16188 case 844: 16189 yyDollar = yyS[yypt-0 : yypt+1] 16190 var yyLOCAL tree.JoinCond 16191 //line mysql_sql.y:5504 16192 { 16193 yyLOCAL = nil 16194 } 16195 yyVAL.union = yyLOCAL 16196 case 845: 16197 yyDollar = yyS[yypt-2 : yypt+1] 16198 var yyLOCAL tree.JoinCond 16199 //line mysql_sql.y:5508 16200 { 16201 yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} 16202 } 16203 yyVAL.union = yyLOCAL 16204 case 846: 16205 yyDollar = yyS[yypt-1 : yypt+1] 16206 //line mysql_sql.y:5514 16207 { 16208 yyVAL.str = tree.JOIN_TYPE_STRAIGHT 16209 } 16210 case 847: 16211 yyDollar = yyS[yypt-1 : yypt+1] 16212 //line mysql_sql.y:5520 16213 { 16214 yyVAL.str = tree.JOIN_TYPE_INNER 16215 } 16216 case 848: 16217 yyDollar = yyS[yypt-2 : yypt+1] 16218 //line mysql_sql.y:5524 16219 { 16220 yyVAL.str = tree.JOIN_TYPE_INNER 16221 } 16222 case 849: 16223 yyDollar = yyS[yypt-2 : yypt+1] 16224 //line mysql_sql.y:5528 16225 { 16226 yyVAL.str = tree.JOIN_TYPE_CROSS 16227 } 16228 case 850: 16229 yyDollar = yyS[yypt-0 : yypt+1] 16230 var yyLOCAL tree.JoinCond 16231 //line mysql_sql.y:5534 16232 { 16233 yyLOCAL = nil 16234 } 16235 yyVAL.union = yyLOCAL 16236 case 851: 16237 yyDollar = yyS[yypt-1 : yypt+1] 16238 var yyLOCAL tree.JoinCond 16239 //line mysql_sql.y:5538 16240 { 16241 yyLOCAL = yyDollar[1].joinCondUnion() 16242 } 16243 yyVAL.union = yyLOCAL 16244 case 852: 16245 yyDollar = yyS[yypt-2 : yypt+1] 16246 var yyLOCAL tree.JoinCond 16247 //line mysql_sql.y:5544 16248 { 16249 yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} 16250 } 16251 yyVAL.union = yyLOCAL 16252 case 853: 16253 yyDollar = yyS[yypt-4 : yypt+1] 16254 var yyLOCAL tree.JoinCond 16255 //line mysql_sql.y:5548 16256 { 16257 yyLOCAL = &tree.UsingJoinCond{Cols: yyDollar[3].identifierListUnion()} 16258 } 16259 yyVAL.union = yyLOCAL 16260 case 854: 16261 yyDollar = yyS[yypt-1 : yypt+1] 16262 var yyLOCAL tree.IdentifierList 16263 //line mysql_sql.y:5554 16264 { 16265 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} 16266 } 16267 yyVAL.union = yyLOCAL 16268 case 855: 16269 yyDollar = yyS[yypt-3 : yypt+1] 16270 var yyLOCAL tree.IdentifierList 16271 //line mysql_sql.y:5558 16272 { 16273 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare())) 16274 } 16275 yyVAL.union = yyLOCAL 16276 case 856: 16277 yyDollar = yyS[yypt-1 : yypt+1] 16278 var yyLOCAL tree.TableExpr 16279 //line mysql_sql.y:5564 16280 { 16281 yyLOCAL = yyDollar[1].aliasedTableExprUnion() 16282 } 16283 yyVAL.union = yyLOCAL 16284 case 857: 16285 yyDollar = yyS[yypt-3 : yypt+1] 16286 var yyLOCAL tree.TableExpr 16287 //line mysql_sql.y:5568 16288 { 16289 yyLOCAL = &tree.AliasedTableExpr{ 16290 Expr: yyDollar[1].parenTableExprUnion(), 16291 As: tree.AliasClause{ 16292 Alias: tree.Identifier(yyDollar[2].str), 16293 Cols: yyDollar[3].identifierListUnion(), 16294 }, 16295 } 16296 } 16297 yyVAL.union = yyLOCAL 16298 case 858: 16299 yyDollar = yyS[yypt-2 : yypt+1] 16300 var yyLOCAL tree.TableExpr 16301 //line mysql_sql.y:5578 16302 { 16303 if yyDollar[2].str != "" { 16304 yyLOCAL = &tree.AliasedTableExpr{ 16305 Expr: yyDollar[1].tableExprUnion(), 16306 As: tree.AliasClause{ 16307 Alias: tree.Identifier(yyDollar[2].str), 16308 }, 16309 } 16310 } else { 16311 yyLOCAL = yyDollar[1].tableExprUnion() 16312 } 16313 } 16314 yyVAL.union = yyLOCAL 16315 case 859: 16316 yyDollar = yyS[yypt-3 : yypt+1] 16317 var yyLOCAL tree.TableExpr 16318 //line mysql_sql.y:5591 16319 { 16320 yyLOCAL = yyDollar[2].joinTableExprUnion() 16321 } 16322 yyVAL.union = yyLOCAL 16323 case 860: 16324 yyDollar = yyS[yypt-1 : yypt+1] 16325 var yyLOCAL *tree.ParenTableExpr 16326 //line mysql_sql.y:5597 16327 { 16328 yyLOCAL = &tree.ParenTableExpr{Expr: yyDollar[1].selectStatementUnion().(*tree.ParenSelect).Select} 16329 } 16330 yyVAL.union = yyLOCAL 16331 case 861: 16332 yyDollar = yyS[yypt-4 : yypt+1] 16333 var yyLOCAL tree.TableExpr 16334 //line mysql_sql.y:5603 16335 { 16336 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].cstrUnion().Compare())) 16337 yyLOCAL = &tree.TableFunction{ 16338 Func: &tree.FuncExpr{ 16339 Func: tree.FuncName2ResolvableFunctionReference(name), 16340 FuncName: tree.NewCStrUseOrigin(yyDollar[1].cstrUnion().Origin(), yylex.(*Lexer).useOrigin), 16341 Exprs: yyDollar[3].exprsUnion(), 16342 Type: tree.FUNC_TYPE_TABLE, 16343 }, 16344 } 16345 } 16346 yyVAL.union = yyLOCAL 16347 case 862: 16348 yyDollar = yyS[yypt-3 : yypt+1] 16349 var yyLOCAL *tree.AliasedTableExpr 16350 //line mysql_sql.y:5617 16351 { 16352 yyLOCAL = &tree.AliasedTableExpr{ 16353 Expr: yyDollar[1].tableNameUnion(), 16354 As: tree.AliasClause{ 16355 Alias: tree.Identifier(yyDollar[2].str), 16356 }, 16357 IndexHints: yyDollar[3].indexHintListUnion(), 16358 } 16359 } 16360 yyVAL.union = yyLOCAL 16361 case 863: 16362 yyDollar = yyS[yypt-0 : yypt+1] 16363 var yyLOCAL []*tree.IndexHint 16364 //line mysql_sql.y:5628 16365 { 16366 yyLOCAL = nil 16367 } 16368 yyVAL.union = yyLOCAL 16369 case 865: 16370 yyDollar = yyS[yypt-1 : yypt+1] 16371 var yyLOCAL []*tree.IndexHint 16372 //line mysql_sql.y:5635 16373 { 16374 yyLOCAL = []*tree.IndexHint{yyDollar[1].indexHintUnion()} 16375 } 16376 yyVAL.union = yyLOCAL 16377 case 866: 16378 yyDollar = yyS[yypt-2 : yypt+1] 16379 var yyLOCAL []*tree.IndexHint 16380 //line mysql_sql.y:5639 16381 { 16382 yyLOCAL = append(yyDollar[1].indexHintListUnion(), yyDollar[2].indexHintUnion()) 16383 } 16384 yyVAL.union = yyLOCAL 16385 case 867: 16386 yyDollar = yyS[yypt-5 : yypt+1] 16387 var yyLOCAL *tree.IndexHint 16388 //line mysql_sql.y:5645 16389 { 16390 yyLOCAL = &tree.IndexHint{ 16391 IndexNames: yyDollar[4].strsUnion(), 16392 HintType: yyDollar[1].indexHintTypeUnion(), 16393 HintScope: yyDollar[2].indexHintScopeUnion(), 16394 } 16395 } 16396 yyVAL.union = yyLOCAL 16397 case 868: 16398 yyDollar = yyS[yypt-2 : yypt+1] 16399 var yyLOCAL tree.IndexHintType 16400 //line mysql_sql.y:5655 16401 { 16402 yyLOCAL = tree.HintUse 16403 } 16404 yyVAL.union = yyLOCAL 16405 case 869: 16406 yyDollar = yyS[yypt-2 : yypt+1] 16407 var yyLOCAL tree.IndexHintType 16408 //line mysql_sql.y:5659 16409 { 16410 yyLOCAL = tree.HintIgnore 16411 } 16412 yyVAL.union = yyLOCAL 16413 case 870: 16414 yyDollar = yyS[yypt-2 : yypt+1] 16415 var yyLOCAL tree.IndexHintType 16416 //line mysql_sql.y:5663 16417 { 16418 yyLOCAL = tree.HintForce 16419 } 16420 yyVAL.union = yyLOCAL 16421 case 871: 16422 yyDollar = yyS[yypt-0 : yypt+1] 16423 var yyLOCAL tree.IndexHintScope 16424 //line mysql_sql.y:5668 16425 { 16426 yyLOCAL = tree.HintForScan 16427 } 16428 yyVAL.union = yyLOCAL 16429 case 872: 16430 yyDollar = yyS[yypt-2 : yypt+1] 16431 var yyLOCAL tree.IndexHintScope 16432 //line mysql_sql.y:5672 16433 { 16434 yyLOCAL = tree.HintForJoin 16435 } 16436 yyVAL.union = yyLOCAL 16437 case 873: 16438 yyDollar = yyS[yypt-3 : yypt+1] 16439 var yyLOCAL tree.IndexHintScope 16440 //line mysql_sql.y:5676 16441 { 16442 yyLOCAL = tree.HintForOrderBy 16443 } 16444 yyVAL.union = yyLOCAL 16445 case 874: 16446 yyDollar = yyS[yypt-3 : yypt+1] 16447 var yyLOCAL tree.IndexHintScope 16448 //line mysql_sql.y:5680 16449 { 16450 yyLOCAL = tree.HintForGroupBy 16451 } 16452 yyVAL.union = yyLOCAL 16453 case 875: 16454 yyDollar = yyS[yypt-0 : yypt+1] 16455 var yyLOCAL []string 16456 //line mysql_sql.y:5685 16457 { 16458 yyLOCAL = nil 16459 } 16460 yyVAL.union = yyLOCAL 16461 case 876: 16462 yyDollar = yyS[yypt-1 : yypt+1] 16463 var yyLOCAL []string 16464 //line mysql_sql.y:5689 16465 { 16466 yyLOCAL = []string{yyDollar[1].cstrUnion().Compare()} 16467 } 16468 yyVAL.union = yyLOCAL 16469 case 877: 16470 yyDollar = yyS[yypt-3 : yypt+1] 16471 var yyLOCAL []string 16472 //line mysql_sql.y:5693 16473 { 16474 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].cstrUnion().Compare()) 16475 } 16476 yyVAL.union = yyLOCAL 16477 case 878: 16478 yyDollar = yyS[yypt-1 : yypt+1] 16479 var yyLOCAL []string 16480 //line mysql_sql.y:5697 16481 { 16482 yyLOCAL = []string{yyDollar[1].str} 16483 } 16484 yyVAL.union = yyLOCAL 16485 case 879: 16486 yyDollar = yyS[yypt-3 : yypt+1] 16487 var yyLOCAL []string 16488 //line mysql_sql.y:5701 16489 { 16490 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 16491 } 16492 yyVAL.union = yyLOCAL 16493 case 880: 16494 yyDollar = yyS[yypt-0 : yypt+1] 16495 //line mysql_sql.y:5706 16496 { 16497 yyVAL.str = "" 16498 } 16499 case 881: 16500 yyDollar = yyS[yypt-1 : yypt+1] 16501 //line mysql_sql.y:5710 16502 { 16503 yyVAL.str = yyDollar[1].str 16504 } 16505 case 882: 16506 yyDollar = yyS[yypt-2 : yypt+1] 16507 //line mysql_sql.y:5714 16508 { 16509 yyVAL.str = yyDollar[2].str 16510 } 16511 case 883: 16512 yyDollar = yyS[yypt-1 : yypt+1] 16513 //line mysql_sql.y:5720 16514 { 16515 yyVAL.str = yyDollar[1].cstrUnion().Compare() 16516 } 16517 case 885: 16518 yyDollar = yyS[yypt-0 : yypt+1] 16519 var yyLOCAL *tree.CStr 16520 //line mysql_sql.y:5726 16521 { 16522 yyLOCAL = tree.NewCStr("", yylex.(*Lexer).lower) 16523 } 16524 yyVAL.union = yyLOCAL 16525 case 886: 16526 yyDollar = yyS[yypt-1 : yypt+1] 16527 var yyLOCAL *tree.CStr 16528 //line mysql_sql.y:5730 16529 { 16530 yyLOCAL = yyDollar[1].cstrUnion() 16531 } 16532 yyVAL.union = yyLOCAL 16533 case 887: 16534 yyDollar = yyS[yypt-2 : yypt+1] 16535 var yyLOCAL *tree.CStr 16536 //line mysql_sql.y:5734 16537 { 16538 yyLOCAL = yyDollar[2].cstrUnion() 16539 } 16540 yyVAL.union = yyLOCAL 16541 case 888: 16542 yyDollar = yyS[yypt-1 : yypt+1] 16543 var yyLOCAL *tree.CStr 16544 //line mysql_sql.y:5738 16545 { 16546 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 16547 } 16548 yyVAL.union = yyLOCAL 16549 case 889: 16550 yyDollar = yyS[yypt-2 : yypt+1] 16551 var yyLOCAL *tree.CStr 16552 //line mysql_sql.y:5742 16553 { 16554 yyLOCAL = tree.NewCStr(yyDollar[2].str, yylex.(*Lexer).lower) 16555 } 16556 yyVAL.union = yyLOCAL 16557 case 890: 16558 yyDollar = yyS[yypt-1 : yypt+1] 16559 //line mysql_sql.y:5748 16560 { 16561 yyVAL.str = yyDollar[1].cstrUnion().Compare() 16562 } 16563 case 911: 16564 yyDollar = yyS[yypt-7 : yypt+1] 16565 var yyLOCAL tree.Statement 16566 //line mysql_sql.y:5788 16567 { 16568 var Language = yyDollar[3].str 16569 var Name = tree.Identifier(yyDollar[5].str) 16570 var Filename = tree.Identifier(yyDollar[7].str) 16571 yyLOCAL = tree.NewCreateExtension( 16572 Language, 16573 Name, 16574 Filename, 16575 ) 16576 } 16577 yyVAL.union = yyLOCAL 16578 case 912: 16579 yyDollar = yyS[yypt-1 : yypt+1] 16580 //line mysql_sql.y:5801 16581 { 16582 yyVAL.str = yyDollar[1].cstrUnion().Compare() 16583 } 16584 case 913: 16585 yyDollar = yyS[yypt-1 : yypt+1] 16586 //line mysql_sql.y:5807 16587 { 16588 yyVAL.str = yyDollar[1].cstrUnion().Compare() 16589 } 16590 case 914: 16591 yyDollar = yyS[yypt-7 : yypt+1] 16592 var yyLOCAL tree.Statement 16593 //line mysql_sql.y:5813 16594 { 16595 var Name = yyDollar[3].procNameUnion() 16596 var Args = yyDollar[5].procArgsUnion() 16597 var Body = yyDollar[7].str 16598 yyLOCAL = tree.NewCreateProcedure( 16599 Name, 16600 Args, 16601 Body, 16602 ) 16603 } 16604 yyVAL.union = yyLOCAL 16605 case 915: 16606 yyDollar = yyS[yypt-1 : yypt+1] 16607 var yyLOCAL *tree.ProcedureName 16608 //line mysql_sql.y:5826 16609 { 16610 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 16611 yyLOCAL = tree.NewProcedureName(tree.Identifier(yyDollar[1].cstrUnion().ToLower()), prefix) 16612 } 16613 yyVAL.union = yyLOCAL 16614 case 916: 16615 yyDollar = yyS[yypt-3 : yypt+1] 16616 var yyLOCAL *tree.ProcedureName 16617 //line mysql_sql.y:5831 16618 { 16619 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().ToLower()), ExplicitSchema: true} 16620 yyLOCAL = tree.NewProcedureName(tree.Identifier(yyDollar[3].cstrUnion().ToLower()), prefix) 16621 } 16622 yyVAL.union = yyLOCAL 16623 case 917: 16624 yyDollar = yyS[yypt-0 : yypt+1] 16625 var yyLOCAL tree.ProcedureArgs 16626 //line mysql_sql.y:5837 16627 { 16628 yyLOCAL = tree.ProcedureArgs(nil) 16629 } 16630 yyVAL.union = yyLOCAL 16631 case 919: 16632 yyDollar = yyS[yypt-1 : yypt+1] 16633 var yyLOCAL tree.ProcedureArgs 16634 //line mysql_sql.y:5844 16635 { 16636 yyLOCAL = tree.ProcedureArgs{yyDollar[1].procArgUnion()} 16637 } 16638 yyVAL.union = yyLOCAL 16639 case 920: 16640 yyDollar = yyS[yypt-3 : yypt+1] 16641 var yyLOCAL tree.ProcedureArgs 16642 //line mysql_sql.y:5848 16643 { 16644 yyLOCAL = append(yyDollar[1].procArgsUnion(), yyDollar[3].procArgUnion()) 16645 } 16646 yyVAL.union = yyLOCAL 16647 case 921: 16648 yyDollar = yyS[yypt-1 : yypt+1] 16649 var yyLOCAL tree.ProcedureArg 16650 //line mysql_sql.y:5854 16651 { 16652 yyLOCAL = tree.ProcedureArg(yyDollar[1].procArgDeclUnion()) 16653 } 16654 yyVAL.union = yyLOCAL 16655 case 922: 16656 yyDollar = yyS[yypt-3 : yypt+1] 16657 var yyLOCAL *tree.ProcedureArgDecl 16658 //line mysql_sql.y:5860 16659 { 16660 yyLOCAL = tree.NewProcedureArgDecl(yyDollar[1].procArgTypeUnion(), yyDollar[2].unresolvedNameUnion(), yyDollar[3].columnTypeUnion()) 16661 } 16662 yyVAL.union = yyLOCAL 16663 case 923: 16664 yyDollar = yyS[yypt-0 : yypt+1] 16665 var yyLOCAL tree.InOutArgType 16666 //line mysql_sql.y:5865 16667 { 16668 yyLOCAL = tree.TYPE_IN 16669 } 16670 yyVAL.union = yyLOCAL 16671 case 924: 16672 yyDollar = yyS[yypt-1 : yypt+1] 16673 var yyLOCAL tree.InOutArgType 16674 //line mysql_sql.y:5869 16675 { 16676 yyLOCAL = tree.TYPE_IN 16677 } 16678 yyVAL.union = yyLOCAL 16679 case 925: 16680 yyDollar = yyS[yypt-1 : yypt+1] 16681 var yyLOCAL tree.InOutArgType 16682 //line mysql_sql.y:5873 16683 { 16684 yyLOCAL = tree.TYPE_OUT 16685 } 16686 yyVAL.union = yyLOCAL 16687 case 926: 16688 yyDollar = yyS[yypt-1 : yypt+1] 16689 var yyLOCAL tree.InOutArgType 16690 //line mysql_sql.y:5877 16691 { 16692 yyLOCAL = tree.TYPE_INOUT 16693 } 16694 yyVAL.union = yyLOCAL 16695 case 927: 16696 yyDollar = yyS[yypt-14 : yypt+1] 16697 var yyLOCAL tree.Statement 16698 //line mysql_sql.y:5884 16699 { 16700 if yyDollar[13].str == "" { 16701 yylex.Error("no function body error") 16702 goto ret1 16703 } 16704 if yyDollar[11].str == "python" && yyDollar[14].str == "" { 16705 yylex.Error("no handler error") 16706 goto ret1 16707 } 16708 16709 var Replace = yyDollar[2].sourceOptionalUnion() 16710 var Name = yyDollar[4].functionNameUnion() 16711 var Args = yyDollar[6].funcArgsUnion() 16712 var ReturnType = yyDollar[9].funcReturnUnion() 16713 var Language = yyDollar[11].str 16714 var Import = yyDollar[12].boolValUnion() 16715 var Body = yyDollar[13].str 16716 var Handler = yyDollar[14].str 16717 16718 yyLOCAL = tree.NewCreateFunction( 16719 Replace, 16720 Name, 16721 Args, 16722 ReturnType, 16723 Language, 16724 Import, 16725 Body, 16726 Handler, 16727 ) 16728 } 16729 yyVAL.union = yyLOCAL 16730 case 928: 16731 yyDollar = yyS[yypt-1 : yypt+1] 16732 var yyLOCAL *tree.FunctionName 16733 //line mysql_sql.y:5917 16734 { 16735 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 16736 yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix) 16737 } 16738 yyVAL.union = yyLOCAL 16739 case 929: 16740 yyDollar = yyS[yypt-3 : yypt+1] 16741 var yyLOCAL *tree.FunctionName 16742 //line mysql_sql.y:5922 16743 { 16744 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().Compare()), ExplicitSchema: true} 16745 yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix) 16746 } 16747 yyVAL.union = yyLOCAL 16748 case 930: 16749 yyDollar = yyS[yypt-0 : yypt+1] 16750 var yyLOCAL tree.FunctionArgs 16751 //line mysql_sql.y:5928 16752 { 16753 yyLOCAL = tree.FunctionArgs(nil) 16754 } 16755 yyVAL.union = yyLOCAL 16756 case 932: 16757 yyDollar = yyS[yypt-1 : yypt+1] 16758 var yyLOCAL tree.FunctionArgs 16759 //line mysql_sql.y:5935 16760 { 16761 yyLOCAL = tree.FunctionArgs{yyDollar[1].funcArgUnion()} 16762 } 16763 yyVAL.union = yyLOCAL 16764 case 933: 16765 yyDollar = yyS[yypt-3 : yypt+1] 16766 var yyLOCAL tree.FunctionArgs 16767 //line mysql_sql.y:5939 16768 { 16769 yyLOCAL = append(yyDollar[1].funcArgsUnion(), yyDollar[3].funcArgUnion()) 16770 } 16771 yyVAL.union = yyLOCAL 16772 case 934: 16773 yyDollar = yyS[yypt-1 : yypt+1] 16774 var yyLOCAL tree.FunctionArg 16775 //line mysql_sql.y:5945 16776 { 16777 yyLOCAL = tree.FunctionArg(yyDollar[1].funcArgDeclUnion()) 16778 } 16779 yyVAL.union = yyLOCAL 16780 case 935: 16781 yyDollar = yyS[yypt-1 : yypt+1] 16782 var yyLOCAL *tree.FunctionArgDecl 16783 //line mysql_sql.y:5951 16784 { 16785 yyLOCAL = tree.NewFunctionArgDecl(nil, yyDollar[1].columnTypeUnion(), nil) 16786 } 16787 yyVAL.union = yyLOCAL 16788 case 936: 16789 yyDollar = yyS[yypt-2 : yypt+1] 16790 var yyLOCAL *tree.FunctionArgDecl 16791 //line mysql_sql.y:5955 16792 { 16793 yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), nil) 16794 } 16795 yyVAL.union = yyLOCAL 16796 case 937: 16797 yyDollar = yyS[yypt-4 : yypt+1] 16798 var yyLOCAL *tree.FunctionArgDecl 16799 //line mysql_sql.y:5959 16800 { 16801 yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[4].exprUnion()) 16802 } 16803 yyVAL.union = yyLOCAL 16804 case 938: 16805 yyDollar = yyS[yypt-1 : yypt+1] 16806 //line mysql_sql.y:5965 16807 { 16808 yyVAL.str = yyDollar[1].cstrUnion().Compare() 16809 } 16810 case 939: 16811 yyDollar = yyS[yypt-1 : yypt+1] 16812 var yyLOCAL *tree.ReturnType 16813 //line mysql_sql.y:5971 16814 { 16815 yyLOCAL = tree.NewReturnType(yyDollar[1].columnTypeUnion()) 16816 } 16817 yyVAL.union = yyLOCAL 16818 case 940: 16819 yyDollar = yyS[yypt-1 : yypt+1] 16820 var yyLOCAL bool 16821 //line mysql_sql.y:5977 16822 { 16823 yyLOCAL = false 16824 } 16825 yyVAL.union = yyLOCAL 16826 case 941: 16827 yyDollar = yyS[yypt-1 : yypt+1] 16828 var yyLOCAL bool 16829 //line mysql_sql.y:5981 16830 { 16831 yyLOCAL = true 16832 } 16833 yyVAL.union = yyLOCAL 16834 case 942: 16835 yyDollar = yyS[yypt-0 : yypt+1] 16836 //line mysql_sql.y:5987 16837 { 16838 yyVAL.str = "" 16839 } 16840 case 944: 16841 yyDollar = yyS[yypt-2 : yypt+1] 16842 //line mysql_sql.y:5994 16843 { 16844 yyVAL.str = yyDollar[2].str 16845 } 16846 case 945: 16847 yyDollar = yyS[yypt-9 : yypt+1] 16848 var yyLOCAL tree.Statement 16849 //line mysql_sql.y:6000 16850 { 16851 var Replace bool 16852 var Name = yyDollar[5].tableNameUnion() 16853 var ColNames = yyDollar[6].identifierListUnion() 16854 var AsSource = yyDollar[8].selectUnion() 16855 var IfNotExists = yyDollar[4].ifNotExistsUnion() 16856 yyLOCAL = tree.NewCreateView( 16857 Replace, 16858 Name, 16859 ColNames, 16860 AsSource, 16861 IfNotExists, 16862 ) 16863 } 16864 yyVAL.union = yyLOCAL 16865 case 946: 16866 yyDollar = yyS[yypt-9 : yypt+1] 16867 var yyLOCAL tree.Statement 16868 //line mysql_sql.y:6015 16869 { 16870 var Replace = yyDollar[2].sourceOptionalUnion() 16871 var Name = yyDollar[5].tableNameUnion() 16872 var ColNames = yyDollar[6].identifierListUnion() 16873 var AsSource = yyDollar[8].selectUnion() 16874 var IfNotExists = yyDollar[4].ifNotExistsUnion() 16875 yyLOCAL = tree.NewCreateView( 16876 Replace, 16877 Name, 16878 ColNames, 16879 AsSource, 16880 IfNotExists, 16881 ) 16882 } 16883 yyVAL.union = yyLOCAL 16884 case 947: 16885 yyDollar = yyS[yypt-7 : yypt+1] 16886 var yyLOCAL tree.Statement 16887 //line mysql_sql.y:6032 16888 { 16889 var IfNotExists = yyDollar[3].ifNotExistsUnion() 16890 var Name = yyDollar[4].exprUnion() 16891 var AuthOption = yyDollar[5].accountAuthOptionUnion() 16892 var StatusOption = yyDollar[6].accountStatusUnion() 16893 var Comment = yyDollar[7].accountCommentUnion() 16894 yyLOCAL = tree.NewCreateAccount( 16895 IfNotExists, 16896 Name, 16897 AuthOption, 16898 StatusOption, 16899 Comment, 16900 ) 16901 } 16902 yyVAL.union = yyLOCAL 16903 case 948: 16904 yyDollar = yyS[yypt-1 : yypt+1] 16905 //line mysql_sql.y:6049 16906 { 16907 yyVAL.str = yyDollar[1].str 16908 } 16909 case 949: 16910 yyDollar = yyS[yypt-2 : yypt+1] 16911 //line mysql_sql.y:6053 16912 { 16913 yyVAL.str = yyVAL.str + yyDollar[2].str 16914 } 16915 case 950: 16916 yyDollar = yyS[yypt-3 : yypt+1] 16917 //line mysql_sql.y:6059 16918 { 16919 yyVAL.str = "ALGORITHM = " + yyDollar[3].str 16920 } 16921 case 951: 16922 yyDollar = yyS[yypt-3 : yypt+1] 16923 //line mysql_sql.y:6063 16924 { 16925 yyVAL.str = "DEFINER = " 16926 } 16927 case 952: 16928 yyDollar = yyS[yypt-3 : yypt+1] 16929 //line mysql_sql.y:6067 16930 { 16931 yyVAL.str = "SQL SECURITY " + yyDollar[3].str 16932 } 16933 case 953: 16934 yyDollar = yyS[yypt-0 : yypt+1] 16935 //line mysql_sql.y:6072 16936 { 16937 yyVAL.str = "" 16938 } 16939 case 954: 16940 yyDollar = yyS[yypt-4 : yypt+1] 16941 //line mysql_sql.y:6076 16942 { 16943 yyVAL.str = "WITH " + yyDollar[2].str + " CHECK OPTION" 16944 } 16945 case 960: 16946 yyDollar = yyS[yypt-0 : yypt+1] 16947 //line mysql_sql.y:6090 16948 { 16949 yyVAL.str = "" 16950 } 16951 case 963: 16952 yyDollar = yyS[yypt-1 : yypt+1] 16953 //line mysql_sql.y:6098 16954 { 16955 yyVAL.str = yyDollar[1].cstrUnion().Compare() 16956 } 16957 case 964: 16958 yyDollar = yyS[yypt-1 : yypt+1] 16959 var yyLOCAL tree.Expr 16960 //line mysql_sql.y:6104 16961 { 16962 var Str = yyDollar[1].cstrUnion().Compare() 16963 yyLOCAL = tree.NewNumValWithType(constant.MakeString(Str), Str, false, tree.P_char) 16964 } 16965 yyVAL.union = yyLOCAL 16966 case 965: 16967 yyDollar = yyS[yypt-1 : yypt+1] 16968 var yyLOCAL tree.Expr 16969 //line mysql_sql.y:6109 16970 { 16971 yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) 16972 } 16973 yyVAL.union = yyLOCAL 16974 case 966: 16975 yyDollar = yyS[yypt-4 : yypt+1] 16976 var yyLOCAL tree.AccountAuthOption 16977 //line mysql_sql.y:6115 16978 { 16979 var Equal = yyDollar[2].str 16980 var AdminName = yyDollar[3].exprUnion() 16981 var IdentifiedType = yyDollar[4].accountIdentifiedUnion() 16982 yyLOCAL = *tree.NewAccountAuthOption( 16983 Equal, 16984 AdminName, 16985 IdentifiedType, 16986 ) 16987 } 16988 yyVAL.union = yyLOCAL 16989 case 967: 16990 yyDollar = yyS[yypt-1 : yypt+1] 16991 var yyLOCAL tree.Expr 16992 //line mysql_sql.y:6128 16993 { 16994 var Str = yyDollar[1].str 16995 yyLOCAL = tree.NewNumValWithType(constant.MakeString(Str), Str, false, tree.P_char) 16996 } 16997 yyVAL.union = yyLOCAL 16998 case 968: 16999 yyDollar = yyS[yypt-1 : yypt+1] 17000 var yyLOCAL tree.Expr 17001 //line mysql_sql.y:6133 17002 { 17003 var Str = yyDollar[1].cstrUnion().Compare() 17004 yyLOCAL = tree.NewNumValWithType(constant.MakeString(Str), Str, false, tree.P_char) 17005 } 17006 yyVAL.union = yyLOCAL 17007 case 969: 17008 yyDollar = yyS[yypt-1 : yypt+1] 17009 var yyLOCAL tree.Expr 17010 //line mysql_sql.y:6138 17011 { 17012 yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) 17013 } 17014 yyVAL.union = yyLOCAL 17015 case 970: 17016 yyDollar = yyS[yypt-3 : yypt+1] 17017 var yyLOCAL tree.AccountIdentified 17018 //line mysql_sql.y:6144 17019 { 17020 yyLOCAL = *tree.NewAccountIdentified( 17021 tree.AccountIdentifiedByPassword, 17022 tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char), 17023 ) 17024 } 17025 yyVAL.union = yyLOCAL 17026 case 971: 17027 yyDollar = yyS[yypt-3 : yypt+1] 17028 var yyLOCAL tree.AccountIdentified 17029 //line mysql_sql.y:6151 17030 { 17031 yyLOCAL = *tree.NewAccountIdentified( 17032 tree.AccountIdentifiedByPassword, 17033 tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()), 17034 ) 17035 } 17036 yyVAL.union = yyLOCAL 17037 case 972: 17038 yyDollar = yyS[yypt-4 : yypt+1] 17039 var yyLOCAL tree.AccountIdentified 17040 //line mysql_sql.y:6158 17041 { 17042 yyLOCAL = *tree.NewAccountIdentified( 17043 tree.AccountIdentifiedByRandomPassword, 17044 nil, 17045 ) 17046 } 17047 yyVAL.union = yyLOCAL 17048 case 973: 17049 yyDollar = yyS[yypt-3 : yypt+1] 17050 var yyLOCAL tree.AccountIdentified 17051 //line mysql_sql.y:6165 17052 { 17053 yyLOCAL = *tree.NewAccountIdentified( 17054 tree.AccountIdentifiedWithSSL, 17055 tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char), 17056 ) 17057 } 17058 yyVAL.union = yyLOCAL 17059 case 974: 17060 yyDollar = yyS[yypt-3 : yypt+1] 17061 var yyLOCAL tree.AccountIdentified 17062 //line mysql_sql.y:6172 17063 { 17064 yyLOCAL = *tree.NewAccountIdentified( 17065 tree.AccountIdentifiedWithSSL, 17066 tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()), 17067 ) 17068 } 17069 yyVAL.union = yyLOCAL 17070 case 975: 17071 yyDollar = yyS[yypt-0 : yypt+1] 17072 var yyLOCAL tree.AccountStatus 17073 //line mysql_sql.y:6180 17074 { 17075 as := tree.NewAccountStatus() 17076 as.Exist = false 17077 yyLOCAL = *as 17078 } 17079 yyVAL.union = yyLOCAL 17080 case 976: 17081 yyDollar = yyS[yypt-1 : yypt+1] 17082 var yyLOCAL tree.AccountStatus 17083 //line mysql_sql.y:6186 17084 { 17085 as := tree.NewAccountStatus() 17086 as.Exist = true 17087 as.Option = tree.AccountStatusOpen 17088 yyLOCAL = *as 17089 } 17090 yyVAL.union = yyLOCAL 17091 case 977: 17092 yyDollar = yyS[yypt-1 : yypt+1] 17093 var yyLOCAL tree.AccountStatus 17094 //line mysql_sql.y:6193 17095 { 17096 as := tree.NewAccountStatus() 17097 as.Exist = true 17098 as.Option = tree.AccountStatusSuspend 17099 yyLOCAL = *as 17100 } 17101 yyVAL.union = yyLOCAL 17102 case 978: 17103 yyDollar = yyS[yypt-1 : yypt+1] 17104 var yyLOCAL tree.AccountStatus 17105 //line mysql_sql.y:6200 17106 { 17107 as := tree.NewAccountStatus() 17108 as.Exist = true 17109 as.Option = tree.AccountStatusRestricted 17110 yyLOCAL = *as 17111 } 17112 yyVAL.union = yyLOCAL 17113 case 979: 17114 yyDollar = yyS[yypt-0 : yypt+1] 17115 var yyLOCAL tree.AccountComment 17116 //line mysql_sql.y:6208 17117 { 17118 ac := tree.NewAccountComment() 17119 ac.Exist = false 17120 yyLOCAL = *ac 17121 } 17122 yyVAL.union = yyLOCAL 17123 case 980: 17124 yyDollar = yyS[yypt-2 : yypt+1] 17125 var yyLOCAL tree.AccountComment 17126 //line mysql_sql.y:6214 17127 { 17128 ac := tree.NewAccountComment() 17129 ac.Exist = true 17130 ac.Comment = yyDollar[2].str 17131 yyLOCAL = *ac 17132 } 17133 yyVAL.union = yyLOCAL 17134 case 981: 17135 yyDollar = yyS[yypt-7 : yypt+1] 17136 var yyLOCAL tree.Statement 17137 //line mysql_sql.y:6223 17138 { 17139 var IfNotExists = yyDollar[3].ifNotExistsUnion() 17140 var Users = yyDollar[4].usersUnion() 17141 var Role = yyDollar[5].accountRoleUnion() 17142 var MiscOpt = yyDollar[6].userMiscOptionUnion() 17143 var CommentOrAttribute = yyDollar[7].accountCommentOrAttributeUnion() 17144 yyLOCAL = tree.NewCreateUser( 17145 IfNotExists, 17146 Users, 17147 Role, 17148 MiscOpt, 17149 CommentOrAttribute, 17150 ) 17151 } 17152 yyVAL.union = yyLOCAL 17153 case 982: 17154 yyDollar = yyS[yypt-8 : yypt+1] 17155 var yyLOCAL tree.Statement 17156 //line mysql_sql.y:6240 17157 { 17158 var IfNotExists = yyDollar[3].ifNotExistsUnion() 17159 var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17160 var Database = tree.Identifier(yyDollar[6].cstrUnion().Compare()) 17161 var Table = tree.Identifier("") 17162 var AccountsSet = yyDollar[7].accountsSetOptionUnion() 17163 var Comment = yyDollar[8].str 17164 yyLOCAL = tree.NewCreatePublication( 17165 IfNotExists, 17166 Name, 17167 Database, 17168 Table, 17169 AccountsSet, 17170 Comment, 17171 ) 17172 } 17173 yyVAL.union = yyLOCAL 17174 case 983: 17175 yyDollar = yyS[yypt-8 : yypt+1] 17176 var yyLOCAL tree.Statement 17177 //line mysql_sql.y:6257 17178 { 17179 var IfNotExists = yyDollar[3].ifNotExistsUnion() 17180 var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17181 var Database = tree.Identifier("") 17182 var Table = tree.Identifier(yyDollar[6].cstrUnion().Compare()) 17183 var AccountsSet = yyDollar[7].accountsSetOptionUnion() 17184 var Comment = yyDollar[8].str 17185 yyLOCAL = tree.NewCreatePublication( 17186 IfNotExists, 17187 Name, 17188 Database, 17189 Table, 17190 AccountsSet, 17191 Comment, 17192 ) 17193 } 17194 yyVAL.union = yyLOCAL 17195 case 984: 17196 yyDollar = yyS[yypt-8 : yypt+1] 17197 var yyLOCAL tree.Statement 17198 //line mysql_sql.y:6276 17199 { 17200 var IfNotExists = yyDollar[3].ifNotExistsUnion() 17201 var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17202 var Url = yyDollar[5].str 17203 var Credentials = yyDollar[6].stageCredentialsUnion() 17204 var Status = yyDollar[7].stageStatusUnion() 17205 var Comment = yyDollar[8].stageCommentUnion() 17206 yyLOCAL = tree.NewCreateStage( 17207 IfNotExists, 17208 Name, 17209 Url, 17210 Credentials, 17211 Status, 17212 Comment, 17213 ) 17214 } 17215 yyVAL.union = yyLOCAL 17216 case 985: 17217 yyDollar = yyS[yypt-0 : yypt+1] 17218 var yyLOCAL tree.StageStatus 17219 //line mysql_sql.y:6294 17220 { 17221 yyLOCAL = tree.StageStatus{ 17222 Exist: false, 17223 } 17224 } 17225 yyVAL.union = yyLOCAL 17226 case 986: 17227 yyDollar = yyS[yypt-3 : yypt+1] 17228 var yyLOCAL tree.StageStatus 17229 //line mysql_sql.y:6300 17230 { 17231 yyLOCAL = tree.StageStatus{ 17232 Exist: true, 17233 Option: tree.StageStatusEnabled, 17234 } 17235 } 17236 yyVAL.union = yyLOCAL 17237 case 987: 17238 yyDollar = yyS[yypt-3 : yypt+1] 17239 var yyLOCAL tree.StageStatus 17240 //line mysql_sql.y:6307 17241 { 17242 yyLOCAL = tree.StageStatus{ 17243 Exist: true, 17244 Option: tree.StageStatusDisabled, 17245 } 17246 } 17247 yyVAL.union = yyLOCAL 17248 case 988: 17249 yyDollar = yyS[yypt-0 : yypt+1] 17250 var yyLOCAL tree.StageComment 17251 //line mysql_sql.y:6315 17252 { 17253 yyLOCAL = tree.StageComment{ 17254 Exist: false, 17255 } 17256 } 17257 yyVAL.union = yyLOCAL 17258 case 989: 17259 yyDollar = yyS[yypt-3 : yypt+1] 17260 var yyLOCAL tree.StageComment 17261 //line mysql_sql.y:6321 17262 { 17263 yyLOCAL = tree.StageComment{ 17264 Exist: true, 17265 Comment: yyDollar[3].str, 17266 } 17267 } 17268 yyVAL.union = yyLOCAL 17269 case 990: 17270 yyDollar = yyS[yypt-0 : yypt+1] 17271 var yyLOCAL tree.StageUrl 17272 //line mysql_sql.y:6329 17273 { 17274 yyLOCAL = tree.StageUrl{ 17275 Exist: false, 17276 } 17277 } 17278 yyVAL.union = yyLOCAL 17279 case 991: 17280 yyDollar = yyS[yypt-3 : yypt+1] 17281 var yyLOCAL tree.StageUrl 17282 //line mysql_sql.y:6335 17283 { 17284 yyLOCAL = tree.StageUrl{ 17285 Exist: true, 17286 Url: yyDollar[3].str, 17287 } 17288 } 17289 yyVAL.union = yyLOCAL 17290 case 992: 17291 yyDollar = yyS[yypt-0 : yypt+1] 17292 var yyLOCAL tree.StageCredentials 17293 //line mysql_sql.y:6343 17294 { 17295 yyLOCAL = tree.StageCredentials{ 17296 Exist: false, 17297 } 17298 } 17299 yyVAL.union = yyLOCAL 17300 case 993: 17301 yyDollar = yyS[yypt-5 : yypt+1] 17302 var yyLOCAL tree.StageCredentials 17303 //line mysql_sql.y:6349 17304 { 17305 yyLOCAL = tree.StageCredentials{ 17306 Exist: true, 17307 Credentials: yyDollar[4].strsUnion(), 17308 } 17309 } 17310 yyVAL.union = yyLOCAL 17311 case 994: 17312 yyDollar = yyS[yypt-1 : yypt+1] 17313 var yyLOCAL []string 17314 //line mysql_sql.y:6358 17315 { 17316 yyLOCAL = yyDollar[1].strsUnion() 17317 } 17318 yyVAL.union = yyLOCAL 17319 case 995: 17320 yyDollar = yyS[yypt-3 : yypt+1] 17321 var yyLOCAL []string 17322 //line mysql_sql.y:6362 17323 { 17324 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) 17325 } 17326 yyVAL.union = yyLOCAL 17327 case 996: 17328 yyDollar = yyS[yypt-0 : yypt+1] 17329 var yyLOCAL []string 17330 //line mysql_sql.y:6367 17331 { 17332 yyLOCAL = []string{} 17333 } 17334 yyVAL.union = yyLOCAL 17335 case 997: 17336 yyDollar = yyS[yypt-3 : yypt+1] 17337 var yyLOCAL []string 17338 //line mysql_sql.y:6371 17339 { 17340 yyLOCAL = append(yyLOCAL, yyDollar[1].str) 17341 yyLOCAL = append(yyLOCAL, yyDollar[3].str) 17342 } 17343 yyVAL.union = yyLOCAL 17344 case 998: 17345 yyDollar = yyS[yypt-3 : yypt+1] 17346 //line mysql_sql.y:6378 17347 { 17348 yyVAL.str = yyDollar[3].str 17349 } 17350 case 999: 17351 yyDollar = yyS[yypt-0 : yypt+1] 17352 //line mysql_sql.y:6383 17353 { 17354 yyVAL.str = "" 17355 } 17356 case 1000: 17357 yyDollar = yyS[yypt-2 : yypt+1] 17358 //line mysql_sql.y:6387 17359 { 17360 yyVAL.str = yyDollar[2].str 17361 } 17362 case 1001: 17363 yyDollar = yyS[yypt-9 : yypt+1] 17364 var yyLOCAL tree.Statement 17365 //line mysql_sql.y:6393 17366 { 17367 var ifNotExists = yyDollar[3].boolValUnion() 17368 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17369 var urlOption = yyDollar[6].stageUrlUnion() 17370 var credentialsOption = yyDollar[7].stageCredentialsUnion() 17371 var statusOption = yyDollar[8].stageStatusUnion() 17372 var comment = yyDollar[9].stageCommentUnion() 17373 yyLOCAL = tree.NewAlterStage(ifNotExists, name, urlOption, credentialsOption, statusOption, comment) 17374 } 17375 yyVAL.union = yyLOCAL 17376 case 1002: 17377 yyDollar = yyS[yypt-7 : yypt+1] 17378 var yyLOCAL tree.Statement 17379 //line mysql_sql.y:6406 17380 { 17381 var ifExists = yyDollar[3].boolValUnion() 17382 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17383 var accountsSet = yyDollar[5].accountsSetOptionUnion() 17384 var dbName = yyDollar[6].str 17385 var comment = yyDollar[7].str 17386 yyLOCAL = tree.NewAlterPublication(ifExists, name, accountsSet, dbName, comment) 17387 } 17388 yyVAL.union = yyLOCAL 17389 case 1003: 17390 yyDollar = yyS[yypt-0 : yypt+1] 17391 var yyLOCAL *tree.AccountsSetOption 17392 //line mysql_sql.y:6416 17393 { 17394 yyLOCAL = nil 17395 } 17396 yyVAL.union = yyLOCAL 17397 case 1004: 17398 yyDollar = yyS[yypt-2 : yypt+1] 17399 var yyLOCAL *tree.AccountsSetOption 17400 //line mysql_sql.y:6420 17401 { 17402 yyLOCAL = &tree.AccountsSetOption{ 17403 All: true, 17404 } 17405 } 17406 yyVAL.union = yyLOCAL 17407 case 1005: 17408 yyDollar = yyS[yypt-2 : yypt+1] 17409 var yyLOCAL *tree.AccountsSetOption 17410 //line mysql_sql.y:6426 17411 { 17412 yyLOCAL = &tree.AccountsSetOption{ 17413 SetAccounts: yyDollar[2].identifierListUnion(), 17414 } 17415 } 17416 yyVAL.union = yyLOCAL 17417 case 1006: 17418 yyDollar = yyS[yypt-3 : yypt+1] 17419 var yyLOCAL *tree.AccountsSetOption 17420 //line mysql_sql.y:6432 17421 { 17422 yyLOCAL = &tree.AccountsSetOption{ 17423 AddAccounts: yyDollar[3].identifierListUnion(), 17424 } 17425 } 17426 yyVAL.union = yyLOCAL 17427 case 1007: 17428 yyDollar = yyS[yypt-3 : yypt+1] 17429 var yyLOCAL *tree.AccountsSetOption 17430 //line mysql_sql.y:6438 17431 { 17432 yyLOCAL = &tree.AccountsSetOption{ 17433 DropAccounts: yyDollar[3].identifierListUnion(), 17434 } 17435 } 17436 yyVAL.union = yyLOCAL 17437 case 1008: 17438 yyDollar = yyS[yypt-0 : yypt+1] 17439 //line mysql_sql.y:6445 17440 { 17441 yyVAL.str = "" 17442 } 17443 case 1009: 17444 yyDollar = yyS[yypt-2 : yypt+1] 17445 //line mysql_sql.y:6449 17446 { 17447 yyVAL.str = yyDollar[2].str 17448 } 17449 case 1010: 17450 yyDollar = yyS[yypt-4 : yypt+1] 17451 var yyLOCAL tree.Statement 17452 //line mysql_sql.y:6455 17453 { 17454 var ifExists = yyDollar[3].boolValUnion() 17455 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17456 yyLOCAL = tree.NewDropPublication(ifExists, name) 17457 } 17458 yyVAL.union = yyLOCAL 17459 case 1011: 17460 yyDollar = yyS[yypt-4 : yypt+1] 17461 var yyLOCAL tree.Statement 17462 //line mysql_sql.y:6463 17463 { 17464 var ifNotExists = yyDollar[3].boolValUnion() 17465 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17466 yyLOCAL = tree.NewDropStage(ifNotExists, name) 17467 } 17468 yyVAL.union = yyLOCAL 17469 case 1012: 17470 yyDollar = yyS[yypt-4 : yypt+1] 17471 var yyLOCAL tree.Statement 17472 //line mysql_sql.y:6471 17473 { 17474 var ifExists = yyDollar[3].boolValUnion() 17475 var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17476 yyLOCAL = tree.NewDropSnapShot(ifExists, name) 17477 } 17478 yyVAL.union = yyLOCAL 17479 case 1013: 17480 yyDollar = yyS[yypt-1 : yypt+1] 17481 //line mysql_sql.y:6479 17482 { 17483 yyVAL.str = yyDollar[1].cstrUnion().Compare() 17484 } 17485 case 1014: 17486 yyDollar = yyS[yypt-0 : yypt+1] 17487 var yyLOCAL tree.AccountCommentOrAttribute 17488 //line mysql_sql.y:6484 17489 { 17490 var Exist = false 17491 var IsComment bool 17492 var Str string 17493 yyLOCAL = *tree.NewAccountCommentOrAttribute( 17494 Exist, 17495 IsComment, 17496 Str, 17497 ) 17498 17499 } 17500 yyVAL.union = yyLOCAL 17501 case 1015: 17502 yyDollar = yyS[yypt-2 : yypt+1] 17503 var yyLOCAL tree.AccountCommentOrAttribute 17504 //line mysql_sql.y:6496 17505 { 17506 var Exist = true 17507 var IsComment = true 17508 var Str = yyDollar[2].str 17509 yyLOCAL = *tree.NewAccountCommentOrAttribute( 17510 Exist, 17511 IsComment, 17512 Str, 17513 ) 17514 } 17515 yyVAL.union = yyLOCAL 17516 case 1016: 17517 yyDollar = yyS[yypt-2 : yypt+1] 17518 var yyLOCAL tree.AccountCommentOrAttribute 17519 //line mysql_sql.y:6507 17520 { 17521 var Exist = true 17522 var IsComment = false 17523 var Str = yyDollar[2].str 17524 yyLOCAL = *tree.NewAccountCommentOrAttribute( 17525 Exist, 17526 IsComment, 17527 Str, 17528 ) 17529 } 17530 yyVAL.union = yyLOCAL 17531 case 1017: 17532 yyDollar = yyS[yypt-1 : yypt+1] 17533 var yyLOCAL []*tree.User 17534 //line mysql_sql.y:6616 17535 { 17536 yyLOCAL = []*tree.User{yyDollar[1].userUnion()} 17537 } 17538 yyVAL.union = yyLOCAL 17539 case 1018: 17540 yyDollar = yyS[yypt-3 : yypt+1] 17541 var yyLOCAL []*tree.User 17542 //line mysql_sql.y:6620 17543 { 17544 yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) 17545 } 17546 yyVAL.union = yyLOCAL 17547 case 1019: 17548 yyDollar = yyS[yypt-2 : yypt+1] 17549 var yyLOCAL *tree.User 17550 //line mysql_sql.y:6626 17551 { 17552 var Username = yyDollar[1].usernameRecordUnion().Username 17553 var Hostname = yyDollar[1].usernameRecordUnion().Hostname 17554 var AuthOption = yyDollar[2].userIdentifiedUnion() 17555 yyLOCAL = tree.NewUser( 17556 Username, 17557 Hostname, 17558 AuthOption, 17559 ) 17560 } 17561 yyVAL.union = yyLOCAL 17562 case 1020: 17563 yyDollar = yyS[yypt-1 : yypt+1] 17564 var yyLOCAL []*tree.User 17565 //line mysql_sql.y:6639 17566 { 17567 yyLOCAL = []*tree.User{yyDollar[1].userUnion()} 17568 } 17569 yyVAL.union = yyLOCAL 17570 case 1021: 17571 yyDollar = yyS[yypt-3 : yypt+1] 17572 var yyLOCAL []*tree.User 17573 //line mysql_sql.y:6643 17574 { 17575 yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) 17576 } 17577 yyVAL.union = yyLOCAL 17578 case 1022: 17579 yyDollar = yyS[yypt-2 : yypt+1] 17580 var yyLOCAL *tree.User 17581 //line mysql_sql.y:6649 17582 { 17583 var Username = yyDollar[1].usernameRecordUnion().Username 17584 var Hostname = yyDollar[1].usernameRecordUnion().Hostname 17585 var AuthOption = yyDollar[2].userIdentifiedUnion() 17586 yyLOCAL = tree.NewUser( 17587 Username, 17588 Hostname, 17589 AuthOption, 17590 ) 17591 } 17592 yyVAL.union = yyLOCAL 17593 case 1023: 17594 yyDollar = yyS[yypt-1 : yypt+1] 17595 var yyLOCAL *tree.UsernameRecord 17596 //line mysql_sql.y:6662 17597 { 17598 yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: "%"} 17599 } 17600 yyVAL.union = yyLOCAL 17601 case 1024: 17602 yyDollar = yyS[yypt-3 : yypt+1] 17603 var yyLOCAL *tree.UsernameRecord 17604 //line mysql_sql.y:6666 17605 { 17606 yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[3].str} 17607 } 17608 yyVAL.union = yyLOCAL 17609 case 1025: 17610 yyDollar = yyS[yypt-2 : yypt+1] 17611 var yyLOCAL *tree.UsernameRecord 17612 //line mysql_sql.y:6670 17613 { 17614 yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[2].str} 17615 } 17616 yyVAL.union = yyLOCAL 17617 case 1026: 17618 yyDollar = yyS[yypt-0 : yypt+1] 17619 var yyLOCAL *tree.AccountIdentified 17620 //line mysql_sql.y:6675 17621 { 17622 yyLOCAL = nil 17623 } 17624 yyVAL.union = yyLOCAL 17625 case 1027: 17626 yyDollar = yyS[yypt-1 : yypt+1] 17627 var yyLOCAL *tree.AccountIdentified 17628 //line mysql_sql.y:6679 17629 { 17630 yyLOCAL = yyDollar[1].userIdentifiedUnion() 17631 } 17632 yyVAL.union = yyLOCAL 17633 case 1028: 17634 yyDollar = yyS[yypt-3 : yypt+1] 17635 var yyLOCAL *tree.AccountIdentified 17636 //line mysql_sql.y:6685 17637 { 17638 yyLOCAL = &tree.AccountIdentified{ 17639 Typ: tree.AccountIdentifiedByPassword, 17640 Str: tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char), 17641 } 17642 } 17643 yyVAL.union = yyLOCAL 17644 case 1029: 17645 yyDollar = yyS[yypt-4 : yypt+1] 17646 var yyLOCAL *tree.AccountIdentified 17647 //line mysql_sql.y:6692 17648 { 17649 yyLOCAL = &tree.AccountIdentified{ 17650 Typ: tree.AccountIdentifiedByRandomPassword, 17651 } 17652 } 17653 yyVAL.union = yyLOCAL 17654 case 1030: 17655 yyDollar = yyS[yypt-3 : yypt+1] 17656 var yyLOCAL *tree.AccountIdentified 17657 //line mysql_sql.y:6698 17658 { 17659 yyLOCAL = &tree.AccountIdentified{ 17660 Typ: tree.AccountIdentifiedWithSSL, 17661 Str: tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char), 17662 } 17663 } 17664 yyVAL.union = yyLOCAL 17665 case 1031: 17666 yyDollar = yyS[yypt-1 : yypt+1] 17667 //line mysql_sql.y:6707 17668 { 17669 yyVAL.str = yyDollar[1].cstrUnion().Compare() 17670 } 17671 case 1033: 17672 yyDollar = yyS[yypt-4 : yypt+1] 17673 var yyLOCAL tree.Statement 17674 //line mysql_sql.y:6714 17675 { 17676 var IfNotExists = yyDollar[3].ifNotExistsUnion() 17677 var Roles = yyDollar[4].rolesUnion() 17678 yyLOCAL = tree.NewCreateRole( 17679 IfNotExists, 17680 Roles, 17681 ) 17682 } 17683 yyVAL.union = yyLOCAL 17684 case 1034: 17685 yyDollar = yyS[yypt-1 : yypt+1] 17686 var yyLOCAL []*tree.Role 17687 //line mysql_sql.y:6725 17688 { 17689 yyLOCAL = []*tree.Role{yyDollar[1].roleUnion()} 17690 } 17691 yyVAL.union = yyLOCAL 17692 case 1035: 17693 yyDollar = yyS[yypt-3 : yypt+1] 17694 var yyLOCAL []*tree.Role 17695 //line mysql_sql.y:6729 17696 { 17697 yyLOCAL = append(yyDollar[1].rolesUnion(), yyDollar[3].roleUnion()) 17698 } 17699 yyVAL.union = yyLOCAL 17700 case 1036: 17701 yyDollar = yyS[yypt-1 : yypt+1] 17702 var yyLOCAL *tree.Role 17703 //line mysql_sql.y:6735 17704 { 17705 var UserName = yyDollar[1].cstrUnion().Compare() 17706 yyLOCAL = tree.NewRole( 17707 UserName, 17708 ) 17709 } 17710 yyVAL.union = yyLOCAL 17711 case 1037: 17712 yyDollar = yyS[yypt-1 : yypt+1] 17713 var yyLOCAL *tree.CStr 17714 //line mysql_sql.y:6744 17715 { 17716 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 17717 } 17718 yyVAL.union = yyLOCAL 17719 case 1038: 17720 yyDollar = yyS[yypt-1 : yypt+1] 17721 var yyLOCAL *tree.CStr 17722 //line mysql_sql.y:6748 17723 { 17724 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 17725 } 17726 yyVAL.union = yyLOCAL 17727 case 1039: 17728 yyDollar = yyS[yypt-1 : yypt+1] 17729 var yyLOCAL *tree.CStr 17730 //line mysql_sql.y:6752 17731 { 17732 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 17733 } 17734 yyVAL.union = yyLOCAL 17735 case 1040: 17736 yyDollar = yyS[yypt-0 : yypt+1] 17737 var yyLOCAL tree.IndexCategory 17738 //line mysql_sql.y:6757 17739 { 17740 yyLOCAL = tree.INDEX_CATEGORY_NONE 17741 } 17742 yyVAL.union = yyLOCAL 17743 case 1041: 17744 yyDollar = yyS[yypt-1 : yypt+1] 17745 var yyLOCAL tree.IndexCategory 17746 //line mysql_sql.y:6761 17747 { 17748 yyLOCAL = tree.INDEX_CATEGORY_FULLTEXT 17749 } 17750 yyVAL.union = yyLOCAL 17751 case 1042: 17752 yyDollar = yyS[yypt-1 : yypt+1] 17753 var yyLOCAL tree.IndexCategory 17754 //line mysql_sql.y:6765 17755 { 17756 yyLOCAL = tree.INDEX_CATEGORY_SPATIAL 17757 } 17758 yyVAL.union = yyLOCAL 17759 case 1043: 17760 yyDollar = yyS[yypt-1 : yypt+1] 17761 var yyLOCAL tree.IndexCategory 17762 //line mysql_sql.y:6769 17763 { 17764 yyLOCAL = tree.INDEX_CATEGORY_UNIQUE 17765 } 17766 yyVAL.union = yyLOCAL 17767 case 1044: 17768 yyDollar = yyS[yypt-11 : yypt+1] 17769 var yyLOCAL tree.Statement 17770 //line mysql_sql.y:6775 17771 { 17772 var io *tree.IndexOption = nil 17773 if yyDollar[11].indexOptionUnion() == nil && yyDollar[5].indexTypeUnion() != tree.INDEX_TYPE_INVALID { 17774 io = tree.NewIndexOption() 17775 io.IType = yyDollar[5].indexTypeUnion() 17776 } else if yyDollar[11].indexOptionUnion() != nil { 17777 io = yyDollar[11].indexOptionUnion() 17778 io.IType = yyDollar[5].indexTypeUnion() 17779 } else { 17780 io = tree.NewIndexOption() 17781 io.IType = tree.INDEX_TYPE_INVALID 17782 } 17783 var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 17784 var Table = yyDollar[7].tableNameUnion() 17785 var ifNotExists = false 17786 var IndexCat = yyDollar[2].indexCategoryUnion() 17787 var KeyParts = yyDollar[9].keyPartsUnion() 17788 var IndexOption = io 17789 var MiscOption []tree.MiscOption 17790 yyLOCAL = tree.NewCreateIndex( 17791 Name, 17792 Table, 17793 ifNotExists, 17794 IndexCat, 17795 KeyParts, 17796 IndexOption, 17797 MiscOption, 17798 ) 17799 } 17800 yyVAL.union = yyLOCAL 17801 case 1045: 17802 yyDollar = yyS[yypt-0 : yypt+1] 17803 var yyLOCAL *tree.IndexOption 17804 //line mysql_sql.y:6806 17805 { 17806 yyLOCAL = nil 17807 } 17808 yyVAL.union = yyLOCAL 17809 case 1046: 17810 yyDollar = yyS[yypt-2 : yypt+1] 17811 var yyLOCAL *tree.IndexOption 17812 //line mysql_sql.y:6810 17813 { 17814 // Merge the options 17815 if yyDollar[1].indexOptionUnion() == nil { 17816 yyLOCAL = yyDollar[2].indexOptionUnion() 17817 } else { 17818 opt1 := yyDollar[1].indexOptionUnion() 17819 opt2 := yyDollar[2].indexOptionUnion() 17820 if len(opt2.Comment) > 0 { 17821 opt1.Comment = opt2.Comment 17822 } else if opt2.KeyBlockSize > 0 { 17823 opt1.KeyBlockSize = opt2.KeyBlockSize 17824 } else if len(opt2.ParserName) > 0 { 17825 opt1.ParserName = opt2.ParserName 17826 } else if opt2.Visible != tree.VISIBLE_TYPE_INVALID { 17827 opt1.Visible = opt2.Visible 17828 } else if opt2.AlgoParamList > 0 { 17829 opt1.AlgoParamList = opt2.AlgoParamList 17830 } else if len(opt2.AlgoParamVectorOpType) > 0 { 17831 opt1.AlgoParamVectorOpType = opt2.AlgoParamVectorOpType 17832 } 17833 yyLOCAL = opt1 17834 } 17835 } 17836 yyVAL.union = yyLOCAL 17837 case 1047: 17838 yyDollar = yyS[yypt-3 : yypt+1] 17839 var yyLOCAL *tree.IndexOption 17840 //line mysql_sql.y:6836 17841 { 17842 io := tree.NewIndexOption() 17843 io.KeyBlockSize = uint64(yyDollar[3].item.(int64)) 17844 yyLOCAL = io 17845 } 17846 yyVAL.union = yyLOCAL 17847 case 1048: 17848 yyDollar = yyS[yypt-3 : yypt+1] 17849 var yyLOCAL *tree.IndexOption 17850 //line mysql_sql.y:6842 17851 { 17852 val := int64(yyDollar[3].item.(int64)) 17853 if val <= 0 { 17854 yylex.Error("LISTS should be greater than 0") 17855 return 1 17856 } 17857 17858 io := tree.NewIndexOption() 17859 io.AlgoParamList = val 17860 yyLOCAL = io 17861 } 17862 yyVAL.union = yyLOCAL 17863 case 1049: 17864 yyDollar = yyS[yypt-2 : yypt+1] 17865 var yyLOCAL *tree.IndexOption 17866 //line mysql_sql.y:6854 17867 { 17868 io := tree.NewIndexOption() 17869 io.AlgoParamVectorOpType = yyDollar[2].str 17870 yyLOCAL = io 17871 } 17872 yyVAL.union = yyLOCAL 17873 case 1050: 17874 yyDollar = yyS[yypt-2 : yypt+1] 17875 var yyLOCAL *tree.IndexOption 17876 //line mysql_sql.y:6860 17877 { 17878 io := tree.NewIndexOption() 17879 io.Comment = yyDollar[2].str 17880 yyLOCAL = io 17881 } 17882 yyVAL.union = yyLOCAL 17883 case 1051: 17884 yyDollar = yyS[yypt-3 : yypt+1] 17885 var yyLOCAL *tree.IndexOption 17886 //line mysql_sql.y:6866 17887 { 17888 io := tree.NewIndexOption() 17889 io.ParserName = yyDollar[3].cstrUnion().Compare() 17890 yyLOCAL = io 17891 } 17892 yyVAL.union = yyLOCAL 17893 case 1052: 17894 yyDollar = yyS[yypt-1 : yypt+1] 17895 var yyLOCAL *tree.IndexOption 17896 //line mysql_sql.y:6872 17897 { 17898 io := tree.NewIndexOption() 17899 io.Visible = tree.VISIBLE_TYPE_VISIBLE 17900 yyLOCAL = io 17901 } 17902 yyVAL.union = yyLOCAL 17903 case 1053: 17904 yyDollar = yyS[yypt-1 : yypt+1] 17905 var yyLOCAL *tree.IndexOption 17906 //line mysql_sql.y:6878 17907 { 17908 io := tree.NewIndexOption() 17909 io.Visible = tree.VISIBLE_TYPE_INVISIBLE 17910 yyLOCAL = io 17911 } 17912 yyVAL.union = yyLOCAL 17913 case 1054: 17914 yyDollar = yyS[yypt-1 : yypt+1] 17915 var yyLOCAL []*tree.KeyPart 17916 //line mysql_sql.y:6886 17917 { 17918 yyLOCAL = []*tree.KeyPart{yyDollar[1].keyPartUnion()} 17919 } 17920 yyVAL.union = yyLOCAL 17921 case 1055: 17922 yyDollar = yyS[yypt-3 : yypt+1] 17923 var yyLOCAL []*tree.KeyPart 17924 //line mysql_sql.y:6890 17925 { 17926 yyLOCAL = append(yyDollar[1].keyPartsUnion(), yyDollar[3].keyPartUnion()) 17927 } 17928 yyVAL.union = yyLOCAL 17929 case 1056: 17930 yyDollar = yyS[yypt-3 : yypt+1] 17931 var yyLOCAL *tree.KeyPart 17932 //line mysql_sql.y:6896 17933 { 17934 // Order is parsed but just ignored as MySQL dtree. 17935 var ColName = yyDollar[1].unresolvedNameUnion() 17936 var Length = int(yyDollar[2].lengthOptUnion()) 17937 var Direction = yyDollar[3].directionUnion() 17938 var Expr tree.Expr 17939 yyLOCAL = tree.NewKeyPart( 17940 ColName, 17941 Length, 17942 Direction, 17943 Expr, 17944 ) 17945 } 17946 yyVAL.union = yyLOCAL 17947 case 1057: 17948 yyDollar = yyS[yypt-4 : yypt+1] 17949 var yyLOCAL *tree.KeyPart 17950 //line mysql_sql.y:6910 17951 { 17952 var ColName *tree.UnresolvedName 17953 var Length int 17954 var Expr = yyDollar[2].exprUnion() 17955 var Direction = yyDollar[4].directionUnion() 17956 yyLOCAL = tree.NewKeyPart( 17957 ColName, 17958 Length, 17959 Direction, 17960 Expr, 17961 ) 17962 } 17963 yyVAL.union = yyLOCAL 17964 case 1058: 17965 yyDollar = yyS[yypt-0 : yypt+1] 17966 var yyLOCAL tree.IndexType 17967 //line mysql_sql.y:6924 17968 { 17969 yyLOCAL = tree.INDEX_TYPE_INVALID 17970 } 17971 yyVAL.union = yyLOCAL 17972 case 1059: 17973 yyDollar = yyS[yypt-2 : yypt+1] 17974 var yyLOCAL tree.IndexType 17975 //line mysql_sql.y:6928 17976 { 17977 yyLOCAL = tree.INDEX_TYPE_BTREE 17978 } 17979 yyVAL.union = yyLOCAL 17980 case 1060: 17981 yyDollar = yyS[yypt-2 : yypt+1] 17982 var yyLOCAL tree.IndexType 17983 //line mysql_sql.y:6932 17984 { 17985 yyLOCAL = tree.INDEX_TYPE_IVFFLAT 17986 } 17987 yyVAL.union = yyLOCAL 17988 case 1061: 17989 yyDollar = yyS[yypt-2 : yypt+1] 17990 var yyLOCAL tree.IndexType 17991 //line mysql_sql.y:6936 17992 { 17993 yyLOCAL = tree.INDEX_TYPE_MASTER 17994 } 17995 yyVAL.union = yyLOCAL 17996 case 1062: 17997 yyDollar = yyS[yypt-2 : yypt+1] 17998 var yyLOCAL tree.IndexType 17999 //line mysql_sql.y:6940 18000 { 18001 yyLOCAL = tree.INDEX_TYPE_HASH 18002 } 18003 yyVAL.union = yyLOCAL 18004 case 1063: 18005 yyDollar = yyS[yypt-2 : yypt+1] 18006 var yyLOCAL tree.IndexType 18007 //line mysql_sql.y:6944 18008 { 18009 yyLOCAL = tree.INDEX_TYPE_RTREE 18010 } 18011 yyVAL.union = yyLOCAL 18012 case 1064: 18013 yyDollar = yyS[yypt-2 : yypt+1] 18014 var yyLOCAL tree.IndexType 18015 //line mysql_sql.y:6948 18016 { 18017 yyLOCAL = tree.INDEX_TYPE_BSI 18018 } 18019 yyVAL.union = yyLOCAL 18020 case 1065: 18021 yyDollar = yyS[yypt-6 : yypt+1] 18022 var yyLOCAL tree.Statement 18023 //line mysql_sql.y:6954 18024 { 18025 var IfNotExists = yyDollar[3].ifNotExistsUnion() 18026 var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 18027 var SubscriptionOption = yyDollar[5].subscriptionOptionUnion() 18028 var CreateOptions = yyDollar[6].createOptionsUnion() 18029 yyLOCAL = tree.NewCreateDatabase( 18030 IfNotExists, 18031 Name, 18032 SubscriptionOption, 18033 CreateOptions, 18034 ) 18035 } 18036 yyVAL.union = yyLOCAL 18037 case 1066: 18038 yyDollar = yyS[yypt-0 : yypt+1] 18039 var yyLOCAL *tree.SubscriptionOption 18040 //line mysql_sql.y:6969 18041 { 18042 yyLOCAL = nil 18043 } 18044 yyVAL.union = yyLOCAL 18045 case 1067: 18046 yyDollar = yyS[yypt-4 : yypt+1] 18047 var yyLOCAL *tree.SubscriptionOption 18048 //line mysql_sql.y:6973 18049 { 18050 var From = tree.Identifier(yyDollar[2].str) 18051 var Publication = tree.Identifier(yyDollar[4].cstrUnion().Compare()) 18052 yyLOCAL = tree.NewSubscriptionOption(From, Publication) 18053 } 18054 yyVAL.union = yyLOCAL 18055 case 1070: 18056 yyDollar = yyS[yypt-0 : yypt+1] 18057 var yyLOCAL bool 18058 //line mysql_sql.y:6984 18059 { 18060 yyLOCAL = false 18061 } 18062 yyVAL.union = yyLOCAL 18063 case 1071: 18064 yyDollar = yyS[yypt-3 : yypt+1] 18065 var yyLOCAL bool 18066 //line mysql_sql.y:6988 18067 { 18068 yyLOCAL = true 18069 } 18070 yyVAL.union = yyLOCAL 18071 case 1072: 18072 yyDollar = yyS[yypt-0 : yypt+1] 18073 var yyLOCAL []tree.CreateOption 18074 //line mysql_sql.y:6993 18075 { 18076 yyLOCAL = nil 18077 } 18078 yyVAL.union = yyLOCAL 18079 case 1073: 18080 yyDollar = yyS[yypt-1 : yypt+1] 18081 var yyLOCAL []tree.CreateOption 18082 //line mysql_sql.y:6997 18083 { 18084 yyLOCAL = yyDollar[1].createOptionsUnion() 18085 } 18086 yyVAL.union = yyLOCAL 18087 case 1074: 18088 yyDollar = yyS[yypt-1 : yypt+1] 18089 var yyLOCAL []tree.CreateOption 18090 //line mysql_sql.y:7003 18091 { 18092 yyLOCAL = []tree.CreateOption{yyDollar[1].createOptionUnion()} 18093 } 18094 yyVAL.union = yyLOCAL 18095 case 1075: 18096 yyDollar = yyS[yypt-2 : yypt+1] 18097 var yyLOCAL []tree.CreateOption 18098 //line mysql_sql.y:7007 18099 { 18100 yyLOCAL = append(yyDollar[1].createOptionsUnion(), yyDollar[2].createOptionUnion()) 18101 } 18102 yyVAL.union = yyLOCAL 18103 case 1076: 18104 yyDollar = yyS[yypt-4 : yypt+1] 18105 var yyLOCAL tree.CreateOption 18106 //line mysql_sql.y:7013 18107 { 18108 var IsDefault = yyDollar[1].defaultOptionalUnion() 18109 var Charset = yyDollar[4].str 18110 yyLOCAL = tree.NewCreateOptionCharset( 18111 IsDefault, 18112 Charset, 18113 ) 18114 } 18115 yyVAL.union = yyLOCAL 18116 case 1077: 18117 yyDollar = yyS[yypt-4 : yypt+1] 18118 var yyLOCAL tree.CreateOption 18119 //line mysql_sql.y:7022 18120 { 18121 var IsDefault = yyDollar[1].defaultOptionalUnion() 18122 var Collate = yyDollar[4].str 18123 yyLOCAL = tree.NewCreateOptionCollate( 18124 IsDefault, 18125 Collate, 18126 ) 18127 } 18128 yyVAL.union = yyLOCAL 18129 case 1078: 18130 yyDollar = yyS[yypt-4 : yypt+1] 18131 var yyLOCAL tree.CreateOption 18132 //line mysql_sql.y:7031 18133 { 18134 var Encrypt = yyDollar[4].str 18135 yyLOCAL = tree.NewCreateOptionEncryption(Encrypt) 18136 } 18137 yyVAL.union = yyLOCAL 18138 case 1079: 18139 yyDollar = yyS[yypt-0 : yypt+1] 18140 var yyLOCAL bool 18141 //line mysql_sql.y:7037 18142 { 18143 yyLOCAL = false 18144 } 18145 yyVAL.union = yyLOCAL 18146 case 1080: 18147 yyDollar = yyS[yypt-1 : yypt+1] 18148 var yyLOCAL bool 18149 //line mysql_sql.y:7041 18150 { 18151 yyLOCAL = true 18152 } 18153 yyVAL.union = yyLOCAL 18154 case 1081: 18155 yyDollar = yyS[yypt-8 : yypt+1] 18156 var yyLOCAL tree.Statement 18157 //line mysql_sql.y:7047 18158 { 18159 var TableName = yyDollar[4].tableNameUnion() 18160 var Options = yyDollar[7].connectorOptionsUnion() 18161 yyLOCAL = tree.NewCreateConnector( 18162 TableName, 18163 Options, 18164 ) 18165 } 18166 yyVAL.union = yyLOCAL 18167 case 1082: 18168 yyDollar = yyS[yypt-2 : yypt+1] 18169 var yyLOCAL tree.Statement 18170 //line mysql_sql.y:7058 18171 { 18172 yyLOCAL = &tree.ShowConnectors{} 18173 } 18174 yyVAL.union = yyLOCAL 18175 case 1083: 18176 yyDollar = yyS[yypt-4 : yypt+1] 18177 var yyLOCAL tree.Statement 18178 //line mysql_sql.y:7064 18179 { 18180 var taskID uint64 18181 switch v := yyDollar[4].item.(type) { 18182 case uint64: 18183 taskID = v 18184 case int64: 18185 taskID = uint64(v) 18186 default: 18187 yylex.Error("parse integral fail") 18188 goto ret1 18189 } 18190 yyLOCAL = &tree.PauseDaemonTask{ 18191 TaskID: taskID, 18192 } 18193 } 18194 yyVAL.union = yyLOCAL 18195 case 1084: 18196 yyDollar = yyS[yypt-4 : yypt+1] 18197 var yyLOCAL tree.Statement 18198 //line mysql_sql.y:7082 18199 { 18200 var taskID uint64 18201 switch v := yyDollar[4].item.(type) { 18202 case uint64: 18203 taskID = v 18204 case int64: 18205 taskID = uint64(v) 18206 default: 18207 yylex.Error("parse integral fail") 18208 goto ret1 18209 } 18210 yyLOCAL = &tree.CancelDaemonTask{ 18211 TaskID: taskID, 18212 } 18213 } 18214 yyVAL.union = yyLOCAL 18215 case 1085: 18216 yyDollar = yyS[yypt-4 : yypt+1] 18217 var yyLOCAL tree.Statement 18218 //line mysql_sql.y:7100 18219 { 18220 var taskID uint64 18221 switch v := yyDollar[4].item.(type) { 18222 case uint64: 18223 taskID = v 18224 case int64: 18225 taskID = uint64(v) 18226 default: 18227 yylex.Error("parse integral fail") 18228 goto ret1 18229 } 18230 yyLOCAL = &tree.ResumeDaemonTask{ 18231 TaskID: taskID, 18232 } 18233 } 18234 yyVAL.union = yyLOCAL 18235 case 1086: 18236 yyDollar = yyS[yypt-9 : yypt+1] 18237 var yyLOCAL tree.Statement 18238 //line mysql_sql.y:7118 18239 { 18240 var Replace = yyDollar[2].sourceOptionalUnion() 18241 var IfNotExists = yyDollar[4].ifNotExistsUnion() 18242 var SourceName = yyDollar[5].tableNameUnion() 18243 var Defs = yyDollar[7].tableDefsUnion() 18244 var Options = yyDollar[9].tableOptionsUnion() 18245 yyLOCAL = tree.NewCreateSource( 18246 Replace, 18247 IfNotExists, 18248 SourceName, 18249 Defs, 18250 Options, 18251 ) 18252 } 18253 yyVAL.union = yyLOCAL 18254 case 1087: 18255 yyDollar = yyS[yypt-0 : yypt+1] 18256 var yyLOCAL bool 18257 //line mysql_sql.y:7134 18258 { 18259 yyLOCAL = false 18260 } 18261 yyVAL.union = yyLOCAL 18262 case 1088: 18263 yyDollar = yyS[yypt-2 : yypt+1] 18264 var yyLOCAL bool 18265 //line mysql_sql.y:7138 18266 { 18267 yyLOCAL = true 18268 } 18269 yyVAL.union = yyLOCAL 18270 case 1089: 18271 yyDollar = yyS[yypt-11 : yypt+1] 18272 var yyLOCAL tree.Statement 18273 //line mysql_sql.y:7147 18274 { 18275 t := tree.NewCreateTable() 18276 t.Temporary = yyDollar[2].boolValUnion() 18277 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18278 t.Table = *yyDollar[5].tableNameUnion() 18279 t.Defs = yyDollar[7].tableDefsUnion() 18280 t.Options = yyDollar[9].tableOptionsUnion() 18281 t.PartitionOption = yyDollar[10].partitionOptionUnion() 18282 t.ClusterByOption = yyDollar[11].clusterByOptionUnion() 18283 yyLOCAL = t 18284 } 18285 yyVAL.union = yyLOCAL 18286 case 1090: 18287 yyDollar = yyS[yypt-9 : yypt+1] 18288 var yyLOCAL tree.Statement 18289 //line mysql_sql.y:7159 18290 { 18291 t := tree.NewCreateTable() 18292 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18293 t.Table = *yyDollar[5].tableNameUnion() 18294 t.Defs = yyDollar[7].tableDefsUnion() 18295 t.Param = yyDollar[9].loadParamUnion() 18296 yyLOCAL = t 18297 } 18298 yyVAL.union = yyLOCAL 18299 case 1091: 18300 yyDollar = yyS[yypt-11 : yypt+1] 18301 var yyLOCAL tree.Statement 18302 //line mysql_sql.y:7168 18303 { 18304 t := tree.NewCreateTable() 18305 t.IsClusterTable = true 18306 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18307 t.Table = *yyDollar[5].tableNameUnion() 18308 t.Defs = yyDollar[7].tableDefsUnion() 18309 t.Options = yyDollar[9].tableOptionsUnion() 18310 t.PartitionOption = yyDollar[10].partitionOptionUnion() 18311 t.ClusterByOption = yyDollar[11].clusterByOptionUnion() 18312 yyLOCAL = t 18313 } 18314 yyVAL.union = yyLOCAL 18315 case 1092: 18316 yyDollar = yyS[yypt-8 : yypt+1] 18317 var yyLOCAL tree.Statement 18318 //line mysql_sql.y:7180 18319 { 18320 t := tree.NewCreateTable() 18321 t.IsDynamicTable = true 18322 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18323 t.Table = *yyDollar[5].tableNameUnion() 18324 t.AsSource = yyDollar[7].selectUnion() 18325 t.DTOptions = yyDollar[8].tableOptionsUnion() 18326 yyLOCAL = t 18327 } 18328 yyVAL.union = yyLOCAL 18329 case 1093: 18330 yyDollar = yyS[yypt-6 : yypt+1] 18331 var yyLOCAL tree.Statement 18332 //line mysql_sql.y:7190 18333 { 18334 t := tree.NewCreateTable() 18335 t.IsAsSelect = true 18336 t.Temporary = yyDollar[2].boolValUnion() 18337 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18338 t.Table = *yyDollar[5].tableNameUnion() 18339 t.AsSource = yyDollar[6].selectUnion() 18340 yyLOCAL = t 18341 } 18342 yyVAL.union = yyLOCAL 18343 case 1094: 18344 yyDollar = yyS[yypt-9 : yypt+1] 18345 var yyLOCAL tree.Statement 18346 //line mysql_sql.y:7200 18347 { 18348 t := tree.NewCreateTable() 18349 t.IsAsSelect = true 18350 t.Temporary = yyDollar[2].boolValUnion() 18351 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18352 t.Table = *yyDollar[5].tableNameUnion() 18353 t.Defs = yyDollar[7].tableDefsUnion() 18354 t.AsSource = yyDollar[9].selectUnion() 18355 yyLOCAL = t 18356 } 18357 yyVAL.union = yyLOCAL 18358 case 1095: 18359 yyDollar = yyS[yypt-7 : yypt+1] 18360 var yyLOCAL tree.Statement 18361 //line mysql_sql.y:7211 18362 { 18363 t := tree.NewCreateTable() 18364 t.IsAsSelect = true 18365 t.Temporary = yyDollar[2].boolValUnion() 18366 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18367 t.Table = *yyDollar[5].tableNameUnion() 18368 t.AsSource = yyDollar[7].selectUnion() 18369 yyLOCAL = t 18370 } 18371 yyVAL.union = yyLOCAL 18372 case 1096: 18373 yyDollar = yyS[yypt-10 : yypt+1] 18374 var yyLOCAL tree.Statement 18375 //line mysql_sql.y:7221 18376 { 18377 t := tree.NewCreateTable() 18378 t.IsAsSelect = true 18379 t.Temporary = yyDollar[2].boolValUnion() 18380 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18381 t.Table = *yyDollar[5].tableNameUnion() 18382 t.Defs = yyDollar[7].tableDefsUnion() 18383 t.AsSource = yyDollar[10].selectUnion() 18384 yyLOCAL = t 18385 } 18386 yyVAL.union = yyLOCAL 18387 case 1097: 18388 yyDollar = yyS[yypt-7 : yypt+1] 18389 var yyLOCAL tree.Statement 18390 //line mysql_sql.y:7232 18391 { 18392 t := tree.NewCreateTable() 18393 t.IsAsLike = true 18394 t.Table = *yyDollar[5].tableNameUnion() 18395 t.LikeTableName = *yyDollar[7].tableNameUnion() 18396 yyLOCAL = t 18397 } 18398 yyVAL.union = yyLOCAL 18399 case 1098: 18400 yyDollar = yyS[yypt-6 : yypt+1] 18401 var yyLOCAL tree.Statement 18402 //line mysql_sql.y:7240 18403 { 18404 t := tree.NewCreateTable() 18405 t.Temporary = yyDollar[2].boolValUnion() 18406 t.IfNotExists = yyDollar[4].ifNotExistsUnion() 18407 t.Table = *yyDollar[5].tableNameUnion() 18408 t.SubscriptionOption = yyDollar[6].subscriptionOptionUnion() 18409 yyLOCAL = t 18410 } 18411 yyVAL.union = yyLOCAL 18412 case 1099: 18413 yyDollar = yyS[yypt-2 : yypt+1] 18414 var yyLOCAL *tree.ExternParam 18415 //line mysql_sql.y:7251 18416 { 18417 yyLOCAL = yyDollar[1].loadParamUnion() 18418 yyLOCAL.Tail = yyDollar[2].tailParamUnion() 18419 } 18420 yyVAL.union = yyLOCAL 18421 case 1100: 18422 yyDollar = yyS[yypt-2 : yypt+1] 18423 var yyLOCAL *tree.ExternParam 18424 //line mysql_sql.y:7258 18425 { 18426 yyLOCAL = &tree.ExternParam{ 18427 ExParamConst: tree.ExParamConst{ 18428 Filepath: yyDollar[2].str, 18429 CompressType: tree.AUTO, 18430 Format: tree.CSV, 18431 }, 18432 } 18433 } 18434 yyVAL.union = yyLOCAL 18435 case 1101: 18436 yyDollar = yyS[yypt-9 : yypt+1] 18437 var yyLOCAL *tree.ExternParam 18438 //line mysql_sql.y:7268 18439 { 18440 yyLOCAL = &tree.ExternParam{ 18441 ExParamConst: tree.ExParamConst{ 18442 ScanType: tree.INLINE, 18443 Format: yyDollar[4].str, 18444 Data: yyDollar[8].str, 18445 }, 18446 ExParam: tree.ExParam{ 18447 JsonData: yyDollar[9].str, 18448 }, 18449 } 18450 } 18451 yyVAL.union = yyLOCAL 18452 case 1102: 18453 yyDollar = yyS[yypt-4 : yypt+1] 18454 var yyLOCAL *tree.ExternParam 18455 //line mysql_sql.y:7281 18456 { 18457 yyLOCAL = &tree.ExternParam{ 18458 ExParamConst: tree.ExParamConst{ 18459 Option: yyDollar[3].strsUnion(), 18460 }, 18461 } 18462 } 18463 yyVAL.union = yyLOCAL 18464 case 1103: 18465 yyDollar = yyS[yypt-5 : yypt+1] 18466 var yyLOCAL *tree.ExternParam 18467 //line mysql_sql.y:7289 18468 { 18469 yyLOCAL = &tree.ExternParam{ 18470 ExParamConst: tree.ExParamConst{ 18471 ScanType: tree.S3, 18472 Option: yyDollar[4].strsUnion(), 18473 }, 18474 } 18475 } 18476 yyVAL.union = yyLOCAL 18477 case 1104: 18478 yyDollar = yyS[yypt-3 : yypt+1] 18479 var yyLOCAL *tree.ExternParam 18480 //line mysql_sql.y:7298 18481 { 18482 yyLOCAL = &tree.ExternParam{ 18483 ExParamConst: tree.ExParamConst{ 18484 StageName: tree.Identifier(yyDollar[3].cstrUnion().Compare()), 18485 }, 18486 } 18487 } 18488 yyVAL.union = yyLOCAL 18489 case 1105: 18490 yyDollar = yyS[yypt-0 : yypt+1] 18491 //line mysql_sql.y:7307 18492 { 18493 yyVAL.str = "" 18494 } 18495 case 1106: 18496 yyDollar = yyS[yypt-4 : yypt+1] 18497 //line mysql_sql.y:7311 18498 { 18499 yyVAL.str = yyDollar[4].str 18500 } 18501 case 1107: 18502 yyDollar = yyS[yypt-1 : yypt+1] 18503 var yyLOCAL []string 18504 //line mysql_sql.y:7317 18505 { 18506 yyLOCAL = yyDollar[1].strsUnion() 18507 } 18508 yyVAL.union = yyLOCAL 18509 case 1108: 18510 yyDollar = yyS[yypt-3 : yypt+1] 18511 var yyLOCAL []string 18512 //line mysql_sql.y:7321 18513 { 18514 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) 18515 } 18516 yyVAL.union = yyLOCAL 18517 case 1109: 18518 yyDollar = yyS[yypt-0 : yypt+1] 18519 var yyLOCAL []string 18520 //line mysql_sql.y:7326 18521 { 18522 yyLOCAL = []string{} 18523 } 18524 yyVAL.union = yyLOCAL 18525 case 1110: 18526 yyDollar = yyS[yypt-3 : yypt+1] 18527 var yyLOCAL []string 18528 //line mysql_sql.y:7330 18529 { 18530 yyLOCAL = append(yyLOCAL, yyDollar[1].str) 18531 yyLOCAL = append(yyLOCAL, yyDollar[3].str) 18532 } 18533 yyVAL.union = yyLOCAL 18534 case 1111: 18535 yyDollar = yyS[yypt-6 : yypt+1] 18536 var yyLOCAL *tree.TailParameter 18537 //line mysql_sql.y:7337 18538 { 18539 yyLOCAL = &tree.TailParameter{ 18540 Charset: yyDollar[1].str, 18541 Fields: yyDollar[2].fieldsUnion(), 18542 Lines: yyDollar[3].linesUnion(), 18543 IgnoredLines: uint64(yyDollar[4].int64ValUnion()), 18544 ColumnList: yyDollar[5].loadColumnsUnion(), 18545 Assignments: yyDollar[6].updateExprsUnion(), 18546 } 18547 } 18548 yyVAL.union = yyLOCAL 18549 case 1112: 18550 yyDollar = yyS[yypt-0 : yypt+1] 18551 //line mysql_sql.y:7349 18552 { 18553 yyVAL.str = "" 18554 } 18555 case 1113: 18556 yyDollar = yyS[yypt-2 : yypt+1] 18557 //line mysql_sql.y:7353 18558 { 18559 yyVAL.str = yyDollar[2].str 18560 } 18561 case 1114: 18562 yyDollar = yyS[yypt-10 : yypt+1] 18563 var yyLOCAL tree.Statement 18564 //line mysql_sql.y:7359 18565 { 18566 var Name = yyDollar[4].tableNameUnion() 18567 var Type = yyDollar[5].columnTypeUnion() 18568 var IfNotExists = yyDollar[3].ifNotExistsUnion() 18569 var IncrementBy = yyDollar[6].incrementByOptionUnion() 18570 var MinValue = yyDollar[7].minValueOptionUnion() 18571 var MaxValue = yyDollar[8].maxValueOptionUnion() 18572 var StartWith = yyDollar[9].startWithOptionUnion() 18573 var Cycle = yyDollar[10].boolValUnion() 18574 yyLOCAL = tree.NewCreateSequence( 18575 Name, 18576 Type, 18577 IfNotExists, 18578 IncrementBy, 18579 MinValue, 18580 MaxValue, 18581 StartWith, 18582 Cycle, 18583 ) 18584 } 18585 yyVAL.union = yyLOCAL 18586 case 1115: 18587 yyDollar = yyS[yypt-0 : yypt+1] 18588 var yyLOCAL *tree.T 18589 //line mysql_sql.y:7380 18590 { 18591 locale := "" 18592 fstr := "bigint" 18593 yyLOCAL = &tree.T{ 18594 InternalType: tree.InternalType{ 18595 Family: tree.IntFamily, 18596 FamilyString: fstr, 18597 Width: 64, 18598 Locale: &locale, 18599 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 18600 }, 18601 } 18602 } 18603 yyVAL.union = yyLOCAL 18604 case 1116: 18605 yyDollar = yyS[yypt-2 : yypt+1] 18606 var yyLOCAL *tree.T 18607 //line mysql_sql.y:7394 18608 { 18609 yyLOCAL = yyDollar[2].columnTypeUnion() 18610 } 18611 yyVAL.union = yyLOCAL 18612 case 1117: 18613 yyDollar = yyS[yypt-0 : yypt+1] 18614 var yyLOCAL *tree.TypeOption 18615 //line mysql_sql.y:7398 18616 { 18617 yyLOCAL = nil 18618 } 18619 yyVAL.union = yyLOCAL 18620 case 1118: 18621 yyDollar = yyS[yypt-2 : yypt+1] 18622 var yyLOCAL *tree.TypeOption 18623 //line mysql_sql.y:7402 18624 { 18625 yyLOCAL = &tree.TypeOption{ 18626 Type: yyDollar[2].columnTypeUnion(), 18627 } 18628 } 18629 yyVAL.union = yyLOCAL 18630 case 1119: 18631 yyDollar = yyS[yypt-0 : yypt+1] 18632 var yyLOCAL *tree.IncrementByOption 18633 //line mysql_sql.y:7408 18634 { 18635 yyLOCAL = nil 18636 } 18637 yyVAL.union = yyLOCAL 18638 case 1120: 18639 yyDollar = yyS[yypt-3 : yypt+1] 18640 var yyLOCAL *tree.IncrementByOption 18641 //line mysql_sql.y:7412 18642 { 18643 yyLOCAL = &tree.IncrementByOption{ 18644 Minus: false, 18645 Num: yyDollar[3].item, 18646 } 18647 } 18648 yyVAL.union = yyLOCAL 18649 case 1121: 18650 yyDollar = yyS[yypt-2 : yypt+1] 18651 var yyLOCAL *tree.IncrementByOption 18652 //line mysql_sql.y:7419 18653 { 18654 yyLOCAL = &tree.IncrementByOption{ 18655 Minus: false, 18656 Num: yyDollar[2].item, 18657 } 18658 } 18659 yyVAL.union = yyLOCAL 18660 case 1122: 18661 yyDollar = yyS[yypt-4 : yypt+1] 18662 var yyLOCAL *tree.IncrementByOption 18663 //line mysql_sql.y:7426 18664 { 18665 yyLOCAL = &tree.IncrementByOption{ 18666 Minus: true, 18667 Num: yyDollar[4].item, 18668 } 18669 } 18670 yyVAL.union = yyLOCAL 18671 case 1123: 18672 yyDollar = yyS[yypt-3 : yypt+1] 18673 var yyLOCAL *tree.IncrementByOption 18674 //line mysql_sql.y:7433 18675 { 18676 yyLOCAL = &tree.IncrementByOption{ 18677 Minus: true, 18678 Num: yyDollar[3].item, 18679 } 18680 } 18681 yyVAL.union = yyLOCAL 18682 case 1124: 18683 yyDollar = yyS[yypt-0 : yypt+1] 18684 var yyLOCAL bool 18685 //line mysql_sql.y:7440 18686 { 18687 yyLOCAL = false 18688 } 18689 yyVAL.union = yyLOCAL 18690 case 1125: 18691 yyDollar = yyS[yypt-2 : yypt+1] 18692 var yyLOCAL bool 18693 //line mysql_sql.y:7444 18694 { 18695 yyLOCAL = false 18696 } 18697 yyVAL.union = yyLOCAL 18698 case 1126: 18699 yyDollar = yyS[yypt-1 : yypt+1] 18700 var yyLOCAL bool 18701 //line mysql_sql.y:7448 18702 { 18703 yyLOCAL = true 18704 } 18705 yyVAL.union = yyLOCAL 18706 case 1127: 18707 yyDollar = yyS[yypt-0 : yypt+1] 18708 var yyLOCAL *tree.MinValueOption 18709 //line mysql_sql.y:7452 18710 { 18711 yyLOCAL = nil 18712 } 18713 yyVAL.union = yyLOCAL 18714 case 1128: 18715 yyDollar = yyS[yypt-2 : yypt+1] 18716 var yyLOCAL *tree.MinValueOption 18717 //line mysql_sql.y:7456 18718 { 18719 yyLOCAL = &tree.MinValueOption{ 18720 Minus: false, 18721 Num: yyDollar[2].item, 18722 } 18723 } 18724 yyVAL.union = yyLOCAL 18725 case 1129: 18726 yyDollar = yyS[yypt-3 : yypt+1] 18727 var yyLOCAL *tree.MinValueOption 18728 //line mysql_sql.y:7463 18729 { 18730 yyLOCAL = &tree.MinValueOption{ 18731 Minus: true, 18732 Num: yyDollar[3].item, 18733 } 18734 } 18735 yyVAL.union = yyLOCAL 18736 case 1130: 18737 yyDollar = yyS[yypt-0 : yypt+1] 18738 var yyLOCAL *tree.MaxValueOption 18739 //line mysql_sql.y:7470 18740 { 18741 yyLOCAL = nil 18742 } 18743 yyVAL.union = yyLOCAL 18744 case 1131: 18745 yyDollar = yyS[yypt-2 : yypt+1] 18746 var yyLOCAL *tree.MaxValueOption 18747 //line mysql_sql.y:7474 18748 { 18749 yyLOCAL = &tree.MaxValueOption{ 18750 Minus: false, 18751 Num: yyDollar[2].item, 18752 } 18753 } 18754 yyVAL.union = yyLOCAL 18755 case 1132: 18756 yyDollar = yyS[yypt-3 : yypt+1] 18757 var yyLOCAL *tree.MaxValueOption 18758 //line mysql_sql.y:7481 18759 { 18760 yyLOCAL = &tree.MaxValueOption{ 18761 Minus: true, 18762 Num: yyDollar[3].item, 18763 } 18764 } 18765 yyVAL.union = yyLOCAL 18766 case 1133: 18767 yyDollar = yyS[yypt-0 : yypt+1] 18768 var yyLOCAL *tree.CycleOption 18769 //line mysql_sql.y:7488 18770 { 18771 yyLOCAL = nil 18772 } 18773 yyVAL.union = yyLOCAL 18774 case 1134: 18775 yyDollar = yyS[yypt-2 : yypt+1] 18776 var yyLOCAL *tree.CycleOption 18777 //line mysql_sql.y:7492 18778 { 18779 yyLOCAL = &tree.CycleOption{ 18780 Cycle: false, 18781 } 18782 } 18783 yyVAL.union = yyLOCAL 18784 case 1135: 18785 yyDollar = yyS[yypt-1 : yypt+1] 18786 var yyLOCAL *tree.CycleOption 18787 //line mysql_sql.y:7498 18788 { 18789 yyLOCAL = &tree.CycleOption{ 18790 Cycle: true, 18791 } 18792 } 18793 yyVAL.union = yyLOCAL 18794 case 1136: 18795 yyDollar = yyS[yypt-0 : yypt+1] 18796 var yyLOCAL *tree.StartWithOption 18797 //line mysql_sql.y:7504 18798 { 18799 yyLOCAL = nil 18800 } 18801 yyVAL.union = yyLOCAL 18802 case 1137: 18803 yyDollar = yyS[yypt-3 : yypt+1] 18804 var yyLOCAL *tree.StartWithOption 18805 //line mysql_sql.y:7508 18806 { 18807 yyLOCAL = &tree.StartWithOption{ 18808 Minus: false, 18809 Num: yyDollar[3].item, 18810 } 18811 } 18812 yyVAL.union = yyLOCAL 18813 case 1138: 18814 yyDollar = yyS[yypt-2 : yypt+1] 18815 var yyLOCAL *tree.StartWithOption 18816 //line mysql_sql.y:7515 18817 { 18818 yyLOCAL = &tree.StartWithOption{ 18819 Minus: false, 18820 Num: yyDollar[2].item, 18821 } 18822 } 18823 yyVAL.union = yyLOCAL 18824 case 1139: 18825 yyDollar = yyS[yypt-4 : yypt+1] 18826 var yyLOCAL *tree.StartWithOption 18827 //line mysql_sql.y:7522 18828 { 18829 yyLOCAL = &tree.StartWithOption{ 18830 Minus: true, 18831 Num: yyDollar[4].item, 18832 } 18833 } 18834 yyVAL.union = yyLOCAL 18835 case 1140: 18836 yyDollar = yyS[yypt-3 : yypt+1] 18837 var yyLOCAL *tree.StartWithOption 18838 //line mysql_sql.y:7529 18839 { 18840 yyLOCAL = &tree.StartWithOption{ 18841 Minus: true, 18842 Num: yyDollar[3].item, 18843 } 18844 } 18845 yyVAL.union = yyLOCAL 18846 case 1141: 18847 yyDollar = yyS[yypt-0 : yypt+1] 18848 var yyLOCAL bool 18849 //line mysql_sql.y:7536 18850 { 18851 yyLOCAL = false 18852 } 18853 yyVAL.union = yyLOCAL 18854 case 1142: 18855 yyDollar = yyS[yypt-1 : yypt+1] 18856 var yyLOCAL bool 18857 //line mysql_sql.y:7540 18858 { 18859 yyLOCAL = true 18860 } 18861 yyVAL.union = yyLOCAL 18862 case 1143: 18863 yyDollar = yyS[yypt-0 : yypt+1] 18864 var yyLOCAL bool 18865 //line mysql_sql.y:7545 18866 { 18867 yyLOCAL = true 18868 } 18869 yyVAL.union = yyLOCAL 18870 case 1144: 18871 yyDollar = yyS[yypt-1 : yypt+1] 18872 var yyLOCAL bool 18873 //line mysql_sql.y:7549 18874 { 18875 yyLOCAL = true 18876 } 18877 yyVAL.union = yyLOCAL 18878 case 1145: 18879 yyDollar = yyS[yypt-1 : yypt+1] 18880 var yyLOCAL bool 18881 //line mysql_sql.y:7553 18882 { 18883 yyLOCAL = true 18884 } 18885 yyVAL.union = yyLOCAL 18886 case 1146: 18887 yyDollar = yyS[yypt-0 : yypt+1] 18888 var yyLOCAL *tree.PartitionOption 18889 //line mysql_sql.y:7558 18890 { 18891 yyLOCAL = nil 18892 } 18893 yyVAL.union = yyLOCAL 18894 case 1147: 18895 yyDollar = yyS[yypt-6 : yypt+1] 18896 var yyLOCAL *tree.PartitionOption 18897 //line mysql_sql.y:7562 18898 { 18899 yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) 18900 var PartBy = yyDollar[3].partitionByUnion() 18901 var SubPartBy = yyDollar[5].partitionByUnion() 18902 var Partitions = yyDollar[6].partitionsUnion() 18903 yyLOCAL = tree.NewPartitionOption( 18904 PartBy, 18905 SubPartBy, 18906 Partitions, 18907 ) 18908 } 18909 yyVAL.union = yyLOCAL 18910 case 1148: 18911 yyDollar = yyS[yypt-0 : yypt+1] 18912 var yyLOCAL *tree.ClusterByOption 18913 //line mysql_sql.y:7575 18914 { 18915 yyLOCAL = nil 18916 } 18917 yyVAL.union = yyLOCAL 18918 case 1149: 18919 yyDollar = yyS[yypt-3 : yypt+1] 18920 var yyLOCAL *tree.ClusterByOption 18921 //line mysql_sql.y:7579 18922 { 18923 var ColumnList = []*tree.UnresolvedName{yyDollar[3].unresolvedNameUnion()} 18924 yyLOCAL = tree.NewClusterByOption( 18925 ColumnList, 18926 ) 18927 18928 } 18929 yyVAL.union = yyLOCAL 18930 case 1150: 18931 yyDollar = yyS[yypt-5 : yypt+1] 18932 var yyLOCAL *tree.ClusterByOption 18933 //line mysql_sql.y:7587 18934 { 18935 var ColumnList = yyDollar[4].unresolveNamesUnion() 18936 yyLOCAL = tree.NewClusterByOption( 18937 ColumnList, 18938 ) 18939 } 18940 yyVAL.union = yyLOCAL 18941 case 1151: 18942 yyDollar = yyS[yypt-0 : yypt+1] 18943 var yyLOCAL *tree.PartitionBy 18944 //line mysql_sql.y:7595 18945 { 18946 yyLOCAL = nil 18947 } 18948 yyVAL.union = yyLOCAL 18949 case 1152: 18950 yyDollar = yyS[yypt-4 : yypt+1] 18951 var yyLOCAL *tree.PartitionBy 18952 //line mysql_sql.y:7599 18953 { 18954 var IsSubPartition = true 18955 var PType = yyDollar[3].partitionByUnion() 18956 var Num = uint64(yyDollar[4].int64ValUnion()) 18957 yyLOCAL = tree.NewPartitionBy2( 18958 IsSubPartition, 18959 PType, 18960 Num, 18961 ) 18962 } 18963 yyVAL.union = yyLOCAL 18964 case 1153: 18965 yyDollar = yyS[yypt-0 : yypt+1] 18966 var yyLOCAL []*tree.Partition 18967 //line mysql_sql.y:7611 18968 { 18969 yyLOCAL = nil 18970 } 18971 yyVAL.union = yyLOCAL 18972 case 1154: 18973 yyDollar = yyS[yypt-3 : yypt+1] 18974 var yyLOCAL []*tree.Partition 18975 //line mysql_sql.y:7615 18976 { 18977 yyLOCAL = yyDollar[2].partitionsUnion() 18978 } 18979 yyVAL.union = yyLOCAL 18980 case 1155: 18981 yyDollar = yyS[yypt-1 : yypt+1] 18982 var yyLOCAL []*tree.Partition 18983 //line mysql_sql.y:7621 18984 { 18985 yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()} 18986 } 18987 yyVAL.union = yyLOCAL 18988 case 1156: 18989 yyDollar = yyS[yypt-3 : yypt+1] 18990 var yyLOCAL []*tree.Partition 18991 //line mysql_sql.y:7625 18992 { 18993 yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion()) 18994 } 18995 yyVAL.union = yyLOCAL 18996 case 1157: 18997 yyDollar = yyS[yypt-4 : yypt+1] 18998 var yyLOCAL *tree.Partition 18999 //line mysql_sql.y:7631 19000 { 19001 var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 19002 var Values = yyDollar[3].valuesUnion() 19003 var Options []tree.TableOption 19004 var Subs = yyDollar[4].subPartitionsUnion() 19005 yyLOCAL = tree.NewPartition( 19006 Name, 19007 Values, 19008 Options, 19009 Subs, 19010 ) 19011 } 19012 yyVAL.union = yyLOCAL 19013 case 1158: 19014 yyDollar = yyS[yypt-5 : yypt+1] 19015 var yyLOCAL *tree.Partition 19016 //line mysql_sql.y:7644 19017 { 19018 var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 19019 var Values = yyDollar[3].valuesUnion() 19020 var Options = yyDollar[4].tableOptionsUnion() 19021 var Subs = yyDollar[5].subPartitionsUnion() 19022 yyLOCAL = tree.NewPartition( 19023 Name, 19024 Values, 19025 Options, 19026 Subs, 19027 ) 19028 } 19029 yyVAL.union = yyLOCAL 19030 case 1159: 19031 yyDollar = yyS[yypt-0 : yypt+1] 19032 var yyLOCAL []*tree.SubPartition 19033 //line mysql_sql.y:7658 19034 { 19035 yyLOCAL = nil 19036 } 19037 yyVAL.union = yyLOCAL 19038 case 1160: 19039 yyDollar = yyS[yypt-3 : yypt+1] 19040 var yyLOCAL []*tree.SubPartition 19041 //line mysql_sql.y:7662 19042 { 19043 yyLOCAL = yyDollar[2].subPartitionsUnion() 19044 } 19045 yyVAL.union = yyLOCAL 19046 case 1161: 19047 yyDollar = yyS[yypt-1 : yypt+1] 19048 var yyLOCAL []*tree.SubPartition 19049 //line mysql_sql.y:7668 19050 { 19051 yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()} 19052 } 19053 yyVAL.union = yyLOCAL 19054 case 1162: 19055 yyDollar = yyS[yypt-3 : yypt+1] 19056 var yyLOCAL []*tree.SubPartition 19057 //line mysql_sql.y:7672 19058 { 19059 yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion()) 19060 } 19061 yyVAL.union = yyLOCAL 19062 case 1163: 19063 yyDollar = yyS[yypt-2 : yypt+1] 19064 var yyLOCAL *tree.SubPartition 19065 //line mysql_sql.y:7678 19066 { 19067 var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 19068 var Options []tree.TableOption 19069 yyLOCAL = tree.NewSubPartition( 19070 Name, 19071 Options, 19072 ) 19073 } 19074 yyVAL.union = yyLOCAL 19075 case 1164: 19076 yyDollar = yyS[yypt-3 : yypt+1] 19077 var yyLOCAL *tree.SubPartition 19078 //line mysql_sql.y:7687 19079 { 19080 var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) 19081 var Options = yyDollar[3].tableOptionsUnion() 19082 yyLOCAL = tree.NewSubPartition( 19083 Name, 19084 Options, 19085 ) 19086 } 19087 yyVAL.union = yyLOCAL 19088 case 1165: 19089 yyDollar = yyS[yypt-1 : yypt+1] 19090 var yyLOCAL []tree.TableOption 19091 //line mysql_sql.y:7698 19092 { 19093 yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} 19094 } 19095 yyVAL.union = yyLOCAL 19096 case 1166: 19097 yyDollar = yyS[yypt-2 : yypt+1] 19098 var yyLOCAL []tree.TableOption 19099 //line mysql_sql.y:7702 19100 { 19101 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) 19102 } 19103 yyVAL.union = yyLOCAL 19104 case 1167: 19105 yyDollar = yyS[yypt-0 : yypt+1] 19106 var yyLOCAL tree.Values 19107 //line mysql_sql.y:7707 19108 { 19109 yyLOCAL = nil 19110 } 19111 yyVAL.union = yyLOCAL 19112 case 1168: 19113 yyDollar = yyS[yypt-4 : yypt+1] 19114 var yyLOCAL tree.Values 19115 //line mysql_sql.y:7711 19116 { 19117 expr := tree.NewMaxValue() 19118 var valueList = tree.Exprs{expr} 19119 yyLOCAL = tree.NewValuesLessThan(valueList) 19120 } 19121 yyVAL.union = yyLOCAL 19122 case 1169: 19123 yyDollar = yyS[yypt-6 : yypt+1] 19124 var yyLOCAL tree.Values 19125 //line mysql_sql.y:7717 19126 { 19127 var valueList = yyDollar[5].exprsUnion() 19128 yyLOCAL = tree.NewValuesLessThan(valueList) 19129 } 19130 yyVAL.union = yyLOCAL 19131 case 1170: 19132 yyDollar = yyS[yypt-5 : yypt+1] 19133 var yyLOCAL tree.Values 19134 //line mysql_sql.y:7722 19135 { 19136 var valueList = yyDollar[4].exprsUnion() 19137 yyLOCAL = tree.NewValuesIn( 19138 valueList, 19139 ) 19140 } 19141 yyVAL.union = yyLOCAL 19142 case 1171: 19143 yyDollar = yyS[yypt-0 : yypt+1] 19144 var yyLOCAL int64 19145 //line mysql_sql.y:7730 19146 { 19147 yyLOCAL = 0 19148 } 19149 yyVAL.union = yyLOCAL 19150 case 1172: 19151 yyDollar = yyS[yypt-2 : yypt+1] 19152 var yyLOCAL int64 19153 //line mysql_sql.y:7734 19154 { 19155 res := yyDollar[2].item.(int64) 19156 if res == 0 { 19157 yylex.Error("partitions can not be 0") 19158 goto ret1 19159 } 19160 yyLOCAL = res 19161 } 19162 yyVAL.union = yyLOCAL 19163 case 1173: 19164 yyDollar = yyS[yypt-0 : yypt+1] 19165 var yyLOCAL int64 19166 //line mysql_sql.y:7744 19167 { 19168 yyLOCAL = 0 19169 } 19170 yyVAL.union = yyLOCAL 19171 case 1174: 19172 yyDollar = yyS[yypt-2 : yypt+1] 19173 var yyLOCAL int64 19174 //line mysql_sql.y:7748 19175 { 19176 res := yyDollar[2].item.(int64) 19177 if res == 0 { 19178 yylex.Error("partitions can not be 0") 19179 goto ret1 19180 } 19181 yyLOCAL = res 19182 } 19183 yyVAL.union = yyLOCAL 19184 case 1175: 19185 yyDollar = yyS[yypt-4 : yypt+1] 19186 var yyLOCAL *tree.PartitionBy 19187 //line mysql_sql.y:7759 19188 { 19189 rangeTyp := tree.NewRangeType() 19190 rangeTyp.Expr = yyDollar[3].exprUnion() 19191 yyLOCAL = tree.NewPartitionBy( 19192 rangeTyp, 19193 ) 19194 } 19195 yyVAL.union = yyLOCAL 19196 case 1176: 19197 yyDollar = yyS[yypt-5 : yypt+1] 19198 var yyLOCAL *tree.PartitionBy 19199 //line mysql_sql.y:7767 19200 { 19201 rangeTyp := tree.NewRangeType() 19202 rangeTyp.ColumnList = yyDollar[4].unresolveNamesUnion() 19203 yyLOCAL = tree.NewPartitionBy( 19204 rangeTyp, 19205 ) 19206 } 19207 yyVAL.union = yyLOCAL 19208 case 1177: 19209 yyDollar = yyS[yypt-4 : yypt+1] 19210 var yyLOCAL *tree.PartitionBy 19211 //line mysql_sql.y:7775 19212 { 19213 listTyp := tree.NewListType() 19214 listTyp.Expr = yyDollar[3].exprUnion() 19215 yyLOCAL = tree.NewPartitionBy( 19216 listTyp, 19217 ) 19218 } 19219 yyVAL.union = yyLOCAL 19220 case 1178: 19221 yyDollar = yyS[yypt-5 : yypt+1] 19222 var yyLOCAL *tree.PartitionBy 19223 //line mysql_sql.y:7783 19224 { 19225 listTyp := tree.NewListType() 19226 listTyp.ColumnList = yyDollar[4].unresolveNamesUnion() 19227 yyLOCAL = tree.NewPartitionBy( 19228 listTyp, 19229 ) 19230 } 19231 yyVAL.union = yyLOCAL 19232 case 1180: 19233 yyDollar = yyS[yypt-5 : yypt+1] 19234 var yyLOCAL *tree.PartitionBy 19235 //line mysql_sql.y:7794 19236 { 19237 keyTyp := tree.NewKeyType() 19238 keyTyp.Linear = yyDollar[1].boolValUnion() 19239 keyTyp.Algorithm = yyDollar[3].int64ValUnion() 19240 yyLOCAL = tree.NewPartitionBy( 19241 keyTyp, 19242 ) 19243 } 19244 yyVAL.union = yyLOCAL 19245 case 1181: 19246 yyDollar = yyS[yypt-6 : yypt+1] 19247 var yyLOCAL *tree.PartitionBy 19248 //line mysql_sql.y:7803 19249 { 19250 keyTyp := tree.NewKeyType() 19251 keyTyp.Linear = yyDollar[1].boolValUnion() 19252 keyTyp.Algorithm = yyDollar[3].int64ValUnion() 19253 keyTyp.ColumnList = yyDollar[5].unresolveNamesUnion() 19254 yyLOCAL = tree.NewPartitionBy( 19255 keyTyp, 19256 ) 19257 } 19258 yyVAL.union = yyLOCAL 19259 case 1182: 19260 yyDollar = yyS[yypt-5 : yypt+1] 19261 var yyLOCAL *tree.PartitionBy 19262 //line mysql_sql.y:7813 19263 { 19264 Linear := yyDollar[1].boolValUnion() 19265 Expr := yyDollar[4].exprUnion() 19266 hashTyp := tree.NewHashType(Linear, Expr) 19267 yyLOCAL = tree.NewPartitionBy( 19268 hashTyp, 19269 ) 19270 } 19271 yyVAL.union = yyLOCAL 19272 case 1183: 19273 yyDollar = yyS[yypt-0 : yypt+1] 19274 var yyLOCAL int64 19275 //line mysql_sql.y:7823 19276 { 19277 yyLOCAL = 2 19278 } 19279 yyVAL.union = yyLOCAL 19280 case 1184: 19281 yyDollar = yyS[yypt-3 : yypt+1] 19282 var yyLOCAL int64 19283 //line mysql_sql.y:7827 19284 { 19285 yyLOCAL = yyDollar[3].item.(int64) 19286 } 19287 yyVAL.union = yyLOCAL 19288 case 1185: 19289 yyDollar = yyS[yypt-0 : yypt+1] 19290 var yyLOCAL bool 19291 //line mysql_sql.y:7832 19292 { 19293 yyLOCAL = false 19294 } 19295 yyVAL.union = yyLOCAL 19296 case 1186: 19297 yyDollar = yyS[yypt-1 : yypt+1] 19298 var yyLOCAL bool 19299 //line mysql_sql.y:7836 19300 { 19301 yyLOCAL = true 19302 } 19303 yyVAL.union = yyLOCAL 19304 case 1187: 19305 yyDollar = yyS[yypt-1 : yypt+1] 19306 var yyLOCAL []*tree.ConnectorOption 19307 //line mysql_sql.y:7842 19308 { 19309 yyLOCAL = []*tree.ConnectorOption{yyDollar[1].connectorOptionUnion()} 19310 } 19311 yyVAL.union = yyLOCAL 19312 case 1188: 19313 yyDollar = yyS[yypt-3 : yypt+1] 19314 var yyLOCAL []*tree.ConnectorOption 19315 //line mysql_sql.y:7846 19316 { 19317 yyLOCAL = append(yyDollar[1].connectorOptionsUnion(), yyDollar[3].connectorOptionUnion()) 19318 } 19319 yyVAL.union = yyLOCAL 19320 case 1189: 19321 yyDollar = yyS[yypt-3 : yypt+1] 19322 var yyLOCAL *tree.ConnectorOption 19323 //line mysql_sql.y:7852 19324 { 19325 var Key = tree.Identifier(yyDollar[1].cstrUnion().Compare()) 19326 var Val = yyDollar[3].exprUnion() 19327 yyLOCAL = tree.NewConnectorOption( 19328 Key, 19329 Val, 19330 ) 19331 } 19332 yyVAL.union = yyLOCAL 19333 case 1190: 19334 yyDollar = yyS[yypt-3 : yypt+1] 19335 var yyLOCAL *tree.ConnectorOption 19336 //line mysql_sql.y:7861 19337 { 19338 var Key = tree.Identifier(yyDollar[1].str) 19339 var Val = yyDollar[3].exprUnion() 19340 yyLOCAL = tree.NewConnectorOption( 19341 Key, 19342 Val, 19343 ) 19344 } 19345 yyVAL.union = yyLOCAL 19346 case 1191: 19347 yyDollar = yyS[yypt-0 : yypt+1] 19348 var yyLOCAL []tree.TableOption 19349 //line mysql_sql.y:7871 19350 { 19351 yyLOCAL = nil 19352 } 19353 yyVAL.union = yyLOCAL 19354 case 1192: 19355 yyDollar = yyS[yypt-4 : yypt+1] 19356 var yyLOCAL []tree.TableOption 19357 //line mysql_sql.y:7875 19358 { 19359 yyLOCAL = yyDollar[3].tableOptionsUnion() 19360 } 19361 yyVAL.union = yyLOCAL 19362 case 1193: 19363 yyDollar = yyS[yypt-1 : yypt+1] 19364 var yyLOCAL []tree.TableOption 19365 //line mysql_sql.y:7881 19366 { 19367 yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} 19368 } 19369 yyVAL.union = yyLOCAL 19370 case 1194: 19371 yyDollar = yyS[yypt-3 : yypt+1] 19372 var yyLOCAL []tree.TableOption 19373 //line mysql_sql.y:7885 19374 { 19375 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) 19376 } 19377 yyVAL.union = yyLOCAL 19378 case 1195: 19379 yyDollar = yyS[yypt-3 : yypt+1] 19380 var yyLOCAL tree.TableOption 19381 //line mysql_sql.y:7891 19382 { 19383 var Key = tree.Identifier(yyDollar[1].cstrUnion().Compare()) 19384 var Val = yyDollar[3].exprUnion() 19385 yyLOCAL = tree.NewCreateSourceWithOption( 19386 Key, 19387 Val, 19388 ) 19389 } 19390 yyVAL.union = yyLOCAL 19391 case 1196: 19392 yyDollar = yyS[yypt-3 : yypt+1] 19393 var yyLOCAL tree.TableOption 19394 //line mysql_sql.y:7900 19395 { 19396 var Key = tree.Identifier(yyDollar[1].str) 19397 var Val = yyDollar[3].exprUnion() 19398 yyLOCAL = tree.NewCreateSourceWithOption( 19399 Key, 19400 Val, 19401 ) 19402 } 19403 yyVAL.union = yyLOCAL 19404 case 1197: 19405 yyDollar = yyS[yypt-0 : yypt+1] 19406 var yyLOCAL []tree.TableOption 19407 //line mysql_sql.y:7910 19408 { 19409 yyLOCAL = nil 19410 } 19411 yyVAL.union = yyLOCAL 19412 case 1198: 19413 yyDollar = yyS[yypt-1 : yypt+1] 19414 var yyLOCAL []tree.TableOption 19415 //line mysql_sql.y:7914 19416 { 19417 yyLOCAL = yyDollar[1].tableOptionsUnion() 19418 } 19419 yyVAL.union = yyLOCAL 19420 case 1199: 19421 yyDollar = yyS[yypt-1 : yypt+1] 19422 var yyLOCAL []tree.TableOption 19423 //line mysql_sql.y:7920 19424 { 19425 yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} 19426 } 19427 yyVAL.union = yyLOCAL 19428 case 1200: 19429 yyDollar = yyS[yypt-3 : yypt+1] 19430 var yyLOCAL []tree.TableOption 19431 //line mysql_sql.y:7924 19432 { 19433 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) 19434 } 19435 yyVAL.union = yyLOCAL 19436 case 1201: 19437 yyDollar = yyS[yypt-2 : yypt+1] 19438 var yyLOCAL []tree.TableOption 19439 //line mysql_sql.y:7928 19440 { 19441 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) 19442 } 19443 yyVAL.union = yyLOCAL 19444 case 1202: 19445 yyDollar = yyS[yypt-3 : yypt+1] 19446 var yyLOCAL tree.TableOption 19447 //line mysql_sql.y:7934 19448 { 19449 yyLOCAL = tree.NewTableOptionAUTOEXTEND_SIZE(uint64(yyDollar[3].item.(int64))) 19450 } 19451 yyVAL.union = yyLOCAL 19452 case 1203: 19453 yyDollar = yyS[yypt-3 : yypt+1] 19454 var yyLOCAL tree.TableOption 19455 //line mysql_sql.y:7938 19456 { 19457 yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64))) 19458 } 19459 yyVAL.union = yyLOCAL 19460 case 1204: 19461 yyDollar = yyS[yypt-3 : yypt+1] 19462 var yyLOCAL tree.TableOption 19463 //line mysql_sql.y:7942 19464 { 19465 yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64))) 19466 } 19467 yyVAL.union = yyLOCAL 19468 case 1205: 19469 yyDollar = yyS[yypt-4 : yypt+1] 19470 var yyLOCAL tree.TableOption 19471 //line mysql_sql.y:7946 19472 { 19473 yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) 19474 } 19475 yyVAL.union = yyLOCAL 19476 case 1206: 19477 yyDollar = yyS[yypt-4 : yypt+1] 19478 var yyLOCAL tree.TableOption 19479 //line mysql_sql.y:7950 19480 { 19481 yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str) 19482 } 19483 yyVAL.union = yyLOCAL 19484 case 1207: 19485 yyDollar = yyS[yypt-3 : yypt+1] 19486 var yyLOCAL tree.TableOption 19487 //line mysql_sql.y:7954 19488 { 19489 yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64))) 19490 } 19491 yyVAL.union = yyLOCAL 19492 case 1208: 19493 yyDollar = yyS[yypt-3 : yypt+1] 19494 var yyLOCAL tree.TableOption 19495 //line mysql_sql.y:7958 19496 { 19497 str := util.DealCommentString(yyDollar[3].str) 19498 yyLOCAL = tree.NewTableOptionComment(str) 19499 } 19500 yyVAL.union = yyLOCAL 19501 case 1209: 19502 yyDollar = yyS[yypt-3 : yypt+1] 19503 var yyLOCAL tree.TableOption 19504 //line mysql_sql.y:7963 19505 { 19506 yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str) 19507 } 19508 yyVAL.union = yyLOCAL 19509 case 1210: 19510 yyDollar = yyS[yypt-3 : yypt+1] 19511 var yyLOCAL tree.TableOption 19512 //line mysql_sql.y:7967 19513 { 19514 yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str) 19515 } 19516 yyVAL.union = yyLOCAL 19517 case 1211: 19518 yyDollar = yyS[yypt-4 : yypt+1] 19519 var yyLOCAL tree.TableOption 19520 //line mysql_sql.y:7971 19521 { 19522 yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str) 19523 } 19524 yyVAL.union = yyLOCAL 19525 case 1212: 19526 yyDollar = yyS[yypt-4 : yypt+1] 19527 var yyLOCAL tree.TableOption 19528 //line mysql_sql.y:7975 19529 { 19530 yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str) 19531 } 19532 yyVAL.union = yyLOCAL 19533 case 1213: 19534 yyDollar = yyS[yypt-3 : yypt+1] 19535 var yyLOCAL tree.TableOption 19536 //line mysql_sql.y:7979 19537 { 19538 yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64))) 19539 } 19540 yyVAL.union = yyLOCAL 19541 case 1214: 19542 yyDollar = yyS[yypt-3 : yypt+1] 19543 var yyLOCAL tree.TableOption 19544 //line mysql_sql.y:7983 19545 { 19546 yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str) 19547 } 19548 yyVAL.union = yyLOCAL 19549 case 1215: 19550 yyDollar = yyS[yypt-3 : yypt+1] 19551 var yyLOCAL tree.TableOption 19552 //line mysql_sql.y:7987 19553 { 19554 yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str) 19555 } 19556 yyVAL.union = yyLOCAL 19557 case 1216: 19558 yyDollar = yyS[yypt-3 : yypt+1] 19559 var yyLOCAL tree.TableOption 19560 //line mysql_sql.y:7991 19561 { 19562 yyLOCAL = tree.NewTableOptionEngineAttr(yyDollar[3].str) 19563 } 19564 yyVAL.union = yyLOCAL 19565 case 1217: 19566 yyDollar = yyS[yypt-3 : yypt+1] 19567 var yyLOCAL tree.TableOption 19568 //line mysql_sql.y:7995 19569 { 19570 yyLOCAL = tree.NewTableOptionInsertMethod(yyDollar[3].str) 19571 } 19572 yyVAL.union = yyLOCAL 19573 case 1218: 19574 yyDollar = yyS[yypt-3 : yypt+1] 19575 var yyLOCAL tree.TableOption 19576 //line mysql_sql.y:7999 19577 { 19578 yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64))) 19579 } 19580 yyVAL.union = yyLOCAL 19581 case 1219: 19582 yyDollar = yyS[yypt-3 : yypt+1] 19583 var yyLOCAL tree.TableOption 19584 //line mysql_sql.y:8003 19585 { 19586 yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64))) 19587 } 19588 yyVAL.union = yyLOCAL 19589 case 1220: 19590 yyDollar = yyS[yypt-3 : yypt+1] 19591 var yyLOCAL tree.TableOption 19592 //line mysql_sql.y:8007 19593 { 19594 yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64))) 19595 } 19596 yyVAL.union = yyLOCAL 19597 case 1221: 19598 yyDollar = yyS[yypt-3 : yypt+1] 19599 var yyLOCAL tree.TableOption 19600 //line mysql_sql.y:8011 19601 { 19602 t := tree.NewTableOptionPackKeys() 19603 t.Value = yyDollar[3].item.(int64) 19604 yyLOCAL = t 19605 } 19606 yyVAL.union = yyLOCAL 19607 case 1222: 19608 yyDollar = yyS[yypt-3 : yypt+1] 19609 var yyLOCAL tree.TableOption 19610 //line mysql_sql.y:8017 19611 { 19612 t := tree.NewTableOptionPackKeys() 19613 t.Default = true 19614 yyLOCAL = t 19615 } 19616 yyVAL.union = yyLOCAL 19617 case 1223: 19618 yyDollar = yyS[yypt-3 : yypt+1] 19619 var yyLOCAL tree.TableOption 19620 //line mysql_sql.y:8023 19621 { 19622 yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str) 19623 } 19624 yyVAL.union = yyLOCAL 19625 case 1224: 19626 yyDollar = yyS[yypt-3 : yypt+1] 19627 var yyLOCAL tree.TableOption 19628 //line mysql_sql.y:8027 19629 { 19630 yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion()) 19631 } 19632 yyVAL.union = yyLOCAL 19633 case 1225: 19634 yyDollar = yyS[yypt-2 : yypt+1] 19635 var yyLOCAL tree.TableOption 19636 //line mysql_sql.y:8031 19637 { 19638 yyLOCAL = tree.NewTTableOptionStartTrans(true) 19639 } 19640 yyVAL.union = yyLOCAL 19641 case 1226: 19642 yyDollar = yyS[yypt-3 : yypt+1] 19643 var yyLOCAL tree.TableOption 19644 //line mysql_sql.y:8035 19645 { 19646 yyLOCAL = tree.NewTTableOptionSecondaryEngineAttr(yyDollar[3].str) 19647 } 19648 yyVAL.union = yyLOCAL 19649 case 1227: 19650 yyDollar = yyS[yypt-3 : yypt+1] 19651 var yyLOCAL tree.TableOption 19652 //line mysql_sql.y:8039 19653 { 19654 t := tree.NewTableOptionStatsAutoRecalc() 19655 t.Value = uint64(yyDollar[3].item.(int64)) 19656 yyLOCAL = t 19657 } 19658 yyVAL.union = yyLOCAL 19659 case 1228: 19660 yyDollar = yyS[yypt-3 : yypt+1] 19661 var yyLOCAL tree.TableOption 19662 //line mysql_sql.y:8045 19663 { 19664 t := tree.NewTableOptionStatsAutoRecalc() 19665 t.Default = true 19666 yyLOCAL = t 19667 } 19668 yyVAL.union = yyLOCAL 19669 case 1229: 19670 yyDollar = yyS[yypt-3 : yypt+1] 19671 var yyLOCAL tree.TableOption 19672 //line mysql_sql.y:8051 19673 { 19674 t := tree.NewTableOptionStatsPersistent() 19675 t.Value = uint64(yyDollar[3].item.(int64)) 19676 yyLOCAL = t 19677 } 19678 yyVAL.union = yyLOCAL 19679 case 1230: 19680 yyDollar = yyS[yypt-3 : yypt+1] 19681 var yyLOCAL tree.TableOption 19682 //line mysql_sql.y:8057 19683 { 19684 t := tree.NewTableOptionStatsPersistent() 19685 t.Default = true 19686 yyLOCAL = t 19687 } 19688 yyVAL.union = yyLOCAL 19689 case 1231: 19690 yyDollar = yyS[yypt-3 : yypt+1] 19691 var yyLOCAL tree.TableOption 19692 //line mysql_sql.y:8063 19693 { 19694 t := tree.NewTableOptionStatsSamplePages() 19695 t.Value = uint64(yyDollar[3].item.(int64)) 19696 yyLOCAL = t 19697 } 19698 yyVAL.union = yyLOCAL 19699 case 1232: 19700 yyDollar = yyS[yypt-3 : yypt+1] 19701 var yyLOCAL tree.TableOption 19702 //line mysql_sql.y:8069 19703 { 19704 t := tree.NewTableOptionStatsSamplePages() 19705 t.Default = true 19706 yyLOCAL = t 19707 } 19708 yyVAL.union = yyLOCAL 19709 case 1233: 19710 yyDollar = yyS[yypt-3 : yypt+1] 19711 var yyLOCAL tree.TableOption 19712 //line mysql_sql.y:8075 19713 { 19714 yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].cstrUnion().Compare(), "") 19715 } 19716 yyVAL.union = yyLOCAL 19717 case 1234: 19718 yyDollar = yyS[yypt-1 : yypt+1] 19719 var yyLOCAL tree.TableOption 19720 //line mysql_sql.y:8079 19721 { 19722 yyLOCAL = tree.NewTableOptionTablespace("", yyDollar[1].str) 19723 } 19724 yyVAL.union = yyLOCAL 19725 case 1235: 19726 yyDollar = yyS[yypt-5 : yypt+1] 19727 var yyLOCAL tree.TableOption 19728 //line mysql_sql.y:8083 19729 { 19730 yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) 19731 } 19732 yyVAL.union = yyLOCAL 19733 case 1236: 19734 yyDollar = yyS[yypt-4 : yypt+1] 19735 var yyLOCAL tree.TableOption 19736 //line mysql_sql.y:8087 19737 { 19738 var Preperties = yyDollar[3].propertiesUnion() 19739 yyLOCAL = tree.NewTableOptionProperties(Preperties) 19740 } 19741 yyVAL.union = yyLOCAL 19742 case 1237: 19743 yyDollar = yyS[yypt-1 : yypt+1] 19744 var yyLOCAL []tree.Property 19745 //line mysql_sql.y:8094 19746 { 19747 yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()} 19748 } 19749 yyVAL.union = yyLOCAL 19750 case 1238: 19751 yyDollar = yyS[yypt-3 : yypt+1] 19752 var yyLOCAL []tree.Property 19753 //line mysql_sql.y:8098 19754 { 19755 yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion()) 19756 } 19757 yyVAL.union = yyLOCAL 19758 case 1239: 19759 yyDollar = yyS[yypt-3 : yypt+1] 19760 var yyLOCAL tree.Property 19761 //line mysql_sql.y:8104 19762 { 19763 var Key = yyDollar[1].str 19764 var Value = yyDollar[3].str 19765 yyLOCAL = *tree.NewProperty( 19766 Key, 19767 Value, 19768 ) 19769 } 19770 yyVAL.union = yyLOCAL 19771 case 1240: 19772 yyDollar = yyS[yypt-2 : yypt+1] 19773 //line mysql_sql.y:8115 19774 { 19775 yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str 19776 } 19777 case 1241: 19778 yyDollar = yyS[yypt-2 : yypt+1] 19779 //line mysql_sql.y:8119 19780 { 19781 yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str 19782 } 19783 case 1242: 19784 yyDollar = yyS[yypt-1 : yypt+1] 19785 var yyLOCAL tree.RowFormatType 19786 //line mysql_sql.y:8125 19787 { 19788 yyLOCAL = tree.ROW_FORMAT_DEFAULT 19789 } 19790 yyVAL.union = yyLOCAL 19791 case 1243: 19792 yyDollar = yyS[yypt-1 : yypt+1] 19793 var yyLOCAL tree.RowFormatType 19794 //line mysql_sql.y:8129 19795 { 19796 yyLOCAL = tree.ROW_FORMAT_DYNAMIC 19797 } 19798 yyVAL.union = yyLOCAL 19799 case 1244: 19800 yyDollar = yyS[yypt-1 : yypt+1] 19801 var yyLOCAL tree.RowFormatType 19802 //line mysql_sql.y:8133 19803 { 19804 yyLOCAL = tree.ROW_FORMAT_FIXED 19805 } 19806 yyVAL.union = yyLOCAL 19807 case 1245: 19808 yyDollar = yyS[yypt-1 : yypt+1] 19809 var yyLOCAL tree.RowFormatType 19810 //line mysql_sql.y:8137 19811 { 19812 yyLOCAL = tree.ROW_FORMAT_COMPRESSED 19813 } 19814 yyVAL.union = yyLOCAL 19815 case 1246: 19816 yyDollar = yyS[yypt-1 : yypt+1] 19817 var yyLOCAL tree.RowFormatType 19818 //line mysql_sql.y:8141 19819 { 19820 yyLOCAL = tree.ROW_FORMAT_REDUNDANT 19821 } 19822 yyVAL.union = yyLOCAL 19823 case 1247: 19824 yyDollar = yyS[yypt-1 : yypt+1] 19825 var yyLOCAL tree.RowFormatType 19826 //line mysql_sql.y:8145 19827 { 19828 yyLOCAL = tree.ROW_FORMAT_COMPACT 19829 } 19830 yyVAL.union = yyLOCAL 19831 case 1252: 19832 yyDollar = yyS[yypt-1 : yypt+1] 19833 var yyLOCAL tree.TableNames 19834 //line mysql_sql.y:8159 19835 { 19836 yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()} 19837 } 19838 yyVAL.union = yyLOCAL 19839 case 1253: 19840 yyDollar = yyS[yypt-3 : yypt+1] 19841 var yyLOCAL tree.TableNames 19842 //line mysql_sql.y:8163 19843 { 19844 yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion()) 19845 } 19846 yyVAL.union = yyLOCAL 19847 case 1254: 19848 yyDollar = yyS[yypt-2 : yypt+1] 19849 var yyLOCAL *tree.TableName 19850 //line mysql_sql.y:8172 19851 { 19852 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 19853 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix, yyDollar[2].atTimeStampUnion()) 19854 } 19855 yyVAL.union = yyLOCAL 19856 case 1255: 19857 yyDollar = yyS[yypt-4 : yypt+1] 19858 var yyLOCAL *tree.TableName 19859 //line mysql_sql.y:8177 19860 { 19861 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().Compare()), ExplicitSchema: true} 19862 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix, yyDollar[4].atTimeStampUnion()) 19863 } 19864 yyVAL.union = yyLOCAL 19865 case 1256: 19866 yyDollar = yyS[yypt-0 : yypt+1] 19867 var yyLOCAL *tree.AtTimeStamp 19868 //line mysql_sql.y:8183 19869 { 19870 yyLOCAL = nil 19871 } 19872 yyVAL.union = yyLOCAL 19873 case 1257: 19874 yyDollar = yyS[yypt-2 : yypt+1] 19875 var yyLOCAL *tree.AtTimeStamp 19876 //line mysql_sql.y:8187 19877 { 19878 yyLOCAL = nil 19879 } 19880 yyVAL.union = yyLOCAL 19881 case 1258: 19882 yyDollar = yyS[yypt-5 : yypt+1] 19883 var yyLOCAL *tree.AtTimeStamp 19884 //line mysql_sql.y:8191 19885 { 19886 yyLOCAL = &tree.AtTimeStamp{ 19887 Type: tree.ATTIMESTAMPTIME, 19888 Expr: yyDollar[4].exprUnion(), 19889 } 19890 } 19891 yyVAL.union = yyLOCAL 19892 case 1259: 19893 yyDollar = yyS[yypt-5 : yypt+1] 19894 var yyLOCAL *tree.AtTimeStamp 19895 //line mysql_sql.y:8198 19896 { 19897 yyLOCAL = &tree.AtTimeStamp{ 19898 Type: tree.ATTIMESTAMPSNAPSHOT, 19899 Expr: yyDollar[4].exprUnion(), 19900 } 19901 } 19902 yyVAL.union = yyLOCAL 19903 case 1260: 19904 yyDollar = yyS[yypt-5 : yypt+1] 19905 var yyLOCAL *tree.AtTimeStamp 19906 //line mysql_sql.y:8205 19907 { 19908 yyLOCAL = &tree.AtTimeStamp{ 19909 Type: tree.ATMOTIMESTAMP, 19910 Expr: yyDollar[4].exprUnion(), 19911 } 19912 } 19913 yyVAL.union = yyLOCAL 19914 case 1261: 19915 yyDollar = yyS[yypt-0 : yypt+1] 19916 var yyLOCAL tree.TableDefs 19917 //line mysql_sql.y:8213 19918 { 19919 yyLOCAL = tree.TableDefs(nil) 19920 } 19921 yyVAL.union = yyLOCAL 19922 case 1263: 19923 yyDollar = yyS[yypt-1 : yypt+1] 19924 var yyLOCAL tree.TableDefs 19925 //line mysql_sql.y:8220 19926 { 19927 yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()} 19928 } 19929 yyVAL.union = yyLOCAL 19930 case 1264: 19931 yyDollar = yyS[yypt-3 : yypt+1] 19932 var yyLOCAL tree.TableDefs 19933 //line mysql_sql.y:8224 19934 { 19935 yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion()) 19936 } 19937 yyVAL.union = yyLOCAL 19938 case 1265: 19939 yyDollar = yyS[yypt-1 : yypt+1] 19940 var yyLOCAL tree.TableDef 19941 //line mysql_sql.y:8230 19942 { 19943 yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion()) 19944 } 19945 yyVAL.union = yyLOCAL 19946 case 1266: 19947 yyDollar = yyS[yypt-1 : yypt+1] 19948 var yyLOCAL tree.TableDef 19949 //line mysql_sql.y:8234 19950 { 19951 yyLOCAL = yyDollar[1].tableDefUnion() 19952 } 19953 yyVAL.union = yyLOCAL 19954 case 1267: 19955 yyDollar = yyS[yypt-1 : yypt+1] 19956 var yyLOCAL tree.TableDef 19957 //line mysql_sql.y:8238 19958 { 19959 yyLOCAL = yyDollar[1].tableDefUnion() 19960 } 19961 yyVAL.union = yyLOCAL 19962 case 1268: 19963 yyDollar = yyS[yypt-1 : yypt+1] 19964 var yyLOCAL tree.TableDef 19965 //line mysql_sql.y:8244 19966 { 19967 yyLOCAL = yyDollar[1].tableDefUnion() 19968 } 19969 yyVAL.union = yyLOCAL 19970 case 1269: 19971 yyDollar = yyS[yypt-1 : yypt+1] 19972 var yyLOCAL tree.TableDef 19973 //line mysql_sql.y:8248 19974 { 19975 yyLOCAL = yyDollar[1].tableDefUnion() 19976 } 19977 yyVAL.union = yyLOCAL 19978 case 1270: 19979 yyDollar = yyS[yypt-7 : yypt+1] 19980 var yyLOCAL tree.TableDef 19981 //line mysql_sql.y:8254 19982 { 19983 var KeyParts = yyDollar[5].keyPartsUnion() 19984 var Name = yyDollar[3].str 19985 var Empty = true 19986 var IndexOption = yyDollar[7].indexOptionUnion() 19987 yyLOCAL = tree.NewFullTextIndex( 19988 KeyParts, 19989 Name, 19990 Empty, 19991 IndexOption, 19992 ) 19993 } 19994 yyVAL.union = yyLOCAL 19995 case 1271: 19996 yyDollar = yyS[yypt-9 : yypt+1] 19997 var yyLOCAL tree.TableDef 19998 //line mysql_sql.y:8267 19999 { 20000 var KeyParts = yyDollar[5].keyPartsUnion() 20001 var Name = yyDollar[3].str 20002 var Empty = true 20003 var IndexOption = yyDollar[9].indexOptionUnion() 20004 yyLOCAL = tree.NewFullTextIndex( 20005 KeyParts, 20006 Name, 20007 Empty, 20008 IndexOption, 20009 ) 20010 } 20011 yyVAL.union = yyLOCAL 20012 case 1272: 20013 yyDollar = yyS[yypt-7 : yypt+1] 20014 var yyLOCAL tree.TableDef 20015 //line mysql_sql.y:8280 20016 { 20017 keyTyp := tree.INDEX_TYPE_INVALID 20018 if yyDollar[3].strsUnion()[1] != "" { 20019 t := strings.ToLower(yyDollar[3].strsUnion()[1]) 20020 switch t { 20021 case "btree": 20022 keyTyp = tree.INDEX_TYPE_BTREE 20023 case "ivfflat": 20024 keyTyp = tree.INDEX_TYPE_IVFFLAT 20025 case "master": 20026 keyTyp = tree.INDEX_TYPE_MASTER 20027 case "hash": 20028 keyTyp = tree.INDEX_TYPE_HASH 20029 case "rtree": 20030 keyTyp = tree.INDEX_TYPE_RTREE 20031 case "zonemap": 20032 keyTyp = tree.INDEX_TYPE_ZONEMAP 20033 case "bsi": 20034 keyTyp = tree.INDEX_TYPE_BSI 20035 default: 20036 yylex.Error("Invalid the type of index") 20037 goto ret1 20038 } 20039 } 20040 20041 var IfNotExists = yyDollar[2].ifNotExistsUnion() 20042 var KeyParts = yyDollar[5].keyPartsUnion() 20043 var Name = yyDollar[3].strsUnion()[0] 20044 var KeyType = keyTyp 20045 var IndexOption = yyDollar[7].indexOptionUnion() 20046 yyLOCAL = tree.NewIndex( 20047 IfNotExists, 20048 KeyParts, 20049 Name, 20050 KeyType, 20051 IndexOption, 20052 ) 20053 } 20054 yyVAL.union = yyLOCAL 20055 case 1273: 20056 yyDollar = yyS[yypt-9 : yypt+1] 20057 var yyLOCAL tree.TableDef 20058 //line mysql_sql.y:8319 20059 { 20060 keyTyp := tree.INDEX_TYPE_INVALID 20061 if yyDollar[3].strsUnion()[1] != "" { 20062 t := strings.ToLower(yyDollar[3].strsUnion()[1]) 20063 switch t { 20064 case "btree": 20065 keyTyp = tree.INDEX_TYPE_BTREE 20066 case "ivfflat": 20067 keyTyp = tree.INDEX_TYPE_IVFFLAT 20068 case "master": 20069 keyTyp = tree.INDEX_TYPE_MASTER 20070 case "hash": 20071 keyTyp = tree.INDEX_TYPE_HASH 20072 case "rtree": 20073 keyTyp = tree.INDEX_TYPE_RTREE 20074 case "zonemap": 20075 keyTyp = tree.INDEX_TYPE_ZONEMAP 20076 case "bsi": 20077 keyTyp = tree.INDEX_TYPE_BSI 20078 default: 20079 yylex.Error("Invalid type of index") 20080 goto ret1 20081 } 20082 } 20083 var IfNotExists = yyDollar[2].ifNotExistsUnion() 20084 var KeyParts = yyDollar[5].keyPartsUnion() 20085 var Name = yyDollar[3].strsUnion()[0] 20086 var KeyType = keyTyp 20087 var IndexOption = yyDollar[9].indexOptionUnion() 20088 yyLOCAL = tree.NewIndex( 20089 IfNotExists, 20090 KeyParts, 20091 Name, 20092 KeyType, 20093 IndexOption, 20094 ) 20095 } 20096 yyVAL.union = yyLOCAL 20097 case 1274: 20098 yyDollar = yyS[yypt-2 : yypt+1] 20099 var yyLOCAL tree.TableDef 20100 //line mysql_sql.y:8359 20101 { 20102 if yyDollar[1].str != "" { 20103 switch v := yyDollar[2].tableDefUnion().(type) { 20104 case *tree.PrimaryKeyIndex: 20105 v.ConstraintSymbol = yyDollar[1].str 20106 case *tree.ForeignKey: 20107 v.ConstraintSymbol = yyDollar[1].str 20108 case *tree.UniqueIndex: 20109 v.ConstraintSymbol = yyDollar[1].str 20110 } 20111 } 20112 yyLOCAL = yyDollar[2].tableDefUnion() 20113 } 20114 yyVAL.union = yyLOCAL 20115 case 1275: 20116 yyDollar = yyS[yypt-1 : yypt+1] 20117 var yyLOCAL tree.TableDef 20118 //line mysql_sql.y:8373 20119 { 20120 yyLOCAL = yyDollar[1].tableDefUnion() 20121 } 20122 yyVAL.union = yyLOCAL 20123 case 1276: 20124 yyDollar = yyS[yypt-7 : yypt+1] 20125 var yyLOCAL tree.TableDef 20126 //line mysql_sql.y:8379 20127 { 20128 var KeyParts = yyDollar[5].keyPartsUnion() 20129 var Name = yyDollar[3].strsUnion()[0] 20130 var Empty = yyDollar[3].strsUnion()[1] == "" 20131 var IndexOption = yyDollar[7].indexOptionUnion() 20132 yyLOCAL = tree.NewPrimaryKeyIndex( 20133 KeyParts, 20134 Name, 20135 Empty, 20136 IndexOption, 20137 ) 20138 } 20139 yyVAL.union = yyLOCAL 20140 case 1277: 20141 yyDollar = yyS[yypt-9 : yypt+1] 20142 var yyLOCAL tree.TableDef 20143 //line mysql_sql.y:8392 20144 { 20145 var KeyParts = yyDollar[5].keyPartsUnion() 20146 var Name = yyDollar[3].strsUnion()[0] 20147 var Empty = yyDollar[3].strsUnion()[1] == "" 20148 var IndexOption = yyDollar[9].indexOptionUnion() 20149 yyLOCAL = tree.NewPrimaryKeyIndex( 20150 KeyParts, 20151 Name, 20152 Empty, 20153 IndexOption, 20154 ) 20155 } 20156 yyVAL.union = yyLOCAL 20157 case 1278: 20158 yyDollar = yyS[yypt-7 : yypt+1] 20159 var yyLOCAL tree.TableDef 20160 //line mysql_sql.y:8405 20161 { 20162 var KeyParts = yyDollar[5].keyPartsUnion() 20163 var Name = yyDollar[3].strsUnion()[0] 20164 var Empty = yyDollar[3].strsUnion()[1] == "" 20165 var IndexOption = yyDollar[7].indexOptionUnion() 20166 yyLOCAL = tree.NewUniqueIndex( 20167 KeyParts, 20168 Name, 20169 Empty, 20170 IndexOption, 20171 ) 20172 } 20173 yyVAL.union = yyLOCAL 20174 case 1279: 20175 yyDollar = yyS[yypt-9 : yypt+1] 20176 var yyLOCAL tree.TableDef 20177 //line mysql_sql.y:8418 20178 { 20179 var KeyParts = yyDollar[5].keyPartsUnion() 20180 var Name = yyDollar[3].strsUnion()[0] 20181 var Empty = yyDollar[3].strsUnion()[1] == "" 20182 var IndexOption = yyDollar[9].indexOptionUnion() 20183 yyLOCAL = tree.NewUniqueIndex( 20184 KeyParts, 20185 Name, 20186 Empty, 20187 IndexOption, 20188 ) 20189 } 20190 yyVAL.union = yyLOCAL 20191 case 1280: 20192 yyDollar = yyS[yypt-8 : yypt+1] 20193 var yyLOCAL tree.TableDef 20194 //line mysql_sql.y:8431 20195 { 20196 var IfNotExists = yyDollar[3].ifNotExistsUnion() 20197 var KeyParts = yyDollar[6].keyPartsUnion() 20198 var Name = yyDollar[4].str 20199 var Refer = yyDollar[8].attributeReferenceUnion() 20200 var Empty = true 20201 yyLOCAL = tree.NewForeignKey( 20202 IfNotExists, 20203 KeyParts, 20204 Name, 20205 Refer, 20206 Empty, 20207 ) 20208 } 20209 yyVAL.union = yyLOCAL 20210 case 1281: 20211 yyDollar = yyS[yypt-5 : yypt+1] 20212 var yyLOCAL tree.TableDef 20213 //line mysql_sql.y:8446 20214 { 20215 var Expr = yyDollar[3].exprUnion() 20216 var Enforced = yyDollar[5].boolValUnion() 20217 yyLOCAL = tree.NewCheckIndex( 20218 Expr, 20219 Enforced, 20220 ) 20221 } 20222 yyVAL.union = yyLOCAL 20223 case 1282: 20224 yyDollar = yyS[yypt-0 : yypt+1] 20225 var yyLOCAL bool 20226 //line mysql_sql.y:8456 20227 { 20228 yyLOCAL = false 20229 } 20230 yyVAL.union = yyLOCAL 20231 case 1284: 20232 yyDollar = yyS[yypt-0 : yypt+1] 20233 //line mysql_sql.y:8462 20234 { 20235 yyVAL.str = "" 20236 } 20237 case 1285: 20238 yyDollar = yyS[yypt-1 : yypt+1] 20239 //line mysql_sql.y:8466 20240 { 20241 yyVAL.str = yyDollar[1].str 20242 } 20243 case 1288: 20244 yyDollar = yyS[yypt-1 : yypt+1] 20245 var yyLOCAL []string 20246 //line mysql_sql.y:8476 20247 { 20248 yyLOCAL = make([]string, 2) 20249 yyLOCAL[0] = yyDollar[1].str 20250 yyLOCAL[1] = "" 20251 } 20252 yyVAL.union = yyLOCAL 20253 case 1289: 20254 yyDollar = yyS[yypt-3 : yypt+1] 20255 var yyLOCAL []string 20256 //line mysql_sql.y:8482 20257 { 20258 yyLOCAL = make([]string, 2) 20259 yyLOCAL[0] = yyDollar[1].str 20260 yyLOCAL[1] = yyDollar[3].str 20261 } 20262 yyVAL.union = yyLOCAL 20263 case 1290: 20264 yyDollar = yyS[yypt-3 : yypt+1] 20265 var yyLOCAL []string 20266 //line mysql_sql.y:8488 20267 { 20268 yyLOCAL = make([]string, 2) 20269 yyLOCAL[0] = yyDollar[1].cstrUnion().Compare() 20270 yyLOCAL[1] = yyDollar[3].str 20271 } 20272 yyVAL.union = yyLOCAL 20273 case 1301: 20274 yyDollar = yyS[yypt-0 : yypt+1] 20275 //line mysql_sql.y:8509 20276 { 20277 yyVAL.str = "" 20278 } 20279 case 1302: 20280 yyDollar = yyS[yypt-1 : yypt+1] 20281 //line mysql_sql.y:8513 20282 { 20283 yyVAL.str = yyDollar[1].cstrUnion().Compare() 20284 } 20285 case 1303: 20286 yyDollar = yyS[yypt-3 : yypt+1] 20287 var yyLOCAL *tree.ColumnTableDef 20288 //line mysql_sql.y:8519 20289 { 20290 yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion()) 20291 } 20292 yyVAL.union = yyLOCAL 20293 case 1304: 20294 yyDollar = yyS[yypt-1 : yypt+1] 20295 var yyLOCAL *tree.UnresolvedName 20296 //line mysql_sql.y:8525 20297 { 20298 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare()) 20299 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin()) 20300 yyLOCAL = unResolve 20301 } 20302 yyVAL.union = yyLOCAL 20303 case 1305: 20304 yyDollar = yyS[yypt-3 : yypt+1] 20305 var yyLOCAL *tree.UnresolvedName 20306 //line mysql_sql.y:8531 20307 { 20308 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare()) 20309 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin()) 20310 yyLOCAL = unResolve 20311 } 20312 yyVAL.union = yyLOCAL 20313 case 1306: 20314 yyDollar = yyS[yypt-5 : yypt+1] 20315 var yyLOCAL *tree.UnresolvedName 20316 //line mysql_sql.y:8537 20317 { 20318 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare()) 20319 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin(), yyDollar[5].cstrUnion().Origin()) 20320 yyLOCAL = unResolve 20321 } 20322 yyVAL.union = yyLOCAL 20323 case 1307: 20324 yyDollar = yyS[yypt-1 : yypt+1] 20325 var yyLOCAL *tree.CStr 20326 //line mysql_sql.y:8545 20327 { 20328 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 20329 } 20330 yyVAL.union = yyLOCAL 20331 case 1308: 20332 yyDollar = yyS[yypt-1 : yypt+1] 20333 var yyLOCAL *tree.CStr 20334 //line mysql_sql.y:8549 20335 { 20336 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 20337 } 20338 yyVAL.union = yyLOCAL 20339 case 1309: 20340 yyDollar = yyS[yypt-1 : yypt+1] 20341 var yyLOCAL *tree.CStr 20342 //line mysql_sql.y:8553 20343 { 20344 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 20345 } 20346 yyVAL.union = yyLOCAL 20347 case 1310: 20348 yyDollar = yyS[yypt-1 : yypt+1] 20349 var yyLOCAL *tree.CStr 20350 //line mysql_sql.y:8557 20351 { 20352 yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower) 20353 } 20354 yyVAL.union = yyLOCAL 20355 case 1311: 20356 yyDollar = yyS[yypt-1 : yypt+1] 20357 var yyLOCAL *tree.UnresolvedName 20358 //line mysql_sql.y:8563 20359 { 20360 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare()) 20361 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin()) 20362 yyLOCAL = unResolve 20363 } 20364 yyVAL.union = yyLOCAL 20365 case 1312: 20366 yyDollar = yyS[yypt-3 : yypt+1] 20367 var yyLOCAL *tree.UnresolvedName 20368 //line mysql_sql.y:8569 20369 { 20370 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare()) 20371 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin()) 20372 yyLOCAL = unResolve 20373 } 20374 yyVAL.union = yyLOCAL 20375 case 1313: 20376 yyDollar = yyS[yypt-5 : yypt+1] 20377 var yyLOCAL *tree.UnresolvedName 20378 //line mysql_sql.y:8575 20379 { 20380 unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare()) 20381 unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin(), yyDollar[5].cstrUnion().Origin()) 20382 yyLOCAL = unResolve 20383 } 20384 yyVAL.union = yyLOCAL 20385 case 1314: 20386 yyDollar = yyS[yypt-0 : yypt+1] 20387 var yyLOCAL []tree.ColumnAttribute 20388 //line mysql_sql.y:8582 20389 { 20390 yyLOCAL = nil 20391 } 20392 yyVAL.union = yyLOCAL 20393 case 1315: 20394 yyDollar = yyS[yypt-1 : yypt+1] 20395 var yyLOCAL []tree.ColumnAttribute 20396 //line mysql_sql.y:8586 20397 { 20398 yyLOCAL = yyDollar[1].columnAttributesUnion() 20399 } 20400 yyVAL.union = yyLOCAL 20401 case 1316: 20402 yyDollar = yyS[yypt-1 : yypt+1] 20403 var yyLOCAL []tree.ColumnAttribute 20404 //line mysql_sql.y:8592 20405 { 20406 yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()} 20407 } 20408 yyVAL.union = yyLOCAL 20409 case 1317: 20410 yyDollar = yyS[yypt-2 : yypt+1] 20411 var yyLOCAL []tree.ColumnAttribute 20412 //line mysql_sql.y:8596 20413 { 20414 yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion()) 20415 } 20416 yyVAL.union = yyLOCAL 20417 case 1318: 20418 yyDollar = yyS[yypt-1 : yypt+1] 20419 var yyLOCAL tree.ColumnAttribute 20420 //line mysql_sql.y:8602 20421 { 20422 yyLOCAL = tree.NewAttributeNull(true) 20423 } 20424 yyVAL.union = yyLOCAL 20425 case 1319: 20426 yyDollar = yyS[yypt-2 : yypt+1] 20427 var yyLOCAL tree.ColumnAttribute 20428 //line mysql_sql.y:8606 20429 { 20430 yyLOCAL = tree.NewAttributeNull(false) 20431 } 20432 yyVAL.union = yyLOCAL 20433 case 1320: 20434 yyDollar = yyS[yypt-2 : yypt+1] 20435 var yyLOCAL tree.ColumnAttribute 20436 //line mysql_sql.y:8610 20437 { 20438 yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion()) 20439 } 20440 yyVAL.union = yyLOCAL 20441 case 1321: 20442 yyDollar = yyS[yypt-1 : yypt+1] 20443 var yyLOCAL tree.ColumnAttribute 20444 //line mysql_sql.y:8614 20445 { 20446 yyLOCAL = tree.NewAttributeAutoIncrement() 20447 } 20448 yyVAL.union = yyLOCAL 20449 case 1322: 20450 yyDollar = yyS[yypt-1 : yypt+1] 20451 var yyLOCAL tree.ColumnAttribute 20452 //line mysql_sql.y:8618 20453 { 20454 yyLOCAL = yyDollar[1].columnAttributeUnion() 20455 } 20456 yyVAL.union = yyLOCAL 20457 case 1323: 20458 yyDollar = yyS[yypt-2 : yypt+1] 20459 var yyLOCAL tree.ColumnAttribute 20460 //line mysql_sql.y:8622 20461 { 20462 str := util.DealCommentString(yyDollar[2].str) 20463 yyLOCAL = tree.NewAttributeComment(tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)) 20464 } 20465 yyVAL.union = yyLOCAL 20466 case 1324: 20467 yyDollar = yyS[yypt-2 : yypt+1] 20468 var yyLOCAL tree.ColumnAttribute 20469 //line mysql_sql.y:8627 20470 { 20471 yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str) 20472 } 20473 yyVAL.union = yyLOCAL 20474 case 1325: 20475 yyDollar = yyS[yypt-2 : yypt+1] 20476 var yyLOCAL tree.ColumnAttribute 20477 //line mysql_sql.y:8631 20478 { 20479 yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str) 20480 } 20481 yyVAL.union = yyLOCAL 20482 case 1326: 20483 yyDollar = yyS[yypt-3 : yypt+1] 20484 var yyLOCAL tree.ColumnAttribute 20485 //line mysql_sql.y:8635 20486 { 20487 yyLOCAL = nil 20488 } 20489 yyVAL.union = yyLOCAL 20490 case 1327: 20491 yyDollar = yyS[yypt-3 : yypt+1] 20492 var yyLOCAL tree.ColumnAttribute 20493 //line mysql_sql.y:8639 20494 { 20495 yyLOCAL = nil 20496 } 20497 yyVAL.union = yyLOCAL 20498 case 1328: 20499 yyDollar = yyS[yypt-2 : yypt+1] 20500 var yyLOCAL tree.ColumnAttribute 20501 //line mysql_sql.y:8643 20502 { 20503 yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str) 20504 } 20505 yyVAL.union = yyLOCAL 20506 case 1329: 20507 yyDollar = yyS[yypt-2 : yypt+1] 20508 var yyLOCAL tree.ColumnAttribute 20509 //line mysql_sql.y:8647 20510 { 20511 yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion())) 20512 } 20513 yyVAL.union = yyLOCAL 20514 case 1330: 20515 yyDollar = yyS[yypt-1 : yypt+1] 20516 var yyLOCAL tree.ColumnAttribute 20517 //line mysql_sql.y:8651 20518 { 20519 yyLOCAL = yyDollar[1].attributeReferenceUnion() 20520 } 20521 yyVAL.union = yyLOCAL 20522 case 1331: 20523 yyDollar = yyS[yypt-5 : yypt+1] 20524 var yyLOCAL tree.ColumnAttribute 20525 //line mysql_sql.y:8655 20526 { 20527 yyLOCAL = tree.NewAttributeCheckConstraint(yyDollar[4].exprUnion(), false, yyDollar[1].str) 20528 } 20529 yyVAL.union = yyLOCAL 20530 case 1332: 20531 yyDollar = yyS[yypt-6 : yypt+1] 20532 var yyLOCAL tree.ColumnAttribute 20533 //line mysql_sql.y:8659 20534 { 20535 yyLOCAL = tree.NewAttributeCheckConstraint(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str) 20536 } 20537 yyVAL.union = yyLOCAL 20538 case 1333: 20539 yyDollar = yyS[yypt-4 : yypt+1] 20540 var yyLOCAL tree.ColumnAttribute 20541 //line mysql_sql.y:8663 20542 { 20543 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[3].str)) 20544 var es tree.Exprs = nil 20545 if yyDollar[4].exprUnion() != nil { 20546 es = append(es, yyDollar[4].exprUnion()) 20547 } 20548 expr := &tree.FuncExpr{ 20549 Func: tree.FuncName2ResolvableFunctionReference(name), 20550 FuncName: tree.NewCStrUseOrigin(yyDollar[3].str, yylex.(*Lexer).useOrigin), 20551 Exprs: es, 20552 } 20553 yyLOCAL = tree.NewAttributeOnUpdate(expr) 20554 } 20555 yyVAL.union = yyLOCAL 20556 case 1334: 20557 yyDollar = yyS[yypt-1 : yypt+1] 20558 var yyLOCAL tree.ColumnAttribute 20559 //line mysql_sql.y:8677 20560 { 20561 yyLOCAL = tree.NewAttributeLowCardinality() 20562 } 20563 yyVAL.union = yyLOCAL 20564 case 1335: 20565 yyDollar = yyS[yypt-1 : yypt+1] 20566 var yyLOCAL tree.ColumnAttribute 20567 //line mysql_sql.y:8681 20568 { 20569 yyLOCAL = tree.NewAttributeVisable(true) 20570 } 20571 yyVAL.union = yyLOCAL 20572 case 1336: 20573 yyDollar = yyS[yypt-1 : yypt+1] 20574 var yyLOCAL tree.ColumnAttribute 20575 //line mysql_sql.y:8685 20576 { 20577 yyLOCAL = tree.NewAttributeVisable(false) 20578 } 20579 yyVAL.union = yyLOCAL 20580 case 1337: 20581 yyDollar = yyS[yypt-5 : yypt+1] 20582 var yyLOCAL tree.ColumnAttribute 20583 //line mysql_sql.y:8689 20584 { 20585 yyLOCAL = nil 20586 } 20587 yyVAL.union = yyLOCAL 20588 case 1338: 20589 yyDollar = yyS[yypt-4 : yypt+1] 20590 var yyLOCAL tree.ColumnAttribute 20591 //line mysql_sql.y:8693 20592 { 20593 yyLOCAL = tree.NewAttributeHeader(yyDollar[3].str) 20594 } 20595 yyVAL.union = yyLOCAL 20596 case 1339: 20597 yyDollar = yyS[yypt-1 : yypt+1] 20598 var yyLOCAL tree.ColumnAttribute 20599 //line mysql_sql.y:8697 20600 { 20601 yyLOCAL = tree.NewAttributeHeaders() 20602 } 20603 yyVAL.union = yyLOCAL 20604 case 1340: 20605 yyDollar = yyS[yypt-1 : yypt+1] 20606 var yyLOCAL bool 20607 //line mysql_sql.y:8703 20608 { 20609 yyLOCAL = true 20610 } 20611 yyVAL.union = yyLOCAL 20612 case 1341: 20613 yyDollar = yyS[yypt-2 : yypt+1] 20614 var yyLOCAL bool 20615 //line mysql_sql.y:8707 20616 { 20617 yyLOCAL = false 20618 } 20619 yyVAL.union = yyLOCAL 20620 case 1342: 20621 yyDollar = yyS[yypt-0 : yypt+1] 20622 //line mysql_sql.y:8712 20623 { 20624 yyVAL.str = "" 20625 } 20626 case 1343: 20627 yyDollar = yyS[yypt-1 : yypt+1] 20628 //line mysql_sql.y:8716 20629 { 20630 yyVAL.str = yyDollar[1].str 20631 } 20632 case 1344: 20633 yyDollar = yyS[yypt-1 : yypt+1] 20634 //line mysql_sql.y:8722 20635 { 20636 yyVAL.str = "" 20637 } 20638 case 1345: 20639 yyDollar = yyS[yypt-2 : yypt+1] 20640 //line mysql_sql.y:8726 20641 { 20642 yyVAL.str = yyDollar[2].cstrUnion().Compare() 20643 } 20644 case 1346: 20645 yyDollar = yyS[yypt-5 : yypt+1] 20646 var yyLOCAL *tree.AttributeReference 20647 //line mysql_sql.y:8732 20648 { 20649 var TableName = yyDollar[2].tableNameUnion() 20650 var KeyParts = yyDollar[3].keyPartsUnion() 20651 var Match = yyDollar[4].matchTypeUnion() 20652 var OnDelete = yyDollar[5].referenceOnRecordUnion().OnDelete 20653 var OnUpdate = yyDollar[5].referenceOnRecordUnion().OnUpdate 20654 yyLOCAL = tree.NewAttributeReference( 20655 TableName, 20656 KeyParts, 20657 Match, 20658 OnDelete, 20659 OnUpdate, 20660 ) 20661 } 20662 yyVAL.union = yyLOCAL 20663 case 1347: 20664 yyDollar = yyS[yypt-0 : yypt+1] 20665 var yyLOCAL *tree.ReferenceOnRecord 20666 //line mysql_sql.y:8749 20667 { 20668 yyLOCAL = &tree.ReferenceOnRecord{ 20669 OnDelete: tree.REFERENCE_OPTION_INVALID, 20670 OnUpdate: tree.REFERENCE_OPTION_INVALID, 20671 } 20672 } 20673 yyVAL.union = yyLOCAL 20674 case 1348: 20675 yyDollar = yyS[yypt-1 : yypt+1] 20676 var yyLOCAL *tree.ReferenceOnRecord 20677 //line mysql_sql.y:8756 20678 { 20679 yyLOCAL = &tree.ReferenceOnRecord{ 20680 OnDelete: yyDollar[1].referenceOptionTypeUnion(), 20681 OnUpdate: tree.REFERENCE_OPTION_INVALID, 20682 } 20683 } 20684 yyVAL.union = yyLOCAL 20685 case 1349: 20686 yyDollar = yyS[yypt-1 : yypt+1] 20687 var yyLOCAL *tree.ReferenceOnRecord 20688 //line mysql_sql.y:8763 20689 { 20690 yyLOCAL = &tree.ReferenceOnRecord{ 20691 OnDelete: tree.REFERENCE_OPTION_INVALID, 20692 OnUpdate: yyDollar[1].referenceOptionTypeUnion(), 20693 } 20694 } 20695 yyVAL.union = yyLOCAL 20696 case 1350: 20697 yyDollar = yyS[yypt-2 : yypt+1] 20698 var yyLOCAL *tree.ReferenceOnRecord 20699 //line mysql_sql.y:8770 20700 { 20701 yyLOCAL = &tree.ReferenceOnRecord{ 20702 OnDelete: yyDollar[1].referenceOptionTypeUnion(), 20703 OnUpdate: yyDollar[2].referenceOptionTypeUnion(), 20704 } 20705 } 20706 yyVAL.union = yyLOCAL 20707 case 1351: 20708 yyDollar = yyS[yypt-2 : yypt+1] 20709 var yyLOCAL *tree.ReferenceOnRecord 20710 //line mysql_sql.y:8777 20711 { 20712 yyLOCAL = &tree.ReferenceOnRecord{ 20713 OnDelete: yyDollar[2].referenceOptionTypeUnion(), 20714 OnUpdate: yyDollar[1].referenceOptionTypeUnion(), 20715 } 20716 } 20717 yyVAL.union = yyLOCAL 20718 case 1352: 20719 yyDollar = yyS[yypt-3 : yypt+1] 20720 var yyLOCAL tree.ReferenceOptionType 20721 //line mysql_sql.y:8786 20722 { 20723 yyLOCAL = yyDollar[3].referenceOptionTypeUnion() 20724 } 20725 yyVAL.union = yyLOCAL 20726 case 1353: 20727 yyDollar = yyS[yypt-3 : yypt+1] 20728 var yyLOCAL tree.ReferenceOptionType 20729 //line mysql_sql.y:8792 20730 { 20731 yyLOCAL = yyDollar[3].referenceOptionTypeUnion() 20732 } 20733 yyVAL.union = yyLOCAL 20734 case 1354: 20735 yyDollar = yyS[yypt-1 : yypt+1] 20736 var yyLOCAL tree.ReferenceOptionType 20737 //line mysql_sql.y:8798 20738 { 20739 yyLOCAL = tree.REFERENCE_OPTION_RESTRICT 20740 } 20741 yyVAL.union = yyLOCAL 20742 case 1355: 20743 yyDollar = yyS[yypt-1 : yypt+1] 20744 var yyLOCAL tree.ReferenceOptionType 20745 //line mysql_sql.y:8802 20746 { 20747 yyLOCAL = tree.REFERENCE_OPTION_CASCADE 20748 } 20749 yyVAL.union = yyLOCAL 20750 case 1356: 20751 yyDollar = yyS[yypt-2 : yypt+1] 20752 var yyLOCAL tree.ReferenceOptionType 20753 //line mysql_sql.y:8806 20754 { 20755 yyLOCAL = tree.REFERENCE_OPTION_SET_NULL 20756 } 20757 yyVAL.union = yyLOCAL 20758 case 1357: 20759 yyDollar = yyS[yypt-2 : yypt+1] 20760 var yyLOCAL tree.ReferenceOptionType 20761 //line mysql_sql.y:8810 20762 { 20763 yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION 20764 } 20765 yyVAL.union = yyLOCAL 20766 case 1358: 20767 yyDollar = yyS[yypt-2 : yypt+1] 20768 var yyLOCAL tree.ReferenceOptionType 20769 //line mysql_sql.y:8814 20770 { 20771 yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT 20772 } 20773 yyVAL.union = yyLOCAL 20774 case 1359: 20775 yyDollar = yyS[yypt-0 : yypt+1] 20776 var yyLOCAL tree.MatchType 20777 //line mysql_sql.y:8819 20778 { 20779 yyLOCAL = tree.MATCH_INVALID 20780 } 20781 yyVAL.union = yyLOCAL 20782 case 1361: 20783 yyDollar = yyS[yypt-2 : yypt+1] 20784 var yyLOCAL tree.MatchType 20785 //line mysql_sql.y:8826 20786 { 20787 yyLOCAL = tree.MATCH_FULL 20788 } 20789 yyVAL.union = yyLOCAL 20790 case 1362: 20791 yyDollar = yyS[yypt-2 : yypt+1] 20792 var yyLOCAL tree.MatchType 20793 //line mysql_sql.y:8830 20794 { 20795 yyLOCAL = tree.MATCH_PARTIAL 20796 } 20797 yyVAL.union = yyLOCAL 20798 case 1363: 20799 yyDollar = yyS[yypt-2 : yypt+1] 20800 var yyLOCAL tree.MatchType 20801 //line mysql_sql.y:8834 20802 { 20803 yyLOCAL = tree.MATCH_SIMPLE 20804 } 20805 yyVAL.union = yyLOCAL 20806 case 1364: 20807 yyDollar = yyS[yypt-0 : yypt+1] 20808 var yyLOCAL []*tree.KeyPart 20809 //line mysql_sql.y:8839 20810 { 20811 yyLOCAL = nil 20812 } 20813 yyVAL.union = yyLOCAL 20814 case 1365: 20815 yyDollar = yyS[yypt-3 : yypt+1] 20816 var yyLOCAL []*tree.KeyPart 20817 //line mysql_sql.y:8843 20818 { 20819 yyLOCAL = yyDollar[2].keyPartsUnion() 20820 } 20821 yyVAL.union = yyLOCAL 20822 case 1366: 20823 yyDollar = yyS[yypt-0 : yypt+1] 20824 var yyLOCAL int64 20825 //line mysql_sql.y:8848 20826 { 20827 yyLOCAL = -1 20828 } 20829 yyVAL.union = yyLOCAL 20830 case 1367: 20831 yyDollar = yyS[yypt-3 : yypt+1] 20832 var yyLOCAL int64 20833 //line mysql_sql.y:8852 20834 { 20835 yyLOCAL = yyDollar[2].item.(int64) 20836 } 20837 yyVAL.union = yyLOCAL 20838 case 1374: 20839 yyDollar = yyS[yypt-1 : yypt+1] 20840 var yyLOCAL *tree.Subquery 20841 //line mysql_sql.y:8868 20842 { 20843 yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false} 20844 } 20845 yyVAL.union = yyLOCAL 20846 case 1375: 20847 yyDollar = yyS[yypt-3 : yypt+1] 20848 var yyLOCAL tree.Expr 20849 //line mysql_sql.y:8874 20850 { 20851 yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20852 } 20853 yyVAL.union = yyLOCAL 20854 case 1376: 20855 yyDollar = yyS[yypt-3 : yypt+1] 20856 var yyLOCAL tree.Expr 20857 //line mysql_sql.y:8878 20858 { 20859 yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20860 } 20861 yyVAL.union = yyLOCAL 20862 case 1377: 20863 yyDollar = yyS[yypt-3 : yypt+1] 20864 var yyLOCAL tree.Expr 20865 //line mysql_sql.y:8882 20866 { 20867 yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20868 } 20869 yyVAL.union = yyLOCAL 20870 case 1378: 20871 yyDollar = yyS[yypt-3 : yypt+1] 20872 var yyLOCAL tree.Expr 20873 //line mysql_sql.y:8886 20874 { 20875 yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20876 } 20877 yyVAL.union = yyLOCAL 20878 case 1379: 20879 yyDollar = yyS[yypt-3 : yypt+1] 20880 var yyLOCAL tree.Expr 20881 //line mysql_sql.y:8890 20882 { 20883 yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20884 } 20885 yyVAL.union = yyLOCAL 20886 case 1380: 20887 yyDollar = yyS[yypt-3 : yypt+1] 20888 var yyLOCAL tree.Expr 20889 //line mysql_sql.y:8894 20890 { 20891 yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20892 } 20893 yyVAL.union = yyLOCAL 20894 case 1381: 20895 yyDollar = yyS[yypt-3 : yypt+1] 20896 var yyLOCAL tree.Expr 20897 //line mysql_sql.y:8898 20898 { 20899 yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20900 } 20901 yyVAL.union = yyLOCAL 20902 case 1382: 20903 yyDollar = yyS[yypt-3 : yypt+1] 20904 var yyLOCAL tree.Expr 20905 //line mysql_sql.y:8902 20906 { 20907 yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20908 } 20909 yyVAL.union = yyLOCAL 20910 case 1383: 20911 yyDollar = yyS[yypt-3 : yypt+1] 20912 var yyLOCAL tree.Expr 20913 //line mysql_sql.y:8906 20914 { 20915 yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20916 } 20917 yyVAL.union = yyLOCAL 20918 case 1384: 20919 yyDollar = yyS[yypt-3 : yypt+1] 20920 var yyLOCAL tree.Expr 20921 //line mysql_sql.y:8910 20922 { 20923 yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20924 } 20925 yyVAL.union = yyLOCAL 20926 case 1385: 20927 yyDollar = yyS[yypt-3 : yypt+1] 20928 var yyLOCAL tree.Expr 20929 //line mysql_sql.y:8914 20930 { 20931 yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20932 } 20933 yyVAL.union = yyLOCAL 20934 case 1386: 20935 yyDollar = yyS[yypt-3 : yypt+1] 20936 var yyLOCAL tree.Expr 20937 //line mysql_sql.y:8918 20938 { 20939 yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 20940 } 20941 yyVAL.union = yyLOCAL 20942 case 1387: 20943 yyDollar = yyS[yypt-1 : yypt+1] 20944 var yyLOCAL tree.Expr 20945 //line mysql_sql.y:8922 20946 { 20947 yyLOCAL = yyDollar[1].exprUnion() 20948 } 20949 yyVAL.union = yyLOCAL 20950 case 1388: 20951 yyDollar = yyS[yypt-1 : yypt+1] 20952 var yyLOCAL tree.Expr 20953 //line mysql_sql.y:8928 20954 { 20955 yyLOCAL = yyDollar[1].unresolvedNameUnion() 20956 } 20957 yyVAL.union = yyLOCAL 20958 case 1389: 20959 yyDollar = yyS[yypt-1 : yypt+1] 20960 var yyLOCAL tree.Expr 20961 //line mysql_sql.y:8932 20962 { 20963 yyLOCAL = yyDollar[1].varExprUnion() 20964 } 20965 yyVAL.union = yyLOCAL 20966 case 1390: 20967 yyDollar = yyS[yypt-1 : yypt+1] 20968 var yyLOCAL tree.Expr 20969 //line mysql_sql.y:8936 20970 { 20971 yyLOCAL = yyDollar[1].exprUnion() 20972 } 20973 yyVAL.union = yyLOCAL 20974 case 1391: 20975 yyDollar = yyS[yypt-3 : yypt+1] 20976 var yyLOCAL tree.Expr 20977 //line mysql_sql.y:8940 20978 { 20979 yyLOCAL = tree.NewParentExpr(yyDollar[2].exprUnion()) 20980 } 20981 yyVAL.union = yyLOCAL 20982 case 1392: 20983 yyDollar = yyS[yypt-5 : yypt+1] 20984 var yyLOCAL tree.Expr 20985 //line mysql_sql.y:8944 20986 { 20987 yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion())) 20988 } 20989 yyVAL.union = yyLOCAL 20990 case 1393: 20991 yyDollar = yyS[yypt-2 : yypt+1] 20992 var yyLOCAL tree.Expr 20993 //line mysql_sql.y:8948 20994 { 20995 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion()) 20996 } 20997 yyVAL.union = yyLOCAL 20998 case 1394: 20999 yyDollar = yyS[yypt-2 : yypt+1] 21000 var yyLOCAL tree.Expr 21001 //line mysql_sql.y:8952 21002 { 21003 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion()) 21004 } 21005 yyVAL.union = yyLOCAL 21006 case 1395: 21007 yyDollar = yyS[yypt-2 : yypt+1] 21008 var yyLOCAL tree.Expr 21009 //line mysql_sql.y:8956 21010 { 21011 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion()) 21012 } 21013 yyVAL.union = yyLOCAL 21014 case 1396: 21015 yyDollar = yyS[yypt-2 : yypt+1] 21016 var yyLOCAL tree.Expr 21017 //line mysql_sql.y:8960 21018 { 21019 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion()) 21020 } 21021 yyVAL.union = yyLOCAL 21022 case 1397: 21023 yyDollar = yyS[yypt-4 : yypt+1] 21024 var yyLOCAL tree.Expr 21025 //line mysql_sql.y:8964 21026 { 21027 hint := strings.ToLower(yyDollar[2].cstrUnion().Compare()) 21028 switch hint { 21029 case "d": 21030 locale := "" 21031 t := &tree.T{ 21032 InternalType: tree.InternalType{ 21033 Family: tree.TimestampFamily, 21034 FamilyString: "DATETIME", 21035 Locale: &locale, 21036 Oid: uint32(defines.MYSQL_TYPE_DATETIME), 21037 }, 21038 } 21039 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), t) 21040 case "t": 21041 locale := "" 21042 t := &tree.T{ 21043 InternalType: tree.InternalType{ 21044 Family: tree.TimeFamily, 21045 FamilyString: "TIME", 21046 Locale: &locale, 21047 Oid: uint32(defines.MYSQL_TYPE_TIME), 21048 }, 21049 } 21050 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), t) 21051 case "ts": 21052 locale := "" 21053 t := &tree.T{ 21054 InternalType: tree.InternalType{ 21055 Family: tree.TimestampFamily, 21056 FamilyString: "TIMESTAMP", 21057 Locale: &locale, 21058 Oid: uint32(defines.MYSQL_TYPE_TIMESTAMP), 21059 }, 21060 } 21061 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), t) 21062 default: 21063 yylex.Error("Invalid type") 21064 return 1 21065 } 21066 } 21067 yyVAL.union = yyLOCAL 21068 case 1398: 21069 yyDollar = yyS[yypt-1 : yypt+1] 21070 var yyLOCAL tree.Expr 21071 //line mysql_sql.y:9006 21072 { 21073 yyLOCAL = yyDollar[1].exprUnion() 21074 } 21075 yyVAL.union = yyLOCAL 21076 case 1399: 21077 yyDollar = yyS[yypt-1 : yypt+1] 21078 var yyLOCAL tree.Expr 21079 //line mysql_sql.y:9010 21080 { 21081 yyLOCAL = yyDollar[1].subqueryUnion() 21082 } 21083 yyVAL.union = yyLOCAL 21084 case 1400: 21085 yyDollar = yyS[yypt-2 : yypt+1] 21086 var yyLOCAL tree.Expr 21087 //line mysql_sql.y:9014 21088 { 21089 yyDollar[2].subqueryUnion().Exists = true 21090 yyLOCAL = yyDollar[2].subqueryUnion() 21091 } 21092 yyVAL.union = yyLOCAL 21093 case 1401: 21094 yyDollar = yyS[yypt-5 : yypt+1] 21095 var yyLOCAL tree.Expr 21096 //line mysql_sql.y:9019 21097 { 21098 yyLOCAL = &tree.CaseExpr{ 21099 Expr: yyDollar[2].exprUnion(), 21100 Whens: yyDollar[3].whenClauseListUnion(), 21101 Else: yyDollar[4].exprUnion(), 21102 } 21103 } 21104 yyVAL.union = yyLOCAL 21105 case 1402: 21106 yyDollar = yyS[yypt-6 : yypt+1] 21107 var yyLOCAL tree.Expr 21108 //line mysql_sql.y:9027 21109 { 21110 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) 21111 } 21112 yyVAL.union = yyLOCAL 21113 case 1403: 21114 yyDollar = yyS[yypt-8 : yypt+1] 21115 var yyLOCAL tree.Expr 21116 //line mysql_sql.y:9031 21117 { 21118 yyLOCAL = tree.NewSerialExtractExpr(yyDollar[3].exprUnion(), yyDollar[5].exprUnion(), yyDollar[7].columnTypeUnion()) 21119 } 21120 yyVAL.union = yyLOCAL 21121 case 1404: 21122 yyDollar = yyS[yypt-6 : yypt+1] 21123 var yyLOCAL tree.Expr 21124 //line mysql_sql.y:9035 21125 { 21126 yyLOCAL = tree.NewBitCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) 21127 } 21128 yyVAL.union = yyLOCAL 21129 case 1405: 21130 yyDollar = yyS[yypt-6 : yypt+1] 21131 var yyLOCAL tree.Expr 21132 //line mysql_sql.y:9039 21133 { 21134 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) 21135 } 21136 yyVAL.union = yyLOCAL 21137 case 1406: 21138 yyDollar = yyS[yypt-6 : yypt+1] 21139 var yyLOCAL tree.Expr 21140 //line mysql_sql.y:9043 21141 { 21142 name := tree.SetUnresolvedName("convert") 21143 es := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) 21144 yyLOCAL = &tree.FuncExpr{ 21145 Func: tree.FuncName2ResolvableFunctionReference(name), 21146 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21147 Exprs: tree.Exprs{yyDollar[3].exprUnion(), es}, 21148 } 21149 } 21150 yyVAL.union = yyLOCAL 21151 case 1407: 21152 yyDollar = yyS[yypt-1 : yypt+1] 21153 var yyLOCAL tree.Expr 21154 //line mysql_sql.y:9053 21155 { 21156 yyLOCAL = yyDollar[1].funcExprUnion() 21157 } 21158 yyVAL.union = yyLOCAL 21159 case 1408: 21160 yyDollar = yyS[yypt-1 : yypt+1] 21161 var yyLOCAL tree.Expr 21162 //line mysql_sql.y:9057 21163 { 21164 yyLOCAL = yyDollar[1].funcExprUnion() 21165 } 21166 yyVAL.union = yyLOCAL 21167 case 1409: 21168 yyDollar = yyS[yypt-1 : yypt+1] 21169 var yyLOCAL tree.Expr 21170 //line mysql_sql.y:9061 21171 { 21172 yyLOCAL = yyDollar[1].funcExprUnion() 21173 } 21174 yyVAL.union = yyLOCAL 21175 case 1410: 21176 yyDollar = yyS[yypt-1 : yypt+1] 21177 var yyLOCAL tree.Expr 21178 //line mysql_sql.y:9065 21179 { 21180 yyLOCAL = yyDollar[1].funcExprUnion() 21181 } 21182 yyVAL.union = yyLOCAL 21183 case 1411: 21184 yyDollar = yyS[yypt-1 : yypt+1] 21185 var yyLOCAL tree.Expr 21186 //line mysql_sql.y:9069 21187 { 21188 yyLOCAL = yyDollar[1].funcExprUnion() 21189 } 21190 yyVAL.union = yyLOCAL 21191 case 1412: 21192 yyDollar = yyS[yypt-1 : yypt+1] 21193 var yyLOCAL tree.Expr 21194 //line mysql_sql.y:9073 21195 { 21196 yyLOCAL = yyDollar[1].exprUnion() 21197 } 21198 yyVAL.union = yyLOCAL 21199 case 1413: 21200 yyDollar = yyS[yypt-3 : yypt+1] 21201 var yyLOCAL tree.Expr 21202 //line mysql_sql.y:9077 21203 { 21204 yyLOCAL = yyDollar[1].exprUnion() 21205 } 21206 yyVAL.union = yyLOCAL 21207 case 1414: 21208 yyDollar = yyS[yypt-4 : yypt+1] 21209 var yyLOCAL *tree.FuncExpr 21210 //line mysql_sql.y:9083 21211 { 21212 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21213 yyLOCAL = &tree.FuncExpr{ 21214 Func: tree.FuncName2ResolvableFunctionReference(name), 21215 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21216 WindowSpec: yyDollar[4].windowSpecUnion(), 21217 } 21218 } 21219 yyVAL.union = yyLOCAL 21220 case 1415: 21221 yyDollar = yyS[yypt-4 : yypt+1] 21222 var yyLOCAL *tree.FuncExpr 21223 //line mysql_sql.y:9092 21224 { 21225 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21226 yyLOCAL = &tree.FuncExpr{ 21227 Func: tree.FuncName2ResolvableFunctionReference(name), 21228 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21229 WindowSpec: yyDollar[4].windowSpecUnion(), 21230 } 21231 } 21232 yyVAL.union = yyLOCAL 21233 case 1416: 21234 yyDollar = yyS[yypt-4 : yypt+1] 21235 var yyLOCAL *tree.FuncExpr 21236 //line mysql_sql.y:9101 21237 { 21238 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21239 yyLOCAL = &tree.FuncExpr{ 21240 Func: tree.FuncName2ResolvableFunctionReference(name), 21241 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21242 WindowSpec: yyDollar[4].windowSpecUnion(), 21243 } 21244 } 21245 yyVAL.union = yyLOCAL 21246 case 1417: 21247 yyDollar = yyS[yypt-7 : yypt+1] 21248 var yyLOCAL tree.Expr 21249 //line mysql_sql.y:9112 21250 { 21251 v := int(yyDollar[5].item.(int64)) 21252 val, err := tree.NewSampleRowsFuncExpression(v, true, nil, "block") 21253 if err != nil { 21254 yylex.Error(err.Error()) 21255 goto ret1 21256 } 21257 yyLOCAL = val 21258 } 21259 yyVAL.union = yyLOCAL 21260 case 1418: 21261 yyDollar = yyS[yypt-9 : yypt+1] 21262 var yyLOCAL tree.Expr 21263 //line mysql_sql.y:9122 21264 { 21265 v := int(yyDollar[5].item.(int64)) 21266 val, err := tree.NewSampleRowsFuncExpression(v, true, nil, yyDollar[8].str) 21267 if err != nil { 21268 yylex.Error(err.Error()) 21269 goto ret1 21270 } 21271 yyLOCAL = val 21272 } 21273 yyVAL.union = yyLOCAL 21274 case 1419: 21275 yyDollar = yyS[yypt-7 : yypt+1] 21276 var yyLOCAL tree.Expr 21277 //line mysql_sql.y:9132 21278 { 21279 val, err := tree.NewSamplePercentFuncExpression1(yyDollar[5].item.(int64), true, nil) 21280 if err != nil { 21281 yylex.Error(err.Error()) 21282 goto ret1 21283 } 21284 yyLOCAL = val 21285 } 21286 yyVAL.union = yyLOCAL 21287 case 1420: 21288 yyDollar = yyS[yypt-7 : yypt+1] 21289 var yyLOCAL tree.Expr 21290 //line mysql_sql.y:9141 21291 { 21292 val, err := tree.NewSamplePercentFuncExpression2(yyDollar[5].item.(float64), true, nil) 21293 if err != nil { 21294 yylex.Error(err.Error()) 21295 goto ret1 21296 } 21297 yyLOCAL = val 21298 } 21299 yyVAL.union = yyLOCAL 21300 case 1421: 21301 yyDollar = yyS[yypt-7 : yypt+1] 21302 var yyLOCAL tree.Expr 21303 //line mysql_sql.y:9151 21304 { 21305 v := int(yyDollar[5].item.(int64)) 21306 val, err := tree.NewSampleRowsFuncExpression(v, false, yyDollar[3].exprsUnion(), "block") 21307 if err != nil { 21308 yylex.Error(err.Error()) 21309 goto ret1 21310 } 21311 yyLOCAL = val 21312 } 21313 yyVAL.union = yyLOCAL 21314 case 1422: 21315 yyDollar = yyS[yypt-9 : yypt+1] 21316 var yyLOCAL tree.Expr 21317 //line mysql_sql.y:9161 21318 { 21319 v := int(yyDollar[5].item.(int64)) 21320 val, err := tree.NewSampleRowsFuncExpression(v, false, yyDollar[3].exprsUnion(), yyDollar[8].str) 21321 if err != nil { 21322 yylex.Error(err.Error()) 21323 goto ret1 21324 } 21325 yyLOCAL = val 21326 } 21327 yyVAL.union = yyLOCAL 21328 case 1423: 21329 yyDollar = yyS[yypt-7 : yypt+1] 21330 var yyLOCAL tree.Expr 21331 //line mysql_sql.y:9171 21332 { 21333 val, err := tree.NewSamplePercentFuncExpression1(yyDollar[5].item.(int64), false, yyDollar[3].exprsUnion()) 21334 if err != nil { 21335 yylex.Error(err.Error()) 21336 goto ret1 21337 } 21338 yyLOCAL = val 21339 } 21340 yyVAL.union = yyLOCAL 21341 case 1424: 21342 yyDollar = yyS[yypt-7 : yypt+1] 21343 var yyLOCAL tree.Expr 21344 //line mysql_sql.y:9180 21345 { 21346 val, err := tree.NewSamplePercentFuncExpression2(yyDollar[5].item.(float64), false, yyDollar[3].exprsUnion()) 21347 if err != nil { 21348 yylex.Error(err.Error()) 21349 goto ret1 21350 } 21351 yyLOCAL = val 21352 } 21353 yyVAL.union = yyLOCAL 21354 case 1425: 21355 yyDollar = yyS[yypt-0 : yypt+1] 21356 var yyLOCAL tree.Expr 21357 //line mysql_sql.y:9190 21358 { 21359 yyLOCAL = nil 21360 } 21361 yyVAL.union = yyLOCAL 21362 case 1426: 21363 yyDollar = yyS[yypt-2 : yypt+1] 21364 var yyLOCAL tree.Expr 21365 //line mysql_sql.y:9194 21366 { 21367 yyLOCAL = yyDollar[2].exprUnion() 21368 } 21369 yyVAL.union = yyLOCAL 21370 case 1427: 21371 yyDollar = yyS[yypt-0 : yypt+1] 21372 var yyLOCAL tree.Expr 21373 //line mysql_sql.y:9199 21374 { 21375 yyLOCAL = nil 21376 } 21377 yyVAL.union = yyLOCAL 21378 case 1428: 21379 yyDollar = yyS[yypt-1 : yypt+1] 21380 var yyLOCAL tree.Expr 21381 //line mysql_sql.y:9203 21382 { 21383 yyLOCAL = yyDollar[1].exprUnion() 21384 } 21385 yyVAL.union = yyLOCAL 21386 case 1429: 21387 yyDollar = yyS[yypt-1 : yypt+1] 21388 var yyLOCAL []*tree.When 21389 //line mysql_sql.y:9209 21390 { 21391 yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()} 21392 } 21393 yyVAL.union = yyLOCAL 21394 case 1430: 21395 yyDollar = yyS[yypt-2 : yypt+1] 21396 var yyLOCAL []*tree.When 21397 //line mysql_sql.y:9213 21398 { 21399 yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion()) 21400 } 21401 yyVAL.union = yyLOCAL 21402 case 1431: 21403 yyDollar = yyS[yypt-4 : yypt+1] 21404 var yyLOCAL *tree.When 21405 //line mysql_sql.y:9219 21406 { 21407 yyLOCAL = &tree.When{ 21408 Cond: yyDollar[2].exprUnion(), 21409 Val: yyDollar[4].exprUnion(), 21410 } 21411 } 21412 yyVAL.union = yyLOCAL 21413 case 1432: 21414 yyDollar = yyS[yypt-1 : yypt+1] 21415 //line mysql_sql.y:9228 21416 { 21417 t := yyVAL.columnTypeUnion() 21418 str := strings.ToLower(t.InternalType.FamilyString) 21419 if str == "binary" { 21420 t.InternalType.Scale = -1 21421 } else if str == "char" { 21422 if t.InternalType.DisplayWith == -1 { 21423 t.InternalType.FamilyString = "varchar" 21424 t.InternalType.Oid = uint32(defines.MYSQL_TYPE_VARCHAR) 21425 } 21426 } 21427 } 21428 case 1433: 21429 yyDollar = yyS[yypt-2 : yypt+1] 21430 var yyLOCAL *tree.T 21431 //line mysql_sql.y:9240 21432 { 21433 name := yyDollar[1].str 21434 if yyDollar[2].str != "" { 21435 name = yyDollar[2].str 21436 } 21437 locale := "" 21438 yyLOCAL = &tree.T{ 21439 InternalType: tree.InternalType{ 21440 Family: tree.IntFamily, 21441 FamilyString: name, 21442 Width: 64, 21443 Locale: &locale, 21444 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 21445 }, 21446 } 21447 } 21448 yyVAL.union = yyLOCAL 21449 case 1434: 21450 yyDollar = yyS[yypt-2 : yypt+1] 21451 var yyLOCAL *tree.T 21452 //line mysql_sql.y:9257 21453 { 21454 locale := "" 21455 yyLOCAL = &tree.T{ 21456 InternalType: tree.InternalType{ 21457 Family: tree.IntFamily, 21458 FamilyString: yyDollar[2].str, 21459 Width: 64, 21460 Locale: &locale, 21461 Unsigned: true, 21462 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 21463 }, 21464 } 21465 } 21466 yyVAL.union = yyLOCAL 21467 case 1436: 21468 yyDollar = yyS[yypt-2 : yypt+1] 21469 var yyLOCAL *tree.T 21470 //line mysql_sql.y:9274 21471 { 21472 locale := "" 21473 yyLOCAL = &tree.T{ 21474 InternalType: tree.InternalType{ 21475 Family: tree.StringFamily, 21476 FamilyString: yyDollar[1].str, 21477 Locale: &locale, 21478 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 21479 DisplayWith: yyDollar[2].lengthOptUnion(), 21480 }, 21481 } 21482 } 21483 yyVAL.union = yyLOCAL 21484 case 1437: 21485 yyDollar = yyS[yypt-2 : yypt+1] 21486 var yyLOCAL *tree.T 21487 //line mysql_sql.y:9287 21488 { 21489 locale := "" 21490 yyLOCAL = &tree.T{ 21491 InternalType: tree.InternalType{ 21492 Family: tree.StringFamily, 21493 FamilyString: yyDollar[1].str, 21494 Locale: &locale, 21495 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 21496 DisplayWith: yyDollar[2].lengthOptUnion(), 21497 }, 21498 } 21499 } 21500 yyVAL.union = yyLOCAL 21501 case 1438: 21502 yyDollar = yyS[yypt-1 : yypt+1] 21503 var yyLOCAL *tree.T 21504 //line mysql_sql.y:9300 21505 { 21506 locale := "" 21507 yyLOCAL = &tree.T{ 21508 InternalType: tree.InternalType{ 21509 Family: tree.DateFamily, 21510 FamilyString: yyDollar[1].str, 21511 Locale: &locale, 21512 Oid: uint32(defines.MYSQL_TYPE_DATE), 21513 }, 21514 } 21515 } 21516 yyVAL.union = yyLOCAL 21517 case 1439: 21518 yyDollar = yyS[yypt-2 : yypt+1] 21519 var yyLOCAL *tree.T 21520 //line mysql_sql.y:9312 21521 { 21522 locale := "" 21523 yyLOCAL = &tree.T{ 21524 InternalType: tree.InternalType{ 21525 Family: tree.IntFamily, 21526 FamilyString: yyDollar[1].str, 21527 DisplayWith: yyDollar[2].lengthOptUnion(), 21528 Width: 16, 21529 Locale: &locale, 21530 Oid: uint32(defines.MYSQL_TYPE_YEAR), 21531 }, 21532 } 21533 } 21534 yyVAL.union = yyLOCAL 21535 case 1440: 21536 yyDollar = yyS[yypt-2 : yypt+1] 21537 var yyLOCAL *tree.T 21538 //line mysql_sql.y:9326 21539 { 21540 locale := "" 21541 yyLOCAL = &tree.T{ 21542 InternalType: tree.InternalType{ 21543 Family: tree.TimestampFamily, 21544 Scale: yyDollar[2].lengthOptUnion(), 21545 FamilyString: yyDollar[1].str, 21546 DisplayWith: yyDollar[2].lengthOptUnion(), 21547 TimePrecisionIsSet: false, 21548 Locale: &locale, 21549 Oid: uint32(defines.MYSQL_TYPE_DATETIME), 21550 }, 21551 } 21552 } 21553 yyVAL.union = yyLOCAL 21554 case 1441: 21555 yyDollar = yyS[yypt-2 : yypt+1] 21556 var yyLOCAL *tree.T 21557 //line mysql_sql.y:9341 21558 { 21559 locale := "" 21560 yyLOCAL = &tree.T{ 21561 InternalType: tree.InternalType{ 21562 Family: tree.TimeFamily, 21563 FamilyString: yyDollar[1].str, 21564 DisplayWith: yyDollar[2].lengthOptUnion(), 21565 Scale: yyDollar[2].lengthOptUnion(), 21566 TimePrecisionIsSet: false, 21567 Locale: &locale, 21568 Oid: uint32(defines.MYSQL_TYPE_TIME), 21569 }, 21570 } 21571 } 21572 yyVAL.union = yyLOCAL 21573 case 1442: 21574 yyDollar = yyS[yypt-2 : yypt+1] 21575 var yyLOCAL *tree.T 21576 //line mysql_sql.y:9356 21577 { 21578 name := yyDollar[1].str 21579 if yyDollar[2].str != "" { 21580 name = yyDollar[2].str 21581 } 21582 locale := "" 21583 yyLOCAL = &tree.T{ 21584 InternalType: tree.InternalType{ 21585 Family: tree.IntFamily, 21586 FamilyString: name, 21587 Width: 64, 21588 Locale: &locale, 21589 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 21590 }, 21591 } 21592 } 21593 yyVAL.union = yyLOCAL 21594 case 1443: 21595 yyDollar = yyS[yypt-2 : yypt+1] 21596 var yyLOCAL *tree.T 21597 //line mysql_sql.y:9373 21598 { 21599 locale := "" 21600 yyLOCAL = &tree.T{ 21601 InternalType: tree.InternalType{ 21602 Family: tree.IntFamily, 21603 FamilyString: yyDollar[2].str, 21604 Width: 64, 21605 Locale: &locale, 21606 Unsigned: true, 21607 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 21608 }, 21609 } 21610 } 21611 yyVAL.union = yyLOCAL 21612 case 1444: 21613 yyDollar = yyS[yypt-0 : yypt+1] 21614 //line mysql_sql.y:9388 21615 { 21616 } 21617 case 1448: 21618 yyDollar = yyS[yypt-2 : yypt+1] 21619 var yyLOCAL *tree.FrameBound 21620 //line mysql_sql.y:9395 21621 { 21622 yyLOCAL = &tree.FrameBound{Type: tree.Following, UnBounded: true} 21623 } 21624 yyVAL.union = yyLOCAL 21625 case 1449: 21626 yyDollar = yyS[yypt-2 : yypt+1] 21627 var yyLOCAL *tree.FrameBound 21628 //line mysql_sql.y:9399 21629 { 21630 yyLOCAL = &tree.FrameBound{Type: tree.Following, Expr: yyDollar[1].exprUnion()} 21631 } 21632 yyVAL.union = yyLOCAL 21633 case 1450: 21634 yyDollar = yyS[yypt-2 : yypt+1] 21635 var yyLOCAL *tree.FrameBound 21636 //line mysql_sql.y:9403 21637 { 21638 yyLOCAL = &tree.FrameBound{Type: tree.Following, Expr: yyDollar[1].exprUnion()} 21639 } 21640 yyVAL.union = yyLOCAL 21641 case 1451: 21642 yyDollar = yyS[yypt-2 : yypt+1] 21643 var yyLOCAL *tree.FrameBound 21644 //line mysql_sql.y:9409 21645 { 21646 yyLOCAL = &tree.FrameBound{Type: tree.CurrentRow} 21647 } 21648 yyVAL.union = yyLOCAL 21649 case 1452: 21650 yyDollar = yyS[yypt-2 : yypt+1] 21651 var yyLOCAL *tree.FrameBound 21652 //line mysql_sql.y:9413 21653 { 21654 yyLOCAL = &tree.FrameBound{Type: tree.Preceding, UnBounded: true} 21655 } 21656 yyVAL.union = yyLOCAL 21657 case 1453: 21658 yyDollar = yyS[yypt-2 : yypt+1] 21659 var yyLOCAL *tree.FrameBound 21660 //line mysql_sql.y:9417 21661 { 21662 yyLOCAL = &tree.FrameBound{Type: tree.Preceding, Expr: yyDollar[1].exprUnion()} 21663 } 21664 yyVAL.union = yyLOCAL 21665 case 1454: 21666 yyDollar = yyS[yypt-2 : yypt+1] 21667 var yyLOCAL *tree.FrameBound 21668 //line mysql_sql.y:9421 21669 { 21670 yyLOCAL = &tree.FrameBound{Type: tree.Preceding, Expr: yyDollar[1].exprUnion()} 21671 } 21672 yyVAL.union = yyLOCAL 21673 case 1455: 21674 yyDollar = yyS[yypt-1 : yypt+1] 21675 var yyLOCAL tree.FrameType 21676 //line mysql_sql.y:9427 21677 { 21678 yyLOCAL = tree.Rows 21679 } 21680 yyVAL.union = yyLOCAL 21681 case 1456: 21682 yyDollar = yyS[yypt-1 : yypt+1] 21683 var yyLOCAL tree.FrameType 21684 //line mysql_sql.y:9431 21685 { 21686 yyLOCAL = tree.Range 21687 } 21688 yyVAL.union = yyLOCAL 21689 case 1457: 21690 yyDollar = yyS[yypt-1 : yypt+1] 21691 var yyLOCAL tree.FrameType 21692 //line mysql_sql.y:9435 21693 { 21694 yyLOCAL = tree.Groups 21695 } 21696 yyVAL.union = yyLOCAL 21697 case 1458: 21698 yyDollar = yyS[yypt-2 : yypt+1] 21699 var yyLOCAL *tree.FrameClause 21700 //line mysql_sql.y:9441 21701 { 21702 yyLOCAL = &tree.FrameClause{ 21703 Type: yyDollar[1].frameTypeUnion(), 21704 Start: yyDollar[2].frameBoundUnion(), 21705 End: &tree.FrameBound{Type: tree.CurrentRow}, 21706 } 21707 } 21708 yyVAL.union = yyLOCAL 21709 case 1459: 21710 yyDollar = yyS[yypt-5 : yypt+1] 21711 var yyLOCAL *tree.FrameClause 21712 //line mysql_sql.y:9449 21713 { 21714 yyLOCAL = &tree.FrameClause{ 21715 Type: yyDollar[1].frameTypeUnion(), 21716 HasEnd: true, 21717 Start: yyDollar[3].frameBoundUnion(), 21718 End: yyDollar[5].frameBoundUnion(), 21719 } 21720 } 21721 yyVAL.union = yyLOCAL 21722 case 1460: 21723 yyDollar = yyS[yypt-0 : yypt+1] 21724 var yyLOCAL *tree.FrameClause 21725 //line mysql_sql.y:9459 21726 { 21727 yyLOCAL = nil 21728 } 21729 yyVAL.union = yyLOCAL 21730 case 1461: 21731 yyDollar = yyS[yypt-1 : yypt+1] 21732 var yyLOCAL *tree.FrameClause 21733 //line mysql_sql.y:9463 21734 { 21735 yyLOCAL = yyDollar[1].frameClauseUnion() 21736 } 21737 yyVAL.union = yyLOCAL 21738 case 1462: 21739 yyDollar = yyS[yypt-3 : yypt+1] 21740 var yyLOCAL tree.Exprs 21741 //line mysql_sql.y:9470 21742 { 21743 yyLOCAL = yyDollar[3].exprsUnion() 21744 } 21745 yyVAL.union = yyLOCAL 21746 case 1463: 21747 yyDollar = yyS[yypt-0 : yypt+1] 21748 var yyLOCAL tree.Exprs 21749 //line mysql_sql.y:9475 21750 { 21751 yyLOCAL = nil 21752 } 21753 yyVAL.union = yyLOCAL 21754 case 1464: 21755 yyDollar = yyS[yypt-1 : yypt+1] 21756 var yyLOCAL tree.Exprs 21757 //line mysql_sql.y:9479 21758 { 21759 yyLOCAL = yyDollar[1].exprsUnion() 21760 } 21761 yyVAL.union = yyLOCAL 21762 case 1465: 21763 yyDollar = yyS[yypt-0 : yypt+1] 21764 //line mysql_sql.y:9484 21765 { 21766 yyVAL.str = "," 21767 } 21768 case 1466: 21769 yyDollar = yyS[yypt-2 : yypt+1] 21770 //line mysql_sql.y:9488 21771 { 21772 yyVAL.str = yyDollar[2].str 21773 } 21774 case 1467: 21775 yyDollar = yyS[yypt-0 : yypt+1] 21776 //line mysql_sql.y:9493 21777 { 21778 yyVAL.str = "1,vector_l2_ops,random,false" 21779 } 21780 case 1468: 21781 yyDollar = yyS[yypt-2 : yypt+1] 21782 //line mysql_sql.y:9497 21783 { 21784 yyVAL.str = yyDollar[2].str 21785 } 21786 case 1469: 21787 yyDollar = yyS[yypt-0 : yypt+1] 21788 var yyLOCAL *tree.WindowSpec 21789 //line mysql_sql.y:9502 21790 { 21791 yyLOCAL = nil 21792 } 21793 yyVAL.union = yyLOCAL 21794 case 1471: 21795 yyDollar = yyS[yypt-6 : yypt+1] 21796 var yyLOCAL *tree.WindowSpec 21797 //line mysql_sql.y:9509 21798 { 21799 hasFrame := true 21800 var f *tree.FrameClause 21801 if yyDollar[5].frameClauseUnion() != nil { 21802 f = yyDollar[5].frameClauseUnion() 21803 } else { 21804 hasFrame = false 21805 f = &tree.FrameClause{Type: tree.Range} 21806 if yyDollar[4].orderByUnion() == nil { 21807 f.Start = &tree.FrameBound{Type: tree.Preceding, UnBounded: true} 21808 f.End = &tree.FrameBound{Type: tree.Following, UnBounded: true} 21809 } else { 21810 f.Start = &tree.FrameBound{Type: tree.Preceding, UnBounded: true} 21811 f.End = &tree.FrameBound{Type: tree.CurrentRow} 21812 } 21813 } 21814 yyLOCAL = &tree.WindowSpec{ 21815 PartitionBy: yyDollar[3].exprsUnion(), 21816 OrderBy: yyDollar[4].orderByUnion(), 21817 Frame: f, 21818 HasFrame: hasFrame, 21819 } 21820 } 21821 yyVAL.union = yyLOCAL 21822 case 1472: 21823 yyDollar = yyS[yypt-8 : yypt+1] 21824 var yyLOCAL *tree.FuncExpr 21825 //line mysql_sql.y:9535 21826 { 21827 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21828 yyLOCAL = &tree.FuncExpr{ 21829 Func: tree.FuncName2ResolvableFunctionReference(name), 21830 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21831 Exprs: append(yyDollar[4].exprsUnion(), tree.NewNumValWithType(constant.MakeString(yyDollar[6].str), yyDollar[6].str, false, tree.P_char)), 21832 Type: yyDollar[3].funcTypeUnion(), 21833 WindowSpec: yyDollar[8].windowSpecUnion(), 21834 OrderBy: yyDollar[5].orderByUnion(), 21835 } 21836 } 21837 yyVAL.union = yyLOCAL 21838 case 1473: 21839 yyDollar = yyS[yypt-8 : yypt+1] 21840 var yyLOCAL *tree.FuncExpr 21841 //line mysql_sql.y:9547 21842 { 21843 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21844 yyLOCAL = &tree.FuncExpr{ 21845 Func: tree.FuncName2ResolvableFunctionReference(name), 21846 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21847 Exprs: append(yyDollar[4].exprsUnion(), tree.NewNumValWithType(constant.MakeString(yyDollar[6].str), yyDollar[6].str, false, tree.P_char)), 21848 Type: yyDollar[3].funcTypeUnion(), 21849 WindowSpec: yyDollar[8].windowSpecUnion(), 21850 OrderBy: yyDollar[5].orderByUnion(), 21851 } 21852 } 21853 yyVAL.union = yyLOCAL 21854 case 1474: 21855 yyDollar = yyS[yypt-6 : yypt+1] 21856 var yyLOCAL *tree.FuncExpr 21857 //line mysql_sql.y:9559 21858 { 21859 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21860 yyLOCAL = &tree.FuncExpr{ 21861 Func: tree.FuncName2ResolvableFunctionReference(name), 21862 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21863 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 21864 Type: yyDollar[3].funcTypeUnion(), 21865 WindowSpec: yyDollar[6].windowSpecUnion(), 21866 } 21867 } 21868 yyVAL.union = yyLOCAL 21869 case 1475: 21870 yyDollar = yyS[yypt-6 : yypt+1] 21871 var yyLOCAL *tree.FuncExpr 21872 //line mysql_sql.y:9570 21873 { 21874 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21875 yyLOCAL = &tree.FuncExpr{ 21876 Func: tree.FuncName2ResolvableFunctionReference(name), 21877 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21878 Exprs: yyDollar[4].exprsUnion(), 21879 Type: yyDollar[3].funcTypeUnion(), 21880 WindowSpec: yyDollar[6].windowSpecUnion(), 21881 } 21882 } 21883 yyVAL.union = yyLOCAL 21884 case 1476: 21885 yyDollar = yyS[yypt-5 : yypt+1] 21886 var yyLOCAL *tree.FuncExpr 21887 //line mysql_sql.y:9581 21888 { 21889 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21890 es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char) 21891 yyLOCAL = &tree.FuncExpr{ 21892 Func: tree.FuncName2ResolvableFunctionReference(name), 21893 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21894 Exprs: tree.Exprs{es}, 21895 WindowSpec: yyDollar[5].windowSpecUnion(), 21896 } 21897 } 21898 yyVAL.union = yyLOCAL 21899 case 1477: 21900 yyDollar = yyS[yypt-5 : yypt+1] 21901 var yyLOCAL *tree.FuncExpr 21902 //line mysql_sql.y:9592 21903 { 21904 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21905 yyLOCAL = &tree.FuncExpr{ 21906 Func: tree.FuncName2ResolvableFunctionReference(name), 21907 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21908 Exprs: yyDollar[3].exprsUnion(), 21909 WindowSpec: yyDollar[5].windowSpecUnion(), 21910 } 21911 } 21912 yyVAL.union = yyLOCAL 21913 case 1478: 21914 yyDollar = yyS[yypt-5 : yypt+1] 21915 var yyLOCAL *tree.FuncExpr 21916 //line mysql_sql.y:9602 21917 { 21918 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21919 yyLOCAL = &tree.FuncExpr{ 21920 Func: tree.FuncName2ResolvableFunctionReference(name), 21921 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21922 Exprs: yyDollar[3].exprsUnion(), 21923 WindowSpec: yyDollar[5].windowSpecUnion(), 21924 } 21925 } 21926 yyVAL.union = yyLOCAL 21927 case 1479: 21928 yyDollar = yyS[yypt-6 : yypt+1] 21929 var yyLOCAL *tree.FuncExpr 21930 //line mysql_sql.y:9612 21931 { 21932 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21933 yyLOCAL = &tree.FuncExpr{ 21934 Func: tree.FuncName2ResolvableFunctionReference(name), 21935 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21936 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 21937 Type: yyDollar[3].funcTypeUnion(), 21938 WindowSpec: yyDollar[6].windowSpecUnion(), 21939 } 21940 } 21941 yyVAL.union = yyLOCAL 21942 case 1480: 21943 yyDollar = yyS[yypt-6 : yypt+1] 21944 var yyLOCAL *tree.FuncExpr 21945 //line mysql_sql.y:9623 21946 { 21947 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21948 yyLOCAL = &tree.FuncExpr{ 21949 Func: tree.FuncName2ResolvableFunctionReference(name), 21950 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21951 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 21952 Type: yyDollar[3].funcTypeUnion(), 21953 WindowSpec: yyDollar[6].windowSpecUnion(), 21954 } 21955 } 21956 yyVAL.union = yyLOCAL 21957 case 1481: 21958 yyDollar = yyS[yypt-6 : yypt+1] 21959 var yyLOCAL *tree.FuncExpr 21960 //line mysql_sql.y:9634 21961 { 21962 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21963 yyLOCAL = &tree.FuncExpr{ 21964 Func: tree.FuncName2ResolvableFunctionReference(name), 21965 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21966 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 21967 Type: yyDollar[3].funcTypeUnion(), 21968 WindowSpec: yyDollar[6].windowSpecUnion(), 21969 } 21970 } 21971 yyVAL.union = yyLOCAL 21972 case 1482: 21973 yyDollar = yyS[yypt-6 : yypt+1] 21974 var yyLOCAL *tree.FuncExpr 21975 //line mysql_sql.y:9645 21976 { 21977 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21978 yyLOCAL = &tree.FuncExpr{ 21979 Func: tree.FuncName2ResolvableFunctionReference(name), 21980 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21981 Exprs: yyDollar[4].exprsUnion(), 21982 Type: yyDollar[3].funcTypeUnion(), 21983 WindowSpec: yyDollar[6].windowSpecUnion(), 21984 } 21985 } 21986 yyVAL.union = yyLOCAL 21987 case 1483: 21988 yyDollar = yyS[yypt-5 : yypt+1] 21989 var yyLOCAL *tree.FuncExpr 21990 //line mysql_sql.y:9656 21991 { 21992 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 21993 es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char) 21994 yyLOCAL = &tree.FuncExpr{ 21995 Func: tree.FuncName2ResolvableFunctionReference(name), 21996 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 21997 Exprs: tree.Exprs{es}, 21998 WindowSpec: yyDollar[5].windowSpecUnion(), 21999 } 22000 } 22001 yyVAL.union = yyLOCAL 22002 case 1484: 22003 yyDollar = yyS[yypt-6 : yypt+1] 22004 var yyLOCAL *tree.FuncExpr 22005 //line mysql_sql.y:9667 22006 { 22007 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22008 yyLOCAL = &tree.FuncExpr{ 22009 Func: tree.FuncName2ResolvableFunctionReference(name), 22010 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22011 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22012 Type: yyDollar[3].funcTypeUnion(), 22013 WindowSpec: yyDollar[6].windowSpecUnion(), 22014 } 22015 } 22016 yyVAL.union = yyLOCAL 22017 case 1485: 22018 yyDollar = yyS[yypt-6 : yypt+1] 22019 var yyLOCAL *tree.FuncExpr 22020 //line mysql_sql.y:9678 22021 { 22022 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22023 yyLOCAL = &tree.FuncExpr{ 22024 Func: tree.FuncName2ResolvableFunctionReference(name), 22025 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22026 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22027 Type: yyDollar[3].funcTypeUnion(), 22028 WindowSpec: yyDollar[6].windowSpecUnion(), 22029 } 22030 } 22031 yyVAL.union = yyLOCAL 22032 case 1486: 22033 yyDollar = yyS[yypt-6 : yypt+1] 22034 var yyLOCAL *tree.FuncExpr 22035 //line mysql_sql.y:9689 22036 { 22037 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22038 yyLOCAL = &tree.FuncExpr{ 22039 Func: tree.FuncName2ResolvableFunctionReference(name), 22040 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22041 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22042 Type: yyDollar[3].funcTypeUnion(), 22043 WindowSpec: yyDollar[6].windowSpecUnion(), 22044 } 22045 } 22046 yyVAL.union = yyLOCAL 22047 case 1487: 22048 yyDollar = yyS[yypt-6 : yypt+1] 22049 var yyLOCAL *tree.FuncExpr 22050 //line mysql_sql.y:9700 22051 { 22052 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22053 yyLOCAL = &tree.FuncExpr{ 22054 Func: tree.FuncName2ResolvableFunctionReference(name), 22055 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22056 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22057 Type: yyDollar[3].funcTypeUnion(), 22058 WindowSpec: yyDollar[6].windowSpecUnion(), 22059 } 22060 } 22061 yyVAL.union = yyLOCAL 22062 case 1488: 22063 yyDollar = yyS[yypt-6 : yypt+1] 22064 var yyLOCAL *tree.FuncExpr 22065 //line mysql_sql.y:9711 22066 { 22067 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22068 yyLOCAL = &tree.FuncExpr{ 22069 Func: tree.FuncName2ResolvableFunctionReference(name), 22070 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22071 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22072 Type: yyDollar[3].funcTypeUnion(), 22073 WindowSpec: yyDollar[6].windowSpecUnion(), 22074 } 22075 } 22076 yyVAL.union = yyLOCAL 22077 case 1489: 22078 yyDollar = yyS[yypt-6 : yypt+1] 22079 var yyLOCAL *tree.FuncExpr 22080 //line mysql_sql.y:9722 22081 { 22082 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22083 yyLOCAL = &tree.FuncExpr{ 22084 Func: tree.FuncName2ResolvableFunctionReference(name), 22085 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22086 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22087 Type: yyDollar[3].funcTypeUnion(), 22088 WindowSpec: yyDollar[6].windowSpecUnion(), 22089 } 22090 } 22091 yyVAL.union = yyLOCAL 22092 case 1490: 22093 yyDollar = yyS[yypt-6 : yypt+1] 22094 var yyLOCAL *tree.FuncExpr 22095 //line mysql_sql.y:9733 22096 { 22097 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22098 yyLOCAL = &tree.FuncExpr{ 22099 Func: tree.FuncName2ResolvableFunctionReference(name), 22100 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22101 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22102 Type: yyDollar[3].funcTypeUnion(), 22103 WindowSpec: yyDollar[6].windowSpecUnion(), 22104 } 22105 } 22106 yyVAL.union = yyLOCAL 22107 case 1491: 22108 yyDollar = yyS[yypt-6 : yypt+1] 22109 var yyLOCAL *tree.FuncExpr 22110 //line mysql_sql.y:9744 22111 { 22112 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22113 yyLOCAL = &tree.FuncExpr{ 22114 Func: tree.FuncName2ResolvableFunctionReference(name), 22115 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22116 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22117 Type: yyDollar[3].funcTypeUnion(), 22118 WindowSpec: yyDollar[6].windowSpecUnion(), 22119 } 22120 } 22121 yyVAL.union = yyLOCAL 22122 case 1492: 22123 yyDollar = yyS[yypt-6 : yypt+1] 22124 var yyLOCAL *tree.FuncExpr 22125 //line mysql_sql.y:9755 22126 { 22127 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22128 yyLOCAL = &tree.FuncExpr{ 22129 Func: tree.FuncName2ResolvableFunctionReference(name), 22130 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22131 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22132 Type: yyDollar[3].funcTypeUnion(), 22133 WindowSpec: yyDollar[6].windowSpecUnion(), 22134 } 22135 } 22136 yyVAL.union = yyLOCAL 22137 case 1493: 22138 yyDollar = yyS[yypt-6 : yypt+1] 22139 var yyLOCAL *tree.FuncExpr 22140 //line mysql_sql.y:9766 22141 { 22142 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22143 yyLOCAL = &tree.FuncExpr{ 22144 Func: tree.FuncName2ResolvableFunctionReference(name), 22145 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22146 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22147 Type: yyDollar[3].funcTypeUnion(), 22148 WindowSpec: yyDollar[6].windowSpecUnion(), 22149 } 22150 } 22151 yyVAL.union = yyLOCAL 22152 case 1497: 22153 yyDollar = yyS[yypt-4 : yypt+1] 22154 var yyLOCAL *tree.FuncExpr 22155 //line mysql_sql.y:9784 22156 { 22157 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22158 yyLOCAL = &tree.FuncExpr{ 22159 Func: tree.FuncName2ResolvableFunctionReference(name), 22160 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22161 Exprs: yyDollar[3].exprsUnion(), 22162 } 22163 } 22164 yyVAL.union = yyLOCAL 22165 case 1498: 22166 yyDollar = yyS[yypt-4 : yypt+1] 22167 var yyLOCAL *tree.FuncExpr 22168 //line mysql_sql.y:9793 22169 { 22170 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22171 yyLOCAL = &tree.FuncExpr{ 22172 Func: tree.FuncName2ResolvableFunctionReference(name), 22173 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22174 Exprs: yyDollar[3].exprsUnion(), 22175 } 22176 } 22177 yyVAL.union = yyLOCAL 22178 case 1499: 22179 yyDollar = yyS[yypt-6 : yypt+1] 22180 var yyLOCAL *tree.FuncExpr 22181 //line mysql_sql.y:9802 22182 { 22183 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22184 yyLOCAL = &tree.FuncExpr{ 22185 Func: tree.FuncName2ResolvableFunctionReference(name), 22186 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22187 Exprs: tree.Exprs{yyDollar[3].exprUnion(), yyDollar[5].exprUnion()}, 22188 } 22189 } 22190 yyVAL.union = yyLOCAL 22191 case 1500: 22192 yyDollar = yyS[yypt-8 : yypt+1] 22193 var yyLOCAL *tree.FuncExpr 22194 //line mysql_sql.y:9811 22195 { 22196 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22197 yyLOCAL = &tree.FuncExpr{ 22198 Func: tree.FuncName2ResolvableFunctionReference(name), 22199 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22200 Exprs: tree.Exprs{yyDollar[3].exprUnion(), yyDollar[5].exprUnion(), yyDollar[7].exprUnion()}, 22201 } 22202 } 22203 yyVAL.union = yyLOCAL 22204 case 1501: 22205 yyDollar = yyS[yypt-6 : yypt+1] 22206 var yyLOCAL *tree.FuncExpr 22207 //line mysql_sql.y:9820 22208 { 22209 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22210 str := strings.ToLower(yyDollar[3].str) 22211 timeUinit := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char) 22212 yyLOCAL = &tree.FuncExpr{ 22213 Func: tree.FuncName2ResolvableFunctionReference(name), 22214 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22215 Exprs: tree.Exprs{timeUinit, yyDollar[5].exprUnion()}, 22216 } 22217 } 22218 yyVAL.union = yyLOCAL 22219 case 1502: 22220 yyDollar = yyS[yypt-4 : yypt+1] 22221 var yyLOCAL *tree.FuncExpr 22222 //line mysql_sql.y:9831 22223 { 22224 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22225 yyLOCAL = &tree.FuncExpr{ 22226 Func: tree.FuncName2ResolvableFunctionReference(name), 22227 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22228 Exprs: yyDollar[3].exprsUnion(), 22229 } 22230 } 22231 yyVAL.union = yyLOCAL 22232 case 1503: 22233 yyDollar = yyS[yypt-5 : yypt+1] 22234 var yyLOCAL *tree.FuncExpr 22235 //line mysql_sql.y:9840 22236 { 22237 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22238 yyLOCAL = &tree.FuncExpr{ 22239 Func: tree.FuncName2ResolvableFunctionReference(name), 22240 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22241 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 22242 Type: yyDollar[3].funcTypeUnion(), 22243 } 22244 } 22245 yyVAL.union = yyLOCAL 22246 case 1504: 22247 yyDollar = yyS[yypt-4 : yypt+1] 22248 var yyLOCAL *tree.FuncExpr 22249 //line mysql_sql.y:9850 22250 { 22251 name := tree.SetUnresolvedName("nextval") 22252 yyLOCAL = &tree.FuncExpr{ 22253 Func: tree.FuncName2ResolvableFunctionReference(name), 22254 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22255 Exprs: yyDollar[3].exprsUnion(), 22256 } 22257 } 22258 yyVAL.union = yyLOCAL 22259 case 1505: 22260 yyDollar = yyS[yypt-4 : yypt+1] 22261 var yyLOCAL *tree.FuncExpr 22262 //line mysql_sql.y:9859 22263 { 22264 name := tree.SetUnresolvedName("setval") 22265 yyLOCAL = &tree.FuncExpr{ 22266 Func: tree.FuncName2ResolvableFunctionReference(name), 22267 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22268 Exprs: yyDollar[3].exprsUnion(), 22269 } 22270 } 22271 yyVAL.union = yyLOCAL 22272 case 1506: 22273 yyDollar = yyS[yypt-4 : yypt+1] 22274 var yyLOCAL *tree.FuncExpr 22275 //line mysql_sql.y:9868 22276 { 22277 name := tree.SetUnresolvedName("currval") 22278 yyLOCAL = &tree.FuncExpr{ 22279 Func: tree.FuncName2ResolvableFunctionReference(name), 22280 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22281 Exprs: yyDollar[3].exprsUnion(), 22282 } 22283 } 22284 yyVAL.union = yyLOCAL 22285 case 1507: 22286 yyDollar = yyS[yypt-3 : yypt+1] 22287 var yyLOCAL *tree.FuncExpr 22288 //line mysql_sql.y:9877 22289 { 22290 name := tree.SetUnresolvedName("lastval") 22291 yyLOCAL = &tree.FuncExpr{ 22292 Func: tree.FuncName2ResolvableFunctionReference(name), 22293 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22294 Exprs: nil, 22295 } 22296 } 22297 yyVAL.union = yyLOCAL 22298 case 1508: 22299 yyDollar = yyS[yypt-4 : yypt+1] 22300 var yyLOCAL *tree.FuncExpr 22301 //line mysql_sql.y:9886 22302 { 22303 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22304 arg0 := tree.NewNumValWithType(constant.MakeInt64(0), "0", false, tree.P_int64) 22305 arg1 := tree.NewNumValWithType(constant.MakeString("both"), "both", false, tree.P_char) 22306 arg2 := tree.NewNumValWithType(constant.MakeString(" "), " ", false, tree.P_char) 22307 yyLOCAL = &tree.FuncExpr{ 22308 Func: tree.FuncName2ResolvableFunctionReference(name), 22309 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22310 Exprs: tree.Exprs{arg0, arg1, arg2, yyDollar[3].exprUnion()}, 22311 } 22312 } 22313 yyVAL.union = yyLOCAL 22314 case 1509: 22315 yyDollar = yyS[yypt-6 : yypt+1] 22316 var yyLOCAL *tree.FuncExpr 22317 //line mysql_sql.y:9898 22318 { 22319 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22320 arg0 := tree.NewNumValWithType(constant.MakeInt64(1), "1", false, tree.P_int64) 22321 arg1 := tree.NewNumValWithType(constant.MakeString("both"), "both", false, tree.P_char) 22322 yyLOCAL = &tree.FuncExpr{ 22323 Func: tree.FuncName2ResolvableFunctionReference(name), 22324 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22325 Exprs: tree.Exprs{arg0, arg1, yyDollar[3].exprUnion(), yyDollar[5].exprUnion()}, 22326 } 22327 } 22328 yyVAL.union = yyLOCAL 22329 case 1510: 22330 yyDollar = yyS[yypt-6 : yypt+1] 22331 var yyLOCAL *tree.FuncExpr 22332 //line mysql_sql.y:9909 22333 { 22334 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22335 arg0 := tree.NewNumValWithType(constant.MakeInt64(2), "2", false, tree.P_int64) 22336 str := strings.ToLower(yyDollar[3].str) 22337 arg1 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char) 22338 arg2 := tree.NewNumValWithType(constant.MakeString(" "), " ", false, tree.P_char) 22339 yyLOCAL = &tree.FuncExpr{ 22340 Func: tree.FuncName2ResolvableFunctionReference(name), 22341 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22342 Exprs: tree.Exprs{arg0, arg1, arg2, yyDollar[5].exprUnion()}, 22343 } 22344 } 22345 yyVAL.union = yyLOCAL 22346 case 1511: 22347 yyDollar = yyS[yypt-7 : yypt+1] 22348 var yyLOCAL *tree.FuncExpr 22349 //line mysql_sql.y:9922 22350 { 22351 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22352 arg0 := tree.NewNumValWithType(constant.MakeInt64(3), "3", false, tree.P_int64) 22353 str := strings.ToLower(yyDollar[3].str) 22354 arg1 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char) 22355 yyLOCAL = &tree.FuncExpr{ 22356 Func: tree.FuncName2ResolvableFunctionReference(name), 22357 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22358 Exprs: tree.Exprs{arg0, arg1, yyDollar[4].exprUnion(), yyDollar[6].exprUnion()}, 22359 } 22360 } 22361 yyVAL.union = yyLOCAL 22362 case 1512: 22363 yyDollar = yyS[yypt-4 : yypt+1] 22364 var yyLOCAL *tree.FuncExpr 22365 //line mysql_sql.y:9934 22366 { 22367 column := tree.SetUnresolvedName(strings.ToLower(yyDollar[3].str)) 22368 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22369 yyLOCAL = &tree.FuncExpr{ 22370 Func: tree.FuncName2ResolvableFunctionReference(name), 22371 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22372 Exprs: tree.Exprs{column}, 22373 } 22374 } 22375 yyVAL.union = yyLOCAL 22376 case 1519: 22377 yyDollar = yyS[yypt-1 : yypt+1] 22378 //line mysql_sql.y:9957 22379 { 22380 yyVAL.str = yyDollar[1].str 22381 } 22382 case 1548: 22383 yyDollar = yyS[yypt-2 : yypt+1] 22384 var yyLOCAL *tree.FuncExpr 22385 //line mysql_sql.y:9993 22386 { 22387 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22388 var es tree.Exprs = nil 22389 if yyDollar[2].exprUnion() != nil { 22390 es = append(es, yyDollar[2].exprUnion()) 22391 } 22392 yyLOCAL = &tree.FuncExpr{ 22393 Func: tree.FuncName2ResolvableFunctionReference(name), 22394 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22395 Exprs: es, 22396 } 22397 } 22398 yyVAL.union = yyLOCAL 22399 case 1549: 22400 yyDollar = yyS[yypt-2 : yypt+1] 22401 var yyLOCAL *tree.FuncExpr 22402 //line mysql_sql.y:10006 22403 { 22404 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22405 var es tree.Exprs = nil 22406 if yyDollar[2].exprUnion() != nil { 22407 es = append(es, yyDollar[2].exprUnion()) 22408 } 22409 yyLOCAL = &tree.FuncExpr{ 22410 Func: tree.FuncName2ResolvableFunctionReference(name), 22411 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22412 Exprs: es, 22413 } 22414 } 22415 yyVAL.union = yyLOCAL 22416 case 1550: 22417 yyDollar = yyS[yypt-8 : yypt+1] 22418 var yyLOCAL *tree.FuncExpr 22419 //line mysql_sql.y:10019 22420 { 22421 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22422 str := strings.ToLower(yyDollar[3].str) 22423 arg1 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char) 22424 yyLOCAL = &tree.FuncExpr{ 22425 Func: tree.FuncName2ResolvableFunctionReference(name), 22426 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22427 Exprs: tree.Exprs{arg1, yyDollar[5].exprUnion(), yyDollar[7].exprUnion()}, 22428 } 22429 } 22430 yyVAL.union = yyLOCAL 22431 case 1551: 22432 yyDollar = yyS[yypt-4 : yypt+1] 22433 var yyLOCAL *tree.FuncExpr 22434 //line mysql_sql.y:10031 22435 { 22436 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22437 yyLOCAL = &tree.FuncExpr{ 22438 Func: tree.FuncName2ResolvableFunctionReference(name), 22439 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22440 Exprs: yyDollar[3].exprsUnion(), 22441 } 22442 } 22443 yyVAL.union = yyLOCAL 22444 case 1552: 22445 yyDollar = yyS[yypt-2 : yypt+1] 22446 var yyLOCAL *tree.FuncExpr 22447 //line mysql_sql.y:10040 22448 { 22449 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22450 yyLOCAL = &tree.FuncExpr{ 22451 Func: tree.FuncName2ResolvableFunctionReference(name), 22452 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22453 } 22454 } 22455 yyVAL.union = yyLOCAL 22456 case 1553: 22457 yyDollar = yyS[yypt-3 : yypt+1] 22458 var yyLOCAL *tree.FuncExpr 22459 //line mysql_sql.y:10048 22460 { 22461 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22462 yyLOCAL = &tree.FuncExpr{ 22463 Func: tree.FuncName2ResolvableFunctionReference(name), 22464 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22465 } 22466 } 22467 yyVAL.union = yyLOCAL 22468 case 1554: 22469 yyDollar = yyS[yypt-2 : yypt+1] 22470 var yyLOCAL *tree.FuncExpr 22471 //line mysql_sql.y:10056 22472 { 22473 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22474 var es tree.Exprs = nil 22475 if yyDollar[2].exprUnion() != nil { 22476 es = append(es, yyDollar[2].exprUnion()) 22477 } 22478 yyLOCAL = &tree.FuncExpr{ 22479 Func: tree.FuncName2ResolvableFunctionReference(name), 22480 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22481 Exprs: es, 22482 } 22483 } 22484 yyVAL.union = yyLOCAL 22485 case 1555: 22486 yyDollar = yyS[yypt-4 : yypt+1] 22487 var yyLOCAL *tree.FuncExpr 22488 //line mysql_sql.y:10069 22489 { 22490 name := tree.SetUnresolvedName("binary") 22491 yyLOCAL = &tree.FuncExpr{ 22492 Func: tree.FuncName2ResolvableFunctionReference(name), 22493 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22494 Exprs: yyDollar[3].exprsUnion(), 22495 } 22496 } 22497 yyVAL.union = yyLOCAL 22498 case 1556: 22499 yyDollar = yyS[yypt-2 : yypt+1] 22500 var yyLOCAL *tree.FuncExpr 22501 //line mysql_sql.y:10078 22502 { 22503 name := tree.SetUnresolvedName("binary") 22504 exprs := make([]tree.Expr, 1) 22505 exprs[0] = yyDollar[2].exprUnion() 22506 yyLOCAL = &tree.FuncExpr{ 22507 Func: tree.FuncName2ResolvableFunctionReference(name), 22508 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22509 Exprs: exprs, 22510 } 22511 } 22512 yyVAL.union = yyLOCAL 22513 case 1557: 22514 yyDollar = yyS[yypt-2 : yypt+1] 22515 var yyLOCAL *tree.FuncExpr 22516 //line mysql_sql.y:10089 22517 { 22518 name := tree.SetUnresolvedName("binary") 22519 exprs := make([]tree.Expr, 1) 22520 exprs[0] = yyDollar[2].unresolvedNameUnion() 22521 yyLOCAL = &tree.FuncExpr{ 22522 Func: tree.FuncName2ResolvableFunctionReference(name), 22523 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22524 Exprs: exprs, 22525 } 22526 } 22527 yyVAL.union = yyLOCAL 22528 case 1558: 22529 yyDollar = yyS[yypt-4 : yypt+1] 22530 var yyLOCAL *tree.FuncExpr 22531 //line mysql_sql.y:10100 22532 { 22533 name := tree.SetUnresolvedName("char") 22534 yyLOCAL = &tree.FuncExpr{ 22535 Func: tree.FuncName2ResolvableFunctionReference(name), 22536 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22537 Exprs: yyDollar[3].exprsUnion(), 22538 } 22539 } 22540 yyVAL.union = yyLOCAL 22541 case 1559: 22542 yyDollar = yyS[yypt-6 : yypt+1] 22543 var yyLOCAL *tree.FuncExpr 22544 //line mysql_sql.y:10109 22545 { 22546 cn := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) 22547 es := yyDollar[3].exprsUnion() 22548 es = append(es, cn) 22549 name := tree.SetUnresolvedName("char") 22550 yyLOCAL = &tree.FuncExpr{ 22551 Func: tree.FuncName2ResolvableFunctionReference(name), 22552 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22553 Exprs: es, 22554 } 22555 } 22556 yyVAL.union = yyLOCAL 22557 case 1560: 22558 yyDollar = yyS[yypt-2 : yypt+1] 22559 var yyLOCAL *tree.FuncExpr 22560 //line mysql_sql.y:10121 22561 { 22562 val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) 22563 name := tree.SetUnresolvedName("date") 22564 yyLOCAL = &tree.FuncExpr{ 22565 Func: tree.FuncName2ResolvableFunctionReference(name), 22566 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22567 Exprs: tree.Exprs{val}, 22568 } 22569 } 22570 yyVAL.union = yyLOCAL 22571 case 1561: 22572 yyDollar = yyS[yypt-2 : yypt+1] 22573 var yyLOCAL *tree.FuncExpr 22574 //line mysql_sql.y:10131 22575 { 22576 val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) 22577 name := tree.SetUnresolvedName("time") 22578 yyLOCAL = &tree.FuncExpr{ 22579 Func: tree.FuncName2ResolvableFunctionReference(name), 22580 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22581 Exprs: tree.Exprs{val}, 22582 } 22583 } 22584 yyVAL.union = yyLOCAL 22585 case 1562: 22586 yyDollar = yyS[yypt-4 : yypt+1] 22587 var yyLOCAL *tree.FuncExpr 22588 //line mysql_sql.y:10141 22589 { 22590 name := tree.SetUnresolvedName("insert") 22591 yyLOCAL = &tree.FuncExpr{ 22592 Func: tree.FuncName2ResolvableFunctionReference(name), 22593 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22594 Exprs: yyDollar[3].exprsUnion(), 22595 } 22596 } 22597 yyVAL.union = yyLOCAL 22598 case 1563: 22599 yyDollar = yyS[yypt-6 : yypt+1] 22600 var yyLOCAL *tree.FuncExpr 22601 //line mysql_sql.y:10150 22602 { 22603 es := tree.Exprs{yyDollar[3].exprUnion()} 22604 es = append(es, yyDollar[5].exprUnion()) 22605 name := tree.SetUnresolvedName("mod") 22606 yyLOCAL = &tree.FuncExpr{ 22607 Func: tree.FuncName2ResolvableFunctionReference(name), 22608 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22609 Exprs: es, 22610 } 22611 } 22612 yyVAL.union = yyLOCAL 22613 case 1564: 22614 yyDollar = yyS[yypt-4 : yypt+1] 22615 var yyLOCAL *tree.FuncExpr 22616 //line mysql_sql.y:10161 22617 { 22618 name := tree.SetUnresolvedName("password") 22619 yyLOCAL = &tree.FuncExpr{ 22620 Func: tree.FuncName2ResolvableFunctionReference(name), 22621 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22622 Exprs: yyDollar[3].exprsUnion(), 22623 } 22624 } 22625 yyVAL.union = yyLOCAL 22626 case 1565: 22627 yyDollar = yyS[yypt-2 : yypt+1] 22628 var yyLOCAL *tree.FuncExpr 22629 //line mysql_sql.y:10170 22630 { 22631 val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) 22632 name := tree.SetUnresolvedName("timestamp") 22633 yyLOCAL = &tree.FuncExpr{ 22634 Func: tree.FuncName2ResolvableFunctionReference(name), 22635 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22636 Exprs: tree.Exprs{val}, 22637 } 22638 } 22639 yyVAL.union = yyLOCAL 22640 case 1566: 22641 yyDollar = yyS[yypt-4 : yypt+1] 22642 var yyLOCAL *tree.FuncExpr 22643 //line mysql_sql.y:10180 22644 { 22645 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22646 yyLOCAL = &tree.FuncExpr{ 22647 Func: tree.FuncName2ResolvableFunctionReference(name), 22648 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22649 Exprs: yyDollar[3].exprsUnion(), 22650 } 22651 } 22652 yyVAL.union = yyLOCAL 22653 case 1567: 22654 yyDollar = yyS[yypt-4 : yypt+1] 22655 var yyLOCAL *tree.FuncExpr 22656 //line mysql_sql.y:10189 22657 { 22658 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22659 yyLOCAL = &tree.FuncExpr{ 22660 Func: tree.FuncName2ResolvableFunctionReference(name), 22661 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22662 Exprs: yyDollar[3].exprsUnion(), 22663 } 22664 } 22665 yyVAL.union = yyLOCAL 22666 case 1568: 22667 yyDollar = yyS[yypt-4 : yypt+1] 22668 var yyLOCAL *tree.FuncExpr 22669 //line mysql_sql.y:10198 22670 { 22671 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 22672 yyLOCAL = &tree.FuncExpr{ 22673 Func: tree.FuncName2ResolvableFunctionReference(name), 22674 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22675 Exprs: yyDollar[3].exprsUnion(), 22676 } 22677 } 22678 yyVAL.union = yyLOCAL 22679 case 1569: 22680 yyDollar = yyS[yypt-0 : yypt+1] 22681 var yyLOCAL tree.Expr 22682 //line mysql_sql.y:10208 22683 { 22684 yyLOCAL = nil 22685 } 22686 yyVAL.union = yyLOCAL 22687 case 1570: 22688 yyDollar = yyS[yypt-1 : yypt+1] 22689 var yyLOCAL tree.Expr 22690 //line mysql_sql.y:10212 22691 { 22692 yyLOCAL = yyDollar[1].exprUnion() 22693 } 22694 yyVAL.union = yyLOCAL 22695 case 1571: 22696 yyDollar = yyS[yypt-2 : yypt+1] 22697 var yyLOCAL tree.Expr 22698 //line mysql_sql.y:10218 22699 { 22700 yyLOCAL = nil 22701 } 22702 yyVAL.union = yyLOCAL 22703 case 1572: 22704 yyDollar = yyS[yypt-3 : yypt+1] 22705 var yyLOCAL tree.Expr 22706 //line mysql_sql.y:10222 22707 { 22708 ival, errStr := util.GetInt64(yyDollar[2].item) 22709 if errStr != "" { 22710 yylex.Error(errStr) 22711 goto ret1 22712 } 22713 str := fmt.Sprintf("%v", yyDollar[2].item) 22714 yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(ival), str, false, tree.P_int64) 22715 } 22716 yyVAL.union = yyLOCAL 22717 case 1579: 22718 yyDollar = yyS[yypt-0 : yypt+1] 22719 //line mysql_sql.y:10241 22720 { 22721 } 22722 case 1580: 22723 yyDollar = yyS[yypt-2 : yypt+1] 22724 //line mysql_sql.y:10243 22725 { 22726 } 22727 case 1614: 22728 yyDollar = yyS[yypt-3 : yypt+1] 22729 var yyLOCAL tree.Expr 22730 //line mysql_sql.y:10284 22731 { 22732 name := tree.SetUnresolvedName("interval") 22733 str := strings.ToLower(yyDollar[3].str) 22734 arg2 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char) 22735 yyLOCAL = &tree.FuncExpr{ 22736 Func: tree.FuncName2ResolvableFunctionReference(name), 22737 FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin), 22738 Exprs: tree.Exprs{yyDollar[2].exprUnion(), arg2}, 22739 } 22740 } 22741 yyVAL.union = yyLOCAL 22742 case 1615: 22743 yyDollar = yyS[yypt-0 : yypt+1] 22744 var yyLOCAL tree.FuncType 22745 //line mysql_sql.y:10296 22746 { 22747 yyLOCAL = tree.FUNC_TYPE_DEFAULT 22748 } 22749 yyVAL.union = yyLOCAL 22750 case 1616: 22751 yyDollar = yyS[yypt-1 : yypt+1] 22752 var yyLOCAL tree.FuncType 22753 //line mysql_sql.y:10300 22754 { 22755 yyLOCAL = tree.FUNC_TYPE_DISTINCT 22756 } 22757 yyVAL.union = yyLOCAL 22758 case 1617: 22759 yyDollar = yyS[yypt-1 : yypt+1] 22760 var yyLOCAL tree.FuncType 22761 //line mysql_sql.y:10304 22762 { 22763 yyLOCAL = tree.FUNC_TYPE_ALL 22764 } 22765 yyVAL.union = yyLOCAL 22766 case 1618: 22767 yyDollar = yyS[yypt-3 : yypt+1] 22768 var yyLOCAL *tree.Tuple 22769 //line mysql_sql.y:10310 22770 { 22771 yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion()) 22772 } 22773 yyVAL.union = yyLOCAL 22774 case 1619: 22775 yyDollar = yyS[yypt-0 : yypt+1] 22776 var yyLOCAL tree.Exprs 22777 //line mysql_sql.y:10315 22778 { 22779 yyLOCAL = nil 22780 } 22781 yyVAL.union = yyLOCAL 22782 case 1620: 22783 yyDollar = yyS[yypt-1 : yypt+1] 22784 var yyLOCAL tree.Exprs 22785 //line mysql_sql.y:10319 22786 { 22787 yyLOCAL = yyDollar[1].exprsUnion() 22788 } 22789 yyVAL.union = yyLOCAL 22790 case 1621: 22791 yyDollar = yyS[yypt-1 : yypt+1] 22792 var yyLOCAL tree.Exprs 22793 //line mysql_sql.y:10325 22794 { 22795 yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} 22796 } 22797 yyVAL.union = yyLOCAL 22798 case 1622: 22799 yyDollar = yyS[yypt-3 : yypt+1] 22800 var yyLOCAL tree.Exprs 22801 //line mysql_sql.y:10329 22802 { 22803 yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) 22804 } 22805 yyVAL.union = yyLOCAL 22806 case 1623: 22807 yyDollar = yyS[yypt-1 : yypt+1] 22808 var yyLOCAL tree.Exprs 22809 //line mysql_sql.y:10335 22810 { 22811 yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} 22812 } 22813 yyVAL.union = yyLOCAL 22814 case 1624: 22815 yyDollar = yyS[yypt-3 : yypt+1] 22816 var yyLOCAL tree.Exprs 22817 //line mysql_sql.y:10339 22818 { 22819 yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) 22820 } 22821 yyVAL.union = yyLOCAL 22822 case 1625: 22823 yyDollar = yyS[yypt-3 : yypt+1] 22824 var yyLOCAL tree.Expr 22825 //line mysql_sql.y:10346 22826 { 22827 yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 22828 } 22829 yyVAL.union = yyLOCAL 22830 case 1626: 22831 yyDollar = yyS[yypt-3 : yypt+1] 22832 var yyLOCAL tree.Expr 22833 //line mysql_sql.y:10350 22834 { 22835 yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 22836 } 22837 yyVAL.union = yyLOCAL 22838 case 1627: 22839 yyDollar = yyS[yypt-3 : yypt+1] 22840 var yyLOCAL tree.Expr 22841 //line mysql_sql.y:10354 22842 { 22843 name := tree.SetUnresolvedName(strings.ToLower("concat")) 22844 yyLOCAL = &tree.FuncExpr{ 22845 Func: tree.FuncName2ResolvableFunctionReference(name), 22846 FuncName: tree.NewCStrUseOrigin("concat", yylex.(*Lexer).useOrigin), 22847 Exprs: tree.Exprs{yyDollar[1].exprUnion(), yyDollar[3].exprUnion()}, 22848 } 22849 } 22850 yyVAL.union = yyLOCAL 22851 case 1628: 22852 yyDollar = yyS[yypt-3 : yypt+1] 22853 var yyLOCAL tree.Expr 22854 //line mysql_sql.y:10363 22855 { 22856 yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 22857 } 22858 yyVAL.union = yyLOCAL 22859 case 1629: 22860 yyDollar = yyS[yypt-2 : yypt+1] 22861 var yyLOCAL tree.Expr 22862 //line mysql_sql.y:10367 22863 { 22864 yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion()) 22865 } 22866 yyVAL.union = yyLOCAL 22867 case 1630: 22868 yyDollar = yyS[yypt-1 : yypt+1] 22869 var yyLOCAL tree.Expr 22870 //line mysql_sql.y:10371 22871 { 22872 yyLOCAL = yyDollar[1].exprUnion() 22873 } 22874 yyVAL.union = yyLOCAL 22875 case 1631: 22876 yyDollar = yyS[yypt-1 : yypt+1] 22877 var yyLOCAL tree.Expr 22878 //line mysql_sql.y:10376 22879 { 22880 yyLOCAL = yyDollar[1].exprUnion() 22881 } 22882 yyVAL.union = yyLOCAL 22883 case 1632: 22884 yyDollar = yyS[yypt-1 : yypt+1] 22885 var yyLOCAL tree.Expr 22886 //line mysql_sql.y:10380 22887 { 22888 yyLOCAL = tree.NewMaxValue() 22889 } 22890 yyVAL.union = yyLOCAL 22891 case 1633: 22892 yyDollar = yyS[yypt-3 : yypt+1] 22893 var yyLOCAL tree.Expr 22894 //line mysql_sql.y:10386 22895 { 22896 yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion()) 22897 } 22898 yyVAL.union = yyLOCAL 22899 case 1634: 22900 yyDollar = yyS[yypt-4 : yypt+1] 22901 var yyLOCAL tree.Expr 22902 //line mysql_sql.y:10390 22903 { 22904 yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion()) 22905 } 22906 yyVAL.union = yyLOCAL 22907 case 1635: 22908 yyDollar = yyS[yypt-3 : yypt+1] 22909 var yyLOCAL tree.Expr 22910 //line mysql_sql.y:10394 22911 { 22912 yyLOCAL = tree.NewIsUnknownExpr(yyDollar[1].exprUnion()) 22913 } 22914 yyVAL.union = yyLOCAL 22915 case 1636: 22916 yyDollar = yyS[yypt-4 : yypt+1] 22917 var yyLOCAL tree.Expr 22918 //line mysql_sql.y:10398 22919 { 22920 yyLOCAL = tree.NewIsNotUnknownExpr(yyDollar[1].exprUnion()) 22921 } 22922 yyVAL.union = yyLOCAL 22923 case 1637: 22924 yyDollar = yyS[yypt-3 : yypt+1] 22925 var yyLOCAL tree.Expr 22926 //line mysql_sql.y:10402 22927 { 22928 yyLOCAL = tree.NewIsTrueExpr(yyDollar[1].exprUnion()) 22929 } 22930 yyVAL.union = yyLOCAL 22931 case 1638: 22932 yyDollar = yyS[yypt-4 : yypt+1] 22933 var yyLOCAL tree.Expr 22934 //line mysql_sql.y:10406 22935 { 22936 yyLOCAL = tree.NewIsNotTrueExpr(yyDollar[1].exprUnion()) 22937 } 22938 yyVAL.union = yyLOCAL 22939 case 1639: 22940 yyDollar = yyS[yypt-3 : yypt+1] 22941 var yyLOCAL tree.Expr 22942 //line mysql_sql.y:10410 22943 { 22944 yyLOCAL = tree.NewIsFalseExpr(yyDollar[1].exprUnion()) 22945 } 22946 yyVAL.union = yyLOCAL 22947 case 1640: 22948 yyDollar = yyS[yypt-4 : yypt+1] 22949 var yyLOCAL tree.Expr 22950 //line mysql_sql.y:10414 22951 { 22952 yyLOCAL = tree.NewIsNotFalseExpr(yyDollar[1].exprUnion()) 22953 } 22954 yyVAL.union = yyLOCAL 22955 case 1641: 22956 yyDollar = yyS[yypt-3 : yypt+1] 22957 var yyLOCAL tree.Expr 22958 //line mysql_sql.y:10418 22959 { 22960 yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 22961 } 22962 yyVAL.union = yyLOCAL 22963 case 1642: 22964 yyDollar = yyS[yypt-4 : yypt+1] 22965 var yyLOCAL tree.Expr 22966 //line mysql_sql.y:10422 22967 { 22968 yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) 22969 yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) 22970 } 22971 yyVAL.union = yyLOCAL 22972 case 1644: 22973 yyDollar = yyS[yypt-3 : yypt+1] 22974 var yyLOCAL tree.Expr 22975 //line mysql_sql.y:10430 22976 { 22977 yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 22978 } 22979 yyVAL.union = yyLOCAL 22980 case 1645: 22981 yyDollar = yyS[yypt-4 : yypt+1] 22982 var yyLOCAL tree.Expr 22983 //line mysql_sql.y:10434 22984 { 22985 yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) 22986 } 22987 yyVAL.union = yyLOCAL 22988 case 1646: 22989 yyDollar = yyS[yypt-4 : yypt+1] 22990 var yyLOCAL tree.Expr 22991 //line mysql_sql.y:10438 22992 { 22993 yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) 22994 } 22995 yyVAL.union = yyLOCAL 22996 case 1647: 22997 yyDollar = yyS[yypt-5 : yypt+1] 22998 var yyLOCAL tree.Expr 22999 //line mysql_sql.y:10442 23000 { 23001 yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) 23002 } 23003 yyVAL.union = yyLOCAL 23004 case 1648: 23005 yyDollar = yyS[yypt-4 : yypt+1] 23006 var yyLOCAL tree.Expr 23007 //line mysql_sql.y:10446 23008 { 23009 yyLOCAL = tree.NewComparisonExprWithEscape(tree.ILIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) 23010 } 23011 yyVAL.union = yyLOCAL 23012 case 1649: 23013 yyDollar = yyS[yypt-5 : yypt+1] 23014 var yyLOCAL tree.Expr 23015 //line mysql_sql.y:10450 23016 { 23017 yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_ILIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) 23018 } 23019 yyVAL.union = yyLOCAL 23020 case 1650: 23021 yyDollar = yyS[yypt-3 : yypt+1] 23022 var yyLOCAL tree.Expr 23023 //line mysql_sql.y:10454 23024 { 23025 yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 23026 } 23027 yyVAL.union = yyLOCAL 23028 case 1651: 23029 yyDollar = yyS[yypt-4 : yypt+1] 23030 var yyLOCAL tree.Expr 23031 //line mysql_sql.y:10458 23032 { 23033 yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) 23034 } 23035 yyVAL.union = yyLOCAL 23036 case 1652: 23037 yyDollar = yyS[yypt-5 : yypt+1] 23038 var yyLOCAL tree.Expr 23039 //line mysql_sql.y:10462 23040 { 23041 yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion()) 23042 } 23043 yyVAL.union = yyLOCAL 23044 case 1653: 23045 yyDollar = yyS[yypt-6 : yypt+1] 23046 var yyLOCAL tree.Expr 23047 //line mysql_sql.y:10466 23048 { 23049 yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion()) 23050 } 23051 yyVAL.union = yyLOCAL 23052 case 1655: 23053 yyDollar = yyS[yypt-0 : yypt+1] 23054 var yyLOCAL tree.Expr 23055 //line mysql_sql.y:10472 23056 { 23057 yyLOCAL = nil 23058 } 23059 yyVAL.union = yyLOCAL 23060 case 1656: 23061 yyDollar = yyS[yypt-2 : yypt+1] 23062 var yyLOCAL tree.Expr 23063 //line mysql_sql.y:10476 23064 { 23065 yyLOCAL = yyDollar[2].exprUnion() 23066 } 23067 yyVAL.union = yyLOCAL 23068 case 1657: 23069 yyDollar = yyS[yypt-1 : yypt+1] 23070 var yyLOCAL tree.Expr 23071 //line mysql_sql.y:10482 23072 { 23073 yyLOCAL = yyDollar[1].tupleUnion() 23074 } 23075 yyVAL.union = yyLOCAL 23076 case 1658: 23077 yyDollar = yyS[yypt-1 : yypt+1] 23078 var yyLOCAL tree.Expr 23079 //line mysql_sql.y:10486 23080 { 23081 yyLOCAL = yyDollar[1].subqueryUnion() 23082 } 23083 yyVAL.union = yyLOCAL 23084 case 1659: 23085 yyDollar = yyS[yypt-1 : yypt+1] 23086 var yyLOCAL tree.ComparisonOp 23087 //line mysql_sql.y:10493 23088 { 23089 yyLOCAL = tree.ALL 23090 } 23091 yyVAL.union = yyLOCAL 23092 case 1660: 23093 yyDollar = yyS[yypt-1 : yypt+1] 23094 var yyLOCAL tree.ComparisonOp 23095 //line mysql_sql.y:10497 23096 { 23097 yyLOCAL = tree.ANY 23098 } 23099 yyVAL.union = yyLOCAL 23100 case 1661: 23101 yyDollar = yyS[yypt-1 : yypt+1] 23102 var yyLOCAL tree.ComparisonOp 23103 //line mysql_sql.y:10501 23104 { 23105 yyLOCAL = tree.SOME 23106 } 23107 yyVAL.union = yyLOCAL 23108 case 1662: 23109 yyDollar = yyS[yypt-1 : yypt+1] 23110 var yyLOCAL tree.ComparisonOp 23111 //line mysql_sql.y:10507 23112 { 23113 yyLOCAL = tree.EQUAL 23114 } 23115 yyVAL.union = yyLOCAL 23116 case 1663: 23117 yyDollar = yyS[yypt-1 : yypt+1] 23118 var yyLOCAL tree.ComparisonOp 23119 //line mysql_sql.y:10511 23120 { 23121 yyLOCAL = tree.LESS_THAN 23122 } 23123 yyVAL.union = yyLOCAL 23124 case 1664: 23125 yyDollar = yyS[yypt-1 : yypt+1] 23126 var yyLOCAL tree.ComparisonOp 23127 //line mysql_sql.y:10515 23128 { 23129 yyLOCAL = tree.GREAT_THAN 23130 } 23131 yyVAL.union = yyLOCAL 23132 case 1665: 23133 yyDollar = yyS[yypt-1 : yypt+1] 23134 var yyLOCAL tree.ComparisonOp 23135 //line mysql_sql.y:10519 23136 { 23137 yyLOCAL = tree.LESS_THAN_EQUAL 23138 } 23139 yyVAL.union = yyLOCAL 23140 case 1666: 23141 yyDollar = yyS[yypt-1 : yypt+1] 23142 var yyLOCAL tree.ComparisonOp 23143 //line mysql_sql.y:10523 23144 { 23145 yyLOCAL = tree.GREAT_THAN_EQUAL 23146 } 23147 yyVAL.union = yyLOCAL 23148 case 1667: 23149 yyDollar = yyS[yypt-1 : yypt+1] 23150 var yyLOCAL tree.ComparisonOp 23151 //line mysql_sql.y:10527 23152 { 23153 yyLOCAL = tree.NOT_EQUAL 23154 } 23155 yyVAL.union = yyLOCAL 23156 case 1668: 23157 yyDollar = yyS[yypt-1 : yypt+1] 23158 var yyLOCAL tree.ComparisonOp 23159 //line mysql_sql.y:10531 23160 { 23161 yyLOCAL = tree.NULL_SAFE_EQUAL 23162 } 23163 yyVAL.union = yyLOCAL 23164 case 1669: 23165 yyDollar = yyS[yypt-2 : yypt+1] 23166 var yyLOCAL tree.ColumnAttribute 23167 //line mysql_sql.y:10537 23168 { 23169 yyLOCAL = tree.NewAttributePrimaryKey() 23170 } 23171 yyVAL.union = yyLOCAL 23172 case 1670: 23173 yyDollar = yyS[yypt-2 : yypt+1] 23174 var yyLOCAL tree.ColumnAttribute 23175 //line mysql_sql.y:10541 23176 { 23177 yyLOCAL = tree.NewAttributeUniqueKey() 23178 } 23179 yyVAL.union = yyLOCAL 23180 case 1671: 23181 yyDollar = yyS[yypt-1 : yypt+1] 23182 var yyLOCAL tree.ColumnAttribute 23183 //line mysql_sql.y:10545 23184 { 23185 yyLOCAL = tree.NewAttributeUnique() 23186 } 23187 yyVAL.union = yyLOCAL 23188 case 1672: 23189 yyDollar = yyS[yypt-1 : yypt+1] 23190 var yyLOCAL tree.ColumnAttribute 23191 //line mysql_sql.y:10549 23192 { 23193 yyLOCAL = tree.NewAttributeKey() 23194 } 23195 yyVAL.union = yyLOCAL 23196 case 1673: 23197 yyDollar = yyS[yypt-1 : yypt+1] 23198 var yyLOCAL tree.Expr 23199 //line mysql_sql.y:10555 23200 { 23201 str := fmt.Sprintf("%v", yyDollar[1].item) 23202 switch v := yyDollar[1].item.(type) { 23203 case uint64: 23204 yyLOCAL = tree.NewNumValWithType(constant.MakeUint64(v), str, false, tree.P_uint64) 23205 case int64: 23206 yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64) 23207 default: 23208 yylex.Error("parse integral fail") 23209 goto ret1 23210 } 23211 } 23212 yyVAL.union = yyLOCAL 23213 case 1674: 23214 yyDollar = yyS[yypt-1 : yypt+1] 23215 var yyLOCAL tree.Expr 23216 //line mysql_sql.y:10568 23217 { 23218 fval := yyDollar[1].item.(float64) 23219 yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) 23220 } 23221 yyVAL.union = yyLOCAL 23222 case 1675: 23223 yyDollar = yyS[yypt-1 : yypt+1] 23224 var yyLOCAL tree.Expr 23225 //line mysql_sql.y:10573 23226 { 23227 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal) 23228 } 23229 yyVAL.union = yyLOCAL 23230 case 1676: 23231 yyDollar = yyS[yypt-1 : yypt+1] 23232 var yyLOCAL tree.Expr 23233 //line mysql_sql.y:10579 23234 { 23235 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) 23236 } 23237 yyVAL.union = yyLOCAL 23238 case 1677: 23239 yyDollar = yyS[yypt-1 : yypt+1] 23240 var yyLOCAL tree.Expr 23241 //line mysql_sql.y:10583 23242 { 23243 str := fmt.Sprintf("%v", yyDollar[1].item) 23244 switch v := yyDollar[1].item.(type) { 23245 case uint64: 23246 yyLOCAL = tree.NewNumValWithType(constant.MakeUint64(v), str, false, tree.P_uint64) 23247 case int64: 23248 yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64) 23249 default: 23250 yylex.Error("parse integral fail") 23251 goto ret1 23252 } 23253 } 23254 yyVAL.union = yyLOCAL 23255 case 1678: 23256 yyDollar = yyS[yypt-1 : yypt+1] 23257 var yyLOCAL tree.Expr 23258 //line mysql_sql.y:10596 23259 { 23260 fval := yyDollar[1].item.(float64) 23261 yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) 23262 } 23263 yyVAL.union = yyLOCAL 23264 case 1679: 23265 yyDollar = yyS[yypt-1 : yypt+1] 23266 var yyLOCAL tree.Expr 23267 //line mysql_sql.y:10601 23268 { 23269 yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "true", false, tree.P_bool) 23270 } 23271 yyVAL.union = yyLOCAL 23272 case 1680: 23273 yyDollar = yyS[yypt-1 : yypt+1] 23274 var yyLOCAL tree.Expr 23275 //line mysql_sql.y:10605 23276 { 23277 yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "false", false, tree.P_bool) 23278 } 23279 yyVAL.union = yyLOCAL 23280 case 1681: 23281 yyDollar = yyS[yypt-1 : yypt+1] 23282 var yyLOCAL tree.Expr 23283 //line mysql_sql.y:10609 23284 { 23285 yyLOCAL = tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null) 23286 } 23287 yyVAL.union = yyLOCAL 23288 case 1682: 23289 yyDollar = yyS[yypt-1 : yypt+1] 23290 var yyLOCAL tree.Expr 23291 //line mysql_sql.y:10613 23292 { 23293 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_hexnum) 23294 } 23295 yyVAL.union = yyLOCAL 23296 case 1683: 23297 yyDollar = yyS[yypt-2 : yypt+1] 23298 var yyLOCAL tree.Expr 23299 //line mysql_sql.y:10617 23300 { 23301 if strings.HasPrefix(yyDollar[2].str, "0x") { 23302 yyDollar[2].str = yyDollar[2].str[2:] 23303 } 23304 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_bit) 23305 } 23306 yyVAL.union = yyLOCAL 23307 case 1684: 23308 yyDollar = yyS[yypt-1 : yypt+1] 23309 var yyLOCAL tree.Expr 23310 //line mysql_sql.y:10624 23311 { 23312 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal) 23313 } 23314 yyVAL.union = yyLOCAL 23315 case 1685: 23316 yyDollar = yyS[yypt-1 : yypt+1] 23317 var yyLOCAL tree.Expr 23318 //line mysql_sql.y:10628 23319 { 23320 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_bit) 23321 } 23322 yyVAL.union = yyLOCAL 23323 case 1686: 23324 yyDollar = yyS[yypt-1 : yypt+1] 23325 var yyLOCAL tree.Expr 23326 //line mysql_sql.y:10632 23327 { 23328 yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) 23329 } 23330 yyVAL.union = yyLOCAL 23331 case 1687: 23332 yyDollar = yyS[yypt-2 : yypt+1] 23333 var yyLOCAL tree.Expr 23334 //line mysql_sql.y:10636 23335 { 23336 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_ScoreBinary) 23337 } 23338 yyVAL.union = yyLOCAL 23339 case 1688: 23340 yyDollar = yyS[yypt-3 : yypt+1] 23341 var yyLOCAL *tree.T 23342 //line mysql_sql.y:10643 23343 { 23344 yyLOCAL = yyDollar[1].columnTypeUnion() 23345 yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion() 23346 yyLOCAL.InternalType.Zerofill = yyDollar[3].zeroFillOptUnion() 23347 } 23348 yyVAL.union = yyLOCAL 23349 case 1692: 23350 yyDollar = yyS[yypt-2 : yypt+1] 23351 var yyLOCAL *tree.T 23352 //line mysql_sql.y:10654 23353 { 23354 yyLOCAL = yyDollar[1].columnTypeUnion() 23355 yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion() 23356 } 23357 yyVAL.union = yyLOCAL 23358 case 1693: 23359 yyDollar = yyS[yypt-1 : yypt+1] 23360 var yyLOCAL *tree.T 23361 //line mysql_sql.y:10659 23362 { 23363 yyLOCAL = yyDollar[1].columnTypeUnion() 23364 } 23365 yyVAL.union = yyLOCAL 23366 case 1694: 23367 yyDollar = yyS[yypt-1 : yypt+1] 23368 var yyLOCAL *tree.T 23369 //line mysql_sql.y:10665 23370 { 23371 locale := "" 23372 yyLOCAL = &tree.T{ 23373 InternalType: tree.InternalType{ 23374 Family: tree.BitFamily, 23375 FamilyString: yyDollar[1].str, 23376 Locale: &locale, 23377 Oid: uint32(defines.MYSQL_TYPE_BIT), 23378 }, 23379 } 23380 } 23381 yyVAL.union = yyLOCAL 23382 case 1695: 23383 yyDollar = yyS[yypt-1 : yypt+1] 23384 var yyLOCAL *tree.T 23385 //line mysql_sql.y:10677 23386 { 23387 locale := "" 23388 yyLOCAL = &tree.T{ 23389 InternalType: tree.InternalType{ 23390 Family: tree.BoolFamily, 23391 FamilyString: yyDollar[1].str, 23392 Locale: &locale, 23393 Oid: uint32(defines.MYSQL_TYPE_BOOL), 23394 }, 23395 } 23396 } 23397 yyVAL.union = yyLOCAL 23398 case 1696: 23399 yyDollar = yyS[yypt-1 : yypt+1] 23400 var yyLOCAL *tree.T 23401 //line mysql_sql.y:10689 23402 { 23403 locale := "" 23404 yyLOCAL = &tree.T{ 23405 InternalType: tree.InternalType{ 23406 Family: tree.BoolFamily, 23407 FamilyString: yyDollar[1].str, 23408 Locale: &locale, 23409 Oid: uint32(defines.MYSQL_TYPE_BOOL), 23410 }, 23411 } 23412 } 23413 yyVAL.union = yyLOCAL 23414 case 1697: 23415 yyDollar = yyS[yypt-1 : yypt+1] 23416 var yyLOCAL *tree.T 23417 //line mysql_sql.y:10701 23418 { 23419 locale := "" 23420 yyLOCAL = &tree.T{ 23421 InternalType: tree.InternalType{ 23422 Family: tree.IntFamily, 23423 FamilyString: yyDollar[1].str, 23424 Width: 8, 23425 Locale: &locale, 23426 Oid: uint32(defines.MYSQL_TYPE_TINY), 23427 }, 23428 } 23429 } 23430 yyVAL.union = yyLOCAL 23431 case 1698: 23432 yyDollar = yyS[yypt-1 : yypt+1] 23433 var yyLOCAL *tree.T 23434 //line mysql_sql.y:10714 23435 { 23436 locale := "" 23437 yyLOCAL = &tree.T{ 23438 InternalType: tree.InternalType{ 23439 Family: tree.IntFamily, 23440 FamilyString: yyDollar[1].str, 23441 Width: 8, 23442 Locale: &locale, 23443 Oid: uint32(defines.MYSQL_TYPE_TINY), 23444 }, 23445 } 23446 } 23447 yyVAL.union = yyLOCAL 23448 case 1699: 23449 yyDollar = yyS[yypt-1 : yypt+1] 23450 var yyLOCAL *tree.T 23451 //line mysql_sql.y:10727 23452 { 23453 locale := "" 23454 yyLOCAL = &tree.T{ 23455 InternalType: tree.InternalType{ 23456 Family: tree.IntFamily, 23457 FamilyString: yyDollar[1].str, 23458 Width: 16, 23459 Locale: &locale, 23460 Oid: uint32(defines.MYSQL_TYPE_SHORT), 23461 }, 23462 } 23463 } 23464 yyVAL.union = yyLOCAL 23465 case 1700: 23466 yyDollar = yyS[yypt-1 : yypt+1] 23467 var yyLOCAL *tree.T 23468 //line mysql_sql.y:10740 23469 { 23470 locale := "" 23471 yyLOCAL = &tree.T{ 23472 InternalType: tree.InternalType{ 23473 Family: tree.IntFamily, 23474 FamilyString: yyDollar[1].str, 23475 Width: 16, 23476 Locale: &locale, 23477 Oid: uint32(defines.MYSQL_TYPE_SHORT), 23478 }, 23479 } 23480 } 23481 yyVAL.union = yyLOCAL 23482 case 1701: 23483 yyDollar = yyS[yypt-1 : yypt+1] 23484 var yyLOCAL *tree.T 23485 //line mysql_sql.y:10753 23486 { 23487 locale := "" 23488 yyLOCAL = &tree.T{ 23489 InternalType: tree.InternalType{ 23490 Family: tree.IntFamily, 23491 FamilyString: yyDollar[1].str, 23492 Width: 24, 23493 Locale: &locale, 23494 Oid: uint32(defines.MYSQL_TYPE_INT24), 23495 }, 23496 } 23497 } 23498 yyVAL.union = yyLOCAL 23499 case 1702: 23500 yyDollar = yyS[yypt-1 : yypt+1] 23501 var yyLOCAL *tree.T 23502 //line mysql_sql.y:10766 23503 { 23504 locale := "" 23505 yyLOCAL = &tree.T{ 23506 InternalType: tree.InternalType{ 23507 Family: tree.IntFamily, 23508 FamilyString: yyDollar[1].str, 23509 Width: 24, 23510 Locale: &locale, 23511 Oid: uint32(defines.MYSQL_TYPE_INT24), 23512 }, 23513 } 23514 } 23515 yyVAL.union = yyLOCAL 23516 case 1703: 23517 yyDollar = yyS[yypt-1 : yypt+1] 23518 var yyLOCAL *tree.T 23519 //line mysql_sql.y:10779 23520 { 23521 locale := "" 23522 yyLOCAL = &tree.T{ 23523 InternalType: tree.InternalType{ 23524 Family: tree.IntFamily, 23525 FamilyString: yyDollar[1].str, 23526 Width: 32, 23527 Locale: &locale, 23528 Oid: uint32(defines.MYSQL_TYPE_LONG), 23529 }, 23530 } 23531 } 23532 yyVAL.union = yyLOCAL 23533 case 1704: 23534 yyDollar = yyS[yypt-1 : yypt+1] 23535 var yyLOCAL *tree.T 23536 //line mysql_sql.y:10792 23537 { 23538 locale := "" 23539 yyLOCAL = &tree.T{ 23540 InternalType: tree.InternalType{ 23541 Family: tree.IntFamily, 23542 FamilyString: yyDollar[1].str, 23543 Width: 32, 23544 Locale: &locale, 23545 Oid: uint32(defines.MYSQL_TYPE_LONG), 23546 }, 23547 } 23548 } 23549 yyVAL.union = yyLOCAL 23550 case 1705: 23551 yyDollar = yyS[yypt-1 : yypt+1] 23552 var yyLOCAL *tree.T 23553 //line mysql_sql.y:10805 23554 { 23555 locale := "" 23556 yyLOCAL = &tree.T{ 23557 InternalType: tree.InternalType{ 23558 Family: tree.IntFamily, 23559 FamilyString: yyDollar[1].str, 23560 Width: 32, 23561 Locale: &locale, 23562 Oid: uint32(defines.MYSQL_TYPE_LONG), 23563 }, 23564 } 23565 } 23566 yyVAL.union = yyLOCAL 23567 case 1706: 23568 yyDollar = yyS[yypt-1 : yypt+1] 23569 var yyLOCAL *tree.T 23570 //line mysql_sql.y:10818 23571 { 23572 locale := "" 23573 yyLOCAL = &tree.T{ 23574 InternalType: tree.InternalType{ 23575 Family: tree.IntFamily, 23576 FamilyString: yyDollar[1].str, 23577 Width: 64, 23578 Locale: &locale, 23579 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 23580 }, 23581 } 23582 } 23583 yyVAL.union = yyLOCAL 23584 case 1707: 23585 yyDollar = yyS[yypt-1 : yypt+1] 23586 var yyLOCAL *tree.T 23587 //line mysql_sql.y:10831 23588 { 23589 locale := "" 23590 yyLOCAL = &tree.T{ 23591 InternalType: tree.InternalType{ 23592 Family: tree.IntFamily, 23593 FamilyString: yyDollar[1].str, 23594 Width: 64, 23595 Locale: &locale, 23596 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 23597 }, 23598 } 23599 } 23600 yyVAL.union = yyLOCAL 23601 case 1708: 23602 yyDollar = yyS[yypt-2 : yypt+1] 23603 var yyLOCAL *tree.T 23604 //line mysql_sql.y:10846 23605 { 23606 locale := "" 23607 if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { 23608 yylex.Error("Display width for double out of range (max = 255)") 23609 goto ret1 23610 } 23611 if yyDollar[2].lengthScaleOptUnion().Scale > 30 { 23612 yylex.Error("Display scale for double out of range (max = 30)") 23613 goto ret1 23614 } 23615 if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith { 23616 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 23617 goto ret1 23618 } 23619 yyLOCAL = &tree.T{ 23620 InternalType: tree.InternalType{ 23621 Family: tree.FloatFamily, 23622 FamilyString: yyDollar[1].str, 23623 Width: 64, 23624 Locale: &locale, 23625 Oid: uint32(defines.MYSQL_TYPE_DOUBLE), 23626 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23627 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23628 }, 23629 } 23630 } 23631 yyVAL.union = yyLOCAL 23632 case 1709: 23633 yyDollar = yyS[yypt-2 : yypt+1] 23634 var yyLOCAL *tree.T 23635 //line mysql_sql.y:10873 23636 { 23637 locale := "" 23638 if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { 23639 yylex.Error("Display width for float out of range (max = 255)") 23640 goto ret1 23641 } 23642 if yyDollar[2].lengthScaleOptUnion().Scale > 30 { 23643 yylex.Error("Display scale for float out of range (max = 30)") 23644 goto ret1 23645 } 23646 if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith { 23647 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 23648 goto ret1 23649 } 23650 if yyDollar[2].lengthScaleOptUnion().DisplayWith >= 24 { 23651 yyLOCAL = &tree.T{ 23652 InternalType: tree.InternalType{ 23653 Family: tree.FloatFamily, 23654 FamilyString: yyDollar[1].str, 23655 Width: 64, 23656 Locale: &locale, 23657 Oid: uint32(defines.MYSQL_TYPE_DOUBLE), 23658 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23659 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23660 }, 23661 } 23662 } else { 23663 yyLOCAL = &tree.T{ 23664 InternalType: tree.InternalType{ 23665 Family: tree.FloatFamily, 23666 FamilyString: yyDollar[1].str, 23667 Width: 32, 23668 Locale: &locale, 23669 Oid: uint32(defines.MYSQL_TYPE_FLOAT), 23670 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23671 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23672 }, 23673 } 23674 } 23675 } 23676 yyVAL.union = yyLOCAL 23677 case 1710: 23678 yyDollar = yyS[yypt-2 : yypt+1] 23679 var yyLOCAL *tree.T 23680 //line mysql_sql.y:10915 23681 { 23682 locale := "" 23683 if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith { 23684 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 23685 goto ret1 23686 } 23687 if yyDollar[2].lengthScaleOptUnion().DisplayWith > 38 || yyDollar[2].lengthScaleOptUnion().DisplayWith < 0 { 23688 yylex.Error("For decimal(M), M must between 0 and 38.") 23689 goto ret1 23690 } else if yyDollar[2].lengthScaleOptUnion().DisplayWith <= 16 { 23691 yyLOCAL = &tree.T{ 23692 InternalType: tree.InternalType{ 23693 Family: tree.FloatFamily, 23694 FamilyString: yyDollar[1].str, 23695 Width: 64, 23696 Locale: &locale, 23697 Oid: uint32(defines.MYSQL_TYPE_DECIMAL), 23698 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23699 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23700 }, 23701 } 23702 } else { 23703 yyLOCAL = &tree.T{ 23704 InternalType: tree.InternalType{ 23705 Family: tree.FloatFamily, 23706 FamilyString: yyDollar[1].str, 23707 Width: 128, 23708 Locale: &locale, 23709 Oid: uint32(defines.MYSQL_TYPE_DECIMAL), 23710 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23711 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23712 }, 23713 } 23714 } 23715 } 23716 yyVAL.union = yyLOCAL 23717 case 1711: 23718 yyDollar = yyS[yypt-2 : yypt+1] 23719 var yyLOCAL *tree.T 23720 //line mysql_sql.y:10951 23721 { 23722 locale := "" 23723 if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith { 23724 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 23725 goto ret1 23726 } 23727 if yyDollar[2].lengthScaleOptUnion().DisplayWith > 38 || yyDollar[2].lengthScaleOptUnion().DisplayWith < 0 { 23728 yylex.Error("For decimal(M), M must between 0 and 38.") 23729 goto ret1 23730 } else if yyDollar[2].lengthScaleOptUnion().DisplayWith <= 16 { 23731 yyLOCAL = &tree.T{ 23732 InternalType: tree.InternalType{ 23733 Family: tree.FloatFamily, 23734 FamilyString: yyDollar[1].str, 23735 Width: 64, 23736 Locale: &locale, 23737 Oid: uint32(defines.MYSQL_TYPE_DECIMAL), 23738 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23739 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23740 }, 23741 } 23742 } else { 23743 yyLOCAL = &tree.T{ 23744 InternalType: tree.InternalType{ 23745 Family: tree.FloatFamily, 23746 FamilyString: yyDollar[1].str, 23747 Width: 128, 23748 Locale: &locale, 23749 Oid: uint32(defines.MYSQL_TYPE_DECIMAL), 23750 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23751 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23752 }, 23753 } 23754 } 23755 } 23756 yyVAL.union = yyLOCAL 23757 case 1712: 23758 yyDollar = yyS[yypt-2 : yypt+1] 23759 var yyLOCAL *tree.T 23760 //line mysql_sql.y:10987 23761 { 23762 locale := "" 23763 yyLOCAL = &tree.T{ 23764 InternalType: tree.InternalType{ 23765 Family: tree.FloatFamily, 23766 FamilyString: yyDollar[1].str, 23767 Width: 64, 23768 Locale: &locale, 23769 Oid: uint32(defines.MYSQL_TYPE_DOUBLE), 23770 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 23771 Scale: yyDollar[2].lengthScaleOptUnion().Scale, 23772 }, 23773 } 23774 } 23775 yyVAL.union = yyLOCAL 23776 case 1713: 23777 yyDollar = yyS[yypt-1 : yypt+1] 23778 var yyLOCAL *tree.T 23779 //line mysql_sql.y:11004 23780 { 23781 locale := "" 23782 yyLOCAL = &tree.T{ 23783 InternalType: tree.InternalType{ 23784 Family: tree.DateFamily, 23785 FamilyString: yyDollar[1].str, 23786 Locale: &locale, 23787 Oid: uint32(defines.MYSQL_TYPE_DATE), 23788 }, 23789 } 23790 } 23791 yyVAL.union = yyLOCAL 23792 case 1714: 23793 yyDollar = yyS[yypt-2 : yypt+1] 23794 var yyLOCAL *tree.T 23795 //line mysql_sql.y:11016 23796 { 23797 locale := "" 23798 if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { 23799 yylex.Error("For Time(fsp), fsp must in [0, 6]") 23800 goto ret1 23801 } else { 23802 yyLOCAL = &tree.T{ 23803 InternalType: tree.InternalType{ 23804 Family: tree.TimeFamily, 23805 Scale: yyDollar[2].lengthOptUnion(), 23806 FamilyString: yyDollar[1].str, 23807 DisplayWith: yyDollar[2].lengthOptUnion(), 23808 TimePrecisionIsSet: true, 23809 Locale: &locale, 23810 Oid: uint32(defines.MYSQL_TYPE_TIME), 23811 }, 23812 } 23813 } 23814 } 23815 yyVAL.union = yyLOCAL 23816 case 1715: 23817 yyDollar = yyS[yypt-2 : yypt+1] 23818 var yyLOCAL *tree.T 23819 //line mysql_sql.y:11036 23820 { 23821 locale := "" 23822 if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { 23823 yylex.Error("For Timestamp(fsp), fsp must in [0, 6]") 23824 goto ret1 23825 } else { 23826 yyLOCAL = &tree.T{ 23827 InternalType: tree.InternalType{ 23828 Family: tree.TimestampFamily, 23829 Scale: yyDollar[2].lengthOptUnion(), 23830 FamilyString: yyDollar[1].str, 23831 DisplayWith: yyDollar[2].lengthOptUnion(), 23832 TimePrecisionIsSet: true, 23833 Locale: &locale, 23834 Oid: uint32(defines.MYSQL_TYPE_TIMESTAMP), 23835 }, 23836 } 23837 } 23838 } 23839 yyVAL.union = yyLOCAL 23840 case 1716: 23841 yyDollar = yyS[yypt-2 : yypt+1] 23842 var yyLOCAL *tree.T 23843 //line mysql_sql.y:11056 23844 { 23845 locale := "" 23846 if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { 23847 yylex.Error("For Datetime(fsp), fsp must in [0, 6]") 23848 goto ret1 23849 } else { 23850 yyLOCAL = &tree.T{ 23851 InternalType: tree.InternalType{ 23852 Family: tree.TimestampFamily, 23853 Scale: yyDollar[2].lengthOptUnion(), 23854 FamilyString: yyDollar[1].str, 23855 DisplayWith: yyDollar[2].lengthOptUnion(), 23856 TimePrecisionIsSet: true, 23857 Locale: &locale, 23858 Oid: uint32(defines.MYSQL_TYPE_DATETIME), 23859 }, 23860 } 23861 } 23862 } 23863 yyVAL.union = yyLOCAL 23864 case 1717: 23865 yyDollar = yyS[yypt-2 : yypt+1] 23866 var yyLOCAL *tree.T 23867 //line mysql_sql.y:11076 23868 { 23869 locale := "" 23870 yyLOCAL = &tree.T{ 23871 InternalType: tree.InternalType{ 23872 Family: tree.IntFamily, 23873 FamilyString: yyDollar[1].str, 23874 DisplayWith: yyDollar[2].lengthOptUnion(), 23875 Width: 16, 23876 Locale: &locale, 23877 Oid: uint32(defines.MYSQL_TYPE_YEAR), 23878 }, 23879 } 23880 } 23881 yyVAL.union = yyLOCAL 23882 case 1718: 23883 yyDollar = yyS[yypt-2 : yypt+1] 23884 var yyLOCAL *tree.T 23885 //line mysql_sql.y:11092 23886 { 23887 locale := "" 23888 yyLOCAL = &tree.T{ 23889 InternalType: tree.InternalType{ 23890 Family: tree.StringFamily, 23891 FamilyString: yyDollar[1].str, 23892 Locale: &locale, 23893 Oid: uint32(defines.MYSQL_TYPE_STRING), 23894 DisplayWith: yyDollar[2].lengthOptUnion(), 23895 }, 23896 } 23897 } 23898 yyVAL.union = yyLOCAL 23899 case 1719: 23900 yyDollar = yyS[yypt-2 : yypt+1] 23901 var yyLOCAL *tree.T 23902 //line mysql_sql.y:11105 23903 { 23904 locale := "" 23905 yyLOCAL = &tree.T{ 23906 InternalType: tree.InternalType{ 23907 Family: tree.StringFamily, 23908 Locale: &locale, 23909 FamilyString: yyDollar[1].str, 23910 DisplayWith: yyDollar[2].lengthOptUnion(), 23911 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 23912 }, 23913 } 23914 } 23915 yyVAL.union = yyLOCAL 23916 case 1720: 23917 yyDollar = yyS[yypt-2 : yypt+1] 23918 var yyLOCAL *tree.T 23919 //line mysql_sql.y:11118 23920 { 23921 locale := "" 23922 yyLOCAL = &tree.T{ 23923 InternalType: tree.InternalType{ 23924 Family: tree.StringFamily, 23925 FamilyString: yyDollar[1].str, 23926 Locale: &locale, 23927 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 23928 DisplayWith: yyDollar[2].lengthOptUnion(), 23929 }, 23930 } 23931 } 23932 yyVAL.union = yyLOCAL 23933 case 1721: 23934 yyDollar = yyS[yypt-2 : yypt+1] 23935 var yyLOCAL *tree.T 23936 //line mysql_sql.y:11131 23937 { 23938 locale := "" 23939 yyLOCAL = &tree.T{ 23940 InternalType: tree.InternalType{ 23941 Family: tree.StringFamily, 23942 Locale: &locale, 23943 FamilyString: yyDollar[1].str, 23944 DisplayWith: yyDollar[2].lengthOptUnion(), 23945 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 23946 }, 23947 } 23948 } 23949 yyVAL.union = yyLOCAL 23950 case 1722: 23951 yyDollar = yyS[yypt-1 : yypt+1] 23952 var yyLOCAL *tree.T 23953 //line mysql_sql.y:11144 23954 { 23955 locale := "" 23956 yyLOCAL = &tree.T{ 23957 InternalType: tree.InternalType{ 23958 Family: tree.BlobFamily, 23959 FamilyString: yyDollar[1].str, 23960 Locale: &locale, 23961 Oid: uint32(defines.MYSQL_TYPE_TEXT), 23962 }, 23963 } 23964 } 23965 yyVAL.union = yyLOCAL 23966 case 1723: 23967 yyDollar = yyS[yypt-1 : yypt+1] 23968 var yyLOCAL *tree.T 23969 //line mysql_sql.y:11156 23970 { 23971 locale := "" 23972 yyLOCAL = &tree.T{ 23973 InternalType: tree.InternalType{ 23974 Family: tree.BlobFamily, 23975 FamilyString: yyDollar[1].str, 23976 Locale: &locale, 23977 Oid: uint32(defines.MYSQL_TYPE_TEXT), 23978 }, 23979 } 23980 } 23981 yyVAL.union = yyLOCAL 23982 case 1724: 23983 yyDollar = yyS[yypt-1 : yypt+1] 23984 var yyLOCAL *tree.T 23985 //line mysql_sql.y:11168 23986 { 23987 locale := "" 23988 yyLOCAL = &tree.T{ 23989 InternalType: tree.InternalType{ 23990 Family: tree.BlobFamily, 23991 FamilyString: yyDollar[1].str, 23992 Locale: &locale, 23993 Oid: uint32(defines.MYSQL_TYPE_TEXT), 23994 }, 23995 } 23996 } 23997 yyVAL.union = yyLOCAL 23998 case 1725: 23999 yyDollar = yyS[yypt-1 : yypt+1] 24000 var yyLOCAL *tree.T 24001 //line mysql_sql.y:11180 24002 { 24003 locale := "" 24004 yyLOCAL = &tree.T{ 24005 InternalType: tree.InternalType{ 24006 Family: tree.BlobFamily, 24007 FamilyString: yyDollar[1].str, 24008 Locale: &locale, 24009 Oid: uint32(defines.MYSQL_TYPE_TEXT), 24010 }, 24011 } 24012 } 24013 yyVAL.union = yyLOCAL 24014 case 1726: 24015 yyDollar = yyS[yypt-1 : yypt+1] 24016 var yyLOCAL *tree.T 24017 //line mysql_sql.y:11192 24018 { 24019 locale := "" 24020 yyLOCAL = &tree.T{ 24021 InternalType: tree.InternalType{ 24022 Family: tree.BlobFamily, 24023 FamilyString: yyDollar[1].str, 24024 Locale: &locale, 24025 Oid: uint32(defines.MYSQL_TYPE_BLOB), 24026 }, 24027 } 24028 } 24029 yyVAL.union = yyLOCAL 24030 case 1727: 24031 yyDollar = yyS[yypt-1 : yypt+1] 24032 var yyLOCAL *tree.T 24033 //line mysql_sql.y:11204 24034 { 24035 locale := "" 24036 yyLOCAL = &tree.T{ 24037 InternalType: tree.InternalType{ 24038 Family: tree.BlobFamily, 24039 FamilyString: yyDollar[1].str, 24040 Locale: &locale, 24041 Oid: uint32(defines.MYSQL_TYPE_TINY_BLOB), 24042 }, 24043 } 24044 } 24045 yyVAL.union = yyLOCAL 24046 case 1728: 24047 yyDollar = yyS[yypt-1 : yypt+1] 24048 var yyLOCAL *tree.T 24049 //line mysql_sql.y:11216 24050 { 24051 locale := "" 24052 yyLOCAL = &tree.T{ 24053 InternalType: tree.InternalType{ 24054 Family: tree.BlobFamily, 24055 FamilyString: yyDollar[1].str, 24056 Locale: &locale, 24057 Oid: uint32(defines.MYSQL_TYPE_MEDIUM_BLOB), 24058 }, 24059 } 24060 } 24061 yyVAL.union = yyLOCAL 24062 case 1729: 24063 yyDollar = yyS[yypt-1 : yypt+1] 24064 var yyLOCAL *tree.T 24065 //line mysql_sql.y:11228 24066 { 24067 locale := "" 24068 yyLOCAL = &tree.T{ 24069 InternalType: tree.InternalType{ 24070 Family: tree.BlobFamily, 24071 FamilyString: yyDollar[1].str, 24072 Locale: &locale, 24073 Oid: uint32(defines.MYSQL_TYPE_LONG_BLOB), 24074 }, 24075 } 24076 } 24077 yyVAL.union = yyLOCAL 24078 case 1730: 24079 yyDollar = yyS[yypt-1 : yypt+1] 24080 var yyLOCAL *tree.T 24081 //line mysql_sql.y:11240 24082 { 24083 locale := "" 24084 yyLOCAL = &tree.T{ 24085 InternalType: tree.InternalType{ 24086 Family: tree.JsonFamily, 24087 FamilyString: yyDollar[1].str, 24088 Locale: &locale, 24089 Oid: uint32(defines.MYSQL_TYPE_JSON), 24090 }, 24091 } 24092 } 24093 yyVAL.union = yyLOCAL 24094 case 1731: 24095 yyDollar = yyS[yypt-2 : yypt+1] 24096 var yyLOCAL *tree.T 24097 //line mysql_sql.y:11252 24098 { 24099 locale := "" 24100 yyLOCAL = &tree.T{ 24101 InternalType: tree.InternalType{ 24102 Family: tree.ArrayFamily, 24103 Locale: &locale, 24104 FamilyString: yyDollar[1].str, 24105 DisplayWith: yyDollar[2].lengthOptUnion(), 24106 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 24107 }, 24108 } 24109 } 24110 yyVAL.union = yyLOCAL 24111 case 1732: 24112 yyDollar = yyS[yypt-2 : yypt+1] 24113 var yyLOCAL *tree.T 24114 //line mysql_sql.y:11265 24115 { 24116 locale := "" 24117 yyLOCAL = &tree.T{ 24118 InternalType: tree.InternalType{ 24119 Family: tree.ArrayFamily, 24120 Locale: &locale, 24121 FamilyString: yyDollar[1].str, 24122 DisplayWith: yyDollar[2].lengthOptUnion(), 24123 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 24124 }, 24125 } 24126 } 24127 yyVAL.union = yyLOCAL 24128 case 1733: 24129 yyDollar = yyS[yypt-4 : yypt+1] 24130 var yyLOCAL *tree.T 24131 //line mysql_sql.y:11278 24132 { 24133 locale := "" 24134 yyLOCAL = &tree.T{ 24135 InternalType: tree.InternalType{ 24136 Family: tree.EnumFamily, 24137 FamilyString: yyDollar[1].str, 24138 Locale: &locale, 24139 Oid: uint32(defines.MYSQL_TYPE_ENUM), 24140 EnumValues: yyDollar[3].strsUnion(), 24141 }, 24142 } 24143 } 24144 yyVAL.union = yyLOCAL 24145 case 1734: 24146 yyDollar = yyS[yypt-4 : yypt+1] 24147 var yyLOCAL *tree.T 24148 //line mysql_sql.y:11291 24149 { 24150 locale := "" 24151 yyLOCAL = &tree.T{ 24152 InternalType: tree.InternalType{ 24153 Family: tree.SetFamily, 24154 FamilyString: yyDollar[1].str, 24155 Locale: &locale, 24156 Oid: uint32(defines.MYSQL_TYPE_SET), 24157 EnumValues: yyDollar[3].strsUnion(), 24158 }, 24159 } 24160 } 24161 yyVAL.union = yyLOCAL 24162 case 1735: 24163 yyDollar = yyS[yypt-1 : yypt+1] 24164 var yyLOCAL *tree.T 24165 //line mysql_sql.y:11304 24166 { 24167 locale := "" 24168 yyLOCAL = &tree.T{ 24169 InternalType: tree.InternalType{ 24170 Family: tree.UuidFamily, 24171 FamilyString: yyDollar[1].str, 24172 Width: 128, 24173 Locale: &locale, 24174 Oid: uint32(defines.MYSQL_TYPE_UUID), 24175 }, 24176 } 24177 } 24178 yyVAL.union = yyLOCAL 24179 case 1736: 24180 yyDollar = yyS[yypt-2 : yypt+1] 24181 var yyLOCAL tree.Statement 24182 //line mysql_sql.y:11319 24183 { 24184 yyLOCAL = &tree.Do{ 24185 Exprs: yyDollar[2].exprsUnion(), 24186 } 24187 } 24188 yyVAL.union = yyLOCAL 24189 case 1737: 24190 yyDollar = yyS[yypt-3 : yypt+1] 24191 var yyLOCAL tree.Statement 24192 //line mysql_sql.y:11327 24193 { 24194 yyLOCAL = &tree.Declare{ 24195 Variables: yyDollar[2].strsUnion(), 24196 ColumnType: yyDollar[3].columnTypeUnion(), 24197 DefaultVal: tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null), 24198 } 24199 } 24200 yyVAL.union = yyLOCAL 24201 case 1738: 24202 yyDollar = yyS[yypt-5 : yypt+1] 24203 var yyLOCAL tree.Statement 24204 //line mysql_sql.y:11336 24205 { 24206 yyLOCAL = &tree.Declare{ 24207 Variables: yyDollar[2].strsUnion(), 24208 ColumnType: yyDollar[3].columnTypeUnion(), 24209 DefaultVal: yyDollar[5].exprUnion(), 24210 } 24211 } 24212 yyVAL.union = yyLOCAL 24213 case 1739: 24214 yyDollar = yyS[yypt-1 : yypt+1] 24215 var yyLOCAL *tree.T 24216 //line mysql_sql.y:11346 24217 { 24218 locale := "" 24219 yyLOCAL = &tree.T{ 24220 InternalType: tree.InternalType{ 24221 Family: tree.GeometryFamily, 24222 FamilyString: yyDollar[1].str, 24223 Locale: &locale, 24224 Oid: uint32(defines.MYSQL_TYPE_GEOMETRY), 24225 }, 24226 } 24227 } 24228 yyVAL.union = yyLOCAL 24229 case 1740: 24230 yyDollar = yyS[yypt-1 : yypt+1] 24231 var yyLOCAL []string 24232 //line mysql_sql.y:11369 24233 { 24234 yyLOCAL = make([]string, 0, 4) 24235 yyLOCAL = append(yyLOCAL, yyDollar[1].str) 24236 } 24237 yyVAL.union = yyLOCAL 24238 case 1741: 24239 yyDollar = yyS[yypt-3 : yypt+1] 24240 var yyLOCAL []string 24241 //line mysql_sql.y:11374 24242 { 24243 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 24244 } 24245 yyVAL.union = yyLOCAL 24246 case 1742: 24247 yyDollar = yyS[yypt-0 : yypt+1] 24248 var yyLOCAL int32 24249 //line mysql_sql.y:11380 24250 { 24251 yyLOCAL = 0 24252 } 24253 yyVAL.union = yyLOCAL 24254 case 1744: 24255 yyDollar = yyS[yypt-0 : yypt+1] 24256 var yyLOCAL int32 24257 //line mysql_sql.y:11387 24258 { 24259 yyLOCAL = 0 24260 } 24261 yyVAL.union = yyLOCAL 24262 case 1745: 24263 yyDollar = yyS[yypt-3 : yypt+1] 24264 var yyLOCAL int32 24265 //line mysql_sql.y:11391 24266 { 24267 yyLOCAL = int32(yyDollar[2].item.(int64)) 24268 } 24269 yyVAL.union = yyLOCAL 24270 case 1746: 24271 yyDollar = yyS[yypt-0 : yypt+1] 24272 var yyLOCAL int32 24273 //line mysql_sql.y:11396 24274 { 24275 yyLOCAL = int32(-1) 24276 } 24277 yyVAL.union = yyLOCAL 24278 case 1747: 24279 yyDollar = yyS[yypt-3 : yypt+1] 24280 var yyLOCAL int32 24281 //line mysql_sql.y:11400 24282 { 24283 yyLOCAL = int32(yyDollar[2].item.(int64)) 24284 } 24285 yyVAL.union = yyLOCAL 24286 case 1748: 24287 yyDollar = yyS[yypt-3 : yypt+1] 24288 var yyLOCAL int32 24289 //line mysql_sql.y:11406 24290 { 24291 yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64))) 24292 } 24293 yyVAL.union = yyLOCAL 24294 case 1749: 24295 yyDollar = yyS[yypt-0 : yypt+1] 24296 var yyLOCAL tree.LengthScaleOpt 24297 //line mysql_sql.y:11412 24298 { 24299 yyLOCAL = tree.LengthScaleOpt{ 24300 DisplayWith: tree.NotDefineDisplayWidth, 24301 Scale: tree.NotDefineDec, 24302 } 24303 } 24304 yyVAL.union = yyLOCAL 24305 case 1750: 24306 yyDollar = yyS[yypt-3 : yypt+1] 24307 var yyLOCAL tree.LengthScaleOpt 24308 //line mysql_sql.y:11419 24309 { 24310 yyLOCAL = tree.LengthScaleOpt{ 24311 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 24312 Scale: tree.NotDefineDec, 24313 } 24314 } 24315 yyVAL.union = yyLOCAL 24316 case 1751: 24317 yyDollar = yyS[yypt-5 : yypt+1] 24318 var yyLOCAL tree.LengthScaleOpt 24319 //line mysql_sql.y:11426 24320 { 24321 yyLOCAL = tree.LengthScaleOpt{ 24322 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 24323 Scale: int32(yyDollar[4].item.(int64)), 24324 } 24325 } 24326 yyVAL.union = yyLOCAL 24327 case 1752: 24328 yyDollar = yyS[yypt-0 : yypt+1] 24329 var yyLOCAL tree.LengthScaleOpt 24330 //line mysql_sql.y:11435 24331 { 24332 yyLOCAL = tree.LengthScaleOpt{ 24333 DisplayWith: 38, // this is the default precision for decimal 24334 Scale: 0, 24335 } 24336 } 24337 yyVAL.union = yyLOCAL 24338 case 1753: 24339 yyDollar = yyS[yypt-3 : yypt+1] 24340 var yyLOCAL tree.LengthScaleOpt 24341 //line mysql_sql.y:11442 24342 { 24343 yyLOCAL = tree.LengthScaleOpt{ 24344 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 24345 Scale: 0, 24346 } 24347 } 24348 yyVAL.union = yyLOCAL 24349 case 1754: 24350 yyDollar = yyS[yypt-5 : yypt+1] 24351 var yyLOCAL tree.LengthScaleOpt 24352 //line mysql_sql.y:11449 24353 { 24354 yyLOCAL = tree.LengthScaleOpt{ 24355 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 24356 Scale: int32(yyDollar[4].item.(int64)), 24357 } 24358 } 24359 yyVAL.union = yyLOCAL 24360 case 1755: 24361 yyDollar = yyS[yypt-0 : yypt+1] 24362 var yyLOCAL bool 24363 //line mysql_sql.y:11458 24364 { 24365 yyLOCAL = false 24366 } 24367 yyVAL.union = yyLOCAL 24368 case 1756: 24369 yyDollar = yyS[yypt-1 : yypt+1] 24370 var yyLOCAL bool 24371 //line mysql_sql.y:11462 24372 { 24373 yyLOCAL = true 24374 } 24375 yyVAL.union = yyLOCAL 24376 case 1757: 24377 yyDollar = yyS[yypt-1 : yypt+1] 24378 var yyLOCAL bool 24379 //line mysql_sql.y:11466 24380 { 24381 yyLOCAL = false 24382 } 24383 yyVAL.union = yyLOCAL 24384 case 1758: 24385 yyDollar = yyS[yypt-0 : yypt+1] 24386 //line mysql_sql.y:11472 24387 { 24388 } 24389 case 1759: 24390 yyDollar = yyS[yypt-1 : yypt+1] 24391 var yyLOCAL bool 24392 //line mysql_sql.y:11474 24393 { 24394 yyLOCAL = true 24395 } 24396 yyVAL.union = yyLOCAL 24397 case 1763: 24398 yyDollar = yyS[yypt-0 : yypt+1] 24399 //line mysql_sql.y:11484 24400 { 24401 yyVAL.str = "" 24402 } 24403 case 1764: 24404 yyDollar = yyS[yypt-1 : yypt+1] 24405 //line mysql_sql.y:11488 24406 { 24407 yyVAL.str = string(yyDollar[1].str) 24408 } 24409 } 24410 goto yystack /* stack new state and value */ 24411 }