From d175fa58c881f23a3ad71d508cc2e7db05937dc8 Mon Sep 17 00:00:00 2001 From: Sebastian Widmer Date: Tue, 26 May 2020 22:50:43 +0200 Subject: [PATCH] Update go-syslog dependency to accept any encoding in message (#2127) --- go.mod | 2 +- go.sum | 4 +- .../targets/syslogparser/syslogparser.go | 6 +- .../targets/syslogparser/syslogparser_test.go | 11 +- pkg/promtail/targets/syslogtarget.go | 25 +- pkg/promtail/targets/syslogtarget_test.go | 38 + .../influxdata/go-syslog/v2/README.md | 232 - .../go-syslog/v2/rfc5424/options.go | 13 - .../go-syslog/v2/rfc5424/syslog_message.go | 291 - .../influxdata/go-syslog/v2/syslog.go | 63 - .../go-syslog/{v2 => v3}/.gitignore | 0 .../influxdata/go-syslog/{v2 => v3}/LICENSE | 0 .../influxdata/go-syslog/v3/README.md | 240 + .../go-syslog/{v2 => v3}/common/common.rl | 34 +- .../go-syslog/v3/common/facility.go | 59 + .../go-syslog/{v2 => v3}/common/functions.go | 15 + .../go-syslog/v3/common/severity.go | 38 + .../influxdata/go-syslog/{v2 => v3}/go.mod | 5 +- .../influxdata/go-syslog/{v2 => v3}/go.sum | 3 + .../influxdata/go-syslog/{v2 => v3}/makefile | 76 +- .../{v2 => v3}/nontransparent/parser.go | 4 +- .../{v2 => v3}/nontransparent/parser.go.rl | 4 +- .../{v2 => v3}/nontransparent/trailer_type.go | 0 .../{v2 => v3}/octetcounting/parser.go | 4 +- .../{v2 => v3}/octetcounting/scanner.go | 0 .../{v2 => v3}/octetcounting/tokens.go | 0 .../go-syslog/{v2 => v3}/options.go | 0 .../go-syslog/{v2 => v3}/rfc5424/builder.go | 6929 ++++++++--------- .../{v2 => v3}/rfc5424/builder.go.rl | 122 +- .../go-syslog/{v2 => v3}/rfc5424/machine.go | 2281 +++--- .../{v2 => v3}/rfc5424/machine.go.rl | 117 +- .../go-syslog/v3/rfc5424/options.go | 29 + .../go-syslog/{v2 => v3}/rfc5424/parser.go | 2 +- .../go-syslog/v3/rfc5424/syslog_message.go | 91 + .../influxdata/go-syslog/v3/syslog.go | 146 + vendor/modules.txt | 12 +- 36 files changed, 5450 insertions(+), 5446 deletions(-) delete mode 100644 vendor/github.com/influxdata/go-syslog/v2/README.md delete mode 100644 vendor/github.com/influxdata/go-syslog/v2/rfc5424/options.go delete mode 100644 vendor/github.com/influxdata/go-syslog/v2/rfc5424/syslog_message.go delete mode 100644 vendor/github.com/influxdata/go-syslog/v2/syslog.go rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/.gitignore (100%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/LICENSE (100%) create mode 100644 vendor/github.com/influxdata/go-syslog/v3/README.md rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/common/common.rl (54%) create mode 100644 vendor/github.com/influxdata/go-syslog/v3/common/facility.go rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/common/functions.go (72%) create mode 100644 vendor/github.com/influxdata/go-syslog/v3/common/severity.go rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/go.mod (72%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/go.sum (78%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/makefile (53%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/nontransparent/parser.go (98%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/nontransparent/parser.go.rl (97%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/nontransparent/trailer_type.go (100%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/octetcounting/parser.go (97%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/octetcounting/scanner.go (100%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/octetcounting/tokens.go (100%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/options.go (100%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/rfc5424/builder.go (60%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/rfc5424/builder.go.rl (70%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/rfc5424/machine.go (95%) rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/rfc5424/machine.go.rl (75%) create mode 100644 vendor/github.com/influxdata/go-syslog/v3/rfc5424/options.go rename vendor/github.com/influxdata/go-syslog/{v2 => v3}/rfc5424/parser.go (95%) create mode 100644 vendor/github.com/influxdata/go-syslog/v3/rfc5424/syslog_message.go create mode 100644 vendor/github.com/influxdata/go-syslog/v3/syslog.go diff --git a/go.mod b/go.mod index 8ab056a6e5c5..5180819d09c2 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 github.com/hashicorp/golang-lru v0.5.3 github.com/hpcloud/tail v1.0.0 - github.com/influxdata/go-syslog/v2 v2.0.1 + github.com/influxdata/go-syslog/v3 v3.0.1-0.20200510134747-836dce2cf6da github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af github.com/json-iterator/go v1.1.9 github.com/klauspost/compress v1.9.4 diff --git a/go.sum b/go.sum index 45ce273990b3..afb2fe7b5df9 100644 --- a/go.sum +++ b/go.sum @@ -527,8 +527,8 @@ github.com/hodgesds/perf-utils v0.0.8/go.mod h1:F6TfvsbtrF88i++hou29dTXlI2sfsJv+ github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/go-syslog/v2 v2.0.1 h1:l44S4l4Q8MhGQcoOxJpbo+QQYxJqp0vdgIVHh4+DO0s= -github.com/influxdata/go-syslog/v2 v2.0.1/go.mod h1:hjvie1UTaD5E1fTnDmxaCw8RRDrT4Ve+XHr5O2dKSCo= +github.com/influxdata/go-syslog/v3 v3.0.1-0.20200510134747-836dce2cf6da h1:yEuttQd/3jcdlUYYyDPub5y/JVCYR0UPuxH4xclZi/c= +github.com/influxdata/go-syslog/v3 v3.0.1-0.20200510134747-836dce2cf6da/go.mod h1:aXdIdfn2OcGnMhOTojXmwZqXKgC3MU5riiNvzwwG9OY= github.com/influxdata/influxdb v1.7.7/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= diff --git a/pkg/promtail/targets/syslogparser/syslogparser.go b/pkg/promtail/targets/syslogparser/syslogparser.go index 0cea3f985b8d..75f995d40ffe 100644 --- a/pkg/promtail/targets/syslogparser/syslogparser.go +++ b/pkg/promtail/targets/syslogparser/syslogparser.go @@ -5,9 +5,9 @@ import ( "fmt" "io" - "github.com/influxdata/go-syslog/v2" - "github.com/influxdata/go-syslog/v2/nontransparent" - "github.com/influxdata/go-syslog/v2/octetcounting" + "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/nontransparent" + "github.com/influxdata/go-syslog/v3/octetcounting" ) // ParseStream parses a rfc5424 syslog stream from the given Reader, calling diff --git a/pkg/promtail/targets/syslogparser/syslogparser_test.go b/pkg/promtail/targets/syslogparser/syslogparser_test.go index b2360d1bcbdd..bb6e011c800d 100644 --- a/pkg/promtail/targets/syslogparser/syslogparser_test.go +++ b/pkg/promtail/targets/syslogparser/syslogparser_test.go @@ -5,7 +5,8 @@ import ( "strings" "testing" - "github.com/influxdata/go-syslog/v2" + "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/rfc5424" "github.com/stretchr/testify/require" "github.com/grafana/loki/pkg/promtail/targets/syslogparser" @@ -24,9 +25,9 @@ func TestParseStream_OctetCounting(t *testing.T) { require.Equal(t, 2, len(results)) require.NoError(t, results[0].Error) - require.Equal(t, "First", *results[0].Message.Message()) + require.Equal(t, "First", *results[0].Message.(*rfc5424.SyslogMessage).Message) require.NoError(t, results[1].Error) - require.Equal(t, "Second", *results[1].Message.Message()) + require.Equal(t, "Second", *results[1].Message.(*rfc5424.SyslogMessage).Message) } func TestParseStream_NewlineSeparated(t *testing.T) { @@ -42,9 +43,9 @@ func TestParseStream_NewlineSeparated(t *testing.T) { require.Equal(t, 2, len(results)) require.NoError(t, results[0].Error) - require.Equal(t, "First", *results[0].Message.Message()) + require.Equal(t, "First", *results[0].Message.(*rfc5424.SyslogMessage).Message) require.NoError(t, results[1].Error) - require.Equal(t, "Second", *results[1].Message.Message()) + require.Equal(t, "Second", *results[1].Message.(*rfc5424.SyslogMessage).Message) } func TestParseStream_InvalidStream(t *testing.T) { diff --git a/pkg/promtail/targets/syslogtarget.go b/pkg/promtail/targets/syslogtarget.go index 8d9f803c6de6..c1d139eec7cb 100644 --- a/pkg/promtail/targets/syslogtarget.go +++ b/pkg/promtail/targets/syslogtarget.go @@ -12,7 +12,8 @@ import ( "github.com/cortexproject/cortex/pkg/util" "github.com/go-kit/kit/log" "github.com/go-kit/kit/log/level" - "github.com/influxdata/go-syslog/v2" + "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/rfc5424" "github.com/mwitkow/go-conntrack" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" @@ -176,32 +177,34 @@ func (t *SyslogTarget) handleMessageError(err error) { } func (t *SyslogTarget) handleMessage(connLabels labels.Labels, msg syslog.Message) { - if msg.Message() == nil { + rfc5424Msg := msg.(*rfc5424.SyslogMessage) + + if rfc5424Msg.Message == nil { return } lb := labels.NewBuilder(connLabels) - if v := msg.SeverityLevel(); v != nil { + if v := rfc5424Msg.SeverityLevel(); v != nil { lb.Set("__syslog_message_severity", *v) } - if v := msg.FacilityLevel(); v != nil { + if v := rfc5424Msg.FacilityLevel(); v != nil { lb.Set("__syslog_message_facility", *v) } - if v := msg.Hostname(); v != nil { + if v := rfc5424Msg.Hostname; v != nil { lb.Set("__syslog_message_hostname", *v) } - if v := msg.Appname(); v != nil { + if v := rfc5424Msg.Appname; v != nil { lb.Set("__syslog_message_app_name", *v) } - if v := msg.ProcID(); v != nil { + if v := rfc5424Msg.ProcID; v != nil { lb.Set("__syslog_message_proc_id", *v) } - if v := msg.MsgID(); v != nil { + if v := rfc5424Msg.MsgID; v != nil { lb.Set("__syslog_message_msg_id", *v) } - if t.config.LabelStructuredData && msg.StructuredData() != nil { - for id, params := range *msg.StructuredData() { + if t.config.LabelStructuredData && rfc5424Msg.StructuredData != nil { + for id, params := range *rfc5424Msg.StructuredData { id = strings.Replace(id, "@", "_", -1) for name, value := range params { key := "__syslog_message_sd_" + id + "_" + name @@ -220,7 +223,7 @@ func (t *SyslogTarget) handleMessage(connLabels labels.Labels, msg syslog.Messag filtered[model.LabelName(lbl.Name)] = model.LabelValue(lbl.Value) } - t.messages <- message{filtered, *msg.Message()} + t.messages <- message{filtered, *rfc5424Msg.Message} } func (t *SyslogTarget) messageSender() { diff --git a/pkg/promtail/targets/syslogtarget_test.go b/pkg/promtail/targets/syslogtarget_test.go index 1e9679ff7f6d..20be64dd4e0c 100644 --- a/pkg/promtail/targets/syslogtarget_test.go +++ b/pkg/promtail/targets/syslogtarget_test.go @@ -8,6 +8,7 @@ import ( "sync" "testing" "time" + "unicode/utf8" "github.com/go-kit/kit/log" "github.com/go-kit/kit/log/level" @@ -185,6 +186,43 @@ func TestSyslogTarget_InvalidData(t *testing.T) { require.EqualError(t, err, "EOF") } +func TestSyslogTarget_NonUTF8Message(t *testing.T) { + w := log.NewSyncWriter(os.Stderr) + logger := log.NewLogfmtLogger(w) + client := &TestLabeledClient{log: logger} + + tgt, err := NewSyslogTarget(logger, client, relabelConfig(t), &scrape.SyslogTargetConfig{ + ListenAddress: "127.0.0.1:0", + }) + require.NoError(t, err) + defer func() { + require.NoError(t, tgt.Stop()) + }() + + addr := tgt.ListenAddress().String() + c, err := net.Dial("tcp", addr) + require.NoError(t, err) + + msg1 := "Some non utf8 \xF8\xF7\xE3\xE4 characters" + require.False(t, utf8.ValidString(msg1), "msg must no be valid utf8") + msg2 := "\xF8 other \xF7\xE3\xE4 characters \xE3" + require.False(t, utf8.ValidString(msg2), "msg must no be valid utf8") + + err = writeMessagesToStream(c, []string{ + "<165>1 - - - - - - " + msg1, + "<123>1 - - - - - - " + msg2, + }, true) + require.NoError(t, err) + require.NoError(t, c.Close()) + + require.Eventuallyf(t, func() bool { + return len(client.Messages()) == 2 + }, time.Second, time.Millisecond, "Expected to receive 2 messages, got %d.", len(client.Messages())) + + require.Equal(t, msg1, client.Messages()[0].Message) + require.Equal(t, msg2, client.Messages()[1].Message) +} + func TestSyslogTarget_IdleTimeout(t *testing.T) { w := log.NewSyncWriter(os.Stderr) logger := log.NewLogfmtLogger(w) diff --git a/vendor/github.com/influxdata/go-syslog/v2/README.md b/vendor/github.com/influxdata/go-syslog/v2/README.md deleted file mode 100644 index 870909a8562a..000000000000 --- a/vendor/github.com/influxdata/go-syslog/v2/README.md +++ /dev/null @@ -1,232 +0,0 @@ -[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge)](LICENSE) - -**A parser for syslog messages**. - -> [Blazing fast](#Performances) RFC5424-compliant parsers - -To wrap up, this package provides: - -- a RFC5424-compliant parser -- a RFC5424-compliant builder -- a parser which works on streams for syslog with [octet counting](https://tools.ietf.org/html/rfc5425#section-4.3) framing technique -- a parser which works on streams for syslog with [non-transparent](https://tools.ietf.org/html/rfc6587#section-3.4.2) framing technique - -This library provides the pieces to parse syslog messages transported following various RFCs. - -For example: - -- TLS with octet count ([RFC5425](https://tools.ietf.org/html/rfc5425)) -- TCP with non-transparent framing or with octet count ([RFC 6587](https://tools.ietf.org/html/rfc6587)) -- UDP carrying one message per packet ([RFC5426](https://tools.ietf.org/html/rfc5426)) - -## Installation - -``` -go get github.com/influxdata/go-syslog/v2 -``` - -## Docs - -[![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=for-the-badge)](http://godoc.org/github.com/influxdata/go-syslog) - -The [docs](docs/) directory contains `.dot` files representing the FSM parts of a [RFC5424](https://tools.ietf.org/html/rfc5424) syslog message and also the ones representing the other transport parsers. - -## Usage - -Suppose you want to parse a given sequence of bytes as a RFC5424 message. - -```go -i := []byte(`<165>4 2018-10-11T22:14:15.003Z mymach.it e - 1 [ex@32473 iut="3"] An application event log entry...`) -p := rfc5424.NewParser() -m, e := p.Parse(i, nil) -``` - -This results in `m` being equal to: - -```go -// (*rfc5424.SyslogMessage)({ -// priority: (*uint8)(165), -// facility: (*uint8)(20), -// severity: (*uint8)(5), -// version: (uint16) 4, -// timestamp: (*time.Time)(2018-10-11 22:14:15.003 +0000 UTC), -// hostname: (*string)((len=9) "mymach.it"), -// appname: (*string)((len=1) "e"), -// procID: (*string)(), -// msgID: (*string)((len=1) "1"), -// structuredData: (*map[string]map[string]string)((len=1) { -// (string) (len=8) "ex@32473": (map[string]string) (len=1) { -// (string) (len=3) "iut": (string) (len=1) "3" -// } -// }), -// message: (*string)((len=33) "An application event log entry...") -// }) -``` - -And `e` being equal to `nil`, since the `i` is a perfectly valid RFC5424 message. - -### Best effort mode - -RFC5424 parser has the ability to perform partial matches (until it can). - -With this mode enabled, when the parsing process errors out it returns the message collected until that position, and the error that caused the parser to stop. - -Notice that in this modality the output is returned _iff_ it represents a minimally valid message - ie., a message containing almost a priority field in `[1,191]` within angular brackets, followed by a version in `]0,999]`. - -Let's look at an example. - -```go -bestEffortOn := true -i := []byte("<1>1 A - - - - - -") -p := NewParser() -m, e := p.Parse(i, &bestEffortOn) -``` - -This results in `m` being equal to the following `SyslogMessage` instance. - -```go -// (*rfc5424.SyslogMessage)({ -// priority: (*uint8)(1), -// facility: (*uint8)(0), -// severity: (*uint8)(1), -// version: (uint16) 1, -// timestamp: (*time.Time)(), -// hostname: (*string)(), -// appname: (*string)(), -// procID: (*string)(), -// msgID: (*string)(), -// structuredData: (*map[string]map[string]string)(), -// message: (*string)() -// }) -``` - -And, at the same time, in `e` reporting the error that actually stopped the parser. - -```go -expecting a RFC3339MICRO timestamp or a nil value [col 5] -``` - -Both `m` and `e` have a value since at the column the parser stopped it already was able to construct a minimally valid `SyslogMessage`. - -### Builder - -This library also provides a builder to construct valid syslog messages. - -Notice that its API ignores input values that does not match the grammar. - -Let's have a look to an example. - -```go -msg := &SyslogMessage{} -msg.SetTimestamp("not a RFC3339MICRO timestamp") -msg.Valid() // Not yet a valid message (try msg.Valid()) -msg.SetPriority(191) -msg.SetVersion(1) -msg.Valid() // Now it is minimally valid -``` - -Printing `msg` you will verify it contains a `nil` timestamp (since an invalid one has been given). - -```go -// (*rfc5424.SyslogMessage)({ -// priority: (*uint8)(191), -// facility: (*uint8)(23), -// severity: (*uint8)(7), -// version: (uint16) 1, -// timestamp: (*time.Time)(), -// hostname: (*string)(), -// appname: (*string)(), -// procID: (*string)(), -// msgID: (*string)(), -// structuredData: (*map[string]map[string]string)(), -// message: (*string)() -// }) -``` - -Finally you can serialize the message into a string. - -```go -str, _ := msg.String() -// <191>1 - - - - - - -``` - -## Message transfer - -Excluding encapsulating one message for packet in packet protocols there are two ways to transfer syslog messages over streams. - -The older - ie., the **non-transparent** framing - and the newer one - ie., the **octet counting** framing - which is reliable and has not been seen to cause problems noted with the non-transparent one. - -This library provide stream parsers for both. - -### Octet counting - -In short, [RFC5425](https://tools.ietf.org/html/rfc5425#section-4.3) and [RFC6587](), aside from the protocol considerations, describe a **transparent framing** technique for syslog messages that uses the **octect counting** technique - ie., the message lenght of the incoming message. - -Each syslog message is sent with a prefix representing the number of bytes it is made of. - -This [package](./octetcounting) parses messages stream following such rule. - -To quickly understand how to use it please have a look at the [example file](./octetcounting/example_test.go). - -### Non transparent - -The [RFC6587](https://tools.ietf.org/html/rfc6587#section-3.4.2) also describes the **non-transparent framing** transport of syslog messages. - -In such case the messages are separated by a trailer, usually a line feed. - -This [package](./nontransparent) parses message stream following such [technique](https://tools.ietf.org/html/rfc6587#section-3.4.2). - -To quickly understand how to use it please have a look at the [example file](./nontransparent/example_test.go). - -Things we do not support: - -- trailers other than `LF` or `NUL` -- trailer which length is greater than 1 byte -- trailer change on a frame-by-frame basis - -## Performances - -To run the benchmark execute the following command. - -```bash -make bench -``` - -On my machine[1](#mymachine) this are the results obtained in best effort mode. - -``` -[no]_empty_input__________________________________-4 30000000 253 ns/op 224 B/op 3 allocs/op -[no]_multiple_syslog_messages_on_multiple_lines___-4 20000000 433 ns/op 304 B/op 12 allocs/op -[no]_impossible_timestamp_________________________-4 10000000 1080 ns/op 528 B/op 11 allocs/op -[no]_malformed_structured_data____________________-4 20000000 552 ns/op 400 B/op 12 allocs/op -[no]_with_duplicated_structured_data_id___________-4 5000000 1246 ns/op 688 B/op 17 allocs/op -[ok]_minimal______________________________________-4 30000000 264 ns/op 247 B/op 9 allocs/op -[ok]_average_message______________________________-4 5000000 1984 ns/op 1536 B/op 26 allocs/op -[ok]_complicated_message__________________________-4 5000000 1644 ns/op 1280 B/op 25 allocs/op -[ok]_very_long_message____________________________-4 2000000 3826 ns/op 2464 B/op 28 allocs/op -[ok]_all_max_length_and_complete__________________-4 3000000 2792 ns/op 1888 B/op 28 allocs/op -[ok]_all_max_length_except_structured_data_and_mes-4 5000000 1830 ns/op 883 B/op 13 allocs/op -[ok]_minimal_with_message_containing_newline______-4 20000000 294 ns/op 250 B/op 10 allocs/op -[ok]_w/o_procid,_w/o_structured_data,_with_message-4 10000000 956 ns/op 364 B/op 11 allocs/op -[ok]_minimal_with_UTF-8_message___________________-4 20000000 586 ns/op 359 B/op 10 allocs/op -[ok]_with_structured_data_id,_w/o_structured_data_-4 10000000 998 ns/op 592 B/op 14 allocs/op -[ok]_with_multiple_structured_data________________-4 5000000 1538 ns/op 1232 B/op 22 allocs/op -[ok]_with_escaped_backslash_within_structured_data-4 5000000 1316 ns/op 920 B/op 20 allocs/op -[ok]_with_UTF-8_structured_data_param_value,_with_-4 5000000 1580 ns/op 1050 B/op 21 allocs/op -``` - -As you can see it takes: - -* ~250ns to parse the smallest legal message - -* ~2µs to parse an average legal message - -* ~4µs to parse a very long legal message - -Other RFC5424 implementations, like this [one](https://github.com/roguelazer/rust-syslog-rfc5424) in Rust, spend 8µs to parse an average legal message. - -_TBD: comparation against other golang parsers_. - ---- - -* [1]: Intel Core i7-7600U CPU @ 2.80GHz \ No newline at end of file diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/options.go b/vendor/github.com/influxdata/go-syslog/v2/rfc5424/options.go deleted file mode 100644 index e83173d26e70..000000000000 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/options.go +++ /dev/null @@ -1,13 +0,0 @@ -package rfc5424 - -import ( - syslog "github.com/influxdata/go-syslog/v2" -) - -// WithBestEffort enables the best effort mode. -func WithBestEffort() syslog.MachineOption { - return func(m syslog.Machine) syslog.Machine { - m.WithBestEffort() - return m - } -} diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/syslog_message.go b/vendor/github.com/influxdata/go-syslog/v2/rfc5424/syslog_message.go deleted file mode 100644 index b6e1b64e1711..000000000000 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/syslog_message.go +++ /dev/null @@ -1,291 +0,0 @@ -package rfc5424 - -import ( - "time" -) - -type syslogMessage struct { - prioritySet bool // We explictly flag the setting of priority since its zero value is a valid priority by RFC 5424 - timestampSet bool // We explictly flag the setting of timestamp since its zero value is a valid timestamp by RFC 5424 - hasElements bool - priority uint8 - version uint16 - timestamp time.Time - hostname string - appname string - procID string - msgID string - structuredData map[string]map[string]string - message string -} - -func (sm *syslogMessage) valid() bool { - if sm.prioritySet && sm.version > 0 && sm.version <= 999 { - return true - } - - return false -} - -func (sm *syslogMessage) export() *SyslogMessage { - out := &SyslogMessage{} - if sm.prioritySet { - out.setPriority(sm.priority) - } - if sm.version > 0 && sm.version <= 999 { - out.version = sm.version - } - if sm.timestampSet { - out.timestamp = &sm.timestamp - } - if sm.hostname != "-" && sm.hostname != "" { - out.hostname = &sm.hostname - } - if sm.appname != "-" && sm.appname != "" { - out.appname = &sm.appname - } - if sm.procID != "-" && sm.procID != "" { - out.procID = &sm.procID - } - if sm.msgID != "-" && sm.msgID != "" { - out.msgID = &sm.msgID - } - if sm.hasElements { - out.structuredData = &sm.structuredData - } - if sm.message != "" { - out.message = &sm.message - } - - return out -} - -// SyslogMessage represents a syslog message. -type SyslogMessage struct { - priority *uint8 - facility *uint8 - severity *uint8 - version uint16 // Grammar mandates that version cannot be 0, so we can use the 0 value of uint16 to signal nil - timestamp *time.Time - hostname *string - appname *string - procID *string - msgID *string - structuredData *map[string]map[string]string - message *string -} - -// Valid tells whether the receiving SyslogMessage is well-formed or not. -// -// A minimally well-formed syslog message contains at least a priority ([1, 191] or 0) and the version (]0, 999]). -func (sm *SyslogMessage) Valid() bool { - // A nil priority or a 0 version means that the message is not valid - // Not checking the priority range since it's parser responsibility - if sm.priority != nil && *sm.priority >= 0 && *sm.priority <= 191 && sm.version > 0 && sm.version <= 999 { - return true - } - - return false -} - -// Priority returns the syslog priority or nil when not set -func (sm *SyslogMessage) Priority() *uint8 { - return sm.priority -} - -// Version returns the syslog version or nil when not set -func (sm *SyslogMessage) Version() uint16 { - return sm.version -} -func (sm *SyslogMessage) setPriority(value uint8) { - sm.priority = &value - facility := uint8(value / 8) - severity := uint8(value % 8) - sm.facility = &facility - sm.severity = &severity -} - -// Facility returns the facility code. -func (sm *SyslogMessage) Facility() *uint8 { - return sm.facility -} - -// Severity returns the severity code. -func (sm *SyslogMessage) Severity() *uint8 { - return sm.severity -} - -// FacilityMessage returns the text message for the current facility value. -func (sm *SyslogMessage) FacilityMessage() *string { - if sm.facility != nil { - msg := facilities[*sm.facility] - return &msg - } - - return nil -} - -// FacilityLevel returns the -func (sm *SyslogMessage) FacilityLevel() *string { - if sm.facility != nil { - if msg, ok := facilityKeywords[*sm.facility]; ok { - return &msg - } - - // Fallback to facility message - msg := facilities[*sm.facility] - return &msg - } - - return nil -} - -// SeverityMessage returns the text message for the current severity value. -func (sm *SyslogMessage) SeverityMessage() *string { - if sm.severity != nil { - msg := severityMessages[*sm.severity] - return &msg - } - - return nil -} - -// SeverityLevel returns the text level for the current severity value. -func (sm *SyslogMessage) SeverityLevel() *string { - if sm.severity != nil { - msg := severityLevels[*sm.severity] - return &msg - } - - return nil -} - -// SeverityShortLevel returns the short text level for the current severity value. -func (sm *SyslogMessage) SeverityShortLevel() *string { - if sm.severity != nil { - msg := severityLevelsShort[*sm.severity] - return &msg - } - - return nil -} - -var severityMessages = map[uint8]string{ - 0: "system is unusable", - 1: "action must be taken immediately", - 2: "critical conditions", - 3: "error conditions", - 4: "warning conditions", - 5: "normal but significant condition", - 6: "informational messages", - 7: "debug-level messages", -} - -var severityLevels = map[uint8]string{ - 0: "emergency", - 1: "alert", - 2: "critical", - 3: "error", - 4: "warning", - 5: "notice", - 6: "informational", - 7: "debug", -} - -// As per https://github.com/torvalds/linux/blob/master/tools/include/linux/kern_levels.h and syslog(3) -var severityLevelsShort = map[uint8]string{ - 0: "emerg", - 1: "alert", - 2: "crit", - 3: "err", - 4: "warning", - 5: "notice", - 6: "info", - 7: "debug", -} - -var facilities = map[uint8]string{ - 0: "kernel messages", - 1: "user-level messages", - 2: "mail system", - 3: "system daemons", - 4: "security/authorization messages", - 5: "messages generated internally by syslogd", - 6: "line printer subsystem", - 7: "network news subsystem", - 8: "UUCP subsystem", - 9: "clock daemon", - 10: "security/authorization messages", - 11: "FTP daemon", - 12: "NTP subsystem", - 13: "log audit", - 14: "log alert", - 15: "clock daemon (note 2)", // (todo) > some sources reporting "scheduling daemon" - 16: "local use 0 (local0)", - 17: "local use 1 (local1)", - 18: "local use 2 (local2)", - 19: "local use 3 (local3)", - 20: "local use 4 (local4)", - 21: "local use 5 (local5)", - 22: "local use 6 (local6)", - 23: "local use 7 (local7)", -} - -// As per syslog(3) -var facilityKeywords = map[uint8]string{ - 0: "kern", - 1: "user", - 2: "mail", - 3: "daemon", - 4: "auth", - 5: "syslog", - 6: "lpr", - 7: "news", - 8: "uucp", - 10: "authpriv", - 11: "ftp", - 15: "cron", - 16: "local0", - 17: "local1", - 18: "local2", - 19: "local3", - 20: "local4", - 21: "local5", - 22: "local6", - 23: "local7", -} - -// Timestamp returns the syslog timestamp or nil when not set -func (sm *SyslogMessage) Timestamp() *time.Time { - return sm.timestamp -} - -// Hostname returns the syslog hostname or nil when not set -func (sm *SyslogMessage) Hostname() *string { - return sm.hostname -} - -// ProcID returns the syslog proc ID or nil when not set -func (sm *SyslogMessage) ProcID() *string { - return sm.procID -} - -// Appname returns the syslog appname or nil when not set -func (sm *SyslogMessage) Appname() *string { - return sm.appname -} - -// MsgID returns the syslog msg ID or nil when not set -func (sm *SyslogMessage) MsgID() *string { - return sm.msgID -} - -// Message returns the syslog message or nil when not set -func (sm *SyslogMessage) Message() *string { - return sm.message -} - -// StructuredData returns the syslog structured data or nil when not set -func (sm *SyslogMessage) StructuredData() *map[string]map[string]string { - return sm.structuredData -} diff --git a/vendor/github.com/influxdata/go-syslog/v2/syslog.go b/vendor/github.com/influxdata/go-syslog/v2/syslog.go deleted file mode 100644 index 5062050e7bd0..000000000000 --- a/vendor/github.com/influxdata/go-syslog/v2/syslog.go +++ /dev/null @@ -1,63 +0,0 @@ -// Package syslog provides generic interfaces and structs for syslog messages and transport. -// Subpackages contains various parsers or scanners for different syslog formats. -package syslog - -import ( - "io" - "time" -) - -// BestEfforter is an interface that wraps the HasBestEffort method. -type BestEfforter interface { - WithBestEffort() - HasBestEffort() bool -} - -// Machine represent a FSM able to parse an entire syslog message and return it in an structured way. -type Machine interface { - Parse(input []byte) (Message, error) - BestEfforter -} - -// MachineOption represents the type of option setters for Machine instances. -type MachineOption func(m Machine) Machine - -// Parser is an interface that wraps the Parse method. -type Parser interface { - Parse(r io.Reader) - WithListener(ParserListener) - BestEfforter -} - -// ParserOption represent the type of option setters for Parser instances. -type ParserOption func(p Parser) Parser - -// ParserListener is a function that receives syslog parsing results, one by one. -type ParserListener func(*Result) - -// Result wraps the outcomes obtained parsing a syslog message. -type Result struct { - Message Message - Error error -} - -// Message represent a structured representation of a syslog message. -type Message interface { - Valid() bool - Priority() *uint8 - Version() uint16 - Facility() *uint8 - Severity() *uint8 - FacilityMessage() *string - FacilityLevel() *string - SeverityMessage() *string - SeverityLevel() *string - SeverityShortLevel() *string - Timestamp() *time.Time - Hostname() *string - ProcID() *string - Appname() *string - MsgID() *string - Message() *string - StructuredData() *map[string]map[string]string -} diff --git a/vendor/github.com/influxdata/go-syslog/v2/.gitignore b/vendor/github.com/influxdata/go-syslog/v3/.gitignore similarity index 100% rename from vendor/github.com/influxdata/go-syslog/v2/.gitignore rename to vendor/github.com/influxdata/go-syslog/v3/.gitignore diff --git a/vendor/github.com/influxdata/go-syslog/v2/LICENSE b/vendor/github.com/influxdata/go-syslog/v3/LICENSE similarity index 100% rename from vendor/github.com/influxdata/go-syslog/v2/LICENSE rename to vendor/github.com/influxdata/go-syslog/v3/LICENSE diff --git a/vendor/github.com/influxdata/go-syslog/v3/README.md b/vendor/github.com/influxdata/go-syslog/v3/README.md new file mode 100644 index 000000000000..6e91f3e8753e --- /dev/null +++ b/vendor/github.com/influxdata/go-syslog/v3/README.md @@ -0,0 +1,240 @@ +[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge)](LICENSE) + +**A parser for Syslog messages and transports**. + +> [Blazing fast](#Performances) Syslog parsers + +To wrap up, this package provides: + +- a [RFC5424-compliant parser and builder](/rfc5424) +- a [RFC3164-compliant parser](/rfc3164) - ie., BSD-syslog messages +- a parser which works on streams for syslog with [octet counting](https://tools.ietf.org/html/rfc5425#section-4.3) framing technique, see [octetcounting](/cotentcounting) +- a parser which works on streams for syslog with [non-transparent](https://tools.ietf.org/html/rfc6587#section-3.4.2) framing technique, see [nontransparent](/nontransparent) + +This library provides the pieces to parse Syslog messages transported following various RFCs. + +For example: + +- TLS with octet count ([RFC5425](https://tools.ietf.org/html/rfc5425)) +- TCP with non-transparent framing or with octet count ([RFC 6587](https://tools.ietf.org/html/rfc6587)) +- UDP carrying one message per packet ([RFC5426](https://tools.ietf.org/html/rfc5426)) + +## Installation + +``` +go get github.com/influxdata/go-syslog/v3 +``` + +## Docs + +[![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=for-the-badge)](http://godoc.org/github.com/influxdata/go-syslog) + +The [docs](docs/) directory contains `.dot` files representing the finite-state machines (FSMs) implementing the syslog parsers and transports. + +## Usage + +Suppose you want to parse a given sequence of bytes as a RFC5424 message. + +_Notice that the same interface applies for RFC3164. But you can always take a look at the [examples file](./rfc3164/example_test.go)._ + +```go +i := []byte(`<165>4 2018-10-11T22:14:15.003Z mymach.it e - 1 [ex@32473 iut="3"] An application event log entry...`) +p := rfc5424.NewParser() +m, e := p.Parse(i) +``` + +This results in `m` being equal to: + +```go +// (*rfc5424.SyslogMessage)({ +// Base: (syslog.Base) { +// Facility: (*uint8)(20), +// Severity: (*uint8)(5), +// Priority: (*uint8)(165), +// Timestamp: (*time.Time)(2018-10-11 22:14:15.003 +0000 UTC), +// Hostname: (*string)((len=9) "mymach.it"), +// Appname: (*string)((len=1) "e"), +// ProcID: (*string)(), +// MsgID: (*string)((len=1) "1"), +// Message: (*string)((len=33) "An application event log entry...") +// }, +// Version: (uint16) 4, +// StructuredData: (*map[string]map[string]string)((len=1) { +// (string) (len=8) "ex@32473": (map[string]string) (len=1) { +// (string) (len=3) "iut": (string) (len=1) "3" +// } +// }) +// }) +``` + +And `e` being equal to `nil` since the `i` byte slice contains a perfectly valid RFC5424 message. + +### Best effort mode + +RFC5424 parser has the ability to perform partial matches (until it can). + +With this mode enabled, when the parsing process errors out it returns the message collected until that position, and the error that caused the parser to stop. + +Notice that in this modality the output is returned _iff_ it represents a minimally valid message - ie., a message containing almost a priority field in `[1,191]` within angular brackets, followed by a version in `]0,999]` (in the case of RFC5424). + +Let's look at an example. + +```go +i := []byte("<1>1 A - - - - - -") +p := NewParser(WithBestEffort()) +m, e := p.Parse(i) +``` + +This results in `m` being equal to the following `SyslogMessage` instance. + +```go +// (*rfc5424.SyslogMessage)({ +// Base: (syslog.Base) { +// Facility: (*uint8)(0), +// Severity: (*uint8)(1), +// Priority: (*uint8)(1), +// Timestamp: (*time.Time)(), +// Hostname: (*string)(), +// Appname: (*string)(), +// ProcID: (*string)(), +// MsgID: (*string)(), +// Message: (*string)() +// }, +// Version: (uint16) 1, +// StructuredData: (*map[string]map[string]string)() +// }) +``` + +And, at the same time, in `e` reporting the error that actually stopped the parser. + +```go +// expecting a RFC3339MICRO timestamp or a nil value [col 5] +``` + +Both `m` and `e` have a value since at the column the parser stopped it already was able to construct a minimally valid RFC5424 `SyslogMessage`. + +### Builder + +This library also provides a builder to construct valid syslog messages. + +Notice that its API ignores input values that does not match the grammar. + +Let's have a look to an example. + +```go +msg := &rfc5424.SyslogMessage{} +msg.SetTimestamp("not a RFC3339MICRO timestamp") +msg.Valid() // Not yet a valid message (try msg.Valid()) +msg.SetPriority(191) +msg.SetVersion(1) +msg.Valid() // Now it is minimally valid +``` + +Printing `msg` you will verify it contains a `nil` timestamp (since an invalid one has been given). + +```go +// (*rfc5424.SyslogMessage)({ +// Base: (syslog.Base) { +// Facility: (*uint8)(23), +// Severity: (*uint8)(7), +// Priority: (*uint8)(191), +// Timestamp: (*time.Time)(), +// Hostname: (*string)(), +// Appname: (*string)(), +// ProcID: (*string)(), +// MsgID: (*string)(), +// Message: (*string)() +// }, +// Version: (uint16) 1, +// StructuredData: (*map[string]map[string]string)() +// }) +``` + +Finally you can serialize the message into a string. + +```go +str, _ := msg.String() +// <191>1 - - - - - - +``` + +## Message transfer + +Excluding encapsulating one message for packet in packet protocols there are two ways to transfer syslog messages over streams. + +The older - ie., the **non-transparent** framing - and the newer one - ie., the **octet counting** framing - which is reliable and has not been seen to cause problems noted with the non-transparent one. + +This library provide stream parsers for both. + +### Octet counting + +In short, [RFC5425](https://tools.ietf.org/html/rfc5425#section-4.3) and [RFC6587](https://tools.ietf.org/html/rfc6587), aside from the protocol considerations, describe a **transparent framing** technique for Syslog messages that uses the **octect counting** technique - ie., the message length of the incoming message. + +Each Syslog message is sent with a prefix representing the number of bytes it is made of. + +The [octecounting package](./octetcounting) parses messages stream following such rule. + +To quickly understand how to use it please have a look at the [example file](./octetcounting/example_test.go). + +### Non transparent + +The [RFC6587](https://tools.ietf.org/html/rfc6587#section-3.4.2) also describes the **non-transparent framing** transport of syslog messages. + +In such case the messages are separated by a trailer, usually a line feed. + +The [nontransparent package](./nontransparent) parses message stream following such [technique](https://tools.ietf.org/html/rfc6587#section-3.4.2). + +To quickly understand how to use it please have a look at the [example file](./nontransparent/example_test.go). + +Things we do not support: + +- trailers other than `LF` or `NUL` +- trailers which length is greater than 1 byte +- trailer change on a frame-by-frame basis + +## Performances + +To run the benchmark execute the following command. + +```bash +make bench +``` + +On my machine[1](#mymachine) this are the results obtained paring RFC5424 syslog messages with best effort mode on. + +``` +[no]_empty_input__________________________________ 4524100 274 ns/op 272 B/op 4 allocs/op +[no]_multiple_syslog_messages_on_multiple_lines___ 3039513 361 ns/op 288 B/op 8 allocs/op +[no]_impossible_timestamp_________________________ 1244562 951 ns/op 512 B/op 11 allocs/op +[no]_malformed_structured_data____________________ 2389249 512 ns/op 512 B/op 9 allocs/op +[no]_with_duplicated_structured_data_id___________ 1000000 1183 ns/op 712 B/op 17 allocs/op +[ok]_minimal______________________________________ 6876235 178 ns/op 227 B/op 5 allocs/op +[ok]_average_message______________________________ 730473 1653 ns/op 1520 B/op 24 allocs/op +[ok]_complicated_message__________________________ 908776 1344 ns/op 1264 B/op 24 allocs/op +[ok]_very_long_message____________________________ 392737 3114 ns/op 2448 B/op 25 allocs/op +[ok]_all_max_length_and_complete__________________ 510740 2431 ns/op 1872 B/op 28 allocs/op +[ok]_all_max_length_except_structured_data_and_mes 755124 1593 ns/op 867 B/op 13 allocs/op +[ok]_minimal_with_message_containing_newline______ 6142984 199 ns/op 230 B/op 6 allocs/op +[ok]_w/o_procid,_w/o_structured_data,_with_message 1670286 732 ns/op 348 B/op 10 allocs/op +[ok]_minimal_with_UTF-8_message___________________ 3013480 407 ns/op 339 B/op 6 allocs/op +[ok]_minimal_with_UTF-8_message_starting_with_BOM_ 2926410 423 ns/op 355 B/op 6 allocs/op +[ok]_with_structured_data_id,_w/o_structured_data_ 1558971 814 ns/op 570 B/op 11 allocs/op +[ok]_with_multiple_structured_data________________ 1000000 1243 ns/op 1205 B/op 16 allocs/op +[ok]_with_escaped_backslash_within_structured_data 1000000 1025 ns/op 896 B/op 17 allocs/op +[ok]_with_UTF-8_structured_data_param_value,_with_ 1000000 1241 ns/op 1034 B/op 19 allocs/op +``` + +As you can see it takes: + +* ~250ns to parse the smallest legal message + +* less than 2µs to parse an average legal message + +* ~3µs to parse a very long legal message + +Other RFC5424 implementations, like this [one](https://github.com/roguelazer/rust-syslog-rfc5424) in Rust, spend 8µs to parse an average legal message. + +_TBD: comparison against other Go parsers_. + +--- + +* [1]: Intel Core i7-8850H CPU @ 2.60GHz \ No newline at end of file diff --git a/vendor/github.com/influxdata/go-syslog/v2/common/common.rl b/vendor/github.com/influxdata/go-syslog/v3/common/common.rl similarity index 54% rename from vendor/github.com/influxdata/go-syslog/v2/common/common.rl rename to vendor/github.com/influxdata/go-syslog/v3/common/common.rl index 5930440ab950..00c8b14293bb 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/common/common.rl +++ b/vendor/github.com/influxdata/go-syslog/v3/common/common.rl @@ -16,18 +16,26 @@ bs = 0x5C; # ", ], \ toescape = (dq | csb | bs); +# 1..9 +nonzerodigit = '1'..'9'; + # 0..59 sexagesimal = '0'..'5' . '0'..'9'; # 01..31 -datemday = ('0' . '1'..'9' | '1'..'2' . '0'..'9' | '3' . '0'..'1'); +datemday_2digit = ('0' . nonzerodigit | '1'..'2' . '0'..'9' | '3' . '0'..'1'); + +# 1 .. 9, 10..31 +datemday = (sp . nonzerodigit | '1'..'2' . '0'..'9' | '3' . '0'..'1'); # 01..12 -datemonth = ('0' . '1'..'9' | '1' . '0'..'2'); +datemonth = ('0' . nonzerodigit | '1' . '0'..'2'); + +datemmm = ('Jan' | 'Feb' | 'Mar' | 'Apr' | 'May' | 'Jun' | 'Jul' | 'Aug' | 'Sep' | 'Oct' | 'Nov' | 'Dec'); datefullyear = digit{4}; -fulldate = datefullyear '-' datemonth '-' datemday; +fulldate = datefullyear '-' datemonth '-' datemday_2digit; # 01..23 timehour = ('0'..'1' . '0'..'9' | '2' . '0'..'3'); @@ -42,21 +50,27 @@ timenumoffset = ('+' | '-') timehour ':' timeminute; timeoffset = 'Z' | timenumoffset; -partialtime = timehour ':' timeminute ':' timesecond . timesecfrac?; +hhmmss = timehour ':' timeminute ':' timesecond; + +partialtime = hhmmss . timesecfrac?; fulltime = partialtime . timeoffset; -printusascii = '!'..'~'; +# 1..191 +privalrange = (('1' ('9' ('0'..'1'){,1} | '0'..'8' ('0'..'9'){,1}){,1}) | ('2'..'9' ('0'..'9'){,1})); + +# 1..191 or 0 +prival = (privalrange | '0'); -hostnamerange = printusascii{1,255}; +hostnamerange = graph{1,255}; -appnamerange = printusascii{1,48}; +appnamerange = graph{1,48}; -procidrange = printusascii{1,128}; +procidrange = graph{1,128}; -msgidrange = printusascii{1,32}; +msgidrange = graph{1,32}; -sdname = (printusascii - ('=' | sp | csb | dq)){1,32}; +sdname = (graph - ('=' | sp | csb | dq)){1,32}; # rfc 3629 utf8tail = 0x80..0xBF; diff --git a/vendor/github.com/influxdata/go-syslog/v3/common/facility.go b/vendor/github.com/influxdata/go-syslog/v3/common/facility.go new file mode 100644 index 000000000000..357c6e0c649b --- /dev/null +++ b/vendor/github.com/influxdata/go-syslog/v3/common/facility.go @@ -0,0 +1,59 @@ +package common + +// Facility maps facility numeric codes to facility string messages. +// As per RFC 5427. +var Facility = map[uint8]string{ + 0: "kernel messages", + 1: "user-level messages", + 2: "mail system messages", + 3: "system daemons messages", + 4: "authorization messages", + 5: "messages generated internally by syslogd", + 6: "line printer subsystem messages", + 7: "network news subsystem messages", + 8: "UUCP subsystem messages", + 9: "clock daemon messages", + 10: "security/authorization messages", + 11: "ftp daemon messages", + 12: "NTP subsystem messages", + 13: "audit messages", + 14: "console messages", + 15: "clock daemon messages", + 16: "local use 0 (local0)", + 17: "local use 1 (local1)", + 18: "local use 2 (local2)", + 19: "local use 3 (local3)", + 20: "local use 4 (local4)", + 21: "local use 5 (local5)", + 22: "local use 6 (local6)", + 23: "local use 7 (local7)", +} + +// FacilityKeywords maps facility numeric codes to facility keywords. +// As per RFC 5427. +var FacilityKeywords = map[uint8]string{ + 0: "kern", + 1: "user", + 2: "mail", + 3: "daemon", + 4: "auth", + 5: "syslog", + 6: "lpr", + 7: "news", + 8: "uucp", + 9: "cron", + 10: "authpriv", + 11: "ftp", + 12: "ntp", + 13: "security", + 14: "console", + 15: "cron2", + 16: "local0", + 17: "local1", + 18: "local2", + 19: "local3", + 20: "local4", + 21: "local5", + 22: "local6", + 23: "local7", +} diff --git a/vendor/github.com/influxdata/go-syslog/v2/common/functions.go b/vendor/github.com/influxdata/go-syslog/v3/common/functions.go similarity index 72% rename from vendor/github.com/influxdata/go-syslog/v2/common/functions.go rename to vendor/github.com/influxdata/go-syslog/v3/common/functions.go index e24a00edea38..ce2880c82bc7 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/common/functions.go +++ b/vendor/github.com/influxdata/go-syslog/v3/common/functions.go @@ -40,3 +40,18 @@ func EscapeBytes(value string) string { return res } + +// InBetween tells whether value is into [min, max] range. +func InBetween(val, min, max int) bool { + return val >= min && val <= max +} + +// ValidPriority checks whether the given value is in the priority range [0, 191]. +func ValidPriority(priority uint8) bool { + return InBetween(int(priority), 0, 191) +} + +// ValidVersion checks whether the given value is in the version range [1, 999]. +func ValidVersion(version uint16) bool { + return InBetween(int(version), 1, 999) +} diff --git a/vendor/github.com/influxdata/go-syslog/v3/common/severity.go b/vendor/github.com/influxdata/go-syslog/v3/common/severity.go new file mode 100644 index 000000000000..c8144ce7d6d2 --- /dev/null +++ b/vendor/github.com/influxdata/go-syslog/v3/common/severity.go @@ -0,0 +1,38 @@ +package common + +// SeverityMessages maps severity levels to severity string messages. +var SeverityMessages = map[uint8]string{ + 0: "system is unusable", + 1: "action must be taken immediately", + 2: "critical conditions", + 3: "error conditions", + 4: "warning conditions", + 5: "normal but significant condition", + 6: "informational messages", + 7: "debug-level messages", +} + +// SeverityLevels maps seveirty levels to severity string levels. +var SeverityLevels = map[uint8]string{ + 0: "emergency", + 1: "alert", + 2: "critical", + 3: "error", + 4: "warning", + 5: "notice", + 6: "informational", + 7: "debug", +} + +// SeverityLevelsShort maps severity levels to severity short string levels +// as per https://github.com/torvalds/linux/blob/master/tools/include/linux/kern_levels.h and syslog(3). +var SeverityLevelsShort = map[uint8]string{ + 0: "emerg", + 1: "alert", + 2: "crit", + 3: "err", + 4: "warning", + 5: "notice", + 6: "info", + 7: "debug", +} \ No newline at end of file diff --git a/vendor/github.com/influxdata/go-syslog/v2/go.mod b/vendor/github.com/influxdata/go-syslog/v3/go.mod similarity index 72% rename from vendor/github.com/influxdata/go-syslog/v2/go.mod rename to vendor/github.com/influxdata/go-syslog/v3/go.mod index 37469c3b63c8..c4107f45b8f9 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/go.mod +++ b/vendor/github.com/influxdata/go-syslog/v3/go.mod @@ -1,8 +1,11 @@ -module github.com/influxdata/go-syslog/v2 +module github.com/influxdata/go-syslog/v3 require ( github.com/davecgh/go-spew v1.1.1 github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165 github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/testify v1.2.2 + golang.org/x/text v0.3.2 ) + +go 1.13 diff --git a/vendor/github.com/influxdata/go-syslog/v2/go.sum b/vendor/github.com/influxdata/go-syslog/v3/go.sum similarity index 78% rename from vendor/github.com/influxdata/go-syslog/v2/go.sum rename to vendor/github.com/influxdata/go-syslog/v3/go.sum index 90c6e5701488..1f13e8ef0e43 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/go.sum +++ b/vendor/github.com/influxdata/go-syslog/v3/go.sum @@ -8,3 +8,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/github.com/influxdata/go-syslog/v2/makefile b/vendor/github.com/influxdata/go-syslog/v3/makefile similarity index 53% rename from vendor/github.com/influxdata/go-syslog/v2/makefile rename to vendor/github.com/influxdata/go-syslog/v3/makefile index 897e0a741a29..f649865f448d 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/makefile +++ b/vendor/github.com/influxdata/go-syslog/v3/makefile @@ -4,8 +4,9 @@ RAGEL := ragel -I common export GO_TEST=env GOTRACEBACK=all GO111MODULE=on go test $(GO_ARGS) .PHONY: build -build: rfc5424/machine.go rfc5424/builder.go nontransparent/parser.go +build: rfc5424/machine.go rfc5424/builder.go nontransparent/parser.go rfc3164/machine.go @gofmt -w -s ./rfc5424 + @gofmt -w -s ./rfc3164 @gofmt -w -s ./octetcounting @gofmt -w -s ./nontransparent @@ -13,12 +14,21 @@ rfc5424/machine.go: rfc5424/machine.go.rl common/common.rl rfc5424/builder.go: rfc5424/builder.go.rl common/common.rl +rfc3164/machine.go: rfc3164/machine.go.rl common/common.rl + +nontransparent/parser.go: nontransparent/parser.go.rl + rfc5424/builder.go rfc5424/machine.go: $(RAGEL) -Z -G2 -e -o $@ $< @sed -i '/^\/\/line/d' $@ $(MAKE) file=$@ snake2camel -nontransparent/parser.go: nontransparent/parser.go.rl +rfc3164/machine.go: + $(RAGEL) -Z -G2 -e -o $@ $< + @sed -i '/^\/\/line/d' $@ + $(MAKE) file=$@ snake2camel + +nontransparent/parser.go: $(RAGEL) -Z -G2 -e -o $@ $< @sed -i '/^\/\/line/d' $@ $(MAKE) file=$@ snake2camel @@ -42,6 +52,9 @@ tests: docs/nontransparent.dot: nontransparent/parser.go.rl $(RAGEL) -Z -Vp $< -o $@ +docs/nontransparent.png: docs/nontransparent.dot + dot $< -Tpng -o $@ + docs/rfc5424.dot: rfc5424/machine.go.rl common/common.rl $(RAGEL) -Z -Vp $< -o $@ @@ -99,17 +112,68 @@ docs/rfc5424_msg.dot: rfc5424/machine.go.rl common/common.rl docs/rfc5424_msg.png: docs/rfc5424_msg.dot dot $< -Tpng -o $@ +docs/rfc5424_msg_any.dot: rfc5424/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M msg_any $< -o $@ + +docs/rfc5424_msg_any.png: docs/rfc5424_msg_any.dot + dot $< -Tpng -o $@ + +docs/rfc5424_msg_compliant.dot: rfc5424/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M msg_compliant $< -o $@ + +docs/rfc5424_msg_compliant.png: docs/rfc5424_msg_compliant.dot + dot $< -Tpng -o $@ + +docs/rfc3164.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp $< -o $@ + +docs/rfc3164_pri.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M pri $< -o $@ + +docs/rfc3164_pri.png: docs/rfc3164_pri.dot + dot $< -Tpng -o $@ + +docs/rfc3164_timestamp.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M timestamp $< -o $@ + +docs/rfc3164_timestamp.png: docs/rfc3164_timestamp.dot + dot $< -Tpng -o $@ + +docs/rfc3164_hostname.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M hostname $< -o $@ + +docs/rfc3164_hostname.png: docs/rfc3164_hostname.dot + dot $< -Tpng -o $@ + +docs/rfc3164_tag.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M tag $< -o $@ + +docs/rfc3164_tag.png: docs/rfc3164_tag.dot + dot $< -Tpng -o $@ + +docs/rfc3164_content.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M content $< -o $@ + +docs/rfc3164_content.png: docs/rfc3164_content.dot + dot $< -Tpng -o $@ + +docs/rfc3164_msg.dot: rfc3164/machine.go.rl common/common.rl + $(RAGEL) -Z -Vp -M msg $< -o $@ + +docs/rfc3164_msg.png: docs/rfc3164_msg.dot + dot $< -Tpng -o $@ + docs: @mkdir -p docs .PHONY: dots dots: docs - $(MAKE) -s docs/rfc5424.dot docs/nontransparent.dot docs/rfc5424_pri.dot docs/rfc5424_version.dot docs/rfc5424_timestamp.dot docs/rfc5424_hostname.dot docs/rfc5424_appname.dot docs/rfc5424_procid.dot docs/rfc5424_msgid.dot docs/rfc5424_structureddata.dot docs/rfc5424_msg.dot + $(MAKE) -s docs/nontransparent.dot docs/rfc5424.dot docs/rfc5424_pri.dot docs/rfc5424_version.dot docs/rfc5424_timestamp.dot docs/rfc5424_hostname.dot docs/rfc5424_appname.dot docs/rfc5424_procid.dot docs/rfc5424_msgid.dot docs/rfc5424_structureddata.dot docs/rfc5424_msg.dot docs/rfc5424_msg_any.dot docs/rfc5424_msg_compliant.dot docs/rfc3164.dot docs/rfc3164_pri.dot docs/rfc3164_timestamp.dot docs/rfc3164_hostname.dot docs/rfc3164_tag.dot docs/rfc3164_content.dot docs/rfc3164_msg.dot -.PHONY: graph -graph: dots docs/rfc5424_pri.png docs/rfc5424_version.png docs/rfc5424_timestamp.png docs/rfc5424_hostname.png docs/rfc5424_appname.png docs/rfc5424_procid.png docs/rfc5424_msgid.png docs/rfc5424_structureddata.png docs/rfc5424_msg.png +.PHONY: imgs +imgs: dots docs/nontransparent.png docs/rfc5424_pri.png docs/rfc5424_version.png docs/rfc5424_timestamp.png docs/rfc5424_hostname.png docs/rfc5424_appname.png docs/rfc5424_procid.png docs/rfc5424_msgid.png docs/rfc5424_structureddata.png docs/rfc5424_msg.png docs/rfc5424_msg_any.png docs/rfc5424_msg_compliant.png docs/rfc3164_pri.png docs/rfc3164_timestamp.png docs/rfc3164_hostname.png docs/rfc3164_tag.png docs/rfc3164_content.png docs/rfc3164_msg.png .PHONY: clean -clean: rfc5424/machine.go nontransparent/parser.go +clean: rfc5424/machine.go rfc5424/builder.go nontransparent/parser.go rfc3164/machine.go @rm -f $? @rm -rf docs diff --git a/vendor/github.com/influxdata/go-syslog/v2/nontransparent/parser.go b/vendor/github.com/influxdata/go-syslog/v3/nontransparent/parser.go similarity index 98% rename from vendor/github.com/influxdata/go-syslog/v2/nontransparent/parser.go rename to vendor/github.com/influxdata/go-syslog/v3/nontransparent/parser.go index 937e012a2d95..4eae95d37846 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/nontransparent/parser.go +++ b/vendor/github.com/influxdata/go-syslog/v3/nontransparent/parser.go @@ -3,8 +3,8 @@ package nontransparent import ( "io" - syslog "github.com/influxdata/go-syslog/v2" - "github.com/influxdata/go-syslog/v2/rfc5424" + syslog "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/rfc5424" parser "github.com/leodido/ragel-machinery/parser" ) diff --git a/vendor/github.com/influxdata/go-syslog/v2/nontransparent/parser.go.rl b/vendor/github.com/influxdata/go-syslog/v3/nontransparent/parser.go.rl similarity index 97% rename from vendor/github.com/influxdata/go-syslog/v2/nontransparent/parser.go.rl rename to vendor/github.com/influxdata/go-syslog/v3/nontransparent/parser.go.rl index 67e7f700ef1b..1dde434e6d97 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/nontransparent/parser.go.rl +++ b/vendor/github.com/influxdata/go-syslog/v3/nontransparent/parser.go.rl @@ -4,8 +4,8 @@ import ( "io" parser "github.com/leodido/ragel-machinery/parser" - syslog "github.com/influxdata/go-syslog/v2" - "github.com/influxdata/go-syslog/v2/rfc5424" + syslog "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/rfc5424" ) %%{ diff --git a/vendor/github.com/influxdata/go-syslog/v2/nontransparent/trailer_type.go b/vendor/github.com/influxdata/go-syslog/v3/nontransparent/trailer_type.go similarity index 100% rename from vendor/github.com/influxdata/go-syslog/v2/nontransparent/trailer_type.go rename to vendor/github.com/influxdata/go-syslog/v3/nontransparent/trailer_type.go diff --git a/vendor/github.com/influxdata/go-syslog/v2/octetcounting/parser.go b/vendor/github.com/influxdata/go-syslog/v3/octetcounting/parser.go similarity index 97% rename from vendor/github.com/influxdata/go-syslog/v2/octetcounting/parser.go rename to vendor/github.com/influxdata/go-syslog/v3/octetcounting/parser.go index b9546be77b43..c1f0c8813bc4 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/octetcounting/parser.go +++ b/vendor/github.com/influxdata/go-syslog/v3/octetcounting/parser.go @@ -4,8 +4,8 @@ import ( "fmt" "io" - syslog "github.com/influxdata/go-syslog/v2" - "github.com/influxdata/go-syslog/v2/rfc5424" + syslog "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/rfc5424" ) // parser is capable to parse the input stream containing syslog messages with octetcounting framing. diff --git a/vendor/github.com/influxdata/go-syslog/v2/octetcounting/scanner.go b/vendor/github.com/influxdata/go-syslog/v3/octetcounting/scanner.go similarity index 100% rename from vendor/github.com/influxdata/go-syslog/v2/octetcounting/scanner.go rename to vendor/github.com/influxdata/go-syslog/v3/octetcounting/scanner.go diff --git a/vendor/github.com/influxdata/go-syslog/v2/octetcounting/tokens.go b/vendor/github.com/influxdata/go-syslog/v3/octetcounting/tokens.go similarity index 100% rename from vendor/github.com/influxdata/go-syslog/v2/octetcounting/tokens.go rename to vendor/github.com/influxdata/go-syslog/v3/octetcounting/tokens.go diff --git a/vendor/github.com/influxdata/go-syslog/v2/options.go b/vendor/github.com/influxdata/go-syslog/v3/options.go similarity index 100% rename from vendor/github.com/influxdata/go-syslog/v2/options.go rename to vendor/github.com/influxdata/go-syslog/v3/options.go diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/builder.go b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/builder.go similarity index 60% rename from vendor/github.com/influxdata/go-syslog/v2/rfc5424/builder.go rename to vendor/github.com/influxdata/go-syslog/v3/rfc5424/builder.go index e73adc1be333..4aa3baaa9955 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/builder.go +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/builder.go @@ -5,20 +5,22 @@ import ( "sort" "time" - "github.com/influxdata/go-syslog/v2/common" + "github.com/influxdata/go-syslog/v3/common" ) -const builder_start int = 59 +// todo(leodido) > support best effort for builder ? -const builder_en_timestamp int = 8 -const builder_en_hostname int = 45 -const builder_en_appname int = 46 -const builder_en_procid int = 47 -const builder_en_msgid int = 48 -const builder_en_sdid int = 49 -const builder_en_sdpn int = 50 -const builder_en_sdpv int = 589 -const builder_en_msg int = 59 +const builderStart int = 52 + +const builderEnTimestamp int = 1 +const builderEnHostname int = 38 +const builderEnAppname int = 39 +const builderEnProcid int = 40 +const builderEnMsgid int = 41 +const builderEnSdid int = 42 +const builderEnSdpn int = 43 +const builderEnSdpv int = 582 +const builderEnMsg int = 52 type entrypoint int @@ -37,25 +39,25 @@ const ( func (e entrypoint) translate() int { switch e { case timestamp: - return builder_en_timestamp + return builderEnTimestamp case hostname: - return builder_en_hostname + return builderEnHostname case appname: - return builder_en_appname + return builderEnAppname case procid: - return builder_en_procid + return builderEnProcid case msgid: - return builder_en_msgid + return builderEnMsgid case sdid: - return builder_en_sdid + return builderEnSdid case sdpn: - return builder_en_sdpn + return builderEnSdpn case sdpv: - return builder_en_sdpv + return builderEnSdpv case msg: - return builder_en_msg + return builderEnMsg default: - return builder_start + return builderStart } } @@ -73,6001 +75,5972 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { { if p == pe { - goto _test_eof + goto _testEof } switch cs { - case 59: - goto st_case_59 - case 60: - goto st_case_60 - case 0: - goto st_case_0 + case 52: + goto stCase52 + case 53: + goto stCase53 case 1: - goto st_case_1 + goto stCase1 + case 0: + goto stCase0 case 2: - goto st_case_2 + goto stCase2 case 3: - goto st_case_3 + goto stCase3 case 4: - goto st_case_4 + goto stCase4 case 5: - goto st_case_5 + goto stCase5 case 6: - goto st_case_6 + goto stCase6 case 7: - goto st_case_7 + goto stCase7 case 8: - goto st_case_8 + goto stCase8 case 9: - goto st_case_9 + goto stCase9 case 10: - goto st_case_10 + goto stCase10 case 11: - goto st_case_11 + goto stCase11 case 12: - goto st_case_12 + goto stCase12 case 13: - goto st_case_13 + goto stCase13 case 14: - goto st_case_14 + goto stCase14 case 15: - goto st_case_15 + goto stCase15 case 16: - goto st_case_16 + goto stCase16 case 17: - goto st_case_17 + goto stCase17 case 18: - goto st_case_18 + goto stCase18 case 19: - goto st_case_19 + goto stCase19 case 20: - goto st_case_20 + goto stCase20 case 21: - goto st_case_21 + goto stCase21 case 22: - goto st_case_22 + goto stCase22 case 23: - goto st_case_23 + goto stCase23 case 24: - goto st_case_24 + goto stCase24 case 25: - goto st_case_25 + goto stCase25 + case 54: + goto stCase54 case 26: - goto st_case_26 + goto stCase26 case 27: - goto st_case_27 + goto stCase27 case 28: - goto st_case_28 + goto stCase28 case 29: - goto st_case_29 + goto stCase29 case 30: - goto st_case_30 + goto stCase30 case 31: - goto st_case_31 + goto stCase31 case 32: - goto st_case_32 - case 61: - goto st_case_61 + goto stCase32 case 33: - goto st_case_33 + goto stCase33 case 34: - goto st_case_34 + goto stCase34 case 35: - goto st_case_35 + goto stCase35 case 36: - goto st_case_36 + goto stCase36 case 37: - goto st_case_37 + goto stCase37 case 38: - goto st_case_38 - case 39: - goto st_case_39 - case 40: - goto st_case_40 - case 41: - goto st_case_41 - case 42: - goto st_case_42 - case 43: - goto st_case_43 - case 44: - goto st_case_44 - case 45: - goto st_case_45 + goto stCase38 + case 55: + goto stCase55 + case 56: + goto stCase56 + case 57: + goto stCase57 + case 58: + goto stCase58 + case 59: + goto stCase59 + case 60: + goto stCase60 + case 61: + goto stCase61 case 62: - goto st_case_62 + goto stCase62 case 63: - goto st_case_63 + goto stCase63 case 64: - goto st_case_64 + goto stCase64 case 65: - goto st_case_65 + goto stCase65 case 66: - goto st_case_66 + goto stCase66 case 67: - goto st_case_67 + goto stCase67 case 68: - goto st_case_68 + goto stCase68 case 69: - goto st_case_69 + goto stCase69 case 70: - goto st_case_70 + goto stCase70 case 71: - goto st_case_71 + goto stCase71 case 72: - goto st_case_72 + goto stCase72 case 73: - goto st_case_73 + goto stCase73 case 74: - goto st_case_74 + goto stCase74 case 75: - goto st_case_75 + goto stCase75 case 76: - goto st_case_76 + goto stCase76 case 77: - goto st_case_77 + goto stCase77 case 78: - goto st_case_78 + goto stCase78 case 79: - goto st_case_79 + goto stCase79 case 80: - goto st_case_80 + goto stCase80 case 81: - goto st_case_81 + goto stCase81 case 82: - goto st_case_82 + goto stCase82 case 83: - goto st_case_83 + goto stCase83 case 84: - goto st_case_84 + goto stCase84 case 85: - goto st_case_85 + goto stCase85 case 86: - goto st_case_86 + goto stCase86 case 87: - goto st_case_87 + goto stCase87 case 88: - goto st_case_88 + goto stCase88 case 89: - goto st_case_89 + goto stCase89 case 90: - goto st_case_90 + goto stCase90 case 91: - goto st_case_91 + goto stCase91 case 92: - goto st_case_92 + goto stCase92 case 93: - goto st_case_93 + goto stCase93 case 94: - goto st_case_94 + goto stCase94 case 95: - goto st_case_95 + goto stCase95 case 96: - goto st_case_96 + goto stCase96 case 97: - goto st_case_97 + goto stCase97 case 98: - goto st_case_98 + goto stCase98 case 99: - goto st_case_99 + goto stCase99 case 100: - goto st_case_100 + goto stCase100 case 101: - goto st_case_101 + goto stCase101 case 102: - goto st_case_102 + goto stCase102 case 103: - goto st_case_103 + goto stCase103 case 104: - goto st_case_104 + goto stCase104 case 105: - goto st_case_105 + goto stCase105 case 106: - goto st_case_106 + goto stCase106 case 107: - goto st_case_107 + goto stCase107 case 108: - goto st_case_108 + goto stCase108 case 109: - goto st_case_109 + goto stCase109 case 110: - goto st_case_110 + goto stCase110 case 111: - goto st_case_111 + goto stCase111 case 112: - goto st_case_112 + goto stCase112 case 113: - goto st_case_113 + goto stCase113 case 114: - goto st_case_114 + goto stCase114 case 115: - goto st_case_115 + goto stCase115 case 116: - goto st_case_116 + goto stCase116 case 117: - goto st_case_117 + goto stCase117 case 118: - goto st_case_118 + goto stCase118 case 119: - goto st_case_119 + goto stCase119 case 120: - goto st_case_120 + goto stCase120 case 121: - goto st_case_121 + goto stCase121 case 122: - goto st_case_122 + goto stCase122 case 123: - goto st_case_123 + goto stCase123 case 124: - goto st_case_124 + goto stCase124 case 125: - goto st_case_125 + goto stCase125 case 126: - goto st_case_126 + goto stCase126 case 127: - goto st_case_127 + goto stCase127 case 128: - goto st_case_128 + goto stCase128 case 129: - goto st_case_129 + goto stCase129 case 130: - goto st_case_130 + goto stCase130 case 131: - goto st_case_131 + goto stCase131 case 132: - goto st_case_132 + goto stCase132 case 133: - goto st_case_133 + goto stCase133 case 134: - goto st_case_134 + goto stCase134 case 135: - goto st_case_135 + goto stCase135 case 136: - goto st_case_136 + goto stCase136 case 137: - goto st_case_137 + goto stCase137 case 138: - goto st_case_138 + goto stCase138 case 139: - goto st_case_139 + goto stCase139 case 140: - goto st_case_140 + goto stCase140 case 141: - goto st_case_141 + goto stCase141 case 142: - goto st_case_142 + goto stCase142 case 143: - goto st_case_143 + goto stCase143 case 144: - goto st_case_144 + goto stCase144 case 145: - goto st_case_145 + goto stCase145 case 146: - goto st_case_146 + goto stCase146 case 147: - goto st_case_147 + goto stCase147 case 148: - goto st_case_148 + goto stCase148 case 149: - goto st_case_149 + goto stCase149 case 150: - goto st_case_150 + goto stCase150 case 151: - goto st_case_151 + goto stCase151 case 152: - goto st_case_152 + goto stCase152 case 153: - goto st_case_153 + goto stCase153 case 154: - goto st_case_154 + goto stCase154 case 155: - goto st_case_155 + goto stCase155 case 156: - goto st_case_156 + goto stCase156 case 157: - goto st_case_157 + goto stCase157 case 158: - goto st_case_158 + goto stCase158 case 159: - goto st_case_159 + goto stCase159 case 160: - goto st_case_160 + goto stCase160 case 161: - goto st_case_161 + goto stCase161 case 162: - goto st_case_162 + goto stCase162 case 163: - goto st_case_163 + goto stCase163 case 164: - goto st_case_164 + goto stCase164 case 165: - goto st_case_165 + goto stCase165 case 166: - goto st_case_166 + goto stCase166 case 167: - goto st_case_167 + goto stCase167 case 168: - goto st_case_168 + goto stCase168 case 169: - goto st_case_169 + goto stCase169 case 170: - goto st_case_170 + goto stCase170 case 171: - goto st_case_171 + goto stCase171 case 172: - goto st_case_172 + goto stCase172 case 173: - goto st_case_173 + goto stCase173 case 174: - goto st_case_174 + goto stCase174 case 175: - goto st_case_175 + goto stCase175 case 176: - goto st_case_176 + goto stCase176 case 177: - goto st_case_177 + goto stCase177 case 178: - goto st_case_178 + goto stCase178 case 179: - goto st_case_179 + goto stCase179 case 180: - goto st_case_180 + goto stCase180 case 181: - goto st_case_181 + goto stCase181 case 182: - goto st_case_182 + goto stCase182 case 183: - goto st_case_183 + goto stCase183 case 184: - goto st_case_184 + goto stCase184 case 185: - goto st_case_185 + goto stCase185 case 186: - goto st_case_186 + goto stCase186 case 187: - goto st_case_187 + goto stCase187 case 188: - goto st_case_188 + goto stCase188 case 189: - goto st_case_189 + goto stCase189 case 190: - goto st_case_190 + goto stCase190 case 191: - goto st_case_191 + goto stCase191 case 192: - goto st_case_192 + goto stCase192 case 193: - goto st_case_193 + goto stCase193 case 194: - goto st_case_194 + goto stCase194 case 195: - goto st_case_195 + goto stCase195 case 196: - goto st_case_196 + goto stCase196 case 197: - goto st_case_197 + goto stCase197 case 198: - goto st_case_198 + goto stCase198 case 199: - goto st_case_199 + goto stCase199 case 200: - goto st_case_200 + goto stCase200 case 201: - goto st_case_201 + goto stCase201 case 202: - goto st_case_202 + goto stCase202 case 203: - goto st_case_203 + goto stCase203 case 204: - goto st_case_204 + goto stCase204 case 205: - goto st_case_205 + goto stCase205 case 206: - goto st_case_206 + goto stCase206 case 207: - goto st_case_207 + goto stCase207 case 208: - goto st_case_208 + goto stCase208 case 209: - goto st_case_209 + goto stCase209 case 210: - goto st_case_210 + goto stCase210 case 211: - goto st_case_211 + goto stCase211 case 212: - goto st_case_212 + goto stCase212 case 213: - goto st_case_213 + goto stCase213 case 214: - goto st_case_214 + goto stCase214 case 215: - goto st_case_215 + goto stCase215 case 216: - goto st_case_216 + goto stCase216 case 217: - goto st_case_217 + goto stCase217 case 218: - goto st_case_218 + goto stCase218 case 219: - goto st_case_219 + goto stCase219 case 220: - goto st_case_220 + goto stCase220 case 221: - goto st_case_221 + goto stCase221 case 222: - goto st_case_222 + goto stCase222 case 223: - goto st_case_223 + goto stCase223 case 224: - goto st_case_224 + goto stCase224 case 225: - goto st_case_225 + goto stCase225 case 226: - goto st_case_226 + goto stCase226 case 227: - goto st_case_227 + goto stCase227 case 228: - goto st_case_228 + goto stCase228 case 229: - goto st_case_229 + goto stCase229 case 230: - goto st_case_230 + goto stCase230 case 231: - goto st_case_231 + goto stCase231 case 232: - goto st_case_232 + goto stCase232 case 233: - goto st_case_233 + goto stCase233 case 234: - goto st_case_234 + goto stCase234 case 235: - goto st_case_235 + goto stCase235 case 236: - goto st_case_236 + goto stCase236 case 237: - goto st_case_237 + goto stCase237 case 238: - goto st_case_238 + goto stCase238 case 239: - goto st_case_239 + goto stCase239 case 240: - goto st_case_240 + goto stCase240 case 241: - goto st_case_241 + goto stCase241 case 242: - goto st_case_242 + goto stCase242 case 243: - goto st_case_243 + goto stCase243 case 244: - goto st_case_244 + goto stCase244 case 245: - goto st_case_245 + goto stCase245 case 246: - goto st_case_246 + goto stCase246 case 247: - goto st_case_247 + goto stCase247 case 248: - goto st_case_248 + goto stCase248 case 249: - goto st_case_249 + goto stCase249 case 250: - goto st_case_250 + goto stCase250 case 251: - goto st_case_251 + goto stCase251 case 252: - goto st_case_252 + goto stCase252 case 253: - goto st_case_253 + goto stCase253 case 254: - goto st_case_254 + goto stCase254 case 255: - goto st_case_255 + goto stCase255 case 256: - goto st_case_256 + goto stCase256 case 257: - goto st_case_257 + goto stCase257 case 258: - goto st_case_258 + goto stCase258 case 259: - goto st_case_259 + goto stCase259 case 260: - goto st_case_260 + goto stCase260 case 261: - goto st_case_261 + goto stCase261 case 262: - goto st_case_262 + goto stCase262 case 263: - goto st_case_263 + goto stCase263 case 264: - goto st_case_264 + goto stCase264 case 265: - goto st_case_265 + goto stCase265 case 266: - goto st_case_266 + goto stCase266 case 267: - goto st_case_267 + goto stCase267 case 268: - goto st_case_268 + goto stCase268 case 269: - goto st_case_269 + goto stCase269 case 270: - goto st_case_270 + goto stCase270 case 271: - goto st_case_271 + goto stCase271 case 272: - goto st_case_272 + goto stCase272 case 273: - goto st_case_273 + goto stCase273 case 274: - goto st_case_274 + goto stCase274 case 275: - goto st_case_275 + goto stCase275 case 276: - goto st_case_276 + goto stCase276 case 277: - goto st_case_277 + goto stCase277 case 278: - goto st_case_278 + goto stCase278 case 279: - goto st_case_279 + goto stCase279 case 280: - goto st_case_280 + goto stCase280 case 281: - goto st_case_281 + goto stCase281 case 282: - goto st_case_282 + goto stCase282 case 283: - goto st_case_283 + goto stCase283 case 284: - goto st_case_284 + goto stCase284 case 285: - goto st_case_285 + goto stCase285 case 286: - goto st_case_286 + goto stCase286 case 287: - goto st_case_287 + goto stCase287 case 288: - goto st_case_288 + goto stCase288 case 289: - goto st_case_289 + goto stCase289 case 290: - goto st_case_290 + goto stCase290 case 291: - goto st_case_291 + goto stCase291 case 292: - goto st_case_292 + goto stCase292 case 293: - goto st_case_293 + goto stCase293 case 294: - goto st_case_294 + goto stCase294 case 295: - goto st_case_295 + goto stCase295 case 296: - goto st_case_296 + goto stCase296 case 297: - goto st_case_297 + goto stCase297 case 298: - goto st_case_298 + goto stCase298 case 299: - goto st_case_299 + goto stCase299 case 300: - goto st_case_300 + goto stCase300 case 301: - goto st_case_301 + goto stCase301 case 302: - goto st_case_302 + goto stCase302 case 303: - goto st_case_303 + goto stCase303 case 304: - goto st_case_304 + goto stCase304 case 305: - goto st_case_305 + goto stCase305 case 306: - goto st_case_306 + goto stCase306 case 307: - goto st_case_307 + goto stCase307 case 308: - goto st_case_308 + goto stCase308 case 309: - goto st_case_309 + goto stCase309 + case 39: + goto stCase39 case 310: - goto st_case_310 + goto stCase310 case 311: - goto st_case_311 + goto stCase311 case 312: - goto st_case_312 + goto stCase312 case 313: - goto st_case_313 + goto stCase313 case 314: - goto st_case_314 + goto stCase314 case 315: - goto st_case_315 + goto stCase315 case 316: - goto st_case_316 - case 46: - goto st_case_46 + goto stCase316 case 317: - goto st_case_317 + goto stCase317 case 318: - goto st_case_318 + goto stCase318 case 319: - goto st_case_319 + goto stCase319 case 320: - goto st_case_320 + goto stCase320 case 321: - goto st_case_321 + goto stCase321 case 322: - goto st_case_322 + goto stCase322 case 323: - goto st_case_323 + goto stCase323 case 324: - goto st_case_324 + goto stCase324 case 325: - goto st_case_325 + goto stCase325 case 326: - goto st_case_326 + goto stCase326 case 327: - goto st_case_327 + goto stCase327 case 328: - goto st_case_328 + goto stCase328 case 329: - goto st_case_329 + goto stCase329 case 330: - goto st_case_330 + goto stCase330 case 331: - goto st_case_331 + goto stCase331 case 332: - goto st_case_332 + goto stCase332 case 333: - goto st_case_333 + goto stCase333 case 334: - goto st_case_334 + goto stCase334 case 335: - goto st_case_335 + goto stCase335 case 336: - goto st_case_336 + goto stCase336 case 337: - goto st_case_337 + goto stCase337 case 338: - goto st_case_338 + goto stCase338 case 339: - goto st_case_339 + goto stCase339 case 340: - goto st_case_340 + goto stCase340 case 341: - goto st_case_341 + goto stCase341 case 342: - goto st_case_342 + goto stCase342 case 343: - goto st_case_343 + goto stCase343 case 344: - goto st_case_344 + goto stCase344 case 345: - goto st_case_345 + goto stCase345 case 346: - goto st_case_346 + goto stCase346 case 347: - goto st_case_347 + goto stCase347 case 348: - goto st_case_348 + goto stCase348 case 349: - goto st_case_349 + goto stCase349 case 350: - goto st_case_350 + goto stCase350 case 351: - goto st_case_351 + goto stCase351 case 352: - goto st_case_352 + goto stCase352 case 353: - goto st_case_353 + goto stCase353 case 354: - goto st_case_354 + goto stCase354 case 355: - goto st_case_355 + goto stCase355 case 356: - goto st_case_356 + goto stCase356 case 357: - goto st_case_357 + goto stCase357 + case 40: + goto stCase40 case 358: - goto st_case_358 + goto stCase358 case 359: - goto st_case_359 + goto stCase359 case 360: - goto st_case_360 + goto stCase360 case 361: - goto st_case_361 + goto stCase361 case 362: - goto st_case_362 + goto stCase362 case 363: - goto st_case_363 + goto stCase363 case 364: - goto st_case_364 - case 47: - goto st_case_47 + goto stCase364 case 365: - goto st_case_365 + goto stCase365 case 366: - goto st_case_366 + goto stCase366 case 367: - goto st_case_367 + goto stCase367 case 368: - goto st_case_368 + goto stCase368 case 369: - goto st_case_369 + goto stCase369 case 370: - goto st_case_370 + goto stCase370 case 371: - goto st_case_371 + goto stCase371 case 372: - goto st_case_372 + goto stCase372 case 373: - goto st_case_373 + goto stCase373 case 374: - goto st_case_374 + goto stCase374 case 375: - goto st_case_375 + goto stCase375 case 376: - goto st_case_376 + goto stCase376 case 377: - goto st_case_377 + goto stCase377 case 378: - goto st_case_378 + goto stCase378 case 379: - goto st_case_379 + goto stCase379 case 380: - goto st_case_380 + goto stCase380 case 381: - goto st_case_381 + goto stCase381 case 382: - goto st_case_382 + goto stCase382 case 383: - goto st_case_383 + goto stCase383 case 384: - goto st_case_384 + goto stCase384 case 385: - goto st_case_385 + goto stCase385 case 386: - goto st_case_386 + goto stCase386 case 387: - goto st_case_387 + goto stCase387 case 388: - goto st_case_388 + goto stCase388 case 389: - goto st_case_389 + goto stCase389 case 390: - goto st_case_390 + goto stCase390 case 391: - goto st_case_391 + goto stCase391 case 392: - goto st_case_392 + goto stCase392 case 393: - goto st_case_393 + goto stCase393 case 394: - goto st_case_394 + goto stCase394 case 395: - goto st_case_395 + goto stCase395 case 396: - goto st_case_396 + goto stCase396 case 397: - goto st_case_397 + goto stCase397 case 398: - goto st_case_398 + goto stCase398 case 399: - goto st_case_399 + goto stCase399 case 400: - goto st_case_400 + goto stCase400 case 401: - goto st_case_401 + goto stCase401 case 402: - goto st_case_402 + goto stCase402 case 403: - goto st_case_403 + goto stCase403 case 404: - goto st_case_404 + goto stCase404 case 405: - goto st_case_405 + goto stCase405 case 406: - goto st_case_406 + goto stCase406 case 407: - goto st_case_407 + goto stCase407 case 408: - goto st_case_408 + goto stCase408 case 409: - goto st_case_409 + goto stCase409 case 410: - goto st_case_410 + goto stCase410 case 411: - goto st_case_411 + goto stCase411 case 412: - goto st_case_412 + goto stCase412 case 413: - goto st_case_413 + goto stCase413 case 414: - goto st_case_414 + goto stCase414 case 415: - goto st_case_415 + goto stCase415 case 416: - goto st_case_416 + goto stCase416 case 417: - goto st_case_417 + goto stCase417 case 418: - goto st_case_418 + goto stCase418 case 419: - goto st_case_419 + goto stCase419 case 420: - goto st_case_420 + goto stCase420 case 421: - goto st_case_421 + goto stCase421 case 422: - goto st_case_422 + goto stCase422 case 423: - goto st_case_423 + goto stCase423 case 424: - goto st_case_424 + goto stCase424 case 425: - goto st_case_425 + goto stCase425 case 426: - goto st_case_426 + goto stCase426 case 427: - goto st_case_427 + goto stCase427 case 428: - goto st_case_428 + goto stCase428 case 429: - goto st_case_429 + goto stCase429 case 430: - goto st_case_430 + goto stCase430 case 431: - goto st_case_431 + goto stCase431 case 432: - goto st_case_432 + goto stCase432 case 433: - goto st_case_433 + goto stCase433 case 434: - goto st_case_434 + goto stCase434 case 435: - goto st_case_435 + goto stCase435 case 436: - goto st_case_436 + goto stCase436 case 437: - goto st_case_437 + goto stCase437 case 438: - goto st_case_438 + goto stCase438 case 439: - goto st_case_439 + goto stCase439 case 440: - goto st_case_440 + goto stCase440 case 441: - goto st_case_441 + goto stCase441 case 442: - goto st_case_442 + goto stCase442 case 443: - goto st_case_443 + goto stCase443 case 444: - goto st_case_444 + goto stCase444 case 445: - goto st_case_445 + goto stCase445 case 446: - goto st_case_446 + goto stCase446 case 447: - goto st_case_447 + goto stCase447 case 448: - goto st_case_448 + goto stCase448 case 449: - goto st_case_449 + goto stCase449 case 450: - goto st_case_450 + goto stCase450 case 451: - goto st_case_451 + goto stCase451 case 452: - goto st_case_452 + goto stCase452 case 453: - goto st_case_453 + goto stCase453 case 454: - goto st_case_454 + goto stCase454 case 455: - goto st_case_455 + goto stCase455 case 456: - goto st_case_456 + goto stCase456 case 457: - goto st_case_457 + goto stCase457 case 458: - goto st_case_458 + goto stCase458 case 459: - goto st_case_459 + goto stCase459 case 460: - goto st_case_460 + goto stCase460 case 461: - goto st_case_461 + goto stCase461 case 462: - goto st_case_462 + goto stCase462 case 463: - goto st_case_463 + goto stCase463 case 464: - goto st_case_464 + goto stCase464 case 465: - goto st_case_465 + goto stCase465 case 466: - goto st_case_466 + goto stCase466 case 467: - goto st_case_467 + goto stCase467 case 468: - goto st_case_468 + goto stCase468 case 469: - goto st_case_469 + goto stCase469 case 470: - goto st_case_470 + goto stCase470 case 471: - goto st_case_471 + goto stCase471 case 472: - goto st_case_472 + goto stCase472 case 473: - goto st_case_473 + goto stCase473 case 474: - goto st_case_474 + goto stCase474 case 475: - goto st_case_475 + goto stCase475 case 476: - goto st_case_476 + goto stCase476 case 477: - goto st_case_477 + goto stCase477 case 478: - goto st_case_478 + goto stCase478 case 479: - goto st_case_479 + goto stCase479 case 480: - goto st_case_480 + goto stCase480 case 481: - goto st_case_481 + goto stCase481 case 482: - goto st_case_482 + goto stCase482 case 483: - goto st_case_483 + goto stCase483 case 484: - goto st_case_484 + goto stCase484 case 485: - goto st_case_485 + goto stCase485 + case 41: + goto stCase41 case 486: - goto st_case_486 + goto stCase486 case 487: - goto st_case_487 + goto stCase487 case 488: - goto st_case_488 + goto stCase488 case 489: - goto st_case_489 + goto stCase489 case 490: - goto st_case_490 + goto stCase490 case 491: - goto st_case_491 + goto stCase491 case 492: - goto st_case_492 - case 48: - goto st_case_48 + goto stCase492 case 493: - goto st_case_493 + goto stCase493 case 494: - goto st_case_494 + goto stCase494 case 495: - goto st_case_495 + goto stCase495 case 496: - goto st_case_496 + goto stCase496 case 497: - goto st_case_497 + goto stCase497 case 498: - goto st_case_498 + goto stCase498 case 499: - goto st_case_499 + goto stCase499 case 500: - goto st_case_500 + goto stCase500 case 501: - goto st_case_501 + goto stCase501 case 502: - goto st_case_502 + goto stCase502 case 503: - goto st_case_503 + goto stCase503 case 504: - goto st_case_504 + goto stCase504 case 505: - goto st_case_505 + goto stCase505 case 506: - goto st_case_506 + goto stCase506 case 507: - goto st_case_507 + goto stCase507 case 508: - goto st_case_508 + goto stCase508 case 509: - goto st_case_509 + goto stCase509 case 510: - goto st_case_510 + goto stCase510 case 511: - goto st_case_511 + goto stCase511 case 512: - goto st_case_512 + goto stCase512 case 513: - goto st_case_513 + goto stCase513 case 514: - goto st_case_514 + goto stCase514 case 515: - goto st_case_515 + goto stCase515 case 516: - goto st_case_516 + goto stCase516 case 517: - goto st_case_517 + goto stCase517 + case 42: + goto stCase42 case 518: - goto st_case_518 + goto stCase518 case 519: - goto st_case_519 + goto stCase519 case 520: - goto st_case_520 + goto stCase520 case 521: - goto st_case_521 + goto stCase521 case 522: - goto st_case_522 + goto stCase522 case 523: - goto st_case_523 + goto stCase523 case 524: - goto st_case_524 - case 49: - goto st_case_49 + goto stCase524 case 525: - goto st_case_525 + goto stCase525 case 526: - goto st_case_526 + goto stCase526 case 527: - goto st_case_527 + goto stCase527 case 528: - goto st_case_528 + goto stCase528 case 529: - goto st_case_529 + goto stCase529 case 530: - goto st_case_530 + goto stCase530 case 531: - goto st_case_531 + goto stCase531 case 532: - goto st_case_532 + goto stCase532 case 533: - goto st_case_533 + goto stCase533 case 534: - goto st_case_534 + goto stCase534 case 535: - goto st_case_535 + goto stCase535 case 536: - goto st_case_536 + goto stCase536 case 537: - goto st_case_537 + goto stCase537 case 538: - goto st_case_538 + goto stCase538 case 539: - goto st_case_539 + goto stCase539 case 540: - goto st_case_540 + goto stCase540 case 541: - goto st_case_541 + goto stCase541 case 542: - goto st_case_542 + goto stCase542 case 543: - goto st_case_543 + goto stCase543 case 544: - goto st_case_544 + goto stCase544 case 545: - goto st_case_545 + goto stCase545 case 546: - goto st_case_546 + goto stCase546 case 547: - goto st_case_547 + goto stCase547 case 548: - goto st_case_548 + goto stCase548 case 549: - goto st_case_549 + goto stCase549 + case 43: + goto stCase43 case 550: - goto st_case_550 + goto stCase550 case 551: - goto st_case_551 + goto stCase551 case 552: - goto st_case_552 + goto stCase552 case 553: - goto st_case_553 + goto stCase553 case 554: - goto st_case_554 + goto stCase554 case 555: - goto st_case_555 + goto stCase555 case 556: - goto st_case_556 - case 50: - goto st_case_50 + goto stCase556 case 557: - goto st_case_557 + goto stCase557 case 558: - goto st_case_558 + goto stCase558 case 559: - goto st_case_559 + goto stCase559 case 560: - goto st_case_560 + goto stCase560 case 561: - goto st_case_561 + goto stCase561 case 562: - goto st_case_562 + goto stCase562 case 563: - goto st_case_563 + goto stCase563 case 564: - goto st_case_564 + goto stCase564 case 565: - goto st_case_565 + goto stCase565 case 566: - goto st_case_566 + goto stCase566 case 567: - goto st_case_567 + goto stCase567 case 568: - goto st_case_568 + goto stCase568 case 569: - goto st_case_569 + goto stCase569 case 570: - goto st_case_570 + goto stCase570 case 571: - goto st_case_571 + goto stCase571 case 572: - goto st_case_572 + goto stCase572 case 573: - goto st_case_573 + goto stCase573 case 574: - goto st_case_574 + goto stCase574 case 575: - goto st_case_575 + goto stCase575 case 576: - goto st_case_576 + goto stCase576 case 577: - goto st_case_577 + goto stCase577 case 578: - goto st_case_578 + goto stCase578 case 579: - goto st_case_579 + goto stCase579 case 580: - goto st_case_580 + goto stCase580 case 581: - goto st_case_581 + goto stCase581 case 582: - goto st_case_582 + goto stCase582 case 583: - goto st_case_583 - case 584: - goto st_case_584 - case 585: - goto st_case_585 - case 586: - goto st_case_586 - case 587: - goto st_case_587 - case 588: - goto st_case_588 - case 589: - goto st_case_589 - case 590: - goto st_case_590 + goto stCase583 + case 44: + goto stCase44 + case 45: + goto stCase45 + case 46: + goto stCase46 + case 47: + goto stCase47 + case 48: + goto stCase48 + case 49: + goto stCase49 + case 50: + goto stCase50 case 51: - goto st_case_51 - case 52: - goto st_case_52 - case 53: - goto st_case_53 - case 54: - goto st_case_54 - case 55: - goto st_case_55 - case 56: - goto st_case_56 - case 57: - goto st_case_57 - case 58: - goto st_case_58 - } - goto st_out - st_case_59: - switch data[p] { - case 224: - goto tr52 - case 237: - goto tr54 - case 240: - goto tr55 - case 244: - goto tr57 + goto stCase51 } - switch { - case data[p] < 225: - switch { - case data[p] > 193: - if 194 <= data[p] && data[p] <= 223 { - goto tr51 - } - case data[p] >= 128: - goto st0 - } - case data[p] > 239: - switch { - case data[p] > 243: - if 245 <= data[p] { - goto st0 - } - case data[p] >= 241: - goto tr56 - } - default: - goto tr53 - } - goto tr50 - tr50: + goto stOut + stCase52: + goto tr47 + tr47: pb = p - goto st60 - st60: + goto st53 + st53: if p++; p == pe { - goto _test_eof60 + goto _testEof53 } - st_case_60: - switch data[p] { - case 224: - goto st2 - case 237: - goto st4 - case 240: - goto st5 - case 244: - goto st7 - } - switch { - case data[p] < 225: - switch { - case data[p] > 193: - if 194 <= data[p] && data[p] <= 223 { - goto st1 - } - case data[p] >= 128: - goto st0 - } - case data[p] > 239: - switch { - case data[p] > 243: - if 245 <= data[p] { - goto st0 - } - case data[p] >= 241: - goto st6 - } - default: - goto st3 + stCase53: + goto st53 + stCase1: + if 48 <= data[p] && data[p] <= 57 { + goto tr0 } - goto st60 - st_case_0: + goto st0 + stCase0: st0: cs = 0 goto _out - tr51: - - pb = p - - goto st1 - st1: - if p++; p == pe { - goto _test_eof1 - } - st_case_1: - if 128 <= data[p] && data[p] <= 191 { - goto st60 - } - goto st0 - tr52: + tr0: pb = p goto st2 st2: if p++; p == pe { - goto _test_eof2 - } - st_case_2: - if 160 <= data[p] && data[p] <= 191 { - goto st1 - } - goto st0 - tr53: - - pb = p - - goto st3 - st3: - if p++; p == pe { - goto _test_eof3 - } - st_case_3: - if 128 <= data[p] && data[p] <= 191 { - goto st1 - } - goto st0 - tr54: - - pb = p - - goto st4 - st4: - if p++; p == pe { - goto _test_eof4 + goto _testEof2 } - st_case_4: - if 128 <= data[p] && data[p] <= 159 { - goto st1 - } - goto st0 - tr55: - - pb = p - - goto st5 - st5: - if p++; p == pe { - goto _test_eof5 - } - st_case_5: - if 144 <= data[p] && data[p] <= 191 { - goto st3 - } - goto st0 - tr56: - - pb = p - - goto st6 - st6: - if p++; p == pe { - goto _test_eof6 - } - st_case_6: - if 128 <= data[p] && data[p] <= 191 { - goto st3 - } - goto st0 - tr57: - - pb = p - - goto st7 - st7: - if p++; p == pe { - goto _test_eof7 - } - st_case_7: - if 128 <= data[p] && data[p] <= 143 { - goto st3 - } - goto st0 - st_case_8: - if 48 <= data[p] && data[p] <= 57 { - goto tr4 - } - goto st0 - tr4: - - pb = p - - goto st9 - st9: - if p++; p == pe { - goto _test_eof9 - } - st_case_9: + stCase2: if 48 <= data[p] && data[p] <= 57 { - goto st10 + goto st3 } goto st0 - st10: + st3: if p++; p == pe { - goto _test_eof10 + goto _testEof3 } - st_case_10: + stCase3: if 48 <= data[p] && data[p] <= 57 { - goto st11 + goto st4 } goto st0 - st11: + st4: if p++; p == pe { - goto _test_eof11 + goto _testEof4 } - st_case_11: + stCase4: if 48 <= data[p] && data[p] <= 57 { - goto st12 + goto st5 } goto st0 - st12: + st5: if p++; p == pe { - goto _test_eof12 + goto _testEof5 } - st_case_12: + stCase5: if data[p] == 45 { - goto st13 + goto st6 } goto st0 - st13: + st6: if p++; p == pe { - goto _test_eof13 + goto _testEof6 } - st_case_13: + stCase6: switch data[p] { case 48: - goto st14 + goto st7 case 49: - goto st44 + goto st37 } goto st0 - st14: + st7: if p++; p == pe { - goto _test_eof14 + goto _testEof7 } - st_case_14: + stCase7: if 49 <= data[p] && data[p] <= 57 { - goto st15 + goto st8 } goto st0 - st15: + st8: if p++; p == pe { - goto _test_eof15 + goto _testEof8 } - st_case_15: + stCase8: if data[p] == 45 { - goto st16 + goto st9 } goto st0 - st16: + st9: if p++; p == pe { - goto _test_eof16 + goto _testEof9 } - st_case_16: + stCase9: switch data[p] { case 48: - goto st17 + goto st10 case 51: - goto st43 + goto st36 } if 49 <= data[p] && data[p] <= 50 { - goto st42 + goto st35 } goto st0 - st17: + st10: if p++; p == pe { - goto _test_eof17 + goto _testEof10 } - st_case_17: + stCase10: if 49 <= data[p] && data[p] <= 57 { - goto st18 + goto st11 } goto st0 - st18: + st11: if p++; p == pe { - goto _test_eof18 + goto _testEof11 } - st_case_18: + stCase11: if data[p] == 84 { - goto st19 + goto st12 } goto st0 - st19: + st12: if p++; p == pe { - goto _test_eof19 + goto _testEof12 } - st_case_19: + stCase12: if data[p] == 50 { - goto st41 + goto st34 } if 48 <= data[p] && data[p] <= 49 { - goto st20 + goto st13 } goto st0 - st20: + st13: if p++; p == pe { - goto _test_eof20 + goto _testEof13 } - st_case_20: + stCase13: if 48 <= data[p] && data[p] <= 57 { - goto st21 + goto st14 } goto st0 - st21: + st14: if p++; p == pe { - goto _test_eof21 + goto _testEof14 } - st_case_21: + stCase14: if data[p] == 58 { - goto st22 + goto st15 } goto st0 - st22: + st15: if p++; p == pe { - goto _test_eof22 + goto _testEof15 } - st_case_22: + stCase15: if 48 <= data[p] && data[p] <= 53 { - goto st23 + goto st16 } goto st0 - st23: + st16: if p++; p == pe { - goto _test_eof23 + goto _testEof16 } - st_case_23: + stCase16: if 48 <= data[p] && data[p] <= 57 { - goto st24 + goto st17 } goto st0 - st24: + st17: if p++; p == pe { - goto _test_eof24 + goto _testEof17 } - st_case_24: + stCase17: if data[p] == 58 { - goto st25 + goto st18 } goto st0 - st25: + st18: if p++; p == pe { - goto _test_eof25 + goto _testEof18 } - st_case_25: + stCase18: if 48 <= data[p] && data[p] <= 53 { - goto st26 + goto st19 } goto st0 - st26: + st19: if p++; p == pe { - goto _test_eof26 + goto _testEof19 } - st_case_26: + stCase19: if 48 <= data[p] && data[p] <= 57 { - goto st27 + goto st20 } goto st0 - st27: + st20: if p++; p == pe { - goto _test_eof27 + goto _testEof20 } - st_case_27: + stCase20: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 46: - goto st34 + goto st27 case 90: - goto st61 + goto st54 } goto st0 - st28: + st21: if p++; p == pe { - goto _test_eof28 + goto _testEof21 } - st_case_28: + stCase21: if data[p] == 50 { - goto st33 + goto st26 } if 48 <= data[p] && data[p] <= 49 { - goto st29 + goto st22 } goto st0 - st29: + st22: if p++; p == pe { - goto _test_eof29 + goto _testEof22 } - st_case_29: + stCase22: if 48 <= data[p] && data[p] <= 57 { - goto st30 + goto st23 } goto st0 - st30: + st23: if p++; p == pe { - goto _test_eof30 + goto _testEof23 } - st_case_30: + stCase23: if data[p] == 58 { - goto st31 + goto st24 } goto st0 - st31: + st24: if p++; p == pe { - goto _test_eof31 + goto _testEof24 } - st_case_31: + stCase24: if 48 <= data[p] && data[p] <= 53 { - goto st32 + goto st25 } goto st0 - st32: + st25: if p++; p == pe { - goto _test_eof32 + goto _testEof25 } - st_case_32: + stCase25: if 48 <= data[p] && data[p] <= 57 { - goto st61 + goto st54 } goto st0 - st61: + st54: if p++; p == pe { - goto _test_eof61 + goto _testEof54 } - st_case_61: + stCase54: goto st0 - st33: + st26: if p++; p == pe { - goto _test_eof33 + goto _testEof26 } - st_case_33: + stCase26: if 48 <= data[p] && data[p] <= 51 { - goto st30 + goto st23 } goto st0 - st34: + st27: if p++; p == pe { - goto _test_eof34 + goto _testEof27 } - st_case_34: + stCase27: if 48 <= data[p] && data[p] <= 57 { - goto st35 + goto st28 } goto st0 - st35: + st28: if p++; p == pe { - goto _test_eof35 + goto _testEof28 } - st_case_35: + stCase28: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 90: - goto st61 + goto st54 } if 48 <= data[p] && data[p] <= 57 { - goto st36 + goto st29 } goto st0 - st36: + st29: if p++; p == pe { - goto _test_eof36 + goto _testEof29 } - st_case_36: + stCase29: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 90: - goto st61 + goto st54 } if 48 <= data[p] && data[p] <= 57 { - goto st37 + goto st30 } goto st0 - st37: + st30: if p++; p == pe { - goto _test_eof37 + goto _testEof30 } - st_case_37: + stCase30: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 90: - goto st61 + goto st54 } if 48 <= data[p] && data[p] <= 57 { - goto st38 + goto st31 } goto st0 - st38: + st31: if p++; p == pe { - goto _test_eof38 + goto _testEof31 } - st_case_38: + stCase31: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 90: - goto st61 + goto st54 } if 48 <= data[p] && data[p] <= 57 { - goto st39 + goto st32 } goto st0 - st39: + st32: if p++; p == pe { - goto _test_eof39 + goto _testEof32 } - st_case_39: + stCase32: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 90: - goto st61 + goto st54 } if 48 <= data[p] && data[p] <= 57 { - goto st40 + goto st33 } goto st0 - st40: + st33: if p++; p == pe { - goto _test_eof40 + goto _testEof33 } - st_case_40: + stCase33: switch data[p] { case 43: - goto st28 + goto st21 case 45: - goto st28 + goto st21 case 90: - goto st61 + goto st54 } goto st0 - st41: + st34: if p++; p == pe { - goto _test_eof41 + goto _testEof34 } - st_case_41: + stCase34: if 48 <= data[p] && data[p] <= 51 { - goto st21 + goto st14 } goto st0 - st42: + st35: if p++; p == pe { - goto _test_eof42 + goto _testEof35 } - st_case_42: + stCase35: if 48 <= data[p] && data[p] <= 57 { - goto st18 + goto st11 } goto st0 - st43: + st36: if p++; p == pe { - goto _test_eof43 + goto _testEof36 } - st_case_43: + stCase36: if 48 <= data[p] && data[p] <= 49 { - goto st18 + goto st11 } goto st0 - st44: + st37: if p++; p == pe { - goto _test_eof44 + goto _testEof37 } - st_case_44: + stCase37: if 48 <= data[p] && data[p] <= 50 { - goto st15 + goto st8 } goto st0 - st_case_45: + stCase38: if 33 <= data[p] && data[p] <= 126 { - goto tr41 + goto tr38 } goto st0 - tr41: + tr38: pb = p - goto st62 + goto st55 + st55: + if p++; p == pe { + goto _testEof55 + } + stCase55: + if 33 <= data[p] && data[p] <= 126 { + goto st56 + } + goto st0 + st56: + if p++; p == pe { + goto _testEof56 + } + stCase56: + if 33 <= data[p] && data[p] <= 126 { + goto st57 + } + goto st0 + st57: + if p++; p == pe { + goto _testEof57 + } + stCase57: + if 33 <= data[p] && data[p] <= 126 { + goto st58 + } + goto st0 + st58: + if p++; p == pe { + goto _testEof58 + } + stCase58: + if 33 <= data[p] && data[p] <= 126 { + goto st59 + } + goto st0 + st59: + if p++; p == pe { + goto _testEof59 + } + stCase59: + if 33 <= data[p] && data[p] <= 126 { + goto st60 + } + goto st0 + st60: + if p++; p == pe { + goto _testEof60 + } + stCase60: + if 33 <= data[p] && data[p] <= 126 { + goto st61 + } + goto st0 + st61: + if p++; p == pe { + goto _testEof61 + } + stCase61: + if 33 <= data[p] && data[p] <= 126 { + goto st62 + } + goto st0 st62: if p++; p == pe { - goto _test_eof62 + goto _testEof62 } - st_case_62: + stCase62: if 33 <= data[p] && data[p] <= 126 { goto st63 } goto st0 st63: if p++; p == pe { - goto _test_eof63 + goto _testEof63 } - st_case_63: + stCase63: if 33 <= data[p] && data[p] <= 126 { goto st64 } goto st0 st64: if p++; p == pe { - goto _test_eof64 + goto _testEof64 } - st_case_64: + stCase64: if 33 <= data[p] && data[p] <= 126 { goto st65 } goto st0 st65: if p++; p == pe { - goto _test_eof65 + goto _testEof65 } - st_case_65: + stCase65: if 33 <= data[p] && data[p] <= 126 { goto st66 } goto st0 st66: if p++; p == pe { - goto _test_eof66 + goto _testEof66 } - st_case_66: + stCase66: if 33 <= data[p] && data[p] <= 126 { goto st67 } goto st0 st67: if p++; p == pe { - goto _test_eof67 + goto _testEof67 } - st_case_67: + stCase67: if 33 <= data[p] && data[p] <= 126 { goto st68 } goto st0 st68: if p++; p == pe { - goto _test_eof68 + goto _testEof68 } - st_case_68: + stCase68: if 33 <= data[p] && data[p] <= 126 { goto st69 } goto st0 st69: if p++; p == pe { - goto _test_eof69 + goto _testEof69 } - st_case_69: + stCase69: if 33 <= data[p] && data[p] <= 126 { goto st70 } goto st0 st70: if p++; p == pe { - goto _test_eof70 + goto _testEof70 } - st_case_70: + stCase70: if 33 <= data[p] && data[p] <= 126 { goto st71 } goto st0 st71: if p++; p == pe { - goto _test_eof71 + goto _testEof71 } - st_case_71: + stCase71: if 33 <= data[p] && data[p] <= 126 { goto st72 } goto st0 st72: if p++; p == pe { - goto _test_eof72 + goto _testEof72 } - st_case_72: + stCase72: if 33 <= data[p] && data[p] <= 126 { goto st73 } goto st0 st73: if p++; p == pe { - goto _test_eof73 + goto _testEof73 } - st_case_73: + stCase73: if 33 <= data[p] && data[p] <= 126 { goto st74 } goto st0 st74: if p++; p == pe { - goto _test_eof74 + goto _testEof74 } - st_case_74: + stCase74: if 33 <= data[p] && data[p] <= 126 { goto st75 } goto st0 st75: if p++; p == pe { - goto _test_eof75 + goto _testEof75 } - st_case_75: + stCase75: if 33 <= data[p] && data[p] <= 126 { goto st76 } goto st0 st76: if p++; p == pe { - goto _test_eof76 + goto _testEof76 } - st_case_76: + stCase76: if 33 <= data[p] && data[p] <= 126 { goto st77 } goto st0 st77: if p++; p == pe { - goto _test_eof77 + goto _testEof77 } - st_case_77: + stCase77: if 33 <= data[p] && data[p] <= 126 { goto st78 } goto st0 st78: if p++; p == pe { - goto _test_eof78 + goto _testEof78 } - st_case_78: + stCase78: if 33 <= data[p] && data[p] <= 126 { goto st79 } goto st0 st79: if p++; p == pe { - goto _test_eof79 + goto _testEof79 } - st_case_79: + stCase79: if 33 <= data[p] && data[p] <= 126 { goto st80 } goto st0 st80: if p++; p == pe { - goto _test_eof80 + goto _testEof80 } - st_case_80: + stCase80: if 33 <= data[p] && data[p] <= 126 { goto st81 } goto st0 st81: if p++; p == pe { - goto _test_eof81 + goto _testEof81 } - st_case_81: + stCase81: if 33 <= data[p] && data[p] <= 126 { goto st82 } goto st0 st82: if p++; p == pe { - goto _test_eof82 + goto _testEof82 } - st_case_82: + stCase82: if 33 <= data[p] && data[p] <= 126 { goto st83 } goto st0 st83: if p++; p == pe { - goto _test_eof83 + goto _testEof83 } - st_case_83: + stCase83: if 33 <= data[p] && data[p] <= 126 { goto st84 } goto st0 st84: if p++; p == pe { - goto _test_eof84 + goto _testEof84 } - st_case_84: + stCase84: if 33 <= data[p] && data[p] <= 126 { goto st85 } goto st0 st85: if p++; p == pe { - goto _test_eof85 + goto _testEof85 } - st_case_85: + stCase85: if 33 <= data[p] && data[p] <= 126 { goto st86 } goto st0 st86: if p++; p == pe { - goto _test_eof86 + goto _testEof86 } - st_case_86: + stCase86: if 33 <= data[p] && data[p] <= 126 { goto st87 } goto st0 st87: if p++; p == pe { - goto _test_eof87 + goto _testEof87 } - st_case_87: + stCase87: if 33 <= data[p] && data[p] <= 126 { goto st88 } goto st0 st88: if p++; p == pe { - goto _test_eof88 + goto _testEof88 } - st_case_88: + stCase88: if 33 <= data[p] && data[p] <= 126 { goto st89 } goto st0 st89: if p++; p == pe { - goto _test_eof89 + goto _testEof89 } - st_case_89: + stCase89: if 33 <= data[p] && data[p] <= 126 { goto st90 } goto st0 st90: if p++; p == pe { - goto _test_eof90 + goto _testEof90 } - st_case_90: + stCase90: if 33 <= data[p] && data[p] <= 126 { goto st91 } goto st0 st91: if p++; p == pe { - goto _test_eof91 + goto _testEof91 } - st_case_91: + stCase91: if 33 <= data[p] && data[p] <= 126 { goto st92 } goto st0 st92: if p++; p == pe { - goto _test_eof92 + goto _testEof92 } - st_case_92: + stCase92: if 33 <= data[p] && data[p] <= 126 { goto st93 } goto st0 st93: if p++; p == pe { - goto _test_eof93 + goto _testEof93 } - st_case_93: + stCase93: if 33 <= data[p] && data[p] <= 126 { goto st94 } goto st0 st94: if p++; p == pe { - goto _test_eof94 + goto _testEof94 } - st_case_94: + stCase94: if 33 <= data[p] && data[p] <= 126 { goto st95 } goto st0 st95: if p++; p == pe { - goto _test_eof95 + goto _testEof95 } - st_case_95: + stCase95: if 33 <= data[p] && data[p] <= 126 { goto st96 } goto st0 st96: if p++; p == pe { - goto _test_eof96 + goto _testEof96 } - st_case_96: + stCase96: if 33 <= data[p] && data[p] <= 126 { goto st97 } goto st0 st97: if p++; p == pe { - goto _test_eof97 + goto _testEof97 } - st_case_97: + stCase97: if 33 <= data[p] && data[p] <= 126 { goto st98 } goto st0 st98: if p++; p == pe { - goto _test_eof98 + goto _testEof98 } - st_case_98: + stCase98: if 33 <= data[p] && data[p] <= 126 { goto st99 } goto st0 st99: if p++; p == pe { - goto _test_eof99 + goto _testEof99 } - st_case_99: + stCase99: if 33 <= data[p] && data[p] <= 126 { goto st100 } goto st0 st100: if p++; p == pe { - goto _test_eof100 + goto _testEof100 } - st_case_100: + stCase100: if 33 <= data[p] && data[p] <= 126 { goto st101 } goto st0 st101: if p++; p == pe { - goto _test_eof101 + goto _testEof101 } - st_case_101: + stCase101: if 33 <= data[p] && data[p] <= 126 { goto st102 } goto st0 st102: if p++; p == pe { - goto _test_eof102 + goto _testEof102 } - st_case_102: + stCase102: if 33 <= data[p] && data[p] <= 126 { goto st103 } goto st0 st103: if p++; p == pe { - goto _test_eof103 + goto _testEof103 } - st_case_103: + stCase103: if 33 <= data[p] && data[p] <= 126 { goto st104 } goto st0 st104: if p++; p == pe { - goto _test_eof104 + goto _testEof104 } - st_case_104: + stCase104: if 33 <= data[p] && data[p] <= 126 { goto st105 } goto st0 st105: if p++; p == pe { - goto _test_eof105 + goto _testEof105 } - st_case_105: + stCase105: if 33 <= data[p] && data[p] <= 126 { goto st106 } goto st0 st106: if p++; p == pe { - goto _test_eof106 + goto _testEof106 } - st_case_106: + stCase106: if 33 <= data[p] && data[p] <= 126 { goto st107 } goto st0 st107: if p++; p == pe { - goto _test_eof107 + goto _testEof107 } - st_case_107: + stCase107: if 33 <= data[p] && data[p] <= 126 { goto st108 } goto st0 st108: if p++; p == pe { - goto _test_eof108 + goto _testEof108 } - st_case_108: + stCase108: if 33 <= data[p] && data[p] <= 126 { goto st109 } goto st0 st109: if p++; p == pe { - goto _test_eof109 + goto _testEof109 } - st_case_109: + stCase109: if 33 <= data[p] && data[p] <= 126 { goto st110 } goto st0 st110: if p++; p == pe { - goto _test_eof110 + goto _testEof110 } - st_case_110: + stCase110: if 33 <= data[p] && data[p] <= 126 { goto st111 } goto st0 st111: if p++; p == pe { - goto _test_eof111 + goto _testEof111 } - st_case_111: + stCase111: if 33 <= data[p] && data[p] <= 126 { goto st112 } goto st0 st112: if p++; p == pe { - goto _test_eof112 + goto _testEof112 } - st_case_112: + stCase112: if 33 <= data[p] && data[p] <= 126 { goto st113 } goto st0 st113: if p++; p == pe { - goto _test_eof113 + goto _testEof113 } - st_case_113: + stCase113: if 33 <= data[p] && data[p] <= 126 { goto st114 } goto st0 st114: if p++; p == pe { - goto _test_eof114 + goto _testEof114 } - st_case_114: + stCase114: if 33 <= data[p] && data[p] <= 126 { goto st115 } goto st0 st115: if p++; p == pe { - goto _test_eof115 + goto _testEof115 } - st_case_115: + stCase115: if 33 <= data[p] && data[p] <= 126 { goto st116 } goto st0 st116: if p++; p == pe { - goto _test_eof116 + goto _testEof116 } - st_case_116: + stCase116: if 33 <= data[p] && data[p] <= 126 { goto st117 } goto st0 st117: if p++; p == pe { - goto _test_eof117 + goto _testEof117 } - st_case_117: + stCase117: if 33 <= data[p] && data[p] <= 126 { goto st118 } goto st0 st118: if p++; p == pe { - goto _test_eof118 + goto _testEof118 } - st_case_118: + stCase118: if 33 <= data[p] && data[p] <= 126 { goto st119 } goto st0 st119: if p++; p == pe { - goto _test_eof119 + goto _testEof119 } - st_case_119: + stCase119: if 33 <= data[p] && data[p] <= 126 { goto st120 } goto st0 st120: if p++; p == pe { - goto _test_eof120 + goto _testEof120 } - st_case_120: + stCase120: if 33 <= data[p] && data[p] <= 126 { goto st121 } goto st0 st121: if p++; p == pe { - goto _test_eof121 + goto _testEof121 } - st_case_121: + stCase121: if 33 <= data[p] && data[p] <= 126 { goto st122 } goto st0 st122: if p++; p == pe { - goto _test_eof122 + goto _testEof122 } - st_case_122: + stCase122: if 33 <= data[p] && data[p] <= 126 { goto st123 } goto st0 st123: if p++; p == pe { - goto _test_eof123 + goto _testEof123 } - st_case_123: + stCase123: if 33 <= data[p] && data[p] <= 126 { goto st124 } goto st0 st124: if p++; p == pe { - goto _test_eof124 + goto _testEof124 } - st_case_124: + stCase124: if 33 <= data[p] && data[p] <= 126 { goto st125 } goto st0 st125: if p++; p == pe { - goto _test_eof125 + goto _testEof125 } - st_case_125: + stCase125: if 33 <= data[p] && data[p] <= 126 { goto st126 } goto st0 st126: if p++; p == pe { - goto _test_eof126 + goto _testEof126 } - st_case_126: + stCase126: if 33 <= data[p] && data[p] <= 126 { goto st127 } goto st0 st127: if p++; p == pe { - goto _test_eof127 + goto _testEof127 } - st_case_127: + stCase127: if 33 <= data[p] && data[p] <= 126 { goto st128 } goto st0 st128: if p++; p == pe { - goto _test_eof128 + goto _testEof128 } - st_case_128: + stCase128: if 33 <= data[p] && data[p] <= 126 { goto st129 } goto st0 st129: if p++; p == pe { - goto _test_eof129 + goto _testEof129 } - st_case_129: + stCase129: if 33 <= data[p] && data[p] <= 126 { goto st130 } goto st0 st130: if p++; p == pe { - goto _test_eof130 + goto _testEof130 } - st_case_130: + stCase130: if 33 <= data[p] && data[p] <= 126 { goto st131 } goto st0 st131: if p++; p == pe { - goto _test_eof131 + goto _testEof131 } - st_case_131: + stCase131: if 33 <= data[p] && data[p] <= 126 { goto st132 } goto st0 st132: if p++; p == pe { - goto _test_eof132 + goto _testEof132 } - st_case_132: + stCase132: if 33 <= data[p] && data[p] <= 126 { goto st133 } goto st0 st133: if p++; p == pe { - goto _test_eof133 + goto _testEof133 } - st_case_133: + stCase133: if 33 <= data[p] && data[p] <= 126 { goto st134 } goto st0 st134: if p++; p == pe { - goto _test_eof134 + goto _testEof134 } - st_case_134: + stCase134: if 33 <= data[p] && data[p] <= 126 { goto st135 } goto st0 st135: if p++; p == pe { - goto _test_eof135 + goto _testEof135 } - st_case_135: + stCase135: if 33 <= data[p] && data[p] <= 126 { goto st136 } goto st0 st136: if p++; p == pe { - goto _test_eof136 + goto _testEof136 } - st_case_136: + stCase136: if 33 <= data[p] && data[p] <= 126 { goto st137 } goto st0 st137: if p++; p == pe { - goto _test_eof137 + goto _testEof137 } - st_case_137: + stCase137: if 33 <= data[p] && data[p] <= 126 { goto st138 } goto st0 st138: if p++; p == pe { - goto _test_eof138 + goto _testEof138 } - st_case_138: + stCase138: if 33 <= data[p] && data[p] <= 126 { goto st139 } goto st0 st139: if p++; p == pe { - goto _test_eof139 + goto _testEof139 } - st_case_139: + stCase139: if 33 <= data[p] && data[p] <= 126 { goto st140 } goto st0 st140: if p++; p == pe { - goto _test_eof140 + goto _testEof140 } - st_case_140: + stCase140: if 33 <= data[p] && data[p] <= 126 { goto st141 } goto st0 st141: if p++; p == pe { - goto _test_eof141 + goto _testEof141 } - st_case_141: + stCase141: if 33 <= data[p] && data[p] <= 126 { goto st142 } goto st0 st142: if p++; p == pe { - goto _test_eof142 + goto _testEof142 } - st_case_142: + stCase142: if 33 <= data[p] && data[p] <= 126 { goto st143 } goto st0 st143: if p++; p == pe { - goto _test_eof143 + goto _testEof143 } - st_case_143: + stCase143: if 33 <= data[p] && data[p] <= 126 { goto st144 } goto st0 st144: if p++; p == pe { - goto _test_eof144 + goto _testEof144 } - st_case_144: + stCase144: if 33 <= data[p] && data[p] <= 126 { goto st145 } goto st0 st145: if p++; p == pe { - goto _test_eof145 + goto _testEof145 } - st_case_145: + stCase145: if 33 <= data[p] && data[p] <= 126 { goto st146 } goto st0 st146: if p++; p == pe { - goto _test_eof146 + goto _testEof146 } - st_case_146: + stCase146: if 33 <= data[p] && data[p] <= 126 { goto st147 } goto st0 st147: if p++; p == pe { - goto _test_eof147 + goto _testEof147 } - st_case_147: + stCase147: if 33 <= data[p] && data[p] <= 126 { goto st148 } goto st0 st148: if p++; p == pe { - goto _test_eof148 + goto _testEof148 } - st_case_148: + stCase148: if 33 <= data[p] && data[p] <= 126 { goto st149 } goto st0 st149: if p++; p == pe { - goto _test_eof149 + goto _testEof149 } - st_case_149: + stCase149: if 33 <= data[p] && data[p] <= 126 { goto st150 } goto st0 st150: if p++; p == pe { - goto _test_eof150 + goto _testEof150 } - st_case_150: + stCase150: if 33 <= data[p] && data[p] <= 126 { goto st151 } goto st0 st151: if p++; p == pe { - goto _test_eof151 + goto _testEof151 } - st_case_151: + stCase151: if 33 <= data[p] && data[p] <= 126 { goto st152 } goto st0 st152: if p++; p == pe { - goto _test_eof152 + goto _testEof152 } - st_case_152: + stCase152: if 33 <= data[p] && data[p] <= 126 { goto st153 } goto st0 st153: if p++; p == pe { - goto _test_eof153 + goto _testEof153 } - st_case_153: + stCase153: if 33 <= data[p] && data[p] <= 126 { goto st154 } goto st0 st154: if p++; p == pe { - goto _test_eof154 + goto _testEof154 } - st_case_154: + stCase154: if 33 <= data[p] && data[p] <= 126 { goto st155 } goto st0 st155: if p++; p == pe { - goto _test_eof155 + goto _testEof155 } - st_case_155: + stCase155: if 33 <= data[p] && data[p] <= 126 { goto st156 } goto st0 st156: if p++; p == pe { - goto _test_eof156 + goto _testEof156 } - st_case_156: + stCase156: if 33 <= data[p] && data[p] <= 126 { goto st157 } goto st0 st157: if p++; p == pe { - goto _test_eof157 + goto _testEof157 } - st_case_157: + stCase157: if 33 <= data[p] && data[p] <= 126 { goto st158 } goto st0 st158: if p++; p == pe { - goto _test_eof158 + goto _testEof158 } - st_case_158: + stCase158: if 33 <= data[p] && data[p] <= 126 { goto st159 } goto st0 st159: if p++; p == pe { - goto _test_eof159 + goto _testEof159 } - st_case_159: + stCase159: if 33 <= data[p] && data[p] <= 126 { goto st160 } goto st0 st160: if p++; p == pe { - goto _test_eof160 + goto _testEof160 } - st_case_160: + stCase160: if 33 <= data[p] && data[p] <= 126 { goto st161 } goto st0 st161: if p++; p == pe { - goto _test_eof161 + goto _testEof161 } - st_case_161: + stCase161: if 33 <= data[p] && data[p] <= 126 { goto st162 } goto st0 st162: if p++; p == pe { - goto _test_eof162 + goto _testEof162 } - st_case_162: + stCase162: if 33 <= data[p] && data[p] <= 126 { goto st163 } goto st0 st163: if p++; p == pe { - goto _test_eof163 + goto _testEof163 } - st_case_163: + stCase163: if 33 <= data[p] && data[p] <= 126 { goto st164 } goto st0 st164: if p++; p == pe { - goto _test_eof164 + goto _testEof164 } - st_case_164: + stCase164: if 33 <= data[p] && data[p] <= 126 { goto st165 } goto st0 st165: if p++; p == pe { - goto _test_eof165 + goto _testEof165 } - st_case_165: + stCase165: if 33 <= data[p] && data[p] <= 126 { goto st166 } goto st0 st166: if p++; p == pe { - goto _test_eof166 + goto _testEof166 } - st_case_166: + stCase166: if 33 <= data[p] && data[p] <= 126 { goto st167 } goto st0 st167: if p++; p == pe { - goto _test_eof167 + goto _testEof167 } - st_case_167: + stCase167: if 33 <= data[p] && data[p] <= 126 { goto st168 } goto st0 st168: if p++; p == pe { - goto _test_eof168 + goto _testEof168 } - st_case_168: + stCase168: if 33 <= data[p] && data[p] <= 126 { goto st169 } goto st0 st169: if p++; p == pe { - goto _test_eof169 + goto _testEof169 } - st_case_169: + stCase169: if 33 <= data[p] && data[p] <= 126 { goto st170 } goto st0 st170: if p++; p == pe { - goto _test_eof170 + goto _testEof170 } - st_case_170: + stCase170: if 33 <= data[p] && data[p] <= 126 { goto st171 } goto st0 st171: if p++; p == pe { - goto _test_eof171 + goto _testEof171 } - st_case_171: + stCase171: if 33 <= data[p] && data[p] <= 126 { goto st172 } goto st0 st172: if p++; p == pe { - goto _test_eof172 + goto _testEof172 } - st_case_172: + stCase172: if 33 <= data[p] && data[p] <= 126 { goto st173 } goto st0 st173: if p++; p == pe { - goto _test_eof173 + goto _testEof173 } - st_case_173: + stCase173: if 33 <= data[p] && data[p] <= 126 { goto st174 } goto st0 st174: if p++; p == pe { - goto _test_eof174 + goto _testEof174 } - st_case_174: + stCase174: if 33 <= data[p] && data[p] <= 126 { goto st175 } goto st0 st175: if p++; p == pe { - goto _test_eof175 + goto _testEof175 } - st_case_175: + stCase175: if 33 <= data[p] && data[p] <= 126 { goto st176 } goto st0 st176: if p++; p == pe { - goto _test_eof176 + goto _testEof176 } - st_case_176: + stCase176: if 33 <= data[p] && data[p] <= 126 { goto st177 } goto st0 st177: if p++; p == pe { - goto _test_eof177 + goto _testEof177 } - st_case_177: + stCase177: if 33 <= data[p] && data[p] <= 126 { goto st178 } goto st0 st178: if p++; p == pe { - goto _test_eof178 + goto _testEof178 } - st_case_178: + stCase178: if 33 <= data[p] && data[p] <= 126 { goto st179 } goto st0 st179: if p++; p == pe { - goto _test_eof179 + goto _testEof179 } - st_case_179: + stCase179: if 33 <= data[p] && data[p] <= 126 { goto st180 } goto st0 st180: if p++; p == pe { - goto _test_eof180 + goto _testEof180 } - st_case_180: + stCase180: if 33 <= data[p] && data[p] <= 126 { goto st181 } goto st0 st181: if p++; p == pe { - goto _test_eof181 + goto _testEof181 } - st_case_181: + stCase181: if 33 <= data[p] && data[p] <= 126 { goto st182 } goto st0 st182: if p++; p == pe { - goto _test_eof182 + goto _testEof182 } - st_case_182: + stCase182: if 33 <= data[p] && data[p] <= 126 { goto st183 } goto st0 st183: if p++; p == pe { - goto _test_eof183 + goto _testEof183 } - st_case_183: + stCase183: if 33 <= data[p] && data[p] <= 126 { goto st184 } goto st0 st184: if p++; p == pe { - goto _test_eof184 + goto _testEof184 } - st_case_184: + stCase184: if 33 <= data[p] && data[p] <= 126 { goto st185 } goto st0 st185: if p++; p == pe { - goto _test_eof185 + goto _testEof185 } - st_case_185: + stCase185: if 33 <= data[p] && data[p] <= 126 { goto st186 } goto st0 st186: if p++; p == pe { - goto _test_eof186 + goto _testEof186 } - st_case_186: + stCase186: if 33 <= data[p] && data[p] <= 126 { goto st187 } goto st0 st187: if p++; p == pe { - goto _test_eof187 + goto _testEof187 } - st_case_187: + stCase187: if 33 <= data[p] && data[p] <= 126 { goto st188 } goto st0 st188: if p++; p == pe { - goto _test_eof188 + goto _testEof188 } - st_case_188: + stCase188: if 33 <= data[p] && data[p] <= 126 { goto st189 } goto st0 st189: if p++; p == pe { - goto _test_eof189 + goto _testEof189 } - st_case_189: + stCase189: if 33 <= data[p] && data[p] <= 126 { goto st190 } goto st0 st190: if p++; p == pe { - goto _test_eof190 + goto _testEof190 } - st_case_190: + stCase190: if 33 <= data[p] && data[p] <= 126 { goto st191 } goto st0 st191: if p++; p == pe { - goto _test_eof191 + goto _testEof191 } - st_case_191: + stCase191: if 33 <= data[p] && data[p] <= 126 { goto st192 } goto st0 st192: if p++; p == pe { - goto _test_eof192 + goto _testEof192 } - st_case_192: + stCase192: if 33 <= data[p] && data[p] <= 126 { goto st193 } goto st0 st193: if p++; p == pe { - goto _test_eof193 + goto _testEof193 } - st_case_193: + stCase193: if 33 <= data[p] && data[p] <= 126 { goto st194 } goto st0 st194: if p++; p == pe { - goto _test_eof194 + goto _testEof194 } - st_case_194: + stCase194: if 33 <= data[p] && data[p] <= 126 { goto st195 } goto st0 st195: if p++; p == pe { - goto _test_eof195 + goto _testEof195 } - st_case_195: + stCase195: if 33 <= data[p] && data[p] <= 126 { goto st196 } goto st0 st196: if p++; p == pe { - goto _test_eof196 + goto _testEof196 } - st_case_196: + stCase196: if 33 <= data[p] && data[p] <= 126 { goto st197 } goto st0 st197: if p++; p == pe { - goto _test_eof197 + goto _testEof197 } - st_case_197: + stCase197: if 33 <= data[p] && data[p] <= 126 { goto st198 } goto st0 st198: if p++; p == pe { - goto _test_eof198 + goto _testEof198 } - st_case_198: + stCase198: if 33 <= data[p] && data[p] <= 126 { goto st199 } goto st0 st199: if p++; p == pe { - goto _test_eof199 + goto _testEof199 } - st_case_199: + stCase199: if 33 <= data[p] && data[p] <= 126 { goto st200 } goto st0 st200: if p++; p == pe { - goto _test_eof200 + goto _testEof200 } - st_case_200: + stCase200: if 33 <= data[p] && data[p] <= 126 { goto st201 } goto st0 st201: if p++; p == pe { - goto _test_eof201 + goto _testEof201 } - st_case_201: + stCase201: if 33 <= data[p] && data[p] <= 126 { goto st202 } goto st0 st202: if p++; p == pe { - goto _test_eof202 + goto _testEof202 } - st_case_202: + stCase202: if 33 <= data[p] && data[p] <= 126 { goto st203 } goto st0 st203: if p++; p == pe { - goto _test_eof203 + goto _testEof203 } - st_case_203: + stCase203: if 33 <= data[p] && data[p] <= 126 { goto st204 } goto st0 st204: if p++; p == pe { - goto _test_eof204 + goto _testEof204 } - st_case_204: + stCase204: if 33 <= data[p] && data[p] <= 126 { goto st205 } goto st0 st205: if p++; p == pe { - goto _test_eof205 + goto _testEof205 } - st_case_205: + stCase205: if 33 <= data[p] && data[p] <= 126 { goto st206 } goto st0 st206: if p++; p == pe { - goto _test_eof206 + goto _testEof206 } - st_case_206: + stCase206: if 33 <= data[p] && data[p] <= 126 { goto st207 } goto st0 st207: if p++; p == pe { - goto _test_eof207 + goto _testEof207 } - st_case_207: + stCase207: if 33 <= data[p] && data[p] <= 126 { goto st208 } goto st0 st208: if p++; p == pe { - goto _test_eof208 + goto _testEof208 } - st_case_208: + stCase208: if 33 <= data[p] && data[p] <= 126 { goto st209 } goto st0 st209: if p++; p == pe { - goto _test_eof209 + goto _testEof209 } - st_case_209: + stCase209: if 33 <= data[p] && data[p] <= 126 { goto st210 } goto st0 st210: if p++; p == pe { - goto _test_eof210 + goto _testEof210 } - st_case_210: + stCase210: if 33 <= data[p] && data[p] <= 126 { goto st211 } goto st0 st211: if p++; p == pe { - goto _test_eof211 + goto _testEof211 } - st_case_211: + stCase211: if 33 <= data[p] && data[p] <= 126 { goto st212 } goto st0 st212: if p++; p == pe { - goto _test_eof212 + goto _testEof212 } - st_case_212: + stCase212: if 33 <= data[p] && data[p] <= 126 { goto st213 } goto st0 st213: if p++; p == pe { - goto _test_eof213 + goto _testEof213 } - st_case_213: + stCase213: if 33 <= data[p] && data[p] <= 126 { goto st214 } goto st0 st214: if p++; p == pe { - goto _test_eof214 + goto _testEof214 } - st_case_214: + stCase214: if 33 <= data[p] && data[p] <= 126 { goto st215 } goto st0 st215: if p++; p == pe { - goto _test_eof215 + goto _testEof215 } - st_case_215: + stCase215: if 33 <= data[p] && data[p] <= 126 { goto st216 } goto st0 st216: if p++; p == pe { - goto _test_eof216 + goto _testEof216 } - st_case_216: + stCase216: if 33 <= data[p] && data[p] <= 126 { goto st217 } goto st0 st217: if p++; p == pe { - goto _test_eof217 + goto _testEof217 } - st_case_217: + stCase217: if 33 <= data[p] && data[p] <= 126 { goto st218 } goto st0 st218: if p++; p == pe { - goto _test_eof218 + goto _testEof218 } - st_case_218: + stCase218: if 33 <= data[p] && data[p] <= 126 { goto st219 } goto st0 st219: if p++; p == pe { - goto _test_eof219 + goto _testEof219 } - st_case_219: + stCase219: if 33 <= data[p] && data[p] <= 126 { goto st220 } goto st0 st220: if p++; p == pe { - goto _test_eof220 + goto _testEof220 } - st_case_220: + stCase220: if 33 <= data[p] && data[p] <= 126 { goto st221 } goto st0 st221: if p++; p == pe { - goto _test_eof221 + goto _testEof221 } - st_case_221: + stCase221: if 33 <= data[p] && data[p] <= 126 { goto st222 } goto st0 st222: if p++; p == pe { - goto _test_eof222 + goto _testEof222 } - st_case_222: + stCase222: if 33 <= data[p] && data[p] <= 126 { goto st223 } goto st0 st223: if p++; p == pe { - goto _test_eof223 + goto _testEof223 } - st_case_223: + stCase223: if 33 <= data[p] && data[p] <= 126 { goto st224 } goto st0 st224: if p++; p == pe { - goto _test_eof224 + goto _testEof224 } - st_case_224: + stCase224: if 33 <= data[p] && data[p] <= 126 { goto st225 } goto st0 st225: if p++; p == pe { - goto _test_eof225 + goto _testEof225 } - st_case_225: + stCase225: if 33 <= data[p] && data[p] <= 126 { goto st226 } goto st0 st226: if p++; p == pe { - goto _test_eof226 + goto _testEof226 } - st_case_226: + stCase226: if 33 <= data[p] && data[p] <= 126 { goto st227 } goto st0 st227: if p++; p == pe { - goto _test_eof227 + goto _testEof227 } - st_case_227: + stCase227: if 33 <= data[p] && data[p] <= 126 { goto st228 } goto st0 st228: if p++; p == pe { - goto _test_eof228 + goto _testEof228 } - st_case_228: + stCase228: if 33 <= data[p] && data[p] <= 126 { goto st229 } goto st0 st229: if p++; p == pe { - goto _test_eof229 + goto _testEof229 } - st_case_229: + stCase229: if 33 <= data[p] && data[p] <= 126 { goto st230 } goto st0 st230: if p++; p == pe { - goto _test_eof230 + goto _testEof230 } - st_case_230: + stCase230: if 33 <= data[p] && data[p] <= 126 { goto st231 } goto st0 st231: if p++; p == pe { - goto _test_eof231 + goto _testEof231 } - st_case_231: + stCase231: if 33 <= data[p] && data[p] <= 126 { goto st232 } goto st0 st232: if p++; p == pe { - goto _test_eof232 + goto _testEof232 } - st_case_232: + stCase232: if 33 <= data[p] && data[p] <= 126 { goto st233 } goto st0 st233: if p++; p == pe { - goto _test_eof233 + goto _testEof233 } - st_case_233: + stCase233: if 33 <= data[p] && data[p] <= 126 { goto st234 } goto st0 st234: if p++; p == pe { - goto _test_eof234 + goto _testEof234 } - st_case_234: + stCase234: if 33 <= data[p] && data[p] <= 126 { goto st235 } goto st0 st235: if p++; p == pe { - goto _test_eof235 + goto _testEof235 } - st_case_235: + stCase235: if 33 <= data[p] && data[p] <= 126 { goto st236 } goto st0 st236: if p++; p == pe { - goto _test_eof236 + goto _testEof236 } - st_case_236: + stCase236: if 33 <= data[p] && data[p] <= 126 { goto st237 } goto st0 st237: if p++; p == pe { - goto _test_eof237 + goto _testEof237 } - st_case_237: + stCase237: if 33 <= data[p] && data[p] <= 126 { goto st238 } goto st0 st238: if p++; p == pe { - goto _test_eof238 + goto _testEof238 } - st_case_238: + stCase238: if 33 <= data[p] && data[p] <= 126 { goto st239 } goto st0 st239: if p++; p == pe { - goto _test_eof239 + goto _testEof239 } - st_case_239: + stCase239: if 33 <= data[p] && data[p] <= 126 { goto st240 } goto st0 st240: if p++; p == pe { - goto _test_eof240 + goto _testEof240 } - st_case_240: + stCase240: if 33 <= data[p] && data[p] <= 126 { goto st241 } goto st0 st241: if p++; p == pe { - goto _test_eof241 + goto _testEof241 } - st_case_241: + stCase241: if 33 <= data[p] && data[p] <= 126 { goto st242 } goto st0 st242: if p++; p == pe { - goto _test_eof242 + goto _testEof242 } - st_case_242: + stCase242: if 33 <= data[p] && data[p] <= 126 { goto st243 } goto st0 st243: if p++; p == pe { - goto _test_eof243 + goto _testEof243 } - st_case_243: + stCase243: if 33 <= data[p] && data[p] <= 126 { goto st244 } goto st0 st244: if p++; p == pe { - goto _test_eof244 + goto _testEof244 } - st_case_244: + stCase244: if 33 <= data[p] && data[p] <= 126 { goto st245 } goto st0 st245: if p++; p == pe { - goto _test_eof245 + goto _testEof245 } - st_case_245: + stCase245: if 33 <= data[p] && data[p] <= 126 { goto st246 } goto st0 st246: if p++; p == pe { - goto _test_eof246 + goto _testEof246 } - st_case_246: + stCase246: if 33 <= data[p] && data[p] <= 126 { goto st247 } goto st0 st247: if p++; p == pe { - goto _test_eof247 + goto _testEof247 } - st_case_247: + stCase247: if 33 <= data[p] && data[p] <= 126 { goto st248 } goto st0 st248: if p++; p == pe { - goto _test_eof248 + goto _testEof248 } - st_case_248: + stCase248: if 33 <= data[p] && data[p] <= 126 { goto st249 } goto st0 st249: if p++; p == pe { - goto _test_eof249 + goto _testEof249 } - st_case_249: + stCase249: if 33 <= data[p] && data[p] <= 126 { goto st250 } goto st0 st250: if p++; p == pe { - goto _test_eof250 + goto _testEof250 } - st_case_250: + stCase250: if 33 <= data[p] && data[p] <= 126 { goto st251 } goto st0 st251: if p++; p == pe { - goto _test_eof251 + goto _testEof251 } - st_case_251: + stCase251: if 33 <= data[p] && data[p] <= 126 { goto st252 } goto st0 st252: if p++; p == pe { - goto _test_eof252 + goto _testEof252 } - st_case_252: + stCase252: if 33 <= data[p] && data[p] <= 126 { goto st253 } goto st0 st253: if p++; p == pe { - goto _test_eof253 + goto _testEof253 } - st_case_253: + stCase253: if 33 <= data[p] && data[p] <= 126 { goto st254 } goto st0 st254: if p++; p == pe { - goto _test_eof254 + goto _testEof254 } - st_case_254: + stCase254: if 33 <= data[p] && data[p] <= 126 { goto st255 } goto st0 st255: if p++; p == pe { - goto _test_eof255 + goto _testEof255 } - st_case_255: + stCase255: if 33 <= data[p] && data[p] <= 126 { goto st256 } goto st0 st256: if p++; p == pe { - goto _test_eof256 + goto _testEof256 } - st_case_256: + stCase256: if 33 <= data[p] && data[p] <= 126 { goto st257 } goto st0 st257: if p++; p == pe { - goto _test_eof257 + goto _testEof257 } - st_case_257: + stCase257: if 33 <= data[p] && data[p] <= 126 { goto st258 } goto st0 st258: if p++; p == pe { - goto _test_eof258 + goto _testEof258 } - st_case_258: + stCase258: if 33 <= data[p] && data[p] <= 126 { goto st259 } goto st0 st259: if p++; p == pe { - goto _test_eof259 + goto _testEof259 } - st_case_259: + stCase259: if 33 <= data[p] && data[p] <= 126 { goto st260 } goto st0 st260: if p++; p == pe { - goto _test_eof260 + goto _testEof260 } - st_case_260: + stCase260: if 33 <= data[p] && data[p] <= 126 { goto st261 } goto st0 st261: if p++; p == pe { - goto _test_eof261 + goto _testEof261 } - st_case_261: + stCase261: if 33 <= data[p] && data[p] <= 126 { goto st262 } goto st0 st262: if p++; p == pe { - goto _test_eof262 + goto _testEof262 } - st_case_262: + stCase262: if 33 <= data[p] && data[p] <= 126 { goto st263 } goto st0 st263: if p++; p == pe { - goto _test_eof263 + goto _testEof263 } - st_case_263: + stCase263: if 33 <= data[p] && data[p] <= 126 { goto st264 } goto st0 st264: if p++; p == pe { - goto _test_eof264 + goto _testEof264 } - st_case_264: + stCase264: if 33 <= data[p] && data[p] <= 126 { goto st265 } goto st0 st265: if p++; p == pe { - goto _test_eof265 + goto _testEof265 } - st_case_265: + stCase265: if 33 <= data[p] && data[p] <= 126 { goto st266 } goto st0 st266: if p++; p == pe { - goto _test_eof266 + goto _testEof266 } - st_case_266: + stCase266: if 33 <= data[p] && data[p] <= 126 { goto st267 } goto st0 st267: if p++; p == pe { - goto _test_eof267 + goto _testEof267 } - st_case_267: + stCase267: if 33 <= data[p] && data[p] <= 126 { goto st268 } goto st0 st268: if p++; p == pe { - goto _test_eof268 + goto _testEof268 } - st_case_268: + stCase268: if 33 <= data[p] && data[p] <= 126 { goto st269 } goto st0 st269: if p++; p == pe { - goto _test_eof269 + goto _testEof269 } - st_case_269: + stCase269: if 33 <= data[p] && data[p] <= 126 { goto st270 } goto st0 st270: if p++; p == pe { - goto _test_eof270 + goto _testEof270 } - st_case_270: + stCase270: if 33 <= data[p] && data[p] <= 126 { goto st271 } goto st0 st271: if p++; p == pe { - goto _test_eof271 + goto _testEof271 } - st_case_271: + stCase271: if 33 <= data[p] && data[p] <= 126 { goto st272 } goto st0 st272: if p++; p == pe { - goto _test_eof272 + goto _testEof272 } - st_case_272: + stCase272: if 33 <= data[p] && data[p] <= 126 { goto st273 } goto st0 st273: if p++; p == pe { - goto _test_eof273 + goto _testEof273 } - st_case_273: + stCase273: if 33 <= data[p] && data[p] <= 126 { goto st274 } goto st0 st274: if p++; p == pe { - goto _test_eof274 + goto _testEof274 } - st_case_274: + stCase274: if 33 <= data[p] && data[p] <= 126 { goto st275 } goto st0 st275: if p++; p == pe { - goto _test_eof275 + goto _testEof275 } - st_case_275: + stCase275: if 33 <= data[p] && data[p] <= 126 { goto st276 } goto st0 st276: if p++; p == pe { - goto _test_eof276 + goto _testEof276 } - st_case_276: + stCase276: if 33 <= data[p] && data[p] <= 126 { goto st277 } goto st0 st277: if p++; p == pe { - goto _test_eof277 + goto _testEof277 } - st_case_277: + stCase277: if 33 <= data[p] && data[p] <= 126 { goto st278 } goto st0 st278: if p++; p == pe { - goto _test_eof278 + goto _testEof278 } - st_case_278: + stCase278: if 33 <= data[p] && data[p] <= 126 { goto st279 } goto st0 st279: if p++; p == pe { - goto _test_eof279 + goto _testEof279 } - st_case_279: + stCase279: if 33 <= data[p] && data[p] <= 126 { goto st280 } goto st0 st280: if p++; p == pe { - goto _test_eof280 + goto _testEof280 } - st_case_280: + stCase280: if 33 <= data[p] && data[p] <= 126 { goto st281 } goto st0 st281: if p++; p == pe { - goto _test_eof281 + goto _testEof281 } - st_case_281: + stCase281: if 33 <= data[p] && data[p] <= 126 { goto st282 } goto st0 st282: if p++; p == pe { - goto _test_eof282 + goto _testEof282 } - st_case_282: + stCase282: if 33 <= data[p] && data[p] <= 126 { goto st283 } goto st0 st283: if p++; p == pe { - goto _test_eof283 + goto _testEof283 } - st_case_283: + stCase283: if 33 <= data[p] && data[p] <= 126 { goto st284 } goto st0 st284: if p++; p == pe { - goto _test_eof284 + goto _testEof284 } - st_case_284: + stCase284: if 33 <= data[p] && data[p] <= 126 { goto st285 } goto st0 st285: if p++; p == pe { - goto _test_eof285 + goto _testEof285 } - st_case_285: + stCase285: if 33 <= data[p] && data[p] <= 126 { goto st286 } goto st0 st286: if p++; p == pe { - goto _test_eof286 + goto _testEof286 } - st_case_286: + stCase286: if 33 <= data[p] && data[p] <= 126 { goto st287 } goto st0 st287: if p++; p == pe { - goto _test_eof287 + goto _testEof287 } - st_case_287: + stCase287: if 33 <= data[p] && data[p] <= 126 { goto st288 } goto st0 st288: if p++; p == pe { - goto _test_eof288 + goto _testEof288 } - st_case_288: + stCase288: if 33 <= data[p] && data[p] <= 126 { goto st289 } goto st0 st289: if p++; p == pe { - goto _test_eof289 + goto _testEof289 } - st_case_289: + stCase289: if 33 <= data[p] && data[p] <= 126 { goto st290 } goto st0 st290: if p++; p == pe { - goto _test_eof290 + goto _testEof290 } - st_case_290: + stCase290: if 33 <= data[p] && data[p] <= 126 { goto st291 } goto st0 st291: if p++; p == pe { - goto _test_eof291 + goto _testEof291 } - st_case_291: + stCase291: if 33 <= data[p] && data[p] <= 126 { goto st292 } goto st0 st292: if p++; p == pe { - goto _test_eof292 + goto _testEof292 } - st_case_292: + stCase292: if 33 <= data[p] && data[p] <= 126 { goto st293 } goto st0 st293: if p++; p == pe { - goto _test_eof293 + goto _testEof293 } - st_case_293: + stCase293: if 33 <= data[p] && data[p] <= 126 { goto st294 } goto st0 st294: if p++; p == pe { - goto _test_eof294 + goto _testEof294 } - st_case_294: + stCase294: if 33 <= data[p] && data[p] <= 126 { goto st295 } goto st0 st295: if p++; p == pe { - goto _test_eof295 + goto _testEof295 } - st_case_295: + stCase295: if 33 <= data[p] && data[p] <= 126 { goto st296 } goto st0 st296: if p++; p == pe { - goto _test_eof296 + goto _testEof296 } - st_case_296: + stCase296: if 33 <= data[p] && data[p] <= 126 { goto st297 } goto st0 st297: if p++; p == pe { - goto _test_eof297 + goto _testEof297 } - st_case_297: + stCase297: if 33 <= data[p] && data[p] <= 126 { goto st298 } goto st0 st298: if p++; p == pe { - goto _test_eof298 + goto _testEof298 } - st_case_298: + stCase298: if 33 <= data[p] && data[p] <= 126 { goto st299 } goto st0 st299: if p++; p == pe { - goto _test_eof299 + goto _testEof299 } - st_case_299: + stCase299: if 33 <= data[p] && data[p] <= 126 { goto st300 } goto st0 st300: if p++; p == pe { - goto _test_eof300 + goto _testEof300 } - st_case_300: + stCase300: if 33 <= data[p] && data[p] <= 126 { goto st301 } goto st0 st301: if p++; p == pe { - goto _test_eof301 + goto _testEof301 } - st_case_301: + stCase301: if 33 <= data[p] && data[p] <= 126 { goto st302 } goto st0 st302: if p++; p == pe { - goto _test_eof302 + goto _testEof302 } - st_case_302: + stCase302: if 33 <= data[p] && data[p] <= 126 { goto st303 } goto st0 st303: if p++; p == pe { - goto _test_eof303 + goto _testEof303 } - st_case_303: + stCase303: if 33 <= data[p] && data[p] <= 126 { goto st304 } goto st0 st304: if p++; p == pe { - goto _test_eof304 + goto _testEof304 } - st_case_304: + stCase304: if 33 <= data[p] && data[p] <= 126 { goto st305 } goto st0 st305: if p++; p == pe { - goto _test_eof305 + goto _testEof305 } - st_case_305: + stCase305: if 33 <= data[p] && data[p] <= 126 { goto st306 } goto st0 st306: if p++; p == pe { - goto _test_eof306 + goto _testEof306 } - st_case_306: + stCase306: if 33 <= data[p] && data[p] <= 126 { goto st307 } goto st0 st307: if p++; p == pe { - goto _test_eof307 + goto _testEof307 } - st_case_307: + stCase307: if 33 <= data[p] && data[p] <= 126 { goto st308 } goto st0 st308: if p++; p == pe { - goto _test_eof308 + goto _testEof308 } - st_case_308: + stCase308: if 33 <= data[p] && data[p] <= 126 { goto st309 } goto st0 st309: if p++; p == pe { - goto _test_eof309 + goto _testEof309 } - st_case_309: + stCase309: + goto st0 + stCase39: if 33 <= data[p] && data[p] <= 126 { - goto st310 + goto tr39 } goto st0 + tr39: + + pb = p + + goto st310 st310: if p++; p == pe { - goto _test_eof310 + goto _testEof310 } - st_case_310: + stCase310: if 33 <= data[p] && data[p] <= 126 { goto st311 } goto st0 st311: if p++; p == pe { - goto _test_eof311 + goto _testEof311 } - st_case_311: + stCase311: if 33 <= data[p] && data[p] <= 126 { goto st312 } goto st0 st312: if p++; p == pe { - goto _test_eof312 + goto _testEof312 } - st_case_312: + stCase312: if 33 <= data[p] && data[p] <= 126 { goto st313 } goto st0 st313: if p++; p == pe { - goto _test_eof313 + goto _testEof313 } - st_case_313: + stCase313: if 33 <= data[p] && data[p] <= 126 { goto st314 } goto st0 st314: if p++; p == pe { - goto _test_eof314 + goto _testEof314 } - st_case_314: + stCase314: if 33 <= data[p] && data[p] <= 126 { goto st315 } goto st0 st315: if p++; p == pe { - goto _test_eof315 + goto _testEof315 } - st_case_315: + stCase315: if 33 <= data[p] && data[p] <= 126 { goto st316 } goto st0 st316: if p++; p == pe { - goto _test_eof316 + goto _testEof316 } - st_case_316: - goto st0 - st_case_46: + stCase316: if 33 <= data[p] && data[p] <= 126 { - goto tr42 + goto st317 } goto st0 - tr42: - - pb = p - - goto st317 st317: if p++; p == pe { - goto _test_eof317 + goto _testEof317 } - st_case_317: + stCase317: if 33 <= data[p] && data[p] <= 126 { goto st318 } goto st0 st318: if p++; p == pe { - goto _test_eof318 + goto _testEof318 } - st_case_318: + stCase318: if 33 <= data[p] && data[p] <= 126 { goto st319 } goto st0 st319: if p++; p == pe { - goto _test_eof319 + goto _testEof319 } - st_case_319: + stCase319: if 33 <= data[p] && data[p] <= 126 { goto st320 } goto st0 st320: if p++; p == pe { - goto _test_eof320 + goto _testEof320 } - st_case_320: + stCase320: if 33 <= data[p] && data[p] <= 126 { goto st321 } goto st0 st321: if p++; p == pe { - goto _test_eof321 + goto _testEof321 } - st_case_321: + stCase321: if 33 <= data[p] && data[p] <= 126 { goto st322 } goto st0 st322: if p++; p == pe { - goto _test_eof322 + goto _testEof322 } - st_case_322: + stCase322: if 33 <= data[p] && data[p] <= 126 { goto st323 } goto st0 st323: if p++; p == pe { - goto _test_eof323 + goto _testEof323 } - st_case_323: + stCase323: if 33 <= data[p] && data[p] <= 126 { goto st324 } goto st0 st324: if p++; p == pe { - goto _test_eof324 + goto _testEof324 } - st_case_324: + stCase324: if 33 <= data[p] && data[p] <= 126 { goto st325 } goto st0 st325: if p++; p == pe { - goto _test_eof325 + goto _testEof325 } - st_case_325: + stCase325: if 33 <= data[p] && data[p] <= 126 { goto st326 } goto st0 st326: if p++; p == pe { - goto _test_eof326 + goto _testEof326 } - st_case_326: + stCase326: if 33 <= data[p] && data[p] <= 126 { goto st327 } goto st0 st327: if p++; p == pe { - goto _test_eof327 + goto _testEof327 } - st_case_327: + stCase327: if 33 <= data[p] && data[p] <= 126 { goto st328 } goto st0 st328: if p++; p == pe { - goto _test_eof328 + goto _testEof328 } - st_case_328: + stCase328: if 33 <= data[p] && data[p] <= 126 { goto st329 } goto st0 st329: if p++; p == pe { - goto _test_eof329 + goto _testEof329 } - st_case_329: + stCase329: if 33 <= data[p] && data[p] <= 126 { goto st330 } goto st0 st330: if p++; p == pe { - goto _test_eof330 + goto _testEof330 } - st_case_330: + stCase330: if 33 <= data[p] && data[p] <= 126 { goto st331 } goto st0 st331: if p++; p == pe { - goto _test_eof331 + goto _testEof331 } - st_case_331: + stCase331: if 33 <= data[p] && data[p] <= 126 { goto st332 } goto st0 st332: if p++; p == pe { - goto _test_eof332 + goto _testEof332 } - st_case_332: + stCase332: if 33 <= data[p] && data[p] <= 126 { goto st333 } goto st0 st333: if p++; p == pe { - goto _test_eof333 + goto _testEof333 } - st_case_333: + stCase333: if 33 <= data[p] && data[p] <= 126 { goto st334 } goto st0 st334: if p++; p == pe { - goto _test_eof334 + goto _testEof334 } - st_case_334: + stCase334: if 33 <= data[p] && data[p] <= 126 { goto st335 } goto st0 st335: if p++; p == pe { - goto _test_eof335 + goto _testEof335 } - st_case_335: + stCase335: if 33 <= data[p] && data[p] <= 126 { goto st336 } goto st0 st336: if p++; p == pe { - goto _test_eof336 + goto _testEof336 } - st_case_336: + stCase336: if 33 <= data[p] && data[p] <= 126 { goto st337 } goto st0 st337: if p++; p == pe { - goto _test_eof337 + goto _testEof337 } - st_case_337: + stCase337: if 33 <= data[p] && data[p] <= 126 { goto st338 } goto st0 st338: if p++; p == pe { - goto _test_eof338 + goto _testEof338 } - st_case_338: + stCase338: if 33 <= data[p] && data[p] <= 126 { goto st339 } goto st0 st339: if p++; p == pe { - goto _test_eof339 + goto _testEof339 } - st_case_339: + stCase339: if 33 <= data[p] && data[p] <= 126 { goto st340 } goto st0 st340: if p++; p == pe { - goto _test_eof340 + goto _testEof340 } - st_case_340: + stCase340: if 33 <= data[p] && data[p] <= 126 { goto st341 } goto st0 st341: if p++; p == pe { - goto _test_eof341 + goto _testEof341 } - st_case_341: + stCase341: if 33 <= data[p] && data[p] <= 126 { goto st342 } goto st0 st342: if p++; p == pe { - goto _test_eof342 + goto _testEof342 } - st_case_342: + stCase342: if 33 <= data[p] && data[p] <= 126 { goto st343 } goto st0 st343: if p++; p == pe { - goto _test_eof343 + goto _testEof343 } - st_case_343: + stCase343: if 33 <= data[p] && data[p] <= 126 { goto st344 } goto st0 st344: if p++; p == pe { - goto _test_eof344 + goto _testEof344 } - st_case_344: + stCase344: if 33 <= data[p] && data[p] <= 126 { goto st345 } goto st0 st345: if p++; p == pe { - goto _test_eof345 + goto _testEof345 } - st_case_345: + stCase345: if 33 <= data[p] && data[p] <= 126 { goto st346 } goto st0 st346: if p++; p == pe { - goto _test_eof346 + goto _testEof346 } - st_case_346: + stCase346: if 33 <= data[p] && data[p] <= 126 { goto st347 } goto st0 st347: if p++; p == pe { - goto _test_eof347 + goto _testEof347 } - st_case_347: + stCase347: if 33 <= data[p] && data[p] <= 126 { goto st348 } goto st0 st348: if p++; p == pe { - goto _test_eof348 + goto _testEof348 } - st_case_348: + stCase348: if 33 <= data[p] && data[p] <= 126 { goto st349 } goto st0 st349: if p++; p == pe { - goto _test_eof349 + goto _testEof349 } - st_case_349: + stCase349: if 33 <= data[p] && data[p] <= 126 { goto st350 } goto st0 st350: if p++; p == pe { - goto _test_eof350 + goto _testEof350 } - st_case_350: + stCase350: if 33 <= data[p] && data[p] <= 126 { goto st351 } goto st0 st351: if p++; p == pe { - goto _test_eof351 + goto _testEof351 } - st_case_351: + stCase351: if 33 <= data[p] && data[p] <= 126 { goto st352 } goto st0 st352: if p++; p == pe { - goto _test_eof352 + goto _testEof352 } - st_case_352: + stCase352: if 33 <= data[p] && data[p] <= 126 { goto st353 } goto st0 st353: if p++; p == pe { - goto _test_eof353 + goto _testEof353 } - st_case_353: + stCase353: if 33 <= data[p] && data[p] <= 126 { goto st354 } goto st0 st354: if p++; p == pe { - goto _test_eof354 + goto _testEof354 } - st_case_354: + stCase354: if 33 <= data[p] && data[p] <= 126 { goto st355 } goto st0 st355: if p++; p == pe { - goto _test_eof355 + goto _testEof355 } - st_case_355: + stCase355: if 33 <= data[p] && data[p] <= 126 { goto st356 } goto st0 st356: if p++; p == pe { - goto _test_eof356 + goto _testEof356 } - st_case_356: + stCase356: if 33 <= data[p] && data[p] <= 126 { goto st357 } goto st0 st357: if p++; p == pe { - goto _test_eof357 + goto _testEof357 } - st_case_357: + stCase357: + goto st0 + stCase40: if 33 <= data[p] && data[p] <= 126 { - goto st358 + goto tr40 } goto st0 + tr40: + + pb = p + + goto st358 st358: if p++; p == pe { - goto _test_eof358 + goto _testEof358 } - st_case_358: + stCase358: if 33 <= data[p] && data[p] <= 126 { goto st359 } goto st0 st359: if p++; p == pe { - goto _test_eof359 + goto _testEof359 } - st_case_359: + stCase359: if 33 <= data[p] && data[p] <= 126 { goto st360 } goto st0 st360: if p++; p == pe { - goto _test_eof360 + goto _testEof360 } - st_case_360: + stCase360: if 33 <= data[p] && data[p] <= 126 { goto st361 } goto st0 st361: if p++; p == pe { - goto _test_eof361 + goto _testEof361 } - st_case_361: + stCase361: if 33 <= data[p] && data[p] <= 126 { goto st362 } goto st0 st362: if p++; p == pe { - goto _test_eof362 + goto _testEof362 } - st_case_362: + stCase362: if 33 <= data[p] && data[p] <= 126 { goto st363 } goto st0 st363: if p++; p == pe { - goto _test_eof363 + goto _testEof363 } - st_case_363: + stCase363: if 33 <= data[p] && data[p] <= 126 { goto st364 } goto st0 st364: if p++; p == pe { - goto _test_eof364 + goto _testEof364 } - st_case_364: - goto st0 - st_case_47: + stCase364: if 33 <= data[p] && data[p] <= 126 { - goto tr43 + goto st365 } goto st0 - tr43: - - pb = p - - goto st365 st365: if p++; p == pe { - goto _test_eof365 + goto _testEof365 } - st_case_365: + stCase365: if 33 <= data[p] && data[p] <= 126 { goto st366 } goto st0 st366: if p++; p == pe { - goto _test_eof366 + goto _testEof366 } - st_case_366: + stCase366: if 33 <= data[p] && data[p] <= 126 { goto st367 } goto st0 st367: if p++; p == pe { - goto _test_eof367 + goto _testEof367 } - st_case_367: + stCase367: if 33 <= data[p] && data[p] <= 126 { goto st368 } goto st0 st368: if p++; p == pe { - goto _test_eof368 + goto _testEof368 } - st_case_368: + stCase368: if 33 <= data[p] && data[p] <= 126 { goto st369 } goto st0 st369: if p++; p == pe { - goto _test_eof369 + goto _testEof369 } - st_case_369: + stCase369: if 33 <= data[p] && data[p] <= 126 { goto st370 } goto st0 st370: if p++; p == pe { - goto _test_eof370 + goto _testEof370 } - st_case_370: + stCase370: if 33 <= data[p] && data[p] <= 126 { goto st371 } goto st0 st371: if p++; p == pe { - goto _test_eof371 + goto _testEof371 } - st_case_371: + stCase371: if 33 <= data[p] && data[p] <= 126 { goto st372 } goto st0 st372: if p++; p == pe { - goto _test_eof372 + goto _testEof372 } - st_case_372: + stCase372: if 33 <= data[p] && data[p] <= 126 { goto st373 } goto st0 st373: if p++; p == pe { - goto _test_eof373 + goto _testEof373 } - st_case_373: + stCase373: if 33 <= data[p] && data[p] <= 126 { goto st374 } goto st0 st374: if p++; p == pe { - goto _test_eof374 + goto _testEof374 } - st_case_374: + stCase374: if 33 <= data[p] && data[p] <= 126 { goto st375 } goto st0 st375: if p++; p == pe { - goto _test_eof375 + goto _testEof375 } - st_case_375: + stCase375: if 33 <= data[p] && data[p] <= 126 { goto st376 } goto st0 st376: if p++; p == pe { - goto _test_eof376 + goto _testEof376 } - st_case_376: + stCase376: if 33 <= data[p] && data[p] <= 126 { goto st377 } goto st0 st377: if p++; p == pe { - goto _test_eof377 + goto _testEof377 } - st_case_377: + stCase377: if 33 <= data[p] && data[p] <= 126 { goto st378 } goto st0 st378: if p++; p == pe { - goto _test_eof378 + goto _testEof378 } - st_case_378: + stCase378: if 33 <= data[p] && data[p] <= 126 { goto st379 } goto st0 st379: if p++; p == pe { - goto _test_eof379 + goto _testEof379 } - st_case_379: + stCase379: if 33 <= data[p] && data[p] <= 126 { goto st380 } goto st0 st380: if p++; p == pe { - goto _test_eof380 + goto _testEof380 } - st_case_380: + stCase380: if 33 <= data[p] && data[p] <= 126 { goto st381 } goto st0 st381: if p++; p == pe { - goto _test_eof381 + goto _testEof381 } - st_case_381: + stCase381: if 33 <= data[p] && data[p] <= 126 { goto st382 } goto st0 st382: if p++; p == pe { - goto _test_eof382 + goto _testEof382 } - st_case_382: + stCase382: if 33 <= data[p] && data[p] <= 126 { goto st383 } goto st0 st383: if p++; p == pe { - goto _test_eof383 + goto _testEof383 } - st_case_383: + stCase383: if 33 <= data[p] && data[p] <= 126 { goto st384 } goto st0 st384: if p++; p == pe { - goto _test_eof384 + goto _testEof384 } - st_case_384: + stCase384: if 33 <= data[p] && data[p] <= 126 { goto st385 } goto st0 st385: if p++; p == pe { - goto _test_eof385 + goto _testEof385 } - st_case_385: + stCase385: if 33 <= data[p] && data[p] <= 126 { goto st386 } goto st0 st386: if p++; p == pe { - goto _test_eof386 + goto _testEof386 } - st_case_386: + stCase386: if 33 <= data[p] && data[p] <= 126 { goto st387 } goto st0 st387: if p++; p == pe { - goto _test_eof387 + goto _testEof387 } - st_case_387: + stCase387: if 33 <= data[p] && data[p] <= 126 { goto st388 } goto st0 st388: if p++; p == pe { - goto _test_eof388 + goto _testEof388 } - st_case_388: + stCase388: if 33 <= data[p] && data[p] <= 126 { goto st389 } goto st0 st389: if p++; p == pe { - goto _test_eof389 + goto _testEof389 } - st_case_389: + stCase389: if 33 <= data[p] && data[p] <= 126 { goto st390 } goto st0 st390: if p++; p == pe { - goto _test_eof390 + goto _testEof390 } - st_case_390: + stCase390: if 33 <= data[p] && data[p] <= 126 { goto st391 } goto st0 st391: if p++; p == pe { - goto _test_eof391 + goto _testEof391 } - st_case_391: + stCase391: if 33 <= data[p] && data[p] <= 126 { goto st392 } goto st0 st392: if p++; p == pe { - goto _test_eof392 + goto _testEof392 } - st_case_392: + stCase392: if 33 <= data[p] && data[p] <= 126 { goto st393 } goto st0 st393: if p++; p == pe { - goto _test_eof393 + goto _testEof393 } - st_case_393: + stCase393: if 33 <= data[p] && data[p] <= 126 { goto st394 } goto st0 st394: if p++; p == pe { - goto _test_eof394 + goto _testEof394 } - st_case_394: + stCase394: if 33 <= data[p] && data[p] <= 126 { goto st395 } goto st0 st395: if p++; p == pe { - goto _test_eof395 + goto _testEof395 } - st_case_395: + stCase395: if 33 <= data[p] && data[p] <= 126 { goto st396 } goto st0 st396: if p++; p == pe { - goto _test_eof396 + goto _testEof396 } - st_case_396: + stCase396: if 33 <= data[p] && data[p] <= 126 { goto st397 } goto st0 st397: if p++; p == pe { - goto _test_eof397 + goto _testEof397 } - st_case_397: + stCase397: if 33 <= data[p] && data[p] <= 126 { goto st398 } goto st0 st398: if p++; p == pe { - goto _test_eof398 + goto _testEof398 } - st_case_398: + stCase398: if 33 <= data[p] && data[p] <= 126 { goto st399 } goto st0 st399: if p++; p == pe { - goto _test_eof399 + goto _testEof399 } - st_case_399: + stCase399: if 33 <= data[p] && data[p] <= 126 { goto st400 } goto st0 st400: if p++; p == pe { - goto _test_eof400 + goto _testEof400 } - st_case_400: + stCase400: if 33 <= data[p] && data[p] <= 126 { goto st401 } goto st0 st401: if p++; p == pe { - goto _test_eof401 + goto _testEof401 } - st_case_401: + stCase401: if 33 <= data[p] && data[p] <= 126 { goto st402 } goto st0 st402: if p++; p == pe { - goto _test_eof402 + goto _testEof402 } - st_case_402: + stCase402: if 33 <= data[p] && data[p] <= 126 { goto st403 } goto st0 st403: if p++; p == pe { - goto _test_eof403 + goto _testEof403 } - st_case_403: + stCase403: if 33 <= data[p] && data[p] <= 126 { goto st404 } goto st0 st404: if p++; p == pe { - goto _test_eof404 + goto _testEof404 } - st_case_404: + stCase404: if 33 <= data[p] && data[p] <= 126 { goto st405 } goto st0 st405: if p++; p == pe { - goto _test_eof405 + goto _testEof405 } - st_case_405: + stCase405: if 33 <= data[p] && data[p] <= 126 { goto st406 } goto st0 st406: if p++; p == pe { - goto _test_eof406 + goto _testEof406 } - st_case_406: + stCase406: if 33 <= data[p] && data[p] <= 126 { goto st407 } goto st0 st407: if p++; p == pe { - goto _test_eof407 + goto _testEof407 } - st_case_407: + stCase407: if 33 <= data[p] && data[p] <= 126 { goto st408 } goto st0 st408: if p++; p == pe { - goto _test_eof408 + goto _testEof408 } - st_case_408: + stCase408: if 33 <= data[p] && data[p] <= 126 { goto st409 } goto st0 st409: if p++; p == pe { - goto _test_eof409 + goto _testEof409 } - st_case_409: + stCase409: if 33 <= data[p] && data[p] <= 126 { goto st410 } goto st0 st410: if p++; p == pe { - goto _test_eof410 + goto _testEof410 } - st_case_410: + stCase410: if 33 <= data[p] && data[p] <= 126 { goto st411 } goto st0 st411: if p++; p == pe { - goto _test_eof411 + goto _testEof411 } - st_case_411: + stCase411: if 33 <= data[p] && data[p] <= 126 { goto st412 } goto st0 st412: if p++; p == pe { - goto _test_eof412 + goto _testEof412 } - st_case_412: + stCase412: if 33 <= data[p] && data[p] <= 126 { goto st413 } goto st0 st413: if p++; p == pe { - goto _test_eof413 + goto _testEof413 } - st_case_413: + stCase413: if 33 <= data[p] && data[p] <= 126 { goto st414 } goto st0 st414: if p++; p == pe { - goto _test_eof414 + goto _testEof414 } - st_case_414: + stCase414: if 33 <= data[p] && data[p] <= 126 { goto st415 } goto st0 st415: if p++; p == pe { - goto _test_eof415 + goto _testEof415 } - st_case_415: + stCase415: if 33 <= data[p] && data[p] <= 126 { goto st416 } goto st0 st416: if p++; p == pe { - goto _test_eof416 + goto _testEof416 } - st_case_416: + stCase416: if 33 <= data[p] && data[p] <= 126 { goto st417 } goto st0 st417: if p++; p == pe { - goto _test_eof417 + goto _testEof417 } - st_case_417: + stCase417: if 33 <= data[p] && data[p] <= 126 { goto st418 } goto st0 st418: if p++; p == pe { - goto _test_eof418 + goto _testEof418 } - st_case_418: + stCase418: if 33 <= data[p] && data[p] <= 126 { goto st419 } goto st0 st419: if p++; p == pe { - goto _test_eof419 + goto _testEof419 } - st_case_419: + stCase419: if 33 <= data[p] && data[p] <= 126 { goto st420 } goto st0 st420: if p++; p == pe { - goto _test_eof420 + goto _testEof420 } - st_case_420: + stCase420: if 33 <= data[p] && data[p] <= 126 { goto st421 } goto st0 st421: if p++; p == pe { - goto _test_eof421 + goto _testEof421 } - st_case_421: + stCase421: if 33 <= data[p] && data[p] <= 126 { goto st422 } goto st0 st422: if p++; p == pe { - goto _test_eof422 + goto _testEof422 } - st_case_422: + stCase422: if 33 <= data[p] && data[p] <= 126 { goto st423 } goto st0 st423: if p++; p == pe { - goto _test_eof423 + goto _testEof423 } - st_case_423: + stCase423: if 33 <= data[p] && data[p] <= 126 { goto st424 } goto st0 st424: if p++; p == pe { - goto _test_eof424 + goto _testEof424 } - st_case_424: + stCase424: if 33 <= data[p] && data[p] <= 126 { goto st425 } goto st0 st425: if p++; p == pe { - goto _test_eof425 + goto _testEof425 } - st_case_425: + stCase425: if 33 <= data[p] && data[p] <= 126 { goto st426 } goto st0 st426: if p++; p == pe { - goto _test_eof426 + goto _testEof426 } - st_case_426: + stCase426: if 33 <= data[p] && data[p] <= 126 { goto st427 } goto st0 st427: if p++; p == pe { - goto _test_eof427 + goto _testEof427 } - st_case_427: + stCase427: if 33 <= data[p] && data[p] <= 126 { goto st428 } goto st0 st428: if p++; p == pe { - goto _test_eof428 + goto _testEof428 } - st_case_428: + stCase428: if 33 <= data[p] && data[p] <= 126 { goto st429 } goto st0 st429: if p++; p == pe { - goto _test_eof429 + goto _testEof429 } - st_case_429: + stCase429: if 33 <= data[p] && data[p] <= 126 { goto st430 } goto st0 st430: if p++; p == pe { - goto _test_eof430 + goto _testEof430 } - st_case_430: + stCase430: if 33 <= data[p] && data[p] <= 126 { goto st431 } goto st0 st431: if p++; p == pe { - goto _test_eof431 + goto _testEof431 } - st_case_431: + stCase431: if 33 <= data[p] && data[p] <= 126 { goto st432 } goto st0 st432: if p++; p == pe { - goto _test_eof432 + goto _testEof432 } - st_case_432: + stCase432: if 33 <= data[p] && data[p] <= 126 { goto st433 } goto st0 st433: if p++; p == pe { - goto _test_eof433 + goto _testEof433 } - st_case_433: + stCase433: if 33 <= data[p] && data[p] <= 126 { goto st434 } goto st0 st434: if p++; p == pe { - goto _test_eof434 + goto _testEof434 } - st_case_434: + stCase434: if 33 <= data[p] && data[p] <= 126 { goto st435 } goto st0 st435: if p++; p == pe { - goto _test_eof435 + goto _testEof435 } - st_case_435: + stCase435: if 33 <= data[p] && data[p] <= 126 { goto st436 } goto st0 st436: if p++; p == pe { - goto _test_eof436 + goto _testEof436 } - st_case_436: + stCase436: if 33 <= data[p] && data[p] <= 126 { goto st437 } goto st0 st437: if p++; p == pe { - goto _test_eof437 + goto _testEof437 } - st_case_437: + stCase437: if 33 <= data[p] && data[p] <= 126 { goto st438 } goto st0 st438: if p++; p == pe { - goto _test_eof438 + goto _testEof438 } - st_case_438: + stCase438: if 33 <= data[p] && data[p] <= 126 { goto st439 } goto st0 st439: if p++; p == pe { - goto _test_eof439 + goto _testEof439 } - st_case_439: + stCase439: if 33 <= data[p] && data[p] <= 126 { goto st440 } goto st0 st440: if p++; p == pe { - goto _test_eof440 + goto _testEof440 } - st_case_440: + stCase440: if 33 <= data[p] && data[p] <= 126 { goto st441 } goto st0 st441: if p++; p == pe { - goto _test_eof441 + goto _testEof441 } - st_case_441: + stCase441: if 33 <= data[p] && data[p] <= 126 { goto st442 } goto st0 st442: if p++; p == pe { - goto _test_eof442 + goto _testEof442 } - st_case_442: + stCase442: if 33 <= data[p] && data[p] <= 126 { goto st443 } goto st0 st443: if p++; p == pe { - goto _test_eof443 + goto _testEof443 } - st_case_443: + stCase443: if 33 <= data[p] && data[p] <= 126 { goto st444 } goto st0 st444: if p++; p == pe { - goto _test_eof444 + goto _testEof444 } - st_case_444: + stCase444: if 33 <= data[p] && data[p] <= 126 { goto st445 } goto st0 st445: if p++; p == pe { - goto _test_eof445 + goto _testEof445 } - st_case_445: + stCase445: if 33 <= data[p] && data[p] <= 126 { goto st446 } goto st0 st446: if p++; p == pe { - goto _test_eof446 + goto _testEof446 } - st_case_446: + stCase446: if 33 <= data[p] && data[p] <= 126 { goto st447 } goto st0 st447: if p++; p == pe { - goto _test_eof447 + goto _testEof447 } - st_case_447: + stCase447: if 33 <= data[p] && data[p] <= 126 { goto st448 } goto st0 st448: if p++; p == pe { - goto _test_eof448 + goto _testEof448 } - st_case_448: + stCase448: if 33 <= data[p] && data[p] <= 126 { goto st449 } goto st0 st449: if p++; p == pe { - goto _test_eof449 + goto _testEof449 } - st_case_449: + stCase449: if 33 <= data[p] && data[p] <= 126 { goto st450 } goto st0 st450: if p++; p == pe { - goto _test_eof450 + goto _testEof450 } - st_case_450: + stCase450: if 33 <= data[p] && data[p] <= 126 { goto st451 } goto st0 st451: if p++; p == pe { - goto _test_eof451 + goto _testEof451 } - st_case_451: + stCase451: if 33 <= data[p] && data[p] <= 126 { goto st452 } goto st0 st452: if p++; p == pe { - goto _test_eof452 + goto _testEof452 } - st_case_452: + stCase452: if 33 <= data[p] && data[p] <= 126 { goto st453 } goto st0 st453: if p++; p == pe { - goto _test_eof453 + goto _testEof453 } - st_case_453: + stCase453: if 33 <= data[p] && data[p] <= 126 { goto st454 } goto st0 st454: if p++; p == pe { - goto _test_eof454 + goto _testEof454 } - st_case_454: + stCase454: if 33 <= data[p] && data[p] <= 126 { goto st455 } goto st0 st455: if p++; p == pe { - goto _test_eof455 + goto _testEof455 } - st_case_455: + stCase455: if 33 <= data[p] && data[p] <= 126 { goto st456 } goto st0 st456: if p++; p == pe { - goto _test_eof456 + goto _testEof456 } - st_case_456: + stCase456: if 33 <= data[p] && data[p] <= 126 { goto st457 } goto st0 st457: if p++; p == pe { - goto _test_eof457 + goto _testEof457 } - st_case_457: + stCase457: if 33 <= data[p] && data[p] <= 126 { goto st458 } goto st0 st458: if p++; p == pe { - goto _test_eof458 + goto _testEof458 } - st_case_458: + stCase458: if 33 <= data[p] && data[p] <= 126 { goto st459 } goto st0 st459: if p++; p == pe { - goto _test_eof459 + goto _testEof459 } - st_case_459: + stCase459: if 33 <= data[p] && data[p] <= 126 { goto st460 } goto st0 st460: if p++; p == pe { - goto _test_eof460 + goto _testEof460 } - st_case_460: + stCase460: if 33 <= data[p] && data[p] <= 126 { goto st461 } goto st0 st461: if p++; p == pe { - goto _test_eof461 + goto _testEof461 } - st_case_461: + stCase461: if 33 <= data[p] && data[p] <= 126 { goto st462 } goto st0 st462: if p++; p == pe { - goto _test_eof462 + goto _testEof462 } - st_case_462: + stCase462: if 33 <= data[p] && data[p] <= 126 { goto st463 } goto st0 st463: if p++; p == pe { - goto _test_eof463 + goto _testEof463 } - st_case_463: + stCase463: if 33 <= data[p] && data[p] <= 126 { goto st464 } goto st0 st464: if p++; p == pe { - goto _test_eof464 + goto _testEof464 } - st_case_464: + stCase464: if 33 <= data[p] && data[p] <= 126 { goto st465 } goto st0 st465: if p++; p == pe { - goto _test_eof465 + goto _testEof465 } - st_case_465: + stCase465: if 33 <= data[p] && data[p] <= 126 { goto st466 } goto st0 st466: if p++; p == pe { - goto _test_eof466 + goto _testEof466 } - st_case_466: + stCase466: if 33 <= data[p] && data[p] <= 126 { goto st467 } goto st0 st467: if p++; p == pe { - goto _test_eof467 + goto _testEof467 } - st_case_467: + stCase467: if 33 <= data[p] && data[p] <= 126 { goto st468 } goto st0 st468: if p++; p == pe { - goto _test_eof468 + goto _testEof468 } - st_case_468: + stCase468: if 33 <= data[p] && data[p] <= 126 { goto st469 } goto st0 st469: if p++; p == pe { - goto _test_eof469 + goto _testEof469 } - st_case_469: + stCase469: if 33 <= data[p] && data[p] <= 126 { goto st470 } goto st0 st470: if p++; p == pe { - goto _test_eof470 + goto _testEof470 } - st_case_470: + stCase470: if 33 <= data[p] && data[p] <= 126 { goto st471 } goto st0 st471: if p++; p == pe { - goto _test_eof471 + goto _testEof471 } - st_case_471: + stCase471: if 33 <= data[p] && data[p] <= 126 { goto st472 } goto st0 st472: if p++; p == pe { - goto _test_eof472 + goto _testEof472 } - st_case_472: + stCase472: if 33 <= data[p] && data[p] <= 126 { goto st473 } goto st0 st473: if p++; p == pe { - goto _test_eof473 + goto _testEof473 } - st_case_473: + stCase473: if 33 <= data[p] && data[p] <= 126 { goto st474 } goto st0 st474: if p++; p == pe { - goto _test_eof474 + goto _testEof474 } - st_case_474: + stCase474: if 33 <= data[p] && data[p] <= 126 { goto st475 } goto st0 st475: if p++; p == pe { - goto _test_eof475 + goto _testEof475 } - st_case_475: + stCase475: if 33 <= data[p] && data[p] <= 126 { goto st476 } goto st0 st476: if p++; p == pe { - goto _test_eof476 + goto _testEof476 } - st_case_476: + stCase476: if 33 <= data[p] && data[p] <= 126 { goto st477 } goto st0 st477: if p++; p == pe { - goto _test_eof477 + goto _testEof477 } - st_case_477: + stCase477: if 33 <= data[p] && data[p] <= 126 { goto st478 } goto st0 st478: if p++; p == pe { - goto _test_eof478 + goto _testEof478 } - st_case_478: + stCase478: if 33 <= data[p] && data[p] <= 126 { goto st479 } goto st0 st479: if p++; p == pe { - goto _test_eof479 + goto _testEof479 } - st_case_479: + stCase479: if 33 <= data[p] && data[p] <= 126 { goto st480 } goto st0 st480: if p++; p == pe { - goto _test_eof480 + goto _testEof480 } - st_case_480: + stCase480: if 33 <= data[p] && data[p] <= 126 { goto st481 } goto st0 st481: if p++; p == pe { - goto _test_eof481 + goto _testEof481 } - st_case_481: + stCase481: if 33 <= data[p] && data[p] <= 126 { goto st482 } goto st0 st482: if p++; p == pe { - goto _test_eof482 + goto _testEof482 } - st_case_482: + stCase482: if 33 <= data[p] && data[p] <= 126 { goto st483 } goto st0 st483: if p++; p == pe { - goto _test_eof483 + goto _testEof483 } - st_case_483: + stCase483: if 33 <= data[p] && data[p] <= 126 { goto st484 } goto st0 st484: if p++; p == pe { - goto _test_eof484 + goto _testEof484 } - st_case_484: + stCase484: if 33 <= data[p] && data[p] <= 126 { goto st485 } goto st0 st485: if p++; p == pe { - goto _test_eof485 + goto _testEof485 } - st_case_485: + stCase485: + goto st0 + stCase41: if 33 <= data[p] && data[p] <= 126 { - goto st486 + goto tr41 } goto st0 + tr41: + + pb = p + + goto st486 st486: if p++; p == pe { - goto _test_eof486 + goto _testEof486 } - st_case_486: + stCase486: if 33 <= data[p] && data[p] <= 126 { goto st487 } goto st0 st487: if p++; p == pe { - goto _test_eof487 + goto _testEof487 } - st_case_487: + stCase487: if 33 <= data[p] && data[p] <= 126 { goto st488 } goto st0 st488: if p++; p == pe { - goto _test_eof488 + goto _testEof488 } - st_case_488: + stCase488: if 33 <= data[p] && data[p] <= 126 { goto st489 } goto st0 st489: if p++; p == pe { - goto _test_eof489 + goto _testEof489 } - st_case_489: + stCase489: if 33 <= data[p] && data[p] <= 126 { goto st490 } goto st0 st490: if p++; p == pe { - goto _test_eof490 + goto _testEof490 } - st_case_490: + stCase490: if 33 <= data[p] && data[p] <= 126 { goto st491 } goto st0 st491: if p++; p == pe { - goto _test_eof491 + goto _testEof491 } - st_case_491: + stCase491: if 33 <= data[p] && data[p] <= 126 { goto st492 } goto st0 st492: if p++; p == pe { - goto _test_eof492 + goto _testEof492 } - st_case_492: - goto st0 - st_case_48: + stCase492: if 33 <= data[p] && data[p] <= 126 { - goto tr44 + goto st493 } goto st0 - tr44: - - pb = p - - goto st493 st493: if p++; p == pe { - goto _test_eof493 + goto _testEof493 } - st_case_493: + stCase493: if 33 <= data[p] && data[p] <= 126 { goto st494 } goto st0 st494: if p++; p == pe { - goto _test_eof494 + goto _testEof494 } - st_case_494: + stCase494: if 33 <= data[p] && data[p] <= 126 { goto st495 } goto st0 st495: if p++; p == pe { - goto _test_eof495 + goto _testEof495 } - st_case_495: + stCase495: if 33 <= data[p] && data[p] <= 126 { goto st496 } goto st0 st496: if p++; p == pe { - goto _test_eof496 + goto _testEof496 } - st_case_496: + stCase496: if 33 <= data[p] && data[p] <= 126 { goto st497 } goto st0 st497: if p++; p == pe { - goto _test_eof497 + goto _testEof497 } - st_case_497: + stCase497: if 33 <= data[p] && data[p] <= 126 { goto st498 } goto st0 st498: if p++; p == pe { - goto _test_eof498 + goto _testEof498 } - st_case_498: + stCase498: if 33 <= data[p] && data[p] <= 126 { goto st499 } goto st0 st499: if p++; p == pe { - goto _test_eof499 + goto _testEof499 } - st_case_499: + stCase499: if 33 <= data[p] && data[p] <= 126 { goto st500 } goto st0 st500: if p++; p == pe { - goto _test_eof500 + goto _testEof500 } - st_case_500: + stCase500: if 33 <= data[p] && data[p] <= 126 { goto st501 } goto st0 st501: if p++; p == pe { - goto _test_eof501 + goto _testEof501 } - st_case_501: + stCase501: if 33 <= data[p] && data[p] <= 126 { goto st502 } goto st0 st502: if p++; p == pe { - goto _test_eof502 + goto _testEof502 } - st_case_502: + stCase502: if 33 <= data[p] && data[p] <= 126 { goto st503 } goto st0 st503: if p++; p == pe { - goto _test_eof503 + goto _testEof503 } - st_case_503: + stCase503: if 33 <= data[p] && data[p] <= 126 { goto st504 } goto st0 st504: if p++; p == pe { - goto _test_eof504 + goto _testEof504 } - st_case_504: + stCase504: if 33 <= data[p] && data[p] <= 126 { goto st505 } goto st0 st505: if p++; p == pe { - goto _test_eof505 + goto _testEof505 } - st_case_505: + stCase505: if 33 <= data[p] && data[p] <= 126 { goto st506 } goto st0 st506: if p++; p == pe { - goto _test_eof506 + goto _testEof506 } - st_case_506: + stCase506: if 33 <= data[p] && data[p] <= 126 { goto st507 } goto st0 st507: if p++; p == pe { - goto _test_eof507 + goto _testEof507 } - st_case_507: + stCase507: if 33 <= data[p] && data[p] <= 126 { goto st508 } goto st0 st508: if p++; p == pe { - goto _test_eof508 + goto _testEof508 } - st_case_508: + stCase508: if 33 <= data[p] && data[p] <= 126 { goto st509 } goto st0 st509: if p++; p == pe { - goto _test_eof509 + goto _testEof509 } - st_case_509: + stCase509: if 33 <= data[p] && data[p] <= 126 { goto st510 } goto st0 st510: if p++; p == pe { - goto _test_eof510 + goto _testEof510 } - st_case_510: + stCase510: if 33 <= data[p] && data[p] <= 126 { goto st511 } goto st0 st511: if p++; p == pe { - goto _test_eof511 + goto _testEof511 } - st_case_511: + stCase511: if 33 <= data[p] && data[p] <= 126 { goto st512 } goto st0 st512: if p++; p == pe { - goto _test_eof512 + goto _testEof512 } - st_case_512: + stCase512: if 33 <= data[p] && data[p] <= 126 { goto st513 } goto st0 st513: if p++; p == pe { - goto _test_eof513 + goto _testEof513 } - st_case_513: + stCase513: if 33 <= data[p] && data[p] <= 126 { goto st514 } goto st0 st514: if p++; p == pe { - goto _test_eof514 + goto _testEof514 } - st_case_514: + stCase514: if 33 <= data[p] && data[p] <= 126 { goto st515 } goto st0 st515: if p++; p == pe { - goto _test_eof515 + goto _testEof515 } - st_case_515: + stCase515: if 33 <= data[p] && data[p] <= 126 { goto st516 } goto st0 st516: if p++; p == pe { - goto _test_eof516 + goto _testEof516 } - st_case_516: + stCase516: if 33 <= data[p] && data[p] <= 126 { goto st517 } goto st0 st517: if p++; p == pe { - goto _test_eof517 + goto _testEof517 } - st_case_517: - if 33 <= data[p] && data[p] <= 126 { - goto st518 + stCase517: + goto st0 + stCase42: + if data[p] == 33 { + goto tr42 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto tr42 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto tr42 + } + default: + goto tr42 } goto st0 + tr42: + + pb = p + + goto st518 st518: if p++; p == pe { - goto _test_eof518 + goto _testEof518 } - st_case_518: - if 33 <= data[p] && data[p] <= 126 { + stCase518: + if data[p] == 33 { + goto st519 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto st519 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto st519 + } + default: goto st519 } goto st0 st519: if p++; p == pe { - goto _test_eof519 + goto _testEof519 } - st_case_519: - if 33 <= data[p] && data[p] <= 126 { + stCase519: + if data[p] == 33 { + goto st520 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto st520 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto st520 + } + default: goto st520 } goto st0 st520: if p++; p == pe { - goto _test_eof520 + goto _testEof520 } - st_case_520: - if 33 <= data[p] && data[p] <= 126 { + stCase520: + if data[p] == 33 { + goto st521 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto st521 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto st521 + } + default: goto st521 } goto st0 st521: if p++; p == pe { - goto _test_eof521 + goto _testEof521 } - st_case_521: - if 33 <= data[p] && data[p] <= 126 { + stCase521: + if data[p] == 33 { + goto st522 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto st522 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto st522 + } + default: goto st522 } goto st0 st522: if p++; p == pe { - goto _test_eof522 + goto _testEof522 } - st_case_522: - if 33 <= data[p] && data[p] <= 126 { + stCase522: + if data[p] == 33 { + goto st523 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto st523 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto st523 + } + default: goto st523 } goto st0 st523: if p++; p == pe { - goto _test_eof523 + goto _testEof523 } - st_case_523: - if 33 <= data[p] && data[p] <= 126 { + stCase523: + if data[p] == 33 { + goto st524 + } + switch { + case data[p] < 62: + if 35 <= data[p] && data[p] <= 60 { + goto st524 + } + case data[p] > 92: + if 94 <= data[p] && data[p] <= 126 { + goto st524 + } + default: goto st524 } goto st0 st524: if p++; p == pe { - goto _test_eof524 + goto _testEof524 } - st_case_524: - goto st0 - st_case_49: + stCase524: if data[p] == 33 { - goto tr45 + goto st525 } switch { case data[p] < 62: if 35 <= data[p] && data[p] <= 60 { - goto tr45 + goto st525 } case data[p] > 92: if 94 <= data[p] && data[p] <= 126 { - goto tr45 + goto st525 } default: - goto tr45 + goto st525 } goto st0 - tr45: - - pb = p - - goto st525 st525: if p++; p == pe { - goto _test_eof525 + goto _testEof525 } - st_case_525: + stCase525: if data[p] == 33 { goto st526 } @@ -6086,9 +6059,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st526: if p++; p == pe { - goto _test_eof526 + goto _testEof526 } - st_case_526: + stCase526: if data[p] == 33 { goto st527 } @@ -6107,9 +6080,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st527: if p++; p == pe { - goto _test_eof527 + goto _testEof527 } - st_case_527: + stCase527: if data[p] == 33 { goto st528 } @@ -6128,9 +6101,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st528: if p++; p == pe { - goto _test_eof528 + goto _testEof528 } - st_case_528: + stCase528: if data[p] == 33 { goto st529 } @@ -6149,9 +6122,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st529: if p++; p == pe { - goto _test_eof529 + goto _testEof529 } - st_case_529: + stCase529: if data[p] == 33 { goto st530 } @@ -6170,9 +6143,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st530: if p++; p == pe { - goto _test_eof530 + goto _testEof530 } - st_case_530: + stCase530: if data[p] == 33 { goto st531 } @@ -6191,9 +6164,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st531: if p++; p == pe { - goto _test_eof531 + goto _testEof531 } - st_case_531: + stCase531: if data[p] == 33 { goto st532 } @@ -6212,9 +6185,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st532: if p++; p == pe { - goto _test_eof532 + goto _testEof532 } - st_case_532: + stCase532: if data[p] == 33 { goto st533 } @@ -6233,9 +6206,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st533: if p++; p == pe { - goto _test_eof533 + goto _testEof533 } - st_case_533: + stCase533: if data[p] == 33 { goto st534 } @@ -6254,9 +6227,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st534: if p++; p == pe { - goto _test_eof534 + goto _testEof534 } - st_case_534: + stCase534: if data[p] == 33 { goto st535 } @@ -6275,9 +6248,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st535: if p++; p == pe { - goto _test_eof535 + goto _testEof535 } - st_case_535: + stCase535: if data[p] == 33 { goto st536 } @@ -6296,9 +6269,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st536: if p++; p == pe { - goto _test_eof536 + goto _testEof536 } - st_case_536: + stCase536: if data[p] == 33 { goto st537 } @@ -6317,9 +6290,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st537: if p++; p == pe { - goto _test_eof537 + goto _testEof537 } - st_case_537: + stCase537: if data[p] == 33 { goto st538 } @@ -6338,9 +6311,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st538: if p++; p == pe { - goto _test_eof538 + goto _testEof538 } - st_case_538: + stCase538: if data[p] == 33 { goto st539 } @@ -6359,9 +6332,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st539: if p++; p == pe { - goto _test_eof539 + goto _testEof539 } - st_case_539: + stCase539: if data[p] == 33 { goto st540 } @@ -6380,9 +6353,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st540: if p++; p == pe { - goto _test_eof540 + goto _testEof540 } - st_case_540: + stCase540: if data[p] == 33 { goto st541 } @@ -6401,9 +6374,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st541: if p++; p == pe { - goto _test_eof541 + goto _testEof541 } - st_case_541: + stCase541: if data[p] == 33 { goto st542 } @@ -6422,9 +6395,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st542: if p++; p == pe { - goto _test_eof542 + goto _testEof542 } - st_case_542: + stCase542: if data[p] == 33 { goto st543 } @@ -6443,9 +6416,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st543: if p++; p == pe { - goto _test_eof543 + goto _testEof543 } - st_case_543: + stCase543: if data[p] == 33 { goto st544 } @@ -6464,9 +6437,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st544: if p++; p == pe { - goto _test_eof544 + goto _testEof544 } - st_case_544: + stCase544: if data[p] == 33 { goto st545 } @@ -6485,9 +6458,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st545: if p++; p == pe { - goto _test_eof545 + goto _testEof545 } - st_case_545: + stCase545: if data[p] == 33 { goto st546 } @@ -6506,9 +6479,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st546: if p++; p == pe { - goto _test_eof546 + goto _testEof546 } - st_case_546: + stCase546: if data[p] == 33 { goto st547 } @@ -6527,9 +6500,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st547: if p++; p == pe { - goto _test_eof547 + goto _testEof547 } - st_case_547: + stCase547: if data[p] == 33 { goto st548 } @@ -6548,9 +6521,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st548: if p++; p == pe { - goto _test_eof548 + goto _testEof548 } - st_case_548: + stCase548: if data[p] == 33 { goto st549 } @@ -6569,30 +6542,37 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st549: if p++; p == pe { - goto _test_eof549 + goto _testEof549 } - st_case_549: + stCase549: + goto st0 + stCase43: if data[p] == 33 { - goto st550 + goto tr43 } switch { case data[p] < 62: if 35 <= data[p] && data[p] <= 60 { - goto st550 + goto tr43 } case data[p] > 92: if 94 <= data[p] && data[p] <= 126 { - goto st550 + goto tr43 } default: - goto st550 + goto tr43 } goto st0 + tr43: + + pb = p + + goto st550 st550: if p++; p == pe { - goto _test_eof550 + goto _testEof550 } - st_case_550: + stCase550: if data[p] == 33 { goto st551 } @@ -6611,9 +6591,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st551: if p++; p == pe { - goto _test_eof551 + goto _testEof551 } - st_case_551: + stCase551: if data[p] == 33 { goto st552 } @@ -6632,9 +6612,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st552: if p++; p == pe { - goto _test_eof552 + goto _testEof552 } - st_case_552: + stCase552: if data[p] == 33 { goto st553 } @@ -6653,9 +6633,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st553: if p++; p == pe { - goto _test_eof553 + goto _testEof553 } - st_case_553: + stCase553: if data[p] == 33 { goto st554 } @@ -6674,9 +6654,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st554: if p++; p == pe { - goto _test_eof554 + goto _testEof554 } - st_case_554: + stCase554: if data[p] == 33 { goto st555 } @@ -6695,9 +6675,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st555: if p++; p == pe { - goto _test_eof555 + goto _testEof555 } - st_case_555: + stCase555: if data[p] == 33 { goto st556 } @@ -6716,37 +6696,30 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st556: if p++; p == pe { - goto _test_eof556 + goto _testEof556 } - st_case_556: - goto st0 - st_case_50: + stCase556: if data[p] == 33 { - goto tr46 + goto st557 } switch { case data[p] < 62: if 35 <= data[p] && data[p] <= 60 { - goto tr46 + goto st557 } case data[p] > 92: if 94 <= data[p] && data[p] <= 126 { - goto tr46 + goto st557 } default: - goto tr46 + goto st557 } goto st0 - tr46: - - pb = p - - goto st557 st557: if p++; p == pe { - goto _test_eof557 + goto _testEof557 } - st_case_557: + stCase557: if data[p] == 33 { goto st558 } @@ -6765,9 +6738,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st558: if p++; p == pe { - goto _test_eof558 + goto _testEof558 } - st_case_558: + stCase558: if data[p] == 33 { goto st559 } @@ -6786,9 +6759,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st559: if p++; p == pe { - goto _test_eof559 + goto _testEof559 } - st_case_559: + stCase559: if data[p] == 33 { goto st560 } @@ -6807,9 +6780,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st560: if p++; p == pe { - goto _test_eof560 + goto _testEof560 } - st_case_560: + stCase560: if data[p] == 33 { goto st561 } @@ -6828,9 +6801,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st561: if p++; p == pe { - goto _test_eof561 + goto _testEof561 } - st_case_561: + stCase561: if data[p] == 33 { goto st562 } @@ -6849,9 +6822,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st562: if p++; p == pe { - goto _test_eof562 + goto _testEof562 } - st_case_562: + stCase562: if data[p] == 33 { goto st563 } @@ -6870,9 +6843,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st563: if p++; p == pe { - goto _test_eof563 + goto _testEof563 } - st_case_563: + stCase563: if data[p] == 33 { goto st564 } @@ -6891,9 +6864,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st564: if p++; p == pe { - goto _test_eof564 + goto _testEof564 } - st_case_564: + stCase564: if data[p] == 33 { goto st565 } @@ -6912,9 +6885,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st565: if p++; p == pe { - goto _test_eof565 + goto _testEof565 } - st_case_565: + stCase565: if data[p] == 33 { goto st566 } @@ -6933,9 +6906,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st566: if p++; p == pe { - goto _test_eof566 + goto _testEof566 } - st_case_566: + stCase566: if data[p] == 33 { goto st567 } @@ -6954,9 +6927,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st567: if p++; p == pe { - goto _test_eof567 + goto _testEof567 } - st_case_567: + stCase567: if data[p] == 33 { goto st568 } @@ -6975,9 +6948,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st568: if p++; p == pe { - goto _test_eof568 + goto _testEof568 } - st_case_568: + stCase568: if data[p] == 33 { goto st569 } @@ -6996,9 +6969,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st569: if p++; p == pe { - goto _test_eof569 + goto _testEof569 } - st_case_569: + stCase569: if data[p] == 33 { goto st570 } @@ -7017,9 +6990,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st570: if p++; p == pe { - goto _test_eof570 + goto _testEof570 } - st_case_570: + stCase570: if data[p] == 33 { goto st571 } @@ -7038,9 +7011,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st571: if p++; p == pe { - goto _test_eof571 + goto _testEof571 } - st_case_571: + stCase571: if data[p] == 33 { goto st572 } @@ -7059,9 +7032,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st572: if p++; p == pe { - goto _test_eof572 + goto _testEof572 } - st_case_572: + stCase572: if data[p] == 33 { goto st573 } @@ -7080,9 +7053,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st573: if p++; p == pe { - goto _test_eof573 + goto _testEof573 } - st_case_573: + stCase573: if data[p] == 33 { goto st574 } @@ -7101,9 +7074,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st574: if p++; p == pe { - goto _test_eof574 + goto _testEof574 } - st_case_574: + stCase574: if data[p] == 33 { goto st575 } @@ -7122,9 +7095,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st575: if p++; p == pe { - goto _test_eof575 + goto _testEof575 } - st_case_575: + stCase575: if data[p] == 33 { goto st576 } @@ -7143,9 +7116,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st576: if p++; p == pe { - goto _test_eof576 + goto _testEof576 } - st_case_576: + stCase576: if data[p] == 33 { goto st577 } @@ -7164,9 +7137,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st577: if p++; p == pe { - goto _test_eof577 + goto _testEof577 } - st_case_577: + stCase577: if data[p] == 33 { goto st578 } @@ -7185,9 +7158,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st578: if p++; p == pe { - goto _test_eof578 + goto _testEof578 } - st_case_578: + stCase578: if data[p] == 33 { goto st579 } @@ -7206,9 +7179,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st579: if p++; p == pe { - goto _test_eof579 + goto _testEof579 } - st_case_579: + stCase579: if data[p] == 33 { goto st580 } @@ -7227,9 +7200,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st580: if p++; p == pe { - goto _test_eof580 + goto _testEof580 } - st_case_580: + stCase580: if data[p] == 33 { goto st581 } @@ -7248,180 +7221,33 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 st581: if p++; p == pe { - goto _test_eof581 - } - st_case_581: - if data[p] == 33 { - goto st582 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st582 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st582 - } - default: - goto st582 - } - goto st0 - st582: - if p++; p == pe { - goto _test_eof582 - } - st_case_582: - if data[p] == 33 { - goto st583 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st583 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st583 - } - default: - goto st583 - } - goto st0 - st583: - if p++; p == pe { - goto _test_eof583 - } - st_case_583: - if data[p] == 33 { - goto st584 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st584 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st584 - } - default: - goto st584 - } - goto st0 - st584: - if p++; p == pe { - goto _test_eof584 - } - st_case_584: - if data[p] == 33 { - goto st585 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st585 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st585 - } - default: - goto st585 - } - goto st0 - st585: - if p++; p == pe { - goto _test_eof585 - } - st_case_585: - if data[p] == 33 { - goto st586 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st586 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st586 - } - default: - goto st586 - } - goto st0 - st586: - if p++; p == pe { - goto _test_eof586 - } - st_case_586: - if data[p] == 33 { - goto st587 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st587 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st587 - } - default: - goto st587 - } - goto st0 - st587: - if p++; p == pe { - goto _test_eof587 - } - st_case_587: - if data[p] == 33 { - goto st588 - } - switch { - case data[p] < 62: - if 35 <= data[p] && data[p] <= 60 { - goto st588 - } - case data[p] > 92: - if 94 <= data[p] && data[p] <= 126 { - goto st588 - } - default: - goto st588 - } - goto st0 - st588: - if p++; p == pe { - goto _test_eof588 + goto _testEof581 } - st_case_588: + stCase581: goto st0 - st_case_589: + stCase582: switch data[p] { case 34: goto st0 case 92: - goto tr585 + goto tr571 case 93: goto st0 case 224: - goto tr587 + goto tr573 case 237: - goto tr589 + goto tr575 case 240: - goto tr590 + goto tr576 case 244: - goto tr592 + goto tr578 } switch { case data[p] < 225: switch { case data[p] > 193: if 194 <= data[p] && data[p] <= 223 { - goto tr586 + goto tr572 } case data[p] >= 128: goto st0 @@ -7433,44 +7259,44 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 } case data[p] >= 241: - goto tr591 + goto tr577 } default: - goto tr588 + goto tr574 } - goto tr584 - tr584: + goto tr570 + tr570: pb = p - goto st590 - st590: + goto st583 + st583: if p++; p == pe { - goto _test_eof590 + goto _testEof583 } - st_case_590: + stCase583: switch data[p] { case 34: goto st0 case 92: - goto tr593 + goto tr579 case 93: goto st0 case 224: - goto st53 + goto st46 case 237: - goto st55 + goto st48 case 240: - goto st56 + goto st49 case 244: - goto st58 + goto st51 } switch { case data[p] < 225: switch { case data[p] > 193: if 194 <= data[p] && data[p] <= 223 { - goto st52 + goto st45 } case data[p] >= 128: goto st0 @@ -7482,1933 +7308,1912 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { goto st0 } case data[p] >= 241: - goto st57 + goto st50 } default: - goto st54 + goto st47 } - goto st590 - tr585: + goto st583 + tr571: pb = p backslashes = append(backslashes, p) - goto st51 - tr593: + goto st44 + tr579: backslashes = append(backslashes, p) - goto st51 - st51: + goto st44 + st44: if p++; p == pe { - goto _test_eof51 + goto _testEof44 } - st_case_51: + stCase44: if data[p] == 34 { - goto st590 + goto st583 } if 92 <= data[p] && data[p] <= 93 { - goto st590 + goto st583 } goto st0 - tr586: + tr572: pb = p - goto st52 - st52: + goto st45 + st45: if p++; p == pe { - goto _test_eof52 + goto _testEof45 } - st_case_52: + stCase45: if 128 <= data[p] && data[p] <= 191 { - goto st590 + goto st583 } goto st0 - tr587: + tr573: pb = p - goto st53 - st53: + goto st46 + st46: if p++; p == pe { - goto _test_eof53 + goto _testEof46 } - st_case_53: + stCase46: if 160 <= data[p] && data[p] <= 191 { - goto st52 + goto st45 } goto st0 - tr588: + tr574: pb = p - goto st54 - st54: + goto st47 + st47: if p++; p == pe { - goto _test_eof54 + goto _testEof47 } - st_case_54: + stCase47: if 128 <= data[p] && data[p] <= 191 { - goto st52 + goto st45 } goto st0 - tr589: + tr575: pb = p - goto st55 - st55: + goto st48 + st48: if p++; p == pe { - goto _test_eof55 + goto _testEof48 } - st_case_55: + stCase48: if 128 <= data[p] && data[p] <= 159 { - goto st52 + goto st45 } goto st0 - tr590: + tr576: pb = p - goto st56 - st56: + goto st49 + st49: if p++; p == pe { - goto _test_eof56 + goto _testEof49 } - st_case_56: + stCase49: if 144 <= data[p] && data[p] <= 191 { - goto st54 + goto st47 } goto st0 - tr591: + tr577: pb = p - goto st57 - st57: + goto st50 + st50: if p++; p == pe { - goto _test_eof57 + goto _testEof50 } - st_case_57: + stCase50: if 128 <= data[p] && data[p] <= 191 { - goto st54 + goto st47 } goto st0 - tr592: + tr578: pb = p - goto st58 - st58: + goto st51 + st51: if p++; p == pe { - goto _test_eof58 + goto _testEof51 } - st_case_58: + stCase51: if 128 <= data[p] && data[p] <= 143 { - goto st54 + goto st47 } goto st0 - st_out: - _test_eof60: - cs = 60 - goto _test_eof - _test_eof1: - cs = 1 - goto _test_eof - _test_eof2: + stOut: + _testEof53: + cs = 53 + goto _testEof + _testEof2: cs = 2 - goto _test_eof - _test_eof3: + goto _testEof + _testEof3: cs = 3 - goto _test_eof - _test_eof4: + goto _testEof + _testEof4: cs = 4 - goto _test_eof - _test_eof5: + goto _testEof + _testEof5: cs = 5 - goto _test_eof - _test_eof6: + goto _testEof + _testEof6: cs = 6 - goto _test_eof - _test_eof7: + goto _testEof + _testEof7: cs = 7 - goto _test_eof - _test_eof9: + goto _testEof + _testEof8: + cs = 8 + goto _testEof + _testEof9: cs = 9 - goto _test_eof - _test_eof10: + goto _testEof + _testEof10: cs = 10 - goto _test_eof - _test_eof11: + goto _testEof + _testEof11: cs = 11 - goto _test_eof - _test_eof12: + goto _testEof + _testEof12: cs = 12 - goto _test_eof - _test_eof13: + goto _testEof + _testEof13: cs = 13 - goto _test_eof - _test_eof14: + goto _testEof + _testEof14: cs = 14 - goto _test_eof - _test_eof15: + goto _testEof + _testEof15: cs = 15 - goto _test_eof - _test_eof16: + goto _testEof + _testEof16: cs = 16 - goto _test_eof - _test_eof17: + goto _testEof + _testEof17: cs = 17 - goto _test_eof - _test_eof18: + goto _testEof + _testEof18: cs = 18 - goto _test_eof - _test_eof19: + goto _testEof + _testEof19: cs = 19 - goto _test_eof - _test_eof20: + goto _testEof + _testEof20: cs = 20 - goto _test_eof - _test_eof21: + goto _testEof + _testEof21: cs = 21 - goto _test_eof - _test_eof22: + goto _testEof + _testEof22: cs = 22 - goto _test_eof - _test_eof23: + goto _testEof + _testEof23: cs = 23 - goto _test_eof - _test_eof24: + goto _testEof + _testEof24: cs = 24 - goto _test_eof - _test_eof25: + goto _testEof + _testEof25: cs = 25 - goto _test_eof - _test_eof26: + goto _testEof + _testEof54: + cs = 54 + goto _testEof + _testEof26: cs = 26 - goto _test_eof - _test_eof27: + goto _testEof + _testEof27: cs = 27 - goto _test_eof - _test_eof28: + goto _testEof + _testEof28: cs = 28 - goto _test_eof - _test_eof29: + goto _testEof + _testEof29: cs = 29 - goto _test_eof - _test_eof30: + goto _testEof + _testEof30: cs = 30 - goto _test_eof - _test_eof31: + goto _testEof + _testEof31: cs = 31 - goto _test_eof - _test_eof32: + goto _testEof + _testEof32: cs = 32 - goto _test_eof - _test_eof61: - cs = 61 - goto _test_eof - _test_eof33: + goto _testEof + _testEof33: cs = 33 - goto _test_eof - _test_eof34: + goto _testEof + _testEof34: cs = 34 - goto _test_eof - _test_eof35: + goto _testEof + _testEof35: cs = 35 - goto _test_eof - _test_eof36: + goto _testEof + _testEof36: cs = 36 - goto _test_eof - _test_eof37: + goto _testEof + _testEof37: cs = 37 - goto _test_eof - _test_eof38: - cs = 38 - goto _test_eof - _test_eof39: - cs = 39 - goto _test_eof - _test_eof40: - cs = 40 - goto _test_eof - _test_eof41: - cs = 41 - goto _test_eof - _test_eof42: - cs = 42 - goto _test_eof - _test_eof43: - cs = 43 - goto _test_eof - _test_eof44: - cs = 44 - goto _test_eof - _test_eof62: + goto _testEof + _testEof55: + cs = 55 + goto _testEof + _testEof56: + cs = 56 + goto _testEof + _testEof57: + cs = 57 + goto _testEof + _testEof58: + cs = 58 + goto _testEof + _testEof59: + cs = 59 + goto _testEof + _testEof60: + cs = 60 + goto _testEof + _testEof61: + cs = 61 + goto _testEof + _testEof62: cs = 62 - goto _test_eof - _test_eof63: + goto _testEof + _testEof63: cs = 63 - goto _test_eof - _test_eof64: + goto _testEof + _testEof64: cs = 64 - goto _test_eof - _test_eof65: + goto _testEof + _testEof65: cs = 65 - goto _test_eof - _test_eof66: + goto _testEof + _testEof66: cs = 66 - goto _test_eof - _test_eof67: + goto _testEof + _testEof67: cs = 67 - goto _test_eof - _test_eof68: + goto _testEof + _testEof68: cs = 68 - goto _test_eof - _test_eof69: + goto _testEof + _testEof69: cs = 69 - goto _test_eof - _test_eof70: + goto _testEof + _testEof70: cs = 70 - goto _test_eof - _test_eof71: + goto _testEof + _testEof71: cs = 71 - goto _test_eof - _test_eof72: + goto _testEof + _testEof72: cs = 72 - goto _test_eof - _test_eof73: + goto _testEof + _testEof73: cs = 73 - goto _test_eof - _test_eof74: + goto _testEof + _testEof74: cs = 74 - goto _test_eof - _test_eof75: + goto _testEof + _testEof75: cs = 75 - goto _test_eof - _test_eof76: + goto _testEof + _testEof76: cs = 76 - goto _test_eof - _test_eof77: + goto _testEof + _testEof77: cs = 77 - goto _test_eof - _test_eof78: + goto _testEof + _testEof78: cs = 78 - goto _test_eof - _test_eof79: + goto _testEof + _testEof79: cs = 79 - goto _test_eof - _test_eof80: + goto _testEof + _testEof80: cs = 80 - goto _test_eof - _test_eof81: + goto _testEof + _testEof81: cs = 81 - goto _test_eof - _test_eof82: + goto _testEof + _testEof82: cs = 82 - goto _test_eof - _test_eof83: + goto _testEof + _testEof83: cs = 83 - goto _test_eof - _test_eof84: + goto _testEof + _testEof84: cs = 84 - goto _test_eof - _test_eof85: + goto _testEof + _testEof85: cs = 85 - goto _test_eof - _test_eof86: + goto _testEof + _testEof86: cs = 86 - goto _test_eof - _test_eof87: + goto _testEof + _testEof87: cs = 87 - goto _test_eof - _test_eof88: + goto _testEof + _testEof88: cs = 88 - goto _test_eof - _test_eof89: + goto _testEof + _testEof89: cs = 89 - goto _test_eof - _test_eof90: + goto _testEof + _testEof90: cs = 90 - goto _test_eof - _test_eof91: + goto _testEof + _testEof91: cs = 91 - goto _test_eof - _test_eof92: + goto _testEof + _testEof92: cs = 92 - goto _test_eof - _test_eof93: + goto _testEof + _testEof93: cs = 93 - goto _test_eof - _test_eof94: + goto _testEof + _testEof94: cs = 94 - goto _test_eof - _test_eof95: + goto _testEof + _testEof95: cs = 95 - goto _test_eof - _test_eof96: + goto _testEof + _testEof96: cs = 96 - goto _test_eof - _test_eof97: + goto _testEof + _testEof97: cs = 97 - goto _test_eof - _test_eof98: + goto _testEof + _testEof98: cs = 98 - goto _test_eof - _test_eof99: + goto _testEof + _testEof99: cs = 99 - goto _test_eof - _test_eof100: + goto _testEof + _testEof100: cs = 100 - goto _test_eof - _test_eof101: + goto _testEof + _testEof101: cs = 101 - goto _test_eof - _test_eof102: + goto _testEof + _testEof102: cs = 102 - goto _test_eof - _test_eof103: + goto _testEof + _testEof103: cs = 103 - goto _test_eof - _test_eof104: + goto _testEof + _testEof104: cs = 104 - goto _test_eof - _test_eof105: + goto _testEof + _testEof105: cs = 105 - goto _test_eof - _test_eof106: + goto _testEof + _testEof106: cs = 106 - goto _test_eof - _test_eof107: + goto _testEof + _testEof107: cs = 107 - goto _test_eof - _test_eof108: + goto _testEof + _testEof108: cs = 108 - goto _test_eof - _test_eof109: + goto _testEof + _testEof109: cs = 109 - goto _test_eof - _test_eof110: + goto _testEof + _testEof110: cs = 110 - goto _test_eof - _test_eof111: + goto _testEof + _testEof111: cs = 111 - goto _test_eof - _test_eof112: + goto _testEof + _testEof112: cs = 112 - goto _test_eof - _test_eof113: + goto _testEof + _testEof113: cs = 113 - goto _test_eof - _test_eof114: + goto _testEof + _testEof114: cs = 114 - goto _test_eof - _test_eof115: + goto _testEof + _testEof115: cs = 115 - goto _test_eof - _test_eof116: + goto _testEof + _testEof116: cs = 116 - goto _test_eof - _test_eof117: + goto _testEof + _testEof117: cs = 117 - goto _test_eof - _test_eof118: + goto _testEof + _testEof118: cs = 118 - goto _test_eof - _test_eof119: + goto _testEof + _testEof119: cs = 119 - goto _test_eof - _test_eof120: + goto _testEof + _testEof120: cs = 120 - goto _test_eof - _test_eof121: + goto _testEof + _testEof121: cs = 121 - goto _test_eof - _test_eof122: + goto _testEof + _testEof122: cs = 122 - goto _test_eof - _test_eof123: + goto _testEof + _testEof123: cs = 123 - goto _test_eof - _test_eof124: + goto _testEof + _testEof124: cs = 124 - goto _test_eof - _test_eof125: + goto _testEof + _testEof125: cs = 125 - goto _test_eof - _test_eof126: + goto _testEof + _testEof126: cs = 126 - goto _test_eof - _test_eof127: + goto _testEof + _testEof127: cs = 127 - goto _test_eof - _test_eof128: + goto _testEof + _testEof128: cs = 128 - goto _test_eof - _test_eof129: + goto _testEof + _testEof129: cs = 129 - goto _test_eof - _test_eof130: + goto _testEof + _testEof130: cs = 130 - goto _test_eof - _test_eof131: + goto _testEof + _testEof131: cs = 131 - goto _test_eof - _test_eof132: + goto _testEof + _testEof132: cs = 132 - goto _test_eof - _test_eof133: + goto _testEof + _testEof133: cs = 133 - goto _test_eof - _test_eof134: + goto _testEof + _testEof134: cs = 134 - goto _test_eof - _test_eof135: + goto _testEof + _testEof135: cs = 135 - goto _test_eof - _test_eof136: + goto _testEof + _testEof136: cs = 136 - goto _test_eof - _test_eof137: + goto _testEof + _testEof137: cs = 137 - goto _test_eof - _test_eof138: + goto _testEof + _testEof138: cs = 138 - goto _test_eof - _test_eof139: + goto _testEof + _testEof139: cs = 139 - goto _test_eof - _test_eof140: + goto _testEof + _testEof140: cs = 140 - goto _test_eof - _test_eof141: + goto _testEof + _testEof141: cs = 141 - goto _test_eof - _test_eof142: + goto _testEof + _testEof142: cs = 142 - goto _test_eof - _test_eof143: + goto _testEof + _testEof143: cs = 143 - goto _test_eof - _test_eof144: + goto _testEof + _testEof144: cs = 144 - goto _test_eof - _test_eof145: + goto _testEof + _testEof145: cs = 145 - goto _test_eof - _test_eof146: + goto _testEof + _testEof146: cs = 146 - goto _test_eof - _test_eof147: + goto _testEof + _testEof147: cs = 147 - goto _test_eof - _test_eof148: + goto _testEof + _testEof148: cs = 148 - goto _test_eof - _test_eof149: + goto _testEof + _testEof149: cs = 149 - goto _test_eof - _test_eof150: + goto _testEof + _testEof150: cs = 150 - goto _test_eof - _test_eof151: + goto _testEof + _testEof151: cs = 151 - goto _test_eof - _test_eof152: + goto _testEof + _testEof152: cs = 152 - goto _test_eof - _test_eof153: + goto _testEof + _testEof153: cs = 153 - goto _test_eof - _test_eof154: + goto _testEof + _testEof154: cs = 154 - goto _test_eof - _test_eof155: + goto _testEof + _testEof155: cs = 155 - goto _test_eof - _test_eof156: + goto _testEof + _testEof156: cs = 156 - goto _test_eof - _test_eof157: + goto _testEof + _testEof157: cs = 157 - goto _test_eof - _test_eof158: + goto _testEof + _testEof158: cs = 158 - goto _test_eof - _test_eof159: + goto _testEof + _testEof159: cs = 159 - goto _test_eof - _test_eof160: + goto _testEof + _testEof160: cs = 160 - goto _test_eof - _test_eof161: + goto _testEof + _testEof161: cs = 161 - goto _test_eof - _test_eof162: + goto _testEof + _testEof162: cs = 162 - goto _test_eof - _test_eof163: + goto _testEof + _testEof163: cs = 163 - goto _test_eof - _test_eof164: + goto _testEof + _testEof164: cs = 164 - goto _test_eof - _test_eof165: + goto _testEof + _testEof165: cs = 165 - goto _test_eof - _test_eof166: + goto _testEof + _testEof166: cs = 166 - goto _test_eof - _test_eof167: + goto _testEof + _testEof167: cs = 167 - goto _test_eof - _test_eof168: + goto _testEof + _testEof168: cs = 168 - goto _test_eof - _test_eof169: + goto _testEof + _testEof169: cs = 169 - goto _test_eof - _test_eof170: + goto _testEof + _testEof170: cs = 170 - goto _test_eof - _test_eof171: + goto _testEof + _testEof171: cs = 171 - goto _test_eof - _test_eof172: + goto _testEof + _testEof172: cs = 172 - goto _test_eof - _test_eof173: + goto _testEof + _testEof173: cs = 173 - goto _test_eof - _test_eof174: + goto _testEof + _testEof174: cs = 174 - goto _test_eof - _test_eof175: + goto _testEof + _testEof175: cs = 175 - goto _test_eof - _test_eof176: + goto _testEof + _testEof176: cs = 176 - goto _test_eof - _test_eof177: + goto _testEof + _testEof177: cs = 177 - goto _test_eof - _test_eof178: + goto _testEof + _testEof178: cs = 178 - goto _test_eof - _test_eof179: + goto _testEof + _testEof179: cs = 179 - goto _test_eof - _test_eof180: + goto _testEof + _testEof180: cs = 180 - goto _test_eof - _test_eof181: + goto _testEof + _testEof181: cs = 181 - goto _test_eof - _test_eof182: + goto _testEof + _testEof182: cs = 182 - goto _test_eof - _test_eof183: + goto _testEof + _testEof183: cs = 183 - goto _test_eof - _test_eof184: + goto _testEof + _testEof184: cs = 184 - goto _test_eof - _test_eof185: + goto _testEof + _testEof185: cs = 185 - goto _test_eof - _test_eof186: + goto _testEof + _testEof186: cs = 186 - goto _test_eof - _test_eof187: + goto _testEof + _testEof187: cs = 187 - goto _test_eof - _test_eof188: + goto _testEof + _testEof188: cs = 188 - goto _test_eof - _test_eof189: + goto _testEof + _testEof189: cs = 189 - goto _test_eof - _test_eof190: + goto _testEof + _testEof190: cs = 190 - goto _test_eof - _test_eof191: + goto _testEof + _testEof191: cs = 191 - goto _test_eof - _test_eof192: + goto _testEof + _testEof192: cs = 192 - goto _test_eof - _test_eof193: + goto _testEof + _testEof193: cs = 193 - goto _test_eof - _test_eof194: + goto _testEof + _testEof194: cs = 194 - goto _test_eof - _test_eof195: + goto _testEof + _testEof195: cs = 195 - goto _test_eof - _test_eof196: + goto _testEof + _testEof196: cs = 196 - goto _test_eof - _test_eof197: + goto _testEof + _testEof197: cs = 197 - goto _test_eof - _test_eof198: + goto _testEof + _testEof198: cs = 198 - goto _test_eof - _test_eof199: + goto _testEof + _testEof199: cs = 199 - goto _test_eof - _test_eof200: + goto _testEof + _testEof200: cs = 200 - goto _test_eof - _test_eof201: + goto _testEof + _testEof201: cs = 201 - goto _test_eof - _test_eof202: + goto _testEof + _testEof202: cs = 202 - goto _test_eof - _test_eof203: + goto _testEof + _testEof203: cs = 203 - goto _test_eof - _test_eof204: + goto _testEof + _testEof204: cs = 204 - goto _test_eof - _test_eof205: + goto _testEof + _testEof205: cs = 205 - goto _test_eof - _test_eof206: + goto _testEof + _testEof206: cs = 206 - goto _test_eof - _test_eof207: + goto _testEof + _testEof207: cs = 207 - goto _test_eof - _test_eof208: + goto _testEof + _testEof208: cs = 208 - goto _test_eof - _test_eof209: + goto _testEof + _testEof209: cs = 209 - goto _test_eof - _test_eof210: + goto _testEof + _testEof210: cs = 210 - goto _test_eof - _test_eof211: + goto _testEof + _testEof211: cs = 211 - goto _test_eof - _test_eof212: + goto _testEof + _testEof212: cs = 212 - goto _test_eof - _test_eof213: + goto _testEof + _testEof213: cs = 213 - goto _test_eof - _test_eof214: + goto _testEof + _testEof214: cs = 214 - goto _test_eof - _test_eof215: + goto _testEof + _testEof215: cs = 215 - goto _test_eof - _test_eof216: + goto _testEof + _testEof216: cs = 216 - goto _test_eof - _test_eof217: + goto _testEof + _testEof217: cs = 217 - goto _test_eof - _test_eof218: + goto _testEof + _testEof218: cs = 218 - goto _test_eof - _test_eof219: + goto _testEof + _testEof219: cs = 219 - goto _test_eof - _test_eof220: + goto _testEof + _testEof220: cs = 220 - goto _test_eof - _test_eof221: + goto _testEof + _testEof221: cs = 221 - goto _test_eof - _test_eof222: + goto _testEof + _testEof222: cs = 222 - goto _test_eof - _test_eof223: + goto _testEof + _testEof223: cs = 223 - goto _test_eof - _test_eof224: + goto _testEof + _testEof224: cs = 224 - goto _test_eof - _test_eof225: + goto _testEof + _testEof225: cs = 225 - goto _test_eof - _test_eof226: + goto _testEof + _testEof226: cs = 226 - goto _test_eof - _test_eof227: + goto _testEof + _testEof227: cs = 227 - goto _test_eof - _test_eof228: + goto _testEof + _testEof228: cs = 228 - goto _test_eof - _test_eof229: + goto _testEof + _testEof229: cs = 229 - goto _test_eof - _test_eof230: + goto _testEof + _testEof230: cs = 230 - goto _test_eof - _test_eof231: + goto _testEof + _testEof231: cs = 231 - goto _test_eof - _test_eof232: + goto _testEof + _testEof232: cs = 232 - goto _test_eof - _test_eof233: + goto _testEof + _testEof233: cs = 233 - goto _test_eof - _test_eof234: + goto _testEof + _testEof234: cs = 234 - goto _test_eof - _test_eof235: + goto _testEof + _testEof235: cs = 235 - goto _test_eof - _test_eof236: + goto _testEof + _testEof236: cs = 236 - goto _test_eof - _test_eof237: + goto _testEof + _testEof237: cs = 237 - goto _test_eof - _test_eof238: + goto _testEof + _testEof238: cs = 238 - goto _test_eof - _test_eof239: + goto _testEof + _testEof239: cs = 239 - goto _test_eof - _test_eof240: + goto _testEof + _testEof240: cs = 240 - goto _test_eof - _test_eof241: + goto _testEof + _testEof241: cs = 241 - goto _test_eof - _test_eof242: + goto _testEof + _testEof242: cs = 242 - goto _test_eof - _test_eof243: + goto _testEof + _testEof243: cs = 243 - goto _test_eof - _test_eof244: + goto _testEof + _testEof244: cs = 244 - goto _test_eof - _test_eof245: + goto _testEof + _testEof245: cs = 245 - goto _test_eof - _test_eof246: + goto _testEof + _testEof246: cs = 246 - goto _test_eof - _test_eof247: + goto _testEof + _testEof247: cs = 247 - goto _test_eof - _test_eof248: + goto _testEof + _testEof248: cs = 248 - goto _test_eof - _test_eof249: + goto _testEof + _testEof249: cs = 249 - goto _test_eof - _test_eof250: + goto _testEof + _testEof250: cs = 250 - goto _test_eof - _test_eof251: + goto _testEof + _testEof251: cs = 251 - goto _test_eof - _test_eof252: + goto _testEof + _testEof252: cs = 252 - goto _test_eof - _test_eof253: + goto _testEof + _testEof253: cs = 253 - goto _test_eof - _test_eof254: + goto _testEof + _testEof254: cs = 254 - goto _test_eof - _test_eof255: + goto _testEof + _testEof255: cs = 255 - goto _test_eof - _test_eof256: + goto _testEof + _testEof256: cs = 256 - goto _test_eof - _test_eof257: + goto _testEof + _testEof257: cs = 257 - goto _test_eof - _test_eof258: + goto _testEof + _testEof258: cs = 258 - goto _test_eof - _test_eof259: + goto _testEof + _testEof259: cs = 259 - goto _test_eof - _test_eof260: + goto _testEof + _testEof260: cs = 260 - goto _test_eof - _test_eof261: + goto _testEof + _testEof261: cs = 261 - goto _test_eof - _test_eof262: + goto _testEof + _testEof262: cs = 262 - goto _test_eof - _test_eof263: + goto _testEof + _testEof263: cs = 263 - goto _test_eof - _test_eof264: + goto _testEof + _testEof264: cs = 264 - goto _test_eof - _test_eof265: + goto _testEof + _testEof265: cs = 265 - goto _test_eof - _test_eof266: + goto _testEof + _testEof266: cs = 266 - goto _test_eof - _test_eof267: + goto _testEof + _testEof267: cs = 267 - goto _test_eof - _test_eof268: + goto _testEof + _testEof268: cs = 268 - goto _test_eof - _test_eof269: + goto _testEof + _testEof269: cs = 269 - goto _test_eof - _test_eof270: + goto _testEof + _testEof270: cs = 270 - goto _test_eof - _test_eof271: + goto _testEof + _testEof271: cs = 271 - goto _test_eof - _test_eof272: + goto _testEof + _testEof272: cs = 272 - goto _test_eof - _test_eof273: + goto _testEof + _testEof273: cs = 273 - goto _test_eof - _test_eof274: + goto _testEof + _testEof274: cs = 274 - goto _test_eof - _test_eof275: + goto _testEof + _testEof275: cs = 275 - goto _test_eof - _test_eof276: + goto _testEof + _testEof276: cs = 276 - goto _test_eof - _test_eof277: + goto _testEof + _testEof277: cs = 277 - goto _test_eof - _test_eof278: + goto _testEof + _testEof278: cs = 278 - goto _test_eof - _test_eof279: + goto _testEof + _testEof279: cs = 279 - goto _test_eof - _test_eof280: + goto _testEof + _testEof280: cs = 280 - goto _test_eof - _test_eof281: + goto _testEof + _testEof281: cs = 281 - goto _test_eof - _test_eof282: + goto _testEof + _testEof282: cs = 282 - goto _test_eof - _test_eof283: + goto _testEof + _testEof283: cs = 283 - goto _test_eof - _test_eof284: + goto _testEof + _testEof284: cs = 284 - goto _test_eof - _test_eof285: + goto _testEof + _testEof285: cs = 285 - goto _test_eof - _test_eof286: + goto _testEof + _testEof286: cs = 286 - goto _test_eof - _test_eof287: + goto _testEof + _testEof287: cs = 287 - goto _test_eof - _test_eof288: + goto _testEof + _testEof288: cs = 288 - goto _test_eof - _test_eof289: + goto _testEof + _testEof289: cs = 289 - goto _test_eof - _test_eof290: + goto _testEof + _testEof290: cs = 290 - goto _test_eof - _test_eof291: + goto _testEof + _testEof291: cs = 291 - goto _test_eof - _test_eof292: + goto _testEof + _testEof292: cs = 292 - goto _test_eof - _test_eof293: + goto _testEof + _testEof293: cs = 293 - goto _test_eof - _test_eof294: + goto _testEof + _testEof294: cs = 294 - goto _test_eof - _test_eof295: + goto _testEof + _testEof295: cs = 295 - goto _test_eof - _test_eof296: + goto _testEof + _testEof296: cs = 296 - goto _test_eof - _test_eof297: + goto _testEof + _testEof297: cs = 297 - goto _test_eof - _test_eof298: + goto _testEof + _testEof298: cs = 298 - goto _test_eof - _test_eof299: + goto _testEof + _testEof299: cs = 299 - goto _test_eof - _test_eof300: + goto _testEof + _testEof300: cs = 300 - goto _test_eof - _test_eof301: + goto _testEof + _testEof301: cs = 301 - goto _test_eof - _test_eof302: + goto _testEof + _testEof302: cs = 302 - goto _test_eof - _test_eof303: + goto _testEof + _testEof303: cs = 303 - goto _test_eof - _test_eof304: + goto _testEof + _testEof304: cs = 304 - goto _test_eof - _test_eof305: + goto _testEof + _testEof305: cs = 305 - goto _test_eof - _test_eof306: + goto _testEof + _testEof306: cs = 306 - goto _test_eof - _test_eof307: + goto _testEof + _testEof307: cs = 307 - goto _test_eof - _test_eof308: + goto _testEof + _testEof308: cs = 308 - goto _test_eof - _test_eof309: + goto _testEof + _testEof309: cs = 309 - goto _test_eof - _test_eof310: + goto _testEof + _testEof310: cs = 310 - goto _test_eof - _test_eof311: + goto _testEof + _testEof311: cs = 311 - goto _test_eof - _test_eof312: + goto _testEof + _testEof312: cs = 312 - goto _test_eof - _test_eof313: + goto _testEof + _testEof313: cs = 313 - goto _test_eof - _test_eof314: + goto _testEof + _testEof314: cs = 314 - goto _test_eof - _test_eof315: + goto _testEof + _testEof315: cs = 315 - goto _test_eof - _test_eof316: + goto _testEof + _testEof316: cs = 316 - goto _test_eof - _test_eof317: + goto _testEof + _testEof317: cs = 317 - goto _test_eof - _test_eof318: + goto _testEof + _testEof318: cs = 318 - goto _test_eof - _test_eof319: + goto _testEof + _testEof319: cs = 319 - goto _test_eof - _test_eof320: + goto _testEof + _testEof320: cs = 320 - goto _test_eof - _test_eof321: + goto _testEof + _testEof321: cs = 321 - goto _test_eof - _test_eof322: + goto _testEof + _testEof322: cs = 322 - goto _test_eof - _test_eof323: + goto _testEof + _testEof323: cs = 323 - goto _test_eof - _test_eof324: + goto _testEof + _testEof324: cs = 324 - goto _test_eof - _test_eof325: + goto _testEof + _testEof325: cs = 325 - goto _test_eof - _test_eof326: + goto _testEof + _testEof326: cs = 326 - goto _test_eof - _test_eof327: + goto _testEof + _testEof327: cs = 327 - goto _test_eof - _test_eof328: + goto _testEof + _testEof328: cs = 328 - goto _test_eof - _test_eof329: + goto _testEof + _testEof329: cs = 329 - goto _test_eof - _test_eof330: + goto _testEof + _testEof330: cs = 330 - goto _test_eof - _test_eof331: + goto _testEof + _testEof331: cs = 331 - goto _test_eof - _test_eof332: + goto _testEof + _testEof332: cs = 332 - goto _test_eof - _test_eof333: + goto _testEof + _testEof333: cs = 333 - goto _test_eof - _test_eof334: + goto _testEof + _testEof334: cs = 334 - goto _test_eof - _test_eof335: + goto _testEof + _testEof335: cs = 335 - goto _test_eof - _test_eof336: + goto _testEof + _testEof336: cs = 336 - goto _test_eof - _test_eof337: + goto _testEof + _testEof337: cs = 337 - goto _test_eof - _test_eof338: + goto _testEof + _testEof338: cs = 338 - goto _test_eof - _test_eof339: + goto _testEof + _testEof339: cs = 339 - goto _test_eof - _test_eof340: + goto _testEof + _testEof340: cs = 340 - goto _test_eof - _test_eof341: + goto _testEof + _testEof341: cs = 341 - goto _test_eof - _test_eof342: + goto _testEof + _testEof342: cs = 342 - goto _test_eof - _test_eof343: + goto _testEof + _testEof343: cs = 343 - goto _test_eof - _test_eof344: + goto _testEof + _testEof344: cs = 344 - goto _test_eof - _test_eof345: + goto _testEof + _testEof345: cs = 345 - goto _test_eof - _test_eof346: + goto _testEof + _testEof346: cs = 346 - goto _test_eof - _test_eof347: + goto _testEof + _testEof347: cs = 347 - goto _test_eof - _test_eof348: + goto _testEof + _testEof348: cs = 348 - goto _test_eof - _test_eof349: + goto _testEof + _testEof349: cs = 349 - goto _test_eof - _test_eof350: + goto _testEof + _testEof350: cs = 350 - goto _test_eof - _test_eof351: + goto _testEof + _testEof351: cs = 351 - goto _test_eof - _test_eof352: + goto _testEof + _testEof352: cs = 352 - goto _test_eof - _test_eof353: + goto _testEof + _testEof353: cs = 353 - goto _test_eof - _test_eof354: + goto _testEof + _testEof354: cs = 354 - goto _test_eof - _test_eof355: + goto _testEof + _testEof355: cs = 355 - goto _test_eof - _test_eof356: + goto _testEof + _testEof356: cs = 356 - goto _test_eof - _test_eof357: + goto _testEof + _testEof357: cs = 357 - goto _test_eof - _test_eof358: + goto _testEof + _testEof358: cs = 358 - goto _test_eof - _test_eof359: + goto _testEof + _testEof359: cs = 359 - goto _test_eof - _test_eof360: + goto _testEof + _testEof360: cs = 360 - goto _test_eof - _test_eof361: + goto _testEof + _testEof361: cs = 361 - goto _test_eof - _test_eof362: + goto _testEof + _testEof362: cs = 362 - goto _test_eof - _test_eof363: + goto _testEof + _testEof363: cs = 363 - goto _test_eof - _test_eof364: + goto _testEof + _testEof364: cs = 364 - goto _test_eof - _test_eof365: + goto _testEof + _testEof365: cs = 365 - goto _test_eof - _test_eof366: + goto _testEof + _testEof366: cs = 366 - goto _test_eof - _test_eof367: + goto _testEof + _testEof367: cs = 367 - goto _test_eof - _test_eof368: + goto _testEof + _testEof368: cs = 368 - goto _test_eof - _test_eof369: + goto _testEof + _testEof369: cs = 369 - goto _test_eof - _test_eof370: + goto _testEof + _testEof370: cs = 370 - goto _test_eof - _test_eof371: + goto _testEof + _testEof371: cs = 371 - goto _test_eof - _test_eof372: + goto _testEof + _testEof372: cs = 372 - goto _test_eof - _test_eof373: + goto _testEof + _testEof373: cs = 373 - goto _test_eof - _test_eof374: + goto _testEof + _testEof374: cs = 374 - goto _test_eof - _test_eof375: + goto _testEof + _testEof375: cs = 375 - goto _test_eof - _test_eof376: + goto _testEof + _testEof376: cs = 376 - goto _test_eof - _test_eof377: + goto _testEof + _testEof377: cs = 377 - goto _test_eof - _test_eof378: + goto _testEof + _testEof378: cs = 378 - goto _test_eof - _test_eof379: + goto _testEof + _testEof379: cs = 379 - goto _test_eof - _test_eof380: + goto _testEof + _testEof380: cs = 380 - goto _test_eof - _test_eof381: + goto _testEof + _testEof381: cs = 381 - goto _test_eof - _test_eof382: + goto _testEof + _testEof382: cs = 382 - goto _test_eof - _test_eof383: + goto _testEof + _testEof383: cs = 383 - goto _test_eof - _test_eof384: + goto _testEof + _testEof384: cs = 384 - goto _test_eof - _test_eof385: + goto _testEof + _testEof385: cs = 385 - goto _test_eof - _test_eof386: + goto _testEof + _testEof386: cs = 386 - goto _test_eof - _test_eof387: + goto _testEof + _testEof387: cs = 387 - goto _test_eof - _test_eof388: + goto _testEof + _testEof388: cs = 388 - goto _test_eof - _test_eof389: + goto _testEof + _testEof389: cs = 389 - goto _test_eof - _test_eof390: + goto _testEof + _testEof390: cs = 390 - goto _test_eof - _test_eof391: + goto _testEof + _testEof391: cs = 391 - goto _test_eof - _test_eof392: + goto _testEof + _testEof392: cs = 392 - goto _test_eof - _test_eof393: + goto _testEof + _testEof393: cs = 393 - goto _test_eof - _test_eof394: + goto _testEof + _testEof394: cs = 394 - goto _test_eof - _test_eof395: + goto _testEof + _testEof395: cs = 395 - goto _test_eof - _test_eof396: + goto _testEof + _testEof396: cs = 396 - goto _test_eof - _test_eof397: + goto _testEof + _testEof397: cs = 397 - goto _test_eof - _test_eof398: + goto _testEof + _testEof398: cs = 398 - goto _test_eof - _test_eof399: + goto _testEof + _testEof399: cs = 399 - goto _test_eof - _test_eof400: + goto _testEof + _testEof400: cs = 400 - goto _test_eof - _test_eof401: + goto _testEof + _testEof401: cs = 401 - goto _test_eof - _test_eof402: + goto _testEof + _testEof402: cs = 402 - goto _test_eof - _test_eof403: + goto _testEof + _testEof403: cs = 403 - goto _test_eof - _test_eof404: + goto _testEof + _testEof404: cs = 404 - goto _test_eof - _test_eof405: + goto _testEof + _testEof405: cs = 405 - goto _test_eof - _test_eof406: + goto _testEof + _testEof406: cs = 406 - goto _test_eof - _test_eof407: + goto _testEof + _testEof407: cs = 407 - goto _test_eof - _test_eof408: + goto _testEof + _testEof408: cs = 408 - goto _test_eof - _test_eof409: + goto _testEof + _testEof409: cs = 409 - goto _test_eof - _test_eof410: + goto _testEof + _testEof410: cs = 410 - goto _test_eof - _test_eof411: + goto _testEof + _testEof411: cs = 411 - goto _test_eof - _test_eof412: + goto _testEof + _testEof412: cs = 412 - goto _test_eof - _test_eof413: + goto _testEof + _testEof413: cs = 413 - goto _test_eof - _test_eof414: + goto _testEof + _testEof414: cs = 414 - goto _test_eof - _test_eof415: + goto _testEof + _testEof415: cs = 415 - goto _test_eof - _test_eof416: + goto _testEof + _testEof416: cs = 416 - goto _test_eof - _test_eof417: + goto _testEof + _testEof417: cs = 417 - goto _test_eof - _test_eof418: + goto _testEof + _testEof418: cs = 418 - goto _test_eof - _test_eof419: + goto _testEof + _testEof419: cs = 419 - goto _test_eof - _test_eof420: + goto _testEof + _testEof420: cs = 420 - goto _test_eof - _test_eof421: + goto _testEof + _testEof421: cs = 421 - goto _test_eof - _test_eof422: + goto _testEof + _testEof422: cs = 422 - goto _test_eof - _test_eof423: + goto _testEof + _testEof423: cs = 423 - goto _test_eof - _test_eof424: + goto _testEof + _testEof424: cs = 424 - goto _test_eof - _test_eof425: + goto _testEof + _testEof425: cs = 425 - goto _test_eof - _test_eof426: + goto _testEof + _testEof426: cs = 426 - goto _test_eof - _test_eof427: + goto _testEof + _testEof427: cs = 427 - goto _test_eof - _test_eof428: + goto _testEof + _testEof428: cs = 428 - goto _test_eof - _test_eof429: + goto _testEof + _testEof429: cs = 429 - goto _test_eof - _test_eof430: + goto _testEof + _testEof430: cs = 430 - goto _test_eof - _test_eof431: + goto _testEof + _testEof431: cs = 431 - goto _test_eof - _test_eof432: + goto _testEof + _testEof432: cs = 432 - goto _test_eof - _test_eof433: + goto _testEof + _testEof433: cs = 433 - goto _test_eof - _test_eof434: + goto _testEof + _testEof434: cs = 434 - goto _test_eof - _test_eof435: + goto _testEof + _testEof435: cs = 435 - goto _test_eof - _test_eof436: + goto _testEof + _testEof436: cs = 436 - goto _test_eof - _test_eof437: + goto _testEof + _testEof437: cs = 437 - goto _test_eof - _test_eof438: + goto _testEof + _testEof438: cs = 438 - goto _test_eof - _test_eof439: + goto _testEof + _testEof439: cs = 439 - goto _test_eof - _test_eof440: + goto _testEof + _testEof440: cs = 440 - goto _test_eof - _test_eof441: + goto _testEof + _testEof441: cs = 441 - goto _test_eof - _test_eof442: + goto _testEof + _testEof442: cs = 442 - goto _test_eof - _test_eof443: + goto _testEof + _testEof443: cs = 443 - goto _test_eof - _test_eof444: + goto _testEof + _testEof444: cs = 444 - goto _test_eof - _test_eof445: + goto _testEof + _testEof445: cs = 445 - goto _test_eof - _test_eof446: + goto _testEof + _testEof446: cs = 446 - goto _test_eof - _test_eof447: + goto _testEof + _testEof447: cs = 447 - goto _test_eof - _test_eof448: + goto _testEof + _testEof448: cs = 448 - goto _test_eof - _test_eof449: + goto _testEof + _testEof449: cs = 449 - goto _test_eof - _test_eof450: + goto _testEof + _testEof450: cs = 450 - goto _test_eof - _test_eof451: + goto _testEof + _testEof451: cs = 451 - goto _test_eof - _test_eof452: + goto _testEof + _testEof452: cs = 452 - goto _test_eof - _test_eof453: + goto _testEof + _testEof453: cs = 453 - goto _test_eof - _test_eof454: + goto _testEof + _testEof454: cs = 454 - goto _test_eof - _test_eof455: + goto _testEof + _testEof455: cs = 455 - goto _test_eof - _test_eof456: + goto _testEof + _testEof456: cs = 456 - goto _test_eof - _test_eof457: + goto _testEof + _testEof457: cs = 457 - goto _test_eof - _test_eof458: + goto _testEof + _testEof458: cs = 458 - goto _test_eof - _test_eof459: + goto _testEof + _testEof459: cs = 459 - goto _test_eof - _test_eof460: + goto _testEof + _testEof460: cs = 460 - goto _test_eof - _test_eof461: + goto _testEof + _testEof461: cs = 461 - goto _test_eof - _test_eof462: + goto _testEof + _testEof462: cs = 462 - goto _test_eof - _test_eof463: + goto _testEof + _testEof463: cs = 463 - goto _test_eof - _test_eof464: + goto _testEof + _testEof464: cs = 464 - goto _test_eof - _test_eof465: + goto _testEof + _testEof465: cs = 465 - goto _test_eof - _test_eof466: + goto _testEof + _testEof466: cs = 466 - goto _test_eof - _test_eof467: + goto _testEof + _testEof467: cs = 467 - goto _test_eof - _test_eof468: + goto _testEof + _testEof468: cs = 468 - goto _test_eof - _test_eof469: + goto _testEof + _testEof469: cs = 469 - goto _test_eof - _test_eof470: + goto _testEof + _testEof470: cs = 470 - goto _test_eof - _test_eof471: + goto _testEof + _testEof471: cs = 471 - goto _test_eof - _test_eof472: + goto _testEof + _testEof472: cs = 472 - goto _test_eof - _test_eof473: + goto _testEof + _testEof473: cs = 473 - goto _test_eof - _test_eof474: + goto _testEof + _testEof474: cs = 474 - goto _test_eof - _test_eof475: + goto _testEof + _testEof475: cs = 475 - goto _test_eof - _test_eof476: + goto _testEof + _testEof476: cs = 476 - goto _test_eof - _test_eof477: + goto _testEof + _testEof477: cs = 477 - goto _test_eof - _test_eof478: + goto _testEof + _testEof478: cs = 478 - goto _test_eof - _test_eof479: + goto _testEof + _testEof479: cs = 479 - goto _test_eof - _test_eof480: + goto _testEof + _testEof480: cs = 480 - goto _test_eof - _test_eof481: + goto _testEof + _testEof481: cs = 481 - goto _test_eof - _test_eof482: + goto _testEof + _testEof482: cs = 482 - goto _test_eof - _test_eof483: + goto _testEof + _testEof483: cs = 483 - goto _test_eof - _test_eof484: + goto _testEof + _testEof484: cs = 484 - goto _test_eof - _test_eof485: + goto _testEof + _testEof485: cs = 485 - goto _test_eof - _test_eof486: + goto _testEof + _testEof486: cs = 486 - goto _test_eof - _test_eof487: + goto _testEof + _testEof487: cs = 487 - goto _test_eof - _test_eof488: + goto _testEof + _testEof488: cs = 488 - goto _test_eof - _test_eof489: + goto _testEof + _testEof489: cs = 489 - goto _test_eof - _test_eof490: + goto _testEof + _testEof490: cs = 490 - goto _test_eof - _test_eof491: + goto _testEof + _testEof491: cs = 491 - goto _test_eof - _test_eof492: + goto _testEof + _testEof492: cs = 492 - goto _test_eof - _test_eof493: + goto _testEof + _testEof493: cs = 493 - goto _test_eof - _test_eof494: + goto _testEof + _testEof494: cs = 494 - goto _test_eof - _test_eof495: + goto _testEof + _testEof495: cs = 495 - goto _test_eof - _test_eof496: + goto _testEof + _testEof496: cs = 496 - goto _test_eof - _test_eof497: + goto _testEof + _testEof497: cs = 497 - goto _test_eof - _test_eof498: + goto _testEof + _testEof498: cs = 498 - goto _test_eof - _test_eof499: + goto _testEof + _testEof499: cs = 499 - goto _test_eof - _test_eof500: + goto _testEof + _testEof500: cs = 500 - goto _test_eof - _test_eof501: + goto _testEof + _testEof501: cs = 501 - goto _test_eof - _test_eof502: + goto _testEof + _testEof502: cs = 502 - goto _test_eof - _test_eof503: + goto _testEof + _testEof503: cs = 503 - goto _test_eof - _test_eof504: + goto _testEof + _testEof504: cs = 504 - goto _test_eof - _test_eof505: + goto _testEof + _testEof505: cs = 505 - goto _test_eof - _test_eof506: + goto _testEof + _testEof506: cs = 506 - goto _test_eof - _test_eof507: + goto _testEof + _testEof507: cs = 507 - goto _test_eof - _test_eof508: + goto _testEof + _testEof508: cs = 508 - goto _test_eof - _test_eof509: + goto _testEof + _testEof509: cs = 509 - goto _test_eof - _test_eof510: + goto _testEof + _testEof510: cs = 510 - goto _test_eof - _test_eof511: + goto _testEof + _testEof511: cs = 511 - goto _test_eof - _test_eof512: + goto _testEof + _testEof512: cs = 512 - goto _test_eof - _test_eof513: + goto _testEof + _testEof513: cs = 513 - goto _test_eof - _test_eof514: + goto _testEof + _testEof514: cs = 514 - goto _test_eof - _test_eof515: + goto _testEof + _testEof515: cs = 515 - goto _test_eof - _test_eof516: + goto _testEof + _testEof516: cs = 516 - goto _test_eof - _test_eof517: + goto _testEof + _testEof517: cs = 517 - goto _test_eof - _test_eof518: + goto _testEof + _testEof518: cs = 518 - goto _test_eof - _test_eof519: + goto _testEof + _testEof519: cs = 519 - goto _test_eof - _test_eof520: + goto _testEof + _testEof520: cs = 520 - goto _test_eof - _test_eof521: + goto _testEof + _testEof521: cs = 521 - goto _test_eof - _test_eof522: + goto _testEof + _testEof522: cs = 522 - goto _test_eof - _test_eof523: + goto _testEof + _testEof523: cs = 523 - goto _test_eof - _test_eof524: + goto _testEof + _testEof524: cs = 524 - goto _test_eof - _test_eof525: + goto _testEof + _testEof525: cs = 525 - goto _test_eof - _test_eof526: + goto _testEof + _testEof526: cs = 526 - goto _test_eof - _test_eof527: + goto _testEof + _testEof527: cs = 527 - goto _test_eof - _test_eof528: + goto _testEof + _testEof528: cs = 528 - goto _test_eof - _test_eof529: + goto _testEof + _testEof529: cs = 529 - goto _test_eof - _test_eof530: + goto _testEof + _testEof530: cs = 530 - goto _test_eof - _test_eof531: + goto _testEof + _testEof531: cs = 531 - goto _test_eof - _test_eof532: + goto _testEof + _testEof532: cs = 532 - goto _test_eof - _test_eof533: + goto _testEof + _testEof533: cs = 533 - goto _test_eof - _test_eof534: + goto _testEof + _testEof534: cs = 534 - goto _test_eof - _test_eof535: + goto _testEof + _testEof535: cs = 535 - goto _test_eof - _test_eof536: + goto _testEof + _testEof536: cs = 536 - goto _test_eof - _test_eof537: + goto _testEof + _testEof537: cs = 537 - goto _test_eof - _test_eof538: + goto _testEof + _testEof538: cs = 538 - goto _test_eof - _test_eof539: + goto _testEof + _testEof539: cs = 539 - goto _test_eof - _test_eof540: + goto _testEof + _testEof540: cs = 540 - goto _test_eof - _test_eof541: + goto _testEof + _testEof541: cs = 541 - goto _test_eof - _test_eof542: + goto _testEof + _testEof542: cs = 542 - goto _test_eof - _test_eof543: + goto _testEof + _testEof543: cs = 543 - goto _test_eof - _test_eof544: + goto _testEof + _testEof544: cs = 544 - goto _test_eof - _test_eof545: + goto _testEof + _testEof545: cs = 545 - goto _test_eof - _test_eof546: + goto _testEof + _testEof546: cs = 546 - goto _test_eof - _test_eof547: + goto _testEof + _testEof547: cs = 547 - goto _test_eof - _test_eof548: + goto _testEof + _testEof548: cs = 548 - goto _test_eof - _test_eof549: + goto _testEof + _testEof549: cs = 549 - goto _test_eof - _test_eof550: + goto _testEof + _testEof550: cs = 550 - goto _test_eof - _test_eof551: + goto _testEof + _testEof551: cs = 551 - goto _test_eof - _test_eof552: + goto _testEof + _testEof552: cs = 552 - goto _test_eof - _test_eof553: + goto _testEof + _testEof553: cs = 553 - goto _test_eof - _test_eof554: + goto _testEof + _testEof554: cs = 554 - goto _test_eof - _test_eof555: + goto _testEof + _testEof555: cs = 555 - goto _test_eof - _test_eof556: + goto _testEof + _testEof556: cs = 556 - goto _test_eof - _test_eof557: + goto _testEof + _testEof557: cs = 557 - goto _test_eof - _test_eof558: + goto _testEof + _testEof558: cs = 558 - goto _test_eof - _test_eof559: + goto _testEof + _testEof559: cs = 559 - goto _test_eof - _test_eof560: + goto _testEof + _testEof560: cs = 560 - goto _test_eof - _test_eof561: + goto _testEof + _testEof561: cs = 561 - goto _test_eof - _test_eof562: + goto _testEof + _testEof562: cs = 562 - goto _test_eof - _test_eof563: + goto _testEof + _testEof563: cs = 563 - goto _test_eof - _test_eof564: + goto _testEof + _testEof564: cs = 564 - goto _test_eof - _test_eof565: + goto _testEof + _testEof565: cs = 565 - goto _test_eof - _test_eof566: + goto _testEof + _testEof566: cs = 566 - goto _test_eof - _test_eof567: + goto _testEof + _testEof567: cs = 567 - goto _test_eof - _test_eof568: + goto _testEof + _testEof568: cs = 568 - goto _test_eof - _test_eof569: + goto _testEof + _testEof569: cs = 569 - goto _test_eof - _test_eof570: + goto _testEof + _testEof570: cs = 570 - goto _test_eof - _test_eof571: + goto _testEof + _testEof571: cs = 571 - goto _test_eof - _test_eof572: + goto _testEof + _testEof572: cs = 572 - goto _test_eof - _test_eof573: + goto _testEof + _testEof573: cs = 573 - goto _test_eof - _test_eof574: + goto _testEof + _testEof574: cs = 574 - goto _test_eof - _test_eof575: + goto _testEof + _testEof575: cs = 575 - goto _test_eof - _test_eof576: + goto _testEof + _testEof576: cs = 576 - goto _test_eof - _test_eof577: + goto _testEof + _testEof577: cs = 577 - goto _test_eof - _test_eof578: + goto _testEof + _testEof578: cs = 578 - goto _test_eof - _test_eof579: + goto _testEof + _testEof579: cs = 579 - goto _test_eof - _test_eof580: + goto _testEof + _testEof580: cs = 580 - goto _test_eof - _test_eof581: + goto _testEof + _testEof581: cs = 581 - goto _test_eof - _test_eof582: - cs = 582 - goto _test_eof - _test_eof583: + goto _testEof + _testEof583: cs = 583 - goto _test_eof - _test_eof584: - cs = 584 - goto _test_eof - _test_eof585: - cs = 585 - goto _test_eof - _test_eof586: - cs = 586 - goto _test_eof - _test_eof587: - cs = 587 - goto _test_eof - _test_eof588: - cs = 588 - goto _test_eof - _test_eof590: - cs = 590 - goto _test_eof - _test_eof51: + goto _testEof + _testEof44: + cs = 44 + goto _testEof + _testEof45: + cs = 45 + goto _testEof + _testEof46: + cs = 46 + goto _testEof + _testEof47: + cs = 47 + goto _testEof + _testEof48: + cs = 48 + goto _testEof + _testEof49: + cs = 49 + goto _testEof + _testEof50: + cs = 50 + goto _testEof + _testEof51: cs = 51 - goto _test_eof - _test_eof52: - cs = 52 - goto _test_eof - _test_eof53: - cs = 53 - goto _test_eof - _test_eof54: - cs = 54 - goto _test_eof - _test_eof55: - cs = 55 - goto _test_eof - _test_eof56: - cs = 56 - goto _test_eof - _test_eof57: - cs = 57 - goto _test_eof - _test_eof58: - cs = 58 - goto _test_eof + goto _testEof - _test_eof: + _testEof: { } if p == eof { switch cs { - case 61: + case 54: if t, e := time.Parse(RFC3339MICRO, string(data[pb:p])); e == nil { - sm.timestamp = &t + sm.Timestamp = &t } - case 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316: + case 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309: if s := string(data[pb:p]); s != "-" { - sm.hostname = &s + sm.Hostname = &s } - case 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364: + case 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357: if s := string(data[pb:p]); s != "-" { - sm.appname = &s + sm.Appname = &s } - case 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492: + case 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485: if s := string(data[pb:p]); s != "-" { - sm.procID = &s + sm.ProcID = &s } - case 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524: + case 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517: if s := string(data[pb:p]); s != "-" { - sm.msgID = &s + sm.MsgID = &s } - case 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556: + case 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549: - if sm.structuredData == nil { - sm.structuredData = &(map[string]map[string]string{}) + if sm.StructuredData == nil { + sm.StructuredData = &(map[string]map[string]string{}) } id := string(data[pb:p]) - elements := *sm.structuredData + elements := *sm.StructuredData if _, ok := elements[id]; !ok { elements[id] = map[string]string{} } - case 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588: + case 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581: // Assuming SD map already exists, contains currentid key (set from outside) - elements := *sm.structuredData + elements := *sm.StructuredData elements[currentid][string(data[pb:p])] = "" - case 590: + case 583: // Store text text := data[pb:p] @@ -9417,16 +9222,16 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { text = common.RemoveBytes(text, backslashes, pb) } // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside) - elements := *sm.structuredData + elements := *sm.StructuredData elements[currentid][currentparamname] = string(text) - case 60: + case 53: if s := string(data[pb:p]); s != "" { - sm.message = &s + sm.Message = &s } - case 589: + case 582: pb = p @@ -9437,15 +9242,15 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { text = common.RemoveBytes(text, backslashes, pb) } // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside) - elements := *sm.structuredData + elements := *sm.StructuredData elements[currentid][currentparamname] = string(text) - case 59: + case 52: pb = p if s := string(data[pb:p]); s != "" { - sm.message = &s + sm.Message = &s } } @@ -9462,9 +9267,9 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { // SetPriority set the priority value and the computed facility and severity codes accordingly. // // It ignores incorrect priority values (range [0, 191]). -func (sm *SyslogMessage) SetPriority(value uint8) *SyslogMessage { - if value >= 0 && value <= 191 { - sm.setPriority(value) +func (sm *SyslogMessage) SetPriority(value uint8) Builder { + if common.ValidPriority(value) { + sm.ComputeFromPriority(value) } return sm @@ -9473,43 +9278,43 @@ func (sm *SyslogMessage) SetPriority(value uint8) *SyslogMessage { // SetVersion set the version value. // // It ignores incorrect version values (range ]0, 999]). -func (sm *SyslogMessage) SetVersion(value uint16) *SyslogMessage { - if value > 0 && value <= 999 { - sm.version = value +func (sm *SyslogMessage) SetVersion(value uint16) Builder { + if common.ValidVersion(value) { + sm.Version = value } return sm } // SetTimestamp set the timestamp value. -func (sm *SyslogMessage) SetTimestamp(value string) *SyslogMessage { +func (sm *SyslogMessage) SetTimestamp(value string) Builder { return sm.set(timestamp, value) } // SetHostname set the hostname value. -func (sm *SyslogMessage) SetHostname(value string) *SyslogMessage { +func (sm *SyslogMessage) SetHostname(value string) Builder { return sm.set(hostname, value) } // SetAppname set the appname value. -func (sm *SyslogMessage) SetAppname(value string) *SyslogMessage { +func (sm *SyslogMessage) SetAppname(value string) Builder { return sm.set(appname, value) } // SetProcID set the procid value. -func (sm *SyslogMessage) SetProcID(value string) *SyslogMessage { +func (sm *SyslogMessage) SetProcID(value string) Builder { return sm.set(procid, value) } // SetMsgID set the msgid value. -func (sm *SyslogMessage) SetMsgID(value string) *SyslogMessage { +func (sm *SyslogMessage) SetMsgID(value string) Builder { return sm.set(msgid, value) } // SetElementID set a structured data id. // // When the provided id already exists the operation is discarded. -func (sm *SyslogMessage) SetElementID(value string) *SyslogMessage { +func (sm *SyslogMessage) SetElementID(value string) Builder { return sm.set(sdid, value) } @@ -9517,13 +9322,13 @@ func (sm *SyslogMessage) SetElementID(value string) *SyslogMessage { // // If the element does not exist it creates one with the given element id. // When a parameter with the given name already exists for the given element the operation is discarded. -func (sm *SyslogMessage) SetParameter(id string, name string, value string) *SyslogMessage { +func (sm *SyslogMessage) SetParameter(id string, name string, value string) Builder { // Create an element with the given id (or re-use the existing one) sm.set(sdid, id) // We can create parameter iff the given element id exists - if sm.structuredData != nil { - elements := *sm.structuredData + if sm.StructuredData != nil { + elements := *sm.StructuredData if _, ok := elements[id]; ok { currentid = id sm.set(sdpn, name) @@ -9539,7 +9344,7 @@ func (sm *SyslogMessage) SetParameter(id string, name string, value string) *Sys } // SetMessage set the message value. -func (sm *SyslogMessage) SetMessage(value string) *SyslogMessage { +func (sm *SyslogMessage) SetMessage(value string) Builder { return sm.set(msg, value) } @@ -9557,25 +9362,25 @@ func (sm *SyslogMessage) String() (string, error) { mid := "-" sd := "-" m := "" - if sm.timestamp != nil { - t = sm.timestamp.Format("2006-01-02T15:04:05.999999Z07:00") // verify 07:00 + if sm.Timestamp != nil { + t = sm.Timestamp.Format("2006-01-02T15:04:05.999999Z07:00") // verify 07:00 } - if sm.hostname != nil { - hn = *sm.hostname + if sm.Hostname != nil { + hn = *sm.Hostname } - if sm.appname != nil { - an = *sm.appname + if sm.Appname != nil { + an = *sm.Appname } - if sm.procID != nil { - pid = *sm.procID + if sm.ProcID != nil { + pid = *sm.ProcID } - if sm.msgID != nil { - mid = *sm.msgID + if sm.MsgID != nil { + mid = *sm.MsgID } - if sm.structuredData != nil { + if sm.StructuredData != nil { // Sort element identifiers identifiers := make([]string, 0) - for k := range *sm.structuredData { + for k := range *sm.StructuredData { identifiers = append(identifiers, k) } sort.Strings(identifiers) @@ -9585,7 +9390,7 @@ func (sm *SyslogMessage) String() (string, error) { sd += fmt.Sprintf("[%s", id) // Sort parameter names - params := (*sm.structuredData)[id] + params := (*sm.StructuredData)[id] names := make([]string, 0) for n := range params { names = append(names, n) @@ -9598,9 +9403,9 @@ func (sm *SyslogMessage) String() (string, error) { sd += "]" } } - if sm.message != nil { - m = " " + *sm.message + if sm.Message != nil { + m = " " + *sm.Message } - return fmt.Sprintf(template, *sm.priority, sm.version, t, hn, an, pid, mid, sd, m), nil + return fmt.Sprintf(template, *sm.Priority, sm.Version, t, hn, an, pid, mid, sd, m), nil } diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/builder.go.rl b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/builder.go.rl similarity index 70% rename from vendor/github.com/influxdata/go-syslog/v2/rfc5424/builder.go.rl rename to vendor/github.com/influxdata/go-syslog/v3/rfc5424/builder.go.rl index 4284898d2885..3eaccf224b9c 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/builder.go.rl +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/builder.go.rl @@ -5,9 +5,11 @@ import ( "sort" "fmt" - "github.com/influxdata/go-syslog/v2/common" + "github.com/influxdata/go-syslog/v3/common" ) +// todo(leodido) > support best effort for builder ? + %%{ machine builder; @@ -19,41 +21,41 @@ action mark { action set_timestamp { if t, e := time.Parse(RFC3339MICRO, string(data[pb:p])); e == nil { - sm.timestamp = &t + sm.Timestamp = &t } } action set_hostname { if s := string(data[pb:p]); s != "-" { - sm.hostname = &s + sm.Hostname = &s } } action set_appname { if s := string(data[pb:p]); s != "-" { - sm.appname = &s + sm.Appname = &s } } action set_procid { if s := string(data[pb:p]); s != "-" { - sm.procID = &s + sm.ProcID = &s } } action set_msgid { if s := string(data[pb:p]); s != "-" { - sm.msgID = &s + sm.MsgID = &s } } action set_sdid { - if sm.structuredData == nil { - sm.structuredData = &(map[string]map[string]string{}) + if sm.StructuredData == nil { + sm.StructuredData = &(map[string]map[string]string{}) } id := string(data[pb:p]) - elements := *sm.structuredData + elements := *sm.StructuredData if _, ok := elements[id]; !ok { elements[id] = map[string]string{} } @@ -61,7 +63,7 @@ action set_sdid { action set_sdpn { // Assuming SD map already exists, contains currentid key (set from outside) - elements := *sm.structuredData + elements := *sm.StructuredData elements[currentid][string(data[pb:p])] = "" } @@ -71,19 +73,19 @@ action markslash { action set_sdpv { // Store text - text := data[pb:p] - // Strip backslashes only when there are ... + text := data[pb:p] + // Strip backslashes only when there are ... if len(backslashes) > 0 { text = common.RemoveBytes(text, backslashes, pb) } - // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside) - elements := *sm.structuredData + // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside) + elements := *sm.StructuredData elements[currentid][currentparamname] = string(text) } action set_msg { if s := string(data[pb:p]); s != "" { - sm.message = &s + sm.Message = &s } } @@ -105,7 +107,7 @@ escapes = (bs >markslash toescape); sdpv := (utf8charwodelims* escapes*)+ >mark %set_sdpv; -msg := (bom? utf8octets) >mark %set_msg; +msg := any* >mark %set_msg; write data noerror nofinal; }%% @@ -113,11 +115,11 @@ write data noerror nofinal; type entrypoint int const ( - timestamp entrypoint = iota - hostname - appname - procid - msgid + timestamp entrypoint = iota + hostname + appname + procid + msgid sdid sdpn sdpv @@ -154,10 +156,10 @@ var currentparamname string func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { data := []byte(value) - p := 0 - pb := 0 - pe := len(data) - eof := len(data) + p := 0 + pb := 0 + pe := len(data) + eof := len(data) cs := from.translate() backslashes := []int{} %% write exec; @@ -168,54 +170,54 @@ func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage { // SetPriority set the priority value and the computed facility and severity codes accordingly. // // It ignores incorrect priority values (range [0, 191]). -func (sm *SyslogMessage) SetPriority(value uint8) *SyslogMessage { - if value >= 0 && value <= 191 { - sm.setPriority(value) - } +func (sm *SyslogMessage) SetPriority(value uint8) Builder { + if common.ValidPriority(value) { + sm.ComputeFromPriority(value) + } - return sm + return sm } // SetVersion set the version value. // // It ignores incorrect version values (range ]0, 999]). -func (sm *SyslogMessage) SetVersion(value uint16) *SyslogMessage { - if value > 0 && value <= 999 { - sm.version = value +func (sm *SyslogMessage) SetVersion(value uint16) Builder { + if common.ValidVersion(value) { + sm.Version = value } return sm } // SetTimestamp set the timestamp value. -func (sm *SyslogMessage) SetTimestamp(value string) *SyslogMessage { +func (sm *SyslogMessage) SetTimestamp(value string) Builder { return sm.set(timestamp, value) } // SetHostname set the hostname value. -func (sm *SyslogMessage) SetHostname(value string) *SyslogMessage { +func (sm *SyslogMessage) SetHostname(value string) Builder { return sm.set(hostname, value) } // SetAppname set the appname value. -func (sm *SyslogMessage) SetAppname(value string) *SyslogMessage { +func (sm *SyslogMessage) SetAppname(value string) Builder { return sm.set(appname, value) } // SetProcID set the procid value. -func (sm *SyslogMessage) SetProcID(value string) *SyslogMessage { +func (sm *SyslogMessage) SetProcID(value string) Builder { return sm.set(procid, value) } // SetMsgID set the msgid value. -func (sm *SyslogMessage) SetMsgID(value string) *SyslogMessage { +func (sm *SyslogMessage) SetMsgID(value string) Builder { return sm.set(msgid, value) } // SetElementID set a structured data id. // // When the provided id already exists the operation is discarded. -func (sm *SyslogMessage) SetElementID(value string) *SyslogMessage { +func (sm *SyslogMessage) SetElementID(value string) Builder { return sm.set(sdid, value) } @@ -223,13 +225,13 @@ func (sm *SyslogMessage) SetElementID(value string) *SyslogMessage { // // If the element does not exist it creates one with the given element id. // When a parameter with the given name already exists for the given element the operation is discarded. -func (sm *SyslogMessage) SetParameter(id string, name string, value string) *SyslogMessage { +func (sm *SyslogMessage) SetParameter(id string, name string, value string) Builder { // Create an element with the given id (or re-use the existing one) sm.set(sdid, id) // We can create parameter iff the given element id exists - if sm.structuredData != nil { - elements := *sm.structuredData + if sm.StructuredData != nil { + elements := *sm.StructuredData if _, ok := elements[id]; ok { currentid = id sm.set(sdpn, name) @@ -245,8 +247,8 @@ func (sm *SyslogMessage) SetParameter(id string, name string, value string) *Sys } // SetMessage set the message value. -func (sm *SyslogMessage) SetMessage(value string) *SyslogMessage { - return sm.set(msg, value) +func (sm *SyslogMessage) SetMessage(value string) Builder { + return sm.set(msg, value) } func (sm *SyslogMessage) String() (string, error) { @@ -263,25 +265,25 @@ func (sm *SyslogMessage) String() (string, error) { mid := "-" sd := "-" m := "" - if sm.timestamp != nil { - t = sm.timestamp.Format("2006-01-02T15:04:05.999999Z07:00") // verify 07:00 + if sm.Timestamp != nil { + t = sm.Timestamp.Format("2006-01-02T15:04:05.999999Z07:00") // verify 07:00 } - if sm.hostname != nil { - hn = *sm.hostname + if sm.Hostname != nil { + hn = *sm.Hostname } - if sm.appname != nil { - an = *sm.appname + if sm.Appname != nil { + an = *sm.Appname } - if sm.procID != nil { - pid = *sm.procID + if sm.ProcID != nil { + pid = *sm.ProcID } - if sm.msgID != nil { - mid = *sm.msgID + if sm.MsgID != nil { + mid = *sm.MsgID } - if sm.structuredData != nil { + if sm.StructuredData != nil { // Sort element identifiers identifiers := make([]string, 0) - for k, _ := range *sm.structuredData { + for k, _ := range *sm.StructuredData { identifiers = append(identifiers, k) } sort.Strings(identifiers) @@ -291,7 +293,7 @@ func (sm *SyslogMessage) String() (string, error) { sd += fmt.Sprintf("[%s", id) // Sort parameter names - params := (*sm.structuredData)[id] + params := (*sm.StructuredData)[id] names := make([]string, 0) for n, _ := range params { names = append(names, n) @@ -304,9 +306,9 @@ func (sm *SyslogMessage) String() (string, error) { sd += "]" } } - if sm.message != nil { - m = " " + *sm.message + if sm.Message != nil { + m = " " + *sm.Message } - return fmt.Sprintf(template, *sm.priority, sm.version, t, hn, an, pid, mid, sd, m), nil + return fmt.Sprintf(template, *sm.Priority, sm.Version, t, hn, an, pid, mid, sd, m), nil } diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/machine.go b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/machine.go similarity index 95% rename from vendor/github.com/influxdata/go-syslog/v2/rfc5424/machine.go rename to vendor/github.com/influxdata/go-syslog/v3/rfc5424/machine.go index abd2bfcac3bd..ddd4a7c6f217 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/machine.go +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/machine.go @@ -4,8 +4,8 @@ import ( "fmt" "time" - "github.com/influxdata/go-syslog/v2" - "github.com/influxdata/go-syslog/v2/common" + "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/common" ) // ColumnPositionTemplate is the template used to communicate the column where errors occur. @@ -38,6 +38,8 @@ const ( ErrSdParam = "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped)" // ErrMsg represents an error in the MESSAGE part of the RFC5424 syslog message. ErrMsg = "expecting a free-form optional message in UTF-8 (starting with or without BOM)" + // ErrMsgNotCompliant represents an error in the MESSAGE part of the RFC5424 syslog message if WithCompliatMsg option is on. + ErrMsgNotCompliant = ErrMsg + " or a free-form optional message in any encoding (starting without BOM)" // ErrEscape represents the error for a RFC5424 syslog message occurring when a STRUCTURED DATA PARAM value contains '"', '\', or ']' not escaped. ErrEscape = "expecting chars `]`, `\"`, and `\\` to be escaped within param value" // ErrParse represents a general parsing error for a RFC5424 syslog message. @@ -50,7 +52,9 @@ const RFC3339MICRO = "2006-01-02T15:04:05.999999Z07:00" const start int = 1 const firstFinal int = 603 -const enFail int = 607 +const enMsgAny int = 607 +const enMsgCompliant int = 609 +const enFail int = 614 const enMain int = 1 type machine struct { @@ -64,6 +68,7 @@ type machine struct { msgat int backslashat []int bestEffort bool + compliantMsg bool } // NewMachine creates a new FSM able to parse RFC5424 syslog messages. @@ -77,6 +82,7 @@ func NewMachine(options ...syslog.MachineOption) syslog.Machine { return m } +// WithBestEffort enables best effort mode. func (m *machine) WithBestEffort() { m.bestEffort = true } @@ -242,6 +248,8 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto stCase54 case 55: goto stCase55 + case 606: + goto stCase606 case 56: goto stCase56 case 57: @@ -256,8 +264,6 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto stCase61 case 62: goto stCase62 - case 606: - goto stCase606 case 63: goto stCase63 case 64: @@ -1324,6 +1330,20 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto stCase594 case 595: goto stCase595 + case 607: + goto stCase607 + case 608: + goto stCase608 + case 609: + goto stCase609 + case 610: + goto stCase610 + case 611: + goto stCase611 + case 612: + goto stCase612 + case 613: + goto stCase613 case 596: goto stCase596 case 597: @@ -1338,8 +1358,8 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto stCase601 case 602: goto stCase602 - case 607: - goto stCase607 + case 614: + goto stCase614 } goto stOut stCase1: @@ -1353,7 +1373,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1363,21 +1383,21 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrPri+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1387,14 +1407,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1404,7 +1424,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1414,14 +1434,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1431,14 +1451,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1448,14 +1468,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1465,14 +1485,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1482,14 +1502,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1499,7 +1519,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1509,35 +1529,12 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } goto st0 tr36: - // If error encountered within the message rule ... - if m.msgat > 0 { - // Save the text until valid (m.p is where the parser has stopped) - output.message = string(m.data[m.msgat:m.p]) - } - - m.err = fmt.Errorf(ErrMsg+ColumnPositionTemplate, m.p) - (m.p)-- - - { - goto st607 - } - - m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) - (m.p)-- - - { - goto st607 - } - - goto st0 - tr40: - delete(output.structuredData, m.currentelem) if len(output.structuredData) == 0 { output.hasElements = false @@ -1546,18 +1543,18 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 - tr42: + tr38: if _, ok := output.structuredData[string(m.text())]; ok { // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message @@ -1565,7 +1562,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } } else { id := string(m.text()) @@ -1582,18 +1579,18 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 - tr46: + tr42: if len(output.structuredData) > 0 { delete(output.structuredData[m.currentelem], m.currentparam) @@ -1602,24 +1599,24 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 - tr84: + tr80: m.err = fmt.Errorf(ErrEscape+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } if len(output.structuredData) > 0 { @@ -1629,25 +1626,25 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 - tr619: + tr615: if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil { m.err = fmt.Errorf("%s [col %d]", e, m.p) (m.p)-- { - goto st607 + goto st614 } } else { output.timestamp = t @@ -1658,24 +1655,45 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 + } + + goto st0 + tr627: + + // If error encountered within the message rule ... + if m.msgat > 0 { + // Save the text until valid (m.p is where the parser has stopped) + output.message = string(m.data[m.msgat:m.p]) + } + + if m.compliantMsg { + m.err = fmt.Errorf(ErrMsgNotCompliant+ColumnPositionTemplate, m.p) + } else { + m.err = fmt.Errorf(ErrMsg+ColumnPositionTemplate, m.p) + } + + (m.p)-- + + { + goto st614 } goto st0 - tr645: + tr633: m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } goto st0 @@ -1742,7 +1760,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto st6 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st598 + goto st591 } goto tr9 st6: @@ -1766,14 +1784,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto st8 } goto tr9 - tr620: + tr616: if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil { m.err = fmt.Errorf("%s [col %d]", e, m.p) (m.p)-- { - goto st607 + goto st614 } } else { output.timestamp = t @@ -1804,7 +1822,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st307 + goto st300 } goto tr16 tr18: @@ -1835,7 +1853,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st260 + goto st253 } goto tr20 tr22: @@ -1866,7 +1884,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st133 + goto st126 } goto tr24 tr26: @@ -1897,7 +1915,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto tr31 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st102 + goto st95 } goto tr30 tr31: @@ -1931,44 +1949,19 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof604 } stCase604: - switch (m.data)[(m.p)] { - case 224: - goto tr634 - case 237: - goto tr636 - case 240: - goto tr637 - case 244: - goto tr639 - } - switch { - case (m.data)[(m.p)] < 225: - switch { - case (m.data)[(m.p)] > 193: - if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { - goto tr633 - } - case (m.data)[(m.p)] >= 128: - goto tr36 - } - case (m.data)[(m.p)] > 239: - switch { - case (m.data)[(m.p)] > 243: - if 245 <= (m.data)[(m.p)] { - goto tr36 - } - case (m.data)[(m.p)] >= 241: - goto tr638 - } - default: - goto tr635 - } goto tr632 tr632: - m.pb = m.p + (m.p)-- - m.msgat = m.p + if m.compliantMsg { + { + goto st609 + } + } + { + goto st607 + } goto st605 st605: @@ -1976,44 +1969,10 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof605 } stCase605: - switch (m.data)[(m.p)] { - case 224: - goto st18 - case 237: - goto st20 - case 240: - goto st21 - case 244: - goto st23 - } - switch { - case (m.data)[(m.p)] < 225: - switch { - case (m.data)[(m.p)] > 193: - if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { - goto st17 - } - case (m.data)[(m.p)] >= 128: - goto tr36 - } - case (m.data)[(m.p)] > 239: - switch { - case (m.data)[(m.p)] > 243: - if 245 <= (m.data)[(m.p)] { - goto tr36 - } - case (m.data)[(m.p)] >= 241: - goto st22 - } - default: - goto st19 - } - goto st605 - tr633: - - m.pb = m.p + goto tr9 + tr35: - m.msgat = m.p + output.structuredData = map[string]map[string]string{} goto st17 st17: @@ -2021,31 +1980,65 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof17 } stCase17: - if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st605 + if (m.data)[(m.p)] == 33 { + goto tr37 + } + switch { + case (m.data)[(m.p)] < 62: + if 35 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 60 { + goto tr37 + } + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto tr37 + } + default: + goto tr37 } goto tr36 - tr634: + tr37: m.pb = m.p - m.msgat = m.p - goto st18 st18: if (m.p)++; (m.p) == (m.pe) { goto _testEof18 } stCase18: - if 160 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st17 + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st64 + case 93: + goto tr41 } - goto tr36 - tr635: + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st64 + } + case (m.data)[(m.p)] >= 35: + goto st64 + } + goto tr38 + tr39: - m.pb = m.p + if _, ok := output.structuredData[string(m.text())]; ok { + // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message + m.err = fmt.Errorf(ErrSdIDDuplicated+ColumnPositionTemplate, m.p) + (m.p)-- - m.msgat = m.p + { + goto st614 + } + } else { + id := string(m.text()) + output.structuredData[id] = map[string]string{} + output.hasElements = true + m.currentelem = id + } goto st19 st19: @@ -2053,15 +2046,27 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof19 } stCase19: - if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st17 + if (m.data)[(m.p)] == 33 { + goto tr43 } - goto tr36 - tr636: + switch { + case (m.data)[(m.p)] < 62: + if 35 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 60 { + goto tr43 + } + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto tr43 + } + default: + goto tr43 + } + goto tr42 + tr43: - m.pb = m.p + m.backslashat = []int{} - m.msgat = m.p + m.pb = m.p goto st20 st20: @@ -2069,157 +2074,141 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof20 } stCase20: - if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 159 { - goto st17 + switch (m.data)[(m.p)] { + case 33: + goto st21 + case 61: + goto tr45 } - goto tr36 - tr637: - - m.pb = m.p - - m.msgat = m.p - - goto st21 + switch { + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st21 + } + case (m.data)[(m.p)] >= 35: + goto st21 + } + goto tr42 st21: if (m.p)++; (m.p) == (m.pe) { goto _testEof21 } stCase21: - if 144 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st19 + switch (m.data)[(m.p)] { + case 33: + goto st22 + case 61: + goto tr45 } - goto tr36 - tr638: - - m.pb = m.p - - m.msgat = m.p - - goto st22 + switch { + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st22 + } + case (m.data)[(m.p)] >= 35: + goto st22 + } + goto tr42 st22: if (m.p)++; (m.p) == (m.pe) { goto _testEof22 } stCase22: - if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st19 + switch (m.data)[(m.p)] { + case 33: + goto st23 + case 61: + goto tr45 } - goto tr36 - tr639: - - m.pb = m.p - - m.msgat = m.p - - goto st23 + switch { + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st23 + } + case (m.data)[(m.p)] >= 35: + goto st23 + } + goto tr42 st23: if (m.p)++; (m.p) == (m.pe) { goto _testEof23 } stCase23: - if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 143 { - goto st19 + switch (m.data)[(m.p)] { + case 33: + goto st24 + case 61: + goto tr45 } - goto tr36 - tr35: - - output.structuredData = map[string]map[string]string{} - - goto st24 + switch { + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st24 + } + case (m.data)[(m.p)] >= 35: + goto st24 + } + goto tr42 st24: if (m.p)++; (m.p) == (m.pe) { goto _testEof24 } stCase24: - if (m.data)[(m.p)] == 33 { - goto tr41 + switch (m.data)[(m.p)] { + case 33: + goto st25 + case 61: + goto tr45 } switch { - case (m.data)[(m.p)] < 62: - if 35 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 60 { - goto tr41 - } case (m.data)[(m.p)] > 92: if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto tr41 + goto st25 } - default: - goto tr41 + case (m.data)[(m.p)] >= 35: + goto st25 } - goto tr40 - tr41: - - m.pb = m.p - - goto st25 + goto tr42 st25: if (m.p)++; (m.p) == (m.pe) { goto _testEof25 } stCase25: switch (m.data)[(m.p)] { - case 32: - goto tr43 case 33: - goto st71 - case 93: + goto st26 + case 61: goto tr45 } switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st71 + case (m.data)[(m.p)] > 92: + if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st26 } case (m.data)[(m.p)] >= 35: - goto st71 + goto st26 } goto tr42 - tr43: - - if _, ok := output.structuredData[string(m.text())]; ok { - // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message - m.err = fmt.Errorf(ErrSdIDDuplicated+ColumnPositionTemplate, m.p) - (m.p)-- - - { - goto st607 - } - } else { - id := string(m.text()) - output.structuredData[id] = map[string]string{} - output.hasElements = true - m.currentelem = id - } - - goto st26 st26: if (m.p)++; (m.p) == (m.pe) { goto _testEof26 } stCase26: - if (m.data)[(m.p)] == 33 { - goto tr47 + switch (m.data)[(m.p)] { + case 33: + goto st27 + case 61: + goto tr45 } switch { - case (m.data)[(m.p)] < 62: - if 35 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 60 { - goto tr47 - } case (m.data)[(m.p)] > 92: if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto tr47 + goto st27 } - default: - goto tr47 + case (m.data)[(m.p)] >= 35: + goto st27 } - goto tr46 - tr47: - - m.backslashat = []int{} - - m.pb = m.p - - goto st27 + goto tr42 st27: if (m.p)++; (m.p) == (m.pe) { goto _testEof27 @@ -2229,7 +2218,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st28 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2239,7 +2228,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st28 } - goto tr46 + goto tr42 st28: if (m.p)++; (m.p) == (m.pe) { goto _testEof28 @@ -2249,7 +2238,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st29 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2259,7 +2248,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st29 } - goto tr46 + goto tr42 st29: if (m.p)++; (m.p) == (m.pe) { goto _testEof29 @@ -2269,7 +2258,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st30 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2279,7 +2268,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st30 } - goto tr46 + goto tr42 st30: if (m.p)++; (m.p) == (m.pe) { goto _testEof30 @@ -2289,7 +2278,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st31 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2299,7 +2288,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st31 } - goto tr46 + goto tr42 st31: if (m.p)++; (m.p) == (m.pe) { goto _testEof31 @@ -2309,7 +2298,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st32 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2319,7 +2308,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st32 } - goto tr46 + goto tr42 st32: if (m.p)++; (m.p) == (m.pe) { goto _testEof32 @@ -2329,7 +2318,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st33 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2339,7 +2328,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st33 } - goto tr46 + goto tr42 st33: if (m.p)++; (m.p) == (m.pe) { goto _testEof33 @@ -2349,7 +2338,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st34 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2359,7 +2348,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st34 } - goto tr46 + goto tr42 st34: if (m.p)++; (m.p) == (m.pe) { goto _testEof34 @@ -2369,7 +2358,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st35 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2379,7 +2368,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st35 } - goto tr46 + goto tr42 st35: if (m.p)++; (m.p) == (m.pe) { goto _testEof35 @@ -2389,7 +2378,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st36 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2399,7 +2388,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st36 } - goto tr46 + goto tr42 st36: if (m.p)++; (m.p) == (m.pe) { goto _testEof36 @@ -2409,7 +2398,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st37 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2419,7 +2408,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st37 } - goto tr46 + goto tr42 st37: if (m.p)++; (m.p) == (m.pe) { goto _testEof37 @@ -2429,7 +2418,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st38 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2439,7 +2428,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st38 } - goto tr46 + goto tr42 st38: if (m.p)++; (m.p) == (m.pe) { goto _testEof38 @@ -2449,7 +2438,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st39 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2459,7 +2448,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st39 } - goto tr46 + goto tr42 st39: if (m.p)++; (m.p) == (m.pe) { goto _testEof39 @@ -2469,7 +2458,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st40 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2479,7 +2468,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st40 } - goto tr46 + goto tr42 st40: if (m.p)++; (m.p) == (m.pe) { goto _testEof40 @@ -2489,7 +2478,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st41 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2499,7 +2488,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st41 } - goto tr46 + goto tr42 st41: if (m.p)++; (m.p) == (m.pe) { goto _testEof41 @@ -2509,7 +2498,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st42 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2519,7 +2508,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st42 } - goto tr46 + goto tr42 st42: if (m.p)++; (m.p) == (m.pe) { goto _testEof42 @@ -2529,7 +2518,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st43 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2539,7 +2528,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st43 } - goto tr46 + goto tr42 st43: if (m.p)++; (m.p) == (m.pe) { goto _testEof43 @@ -2549,7 +2538,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st44 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2559,7 +2548,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st44 } - goto tr46 + goto tr42 st44: if (m.p)++; (m.p) == (m.pe) { goto _testEof44 @@ -2569,7 +2558,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st45 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2579,7 +2568,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st45 } - goto tr46 + goto tr42 st45: if (m.p)++; (m.p) == (m.pe) { goto _testEof45 @@ -2589,7 +2578,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st46 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2599,7 +2588,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st46 } - goto tr46 + goto tr42 st46: if (m.p)++; (m.p) == (m.pe) { goto _testEof46 @@ -2609,7 +2598,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st47 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2619,7 +2608,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st47 } - goto tr46 + goto tr42 st47: if (m.p)++; (m.p) == (m.pe) { goto _testEof47 @@ -2629,7 +2618,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st48 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2639,7 +2628,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st48 } - goto tr46 + goto tr42 st48: if (m.p)++; (m.p) == (m.pe) { goto _testEof48 @@ -2649,7 +2638,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st49 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2659,7 +2648,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st49 } - goto tr46 + goto tr42 st49: if (m.p)++; (m.p) == (m.pe) { goto _testEof49 @@ -2669,7 +2658,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st50 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2679,7 +2668,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st50 } - goto tr46 + goto tr42 st50: if (m.p)++; (m.p) == (m.pe) { goto _testEof50 @@ -2689,7 +2678,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 33: goto st51 case 61: - goto tr49 + goto tr45 } switch { case (m.data)[(m.p)] > 92: @@ -2699,264 +2688,124 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st51 } - goto tr46 + goto tr42 st51: if (m.p)++; (m.p) == (m.pe) { goto _testEof51 } stCase51: - switch (m.data)[(m.p)] { - case 33: - goto st52 - case 61: - goto tr49 - } - switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st52 - } - case (m.data)[(m.p)] >= 35: - goto st52 + if (m.data)[(m.p)] == 61 { + goto tr45 } - goto tr46 + goto tr42 + tr45: + + m.currentparam = string(m.text()) + + goto st52 st52: if (m.p)++; (m.p) == (m.pe) { goto _testEof52 } stCase52: - switch (m.data)[(m.p)] { - case 33: - goto st53 - case 61: - goto tr49 - } - switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st53 - } - case (m.data)[(m.p)] >= 35: + if (m.data)[(m.p)] == 34 { goto st53 } - goto tr46 + goto tr42 st53: if (m.p)++; (m.p) == (m.pe) { goto _testEof53 } stCase53: switch (m.data)[(m.p)] { - case 33: - goto st54 - case 61: - goto tr49 + case 34: + goto tr78 + case 92: + goto tr79 + case 93: + goto tr80 + case 224: + goto tr82 + case 237: + goto tr84 + case 240: + goto tr85 + case 244: + goto tr87 } switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st54 + case (m.data)[(m.p)] < 225: + switch { + case (m.data)[(m.p)] > 193: + if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { + goto tr81 + } + case (m.data)[(m.p)] >= 128: + goto tr80 } - case (m.data)[(m.p)] >= 35: - goto st54 + case (m.data)[(m.p)] > 239: + switch { + case (m.data)[(m.p)] > 243: + if 245 <= (m.data)[(m.p)] { + goto tr80 + } + case (m.data)[(m.p)] >= 241: + goto tr86 + } + default: + goto tr83 } - goto tr46 + goto tr77 + tr77: + + m.pb = m.p + + goto st54 st54: if (m.p)++; (m.p) == (m.pe) { goto _testEof54 } stCase54: switch (m.data)[(m.p)] { - case 33: - goto st55 - case 61: - goto tr49 + case 34: + goto tr89 + case 92: + goto tr90 + case 93: + goto tr80 + case 224: + goto st58 + case 237: + goto st60 + case 240: + goto st61 + case 244: + goto st63 } switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st55 + case (m.data)[(m.p)] < 225: + switch { + case (m.data)[(m.p)] > 193: + if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { + goto st57 + } + case (m.data)[(m.p)] >= 128: + goto tr80 } - case (m.data)[(m.p)] >= 35: - goto st55 + case (m.data)[(m.p)] > 239: + switch { + case (m.data)[(m.p)] > 243: + if 245 <= (m.data)[(m.p)] { + goto tr80 + } + case (m.data)[(m.p)] >= 241: + goto st62 + } + default: + goto st59 } - goto tr46 - st55: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof55 - } - stCase55: - switch (m.data)[(m.p)] { - case 33: - goto st56 - case 61: - goto tr49 - } - switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st56 - } - case (m.data)[(m.p)] >= 35: - goto st56 - } - goto tr46 - st56: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof56 - } - stCase56: - switch (m.data)[(m.p)] { - case 33: - goto st57 - case 61: - goto tr49 - } - switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st57 - } - case (m.data)[(m.p)] >= 35: - goto st57 - } - goto tr46 - st57: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof57 - } - stCase57: - switch (m.data)[(m.p)] { - case 33: - goto st58 - case 61: - goto tr49 - } - switch { - case (m.data)[(m.p)] > 92: - if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st58 - } - case (m.data)[(m.p)] >= 35: - goto st58 - } - goto tr46 - st58: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof58 - } - stCase58: - if (m.data)[(m.p)] == 61 { - goto tr49 - } - goto tr46 - tr49: - - m.currentparam = string(m.text()) - - goto st59 - st59: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof59 - } - stCase59: - if (m.data)[(m.p)] == 34 { - goto st60 - } - goto tr46 - st60: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof60 - } - stCase60: - switch (m.data)[(m.p)] { - case 34: - goto tr82 - case 92: - goto tr83 - case 93: - goto tr84 - case 224: - goto tr86 - case 237: - goto tr88 - case 240: - goto tr89 - case 244: - goto tr91 - } - switch { - case (m.data)[(m.p)] < 225: - switch { - case (m.data)[(m.p)] > 193: - if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { - goto tr85 - } - case (m.data)[(m.p)] >= 128: - goto tr84 - } - case (m.data)[(m.p)] > 239: - switch { - case (m.data)[(m.p)] > 243: - if 245 <= (m.data)[(m.p)] { - goto tr84 - } - case (m.data)[(m.p)] >= 241: - goto tr90 - } - default: - goto tr87 - } - goto tr81 - tr81: - - m.pb = m.p - - goto st61 - st61: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof61 - } - stCase61: - switch (m.data)[(m.p)] { - case 34: - goto tr93 - case 92: - goto tr94 - case 93: - goto tr84 - case 224: - goto st65 - case 237: - goto st67 - case 240: - goto st68 - case 244: - goto st70 - } - switch { - case (m.data)[(m.p)] < 225: - switch { - case (m.data)[(m.p)] > 193: - if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { - goto st64 - } - case (m.data)[(m.p)] >= 128: - goto tr84 - } - case (m.data)[(m.p)] > 239: - switch { - case (m.data)[(m.p)] > 243: - if 245 <= (m.data)[(m.p)] { - goto tr84 - } - case (m.data)[(m.p)] >= 241: - goto st69 - } - default: - goto st66 - } - goto st61 - tr82: + goto st54 + tr78: m.pb = m.p @@ -2973,8 +2822,8 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { output.structuredData[m.currentelem][m.currentparam] = string(text) } - goto st62 - tr93: + goto st55 + tr89: if output.hasElements { // (fixme) > what if SD-PARAM-NAME already exist for the current element (ie., current SD-ID)? @@ -2989,20 +2838,20 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { output.structuredData[m.currentelem][m.currentparam] = string(text) } - goto st62 - st62: + goto st55 + st55: if (m.p)++; (m.p) == (m.pe) { - goto _testEof62 + goto _testEof55 } - stCase62: + stCase55: switch (m.data)[(m.p)] { case 32: - goto st26 + goto st19 case 93: goto st606 } - goto tr46 - tr45: + goto tr42 + tr41: if _, ok := output.structuredData[string(m.text())]; ok { // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message @@ -3010,7 +2859,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } } else { id := string(m.text()) @@ -3029,131 +2878,285 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case 32: goto st604 case 91: - goto st24 + goto st17 } - goto tr645 - tr83: + goto tr633 + tr79: m.pb = m.p m.backslashat = append(m.backslashat, m.p) - goto st63 - tr94: + goto st56 + tr90: m.backslashat = append(m.backslashat, m.p) - goto st63 - st63: + goto st56 + st56: if (m.p)++; (m.p) == (m.pe) { - goto _testEof63 + goto _testEof56 } - stCase63: + stCase56: if (m.data)[(m.p)] == 34 { - goto st61 + goto st54 } if 92 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 93 { - goto st61 + goto st54 } - goto tr84 - tr85: + goto tr80 + tr81: m.pb = m.p - goto st64 - st64: + goto st57 + st57: if (m.p)++; (m.p) == (m.pe) { - goto _testEof64 + goto _testEof57 } - stCase64: + stCase57: if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st61 + goto st54 } - goto tr46 - tr86: + goto tr42 + tr82: m.pb = m.p - goto st65 - st65: + goto st58 + st58: if (m.p)++; (m.p) == (m.pe) { - goto _testEof65 + goto _testEof58 } - stCase65: + stCase58: if 160 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st64 + goto st57 } - goto tr46 - tr87: + goto tr42 + tr83: m.pb = m.p - goto st66 - st66: + goto st59 + st59: if (m.p)++; (m.p) == (m.pe) { - goto _testEof66 + goto _testEof59 } - stCase66: + stCase59: if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st64 + goto st57 } - goto tr46 - tr88: + goto tr42 + tr84: m.pb = m.p - goto st67 - st67: + goto st60 + st60: if (m.p)++; (m.p) == (m.pe) { - goto _testEof67 + goto _testEof60 } - stCase67: + stCase60: if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 159 { - goto st64 + goto st57 } - goto tr46 - tr89: + goto tr42 + tr85: m.pb = m.p - goto st68 - st68: + goto st61 + st61: if (m.p)++; (m.p) == (m.pe) { - goto _testEof68 + goto _testEof61 } - stCase68: + stCase61: if 144 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st66 + goto st59 } - goto tr46 - tr90: + goto tr42 + tr86: m.pb = m.p - goto st69 - st69: + goto st62 + st62: if (m.p)++; (m.p) == (m.pe) { - goto _testEof69 + goto _testEof62 } - stCase69: + stCase62: if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { - goto st66 + goto st59 } - goto tr46 - tr91: + goto tr42 + tr87: m.pb = m.p - goto st70 + goto st63 + st63: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof63 + } + stCase63: + if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 143 { + goto st59 + } + goto tr42 + st64: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof64 + } + stCase64: + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st65 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st65 + } + case (m.data)[(m.p)] >= 35: + goto st65 + } + goto tr38 + st65: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof65 + } + stCase65: + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st66 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st66 + } + case (m.data)[(m.p)] >= 35: + goto st66 + } + goto tr38 + st66: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof66 + } + stCase66: + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st67 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st67 + } + case (m.data)[(m.p)] >= 35: + goto st67 + } + goto tr38 + st67: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof67 + } + stCase67: + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st68 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st68 + } + case (m.data)[(m.p)] >= 35: + goto st68 + } + goto tr38 + st68: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof68 + } + stCase68: + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st69 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st69 + } + case (m.data)[(m.p)] >= 35: + goto st69 + } + goto tr38 + st69: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof69 + } + stCase69: + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st70 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st70 + } + case (m.data)[(m.p)] >= 35: + goto st70 + } + goto tr38 st70: if (m.p)++; (m.p) == (m.pe) { goto _testEof70 } stCase70: - if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 143 { - goto st66 + switch (m.data)[(m.p)] { + case 32: + goto tr39 + case 33: + goto st71 + case 93: + goto tr41 + } + switch { + case (m.data)[(m.p)] > 60: + if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st71 + } + case (m.data)[(m.p)] >= 35: + goto st71 } - goto tr46 + goto tr38 st71: if (m.p)++; (m.p) == (m.pe) { goto _testEof71 @@ -3161,11 +3164,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase71: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st72 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3175,7 +3178,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st72 } - goto tr42 + goto tr38 st72: if (m.p)++; (m.p) == (m.pe) { goto _testEof72 @@ -3183,11 +3186,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase72: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st73 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3197,7 +3200,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st73 } - goto tr42 + goto tr38 st73: if (m.p)++; (m.p) == (m.pe) { goto _testEof73 @@ -3205,11 +3208,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase73: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st74 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3219,7 +3222,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st74 } - goto tr42 + goto tr38 st74: if (m.p)++; (m.p) == (m.pe) { goto _testEof74 @@ -3227,11 +3230,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase74: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st75 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3241,7 +3244,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st75 } - goto tr42 + goto tr38 st75: if (m.p)++; (m.p) == (m.pe) { goto _testEof75 @@ -3249,11 +3252,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase75: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st76 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3263,7 +3266,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st76 } - goto tr42 + goto tr38 st76: if (m.p)++; (m.p) == (m.pe) { goto _testEof76 @@ -3271,11 +3274,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase76: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st77 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3285,7 +3288,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st77 } - goto tr42 + goto tr38 st77: if (m.p)++; (m.p) == (m.pe) { goto _testEof77 @@ -3293,11 +3296,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase77: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st78 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3307,7 +3310,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st78 } - goto tr42 + goto tr38 st78: if (m.p)++; (m.p) == (m.pe) { goto _testEof78 @@ -3315,11 +3318,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase78: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st79 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3329,7 +3332,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st79 } - goto tr42 + goto tr38 st79: if (m.p)++; (m.p) == (m.pe) { goto _testEof79 @@ -3337,11 +3340,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase79: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st80 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3351,7 +3354,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st80 } - goto tr42 + goto tr38 st80: if (m.p)++; (m.p) == (m.pe) { goto _testEof80 @@ -3359,11 +3362,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase80: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st81 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3373,7 +3376,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st81 } - goto tr42 + goto tr38 st81: if (m.p)++; (m.p) == (m.pe) { goto _testEof81 @@ -3381,11 +3384,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase81: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st82 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3395,7 +3398,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st82 } - goto tr42 + goto tr38 st82: if (m.p)++; (m.p) == (m.pe) { goto _testEof82 @@ -3403,11 +3406,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase82: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st83 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3417,7 +3420,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st83 } - goto tr42 + goto tr38 st83: if (m.p)++; (m.p) == (m.pe) { goto _testEof83 @@ -3425,11 +3428,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase83: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st84 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3439,7 +3442,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st84 } - goto tr42 + goto tr38 st84: if (m.p)++; (m.p) == (m.pe) { goto _testEof84 @@ -3447,11 +3450,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase84: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st85 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3461,7 +3464,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st85 } - goto tr42 + goto tr38 st85: if (m.p)++; (m.p) == (m.pe) { goto _testEof85 @@ -3469,11 +3472,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase85: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st86 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3483,7 +3486,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st86 } - goto tr42 + goto tr38 st86: if (m.p)++; (m.p) == (m.pe) { goto _testEof86 @@ -3491,11 +3494,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase86: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st87 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3505,7 +3508,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st87 } - goto tr42 + goto tr38 st87: if (m.p)++; (m.p) == (m.pe) { goto _testEof87 @@ -3513,11 +3516,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase87: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st88 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3527,7 +3530,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st88 } - goto tr42 + goto tr38 st88: if (m.p)++; (m.p) == (m.pe) { goto _testEof88 @@ -3535,11 +3538,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase88: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st89 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3549,7 +3552,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st89 } - goto tr42 + goto tr38 st89: if (m.p)++; (m.p) == (m.pe) { goto _testEof89 @@ -3557,11 +3560,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase89: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st90 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3571,7 +3574,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st90 } - goto tr42 + goto tr38 st90: if (m.p)++; (m.p) == (m.pe) { goto _testEof90 @@ -3579,11 +3582,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase90: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st91 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3593,7 +3596,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st91 } - goto tr42 + goto tr38 st91: if (m.p)++; (m.p) == (m.pe) { goto _testEof91 @@ -3601,11 +3604,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase91: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st92 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3615,7 +3618,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st92 } - goto tr42 + goto tr38 st92: if (m.p)++; (m.p) == (m.pe) { goto _testEof92 @@ -3623,11 +3626,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase92: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st93 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3637,7 +3640,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st93 } - goto tr42 + goto tr38 st93: if (m.p)++; (m.p) == (m.pe) { goto _testEof93 @@ -3645,11 +3648,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase93: switch (m.data)[(m.p)] { case 32: - goto tr43 + goto tr39 case 33: goto st94 case 93: - goto tr45 + goto tr41 } switch { case (m.data)[(m.p)] > 60: @@ -3659,7 +3662,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { case (m.data)[(m.p)] >= 35: goto st94 } - goto tr42 + goto tr38 st94: if (m.p)++; (m.p) == (m.pe) { goto _testEof94 @@ -3667,165 +3670,95 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { stCase94: switch (m.data)[(m.p)] { case 32: - goto tr43 - case 33: - goto st95 + goto tr39 case 93: - goto tr45 - } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st95 - } - case (m.data)[(m.p)] >= 35: - goto st95 + goto tr41 } - goto tr42 + goto tr38 st95: if (m.p)++; (m.p) == (m.pe) { goto _testEof95 } stCase95: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 33: - goto st96 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st96 - } - case (m.data)[(m.p)] >= 35: + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st96 } - goto tr42 + goto tr30 st96: if (m.p)++; (m.p) == (m.pe) { goto _testEof96 } stCase96: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 33: - goto st97 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st97 - } - case (m.data)[(m.p)] >= 35: + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st97 } - goto tr42 + goto tr30 st97: if (m.p)++; (m.p) == (m.pe) { goto _testEof97 } stCase97: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 33: - goto st98 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st98 - } - case (m.data)[(m.p)] >= 35: + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st98 } - goto tr42 + goto tr30 st98: if (m.p)++; (m.p) == (m.pe) { goto _testEof98 } stCase98: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 33: - goto st99 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st99 - } - case (m.data)[(m.p)] >= 35: + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st99 } - goto tr42 + goto tr30 st99: if (m.p)++; (m.p) == (m.pe) { goto _testEof99 } stCase99: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 33: - goto st100 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st100 - } - case (m.data)[(m.p)] >= 35: + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st100 } - goto tr42 + goto tr30 st100: if (m.p)++; (m.p) == (m.pe) { goto _testEof100 } stCase100: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 33: - goto st101 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - switch { - case (m.data)[(m.p)] > 60: - if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st101 - } - case (m.data)[(m.p)] >= 35: + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st101 } - goto tr42 + goto tr30 st101: if (m.p)++; (m.p) == (m.pe) { goto _testEof101 } stCase101: - switch (m.data)[(m.p)] { - case 32: - goto tr43 - case 93: - goto tr45 + if (m.data)[(m.p)] == 32 { + goto tr31 } - goto tr42 + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st102 + } + goto tr30 st102: if (m.p)++; (m.p) == (m.pe) { goto _testEof102 @@ -4110,9 +4043,6 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { if (m.data)[(m.p)] == 32 { goto tr31 } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st126 - } goto tr30 st126: if (m.p)++; (m.p) == (m.pe) { @@ -4120,81 +4050,84 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { } stCase126: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st127 } - goto tr30 + goto tr24 st127: if (m.p)++; (m.p) == (m.pe) { goto _testEof127 } stCase127: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st128 } - goto tr30 + goto tr24 st128: if (m.p)++; (m.p) == (m.pe) { goto _testEof128 } stCase128: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st129 } - goto tr30 + goto tr24 st129: if (m.p)++; (m.p) == (m.pe) { goto _testEof129 } stCase129: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st130 } - goto tr30 + goto tr24 st130: if (m.p)++; (m.p) == (m.pe) { goto _testEof130 } stCase130: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st131 } - goto tr30 + goto tr24 st131: if (m.p)++; (m.p) == (m.pe) { goto _testEof131 } stCase131: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st132 } - goto tr30 + goto tr24 st132: if (m.p)++; (m.p) == (m.pe) { goto _testEof132 } stCase132: if (m.data)[(m.p)] == 32 { - goto tr31 + goto tr26 } - goto tr30 + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st133 + } + goto tr24 st133: if (m.p)++; (m.p) == (m.pe) { goto _testEof133 @@ -5631,9 +5564,6 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { if (m.data)[(m.p)] == 32 { goto tr26 } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st253 - } goto tr24 st253: if (m.p)++; (m.p) == (m.pe) { @@ -5641,81 +5571,84 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { } stCase253: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st254 } - goto tr24 + goto tr20 st254: if (m.p)++; (m.p) == (m.pe) { goto _testEof254 } stCase254: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st255 } - goto tr24 + goto tr20 st255: if (m.p)++; (m.p) == (m.pe) { goto _testEof255 } stCase255: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st256 } - goto tr24 + goto tr20 st256: if (m.p)++; (m.p) == (m.pe) { goto _testEof256 } stCase256: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st257 } - goto tr24 + goto tr20 st257: if (m.p)++; (m.p) == (m.pe) { goto _testEof257 } stCase257: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st258 } - goto tr24 + goto tr20 st258: if (m.p)++; (m.p) == (m.pe) { goto _testEof258 } stCase258: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st259 } - goto tr24 + goto tr20 st259: if (m.p)++; (m.p) == (m.pe) { goto _testEof259 } stCase259: if (m.data)[(m.p)] == 32 { - goto tr26 + goto tr22 } - goto tr24 + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st260 + } + goto tr20 st260: if (m.p)++; (m.p) == (m.pe) { goto _testEof260 @@ -6192,9 +6125,6 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { if (m.data)[(m.p)] == 32 { goto tr22 } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st300 - } goto tr20 st300: if (m.p)++; (m.p) == (m.pe) { @@ -6202,81 +6132,84 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { } stCase300: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st301 } - goto tr20 + goto tr16 st301: if (m.p)++; (m.p) == (m.pe) { goto _testEof301 } stCase301: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st302 } - goto tr20 + goto tr16 st302: if (m.p)++; (m.p) == (m.pe) { goto _testEof302 } stCase302: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st303 } - goto tr20 + goto tr16 st303: if (m.p)++; (m.p) == (m.pe) { goto _testEof303 } stCase303: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st304 } - goto tr20 + goto tr16 st304: if (m.p)++; (m.p) == (m.pe) { goto _testEof304 } stCase304: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st305 } - goto tr20 + goto tr16 st305: if (m.p)++; (m.p) == (m.pe) { goto _testEof305 } stCase305: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { goto st306 } - goto tr20 + goto tr16 st306: if (m.p)++; (m.p) == (m.pe) { goto _testEof306 } stCase306: if (m.data)[(m.p)] == 32 { - goto tr22 + goto tr18 } - goto tr20 + if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + goto st307 + } + goto tr16 st307: if (m.p)++; (m.p) == (m.pe) { goto _testEof307 @@ -9237,103 +9170,91 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { if (m.data)[(m.p)] == 32 { goto tr18 } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { - goto st554 - } goto tr16 + tr14: + + m.pb = m.p + + goto st554 st554: if (m.p)++; (m.p) == (m.pe) { goto _testEof554 } stCase554: - if (m.data)[(m.p)] == 32 { - goto tr18 - } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st555 } - goto tr16 + goto tr12 st555: if (m.p)++; (m.p) == (m.pe) { goto _testEof555 } stCase555: - if (m.data)[(m.p)] == 32 { - goto tr18 - } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st556 } - goto tr16 + goto tr12 st556: if (m.p)++; (m.p) == (m.pe) { goto _testEof556 } stCase556: - if (m.data)[(m.p)] == 32 { - goto tr18 - } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st557 } - goto tr16 + goto tr12 st557: if (m.p)++; (m.p) == (m.pe) { goto _testEof557 } stCase557: - if (m.data)[(m.p)] == 32 { - goto tr18 - } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + if (m.data)[(m.p)] == 45 { goto st558 } - goto tr16 + goto tr12 st558: if (m.p)++; (m.p) == (m.pe) { goto _testEof558 } stCase558: - if (m.data)[(m.p)] == 32 { - goto tr18 - } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + switch (m.data)[(m.p)] { + case 48: goto st559 + case 49: + goto st590 } - goto tr16 + goto tr12 st559: if (m.p)++; (m.p) == (m.pe) { goto _testEof559 } stCase559: - if (m.data)[(m.p)] == 32 { - goto tr18 - } - if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 { + if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st560 } - goto tr16 + goto tr12 st560: if (m.p)++; (m.p) == (m.pe) { goto _testEof560 } stCase560: - if (m.data)[(m.p)] == 32 { - goto tr18 + if (m.data)[(m.p)] == 45 { + goto st561 } - goto tr16 - tr14: - - m.pb = m.p - - goto st561 + goto tr12 st561: if (m.p)++; (m.p) == (m.pe) { goto _testEof561 } stCase561: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + switch (m.data)[(m.p)] { + case 48: goto st562 + case 51: + goto st589 + } + if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 50 { + goto st588 } goto tr12 st562: @@ -9341,7 +9262,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof562 } stCase562: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st563 } goto tr12 @@ -9350,7 +9271,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof563 } stCase563: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + if (m.data)[(m.p)] == 84 { goto st564 } goto tr12 @@ -9359,7 +9280,10 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof564 } stCase564: - if (m.data)[(m.p)] == 45 { + if (m.data)[(m.p)] == 50 { + goto st587 + } + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 { goto st565 } goto tr12 @@ -9368,11 +9292,8 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof565 } stCase565: - switch (m.data)[(m.p)] { - case 48: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st566 - case 49: - goto st597 } goto tr12 st566: @@ -9380,7 +9301,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof566 } stCase566: - if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + if (m.data)[(m.p)] == 58 { goto st567 } goto tr12 @@ -9389,7 +9310,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof567 } stCase567: - if (m.data)[(m.p)] == 45 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 { goto st568 } goto tr12 @@ -9398,14 +9319,8 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof568 } stCase568: - switch (m.data)[(m.p)] { - case 48: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st569 - case 51: - goto st596 - } - if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 50 { - goto st595 } goto tr12 st569: @@ -9413,7 +9328,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof569 } stCase569: - if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + if (m.data)[(m.p)] == 58 { goto st570 } goto tr12 @@ -9422,7 +9337,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof570 } stCase570: - if (m.data)[(m.p)] == 84 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 { goto st571 } goto tr12 @@ -9431,10 +9346,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof571 } stCase571: - if (m.data)[(m.p)] == 50 { - goto st594 - } - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st572 } goto tr12 @@ -9443,8 +9355,15 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof572 } stCase572: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + switch (m.data)[(m.p)] { + case 43: + goto st573 + case 45: goto st573 + case 46: + goto st580 + case 90: + goto st578 } goto tr12 st573: @@ -9452,7 +9371,10 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof573 } stCase573: - if (m.data)[(m.p)] == 58 { + if (m.data)[(m.p)] == 50 { + goto st579 + } + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 { goto st574 } goto tr12 @@ -9461,7 +9383,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof574 } stCase574: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st575 } goto tr12 @@ -9470,7 +9392,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof575 } stCase575: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + if (m.data)[(m.p)] == 58 { goto st576 } goto tr12 @@ -9479,7 +9401,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof576 } stCase576: - if (m.data)[(m.p)] == 58 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 { goto st577 } goto tr12 @@ -9488,7 +9410,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof577 } stCase577: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st578 } goto tr12 @@ -9497,24 +9419,17 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof578 } stCase578: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st579 + if (m.data)[(m.p)] == 32 { + goto tr616 } - goto tr12 + goto tr615 st579: if (m.p)++; (m.p) == (m.pe) { goto _testEof579 } stCase579: - switch (m.data)[(m.p)] { - case 43: - goto st580 - case 45: - goto st580 - case 46: - goto st587 - case 90: - goto st585 + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 51 { + goto st575 } goto tr12 st580: @@ -9522,10 +9437,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof580 } stCase580: - if (m.data)[(m.p)] == 50 { - goto st586 - } - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 { + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { goto st581 } goto tr12 @@ -9534,204 +9446,141 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof581 } stCase581: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st582 - } - goto tr12 - st582: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof582 - } - stCase582: - if (m.data)[(m.p)] == 58 { - goto st583 - } - goto tr12 - st583: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof583 - } - stCase583: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 { - goto st584 - } - goto tr12 - st584: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof584 - } - stCase584: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st585 - } - goto tr12 - st585: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof585 - } - stCase585: - if (m.data)[(m.p)] == 32 { - goto tr620 - } - goto tr619 - st586: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof586 - } - stCase586: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 51 { - goto st582 - } - goto tr12 - st587: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof587 - } - stCase587: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st588 - } - goto tr12 - st588: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof588 - } - stCase588: switch (m.data)[(m.p)] { case 43: - goto st580 + goto st573 case 45: - goto st580 + goto st573 case 90: - goto st585 + goto st578 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st589 + goto st582 } goto tr12 - st589: + st582: if (m.p)++; (m.p) == (m.pe) { - goto _testEof589 + goto _testEof582 } - stCase589: + stCase582: switch (m.data)[(m.p)] { case 43: - goto st580 + goto st573 case 45: - goto st580 + goto st573 case 90: - goto st585 + goto st578 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st590 + goto st583 } goto tr12 - st590: + st583: if (m.p)++; (m.p) == (m.pe) { - goto _testEof590 + goto _testEof583 } - stCase590: + stCase583: switch (m.data)[(m.p)] { case 43: - goto st580 + goto st573 case 45: - goto st580 + goto st573 case 90: - goto st585 + goto st578 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st591 + goto st584 } goto tr12 - st591: + st584: if (m.p)++; (m.p) == (m.pe) { - goto _testEof591 + goto _testEof584 } - stCase591: + stCase584: switch (m.data)[(m.p)] { case 43: - goto st580 + goto st573 case 45: - goto st580 + goto st573 case 90: - goto st585 + goto st578 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st592 + goto st585 } goto tr12 - st592: + st585: if (m.p)++; (m.p) == (m.pe) { - goto _testEof592 + goto _testEof585 } - stCase592: + stCase585: switch (m.data)[(m.p)] { case 43: - goto st580 + goto st573 case 45: - goto st580 + goto st573 case 90: - goto st585 + goto st578 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st593 + goto st586 } goto tr12 - st593: + st586: if (m.p)++; (m.p) == (m.pe) { - goto _testEof593 + goto _testEof586 } - stCase593: + stCase586: switch (m.data)[(m.p)] { case 43: - goto st580 + goto st573 case 45: - goto st580 + goto st573 case 90: - goto st585 + goto st578 } goto tr12 - st594: + st587: if (m.p)++; (m.p) == (m.pe) { - goto _testEof594 + goto _testEof587 } - stCase594: + stCase587: if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 51 { - goto st573 + goto st566 } goto tr12 - st595: + st588: if (m.p)++; (m.p) == (m.pe) { - goto _testEof595 + goto _testEof588 } - stCase595: + stCase588: if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st570 + goto st563 } goto tr12 - st596: + st589: if (m.p)++; (m.p) == (m.pe) { - goto _testEof596 + goto _testEof589 } - stCase596: + stCase589: if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 { - goto st570 + goto st563 } goto tr12 - st597: + st590: if (m.p)++; (m.p) == (m.pe) { - goto _testEof597 + goto _testEof590 } - stCase597: + stCase590: if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 50 { - goto st567 + goto st560 } goto tr12 - st598: + st591: if (m.p)++; (m.p) == (m.pe) { - goto _testEof598 + goto _testEof591 } - stCase598: + stCase591: output.version = uint16(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) @@ -9739,14 +9588,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto st6 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st599 + goto st592 } goto tr7 - st599: + st592: if (m.p)++; (m.p) == (m.pe) { - goto _testEof599 + goto _testEof592 } - stCase599: + stCase592: output.version = uint16(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) @@ -9758,36 +9607,36 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { m.pb = m.p - goto st600 - st600: + goto st593 + st593: if (m.p)++; (m.p) == (m.pe) { - goto _testEof600 + goto _testEof593 } - stCase600: + stCase593: output.priority = uint8(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) output.prioritySet = true switch (m.data)[(m.p)] { case 57: - goto st602 + goto st595 case 62: goto st4 } if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 56 { - goto st601 + goto st594 } goto tr2 tr5: m.pb = m.p - goto st601 - st601: + goto st594 + st594: if (m.p)++; (m.p) == (m.pe) { - goto _testEof601 + goto _testEof594 } - stCase601: + stCase594: output.priority = uint8(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) output.prioritySet = true @@ -9799,11 +9648,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto st3 } goto tr2 - st602: + st595: if (m.p)++; (m.p) == (m.pe) { - goto _testEof602 + goto _testEof595 } - stCase602: + stCase595: output.priority = uint8(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) output.prioritySet = true @@ -9820,13 +9669,180 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { goto _testEof607 } stCase607: + goto tr635 + tr635: + + m.pb = m.p + + m.msgat = m.p + + goto st608 + st608: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof608 + } + stCase608: + goto st608 + st609: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof609 + } + stCase609: + if (m.data)[(m.p)] == 239 { + goto tr638 + } + goto tr637 + tr637: + + m.pb = m.p + + m.msgat = m.p + + goto st610 + st610: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof610 + } + stCase610: + goto st610 + tr638: + + m.pb = m.p + + m.msgat = m.p + + goto st611 + st611: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof611 + } + stCase611: + if (m.data)[(m.p)] == 187 { + goto st612 + } + goto st610 + st612: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof612 + } + stCase612: + if (m.data)[(m.p)] == 191 { + goto st613 + } + goto st610 + st613: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof613 + } + stCase613: + switch (m.data)[(m.p)] { + case 224: + goto st597 + case 237: + goto st599 + case 240: + goto st600 + case 244: + goto st602 + } + switch { + case (m.data)[(m.p)] < 225: + switch { + case (m.data)[(m.p)] > 193: + if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 { + goto st596 + } + case (m.data)[(m.p)] >= 128: + goto tr627 + } + case (m.data)[(m.p)] > 239: + switch { + case (m.data)[(m.p)] > 243: + if 245 <= (m.data)[(m.p)] { + goto tr627 + } + case (m.data)[(m.p)] >= 241: + goto st601 + } + default: + goto st598 + } + goto st613 + st596: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof596 + } + stCase596: + if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { + goto st613 + } + goto tr627 + st597: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof597 + } + stCase597: + if 160 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { + goto st596 + } + goto tr627 + st598: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof598 + } + stCase598: + if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { + goto st596 + } + goto tr627 + st599: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof599 + } + stCase599: + if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 159 { + goto st596 + } + goto tr627 + st600: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof600 + } + stCase600: + if 144 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { + goto st598 + } + goto tr627 + st601: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof601 + } + stCase601: + if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 { + goto st598 + } + goto tr627 + st602: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof602 + } + stCase602: + if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 143 { + goto st598 + } + goto tr627 + st614: + if (m.p)++; (m.p) == (m.pe) { + goto _testEof614 + } + stCase614: switch (m.data)[(m.p)] { case 10: goto st0 case 13: goto st0 } - goto st607 + goto st614 stOut: _testEof2: m.cs = 2 @@ -9999,6 +10015,9 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { _testEof55: m.cs = 55 goto _testEof + _testEof606: + m.cs = 606 + goto _testEof _testEof56: m.cs = 56 goto _testEof @@ -10020,9 +10039,6 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { _testEof62: m.cs = 62 goto _testEof - _testEof606: - m.cs = 606 - goto _testEof _testEof63: m.cs = 63 goto _testEof @@ -11622,6 +11638,27 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { _testEof595: m.cs = 595 goto _testEof + _testEof607: + m.cs = 607 + goto _testEof + _testEof608: + m.cs = 608 + goto _testEof + _testEof609: + m.cs = 609 + goto _testEof + _testEof610: + m.cs = 610 + goto _testEof + _testEof611: + m.cs = 611 + goto _testEof + _testEof612: + m.cs = 612 + goto _testEof + _testEof613: + m.cs = 613 + goto _testEof _testEof596: m.cs = 596 goto _testEof @@ -11643,8 +11680,8 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { _testEof602: m.cs = 602 goto _testEof - _testEof607: - m.cs = 607 + _testEof614: + m.cs = 614 goto _testEof _testEof: @@ -11652,7 +11689,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { } if (m.p) == (m.eof) { switch m.cs { - case 605: + case 608, 610, 611, 612, 613: output.message = string(m.text()) @@ -11662,16 +11699,16 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } - case 15, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132: + case 15, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125: m.err = fmt.Errorf(ErrMsgID+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } case 16: @@ -11680,7 +11717,27 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 + } + + case 596, 597, 598, 599, 600, 601, 602: + + // If error encountered within the message rule ... + if m.msgat > 0 { + // Save the text until valid (m.p is where the parser has stopped) + output.message = string(m.data[m.msgat:m.p]) + } + + if m.compliantMsg { + m.err = fmt.Errorf(ErrMsgNotCompliant+ColumnPositionTemplate, m.p) + } else { + m.err = fmt.Errorf(ErrMsg+ColumnPositionTemplate, m.p) + } + + (m.p)-- + + { + goto st614 } case 7: @@ -11689,7 +11746,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } case 5: @@ -11700,17 +11757,17 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } - case 585: + case 578: if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil { m.err = fmt.Errorf("%s [col %d]", e, m.p) (m.p)-- { - goto st607 + goto st614 } } else { output.timestamp = t @@ -11721,7 +11778,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } case 4: @@ -11730,78 +11787,78 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 6, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597: + case 6, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590: m.err = fmt.Errorf(ErrTimestamp+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 8, 9, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560: + case 8, 9, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553: m.err = fmt.Errorf(ErrHostname+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 10, 11, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306: + case 10, 11, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299: m.err = fmt.Errorf(ErrAppname+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 12, 13, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259: + case 12, 13, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252: m.err = fmt.Errorf(ErrProcID+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } case 14: @@ -11810,17 +11867,17 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 24: + case 17: delete(output.structuredData, m.currentelem) if len(output.structuredData) == 0 { @@ -11830,17 +11887,17 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 64, 65, 66, 67, 68, 69, 70: + case 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63: if len(output.structuredData) > 0 { delete(output.structuredData[m.currentelem], m.currentparam) @@ -11849,39 +11906,17 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 - } - - case 17, 18, 19, 20, 21, 22, 23: - - // If error encountered within the message rule ... - if m.msgat > 0 { - // Save the text until valid (m.p is where the parser has stopped) - output.message = string(m.data[m.msgat:m.p]) - } - - m.err = fmt.Errorf(ErrMsg+ColumnPositionTemplate, m.p) - (m.p)-- - - { - goto st607 - } - - m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) - (m.p)-- - - { - goto st607 + goto st614 } - case 604: + case 607, 609: m.pb = m.p @@ -11889,7 +11924,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { output.message = string(m.text()) - case 25, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101: + case 18, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94: if _, ok := output.structuredData[string(m.text())]; ok { // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message @@ -11897,7 +11932,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } } else { id := string(m.text()) @@ -11914,46 +11949,46 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 2, 3, 600, 601, 602: + case 2, 3, 593, 594, 595: m.err = fmt.Errorf(ErrPrival+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrPri+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrParse+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } - case 598, 599: + case 591, 592: m.err = fmt.Errorf(ErrVersion+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } output.version = uint16(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) @@ -11962,16 +11997,16 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } - case 60, 61, 63: + case 53, 54, 56: m.err = fmt.Errorf(ErrEscape+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } if len(output.structuredData) > 0 { @@ -11981,14 +12016,14 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { (m.p)-- { - goto st607 + goto st614 } m.err = fmt.Errorf(ErrStructuredData+ColumnPositionTemplate, m.p) (m.p)-- { - goto st607 + goto st614 } } @@ -12000,7 +12035,7 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { } if m.cs < firstFinal || m.cs == enFail { - if m.bestEffort && output.valid() { + if m.bestEffort && output.minimal() { // An error occurred but partial parsing is on and partial message is minimally valid return output.export(), m.err } diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/machine.go.rl b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/machine.go.rl similarity index 75% rename from vendor/github.com/influxdata/go-syslog/v2/rfc5424/machine.go.rl rename to vendor/github.com/influxdata/go-syslog/v3/rfc5424/machine.go.rl index 68c95f352c2b..f0b9c821d4bf 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/machine.go.rl +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/machine.go.rl @@ -4,8 +4,8 @@ import ( "time" "fmt" - "github.com/influxdata/go-syslog/v2" - "github.com/influxdata/go-syslog/v2/common" + "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/common" ) // ColumnPositionTemplate is the template used to communicate the column where errors occur. @@ -13,35 +13,37 @@ var ColumnPositionTemplate = " [col %d]" const ( // ErrPrival represents an error in the priority value (PRIVAL) inside the PRI part of the RFC5424 syslog message. - ErrPrival = "expecting a priority value in the range 1-191 or equal to 0" + ErrPrival = "expecting a priority value in the range 1-191 or equal to 0" // ErrPri represents an error in the PRI part of the RFC5424 syslog message. - ErrPri = "expecting a priority value within angle brackets" + ErrPri = "expecting a priority value within angle brackets" // ErrVersion represents an error in the VERSION part of the RFC5424 syslog message. - ErrVersion = "expecting a version value in the range 1-999" + ErrVersion = "expecting a version value in the range 1-999" // ErrTimestamp represents an error in the TIMESTAMP part of the RFC5424 syslog message. - ErrTimestamp = "expecting a RFC3339MICRO timestamp or a nil value" + ErrTimestamp = "expecting a RFC3339MICRO timestamp or a nil value" // ErrHostname represents an error in the HOSTNAME part of the RFC5424 syslog message. - ErrHostname = "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value" + ErrHostname = "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value" // ErrAppname represents an error in the APP-NAME part of the RFC5424 syslog message. - ErrAppname = "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value" + ErrAppname = "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value" // ErrProcID represents an error in the PROCID part of the RFC5424 syslog message. - ErrProcID = "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value" + ErrProcID = "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value" // ErrMsgID represents an error in the MSGID part of the RFC5424 syslog message. - ErrMsgID = "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value" + ErrMsgID = "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value" // ErrStructuredData represents an error in the STRUCTURED DATA part of the RFC5424 syslog message. - ErrStructuredData = "expecting a structured data section containing one or more elements (`[id( key=\"value\")*]+`) or a nil value" + ErrStructuredData = "expecting a structured data section containing one or more elements (`[id( key=\"value\")*]+`) or a nil value" // ErrSdID represents an error regarding the ID of a STRUCTURED DATA element of the RFC5424 syslog message. - ErrSdID = "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"`" + ErrSdID = "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"`" // ErrSdIDDuplicated represents an error occurring when two STRUCTURED DATA elementes have the same ID in a RFC5424 syslog message. - ErrSdIDDuplicated = "duplicate structured data element id" + ErrSdIDDuplicated = "duplicate structured data element id" // ErrSdParam represents an error regarding a STRUCTURED DATA PARAM of the RFC5424 syslog message. - ErrSdParam = "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped)" + ErrSdParam = "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped)" // ErrMsg represents an error in the MESSAGE part of the RFC5424 syslog message. - ErrMsg = "expecting a free-form optional message in UTF-8 (starting with or without BOM)" + ErrMsg = "expecting a free-form optional message in UTF-8 (starting with or without BOM)" + // ErrMsgNotCompliant represents an error in the MESSAGE part of the RFC5424 syslog message if WithCompliatMsg option is on. + ErrMsgNotCompliant = ErrMsg + " or a free-form optional message in any encoding (starting without BOM)" // ErrEscape represents the error for a RFC5424 syslog message occurring when a STRUCTURED DATA PARAM value contains '"', '\', or ']' not escaped. - ErrEscape = "expecting chars `]`, `\"`, and `\\` to be escaped within param value" + ErrEscape = "expecting chars `]`, `\"`, and `\\` to be escaped within param value" // ErrParse represents a general parsing error for a RFC5424 syslog message. - ErrParse = "parsing error" + ErrParse = "parsing error" ) // RFC3339MICRO represents the timestamp format that RFC5424 mandates. @@ -63,6 +65,15 @@ action markmsg { m.msgat = m.p } +action select_msg_mode { + fhold; + + if m.compliantMsg { + fgoto msg_compliant; + } + fgoto msg_any; +} + action set_prival { output.priority = uint8(common.UnsafeUTF8DecimalCodePointsToInt(m.text())) output.prioritySet = true @@ -74,13 +85,13 @@ action set_version { action set_timestamp { if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil { - m.err = fmt.Errorf("%s [col %d]", e, m.p) + m.err = fmt.Errorf("%s [col %d]", e, m.p) fhold; - fgoto fail; - } else { - output.timestamp = t + fgoto fail; + } else { + output.timestamp = t output.timestampSet = true - } + } } action set_hostname { @@ -151,55 +162,55 @@ action set_msg { action err_prival { m.err = fmt.Errorf(ErrPrival + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_pri { m.err = fmt.Errorf(ErrPri + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_version { m.err = fmt.Errorf(ErrVersion + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_timestamp { m.err = fmt.Errorf(ErrTimestamp + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_hostname { m.err = fmt.Errorf(ErrHostname + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_appname { m.err = fmt.Errorf(ErrAppname + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_procid { m.err = fmt.Errorf(ErrProcID + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_msgid { m.err = fmt.Errorf(ErrMsgID + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_structureddata { m.err = fmt.Errorf(ErrStructuredData + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_sdid { @@ -209,7 +220,7 @@ action err_sdid { } m.err = fmt.Errorf(ErrSdID + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_sdparam { @@ -218,7 +229,7 @@ action err_sdparam { } m.err = fmt.Errorf(ErrSdParam + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_msg { @@ -228,34 +239,31 @@ action err_msg { output.message = string(m.data[m.msgat:m.p]) } - m.err = fmt.Errorf(ErrMsg + ColumnPositionTemplate, m.p) + if m.compliantMsg { + m.err = fmt.Errorf(ErrMsgNotCompliant + ColumnPositionTemplate, m.p) + } else { + m.err = fmt.Errorf(ErrMsg + ColumnPositionTemplate, m.p) + } + fhold; - fgoto fail; + fgoto fail; } action err_escape { m.err = fmt.Errorf(ErrEscape + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } action err_parse { m.err = fmt.Errorf(ErrParse + ColumnPositionTemplate, m.p) fhold; - fgoto fail; + fgoto fail; } nilvalue = '-'; -nonzerodigit = '1'..'9'; - -# 1..191 -privalrange = (('1' ('9' ('0'..'1'){,1} | '0'..'8' ('0'..'9'){,1}){,1}) | ('2'..'9' ('0'..'9'){,1})); - -# 1..191 or 0 -prival = (privalrange | '0') >mark %from(set_prival) $err(err_prival); - -pri = ('<' prival '>') @err(err_pri); +pri = ('<' prival >mark %from(set_prival) $err(err_prival) '>') @err(err_pri); version = (nonzerodigit digit{0,2} mark %from(set_version) %eof(set_version) @err(err_version); @@ -290,7 +298,14 @@ sdelement = ('[' sdid (sp sdparam)* ']'); structureddata = nilvalue | sdelement+ >ini_elements $err(err_structureddata); -msg = (bom? utf8octets) >mark >markmsg %set_msg $err(err_msg); +msg_any := any* >mark >markmsg %set_msg $err(err_msg); + +# MSG-ANY = *OCTET ; not starting with BOM +# MSG-UTF8 = BOM *OCTECT ; UTF-8 string as specified in RFC 3629 +# MSG = MSG-ANY | MSG-UTF8 +msg_compliant := ((bom utf8octets) | (any* - (bom any*))) >mark >markmsg %set_msg $err(err_msg); + +msg = any? @select_msg_mode; fail := (any - [\n\r])* @err{ fgoto main; }; @@ -311,6 +326,7 @@ type machine struct { msgat int backslashat []int bestEffort bool + compliantMsg bool } // NewMachine creates a new FSM able to parse RFC5424 syslog messages. @@ -330,6 +346,7 @@ func NewMachine(options ...syslog.MachineOption) syslog.Machine { return m } +// WithBestEffort enables best effort mode. func (m *machine) WithBestEffort() { m.bestEffort = true } @@ -368,11 +385,11 @@ func (m *machine) Parse(input []byte) (syslog.Message, error) { m.err = nil output := &syslogMessage{} - %% write init; - %% write exec; + %% write init; + %% write exec; if m.cs < first_final || m.cs == en_fail { - if m.bestEffort && output.valid() { + if m.bestEffort && output.minimal() { // An error occurred but partial parsing is on and partial message is minimally valid return output.export(), m.err } diff --git a/vendor/github.com/influxdata/go-syslog/v3/rfc5424/options.go b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/options.go new file mode 100644 index 000000000000..05db00914a32 --- /dev/null +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/options.go @@ -0,0 +1,29 @@ +package rfc5424 + +import ( + syslog "github.com/influxdata/go-syslog/v3" +) + +// WithBestEffort enables the best effort mode. +func WithBestEffort() syslog.MachineOption { + return func(m syslog.Machine) syslog.Machine { + m.WithBestEffort() + return m + } +} + +// WithCompliantMsg enables the parsing of the MSG part of the Syslog as per RFC5424. +// +// When this is on, the MSG can either be: +// - an UTF-8 string which starts with a BOM marker +// or +// - a free-form message (0-255) not starting with a BOM marker. +// +// Ref.: https://tools.ietf.org/html/rfc5424#section-6.4 +// Ref.: https://tools.ietf.org/html/rfc5424#section-6 +func WithCompliantMsg() syslog.MachineOption { + return func(m syslog.Machine) syslog.Machine { + m.(*machine).compliantMsg = true + return m + } +} diff --git a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/parser.go b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/parser.go similarity index 95% rename from vendor/github.com/influxdata/go-syslog/v2/rfc5424/parser.go rename to vendor/github.com/influxdata/go-syslog/v3/rfc5424/parser.go index a4ef241aa691..31417aa569f2 100644 --- a/vendor/github.com/influxdata/go-syslog/v2/rfc5424/parser.go +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/parser.go @@ -3,7 +3,7 @@ package rfc5424 import ( "sync" - syslog "github.com/influxdata/go-syslog/v2" + syslog "github.com/influxdata/go-syslog/v3" ) // parser represent a RFC5424 parser with mutex capabilities. diff --git a/vendor/github.com/influxdata/go-syslog/v3/rfc5424/syslog_message.go b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/syslog_message.go new file mode 100644 index 000000000000..9f944a3f99f4 --- /dev/null +++ b/vendor/github.com/influxdata/go-syslog/v3/rfc5424/syslog_message.go @@ -0,0 +1,91 @@ +package rfc5424 + +import ( + "time" + + "github.com/influxdata/go-syslog/v3" + "github.com/influxdata/go-syslog/v3/common" +) + +type syslogMessage struct { + prioritySet bool // We explictly flag the setting of priority since its zero value is a valid priority by RFC 5424 + timestampSet bool // We explictly flag the setting of timestamp since its zero value is a valid timestamp by RFC 5424 + hasElements bool + priority uint8 + version uint16 + timestamp time.Time + hostname string + appname string + procID string + msgID string + structuredData map[string]map[string]string + message string +} + +func (sm *syslogMessage) minimal() bool { + return sm.prioritySet && common.ValidPriority(sm.priority) && common.ValidVersion(sm.version) +} + +// export is meant to be called on minimally-valid messages +// thus it presumes priority and version values exists and are correct +func (sm *syslogMessage) export() *SyslogMessage { + out := &SyslogMessage{} + out.ComputeFromPriority(sm.priority) + out.Version = sm.version + + if sm.timestampSet { + out.Timestamp = &sm.timestamp + } + if sm.hostname != "-" && sm.hostname != "" { + out.Hostname = &sm.hostname + } + if sm.appname != "-" && sm.appname != "" { + out.Appname = &sm.appname + } + if sm.procID != "-" && sm.procID != "" { + out.ProcID = &sm.procID + } + if sm.msgID != "-" && sm.msgID != "" { + out.MsgID = &sm.msgID + } + if sm.hasElements { + out.StructuredData = &sm.structuredData + } + if sm.message != "" { + out.Message = &sm.message + } + + return out +} + +// Builder represents a RFC5424 syslog message builder. +type Builder interface { + syslog.Message + + SetPriority(value uint8) Builder + SetVersion(value uint16) Builder + SetTimestamp(value string) Builder + SetHostname(value string) Builder + SetAppname(value string) Builder + SetProcID(value string) Builder + SetMsgID(value string) Builder + SetElementID(value string) Builder + SetParameter(id string, name string, value string) Builder + SetMessage(value string) Builder +} + +// SyslogMessage represents a RFC5424 syslog message. +type SyslogMessage struct { + syslog.Base + + Version uint16 // Grammar mandates that version cannot be 0, so we can use the 0 value of uint16 to signal nil + StructuredData *map[string]map[string]string +} + +// Valid tells whether the receiving RFC5424 SyslogMessage is well-formed or not. +// +// A minimally well-formed RFC5424 syslog message contains at least a priority ([1, 191] or 0) and the version (]0, 999]). +func (sm *SyslogMessage) Valid() bool { + // A nil priority or a 0 version means that the message is not valid + return sm.Base.Valid() && common.ValidVersion(sm.Version) +} diff --git a/vendor/github.com/influxdata/go-syslog/v3/syslog.go b/vendor/github.com/influxdata/go-syslog/v3/syslog.go new file mode 100644 index 000000000000..db628a25928b --- /dev/null +++ b/vendor/github.com/influxdata/go-syslog/v3/syslog.go @@ -0,0 +1,146 @@ +// Package syslog provides generic interfaces and structs for syslog messages and transport. +// Subpackages contains various parsers or scanners for different syslog formats. +package syslog + +import ( + "io" + "time" + + "github.com/influxdata/go-syslog/v3/common" +) + +// BestEfforter is an interface that wraps the HasBestEffort method. +type BestEfforter interface { + WithBestEffort() + HasBestEffort() bool +} + +// Machine represent a FSM able to parse an entire syslog message and return it in an structured way. +type Machine interface { + Parse(input []byte) (Message, error) + BestEfforter +} + +// MachineOption represents the type of option setters for Machine instances. +type MachineOption func(m Machine) Machine + +// Parser is an interface that wraps the Parse method. +type Parser interface { + Parse(r io.Reader) + WithListener(ParserListener) + BestEfforter +} + +// ParserOption represent the type of option setters for Parser instances. +type ParserOption func(p Parser) Parser + +// ParserListener is a function that receives syslog parsing results, one by one. +type ParserListener func(*Result) + +// Result wraps the outcomes obtained parsing a syslog message. +type Result struct { + Message Message + Error error +} + +// Message represent a minimal syslog message. +type Message interface { + Valid() bool + FacilityMessage() *string + FacilityLevel() *string + SeverityMessage() *string + SeverityLevel() *string + SeverityShortLevel() *string + + ComputeFromPriority(value uint8) +} + +// Base represents a base struct for syslog messages. +// +// It contains the fields in common among different formats. +type Base struct { + Facility *uint8 + Severity *uint8 + Priority *uint8 + Timestamp *time.Time + Hostname *string + Appname *string + ProcID *string + MsgID *string + Message *string +} + +// Valid tells whether the receiving message is well-formed or not. +// +// A minimally well-formed RFC3164 syslog message contains at least the priority ([1, 191] or 0). +// A minimally well-formed RFC5424 syslog message also contains the version. +func (m *Base) Valid() bool { + // A nil priority or a 0 version means that the message is not valid + return m.Priority != nil && common.ValidPriority(*m.Priority) +} + +// ComputeFromPriority set the priority values and computes facility and severity from it. +// +// It does NOT check the input value validity. +func (m *Base) ComputeFromPriority(value uint8) { + m.Priority = &value + facility := uint8(value / 8) + severity := uint8(value % 8) + m.Facility = &facility + m.Severity = &severity +} + +// FacilityMessage returns the text message for the current facility value. +func (m *Base) FacilityMessage() *string { + if m.Facility != nil { + msg := common.Facility[*m.Facility] + return &msg + } + + return nil +} + +// FacilityLevel returns the +func (m *Base) FacilityLevel() *string { + if m.Facility != nil { + if msg, ok := common.FacilityKeywords[*m.Facility]; ok { + return &msg + } + + // Fallback to facility message + msg := common.Facility[*m.Facility] + return &msg + } + + return nil +} + +// SeverityMessage returns the text message for the current severity value. +func (m *Base) SeverityMessage() *string { + if m.Severity != nil { + msg := common.SeverityMessages[*m.Severity] + return &msg + } + + return nil +} + +// SeverityLevel returns the text level for the current severity value. +func (m *Base) SeverityLevel() *string { + if m.Severity != nil { + msg := common.SeverityLevels[*m.Severity] + return &msg + } + + return nil +} + +// SeverityShortLevel returns the short text level for the current severity value. +func (m *Base) SeverityShortLevel() *string { + if m.Severity != nil { + msg := common.SeverityLevelsShort[*m.Severity] + return &msg + } + + return nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 9b819667364c..c6abef9c2aba 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -449,12 +449,12 @@ github.com/hpcloud/tail/ratelimiter github.com/hpcloud/tail/util github.com/hpcloud/tail/watch github.com/hpcloud/tail/winfile -# github.com/influxdata/go-syslog/v2 v2.0.1 -github.com/influxdata/go-syslog/v2 -github.com/influxdata/go-syslog/v2/common -github.com/influxdata/go-syslog/v2/nontransparent -github.com/influxdata/go-syslog/v2/octetcounting -github.com/influxdata/go-syslog/v2/rfc5424 +# github.com/influxdata/go-syslog/v3 v3.0.1-0.20200510134747-836dce2cf6da +github.com/influxdata/go-syslog/v3 +github.com/influxdata/go-syslog/v3/common +github.com/influxdata/go-syslog/v3/nontransparent +github.com/influxdata/go-syslog/v3/octetcounting +github.com/influxdata/go-syslog/v3/rfc5424 # github.com/jessevdk/go-flags v1.4.0 github.com/jessevdk/go-flags # github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af