machine.go raw

   1  package urn
   2  
   3  import (
   4  	"fmt"
   5  
   6  	scimschema "github.com/leodido/go-urn/scim/schema"
   7  )
   8  
   9  var (
  10  	errPrefix              = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]"
  11  	errIdentifier          = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its beginning) [col %d]"
  12  	errSpecificString      = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]"
  13  	errNoUrnWithinID       = "expecting the identifier to not contain the \"urn\" reserved string [col %d]"
  14  	errHex                 = "expecting the percent encoded chars to be well-formed (%%alnum{2}) [col %d]"
  15  	errSCIMNamespace       = "expecing the SCIM namespace identifier (ietf:params:scim) [col %d]"
  16  	errSCIMType            = "expecting a correct SCIM type (schemas, api, param) [col %d]"
  17  	errSCIMName            = "expecting one or more alnum char in the SCIM name part [col %d]"
  18  	errSCIMOther           = "expecting a well-formed other SCIM part [col %d]"
  19  	errSCIMOtherIncomplete = "expecting a not empty SCIM other part after colon [col %d]"
  20  	err8141InformalID      = "informal URN namespace must be in the form urn-[1-9][0-9] [col %d]"
  21  	err8141SpecificString  = "expecting the specific string to contain alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] not in first position) chars [col %d]"
  22  	err8141Identifier      = "expecting the indentifier to be a string with (length 2 to 32 chars) containing alnum (or dashes) not starting or ending with a dash [col %d]"
  23  	err8141RComponentStart = "expecting only one r-component (starting with the ?+ sequence) [col %d]"
  24  	err8141QComponentStart = "expecting only one q-component (starting with the ?= sequence) [col %d]"
  25  	err8141MalformedRComp  = "expecting a non-empty r-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]"
  26  	err8141MalformedQComp  = "expecting a non-empty q-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]"
  27  )
  28  var _toStateActions []byte = []byte{
  29  	0, 0, 0, 0, 0, 0, 0, 0,
  30  	0, 0, 0, 0, 0, 0, 0, 0,
  31  	0, 0, 0, 0, 0, 0, 0, 0,
  32  	0, 0, 0, 0, 0, 0, 0, 0,
  33  	0, 0, 0, 0, 0, 0, 0, 0,
  34  	0, 0, 0, 0, 0, 0, 0, 0,
  35  	0, 0, 0, 0, 0, 0, 0, 0,
  36  	0, 0, 0, 0, 0, 0, 0, 0,
  37  	0, 0, 0, 0, 0, 0, 0, 0,
  38  	0, 0, 0, 0, 0, 0, 0, 0,
  39  	0, 0, 0, 0, 0, 0, 0, 0,
  40  	0, 0, 0, 0, 0, 0, 0, 0,
  41  	0, 0, 0, 0, 0, 0, 0, 0,
  42  	0, 0, 0, 0, 0, 0, 0, 0,
  43  	0, 0, 0, 0, 0, 0, 0, 0,
  44  	0, 0, 0, 0, 0, 0, 0, 0,
  45  	0, 0, 0, 0, 0, 0, 0, 0,
  46  	0, 0, 0, 0, 0, 0, 0, 0,
  47  	0, 0, 0, 0, 0, 0, 0, 0,
  48  	0, 0, 0, 0, 0, 0, 0, 0,
  49  	0, 0, 0, 0, 0, 0, 0, 0,
  50  	0, 0, 0, 33, 0, 0, 0, 0,
  51  	0, 0, 0, 0, 0, 0, 0, 0,
  52  	0, 0, 0, 0, 0, 0, 0, 0,
  53  	0, 0,
  54  }
  55  
  56  var _eofActions []byte = []byte{
  57  	0, 1, 1, 1, 1, 4, 6, 6,
  58  	6, 6, 6, 6, 6, 6, 6, 6,
  59  	6, 6, 6, 6, 6, 6, 6, 6,
  60  	6, 6, 6, 6, 6, 6, 6, 6,
  61  	6, 6, 6, 6, 6, 6, 8, 9,
  62  	9, 4, 4, 11, 1, 1, 1, 1,
  63  	12, 12, 12, 12, 12, 12, 12, 12,
  64  	12, 12, 12, 12, 12, 12, 12, 12,
  65  	12, 14, 14, 14, 14, 16, 18, 20,
  66  	20, 14, 14, 14, 14, 14, 14, 14,
  67  	14, 14, 14, 1, 1, 1, 1, 21,
  68  	22, 22, 22, 22, 22, 22, 22, 22,
  69  	22, 22, 22, 22, 22, 22, 22, 22,
  70  	22, 22, 22, 22, 22, 22, 22, 22,
  71  	22, 22, 22, 22, 22, 22, 22, 22,
  72  	23, 24, 24, 25, 25, 0, 26, 28,
  73  	28, 29, 29, 30, 30, 26, 26, 31,
  74  	31, 22, 22, 22, 22, 22, 22, 22,
  75  	22, 22, 22, 22, 22, 22, 22, 22,
  76  	22, 22, 22, 22, 22, 22, 22, 22,
  77  	22, 22, 22, 22, 22, 22, 22, 21,
  78  	21, 22, 22, 22, 34, 34, 35, 37,
  79  	37, 38, 40, 41, 41, 38, 42, 42,
  80  	42, 44, 42, 48, 48, 48, 50, 44,
  81  	50, 0,
  82  }
  83  
  84  const start int = 1
  85  const firstFinal int = 172
  86  
  87  const enScimOnly int = 44
  88  const enRfc8141Only int = 83
  89  const enFail int = 193
  90  const enMain int = 1
  91  
  92  // Machine is the interface representing the FSM
  93  type Machine interface {
  94  	Error() error
  95  	Parse(input []byte) (*URN, error)
  96  	WithParsingMode(ParsingMode)
  97  }
  98  
  99  type machine struct {
 100  	data           []byte
 101  	cs             int
 102  	p, pe, eof, pb int
 103  	err            error
 104  	startParsingAt int
 105  	parsingMode    ParsingMode
 106  	parsingModeSet bool
 107  }
 108  
 109  // NewMachine creates a new FSM able to parse RFC 2141 strings.
 110  func NewMachine(options ...Option) Machine {
 111  	m := &machine{
 112  		parsingModeSet: false,
 113  	}
 114  
 115  	for _, o := range options {
 116  		o(m)
 117  	}
 118  	// Set default parsing mode
 119  	if !m.parsingModeSet {
 120  		m.WithParsingMode(DefaultParsingMode)
 121  	}
 122  
 123  	return m
 124  }
 125  
 126  // Err returns the error that occurred on the last call to Parse.
 127  //
 128  // If the result is nil, then the line was parsed successfully.
 129  func (m *machine) Error() error {
 130  	return m.err
 131  }
 132  
 133  func (m *machine) text() []byte {
 134  	return m.data[m.pb:m.p]
 135  }
 136  
 137  // Parse parses the input byte array as a RFC 2141 or RFC7643 string.
 138  func (m *machine) Parse(input []byte) (*URN, error) {
 139  	m.data = input
 140  	m.p = 0
 141  	m.pb = 0
 142  	m.pe = len(input)
 143  	m.eof = len(input)
 144  	m.err = nil
 145  	m.cs = m.startParsingAt
 146  	output := &URN{
 147  		tolower: []int{},
 148  	}
 149  	{
 150  		if (m.p) == (m.pe) {
 151  			goto _testEof
 152  		}
 153  		if m.cs == 0 {
 154  			goto _out
 155  		}
 156  	_resume:
 157  		switch m.cs {
 158  		case 1:
 159  			switch (m.data)[(m.p)] {
 160  			case 85:
 161  				goto tr1
 162  			case 117:
 163  				goto tr1
 164  			}
 165  			goto tr0
 166  		case 0:
 167  			goto _out
 168  		case 2:
 169  			switch (m.data)[(m.p)] {
 170  			case 82:
 171  				goto tr2
 172  			case 114:
 173  				goto tr2
 174  			}
 175  			goto tr0
 176  		case 3:
 177  			switch (m.data)[(m.p)] {
 178  			case 78:
 179  				goto tr3
 180  			case 110:
 181  				goto tr3
 182  			}
 183  			goto tr0
 184  		case 4:
 185  			if (m.data)[(m.p)] == 58 {
 186  				goto tr4
 187  			}
 188  			goto tr0
 189  		case 5:
 190  			switch (m.data)[(m.p)] {
 191  			case 85:
 192  				goto tr7
 193  			case 117:
 194  				goto tr7
 195  			}
 196  			switch {
 197  			case (m.data)[(m.p)] < 65:
 198  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 199  					goto tr6
 200  				}
 201  			case (m.data)[(m.p)] > 90:
 202  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 203  					goto tr6
 204  				}
 205  			default:
 206  				goto tr6
 207  			}
 208  			goto tr5
 209  		case 6:
 210  			switch (m.data)[(m.p)] {
 211  			case 45:
 212  				goto tr9
 213  			case 58:
 214  				goto tr10
 215  			}
 216  			switch {
 217  			case (m.data)[(m.p)] < 65:
 218  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 219  					goto tr9
 220  				}
 221  			case (m.data)[(m.p)] > 90:
 222  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 223  					goto tr9
 224  				}
 225  			default:
 226  				goto tr9
 227  			}
 228  			goto tr8
 229  		case 7:
 230  			switch (m.data)[(m.p)] {
 231  			case 45:
 232  				goto tr11
 233  			case 58:
 234  				goto tr10
 235  			}
 236  			switch {
 237  			case (m.data)[(m.p)] < 65:
 238  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 239  					goto tr11
 240  				}
 241  			case (m.data)[(m.p)] > 90:
 242  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 243  					goto tr11
 244  				}
 245  			default:
 246  				goto tr11
 247  			}
 248  			goto tr8
 249  		case 8:
 250  			switch (m.data)[(m.p)] {
 251  			case 45:
 252  				goto tr12
 253  			case 58:
 254  				goto tr10
 255  			}
 256  			switch {
 257  			case (m.data)[(m.p)] < 65:
 258  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 259  					goto tr12
 260  				}
 261  			case (m.data)[(m.p)] > 90:
 262  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 263  					goto tr12
 264  				}
 265  			default:
 266  				goto tr12
 267  			}
 268  			goto tr8
 269  		case 9:
 270  			switch (m.data)[(m.p)] {
 271  			case 45:
 272  				goto tr13
 273  			case 58:
 274  				goto tr10
 275  			}
 276  			switch {
 277  			case (m.data)[(m.p)] < 65:
 278  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 279  					goto tr13
 280  				}
 281  			case (m.data)[(m.p)] > 90:
 282  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 283  					goto tr13
 284  				}
 285  			default:
 286  				goto tr13
 287  			}
 288  			goto tr8
 289  		case 10:
 290  			switch (m.data)[(m.p)] {
 291  			case 45:
 292  				goto tr14
 293  			case 58:
 294  				goto tr10
 295  			}
 296  			switch {
 297  			case (m.data)[(m.p)] < 65:
 298  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 299  					goto tr14
 300  				}
 301  			case (m.data)[(m.p)] > 90:
 302  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 303  					goto tr14
 304  				}
 305  			default:
 306  				goto tr14
 307  			}
 308  			goto tr8
 309  		case 11:
 310  			switch (m.data)[(m.p)] {
 311  			case 45:
 312  				goto tr15
 313  			case 58:
 314  				goto tr10
 315  			}
 316  			switch {
 317  			case (m.data)[(m.p)] < 65:
 318  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 319  					goto tr15
 320  				}
 321  			case (m.data)[(m.p)] > 90:
 322  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 323  					goto tr15
 324  				}
 325  			default:
 326  				goto tr15
 327  			}
 328  			goto tr8
 329  		case 12:
 330  			switch (m.data)[(m.p)] {
 331  			case 45:
 332  				goto tr16
 333  			case 58:
 334  				goto tr10
 335  			}
 336  			switch {
 337  			case (m.data)[(m.p)] < 65:
 338  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 339  					goto tr16
 340  				}
 341  			case (m.data)[(m.p)] > 90:
 342  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 343  					goto tr16
 344  				}
 345  			default:
 346  				goto tr16
 347  			}
 348  			goto tr8
 349  		case 13:
 350  			switch (m.data)[(m.p)] {
 351  			case 45:
 352  				goto tr17
 353  			case 58:
 354  				goto tr10
 355  			}
 356  			switch {
 357  			case (m.data)[(m.p)] < 65:
 358  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 359  					goto tr17
 360  				}
 361  			case (m.data)[(m.p)] > 90:
 362  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 363  					goto tr17
 364  				}
 365  			default:
 366  				goto tr17
 367  			}
 368  			goto tr8
 369  		case 14:
 370  			switch (m.data)[(m.p)] {
 371  			case 45:
 372  				goto tr18
 373  			case 58:
 374  				goto tr10
 375  			}
 376  			switch {
 377  			case (m.data)[(m.p)] < 65:
 378  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 379  					goto tr18
 380  				}
 381  			case (m.data)[(m.p)] > 90:
 382  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 383  					goto tr18
 384  				}
 385  			default:
 386  				goto tr18
 387  			}
 388  			goto tr8
 389  		case 15:
 390  			switch (m.data)[(m.p)] {
 391  			case 45:
 392  				goto tr19
 393  			case 58:
 394  				goto tr10
 395  			}
 396  			switch {
 397  			case (m.data)[(m.p)] < 65:
 398  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 399  					goto tr19
 400  				}
 401  			case (m.data)[(m.p)] > 90:
 402  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 403  					goto tr19
 404  				}
 405  			default:
 406  				goto tr19
 407  			}
 408  			goto tr8
 409  		case 16:
 410  			switch (m.data)[(m.p)] {
 411  			case 45:
 412  				goto tr20
 413  			case 58:
 414  				goto tr10
 415  			}
 416  			switch {
 417  			case (m.data)[(m.p)] < 65:
 418  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 419  					goto tr20
 420  				}
 421  			case (m.data)[(m.p)] > 90:
 422  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 423  					goto tr20
 424  				}
 425  			default:
 426  				goto tr20
 427  			}
 428  			goto tr8
 429  		case 17:
 430  			switch (m.data)[(m.p)] {
 431  			case 45:
 432  				goto tr21
 433  			case 58:
 434  				goto tr10
 435  			}
 436  			switch {
 437  			case (m.data)[(m.p)] < 65:
 438  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 439  					goto tr21
 440  				}
 441  			case (m.data)[(m.p)] > 90:
 442  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 443  					goto tr21
 444  				}
 445  			default:
 446  				goto tr21
 447  			}
 448  			goto tr8
 449  		case 18:
 450  			switch (m.data)[(m.p)] {
 451  			case 45:
 452  				goto tr22
 453  			case 58:
 454  				goto tr10
 455  			}
 456  			switch {
 457  			case (m.data)[(m.p)] < 65:
 458  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 459  					goto tr22
 460  				}
 461  			case (m.data)[(m.p)] > 90:
 462  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 463  					goto tr22
 464  				}
 465  			default:
 466  				goto tr22
 467  			}
 468  			goto tr8
 469  		case 19:
 470  			switch (m.data)[(m.p)] {
 471  			case 45:
 472  				goto tr23
 473  			case 58:
 474  				goto tr10
 475  			}
 476  			switch {
 477  			case (m.data)[(m.p)] < 65:
 478  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 479  					goto tr23
 480  				}
 481  			case (m.data)[(m.p)] > 90:
 482  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 483  					goto tr23
 484  				}
 485  			default:
 486  				goto tr23
 487  			}
 488  			goto tr8
 489  		case 20:
 490  			switch (m.data)[(m.p)] {
 491  			case 45:
 492  				goto tr24
 493  			case 58:
 494  				goto tr10
 495  			}
 496  			switch {
 497  			case (m.data)[(m.p)] < 65:
 498  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 499  					goto tr24
 500  				}
 501  			case (m.data)[(m.p)] > 90:
 502  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 503  					goto tr24
 504  				}
 505  			default:
 506  				goto tr24
 507  			}
 508  			goto tr8
 509  		case 21:
 510  			switch (m.data)[(m.p)] {
 511  			case 45:
 512  				goto tr25
 513  			case 58:
 514  				goto tr10
 515  			}
 516  			switch {
 517  			case (m.data)[(m.p)] < 65:
 518  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 519  					goto tr25
 520  				}
 521  			case (m.data)[(m.p)] > 90:
 522  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 523  					goto tr25
 524  				}
 525  			default:
 526  				goto tr25
 527  			}
 528  			goto tr8
 529  		case 22:
 530  			switch (m.data)[(m.p)] {
 531  			case 45:
 532  				goto tr26
 533  			case 58:
 534  				goto tr10
 535  			}
 536  			switch {
 537  			case (m.data)[(m.p)] < 65:
 538  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 539  					goto tr26
 540  				}
 541  			case (m.data)[(m.p)] > 90:
 542  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 543  					goto tr26
 544  				}
 545  			default:
 546  				goto tr26
 547  			}
 548  			goto tr8
 549  		case 23:
 550  			switch (m.data)[(m.p)] {
 551  			case 45:
 552  				goto tr27
 553  			case 58:
 554  				goto tr10
 555  			}
 556  			switch {
 557  			case (m.data)[(m.p)] < 65:
 558  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 559  					goto tr27
 560  				}
 561  			case (m.data)[(m.p)] > 90:
 562  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 563  					goto tr27
 564  				}
 565  			default:
 566  				goto tr27
 567  			}
 568  			goto tr8
 569  		case 24:
 570  			switch (m.data)[(m.p)] {
 571  			case 45:
 572  				goto tr28
 573  			case 58:
 574  				goto tr10
 575  			}
 576  			switch {
 577  			case (m.data)[(m.p)] < 65:
 578  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 579  					goto tr28
 580  				}
 581  			case (m.data)[(m.p)] > 90:
 582  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 583  					goto tr28
 584  				}
 585  			default:
 586  				goto tr28
 587  			}
 588  			goto tr8
 589  		case 25:
 590  			switch (m.data)[(m.p)] {
 591  			case 45:
 592  				goto tr29
 593  			case 58:
 594  				goto tr10
 595  			}
 596  			switch {
 597  			case (m.data)[(m.p)] < 65:
 598  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 599  					goto tr29
 600  				}
 601  			case (m.data)[(m.p)] > 90:
 602  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 603  					goto tr29
 604  				}
 605  			default:
 606  				goto tr29
 607  			}
 608  			goto tr8
 609  		case 26:
 610  			switch (m.data)[(m.p)] {
 611  			case 45:
 612  				goto tr30
 613  			case 58:
 614  				goto tr10
 615  			}
 616  			switch {
 617  			case (m.data)[(m.p)] < 65:
 618  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 619  					goto tr30
 620  				}
 621  			case (m.data)[(m.p)] > 90:
 622  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 623  					goto tr30
 624  				}
 625  			default:
 626  				goto tr30
 627  			}
 628  			goto tr8
 629  		case 27:
 630  			switch (m.data)[(m.p)] {
 631  			case 45:
 632  				goto tr31
 633  			case 58:
 634  				goto tr10
 635  			}
 636  			switch {
 637  			case (m.data)[(m.p)] < 65:
 638  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 639  					goto tr31
 640  				}
 641  			case (m.data)[(m.p)] > 90:
 642  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 643  					goto tr31
 644  				}
 645  			default:
 646  				goto tr31
 647  			}
 648  			goto tr8
 649  		case 28:
 650  			switch (m.data)[(m.p)] {
 651  			case 45:
 652  				goto tr32
 653  			case 58:
 654  				goto tr10
 655  			}
 656  			switch {
 657  			case (m.data)[(m.p)] < 65:
 658  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 659  					goto tr32
 660  				}
 661  			case (m.data)[(m.p)] > 90:
 662  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 663  					goto tr32
 664  				}
 665  			default:
 666  				goto tr32
 667  			}
 668  			goto tr8
 669  		case 29:
 670  			switch (m.data)[(m.p)] {
 671  			case 45:
 672  				goto tr33
 673  			case 58:
 674  				goto tr10
 675  			}
 676  			switch {
 677  			case (m.data)[(m.p)] < 65:
 678  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 679  					goto tr33
 680  				}
 681  			case (m.data)[(m.p)] > 90:
 682  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 683  					goto tr33
 684  				}
 685  			default:
 686  				goto tr33
 687  			}
 688  			goto tr8
 689  		case 30:
 690  			switch (m.data)[(m.p)] {
 691  			case 45:
 692  				goto tr34
 693  			case 58:
 694  				goto tr10
 695  			}
 696  			switch {
 697  			case (m.data)[(m.p)] < 65:
 698  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 699  					goto tr34
 700  				}
 701  			case (m.data)[(m.p)] > 90:
 702  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 703  					goto tr34
 704  				}
 705  			default:
 706  				goto tr34
 707  			}
 708  			goto tr8
 709  		case 31:
 710  			switch (m.data)[(m.p)] {
 711  			case 45:
 712  				goto tr35
 713  			case 58:
 714  				goto tr10
 715  			}
 716  			switch {
 717  			case (m.data)[(m.p)] < 65:
 718  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 719  					goto tr35
 720  				}
 721  			case (m.data)[(m.p)] > 90:
 722  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 723  					goto tr35
 724  				}
 725  			default:
 726  				goto tr35
 727  			}
 728  			goto tr8
 729  		case 32:
 730  			switch (m.data)[(m.p)] {
 731  			case 45:
 732  				goto tr36
 733  			case 58:
 734  				goto tr10
 735  			}
 736  			switch {
 737  			case (m.data)[(m.p)] < 65:
 738  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 739  					goto tr36
 740  				}
 741  			case (m.data)[(m.p)] > 90:
 742  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 743  					goto tr36
 744  				}
 745  			default:
 746  				goto tr36
 747  			}
 748  			goto tr8
 749  		case 33:
 750  			switch (m.data)[(m.p)] {
 751  			case 45:
 752  				goto tr37
 753  			case 58:
 754  				goto tr10
 755  			}
 756  			switch {
 757  			case (m.data)[(m.p)] < 65:
 758  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 759  					goto tr37
 760  				}
 761  			case (m.data)[(m.p)] > 90:
 762  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 763  					goto tr37
 764  				}
 765  			default:
 766  				goto tr37
 767  			}
 768  			goto tr8
 769  		case 34:
 770  			switch (m.data)[(m.p)] {
 771  			case 45:
 772  				goto tr38
 773  			case 58:
 774  				goto tr10
 775  			}
 776  			switch {
 777  			case (m.data)[(m.p)] < 65:
 778  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 779  					goto tr38
 780  				}
 781  			case (m.data)[(m.p)] > 90:
 782  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 783  					goto tr38
 784  				}
 785  			default:
 786  				goto tr38
 787  			}
 788  			goto tr8
 789  		case 35:
 790  			switch (m.data)[(m.p)] {
 791  			case 45:
 792  				goto tr39
 793  			case 58:
 794  				goto tr10
 795  			}
 796  			switch {
 797  			case (m.data)[(m.p)] < 65:
 798  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 799  					goto tr39
 800  				}
 801  			case (m.data)[(m.p)] > 90:
 802  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 803  					goto tr39
 804  				}
 805  			default:
 806  				goto tr39
 807  			}
 808  			goto tr8
 809  		case 36:
 810  			switch (m.data)[(m.p)] {
 811  			case 45:
 812  				goto tr40
 813  			case 58:
 814  				goto tr10
 815  			}
 816  			switch {
 817  			case (m.data)[(m.p)] < 65:
 818  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 819  					goto tr40
 820  				}
 821  			case (m.data)[(m.p)] > 90:
 822  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 823  					goto tr40
 824  				}
 825  			default:
 826  				goto tr40
 827  			}
 828  			goto tr8
 829  		case 37:
 830  			if (m.data)[(m.p)] == 58 {
 831  				goto tr10
 832  			}
 833  			goto tr8
 834  		case 38:
 835  			switch (m.data)[(m.p)] {
 836  			case 33:
 837  				goto tr42
 838  			case 36:
 839  				goto tr42
 840  			case 37:
 841  				goto tr43
 842  			case 61:
 843  				goto tr42
 844  			case 95:
 845  				goto tr42
 846  			}
 847  			switch {
 848  			case (m.data)[(m.p)] < 48:
 849  				if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
 850  					goto tr42
 851  				}
 852  			case (m.data)[(m.p)] > 59:
 853  				switch {
 854  				case (m.data)[(m.p)] > 90:
 855  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 856  						goto tr42
 857  					}
 858  				case (m.data)[(m.p)] >= 64:
 859  					goto tr42
 860  				}
 861  			default:
 862  				goto tr42
 863  			}
 864  			goto tr41
 865  		case 172:
 866  			switch (m.data)[(m.p)] {
 867  			case 33:
 868  				goto tr212
 869  			case 36:
 870  				goto tr212
 871  			case 37:
 872  				goto tr213
 873  			case 61:
 874  				goto tr212
 875  			case 95:
 876  				goto tr212
 877  			}
 878  			switch {
 879  			case (m.data)[(m.p)] < 48:
 880  				if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
 881  					goto tr212
 882  				}
 883  			case (m.data)[(m.p)] > 59:
 884  				switch {
 885  				case (m.data)[(m.p)] > 90:
 886  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 887  						goto tr212
 888  					}
 889  				case (m.data)[(m.p)] >= 64:
 890  					goto tr212
 891  				}
 892  			default:
 893  				goto tr212
 894  			}
 895  			goto tr41
 896  		case 39:
 897  			switch {
 898  			case (m.data)[(m.p)] < 65:
 899  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 900  					goto tr45
 901  				}
 902  			case (m.data)[(m.p)] > 90:
 903  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 904  					goto tr45
 905  				}
 906  			default:
 907  				goto tr46
 908  			}
 909  			goto tr44
 910  		case 40:
 911  			switch {
 912  			case (m.data)[(m.p)] < 65:
 913  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 914  					goto tr47
 915  				}
 916  			case (m.data)[(m.p)] > 90:
 917  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 918  					goto tr47
 919  				}
 920  			default:
 921  				goto tr48
 922  			}
 923  			goto tr44
 924  		case 173:
 925  			switch (m.data)[(m.p)] {
 926  			case 33:
 927  				goto tr212
 928  			case 36:
 929  				goto tr212
 930  			case 37:
 931  				goto tr213
 932  			case 61:
 933  				goto tr212
 934  			case 95:
 935  				goto tr212
 936  			}
 937  			switch {
 938  			case (m.data)[(m.p)] < 48:
 939  				if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
 940  					goto tr212
 941  				}
 942  			case (m.data)[(m.p)] > 59:
 943  				switch {
 944  				case (m.data)[(m.p)] > 90:
 945  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 946  						goto tr212
 947  					}
 948  				case (m.data)[(m.p)] >= 64:
 949  					goto tr212
 950  				}
 951  			default:
 952  				goto tr212
 953  			}
 954  			goto tr44
 955  		case 41:
 956  			switch (m.data)[(m.p)] {
 957  			case 45:
 958  				goto tr9
 959  			case 58:
 960  				goto tr10
 961  			case 82:
 962  				goto tr49
 963  			case 114:
 964  				goto tr49
 965  			}
 966  			switch {
 967  			case (m.data)[(m.p)] < 65:
 968  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 969  					goto tr9
 970  				}
 971  			case (m.data)[(m.p)] > 90:
 972  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 973  					goto tr9
 974  				}
 975  			default:
 976  				goto tr9
 977  			}
 978  			goto tr5
 979  		case 42:
 980  			switch (m.data)[(m.p)] {
 981  			case 45:
 982  				goto tr11
 983  			case 58:
 984  				goto tr10
 985  			case 78:
 986  				goto tr50
 987  			case 110:
 988  				goto tr50
 989  			}
 990  			switch {
 991  			case (m.data)[(m.p)] < 65:
 992  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
 993  					goto tr11
 994  				}
 995  			case (m.data)[(m.p)] > 90:
 996  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
 997  					goto tr11
 998  				}
 999  			default:
