0
0
mirror of https://github.com/crazy-max/diun.git synced 2024-12-22 19:38:28 +00:00
crazy-max_diun/vendor/github.com/leodido/go-urn/machine.go
2024-12-14 22:30:21 +01:00

5047 lines
83 KiB
Go

package urn
import (
"fmt"
scimschema "github.com/leodido/go-urn/scim/schema"
)
var (
errPrefix = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]"
errIdentifier = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its beginning) [col %d]"
errSpecificString = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]"
errNoUrnWithinID = "expecting the identifier to not contain the \"urn\" reserved string [col %d]"
errHex = "expecting the percent encoded chars to be well-formed (%%alnum{2}) [col %d]"
errSCIMNamespace = "expecing the SCIM namespace identifier (ietf:params:scim) [col %d]"
errSCIMType = "expecting a correct SCIM type (schemas, api, param) [col %d]"
errSCIMName = "expecting one or more alnum char in the SCIM name part [col %d]"
errSCIMOther = "expecting a well-formed other SCIM part [col %d]"
errSCIMOtherIncomplete = "expecting a not empty SCIM other part after colon [col %d]"
err8141InformalID = "informal URN namespace must be in the form urn-[1-9][0-9] [col %d]"
err8141SpecificString = "expecting the specific string to contain alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] not in first position) chars [col %d]"
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]"
err8141RComponentStart = "expecting only one r-component (starting with the ?+ sequence) [col %d]"
err8141QComponentStart = "expecting only one q-component (starting with the ?= sequence) [col %d]"
err8141MalformedRComp = "expecting a non-empty r-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]"
err8141MalformedQComp = "expecting a non-empty q-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]"
)
var _toStateActions []byte = []byte{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 33, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0,
}
var _eofActions []byte = []byte{
0, 1, 1, 1, 1, 4, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 8, 9,
9, 4, 4, 11, 1, 1, 1, 1,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 14, 14, 14, 14, 16, 18, 20,
20, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 1, 1, 1, 1, 21,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
23, 24, 24, 25, 25, 0, 26, 28,
28, 29, 29, 30, 30, 26, 26, 31,
31, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 21,
21, 22, 22, 22, 34, 34, 35, 37,
37, 38, 40, 41, 41, 38, 42, 42,
42, 44, 42, 48, 48, 48, 50, 44,
50, 0,
}
const start int = 1
const firstFinal int = 172
const enScimOnly int = 44
const enRfc8141Only int = 83
const enFail int = 193
const enMain int = 1
// Machine is the interface representing the FSM
type Machine interface {
Error() error
Parse(input []byte) (*URN, error)
WithParsingMode(ParsingMode)
}
type machine struct {
data []byte
cs int
p, pe, eof, pb int
err error
startParsingAt int
parsingMode ParsingMode
parsingModeSet bool
}
// NewMachine creates a new FSM able to parse RFC 2141 strings.
func NewMachine(options ...Option) Machine {
m := &machine{
parsingModeSet: false,
}
for _, o := range options {
o(m)
}
// Set default parsing mode
if !m.parsingModeSet {
m.WithParsingMode(DefaultParsingMode)
}
return m
}
// Err returns the error that occurred on the last call to Parse.
//
// If the result is nil, then the line was parsed successfully.
func (m *machine) Error() error {
return m.err
}
func (m *machine) text() []byte {
return m.data[m.pb:m.p]
}
// Parse parses the input byte array as a RFC 2141 or RFC7643 string.
func (m *machine) Parse(input []byte) (*URN, error) {
m.data = input
m.p = 0
m.pb = 0
m.pe = len(input)
m.eof = len(input)
m.err = nil
m.cs = m.startParsingAt
output := &URN{
tolower: []int{},
}
{
if (m.p) == (m.pe) {
goto _testEof
}
if m.cs == 0 {
goto _out
}
_resume:
switch m.cs {
case 1:
switch (m.data)[(m.p)] {
case 85:
goto tr1
case 117:
goto tr1
}
goto tr0
case 0:
goto _out
case 2:
switch (m.data)[(m.p)] {
case 82:
goto tr2
case 114:
goto tr2
}
goto tr0
case 3:
switch (m.data)[(m.p)] {
case 78:
goto tr3
case 110:
goto tr3
}
goto tr0
case 4:
if (m.data)[(m.p)] == 58 {
goto tr4
}
goto tr0
case 5:
switch (m.data)[(m.p)] {
case 85:
goto tr7
case 117:
goto tr7
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr6
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr6
}
default:
goto tr6
}
goto tr5
case 6:
switch (m.data)[(m.p)] {
case 45:
goto tr9
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr9
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr9
}
default:
goto tr9
}
goto tr8
case 7:
switch (m.data)[(m.p)] {
case 45:
goto tr11
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr11
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr11
}
default:
goto tr11
}
goto tr8
case 8:
switch (m.data)[(m.p)] {
case 45:
goto tr12
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr12
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr12
}
default:
goto tr12
}
goto tr8
case 9:
switch (m.data)[(m.p)] {
case 45:
goto tr13
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr13
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr13
}
default:
goto tr13
}
goto tr8
case 10:
switch (m.data)[(m.p)] {
case 45:
goto tr14
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr14
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr14
}
default:
goto tr14
}
goto tr8
case 11:
switch (m.data)[(m.p)] {
case 45:
goto tr15
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr15
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr15
}
default:
goto tr15
}
goto tr8
case 12:
switch (m.data)[(m.p)] {
case 45:
goto tr16
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr16
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr16
}
default:
goto tr16
}
goto tr8
case 13:
switch (m.data)[(m.p)] {
case 45:
goto tr17
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr17
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr17
}
default:
goto tr17
}
goto tr8
case 14:
switch (m.data)[(m.p)] {
case 45:
goto tr18
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr18
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr18
}
default:
goto tr18
}
goto tr8
case 15:
switch (m.data)[(m.p)] {
case 45:
goto tr19
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr19
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr19
}
default:
goto tr19
}
goto tr8
case 16:
switch (m.data)[(m.p)] {
case 45:
goto tr20
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr20
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr20
}
default:
goto tr20
}
goto tr8
case 17:
switch (m.data)[(m.p)] {
case 45:
goto tr21
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr21
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr21
}
default:
goto tr21
}
goto tr8
case 18:
switch (m.data)[(m.p)] {
case 45:
goto tr22
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr22
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr22
}
default:
goto tr22
}
goto tr8
case 19:
switch (m.data)[(m.p)] {
case 45:
goto tr23
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr23
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr23
}
default:
goto tr23
}
goto tr8
case 20:
switch (m.data)[(m.p)] {
case 45:
goto tr24
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr24
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr24
}
default:
goto tr24
}
goto tr8
case 21:
switch (m.data)[(m.p)] {
case 45:
goto tr25
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr25
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr25
}
default:
goto tr25
}
goto tr8
case 22:
switch (m.data)[(m.p)] {
case 45:
goto tr26
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr26
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr26
}
default:
goto tr26
}
goto tr8
case 23:
switch (m.data)[(m.p)] {
case 45:
goto tr27
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr27
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr27
}
default:
goto tr27
}
goto tr8
case 24:
switch (m.data)[(m.p)] {
case 45:
goto tr28
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr28
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr28
}
default:
goto tr28
}
goto tr8
case 25:
switch (m.data)[(m.p)] {
case 45:
goto tr29
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr29
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr29
}
default:
goto tr29
}
goto tr8
case 26:
switch (m.data)[(m.p)] {
case 45:
goto tr30
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr30
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr30
}
default:
goto tr30
}
goto tr8
case 27:
switch (m.data)[(m.p)] {
case 45:
goto tr31
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr31
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr31
}
default:
goto tr31
}
goto tr8
case 28:
switch (m.data)[(m.p)] {
case 45:
goto tr32
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr32
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr32
}
default:
goto tr32
}
goto tr8
case 29:
switch (m.data)[(m.p)] {
case 45:
goto tr33
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr33
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr33
}
default:
goto tr33
}
goto tr8
case 30:
switch (m.data)[(m.p)] {
case 45:
goto tr34
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr34
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr34
}
default:
goto tr34
}
goto tr8
case 31:
switch (m.data)[(m.p)] {
case 45:
goto tr35
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr35
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr35
}
default:
goto tr35
}
goto tr8
case 32:
switch (m.data)[(m.p)] {
case 45:
goto tr36
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr36
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr36
}
default:
goto tr36
}
goto tr8
case 33:
switch (m.data)[(m.p)] {
case 45:
goto tr37
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr37
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr37
}
default:
goto tr37
}
goto tr8
case 34:
switch (m.data)[(m.p)] {
case 45:
goto tr38
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr38
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr38
}
default:
goto tr38
}
goto tr8
case 35:
switch (m.data)[(m.p)] {
case 45:
goto tr39
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr39
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr39
}
default:
goto tr39
}
goto tr8
case 36:
switch (m.data)[(m.p)] {
case 45:
goto tr40
case 58:
goto tr10
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr40
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr40
}
default:
goto tr40
}
goto tr8
case 37:
if (m.data)[(m.p)] == 58 {
goto tr10
}
goto tr8
case 38:
switch (m.data)[(m.p)] {
case 33:
goto tr42
case 36:
goto tr42
case 37:
goto tr43
case 61:
goto tr42
case 95:
goto tr42
}
switch {
case (m.data)[(m.p)] < 48:
if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr42
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr42
}
case (m.data)[(m.p)] >= 64:
goto tr42
}
default:
goto tr42
}
goto tr41
case 172:
switch (m.data)[(m.p)] {
case 33:
goto tr212
case 36:
goto tr212
case 37:
goto tr213
case 61:
goto tr212
case 95:
goto tr212
}
switch {
case (m.data)[(m.p)] < 48:
if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr212
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr212
}
case (m.data)[(m.p)] >= 64:
goto tr212
}
default:
goto tr212
}
goto tr41
case 39:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr45
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr45
}
default:
goto tr46
}
goto tr44
case 40:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr47
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr47
}
default:
goto tr48
}
goto tr44
case 173:
switch (m.data)[(m.p)] {
case 33:
goto tr212
case 36:
goto tr212
case 37:
goto tr213
case 61:
goto tr212
case 95:
goto tr212
}
switch {
case (m.data)[(m.p)] < 48:
if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr212
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr212
}
case (m.data)[(m.p)] >= 64:
goto tr212
}
default:
goto tr212
}
goto tr44
case 41:
switch (m.data)[(m.p)] {
case 45:
goto tr9
case 58:
goto tr10
case 82:
goto tr49
case 114:
goto tr49
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr9
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr9
}
default:
goto tr9
}
goto tr5
case 42:
switch (m.data)[(m.p)] {
case 45:
goto tr11
case 58:
goto tr10
case 78:
goto tr50
case 110:
goto tr50
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr11
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr11
}
default:
goto tr11
}
goto tr5
case 43:
if (m.data)[(m.p)] == 45 {
goto tr12
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr12
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr12
}
default:
goto tr12
}
goto tr51
case 44:
switch (m.data)[(m.p)] {
case 85:
goto tr52
case 117:
goto tr52
}
goto tr0
case 45:
switch (m.data)[(m.p)] {
case 82:
goto tr53
case 114:
goto tr53
}
goto tr0
case 46:
switch (m.data)[(m.p)] {
case 78:
goto tr54
case 110:
goto tr54
}
goto tr0
case 47:
if (m.data)[(m.p)] == 58 {
goto tr55
}
goto tr0
case 48:
if (m.data)[(m.p)] == 105 {
goto tr57
}
goto tr56
case 49:
if (m.data)[(m.p)] == 101 {
goto tr58
}
goto tr56
case 50:
if (m.data)[(m.p)] == 116 {
goto tr59
}
goto tr56
case 51:
if (m.data)[(m.p)] == 102 {
goto tr60
}
goto tr56
case 52:
if (m.data)[(m.p)] == 58 {
goto tr61
}
goto tr56
case 53:
if (m.data)[(m.p)] == 112 {
goto tr62
}
goto tr56
case 54:
if (m.data)[(m.p)] == 97 {
goto tr63
}
goto tr56
case 55:
if (m.data)[(m.p)] == 114 {
goto tr64
}
goto tr56
case 56:
if (m.data)[(m.p)] == 97 {
goto tr65
}
goto tr56
case 57:
if (m.data)[(m.p)] == 109 {
goto tr66
}
goto tr56
case 58:
if (m.data)[(m.p)] == 115 {
goto tr67
}
goto tr56
case 59:
if (m.data)[(m.p)] == 58 {
goto tr68
}
goto tr56
case 60:
if (m.data)[(m.p)] == 115 {
goto tr69
}
goto tr56
case 61:
if (m.data)[(m.p)] == 99 {
goto tr70
}
goto tr56
case 62:
if (m.data)[(m.p)] == 105 {
goto tr71
}
goto tr56
case 63:
if (m.data)[(m.p)] == 109 {
goto tr72
}
goto tr56
case 64:
if (m.data)[(m.p)] == 58 {
goto tr73
}
goto tr56
case 65:
switch (m.data)[(m.p)] {
case 97:
goto tr75
case 112:
goto tr76
case 115:
goto tr77
}
goto tr74
case 66:
if (m.data)[(m.p)] == 112 {
goto tr78
}
goto tr74
case 67:
if (m.data)[(m.p)] == 105 {
goto tr79
}
goto tr74
case 68:
if (m.data)[(m.p)] == 58 {
goto tr80
}
goto tr74
case 69:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr82
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr82
}
default:
goto tr82
}
goto tr81
case 174:
if (m.data)[(m.p)] == 58 {
goto tr215
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr214
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr214
}
default:
goto tr214
}
goto tr81
case 70:
switch (m.data)[(m.p)] {
case 33:
goto tr84
case 36:
goto tr84
case 37:
goto tr85
case 61:
goto tr84
case 95:
goto tr84
}
switch {
case (m.data)[(m.p)] < 48:
if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr84
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr84
}
case (m.data)[(m.p)] >= 64:
goto tr84
}
default:
goto tr84
}
goto tr83
case 175:
switch (m.data)[(m.p)] {
case 33:
goto tr216
case 36:
goto tr216
case 37:
goto tr217
case 61:
goto tr216
case 95:
goto tr216
}
switch {
case (m.data)[(m.p)] < 48:
if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr216
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr216
}
case (m.data)[(m.p)] >= 64:
goto tr216
}
default:
goto tr216
}
goto tr83
case 71:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr87
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr87
}
default:
goto tr88
}
goto tr86
case 72:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr89
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr89
}
default:
goto tr90
}
goto tr86
case 176:
switch (m.data)[(m.p)] {
case 33:
goto tr216
case 36:
goto tr216
case 37:
goto tr217
case 61:
goto tr216
case 95:
goto tr216
}
switch {
case (m.data)[(m.p)] < 48:
if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr216
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr216
}
case (m.data)[(m.p)] >= 64:
goto tr216
}
default:
goto tr216
}
goto tr86
case 73:
if (m.data)[(m.p)] == 97 {
goto tr91
}
goto tr74
case 74:
if (m.data)[(m.p)] == 114 {
goto tr92
}
goto tr74
case 75:
if (m.data)[(m.p)] == 97 {
goto tr93
}
goto tr74
case 76:
if (m.data)[(m.p)] == 109 {
goto tr79
}
goto tr74
case 77:
if (m.data)[(m.p)] == 99 {
goto tr94
}
goto tr74
case 78:
if (m.data)[(m.p)] == 104 {
goto tr95
}
goto tr74
case 79:
if (m.data)[(m.p)] == 101 {
goto tr96
}
goto tr74
case 80:
if (m.data)[(m.p)] == 109 {
goto tr97
}
goto tr74
case 81:
if (m.data)[(m.p)] == 97 {
goto tr98
}
goto tr74
case 82:
if (m.data)[(m.p)] == 115 {
goto tr79
}
goto tr74
case 83:
switch (m.data)[(m.p)] {
case 85:
goto tr99
case 117:
goto tr99
}
goto tr0
case 84:
switch (m.data)[(m.p)] {
case 82:
goto tr100
case 114:
goto tr100
}
goto tr0
case 85:
switch (m.data)[(m.p)] {
case 78:
goto tr101
case 110:
goto tr101
}
goto tr0
case 86:
if (m.data)[(m.p)] == 58 {
goto tr102
}
goto tr0
case 87:
switch (m.data)[(m.p)] {
case 85:
goto tr105
case 117:
goto tr105
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr104
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr104
}
default:
goto tr104
}
goto tr103
case 88:
if (m.data)[(m.p)] == 45 {
goto tr107
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr108
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr108
}
default:
goto tr108
}
goto tr106
case 89:
if (m.data)[(m.p)] == 45 {
goto tr109
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr110
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr110
}
default:
goto tr110
}
goto tr106
case 90:
if (m.data)[(m.p)] == 45 {
goto tr111
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr112
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr112
}
default:
goto tr112
}
goto tr106
case 91:
if (m.data)[(m.p)] == 45 {
goto tr113
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr114
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr114
}
default:
goto tr114
}
goto tr106
case 92:
if (m.data)[(m.p)] == 45 {
goto tr115
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr116
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr116
}
default:
goto tr116
}
goto tr106
case 93:
if (m.data)[(m.p)] == 45 {
goto tr117
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr118
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr118
}
default:
goto tr118
}
goto tr106
case 94:
if (m.data)[(m.p)] == 45 {
goto tr119
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr120
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr120
}
default:
goto tr120
}
goto tr106
case 95:
if (m.data)[(m.p)] == 45 {
goto tr121
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr122
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr122
}
default:
goto tr122
}
goto tr106
case 96:
if (m.data)[(m.p)] == 45 {
goto tr123
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr124
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr124
}
default:
goto tr124
}
goto tr106
case 97:
if (m.data)[(m.p)] == 45 {
goto tr125
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr126
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr126
}
default:
goto tr126
}
goto tr106
case 98:
if (m.data)[(m.p)] == 45 {
goto tr127
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr128
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr128
}
default:
goto tr128
}
goto tr106
case 99:
if (m.data)[(m.p)] == 45 {
goto tr129
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr130
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr130
}
default:
goto tr130
}
goto tr106
case 100:
if (m.data)[(m.p)] == 45 {
goto tr131
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr132
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr132
}
default:
goto tr132
}
goto tr106
case 101:
if (m.data)[(m.p)] == 45 {
goto tr133
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr134
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr134
}
default:
goto tr134
}
goto tr106
case 102:
if (m.data)[(m.p)] == 45 {
goto tr135
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr136
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr136
}
default:
goto tr136
}
goto tr106
case 103:
if (m.data)[(m.p)] == 45 {
goto tr137
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr138
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr138
}
default:
goto tr138
}
goto tr106
case 104:
if (m.data)[(m.p)] == 45 {
goto tr139
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr140
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr140
}
default:
goto tr140
}
goto tr106
case 105:
if (m.data)[(m.p)] == 45 {
goto tr141
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr142
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr142
}
default:
goto tr142
}
goto tr106
case 106:
if (m.data)[(m.p)] == 45 {
goto tr143
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr144
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr144
}
default:
goto tr144
}
goto tr106
case 107:
if (m.data)[(m.p)] == 45 {
goto tr145
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr146
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr146
}
default:
goto tr146
}
goto tr106
case 108:
if (m.data)[(m.p)] == 45 {
goto tr147
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr148
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr148
}
default:
goto tr148
}
goto tr106
case 109:
if (m.data)[(m.p)] == 45 {
goto tr149
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr150
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr150
}
default:
goto tr150
}
goto tr106
case 110:
if (m.data)[(m.p)] == 45 {
goto tr151
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr152
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr152
}
default:
goto tr152
}
goto tr106
case 111:
if (m.data)[(m.p)] == 45 {
goto tr153
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr154
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr154
}
default:
goto tr154
}
goto tr106
case 112:
if (m.data)[(m.p)] == 45 {
goto tr155
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr156
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr156
}
default:
goto tr156
}
goto tr106
case 113:
if (m.data)[(m.p)] == 45 {
goto tr157
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr158
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr158
}
default:
goto tr158
}
goto tr106
case 114:
if (m.data)[(m.p)] == 45 {
goto tr159
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr160
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr160
}
default:
goto tr160
}
goto tr106
case 115:
if (m.data)[(m.p)] == 45 {
goto tr161
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr162
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr162
}
default:
goto tr162
}
goto tr106
case 116:
if (m.data)[(m.p)] == 45 {
goto tr163
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr164
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr164
}
default:
goto tr164
}
goto tr106
case 117:
if (m.data)[(m.p)] == 45 {
goto tr165
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr166
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr166
}
default:
goto tr166
}
goto tr106
case 118:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr167
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr167
}
default:
goto tr167
}
goto tr106
case 119:
if (m.data)[(m.p)] == 58 {
goto tr168
}
goto tr106
case 120:
switch (m.data)[(m.p)] {
case 33:
goto tr170
case 37:
goto tr171
case 61:
goto tr170
case 95:
goto tr170
case 126:
goto tr170
}
switch {
case (m.data)[(m.p)] < 48:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr170
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr170
}
case (m.data)[(m.p)] >= 64:
goto tr170
}
default:
goto tr170
}
goto tr169
case 177:
switch (m.data)[(m.p)] {
case 33:
goto tr218
case 35:
goto tr219
case 37:
goto tr220
case 61:
goto tr218
case 63:
goto tr221
case 95:
goto tr218
case 126:
goto tr218
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr218
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr218
}
default:
goto tr218
}
goto tr169
case 178:
switch (m.data)[(m.p)] {
case 33:
goto tr222
case 37:
goto tr223
case 61:
goto tr222
case 95:
goto tr222
case 126:
goto tr222
}
switch {
case (m.data)[(m.p)] < 63:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr222
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr222
}
default:
goto tr222
}
goto tr183
case 179:
switch (m.data)[(m.p)] {
case 33:
goto tr224
case 37:
goto tr225
case 61:
goto tr224
case 95:
goto tr224
case 126:
goto tr224
}
switch {
case (m.data)[(m.p)] < 63:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr224
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr224
}
default:
goto tr224
}
goto tr183
case 121:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr173
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr173
}
default:
goto tr174
}
goto tr172
case 122:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr175
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr175
}
default:
goto tr176
}
goto tr172
case 180:
switch (m.data)[(m.p)] {
case 33:
goto tr224
case 37:
goto tr225
case 61:
goto tr224
case 95:
goto tr224
case 126:
goto tr224
}
switch {
case (m.data)[(m.p)] < 63:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr224
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr224
}
default:
goto tr224
}
goto tr172
case 123:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr178
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr178
}
default:
goto tr179
}
goto tr177
case 124:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr180
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr180
}
default:
goto tr181
}
goto tr177
case 181:
switch (m.data)[(m.p)] {
case 33:
goto tr218
case 35:
goto tr219
case 37:
goto tr220
case 61:
goto tr218
case 63:
goto tr221
case 95:
goto tr218
case 126:
goto tr218
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr218
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr218
}
default:
goto tr218
}
goto tr177
case 125:
switch (m.data)[(m.p)] {
case 43:
goto tr182
case 61:
goto tr184
}
goto tr183
case 126:
switch (m.data)[(m.p)] {
case 33:
goto tr186
case 37:
goto tr187
case 61:
goto tr186
case 63:
goto tr188
case 95:
goto tr186
case 126:
goto tr186
}
switch {
case (m.data)[(m.p)] < 48:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr186
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr186
}
case (m.data)[(m.p)] >= 64:
goto tr186
}
default:
goto tr186
}
goto tr185
case 182:
switch (m.data)[(m.p)] {
case 33:
goto tr226
case 35:
goto tr227
case 37:
goto tr228
case 61:
goto tr226
case 63:
goto tr229
case 95:
goto tr226
case 126:
goto tr226
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr226
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr226
}
default:
goto tr226
}
goto tr185
case 127:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr190
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr190
}
default:
goto tr191
}
goto tr189
case 128:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr192
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr192
}
default:
goto tr193
}
goto tr189
case 183:
switch (m.data)[(m.p)] {
case 33:
goto tr226
case 35:
goto tr227
case 37:
goto tr228
case 61:
goto tr226
case 63:
goto tr229
case 95:
goto tr226
case 126:
goto tr226
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr226
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr226
}
default:
goto tr226
}
goto tr189
case 184:
switch (m.data)[(m.p)] {
case 33:
goto tr226
case 35:
goto tr227
case 37:
goto tr228
case 43:
goto tr230
case 61:
goto tr231
case 63:
goto tr229
case 95:
goto tr226
case 126:
goto tr226
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr226
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr226
}
default:
goto tr226
}
goto tr185
case 185:
switch (m.data)[(m.p)] {
case 33:
goto tr232
case 35:
goto tr233
case 37:
goto tr234
case 47:
goto tr226
case 61:
goto tr232
case 63:
goto tr235
case 95:
goto tr232
case 126:
goto tr232
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr232
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr232
}
default:
goto tr232
}
goto tr185
case 186:
switch (m.data)[(m.p)] {
case 33:
goto tr204
case 35:
goto tr227
case 37:
goto tr237
case 47:
goto tr226
case 61:
goto tr204
case 63:
goto tr229
case 95:
goto tr204
case 126:
goto tr204
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr204
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr204
}
default:
goto tr204
}
goto tr236
case 187:
switch (m.data)[(m.p)] {
case 33:
goto tr238
case 35:
goto tr239
case 37:
goto tr240
case 61:
goto tr238
case 63:
goto tr241
case 95:
goto tr238
case 126:
goto tr238
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr238
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr238
}
default:
goto tr238
}
goto tr203
case 129:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr195
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr195
}
default:
goto tr196
}
goto tr194
case 130:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr197
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr197
}
default:
goto tr198
}
goto tr194
case 188:
switch (m.data)[(m.p)] {
case 33:
goto tr238
case 35:
goto tr239
case 37:
goto tr240
case 61:
goto tr238
case 63:
goto tr241
case 95:
goto tr238
case 126:
goto tr238
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr238
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr238
}
default:
goto tr238
}
goto tr194
case 189:
switch (m.data)[(m.p)] {
case 33:
goto tr238
case 35:
goto tr239
case 37:
goto tr240
case 61:
goto tr242
case 63:
goto tr241
case 95:
goto tr238
case 126:
goto tr238
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr238
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr238
}
default:
goto tr238
}
goto tr203
case 190:
switch (m.data)[(m.p)] {
case 33:
goto tr243
case 35:
goto tr244
case 37:
goto tr245
case 47:
goto tr238
case 61:
goto tr243
case 63:
goto tr246
case 95:
goto tr243
case 126:
goto tr243
}
switch {
case (m.data)[(m.p)] < 64:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 {
goto tr243
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr243
}
default:
goto tr243
}
goto tr203
case 131:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr200
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr200
}
default:
goto tr201
}
goto tr199
case 132:
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr197
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr197
}
default:
goto tr198
}
goto tr199
case 133:
if (m.data)[(m.p)] == 43 {
goto tr202
}
goto tr185
case 191:
switch (m.data)[(m.p)] {
case 33:
goto tr232
case 35:
goto tr233
case 37:
goto tr234
case 61:
goto tr232
case 63:
goto tr247
case 95:
goto tr232
case 126:
goto tr232
}
switch {
case (m.data)[(m.p)] < 48:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr232
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr232
}
case (m.data)[(m.p)] >= 64:
goto tr232
}
default:
goto tr232
}
goto tr185
case 134:
switch (m.data)[(m.p)] {
case 43:
goto tr202
case 61:
goto tr184
}
goto tr185
case 135:
switch (m.data)[(m.p)] {
case 33:
goto tr204
case 37:
goto tr205
case 61:
goto tr204
case 63:
goto tr206
case 95:
goto tr204
case 126:
goto tr204
}
switch {
case (m.data)[(m.p)] < 48:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr204
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr204
}
case (m.data)[(m.p)] >= 64:
goto tr204
}
default:
goto tr204
}
goto tr203
case 136:
if (m.data)[(m.p)] == 61 {
goto tr207
}
goto tr203
case 192:
switch (m.data)[(m.p)] {
case 33:
goto tr243
case 35:
goto tr244
case 37:
goto tr245
case 61:
goto tr243
case 63:
goto tr248
case 95:
goto tr243
case 126:
goto tr243
}
switch {
case (m.data)[(m.p)] < 48:
if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 {
goto tr243
}
case (m.data)[(m.p)] > 59:
switch {
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr243
}
case (m.data)[(m.p)] >= 64:
goto tr243
}
default:
goto tr243
}
goto tr203
case 137:
if (m.data)[(m.p)] == 58 {
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr167
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr167
}
default:
goto tr167
}
goto tr106
case 138:
switch (m.data)[(m.p)] {
case 45:
goto tr165
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr166
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr166
}
default:
goto tr166
}
goto tr106
case 139:
switch (m.data)[(m.p)] {
case 45:
goto tr163
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr164
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr164
}
default:
goto tr164
}
goto tr106
case 140:
switch (m.data)[(m.p)] {
case 45:
goto tr161
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr162
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr162
}
default:
goto tr162
}
goto tr106
case 141:
switch (m.data)[(m.p)] {
case 45:
goto tr159
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr160
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr160
}
default:
goto tr160
}
goto tr106
case 142:
switch (m.data)[(m.p)] {
case 45:
goto tr157
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr158
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr158
}
default:
goto tr158
}
goto tr106
case 143:
switch (m.data)[(m.p)] {
case 45:
goto tr155
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr156
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr156
}
default:
goto tr156
}
goto tr106
case 144:
switch (m.data)[(m.p)] {
case 45:
goto tr153
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr154
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr154
}
default:
goto tr154
}
goto tr106
case 145:
switch (m.data)[(m.p)] {
case 45:
goto tr151
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr152
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr152
}
default:
goto tr152
}
goto tr106
case 146:
switch (m.data)[(m.p)] {
case 45:
goto tr149
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr150
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr150
}
default:
goto tr150
}
goto tr106
case 147:
switch (m.data)[(m.p)] {
case 45:
goto tr147
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr148
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr148
}
default:
goto tr148
}
goto tr106
case 148:
switch (m.data)[(m.p)] {
case 45:
goto tr145
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr146
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr146
}
default:
goto tr146
}
goto tr106
case 149:
switch (m.data)[(m.p)] {
case 45:
goto tr143
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr144
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr144
}
default:
goto tr144
}
goto tr106
case 150:
switch (m.data)[(m.p)] {
case 45:
goto tr141
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr142
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr142
}
default:
goto tr142
}
goto tr106
case 151:
switch (m.data)[(m.p)] {
case 45:
goto tr139
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr140
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr140
}
default:
goto tr140
}
goto tr106
case 152:
switch (m.data)[(m.p)] {
case 45:
goto tr137
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr138
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr138
}
default:
goto tr138
}
goto tr106
case 153:
switch (m.data)[(m.p)] {
case 45:
goto tr135
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr136
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr136
}
default:
goto tr136
}
goto tr106
case 154:
switch (m.data)[(m.p)] {
case 45:
goto tr133
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr134
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr134
}
default:
goto tr134
}
goto tr106
case 155:
switch (m.data)[(m.p)] {
case 45:
goto tr131
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr132
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr132
}
default:
goto tr132
}
goto tr106
case 156:
switch (m.data)[(m.p)] {
case 45:
goto tr129
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr130
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr130
}
default:
goto tr130
}
goto tr106
case 157:
switch (m.data)[(m.p)] {
case 45:
goto tr127
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr128
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr128
}
default:
goto tr128
}
goto tr106
case 158:
switch (m.data)[(m.p)] {
case 45:
goto tr125
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr126
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr126
}
default:
goto tr126
}
goto tr106
case 159:
switch (m.data)[(m.p)] {
case 45:
goto tr123
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr124
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr124
}
default:
goto tr124
}
goto tr106
case 160:
switch (m.data)[(m.p)] {
case 45:
goto tr121
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr122
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr122
}
default:
goto tr122
}
goto tr106
case 161:
switch (m.data)[(m.p)] {
case 45:
goto tr119
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr120
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr120
}
default:
goto tr120
}
goto tr106
case 162:
switch (m.data)[(m.p)] {
case 45:
goto tr117
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr118
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr118
}
default:
goto tr118
}
goto tr106
case 163:
switch (m.data)[(m.p)] {
case 45:
goto tr115
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr116
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr116
}
default:
goto tr116
}
goto tr106
case 164:
switch (m.data)[(m.p)] {
case 45:
goto tr113
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr114
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr114
}
default:
goto tr114
}
goto tr106
case 165:
switch (m.data)[(m.p)] {
case 45:
goto tr111
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr112
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr112
}
default:
goto tr112
}
goto tr106
case 166:
switch (m.data)[(m.p)] {
case 45:
goto tr109
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr110
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr110
}
default:
goto tr110
}
goto tr106
case 167:
switch (m.data)[(m.p)] {
case 45:
goto tr107
case 82:
goto tr208
case 114:
goto tr208
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr108
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr108
}
default:
goto tr108
}
goto tr103
case 168:
switch (m.data)[(m.p)] {
case 45:
goto tr109
case 58:
goto tr168
case 78:
goto tr209
case 110:
goto tr209
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr110
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr110
}
default:
goto tr110
}
goto tr103
case 169:
switch (m.data)[(m.p)] {
case 45:
goto tr210
case 58:
goto tr168
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr112
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr112
}
default:
goto tr112
}
goto tr106
case 170:
switch (m.data)[(m.p)] {
case 45:
goto tr113
case 48:
goto tr211
}
switch {
case (m.data)[(m.p)] < 65:
if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr114
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr211
}
default:
goto tr211
}
goto tr106
case 171:
if (m.data)[(m.p)] == 45 {
goto tr115
}
switch {
case (m.data)[(m.p)] < 65:
if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
goto tr116
}
case (m.data)[(m.p)] > 90:
if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 {
goto tr116
}
default:
goto tr116
}
goto tr106
case 193:
switch (m.data)[(m.p)] {
case 10:
goto tr183
case 13:
goto tr183
}
goto tr249
}
tr183:
m.cs = 0
goto _again
tr0:
m.cs = 0
goto f0
tr5:
m.cs = 0
goto f3
tr8:
m.cs = 0
goto f5
tr41:
m.cs = 0
goto f7
tr44:
m.cs = 0
goto f8
tr51:
m.cs = 0
goto f10
tr56:
m.cs = 0
goto f11
tr74:
m.cs = 0
goto f13
tr81:
m.cs = 0
goto f15
tr83:
m.cs = 0
goto f17
tr86:
m.cs = 0
goto f19
tr103:
m.cs = 0
goto f20
tr106:
m.cs = 0
goto f21
tr169:
m.cs = 0
goto f22
tr172:
m.cs = 0
goto f23
tr177:
m.cs = 0
goto f24
tr185:
m.cs = 0
goto f25
tr189:
m.cs = 0
goto f27
tr194:
m.cs = 0
goto f28
tr199:
m.cs = 0
goto f29
tr203:
m.cs = 0
goto f30
tr236:
m.cs = 0
goto f46
tr1:
m.cs = 2
goto f1
tr2:
m.cs = 3
goto _again
tr3:
m.cs = 4
goto _again
tr4:
m.cs = 5
goto f2
tr6:
m.cs = 6
goto f4
tr9:
m.cs = 7
goto _again
tr11:
m.cs = 8
goto _again
tr12:
m.cs = 9
goto _again
tr13:
m.cs = 10
goto _again
tr14:
m.cs = 11
goto _again
tr15:
m.cs = 12
goto _again
tr16:
m.cs = 13
goto _again
tr17:
m.cs = 14
goto _again
tr18:
m.cs = 15
goto _again
tr19:
m.cs = 16
goto _again
tr20:
m.cs = 17
goto _again
tr21:
m.cs = 18
goto _again
tr22:
m.cs = 19
goto _again
tr23:
m.cs = 20
goto _again
tr24:
m.cs = 21
goto _again
tr25:
m.cs = 22
goto _again
tr26:
m.cs = 23
goto _again
tr27:
m.cs = 24
goto _again
tr28:
m.cs = 25
goto _again
tr29:
m.cs = 26
goto _again
tr30:
m.cs = 27
goto _again
tr31:
m.cs = 28
goto _again
tr32:
m.cs = 29
goto _again
tr33:
m.cs = 30
goto _again
tr34:
m.cs = 31
goto _again
tr35:
m.cs = 32
goto _again
tr36:
m.cs = 33
goto _again
tr37:
m.cs = 34
goto _again
tr38:
m.cs = 35
goto _again
tr39:
m.cs = 36
goto _again
tr40:
m.cs = 37
goto _again
tr10:
m.cs = 38
goto f6
tr213:
m.cs = 39
goto _again
tr43:
m.cs = 39
goto f4
tr45:
m.cs = 40
goto _again
tr46:
m.cs = 40
goto f9
tr7:
m.cs = 41
goto f1
tr49:
m.cs = 42
goto _again
tr50:
m.cs = 43
goto _again
tr52:
m.cs = 45
goto f1
tr53:
m.cs = 46
goto _again
tr54:
m.cs = 47
goto _again
tr55:
m.cs = 48
goto f2
tr57:
m.cs = 49
goto f4
tr58:
m.cs = 50
goto _again
tr59:
m.cs = 51
goto _again
tr60:
m.cs = 52
goto _again
tr61:
m.cs = 53
goto _again
tr62:
m.cs = 54
goto _again
tr63:
m.cs = 55
goto _again
tr64:
m.cs = 56
goto _again
tr65:
m.cs = 57
goto _again
tr66:
m.cs = 58
goto _again
tr67:
m.cs = 59
goto _again
tr68:
m.cs = 60
goto _again
tr69:
m.cs = 61
goto _again
tr70:
m.cs = 62
goto _again
tr71:
m.cs = 63
goto _again
tr72:
m.cs = 64
goto _again
tr73:
m.cs = 65
goto f12
tr75:
m.cs = 66
goto f4
tr78:
m.cs = 67
goto _again
tr79:
m.cs = 68
goto _again
tr80:
m.cs = 69
goto f14
tr215:
m.cs = 70
goto f35
tr217:
m.cs = 71
goto _again
tr85:
m.cs = 71
goto f18
tr87:
m.cs = 72
goto _again
tr88:
m.cs = 72
goto f9
tr76:
m.cs = 73
goto f4
tr91:
m.cs = 74
goto _again
tr92:
m.cs = 75
goto _again
tr93:
m.cs = 76
goto _again
tr77:
m.cs = 77
goto f4
tr94:
m.cs = 78
goto _again
tr95:
m.cs = 79
goto _again
tr96:
m.cs = 80
goto _again
tr97:
m.cs = 81
goto _again
tr98:
m.cs = 82
goto _again
tr99:
m.cs = 84
goto f1
tr100:
m.cs = 85
goto _again
tr101:
m.cs = 86
goto _again
tr102:
m.cs = 87
goto f2
tr104:
m.cs = 88
goto f4
tr107:
m.cs = 89
goto _again
tr109:
m.cs = 90
goto _again
tr111:
m.cs = 91
goto _again
tr113:
m.cs = 92
goto _again
tr115:
m.cs = 93
goto _again
tr117:
m.cs = 94
goto _again
tr119:
m.cs = 95
goto _again
tr121:
m.cs = 96
goto _again
tr123:
m.cs = 97
goto _again
tr125:
m.cs = 98
goto _again
tr127:
m.cs = 99
goto _again
tr129:
m.cs = 100
goto _again
tr131:
m.cs = 101
goto _again
tr133:
m.cs = 102
goto _again
tr135:
m.cs = 103
goto _again
tr137:
m.cs = 104
goto _again
tr139:
m.cs = 105
goto _again
tr141:
m.cs = 106
goto _again
tr143:
m.cs = 107
goto _again
tr145:
m.cs = 108
goto _again
tr147:
m.cs = 109
goto _again
tr149:
m.cs = 110
goto _again
tr151:
m.cs = 111
goto _again
tr153:
m.cs = 112
goto _again
tr155:
m.cs = 113
goto _again
tr157:
m.cs = 114
goto _again
tr159:
m.cs = 115
goto _again
tr161:
m.cs = 116
goto _again
tr163:
m.cs = 117
goto _again
tr165:
m.cs = 118
goto _again
tr167:
m.cs = 119
goto _again
tr168:
m.cs = 120
goto f6
tr225:
m.cs = 121
goto _again
tr223:
m.cs = 121
goto f4
tr173:
m.cs = 122
goto _again
tr174:
m.cs = 122
goto f9
tr220:
m.cs = 123
goto _again
tr171:
m.cs = 123
goto f4
tr178:
m.cs = 124
goto _again
tr179:
m.cs = 124
goto f9
tr221:
m.cs = 125
goto f38
tr182:
m.cs = 126
goto _again
tr228:
m.cs = 127
goto _again
tr187:
m.cs = 127
goto f26
tr234:
m.cs = 127
goto f44
tr190:
m.cs = 128
goto _again
tr191:
m.cs = 128
goto f9
tr240:
m.cs = 129
goto _again
tr205:
m.cs = 129
goto f31
tr245:
m.cs = 129
goto f50
tr195:
m.cs = 130
goto _again
tr196:
m.cs = 130
goto f9
tr237:
m.cs = 131
goto f31
tr200:
m.cs = 132
goto _again
tr201:
m.cs = 132
goto f9
tr188:
m.cs = 133
goto f26
tr247:
m.cs = 134
goto f45
tr184:
m.cs = 135
goto _again
tr206:
m.cs = 136
goto f31
tr248:
m.cs = 136
goto f50
tr166:
m.cs = 137
goto _again
tr164:
m.cs = 138
goto _again
tr162:
m.cs = 139
goto _again
tr160:
m.cs = 140
goto _again
tr158:
m.cs = 141
goto _again
tr156:
m.cs = 142
goto _again
tr154:
m.cs = 143
goto _again
tr152:
m.cs = 144
goto _again
tr150:
m.cs = 145
goto _again
tr148:
m.cs = 146
goto _again
tr146:
m.cs = 147
goto _again
tr144:
m.cs = 148
goto _again
tr142:
m.cs = 149
goto _again
tr140:
m.cs = 150
goto _again
tr138:
m.cs = 151
goto _again
tr136:
m.cs = 152
goto _again
tr134:
m.cs = 153
goto _again
tr132:
m.cs = 154
goto _again
tr130:
m.cs = 155
goto _again
tr128:
m.cs = 156
goto _again
tr126:
m.cs = 157
goto _again
tr124:
m.cs = 158
goto _again
tr122:
m.cs = 159
goto _again
tr120:
m.cs = 160
goto _again
tr118:
m.cs = 161
goto _again
tr116:
m.cs = 162
goto _again
tr114:
m.cs = 163
goto _again
tr112:
m.cs = 164
goto _again
tr110:
m.cs = 165
goto _again
tr108:
m.cs = 166
goto _again
tr105:
m.cs = 167
goto f1
tr208:
m.cs = 168
goto _again
tr209:
m.cs = 169
goto _again
tr210:
m.cs = 170
goto f2
tr211:
m.cs = 171
goto _again
tr212:
m.cs = 172
goto _again
tr42:
m.cs = 172
goto f4
tr47:
m.cs = 173
goto _again
tr48:
m.cs = 173
goto f9
tr214:
m.cs = 174
goto _again
tr82:
m.cs = 174
goto f16
tr216:
m.cs = 175
goto _again
tr84:
m.cs = 175
goto f18
tr89:
m.cs = 176
goto _again
tr90:
m.cs = 176
goto f9
tr218:
m.cs = 177
goto _again
tr170:
m.cs = 177
goto f4
tr219:
m.cs = 178
goto f38
tr227:
m.cs = 178
goto f42
tr233:
m.cs = 178
goto f45
tr239:
m.cs = 178
goto f48
tr244:
m.cs = 178
goto f51
tr224:
m.cs = 179
goto _again
tr222:
m.cs = 179
goto f4
tr175:
m.cs = 180
goto _again
tr176:
m.cs = 180
goto f9
tr180:
m.cs = 181
goto _again
tr181:
m.cs = 181
goto f9
tr226:
m.cs = 182
goto _again
tr186:
m.cs = 182
goto f26
tr232:
m.cs = 182
goto f44
tr192:
m.cs = 183
goto _again
tr193:
m.cs = 183
goto f9
tr229:
m.cs = 184
goto f42
tr235:
m.cs = 184
goto f45
tr230:
m.cs = 185
goto _again
tr231:
m.cs = 186
goto _again
tr238:
m.cs = 187
goto _again
tr204:
m.cs = 187
goto f31
tr243:
m.cs = 187
goto f50
tr197:
m.cs = 188
goto _again
tr198:
m.cs = 188
goto f9
tr241:
m.cs = 189
goto _again
tr246:
m.cs = 189
goto f50
tr242:
m.cs = 190
goto _again
tr202:
m.cs = 191
goto _again
tr207:
m.cs = 192
goto _again
tr249:
m.cs = 193
goto _again
f4:
m.pb = m.p
goto _again
f9:
// List of positions in the buffer to later lowercase
output.tolower = append(output.tolower, m.p-m.pb)
goto _again
f2:
output.prefix = string(m.text())
goto _again
f6:
output.ID = string(m.text())
goto _again
f38:
output.SS = string(m.text())
// Iterate upper letters lowering them
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] + 32
}
output.norm = string(m.text())
// Revert the buffer to the original
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] - 32
}
goto _again
f0:
m.err = fmt.Errorf(errPrefix, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f5:
m.err = fmt.Errorf(errIdentifier, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f7:
m.err = fmt.Errorf(errSpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f23:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
goto _again
f11:
m.err = fmt.Errorf(errSCIMNamespace, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f13:
m.err = fmt.Errorf(errSCIMType, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f15:
m.err = fmt.Errorf(errSCIMName, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f17:
if m.p == m.pe {
m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
} else {
m.err = fmt.Errorf(errSCIMOther, m.p)
}
(m.p)--
m.cs = 193
goto _again
goto _again
f14:
output.scim.Type = scimschema.TypeFromString(string(m.text()))
goto _again
f16:
output.scim.pos = m.p
goto _again
f35:
output.scim.Name = string(m.data[output.scim.pos:m.p])
goto _again
f18:
output.scim.pos = m.p
goto _again
f22:
m.err = fmt.Errorf(err8141SpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f21:
m.err = fmt.Errorf(err8141Identifier, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f42:
output.rComponent = string(m.text())
goto _again
f48:
output.qComponent = string(m.text())
goto _again
f44:
if output.rStart {
m.err = fmt.Errorf(err8141RComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.rStart = true
goto _again
f50:
if output.qStart {
m.err = fmt.Errorf(err8141QComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.qStart = true
goto _again
f25:
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f30:
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f1:
m.pb = m.p
if m.parsingMode != RFC8141Only {
// Throw an error when:
// - we are entering here matching the the prefix in the namespace identifier part
// - looking ahead (3 chars) we find a colon
if pos := m.p + 3; pos < m.pe && m.data[pos] == 58 && output.prefix != "" {
m.err = fmt.Errorf(errNoUrnWithinID, pos)
(m.p)--
m.cs = 193
goto _again
}
}
goto _again
f12:
output.ID = string(m.text())
output.scim = &SCIM{}
goto _again
f3:
m.err = fmt.Errorf(errIdentifier, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(errPrefix, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f10:
m.err = fmt.Errorf(errIdentifier, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(errNoUrnWithinID, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f8:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(errSpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f19:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
if m.p == m.pe {
m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
} else {
m.err = fmt.Errorf(errSCIMOther, m.p)
}
(m.p)--
m.cs = 193
goto _again
goto _again
f24:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141SpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f27:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f28:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f20:
m.err = fmt.Errorf(err8141Identifier, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(errPrefix, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f26:
if output.rStart {
m.err = fmt.Errorf(err8141RComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.rStart = true
m.pb = m.p
goto _again
f45:
if output.rStart {
m.err = fmt.Errorf(err8141RComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.rStart = true
output.rComponent = string(m.text())
goto _again
f31:
if output.qStart {
m.err = fmt.Errorf(err8141QComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.qStart = true
m.pb = m.p
goto _again
f51:
if output.qStart {
m.err = fmt.Errorf(err8141QComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.qStart = true
output.qComponent = string(m.text())
goto _again
f46:
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
f29:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
goto _again
_again:
switch _toStateActions[m.cs] {
case 33:
(m.p)--
m.err = fmt.Errorf(err8141InformalID, m.p)
m.cs = 193
goto _again
}
if m.cs == 0 {
goto _out
}
if (m.p)++; (m.p) != (m.pe) {
goto _resume
}
_testEof:
{
}
if (m.p) == (m.eof) {
switch _eofActions[m.cs] {
case 1:
m.err = fmt.Errorf(errPrefix, m.p)
(m.p)--
m.cs = 193
goto _again
case 6:
m.err = fmt.Errorf(errIdentifier, m.p)
(m.p)--
m.cs = 193
goto _again
case 8:
m.err = fmt.Errorf(errSpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
case 24:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
case 12:
m.err = fmt.Errorf(errSCIMNamespace, m.p)
(m.p)--
m.cs = 193
goto _again
case 14:
m.err = fmt.Errorf(errSCIMType, m.p)
(m.p)--
m.cs = 193
goto _again
case 16:
m.err = fmt.Errorf(errSCIMName, m.p)
(m.p)--
m.cs = 193
goto _again
case 18:
if m.p == m.pe {
m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
} else {
m.err = fmt.Errorf(errSCIMOther, m.p)
}
(m.p)--
m.cs = 193
goto _again
case 23:
m.err = fmt.Errorf(err8141SpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
case 22:
m.err = fmt.Errorf(err8141Identifier, m.p)
(m.p)--
m.cs = 193
goto _again
case 26:
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
case 31:
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
case 34:
output.SS = string(m.text())
// Iterate upper letters lowering them
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] + 32
}
output.norm = string(m.text())
// Revert the buffer to the original
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] - 32
}
output.kind = RFC2141
case 38:
output.SS = string(m.text())
// Iterate upper letters lowering them
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] + 32
}
output.norm = string(m.text())
// Revert the buffer to the original
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] - 32
}
output.kind = RFC8141
case 4:
m.err = fmt.Errorf(errIdentifier, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(errPrefix, m.p)
(m.p)--
m.cs = 193
goto _again
case 11:
m.err = fmt.Errorf(errIdentifier, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(errNoUrnWithinID, m.p)
(m.p)--
m.cs = 193
goto _again
case 9:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(errSpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
case 20:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
if m.p == m.pe {
m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1)
} else {
m.err = fmt.Errorf(errSCIMOther, m.p)
}
(m.p)--
m.cs = 193
goto _again
case 25:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141SpecificString, m.p)
(m.p)--
m.cs = 193
goto _again
case 28:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
case 29:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
case 21:
m.err = fmt.Errorf(err8141Identifier, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(errPrefix, m.p)
(m.p)--
m.cs = 193
goto _again
case 42:
output.rComponent = string(m.text())
output.kind = RFC8141
case 48:
output.qComponent = string(m.text())
output.kind = RFC8141
case 41:
output.fComponent = string(m.text())
output.kind = RFC8141
case 40:
m.pb = m.p
output.fComponent = string(m.text())
output.kind = RFC8141
case 30:
if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only {
m.err = fmt.Errorf(errHex, m.p)
(m.p)--
m.cs = 193
goto _again
}
m.err = fmt.Errorf(err8141MalformedRComp, m.p)
(m.p)--
m.cs = 193
goto _again
m.err = fmt.Errorf(err8141MalformedQComp, m.p)
(m.p)--
m.cs = 193
goto _again
case 35:
output.scim.Name = string(m.data[output.scim.pos:m.p])
output.SS = string(m.text())
// Iterate upper letters lowering them
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] + 32
}
output.norm = string(m.text())
// Revert the buffer to the original
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] - 32
}
output.kind = RFC7643
case 37:
output.scim.Other = string(m.data[output.scim.pos:m.p])
output.SS = string(m.text())
// Iterate upper letters lowering them
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] + 32
}
output.norm = string(m.text())
// Revert the buffer to the original
for _, i := range output.tolower {
m.data[m.pb+i] = m.data[m.pb+i] - 32
}
output.kind = RFC7643
case 44:
if output.rStart {
m.err = fmt.Errorf(err8141RComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.rStart = true
output.rComponent = string(m.text())
output.kind = RFC8141
case 50:
if output.qStart {
m.err = fmt.Errorf(err8141QComponentStart, m.p)
(m.p)--
m.cs = 193
goto _again
}
output.qStart = true
output.qComponent = string(m.text())
output.kind = RFC8141
}
}
_out:
{
}
}
if m.cs < firstFinal || m.cs == enFail {
return nil, m.err
}
return output, nil
}
func (m *machine) WithParsingMode(x ParsingMode) {
m.parsingMode = x
switch m.parsingMode {
case RFC2141Only:
m.startParsingAt = enMain
case RFC8141Only:
m.startParsingAt = enRfc8141Only
case RFC7643Only:
m.startParsingAt = enScimOnly
}
m.parsingModeSet = true
}