diff --git a/docs/docs/ref/proto.md b/docs/docs/ref/proto.md index c790560004..df4dac507d 100644 --- a/docs/docs/ref/proto.md +++ b/docs/docs/ref/proto.md @@ -599,6 +599,7 @@ create entities are called Providers. | context | ContextV2 | | context is the context in which the data source is evaluated. Note that in this case we only need the project in the context, since data sources are not provider-specific. | | name | string | | name is the name of the data source. Note that this is unique within a project hierarchy. Names must be lowercase and can only contain letters, numbers, hyphens, and underscores. | | id | string | | id is the unique identifier of the data source. | +| structured | StructDataSource | | structured is the structired data - data source. | | rest | RestDataSource | | rest is the REST data source driver. | @@ -2795,6 +2796,52 @@ Severity defines the severity of the rule. +StructDataSource + +StructDataSource is the structured data source driver. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| def | StructDataSource.DefEntry | repeated | defs is the list of definitions for the structured data API. | + + + +StructDataSource.Def + + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| path | StructDataSource.Def.Path | | Path is the path specification for the structured data source. | + + + +StructDataSource.Def.Path + + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| file_name | string | | | +| alternatives | string | repeated | | + + + +StructDataSource.DefEntry + + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | string | | | +| value | StructDataSource.Def | | | + + + TaskRun diff --git a/go.mod b/go.mod index 171e95604d..40fbef496c 100644 --- a/go.mod +++ b/go.mod @@ -346,7 +346,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.1.0 github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/pelletier/go-toml/v2 v2.2.3 // indirect + github.com/pelletier/go-toml/v2 v2.2.3 github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect diff --git a/internal/datasources/factory.go b/internal/datasources/factory.go index e38e30493e..67ca3f90f5 100644 --- a/internal/datasources/factory.go +++ b/internal/datasources/factory.go @@ -8,6 +8,7 @@ import ( "fmt" "github.com/mindersec/minder/internal/datasources/rest" + "github.com/mindersec/minder/internal/datasources/structured" minderv1 "github.com/mindersec/minder/pkg/api/protobuf/go/minder/v1" v1datasources "github.com/mindersec/minder/pkg/datasources/v1" ) @@ -24,6 +25,8 @@ func BuildFromProtobuf(ds *minderv1.DataSource) (v1datasources.DataSource, error } switch ds.GetDriver().(type) { + case *minderv1.DataSource_Structured: + return structured.NewStructDataSource(ds.GetStructured()) case *minderv1.DataSource_Rest: return rest.NewRestDataSource(ds.GetRest()) default: diff --git a/internal/datasources/service/convert.go b/internal/datasources/service/convert.go index 5666b5056a..ee772504e9 100644 --- a/internal/datasources/service/convert.go +++ b/internal/datasources/service/convert.go @@ -33,6 +33,8 @@ func dataSourceDBToProtobuf(ds db.DataSource, dsfuncs []db.DataSourcesFunction) dsfType := dsfuncs[0].Type switch dsfType { + case v1datasources.DataSourceDriverStruct: + return dataSourceStructDBToProtobuf(outds, dsfuncs) case v1datasources.DataSourceDriverRest: return dataSourceRestDBToProtobuf(outds, dsfuncs) default: @@ -60,3 +62,27 @@ func dataSourceRestDBToProtobuf(ds *minderv1.DataSource, dsfuncs []db.DataSource return ds, nil } + +func dataSourceStructDBToProtobuf(ds *minderv1.DataSource, dsfuncs []db.DataSourcesFunction) (*minderv1.DataSource, error) { + structured := &minderv1.StructDataSource{ + Def: make(map[string]*minderv1.StructDataSource_Def, len(dsfuncs)), + } + + for _, dsf := range dsfuncs { + key := dsf.Name + dsfToParse := &minderv1.StructDataSource_Def{ + Path: &minderv1.StructDataSource_Def_Path{}, + } + if err := protojson.Unmarshal(dsf.Definition, dsfToParse); err != nil { + return nil, fmt.Errorf("failed to unmarshal data source definition for %s: %w", key, err) + } + + structured.Def[key] = dsfToParse + } + + ds.Driver = &minderv1.DataSource_Structured{ + Structured: structured, + } + + return ds, nil +} diff --git a/internal/datasources/service/service.go b/internal/datasources/service/service.go index fc32dc40fe..375f0eadc9 100644 --- a/internal/datasources/service/service.go +++ b/internal/datasources/service/service.go @@ -431,6 +431,23 @@ func addDataSourceFunctions( projectID uuid.UUID, ) error { switch drv := ds.GetDriver().(type) { + case *minderv1.DataSource_Structured: + for name, def := range drv.Structured.GetDef() { + defBytes, err := protojson.Marshal(def) + if err != nil { + return fmt.Errorf("failed to marshal structured data definition: %w", err) + } + + if _, err := tx.AddDataSourceFunction(ctx, db.AddDataSourceFunctionParams{ + DataSourceID: dsID, + ProjectID: projectID, + Name: name, + Type: v1datasources.DataSourceDriverStruct, + Definition: defBytes, + }); err != nil { + return fmt.Errorf("failed to create data source function: %w", err) + } + } case *minderv1.DataSource_Rest: for name, def := range drv.Rest.GetDef() { defBytes, err := protojson.Marshal(def) diff --git a/internal/datasources/structured/decoders.go b/internal/datasources/structured/decoders.go new file mode 100644 index 0000000000..0fe0444040 --- /dev/null +++ b/internal/datasources/structured/decoders.go @@ -0,0 +1,77 @@ +// SPDX-FileCopyrightText: Copyright 2024 The Minder Authors +// SPDX-License-Identifier: Apache-2.0 + +package structured + +import ( + "encoding/json" + "errors" + "fmt" + "io" + + "github.com/pelletier/go-toml/v2" + "gopkg.in/yaml.v3" +) + +var ( + // ErrNoInput triggers if a decoder is called without input + ErrNoInput = errors.New("unable to decode, no input defined") +) + +// This file contains various decoders that can be used to decode structured data + +// jsonDecoder decodes JSON data +type jsonDecoder struct{} + +func (*jsonDecoder) Parse(r io.Reader) (any, error) { + if r == nil { + return nil, ErrNoInput + } + var res any + dec := json.NewDecoder(r) + if err := dec.Decode(&res); err != nil { + return nil, fmt.Errorf("decoding json data: %w", err) + } + return res, nil +} + +func (*jsonDecoder) Extensions() []string { + return []string{"json"} +} + +// yamlDecoder opens yaml +type yamlDecoder struct{} + +func (*yamlDecoder) Parse(r io.Reader) (any, error) { + if r == nil { + return nil, ErrNoInput + } + var res any + dec := yaml.NewDecoder(r) + if err := dec.Decode(&res); err != nil { + return nil, fmt.Errorf("decoding yaml data: %w", err) + } + return res, nil +} + +func (*yamlDecoder) Extensions() []string { + return []string{"yaml", "yml"} +} + +type tomlDecoder struct{} + +func (*tomlDecoder) Parse(r io.Reader) (any, error) { + if r == nil { + return nil, ErrNoInput + } + var res any + dec := toml.NewDecoder(r) + if err := dec.Decode(&res); err != nil { + return nil, fmt.Errorf("decoding toml data: %w", err) + } + return res, nil +} + +func (*tomlDecoder) Extensions() []string { + return []string{"toml"} +} diff --git a/internal/datasources/structured/decoders_test.go b/internal/datasources/structured/decoders_test.go new file mode 100644 index 0000000000..99da3f4ce8 --- /dev/null +++ b/internal/datasources/structured/decoders_test.go @@ -0,0 +1,110 @@ +// SPDX-FileCopyrightText: Copyright 2024 The Minder Authors +// SPDX-License-Identifier: Apache-2.0 + +package structured + +import ( + "bytes" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestJsonDecoder(t *testing.T) { + t.Parallel() + for _, tc := range []struct { + name string + data []byte + mustErr bool + expect any + }{ + {name: "normal", data: []byte(`{"a":1, "b":"abc"}`), mustErr: false}, + {name: "invalid_json", data: []byte(`a 1`), mustErr: true}, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + var b bytes.Buffer + _, err := b.Write(tc.data) + require.NoError(t, err) + + dec := jsonDecoder{} + res, err := dec.Parse(&b) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + require.NotNil(t, res) + }) + dec := jsonDecoder{} + _, err := dec.Parse(nil) + require.Error(t, err) + + } +} + +func TestYamlDecoder(t *testing.T) { + t.Parallel() + for _, tc := range []struct { + name string + data []byte + mustErr bool + expect any + }{ + {name: "normal", data: []byte("---\na: 1\nb:\n - \"Hey\"\n - \"Bye\"\n"), mustErr: false}, + {name: "invalid_yaml", data: []byte(" a 1\na: 2\n"), mustErr: true}, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + var b bytes.Buffer + _, err := b.Write(tc.data) + require.NoError(t, err) + + dec := yamlDecoder{} + res, err := dec.Parse(&b) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + require.NotNil(t, res) + }) + dec := yamlDecoder{} + _, err := dec.Parse(nil) + require.Error(t, err) + + } +} + +func TestTomlDecoder(t *testing.T) { + t.Parallel() + for _, tc := range []struct { + name string + data []byte + mustErr bool + expect any + }{ + {name: "normal", data: []byte("title = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\""), mustErr: false}, + {name: "invalid_toml", data: []byte(" a 1\na: 2\n"), mustErr: true}, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + var b bytes.Buffer + _, err := b.Write(tc.data) + require.NoError(t, err) + + dec := tomlDecoder{} + res, err := dec.Parse(&b) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + require.NotNil(t, res) + }) + dec := tomlDecoder{} + _, err := dec.Parse(nil) + require.Error(t, err) + + } +} diff --git a/internal/datasources/structured/handler.go b/internal/datasources/structured/handler.go new file mode 100644 index 0000000000..aeb7cb6afe --- /dev/null +++ b/internal/datasources/structured/handler.go @@ -0,0 +1,177 @@ +// SPDX-FileCopyrightText: Copyright 2024 The Minder Authors +// SPDX-License-Identifier: Apache-2.0 + +package structured + +import ( + "context" + "errors" + "fmt" + "io" + "os" + "path/filepath" + "slices" + "strings" + + "github.com/go-git/go-billy/v5" + "github.com/rs/zerolog/log" + + minderv1 "github.com/mindersec/minder/pkg/api/protobuf/go/minder/v1" + v1datasources "github.com/mindersec/minder/pkg/datasources/v1" +) + +const ( + jsonType decoderType = "json" + yamlType decoderType = "yaml" + tomlType decoderType = "toml" +) + +type decoder interface { + Parse(io.Reader) (any, error) + Extensions() []string +} + +type decoderType string + +// Catalog of decoders enabled by default +var decoders = map[decoderType]decoder{ + jsonType: &jsonDecoder{}, + yamlType: &yamlDecoder{}, + tomlType: &tomlDecoder{}, +} + +var _ v1datasources.DataSourceFuncDef = (*structHandler)(nil) + +// ErrorNoFileMatchInPath triggers if the path specification can't match a +// file in the filesystem received by the data source. +var ErrorNoFileMatchInPath = errors.New("no file matched through path specification") + +type structHandler struct { + Path *minderv1.StructDataSource_Def_Path +} + +func newHandlerFromDef(def *minderv1.StructDataSource_Def) (*structHandler, error) { + if def == nil { + return nil, errors.New("data source handler definition is nil") + } + + return &structHandler{ + Path: def.GetPath(), + }, nil +} + +// openFirstAlternative tries to open the main path and return an open file. If +// not found, it will try the defined alternatives returning the first one. +// If paths are directories, they will be ignored. Returns an error if no path +// corresponds to a file that can be opened. +func openFirstAlternative(fs billy.Filesystem, mainPath string, alternatives []string) (billy.File, error) { + if mainPath == "" && len(alternatives) == 0 { + return nil, errors.New("no file specified in data source definition") + } + if mainPath != "" { + alternatives = append([]string{mainPath}, alternatives...) + } + + for _, p := range alternatives { + s, err := fs.Stat(p) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + continue + } + return nil, fmt.Errorf("error checking path: %w", err) + } + + if s.IsDir() { + continue + } + + f, err := fs.Open(p) + if err != nil { + return nil, fmt.Errorf("opening file: %w", err) + } + + return f, nil + } + return nil, ErrorNoFileMatchInPath +} + +// parseFileAlternatives takes a path and alternative locations and parses +// the first available +func parseFileAlternatives(fs billy.Filesystem, mainPath string, alternatives []string) (any, error) { + f, err := openFirstAlternative(fs, mainPath, alternatives) + if err != nil { + // If no file was found, we don't return an error but nil + // we want rules to not error but to get a blank struct + if errors.Is(err, ErrorNoFileMatchInPath) { + log.Info().Err(err).Msg("error validating datasource function arguments") + return nil, nil + } + return nil, err + } + return parseFile(f) +} + +// parseFile parses an open file using the configured parsers +func parseFile(f billy.File) (any, error) { + // Get the file extension, perhaps we can shortcut before trying + // to brute force through all decoders + ext := filepath.Ext(f.Name()) + tried := map[decoderType]struct{}{} + for t, d := range decoders { + exts := d.Extensions() + if slices.Contains(exts, strings.ToLower(ext)) { + if _, err := f.Seek(0, 0); err != nil { + return nil, fmt.Errorf("unable to rewind file") + } + res, err := d.Parse(f) + if err == nil { + return res, nil + } + tried[t] = struct{}{} + } + } + + // no dice, try the rest of the decoders + for t, d := range decoders { + if _, ok := tried[t]; ok { + continue + } + if _, err := f.Seek(0, 0); err != nil { + return nil, fmt.Errorf("unable to rewind file") + } + res, err := d.Parse(f) + if err == nil { + return res, nil + } + } + return nil, errors.New("unable to parse structured data with any of the available decoders") +} + +// Call parses the structured data from the billy filesystem in the context +func (sh *structHandler) Call(ctx context.Context, _ any) (any, error) { + var ctxData v1datasources.Context + var ok bool + if ctxData, ok = ctx.Value(v1datasources.ContextKey{}).(v1datasources.Context); !ok { + return nil, fmt.Errorf("unable to read execution context") + } + + if ctxData.Ingest == nil || ctxData.Ingest.Fs == nil { + return nil, fmt.Errorf("filesystem not found in execution context") + } + + return parseFileAlternatives(ctxData.Ingest.Fs, sh.Path.GetFileName(), sh.Path.GetAlternatives()) +} + +func (*structHandler) GetArgsSchema() any { + return nil +} + +// ValidateArgs is just a stub as the structured data source does not have arguments +func (_ *structHandler) ValidateArgs(any) error { + return nil +} + +// ValidateUpdate +func (_ *structHandler) ValidateUpdate(any) error { + return nil +} diff --git a/internal/datasources/structured/handler_test.go b/internal/datasources/structured/handler_test.go new file mode 100644 index 0000000000..c20f4e1765 --- /dev/null +++ b/internal/datasources/structured/handler_test.go @@ -0,0 +1,230 @@ +// SPDX-FileCopyrightText: Copyright 2024 The Minder Authors +// SPDX-License-Identifier: Apache-2.0 + +package structured + +import ( + "context" + "os" + "path/filepath" + "testing" + + "github.com/go-git/go-billy/v5" + "github.com/go-git/go-billy/v5/memfs" + "github.com/stretchr/testify/require" + + minderv1 "github.com/mindersec/minder/pkg/api/protobuf/go/minder/v1" + v1datasources "github.com/mindersec/minder/pkg/datasources/v1" + "github.com/mindersec/minder/pkg/engine/v1/interfaces" +) + +func writeFSFile(t *testing.T, fs billy.Filesystem, path string, data []byte) { + t.Helper() + require.NoError(t, fs.MkdirAll(filepath.Dir(path), os.FileMode(0o755))) + f, err := fs.Create(path) + require.NoError(t, err) + _, err = f.Write(data) + require.NoError(t, err) + require.NoError(t, f.Close()) +} + +func TestOpenFirstAlternative(t *testing.T) { + t.Parallel() + + genFS := func(t *testing.T) billy.Filesystem { + t.Helper() + fs := memfs.New() + writeFSFile(t, fs, "./test1.json", []byte("hello")) + writeFSFile(t, fs, "/dir/test2.json", []byte("hello")) + writeFSFile(t, fs, "dir2/test3.json", []byte("hello")) + return fs + } + for _, tc := range []struct { + name string + createFS func(t *testing.T) billy.Filesystem + mainPath string + alternatives []string + expectedFile string + mustErr bool + }{ + { + name: "mainpath", + createFS: genFS, + mainPath: "./test1.json", + alternatives: []string{"dir/test2.json", "dir2/test.json"}, + expectedFile: "test1.json", + mustErr: false, + }, + { + name: "dir-must-be-ignored", + createFS: func(t *testing.T) billy.Filesystem { + t.Helper() + fs := memfs.New() + writeFSFile(t, fs, "./file.json", []byte("hello")) + require.NoError(t, fs.MkdirAll("./dir", os.FileMode(0o755))) + return fs + }, + mainPath: "./dir", + alternatives: []string{"file.json"}, + expectedFile: "file.json", + mustErr: false, + }, + { + name: "first-alternative", + createFS: genFS, + mainPath: "./non-existent", + alternatives: []string{"dir/test2.json", "dir2/test.json"}, + expectedFile: "dir/test2.json", + mustErr: false, + }, + { + name: "second-alternative", + createFS: genFS, + mainPath: "./non-existent2", + alternatives: []string{"./non-existent", "dir2/test3.json"}, + expectedFile: "dir2/test3.json", + mustErr: false, + }, + { + name: "no-main", + createFS: genFS, + mainPath: "", + alternatives: []string{"dir2/test3.json"}, + expectedFile: "dir2/test3.json", + mustErr: false, + }, + { + name: "no-valid-files", + createFS: genFS, + mainPath: "non-existing", + alternatives: []string{"also-non-existing.txt"}, + expectedFile: "", + mustErr: true, + }, + { + name: "no-inputs", + createFS: genFS, + mainPath: "", + alternatives: []string{}, + expectedFile: "", + mustErr: true, + }, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + fs := tc.createFS(t) + f, err := openFirstAlternative(fs, tc.mainPath, tc.alternatives) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + require.Equal(t, tc.expectedFile, f.Name()) + }) + } +} + +func TestParseFileAlternatives(t *testing.T) { + t.Parallel() + for _, tc := range []struct { + name string + main string + mustErr bool + }{ + {"fn-success", "test1.json", false}, + {"fn-fails", "", true}, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + fs := memfs.New() + writeFSFile(t, fs, "./test1.json", []byte("{ \"a\": \"b\"}")) + res, err := parseFileAlternatives(fs, tc.main, []string{}) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + require.NotNil(t, res) + }) + } +} + +func TestNew(t *testing.T) { + t.Parallel() + h, err := newHandlerFromDef(&minderv1.StructDataSource_Def{ + Path: &minderv1.StructDataSource_Def_Path{ + FileName: "test.txt", + }, + }) + require.NoError(t, err) + require.NotNil(t, h) + + _, err = newHandlerFromDef(nil) + require.Error(t, err) +} + +func TestCall(t *testing.T) { + t.Parallel() + for _, tc := range []struct { + name string + buildContext func(t *testing.T) context.Context + def *minderv1.StructDataSource_Def + mustErr bool + }{ + { + "success", + func(t *testing.T) context.Context { + t.Helper() + fs := memfs.New() + writeFSFile(t, fs, "./test1.json", []byte("{ \"a\": \"b\"}")) + + return context.WithValue( + context.Background(), + v1datasources.ContextKey{}, + v1datasources.Context{ + Ingest: &interfaces.Result{Fs: fs}, + }, + ) + }, + &minderv1.StructDataSource_Def{ + Path: &minderv1.StructDataSource_Def_Path{ + FileName: "test1.json", + }, + }, + false, + }, + { + "no-datasource-context", + func(t *testing.T) context.Context { + t.Helper() + return context.Background() + }, + &minderv1.StructDataSource_Def{}, + true, + }, + {"ctx-no-fs", + func(t *testing.T) context.Context { + t.Helper() + return context.WithValue( + context.Background(), + v1datasources.ContextKey{}, + v1datasources.Context{}, + ) + }, + &minderv1.StructDataSource_Def{}, + true}, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + ctx := tc.buildContext(t) + handler, err := newHandlerFromDef(tc.def) + require.NoError(t, err) + _, err = handler.Call(ctx, []string{}) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/internal/datasources/structured/structured.go b/internal/datasources/structured/structured.go new file mode 100644 index 0000000000..01667c7de6 --- /dev/null +++ b/internal/datasources/structured/structured.go @@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: Copyright 2024 The Minder Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package structured implements a data source that parses and returns +// structured data from files stored in a filesystem. +package structured + +import ( + "errors" + + minderv1 "github.com/mindersec/minder/pkg/api/protobuf/go/minder/v1" + v1datasources "github.com/mindersec/minder/pkg/datasources/v1" +) + +type structDataSource struct { + handlers map[v1datasources.DataSourceFuncKey]v1datasources.DataSourceFuncDef +} + +// ensure that restDataSource implements the v1datasources.DataSource interface +var _ v1datasources.DataSource = (*structDataSource)(nil) + +// GetFuncs implements the v1datasources.DataSource interface. +func (r *structDataSource) GetFuncs() map[v1datasources.DataSourceFuncKey]v1datasources.DataSourceFuncDef { + return r.handlers +} + +// NewStructDataSource builds a new REST data source. +func NewStructDataSource(sds *minderv1.StructDataSource) (v1datasources.DataSource, error) { + if sds == nil { + return nil, errors.New("rest data source is nil") + } + + if sds.GetDef() == nil { + return nil, errors.New("rest data source definition is nil") + } + + out := &structDataSource{ + handlers: make(map[v1datasources.DataSourceFuncKey]v1datasources.DataSourceFuncDef, len(sds.GetDef())), + } + + for key, handlerCfg := range sds.GetDef() { + handler, err := newHandlerFromDef(handlerCfg) + if err != nil { + return nil, err + } + + out.handlers[v1datasources.DataSourceFuncKey(key)] = handler + } + + return out, nil +} diff --git a/internal/datasources/structured/structured_test.go b/internal/datasources/structured/structured_test.go new file mode 100644 index 0000000000..c1f06e5144 --- /dev/null +++ b/internal/datasources/structured/structured_test.go @@ -0,0 +1,44 @@ +// SPDX-FileCopyrightText: Copyright 2024 The Minder Authors +// SPDX-License-Identifier: Apache-2.0 + +package structured + +import ( + "testing" + + "github.com/stretchr/testify/require" + + minderv1 "github.com/mindersec/minder/pkg/api/protobuf/go/minder/v1" +) + +func TestNewStructDataSource(t *testing.T) { + t.Parallel() + for _, tc := range []struct { + name string + sds *minderv1.StructDataSource + mustErr bool + }{ + {"nil-def", nil, true}, + {"no-def", &minderv1.StructDataSource{}, true}, + {"invalid-def", &minderv1.StructDataSource{ + Def: map[string]*minderv1.StructDataSource_Def{"test": nil}, + }, true}, + {"success", &minderv1.StructDataSource{ + Def: map[string]*minderv1.StructDataSource_Def{ + "test": { + Path: &minderv1.StructDataSource_Def_Path{FileName: "test.yaml"}, + }, + }, + }, false}, + } { + t.Run(tc.name, func(t *testing.T) { + t.Parallel() + _, err := NewStructDataSource(tc.sds) + if tc.mustErr { + require.Error(t, err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/pkg/api/openapi/minder/v1/minder.swagger.json b/pkg/api/openapi/minder/v1/minder.swagger.json index 44e9a46142..31d3c652cc 100644 --- a/pkg/api/openapi/minder/v1/minder.swagger.json +++ b/pkg/api/openapi/minder/v1/minder.swagger.json @@ -3104,6 +3104,20 @@ } } }, + "DefPath": { + "type": "object", + "properties": { + "fileName": { + "type": "string" + }, + "alternatives": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "DefinitionAlert": { "type": "object", "properties": { @@ -3503,65 +3517,6 @@ } } }, - "RestDataSourceDef": { - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "description": "endpoint is the URL of the REST API. Note that endpoints are\ntemplates that can be parameterized with variables. Parametrization\nis done using RFC 6570." - }, - "method": { - "type": "string", - "description": "method is the HTTP method to use for the request.\nIf left unset, it will default to \"GET\"." - }, - "headers": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "headers is a map of headers to send with the request." - }, - "bodyobj": { - "type": "object", - "description": "body is the body of the request." - }, - "bodystr": { - "type": "string", - "description": "bodystr is the body of the request as a string." - }, - "bodyFromField": { - "type": "string", - "description": "body_from_field is the field in the input to use as the body.\nIf the value is an string, it will be used as the body, as is.\nIf the value is an object, it will be serialized as JSON.\nIf the value is not found in the input, the request will fail." - }, - "parse": { - "type": "string", - "description": "parse is the parse configuration for the response.\nThis allows us to serialize the response into a structured format,\nor not.\nIf left unset, the response will be treated as a string.\nIf set to \"json\", the response will be parsed as JSON." - }, - "fallback": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/RestDataSourceDefFallback" - }, - "description": "fallback is the fallback configuration for the response in case\nof an unexpected status code." - }, - "expectedStatus": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "expected_status is the expected status code for the response.\nThis may be repeated to allow for multiple expected status codes.\nIf left unset, it will default to 200." - }, - "inputSchema": { - "type": "object", - "description": "input_schema is the schema for the input to the REST API." - } - }, - "required": [ - "endpoint" - ] - }, "RestDataSourceDefFallback": { "type": "object", "properties": { @@ -4037,6 +3992,10 @@ "description": "id is the unique identifier of the data source.", "readOnly": true }, + "structured": { + "$ref": "#/definitions/v1StructDataSource", + "description": "structured is the structired data - data source." + }, "rest": { "$ref": "#/definitions/v1RestDataSource", "description": "rest is the REST data source driver." @@ -5499,13 +5458,72 @@ "def": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/RestDataSourceDef" + "$ref": "#/definitions/v1RestDataSourceDef" }, "description": "defs is the list of definitions for the REST API." } }, "description": "RestDataSource is the REST data source driver." }, + "v1RestDataSourceDef": { + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "endpoint is the URL of the REST API. Note that endpoints are\ntemplates that can be parameterized with variables. Parametrization\nis done using RFC 6570." + }, + "method": { + "type": "string", + "description": "method is the HTTP method to use for the request.\nIf left unset, it will default to \"GET\"." + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "headers is a map of headers to send with the request." + }, + "bodyobj": { + "type": "object", + "description": "body is the body of the request." + }, + "bodystr": { + "type": "string", + "description": "bodystr is the body of the request as a string." + }, + "bodyFromField": { + "type": "string", + "description": "body_from_field is the field in the input to use as the body.\nIf the value is an string, it will be used as the body, as is.\nIf the value is an object, it will be serialized as JSON.\nIf the value is not found in the input, the request will fail." + }, + "parse": { + "type": "string", + "description": "parse is the parse configuration for the response.\nThis allows us to serialize the response into a structured format,\nor not.\nIf left unset, the response will be treated as a string.\nIf set to \"json\", the response will be parsed as JSON." + }, + "fallback": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/RestDataSourceDefFallback" + }, + "description": "fallback is the fallback configuration for the response in case\nof an unexpected status code." + }, + "expectedStatus": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "expected_status is the expected status code for the response.\nThis may be repeated to allow for multiple expected status codes.\nIf left unset, it will default to 200." + }, + "inputSchema": { + "type": "object", + "description": "input_schema is the schema for the input to the REST API." + } + }, + "required": [ + "endpoint" + ] + }, "v1RestType": { "type": "object", "properties": { @@ -5836,6 +5854,31 @@ "v1StoreProviderTokenResponse": { "type": "object" }, + "v1StructDataSource": { + "type": "object", + "properties": { + "def": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/v1StructDataSourceDef" + }, + "description": "defs is the list of definitions for the structured data API." + } + }, + "description": "StructDataSource is the structured data source driver." + }, + "v1StructDataSourceDef": { + "type": "object", + "properties": { + "path": { + "$ref": "#/definitions/DefPath", + "description": "Path is the path specification for the structured data source." + } + }, + "required": [ + "path" + ] + }, "v1UpdateDataSourceRequest": { "type": "object", "properties": { diff --git a/pkg/api/protobuf/go/minder/v1/datasources.go b/pkg/api/protobuf/go/minder/v1/datasources.go index 82560220f7..b494427fde 100644 --- a/pkg/api/protobuf/go/minder/v1/datasources.go +++ b/pkg/api/protobuf/go/minder/v1/datasources.go @@ -25,6 +25,8 @@ func (ds *DataSource) GetDriverType() string { switch ds.GetDriver().(type) { case *DataSource_Rest: return v1datasources.DataSourceDriverRest + case *DataSource_Structured: + return v1datasources.DataSourceDriverStruct default: return "unknown" } diff --git a/pkg/api/protobuf/go/minder/v1/minder.pb.go b/pkg/api/protobuf/go/minder/v1/minder.pb.go index 8079b23d7e..b02246a9d9 100644 --- a/pkg/api/protobuf/go/minder/v1/minder.pb.go +++ b/pkg/api/protobuf/go/minder/v1/minder.pb.go @@ -11938,6 +11938,7 @@ type DataSource struct { Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` // Types that are assignable to Driver: // + // *DataSource_Structured // *DataSource_Rest Driver isDataSource_Driver `protobuf_oneof:"driver"` } @@ -12014,6 +12015,13 @@ func (m *DataSource) GetDriver() isDataSource_Driver { return nil } +func (x *DataSource) GetStructured() *StructDataSource { + if x, ok := x.GetDriver().(*DataSource_Structured); ok { + return x.Structured + } + return nil +} + func (x *DataSource) GetRest() *RestDataSource { if x, ok := x.GetDriver().(*DataSource_Rest); ok { return x.Rest @@ -12025,13 +12033,67 @@ type isDataSource_Driver interface { isDataSource_Driver() } +type DataSource_Structured struct { + // structured is the structired data - data source. + Structured *StructDataSource `protobuf:"bytes,8,opt,name=structured,proto3,oneof"` +} + type DataSource_Rest struct { // rest is the REST data source driver. Rest *RestDataSource `protobuf:"bytes,6,opt,name=rest,proto3,oneof"` } +func (*DataSource_Structured) isDataSource_Driver() {} + func (*DataSource_Rest) isDataSource_Driver() {} +// StructDataSource is the structured data source driver. +type StructDataSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // defs is the list of definitions for the structured data API. + Def map[string]*StructDataSource_Def `protobuf:"bytes,1,rep,name=def,proto3" json:"def,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *StructDataSource) Reset() { + *x = StructDataSource{} + mi := &file_minder_v1_minder_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StructDataSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StructDataSource) ProtoMessage() {} + +func (x *StructDataSource) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[189] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StructDataSource.ProtoReflect.Descriptor instead. +func (*StructDataSource) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{189} +} + +func (x *StructDataSource) GetDef() map[string]*StructDataSource_Def { + if x != nil { + return x.Def + } + return nil +} + // RestDataSource is the REST data source driver. type RestDataSource struct { state protoimpl.MessageState @@ -12044,7 +12106,7 @@ type RestDataSource struct { func (x *RestDataSource) Reset() { *x = RestDataSource{} - mi := &file_minder_v1_minder_proto_msgTypes[189] + mi := &file_minder_v1_minder_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12056,7 +12118,7 @@ func (x *RestDataSource) String() string { func (*RestDataSource) ProtoMessage() {} func (x *RestDataSource) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[189] + mi := &file_minder_v1_minder_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12069,7 +12131,7 @@ func (x *RestDataSource) ProtoReflect() protoreflect.Message { // Deprecated: Use RestDataSource.ProtoReflect.Descriptor instead. func (*RestDataSource) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{189} + return file_minder_v1_minder_proto_rawDescGZIP(), []int{190} } func (x *RestDataSource) GetDef() map[string]*RestDataSource_Def { @@ -12093,7 +12155,7 @@ type DataSourceReference struct { func (x *DataSourceReference) Reset() { *x = DataSourceReference{} - mi := &file_minder_v1_minder_proto_msgTypes[190] + mi := &file_minder_v1_minder_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12105,7 +12167,7 @@ func (x *DataSourceReference) String() string { func (*DataSourceReference) ProtoMessage() {} func (x *DataSourceReference) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[190] + mi := &file_minder_v1_minder_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12118,7 +12180,7 @@ func (x *DataSourceReference) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSourceReference.ProtoReflect.Descriptor instead. func (*DataSourceReference) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{190} + return file_minder_v1_minder_proto_rawDescGZIP(), []int{191} } func (x *DataSourceReference) GetName() string { @@ -12139,7 +12201,7 @@ type RegisterRepoResult_Status struct { func (x *RegisterRepoResult_Status) Reset() { *x = RegisterRepoResult_Status{} - mi := &file_minder_v1_minder_proto_msgTypes[191] + mi := &file_minder_v1_minder_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12151,7 +12213,7 @@ func (x *RegisterRepoResult_Status) String() string { func (*RegisterRepoResult_Status) ProtoMessage() {} func (x *RegisterRepoResult_Status) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[191] + mi := &file_minder_v1_minder_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12195,7 +12257,7 @@ type ListEvaluationResultsResponse_EntityProfileEvaluationResults struct { func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) Reset() { *x = ListEvaluationResultsResponse_EntityProfileEvaluationResults{} - mi := &file_minder_v1_minder_proto_msgTypes[194] + mi := &file_minder_v1_minder_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12207,7 +12269,7 @@ func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) String() func (*ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoMessage() {} func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[194] + mi := &file_minder_v1_minder_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12248,7 +12310,7 @@ type ListEvaluationResultsResponse_EntityEvaluationResults struct { func (x *ListEvaluationResultsResponse_EntityEvaluationResults) Reset() { *x = ListEvaluationResultsResponse_EntityEvaluationResults{} - mi := &file_minder_v1_minder_proto_msgTypes[195] + mi := &file_minder_v1_minder_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12260,7 +12322,7 @@ func (x *ListEvaluationResultsResponse_EntityEvaluationResults) String() string func (*ListEvaluationResultsResponse_EntityEvaluationResults) ProtoMessage() {} func (x *ListEvaluationResultsResponse_EntityEvaluationResults) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[195] + mi := &file_minder_v1_minder_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12302,7 +12364,7 @@ type RestType_Fallback struct { func (x *RestType_Fallback) Reset() { *x = RestType_Fallback{} - mi := &file_minder_v1_minder_proto_msgTypes[196] + mi := &file_minder_v1_minder_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12314,7 +12376,7 @@ func (x *RestType_Fallback) String() string { func (*RestType_Fallback) ProtoMessage() {} func (x *RestType_Fallback) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[196] + mi := &file_minder_v1_minder_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12357,7 +12419,7 @@ type DiffType_Ecosystem struct { func (x *DiffType_Ecosystem) Reset() { *x = DiffType_Ecosystem{} - mi := &file_minder_v1_minder_proto_msgTypes[197] + mi := &file_minder_v1_minder_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12369,7 +12431,7 @@ func (x *DiffType_Ecosystem) String() string { func (*DiffType_Ecosystem) ProtoMessage() {} func (x *DiffType_Ecosystem) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[197] + mi := &file_minder_v1_minder_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12411,7 +12473,7 @@ type DepsType_RepoConfigs struct { func (x *DepsType_RepoConfigs) Reset() { *x = DepsType_RepoConfigs{} - mi := &file_minder_v1_minder_proto_msgTypes[198] + mi := &file_minder_v1_minder_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12423,7 +12485,7 @@ func (x *DepsType_RepoConfigs) String() string { func (*DepsType_RepoConfigs) ProtoMessage() {} func (x *DepsType_RepoConfigs) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[198] + mi := &file_minder_v1_minder_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12457,7 +12519,7 @@ type DepsType_PullRequestConfigs struct { func (x *DepsType_PullRequestConfigs) Reset() { *x = DepsType_PullRequestConfigs{} - mi := &file_minder_v1_minder_proto_msgTypes[199] + mi := &file_minder_v1_minder_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12469,7 +12531,7 @@ func (x *DepsType_PullRequestConfigs) String() string { func (*DepsType_PullRequestConfigs) ProtoMessage() {} func (x *DepsType_PullRequestConfigs) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[199] + mi := &file_minder_v1_minder_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12514,7 +12576,7 @@ type RuleType_Definition struct { func (x *RuleType_Definition) Reset() { *x = RuleType_Definition{} - mi := &file_minder_v1_minder_proto_msgTypes[200] + mi := &file_minder_v1_minder_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12526,7 +12588,7 @@ func (x *RuleType_Definition) String() string { func (*RuleType_Definition) ProtoMessage() {} func (x *RuleType_Definition) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[200] + mi := &file_minder_v1_minder_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12621,7 +12683,7 @@ type RuleType_Definition_Ingest struct { func (x *RuleType_Definition_Ingest) Reset() { *x = RuleType_Definition_Ingest{} - mi := &file_minder_v1_minder_proto_msgTypes[201] + mi := &file_minder_v1_minder_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12633,7 +12695,7 @@ func (x *RuleType_Definition_Ingest) String() string { func (*RuleType_Definition_Ingest) ProtoMessage() {} func (x *RuleType_Definition_Ingest) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[201] + mi := &file_minder_v1_minder_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12732,7 +12794,7 @@ type RuleType_Definition_Eval struct { func (x *RuleType_Definition_Eval) Reset() { *x = RuleType_Definition_Eval{} - mi := &file_minder_v1_minder_proto_msgTypes[202] + mi := &file_minder_v1_minder_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12744,7 +12806,7 @@ func (x *RuleType_Definition_Eval) String() string { func (*RuleType_Definition_Eval) ProtoMessage() {} func (x *RuleType_Definition_Eval) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[202] + mi := &file_minder_v1_minder_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12822,7 +12884,7 @@ type RuleType_Definition_Remediate struct { func (x *RuleType_Definition_Remediate) Reset() { *x = RuleType_Definition_Remediate{} - mi := &file_minder_v1_minder_proto_msgTypes[203] + mi := &file_minder_v1_minder_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12834,7 +12896,7 @@ func (x *RuleType_Definition_Remediate) String() string { func (*RuleType_Definition_Remediate) ProtoMessage() {} func (x *RuleType_Definition_Remediate) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[203] + mi := &file_minder_v1_minder_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12890,7 +12952,7 @@ type RuleType_Definition_Alert struct { func (x *RuleType_Definition_Alert) Reset() { *x = RuleType_Definition_Alert{} - mi := &file_minder_v1_minder_proto_msgTypes[204] + mi := &file_minder_v1_minder_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12902,7 +12964,7 @@ func (x *RuleType_Definition_Alert) String() string { func (*RuleType_Definition_Alert) ProtoMessage() {} func (x *RuleType_Definition_Alert) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[204] + mi := &file_minder_v1_minder_proto_msgTypes[205] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12956,7 +13018,7 @@ type RuleType_Definition_Eval_JQComparison struct { func (x *RuleType_Definition_Eval_JQComparison) Reset() { *x = RuleType_Definition_Eval_JQComparison{} - mi := &file_minder_v1_minder_proto_msgTypes[205] + mi := &file_minder_v1_minder_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12968,7 +13030,7 @@ func (x *RuleType_Definition_Eval_JQComparison) String() string { func (*RuleType_Definition_Eval_JQComparison) ProtoMessage() {} func (x *RuleType_Definition_Eval_JQComparison) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[205] + mi := &file_minder_v1_minder_proto_msgTypes[206] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13032,7 +13094,7 @@ type RuleType_Definition_Eval_Rego struct { func (x *RuleType_Definition_Eval_Rego) Reset() { *x = RuleType_Definition_Eval_Rego{} - mi := &file_minder_v1_minder_proto_msgTypes[206] + mi := &file_minder_v1_minder_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13044,7 +13106,7 @@ func (x *RuleType_Definition_Eval_Rego) String() string { func (*RuleType_Definition_Eval_Rego) ProtoMessage() {} func (x *RuleType_Definition_Eval_Rego) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[206] + mi := &file_minder_v1_minder_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13089,7 +13151,7 @@ type RuleType_Definition_Eval_Vulncheck struct { func (x *RuleType_Definition_Eval_Vulncheck) Reset() { *x = RuleType_Definition_Eval_Vulncheck{} - mi := &file_minder_v1_minder_proto_msgTypes[207] + mi := &file_minder_v1_minder_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13101,7 +13163,7 @@ func (x *RuleType_Definition_Eval_Vulncheck) String() string { func (*RuleType_Definition_Eval_Vulncheck) ProtoMessage() {} func (x *RuleType_Definition_Eval_Vulncheck) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[207] + mi := &file_minder_v1_minder_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13129,7 +13191,7 @@ type RuleType_Definition_Eval_Trusty struct { func (x *RuleType_Definition_Eval_Trusty) Reset() { *x = RuleType_Definition_Eval_Trusty{} - mi := &file_minder_v1_minder_proto_msgTypes[208] + mi := &file_minder_v1_minder_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13141,7 +13203,7 @@ func (x *RuleType_Definition_Eval_Trusty) String() string { func (*RuleType_Definition_Eval_Trusty) ProtoMessage() {} func (x *RuleType_Definition_Eval_Trusty) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[208] + mi := &file_minder_v1_minder_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13174,7 +13236,7 @@ type RuleType_Definition_Eval_Homoglyphs struct { func (x *RuleType_Definition_Eval_Homoglyphs) Reset() { *x = RuleType_Definition_Eval_Homoglyphs{} - mi := &file_minder_v1_minder_proto_msgTypes[209] + mi := &file_minder_v1_minder_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13186,7 +13248,7 @@ func (x *RuleType_Definition_Eval_Homoglyphs) String() string { func (*RuleType_Definition_Eval_Homoglyphs) ProtoMessage() {} func (x *RuleType_Definition_Eval_Homoglyphs) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[209] + mi := &file_minder_v1_minder_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13219,7 +13281,7 @@ type RuleType_Definition_Eval_JQComparison_Operator struct { func (x *RuleType_Definition_Eval_JQComparison_Operator) Reset() { *x = RuleType_Definition_Eval_JQComparison_Operator{} - mi := &file_minder_v1_minder_proto_msgTypes[210] + mi := &file_minder_v1_minder_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13231,7 +13293,7 @@ func (x *RuleType_Definition_Eval_JQComparison_Operator) String() string { func (*RuleType_Definition_Eval_JQComparison_Operator) ProtoMessage() {} func (x *RuleType_Definition_Eval_JQComparison_Operator) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[210] + mi := &file_minder_v1_minder_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13264,7 +13326,7 @@ type RuleType_Definition_Remediate_GhBranchProtectionType struct { func (x *RuleType_Definition_Remediate_GhBranchProtectionType) Reset() { *x = RuleType_Definition_Remediate_GhBranchProtectionType{} - mi := &file_minder_v1_minder_proto_msgTypes[211] + mi := &file_minder_v1_minder_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13276,7 +13338,7 @@ func (x *RuleType_Definition_Remediate_GhBranchProtectionType) String() string { func (*RuleType_Definition_Remediate_GhBranchProtectionType) ProtoMessage() {} func (x *RuleType_Definition_Remediate_GhBranchProtectionType) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[211] + mi := &file_minder_v1_minder_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13335,7 +13397,7 @@ type RuleType_Definition_Remediate_PullRequestRemediation struct { func (x *RuleType_Definition_Remediate_PullRequestRemediation) Reset() { *x = RuleType_Definition_Remediate_PullRequestRemediation{} - mi := &file_minder_v1_minder_proto_msgTypes[212] + mi := &file_minder_v1_minder_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13347,7 +13409,7 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation) String() string { func (*RuleType_Definition_Remediate_PullRequestRemediation) ProtoMessage() {} func (x *RuleType_Definition_Remediate_PullRequestRemediation) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[212] + mi := &file_minder_v1_minder_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13425,7 +13487,7 @@ type RuleType_Definition_Remediate_PullRequestRemediation_Content struct { func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) Reset() { *x = RuleType_Definition_Remediate_PullRequestRemediation_Content{} - mi := &file_minder_v1_minder_proto_msgTypes[213] + mi := &file_minder_v1_minder_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13437,7 +13499,7 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) String() func (*RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoMessage() {} func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[213] + mi := &file_minder_v1_minder_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13492,7 +13554,7 @@ type RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWith func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) Reset() { *x = RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha{} - mi := &file_minder_v1_minder_proto_msgTypes[214] + mi := &file_minder_v1_minder_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13505,7 +13567,7 @@ func (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWi } func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[214] + mi := &file_minder_v1_minder_proto_msgTypes[215] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13538,7 +13600,7 @@ type RuleType_Definition_Alert_AlertTypeSA struct { func (x *RuleType_Definition_Alert_AlertTypeSA) Reset() { *x = RuleType_Definition_Alert_AlertTypeSA{} - mi := &file_minder_v1_minder_proto_msgTypes[215] + mi := &file_minder_v1_minder_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13550,7 +13612,7 @@ func (x *RuleType_Definition_Alert_AlertTypeSA) String() string { func (*RuleType_Definition_Alert_AlertTypeSA) ProtoMessage() {} func (x *RuleType_Definition_Alert_AlertTypeSA) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[215] + mi := &file_minder_v1_minder_proto_msgTypes[216] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13583,7 +13645,7 @@ type RuleType_Definition_Alert_AlertTypePRComment struct { func (x *RuleType_Definition_Alert_AlertTypePRComment) Reset() { *x = RuleType_Definition_Alert_AlertTypePRComment{} - mi := &file_minder_v1_minder_proto_msgTypes[216] + mi := &file_minder_v1_minder_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13595,7 +13657,7 @@ func (x *RuleType_Definition_Alert_AlertTypePRComment) String() string { func (*RuleType_Definition_Alert_AlertTypePRComment) ProtoMessage() {} func (x *RuleType_Definition_Alert_AlertTypePRComment) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[216] + mi := &file_minder_v1_minder_proto_msgTypes[217] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13638,7 +13700,7 @@ type Profile_Rule struct { func (x *Profile_Rule) Reset() { *x = Profile_Rule{} - mi := &file_minder_v1_minder_proto_msgTypes[217] + mi := &file_minder_v1_minder_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13650,7 +13712,7 @@ func (x *Profile_Rule) String() string { func (*Profile_Rule) ProtoMessage() {} func (x *Profile_Rule) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[217] + mi := &file_minder_v1_minder_proto_msgTypes[218] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13711,7 +13773,7 @@ type Profile_Selector struct { func (x *Profile_Selector) Reset() { *x = Profile_Selector{} - mi := &file_minder_v1_minder_proto_msgTypes[218] + mi := &file_minder_v1_minder_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13723,7 +13785,7 @@ func (x *Profile_Selector) String() string { func (*Profile_Selector) ProtoMessage() {} func (x *Profile_Selector) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[218] + mi := &file_minder_v1_minder_proto_msgTypes[219] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13767,6 +13829,105 @@ func (x *Profile_Selector) GetDescription() string { return "" } +type StructDataSource_Def struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Path is the path specification for the structured data source. + Path *StructDataSource_Def_Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *StructDataSource_Def) Reset() { + *x = StructDataSource_Def{} + mi := &file_minder_v1_minder_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StructDataSource_Def) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StructDataSource_Def) ProtoMessage() {} + +func (x *StructDataSource_Def) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[220] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StructDataSource_Def.ProtoReflect.Descriptor instead. +func (*StructDataSource_Def) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{189, 0} +} + +func (x *StructDataSource_Def) GetPath() *StructDataSource_Def_Path { + if x != nil { + return x.Path + } + return nil +} + +type StructDataSource_Def_Path struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` + Alternatives []string `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"` +} + +func (x *StructDataSource_Def_Path) Reset() { + *x = StructDataSource_Def_Path{} + mi := &file_minder_v1_minder_proto_msgTypes[222] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StructDataSource_Def_Path) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StructDataSource_Def_Path) ProtoMessage() {} + +func (x *StructDataSource_Def_Path) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[222] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StructDataSource_Def_Path.ProtoReflect.Descriptor instead. +func (*StructDataSource_Def_Path) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{189, 0, 0} +} + +func (x *StructDataSource_Def_Path) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *StructDataSource_Def_Path) GetAlternatives() []string { + if x != nil { + return x.Alternatives + } + return nil +} + type RestDataSource_Def struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -13806,7 +13967,7 @@ type RestDataSource_Def struct { func (x *RestDataSource_Def) Reset() { *x = RestDataSource_Def{} - mi := &file_minder_v1_minder_proto_msgTypes[219] + mi := &file_minder_v1_minder_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13818,7 +13979,7 @@ func (x *RestDataSource_Def) String() string { func (*RestDataSource_Def) ProtoMessage() {} func (x *RestDataSource_Def) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[219] + mi := &file_minder_v1_minder_proto_msgTypes[223] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13831,7 +13992,7 @@ func (x *RestDataSource_Def) ProtoReflect() protoreflect.Message { // Deprecated: Use RestDataSource_Def.ProtoReflect.Descriptor instead. func (*RestDataSource_Def) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{189, 0} + return file_minder_v1_minder_proto_rawDescGZIP(), []int{190, 0} } func (x *RestDataSource_Def) GetEndpoint() string { @@ -13950,7 +14111,7 @@ type RestDataSource_Def_Fallback struct { func (x *RestDataSource_Def_Fallback) Reset() { *x = RestDataSource_Def_Fallback{} - mi := &file_minder_v1_minder_proto_msgTypes[222] + mi := &file_minder_v1_minder_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13962,7 +14123,7 @@ func (x *RestDataSource_Def_Fallback) String() string { func (*RestDataSource_Def_Fallback) ProtoMessage() {} func (x *RestDataSource_Def_Fallback) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[222] + mi := &file_minder_v1_minder_proto_msgTypes[226] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13975,7 +14136,7 @@ func (x *RestDataSource_Def_Fallback) ProtoReflect() protoreflect.Message { // Deprecated: Use RestDataSource_Def_Fallback.ProtoReflect.Descriptor instead. func (*RestDataSource_Def_Fallback) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{189, 0, 1} + return file_minder_v1_minder_proto_rawDescGZIP(), []int{190, 0, 1} } func (x *RestDataSource_Def_Fallback) GetHttpStatus() int32 { @@ -16086,7 +16247,7 @@ var file_minder_v1_minder_proto_rawDesc = []byte{ 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa3, 0x02, 0x0a, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x09, 0x72, 0x07, 0x32, 0x05, 0x5e, 0x76, 0x5c, 0x64, 0x24, 0x52, 0x07, 0x76, @@ -16101,918 +16262,942 @@ var file_minder_v1_minder_proto_rawDesc = []byte{ 0x2d, 0x7a, 0x5d, 0x5b, 0x2d, 0x5f, 0x5b, 0x3a, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x5d, 0x5d, 0x2a, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xe0, 0x41, 0x03, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x02, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x04, 0x72, 0x65, 0x73, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, + 0x72, 0x22, 0xbb, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x64, 0x65, 0x66, 0x1a, 0x95, + 0x01, 0x0a, 0x03, 0x44, 0x65, 0x66, 0x12, 0x3d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2e, 0x44, 0x65, 0x66, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x4f, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x06, 0xba, 0x48, 0x03, 0xd8, 0x01, 0x02, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x08, 0x44, 0x65, 0x66, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x44, 0x65, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xf6, 0x06, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x34, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x03, 0x64, 0x65, 0x66, 0x1a, 0xd6, 0x05, 0x0a, 0x03, 0x44, 0x65, 0x66, + 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x1a, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x14, 0x72, 0x12, 0x18, 0xa0, 0x06, 0x32, + 0x0d, 0x5e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3f, 0x3a, 0x2f, 0x2f, 0x2e, 0x2a, 0x24, 0x52, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xba, 0x48, 0x24, 0xd8, 0x01, 0x02, + 0x72, 0x1f, 0x52, 0x03, 0x47, 0x45, 0x54, 0x52, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x52, 0x03, 0x50, + 0x55, 0x54, 0x52, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x52, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x33, 0x0a, 0x07, 0x62, 0x6f, 0x64, 0x79, 0x6f, 0x62, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x64, + 0x79, 0x6f, 0x62, 0x6a, 0x12, 0x24, 0x0a, 0x07, 0x62, 0x6f, 0x64, 0x79, 0x73, 0x74, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x18, 0xe8, 0x07, 0x48, + 0x00, 0x52, 0x07, 0x62, 0x6f, 0x64, 0x79, 0x73, 0x74, 0x72, 0x12, 0x31, 0x0a, 0x0f, 0x62, 0x6f, + 0x64, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x18, 0x32, 0x48, 0x00, 0x52, 0x0d, + 0x62, 0x6f, 0x64, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x24, 0x0a, + 0x05, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xba, 0x48, + 0x0b, 0xd8, 0x01, 0x02, 0x72, 0x06, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x52, 0x05, 0x70, 0x61, + 0x72, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x73, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, - 0x65, 0x72, 0x22, 0xf6, 0x06, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, - 0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x64, 0x65, 0x66, 0x1a, 0xd6, 0x05, 0x0a, 0x03, - 0x44, 0x65, 0x66, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x14, 0x72, 0x12, 0x18, - 0xa0, 0x06, 0x32, 0x0d, 0x5e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3f, 0x3a, 0x2f, 0x2f, 0x2e, 0x2a, - 0x24, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xba, 0x48, 0x24, - 0xd8, 0x01, 0x02, 0x72, 0x1f, 0x52, 0x03, 0x47, 0x45, 0x54, 0x52, 0x04, 0x50, 0x4f, 0x53, 0x54, - 0x52, 0x03, 0x50, 0x55, 0x54, 0x52, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x52, 0x06, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x45, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x44, 0x0a, 0x07, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x2e, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x62, 0x6f, 0x64, 0x79, 0x6f, 0x62, 0x6a, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, - 0x62, 0x6f, 0x64, 0x79, 0x6f, 0x62, 0x6a, 0x12, 0x24, 0x0a, 0x07, 0x62, 0x6f, 0x64, 0x79, 0x73, - 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x18, - 0xe8, 0x07, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x64, 0x79, 0x73, 0x74, 0x72, 0x12, 0x31, 0x0a, - 0x0f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x18, 0x32, 0x48, - 0x00, 0x52, 0x0d, 0x62, 0x6f, 0x64, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x12, 0x24, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0e, 0xba, 0x48, 0x0b, 0xd8, 0x01, 0x02, 0x72, 0x06, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x52, - 0x05, 0x70, 0x61, 0x72, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x0f, 0x65, 0x78, - 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x05, 0x42, 0x12, 0xba, 0x48, 0x0f, 0xd8, 0x01, 0x02, 0x92, 0x01, 0x09, 0x22, 0x07, - 0x1a, 0x05, 0x18, 0xd7, 0x04, 0x28, 0x64, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x5b, 0x0a, 0x08, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x0b, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x02, 0x1a, 0x05, 0x18, 0xd7, 0x04, 0x28, 0x64, 0x52, - 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, 0xd8, 0x01, - 0x02, 0x72, 0x03, 0x18, 0xe8, 0x07, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x42, 0x06, 0x0a, 0x04, - 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x55, 0x0a, 0x08, 0x44, 0x65, 0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x2e, 0x44, 0x65, 0x66, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x08, 0x66, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, + 0x42, 0x12, 0xba, 0x48, 0x0f, 0xd8, 0x01, 0x02, 0x92, 0x01, 0x09, 0x22, 0x07, 0x1a, 0x05, 0x18, + 0xd7, 0x04, 0x28, 0x64, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x66, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x13, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1e, 0xba, 0x48, 0x1b, 0x72, 0x19, 0x18, 0xc8, 0x01, 0x32, 0x14, 0x5e, 0x5b, 0x61, 0x2d, - 0x7a, 0x5d, 0x5b, 0x2d, 0x5f, 0x5b, 0x3a, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x5d, 0x5d, 0x2a, 0x24, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x62, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, - 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, - 0x11, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x10, 0x03, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0xf3, 0x0f, 0x0a, 0x08, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x19, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, - 0x45, 0x54, 0x10, 0x02, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, - 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, - 0x10, 0x03, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, - 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x10, 0x04, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, - 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x05, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1d, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, - 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x1a, 0x18, 0xea, 0xdc, 0x14, 0x14, 0x72, - 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x08, + 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0d, 0xba, + 0x48, 0x0a, 0xd8, 0x01, 0x02, 0x1a, 0x05, 0x18, 0xd7, 0x04, 0x28, 0x64, 0x52, 0x0a, 0x68, 0x74, + 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x02, 0x72, 0x03, + 0x18, 0xe8, 0x07, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x1a, 0x55, 0x0a, 0x08, 0x44, 0x65, 0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x32, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xba, + 0x48, 0x1b, 0x72, 0x19, 0x18, 0xc8, 0x01, 0x32, 0x14, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x5d, 0x5b, + 0x2d, 0x5f, 0x5b, 0x3a, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x5d, 0x5d, 0x2a, 0x24, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x2a, 0x62, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, + 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, + 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, + 0x03, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0xf3, 0x0f, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, + 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x19, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x10, + 0x02, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, + 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x1a, + 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0f, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, + 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, + 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49, + 0x53, 0x54, 0x10, 0x05, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1d, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, - 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, - 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x11, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x09, 0x1a, 0x0c, 0xea, 0xdc, - 0x14, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, - 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x10, 0x0a, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x1a, - 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, - 0x4f, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, - 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, - 0x5f, 0x47, 0x45, 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, - 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, - 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, - 0x41, 0x43, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x10, 0x1a, 0x13, 0xea, 0xdc, - 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, - 0x5f, 0x47, 0x45, 0x54, 0x10, 0x11, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x70, 0x72, 0x5f, 0x67, - 0x65, 0x74, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, - 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x12, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, - 0x70, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0x13, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x14, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, - 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x54, - 0x10, 0x15, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x10, 0x16, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x10, 0x17, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, - 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x18, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x0a, - 0x16, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x19, 0x1a, 0x11, 0xea, 0xdc, 0x14, 0x0d, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x19, - 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1a, 0x1a, 0x14, 0xea, 0xdc, 0x14, - 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, - 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1b, - 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x10, 0x1c, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, - 0x47, 0x45, 0x54, 0x10, 0x1d, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x10, 0x1e, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0x1f, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x10, 0x20, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x21, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x67, - 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x22, - 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, - 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x55, 0x0a, 0x2a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, - 0x4c, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x10, 0x23, 0x1a, 0x25, 0xea, 0xdc, 0x14, 0x21, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, - 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, - 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x10, 0x24, 0x1a, 0x14, 0xea, 0xdc, 0x14, - 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, + 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x1a, 0x18, 0xea, 0xdc, 0x14, 0x14, 0x72, 0x6f, 0x6c, 0x65, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, + 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, - 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x10, 0x25, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, - 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x26, - 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x10, 0x27, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x37, - 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x28, 0x1a, - 0x16, 0xea, 0xdc, 0x14, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x29, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, - 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, - 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x18, - 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41, 0x52, 0x47, - 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, - 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0xdc, 0x01, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, - 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x45, 0x53, 0x10, - 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x49, 0x4c, - 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, - 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, - 0x41, 0x43, 0x54, 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0x04, - 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, - 0x53, 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, - 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x06, 0x12, 0x13, 0x0a, - 0x0f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x52, 0x55, 0x4e, - 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x49, - 0x4c, 0x44, 0x10, 0x08, 0x2a, 0xf9, 0x01, 0x0a, 0x14, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x27, 0x0a, - 0x23, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, - 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x1d, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, - 0x45, 0x5f, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x01, 0x1a, 0x09, 0xea, 0xdc, 0x14, 0x05, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x12, 0x2a, 0x0a, 0x1c, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, - 0x42, 0x45, 0x54, 0x41, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x62, 0x65, 0x74, 0x61, - 0x12, 0x26, 0x0a, 0x1a, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, - 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x47, 0x41, 0x10, 0x03, - 0x1a, 0x06, 0xea, 0xdc, 0x14, 0x02, 0x67, 0x61, 0x12, 0x36, 0x0a, 0x22, 0x52, 0x55, 0x4c, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, - 0x41, 0x53, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, - 0x1a, 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x2a, 0x97, 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x24, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x20, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, - 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x10, 0x02, 0x1a, 0x08, - 0xea, 0xdc, 0x14, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x10, 0x03, 0x1a, - 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x43, 0x49, 0x10, 0x04, 0x1a, - 0x07, 0xea, 0xdc, 0x14, 0x03, 0x6f, 0x63, 0x69, 0x12, 0x2e, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, - 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, - 0x6f, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, - 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x06, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2a, 0xd5, 0x01, 0x0a, 0x0d, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x1a, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x15, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, + 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, + 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x23, 0x0a, 0x11, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x09, 0x1a, 0x0c, 0xea, 0xdc, 0x14, 0x08, 0x72, + 0x65, 0x70, 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, + 0x0a, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x50, 0x4f, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x1a, 0x0f, 0xea, 0xdc, + 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, + 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, + 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x47, 0x45, + 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x10, 0x0e, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x10, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1f, + 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x47, 0x45, + 0x54, 0x10, 0x11, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x70, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x12, + 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x12, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x13, 0x1a, 0x0d, + 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, + 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x14, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x15, 0x1a, + 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x67, 0x65, + 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, + 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x16, 0x1a, + 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x10, 0x17, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x18, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x16, 0x52, 0x45, + 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x47, 0x45, 0x54, 0x10, 0x19, 0x1a, 0x11, 0xea, 0xdc, 0x14, 0x0d, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1a, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x33, + 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1b, 0x1a, 0x14, 0xea, + 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, + 0x10, 0x1c, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x47, 0x45, 0x54, + 0x10, 0x1d, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1e, + 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, + 0x1f, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, + 0x10, 0x20, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x21, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x67, 0x65, 0x74, 0x12, + 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, + 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x22, 0x1a, 0x13, 0xea, + 0xdc, 0x14, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x67, + 0x65, 0x74, 0x12, 0x55, 0x0a, 0x2a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, + 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x49, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x10, 0x23, 0x1a, 0x25, 0xea, 0xdc, 0x14, 0x21, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, + 0x73, 0x6b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x43, + 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x10, 0x24, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x12, 0x3f, + 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, + 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x45, 0x10, 0x25, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x26, 0x1a, 0x13, 0xea, + 0xdc, 0x14, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, + 0x65, 0x74, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x10, 0x27, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x28, 0x1a, 0x16, 0xea, 0xdc, + 0x14, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x29, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2a, 0x82, 0x01, + 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, + 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, + 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, + 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, + 0x10, 0x03, 0x2a, 0xdc, 0x01, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, + 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, + 0x52, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, + 0x0a, 0x19, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x45, + 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, + 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, + 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, + 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0x04, 0x12, 0x12, 0x0a, + 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, + 0x05, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x50, 0x45, + 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, + 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x07, 0x12, + 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, + 0x08, 0x2a, 0xf9, 0x01, 0x0a, 0x14, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x55, + 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, + 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x1d, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x41, + 0x4c, 0x50, 0x48, 0x41, 0x10, 0x01, 0x1a, 0x09, 0xea, 0xdc, 0x14, 0x05, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x12, 0x2a, 0x0a, 0x1c, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, + 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x42, 0x45, 0x54, + 0x41, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x62, 0x65, 0x74, 0x61, 0x12, 0x26, 0x0a, + 0x1a, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, + 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x47, 0x41, 0x10, 0x03, 0x1a, 0x06, 0xea, + 0xdc, 0x14, 0x02, 0x67, 0x61, 0x12, 0x36, 0x0a, 0x22, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, + 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x1a, 0x0e, 0xea, + 0xdc, 0x14, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x2a, 0x97, 0x02, + 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, + 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, + 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x12, 0x2d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, - 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x41, 0x50, 0x50, - 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2d, 0x61, - 0x70, 0x70, 0x12, 0x21, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, - 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x48, 0x43, 0x52, 0x10, 0x03, 0x1a, 0x08, 0xea, 0xdc, 0x14, - 0x04, 0x67, 0x68, 0x63, 0x72, 0x12, 0x2b, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, - 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x4f, 0x43, 0x4b, 0x45, 0x52, 0x48, 0x55, - 0x42, 0x10, 0x04, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x68, - 0x75, 0x62, 0x2a, 0xa9, 0x02, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x55, 0x54, 0x48, - 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x17, - 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, - 0x4f, 0x57, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x6e, - 0x6f, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, - 0x4e, 0x50, 0x55, 0x54, 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x31, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, - 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x4f, 0x41, 0x55, - 0x54, 0x48, 0x32, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x1a, 0x22, 0xea, - 0xdc, 0x14, 0x1e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x6f, - 0x77, 0x12, 0x3b, 0x0a, 0x22, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x41, - 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x04, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x2a, 0xbb, - 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, - 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x15, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x10, - 0x01, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x73, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x17, 0x43, 0x52, - 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x02, 0x1a, 0x09, 0xea, 0xdc, 0x14, 0x05, 0x75, 0x6e, 0x73, - 0x65, 0x74, 0x12, 0x38, 0x0a, 0x20, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, - 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, - 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x6e, 0x6f, - 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x32, 0x7d, 0x0a, 0x0d, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, - 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x1d, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0xaa, 0xf8, 0x18, - 0x04, 0x10, 0x01, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x32, 0xbc, 0x03, 0x0a, 0x0f, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x95, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x7f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, + 0x68, 0x75, 0x62, 0x12, 0x20, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, + 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x10, 0x03, 0x1a, 0x07, 0xea, 0xdc, + 0x14, 0x03, 0x67, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x43, 0x49, 0x10, 0x04, 0x1a, 0x07, 0xea, 0xdc, + 0x14, 0x03, 0x6f, 0x63, 0x69, 0x12, 0x2e, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x10, 0x05, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x2d, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x49, 0x53, + 0x54, 0x45, 0x52, 0x10, 0x06, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2a, 0xd5, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, + 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x15, 0x50, 0x52, 0x4f, + 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, + 0x55, 0x42, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x12, 0x2d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, + 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x02, 0x1a, + 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2d, 0x61, 0x70, 0x70, 0x12, + 0x21, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, + 0x53, 0x5f, 0x47, 0x48, 0x43, 0x52, 0x10, 0x03, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x67, 0x68, + 0x63, 0x72, 0x12, 0x2b, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x4f, 0x43, 0x4b, 0x45, 0x52, 0x48, 0x55, 0x42, 0x10, 0x04, + 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x68, 0x75, 0x62, 0x2a, + 0xa9, 0x02, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, + 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x17, 0x41, 0x55, 0x54, + 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x6e, 0x6f, 0x6e, 0x65, + 0x12, 0x31, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x50, 0x55, + 0x54, 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x31, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x32, + 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x1a, 0x22, 0xea, 0xdc, 0x14, 0x1e, + 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x3b, + 0x0a, 0x22, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x41, 0x50, 0x50, 0x5f, + 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x04, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x2a, 0xbb, 0x01, 0x0a, 0x10, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x15, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, + 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x1a, 0x07, + 0xea, 0xdc, 0x14, 0x03, 0x73, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x17, 0x43, 0x52, 0x45, 0x44, 0x45, + 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x45, 0x54, 0x10, 0x02, 0x1a, 0x09, 0xea, 0xdc, 0x14, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x12, + 0x38, 0x0a, 0x20, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x03, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x32, 0x7d, 0x0a, 0x0d, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x0b, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0xaa, 0xf8, 0x18, 0x04, 0x10, 0x01, + 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x32, 0xbc, 0x03, 0x0a, 0x0f, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, + 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1f, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x41, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x7d, 0x12, 0x7f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, + 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x25, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x6e, 0x61, 0x6d, 0x65, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, 0xb6, 0x05, 0x0a, 0x0c, 0x4f, - 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x55, 0x52, 0x4c, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x75, 0x72, 0x6c, 0x12, 0xac, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, - 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x5a, 0x17, 0x3a, 0x01, 0x2a, - 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, - 0x74, 0x68, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0xd2, 0x01, 0x0a, 0x17, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, - 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, - 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x5a, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x12, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x32, 0xe9, 0x0a, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x12, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x3a, 0x01, 0x2a, - 0x5a, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x12, 0xf1, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, - 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, - 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, - 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x28, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, - 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, - 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0xd0, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e, 0x61, 0x6d, - 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x35, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, - 0x2a, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x26, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, - 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, 0xb6, 0x05, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, + 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, + 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, + 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75, 0x72, + 0x6c, 0x12, 0xac, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x5a, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0xd2, 0x01, 0x0a, 0x17, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x29, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x60, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x5a, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x12, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x7d, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x12, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x32, 0xe9, 0x0a, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x0a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x3a, + 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, + 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0xf1, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x22, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x12, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x50, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x42, 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd0, 0x01, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x2a, 0x35, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x35, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, - 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, - 0xce, 0x04, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x68, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0xaa, 0xf8, 0x18, 0x02, - 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, - 0x12, 0x5c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, - 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x80, - 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, + 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, + 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, + 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xd9, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, + 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x2a, 0x35, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, + 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, 0xce, 0x04, 0x0a, + 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, + 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x5c, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x0f, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x02, 0x30, - 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2c, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, - 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x63, 0x6f, 0x64, 0x65, 0x7d, - 0x32, 0xbe, 0x09, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, - 0x01, 0x2a, 0x1a, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x7c, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x32, 0x14, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0x78, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x20, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x71, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, - 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x7b, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, - 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8c, + 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2c, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x32, 0xbe, 0x09, + 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, + 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x1a, + 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x7c, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2b, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1d, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x32, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x78, + 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x20, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, + 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x20, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x9e, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, + 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x9e, 0x01, + 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x32, 0xfd, 0x07, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x27, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, 0x01, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x32, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, - 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x2a, 0x2a, 0x7d, 0x12, 0x7e, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xfd, + 0x07, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x27, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, + 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xaa, 0xf8, + 0x18, 0x04, 0x30, 0x03, 0x38, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, + 0x12, 0x7e, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x18, 0x3a, 0x01, 0x2a, 0x1a, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x14, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, - 0x49, 0x64, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x29, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa1, 0x01, - 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x83, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, + 0x2a, 0x1a, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, + 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, + 0x2a, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, - 0x7d, 0x32, 0x98, 0x06, 0x0a, 0x0f, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x90, 0x01, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, - 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, + 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, 0x98, + 0x06, 0x0a, 0x0f, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6e, + 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x80, 0x01, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, + 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, - 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x7b, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, + 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x1a, 0x11, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x7d, 0x0a, - 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x7b, 0x0a, + 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x32, 0xc0, 0x03, 0x0a, - 0x12, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x27, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, - 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x8d, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x32, - 0x8a, 0x05, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x13, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x06, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, - 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x78, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, - 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, - 0x18, 0x04, 0x30, 0x03, 0x38, 0x07, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, - 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x78, 0x0a, 0x0a, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x08, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, - 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x32, 0xc5, 0x07, 0x0a, - 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x02, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x9e, 0x01, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x74, 0x0a, - 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, + 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x1a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x04, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x2a, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x1a, 0x10, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0c, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x05, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x32, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x30, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x32, 0xc0, 0x03, 0x0a, 0x12, 0x45, 0x76, + 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x8b, + 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x8d, 0x01, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x32, 0x8a, 0x05, 0x0a, + 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x12, 0x1b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x06, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x78, + 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, + 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, + 0x03, 0x38, 0x07, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x78, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x25, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, + 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x08, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x32, 0xc5, 0x07, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, + 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1e, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x02, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x77, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x7d, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x74, 0x0a, 0x0d, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x04, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x77, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x1a, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0c, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x32, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, - 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6e, - 0x63, 0x69, 0x6c, 0x65, 0x32, 0xc4, 0x08, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x0d, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x05, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x76, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, - 0x75, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, - 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x78, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x30, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, + 0x65, 0x32, 0xc4, 0x08, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x0d, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x76, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x75, 0x0a, 0x0d, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, + 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x78, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, + 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x12, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, + 0x44, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x89, 0x01, - 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x13, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, - 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x1b, 0x52, - 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x32, 0x92, 0x01, 0x0a, 0x0d, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x80, 0x01, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, - 0x02, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x7b, 0x63, 0x6f, 0x64, 0x65, 0x7d, - 0x3a, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcd, 0xcb, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x3a, 0x58, 0x0a, 0x0b, - 0x72, 0x70, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x85, 0x8f, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x65, 0x63, 0x2f, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x25, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x6f, + 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x24, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x32, 0x92, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x7b, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x3a, 0x3a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcd, 0xcb, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x3a, 0x58, 0x0a, 0x0b, 0x72, 0x70, 0x63, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x85, 0x8f, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x70, 0x63, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x65, 0x63, 0x2f, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -17028,7 +17213,7 @@ func file_minder_v1_minder_proto_rawDescGZIP() []byte { } var file_minder_v1_minder_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_minder_v1_minder_proto_msgTypes = make([]protoimpl.MessageInfo, 223) +var file_minder_v1_minder_proto_msgTypes = make([]protoimpl.MessageInfo, 227) var file_minder_v1_minder_proto_goTypes = []any{ (ObjectOwner)(0), // 0: minder.v1.ObjectOwner (Relation)(0), // 1: minder.v1.Relation @@ -17229,46 +17414,50 @@ var file_minder_v1_minder_proto_goTypes = []any{ (*EntityInstance)(nil), // 196: minder.v1.EntityInstance (*UpstreamEntityRef)(nil), // 197: minder.v1.UpstreamEntityRef (*DataSource)(nil), // 198: minder.v1.DataSource - (*RestDataSource)(nil), // 199: minder.v1.RestDataSource - (*DataSourceReference)(nil), // 200: minder.v1.DataSourceReference - (*RegisterRepoResult_Status)(nil), // 201: minder.v1.RegisterRepoResult.Status - nil, // 202: minder.v1.RuleEvaluationStatus.EntityInfoEntry - nil, // 203: minder.v1.AutoRegistration.EntitiesEntry - (*ListEvaluationResultsResponse_EntityProfileEvaluationResults)(nil), // 204: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults - (*ListEvaluationResultsResponse_EntityEvaluationResults)(nil), // 205: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults - (*RestType_Fallback)(nil), // 206: minder.v1.RestType.Fallback - (*DiffType_Ecosystem)(nil), // 207: minder.v1.DiffType.Ecosystem - (*DepsType_RepoConfigs)(nil), // 208: minder.v1.DepsType.RepoConfigs - (*DepsType_PullRequestConfigs)(nil), // 209: minder.v1.DepsType.PullRequestConfigs - (*RuleType_Definition)(nil), // 210: minder.v1.RuleType.Definition - (*RuleType_Definition_Ingest)(nil), // 211: minder.v1.RuleType.Definition.Ingest - (*RuleType_Definition_Eval)(nil), // 212: minder.v1.RuleType.Definition.Eval - (*RuleType_Definition_Remediate)(nil), // 213: minder.v1.RuleType.Definition.Remediate - (*RuleType_Definition_Alert)(nil), // 214: minder.v1.RuleType.Definition.Alert - (*RuleType_Definition_Eval_JQComparison)(nil), // 215: minder.v1.RuleType.Definition.Eval.JQComparison - (*RuleType_Definition_Eval_Rego)(nil), // 216: minder.v1.RuleType.Definition.Eval.Rego - (*RuleType_Definition_Eval_Vulncheck)(nil), // 217: minder.v1.RuleType.Definition.Eval.Vulncheck - (*RuleType_Definition_Eval_Trusty)(nil), // 218: minder.v1.RuleType.Definition.Eval.Trusty - (*RuleType_Definition_Eval_Homoglyphs)(nil), // 219: minder.v1.RuleType.Definition.Eval.Homoglyphs - (*RuleType_Definition_Eval_JQComparison_Operator)(nil), // 220: minder.v1.RuleType.Definition.Eval.JQComparison.Operator - (*RuleType_Definition_Remediate_GhBranchProtectionType)(nil), // 221: minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType - (*RuleType_Definition_Remediate_PullRequestRemediation)(nil), // 222: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation - (*RuleType_Definition_Remediate_PullRequestRemediation_Content)(nil), // 223: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content - (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha)(nil), // 224: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha - (*RuleType_Definition_Alert_AlertTypeSA)(nil), // 225: minder.v1.RuleType.Definition.Alert.AlertTypeSA - (*RuleType_Definition_Alert_AlertTypePRComment)(nil), // 226: minder.v1.RuleType.Definition.Alert.AlertTypePRComment - (*Profile_Rule)(nil), // 227: minder.v1.Profile.Rule - (*Profile_Selector)(nil), // 228: minder.v1.Profile.Selector - (*RestDataSource_Def)(nil), // 229: minder.v1.RestDataSource.Def - nil, // 230: minder.v1.RestDataSource.DefEntry - nil, // 231: minder.v1.RestDataSource.Def.HeadersEntry - (*RestDataSource_Def_Fallback)(nil), // 232: minder.v1.RestDataSource.Def.Fallback - (*timestamppb.Timestamp)(nil), // 233: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 234: google.protobuf.Struct - (*fieldmaskpb.FieldMask)(nil), // 235: google.protobuf.FieldMask - (*structpb.Value)(nil), // 236: google.protobuf.Value - (*descriptorpb.EnumValueOptions)(nil), // 237: google.protobuf.EnumValueOptions - (*descriptorpb.MethodOptions)(nil), // 238: google.protobuf.MethodOptions + (*StructDataSource)(nil), // 199: minder.v1.StructDataSource + (*RestDataSource)(nil), // 200: minder.v1.RestDataSource + (*DataSourceReference)(nil), // 201: minder.v1.DataSourceReference + (*RegisterRepoResult_Status)(nil), // 202: minder.v1.RegisterRepoResult.Status + nil, // 203: minder.v1.RuleEvaluationStatus.EntityInfoEntry + nil, // 204: minder.v1.AutoRegistration.EntitiesEntry + (*ListEvaluationResultsResponse_EntityProfileEvaluationResults)(nil), // 205: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults + (*ListEvaluationResultsResponse_EntityEvaluationResults)(nil), // 206: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults + (*RestType_Fallback)(nil), // 207: minder.v1.RestType.Fallback + (*DiffType_Ecosystem)(nil), // 208: minder.v1.DiffType.Ecosystem + (*DepsType_RepoConfigs)(nil), // 209: minder.v1.DepsType.RepoConfigs + (*DepsType_PullRequestConfigs)(nil), // 210: minder.v1.DepsType.PullRequestConfigs + (*RuleType_Definition)(nil), // 211: minder.v1.RuleType.Definition + (*RuleType_Definition_Ingest)(nil), // 212: minder.v1.RuleType.Definition.Ingest + (*RuleType_Definition_Eval)(nil), // 213: minder.v1.RuleType.Definition.Eval + (*RuleType_Definition_Remediate)(nil), // 214: minder.v1.RuleType.Definition.Remediate + (*RuleType_Definition_Alert)(nil), // 215: minder.v1.RuleType.Definition.Alert + (*RuleType_Definition_Eval_JQComparison)(nil), // 216: minder.v1.RuleType.Definition.Eval.JQComparison + (*RuleType_Definition_Eval_Rego)(nil), // 217: minder.v1.RuleType.Definition.Eval.Rego + (*RuleType_Definition_Eval_Vulncheck)(nil), // 218: minder.v1.RuleType.Definition.Eval.Vulncheck + (*RuleType_Definition_Eval_Trusty)(nil), // 219: minder.v1.RuleType.Definition.Eval.Trusty + (*RuleType_Definition_Eval_Homoglyphs)(nil), // 220: minder.v1.RuleType.Definition.Eval.Homoglyphs + (*RuleType_Definition_Eval_JQComparison_Operator)(nil), // 221: minder.v1.RuleType.Definition.Eval.JQComparison.Operator + (*RuleType_Definition_Remediate_GhBranchProtectionType)(nil), // 222: minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType + (*RuleType_Definition_Remediate_PullRequestRemediation)(nil), // 223: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation + (*RuleType_Definition_Remediate_PullRequestRemediation_Content)(nil), // 224: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content + (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha)(nil), // 225: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha + (*RuleType_Definition_Alert_AlertTypeSA)(nil), // 226: minder.v1.RuleType.Definition.Alert.AlertTypeSA + (*RuleType_Definition_Alert_AlertTypePRComment)(nil), // 227: minder.v1.RuleType.Definition.Alert.AlertTypePRComment + (*Profile_Rule)(nil), // 228: minder.v1.Profile.Rule + (*Profile_Selector)(nil), // 229: minder.v1.Profile.Selector + (*StructDataSource_Def)(nil), // 230: minder.v1.StructDataSource.Def + nil, // 231: minder.v1.StructDataSource.DefEntry + (*StructDataSource_Def_Path)(nil), // 232: minder.v1.StructDataSource.Def.Path + (*RestDataSource_Def)(nil), // 233: minder.v1.RestDataSource.Def + nil, // 234: minder.v1.RestDataSource.DefEntry + nil, // 235: minder.v1.RestDataSource.Def.HeadersEntry + (*RestDataSource_Def_Fallback)(nil), // 236: minder.v1.RestDataSource.Def.Fallback + (*timestamppb.Timestamp)(nil), // 237: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 238: google.protobuf.Struct + (*fieldmaskpb.FieldMask)(nil), // 239: google.protobuf.FieldMask + (*structpb.Value)(nil), // 240: google.protobuf.Value + (*descriptorpb.EnumValueOptions)(nil), // 241: google.protobuf.EnumValueOptions + (*descriptorpb.MethodOptions)(nil), // 242: google.protobuf.MethodOptions } var file_minder_v1_minder_proto_depIdxs = []int32{ 2, // 0: minder.v1.RpcOptions.target_resource:type_name -> minder.v1.TargetResource @@ -17278,35 +17467,35 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 111, // 4: minder.v1.ListArtifactsRequest.context:type_name -> minder.v1.Context 15, // 5: minder.v1.ListArtifactsResponse.results:type_name -> minder.v1.Artifact 16, // 6: minder.v1.Artifact.versions:type_name -> minder.v1.ArtifactVersion - 233, // 7: minder.v1.Artifact.created_at:type_name -> google.protobuf.Timestamp + 237, // 7: minder.v1.Artifact.created_at:type_name -> google.protobuf.Timestamp 111, // 8: minder.v1.Artifact.context:type_name -> minder.v1.Context - 233, // 9: minder.v1.ArtifactVersion.created_at:type_name -> google.protobuf.Timestamp + 237, // 9: minder.v1.ArtifactVersion.created_at:type_name -> google.protobuf.Timestamp 111, // 10: minder.v1.GetArtifactByIdRequest.context:type_name -> minder.v1.Context 15, // 11: minder.v1.GetArtifactByIdResponse.artifact:type_name -> minder.v1.Artifact 16, // 12: minder.v1.GetArtifactByIdResponse.versions:type_name -> minder.v1.ArtifactVersion 111, // 13: minder.v1.GetArtifactByNameRequest.context:type_name -> minder.v1.Context 15, // 14: minder.v1.GetArtifactByNameResponse.artifact:type_name -> minder.v1.Artifact 16, // 15: minder.v1.GetArtifactByNameResponse.versions:type_name -> minder.v1.ArtifactVersion - 233, // 16: minder.v1.GetInviteDetailsResponse.expires_at:type_name -> google.protobuf.Timestamp + 237, // 16: minder.v1.GetInviteDetailsResponse.expires_at:type_name -> google.protobuf.Timestamp 111, // 17: minder.v1.GetAuthorizationURLRequest.context:type_name -> minder.v1.Context - 234, // 18: minder.v1.GetAuthorizationURLRequest.config:type_name -> google.protobuf.Struct + 238, // 18: minder.v1.GetAuthorizationURLRequest.config:type_name -> google.protobuf.Struct 111, // 19: minder.v1.StoreProviderTokenRequest.context:type_name -> minder.v1.Context - 233, // 20: minder.v1.Project.created_at:type_name -> google.protobuf.Timestamp - 233, // 21: minder.v1.Project.updated_at:type_name -> google.protobuf.Timestamp + 237, // 20: minder.v1.Project.created_at:type_name -> google.protobuf.Timestamp + 237, // 21: minder.v1.Project.updated_at:type_name -> google.protobuf.Timestamp 111, // 22: minder.v1.ListRemoteRepositoriesFromProviderRequest.context:type_name -> minder.v1.Context 37, // 23: minder.v1.ListRemoteRepositoriesFromProviderResponse.results:type_name -> minder.v1.UpstreamRepositoryRef 36, // 24: minder.v1.ListRemoteRepositoriesFromProviderResponse.entities:type_name -> minder.v1.RegistrableUpstreamEntityRef 197, // 25: minder.v1.RegistrableUpstreamEntityRef.entity:type_name -> minder.v1.UpstreamEntityRef 111, // 26: minder.v1.UpstreamRepositoryRef.context:type_name -> minder.v1.Context 111, // 27: minder.v1.Repository.context:type_name -> minder.v1.Context - 233, // 28: minder.v1.Repository.created_at:type_name -> google.protobuf.Timestamp - 233, // 29: minder.v1.Repository.updated_at:type_name -> google.protobuf.Timestamp - 234, // 30: minder.v1.Repository.properties:type_name -> google.protobuf.Struct + 237, // 28: minder.v1.Repository.created_at:type_name -> google.protobuf.Timestamp + 237, // 29: minder.v1.Repository.updated_at:type_name -> google.protobuf.Timestamp + 238, // 30: minder.v1.Repository.properties:type_name -> google.protobuf.Struct 37, // 31: minder.v1.RegisterRepositoryRequest.repository:type_name -> minder.v1.UpstreamRepositoryRef 111, // 32: minder.v1.RegisterRepositoryRequest.context:type_name -> minder.v1.Context 197, // 33: minder.v1.RegisterRepositoryRequest.entity:type_name -> minder.v1.UpstreamEntityRef 38, // 34: minder.v1.RegisterRepoResult.repository:type_name -> minder.v1.Repository - 201, // 35: minder.v1.RegisterRepoResult.status:type_name -> minder.v1.RegisterRepoResult.Status + 202, // 35: minder.v1.RegisterRepoResult.status:type_name -> minder.v1.RegisterRepoResult.Status 40, // 36: minder.v1.RegisterRepositoryResponse.result:type_name -> minder.v1.RegisterRepoResult 111, // 37: minder.v1.GetRepositoryByIdRequest.context:type_name -> minder.v1.Context 38, // 38: minder.v1.GetRepositoryByIdResponse.repository:type_name -> minder.v1.Repository @@ -17317,13 +17506,13 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 111, // 43: minder.v1.ListRepositoriesRequest.context:type_name -> minder.v1.Context 38, // 44: minder.v1.ListRepositoriesResponse.results:type_name -> minder.v1.Repository 111, // 45: minder.v1.ReconcileEntityRegistrationRequest.context:type_name -> minder.v1.Context - 233, // 46: minder.v1.VerifyProviderTokenFromRequest.timestamp:type_name -> google.protobuf.Timestamp + 237, // 46: minder.v1.VerifyProviderTokenFromRequest.timestamp:type_name -> google.protobuf.Timestamp 111, // 47: minder.v1.VerifyProviderTokenFromRequest.context:type_name -> minder.v1.Context 111, // 48: minder.v1.VerifyProviderCredentialRequest.context:type_name -> minder.v1.Context - 233, // 49: minder.v1.CreateUserResponse.created_at:type_name -> google.protobuf.Timestamp + 237, // 49: minder.v1.CreateUserResponse.created_at:type_name -> google.protobuf.Timestamp 111, // 50: minder.v1.CreateUserResponse.context:type_name -> minder.v1.Context - 233, // 51: minder.v1.UserRecord.created_at:type_name -> google.protobuf.Timestamp - 233, // 52: minder.v1.UserRecord.updated_at:type_name -> google.protobuf.Timestamp + 237, // 51: minder.v1.UserRecord.created_at:type_name -> google.protobuf.Timestamp + 237, // 52: minder.v1.UserRecord.updated_at:type_name -> google.protobuf.Timestamp 161, // 53: minder.v1.ProjectRole.role:type_name -> minder.v1.Role 33, // 54: minder.v1.ProjectRole.project:type_name -> minder.v1.Project 62, // 55: minder.v1.GetUserResponse.user:type_name -> minder.v1.UserRecord @@ -17347,7 +17536,7 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 135, // 73: minder.v1.UpdateProfileResponse.profile:type_name -> minder.v1.Profile 111, // 74: minder.v1.PatchProfileRequest.context:type_name -> minder.v1.Context 135, // 75: minder.v1.PatchProfileRequest.patch:type_name -> minder.v1.Profile - 235, // 76: minder.v1.PatchProfileRequest.update_mask:type_name -> google.protobuf.FieldMask + 239, // 76: minder.v1.PatchProfileRequest.update_mask:type_name -> google.protobuf.FieldMask 135, // 77: minder.v1.PatchProfileResponse.profile:type_name -> minder.v1.Profile 111, // 78: minder.v1.DeleteProfileRequest.context:type_name -> minder.v1.Context 111, // 79: minder.v1.ListProfilesRequest.context:type_name -> minder.v1.Context @@ -17356,11 +17545,11 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 135, // 82: minder.v1.GetProfileByIdResponse.profile:type_name -> minder.v1.Profile 111, // 83: minder.v1.GetProfileByNameRequest.context:type_name -> minder.v1.Context 135, // 84: minder.v1.GetProfileByNameResponse.profile:type_name -> minder.v1.Profile - 233, // 85: minder.v1.ProfileStatus.last_updated:type_name -> google.protobuf.Timestamp - 233, // 86: minder.v1.EvalResultAlert.last_updated:type_name -> google.protobuf.Timestamp - 233, // 87: minder.v1.RuleEvaluationStatus.last_updated:type_name -> google.protobuf.Timestamp - 202, // 88: minder.v1.RuleEvaluationStatus.entity_info:type_name -> minder.v1.RuleEvaluationStatus.EntityInfoEntry - 233, // 89: minder.v1.RuleEvaluationStatus.remediation_last_updated:type_name -> google.protobuf.Timestamp + 237, // 85: minder.v1.ProfileStatus.last_updated:type_name -> google.protobuf.Timestamp + 237, // 86: minder.v1.EvalResultAlert.last_updated:type_name -> google.protobuf.Timestamp + 237, // 87: minder.v1.RuleEvaluationStatus.last_updated:type_name -> google.protobuf.Timestamp + 203, // 88: minder.v1.RuleEvaluationStatus.entity_info:type_name -> minder.v1.RuleEvaluationStatus.EntityInfoEntry + 237, // 89: minder.v1.RuleEvaluationStatus.remediation_last_updated:type_name -> google.protobuf.Timestamp 95, // 90: minder.v1.RuleEvaluationStatus.alert:type_name -> minder.v1.EvalResultAlert 133, // 91: minder.v1.RuleEvaluationStatus.severity:type_name -> minder.v1.Severity 4, // 92: minder.v1.RuleEvaluationStatus.release_phase:type_name -> minder.v1.RuleTypeReleasePhase @@ -17371,7 +17560,7 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 96, // 97: minder.v1.GetProfileStatusByNameResponse.rule_evaluation_status:type_name -> minder.v1.RuleEvaluationStatus 111, // 98: minder.v1.GetProfileStatusByProjectRequest.context:type_name -> minder.v1.Context 94, // 99: minder.v1.GetProfileStatusByProjectResponse.profile_status:type_name -> minder.v1.ProfileStatus - 203, // 100: minder.v1.AutoRegistration.entities:type_name -> minder.v1.AutoRegistration.EntitiesEntry + 204, // 100: minder.v1.AutoRegistration.entities:type_name -> minder.v1.AutoRegistration.EntitiesEntry 103, // 101: minder.v1.ProviderConfig.auto_registration:type_name -> minder.v1.AutoRegistration 111, // 102: minder.v1.ListRuleTypesRequest.context:type_name -> minder.v1.Context 134, // 103: minder.v1.ListRuleTypesResponse.rule_types:type_name -> minder.v1.RuleType @@ -17386,26 +17575,26 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 111, // 112: minder.v1.DeleteRuleTypeRequest.context:type_name -> minder.v1.Context 111, // 113: minder.v1.ListEvaluationResultsRequest.context:type_name -> minder.v1.Context 97, // 114: minder.v1.ListEvaluationResultsRequest.entity:type_name -> minder.v1.EntityTypedId - 205, // 115: minder.v1.ListEvaluationResultsResponse.entities:type_name -> minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults - 206, // 116: minder.v1.RestType.fallback:type_name -> minder.v1.RestType.Fallback - 207, // 117: minder.v1.DiffType.ecosystems:type_name -> minder.v1.DiffType.Ecosystem - 208, // 118: minder.v1.DepsType.repo:type_name -> minder.v1.DepsType.RepoConfigs - 209, // 119: minder.v1.DepsType.pr:type_name -> minder.v1.DepsType.PullRequestConfigs + 206, // 115: minder.v1.ListEvaluationResultsResponse.entities:type_name -> minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults + 207, // 116: minder.v1.RestType.fallback:type_name -> minder.v1.RestType.Fallback + 208, // 117: minder.v1.DiffType.ecosystems:type_name -> minder.v1.DiffType.Ecosystem + 209, // 118: minder.v1.DepsType.repo:type_name -> minder.v1.DepsType.RepoConfigs + 210, // 119: minder.v1.DepsType.pr:type_name -> minder.v1.DepsType.PullRequestConfigs 9, // 120: minder.v1.Severity.value:type_name -> minder.v1.Severity.Value 111, // 121: minder.v1.RuleType.context:type_name -> minder.v1.Context - 210, // 122: minder.v1.RuleType.def:type_name -> minder.v1.RuleType.Definition + 211, // 122: minder.v1.RuleType.def:type_name -> minder.v1.RuleType.Definition 133, // 123: minder.v1.RuleType.severity:type_name -> minder.v1.Severity 4, // 124: minder.v1.RuleType.release_phase:type_name -> minder.v1.RuleTypeReleasePhase 111, // 125: minder.v1.Profile.context:type_name -> minder.v1.Context - 227, // 126: minder.v1.Profile.repository:type_name -> minder.v1.Profile.Rule - 227, // 127: minder.v1.Profile.build_environment:type_name -> minder.v1.Profile.Rule - 227, // 128: minder.v1.Profile.artifact:type_name -> minder.v1.Profile.Rule - 227, // 129: minder.v1.Profile.pull_request:type_name -> minder.v1.Profile.Rule - 227, // 130: minder.v1.Profile.release:type_name -> minder.v1.Profile.Rule - 227, // 131: minder.v1.Profile.pipeline_run:type_name -> minder.v1.Profile.Rule - 227, // 132: minder.v1.Profile.task_run:type_name -> minder.v1.Profile.Rule - 227, // 133: minder.v1.Profile.build:type_name -> minder.v1.Profile.Rule - 228, // 134: minder.v1.Profile.selection:type_name -> minder.v1.Profile.Selector + 228, // 126: minder.v1.Profile.repository:type_name -> minder.v1.Profile.Rule + 228, // 127: minder.v1.Profile.build_environment:type_name -> minder.v1.Profile.Rule + 228, // 128: minder.v1.Profile.artifact:type_name -> minder.v1.Profile.Rule + 228, // 129: minder.v1.Profile.pull_request:type_name -> minder.v1.Profile.Rule + 228, // 130: minder.v1.Profile.release:type_name -> minder.v1.Profile.Rule + 228, // 131: minder.v1.Profile.pipeline_run:type_name -> minder.v1.Profile.Rule + 228, // 132: minder.v1.Profile.task_run:type_name -> minder.v1.Profile.Rule + 228, // 133: minder.v1.Profile.build:type_name -> minder.v1.Profile.Rule + 229, // 134: minder.v1.Profile.selection:type_name -> minder.v1.Profile.Selector 33, // 135: minder.v1.ListProjectsResponse.projects:type_name -> minder.v1.Project 111, // 136: minder.v1.CreateProjectRequest.context:type_name -> minder.v1.Context 33, // 137: minder.v1.CreateProjectResponse.project:type_name -> minder.v1.Project @@ -17414,7 +17603,7 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 33, // 140: minder.v1.UpdateProjectResponse.project:type_name -> minder.v1.Project 111, // 141: minder.v1.PatchProjectRequest.context:type_name -> minder.v1.Context 144, // 142: minder.v1.PatchProjectRequest.patch:type_name -> minder.v1.ProjectPatch - 235, // 143: minder.v1.PatchProjectRequest.update_mask:type_name -> google.protobuf.FieldMask + 239, // 143: minder.v1.PatchProjectRequest.update_mask:type_name -> google.protobuf.FieldMask 33, // 144: minder.v1.PatchProjectResponse.project:type_name -> minder.v1.Project 112, // 145: minder.v1.ListChildProjectsRequest.context:type_name -> minder.v1.ContextV2 33, // 146: minder.v1.ListChildProjectsResponse.projects:type_name -> minder.v1.Project @@ -17437,8 +17626,8 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 162, // 163: minder.v1.RemoveRoleResponse.role_assignment:type_name -> minder.v1.RoleAssignment 167, // 164: minder.v1.RemoveRoleResponse.invitation:type_name -> minder.v1.Invitation 167, // 165: minder.v1.ListInvitationsResponse.invitations:type_name -> minder.v1.Invitation - 233, // 166: minder.v1.Invitation.created_at:type_name -> google.protobuf.Timestamp - 233, // 167: minder.v1.Invitation.expires_at:type_name -> google.protobuf.Timestamp + 237, // 166: minder.v1.Invitation.created_at:type_name -> google.protobuf.Timestamp + 237, // 167: minder.v1.Invitation.expires_at:type_name -> google.protobuf.Timestamp 111, // 168: minder.v1.GetProviderRequest.context:type_name -> minder.v1.Context 185, // 169: minder.v1.GetProviderResponse.provider:type_name -> minder.v1.Provider 111, // 170: minder.v1.ListProvidersRequest.context:type_name -> minder.v1.Context @@ -17452,17 +17641,17 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 111, // 178: minder.v1.ListProviderClassesRequest.context:type_name -> minder.v1.Context 111, // 179: minder.v1.PatchProviderRequest.context:type_name -> minder.v1.Context 185, // 180: minder.v1.PatchProviderRequest.patch:type_name -> minder.v1.Provider - 235, // 181: minder.v1.PatchProviderRequest.update_mask:type_name -> google.protobuf.FieldMask + 239, // 181: minder.v1.PatchProviderRequest.update_mask:type_name -> google.protobuf.FieldMask 185, // 182: minder.v1.PatchProviderResponse.provider:type_name -> minder.v1.Provider 184, // 183: minder.v1.ProviderParameter.github_app:type_name -> minder.v1.GitHubAppParams 5, // 184: minder.v1.Provider.implements:type_name -> minder.v1.ProviderType - 234, // 185: minder.v1.Provider.config:type_name -> google.protobuf.Struct + 238, // 185: minder.v1.Provider.config:type_name -> google.protobuf.Struct 7, // 186: minder.v1.Provider.auth_flows:type_name -> minder.v1.AuthorizationFlow 183, // 187: minder.v1.Provider.parameters:type_name -> minder.v1.ProviderParameter 111, // 188: minder.v1.GetEvaluationHistoryRequest.context:type_name -> minder.v1.Context 111, // 189: minder.v1.ListEvaluationHistoryRequest.context:type_name -> minder.v1.Context - 233, // 190: minder.v1.ListEvaluationHistoryRequest.from:type_name -> google.protobuf.Timestamp - 233, // 191: minder.v1.ListEvaluationHistoryRequest.to:type_name -> google.protobuf.Timestamp + 237, // 190: minder.v1.ListEvaluationHistoryRequest.from:type_name -> google.protobuf.Timestamp + 237, // 191: minder.v1.ListEvaluationHistoryRequest.to:type_name -> google.protobuf.Timestamp 11, // 192: minder.v1.ListEvaluationHistoryRequest.cursor:type_name -> minder.v1.Cursor 190, // 193: minder.v1.GetEvaluationHistoryResponse.evaluation:type_name -> minder.v1.EvaluationHistory 190, // 194: minder.v1.ListEvaluationHistoryResponse.data:type_name -> minder.v1.EvaluationHistory @@ -17472,199 +17661,203 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 193, // 198: minder.v1.EvaluationHistory.status:type_name -> minder.v1.EvaluationHistoryStatus 195, // 199: minder.v1.EvaluationHistory.alert:type_name -> minder.v1.EvaluationHistoryAlert 194, // 200: minder.v1.EvaluationHistory.remediation:type_name -> minder.v1.EvaluationHistoryRemediation - 233, // 201: minder.v1.EvaluationHistory.evaluated_at:type_name -> google.protobuf.Timestamp + 237, // 201: minder.v1.EvaluationHistory.evaluated_at:type_name -> google.protobuf.Timestamp 3, // 202: minder.v1.EvaluationHistoryEntity.type:type_name -> minder.v1.Entity 133, // 203: minder.v1.EvaluationHistoryRule.severity:type_name -> minder.v1.Severity 112, // 204: minder.v1.EntityInstance.context:type_name -> minder.v1.ContextV2 3, // 205: minder.v1.EntityInstance.type:type_name -> minder.v1.Entity - 234, // 206: minder.v1.EntityInstance.properties:type_name -> google.protobuf.Struct + 238, // 206: minder.v1.EntityInstance.properties:type_name -> google.protobuf.Struct 112, // 207: minder.v1.UpstreamEntityRef.context:type_name -> minder.v1.ContextV2 3, // 208: minder.v1.UpstreamEntityRef.type:type_name -> minder.v1.Entity - 234, // 209: minder.v1.UpstreamEntityRef.properties:type_name -> google.protobuf.Struct + 238, // 209: minder.v1.UpstreamEntityRef.properties:type_name -> google.protobuf.Struct 112, // 210: minder.v1.DataSource.context:type_name -> minder.v1.ContextV2 - 199, // 211: minder.v1.DataSource.rest:type_name -> minder.v1.RestDataSource - 230, // 212: minder.v1.RestDataSource.def:type_name -> minder.v1.RestDataSource.DefEntry - 102, // 213: minder.v1.AutoRegistration.EntitiesEntry.value:type_name -> minder.v1.EntityAutoRegistrationConfig - 94, // 214: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.profile_status:type_name -> minder.v1.ProfileStatus - 96, // 215: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.results:type_name -> minder.v1.RuleEvaluationStatus - 97, // 216: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.entity:type_name -> minder.v1.EntityTypedId - 204, // 217: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.profiles:type_name -> minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults - 234, // 218: minder.v1.RuleType.Definition.rule_schema:type_name -> google.protobuf.Struct - 234, // 219: minder.v1.RuleType.Definition.param_schema:type_name -> google.protobuf.Struct - 211, // 220: minder.v1.RuleType.Definition.ingest:type_name -> minder.v1.RuleType.Definition.Ingest - 212, // 221: minder.v1.RuleType.Definition.eval:type_name -> minder.v1.RuleType.Definition.Eval - 213, // 222: minder.v1.RuleType.Definition.remediate:type_name -> minder.v1.RuleType.Definition.Remediate - 214, // 223: minder.v1.RuleType.Definition.alert:type_name -> minder.v1.RuleType.Definition.Alert - 127, // 224: minder.v1.RuleType.Definition.Ingest.rest:type_name -> minder.v1.RestType - 128, // 225: minder.v1.RuleType.Definition.Ingest.builtin:type_name -> minder.v1.BuiltinType - 129, // 226: minder.v1.RuleType.Definition.Ingest.artifact:type_name -> minder.v1.ArtifactType - 130, // 227: minder.v1.RuleType.Definition.Ingest.git:type_name -> minder.v1.GitType - 131, // 228: minder.v1.RuleType.Definition.Ingest.diff:type_name -> minder.v1.DiffType - 132, // 229: minder.v1.RuleType.Definition.Ingest.deps:type_name -> minder.v1.DepsType - 215, // 230: minder.v1.RuleType.Definition.Eval.jq:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison - 216, // 231: minder.v1.RuleType.Definition.Eval.rego:type_name -> minder.v1.RuleType.Definition.Eval.Rego - 217, // 232: minder.v1.RuleType.Definition.Eval.vulncheck:type_name -> minder.v1.RuleType.Definition.Eval.Vulncheck - 218, // 233: minder.v1.RuleType.Definition.Eval.trusty:type_name -> minder.v1.RuleType.Definition.Eval.Trusty - 219, // 234: minder.v1.RuleType.Definition.Eval.homoglyphs:type_name -> minder.v1.RuleType.Definition.Eval.Homoglyphs - 200, // 235: minder.v1.RuleType.Definition.Eval.data_sources:type_name -> minder.v1.DataSourceReference - 127, // 236: minder.v1.RuleType.Definition.Remediate.rest:type_name -> minder.v1.RestType - 221, // 237: minder.v1.RuleType.Definition.Remediate.gh_branch_protection:type_name -> minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType - 222, // 238: minder.v1.RuleType.Definition.Remediate.pull_request:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation - 225, // 239: minder.v1.RuleType.Definition.Alert.security_advisory:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypeSA - 226, // 240: minder.v1.RuleType.Definition.Alert.pull_request_comment:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypePRComment - 220, // 241: minder.v1.RuleType.Definition.Eval.JQComparison.ingested:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator - 220, // 242: minder.v1.RuleType.Definition.Eval.JQComparison.profile:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator - 236, // 243: minder.v1.RuleType.Definition.Eval.JQComparison.constant:type_name -> google.protobuf.Value - 223, // 244: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.contents:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content - 234, // 245: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.params:type_name -> google.protobuf.Struct - 224, // 246: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.actions_replace_tags_with_sha:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha - 234, // 247: minder.v1.Profile.Rule.params:type_name -> google.protobuf.Struct - 234, // 248: minder.v1.Profile.Rule.def:type_name -> google.protobuf.Struct - 231, // 249: minder.v1.RestDataSource.Def.headers:type_name -> minder.v1.RestDataSource.Def.HeadersEntry - 234, // 250: minder.v1.RestDataSource.Def.bodyobj:type_name -> google.protobuf.Struct - 232, // 251: minder.v1.RestDataSource.Def.fallback:type_name -> minder.v1.RestDataSource.Def.Fallback - 234, // 252: minder.v1.RestDataSource.Def.input_schema:type_name -> google.protobuf.Struct - 229, // 253: minder.v1.RestDataSource.DefEntry.value:type_name -> minder.v1.RestDataSource.Def - 237, // 254: minder.v1.name:extendee -> google.protobuf.EnumValueOptions - 238, // 255: minder.v1.rpc_options:extendee -> google.protobuf.MethodOptions - 10, // 256: minder.v1.rpc_options:type_name -> minder.v1.RpcOptions - 27, // 257: minder.v1.HealthService.CheckHealth:input_type -> minder.v1.CheckHealthRequest - 13, // 258: minder.v1.ArtifactService.ListArtifacts:input_type -> minder.v1.ListArtifactsRequest - 17, // 259: minder.v1.ArtifactService.GetArtifactById:input_type -> minder.v1.GetArtifactByIdRequest - 19, // 260: minder.v1.ArtifactService.GetArtifactByName:input_type -> minder.v1.GetArtifactByNameRequest - 29, // 261: minder.v1.OAuthService.GetAuthorizationURL:input_type -> minder.v1.GetAuthorizationURLRequest - 31, // 262: minder.v1.OAuthService.StoreProviderToken:input_type -> minder.v1.StoreProviderTokenRequest - 54, // 263: minder.v1.OAuthService.VerifyProviderTokenFrom:input_type -> minder.v1.VerifyProviderTokenFromRequest - 56, // 264: minder.v1.OAuthService.VerifyProviderCredential:input_type -> minder.v1.VerifyProviderCredentialRequest - 39, // 265: minder.v1.RepositoryService.RegisterRepository:input_type -> minder.v1.RegisterRepositoryRequest - 34, // 266: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:input_type -> minder.v1.ListRemoteRepositoriesFromProviderRequest - 50, // 267: minder.v1.RepositoryService.ListRepositories:input_type -> minder.v1.ListRepositoriesRequest - 42, // 268: minder.v1.RepositoryService.GetRepositoryById:input_type -> minder.v1.GetRepositoryByIdRequest - 46, // 269: minder.v1.RepositoryService.GetRepositoryByName:input_type -> minder.v1.GetRepositoryByNameRequest - 44, // 270: minder.v1.RepositoryService.DeleteRepositoryById:input_type -> minder.v1.DeleteRepositoryByIdRequest - 48, // 271: minder.v1.RepositoryService.DeleteRepositoryByName:input_type -> minder.v1.DeleteRepositoryByNameRequest - 58, // 272: minder.v1.UserService.CreateUser:input_type -> minder.v1.CreateUserRequest - 60, // 273: minder.v1.UserService.DeleteUser:input_type -> minder.v1.DeleteUserRequest - 64, // 274: minder.v1.UserService.GetUser:input_type -> minder.v1.GetUserRequest - 163, // 275: minder.v1.UserService.ListInvitations:input_type -> minder.v1.ListInvitationsRequest - 165, // 276: minder.v1.UserService.ResolveInvitation:input_type -> minder.v1.ResolveInvitationRequest - 80, // 277: minder.v1.ProfileService.CreateProfile:input_type -> minder.v1.CreateProfileRequest - 82, // 278: minder.v1.ProfileService.UpdateProfile:input_type -> minder.v1.UpdateProfileRequest - 84, // 279: minder.v1.ProfileService.PatchProfile:input_type -> minder.v1.PatchProfileRequest - 86, // 280: minder.v1.ProfileService.DeleteProfile:input_type -> minder.v1.DeleteProfileRequest - 88, // 281: minder.v1.ProfileService.ListProfiles:input_type -> minder.v1.ListProfilesRequest - 90, // 282: minder.v1.ProfileService.GetProfileById:input_type -> minder.v1.GetProfileByIdRequest - 92, // 283: minder.v1.ProfileService.GetProfileByName:input_type -> minder.v1.GetProfileByNameRequest - 98, // 284: minder.v1.ProfileService.GetProfileStatusByName:input_type -> minder.v1.GetProfileStatusByNameRequest - 100, // 285: minder.v1.ProfileService.GetProfileStatusByProject:input_type -> minder.v1.GetProfileStatusByProjectRequest - 66, // 286: minder.v1.DataSourceService.CreateDataSource:input_type -> minder.v1.CreateDataSourceRequest - 68, // 287: minder.v1.DataSourceService.GetDataSourceById:input_type -> minder.v1.GetDataSourceByIdRequest - 70, // 288: minder.v1.DataSourceService.GetDataSourceByName:input_type -> minder.v1.GetDataSourceByNameRequest - 72, // 289: minder.v1.DataSourceService.ListDataSources:input_type -> minder.v1.ListDataSourcesRequest - 74, // 290: minder.v1.DataSourceService.UpdateDataSource:input_type -> minder.v1.UpdateDataSourceRequest - 76, // 291: minder.v1.DataSourceService.DeleteDataSourceById:input_type -> minder.v1.DeleteDataSourceByIdRequest - 78, // 292: minder.v1.DataSourceService.DeleteDataSourceByName:input_type -> minder.v1.DeleteDataSourceByNameRequest - 113, // 293: minder.v1.RuleTypeService.ListRuleTypes:input_type -> minder.v1.ListRuleTypesRequest - 115, // 294: minder.v1.RuleTypeService.GetRuleTypeByName:input_type -> minder.v1.GetRuleTypeByNameRequest - 117, // 295: minder.v1.RuleTypeService.GetRuleTypeById:input_type -> minder.v1.GetRuleTypeByIdRequest - 119, // 296: minder.v1.RuleTypeService.CreateRuleType:input_type -> minder.v1.CreateRuleTypeRequest - 121, // 297: minder.v1.RuleTypeService.UpdateRuleType:input_type -> minder.v1.UpdateRuleTypeRequest - 123, // 298: minder.v1.RuleTypeService.DeleteRuleType:input_type -> minder.v1.DeleteRuleTypeRequest - 125, // 299: minder.v1.EvalResultsService.ListEvaluationResults:input_type -> minder.v1.ListEvaluationResultsRequest - 187, // 300: minder.v1.EvalResultsService.ListEvaluationHistory:input_type -> minder.v1.ListEvaluationHistoryRequest - 186, // 301: minder.v1.EvalResultsService.GetEvaluationHistory:input_type -> minder.v1.GetEvaluationHistoryRequest - 151, // 302: minder.v1.PermissionsService.ListRoles:input_type -> minder.v1.ListRolesRequest - 153, // 303: minder.v1.PermissionsService.ListRoleAssignments:input_type -> minder.v1.ListRoleAssignmentsRequest - 155, // 304: minder.v1.PermissionsService.AssignRole:input_type -> minder.v1.AssignRoleRequest - 157, // 305: minder.v1.PermissionsService.UpdateRole:input_type -> minder.v1.UpdateRoleRequest - 159, // 306: minder.v1.PermissionsService.RemoveRole:input_type -> minder.v1.RemoveRoleRequest - 136, // 307: minder.v1.ProjectsService.ListProjects:input_type -> minder.v1.ListProjectsRequest - 138, // 308: minder.v1.ProjectsService.CreateProject:input_type -> minder.v1.CreateProjectRequest - 147, // 309: minder.v1.ProjectsService.ListChildProjects:input_type -> minder.v1.ListChildProjectsRequest - 140, // 310: minder.v1.ProjectsService.DeleteProject:input_type -> minder.v1.DeleteProjectRequest - 142, // 311: minder.v1.ProjectsService.UpdateProject:input_type -> minder.v1.UpdateProjectRequest - 145, // 312: minder.v1.ProjectsService.PatchProject:input_type -> minder.v1.PatchProjectRequest - 149, // 313: minder.v1.ProjectsService.CreateEntityReconciliationTask:input_type -> minder.v1.CreateEntityReconciliationTaskRequest - 180, // 314: minder.v1.ProvidersService.PatchProvider:input_type -> minder.v1.PatchProviderRequest - 168, // 315: minder.v1.ProvidersService.GetProvider:input_type -> minder.v1.GetProviderRequest - 170, // 316: minder.v1.ProvidersService.ListProviders:input_type -> minder.v1.ListProvidersRequest - 172, // 317: minder.v1.ProvidersService.CreateProvider:input_type -> minder.v1.CreateProviderRequest - 174, // 318: minder.v1.ProvidersService.DeleteProvider:input_type -> minder.v1.DeleteProviderRequest - 176, // 319: minder.v1.ProvidersService.DeleteProviderByID:input_type -> minder.v1.DeleteProviderByIDRequest - 178, // 320: minder.v1.ProvidersService.ListProviderClasses:input_type -> minder.v1.ListProviderClassesRequest - 52, // 321: minder.v1.ProvidersService.ReconcileEntityRegistration:input_type -> minder.v1.ReconcileEntityRegistrationRequest - 25, // 322: minder.v1.InviteService.GetInviteDetails:input_type -> minder.v1.GetInviteDetailsRequest - 28, // 323: minder.v1.HealthService.CheckHealth:output_type -> minder.v1.CheckHealthResponse - 14, // 324: minder.v1.ArtifactService.ListArtifacts:output_type -> minder.v1.ListArtifactsResponse - 18, // 325: minder.v1.ArtifactService.GetArtifactById:output_type -> minder.v1.GetArtifactByIdResponse - 20, // 326: minder.v1.ArtifactService.GetArtifactByName:output_type -> minder.v1.GetArtifactByNameResponse - 30, // 327: minder.v1.OAuthService.GetAuthorizationURL:output_type -> minder.v1.GetAuthorizationURLResponse - 32, // 328: minder.v1.OAuthService.StoreProviderToken:output_type -> minder.v1.StoreProviderTokenResponse - 55, // 329: minder.v1.OAuthService.VerifyProviderTokenFrom:output_type -> minder.v1.VerifyProviderTokenFromResponse - 57, // 330: minder.v1.OAuthService.VerifyProviderCredential:output_type -> minder.v1.VerifyProviderCredentialResponse - 41, // 331: minder.v1.RepositoryService.RegisterRepository:output_type -> minder.v1.RegisterRepositoryResponse - 35, // 332: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:output_type -> minder.v1.ListRemoteRepositoriesFromProviderResponse - 51, // 333: minder.v1.RepositoryService.ListRepositories:output_type -> minder.v1.ListRepositoriesResponse - 43, // 334: minder.v1.RepositoryService.GetRepositoryById:output_type -> minder.v1.GetRepositoryByIdResponse - 47, // 335: minder.v1.RepositoryService.GetRepositoryByName:output_type -> minder.v1.GetRepositoryByNameResponse - 45, // 336: minder.v1.RepositoryService.DeleteRepositoryById:output_type -> minder.v1.DeleteRepositoryByIdResponse - 49, // 337: minder.v1.RepositoryService.DeleteRepositoryByName:output_type -> minder.v1.DeleteRepositoryByNameResponse - 59, // 338: minder.v1.UserService.CreateUser:output_type -> minder.v1.CreateUserResponse - 61, // 339: minder.v1.UserService.DeleteUser:output_type -> minder.v1.DeleteUserResponse - 65, // 340: minder.v1.UserService.GetUser:output_type -> minder.v1.GetUserResponse - 164, // 341: minder.v1.UserService.ListInvitations:output_type -> minder.v1.ListInvitationsResponse - 166, // 342: minder.v1.UserService.ResolveInvitation:output_type -> minder.v1.ResolveInvitationResponse - 81, // 343: minder.v1.ProfileService.CreateProfile:output_type -> minder.v1.CreateProfileResponse - 83, // 344: minder.v1.ProfileService.UpdateProfile:output_type -> minder.v1.UpdateProfileResponse - 85, // 345: minder.v1.ProfileService.PatchProfile:output_type -> minder.v1.PatchProfileResponse - 87, // 346: minder.v1.ProfileService.DeleteProfile:output_type -> minder.v1.DeleteProfileResponse - 89, // 347: minder.v1.ProfileService.ListProfiles:output_type -> minder.v1.ListProfilesResponse - 91, // 348: minder.v1.ProfileService.GetProfileById:output_type -> minder.v1.GetProfileByIdResponse - 93, // 349: minder.v1.ProfileService.GetProfileByName:output_type -> minder.v1.GetProfileByNameResponse - 99, // 350: minder.v1.ProfileService.GetProfileStatusByName:output_type -> minder.v1.GetProfileStatusByNameResponse - 101, // 351: minder.v1.ProfileService.GetProfileStatusByProject:output_type -> minder.v1.GetProfileStatusByProjectResponse - 67, // 352: minder.v1.DataSourceService.CreateDataSource:output_type -> minder.v1.CreateDataSourceResponse - 69, // 353: minder.v1.DataSourceService.GetDataSourceById:output_type -> minder.v1.GetDataSourceByIdResponse - 71, // 354: minder.v1.DataSourceService.GetDataSourceByName:output_type -> minder.v1.GetDataSourceByNameResponse - 73, // 355: minder.v1.DataSourceService.ListDataSources:output_type -> minder.v1.ListDataSourcesResponse - 75, // 356: minder.v1.DataSourceService.UpdateDataSource:output_type -> minder.v1.UpdateDataSourceResponse - 77, // 357: minder.v1.DataSourceService.DeleteDataSourceById:output_type -> minder.v1.DeleteDataSourceByIdResponse - 79, // 358: minder.v1.DataSourceService.DeleteDataSourceByName:output_type -> minder.v1.DeleteDataSourceByNameResponse - 114, // 359: minder.v1.RuleTypeService.ListRuleTypes:output_type -> minder.v1.ListRuleTypesResponse - 116, // 360: minder.v1.RuleTypeService.GetRuleTypeByName:output_type -> minder.v1.GetRuleTypeByNameResponse - 118, // 361: minder.v1.RuleTypeService.GetRuleTypeById:output_type -> minder.v1.GetRuleTypeByIdResponse - 120, // 362: minder.v1.RuleTypeService.CreateRuleType:output_type -> minder.v1.CreateRuleTypeResponse - 122, // 363: minder.v1.RuleTypeService.UpdateRuleType:output_type -> minder.v1.UpdateRuleTypeResponse - 124, // 364: minder.v1.RuleTypeService.DeleteRuleType:output_type -> minder.v1.DeleteRuleTypeResponse - 126, // 365: minder.v1.EvalResultsService.ListEvaluationResults:output_type -> minder.v1.ListEvaluationResultsResponse - 189, // 366: minder.v1.EvalResultsService.ListEvaluationHistory:output_type -> minder.v1.ListEvaluationHistoryResponse - 188, // 367: minder.v1.EvalResultsService.GetEvaluationHistory:output_type -> minder.v1.GetEvaluationHistoryResponse - 152, // 368: minder.v1.PermissionsService.ListRoles:output_type -> minder.v1.ListRolesResponse - 154, // 369: minder.v1.PermissionsService.ListRoleAssignments:output_type -> minder.v1.ListRoleAssignmentsResponse - 156, // 370: minder.v1.PermissionsService.AssignRole:output_type -> minder.v1.AssignRoleResponse - 158, // 371: minder.v1.PermissionsService.UpdateRole:output_type -> minder.v1.UpdateRoleResponse - 160, // 372: minder.v1.PermissionsService.RemoveRole:output_type -> minder.v1.RemoveRoleResponse - 137, // 373: minder.v1.ProjectsService.ListProjects:output_type -> minder.v1.ListProjectsResponse - 139, // 374: minder.v1.ProjectsService.CreateProject:output_type -> minder.v1.CreateProjectResponse - 148, // 375: minder.v1.ProjectsService.ListChildProjects:output_type -> minder.v1.ListChildProjectsResponse - 141, // 376: minder.v1.ProjectsService.DeleteProject:output_type -> minder.v1.DeleteProjectResponse - 143, // 377: minder.v1.ProjectsService.UpdateProject:output_type -> minder.v1.UpdateProjectResponse - 146, // 378: minder.v1.ProjectsService.PatchProject:output_type -> minder.v1.PatchProjectResponse - 150, // 379: minder.v1.ProjectsService.CreateEntityReconciliationTask:output_type -> minder.v1.CreateEntityReconciliationTaskResponse - 181, // 380: minder.v1.ProvidersService.PatchProvider:output_type -> minder.v1.PatchProviderResponse - 169, // 381: minder.v1.ProvidersService.GetProvider:output_type -> minder.v1.GetProviderResponse - 171, // 382: minder.v1.ProvidersService.ListProviders:output_type -> minder.v1.ListProvidersResponse - 173, // 383: minder.v1.ProvidersService.CreateProvider:output_type -> minder.v1.CreateProviderResponse - 175, // 384: minder.v1.ProvidersService.DeleteProvider:output_type -> minder.v1.DeleteProviderResponse - 177, // 385: minder.v1.ProvidersService.DeleteProviderByID:output_type -> minder.v1.DeleteProviderByIDResponse - 179, // 386: minder.v1.ProvidersService.ListProviderClasses:output_type -> minder.v1.ListProviderClassesResponse - 53, // 387: minder.v1.ProvidersService.ReconcileEntityRegistration:output_type -> minder.v1.ReconcileEntityRegistrationResponse - 26, // 388: minder.v1.InviteService.GetInviteDetails:output_type -> minder.v1.GetInviteDetailsResponse - 323, // [323:389] is the sub-list for method output_type - 257, // [257:323] is the sub-list for method input_type - 256, // [256:257] is the sub-list for extension type_name - 254, // [254:256] is the sub-list for extension extendee - 0, // [0:254] is the sub-list for field type_name + 199, // 211: minder.v1.DataSource.structured:type_name -> minder.v1.StructDataSource + 200, // 212: minder.v1.DataSource.rest:type_name -> minder.v1.RestDataSource + 231, // 213: minder.v1.StructDataSource.def:type_name -> minder.v1.StructDataSource.DefEntry + 234, // 214: minder.v1.RestDataSource.def:type_name -> minder.v1.RestDataSource.DefEntry + 102, // 215: minder.v1.AutoRegistration.EntitiesEntry.value:type_name -> minder.v1.EntityAutoRegistrationConfig + 94, // 216: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.profile_status:type_name -> minder.v1.ProfileStatus + 96, // 217: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.results:type_name -> minder.v1.RuleEvaluationStatus + 97, // 218: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.entity:type_name -> minder.v1.EntityTypedId + 205, // 219: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.profiles:type_name -> minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults + 238, // 220: minder.v1.RuleType.Definition.rule_schema:type_name -> google.protobuf.Struct + 238, // 221: minder.v1.RuleType.Definition.param_schema:type_name -> google.protobuf.Struct + 212, // 222: minder.v1.RuleType.Definition.ingest:type_name -> minder.v1.RuleType.Definition.Ingest + 213, // 223: minder.v1.RuleType.Definition.eval:type_name -> minder.v1.RuleType.Definition.Eval + 214, // 224: minder.v1.RuleType.Definition.remediate:type_name -> minder.v1.RuleType.Definition.Remediate + 215, // 225: minder.v1.RuleType.Definition.alert:type_name -> minder.v1.RuleType.Definition.Alert + 127, // 226: minder.v1.RuleType.Definition.Ingest.rest:type_name -> minder.v1.RestType + 128, // 227: minder.v1.RuleType.Definition.Ingest.builtin:type_name -> minder.v1.BuiltinType + 129, // 228: minder.v1.RuleType.Definition.Ingest.artifact:type_name -> minder.v1.ArtifactType + 130, // 229: minder.v1.RuleType.Definition.Ingest.git:type_name -> minder.v1.GitType + 131, // 230: minder.v1.RuleType.Definition.Ingest.diff:type_name -> minder.v1.DiffType + 132, // 231: minder.v1.RuleType.Definition.Ingest.deps:type_name -> minder.v1.DepsType + 216, // 232: minder.v1.RuleType.Definition.Eval.jq:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison + 217, // 233: minder.v1.RuleType.Definition.Eval.rego:type_name -> minder.v1.RuleType.Definition.Eval.Rego + 218, // 234: minder.v1.RuleType.Definition.Eval.vulncheck:type_name -> minder.v1.RuleType.Definition.Eval.Vulncheck + 219, // 235: minder.v1.RuleType.Definition.Eval.trusty:type_name -> minder.v1.RuleType.Definition.Eval.Trusty + 220, // 236: minder.v1.RuleType.Definition.Eval.homoglyphs:type_name -> minder.v1.RuleType.Definition.Eval.Homoglyphs + 201, // 237: minder.v1.RuleType.Definition.Eval.data_sources:type_name -> minder.v1.DataSourceReference + 127, // 238: minder.v1.RuleType.Definition.Remediate.rest:type_name -> minder.v1.RestType + 222, // 239: minder.v1.RuleType.Definition.Remediate.gh_branch_protection:type_name -> minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType + 223, // 240: minder.v1.RuleType.Definition.Remediate.pull_request:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation + 226, // 241: minder.v1.RuleType.Definition.Alert.security_advisory:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypeSA + 227, // 242: minder.v1.RuleType.Definition.Alert.pull_request_comment:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypePRComment + 221, // 243: minder.v1.RuleType.Definition.Eval.JQComparison.ingested:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator + 221, // 244: minder.v1.RuleType.Definition.Eval.JQComparison.profile:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator + 240, // 245: minder.v1.RuleType.Definition.Eval.JQComparison.constant:type_name -> google.protobuf.Value + 224, // 246: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.contents:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content + 238, // 247: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.params:type_name -> google.protobuf.Struct + 225, // 248: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.actions_replace_tags_with_sha:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha + 238, // 249: minder.v1.Profile.Rule.params:type_name -> google.protobuf.Struct + 238, // 250: minder.v1.Profile.Rule.def:type_name -> google.protobuf.Struct + 232, // 251: minder.v1.StructDataSource.Def.path:type_name -> minder.v1.StructDataSource.Def.Path + 230, // 252: minder.v1.StructDataSource.DefEntry.value:type_name -> minder.v1.StructDataSource.Def + 235, // 253: minder.v1.RestDataSource.Def.headers:type_name -> minder.v1.RestDataSource.Def.HeadersEntry + 238, // 254: minder.v1.RestDataSource.Def.bodyobj:type_name -> google.protobuf.Struct + 236, // 255: minder.v1.RestDataSource.Def.fallback:type_name -> minder.v1.RestDataSource.Def.Fallback + 238, // 256: minder.v1.RestDataSource.Def.input_schema:type_name -> google.protobuf.Struct + 233, // 257: minder.v1.RestDataSource.DefEntry.value:type_name -> minder.v1.RestDataSource.Def + 241, // 258: minder.v1.name:extendee -> google.protobuf.EnumValueOptions + 242, // 259: minder.v1.rpc_options:extendee -> google.protobuf.MethodOptions + 10, // 260: minder.v1.rpc_options:type_name -> minder.v1.RpcOptions + 27, // 261: minder.v1.HealthService.CheckHealth:input_type -> minder.v1.CheckHealthRequest + 13, // 262: minder.v1.ArtifactService.ListArtifacts:input_type -> minder.v1.ListArtifactsRequest + 17, // 263: minder.v1.ArtifactService.GetArtifactById:input_type -> minder.v1.GetArtifactByIdRequest + 19, // 264: minder.v1.ArtifactService.GetArtifactByName:input_type -> minder.v1.GetArtifactByNameRequest + 29, // 265: minder.v1.OAuthService.GetAuthorizationURL:input_type -> minder.v1.GetAuthorizationURLRequest + 31, // 266: minder.v1.OAuthService.StoreProviderToken:input_type -> minder.v1.StoreProviderTokenRequest + 54, // 267: minder.v1.OAuthService.VerifyProviderTokenFrom:input_type -> minder.v1.VerifyProviderTokenFromRequest + 56, // 268: minder.v1.OAuthService.VerifyProviderCredential:input_type -> minder.v1.VerifyProviderCredentialRequest + 39, // 269: minder.v1.RepositoryService.RegisterRepository:input_type -> minder.v1.RegisterRepositoryRequest + 34, // 270: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:input_type -> minder.v1.ListRemoteRepositoriesFromProviderRequest + 50, // 271: minder.v1.RepositoryService.ListRepositories:input_type -> minder.v1.ListRepositoriesRequest + 42, // 272: minder.v1.RepositoryService.GetRepositoryById:input_type -> minder.v1.GetRepositoryByIdRequest + 46, // 273: minder.v1.RepositoryService.GetRepositoryByName:input_type -> minder.v1.GetRepositoryByNameRequest + 44, // 274: minder.v1.RepositoryService.DeleteRepositoryById:input_type -> minder.v1.DeleteRepositoryByIdRequest + 48, // 275: minder.v1.RepositoryService.DeleteRepositoryByName:input_type -> minder.v1.DeleteRepositoryByNameRequest + 58, // 276: minder.v1.UserService.CreateUser:input_type -> minder.v1.CreateUserRequest + 60, // 277: minder.v1.UserService.DeleteUser:input_type -> minder.v1.DeleteUserRequest + 64, // 278: minder.v1.UserService.GetUser:input_type -> minder.v1.GetUserRequest + 163, // 279: minder.v1.UserService.ListInvitations:input_type -> minder.v1.ListInvitationsRequest + 165, // 280: minder.v1.UserService.ResolveInvitation:input_type -> minder.v1.ResolveInvitationRequest + 80, // 281: minder.v1.ProfileService.CreateProfile:input_type -> minder.v1.CreateProfileRequest + 82, // 282: minder.v1.ProfileService.UpdateProfile:input_type -> minder.v1.UpdateProfileRequest + 84, // 283: minder.v1.ProfileService.PatchProfile:input_type -> minder.v1.PatchProfileRequest + 86, // 284: minder.v1.ProfileService.DeleteProfile:input_type -> minder.v1.DeleteProfileRequest + 88, // 285: minder.v1.ProfileService.ListProfiles:input_type -> minder.v1.ListProfilesRequest + 90, // 286: minder.v1.ProfileService.GetProfileById:input_type -> minder.v1.GetProfileByIdRequest + 92, // 287: minder.v1.ProfileService.GetProfileByName:input_type -> minder.v1.GetProfileByNameRequest + 98, // 288: minder.v1.ProfileService.GetProfileStatusByName:input_type -> minder.v1.GetProfileStatusByNameRequest + 100, // 289: minder.v1.ProfileService.GetProfileStatusByProject:input_type -> minder.v1.GetProfileStatusByProjectRequest + 66, // 290: minder.v1.DataSourceService.CreateDataSource:input_type -> minder.v1.CreateDataSourceRequest + 68, // 291: minder.v1.DataSourceService.GetDataSourceById:input_type -> minder.v1.GetDataSourceByIdRequest + 70, // 292: minder.v1.DataSourceService.GetDataSourceByName:input_type -> minder.v1.GetDataSourceByNameRequest + 72, // 293: minder.v1.DataSourceService.ListDataSources:input_type -> minder.v1.ListDataSourcesRequest + 74, // 294: minder.v1.DataSourceService.UpdateDataSource:input_type -> minder.v1.UpdateDataSourceRequest + 76, // 295: minder.v1.DataSourceService.DeleteDataSourceById:input_type -> minder.v1.DeleteDataSourceByIdRequest + 78, // 296: minder.v1.DataSourceService.DeleteDataSourceByName:input_type -> minder.v1.DeleteDataSourceByNameRequest + 113, // 297: minder.v1.RuleTypeService.ListRuleTypes:input_type -> minder.v1.ListRuleTypesRequest + 115, // 298: minder.v1.RuleTypeService.GetRuleTypeByName:input_type -> minder.v1.GetRuleTypeByNameRequest + 117, // 299: minder.v1.RuleTypeService.GetRuleTypeById:input_type -> minder.v1.GetRuleTypeByIdRequest + 119, // 300: minder.v1.RuleTypeService.CreateRuleType:input_type -> minder.v1.CreateRuleTypeRequest + 121, // 301: minder.v1.RuleTypeService.UpdateRuleType:input_type -> minder.v1.UpdateRuleTypeRequest + 123, // 302: minder.v1.RuleTypeService.DeleteRuleType:input_type -> minder.v1.DeleteRuleTypeRequest + 125, // 303: minder.v1.EvalResultsService.ListEvaluationResults:input_type -> minder.v1.ListEvaluationResultsRequest + 187, // 304: minder.v1.EvalResultsService.ListEvaluationHistory:input_type -> minder.v1.ListEvaluationHistoryRequest + 186, // 305: minder.v1.EvalResultsService.GetEvaluationHistory:input_type -> minder.v1.GetEvaluationHistoryRequest + 151, // 306: minder.v1.PermissionsService.ListRoles:input_type -> minder.v1.ListRolesRequest + 153, // 307: minder.v1.PermissionsService.ListRoleAssignments:input_type -> minder.v1.ListRoleAssignmentsRequest + 155, // 308: minder.v1.PermissionsService.AssignRole:input_type -> minder.v1.AssignRoleRequest + 157, // 309: minder.v1.PermissionsService.UpdateRole:input_type -> minder.v1.UpdateRoleRequest + 159, // 310: minder.v1.PermissionsService.RemoveRole:input_type -> minder.v1.RemoveRoleRequest + 136, // 311: minder.v1.ProjectsService.ListProjects:input_type -> minder.v1.ListProjectsRequest + 138, // 312: minder.v1.ProjectsService.CreateProject:input_type -> minder.v1.CreateProjectRequest + 147, // 313: minder.v1.ProjectsService.ListChildProjects:input_type -> minder.v1.ListChildProjectsRequest + 140, // 314: minder.v1.ProjectsService.DeleteProject:input_type -> minder.v1.DeleteProjectRequest + 142, // 315: minder.v1.ProjectsService.UpdateProject:input_type -> minder.v1.UpdateProjectRequest + 145, // 316: minder.v1.ProjectsService.PatchProject:input_type -> minder.v1.PatchProjectRequest + 149, // 317: minder.v1.ProjectsService.CreateEntityReconciliationTask:input_type -> minder.v1.CreateEntityReconciliationTaskRequest + 180, // 318: minder.v1.ProvidersService.PatchProvider:input_type -> minder.v1.PatchProviderRequest + 168, // 319: minder.v1.ProvidersService.GetProvider:input_type -> minder.v1.GetProviderRequest + 170, // 320: minder.v1.ProvidersService.ListProviders:input_type -> minder.v1.ListProvidersRequest + 172, // 321: minder.v1.ProvidersService.CreateProvider:input_type -> minder.v1.CreateProviderRequest + 174, // 322: minder.v1.ProvidersService.DeleteProvider:input_type -> minder.v1.DeleteProviderRequest + 176, // 323: minder.v1.ProvidersService.DeleteProviderByID:input_type -> minder.v1.DeleteProviderByIDRequest + 178, // 324: minder.v1.ProvidersService.ListProviderClasses:input_type -> minder.v1.ListProviderClassesRequest + 52, // 325: minder.v1.ProvidersService.ReconcileEntityRegistration:input_type -> minder.v1.ReconcileEntityRegistrationRequest + 25, // 326: minder.v1.InviteService.GetInviteDetails:input_type -> minder.v1.GetInviteDetailsRequest + 28, // 327: minder.v1.HealthService.CheckHealth:output_type -> minder.v1.CheckHealthResponse + 14, // 328: minder.v1.ArtifactService.ListArtifacts:output_type -> minder.v1.ListArtifactsResponse + 18, // 329: minder.v1.ArtifactService.GetArtifactById:output_type -> minder.v1.GetArtifactByIdResponse + 20, // 330: minder.v1.ArtifactService.GetArtifactByName:output_type -> minder.v1.GetArtifactByNameResponse + 30, // 331: minder.v1.OAuthService.GetAuthorizationURL:output_type -> minder.v1.GetAuthorizationURLResponse + 32, // 332: minder.v1.OAuthService.StoreProviderToken:output_type -> minder.v1.StoreProviderTokenResponse + 55, // 333: minder.v1.OAuthService.VerifyProviderTokenFrom:output_type -> minder.v1.VerifyProviderTokenFromResponse + 57, // 334: minder.v1.OAuthService.VerifyProviderCredential:output_type -> minder.v1.VerifyProviderCredentialResponse + 41, // 335: minder.v1.RepositoryService.RegisterRepository:output_type -> minder.v1.RegisterRepositoryResponse + 35, // 336: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:output_type -> minder.v1.ListRemoteRepositoriesFromProviderResponse + 51, // 337: minder.v1.RepositoryService.ListRepositories:output_type -> minder.v1.ListRepositoriesResponse + 43, // 338: minder.v1.RepositoryService.GetRepositoryById:output_type -> minder.v1.GetRepositoryByIdResponse + 47, // 339: minder.v1.RepositoryService.GetRepositoryByName:output_type -> minder.v1.GetRepositoryByNameResponse + 45, // 340: minder.v1.RepositoryService.DeleteRepositoryById:output_type -> minder.v1.DeleteRepositoryByIdResponse + 49, // 341: minder.v1.RepositoryService.DeleteRepositoryByName:output_type -> minder.v1.DeleteRepositoryByNameResponse + 59, // 342: minder.v1.UserService.CreateUser:output_type -> minder.v1.CreateUserResponse + 61, // 343: minder.v1.UserService.DeleteUser:output_type -> minder.v1.DeleteUserResponse + 65, // 344: minder.v1.UserService.GetUser:output_type -> minder.v1.GetUserResponse + 164, // 345: minder.v1.UserService.ListInvitations:output_type -> minder.v1.ListInvitationsResponse + 166, // 346: minder.v1.UserService.ResolveInvitation:output_type -> minder.v1.ResolveInvitationResponse + 81, // 347: minder.v1.ProfileService.CreateProfile:output_type -> minder.v1.CreateProfileResponse + 83, // 348: minder.v1.ProfileService.UpdateProfile:output_type -> minder.v1.UpdateProfileResponse + 85, // 349: minder.v1.ProfileService.PatchProfile:output_type -> minder.v1.PatchProfileResponse + 87, // 350: minder.v1.ProfileService.DeleteProfile:output_type -> minder.v1.DeleteProfileResponse + 89, // 351: minder.v1.ProfileService.ListProfiles:output_type -> minder.v1.ListProfilesResponse + 91, // 352: minder.v1.ProfileService.GetProfileById:output_type -> minder.v1.GetProfileByIdResponse + 93, // 353: minder.v1.ProfileService.GetProfileByName:output_type -> minder.v1.GetProfileByNameResponse + 99, // 354: minder.v1.ProfileService.GetProfileStatusByName:output_type -> minder.v1.GetProfileStatusByNameResponse + 101, // 355: minder.v1.ProfileService.GetProfileStatusByProject:output_type -> minder.v1.GetProfileStatusByProjectResponse + 67, // 356: minder.v1.DataSourceService.CreateDataSource:output_type -> minder.v1.CreateDataSourceResponse + 69, // 357: minder.v1.DataSourceService.GetDataSourceById:output_type -> minder.v1.GetDataSourceByIdResponse + 71, // 358: minder.v1.DataSourceService.GetDataSourceByName:output_type -> minder.v1.GetDataSourceByNameResponse + 73, // 359: minder.v1.DataSourceService.ListDataSources:output_type -> minder.v1.ListDataSourcesResponse + 75, // 360: minder.v1.DataSourceService.UpdateDataSource:output_type -> minder.v1.UpdateDataSourceResponse + 77, // 361: minder.v1.DataSourceService.DeleteDataSourceById:output_type -> minder.v1.DeleteDataSourceByIdResponse + 79, // 362: minder.v1.DataSourceService.DeleteDataSourceByName:output_type -> minder.v1.DeleteDataSourceByNameResponse + 114, // 363: minder.v1.RuleTypeService.ListRuleTypes:output_type -> minder.v1.ListRuleTypesResponse + 116, // 364: minder.v1.RuleTypeService.GetRuleTypeByName:output_type -> minder.v1.GetRuleTypeByNameResponse + 118, // 365: minder.v1.RuleTypeService.GetRuleTypeById:output_type -> minder.v1.GetRuleTypeByIdResponse + 120, // 366: minder.v1.RuleTypeService.CreateRuleType:output_type -> minder.v1.CreateRuleTypeResponse + 122, // 367: minder.v1.RuleTypeService.UpdateRuleType:output_type -> minder.v1.UpdateRuleTypeResponse + 124, // 368: minder.v1.RuleTypeService.DeleteRuleType:output_type -> minder.v1.DeleteRuleTypeResponse + 126, // 369: minder.v1.EvalResultsService.ListEvaluationResults:output_type -> minder.v1.ListEvaluationResultsResponse + 189, // 370: minder.v1.EvalResultsService.ListEvaluationHistory:output_type -> minder.v1.ListEvaluationHistoryResponse + 188, // 371: minder.v1.EvalResultsService.GetEvaluationHistory:output_type -> minder.v1.GetEvaluationHistoryResponse + 152, // 372: minder.v1.PermissionsService.ListRoles:output_type -> minder.v1.ListRolesResponse + 154, // 373: minder.v1.PermissionsService.ListRoleAssignments:output_type -> minder.v1.ListRoleAssignmentsResponse + 156, // 374: minder.v1.PermissionsService.AssignRole:output_type -> minder.v1.AssignRoleResponse + 158, // 375: minder.v1.PermissionsService.UpdateRole:output_type -> minder.v1.UpdateRoleResponse + 160, // 376: minder.v1.PermissionsService.RemoveRole:output_type -> minder.v1.RemoveRoleResponse + 137, // 377: minder.v1.ProjectsService.ListProjects:output_type -> minder.v1.ListProjectsResponse + 139, // 378: minder.v1.ProjectsService.CreateProject:output_type -> minder.v1.CreateProjectResponse + 148, // 379: minder.v1.ProjectsService.ListChildProjects:output_type -> minder.v1.ListChildProjectsResponse + 141, // 380: minder.v1.ProjectsService.DeleteProject:output_type -> minder.v1.DeleteProjectResponse + 143, // 381: minder.v1.ProjectsService.UpdateProject:output_type -> minder.v1.UpdateProjectResponse + 146, // 382: minder.v1.ProjectsService.PatchProject:output_type -> minder.v1.PatchProjectResponse + 150, // 383: minder.v1.ProjectsService.CreateEntityReconciliationTask:output_type -> minder.v1.CreateEntityReconciliationTaskResponse + 181, // 384: minder.v1.ProvidersService.PatchProvider:output_type -> minder.v1.PatchProviderResponse + 169, // 385: minder.v1.ProvidersService.GetProvider:output_type -> minder.v1.GetProviderResponse + 171, // 386: minder.v1.ProvidersService.ListProviders:output_type -> minder.v1.ListProvidersResponse + 173, // 387: minder.v1.ProvidersService.CreateProvider:output_type -> minder.v1.CreateProviderResponse + 175, // 388: minder.v1.ProvidersService.DeleteProvider:output_type -> minder.v1.DeleteProviderResponse + 177, // 389: minder.v1.ProvidersService.DeleteProviderByID:output_type -> minder.v1.DeleteProviderByIDResponse + 179, // 390: minder.v1.ProvidersService.ListProviderClasses:output_type -> minder.v1.ListProviderClassesResponse + 53, // 391: minder.v1.ProvidersService.ReconcileEntityRegistration:output_type -> minder.v1.ReconcileEntityRegistrationResponse + 26, // 392: minder.v1.InviteService.GetInviteDetails:output_type -> minder.v1.GetInviteDetailsResponse + 327, // [327:393] is the sub-list for method output_type + 261, // [261:327] is the sub-list for method input_type + 260, // [260:261] is the sub-list for extension type_name + 258, // [258:260] is the sub-list for extension extendee + 0, // [0:258] is the sub-list for field type_name } func init() { file_minder_v1_minder_proto_init() } @@ -17702,18 +17895,19 @@ func file_minder_v1_minder_proto_init() { (*ProviderParameter_GithubApp)(nil), } file_minder_v1_minder_proto_msgTypes[188].OneofWrappers = []any{ + (*DataSource_Structured)(nil), (*DataSource_Rest)(nil), } - file_minder_v1_minder_proto_msgTypes[191].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[200].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[192].OneofWrappers = []any{} file_minder_v1_minder_proto_msgTypes[201].OneofWrappers = []any{} file_minder_v1_minder_proto_msgTypes[202].OneofWrappers = []any{} file_minder_v1_minder_proto_msgTypes[203].OneofWrappers = []any{} file_minder_v1_minder_proto_msgTypes[204].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[206].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[212].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[205].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[207].OneofWrappers = []any{} file_minder_v1_minder_proto_msgTypes[213].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[219].OneofWrappers = []any{ + file_minder_v1_minder_proto_msgTypes[214].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[223].OneofWrappers = []any{ (*RestDataSource_Def_Bodyobj)(nil), (*RestDataSource_Def_Bodystr)(nil), (*RestDataSource_Def_BodyFromField)(nil), @@ -17724,7 +17918,7 @@ func file_minder_v1_minder_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_minder_v1_minder_proto_rawDesc, NumEnums: 10, - NumMessages: 223, + NumMessages: 227, NumExtensions: 2, NumServices: 13, }, diff --git a/pkg/api/protobuf/go/minder/v1/validators.go b/pkg/api/protobuf/go/minder/v1/validators.go index 83b8675218..d21bc9fffb 100644 --- a/pkg/api/protobuf/go/minder/v1/validators.go +++ b/pkg/api/protobuf/go/minder/v1/validators.go @@ -549,6 +549,15 @@ func (ds *DataSource) Validate() error { return val.Validate() } +// Validate checks a structured data source to ensure it is valid +func (dsStructuredDriver *DataSource_Structured) Validate() error { + if dsStructuredDriver == nil || dsStructuredDriver.Structured == nil { + return fmt.Errorf("%w: structured driver is nil", ErrValidationFailed) + } + + return nil +} + // Validate is the entrypoint for the actual driver's validation func (dsRestDriver *DataSource_Rest) Validate() error { if dsRestDriver == nil { diff --git a/pkg/datasources/v1/datasources.go b/pkg/datasources/v1/datasources.go index 7e06699f99..c5bbc6c5cb 100644 --- a/pkg/datasources/v1/datasources.go +++ b/pkg/datasources/v1/datasources.go @@ -13,6 +13,8 @@ import ( //go:generate go run go.uber.org/mock/mockgen -package mock_$GOPACKAGE -destination=./mock/$GOFILE -source=./$GOFILE const ( + // DataSourceDriverStruct is the driver type for the structured data source + DataSourceDriverStruct = "structured" // DataSourceDriverRest is the driver type for a REST data source. DataSourceDriverRest = "rest" ) diff --git a/proto/minder/v1/minder.proto b/proto/minder/v1/minder.proto index 73505f5cbe..78970c2242 100644 --- a/proto/minder/v1/minder.proto +++ b/proto/minder/v1/minder.proto @@ -4038,11 +4038,33 @@ message DataSource { ]; oneof driver { + // structured is the structired data - data source. + StructDataSource structured = 8; // rest is the REST data source driver. RestDataSource rest = 6; } } +// StructDataSource is the structured data source driver. +message StructDataSource { + message Def { + // Path is the path specification for the structured data source. + Path path = 1 [ + (google.api.field_behavior) = REQUIRED + ]; + + message Path { + string file_name = 1; + repeated string alternatives = 2 [ + (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + ]; + } + } + + // defs is the list of definitions for the structured data API. + map def = 1; +} + // RestDataSource is the REST data source driver. message RestDataSource { message Def { @@ -4155,4 +4177,4 @@ message DataSourceReference { max_len: 200, } ]; -} \ No newline at end of file +}