diff --git a/api/errcode.proto b/api/errcode.proto index 59a98446e..a1f1126a1 100644 --- a/api/errcode.proto +++ b/api/errcode.proto @@ -162,6 +162,7 @@ enum ErrCode { ErrConfigureDB = 6013; ErrInitSSOClient = 6014; ErrInitService = 6015; + ErrInitTracer = 6016; //// Pathwar Agent (starting at 7001) diff --git a/docs/gen.sum b/docs/gen.sum index e1991d846..18854ca03 100644 --- a/docs/gen.sum +++ b/docs/gen.sum @@ -1,8 +1,8 @@ -41c0e4276e1c586be7786abcf014d23c0137a978 ../api/errcode.proto 4362a2715e8c2053c4bec93585b01ca252dae2e7 ../api/pwagent.proto 70d67f1cebb3b7f9e86fd0197d43db4c1f795f65 ../api/pwinit.proto a45fa08c595709dd752f52ded4493ceb3a191de2 ../api/pwcompose.proto aa91d470259d4575fd1c2b2d340d32996e9992e1 ../api/pwdb.proto bad04556b7233d5c8ddbcc1a3b2bfd027b694bce ../api/pwsso.proto bdee305a46e55de7e3feea7cc54ff3a268e81651 ../api/pwapi.proto +d8879301fa7e69c62e2c5be32bc5103584e7e504 ../api/errcode.proto e954302d8badf46e34c0931d40593606e8e06245 Makefile diff --git a/go.mod b/go.mod index fd189045a..13b43a57a 100644 --- a/go.mod +++ b/go.mod @@ -29,6 +29,9 @@ require ( github.com/oklog/run v1.0.0 github.com/olekukonko/tablewriter v0.0.4 github.com/opencontainers/go-digest v1.0.0-rc1 // indirect + github.com/opentracing/opentracing-go v1.1.0 + github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 + github.com/openzipkin/zipkin-go v0.2.1 github.com/peterbourgon/ff v1.7.0 github.com/pkg/errors v0.8.1 github.com/rogpeppe/go-internal v1.5.1 // indirect diff --git a/go.sum b/go.sum index 44eba8a22..483d19f9f 100644 --- a/go.sum +++ b/go.sum @@ -50,6 +50,7 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= @@ -79,6 +80,7 @@ github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4 github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -102,8 +104,12 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2 h1:Pgr17XVTNXAk3q/r4CpKzC5xBM/qW1uVLV+IhRZpIIk= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/grpc-ecosystem/go-grpc-middleware v1.1.0 h1:THDBEeQ9xZ8JEaCLyLQqXMMdRqNr0QAUJTIkQAUtFjg= github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE= github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= @@ -143,6 +149,7 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/martinlindhe/base36 v1.0.0 h1:eYsumTah144C0A8P1T/AVSUk5ZoLnhfYFM3OGQxB52A= github.com/martinlindhe/base36 v1.0.0/go.mod h1:+AtEs8xrBpCeYgSLoY/aJ6Wf37jtBuR0s35750M27+8= @@ -167,17 +174,27 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6 h1:yXiysv1CSK7Q5yjGy1710zZGnsbMUIjluWBxtLXHPBo= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1 h1:noL5/5Uf1HpVl3wNsfkZhIKbSWCVi5jgqkONNx8PXcA= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/peterbourgon/ff v1.7.0 h1:hknvTgsh90jNBIjPq7xeq32Y9AmSbpXvjrFW4sJwW+A= github.com/peterbourgon/ff v1.7.0/go.mod h1:/KKxnU5cBj4w21jEMj4Rway/kslRP6XAOHh7CH8AyAM= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -213,6 +230,7 @@ github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tL github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -350,6 +368,8 @@ google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvx google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s= google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= diff --git a/go/Makefile b/go/Makefile index 45aca02e1..0145b239d 100644 --- a/go/Makefile +++ b/go/Makefile @@ -25,10 +25,6 @@ include ../rules.mk # see https://github.com/moul/rules.mk mkdir -p out GOOS=linux GOARCH=amd64 $(GO) build -mod=readonly -o $@ ./cmd/pwinit -## -## mysql -## - MYSQL_CONFIG ?= -h127.0.0.1 -P3306 -uroot -puns3cur3 .PHONY: up @@ -57,7 +53,7 @@ mysql.down: .PHONY: mysql.logs mysql.logs: - docker-compose logs -f mysql + docker-compose logs --tail=1000 -f mysql .PHONY: mysql.shell mysql.shell: @@ -67,9 +63,18 @@ mysql.shell: mysql.dump: mysqldump $(MYSQL_CONFIG) pathwar -.PHONY: packr -packr: - cd pkg/pwinit && packr2 +.PHONY: zipkin.up +zipkin.up: + docker-compose $(COMPOSE_OPTS) up -d zipkin + +.PHONY: zipkin.logs +zipkin.logs: + docker-compose $(COMPOSE_OPTS) logs --tail=1000 -f zipkin + +.PHONY: zipkin.down +zipkin.down: + docker-compose $(COMPOSE_OPTS) stop zipkin || true + docker-compose $(COMPOSE_OPTS) rm -f -v zipkin || true ## ## generate @@ -110,3 +115,7 @@ generate_local: .PHONY: clean clean: rm -f gen.sum $(wildcard */*/*.pb.go */*/*.pb.gw.go) $(wildcard out/*) $(wildcard */*/packrd/*) $(wildcard */*/*-packr.go) + +.PHONY: packr +packr: + cd pkg/pwinit && packr2 diff --git a/go/cmd/pathwar/main.go b/go/cmd/pathwar/main.go index 223dc46e5..04bc3dd14 100644 --- a/go/cmd/pathwar/main.go +++ b/go/cmd/pathwar/main.go @@ -20,6 +20,11 @@ import ( _ "github.com/go-sql-driver/mysql" // required by gorm "github.com/jinzhu/gorm" "github.com/oklog/run" + opentracing "github.com/opentracing/opentracing-go" + zipkinot "github.com/openzipkin-contrib/zipkin-go-opentracing" + zipkin "github.com/openzipkin/zipkin-go" + "github.com/openzipkin/zipkin-go/model" + reporterhttp "github.com/openzipkin/zipkin-go/reporter/http" "github.com/peterbourgon/ff" "github.com/peterbourgon/ff/ffcli" "go.uber.org/zap" @@ -51,7 +56,9 @@ const ( ) var ( - logger *zap.Logger + logger *zap.Logger + tracer opentracing.Tracer + flagOutput = os.Stderr // flag vars @@ -86,6 +93,7 @@ var ( composeUpForceRecreate bool composeUpInstanceKey string httpAPIAddr string + zipkinEndpoint string serverBind string serverCORSAllowedOrigins string serverRequestTimeout time.Duration @@ -128,6 +136,7 @@ func main() { ) globalFlags.SetOutput(flagOutput) // used in main_test.go globalFlags.BoolVar(&globalDebug, "debug", false, "debug mode") + globalFlags.StringVar(&zipkinEndpoint, "zipkin-endpoint", "", "optional opentracing server") globalFlags.StringVar(&bearerSecretKey, "bearer-secretkey", "", "bearer.sh secret key") agentFlags.BoolVar(&agentClean, "clean", false, "remove all pathwar instances before executing") @@ -238,6 +247,7 @@ func main() { RequestTimeout: serverRequestTimeout, ShutdownTimeout: serverShutdownTimeout, WithPprof: serverWithPprof, + Tracer: tracer, } var err error server, err = pwapi.NewServer(ctx, svc, opts) @@ -790,6 +800,24 @@ func globalPreRun() error { return errcode.ErrInitLogger.Wrap(err) } } + if zipkinEndpoint != "" { + reporter := reporterhttp.NewReporter(zipkinEndpoint) + localEndpoint := &model.Endpoint{ServiceName: "pathwar"} + sampler, err := zipkin.NewCountingSampler(1) + if err != nil { + return errcode.ErrInitTracer.Wrap(err) + } + nativeTracer, err := zipkin.NewTracer( + reporter, + zipkin.WithSampler(sampler), + zipkin.WithLocalEndpoint(localEndpoint), + ) + if err != nil { + return errcode.ErrInitTracer.Wrap(err) + } + tracer = zipkinot.Wrap(nativeTracer) + opentracing.SetGlobalTracer(tracer) + } return nil } diff --git a/go/cmd/pathwar/main_test.go b/go/cmd/pathwar/main_test.go index 44f6010d0..b8ccfc1db 100644 --- a/go/cmd/pathwar/main_test.go +++ b/go/cmd/pathwar/main_test.go @@ -24,4 +24,5 @@ func Example() { // FLAGS // -bearer-secretkey ... bearer.sh secret key // -debug false debug mode + // -zipkin-endpoint ... optional opentracing server } diff --git a/go/docker-compose.dev.yml b/go/docker-compose.dev.yml index 65000e1e8..77f431bda 100644 --- a/go/docker-compose.dev.yml +++ b/go/docker-compose.dev.yml @@ -8,3 +8,7 @@ services: mysql: ports: - 3306:3306 + + zipkin: + ports: + - 9411:9411 diff --git a/go/docker-compose.yml b/go/docker-compose.yml index 7cc068942..cdb41c997 100644 --- a/go/docker-compose.yml +++ b/go/docker-compose.yml @@ -38,6 +38,11 @@ services: MYSQL_USER: pathwar MYSQL_PASSWORD: uns3cur3 + zipkin: + image: openzipkin/zipkin-slim:latest + ports: + - 9411 + mailserver: image: mailhog/mailhog restart: unless-stopped diff --git a/go/gen.sum b/go/gen.sum index b0328913c..db43e00a6 100644 --- a/go/gen.sum +++ b/go/gen.sum @@ -1,8 +1,8 @@ -41c0e4276e1c586be7786abcf014d23c0137a978 ../api/errcode.proto +1da371a47e1149b84deb469bac7d090adb33485d Makefile 4362a2715e8c2053c4bec93585b01ca252dae2e7 ../api/pwagent.proto 70d67f1cebb3b7f9e86fd0197d43db4c1f795f65 ../api/pwinit.proto -8309c2fcf3f5ddcce75ec1491164562c3615b73c Makefile a45fa08c595709dd752f52ded4493ceb3a191de2 ../api/pwcompose.proto aa91d470259d4575fd1c2b2d340d32996e9992e1 ../api/pwdb.proto bad04556b7233d5c8ddbcc1a3b2bfd027b694bce ../api/pwsso.proto bdee305a46e55de7e3feea7cc54ff3a268e81651 ../api/pwapi.proto +d8879301fa7e69c62e2c5be32bc5103584e7e504 ../api/errcode.proto diff --git a/go/pkg/errcode/errcode.pb.go b/go/pkg/errcode/errcode.pb.go index 105f95c89..6c82a8a83 100644 --- a/go/pkg/errcode/errcode.pb.go +++ b/go/pkg/errcode/errcode.pb.go @@ -158,6 +158,7 @@ const ( ErrConfigureDB ErrCode = 6013 ErrInitSSOClient ErrCode = 6014 ErrInitService ErrCode = 6015 + ErrInitTracer ErrCode = 6016 ErrAgentGetContainersInfo ErrCode = 7001 ErrCheckNginxContainer ErrCode = 7002 ErrRemoveNginxContainer ErrCode = 7003 @@ -338,6 +339,7 @@ var ErrCode_name = map[int32]string{ 6013: "ErrConfigureDB", 6014: "ErrInitSSOClient", 6015: "ErrInitService", + 6016: "ErrInitTracer", 7001: "ErrAgentGetContainersInfo", 7002: "ErrCheckNginxContainer", 7003: "ErrRemoveNginxContainer", @@ -518,6 +520,7 @@ var ErrCode_value = map[string]int32{ "ErrConfigureDB": 6013, "ErrInitSSOClient": 6014, "ErrInitService": 6015, + "ErrInitTracer": 6016, "ErrAgentGetContainersInfo": 7001, "ErrCheckNginxContainer": 7002, "ErrRemoveNginxContainer": 7003, @@ -579,144 +582,145 @@ func init() { func init() { proto.RegisterFile("errcode.proto", fileDescriptor_4240057316120df7) } var fileDescriptor_4240057316120df7 = []byte{ - // 2215 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x58, 0x47, 0x73, 0x1c, 0xc7, - 0x15, 0x26, 0xab, 0x6c, 0xa1, 0x34, 0x36, 0x85, 0xa7, 0xa1, 0xc8, 0x95, 0x48, 0x09, 0xa3, 0x60, - 0x93, 0x2e, 0x87, 0xe5, 0xc1, 0x55, 0x5b, 0xe5, 0x0b, 0xaa, 0xb0, 0x01, 0xe0, 0x96, 0xc8, 0x05, - 0x0a, 0x0b, 0x88, 0x55, 0xbe, 0x35, 0x76, 0xde, 0xce, 0xb6, 0x31, 0xdb, 0x3d, 0xea, 0xe9, 0x41, - 0xf0, 0x3f, 0x90, 0x4f, 0x3e, 0xfb, 0xe6, 0x6c, 0xc9, 0x39, 0x5b, 0x54, 0xa4, 0x98, 0xa3, 0x98, - 0x94, 0x13, 0x45, 0xda, 0x96, 0x45, 0xe5, 0x60, 0x5b, 0xce, 0xae, 0xee, 0xe9, 0x9e, 0x9d, 0x59, - 0x80, 0xba, 0xed, 0xbe, 0xd4, 0xef, 0x7d, 0x2f, 0xf4, 0xeb, 0x71, 0x36, 0xa1, 0x10, 0x1d, 0xee, - 0x63, 0x39, 0x12, 0x5c, 0x72, 0x77, 0x34, 0x22, 0xb2, 0xb7, 0x4c, 0x44, 0xd9, 0x90, 0xb7, 0x7d, - 0x29, 0xa0, 0xb2, 0x97, 0x2c, 0x94, 0x3b, 0xbc, 0xbf, 0x2b, 0xe0, 0x01, 0xdf, 0xa5, 0xe5, 0x16, - 0x92, 0xae, 0xfe, 0xa7, 0xff, 0xe8, 0x5f, 0xa9, 0xfe, 0xe7, 0x8f, 0xef, 0x70, 0x46, 0x1a, 0x42, - 0xd4, 0xb8, 0x8f, 0xee, 0x26, 0xe7, 0xfa, 0x79, 0xe6, 0x63, 0x97, 0x32, 0xf4, 0x61, 0x83, 0x7b, - 0xbd, 0xf3, 0x89, 0xb9, 0xe9, 0xfa, 0x34, 0x7c, 0xeb, 0x93, 0xee, 0x56, 0xe7, 0xc6, 0x86, 0x10, - 0x2d, 0x2e, 0x9b, 0xfd, 0x28, 0xc4, 0x3e, 0x32, 0x89, 0x3e, 0xdc, 0x77, 0x9d, 0xeb, 0x3a, 0x9b, - 0x1a, 0x42, 0xd4, 0x31, 0x12, 0xd8, 0x21, 0x8a, 0xf6, 0xd1, 0x75, 0x2e, 0x38, 0x9f, 0x6a, 0x08, - 0xd1, 0x64, 0x12, 0x05, 0x23, 0x21, 0xbc, 0x36, 0xe2, 0x6e, 0x76, 0x46, 0x35, 0x65, 0x89, 0x84, - 0xd4, 0x6f, 0xb2, 0x28, 0x91, 0x80, 0x86, 0xb8, 0x97, 0xc6, 0x31, 0x65, 0x41, 0x4a, 0xec, 0xba, - 0x5b, 0x1d, 0xb7, 0x21, 0xc4, 0x3c, 0x23, 0x89, 0xec, 0x21, 0x93, 0x34, 0x35, 0x1a, 0xb8, 0x5b, - 0xf4, 0xf9, 0xb3, 0x18, 0x4b, 0x41, 0x3b, 0x12, 0xfd, 0x09, 0x81, 0x04, 0x7a, 0xe6, 0xf8, 0x76, - 0x7b, 0x7a, 0x0a, 0xe5, 0x74, 0xb3, 0x5e, 0x83, 0xd7, 0x47, 0xdc, 0xed, 0xce, 0xd6, 0x94, 0x66, - 0xce, 0x9b, 0x49, 0x16, 0x42, 0xda, 0xb9, 0x1b, 0x57, 0xe1, 0xea, 0x88, 0x7b, 0xbb, 0xb3, 0x3d, - 0x65, 0x4e, 0x12, 0x1a, 0xa2, 0x7f, 0x37, 0xae, 0x76, 0x42, 0x4e, 0x16, 0x67, 0xf1, 0xde, 0x04, - 0x63, 0x09, 0x6f, 0x8c, 0xb8, 0x77, 0x3a, 0xb7, 0x15, 0xd4, 0x07, 0x22, 0x71, 0xc4, 0x59, 0x8c, - 0xf0, 0xe6, 0x88, 0x7b, 0xa3, 0xf3, 0xe9, 0x54, 0x66, 0x0f, 0x0f, 0x78, 0x22, 0xe1, 0xad, 0x11, - 0xf7, 0x36, 0xe7, 0x66, 0xab, 0x46, 0xa5, 0xd5, 0xa9, 0x85, 0x14, 0x99, 0x84, 0xb7, 0x47, 0xdc, - 0x9b, 0x9d, 0xcd, 0x05, 0xab, 0x55, 0x24, 0x02, 0x05, 0xbc, 0x93, 0xe3, 0x58, 0xa5, 0x86, 0x10, - 0x5c, 0xc0, 0xbb, 0x23, 0x16, 0xdb, 0x6a, 0x8b, 0xcb, 0x49, 0x9e, 0x30, 0x1f, 0xce, 0x8d, 0x66, - 0xb4, 0x0c, 0xdd, 0xf3, 0xa3, 0x6e, 0x49, 0x63, 0x56, 0xaf, 0xce, 0x26, 0x6c, 0x2f, 0x0d, 0x04, - 0x91, 0x94, 0xb3, 0x18, 0x2e, 0x8c, 0xba, 0x37, 0x38, 0xd7, 0x1b, 0x61, 0x2a, 0xe1, 0xe2, 0xa8, - 0x71, 0xbb, 0x5e, 0xad, 0x71, 0xc6, 0xb0, 0x23, 0xe1, 0xa9, 0x51, 0x77, 0x8b, 0x03, 0x9a, 0x34, - 0x91, 0x48, 0x9e, 0x2a, 0x23, 0x3c, 0x3d, 0x30, 0x39, 0xe1, 0xfb, 0x93, 0x5c, 0x20, 0x0d, 0x98, - 0xc2, 0xef, 0x99, 0x51, 0x77, 0x9b, 0xb3, 0x45, 0x17, 0x4b, 0x3f, 0xe2, 0x31, 0x5a, 0x80, 0x89, - 0xec, 0xc1, 0x83, 0x25, 0x83, 0xad, 0xe1, 0xd5, 0xa9, 0xc0, 0x8e, 0xe4, 0x62, 0x35, 0xf3, 0x7e, - 0x7f, 0xc9, 0xbd, 0xc5, 0xb9, 0x69, 0x20, 0x31, 0x8b, 0xc4, 0xaf, 0x71, 0xd6, 0xa5, 0x01, 0x3c, - 0x54, 0x72, 0x6f, 0x75, 0x4a, 0x6b, 0x0c, 0x1b, 0xee, 0xc3, 0x43, 0xdc, 0xbd, 0x44, 0xc4, 0x3d, - 0x12, 0x1a, 0xee, 0x23, 0x25, 0x83, 0xbd, 0xe1, 0xd6, 0x04, 0x12, 0x89, 0x73, 0xd8, 0x8f, 0x26, - 0x69, 0x88, 0xf0, 0xe8, 0x90, 0xf2, 0x3e, 0x41, 0x73, 0xdc, 0xc7, 0x86, 0xb8, 0xb5, 0x90, 0xc7, - 0x03, 0xee, 0xe3, 0x25, 0xf7, 0x26, 0x5d, 0xa4, 0x86, 0x5b, 0x4d, 0x68, 0xe8, 0xc3, 0x81, 0x92, - 0xbb, 0x55, 0xa3, 0x96, 0x51, 0x99, 0x1f, 0x22, 0xec, 0xbf, 0xba, 0xd1, 0x74, 0x49, 0x2e, 0xbe, - 0x3a, 0x59, 0x80, 0x83, 0x25, 0x03, 0xa7, 0xa1, 0xcf, 0x10, 0x11, 0xa3, 0x62, 0x1c, 0x2a, 0x15, - 0xe1, 0xd4, 0x0c, 0x13, 0xd5, 0xe1, 0x61, 0xc7, 0xb2, 0xa8, 0xea, 0x54, 0xc0, 0x91, 0xa1, 0x98, - 0xe7, 0x23, 0x3f, 0x1f, 0xf3, 0xd1, 0xa1, 0x5c, 0x4c, 0x72, 0xd1, 0xc1, 0x59, 0xec, 0x68, 0x1b, - 0x75, 0xbe, 0xcc, 0xe0, 0x58, 0xc9, 0xd4, 0x9d, 0xf5, 0x35, 0x61, 0xe9, 0x09, 0x70, 0x7c, 0x28, - 0xe6, 0xd9, 0x84, 0xcd, 0x47, 0x70, 0xc2, 0xc6, 0x30, 0x85, 0x72, 0x66, 0x9f, 0xaa, 0xa7, 0x2a, - 0x65, 0x44, 0xac, 0xc2, 0x49, 0xeb, 0x89, 0xc6, 0x35, 0x65, 0x29, 0x1f, 0x76, 0x23, 0xf1, 0x51, - 0xc0, 0x29, 0xab, 0x37, 0xc4, 0x86, 0xd3, 0x25, 0xd7, 0x73, 0xb6, 0xa9, 0xfe, 0x4f, 0x93, 0x99, - 0xb2, 0xd2, 0xe0, 0xb5, 0xc0, 0x99, 0x92, 0x7b, 0x97, 0x33, 0x56, 0xd4, 0x1c, 0xb0, 0x8d, 0xf9, - 0x27, 0xd7, 0x39, 0x3d, 0x67, 0xe3, 0x6c, 0xc9, 0xbd, 0xc3, 0xb9, 0x75, 0x88, 0xad, 0x33, 0x4c, - 0x52, 0x92, 0x80, 0x73, 0x03, 0x24, 0xa3, 0xd5, 0x54, 0x62, 0x8e, 0xd7, 0x38, 0x93, 0x84, 0x32, - 0x14, 0x70, 0x7e, 0x08, 0xc9, 0x29, 0x94, 0x19, 0x33, 0x6e, 0xb2, 0x2e, 0x87, 0x0b, 0x25, 0x33, - 0x70, 0xcc, 0x20, 0x9b, 0x59, 0xa6, 0x99, 0x13, 0x70, 0xd1, 0x66, 0x71, 0x0a, 0xe5, 0x7c, 0x8c, - 0xa2, 0x59, 0x9f, 0x14, 0xbc, 0xaf, 0x2c, 0xe0, 0x8a, 0x84, 0x6f, 0x7b, 0x66, 0xd8, 0x18, 0xd5, - 0x5a, 0x8f, 0x84, 0x21, 0xb2, 0x00, 0xef, 0x51, 0xc5, 0xaf, 0xdb, 0x18, 0xbe, 0xe3, 0x99, 0x16, - 0x35, 0x2d, 0xd1, 0x46, 0x12, 0x73, 0x06, 0xdf, 0xf5, 0x0c, 0xae, 0x73, 0x48, 0xfa, 0x6a, 0x2a, - 0x33, 0xc3, 0xf8, 0x9e, 0x67, 0x1c, 0x56, 0x9e, 0x5a, 0x7b, 0xed, 0x64, 0x21, 0xee, 0x08, 0x1a, - 0x69, 0x8b, 0xdf, 0x1f, 0x58, 0xa4, 0xb2, 0xcd, 0xf8, 0x72, 0x37, 0x24, 0x8b, 0x08, 0x3f, 0xf0, - 0x0c, 0xde, 0x69, 0x2d, 0xad, 0xaf, 0xfb, 0x43, 0xcf, 0x00, 0x9a, 0x16, 0xcb, 0x7a, 0x0e, 0xff, - 0xc8, 0x73, 0xc7, 0x9c, 0x5b, 0x86, 0x1c, 0xc8, 0xf1, 0xef, 0xf7, 0xdc, 0xcd, 0xce, 0x0d, 0x83, - 0x80, 0x54, 0x00, 0xf0, 0x80, 0x45, 0x22, 0xd3, 0x98, 0x08, 0x05, 0x12, 0x7f, 0xd5, 0x9c, 0xbe, - 0x80, 0x3e, 0xfc, 0xd8, 0x3a, 0x38, 0x74, 0x76, 0xc1, 0xc1, 0x9f, 0x78, 0x66, 0xc6, 0x4c, 0x52, - 0xe6, 0x4f, 0x8b, 0x80, 0x30, 0xfa, 0x75, 0x33, 0x0f, 0x7f, 0xea, 0xb9, 0x9f, 0x71, 0xbc, 0xd4, - 0xb1, 0x14, 0x2c, 0x95, 0x8b, 0xf4, 0x57, 0x66, 0x0c, 0x7e, 0xe6, 0x99, 0x7a, 0x30, 0x19, 0x53, - 0xee, 0x0d, 0xe4, 0xe0, 0xe7, 0x16, 0xf7, 0x42, 0x3a, 0x9a, 0x75, 0xf8, 0x85, 0x0d, 0x5b, 0x29, - 0xed, 0x26, 0x71, 0x8b, 0x6b, 0x4d, 0x2e, 0x8c, 0xe2, 0x2f, 0x3d, 0x53, 0x26, 0xd9, 0xe9, 0xd9, - 0x99, 0x31, 0xfc, 0xca, 0x33, 0xa3, 0x39, 0x63, 0xc2, 0xaf, 0x3d, 0xd3, 0x86, 0xe9, 0xff, 0x3a, - 0x32, 0x8a, 0x3e, 0xfc, 0xc6, 0x33, 0x5d, 0x63, 0xe0, 0xd9, 0x4d, 0xe2, 0xe2, 0x31, 0xbf, 0xb5, - 0x6a, 0xb3, 0x18, 0xa3, 0x58, 0x42, 0xbf, 0x45, 0xfa, 0x08, 0xbf, 0xcb, 0xa0, 0xeb, 0x61, 0x67, - 0x31, 0x0f, 0xcb, 0x3c, 0xa3, 0xf7, 0x26, 0xa8, 0x85, 0x7e, 0xef, 0xd9, 0x69, 0xa4, 0xf1, 0xcd, - 0x4b, 0xc1, 0x1f, 0x3c, 0xf7, 0x0b, 0xce, 0x8e, 0x86, 0x10, 0x79, 0xea, 0xb5, 0x7c, 0x78, 0xd0, - 0x1b, 0xcc, 0x8a, 0x82, 0x95, 0xfd, 0xf6, 0x84, 0xb5, 0x18, 0xc0, 0x43, 0xf6, 0x84, 0x1a, 0x61, - 0x8c, 0x4b, 0x3b, 0xee, 0x52, 0xbb, 0x3c, 0xe4, 0x05, 0x43, 0x0f, 0xdb, 0x24, 0x29, 0xb0, 0x75, - 0xf5, 0x17, 0xd8, 0x8f, 0x78, 0xe6, 0x9a, 0x1c, 0x58, 0x81, 0x47, 0x3d, 0x77, 0xd4, 0x71, 0xd2, - 0xb3, 0x35, 0xe1, 0x31, 0xcf, 0xec, 0x29, 0x86, 0x10, 0xc3, 0xe3, 0x39, 0x11, 0x65, 0x18, 0x0e, - 0x58, 0x3b, 0x69, 0x4b, 0x68, 0xda, 0x13, 0x45, 0x9a, 0x36, 0x75, 0xd0, 0xc6, 0x95, 0xd2, 0x0a, - 0xbe, 0x1c, 0xb2, 0x05, 0xd9, 0xc2, 0x65, 0x65, 0x40, 0xf7, 0x7f, 0x48, 0x68, 0x3f, 0x86, 0xc3, - 0x36, 0x57, 0x0a, 0xa7, 0x89, 0x44, 0xf6, 0xf4, 0x01, 0x47, 0x3c, 0xf7, 0x8b, 0xce, 0x4e, 0x75, - 0xf9, 0xd2, 0x6e, 0x17, 0x05, 0x32, 0xed, 0x4b, 0x15, 0xe5, 0x32, 0x22, 0x9b, 0xe3, 0x8b, 0xc8, - 0x26, 0x98, 0x5f, 0x27, 0x92, 0x2c, 0x90, 0x18, 0xe1, 0xa8, 0xc5, 0x7a, 0x0f, 0x27, 0xbe, 0x12, - 0x4c, 0x71, 0x8d, 0xe1, 0x98, 0x57, 0x9c, 0x3c, 0xc5, 0x5e, 0x38, 0x6e, 0xa3, 0xc8, 0x32, 0x11, - 0xc3, 0x09, 0xcf, 0x5c, 0x09, 0x46, 0xa3, 0xaa, 0x9a, 0xef, 0x6b, 0x6a, 0x4d, 0x38, 0x69, 0xab, - 0xae, 0xd1, 0x27, 0x34, 0x9c, 0xf0, 0x7d, 0x81, 0x71, 0xdc, 0xe2, 0xf2, 0x1e, 0x14, 0xb4, 0xab, - 0xca, 0xf2, 0x54, 0x4e, 0xb5, 0x8e, 0x5d, 0x92, 0x84, 0xb6, 0x8c, 0x4f, 0x7b, 0x83, 0x8b, 0xaa, - 0x4f, 0xd3, 0x8e, 0x12, 0x84, 0xc5, 0xa4, 0xa3, 0xd1, 0x39, 0x53, 0x44, 0x6e, 0xa2, 0x23, 0xe9, - 0x12, 0x1a, 0xd5, 0x27, 0x6d, 0x47, 0xd9, 0xe9, 0x98, 0x4e, 0xcd, 0xbd, 0x28, 0x89, 0x4f, 0x24, - 0x81, 0xb3, 0x36, 0xf4, 0x16, 0xd7, 0xb0, 0xcc, 0x08, 0xbe, 0x44, 0x7d, 0xf4, 0xe1, 0x5c, 0xae, - 0xcc, 0x34, 0x67, 0x1f, 0x95, 0x3d, 0x83, 0xf9, 0x79, 0xeb, 0xa9, 0x51, 0x6a, 0x32, 0x3b, 0x8c, - 0x2f, 0xe4, 0x1b, 0x34, 0x0d, 0x5c, 0xe5, 0x4a, 0x4b, 0xc1, 0xc5, 0xdc, 0x54, 0xc8, 0x31, 0xad, - 0xee, 0x53, 0x76, 0x2c, 0x4e, 0xa1, 0xcc, 0xc7, 0xb0, 0x17, 0xfb, 0x0b, 0x28, 0xe2, 0x1e, 0x8d, - 0xe0, 0xe9, 0x9c, 0x79, 0x6d, 0x33, 0xaf, 0xff, 0x8c, 0x0d, 0x75, 0x78, 0xfc, 0xe9, 0xcb, 0xca, - 0x87, 0x67, 0x73, 0xb5, 0x3a, 0x11, 0xa8, 0x8d, 0xf2, 0x39, 0x3b, 0x31, 0xda, 0x64, 0x09, 0x53, - 0xd2, 0xf3, 0xd6, 0xc8, 0x1e, 0x1a, 0x0f, 0x26, 0x6f, 0x93, 0xc5, 0x92, 0xb0, 0x0e, 0xc6, 0xf0, - 0x82, 0x2d, 0xb7, 0xc1, 0x21, 0xbe, 0x0f, 0x2f, 0x7a, 0xee, 0xe7, 0x9c, 0xbb, 0x74, 0x82, 0x92, - 0x28, 0xeb, 0x69, 0x33, 0xaf, 0xd1, 0xaf, 0xae, 0xb6, 0x49, 0x3f, 0xad, 0xf2, 0x97, 0xec, 0xbd, - 0x91, 0x4a, 0x36, 0x56, 0x22, 0x2a, 0xd0, 0x87, 0x97, 0xbd, 0x6c, 0xeb, 0x51, 0xe4, 0x6c, 0xdb, - 0x7b, 0xc5, 0x16, 0x8d, 0xca, 0x79, 0x9d, 0xa3, 0x2a, 0x98, 0x2a, 0x86, 0x9c, 0x05, 0x73, 0x7a, - 0x34, 0xc2, 0xa5, 0xc1, 0x84, 0x13, 0x4b, 0xa8, 0xbd, 0x46, 0x06, 0xf7, 0xed, 0xb4, 0x9b, 0xb4, - 0xa6, 0xce, 0x62, 0xa0, 0xe8, 0x62, 0x8a, 0x48, 0x5c, 0x26, 0xab, 0xf0, 0x8d, 0x9d, 0xa6, 0x70, - 0xd5, 0xe5, 0xb5, 0x87, 0x07, 0x01, 0x0a, 0x78, 0xaf, 0x6c, 0x0d, 0x49, 0x22, 0xa4, 0xd2, 0xa3, - 0x1d, 0x84, 0xf7, 0xcb, 0x39, 0xc9, 0xd4, 0x18, 0x7c, 0x50, 0xb6, 0x93, 0x49, 0xf0, 0x24, 0x9a, - 0x43, 0xd1, 0xa7, 0x4c, 0xbf, 0x2f, 0x3e, 0x2c, 0xe7, 0xf2, 0xdb, 0x9e, 0x4e, 0xd7, 0x76, 0x95, - 0xa1, 0xc9, 0x90, 0x04, 0x31, 0xfc, 0xd5, 0x9e, 0x50, 0x4f, 0xfa, 0x51, 0xd6, 0x7b, 0x7f, 0x2b, - 0x0f, 0xa6, 0xb6, 0xda, 0xb1, 0xbb, 0x1c, 0xfe, 0x5e, 0x1e, 0xb4, 0x74, 0xbb, 0x3d, 0xbd, 0xaf, - 0xc7, 0x49, 0x9f, 0xc2, 0x47, 0x45, 0xaa, 0x79, 0x33, 0xfc, 0xa3, 0x48, 0x35, 0x05, 0xfa, 0xcf, - 0xb2, 0x29, 0x50, 0xe5, 0x76, 0x9d, 0x77, 0x16, 0x51, 0x98, 0x47, 0xc4, 0xbf, 0xca, 0x66, 0x9f, - 0xd7, 0x9c, 0x2a, 0xfc, 0xbb, 0x6c, 0x2e, 0xd2, 0x74, 0xd7, 0x48, 0x04, 0xd6, 0xab, 0xf0, 0x9f, - 0x72, 0xfe, 0x72, 0xb7, 0x91, 0xc0, 0x7f, 0xcb, 0xd9, 0xa5, 0x4b, 0x33, 0x84, 0xfe, 0x57, 0x36, - 0x05, 0xa3, 0xeb, 0x67, 0xed, 0x66, 0xf3, 0x5c, 0xc5, 0x94, 0xac, 0xbe, 0x35, 0x5a, 0x01, 0x65, - 0x2b, 0x83, 0xc5, 0xe8, 0xf9, 0x8a, 0x99, 0x2f, 0xb3, 0xd8, 0xe7, 0x4b, 0x38, 0xc4, 0x7d, 0xc1, - 0xaa, 0xea, 0x8d, 0x79, 0x88, 0xf9, 0xa2, 0x65, 0xea, 0x7c, 0x0d, 0x31, 0x5f, 0xaa, 0x98, 0x14, - 0xa9, 0x65, 0x98, 0xb2, 0x40, 0xed, 0xb4, 0xa1, 0xda, 0x4b, 0x5f, 0xae, 0xe4, 0x57, 0xbd, 0x35, - 0x9b, 0xe0, 0x2b, 0x95, 0xfc, 0xa2, 0x99, 0xdb, 0x01, 0x2f, 0x55, 0x6c, 0x7d, 0x16, 0x17, 0xbf, - 0x57, 0x2b, 0x76, 0xe5, 0xe0, 0xd1, 0xaa, 0x75, 0xa2, 0x4b, 0x83, 0xfc, 0xf6, 0x77, 0xb9, 0x62, - 0xfa, 0x5a, 0xf3, 0x5b, 0xb8, 0x9c, 0x8a, 0x68, 0x3c, 0xd2, 0xf7, 0x23, 0x5c, 0xa9, 0xb8, 0x3b, - 0x9c, 0x3b, 0xac, 0x48, 0x1b, 0x99, 0xaf, 0x26, 0x1d, 0x61, 0x7e, 0x51, 0x1a, 0xfe, 0x58, 0x71, - 0x77, 0x3a, 0x77, 0x7e, 0x9c, 0x5c, 0x0a, 0x24, 0xfc, 0xa9, 0xe2, 0x7e, 0xd6, 0xb9, 0x7d, 0x1d, - 0x41, 0x2b, 0x15, 0x85, 0xa4, 0x83, 0xf0, 0xe7, 0x8a, 0xd9, 0x66, 0x86, 0xc5, 0x66, 0x31, 0xe4, - 0xd9, 0xbb, 0xea, 0x35, 0x0b, 0xb5, 0x0d, 0x50, 0x3d, 0xfb, 0x5a, 0x28, 0x97, 0xb9, 0x58, 0x84, - 0xbf, 0x54, 0x4c, 0x87, 0x66, 0x01, 0x0f, 0x09, 0xbc, 0x6e, 0xa1, 0x6b, 0x11, 0x39, 0xc3, 0x85, - 0x9c, 0x8e, 0x90, 0x51, 0x16, 0xc0, 0xd5, 0x8a, 0xa9, 0xd1, 0x42, 0x76, 0xd5, 0x79, 0x6f, 0xd8, - 0x2c, 0x34, 0x56, 0xb0, 0x93, 0xa4, 0x2f, 0x12, 0x9d, 0xbd, 0x37, 0xed, 0x59, 0x1a, 0xfd, 0xea, - 0xaa, 0xc4, 0x78, 0x8e, 0xef, 0x26, 0x71, 0x4f, 0x9b, 0x40, 0x01, 0x6f, 0x55, 0xcc, 0xde, 0xaa, - 0x5e, 0x4d, 0x9a, 0xaf, 0xda, 0x2f, 0x2f, 0xf1, 0x76, 0x25, 0x1b, 0xeb, 0x0c, 0xd5, 0x3b, 0x75, - 0x46, 0x60, 0x97, 0xae, 0x28, 0x11, 0x78, 0xc7, 0x16, 0x47, 0x2d, 0x44, 0xc2, 0x66, 0xd2, 0x0f, - 0x22, 0x83, 0xd1, 0xf7, 0x6e, 0xbe, 0xa8, 0x70, 0xf0, 0x48, 0x80, 0xf7, 0x2a, 0xe6, 0x76, 0x9e, - 0x8f, 0x86, 0x94, 0xe0, 0xfd, 0x8a, 0x69, 0x99, 0xf4, 0x6a, 0xd2, 0x51, 0xc2, 0x07, 0x36, 0x72, - 0xdd, 0x32, 0x29, 0xa7, 0x2d, 0x55, 0x80, 0x1f, 0x56, 0x4c, 0x33, 0xa5, 0x3d, 0x3b, 0x31, 0xd3, - 0xcc, 0x50, 0x55, 0x93, 0x0d, 0x0e, 0x8c, 0x9b, 0xf8, 0xd6, 0xf2, 0x4d, 0xe2, 0x9f, 0x18, 0x37, - 0x1d, 0x95, 0x49, 0x34, 0xfb, 0x24, 0x40, 0xc3, 0x3d, 0x78, 0x6d, 0x7d, 0xf3, 0x70, 0x3b, 0x34, - 0x6e, 0x2a, 0x62, 0xad, 0x84, 0xca, 0x86, 0x91, 0x3a, 0xfc, 0xf1, 0x52, 0x13, 0x52, 0x92, 0x4e, - 0x0f, 0x8e, 0x8c, 0x9b, 0x85, 0x71, 0x7d, 0x29, 0xdd, 0xb8, 0x70, 0x74, 0xdc, 0x54, 0xea, 0xfa, - 0x42, 0x4d, 0x16, 0x47, 0x6a, 0x7b, 0x38, 0x36, 0x6e, 0xf2, 0x56, 0x8c, 0x6b, 0x26, 0x09, 0x43, - 0x38, 0x3e, 0x6e, 0xf2, 0x56, 0xe4, 0x59, 0xd5, 0x13, 0x6b, 0x20, 0x31, 0xa5, 0xa9, 0x21, 0x3d, - 0x39, 0x3e, 0x0c, 0xb9, 0xe1, 0x9a, 0x50, 0x4f, 0x5d, 0x8b, 0x6f, 0x20, 0x3d, 0x3d, 0x6e, 0x92, - 0x9f, 0xf1, 0x1b, 0x2b, 0xaa, 0x32, 0x7c, 0x84, 0x33, 0x96, 0x65, 0xea, 0x78, 0x9a, 0xa9, 0xa2, - 0xd9, 0xcd, 0xf9, 0x22, 0xdc, 0x3f, 0x69, 0x4a, 0x20, 0xb5, 0x92, 0x2b, 0xa6, 0x07, 0x26, 0xab, - 0x5f, 0x39, 0xfb, 0xea, 0xd8, 0x86, 0x63, 0x97, 0xc7, 0x36, 0x9e, 0xbd, 0x3c, 0xb6, 0xf1, 0xd2, - 0xe5, 0xb1, 0x8d, 0xdf, 0xbc, 0x32, 0xb6, 0xe1, 0xec, 0x95, 0xb1, 0x0d, 0xcf, 0x5e, 0x19, 0xdb, - 0xf0, 0xd5, 0xed, 0xf6, 0x4b, 0x5d, 0x48, 0x98, 0xbf, 0x2b, 0xe0, 0xbb, 0xa2, 0xc5, 0x60, 0x97, - 0xf9, 0x6a, 0xb7, 0x70, 0x9d, 0xfe, 0x1a, 0xf7, 0xe5, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x30, - 0x9d, 0x6b, 0x37, 0xde, 0x13, 0x00, 0x00, + // 2227 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x58, 0x49, 0x70, 0x1b, 0xc7, + 0xd5, 0x96, 0xaa, 0xfe, 0xdf, 0x2c, 0x4d, 0x22, 0xf3, 0x79, 0x64, 0x09, 0xb6, 0x64, 0x73, 0xbc, + 0x24, 0x52, 0x2a, 0x0b, 0x78, 0x48, 0x15, 0xaa, 0x72, 0x61, 0x15, 0x41, 0x80, 0x14, 0xca, 0x12, + 0xc8, 0x22, 0x48, 0xab, 0x2a, 0xb7, 0x26, 0xe6, 0x61, 0xd0, 0xe1, 0xa0, 0x7b, 0xdc, 0xd3, 0xc3, + 0x25, 0xa7, 0x5c, 0x9d, 0x53, 0xce, 0xb9, 0x65, 0x8f, 0x9d, 0x7d, 0x8f, 0xe5, 0x55, 0xd6, 0xbe, + 0x5a, 0x9b, 0x77, 0xcb, 0x96, 0xa5, 0x24, 0x8e, 0xe5, 0x7d, 0x49, 0xe2, 0xec, 0xa9, 0xee, 0xe9, + 0x1e, 0xcc, 0x80, 0x94, 0x6f, 0xc0, 0xdb, 0xfa, 0xbd, 0xef, 0x2d, 0xfd, 0x7a, 0x9c, 0xcd, 0x28, + 0x44, 0x9b, 0xfb, 0x58, 0x8e, 0x04, 0x97, 0xdc, 0x1d, 0x8e, 0x88, 0xec, 0x2e, 0x13, 0x51, 0x36, + 0xe4, 0xed, 0x5f, 0x08, 0xa8, 0xec, 0x26, 0x0b, 0xe5, 0x36, 0xef, 0x8d, 0x06, 0x3c, 0xe0, 0xa3, + 0x5a, 0x6e, 0x21, 0xe9, 0xe8, 0x7f, 0xfa, 0x8f, 0xfe, 0x95, 0xea, 0x7f, 0xf6, 0xd2, 0x4e, 0x67, + 0xa8, 0x2e, 0xc4, 0x04, 0xf7, 0xd1, 0xdd, 0xec, 0x6c, 0x9a, 0x67, 0x3e, 0x76, 0x28, 0x43, 0x1f, + 0x36, 0xb8, 0x9b, 0x9c, 0xff, 0x9b, 0x9b, 0xae, 0x4d, 0xc3, 0x37, 0xff, 0xdf, 0xdd, 0xe6, 0xdc, + 0x54, 0x17, 0xa2, 0xc9, 0x65, 0xa3, 0x17, 0x85, 0xd8, 0x43, 0x26, 0xd1, 0x87, 0xfb, 0x6f, 0x70, + 0x5d, 0x67, 0x73, 0x5d, 0x88, 0x1a, 0x46, 0x02, 0xdb, 0x44, 0xd1, 0x3e, 0xba, 0xc1, 0x05, 0xe7, + 0x13, 0x75, 0x21, 0x1a, 0x4c, 0xa2, 0x60, 0x24, 0x84, 0xd7, 0x86, 0xdc, 0x2d, 0xce, 0xb0, 0xa6, + 0x2c, 0x91, 0x90, 0xfa, 0x0d, 0x16, 0x25, 0x12, 0xd0, 0x10, 0xf7, 0xd2, 0x38, 0xa6, 0x2c, 0x48, + 0x89, 0x1d, 0x77, 0x9b, 0xe3, 0xd6, 0x85, 0x98, 0x67, 0x24, 0x91, 0x5d, 0x64, 0x92, 0xa6, 0x46, + 0x03, 0x77, 0xab, 0x3e, 0x7f, 0x16, 0x63, 0x29, 0x68, 0x5b, 0xa2, 0x3f, 0x2e, 0x90, 0x40, 0xd7, + 0x1c, 0xdf, 0x6a, 0x4d, 0x4f, 0xa1, 0x9c, 0x6e, 0xd4, 0x26, 0xe0, 0xf5, 0x21, 0x77, 0x87, 0xb3, + 0x2d, 0xa5, 0x99, 0xf3, 0x66, 0x92, 0x85, 0x90, 0xb6, 0xef, 0xc1, 0x55, 0xb8, 0x36, 0xe4, 0xde, + 0xe1, 0xec, 0x48, 0x99, 0x93, 0x84, 0x86, 0xe8, 0xdf, 0x83, 0xab, 0xed, 0x90, 0x93, 0xc5, 0x59, + 0xbc, 0x2f, 0xc1, 0x58, 0xc2, 0x1b, 0x43, 0xee, 0x5d, 0xce, 0xed, 0x05, 0xf5, 0xbe, 0x48, 0x1c, + 0x71, 0x16, 0x23, 0xbc, 0x39, 0xe4, 0xde, 0xe4, 0x7c, 0x32, 0x95, 0xd9, 0xc3, 0x03, 0x9e, 0x48, + 0x78, 0x6b, 0xc8, 0xbd, 0xdd, 0xb9, 0xc5, 0xaa, 0x51, 0x69, 0x75, 0x26, 0x42, 0x8a, 0x4c, 0xc2, + 0xdb, 0x43, 0xee, 0x2d, 0xce, 0x96, 0x82, 0xd5, 0x2a, 0x12, 0x81, 0x02, 0xde, 0xc9, 0x71, 0xac, + 0x52, 0x5d, 0x08, 0x2e, 0xe0, 0xdd, 0x21, 0x8b, 0x6d, 0xb5, 0xc9, 0xe5, 0x24, 0x4f, 0x98, 0x0f, + 0xe7, 0x86, 0x33, 0x5a, 0x86, 0xee, 0xf9, 0x61, 0xb7, 0xa4, 0x31, 0xab, 0x55, 0x67, 0x13, 0xb6, + 0x97, 0x06, 0x82, 0x48, 0xca, 0x59, 0x0c, 0x17, 0x86, 0xdd, 0x1b, 0x9d, 0x4d, 0x46, 0x98, 0x4a, + 0xb8, 0x38, 0x6c, 0xdc, 0xae, 0x55, 0x27, 0x38, 0x63, 0xd8, 0x96, 0xf0, 0xf4, 0xb0, 0xbb, 0xd5, + 0x01, 0x4d, 0x1a, 0x4f, 0x24, 0x4f, 0x95, 0x11, 0x9e, 0xe9, 0x9b, 0x1c, 0xf7, 0xfd, 0x49, 0x2e, + 0x90, 0x06, 0x4c, 0xe1, 0xf7, 0xec, 0xb0, 0xbb, 0xdd, 0xd9, 0xaa, 0x8b, 0xa5, 0x17, 0xf1, 0x18, + 0x2d, 0xc0, 0x44, 0x76, 0xe1, 0xa1, 0x92, 0xc1, 0xd6, 0xf0, 0x6a, 0x54, 0x60, 0x5b, 0x72, 0xb1, + 0x9a, 0x79, 0xbf, 0xbf, 0xe4, 0xde, 0xea, 0xdc, 0xdc, 0x97, 0x98, 0x45, 0xe2, 0x4f, 0x70, 0xd6, + 0xa1, 0x01, 0x3c, 0x5c, 0x72, 0x6f, 0x73, 0x4a, 0x6b, 0x0c, 0x1b, 0xee, 0x23, 0x03, 0xdc, 0xbd, + 0x44, 0xc4, 0x5d, 0x12, 0x1a, 0xee, 0xa3, 0x25, 0x83, 0xbd, 0xe1, 0x4e, 0x08, 0x24, 0x12, 0xe7, + 0xb0, 0x17, 0x4d, 0xd2, 0x10, 0xe1, 0xb1, 0x01, 0xe5, 0x7d, 0x82, 0xe6, 0xb8, 0x8f, 0x0f, 0x70, + 0x27, 0x42, 0x1e, 0xf7, 0xb9, 0x4f, 0x94, 0xdc, 0x9b, 0x75, 0x91, 0x1a, 0x6e, 0x35, 0xa1, 0xa1, + 0x0f, 0x07, 0x4a, 0xee, 0x36, 0x8d, 0x5a, 0x46, 0x65, 0x7e, 0x88, 0xb0, 0xff, 0xda, 0x46, 0xd3, + 0x25, 0xb9, 0xf8, 0x6a, 0x64, 0x01, 0x0e, 0x96, 0x0c, 0x9c, 0x86, 0x3e, 0x43, 0x44, 0x8c, 0x8a, + 0x71, 0xa8, 0x54, 0x84, 0x53, 0x33, 0x4c, 0x54, 0x87, 0x07, 0x1d, 0xcb, 0xa2, 0xaa, 0x51, 0x01, + 0x47, 0x06, 0x62, 0x9e, 0x8f, 0xfc, 0x7c, 0xcc, 0x47, 0x07, 0x72, 0x31, 0xc9, 0x45, 0x1b, 0x67, + 0xb1, 0xad, 0x6d, 0xd4, 0xf8, 0x32, 0x83, 0x63, 0x25, 0x53, 0x77, 0xd6, 0xd7, 0x84, 0xa5, 0x27, + 0xc0, 0xf1, 0x81, 0x98, 0x67, 0x13, 0x36, 0x1f, 0xc1, 0x09, 0x1b, 0xc3, 0x14, 0xca, 0x99, 0x7d, + 0xaa, 0x9e, 0xaa, 0x94, 0x11, 0xb1, 0x0a, 0x27, 0xad, 0x27, 0x1a, 0xd7, 0x94, 0xa5, 0x7c, 0xd8, + 0x8d, 0xc4, 0x47, 0x01, 0xa7, 0xac, 0xde, 0x00, 0x1b, 0x4e, 0x97, 0x5c, 0xcf, 0xd9, 0xae, 0xfa, + 0x3f, 0x4d, 0x66, 0xca, 0x4a, 0x83, 0xd7, 0x02, 0x67, 0x4a, 0xee, 0xdd, 0xce, 0x48, 0x51, 0xb3, + 0xcf, 0x36, 0xe6, 0x9f, 0x5a, 0xe7, 0xf4, 0x9c, 0x8d, 0xb3, 0x25, 0xf7, 0x4e, 0xe7, 0xb6, 0x01, + 0xb6, 0xce, 0x30, 0x49, 0x49, 0x02, 0xce, 0xf5, 0x91, 0x8c, 0x56, 0x53, 0x89, 0x39, 0x3e, 0xc1, + 0x99, 0x24, 0x94, 0xa1, 0x80, 0xf3, 0x03, 0x48, 0x4e, 0xa1, 0xcc, 0x98, 0x71, 0x83, 0x75, 0x38, + 0x5c, 0x28, 0x99, 0x81, 0x63, 0x06, 0xd9, 0xcc, 0x32, 0xcd, 0x9c, 0x80, 0x8b, 0x36, 0x8b, 0x53, + 0x28, 0xe7, 0x63, 0x14, 0x8d, 0xda, 0xa4, 0xe0, 0x3d, 0x65, 0x01, 0x57, 0x24, 0x7c, 0xcb, 0x33, + 0xc3, 0xc6, 0xa8, 0x4e, 0x74, 0x49, 0x18, 0x22, 0x0b, 0xf0, 0x5e, 0x55, 0xfc, 0xba, 0x8d, 0xe1, + 0xdb, 0x9e, 0x69, 0x51, 0xd3, 0x12, 0x2d, 0x24, 0x31, 0x67, 0xf0, 0x1d, 0xcf, 0xe0, 0x3a, 0x87, + 0xa4, 0xa7, 0xa6, 0x32, 0x33, 0x8c, 0xef, 0x7a, 0xc6, 0x61, 0xe5, 0xa9, 0xb5, 0xd7, 0x4a, 0x16, + 0xe2, 0xb6, 0xa0, 0x91, 0xb6, 0xf8, 0xbd, 0xbe, 0x45, 0x2a, 0x5b, 0x8c, 0x2f, 0x77, 0x42, 0xb2, + 0x88, 0xf0, 0x7d, 0xcf, 0xe0, 0x9d, 0xd6, 0xd2, 0xfa, 0xba, 0x3f, 0xf0, 0x0c, 0xa0, 0x69, 0xb1, + 0xac, 0xe7, 0xf0, 0x0f, 0x3d, 0x77, 0xc4, 0xb9, 0x75, 0xc0, 0x81, 0x1c, 0xff, 0x01, 0xcf, 0xdd, + 0xe2, 0xdc, 0xd8, 0x0f, 0x48, 0x05, 0x00, 0x0f, 0x5a, 0x24, 0x32, 0x8d, 0xf1, 0x50, 0x20, 0xf1, + 0x57, 0xcd, 0xe9, 0x0b, 0xe8, 0xc3, 0x8f, 0xac, 0x83, 0x03, 0x67, 0x17, 0x1c, 0xfc, 0xb1, 0x67, + 0x66, 0xcc, 0x24, 0x65, 0xfe, 0xb4, 0x08, 0x08, 0xa3, 0x5f, 0x35, 0xf3, 0xf0, 0x27, 0x9e, 0xfb, + 0x29, 0xc7, 0x4b, 0x1d, 0x4b, 0xc1, 0x52, 0xb9, 0x48, 0x7f, 0x65, 0xc6, 0xe0, 0xa7, 0x9e, 0xa9, + 0x07, 0x93, 0x31, 0xe5, 0x5e, 0x5f, 0x0e, 0x7e, 0x66, 0x71, 0x2f, 0xa4, 0xa3, 0x51, 0x83, 0x9f, + 0xdb, 0xb0, 0x95, 0xd2, 0x6e, 0x12, 0x37, 0xb9, 0xd6, 0xe4, 0xc2, 0x28, 0xfe, 0xc2, 0x33, 0x65, + 0x92, 0x9d, 0x9e, 0x9d, 0x19, 0xc3, 0x2f, 0x3d, 0x33, 0x9a, 0x33, 0x26, 0xfc, 0xca, 0x33, 0x6d, + 0x98, 0xfe, 0xaf, 0x21, 0xa3, 0xe8, 0xc3, 0xaf, 0x3d, 0xd3, 0x35, 0x06, 0x9e, 0xdd, 0x24, 0x2e, + 0x1e, 0xf3, 0x1b, 0xab, 0x36, 0x8b, 0x31, 0x8a, 0x25, 0xf4, 0x9b, 0xa4, 0x87, 0xf0, 0xdb, 0x0c, + 0xba, 0x2e, 0xb6, 0x17, 0xf3, 0xb0, 0xcc, 0x33, 0x7a, 0x5f, 0x82, 0x5a, 0xe8, 0x77, 0x9e, 0x9d, + 0x46, 0x1a, 0xdf, 0xbc, 0x14, 0xfc, 0xde, 0x73, 0x3f, 0xe7, 0xec, 0xac, 0x0b, 0x91, 0xa7, 0x5e, + 0xcf, 0x87, 0x87, 0xbc, 0xfe, 0xac, 0x28, 0x58, 0xd9, 0x6f, 0x4f, 0x58, 0x8b, 0x01, 0x3c, 0x6c, + 0x4f, 0x98, 0x20, 0x8c, 0x71, 0x69, 0xc7, 0x5d, 0x6a, 0x97, 0x87, 0xbc, 0x60, 0xe8, 0x11, 0x9b, + 0x24, 0x05, 0xb6, 0xae, 0xfe, 0x02, 0xfb, 0x51, 0xcf, 0x5c, 0x93, 0x7d, 0x2b, 0xf0, 0x98, 0xe7, + 0x0e, 0x3b, 0x4e, 0x7a, 0xb6, 0x26, 0x3c, 0xee, 0x99, 0x3d, 0xc5, 0x10, 0x62, 0x78, 0x22, 0x27, + 0xa2, 0x0c, 0xc3, 0x01, 0x6b, 0x27, 0x6d, 0x09, 0x4d, 0x7b, 0xb2, 0x48, 0xd3, 0xa6, 0x0e, 0xda, + 0xb8, 0x52, 0x5a, 0xc1, 0x97, 0x43, 0xb6, 0x20, 0x9b, 0xb8, 0xac, 0x0c, 0xe8, 0xfe, 0x0f, 0x09, + 0xed, 0xc5, 0x70, 0xd8, 0xe6, 0x4a, 0xe1, 0x34, 0x9e, 0xc8, 0xae, 0x3e, 0xe0, 0x88, 0xe7, 0x7e, + 0xde, 0xd9, 0xa5, 0x2e, 0x5f, 0xda, 0xe9, 0xa0, 0x40, 0xa6, 0x7d, 0xa9, 0xa2, 0x5c, 0x46, 0x64, + 0x73, 0x7c, 0x11, 0xd9, 0x38, 0xf3, 0x6b, 0x44, 0x92, 0x05, 0x12, 0x23, 0x1c, 0xb5, 0x58, 0xef, + 0xe1, 0xc4, 0x57, 0x82, 0x29, 0xae, 0x31, 0x1c, 0xf3, 0x8a, 0x93, 0xa7, 0xd8, 0x0b, 0xc7, 0x6d, + 0x14, 0x59, 0x26, 0x62, 0x38, 0xe1, 0x99, 0x2b, 0xc1, 0x68, 0x54, 0x55, 0xf3, 0x7d, 0x45, 0xad, + 0x09, 0x27, 0x6d, 0xd5, 0xd5, 0x7b, 0x84, 0x86, 0xe3, 0xbe, 0x2f, 0x30, 0x8e, 0x9b, 0x5c, 0xde, + 0x8b, 0x82, 0x76, 0x54, 0x59, 0x9e, 0xca, 0xa9, 0xd6, 0xb0, 0x43, 0x92, 0xd0, 0x96, 0xf1, 0x69, + 0xaf, 0x7f, 0x51, 0xf5, 0x68, 0xda, 0x51, 0x82, 0xb0, 0x98, 0xb4, 0x35, 0x3a, 0x67, 0x8a, 0xc8, + 0x8d, 0xb7, 0x25, 0x5d, 0x42, 0xa3, 0xfa, 0x94, 0xed, 0x28, 0x3b, 0x1d, 0xd3, 0xa9, 0xb9, 0x17, + 0x25, 0xf1, 0x89, 0x24, 0x70, 0xd6, 0x86, 0xde, 0xe4, 0x1a, 0x96, 0x19, 0xc1, 0x97, 0xa8, 0x8f, + 0x3e, 0x9c, 0xcb, 0x95, 0x99, 0xe6, 0xec, 0xa3, 0xb2, 0x6b, 0x30, 0x3f, 0x6f, 0x3d, 0x35, 0x4a, + 0x0d, 0x66, 0x87, 0xf1, 0x85, 0x7c, 0x83, 0xa6, 0x81, 0xab, 0x5c, 0x69, 0x29, 0xb8, 0x98, 0x9b, + 0x0a, 0x39, 0xa6, 0xd5, 0x7d, 0xda, 0x8e, 0xc5, 0x29, 0x94, 0xf9, 0x18, 0xf6, 0x62, 0x6f, 0x01, + 0x45, 0xdc, 0xa5, 0x11, 0x3c, 0x93, 0x33, 0xaf, 0x6d, 0xe6, 0xf5, 0x9f, 0xb5, 0xa1, 0x0e, 0x8e, + 0x3f, 0x7d, 0x59, 0xf9, 0xf0, 0x5c, 0xae, 0x56, 0xc7, 0x03, 0xb5, 0x51, 0x3e, 0x6f, 0x27, 0x46, + 0x8b, 0x2c, 0x61, 0x4a, 0x7a, 0xc1, 0x1a, 0xd9, 0x43, 0xe3, 0xfe, 0xe4, 0x6d, 0xb0, 0x58, 0x12, + 0xd6, 0xc6, 0x18, 0x5e, 0xb4, 0xe5, 0xd6, 0x3f, 0xc4, 0xf7, 0xe1, 0x25, 0xcf, 0xfd, 0x8c, 0x73, + 0xb7, 0x4e, 0x50, 0x12, 0x65, 0x3d, 0x6d, 0xe6, 0x35, 0xfa, 0xd5, 0xd5, 0x16, 0xe9, 0xa5, 0x55, + 0x7e, 0xc9, 0xde, 0x1b, 0xa9, 0x64, 0x7d, 0x25, 0xa2, 0x02, 0x7d, 0x78, 0xd9, 0xcb, 0xb6, 0x1e, + 0x45, 0xce, 0xb6, 0xbd, 0x57, 0x6c, 0xd1, 0xa8, 0x9c, 0xd7, 0x38, 0xaa, 0x82, 0xa9, 0x62, 0xc8, + 0x59, 0x30, 0xa7, 0x47, 0x23, 0x5c, 0xee, 0x4f, 0x38, 0xb1, 0x84, 0xda, 0x6b, 0x64, 0x70, 0xff, + 0x2e, 0xbb, 0x49, 0x6b, 0xea, 0x2c, 0x06, 0x8a, 0x2e, 0xa6, 0x88, 0xc4, 0x65, 0xb2, 0x0a, 0x5f, + 0xdf, 0x65, 0x0a, 0x57, 0x5d, 0x5e, 0x7b, 0x78, 0x10, 0xa0, 0x80, 0xf7, 0xca, 0xd6, 0x90, 0x24, + 0x42, 0x2a, 0x3d, 0xda, 0x46, 0x78, 0xbf, 0x9c, 0x93, 0x4c, 0x8d, 0xc1, 0x07, 0x65, 0x3b, 0x99, + 0x04, 0x4f, 0xa2, 0x39, 0x14, 0x3d, 0xca, 0xf4, 0xfb, 0xe2, 0xc3, 0x72, 0x2e, 0xbf, 0xad, 0xe9, + 0x74, 0x6d, 0x57, 0x19, 0x9a, 0x0c, 0x49, 0x10, 0xc3, 0x5f, 0xec, 0x09, 0xb5, 0xa4, 0x17, 0x65, + 0xbd, 0xf7, 0xd7, 0x72, 0x7f, 0x6a, 0xab, 0x1d, 0xbb, 0xc3, 0xe1, 0x6f, 0xe5, 0x7e, 0x4b, 0xb7, + 0x5a, 0xd3, 0xfb, 0xba, 0x9c, 0xf4, 0x28, 0x7c, 0x54, 0xa4, 0x9a, 0x37, 0xc3, 0xdf, 0x8b, 0x54, + 0x53, 0xa0, 0xff, 0x28, 0x9b, 0x02, 0x55, 0x6e, 0xd7, 0x78, 0x7b, 0x11, 0x85, 0x79, 0x44, 0xfc, + 0xb3, 0x6c, 0xf6, 0x79, 0xcd, 0xa9, 0xc2, 0xbf, 0xca, 0xe6, 0x22, 0x4d, 0x77, 0x8d, 0x44, 0x60, + 0xad, 0x0a, 0xff, 0x2e, 0xe7, 0x2f, 0x77, 0x1b, 0x09, 0xfc, 0xa7, 0x9c, 0x5d, 0xba, 0x34, 0x43, + 0xe8, 0xbf, 0x79, 0x84, 0xe6, 0x04, 0x69, 0xa3, 0x80, 0xaf, 0x8d, 0x9a, 0x22, 0xd2, 0x35, 0xb5, + 0x76, 0xdb, 0x79, 0xbe, 0x62, 0xca, 0x58, 0xdf, 0x24, 0xcd, 0x80, 0xb2, 0x95, 0xfe, 0xb2, 0xf4, + 0x42, 0xc5, 0xcc, 0x9c, 0x59, 0xec, 0xf1, 0x25, 0x1c, 0xe0, 0xbe, 0x68, 0x55, 0xf5, 0x16, 0x3d, + 0xc0, 0x7c, 0xc9, 0x32, 0x75, 0x0e, 0x07, 0x98, 0x97, 0x2a, 0x26, 0x6d, 0x6a, 0x41, 0xa6, 0x2c, + 0x50, 0x7b, 0x6e, 0xa8, 0x76, 0xd5, 0x97, 0x2b, 0xf9, 0xf5, 0x6f, 0xcd, 0x76, 0xf8, 0x4a, 0x25, + 0xbf, 0x7c, 0xe6, 0xf6, 0xc2, 0xcb, 0x15, 0x5b, 0xb3, 0xc5, 0x65, 0xf0, 0xd5, 0x8a, 0x5d, 0x43, + 0x78, 0xb4, 0x6a, 0x9d, 0xe8, 0xd0, 0x20, 0xbf, 0x11, 0x5e, 0xa9, 0x98, 0x5e, 0xd7, 0xfc, 0x26, + 0x2e, 0xa7, 0x22, 0x1a, 0x8f, 0xf4, 0x4d, 0x09, 0x57, 0x2b, 0xee, 0x4e, 0xe7, 0x4e, 0x2b, 0xd2, + 0x42, 0xe6, 0xab, 0xe9, 0x47, 0x98, 0x5f, 0x94, 0x86, 0x3f, 0x54, 0xdc, 0x5d, 0xce, 0x5d, 0x1f, + 0x27, 0x97, 0x02, 0x09, 0x7f, 0xac, 0xb8, 0x9f, 0x76, 0xee, 0x58, 0x47, 0xd0, 0x4a, 0x45, 0x21, + 0x69, 0x23, 0xfc, 0xa9, 0x62, 0x36, 0x9c, 0x41, 0xb1, 0x59, 0x0c, 0x79, 0xf6, 0xd6, 0x7a, 0xcd, + 0x42, 0x6d, 0x03, 0x54, 0x4f, 0xc1, 0x26, 0xca, 0x65, 0x2e, 0x16, 0xe1, 0xcf, 0x15, 0xd3, 0xb5, + 0x59, 0xc0, 0x03, 0x02, 0xaf, 0x5b, 0xe8, 0x9a, 0x44, 0xce, 0x70, 0x21, 0xa7, 0x23, 0x64, 0x94, + 0x05, 0x70, 0xad, 0x62, 0xea, 0xb6, 0x90, 0x5d, 0x75, 0xde, 0x1b, 0x36, 0x0b, 0xf5, 0x15, 0x6c, + 0x27, 0xe9, 0x2b, 0x45, 0x67, 0xef, 0x4d, 0x7b, 0x96, 0x46, 0xbf, 0xba, 0x2a, 0x31, 0x9e, 0xe3, + 0xbb, 0x49, 0xdc, 0xd5, 0x26, 0x50, 0xc0, 0x5b, 0x15, 0xb3, 0xcb, 0xaa, 0x97, 0x94, 0xe6, 0xab, + 0x96, 0xcc, 0x4b, 0xbc, 0x5d, 0xc9, 0x46, 0x3d, 0x43, 0xf5, 0x76, 0x9d, 0x11, 0xd8, 0xa1, 0x2b, + 0x4a, 0x04, 0xde, 0xb1, 0xc5, 0x31, 0x11, 0x22, 0x61, 0x33, 0xe9, 0x47, 0x92, 0xfe, 0x38, 0x7c, + 0x37, 0x5f, 0x54, 0xd8, 0x7f, 0x38, 0xc0, 0x7b, 0x15, 0x73, 0x63, 0xcf, 0x47, 0x03, 0x4a, 0xf0, + 0x7e, 0xc5, 0xb4, 0x51, 0x7a, 0x5d, 0xe9, 0x28, 0xe1, 0x03, 0x1b, 0xb9, 0x6e, 0x99, 0x94, 0xd3, + 0x92, 0x2a, 0xc0, 0x0f, 0x2b, 0xa6, 0x99, 0xd2, 0x3e, 0x1e, 0x9f, 0x69, 0x64, 0xa8, 0xaa, 0x69, + 0x07, 0x07, 0xc6, 0x4c, 0x7c, 0x6b, 0xf9, 0x26, 0xf1, 0x4f, 0x8e, 0x99, 0x8e, 0xca, 0x24, 0x1a, + 0x3d, 0x12, 0xa0, 0xe1, 0x1e, 0xbc, 0xbe, 0xbe, 0x79, 0xcc, 0x1d, 0x1a, 0x33, 0x15, 0xb1, 0x56, + 0x42, 0x65, 0xc3, 0x48, 0x1d, 0xfe, 0x78, 0xa9, 0x71, 0x29, 0x49, 0xbb, 0x0b, 0x47, 0xc6, 0xcc, + 0x12, 0xb9, 0xbe, 0x94, 0x6e, 0x5c, 0x38, 0x3a, 0x66, 0x2a, 0x75, 0x7d, 0xa1, 0x06, 0x8b, 0x23, + 0xb5, 0x51, 0x1c, 0x1b, 0x33, 0x79, 0x2b, 0xc6, 0x35, 0x93, 0x84, 0x21, 0x1c, 0x1f, 0x33, 0x79, + 0x2b, 0xf2, 0xac, 0xea, 0x89, 0x35, 0x90, 0x98, 0xd2, 0xd4, 0x90, 0x9e, 0x1c, 0x1b, 0x84, 0xdc, + 0x70, 0x4d, 0xa8, 0xa7, 0xae, 0xc7, 0x37, 0x90, 0x9e, 0x1e, 0x33, 0xc9, 0xcf, 0xf8, 0xf5, 0x15, + 0x55, 0x19, 0x3e, 0xc2, 0x19, 0xcb, 0x32, 0x75, 0x3c, 0xcd, 0x54, 0xd1, 0xec, 0xe6, 0x7c, 0x11, + 0x1e, 0x98, 0x34, 0x25, 0x90, 0x5a, 0xc9, 0x15, 0xd3, 0x83, 0x93, 0xd5, 0x2f, 0x9d, 0x7d, 0x75, + 0x64, 0xc3, 0xb1, 0x2b, 0x23, 0x1b, 0xcf, 0x5e, 0x19, 0xd9, 0x78, 0xf9, 0xca, 0xc8, 0xc6, 0x6f, + 0x5c, 0x1d, 0xd9, 0x70, 0xf6, 0xea, 0xc8, 0x86, 0xe7, 0xae, 0x8e, 0x6c, 0xf8, 0xf2, 0x0e, 0xfb, + 0xf5, 0x2e, 0x24, 0xcc, 0x1f, 0x0d, 0xf8, 0x68, 0xb4, 0x18, 0x8c, 0x9a, 0x2f, 0x79, 0x0b, 0x37, + 0xe8, 0x2f, 0x74, 0x5f, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x45, 0xfc, 0x2e, 0xb7, 0xf2, + 0x13, 0x00, 0x00, } diff --git a/go/pkg/pwagent/nginx.go b/go/pkg/pwagent/nginx.go index e69d8ebd9..b0ca1d8b7 100644 --- a/go/pkg/pwagent/nginx.go +++ b/go/pkg/pwagent/nginx.go @@ -20,7 +20,6 @@ import ( "github.com/moby/moby/pkg/stdcopy" "go.uber.org/zap" "golang.org/x/crypto/sha3" - "moul.io/godev" "pathwar.land/v2/go/pkg/errcode" "pathwar.land/v2/go/pkg/pwapi" "pathwar.land/v2/go/pkg/pwcompose" @@ -49,9 +48,9 @@ func applyNginxConfig(ctx context.Context, apiInstances *pwapi.AgentListInstance if err != nil { return errcode.TODO.Wrap(err) } - if logger.Check(zap.DebugLevel, "") != nil { + /*if logger.Check(zap.DebugLevel, "") != nil { fmt.Fprintln(os.Stderr, "config", godev.PrettyJSON(config)) - } + }*/ // configure nginx binary buf, err := buildNginxConfigTar(config, logger) @@ -77,7 +76,7 @@ func applyNginxConfig(ctx context.Context, apiInstances *pwapi.AgentListInstance if err != nil { return errcode.ErrNginxSendCommandReloadConfig.Wrap(err) } - if logger.Check(zap.DebugLevel, "") != nil { + /*if logger.Check(zap.DebugLevel, "") != nil { for _, upstream := range config.Upstreams { fmt.Fprintf(os.Stderr, "- %s\n", upstream.Name) for _, hash := range upstream.Hashes { @@ -85,7 +84,7 @@ func applyNginxConfig(ctx context.Context, apiInstances *pwapi.AgentListInstance } } - } + }*/ return nil } @@ -236,9 +235,9 @@ func buildNginxConfigTar(config *nginxConfig, logger *zap.Logger) (*bytes.Buffer } configBytes := configBuf.Bytes() - if logger.Check(zap.DebugLevel, "") != nil { + /* if logger.Check(zap.DebugLevel, "") != nil { fmt.Fprintln(os.Stderr, string(configBytes)) - } + }*/ var buf bytes.Buffer tw := tar.NewWriter(&buf) diff --git a/go/pkg/pwagent/update.go b/go/pkg/pwagent/update.go index 6be699fdb..05cac1b19 100644 --- a/go/pkg/pwagent/update.go +++ b/go/pkg/pwagent/update.go @@ -5,7 +5,6 @@ import ( "fmt" "github.com/docker/docker/client" - "moul.io/godev" "pathwar.land/v2/go/pkg/errcode" "pathwar.land/v2/go/pkg/pwapi" "pathwar.land/v2/go/pkg/pwcompose" @@ -41,7 +40,10 @@ func updateAPIState(ctx context.Context, apiInstances *pwapi.AgentListInstances_ // FIXME: update state only if it changed input := pwapi.AgentUpdateState_Input{Instances: apiInstances.Instances} - fmt.Println(godev.PrettyJSONPB(&input)) + //if logger.Check(zap.DebugLevel, "") != nil { + // fmt.Println(godev.PrettyJSONPB(&input)) + //} + if _, err := apiClient.AgentUpdateState(&input); err != nil { return errcode.TODO.Wrap(err) } diff --git a/go/pkg/pwapi/api_agent-update-state.go b/go/pkg/pwapi/api_agent-update-state.go index 1879fae47..03734a848 100644 --- a/go/pkg/pwapi/api_agent-update-state.go +++ b/go/pkg/pwapi/api_agent-update-state.go @@ -21,5 +21,6 @@ func (svc *service) AgentUpdateState(ctx context.Context, in *AgentUpdateState_I } } - return nil, errcode.ErrNotImplemented + ret := &AgentUpdateState_Output{} + return ret, nil } diff --git a/go/pkg/pwapi/server.go b/go/pkg/pwapi/server.go index 106ea8113..e5d586152 100644 --- a/go/pkg/pwapi/server.go +++ b/go/pkg/pwapi/server.go @@ -16,8 +16,11 @@ import ( grpc_auth "github.com/grpc-ecosystem/go-grpc-middleware/auth" grpc_zap "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap" grpc_recovery "github.com/grpc-ecosystem/go-grpc-middleware/recovery" + grpc_opentracing "github.com/grpc-ecosystem/go-grpc-middleware/tracing/opentracing" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/oklog/run" + opentracing "github.com/opentracing/opentracing-go" + "github.com/opentracing/opentracing-go/ext" "github.com/rs/cors" "github.com/soheilhy/cmux" chilogger "github.com/treastech/logger" @@ -133,6 +136,7 @@ type ServerOpts struct { RequestTimeout time.Duration ShutdownTimeout time.Duration WithPprof bool + Tracer opentracing.Tracer } func (s *Server) Run() error { @@ -157,18 +161,28 @@ func grpcServer(svc Service, opts ServerOpts) (*grpc.Server, error) { } serverStreamOpts := []grpc.StreamServerInterceptor{ grpc_recovery.StreamServerInterceptor(), + } + serverUnaryOpts := []grpc.UnaryServerInterceptor{ + grpc_recovery.UnaryServerInterceptor(), + } + if opts.Tracer != nil { + tracingOpts := []grpc_opentracing.Option{grpc_opentracing.WithTracer(opts.Tracer)} + serverStreamOpts = append(serverStreamOpts, grpc_opentracing.StreamServerInterceptor(tracingOpts...)) + serverUnaryOpts = append(serverUnaryOpts, grpc_opentracing.UnaryServerInterceptor(tracingOpts...)) + } + serverStreamOpts = append(serverStreamOpts, grpc_auth.StreamServerInterceptor(authFunc), //grpc_ctxtags.StreamServerInterceptor(), grpc_zap.StreamServerInterceptor(logger), grpc_recovery.StreamServerInterceptor(), - } - serverUnaryOpts := []grpc.UnaryServerInterceptor{ - grpc_recovery.UnaryServerInterceptor(), + ) + serverUnaryOpts = append( + serverUnaryOpts, grpc_auth.UnaryServerInterceptor(authFunc), //grpc_ctxtags.UnaryServerInterceptor(), grpc_zap.UnaryServerInterceptor(logger), grpc_recovery.UnaryServerInterceptor(), - } + ) grpcServer := grpc.NewServer( grpc.StreamInterceptor(grpc_middleware.ChainStreamServer(serverStreamOpts...)), grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(serverUnaryOpts...)), @@ -195,19 +209,56 @@ func httpServer(ctx context.Context, serverListenerAddr string, opts ServerOpts) r.Use(middleware.Timeout(opts.RequestTimeout)) r.Use(middleware.RealIP) r.Use(middleware.RequestID) - gwmux := runtime.NewServeMux( + + runtimeMux := runtime.NewServeMux( runtime.WithMarshalerOption(runtime.MIMEWildcard, &gateway.JSONPb{ EmitDefaults: false, Indent: " ", OrigName: true, }), runtime.WithProtoErrorHandler(runtime.DefaultHTTPProtoErrorHandler), + runtime.WithIncomingHeaderMatcher(incomingHeaderMatcherFunc), ) - grpcOpts := []grpc.DialOption{grpc.WithInsecure()} - err := RegisterServiceHandlerFromEndpoint(ctx, gwmux, serverListenerAddr, grpcOpts) + var gwmux http.Handler = runtimeMux + dialOpts := []grpc.DialOption{grpc.WithInsecure()} + if opts.Tracer != nil { + var grpcGatewayTag = opentracing.Tag{Key: string(ext.Component), Value: "grpc-gateway"} + tracingWrapper := func(h http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + parentSpanContext, err := opts.Tracer.Extract( + opentracing.HTTPHeaders, + opentracing.HTTPHeadersCarrier(r.Header), + ) + if err == nil || err == opentracing.ErrSpanContextNotFound { + serverSpan := opts.Tracer.StartSpan( + "ServeHTTP", + ext.RPCServerOption(parentSpanContext), + grpcGatewayTag, + ) + r = r.WithContext(opentracing.ContextWithSpan(r.Context(), serverSpan)) + defer serverSpan.Finish() + } + fmt.Println(r.Context()) + h.ServeHTTP(w, r) + }) + } + gwmux = tracingWrapper(gwmux) + + dialOpts = append(dialOpts, + grpc.WithStreamInterceptor( + grpc_opentracing.StreamClientInterceptor( + grpc_opentracing.WithTracer(opts.Tracer))), + grpc.WithUnaryInterceptor( + grpc_opentracing.UnaryClientInterceptor( + grpc_opentracing.WithTracer(opts.Tracer))), + ) + } + + err := RegisterServiceHandlerFromEndpoint(ctx, runtimeMux, serverListenerAddr, dialOpts) if err != nil { return nil, errcode.ErrServerRegisterGateway.Wrap(err) } + r.Mount("/", gwmux) if opts.WithPprof { r.HandleFunc("/debug/pprof/*", pprof.Index) diff --git a/go/pkg/pwapi/tracing.go b/go/pkg/pwapi/tracing.go new file mode 100644 index 000000000..094aff2fd --- /dev/null +++ b/go/pkg/pwapi/tracing.go @@ -0,0 +1,36 @@ +package pwapi + +import ( + "strings" + + "github.com/grpc-ecosystem/grpc-gateway/runtime" +) + +var ( + // trace header to propagate. + traceHeaders = []string{ + "x-ot-span-context", + "x-request-id", + + // Zipkin headers + "b3", + "x-b3-traceid", + "x-b3-spanid", + "x-b3-parentspanid", + "x-b3-sampled", + "X-b3-flags", + + // Jaeger header (for native client) + "uber-trace-id", + } +) + +func incomingHeaderMatcherFunc(key string) (string, bool) { + k := strings.ToLower(key) + for _, v := range traceHeaders { + if v == k { + return key, true + } + } + return runtime.DefaultHeaderMatcher(key) +}