1000  				goto tr11
1001  			}
1002  			goto tr5
1003  		case 43:
1004  			if (m.data)[(m.p)] == 45 {
1005  				goto tr12
1006  			}
1007  			switch {
1008  			case (m.data)[(m.p)] < 65:
1009  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1010  					goto tr12
1011  				}
1012  			case (m.data)[(m.p)] > 90:
1013  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1014  					goto tr12
1015  				}
1016  			default:
1017  				goto tr12
1018  			}
1019  			goto tr51
1020  		case 44:
1021  			switch (m.data)[(m.p)] {
1022  			case 85:
1023  				goto tr52
1024  			case 117:
1025  				goto tr52
1026  			}
1027  			goto tr0
1028  		case 45:
1029  			switch (m.data)[(m.p)] {
1030  			case 82:
1031  				goto tr53
1032  			case 114:
1033  				goto tr53
1034  			}
1035  			goto tr0
1036  		case 46:
1037  			switch (m.data)[(m.p)] {
1038  			case 78:
1039  				goto tr54
1040  			case 110:
1041  				goto tr54
1042  			}
1043  			goto tr0
1044  		case 47:
1045  			if (m.data)[(m.p)] == 58 {
1046  				goto tr55
1047  			}
1048  			goto tr0
1049  		case 48:
1050  			if (m.data)[(m.p)] == 105 {
1051  				goto tr57
1052  			}
1053  			goto tr56
1054  		case 49:
1055  			if (m.data)[(m.p)] == 101 {
1056  				goto tr58
1057  			}
1058  			goto tr56
1059  		case 50:
1060  			if (m.data)[(m.p)] == 116 {
1061  				goto tr59
1062  			}
1063  			goto tr56
1064  		case 51:
1065  			if (m.data)[(m.p)] == 102 {
1066  				goto tr60
1067  			}
1068  			goto tr56
1069  		case 52:
1070  			if (m.data)[(m.p)] == 58 {
1071  				goto tr61
1072  			}
1073  			goto tr56
1074  		case 53:
1075  			if (m.data)[(m.p)] == 112 {
1076  				goto tr62
1077  			}
1078  			goto tr56
1079  		case 54:
1080  			if (m.data)[(m.p)] == 97 {
1081  				goto tr63
1082  			}
1083  			goto tr56
1084  		case 55:
1085  			if (m.data)[(m.p)] == 114 {
1086  				goto tr64
1087  			}
1088  			goto tr56
1089  		case 56:
1090  			if (m.data)[(m.p)] == 97 {
1091  				goto tr65
1092  			}
1093  			goto tr56
1094  		case 57:
1095  			if (m.data)[(m.p)] == 109 {
1096  				goto tr66
1097  			}
1098  			goto tr56
1099  		case 58:
1100  			if (m.data)[(m.p)] == 115 {
1101  				goto tr67
1102  			}
1103  			goto tr56
1104  		case 59:
1105  			if (m.data)[(m.p)] == 58 {
1106  				goto tr68
1107  			}
1108  			goto tr56
1109  		case 60:
1110  			if (m.data)[(m.p)] == 115 {
1111  				goto tr69
1112  			}
1113  			goto tr56
1114  		case 61:
1115  			if (m.data)[(m.p)] == 99 {
1116  				goto tr70
1117  			}
1118  			goto tr56
1119  		case 62:
1120  			if (m.data)[(m.p)] == 105 {
1121  				goto tr71
1122  			}
1123  			goto tr56
1124  		case 63:
1125  			if (m.data)[(m.p)] == 109 {
1126  				goto tr72
1127  			}
1128  			goto tr56
1129  		case 64:
1130  			if (m.data)[(m.p)] == 58 {
1131  				goto tr73
1132  			}
1133  			goto tr56
1134  		case 65:
1135  			switch (m.data)[(m.p)] {
1136  			case 97:
1137  				goto tr75
1138  			case 112:
1139  				goto tr76
1140  			case 115:
1141  				goto tr77
1142  			}
1143  			goto tr74
1144  		case 66:
1145  			if (m.data)[(m.p)] == 112 {
1146  				goto tr78
1147  			}
1148  			goto tr74
1149  		case 67:
1150  			if (m.data)[(m.p)] == 105 {
1151  				goto tr79
1152  			}
1153  			goto tr74
1154  		case 68:
1155  			if (m.data)[(m.p)] == 58 {
1156  				goto tr80
1157  			}
1158  			goto tr74
1159  		case 69:
1160  			switch {
1161  			case (m.data)[(m.p)] < 65:
1162  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1163  					goto tr82
1164  				}
1165  			case (m.data)[(m.p)] > 90:
1166  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1167  					goto tr82
1168  				}
1169  			default:
1170  				goto tr82
1171  			}
1172  			goto tr81
1173  		case 174:
1174  			if (m.data)[(m.p)] == 58 {
1175  				goto tr215
1176  			}
1177  			switch {
1178  			case (m.data)[(m.p)] < 65:
1179  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1180  					goto tr214
1181  				}
1182  			case (m.data)[(m.p)] > 90:
1183  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1184  					goto tr214
1185  				}
1186  			default:
1187  				goto tr214
1188  			}
1189  			goto tr81
1190  		case 70:
1191  			switch (m.data)[(m.p)] {
1192  			case 33:
1193  				goto tr84
1194  			case 36:
1195  				goto tr84
1196  			case 37:
1197  				goto tr85
1198  			case 61:
1199  				goto tr84
1200  			case 95:
1201  				goto tr84
1202  			}
1203  			switch {
1204  			case (m.data)[(m.p)] < 48:
1205  				if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
1206  					goto tr84
1207  				}
1208  			case (m.data)[(m.p)] > 59:
1209  				switch {
1210  				case (m.data)[(m.p)] > 90:
1211  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1212  						goto tr84
1213  					}
1214  				case (m.data)[(m.p)] >= 64:
1215  					goto tr84
1216  				}
1217  			default:
1218  				goto tr84
1219  			}
1220  			goto tr83
1221  		case 175:
1222  			switch (m.data)[(m.p)] {
1223  			case 33:
1224  				goto tr216
1225  			case 36:
1226  				goto tr216
1227  			case 37:
1228  				goto tr217
1229  			case 61:
1230  				goto tr216
1231  			case 95:
1232  				goto tr216
1233  			}
1234  			switch {
1235  			case (m.data)[(m.p)] < 48:
1236  				if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
1237  					goto tr216
1238  				}
1239  			case (m.data)[(m.p)] > 59:
1240  				switch {
1241  				case (m.data)[(m.p)] > 90:
1242  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1243  						goto tr216
1244  					}
1245  				case (m.data)[(m.p)] >= 64:
1246  					goto tr216
1247  				}
1248  			default:
1249  				goto tr216
1250  			}
1251  			goto tr83
1252  		case 71:
1253  			switch {
1254  			case (m.data)[(m.p)] < 65:
1255  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1256  					goto tr87
1257  				}
1258  			case (m.data)[(m.p)] > 90:
1259  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1260  					goto tr87
1261  				}
1262  			default:
1263  				goto tr88
1264  			}
1265  			goto tr86
1266  		case 72:
1267  			switch {
1268  			case (m.data)[(m.p)] < 65:
1269  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1270  					goto tr89
1271  				}
1272  			case (m.data)[(m.p)] > 90:
1273  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1274  					goto tr89
1275  				}
1276  			default:
1277  				goto tr90
1278  			}
1279  			goto tr86
1280  		case 176:
1281  			switch (m.data)[(m.p)] {
1282  			case 33:
1283  				goto tr216
1284  			case 36:
1285  				goto tr216
1286  			case 37:
1287  				goto tr217
1288  			case 61:
1289  				goto tr216
1290  			case 95:
1291  				goto tr216
1292  			}
1293  			switch {
1294  			case (m.data)[(m.p)] < 48:
1295  				if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
1296  					goto tr216
1297  				}
1298  			case (m.data)[(m.p)] > 59:
1299  				switch {
1300  				case (m.data)[(m.p)] > 90:
1301  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1302  						goto tr216
1303  					}
1304  				case (m.data)[(m.p)] >= 64:
1305  					goto tr216
1306  				}
1307  			default:
1308  				goto tr216
1309  			}
1310  			goto tr86
1311  		case 73:
1312  			if (m.data)[(m.p)] == 97 {
1313  				goto tr91
1314  			}
1315  			goto tr74
1316  		case 74:
1317  			if (m.data)[(m.p)] == 114 {
1318  				goto tr92
1319  			}
1320  			goto tr74
1321  		case 75:
1322  			if (m.data)[(m.p)] == 97 {
1323  				goto tr93
1324  			}
1325  			goto tr74
1326  		case 76:
1327  			if (m.data)[(m.p)] == 109 {
1328  				goto tr79
1329  			}
1330  			goto tr74
1331  		case 77:
1332  			if (m.data)[(m.p)] == 99 {
1333  				goto tr94
1334  			}
1335  			goto tr74
1336  		case 78:
1337  			if (m.data)[(m.p)] == 104 {
1338  				goto tr95
1339  			}
1340  			goto tr74
1341  		case 79:
1342  			if (m.data)[(m.p)] == 101 {
1343  				goto tr96
1344  			}
1345  			goto tr74
1346  		case 80:
1347  			if (m.data)[(m.p)] == 109 {
1348  				goto tr97
1349  			}
1350  			goto tr74
1351  		case 81:
1352  			if (m.data)[(m.p)] == 97 {
1353  				goto tr98
1354  			}
1355  			goto tr74
1356  		case 82:
1357  			if (m.data)[(m.p)] == 115 {
1358  				goto tr79
1359  			}
1360  			goto tr74
1361  		case 83:
1362  			switch (m.data)[(m.p)] {
1363  			case 85:
1364  				goto tr99
1365  			case 117:
1366  				goto tr99
1367  			}
1368  			goto tr0
1369  		case 84:
1370  			switch (m.data)[(m.p)] {
1371  			case 82:
1372  				goto tr100
1373  			case 114:
1374  				goto tr100
1375  			}
1376  			goto tr0
1377  		case 85:
1378  			switch (m.data)[(m.p)] {
1379  			case 78:
1380  				goto tr101
1381  			case 110:
1382  				goto tr101
1383  			}
1384  			goto tr0
1385  		case 86:
1386  			if (m.data)[(m.p)] == 58 {
1387  				goto tr102
1388  			}
1389  			goto tr0
1390  		case 87:
1391  			switch (m.data)[(m.p)] {
1392  			case 85:
1393  				goto tr105
1394  			case 117:
1395  				goto tr105
1396  			}
1397  			switch {
1398  			case (m.data)[(m.p)] < 65:
1399  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1400  					goto tr104
1401  				}
1402  			case (m.data)[(m.p)] > 90:
1403  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1404  					goto tr104
1405  				}
1406  			default:
1407  				goto tr104
1408  			}
1409  			goto tr103
1410  		case 88:
1411  			if (m.data)[(m.p)] == 45 {
1412  				goto tr107
1413  			}
1414  			switch {
1415  			case (m.data)[(m.p)] < 65:
1416  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1417  					goto tr108
1418  				}
1419  			case (m.data)[(m.p)] > 90:
1420  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1421  					goto tr108
1422  				}
1423  			default:
1424  				goto tr108
1425  			}
1426  			goto tr106
1427  		case 89:
1428  			if (m.data)[(m.p)] == 45 {
1429  				goto tr109
1430  			}
1431  			switch {
1432  			case (m.data)[(m.p)] < 65:
1433  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1434  					goto tr110
1435  				}
1436  			case (m.data)[(m.p)] > 90:
1437  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1438  					goto tr110
1439  				}
1440  			default:
1441  				goto tr110
1442  			}
1443  			goto tr106
1444  		case 90:
1445  			if (m.data)[(m.p)] == 45 {
1446  				goto tr111
1447  			}
1448  			switch {
1449  			case (m.data)[(m.p)] < 65:
1450  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1451  					goto tr112
1452  				}
1453  			case (m.data)[(m.p)] > 90:
1454  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1455  					goto tr112
1456  				}
1457  			default:
1458  				goto tr112
1459  			}
1460  			goto tr106
1461  		case 91:
1462  			if (m.data)[(m.p)] == 45 {
1463  				goto tr113
1464  			}
1465  			switch {
1466  			case (m.data)[(m.p)] < 65:
1467  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1468  					goto tr114
1469  				}
1470  			case (m.data)[(m.p)] > 90:
1471  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1472  					goto tr114
1473  				}
1474  			default:
1475  				goto tr114
1476  			}
1477  			goto tr106
1478  		case 92:
1479  			if (m.data)[(m.p)] == 45 {
1480  				goto tr115
1481  			}
1482  			switch {
1483  			case (m.data)[(m.p)] < 65:
1484  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1485  					goto tr116
1486  				}
1487  			case (m.data)[(m.p)] > 90:
1488  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1489  					goto tr116
1490  				}
1491  			default:
1492  				goto tr116
1493  			}
1494  			goto tr106
1495  		case 93:
1496  			if (m.data)[(m.p)] == 45 {
1497  				goto tr117
1498  			}
1499  			switch {
1500  			case (m.data)[(m.p)] < 65:
1501  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1502  					goto tr118
1503  				}
1504  			case (m.data)[(m.p)] > 90:
1505  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1506  					goto tr118
1507  				}
1508  			default:
1509  				goto tr118
1510  			}
1511  			goto tr106
1512  		case 94:
1513  			if (m.data)[(m.p)] == 45 {
1514  				goto tr119
1515  			}
1516  			switch {
1517  			case (m.data)[(m.p)] < 65:
1518  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1519  					goto tr120
1520  				}
1521  			case (m.data)[(m.p)] > 90:
1522  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1523  					goto tr120
1524  				}
1525  			default:
1526  				goto tr120
1527  			}
1528  			goto tr106
1529  		case 95:
1530  			if (m.data)[(m.p)] == 45 {
1531  				goto tr121
1532  			}
1533  			switch {
1534  			case (m.data)[(m.p)] < 65:
1535  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1536  					goto tr122
1537  				}
1538  			case (m.data)[(m.p)] > 90:
1539  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1540  					goto tr122
1541  				}
1542  			default:
1543  				goto tr122
1544  			}
1545  			goto tr106
1546  		case 96:
1547  			if (m.data)[(m.p)] == 45 {
1548  				goto tr123
1549  			}
1550  			switch {
1551  			case (m.data)[(m.p)] < 65:
1552  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1553  					goto tr124
1554  				}
1555  			case (m.data)[(m.p)] > 90:
1556  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1557  					goto tr124
1558  				}
1559  			default:
1560  				goto tr124
1561  			}
1562  			goto tr106
1563  		case 97:
1564  			if (m.data)[(m.p)] == 45 {
1565  				goto tr125
1566  			}
1567  			switch {
1568  			case (m.data)[(m.p)] < 65:
1569  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1570  					goto tr126
1571  				}
1572  			case (m.data)[(m.p)] > 90:
1573  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1574  					goto tr126
1575  				}
1576  			default:
1577  				goto tr126
1578  			}
1579  			goto tr106
1580  		case 98:
1581  			if (m.data)[(m.p)] == 45 {
1582  				goto tr127
1583  			}
1584  			switch {
1585  			case (m.data)[(m.p)] < 65:
1586  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1587  					goto tr128
1588  				}
1589  			case (m.data)[(m.p)] > 90:
1590  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1591  					goto tr128
1592  				}
1593  			default:
1594  				goto tr128
1595  			}
1596  			goto tr106
1597  		case 99:
1598  			if (m.data)[(m.p)] == 45 {
1599  				goto tr129
1600  			}
1601  			switch {
1602  			case (m.data)[(m.p)] < 65:
1603  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1604  					goto tr130
1605  				}
1606  			case (m.data)[(m.p)] > 90:
1607  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1608  					goto tr130
1609  				}
1610  			default:
1611  				goto tr130
1612  			}
1613  			goto tr106
1614  		case 100:
1615  			if (m.data)[(m.p)] == 45 {
1616  				goto tr131
1617  			}
1618  			switch {
1619  			case (m.data)[(m.p)] < 65:
1620  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1621  					goto tr132
1622  				}
1623  			case (m.data)[(m.p)] > 90:
1624  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1625  					goto tr132
1626  				}
1627  			default:
1628  				goto tr132
1629  			}
1630  			goto tr106
1631  		case 101:
1632  			if (m.data)[(m.p)] == 45 {
1633  				goto tr133
1634  			}
1635  			switch {
1636  			case (m.data)[(m.p)] < 65:
1637  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1638  					goto tr134
1639  				}
1640  			case (m.data)[(m.p)] > 90:
1641  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1642  					goto tr134
1643  				}
1644  			default:
1645  				goto tr134
1646  			}
1647  			goto tr106
1648  		case 102:
1649  			if (m.data)[(m.p)] == 45 {
1650  				goto tr135
1651  			}
1652  			switch {
1653  			case (m.data)[(m.p)] < 65:
1654  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1655  					goto tr136
1656  				}
1657  			case (m.data)[(m.p)] > 90:
1658  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1659  					goto tr136
1660  				}
1661  			default:
1662  				goto tr136
1663  			}
1664  			goto tr106
1665  		case 103:
1666  			if (m.data)[(m.p)] == 45 {
1667  				goto tr137
1668  			}
1669  			switch {
1670  			case (m.data)[(m.p)] < 65:
1671  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1672  					goto tr138
1673  				}
1674  			case (m.data)[(m.p)] > 90:
1675  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1676  					goto tr138
1677  				}
1678  			default:
1679  				goto tr138
1680  			}
1681  			goto tr106
1682  		case 104:
1683  			if (m.data)[(m.p)] == 45 {
1684  				goto tr139
1685  			}
1686  			switch {
1687  			case (m.data)[(m.p)] < 65:
1688  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1689  					goto tr140
1690  				}
1691  			case (m.data)[(m.p)] > 90:
1692  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1693  					goto tr140
1694  				}
1695  			default:
1696  				goto tr140
1697  			}
1698  			goto tr106
1699  		case 105:
1700  			if (m.data)[(m.p)] == 45 {
1701  				goto tr141
1702  			}
1703  			switch {
1704  			case (m.data)[(m.p)] < 65:
1705  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1706  					goto tr142
1707  				}
1708  			case (m.data)[(m.p)] > 90:
1709  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1710  					goto tr142
1711  				}
1712  			default:
1713  				goto tr142
1714  			}
1715  			goto tr106
1716  		case 106:
1717  			if (m.data)[(m.p)] == 45 {
1718  				goto tr143
1719  			}
1720  			switch {
1721  			case (m.data)[(m.p)] < 65:
1722  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1723  					goto tr144
1724  				}
1725  			case (m.data)[(m.p)] > 90:
1726  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1727  					goto tr144
1728  				}
1729  			default:
1730  				goto tr144
1731  			}
1732  			goto tr106
1733  		case 107:
1734  			if (m.data)[(m.p)] == 45 {
1735  				goto tr145
1736  			}
1737  			switch {
1738  			case (m.data)[(m.p)] < 65:
1739  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1740  					goto tr146
1741  				}
1742  			case (m.data)[(m.p)] > 90:
1743  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1744  					goto tr146
1745  				}
1746  			default:
1747  				goto tr146
1748  			}
1749  			goto tr106
1750  		case 108:
1751  			if (m.data)[(m.p)] == 45 {
1752  				goto tr147
1753  			}
1754  			switch {
1755  			case (m.data)[(m.p)] < 65:
1756  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1757  					goto tr148
1758  				}
1759  			case (m.data)[(m.p)] > 90:
1760  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1761  					goto tr148
1762  				}
1763  			default:
1764  				goto tr148
1765  			}
1766  			goto tr106
1767  		case 109:
1768  			if (m.data)[(m.p)] == 45 {
1769  				goto tr149
1770  			}
1771  			switch {
1772  			case (m.data)[(m.p)] < 65:
1773  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1774  					goto tr150
1775  				}
1776  			case (m.data)[(m.p)] > 90:
1777  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1778  					goto tr150
1779  				}
1780  			default:
1781  				goto tr150
1782  			}
1783  			goto tr106
1784  		case 110:
1785  			if (m.data)[(m.p)] == 45 {
1786  				goto tr151
1787  			}
1788  			switch {
1789  			case (m.data)[(m.p)] < 65:
1790  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1791  					goto tr152
1792  				}
1793  			case (m.data)[(m.p)] > 90:
1794  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1795  					goto tr152
1796  				}
1797  			default:
1798  				goto tr152
1799  			}
1800  			goto tr106
1801  		case 111:
1802  			if (m.data)[(m.p)] == 45 {
1803  				goto tr153
1804  			}
1805  			switch {
1806  			case (m.data)[(m.p)] < 65:
1807  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1808  					goto tr154
1809  				}
1810  			case (m.data)[(m.p)] > 90:
1811  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1812  					goto tr154
1813  				}
1814  			default:
1815  				goto tr154
1816  			}
1817  			goto tr106
1818  		case 112:
1819  			if (m.data)[(m.p)] == 45 {
1820  				goto tr155
1821  			}
1822  			switch {
1823  			case (m.data)[(m.p)] < 65:
1824  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1825  					goto tr156
1826  				}
1827  			case (m.data)[(m.p)] > 90:
1828  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1829  					goto tr156
1830  				}
1831  			default:
1832  				goto tr156
1833  			}
1834  			goto tr106
1835  		case 113:
1836  			if (m.data)[(m.p)] == 45 {
1837  				goto tr157
1838  			}
1839  			switch {
1840  			case (m.data)[(m.p)] < 65:
1841  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1842  					goto tr158
1843  				}
1844  			case (m.data)[(m.p)] > 90:
1845  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1846  					goto tr158
1847  				}
1848  			default:
1849  				goto tr158
1850  			}
1851  			goto tr106
1852  		case 114:
1853  			if (m.data)[(m.p)] == 45 {
1854  				goto tr159
1855  			}
1856  			switch {
1857  			case (m.data)[(m.p)] < 65:
1858  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1859  					goto tr160
1860  				}
1861  			case (m.data)[(m.p)] > 90:
1862  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1863  					goto tr160
1864  				}
1865  			default:
1866  				goto tr160
1867  			}
1868  			goto tr106
1869  		case 115:
1870  			if (m.data)[(m.p)] == 45 {
1871  				goto tr161
1872  			}
1873  			switch {
1874  			case (m.data)[(m.p)] < 65:
1875  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1876  					goto tr162
1877  				}
1878  			case (m.data)[(m.p)] > 90:
1879  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1880  					goto tr162
1881  				}
1882  			default:
1883  				goto tr162
1884  			}
1885  			goto tr106
1886  		case 116:
1887  			if (m.data)[(m.p)] == 45 {
1888  				goto tr163
1889  			}
1890  			switch {
1891  			case (m.data)[(m.p)] < 65:
1892  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1893  					goto tr164
1894  				}
1895  			case (m.data)[(m.p)] > 90:
1896  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1897  					goto tr164
1898  				}
1899  			default:
1900  				goto tr164
1901  			}
1902  			goto tr106
1903  		case 117:
1904  			if (m.data)[(m.p)] == 45 {
1905  				goto tr165
1906  			}
1907  			switch {
1908  			case (m.data)[(m.p)] < 65:
1909  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1910  					goto tr166
1911  				}
1912  			case (m.data)[(m.p)] > 90:
1913  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1914  					goto tr166
1915  				}
1916  			default:
1917  				goto tr166
1918  			}
1919  			goto tr106
1920  		case 118:
1921  			switch {
1922  			case (m.data)[(m.p)] < 65:
1923  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1924  					goto tr167
1925  				}
1926  			case (m.data)[(m.p)] > 90:
1927  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1928  					goto tr167
1929  				}
1930  			default:
1931  				goto tr167
1932  			}
1933  			goto tr106
1934  		case 119:
1935  			if (m.data)[(m.p)] == 58 {
1936  				goto tr168
1937  			}
1938  			goto tr106
1939  		case 120:
1940  			switch (m.data)[(m.p)] {
1941  			case 33:
1942  				goto tr170
1943  			case 37:
1944  				goto tr171
1945  			case 61:
1946  				goto tr170
1947  			case 95:
1948  				goto tr170
1949  			case 126:
1950  				goto tr170
1951  			}
1952  			switch {
1953  			case (m.data)[(m.p)] < 48:
1954  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
1955  					goto tr170
1956  				}
1957  			case (m.data)[(m.p)] > 59:
1958  				switch {
1959  				case (m.data)[(m.p)] > 90:
1960  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1961  						goto tr170
1962  					}
1963  				case (m.data)[(m.p)] >= 64:
1964  					goto tr170
1965  				}
1966  			default:
1967  				goto tr170
1968  			}
1969  			goto tr169
1970  		case 177:
1971  			switch (m.data)[(m.p)] {
1972  			case 33:
1973  				goto tr218
1974  			case 35:
1975  				goto tr219
1976  			case 37:
1977  				goto tr220
1978  			case 61:
1979  				goto tr218
1980  			case 63:
1981  				goto tr221
1982  			case 95:
1983  				goto tr218
1984  			case 126:
1985  				goto tr218
1986  			}
1987  			switch {
1988  			case (m.data)[(m.p)] < 64:
1989  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
1990  					goto tr218
1991  				}
1992  			case (m.data)[(m.p)] > 90:
1993  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
1994  					goto tr218
1995  				}
1996  			default:
1997  				goto tr218
1998  			}
1999  			goto tr169
2000  		case 178:
2001  			switch (m.data)[(m.p)] {
2002  			case 33:
2003  				goto tr222
2004  			case 37:
2005  				goto tr223
2006  			case 61:
2007  				goto tr222
2008  			case 95:
2009  				goto tr222
2010  			case 126:
2011  				goto tr222
2012  			}
2013  			switch {
2014  			case (m.data)[(m.p)] < 63:
2015  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2016  					goto tr222
2017  				}
2018  			case (m.data)[(m.p)] > 90:
2019  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2020  					goto tr222
2021  				}
2022  			default:
2023  				goto tr222
2024  			}
2025  			goto tr183
2026  		case 179:
2027  			switch (m.data)[(m.p)] {
2028  			case 33:
2029  				goto tr224
2030  			case 37:
2031  				goto tr225
2032  			case 61:
2033  				goto tr224
2034  			case 95:
2035  				goto tr224
2036  			case 126:
2037  				goto tr224
2038  			}
2039  			switch {
2040  			case (m.data)[(m.p)] < 63:
2041  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2042  					goto tr224
2043  				}
2044  			case (m.data)[(m.p)] > 90:
2045  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2046  					goto tr224
2047  				}
2048  			default:
2049  				goto tr224
2050  			}
2051  			goto tr183
2052  		case 121:
2053  			switch {
2054  			case (m.data)[(m.p)] < 65:
2055  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2056  					goto tr173
2057  				}
2058  			case (m.data)[(m.p)] > 90:
2059  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2060  					goto tr173
2061  				}
2062  			default:
2063  				goto tr174
2064  			}
2065  			goto tr172
2066  		case 122:
2067  			switch {
2068  			case (m.data)[(m.p)] < 65:
2069  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2070  					goto tr175
2071  				}
2072  			case (m.data)[(m.p)] > 90:
2073  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2074  					goto tr175
2075  				}
2076  			default:
2077  				goto tr176
2078  			}
2079  			goto tr172
2080  		case 180:
2081  			switch (m.data)[(m.p)] {
2082  			case 33:
2083  				goto tr224
2084  			case 37:
2085  				goto tr225
2086  			case 61:
2087  				goto tr224
2088  			case 95:
2089  				goto tr224
2090  			case 126:
2091  				goto tr224
2092  			}
2093  			switch {
2094  			case (m.data)[(m.p)] < 63:
2095  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2096  					goto tr224
2097  				}
2098  			case (m.data)[(m.p)] > 90:
2099  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2100  					goto tr224
2101  				}
2102  			default:
2103  				goto tr224
2104  			}
2105  			goto tr172
2106  		case 123:
2107  			switch {
2108  			case (m.data)[(m.p)] < 65:
2109  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2110  					goto tr178
2111  				}
2112  			case (m.data)[(m.p)] > 90:
2113  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2114  					goto tr178
2115  				}
2116  			default:
2117  				goto tr179
2118  			}
2119  			goto tr177
2120  		case 124:
2121  			switch {
2122  			case (m.data)[(m.p)] < 65:
2123  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2124  					goto tr180
2125  				}
2126  			case (m.data)[(m.p)] > 90:
2127  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2128  					goto tr180
2129  				}
2130  			default:
2131  				goto tr181
2132  			}
2133  			goto tr177
2134  		case 181:
2135  			switch (m.data)[(m.p)] {
2136  			case 33:
2137  				goto tr218
2138  			case 35:
2139  				goto tr219
2140  			case 37:
2141  				goto tr220
2142  			case 61:
2143  				goto tr218
2144  			case 63:
2145  				goto tr221
2146  			case 95:
2147  				goto tr218
2148  			case 126:
2149  				goto tr218
2150  			}
2151  			switch {
2152  			case (m.data)[(m.p)] < 64:
2153  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2154  					goto tr218
2155  				}
2156  			case (m.data)[(m.p)] > 90:
2157  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2158  					goto tr218
2159  				}
2160  			default:
2161  				goto tr218
2162  			}
2163  			goto tr177
2164  		case 125:
2165  			switch (m.data)[(m.p)] {
2166  			case 43:
2167  				goto tr182
2168  			case 61:
2169  				goto tr184
2170  			}
2171  			goto tr183
2172  		case 126:
2173  			switch (m.data)[(m.p)] {
2174  			case 33:
2175  				goto tr186
2176  			case 37:
2177  				goto tr187
2178  			case 61:
2179  				goto tr186
2180  			case 63:
2181  				goto tr188
2182  			case 95:
2183  				goto tr186
2184  			case 126:
2185  				goto tr186
2186  			}
2187  			switch {
2188  			case (m.data)[(m.p)] < 48:
2189  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
2190  					goto tr186
2191  				}
2192  			case (m.data)[(m.p)] > 59:
2193  				switch {
2194  				case (m.data)[(m.p)] > 90:
2195  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2196  						goto tr186
2197  					}
2198  				case (m.data)[(m.p)] >= 64:
2199  					goto tr186
2200  				}
2201  			default:
2202  				goto tr186
2203  			}
2204  			goto tr185
2205  		case 182:
2206  			switch (m.data)[(m.p)] {
2207  			case 33:
2208  				goto tr226
2209  			case 35:
2210  				goto tr227
2211  			case 37:
2212  				goto tr228
2213  			case 61:
2214  				goto tr226
2215  			case 63:
2216  				goto tr229
2217  			case 95:
2218  				goto tr226
2219  			case 126:
2220  				goto tr226
2221  			}
2222  			switch {
2223  			case (m.data)[(m.p)] < 64:
2224  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2225  					goto tr226
2226  				}
2227  			case (m.data)[(m.p)] > 90:
2228  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2229  					goto tr226
2230  				}
2231  			default:
2232  				goto tr226
2233  			}
2234  			goto tr185
2235  		case 127:
2236  			switch {
2237  			case (m.data)[(m.p)] < 65:
2238  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2239  					goto tr190
2240  				}
2241  			case (m.data)[(m.p)] > 90:
2242  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2243  					goto tr190
2244  				}
2245  			default:
2246  				goto tr191
2247  			}
2248  			goto tr189
2249  		case 128:
2250  			switch {
2251  			case (m.data)[(m.p)] < 65:
2252  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2253  					goto tr192
2254  				}
2255  			case (m.data)[(m.p)] > 90:
2256  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2257  					goto tr192
2258  				}
2259  			default:
2260  				goto tr193
2261  			}
2262  			goto tr189
2263  		case 183:
2264  			switch (m.data)[(m.p)] {
2265  			case 33:
2266  				goto tr226
2267  			case 35:
2268  				goto tr227
2269  			case 37:
2270  				goto tr228
2271  			case 61:
2272  				goto tr226
2273  			case 63:
2274  				goto tr229
2275  			case 95:
2276  				goto tr226
2277  			case 126:
2278  				goto tr226
2279  			}
2280  			switch {
2281  			case (m.data)[(m.p)] < 64:
2282  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2283  					goto tr226
2284  				}
2285  			case (m.data)[(m.p)] > 90:
2286  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2287  					goto tr226
2288  				}
2289  			default:
2290  				goto tr226
2291  			}
2292  			goto tr189
2293  		case 184:
2294  			switch (m.data)[(m.p)] {
2295  			case 33:
2296  				goto tr226
2297  			case 35:
2298  				goto tr227
2299  			case 37:
2300  				goto tr228
2301  			case 43:
2302  				goto tr230
2303  			case 61:
2304  				goto tr231
2305  			case 63:
2306  				goto tr229
2307  			case 95:
2308  				goto tr226
2309  			case 126:
2310  				goto tr226
2311  			}
2312  			switch {
2313  			case (m.data)[(m.p)] < 64:
2314  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2315  					goto tr226
2316  				}
2317  			case (m.data)[(m.p)] > 90:
2318  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2319  					goto tr226
2320  				}
2321  			default:
2322  				goto tr226
2323  			}
2324  			goto tr185
2325  		case 185:
2326  			switch (m.data)[(m.p)] {
2327  			case 33:
2328  				goto tr232
2329  			case 35:
2330  				goto tr233
2331  			case 37:
2332  				goto tr234
2333  			case 47:
2334  				goto tr226
2335  			case 61:
2336  				goto tr232
2337  			case 63:
2338  				goto tr235
2339  			case 95:
2340  				goto tr232
2341  			case 126:
2342  				goto tr232
2343  			}
2344  			switch {
2345  			case (m.data)[(m.p)] < 64:
2346  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2347  					goto tr232
2348  				}
2349  			case (m.data)[(m.p)] > 90:
2350  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2351  					goto tr232
2352  				}
2353  			default:
2354  				goto tr232
2355  			}
2356  			goto tr185
2357  		case 186:
2358  			switch (m.data)[(m.p)] {
2359  			case 33:
2360  				goto tr204
2361  			case 35:
2362  				goto tr227
2363  			case 37:
2364  				goto tr237
2365  			case 47:
2366  				goto tr226
2367  			case 61:
2368  				goto tr204
2369  			case 63:
2370  				goto tr229
2371  			case 95:
2372  				goto tr204
2373  			case 126:
2374  				goto tr204
2375  			}
2376  			switch {
2377  			case (m.data)[(m.p)] < 64:
2378  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2379  					goto tr204
2380  				}
2381  			case (m.data)[(m.p)] > 90:
2382  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2383  					goto tr204
2384  				}
2385  			default:
2386  				goto tr204
2387  			}
2388  			goto tr236
2389  		case 187:
2390  			switch (m.data)[(m.p)] {
2391  			case 33:
2392  				goto tr238
2393  			case 35:
2394  				goto tr239
2395  			case 37:
2396  				goto tr240
2397  			case 61:
2398  				goto tr238
2399  			case 63:
2400  				goto tr241
2401  			case 95:
2402  				goto tr238
2403  			case 126:
2404  				goto tr238
2405  			}
2406  			switch {
2407  			case (m.data)[(m.p)] < 64:
2408  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2409  					goto tr238
2410  				}
2411  			case (m.data)[(m.p)] > 90:
2412  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2413  					goto tr238
2414  				}
2415  			default:
2416  				goto tr238
2417  			}
2418  			goto tr203
2419  		case 129:
2420  			switch {
2421  			case (m.data)[(m.p)] < 65:
2422  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2423  					goto tr195
2424  				}
2425  			case (m.data)[(m.p)] > 90:
2426  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2427  					goto tr195
2428  				}
2429  			default:
2430  				goto tr196
2431  			}
2432  			goto tr194
2433  		case 130:
2434  			switch {
2435  			case (m.data)[(m.p)] < 65:
2436  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2437  					goto tr197
2438  				}
2439  			case (m.data)[(m.p)] > 90:
2440  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2441  					goto tr197
2442  				}
2443  			default:
2444  				goto tr198
2445  			}
2446  			goto tr194
2447  		case 188:
2448  			switch (m.data)[(m.p)] {
2449  			case 33:
2450  				goto tr238
2451  			case 35:
2452  				goto tr239
2453  			case 37:
2454  				goto tr240
2455  			case 61:
2456  				goto tr238
2457  			case 63:
2458  				goto tr241
2459  			case 95:
2460  				goto tr238
2461  			case 126:
2462  				goto tr238
2463  			}
2464  			switch {
2465  			case (m.data)[(m.p)] < 64:
2466  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2467  					goto tr238
2468  				}
2469  			case (m.data)[(m.p)] > 90:
2470  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2471  					goto tr238
2472  				}
2473  			default:
2474  				goto tr238
2475  			}
2476  			goto tr194
2477  		case 189:
2478  			switch (m.data)[(m.p)] {
2479  			case 33:
2480  				goto tr238
2481  			case 35:
2482  				goto tr239
2483  			case 37:
2484  				goto tr240
2485  			case 61:
2486  				goto tr242
2487  			case 63:
2488  				goto tr241
2489  			case 95:
2490  				goto tr238
2491  			case 126:
2492  				goto tr238
2493  			}
2494  			switch {
2495  			case (m.data)[(m.p)] < 64:
2496  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2497  					goto tr238
2498  				}
2499  			case (m.data)[(m.p)] > 90:
2500  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2501  					goto tr238
2502  				}
2503  			default:
2504  				goto tr238
2505  			}
2506  			goto tr203
2507  		case 190:
2508  			switch (m.data)[(m.p)] {
2509  			case 33:
2510  				goto tr243
2511  			case 35:
2512  				goto tr244
2513  			case 37:
2514  				goto tr245
2515  			case 47:
2516  				goto tr238
2517  			case 61:
2518  				goto tr243
2519  			case 63:
2520  				goto tr246
2521  			case 95:
2522  				goto tr243
2523  			case 126:
2524  				goto tr243
2525  			}
2526  			switch {
2527  			case (m.data)[(m.p)] < 64:
2528  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
2529  					goto tr243
2530  				}
2531  			case (m.data)[(m.p)] > 90:
2532  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2533  					goto tr243
2534  				}
2535  			default:
2536  				goto tr243
2537  			}
2538  			goto tr203
2539  		case 131:
2540  			switch {
2541  			case (m.data)[(m.p)] < 65:
2542  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2543  					goto tr200
2544  				}
2545  			case (m.data)[(m.p)] > 90:
2546  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2547  					goto tr200
2548  				}
2549  			default:
2550  				goto tr201
2551  			}
2552  			goto tr199
2553  		case 132:
2554  			switch {
2555  			case (m.data)[(m.p)] < 65:
2556  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2557  					goto tr197
2558  				}
2559  			case (m.data)[(m.p)] > 90:
2560  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2561  					goto tr197
2562  				}
2563  			default:
2564  				goto tr198
2565  			}
2566  			goto tr199
2567  		case 133:
2568  			if (m.data)[(m.p)] == 43 {
2569  				goto tr202
2570  			}
2571  			goto tr185
2572  		case 191:
2573  			switch (m.data)[(m.p)] {
2574  			case 33:
2575  				goto tr232
2576  			case 35:
2577  				goto tr233
2578  			case 37:
2579  				goto tr234
2580  			case 61:
2581  				goto tr232
2582  			case 63:
2583  				goto tr247
2584  			case 95:
2585  				goto tr232
2586  			case 126:
2587  				goto tr232
2588  			}
2589  			switch {
2590  			case (m.data)[(m.p)] < 48:
2591  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
2592  					goto tr232
2593  				}
2594  			case (m.data)[(m.p)] > 59:
2595  				switch {
2596  				case (m.data)[(m.p)] > 90:
2597  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2598  						goto tr232
2599  					}
2600  				case (m.data)[(m.p)] >= 64:
2601  					goto tr232
2602  				}
2603  			default:
2604  				goto tr232
2605  			}
2606  			goto tr185
2607  		case 134:
2608  			switch (m.data)[(m.p)] {
2609  			case 43:
2610  				goto tr202
2611  			case 61:
2612  				goto tr184
2613  			}
2614  			goto tr185
2615  		case 135:
2616  			switch (m.data)[(m.p)] {
2617  			case 33:
2618  				goto tr204
2619  			case 37:
2620  				goto tr205
2621  			case 61:
2622  				goto tr204
2623  			case 63:
2624  				goto tr206
2625  			case 95:
2626  				goto tr204
2627  			case 126:
2628  				goto tr204
2629  			}
2630  			switch {
2631  			case (m.data)[(m.p)] < 48:
2632  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
2633  					goto tr204
2634  				}
2635  			case (m.data)[(m.p)] > 59:
2636  				switch {
2637  				case (m.data)[(m.p)] > 90:
2638  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2639  						goto tr204
2640  					}
2641  				case (m.data)[(m.p)] >= 64:
2642  					goto tr204
2643  				}
2644  			default:
2645  				goto tr204
2646  			}
2647  			goto tr203
2648  		case 136:
2649  			if (m.data)[(m.p)] == 61 {
2650  				goto tr207
2651  			}
2652  			goto tr203
2653  		case 192:
2654  			switch (m.data)[(m.p)] {
2655  			case 33:
2656  				goto tr243
2657  			case 35:
2658  				goto tr244
2659  			case 37:
2660  				goto tr245
2661  			case 61:
2662  				goto tr243
2663  			case 63:
2664  				goto tr248
2665  			case 95:
2666  				goto tr243
2667  			case 126:
2668  				goto tr243
2669  			}
2670  			switch {
2671  			case (m.data)[(m.p)] < 48:
2672  				if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
2673  					goto tr243
2674  				}
2675  			case (m.data)[(m.p)] > 59:
2676  				switch {
2677  				case (m.data)[(m.p)] > 90:
2678  					if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2679  						goto tr243
2680  					}
2681  				case (m.data)[(m.p)] >= 64:
2682  					goto tr243
2683  				}
2684  			default:
2685  				goto tr243
2686  			}
2687  			goto tr203
2688  		case 137:
2689  			if (m.data)[(m.p)] == 58 {
2690  				goto tr168
2691  			}
2692  			switch {
2693  			case (m.data)[(m.p)] < 65:
2694  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2695  					goto tr167
2696  				}
2697  			case (m.data)[(m.p)] > 90:
2698  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2699  					goto tr167
2700  				}
2701  			default:
2702  				goto tr167
2703  			}
2704  			goto tr106
2705  		case 138:
2706  			switch (m.data)[(m.p)] {
2707  			case 45:
2708  				goto tr165
2709  			case 58:
2710  				goto tr168
2711  			}
2712  			switch {
2713  			case (m.data)[(m.p)] < 65:
2714  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2715  					goto tr166
2716  				}
2717  			case (m.data)[(m.p)] > 90:
2718  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2719  					goto tr166
2720  				}
2721  			default:
2722  				goto tr166
2723  			}
2724  			goto tr106
2725  		case 139:
2726  			switch (m.data)[(m.p)] {
2727  			case 45:
2728  				goto tr163
2729  			case 58:
2730  				goto tr168
2731  			}
2732  			switch {
2733  			case (m.data)[(m.p)] < 65:
2734  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2735  					goto tr164
2736  				}
2737  			case (m.data)[(m.p)] > 90:
2738  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2739  					goto tr164
2740  				}
2741  			default:
2742  				goto tr164
2743  			}
2744  			goto tr106
2745  		case 140:
2746  			switch (m.data)[(m.p)] {
2747  			case 45:
2748  				goto tr161
2749  			case 58:
2750  				goto tr168
2751  			}
2752  			switch {
2753  			case (m.data)[(m.p)] < 65:
2754  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2755  					goto tr162
2756  				}
2757  			case (m.data)[(m.p)] > 90:
2758  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2759  					goto tr162
2760  				}
2761  			default:
2762  				goto tr162
2763  			}
2764  			goto tr106
2765  		case 141:
2766  			switch (m.data)[(m.p)] {
2767  			case 45:
2768  				goto tr159
2769  			case 58:
2770  				goto tr168
2771  			}
2772  			switch {
2773  			case (m.data)[(m.p)] < 65:
2774  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2775  					goto tr160
2776  				}
2777  			case (m.data)[(m.p)] > 90:
2778  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2779  					goto tr160
2780  				}
2781  			default:
2782  				goto tr160
2783  			}
2784  			goto tr106
2785  		case 142:
2786  			switch (m.data)[(m.p)] {
2787  			case 45:
2788  				goto tr157
2789  			case 58:
2790  				goto tr168
2791  			}
2792  			switch {
2793  			case (m.data)[(m.p)] < 65:
2794  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2795  					goto tr158
2796  				}
2797  			case (m.data)[(m.p)] > 90:
2798  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2799  					goto tr158
2800  				}
2801  			default:
2802  				goto tr158
2803  			}
2804  			goto tr106
2805  		case 143:
2806  			switch (m.data)[(m.p)] {
2807  			case 45:
2808  				goto tr155
2809  			case 58:
2810  				goto tr168
2811  			}
2812  			switch {
2813  			case (m.data)[(m.p)] < 65:
2814  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2815  					goto tr156
2816  				}
2817  			case (m.data)[(m.p)] > 90:
2818  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2819  					goto tr156
2820  				}
2821  			default:
2822  				goto tr156
2823  			}
2824  			goto tr106
2825  		case 144:
2826  			switch (m.data)[(m.p)] {
2827  			case 45:
2828  				goto tr153
2829  			case 58:
2830  				goto tr168
2831  			}
2832  			switch {
2833  			case (m.data)[(m.p)] < 65:
2834  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2835  					goto tr154
2836  				}
2837  			case (m.data)[(m.p)] > 90:
2838  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2839  					goto tr154
2840  				}
2841  			default:
2842  				goto tr154
2843  			}
2844  			goto tr106
2845  		case 145:
2846  			switch (m.data)[(m.p)] {
2847  			case 45:
2848  				goto tr151
2849  			case 58:
2850  				goto tr168
2851  			}
2852  			switch {
2853  			case (m.data)[(m.p)] < 65:
2854  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2855  					goto tr152
2856  				}
2857  			case (m.data)[(m.p)] > 90:
2858  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2859  					goto tr152
2860  				}
2861  			default:
2862  				goto tr152
2863  			}
2864  			goto tr106
2865  		case 146:
2866  			switch (m.data)[(m.p)] {
2867  			case 45:
2868  				goto tr149
2869  			case 58:
2870  				goto tr168
2871  			}
2872  			switch {
2873  			case (m.data)[(m.p)] < 65:
2874  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2875  					goto tr150
2876  				}
2877  			case (m.data)[(m.p)] > 90:
2878  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2879  					goto tr150
2880  				}
2881  			default:
2882  				goto tr150
2883  			}
2884  			goto tr106
2885  		case 147:
2886  			switch (m.data)[(m.p)] {
2887  			case 45:
2888  				goto tr147
2889  			case 58:
2890  				goto tr168
2891  			}
2892  			switch {
2893  			case (m.data)[(m.p)] < 65:
2894  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2895  					goto tr148
2896  				}
2897  			case (m.data)[(m.p)] > 90:
2898  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2899  					goto tr148
2900  				}
2901  			default:
2902  				goto tr148
2903  			}
2904  			goto tr106
2905  		case 148:
2906  			switch (m.data)[(m.p)] {
2907  			case 45:
2908  				goto tr145
2909  			case 58:
2910  				goto tr168
2911  			}
2912  			switch {
2913  			case (m.data)[(m.p)] < 65:
2914  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2915  					goto tr146
2916  				}
2917  			case (m.data)[(m.p)] > 90:
2918  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2919  					goto tr146
2920  				}
2921  			default:
2922  				goto tr146
2923  			}
2924  			goto tr106
2925  		case 149:
2926  			switch (m.data)[(m.p)] {
2927  			case 45:
2928  				goto tr143
2929  			case 58:
2930  				goto tr168
2931  			}
2932  			switch {
2933  			case (m.data)[(m.p)] < 65:
2934  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2935  					goto tr144
2936  				}
2937  			case (m.data)[(m.p)] > 90:
2938  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2939  					goto tr144
2940  				}
2941  			default:
2942  				goto tr144
2943  			}
2944  			goto tr106
2945  		case 150:
2946  			switch (m.data)[(m.p)] {
2947  			case 45:
2948  				goto tr141
2949  			case 58:
2950  				goto tr168
2951  			}
2952  			switch {
2953  			case (m.data)[(m.p)] < 65:
2954  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2955  					goto tr142
2956  				}
2957  			case (m.data)[(m.p)] > 90:
2958  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2959  					goto tr142
2960  				}
2961  			default:
2962  				goto tr142
2963  			}
2964  			goto tr106
2965  		case 151:
2966  			switch (m.data)[(m.p)] {
2967  			case 45:
2968  				goto tr139
2969  			case 58:
2970  				goto tr168
2971  			}
2972  			switch {
2973  			case (m.data)[(m.p)] < 65:
2974  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2975  					goto tr140
2976  				}
2977  			case (m.data)[(m.p)] > 90:
2978  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2979  					goto tr140
2980  				}
2981  			default:
2982  				goto tr140
2983  			}
2984  			goto tr106
2985  		case 152:
2986  			switch (m.data)[(m.p)] {
2987  			case 45:
2988  				goto tr137
2989  			case 58:
2990  				goto tr168
2991  			}
2992  			switch {
2993  			case (m.data)[(m.p)] < 65:
2994  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
2995  					goto tr138
2996  				}
2997  			case (m.data)[(m.p)] > 90:
2998  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
2999  					goto tr138
3000  				}
3001  			default:
3002  				goto tr138
3003  			}
3004  			goto tr106
3005  		case 153:
3006  			switch (m.data)[(m.p)] {
3007  			case 45:
3008  				goto tr135
3009  			case 58:
3010  				goto tr168
3011  			}
3012  			switch {
3013  			case (m.data)[(m.p)] < 65:
3014  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3015  					goto tr136
3016  				}
3017  			case (m.data)[(m.p)] > 90:
3018  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3019  					goto tr136
3020  				}
3021  			default:
3022  				goto tr136
3023  			}
3024  			goto tr106
3025  		case 154:
3026  			switch (m.data)[(m.p)] {
3027  			case 45:
3028  				goto tr133
3029  			case 58:
3030  				goto tr168
3031  			}
3032  			switch {
3033  			case (m.data)[(m.p)] < 65:
3034  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3035  					goto tr134
3036  				}
3037  			case (m.data)[(m.p)] > 90:
3038  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3039  					goto tr134
3040  				}
3041  			default:
3042  				goto tr134
3043  			}
3044  			goto tr106
3045  		case 155:
3046  			switch (m.data)[(m.p)] {
3047  			case 45:
3048  				goto tr131
3049  			case 58:
3050  				goto tr168
3051  			}
3052  			switch {
3053  			case (m.data)[(m.p)] < 65:
3054  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3055  					goto tr132
3056  				}
3057  			case (m.data)[(m.p)] > 90:
3058  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3059  					goto tr132
3060  				}
3061  			default:
3062  				goto tr132
3063  			}
3064  			goto tr106
3065  		case 156:
3066  			switch (m.data)[(m.p)] {
3067  			case 45:
3068  				goto tr129
3069  			case 58:
3070  				goto tr168
3071  			}
3072  			switch {
3073  			case (m.data)[(m.p)] < 65:
3074  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3075  					goto tr130
3076  				}
3077  			case (m.data)[(m.p)] > 90:
3078  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3079  					goto tr130
3080  				}
3081  			default:
3082  				goto tr130
3083  			}
3084  			goto tr106
3085  		case 157:
3086  			switch (m.data)[(m.p)] {
3087  			case 45:
3088  				goto tr127
3089  			case 58:
3090  				goto tr168
3091  			}
3092  			switch {
3093  			case (m.data)[(m.p)] < 65:
3094  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3095  					goto tr128
3096  				}
3097  			case (m.data)[(m.p)] > 90:
3098  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3099  					goto tr128
3100  				}
3101  			default:
3102  				goto tr128
3103  			}
3104  			goto tr106
3105  		case 158:
3106  			switch (m.data)[(m.p)] {
3107  			case 45:
3108  				goto tr125
3109  			case 58:
3110  				goto tr168
3111  			}
3112  			switch {
3113  			case (m.data)[(m.p)] < 65:
3114  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3115  					goto tr126
3116  				}
3117  			case (m.data)[(m.p)] > 90:
3118  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3119  					goto tr126
3120  				}
3121  			default:
3122  				goto tr126
3123  			}
3124  			goto tr106
3125  		case 159:
3126  			switch (m.data)[(m.p)] {
3127  			case 45:
3128  				goto tr123
3129  			case 58:
3130  				goto tr168
3131  			}
3132  			switch {
3133  			case (m.data)[(m.p)] < 65:
3134  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3135  					goto tr124
3136  				}
3137  			case (m.data)[(m.p)] > 90:
3138  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3139  					goto tr124
3140  				}
3141  			default:
3142  				goto tr124
3143  			}
3144  			goto tr106
3145  		case 160:
3146  			switch (m.data)[(m.p)] {
3147  			case 45:
3148  				goto tr121
3149  			case 58:
3150  				goto tr168
3151  			}
3152  			switch {
3153  			case (m.data)[(m.p)] < 65:
3154  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3155  					goto tr122
3156  				}
3157  			case (m.data)[(m.p)] > 90:
3158  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3159  					goto tr122
3160  				}
3161  			default:
3162  				goto tr122
3163  			}
3164  			goto tr106
3165  		case 161:
3166  			switch (m.data)[(m.p)] {
3167  			case 45:
3168  				goto tr119
3169  			case 58:
3170  				goto tr168
3171  			}
3172  			switch {
3173  			case (m.data)[(m.p)] < 65:
3174  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3175  					goto tr120
3176  				}
3177  			case (m.data)[(m.p)] > 90:
3178  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3179  					goto tr120
3180  				}
3181  			default:
3182  				goto tr120
3183  			}
3184  			goto tr106
3185  		case 162:
3186  			switch (m.data)[(m.p)] {
3187  			case 45:
3188  				goto tr117
3189  			case 58:
3190  				goto tr168
3191  			}
3192  			switch {
3193  			case (m.data)[(m.p)] < 65:
3194  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3195  					goto tr118
3196  				}
3197  			case (m.data)[(m.p)] > 90:
3198  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3199  					goto tr118
3200  				}
3201  			default:
3202  				goto tr118
3203  			}
3204  			goto tr106
3205  		case 163:
3206  			switch (m.data)[(m.p)] {
3207  			case 45:
3208  				goto tr115
3209  			case 58:
3210  				goto tr168
3211  			}
3212  			switch {
3213  			case (m.data)[(m.p)] < 65:
3214  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3215  					goto tr116
3216  				}
3217  			case (m.data)[(m.p)] > 90:
3218  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3219  					goto tr116
3220  				}
3221  			default:
3222  				goto tr116
3223  			}
3224  			goto tr106
3225  		case 164:
3226  			switch (m.data)[(m.p)] {
3227  			case 45:
3228  				goto tr113
3229  			case 58:
3230  				goto tr168
3231  			}
3232  			switch {
3233  			case (m.data)[(m.p)] < 65:
3234  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3235  					goto tr114
3236  				}
3237  			case (m.data)[(m.p)] > 90:
3238  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3239  					goto tr114
3240  				}
3241  			default:
3242  				goto tr114
3243  			}
3244  			goto tr106
3245  		case 165:
3246  			switch (m.data)[(m.p)] {
3247  			case 45:
3248  				goto tr111
3249  			case 58:
3250  				goto tr168
3251  			}
3252  			switch {
3253  			case (m.data)[(m.p)] < 65:
3254  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3255  					goto tr112
3256  				}
3257  			case (m.data)[(m.p)] > 90:
3258  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3259  					goto tr112
3260  				}
3261  			default:
3262  				goto tr112
3263  			}
3264  			goto tr106
3265  		case 166:
3266  			switch (m.data)[(m.p)] {
3267  			case 45:
3268  				goto tr109
3269  			case 58:
3270  				goto tr168
3271  			}
3272  			switch {
3273  			case (m.data)[(m.p)] < 65:
3274  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3275  					goto tr110
3276  				}
3277  			case (m.data)[(m.p)] > 90:
3278  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3279  					goto tr110
3280  				}
3281  			default:
3282  				goto tr110
3283  			}
3284  			goto tr106
3285  		case 167:
3286  			switch (m.data)[(m.p)] {
3287  			case 45:
3288  				goto tr107
3289  			case 82:
3290  				goto tr208
3291  			case 114:
3292  				goto tr208
3293  			}
3294  			switch {
3295  			case (m.data)[(m.p)] < 65:
3296  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3297  					goto tr108
3298  				}
3299  			case (m.data)[(m.p)] > 90:
3300  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3301  					goto tr108
3302  				}
3303  			default:
3304  				goto tr108
3305  			}
3306  			goto tr103
3307  		case 168:
3308  			switch (m.data)[(m.p)] {
3309  			case 45:
3310  				goto tr109
3311  			case 58:
3312  				goto tr168
3313  			case 78:
3314  				goto tr209
3315  			case 110:
3316  				goto tr209
3317  			}
3318  			switch {
3319  			case (m.data)[(m.p)] < 65:
3320  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3321  					goto tr110
3322  				}
3323  			case (m.data)[(m.p)] > 90:
3324  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3325  					goto tr110
3326  				}
3327  			default:
3328  				goto tr110
3329  			}
3330  			goto tr103
3331  		case 169:
3332  			switch (m.data)[(m.p)] {
3333  			case 45:
3334  				goto tr210
3335  			case 58:
3336  				goto tr168
3337  			}
3338  			switch {
3339  			case (m.data)[(m.p)] < 65:
3340  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3341  					goto tr112
3342  				}
3343  			case (m.data)[(m.p)] > 90:
3344  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3345  					goto tr112
3346  				}
3347  			default:
3348  				goto tr112
3349  			}
3350  			goto tr106
3351  		case 170:
3352  			switch (m.data)[(m.p)] {
3353  			case 45:
3354  				goto tr113
3355  			case 48:
3356  				goto tr211
3357  			}
3358  			switch {
3359  			case (m.data)[(m.p)] < 65:
3360  				if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3361  					goto tr114
3362  				}
3363  			case (m.data)[(m.p)] > 90:
3364  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3365  					goto tr211
3366  				}
3367  			default:
3368  				goto tr211
3369  			}
3370  			goto tr106
3371  		case 171:
3372  			if (m.data)[(m.p)] == 45 {
3373  				goto tr115
3374  			}
3375  			switch {
3376  			case (m.data)[(m.p)] < 65:
3377  				if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
3378  					goto tr116
3379  				}
3380  			case (m.data)[(m.p)] > 90:
3381  				if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
3382  					goto tr116
3383  				}
3384  			default:
3385  				goto tr116
3386  			}
3387  			goto tr106
3388  		case 193:
3389  			switch (m.data)[(m.p)] {
3390  			case 10:
3391  				goto tr183
3392  			case 13:
3393  				goto tr183
3394  			}
3395  			goto tr249
3396  		}
3397  
3398  	tr183:
3399  		m.cs = 0
3400  		goto _again
3401  	tr0:
3402  		m.cs = 0
3403  		goto f0
3404  	tr5:
3405  		m.cs = 0
3406  		goto f3
3407  	tr8:
3408  		m.cs = 0
3409  		goto f5
3410  	tr41:
3411  		m.cs = 0
3412  		goto f7
3413  	tr44:
3414  		m.cs = 0
3415  		goto f8
3416  	tr51:
3417  		m.cs = 0
3418  		goto f10
3419  	tr56:
3420  		m.cs = 0
3421  		goto f11
3422  	tr74:
3423  		m.cs = 0
3424  		goto f13
3425  	tr81:
3426  		m.cs = 0
3427  		goto f15
3428  	tr83:
3429  		m.cs = 0
3430  		goto f17
3431  	tr86:
3432  		m.cs = 0
3433  		goto f19
3434  	tr103:
3435  		m.cs = 0
3436  		goto f20
3437  	tr106:
3438  		m.cs = 0
3439  		goto f21
3440  	tr169:
3441  		m.cs = 0
3442  		goto f22
3443  	tr172:
3444  		m.cs = 0
3445  		goto f23
3446  	tr177:
3447  		m.cs = 0
3448  		goto f24
3449  	tr185:
3450  		m.cs = 0
3451  		goto f25
3452  	tr189:
3453  		m.cs = 0
3454  		goto f27
3455  	tr194:
3456  		m.cs = 0
3457  		goto f28
3458  	tr199:
3459  		m.cs = 0
3460  		goto f29
3461  	tr203:
3462  		m.cs = 0
3463  		goto f30
3464  	tr236:
3465  		m.cs = 0
3466  		goto f46
3467  	tr1:
3468  		m.cs = 2
3469  		goto f1
3470  	tr2:
3471  		m.cs = 3
3472  		goto _again
3473  	tr3:
3474  		m.cs = 4
3475  		goto _again
3476  	tr4:
3477  		m.cs = 5
3478  		goto f2
3479  	tr6:
3480  		m.cs = 6
3481  		goto f4
3482  	tr9:
3483  		m.cs = 7
3484  		goto _again
3485  	tr11:
3486  		m.cs = 8
3487  		goto _again
3488  	tr12:
3489  		m.cs = 9
3490  		goto _again
3491  	tr13:
3492  		m.cs = 10
3493  		goto _again
3494  	tr14:
3495  		m.cs = 11
3496  		goto _again
3497  	tr15:
3498  		m.cs = 12
3499  		goto _again
3500  	tr16:
3501  		m.cs = 13
3502  		goto _again
3503  	tr17:
3504  		m.cs = 14
3505  		goto _again
3506  	tr18:
3507  		m.cs = 15
3508  		goto _again
3509  	tr19:
3510  		m.cs = 16
3511  		goto _again
3512  	tr20:
3513  		m.cs = 17
3514  		goto _again
3515  	tr21:
3516  		m.cs = 18
3517  		goto _again
3518  	tr22:
3519  		m.cs = 19
3520  		goto _again
3521  	tr23:
3522  		m.cs = 20
3523  		goto _again
3524  	tr24:
3525  		m.cs = 21
3526  		goto _again
3527  	tr25:
3528  		m.cs = 22
3529  		goto _again
3530  	tr26:
3531  		m.cs = 23
3532  		goto _again
3533  	tr27:
3534  		m.cs = 24
3535  		goto _again
3536  	tr28:
3537  		m.cs = 25
3538  		goto _again
3539  	tr29:
3540  		m.cs = 26
3541  		goto _again
3542  	tr30:
3543  		m.cs = 27
3544  		goto _again
3545  	tr31:
3546  		m.cs = 28
3547  		goto _again
3548  	tr32:
3549  		m.cs = 29
3550  		goto _again
3551  	tr33:
3552  		m.cs = 30
3553  		goto _again
3554  	tr34:
3555  		m.cs = 31
3556  		goto _again
3557  	tr35:
3558  		m.cs = 32
3559  		goto _again
3560  	tr36:
3561  		m.cs = 33
3562  		goto _again
3563  	tr37:
3564  		m.cs = 34
3565  		goto _again
3566  	tr38:
3567  		m.cs = 35
3568  		goto _again
3569  	tr39:
3570  		m.cs = 36
3571  		goto _again
3572  	tr40:
3573  		m.cs = 37
3574  		goto _again
3575  	tr10:
3576  		m.cs = 38
3577  		goto f6
3578  	tr213:
3579  		m.cs = 39
3580  		goto _again
3581  	tr43:
3582  		m.cs = 39
3583  		goto f4
3584  	tr45:
3585  		m.cs = 40
3586  		goto _again
3587  	tr46:
3588  		m.cs = 40
3589  		goto f9
3590  	tr7:
3591  		m.cs = 41
3592  		goto f1
3593  	tr49:
3594  		m.cs = 42
3595  		goto _again
3596  	tr50:
3597  		m.cs = 43
3598  		goto _again
3599  	tr52:
3600  		m.cs = 45
3601  		goto f1
3602  	tr53:
3603  		m.cs = 46
3604  		goto _again
3605  	tr54:
3606  		m.cs = 47
3607  		goto _again
3608  	tr55:
3609  		m.cs = 48
3610  		goto f2
3611  	tr57:
3612  		m.cs = 49
3613  		goto f4
3614  	tr58:
3615  		m.cs = 50
3616  		goto _again
3617  	tr59:
3618  		m.cs = 51
3619  		goto _again
3620  	tr60:
3621  		m.cs = 52
3622  		goto _again
3623  	tr61:
3624  		m.cs = 53
3625  		goto _again
3626  	tr62:
3627  		m.cs = 54
3628  		goto _again
3629  	tr63:
3630  		m.cs = 55
3631  		goto _again
3632  	tr64:
3633  		m.cs = 56
3634  		goto _again
3635  	tr65:
3636  		m.cs = 57
3637  		goto _again
3638  	tr66:
3639  		m.cs = 58
3640  		goto _again
3641  	tr67:
3642  		m.cs = 59
3643  		goto _again
3644  	tr68:
3645  		m.cs = 60
3646  		goto _again
3647  	tr69:
3648  		m.cs = 61
3649  		goto _again
3650  	tr70:
3651  		m.cs = 62
3652  		goto _again
3653  	tr71:
3654  		m.cs = 63
3655  		goto _again
3656  	tr72:
3657  		m.cs = 64
3658  		goto _again
3659  	tr73:
3660  		m.cs = 65
3661  		goto f12
3662  	tr75:
3663  		m.cs = 66
3664  		goto f4
3665  	tr78:
3666  		m.cs = 67
3667  		goto _again
3668  	tr79:
3669  		m.cs = 68
3670  		goto _again
3671  	tr80:
3672  		m.cs = 69
3673  		goto f14
3674  	tr215:
3675  		m.cs = 70
3676  		goto f35
3677  	tr217:
3678  		m.cs = 71
3679  		goto _again
3680  	tr85:
3681  		m.cs = 71
3682  		goto f18
3683  	tr87:
3684  		m.cs = 72
3685  		goto _again
3686  	tr88:
3687  		m.cs = 72
3688  		goto f9
3689  	tr76:
3690  		m.cs = 73
3691  		goto f4
3692  	tr91:
3693  		m.cs = 74
3694  		goto _again
3695  	tr92:
3696  		m.cs = 75
3697  		goto _again
3698  	tr93:
3699  		m.cs = 76
3700  		goto _again
3701  	tr77:
3702  		m.cs = 77
3703  		goto f4
3704  	tr94:
3705  		m.cs = 78
3706  		goto _again
3707  	tr95:
3708  		m.cs = 79
3709  		goto _again
3710  	tr96:
3711  		m.cs = 80
3712  		goto _again
3713  	tr97:
3714  		m.cs = 81
3715  		goto _again
3716  	tr98:
3717  		m.cs = 82
3718  		goto _again
3719  	tr99:
3720  		m.cs = 84
3721  		goto f1
3722  	tr100:
3723  		m.cs = 85
3724  		goto _again
3725  	tr101:
3726  		m.cs = 86
3727  		goto _again
3728  	tr102:
3729  		m.cs = 87
3730  		goto f2
3731  	tr104:
3732  		m.cs = 88
3733  		goto f4
3734  	tr107:
3735  		m.cs = 89
3736  		goto _again
3737  	tr109:
3738  		m.cs = 90
3739  		goto _again
3740  	tr111:
3741  		m.cs = 91
3742  		goto _again
3743  	tr113:
3744  		m.cs = 92
3745  		goto _again
3746  	tr115:
3747  		m.cs = 93
3748  		goto _again
3749  	tr117:
3750  		m.cs = 94
3751  		goto _again
3752  	tr119:
3753  		m.cs = 95
3754  		goto _again
3755  	tr121:
3756  		m.cs = 96
3757  		goto _again
3758  	tr123:
3759  		m.cs = 97
3760  		goto _again
3761  	tr125:
3762  		m.cs = 98
3763  		goto _again
3764  	tr127:
3765  		m.cs = 99
3766  		goto _again
3767  	tr129:
3768  		m.cs = 100
3769  		goto _again
3770  	tr131:
3771  		m.cs = 101
3772  		goto _again
3773  	tr133:
3774  		m.cs = 102
3775  		goto _again
3776  	tr135:
3777  		m.cs = 103
3778  		goto _again
3779  	tr137:
3780  		m.cs = 104
3781  		goto _again
3782  	tr139:
3783  		m.cs = 105
3784  		goto _again
3785  	tr141:
3786  		m.cs = 106
3787  		goto _again
3788  	tr143:
3789  		m.cs = 107
3790  		goto _again
3791  	tr145:
3792  		m.cs = 108
3793  		goto _again
3794  	tr147:
3795  		m.cs = 109
3796  		goto _again
3797  	tr149:
3798  		m.cs = 110
3799  		goto _again
3800  	tr151:
3801  		m.cs = 111
3802  		goto _again
3803  	tr153:
3804  		m.cs = 112
3805  		goto _again
3806  	tr155:
3807  		m.cs = 113
3808  		goto _again
3809  	tr157:
3810  		m.cs = 114
3811  		goto _again
3812  	tr159:
3813  		m.cs = 115
3814  		goto _again
3815  	tr161:
3816  		m.cs = 116
3817  		goto _again
3818  	tr163:
3819  		m.cs = 117
3820  		goto _again
3821  	tr165:
3822  		m.cs = 118
3823  		goto _again
3824  	tr167:
3825  		m.cs = 119
3826  		goto _again
3827  	tr168:
3828  		m.cs = 120
3829  		goto f6
3830  	tr225:
3831  		m.cs = 121
3832  		goto _again
3833  	tr223:
3834  		m.cs = 121
3835  		goto f4
3836  	tr173:
3837  		m.cs = 122
3838  		goto _again
3839  	tr174:
3840  		m.cs = 122
3841  		goto f9
3842  	tr220:
3843  		m.cs = 123
3844  		goto _again
3845  	tr171:
3846  		m.cs = 123
3847  		goto f4
3848  	tr178:
3849  		m.cs = 124
3850  		goto _again
3851  	tr179:
3852  		m.cs = 124
3853  		goto f9
3854  	tr221:
3855  		m.cs = 125
3856  		goto f38
3857  	tr182:
3858  		m.cs = 126
3859  		goto _again
3860  	tr228:
3861  		m.cs = 127
3862  		goto _again
3863  	tr187:
3864  		m.cs = 127
3865  		goto f26
3866  	tr234:
3867  		m.cs = 127
3868  		goto f44
3869  	tr190:
3870  		m.cs = 128
3871  		goto _again
3872  	tr191:
3873  		m.cs = 128
3874  		goto f9
3875  	tr240:
3876  		m.cs = 129
3877  		goto _again
3878  	tr205:
3879  		m.cs = 129
3880  		goto f31
3881  	tr245:
3882  		m.cs = 129
3883  		goto f50
3884  	tr195:
3885  		m.cs = 130
3886  		goto _again
3887  	tr196:
3888  		m.cs = 130
3889  		goto f9
3890  	tr237:
3891  		m.cs = 131
3892  		goto f31
3893  	tr200:
3894  		m.cs = 132
3895  		goto _again
3896  	tr201:
3897  		m.cs = 132
3898  		goto f9
3899  	tr188:
3900  		m.cs = 133
3901  		goto f26
3902  	tr247:
3903  		m.cs = 134
3904  		goto f45
3905  	tr184:
3906  		m.cs = 135
3907  		goto _again
3908  	tr206:
3909  		m.cs = 136
3910  		goto f31
3911  	tr248:
3912  		m.cs = 136
3913  		goto f50
3914  	tr166:
3915  		m.cs = 137
3916  		goto _again
3917  	tr164:
3918  		m.cs = 138
3919  		goto _again
3920  	tr162:
3921  		m.cs = 139
3922  		goto _again
3923  	tr160:
3924  		m.cs = 140
3925  		goto _again
3926  	tr158:
3927  		m.cs = 141
3928  		goto _again
3929  	tr156:
3930  		m.cs = 142
3931  		goto _again
3932  	tr154:
3933  		m.cs = 143
3934  		goto _again
3935  	tr152:
3936  		m.cs = 144
3937  		goto _again
3938  	tr150:
3939  		m.cs = 145
3940  		goto _again
3941  	tr148:
3942  		m.cs = 146
3943  		goto _again
3944  	tr146:
3945  		m.cs = 147
3946  		goto _again
3947  	tr144:
3948  		m.cs = 148
3949  		goto _again
3950  	tr142:
3951  		m.cs = 149
3952  		goto _again
3953  	tr140:
3954  		m.cs = 150
3955  		goto _again
3956  	tr138:
3957  		m.cs = 151
3958  		goto _again
3959  	tr136:
3960  		m.cs = 152
3961  		goto _again
3962  	tr134:
3963  		m.cs = 153
3964  		goto _again
3965  	tr132:
3966  		m.cs = 154
3967  		goto _again
3968  	tr130:
3969  		m.cs = 155
3970  		goto _again
3971  	tr128:
3972  		m.cs = 156
3973  		goto _again
3974  	tr126:
3975  		m.cs = 157
3976  		goto _again
3977  	tr124:
3978  		m.cs = 158
3979  		goto _again
3980  	tr122:
3981  		m.cs = 159
3982  		goto _again
3983  	tr120:
3984  		m.cs = 160
3985  		goto _again
3986  	tr118:
3987  		m.cs = 161
3988  		goto _again
3989  	tr116:
3990  		m.cs = 162
3991  		goto _again
3992  	tr114:
3993  		m.cs = 163
3994  		goto _again
3995  	tr112:
3996  		m.cs = 164
3997  		goto _again
3998  	tr110:
3999  		m.cs = 165
4000  		goto _again
4001  	tr108:
4002  		m.cs = 166
4003  		goto _again
4004  	tr105:
4005  		m.cs = 167
4006  		goto f1
4007  	tr208:
4008  		m.cs = 168
4009  		goto _again
4010  	tr209:
4011  		m.cs = 169
4012  		goto _again
4013  	tr210:
4014  		m.cs = 170
4015  		goto f2
4016  	tr211:
4017  		m.cs = 171
4018  		goto _again
4019  	tr212:
4020  		m.cs = 172
4021  		goto _again
4022  	tr42:
4023  		m.cs = 172
4024  		goto f4
4025  	tr47:
4026  		m.cs = 173
4027  		goto _again
4028  	tr48:
4029  		m.cs = 173
4030  		goto f9
4031  	tr214:
4032  		m.cs = 174
4033  		goto _again
4034  	tr82:
4035  		m.cs = 174
4036  		goto f16
4037  	tr216:
4038  		m.cs = 175
4039  		goto _again
4040  	tr84:
4041  		m.cs = 175
4042  		goto f18
4043  	tr89:
4044  		m.cs = 176
4045  		goto _again
4046  	tr90:
4047  		m.cs = 176
4048  		goto f9
4049  	tr218:
4050  		m.cs = 177
4051  		goto _again
4052  	tr170:
4053  		m.cs = 177
4054  		goto f4
4055  	tr219:
4056  		m.cs = 178
4057  		goto f38
4058  	tr227:
4059  		m.cs = 178
4060  		goto f42
4061  	tr233:
4062  		m.cs = 178
4063  		goto f45
4064  	tr239:
4065  		m.cs = 178
4066  		goto f48
4067  	tr244:
4068  		m.cs = 178
4069  		goto f51
4070  	tr224:
4071  		m.cs = 179
4072  		goto _again
4073  	tr222:
4074  		m.cs = 179
4075  		goto f4
4076  	tr175:
4077  		m.cs = 180
4078  		goto _again
4079  	tr176:
4080  		m.cs = 180
4081  		goto f9
4082  	tr180:
4083  		m.cs = 181
4084  		goto _again
4085  	tr181:
4086  		m.cs = 181
4087  		goto f9
4088  	tr226:
4089  		m.cs = 182
4090  		goto _again
4091  	tr186:
4092  		m.cs = 182
4093  		goto f26
4094  	tr232:
4095  		m.cs = 182
4096  		goto f44
4097  	tr192:
4098  		m.cs = 183
4099  		goto _again
4100  	tr193:
4101  		m.cs = 183
4102  		goto f9
4103  	tr229:
4104  		m.cs = 184
4105  		goto f42
4106  	tr235:
4107  		m.cs = 184
4108  		goto f45
4109  	tr230:
4110  		m.cs = 185
4111  		goto _again
4112  	tr231:
4113  		m.cs = 186
4114  		goto _again
4115  	tr238:
4116  		m.cs = 187
4117  		goto _again
4118  	tr204:
4119  		m.cs = 187
4120  		goto f31
4121  	tr243:
4122  		m.cs = 187
4123  		goto f50
4124  	tr197:
4125  		m.cs = 188
4126  		goto _again
4127  	tr198:
4128  		m.cs = 188
4129  		goto f9
4130  	tr241:
4131  		m.cs = 189
4132  		goto _again
4133  	tr246:
4134  		m.cs = 189
4135  		goto f50
4136  	tr242:
4137  		m.cs = 190
4138  		goto _again
4139  	tr202:
4140  		m.cs = 191
4141  		goto _again
4142  	tr207:
4143  		m.cs = 192
4144  		goto _again
4145  	tr249:
4146  		m.cs = 193
4147  		goto _again
4148  
4149  	f4:
4150  
4151  		m.pb = m.p
4152  
4153  		goto _again
4154  	f9:
4155  
4156  		// List of positions in the buffer to later lowercase
4157  		output.tolower = append(output.tolower, m.p-m.pb)
4158  
4159  		goto _again
4160  	f2:
4161  
4162  		output.prefix = string(m.text())
4163  
4164  		goto _again
4165  	f6:
4166  
4167  		output.ID = string(m.text())
4168  
4169  		goto _again
4170  	f38:
4171  
4172  		output.SS = string(m.text())
4173  		// Iterate upper letters lowering them
4174  		for _, i := range output.tolower {
4175  			m.data[m.pb+i] = m.data[m.pb+i] + 32
4176  		}
4177  		output.norm = string(m.text())
4178  		// Revert the buffer to the original
4179  		for _, i := range output.tolower {
4180  			m.data[m.pb+i] = m.data[m.pb+i] - 32
4181  		}
4182  
4183  		goto _again
4184  	f0:
4185  
4186  		m.err = fmt.Errorf(errPrefix, m.p)
4187  		(m.p)--
4188  
4189  		m.cs = 193
4190  		goto _again
4191  
4192  		goto _again
4193  	f5:
4194  
4195  		m.err = fmt.Errorf(errIdentifier, m.p)
4196  		(m.p)--
4197  
4198  		m.cs = 193
4199  		goto _again
4200  
4201  		goto _again
4202  	f7:
4203  
4204  		m.err = fmt.Errorf(errSpecificString, m.p)
4205  		(m.p)--
4206  
4207  		m.cs = 193
4208  		goto _again
4209  
4210  		goto _again
4211  	f23:
4212  
4213  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4214  			m.err = fmt.Errorf(errHex, m.p)
4215  			(m.p)--
4216  
4217  			m.cs = 193
4218  			goto _again
4219  
4220  		}
4221  
4222  		goto _again
4223  	f11:
4224  
4225  		m.err = fmt.Errorf(errSCIMNamespace, m.p)
4226  		(m.p)--
4227  
4228  		m.cs = 193
4229  		goto _again
4230  
4231  		goto _again
4232  	f13:
4233  
4234  		m.err = fmt.Errorf(errSCIMType, m.p)
4235  		(m.p)--
4236  
4237  		m.cs = 193
4238  		goto _again
4239  
4240  		goto _again
4241  	f15:
4242  
4243  		m.err = fmt.Errorf(errSCIMName, m.p)
4244  		(m.p)--
4245  
4246  		m.cs = 193
4247  		goto _again
4248  
4249  		goto _again
4250  	f17:
4251  
4252  		if m.p == m.pe {
4253  			m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
4254  		} else {
4255  			m.err = fmt.Errorf(errSCIMOther, m.p)
4256  		}
4257  		(m.p)--
4258  
4259  		m.cs = 193
4260  		goto _again
4261  
4262  		goto _again
4263  	f14:
4264  
4265  		output.scim.Type = scimschema.TypeFromString(string(m.text()))
4266  
4267  		goto _again
4268  	f16:
4269  
4270  		output.scim.pos = m.p
4271  
4272  		goto _again
4273  	f35:
4274  
4275  		output.scim.Name = string(m.data[output.scim.pos:m.p])
4276  
4277  		goto _again
4278  	f18:
4279  
4280  		output.scim.pos = m.p
4281  
4282  		goto _again
4283  	f22:
4284  
4285  		m.err = fmt.Errorf(err8141SpecificString, m.p)
4286  		(m.p)--
4287  
4288  		m.cs = 193
4289  		goto _again
4290  
4291  		goto _again
4292  	f21:
4293  
4294  		m.err = fmt.Errorf(err8141Identifier, m.p)
4295  		(m.p)--
4296  
4297  		m.cs = 193
4298  		goto _again
4299  
4300  		goto _again
4301  	f42:
4302  
4303  		output.rComponent = string(m.text())
4304  
4305  		goto _again
4306  	f48:
4307  
4308  		output.qComponent = string(m.text())
4309  
4310  		goto _again
4311  	f44:
4312  
4313  		if output.rStart {
4314  			m.err = fmt.Errorf(err8141RComponentStart, m.p)
4315  			(m.p)--
4316  
4317  			m.cs = 193
4318  			goto _again
4319  
4320  		}
4321  		output.rStart = true
4322  
4323  		goto _again
4324  	f50:
4325  
4326  		if output.qStart {
4327  			m.err = fmt.Errorf(err8141QComponentStart, m.p)
4328  			(m.p)--
4329  
4330  			m.cs = 193
4331  			goto _again
4332  
4333  		}
4334  		output.qStart = true
4335  
4336  		goto _again
4337  	f25:
4338  
4339  		m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4340  		(m.p)--
4341  
4342  		m.cs = 193
4343  		goto _again
4344  
4345  		goto _again
4346  	f30:
4347  
4348  		m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4349  		(m.p)--
4350  
4351  		m.cs = 193
4352  		goto _again
4353  
4354  		goto _again
4355  	f1:
4356  
4357  		m.pb = m.p
4358  
4359  		if m.parsingMode != RFC8141Only {
4360  			// Throw an error when:
4361  			// - we are entering here matching the the prefix in the namespace identifier part
4362  			// - looking ahead (3 chars) we find a colon
4363  			if pos := m.p + 3; pos < m.pe && m.data[pos] == 58 && output.prefix != "" {
4364  				m.err = fmt.Errorf(errNoUrnWithinID, pos)
4365  				(m.p)--
4366  
4367  				m.cs = 193
4368  				goto _again
4369  
4370  			}
4371  		}
4372  
4373  		goto _again
4374  	f12:
4375  
4376  		output.ID = string(m.text())
4377  
4378  		output.scim = &SCIM{}
4379  
4380  		goto _again
4381  	f3:
4382  
4383  		m.err = fmt.Errorf(errIdentifier, m.p)
4384  		(m.p)--
4385  
4386  		m.cs = 193
4387  		goto _again
4388  
4389  		m.err = fmt.Errorf(errPrefix, m.p)
4390  		(m.p)--
4391  
4392  		m.cs = 193
4393  		goto _again
4394  
4395  		goto _again
4396  	f10:
4397  
4398  		m.err = fmt.Errorf(errIdentifier, m.p)
4399  		(m.p)--
4400  
4401  		m.cs = 193
4402  		goto _again
4403  
4404  		m.err = fmt.Errorf(errNoUrnWithinID, m.p)
4405  		(m.p)--
4406  
4407  		m.cs = 193
4408  		goto _again
4409  
4410  		goto _again
4411  	f8:
4412  
4413  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4414  			m.err = fmt.Errorf(errHex, m.p)
4415  			(m.p)--
4416  
4417  			m.cs = 193
4418  			goto _again
4419  
4420  		}
4421  
4422  		m.err = fmt.Errorf(errSpecificString, m.p)
4423  		(m.p)--
4424  
4425  		m.cs = 193
4426  		goto _again
4427  
4428  		goto _again
4429  	f19:
4430  
4431  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4432  			m.err = fmt.Errorf(errHex, m.p)
4433  			(m.p)--
4434  
4435  			m.cs = 193
4436  			goto _again
4437  
4438  		}
4439  
4440  		if m.p == m.pe {
4441  			m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
4442  		} else {
4443  			m.err = fmt.Errorf(errSCIMOther, m.p)
4444  		}
4445  		(m.p)--
4446  
4447  		m.cs = 193
4448  		goto _again
4449  
4450  		goto _again
4451  	f24:
4452  
4453  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4454  			m.err = fmt.Errorf(errHex, m.p)
4455  			(m.p)--
4456  
4457  			m.cs = 193
4458  			goto _again
4459  
4460  		}
4461  
4462  		m.err = fmt.Errorf(err8141SpecificString, m.p)
4463  		(m.p)--
4464  
4465  		m.cs = 193
4466  		goto _again
4467  
4468  		goto _again
4469  	f27:
4470  
4471  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4472  			m.err = fmt.Errorf(errHex, m.p)
4473  			(m.p)--
4474  
4475  			m.cs = 193
4476  			goto _again
4477  
4478  		}
4479  
4480  		m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4481  		(m.p)--
4482  
4483  		m.cs = 193
4484  		goto _again
4485  
4486  		goto _again
4487  	f28:
4488  
4489  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4490  			m.err = fmt.Errorf(errHex, m.p)
4491  			(m.p)--
4492  
4493  			m.cs = 193
4494  			goto _again
4495  
4496  		}
4497  
4498  		m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4499  		(m.p)--
4500  
4501  		m.cs = 193
4502  		goto _again
4503  
4504  		goto _again
4505  	f20:
4506  
4507  		m.err = fmt.Errorf(err8141Identifier, m.p)
4508  		(m.p)--
4509  
4510  		m.cs = 193
4511  		goto _again
4512  
4513  		m.err = fmt.Errorf(errPrefix, m.p)
4514  		(m.p)--
4515  
4516  		m.cs = 193
4517  		goto _again
4518  
4519  		goto _again
4520  	f26:
4521  
4522  		if output.rStart {
4523  			m.err = fmt.Errorf(err8141RComponentStart, m.p)
4524  			(m.p)--
4525  
4526  			m.cs = 193
4527  			goto _again
4528  
4529  		}
4530  		output.rStart = true
4531  
4532  		m.pb = m.p
4533  
4534  		goto _again
4535  	f45:
4536  
4537  		if output.rStart {
4538  			m.err = fmt.Errorf(err8141RComponentStart, m.p)
4539  			(m.p)--
4540  
4541  			m.cs = 193
4542  			goto _again
4543  
4544  		}
4545  		output.rStart = true
4546  
4547  		output.rComponent = string(m.text())
4548  
4549  		goto _again
4550  	f31:
4551  
4552  		if output.qStart {
4553  			m.err = fmt.Errorf(err8141QComponentStart, m.p)
4554  			(m.p)--
4555  
4556  			m.cs = 193
4557  			goto _again
4558  
4559  		}
4560  		output.qStart = true
4561  
4562  		m.pb = m.p
4563  
4564  		goto _again
4565  	f51:
4566  
4567  		if output.qStart {
4568  			m.err = fmt.Errorf(err8141QComponentStart, m.p)
4569  			(m.p)--
4570  
4571  			m.cs = 193
4572  			goto _again
4573  
4574  		}
4575  		output.qStart = true
4576  
4577  		output.qComponent = string(m.text())
4578  
4579  		goto _again
4580  	f46:
4581  
4582  		m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4583  		(m.p)--
4584  
4585  		m.cs = 193
4586  		goto _again
4587  
4588  		m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4589  		(m.p)--
4590  
4591  		m.cs = 193
4592  		goto _again
4593  
4594  		goto _again
4595  	f29:
4596  
4597  		if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4598  			m.err = fmt.Errorf(errHex, m.p)
4599  			(m.p)--
4600  
4601  			m.cs = 193
4602  			goto _again
4603  
4604  		}
4605  
4606  		m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4607  		(m.p)--
4608  
4609  		m.cs = 193
4610  		goto _again
4611  
4612  		m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4613  		(m.p)--
4614  
4615  		m.cs = 193
4616  		goto _again
4617  
4618  		goto _again
4619  
4620  	_again:
4621  		switch _toStateActions[m.cs] {
4622  		case 33:
4623  
4624  			(m.p)--
4625  
4626  			m.err = fmt.Errorf(err8141InformalID, m.p)
4627  			m.cs = 193
4628  			goto _again
4629  		}
4630  
4631  		if m.cs == 0 {
4632  			goto _out
4633  		}
4634  		if (m.p)++; (m.p) != (m.pe) {
4635  			goto _resume
4636  		}
4637  	_testEof:
4638  		{
4639  		}
4640  		if (m.p) == (m.eof) {
4641  			switch _eofActions[m.cs] {
4642  			case 1:
4643  
4644  				m.err = fmt.Errorf(errPrefix, m.p)
4645  				(m.p)--
4646  
4647  				m.cs = 193
4648  				goto _again
4649  
4650  			case 6:
4651  
4652  				m.err = fmt.Errorf(errIdentifier, m.p)
4653  				(m.p)--
4654  
4655  				m.cs = 193
4656  				goto _again
4657  
4658  			case 8:
4659  
4660  				m.err = fmt.Errorf(errSpecificString, m.p)
4661  				(m.p)--
4662  
4663  				m.cs = 193
4664  				goto _again
4665  
4666  			case 24:
4667  
4668  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4669  					m.err = fmt.Errorf(errHex, m.p)
4670  					(m.p)--
4671  
4672  					m.cs = 193
4673  					goto _again
4674  
4675  				}
4676  
4677  			case 12:
4678  
4679  				m.err = fmt.Errorf(errSCIMNamespace, m.p)
4680  				(m.p)--
4681  
4682  				m.cs = 193
4683  				goto _again
4684  
4685  			case 14:
4686  
4687  				m.err = fmt.Errorf(errSCIMType, m.p)
4688  				(m.p)--
4689  
4690  				m.cs = 193
4691  				goto _again
4692  
4693  			case 16:
4694  
4695  				m.err = fmt.Errorf(errSCIMName, m.p)
4696  				(m.p)--
4697  
4698  				m.cs = 193
4699  				goto _again
4700  
4701  			case 18:
4702  
4703  				if m.p == m.pe {
4704  					m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
4705  				} else {
4706  					m.err = fmt.Errorf(errSCIMOther, m.p)
4707  				}
4708  				(m.p)--
4709  
4710  				m.cs = 193
4711  				goto _again
4712  
4713  			case 23:
4714  
4715  				m.err = fmt.Errorf(err8141SpecificString, m.p)
4716  				(m.p)--
4717  
4718  				m.cs = 193
4719  				goto _again
4720  
4721  			case 22:
4722  
4723  				m.err = fmt.Errorf(err8141Identifier, m.p)
4724  				(m.p)--
4725  
4726  				m.cs = 193
4727  				goto _again
4728  
4729  			case 26:
4730  
4731  				m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4732  				(m.p)--
4733  
4734  				m.cs = 193
4735  				goto _again
4736  
4737  			case 31:
4738  
4739  				m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4740  				(m.p)--
4741  
4742  				m.cs = 193
4743  				goto _again
4744  
4745  			case 34:
4746  
4747  				output.SS = string(m.text())
4748  				// Iterate upper letters lowering them
4749  				for _, i := range output.tolower {
4750  					m.data[m.pb+i] = m.data[m.pb+i] + 32
4751  				}
4752  				output.norm = string(m.text())
4753  				// Revert the buffer to the original
4754  				for _, i := range output.tolower {
4755  					m.data[m.pb+i] = m.data[m.pb+i] - 32
4756  				}
4757  
4758  				output.kind = RFC2141
4759  
4760  			case 38:
4761  
4762  				output.SS = string(m.text())
4763  				// Iterate upper letters lowering them
4764  				for _, i := range output.tolower {
4765  					m.data[m.pb+i] = m.data[m.pb+i] + 32
4766  				}
4767  				output.norm = string(m.text())
4768  				// Revert the buffer to the original
4769  				for _, i := range output.tolower {
4770  					m.data[m.pb+i] = m.data[m.pb+i] - 32
4771  				}
4772  
4773  				output.kind = RFC8141
4774  
4775  			case 4:
4776  
4777  				m.err = fmt.Errorf(errIdentifier, m.p)
4778  				(m.p)--
4779  
4780  				m.cs = 193
4781  				goto _again
4782  
4783  				m.err = fmt.Errorf(errPrefix, m.p)
4784  				(m.p)--
4785  
4786  				m.cs = 193
4787  				goto _again
4788  
4789  			case 11:
4790  
4791  				m.err = fmt.Errorf(errIdentifier, m.p)
4792  				(m.p)--
4793  
4794  				m.cs = 193
4795  				goto _again
4796  
4797  				m.err = fmt.Errorf(errNoUrnWithinID, m.p)
4798  				(m.p)--
4799  
4800  				m.cs = 193
4801  				goto _again
4802  
4803  			case 9:
4804  
4805  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4806  					m.err = fmt.Errorf(errHex, m.p)
4807  					(m.p)--
4808  
4809  					m.cs = 193
4810  					goto _again
4811  
4812  				}
4813  
4814  				m.err = fmt.Errorf(errSpecificString, m.p)
4815  				(m.p)--
4816  
4817  				m.cs = 193
4818  				goto _again
4819  
4820  			case 20:
4821  
4822  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4823  					m.err = fmt.Errorf(errHex, m.p)
4824  					(m.p)--
4825  
4826  					m.cs = 193
4827  					goto _again
4828  
4829  				}
4830  
4831  				if m.p == m.pe {
4832  					m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
4833  				} else {
4834  					m.err = fmt.Errorf(errSCIMOther, m.p)
4835  				}
4836  				(m.p)--
4837  
4838  				m.cs = 193
4839  				goto _again
4840  
4841  			case 25:
4842  
4843  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4844  					m.err = fmt.Errorf(errHex, m.p)
4845  					(m.p)--
4846  
4847  					m.cs = 193
4848  					goto _again
4849  
4850  				}
4851  
4852  				m.err = fmt.Errorf(err8141SpecificString, m.p)
4853  				(m.p)--
4854  
4855  				m.cs = 193
4856  				goto _again
4857  
4858  			case 28:
4859  
4860  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4861  					m.err = fmt.Errorf(errHex, m.p)
4862  					(m.p)--
4863  
4864  					m.cs = 193
4865  					goto _again
4866  
4867  				}
4868  
4869  				m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4870  				(m.p)--
4871  
4872  				m.cs = 193
4873  				goto _again
4874  
4875  			case 29:
4876  
4877  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4878  					m.err = fmt.Errorf(errHex, m.p)
4879  					(m.p)--
4880  
4881  					m.cs = 193
4882  					goto _again
4883  
4884  				}
4885  
4886  				m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4887  				(m.p)--
4888  
4889  				m.cs = 193
4890  				goto _again
4891  
4892  			case 21:
4893  
4894  				m.err = fmt.Errorf(err8141Identifier, m.p)
4895  				(m.p)--
4896  
4897  				m.cs = 193
4898  				goto _again
4899  
4900  				m.err = fmt.Errorf(errPrefix, m.p)
4901  				(m.p)--
4902  
4903  				m.cs = 193
4904  				goto _again
4905  
4906  			case 42:
4907  
4908  				output.rComponent = string(m.text())
4909  
4910  				output.kind = RFC8141
4911  
4912  			case 48:
4913  
4914  				output.qComponent = string(m.text())
4915  
4916  				output.kind = RFC8141
4917  
4918  			case 41:
4919  
4920  				output.fComponent = string(m.text())
4921  
4922  				output.kind = RFC8141
4923  
4924  			case 40:
4925  
4926  				m.pb = m.p
4927  
4928  				output.fComponent = string(m.text())
4929  
4930  				output.kind = RFC8141
4931  
4932  			case 30:
4933  
4934  				if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
4935  					m.err = fmt.Errorf(errHex, m.p)
4936  					(m.p)--
4937  
4938  					m.cs = 193
4939  					goto _again
4940  
4941  				}
4942  
4943  				m.err = fmt.Errorf(err8141MalformedRComp, m.p)
4944  				(m.p)--
4945  
4946  				m.cs = 193
4947  				goto _again
4948  
4949  				m.err = fmt.Errorf(err8141MalformedQComp, m.p)
4950  				(m.p)--
4951  
4952  				m.cs = 193
4953  				goto _again
4954  
4955  			case 35:
4956  
4957  				output.scim.Name = string(m.data[output.scim.pos:m.p])
4958  
4959  				output.SS = string(m.text())
4960  				// Iterate upper letters lowering them
4961  				for _, i := range output.tolower {
4962  					m.data[m.pb+i] = m.data[m.pb+i] + 32
4963  				}
4964  				output.norm = string(m.text())
4965  				// Revert the buffer to the original
4966  				for _, i := range output.tolower {
4967  					m.data[m.pb+i] = m.data[m.pb+i] - 32
4968  				}
4969  
4970  				output.kind = RFC7643
4971  
4972  			case 37:
4973  
4974  				output.scim.Other = string(m.data[output.scim.pos:m.p])
4975  
4976  				output.SS = string(m.text())
4977  				// Iterate upper letters lowering them
4978  				for _, i := range output.tolower {
4979  					m.data[m.pb+i] = m.data[m.pb+i] + 32
4980  				}
4981  				output.norm = string(m.text())
4982  				// Revert the buffer to the original
4983  				for _, i := range output.tolower {
4984  					m.data[m.pb+i] = m.data[m.pb+i] - 32
4985  				}
4986  
4987  				output.kind = RFC7643
4988  
4989  			case 44:
4990  
4991  				if output.rStart {
4992  					m.err = fmt.Errorf(err8141RComponentStart, m.p)
4993  					(m.p)--
4994  
4995  					m.cs = 193
4996  					goto _again
4997  
4998  				}
4999  				output.rStart = true
5000  
5001  				output.rComponent = string(m.text())
5002  
5003  				output.kind = RFC8141
5004  
5005  			case 50:
5006  
5007  				if output.qStart {
5008  					m.err = fmt.Errorf(err8141QComponentStart, m.p)
5009  					(m.p)--
5010  
5011  					m.cs = 193
5012  					goto _again
5013  
5014  				}
5015  				output.qStart = true
5016  
5017  				output.qComponent = string(m.text())
5018  
5019  				output.kind = RFC8141
5020  			}
5021  		}
5022  
5023  	_out:
5024  		{
5025  		}
5026  	}
5027  
5028  	if m.cs < firstFinal || m.cs == enFail {
5029  		return nil, m.err
5030  	}
5031  
5032  	return output, nil
5033  }
5034  
5035  func (m *machine) WithParsingMode(x ParsingMode) {
5036  	m.parsingMode = x
5037  	switch m.parsingMode {
5038  	case RFC2141Only:
5039  		m.startParsingAt = enMain
5040  	case RFC8141Only:
5041  		m.startParsingAt = enRfc8141Only
5042  	case RFC7643Only:
5043  		m.startParsingAt = enScimOnly
5044  	}
5045  	m.parsingModeSet = true
5046  }
5047