"
+}
diff --git a/vendor/github.com/sashabaranov/go-gpt3/edits.go b/vendor/github.com/sashabaranov/go-openai/edits.go
similarity index 81%
rename from vendor/github.com/sashabaranov/go-gpt3/edits.go
rename to vendor/github.com/sashabaranov/go-openai/edits.go
index 8cfc21c0..858a8e53 100644
--- a/vendor/github.com/sashabaranov/go-gpt3/edits.go
+++ b/vendor/github.com/sashabaranov/go-openai/edits.go
@@ -1,9 +1,7 @@
-package gogpt
+package openai
import (
- "bytes"
"context"
- "encoding/json"
"net/http"
)
@@ -33,13 +31,7 @@ type EditsResponse struct {
// Perform an API call to the Edits endpoint.
func (c *Client) Edits(ctx context.Context, request EditsRequest) (response EditsResponse, err error) {
- var reqBytes []byte
- reqBytes, err = json.Marshal(request)
- if err != nil {
- return
- }
-
- req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/edits"), bytes.NewBuffer(reqBytes))
+ req, err := c.requestBuilder.build(ctx, http.MethodPost, c.fullURL("/edits"), request)
if err != nil {
return
}
diff --git a/vendor/github.com/sashabaranov/go-gpt3/embeddings.go b/vendor/github.com/sashabaranov/go-openai/embeddings.go
similarity index 94%
rename from vendor/github.com/sashabaranov/go-gpt3/embeddings.go
rename to vendor/github.com/sashabaranov/go-openai/embeddings.go
index bfdb802f..2deaccc3 100644
--- a/vendor/github.com/sashabaranov/go-gpt3/embeddings.go
+++ b/vendor/github.com/sashabaranov/go-openai/embeddings.go
@@ -1,9 +1,7 @@
-package gogpt
+package openai
import (
- "bytes"
"context"
- "encoding/json"
"net/http"
)
@@ -103,7 +101,7 @@ var stringToEnum = map[string]EmbeddingModel{
// then their vector representations should also be similar.
type Embedding struct {
Object string `json:"object"`
- Embedding []float64 `json:"embedding"`
+ Embedding []float32 `json:"embedding"`
Index int `json:"index"`
}
@@ -134,14 +132,7 @@ type EmbeddingRequest struct {
// CreateEmbeddings returns an EmbeddingResponse which will contain an Embedding for every item in |request.Input|.
// https://beta.openai.com/docs/api-reference/embeddings/create
func (c *Client) CreateEmbeddings(ctx context.Context, request EmbeddingRequest) (resp EmbeddingResponse, err error) {
- var reqBytes []byte
- reqBytes, err = json.Marshal(request)
- if err != nil {
- return
- }
-
- urlSuffix := "/embeddings"
- req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes))
+ req, err := c.requestBuilder.build(ctx, http.MethodPost, c.fullURL("/embeddings"), request)
if err != nil {
return
}
diff --git a/vendor/github.com/sashabaranov/go-gpt3/engines.go b/vendor/github.com/sashabaranov/go-openai/engines.go
similarity index 83%
rename from vendor/github.com/sashabaranov/go-gpt3/engines.go
rename to vendor/github.com/sashabaranov/go-openai/engines.go
index 2805f153..bb6a66ce 100644
--- a/vendor/github.com/sashabaranov/go-gpt3/engines.go
+++ b/vendor/github.com/sashabaranov/go-openai/engines.go
@@ -1,4 +1,4 @@
-package gogpt
+package openai
import (
"context"
@@ -22,7 +22,7 @@ type EnginesList struct {
// ListEngines Lists the currently available engines, and provides basic
// information about each option such as the owner and availability.
func (c *Client) ListEngines(ctx context.Context) (engines EnginesList, err error) {
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/engines"), nil)
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL("/engines"), nil)
if err != nil {
return
}
@@ -38,7 +38,7 @@ func (c *Client) GetEngine(
engineID string,
) (engine Engine, err error) {
urlSuffix := fmt.Sprintf("/engines/%s", engineID)
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL(urlSuffix), nil)
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL(urlSuffix), nil)
if err != nil {
return
}
diff --git a/vendor/github.com/sashabaranov/go-openai/error.go b/vendor/github.com/sashabaranov/go-openai/error.go
new file mode 100644
index 00000000..86b75f4b
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/error.go
@@ -0,0 +1,78 @@
+package openai
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+// APIError provides error information returned by the OpenAI API.
+type APIError struct {
+ Code any `json:"code,omitempty"`
+ Message string `json:"message"`
+ Param *string `json:"param,omitempty"`
+ Type string `json:"type"`
+ HTTPStatusCode int `json:"-"`
+}
+
+// RequestError provides informations about generic request errors.
+type RequestError struct {
+ HTTPStatusCode int
+ Err error
+}
+
+type ErrorResponse struct {
+ Error *APIError `json:"error,omitempty"`
+}
+
+func (e *APIError) Error() string {
+ return e.Message
+}
+
+func (e *APIError) UnmarshalJSON(data []byte) (err error) {
+ var rawMap map[string]json.RawMessage
+ err = json.Unmarshal(data, &rawMap)
+ if err != nil {
+ return
+ }
+
+ err = json.Unmarshal(rawMap["message"], &e.Message)
+ if err != nil {
+ return
+ }
+
+ err = json.Unmarshal(rawMap["type"], &e.Type)
+ if err != nil {
+ return
+ }
+
+ // optional fields
+ if _, ok := rawMap["param"]; ok {
+ err = json.Unmarshal(rawMap["param"], &e.Param)
+ if err != nil {
+ return
+ }
+ }
+
+ if _, ok := rawMap["code"]; !ok {
+ return nil
+ }
+
+ // if the api returned a number, we need to force an integer
+ // since the json package defaults to float64
+ var intCode int
+ err = json.Unmarshal(rawMap["code"], &intCode)
+ if err == nil {
+ e.Code = intCode
+ return nil
+ }
+
+ return json.Unmarshal(rawMap["code"], &e.Code)
+}
+
+func (e *RequestError) Error() string {
+ return fmt.Sprintf("status code %d, message: %s", e.HTTPStatusCode, e.Err)
+}
+
+func (e *RequestError) Unwrap() error {
+ return e.Err
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/error_accumulator.go b/vendor/github.com/sashabaranov/go-openai/error_accumulator.go
new file mode 100644
index 00000000..ca6cec6e
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/error_accumulator.go
@@ -0,0 +1,51 @@
+package openai
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+)
+
+type errorAccumulator interface {
+ write(p []byte) error
+ unmarshalError() *ErrorResponse
+}
+
+type errorBuffer interface {
+ io.Writer
+ Len() int
+ Bytes() []byte
+}
+
+type defaultErrorAccumulator struct {
+ buffer errorBuffer
+ unmarshaler unmarshaler
+}
+
+func newErrorAccumulator() errorAccumulator {
+ return &defaultErrorAccumulator{
+ buffer: &bytes.Buffer{},
+ unmarshaler: &jsonUnmarshaler{},
+ }
+}
+
+func (e *defaultErrorAccumulator) write(p []byte) error {
+ _, err := e.buffer.Write(p)
+ if err != nil {
+ return fmt.Errorf("error accumulator write error, %w", err)
+ }
+ return nil
+}
+
+func (e *defaultErrorAccumulator) unmarshalError() (errResp *ErrorResponse) {
+ if e.buffer.Len() == 0 {
+ return
+ }
+
+ err := e.unmarshaler.unmarshal(e.buffer.Bytes(), &errResp)
+ if err != nil {
+ errResp = nil
+ }
+
+ return
+}
diff --git a/vendor/github.com/sashabaranov/go-gpt3/files.go b/vendor/github.com/sashabaranov/go-openai/files.go
similarity index 56%
rename from vendor/github.com/sashabaranov/go-gpt3/files.go
rename to vendor/github.com/sashabaranov/go-openai/files.go
index 385bb529..b701b945 100644
--- a/vendor/github.com/sashabaranov/go-gpt3/files.go
+++ b/vendor/github.com/sashabaranov/go-openai/files.go
@@ -1,13 +1,10 @@
-package gogpt
+package openai
import (
"bytes"
"context"
"fmt"
- "io"
- "mime/multipart"
"net/http"
- "net/url"
"os"
)
@@ -33,77 +30,38 @@ type FilesList struct {
Files []File `json:"data"`
}
-// isUrl is a helper function that determines whether the given FilePath
-// is a remote URL or a local file path.
-func isURL(path string) bool {
- _, err := url.ParseRequestURI(path)
- if err != nil {
- return false
- }
-
- u, err := url.Parse(path)
- if err != nil || u.Scheme == "" || u.Host == "" {
- return false
- }
-
- return true
-}
-
// CreateFile uploads a jsonl file to GPT3
-// FilePath can be either a local file path or a URL.
+// FilePath must be a local file path.
func (c *Client) CreateFile(ctx context.Context, request FileRequest) (file File, err error) {
var b bytes.Buffer
- w := multipart.NewWriter(&b)
+ builder := c.createFormBuilder(&b)
- var fw io.Writer
-
- err = w.WriteField("purpose", request.Purpose)
+ err = builder.writeField("purpose", request.Purpose)
if err != nil {
return
}
- fw, err = w.CreateFormFile("file", request.FileName)
+ fileData, err := os.Open(request.FilePath)
if err != nil {
return
}
- var fileData io.ReadCloser
- if isURL(request.FilePath) {
- var remoteFile *http.Response
- remoteFile, err = http.Get(request.FilePath)
- if err != nil {
- return
- }
-
- defer remoteFile.Body.Close()
-
- // Check server response
- if remoteFile.StatusCode != http.StatusOK {
- err = fmt.Errorf("error, status code: %d, message: failed to fetch file", remoteFile.StatusCode)
- return
- }
-
- fileData = remoteFile.Body
- } else {
- fileData, err = os.Open(request.FilePath)
- if err != nil {
- return
- }
- }
-
- _, err = io.Copy(fw, fileData)
+ err = builder.createFormFile("file", fileData)
if err != nil {
return
}
- w.Close()
+ err = builder.close()
+ if err != nil {
+ return
+ }
req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/files"), &b)
if err != nil {
return
}
- req.Header.Set("Content-Type", w.FormDataContentType())
+ req.Header.Set("Content-Type", builder.formDataContentType())
err = c.sendRequest(req, &file)
@@ -112,7 +70,7 @@ func (c *Client) CreateFile(ctx context.Context, request FileRequest) (file File
// DeleteFile deletes an existing file.
func (c *Client) DeleteFile(ctx context.Context, fileID string) (err error) {
- req, err := http.NewRequestWithContext(ctx, http.MethodDelete, c.fullURL("/files/"+fileID), nil)
+ req, err := c.requestBuilder.build(ctx, http.MethodDelete, c.fullURL("/files/"+fileID), nil)
if err != nil {
return
}
@@ -124,7 +82,7 @@ func (c *Client) DeleteFile(ctx context.Context, fileID string) (err error) {
// ListFiles Lists the currently available files,
// and provides basic information about each file such as the file name and purpose.
func (c *Client) ListFiles(ctx context.Context) (files FilesList, err error) {
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/files"), nil)
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL("/files"), nil)
if err != nil {
return
}
@@ -137,7 +95,7 @@ func (c *Client) ListFiles(ctx context.Context) (files FilesList, err error) {
// such as the file name and purpose.
func (c *Client) GetFile(ctx context.Context, fileID string) (file File, err error) {
urlSuffix := fmt.Sprintf("/files/%s", fileID)
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL(urlSuffix), nil)
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL(urlSuffix), nil)
if err != nil {
return
}
diff --git a/vendor/github.com/sashabaranov/go-openai/fine_tunes.go b/vendor/github.com/sashabaranov/go-openai/fine_tunes.go
new file mode 100644
index 00000000..a1218670
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/fine_tunes.go
@@ -0,0 +1,130 @@
+package openai
+
+import (
+ "context"
+ "fmt"
+ "net/http"
+)
+
+type FineTuneRequest struct {
+ TrainingFile string `json:"training_file"`
+ ValidationFile string `json:"validation_file,omitempty"`
+ Model string `json:"model,omitempty"`
+ Epochs int `json:"n_epochs,omitempty"`
+ BatchSize int `json:"batch_size,omitempty"`
+ LearningRateMultiplier float32 `json:"learning_rate_multiplier,omitempty"`
+ PromptLossRate float32 `json:"prompt_loss_rate,omitempty"`
+ ComputeClassificationMetrics bool `json:"compute_classification_metrics,omitempty"`
+ ClassificationClasses int `json:"classification_n_classes,omitempty"`
+ ClassificationPositiveClass string `json:"classification_positive_class,omitempty"`
+ ClassificationBetas []float32 `json:"classification_betas,omitempty"`
+ Suffix string `json:"suffix,omitempty"`
+}
+
+type FineTune struct {
+ ID string `json:"id"`
+ Object string `json:"object"`
+ Model string `json:"model"`
+ CreatedAt int64 `json:"created_at"`
+ FineTuneEventList []FineTuneEvent `json:"events,omitempty"`
+ FineTunedModel string `json:"fine_tuned_model"`
+ HyperParams FineTuneHyperParams `json:"hyperparams"`
+ OrganizationID string `json:"organization_id"`
+ ResultFiles []File `json:"result_files"`
+ Status string `json:"status"`
+ ValidationFiles []File `json:"validation_files"`
+ TrainingFiles []File `json:"training_files"`
+ UpdatedAt int64 `json:"updated_at"`
+}
+
+type FineTuneEvent struct {
+ Object string `json:"object"`
+ CreatedAt int64 `json:"created_at"`
+ Level string `json:"level"`
+ Message string `json:"message"`
+}
+
+type FineTuneHyperParams struct {
+ BatchSize int `json:"batch_size"`
+ LearningRateMultiplier float64 `json:"learning_rate_multiplier"`
+ Epochs int `json:"n_epochs"`
+ PromptLossWeight float64 `json:"prompt_loss_weight"`
+}
+
+type FineTuneList struct {
+ Object string `json:"object"`
+ Data []FineTune `json:"data"`
+}
+type FineTuneEventList struct {
+ Object string `json:"object"`
+ Data []FineTuneEvent `json:"data"`
+}
+
+type FineTuneDeleteResponse struct {
+ ID string `json:"id"`
+ Object string `json:"object"`
+ Deleted bool `json:"deleted"`
+}
+
+func (c *Client) CreateFineTune(ctx context.Context, request FineTuneRequest) (response FineTune, err error) {
+ urlSuffix := "/fine-tunes"
+ req, err := c.requestBuilder.build(ctx, http.MethodPost, c.fullURL(urlSuffix), request)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
+
+// CancelFineTune cancel a fine-tune job.
+func (c *Client) CancelFineTune(ctx context.Context, fineTuneID string) (response FineTune, err error) {
+ req, err := c.requestBuilder.build(ctx, http.MethodPost, c.fullURL("/fine-tunes/"+fineTuneID+"/cancel"), nil)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
+
+func (c *Client) ListFineTunes(ctx context.Context) (response FineTuneList, err error) {
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL("/fine-tunes"), nil)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
+
+func (c *Client) GetFineTune(ctx context.Context, fineTuneID string) (response FineTune, err error) {
+ urlSuffix := fmt.Sprintf("/fine-tunes/%s", fineTuneID)
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL(urlSuffix), nil)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
+
+func (c *Client) DeleteFineTune(ctx context.Context, fineTuneID string) (response FineTuneDeleteResponse, err error) {
+ req, err := c.requestBuilder.build(ctx, http.MethodDelete, c.fullURL("/fine-tunes/"+fineTuneID), nil)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
+
+func (c *Client) ListFineTuneEvents(ctx context.Context, fineTuneID string) (response FineTuneEventList, err error) {
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL("/fine-tunes/"+fineTuneID+"/events"), nil)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/form_builder.go b/vendor/github.com/sashabaranov/go-openai/form_builder.go
new file mode 100644
index 00000000..7fbb1643
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/form_builder.go
@@ -0,0 +1,49 @@
+package openai
+
+import (
+ "io"
+ "mime/multipart"
+ "os"
+)
+
+type formBuilder interface {
+ createFormFile(fieldname string, file *os.File) error
+ writeField(fieldname, value string) error
+ close() error
+ formDataContentType() string
+}
+
+type defaultFormBuilder struct {
+ writer *multipart.Writer
+}
+
+func newFormBuilder(body io.Writer) *defaultFormBuilder {
+ return &defaultFormBuilder{
+ writer: multipart.NewWriter(body),
+ }
+}
+
+func (fb *defaultFormBuilder) createFormFile(fieldname string, file *os.File) error {
+ fieldWriter, err := fb.writer.CreateFormFile(fieldname, file.Name())
+ if err != nil {
+ return err
+ }
+
+ _, err = io.Copy(fieldWriter, file)
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
+func (fb *defaultFormBuilder) writeField(fieldname, value string) error {
+ return fb.writer.WriteField(fieldname, value)
+}
+
+func (fb *defaultFormBuilder) close() error {
+ return fb.writer.Close()
+}
+
+func (fb *defaultFormBuilder) formDataContentType() string {
+ return fb.writer.FormDataContentType()
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/image.go b/vendor/github.com/sashabaranov/go-openai/image.go
new file mode 100644
index 00000000..21703bda
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/image.go
@@ -0,0 +1,171 @@
+package openai
+
+import (
+ "bytes"
+ "context"
+ "net/http"
+ "os"
+ "strconv"
+)
+
+// Image sizes defined by the OpenAI API.
+const (
+ CreateImageSize256x256 = "256x256"
+ CreateImageSize512x512 = "512x512"
+ CreateImageSize1024x1024 = "1024x1024"
+)
+
+const (
+ CreateImageResponseFormatURL = "url"
+ CreateImageResponseFormatB64JSON = "b64_json"
+)
+
+// ImageRequest represents the request structure for the image API.
+type ImageRequest struct {
+ Prompt string `json:"prompt,omitempty"`
+ N int `json:"n,omitempty"`
+ Size string `json:"size,omitempty"`
+ ResponseFormat string `json:"response_format,omitempty"`
+ User string `json:"user,omitempty"`
+}
+
+// ImageResponse represents a response structure for image API.
+type ImageResponse struct {
+ Created int64 `json:"created,omitempty"`
+ Data []ImageResponseDataInner `json:"data,omitempty"`
+}
+
+// ImageResponseDataInner represents a response data structure for image API.
+type ImageResponseDataInner struct {
+ URL string `json:"url,omitempty"`
+ B64JSON string `json:"b64_json,omitempty"`
+}
+
+// CreateImage - API call to create an image. This is the main endpoint of the DALL-E API.
+func (c *Client) CreateImage(ctx context.Context, request ImageRequest) (response ImageResponse, err error) {
+ urlSuffix := "/images/generations"
+ req, err := c.requestBuilder.build(ctx, http.MethodPost, c.fullURL(urlSuffix), request)
+ if err != nil {
+ return
+ }
+
+ err = c.sendRequest(req, &response)
+ return
+}
+
+// ImageEditRequest represents the request structure for the image API.
+type ImageEditRequest struct {
+ Image *os.File `json:"image,omitempty"`
+ Mask *os.File `json:"mask,omitempty"`
+ Prompt string `json:"prompt,omitempty"`
+ N int `json:"n,omitempty"`
+ Size string `json:"size,omitempty"`
+ ResponseFormat string `json:"response_format,omitempty"`
+}
+
+// CreateEditImage - API call to create an image. This is the main endpoint of the DALL-E API.
+func (c *Client) CreateEditImage(ctx context.Context, request ImageEditRequest) (response ImageResponse, err error) {
+ body := &bytes.Buffer{}
+ builder := c.createFormBuilder(body)
+
+ // image
+ err = builder.createFormFile("image", request.Image)
+ if err != nil {
+ return
+ }
+
+ // mask, it is optional
+ if request.Mask != nil {
+ err = builder.createFormFile("mask", request.Mask)
+ if err != nil {
+ return
+ }
+ }
+
+ err = builder.writeField("prompt", request.Prompt)
+ if err != nil {
+ return
+ }
+
+ err = builder.writeField("n", strconv.Itoa(request.N))
+ if err != nil {
+ return
+ }
+
+ err = builder.writeField("size", request.Size)
+ if err != nil {
+ return
+ }
+
+ err = builder.writeField("response_format", request.ResponseFormat)
+ if err != nil {
+ return
+ }
+
+ err = builder.close()
+ if err != nil {
+ return
+ }
+
+ urlSuffix := "/images/edits"
+ req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), body)
+ if err != nil {
+ return
+ }
+
+ req.Header.Set("Content-Type", builder.formDataContentType())
+ err = c.sendRequest(req, &response)
+ return
+}
+
+// ImageVariRequest represents the request structure for the image API.
+type ImageVariRequest struct {
+ Image *os.File `json:"image,omitempty"`
+ N int `json:"n,omitempty"`
+ Size string `json:"size,omitempty"`
+ ResponseFormat string `json:"response_format,omitempty"`
+}
+
+// CreateVariImage - API call to create an image variation. This is the main endpoint of the DALL-E API.
+// Use abbreviations(vari for variation) because ci-lint has a single-line length limit ...
+func (c *Client) CreateVariImage(ctx context.Context, request ImageVariRequest) (response ImageResponse, err error) {
+ body := &bytes.Buffer{}
+ builder := c.createFormBuilder(body)
+
+ // image
+ err = builder.createFormFile("image", request.Image)
+ if err != nil {
+ return
+ }
+
+ err = builder.writeField("n", strconv.Itoa(request.N))
+ if err != nil {
+ return
+ }
+
+ err = builder.writeField("size", request.Size)
+ if err != nil {
+ return
+ }
+
+ err = builder.writeField("response_format", request.ResponseFormat)
+ if err != nil {
+ return
+ }
+
+ err = builder.close()
+ if err != nil {
+ return
+ }
+
+ //https://platform.openai.com/docs/api-reference/images/create-variation
+ urlSuffix := "/images/variations"
+ req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), body)
+ if err != nil {
+ return
+ }
+
+ req.Header.Set("Content-Type", builder.formDataContentType())
+ err = c.sendRequest(req, &response)
+ return
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/marshaller.go b/vendor/github.com/sashabaranov/go-openai/marshaller.go
new file mode 100644
index 00000000..308ccd15
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/marshaller.go
@@ -0,0 +1,15 @@
+package openai
+
+import (
+ "encoding/json"
+)
+
+type marshaller interface {
+ marshal(value any) ([]byte, error)
+}
+
+type jsonMarshaller struct{}
+
+func (jm *jsonMarshaller) marshal(value any) ([]byte, error) {
+ return json.Marshal(value)
+}
diff --git a/vendor/github.com/sashabaranov/go-gpt3/models.go b/vendor/github.com/sashabaranov/go-openai/models.go
similarity index 88%
rename from vendor/github.com/sashabaranov/go-gpt3/models.go
rename to vendor/github.com/sashabaranov/go-openai/models.go
index c18e502a..2be91aad 100644
--- a/vendor/github.com/sashabaranov/go-gpt3/models.go
+++ b/vendor/github.com/sashabaranov/go-openai/models.go
@@ -1,4 +1,4 @@
-package gogpt
+package openai
import (
"context"
@@ -7,7 +7,7 @@ import (
// Model struct represents an OpenAPI model.
type Model struct {
- CreatedAt int64 `json:"created_at"`
+ CreatedAt int64 `json:"created"`
ID string `json:"id"`
Object string `json:"object"`
OwnedBy string `json:"owned_by"`
@@ -18,7 +18,7 @@ type Model struct {
// Permission struct represents an OpenAPI permission.
type Permission struct {
- CreatedAt int64 `json:"created_at"`
+ CreatedAt int64 `json:"created"`
ID string `json:"id"`
Object string `json:"object"`
AllowCreateEngine bool `json:"allow_create_engine"`
@@ -40,7 +40,7 @@ type ModelsList struct {
// ListModels Lists the currently available models,
// and provides basic information about each model such as the model id and parent.
func (c *Client) ListModels(ctx context.Context) (models ModelsList, err error) {
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/models"), nil)
+ req, err := c.requestBuilder.build(ctx, http.MethodGet, c.fullURL("/models"), nil)
if err != nil {
return
}
diff --git a/vendor/github.com/sashabaranov/go-gpt3/moderation.go b/vendor/github.com/sashabaranov/go-openai/moderation.go
similarity index 65%
rename from vendor/github.com/sashabaranov/go-gpt3/moderation.go
rename to vendor/github.com/sashabaranov/go-openai/moderation.go
index 1849e106..b386ddb9 100644
--- a/vendor/github.com/sashabaranov/go-gpt3/moderation.go
+++ b/vendor/github.com/sashabaranov/go-openai/moderation.go
@@ -1,16 +1,27 @@
-package gogpt
+package openai
import (
- "bytes"
"context"
- "encoding/json"
"net/http"
)
+// The moderation endpoint is a tool you can use to check whether content complies with OpenAI's usage policies.
+// Developers can thus identify content that our usage policies prohibits and take action, for instance by filtering it.
+
+// The default is text-moderation-latest which will be automatically upgraded over time.
+// This ensures you are always using our most accurate model.
+// If you use text-moderation-stable, we will provide advanced notice before updating the model.
+// Accuracy of text-moderation-stable may be slightly lower than for text-moderation-latest.
+const (
+ ModerationTextStable = "text-moderation-stable"
+ ModerationTextLatest = "text-moderation-latest"
+ ModerationText001 = "text-moderation-001"
+)
+
// ModerationRequest represents a request structure for moderation API.
type ModerationRequest struct {
- Input string `json:"input,omitempty"`
- Model *string `json:"model,omitempty"`
+ Input string `json:"input,omitempty"`
+ Model string `json:"model,omitempty"`
}
// Result represents one of possible moderation results.
@@ -52,13 +63,7 @@ type ModerationResponse struct {
// Moderations — perform a moderation api call over a string.
// Input can be an array or slice but a string will reduce the complexity.
func (c *Client) Moderations(ctx context.Context, request ModerationRequest) (response ModerationResponse, err error) {
- var reqBytes []byte
- reqBytes, err = json.Marshal(request)
- if err != nil {
- return
- }
-
- req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/moderations"), bytes.NewBuffer(reqBytes))
+ req, err := c.requestBuilder.build(ctx, http.MethodPost, c.fullURL("/moderations"), request)
if err != nil {
return
}
diff --git a/vendor/github.com/sashabaranov/go-openai/request_builder.go b/vendor/github.com/sashabaranov/go-openai/request_builder.go
new file mode 100644
index 00000000..f0cef10f
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/request_builder.go
@@ -0,0 +1,40 @@
+package openai
+
+import (
+ "bytes"
+ "context"
+ "net/http"
+)
+
+type requestBuilder interface {
+ build(ctx context.Context, method, url string, request any) (*http.Request, error)
+}
+
+type httpRequestBuilder struct {
+ marshaller marshaller
+}
+
+func newRequestBuilder() *httpRequestBuilder {
+ return &httpRequestBuilder{
+ marshaller: &jsonMarshaller{},
+ }
+}
+
+func (b *httpRequestBuilder) build(ctx context.Context, method, url string, request any) (*http.Request, error) {
+ if request == nil {
+ return http.NewRequestWithContext(ctx, method, url, nil)
+ }
+
+ var reqBytes []byte
+ reqBytes, err := b.marshaller.marshal(request)
+ if err != nil {
+ return nil, err
+ }
+
+ return http.NewRequestWithContext(
+ ctx,
+ method,
+ url,
+ bytes.NewBuffer(reqBytes),
+ )
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/stream.go b/vendor/github.com/sashabaranov/go-openai/stream.go
new file mode 100644
index 00000000..95662db6
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/stream.go
@@ -0,0 +1,61 @@
+package openai
+
+import (
+ "bufio"
+ "context"
+ "errors"
+ "net/http"
+)
+
+var (
+ ErrTooManyEmptyStreamMessages = errors.New("stream has sent too many empty messages")
+)
+
+type CompletionStream struct {
+ *streamReader[CompletionResponse]
+}
+
+// CreateCompletionStream — API call to create a completion w/ streaming
+// support. It sets whether to stream back partial progress. If set, tokens will be
+// sent as data-only server-sent events as they become available, with the
+// stream terminated by a data: [DONE] message.
+func (c *Client) CreateCompletionStream(
+ ctx context.Context,
+ request CompletionRequest,
+) (stream *CompletionStream, err error) {
+ urlSuffix := "/completions"
+ if !checkEndpointSupportsModel(urlSuffix, request.Model) {
+ err = ErrCompletionUnsupportedModel
+ return
+ }
+
+ if !checkPromptType(request.Prompt) {
+ err = ErrCompletionRequestPromptTypeNotSupported
+ return
+ }
+
+ request.Stream = true
+ req, err := c.newStreamRequest(ctx, "POST", urlSuffix, request)
+ if err != nil {
+ return
+ }
+
+ resp, err := c.config.HTTPClient.Do(req) //nolint:bodyclose // body is closed in stream.Close()
+ if err != nil {
+ return
+ }
+ if resp.StatusCode < http.StatusOK || resp.StatusCode >= http.StatusBadRequest {
+ return nil, c.handleErrorResp(resp)
+ }
+
+ stream = &CompletionStream{
+ streamReader: &streamReader[CompletionResponse]{
+ emptyMessagesLimit: c.config.EmptyMessagesLimit,
+ reader: bufio.NewReader(resp.Body),
+ response: resp,
+ errAccumulator: newErrorAccumulator(),
+ unmarshaler: &jsonUnmarshaler{},
+ },
+ }
+ return
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/stream_reader.go b/vendor/github.com/sashabaranov/go-openai/stream_reader.go
new file mode 100644
index 00000000..aa06f00a
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/stream_reader.go
@@ -0,0 +1,72 @@
+package openai
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "io"
+ "net/http"
+)
+
+type streamable interface {
+ ChatCompletionStreamResponse | CompletionResponse
+}
+
+type streamReader[T streamable] struct {
+ emptyMessagesLimit uint
+ isFinished bool
+
+ reader *bufio.Reader
+ response *http.Response
+ errAccumulator errorAccumulator
+ unmarshaler unmarshaler
+}
+
+func (stream *streamReader[T]) Recv() (response T, err error) {
+ if stream.isFinished {
+ err = io.EOF
+ return
+ }
+
+ var emptyMessagesCount uint
+
+waitForData:
+ line, err := stream.reader.ReadBytes('\n')
+ if err != nil {
+ respErr := stream.errAccumulator.unmarshalError()
+ if respErr != nil {
+ err = fmt.Errorf("error, %w", respErr.Error)
+ }
+ return
+ }
+
+ var headerData = []byte("data: ")
+ line = bytes.TrimSpace(line)
+ if !bytes.HasPrefix(line, headerData) {
+ if writeErr := stream.errAccumulator.write(line); writeErr != nil {
+ err = writeErr
+ return
+ }
+ emptyMessagesCount++
+ if emptyMessagesCount > stream.emptyMessagesLimit {
+ err = ErrTooManyEmptyStreamMessages
+ return
+ }
+
+ goto waitForData
+ }
+
+ line = bytes.TrimPrefix(line, headerData)
+ if string(line) == "[DONE]" {
+ stream.isFinished = true
+ err = io.EOF
+ return
+ }
+
+ err = stream.unmarshaler.unmarshal(line, &response)
+ return
+}
+
+func (stream *streamReader[T]) Close() {
+ stream.response.Body.Close()
+}
diff --git a/vendor/github.com/sashabaranov/go-openai/unmarshaler.go b/vendor/github.com/sashabaranov/go-openai/unmarshaler.go
new file mode 100644
index 00000000..05218f76
--- /dev/null
+++ b/vendor/github.com/sashabaranov/go-openai/unmarshaler.go
@@ -0,0 +1,15 @@
+package openai
+
+import (
+ "encoding/json"
+)
+
+type unmarshaler interface {
+ unmarshal(data []byte, v any) error
+}
+
+type jsonUnmarshaler struct{}
+
+func (jm *jsonUnmarshaler) unmarshal(data []byte, v any) error {
+ return json.Unmarshal(data, v)
+}
diff --git a/vendor/github.com/toorop/go-dkim/.gitignore b/vendor/github.com/toorop/go-dkim/.gitignore
new file mode 100644
index 00000000..daf913b1
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/.gitignore
@@ -0,0 +1,24 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
diff --git a/vendor/github.com/toorop/go-dkim/LICENSE b/vendor/github.com/toorop/go-dkim/LICENSE
new file mode 100644
index 00000000..f1afb74f
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Stéphane Depierrepont
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/vendor/github.com/toorop/go-dkim/README.md b/vendor/github.com/toorop/go-dkim/README.md
new file mode 100644
index 00000000..49567395
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/README.md
@@ -0,0 +1,56 @@
+# go-dkim
+DKIM package for Golang
+
+[](https://godoc.org/github.com/toorop/go-dkim)
+
+## Getting started
+
+### Install
+```
+ go get github.com/toorop/go-dkim
+```
+Warning: you need to use Go 1.4.2-master or 1.4.3 (when it will be available)
+see https://github.com/golang/go/issues/10482 fro more info.
+
+### Sign email
+
+```go
+import (
+ dkim "github.com/toorop/go-dkim"
+)
+
+func main(){
+ // email is the email to sign (byte slice)
+ // privateKey the private key (pem encoded, byte slice )
+ options := dkim.NewSigOptions()
+ options.PrivateKey = privateKey
+ options.Domain = "mydomain.tld"
+ options.Selector = "myselector"
+ options.SignatureExpireIn = 3600
+ options.BodyLength = 50
+ options.Headers = []string{"from", "date", "mime-version", "received", "received"}
+ options.AddSignatureTimestamp = true
+ options.Canonicalization = "relaxed/relaxed"
+ err := dkim.Sign(&email, options)
+ // handle err..
+
+ // And... that's it, 'email' is signed ! Amazing© !!!
+}
+```
+
+### Verify
+```go
+import (
+ dkim "github.com/toorop/go-dkim"
+)
+
+func main(){
+ // email is the email to verify (byte slice)
+ status, err := Verify(&email)
+ // handle status, err (see godoc for status)
+}
+```
+
+## Todo
+
+- [ ] handle z tag (copied header fields used for diagnostic use)
diff --git a/vendor/github.com/toorop/go-dkim/dkim.go b/vendor/github.com/toorop/go-dkim/dkim.go
new file mode 100644
index 00000000..3ed5c88f
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/dkim.go
@@ -0,0 +1,564 @@
+// Package dkim provides tools for signing and verify a email according to RFC 6376
+package dkim
+
+import (
+ "bytes"
+ "container/list"
+ "crypto"
+ "crypto/rand"
+ "crypto/rsa"
+ "crypto/sha1"
+ "crypto/sha256"
+ "crypto/x509"
+ "encoding/base64"
+ "encoding/pem"
+ "hash"
+ "regexp"
+ "strings"
+ "time"
+)
+
+const (
+ CRLF = "\r\n"
+ TAB = " "
+ FWS = CRLF + TAB
+ MaxHeaderLineLength = 70
+)
+
+type verifyOutput int
+
+const (
+ SUCCESS verifyOutput = 1 + iota
+ PERMFAIL
+ TEMPFAIL
+ NOTSIGNED
+ TESTINGSUCCESS
+ TESTINGPERMFAIL
+ TESTINGTEMPFAIL
+)
+
+// sigOptions represents signing options
+type SigOptions struct {
+
+ // DKIM version (default 1)
+ Version uint
+
+ // Private key used for signing (required)
+ PrivateKey []byte
+
+ // Domain (required)
+ Domain string
+
+ // Selector (required)
+ Selector string
+
+ // The Agent of User IDentifier
+ Auid string
+
+ // Message canonicalization (plain-text; OPTIONAL, default is
+ // "simple/simple"). This tag informs the Verifier of the type of
+ // canonicalization used to prepare the message for signing.
+ Canonicalization string
+
+ // The algorithm used to generate the signature
+ //"rsa-sha1" or "rsa-sha256"
+ Algo string
+
+ // Signed header fields
+ Headers []string
+
+ // Body length count( if set to 0 this tag is ommited in Dkim header)
+ BodyLength uint
+
+ // Query Methods used to retrieve the public key
+ QueryMethods []string
+
+ // Add a signature timestamp
+ AddSignatureTimestamp bool
+
+ // Time validity of the signature (0=never)
+ SignatureExpireIn uint64
+
+ // CopiedHeaderFileds
+ CopiedHeaderFields []string
+}
+
+// NewSigOptions returns new sigoption with some defaults value
+func NewSigOptions() SigOptions {
+ return SigOptions{
+ Version: 1,
+ Canonicalization: "simple/simple",
+ Algo: "rsa-sha256",
+ Headers: []string{"from"},
+ BodyLength: 0,
+ QueryMethods: []string{"dns/txt"},
+ AddSignatureTimestamp: true,
+ SignatureExpireIn: 0,
+ }
+}
+
+// Sign signs an email
+func Sign(email *[]byte, options SigOptions) error {
+ var privateKey *rsa.PrivateKey
+ var err error
+
+ // PrivateKey
+ if len(options.PrivateKey) == 0 {
+ return ErrSignPrivateKeyRequired
+ }
+ d, _ := pem.Decode(options.PrivateKey)
+ if d == nil {
+ return ErrCandNotParsePrivateKey
+ }
+
+ // try to parse it as PKCS1 otherwise try PKCS8
+ if key, err := x509.ParsePKCS1PrivateKey(d.Bytes); err != nil {
+ if key, err := x509.ParsePKCS8PrivateKey(d.Bytes); err != nil {
+ return ErrCandNotParsePrivateKey
+ } else {
+ privateKey = key.(*rsa.PrivateKey)
+ }
+ } else {
+ privateKey = key
+ }
+
+ // Domain required
+ if options.Domain == "" {
+ return ErrSignDomainRequired
+ }
+
+ // Selector required
+ if options.Selector == "" {
+ return ErrSignSelectorRequired
+ }
+
+ // Canonicalization
+ options.Canonicalization, err = validateCanonicalization(strings.ToLower(options.Canonicalization))
+ if err != nil {
+ return err
+ }
+
+ // Algo
+ options.Algo = strings.ToLower(options.Algo)
+ if options.Algo != "rsa-sha1" && options.Algo != "rsa-sha256" {
+ return ErrSignBadAlgo
+ }
+
+ // Header must contain "from"
+ hasFrom := false
+ for i, h := range options.Headers {
+ h = strings.ToLower(h)
+ options.Headers[i] = h
+ if h == "from" {
+ hasFrom = true
+ }
+ }
+ if !hasFrom {
+ return ErrSignHeaderShouldContainsFrom
+ }
+
+ // Normalize
+ headers, body, err := canonicalize(email, options.Canonicalization, options.Headers)
+ if err != nil {
+ return err
+ }
+
+ signHash := strings.Split(options.Algo, "-")
+
+ // hash body
+ bodyHash, err := getBodyHash(&body, signHash[1], options.BodyLength)
+ if err != nil {
+ return err
+ }
+
+ // Get dkim header base
+ dkimHeader := newDkimHeaderBySigOptions(options)
+ dHeader := dkimHeader.getHeaderBaseForSigning(bodyHash)
+
+ canonicalizations := strings.Split(options.Canonicalization, "/")
+ dHeaderCanonicalized, err := canonicalizeHeader(dHeader, canonicalizations[0])
+ if err != nil {
+ return err
+ }
+ headers = append(headers, []byte(dHeaderCanonicalized)...)
+ headers = bytes.TrimRight(headers, " \r\n")
+
+ // sign
+ sig, err := getSignature(&headers, privateKey, signHash[1])
+
+ // add to DKIM-Header
+ subh := ""
+ l := len(subh)
+ for _, c := range sig {
+ subh += string(c)
+ l++
+ if l >= MaxHeaderLineLength {
+ dHeader += subh + FWS
+ subh = ""
+ l = 0
+ }
+ }
+ dHeader += subh + CRLF
+ *email = append([]byte(dHeader), *email...)
+ return nil
+}
+
+// Verify verifies an email an return
+// state: SUCCESS or PERMFAIL or TEMPFAIL, TESTINGSUCCESS, TESTINGPERMFAIL
+// TESTINGTEMPFAIL or NOTSIGNED
+// error: if an error occurs during verification
+func Verify(email *[]byte, opts ...DNSOpt) (verifyOutput, error) {
+ // parse email
+ dkimHeader, err := GetHeader(email)
+ if err != nil {
+ if err == ErrDkimHeaderNotFound {
+ return NOTSIGNED, ErrDkimHeaderNotFound
+ }
+ return PERMFAIL, err
+ }
+
+ // we do not set query method because if it's others, validation failed earlier
+ pubKey, verifyOutputOnError, err := NewPubKeyRespFromDNS(dkimHeader.Selector, dkimHeader.Domain, opts...)
+ if err != nil {
+ // fix https://github.com/toorop/go-dkim/issues/1
+ //return getVerifyOutput(verifyOutputOnError, err, pubKey.FlagTesting)
+ return verifyOutputOnError, err
+ }
+
+ // Normalize
+ headers, body, err := canonicalize(email, dkimHeader.MessageCanonicalization, dkimHeader.Headers)
+ if err != nil {
+ return getVerifyOutput(PERMFAIL, err, pubKey.FlagTesting)
+ }
+ sigHash := strings.Split(dkimHeader.Algorithm, "-")
+ // check if hash algo are compatible
+ compatible := false
+ for _, algo := range pubKey.HashAlgo {
+ if sigHash[1] == algo {
+ compatible = true
+ break
+ }
+ }
+ if !compatible {
+ return getVerifyOutput(PERMFAIL, ErrVerifyInappropriateHashAlgo, pubKey.FlagTesting)
+ }
+
+ // expired ?
+ if !dkimHeader.SignatureExpiration.IsZero() && dkimHeader.SignatureExpiration.Second() < time.Now().Second() {
+ return getVerifyOutput(PERMFAIL, ErrVerifySignatureHasExpired, pubKey.FlagTesting)
+
+ }
+
+ //println("|" + string(body) + "|")
+ // get body hash
+ bodyHash, err := getBodyHash(&body, sigHash[1], dkimHeader.BodyLength)
+ if err != nil {
+ return getVerifyOutput(PERMFAIL, err, pubKey.FlagTesting)
+ }
+ //println(bodyHash)
+ if bodyHash != dkimHeader.BodyHash {
+ return getVerifyOutput(PERMFAIL, ErrVerifyBodyHash, pubKey.FlagTesting)
+ }
+
+ // compute sig
+ dkimHeaderCano, err := canonicalizeHeader(dkimHeader.rawForSign, strings.Split(dkimHeader.MessageCanonicalization, "/")[0])
+ if err != nil {
+ return getVerifyOutput(TEMPFAIL, err, pubKey.FlagTesting)
+ }
+ toSignStr := string(headers) + dkimHeaderCano
+ toSign := bytes.TrimRight([]byte(toSignStr), " \r\n")
+
+ err = verifySignature(toSign, dkimHeader.SignatureData, &pubKey.PubKey, sigHash[1])
+ if err != nil {
+ return getVerifyOutput(PERMFAIL, err, pubKey.FlagTesting)
+ }
+ return SUCCESS, nil
+}
+
+// getVerifyOutput returns output of verify fct according to the testing flag
+func getVerifyOutput(status verifyOutput, err error, flagTesting bool) (verifyOutput, error) {
+ if !flagTesting {
+ return status, err
+ }
+ switch status {
+ case SUCCESS:
+ return TESTINGSUCCESS, err
+ case PERMFAIL:
+ return TESTINGPERMFAIL, err
+ case TEMPFAIL:
+ return TESTINGTEMPFAIL, err
+ }
+ // should never happen but compilator sream whithout return
+ return status, err
+}
+
+// canonicalize returns canonicalized version of header and body
+func canonicalize(email *[]byte, cano string, h []string) (headers, body []byte, err error) {
+ body = []byte{}
+ rxReduceWS := regexp.MustCompile(`[ \t]+`)
+
+ rawHeaders, rawBody, err := getHeadersBody(email)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ canonicalizations := strings.Split(cano, "/")
+
+ // canonicalyze header
+ headersList, err := getHeadersList(&rawHeaders)
+
+ // pour chaque header a conserver on traverse tous les headers dispo
+ // If multi instance of a field we must keep it from the bottom to the top
+ var match *list.Element
+ headersToKeepList := list.New()
+
+ for _, headerToKeep := range h {
+ match = nil
+ headerToKeepToLower := strings.ToLower(headerToKeep)
+ for e := headersList.Front(); e != nil; e = e.Next() {
+ //fmt.Printf("|%s|\n", e.Value.(string))
+ t := strings.Split(e.Value.(string), ":")
+ if strings.ToLower(t[0]) == headerToKeepToLower {
+ match = e
+ }
+ }
+ if match != nil {
+ headersToKeepList.PushBack(match.Value.(string) + "\r\n")
+ headersList.Remove(match)
+ }
+ }
+
+ //if canonicalizations[0] == "simple" {
+ for e := headersToKeepList.Front(); e != nil; e = e.Next() {
+ cHeader, err := canonicalizeHeader(e.Value.(string), canonicalizations[0])
+ if err != nil {
+ return headers, body, err
+ }
+ headers = append(headers, []byte(cHeader)...)
+ }
+ // canonicalyze body
+ if canonicalizations[1] == "simple" {
+ // simple
+ // The "simple" body canonicalization algorithm ignores all empty lines
+ // at the end of the message body. An empty line is a line of zero
+ // length after removal of the line terminator. If there is no body or
+ // no trailing CRLF on the message body, a CRLF is added. It makes no
+ // other changes to the message body. In more formal terms, the
+ // "simple" body canonicalization algorithm converts "*CRLF" at the end
+ // of the body to a single "CRLF".
+ // Note that a completely empty or missing body is canonicalized as a
+ // single "CRLF"; that is, the canonicalized length will be 2 octets.
+ body = bytes.TrimRight(rawBody, "\r\n")
+ body = append(body, []byte{13, 10}...)
+ } else {
+ // relaxed
+ // Ignore all whitespace at the end of lines. Implementations
+ // MUST NOT remove the CRLF at the end of the line.
+ // Reduce all sequences of WSP within a line to a single SP
+ // character.
+ // Ignore all empty lines at the end of the message body. "Empty
+ // line" is defined in Section 3.4.3. If the body is non-empty but
+ // does not end with a CRLF, a CRLF is added. (For email, this is
+ // only possible when using extensions to SMTP or non-SMTP transport
+ // mechanisms.)
+ rawBody = rxReduceWS.ReplaceAll(rawBody, []byte(" "))
+ for _, line := range bytes.SplitAfter(rawBody, []byte{10}) {
+ line = bytes.TrimRight(line, " \r\n")
+ body = append(body, line...)
+ body = append(body, []byte{13, 10}...)
+ }
+ body = bytes.TrimRight(body, "\r\n")
+ body = append(body, []byte{13, 10}...)
+
+ }
+ return
+}
+
+// canonicalizeHeader returns canonicalized version of header
+func canonicalizeHeader(header string, algo string) (string, error) {
+ //rxReduceWS := regexp.MustCompile(`[ \t]+`)
+ if algo == "simple" {
+ // The "simple" header canonicalization algorithm does not change header
+ // fields in any way. Header fields MUST be presented to the signing or
+ // verification algorithm exactly as they are in the message being
+ // signed or verified. In particular, header field names MUST NOT be
+ // case folded and whitespace MUST NOT be changed.
+ return header, nil
+ } else if algo == "relaxed" {
+ // The "relaxed" header canonicalization algorithm MUST apply the
+ // following steps in order:
+
+ // Convert all header field names (not the header field values) to
+ // lowercase. For example, convert "SUBJect: AbC" to "subject: AbC".
+
+ // Unfold all header field continuation lines as described in
+ // [RFC5322]; in particular, lines with terminators embedded in
+ // continued header field values (that is, CRLF sequences followed by
+ // WSP) MUST be interpreted without the CRLF. Implementations MUST
+ // NOT remove the CRLF at the end of the header field value.
+
+ // Convert all sequences of one or more WSP characters to a single SP
+ // character. WSP characters here include those before and after a
+ // line folding boundary.
+
+ // Delete all WSP characters at the end of each unfolded header field
+ // value.
+
+ // Delete any WSP characters remaining before and after the colon
+ // separating the header field name from the header field value. The
+ // colon separator MUST be retained.
+ kv := strings.SplitN(header, ":", 2)
+ if len(kv) != 2 {
+ return header, ErrBadMailFormatHeaders
+ }
+ k := strings.ToLower(kv[0])
+ k = strings.TrimSpace(k)
+ v := removeFWS(kv[1])
+ //v = rxReduceWS.ReplaceAllString(v, " ")
+ //v = strings.TrimSpace(v)
+ return k + ":" + v + CRLF, nil
+ }
+ return header, ErrSignBadCanonicalization
+}
+
+// getBodyHash return the hash (bas64encoded) of the body
+func getBodyHash(body *[]byte, algo string, bodyLength uint) (string, error) {
+ var h hash.Hash
+ if algo == "sha1" {
+ h = sha1.New()
+ } else {
+ h = sha256.New()
+ }
+ toH := *body
+ // if l tag (body length)
+ if bodyLength != 0 {
+ if uint(len(toH)) < bodyLength {
+ return "", ErrBadDKimTagLBodyTooShort
+ }
+ toH = toH[0:bodyLength]
+ }
+
+ h.Write(toH)
+ return base64.StdEncoding.EncodeToString(h.Sum(nil)), nil
+}
+
+// getSignature return signature of toSign using key
+func getSignature(toSign *[]byte, key *rsa.PrivateKey, algo string) (string, error) {
+ var h1 hash.Hash
+ var h2 crypto.Hash
+ switch algo {
+ case "sha1":
+ h1 = sha1.New()
+ h2 = crypto.SHA1
+ break
+ case "sha256":
+ h1 = sha256.New()
+ h2 = crypto.SHA256
+ break
+ default:
+ return "", ErrVerifyInappropriateHashAlgo
+ }
+
+ // sign
+ h1.Write(*toSign)
+ sig, err := rsa.SignPKCS1v15(rand.Reader, key, h2, h1.Sum(nil))
+ if err != nil {
+ return "", err
+ }
+ return base64.StdEncoding.EncodeToString(sig), nil
+}
+
+// verifySignature verify signature from pubkey
+func verifySignature(toSign []byte, sig64 string, key *rsa.PublicKey, algo string) error {
+ var h1 hash.Hash
+ var h2 crypto.Hash
+ switch algo {
+ case "sha1":
+ h1 = sha1.New()
+ h2 = crypto.SHA1
+ break
+ case "sha256":
+ h1 = sha256.New()
+ h2 = crypto.SHA256
+ break
+ default:
+ return ErrVerifyInappropriateHashAlgo
+ }
+
+ h1.Write(toSign)
+ sig, err := base64.StdEncoding.DecodeString(sig64)
+ if err != nil {
+ return err
+ }
+ return rsa.VerifyPKCS1v15(key, h2, h1.Sum(nil), sig)
+}
+
+// removeFWS removes all FWS from string
+func removeFWS(in string) string {
+ rxReduceWS := regexp.MustCompile(`[ \t]+`)
+ out := strings.Replace(in, "\n", "", -1)
+ out = strings.Replace(out, "\r", "", -1)
+ out = rxReduceWS.ReplaceAllString(out, " ")
+ return strings.TrimSpace(out)
+}
+
+// validateCanonicalization validate canonicalization (c flag)
+func validateCanonicalization(cano string) (string, error) {
+ p := strings.Split(cano, "/")
+ if len(p) > 2 {
+ return "", ErrSignBadCanonicalization
+ }
+ if len(p) == 1 {
+ cano = cano + "/simple"
+ }
+ for _, c := range p {
+ if c != "simple" && c != "relaxed" {
+ return "", ErrSignBadCanonicalization
+ }
+ }
+ return cano, nil
+}
+
+// getHeadersList returns headers as list
+func getHeadersList(rawHeader *[]byte) (*list.List, error) {
+ headersList := list.New()
+ currentHeader := []byte{}
+ for _, line := range bytes.SplitAfter(*rawHeader, []byte{10}) {
+ if line[0] == 32 || line[0] == 9 {
+ if len(currentHeader) == 0 {
+ return headersList, ErrBadMailFormatHeaders
+ }
+ currentHeader = append(currentHeader, line...)
+ } else {
+ // New header, save current if exists
+ if len(currentHeader) != 0 {
+ headersList.PushBack(string(bytes.TrimRight(currentHeader, "\r\n")))
+ currentHeader = []byte{}
+ }
+ currentHeader = append(currentHeader, line...)
+ }
+ }
+ headersList.PushBack(string(currentHeader))
+ return headersList, nil
+}
+
+// getHeadersBody return headers and body
+func getHeadersBody(email *[]byte) ([]byte, []byte, error) {
+ substitutedEmail := *email
+
+ // only replace \n with \r\n when \r\n\r\n not exists
+ if bytes.Index(*email, []byte{13, 10, 13, 10}) < 0 {
+ // \n -> \r\n
+ substitutedEmail = bytes.Replace(*email, []byte{10}, []byte{13, 10}, -1)
+ }
+
+ parts := bytes.SplitN(substitutedEmail, []byte{13, 10, 13, 10}, 2)
+ if len(parts) != 2 {
+ return []byte{}, []byte{}, ErrBadMailFormat
+ }
+ // Empty body
+ if len(parts[1]) == 0 {
+ parts[1] = []byte{13, 10}
+ }
+ return parts[0], parts[1], nil
+}
diff --git a/vendor/github.com/toorop/go-dkim/dkimHeader.go b/vendor/github.com/toorop/go-dkim/dkimHeader.go
new file mode 100644
index 00000000..14a289ee
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/dkimHeader.go
@@ -0,0 +1,545 @@
+package dkim
+
+import (
+ "bytes"
+ "fmt"
+ "net/mail"
+ "net/textproto"
+ "strconv"
+ "strings"
+ "time"
+)
+
+type DKIMHeader struct {
+ // Version This tag defines the version of DKIM
+ // specification that applies to the signature record.
+ // tag v
+ Version string
+
+ // The algorithm used to generate the signature..
+ // Verifiers MUST support "rsa-sha1" and "rsa-sha256";
+ // Signers SHOULD sign using "rsa-sha256".
+ // tag a
+ Algorithm string
+
+ // The signature data (base64).
+ // Whitespace is ignored in this value and MUST be
+ // ignored when reassembling the original signature.
+ // In particular, the signing process can safely insert
+ // FWS in this value in arbitrary places to conform to line-length
+ // limits.
+ // tag b
+ SignatureData string
+
+ // The hash of the canonicalized body part of the message as
+ // limited by the "l=" tag (base64; REQUIRED).
+ // Whitespace is ignored in this value and MUST be ignored when reassembling the original
+ // signature. In particular, the signing process can safely insert
+ // FWS in this value in arbitrary places to conform to line-length
+ // limits.
+ // tag bh
+ BodyHash string
+
+ // Message canonicalization (plain-text; OPTIONAL, default is
+ //"simple/simple"). This tag informs the Verifier of the type of
+ // canonicalization used to prepare the message for signing. It
+ // consists of two names separated by a "slash" (%d47) character,
+ // corresponding to the header and body canonicalization algorithms,
+ // respectively. These algorithms are described in Section 3.4. If
+ // only one algorithm is named, that algorithm is used for the header
+ // and "simple" is used for the body. For example, "c=relaxed" is
+ // treated the same as "c=relaxed/simple".
+ // tag c
+ MessageCanonicalization string
+
+ // The SDID claiming responsibility for an introduction of a message
+ // into the mail stream (plain-text; REQUIRED). Hence, the SDID
+ // value is used to form the query for the public key. The SDID MUST
+ // correspond to a valid DNS name under which the DKIM key record is
+ // published. The conventions and semantics used by a Signer to
+ // create and use a specific SDID are outside the scope of this
+ // specification, as is any use of those conventions and semantics.
+ // When presented with a signature that does not meet these
+ // requirements, Verifiers MUST consider the signature invalid.
+ // Internationalized domain names MUST be encoded as A-labels, as
+ // described in Section 2.3 of [RFC5890].
+ // tag d
+ Domain string
+
+ // Signed header fields (plain-text, but see description; REQUIRED).
+ // A colon-separated list of header field names that identify the
+ // header fields presented to the signing algorithm. The field MUST
+ // contain the complete list of header fields in the order presented
+ // to the signing algorithm. The field MAY contain names of header
+ // fields that do not exist when signed; nonexistent header fields do
+ // not contribute to the signature computation (that is, they are
+ // treated as the null input, including the header field name, the
+ // separating colon, the header field value, and any CRLF
+ // terminator). The field MAY contain multiple instances of a header
+ // field name, meaning multiple occurrences of the corresponding
+ // header field are included in the header hash. The field MUST NOT
+ // include the DKIM-Signature header field that is being created or
+ // verified but may include others. Folding whitespace (FWS) MAY be
+ // included on either side of the colon separator. Header field
+ // names MUST be compared against actual header field names in a
+ // case-insensitive manner. This list MUST NOT be empty. See
+ // Section 5.4 for a discussion of choosing header fields to sign and
+ // Section 5.4.2 for requirements when signing multiple instances of
+ // a single field.
+ // tag h
+ Headers []string
+
+ // The Agent or User Identifier (AUID) on behalf of which the SDID is
+ // taking responsibility (dkim-quoted-printable; OPTIONAL, default is
+ // an empty local-part followed by an "@" followed by the domain from
+ // the "d=" tag).
+ // The syntax is a standard email address where the local-part MAY be
+ // omitted. The domain part of the address MUST be the same as, or a
+ // subdomain of, the value of the "d=" tag.
+ // Internationalized domain names MUST be encoded as A-labels, as
+ // described in Section 2.3 of [RFC5890].
+ // tag i
+ Auid string
+
+ // Body length count (plain-text unsigned decimal integer; OPTIONAL,
+ // default is entire body). This tag informs the Verifier of the
+ // number of octets in the body of the email after canonicalization
+ // included in the cryptographic hash, starting from 0 immediately
+ // following the CRLF preceding the body. This value MUST NOT be
+ // larger than the actual number of octets in the canonicalized
+ // message body. See further discussion in Section 8.2.
+ // tag l
+ BodyLength uint
+
+ // A colon-separated list of query methods used to retrieve the
+ // public key (plain-text; OPTIONAL, default is "dns/txt"). Each
+ // query method is of the form "type[/options]", where the syntax and
+ // semantics of the options depend on the type and specified options.
+ // If there are multiple query mechanisms listed, the choice of query
+ // mechanism MUST NOT change the interpretation of the signature.
+ // Implementations MUST use the recognized query mechanisms in the
+ // order presented. Unrecognized query mechanisms MUST be ignored.
+ // Currently, the only valid value is "dns/txt", which defines the
+ // DNS TXT resource record (RR) lookup algorithm described elsewhere
+ // in this document. The only option defined for the "dns" query
+ // type is "txt", which MUST be included. Verifiers and Signers MUST
+ // support "dns/txt".
+ // tag q
+ QueryMethods []string
+
+ // The selector subdividing the namespace for the "d=" (domain) tag
+ // (plain-text; REQUIRED).
+ // Internationalized selector names MUST be encoded as A-labels, as
+ // described in Section 2.3 of [RFC5890].
+ // tag s
+ Selector string
+
+ // Signature Timestamp (plain-text unsigned decimal integer;
+ // RECOMMENDED, default is an unknown creation time). The time that
+ // this signature was created. The format is the number of seconds
+ // since 00:00:00 on January 1, 1970 in the UTC time zone. The value
+ // is expressed as an unsigned integer in decimal ASCII. This value
+ // is not constrained to fit into a 31- or 32-bit integer.
+ // Implementations SHOULD be prepared to handle values up to at least
+ // 10^12 (until approximately AD 200,000; this fits into 40 bits).
+ // To avoid denial-of-service attacks, implementations MAY consider
+ // any value longer than 12 digits to be infinite. Leap seconds are
+ // not counted. Implementations MAY ignore signatures that have a
+ // timestamp in the future.
+ // tag t
+ SignatureTimestamp time.Time
+
+ // Signature Expiration (plain-text unsigned decimal integer;
+ // RECOMMENDED, default is no expiration). The format is the same as
+ // in the "t=" tag, represented as an absolute date, not as a time
+ // delta from the signing timestamp. The value is expressed as an
+ // unsigned integer in decimal ASCII, with the same constraints on
+ // the value in the "t=" tag. Signatures MAY be considered invalid
+ // if the verification time at the Verifier is past the expiration
+ // date. The verification time should be the time that the message
+ // was first received at the administrative domain of the Verifier if
+ // that time is reliably available; otherwise, the current time
+ // should be used. The value of the "x=" tag MUST be greater than
+ // the value of the "t=" tag if both are present.
+ //tag x
+ SignatureExpiration time.Time
+
+ // Copied header fields (dkim-quoted-printable, but see description;
+ // OPTIONAL, default is null). A vertical-bar-separated list of
+ // selected header fields present when the message was signed,
+ // including both the field name and value. It is not required to
+ // include all header fields present at the time of signing. This
+ // field need not contain the same header fields listed in the "h="
+ // tag. The header field text itself must encode the vertical bar
+ // ("|", %x7C) character (i.e., vertical bars in the "z=" text are
+ // meta-characters, and any actual vertical bar characters in a
+ // copied header field must be encoded). Note that all whitespace
+ // must be encoded, including whitespace between the colon and the
+ // header field value. After encoding, FWS MAY be added at arbitrary
+ // locations in order to avoid excessively long lines; such
+ // whitespace is NOT part of the value of the header field and MUST
+ // be removed before decoding.
+ // The header fields referenced by the "h=" tag refer to the fields
+ // in the [RFC5322] header of the message, not to any copied fields
+ // in the "z=" tag. Copied header field values are for diagnostic
+ // use.
+ // tag z
+ CopiedHeaderFields []string
+
+ // HeaderMailFromDomain store the raw email address of the header Mail From
+ // used for verifying in case of multiple DKIM header (we will prioritise
+ // header with d = mail from domain)
+ //HeaderMailFromDomain string
+
+ // RawForsign represents the raw part (without canonicalization) of the header
+ // used for computint sig in verify process
+ rawForSign string
+}
+
+// NewDkimHeaderBySigOptions return a new DkimHeader initioalized with sigOptions value
+func newDkimHeaderBySigOptions(options SigOptions) *DKIMHeader {
+ h := new(DKIMHeader)
+ h.Version = "1"
+ h.Algorithm = options.Algo
+ h.MessageCanonicalization = options.Canonicalization
+ h.Domain = options.Domain
+ h.Headers = options.Headers
+ h.Auid = options.Auid
+ h.BodyLength = options.BodyLength
+ h.QueryMethods = options.QueryMethods
+ h.Selector = options.Selector
+ if options.AddSignatureTimestamp {
+ h.SignatureTimestamp = time.Now()
+ }
+ if options.SignatureExpireIn > 0 {
+ h.SignatureExpiration = time.Now().Add(time.Duration(options.SignatureExpireIn) * time.Second)
+ }
+ h.CopiedHeaderFields = options.CopiedHeaderFields
+ return h
+}
+
+// GetHeader return a new DKIMHeader by parsing an email
+// Note: according to RFC 6376 an email can have multiple DKIM Header
+// in this case we return the last inserted or the last with d== mail from
+func GetHeader(email *[]byte) (*DKIMHeader, error) {
+ m, err := mail.ReadMessage(bytes.NewReader(*email))
+ if err != nil {
+ return nil, err
+ }
+
+ // DKIM header ?
+ if len(m.Header[textproto.CanonicalMIMEHeaderKey("DKIM-Signature")]) == 0 {
+ return nil, ErrDkimHeaderNotFound
+ }
+
+ // Get mail from domain
+ mailFromDomain := ""
+ mailfrom, err := mail.ParseAddress(m.Header.Get(textproto.CanonicalMIMEHeaderKey("From")))
+ if err != nil {
+ if err.Error() != "mail: no address" {
+ return nil, err
+ }
+ } else {
+ t := strings.SplitAfter(mailfrom.Address, "@")
+ if len(t) > 1 {
+ mailFromDomain = strings.ToLower(t[1])
+ }
+ }
+
+ // get raw dkim header
+ // we can't use m.header because header key will be converted with textproto.CanonicalMIMEHeaderKey
+ // ie if key in header is not DKIM-Signature but Dkim-Signature or DKIM-signature ot... other
+ // combination of case, verify will fail.
+ rawHeaders, _, err := getHeadersBody(email)
+ if err != nil {
+ return nil, ErrBadMailFormat
+ }
+ rawHeadersList, err := getHeadersList(&rawHeaders)
+ if err != nil {
+ return nil, err
+ }
+ dkHeaders := []string{}
+ for h := rawHeadersList.Front(); h != nil; h = h.Next() {
+ if strings.HasPrefix(strings.ToLower(h.Value.(string)), "dkim-signature") {
+ dkHeaders = append(dkHeaders, h.Value.(string))
+ }
+ }
+
+ var keep *DKIMHeader
+ var keepErr error
+ //for _, dk := range m.Header[textproto.CanonicalMIMEHeaderKey("DKIM-Signature")] {
+ for _, h := range dkHeaders {
+ parsed, err := parseDkHeader(h)
+ // if malformed dkim header try next
+ if err != nil {
+ keepErr = err
+ continue
+ }
+ // Keep first dkim headers
+ if keep == nil {
+ keep = parsed
+ }
+ // if d flag == domain keep this header and return
+ if mailFromDomain == parsed.Domain {
+ return parsed, nil
+ }
+ }
+ if keep == nil {
+ return nil, keepErr
+ }
+ return keep, nil
+}
+
+// parseDkHeader parse raw dkim header
+func parseDkHeader(header string) (dkh *DKIMHeader, err error) {
+ dkh = new(DKIMHeader)
+
+ keyVal := strings.SplitN(header, ":", 2)
+
+ t := strings.LastIndex(header, "b=")
+ if t == -1 {
+ return nil, ErrDkimHeaderBTagNotFound
+ }
+ dkh.rawForSign = header[0 : t+2]
+ p := strings.IndexByte(header[t:], ';')
+ if p != -1 {
+ dkh.rawForSign = dkh.rawForSign + header[t+p:]
+ }
+
+ // Mandatory
+ mandatoryFlags := make(map[string]bool, 7) //(b'v', b'a', b'b', b'bh', b'd', b'h', b's')
+ mandatoryFlags["v"] = false
+ mandatoryFlags["a"] = false
+ mandatoryFlags["b"] = false
+ mandatoryFlags["bh"] = false
+ mandatoryFlags["d"] = false
+ mandatoryFlags["h"] = false
+ mandatoryFlags["s"] = false
+
+ // default values
+ dkh.MessageCanonicalization = "simple/simple"
+ dkh.QueryMethods = []string{"dns/txt"}
+
+ // unfold && clean
+ val := removeFWS(keyVal[1])
+ val = strings.Replace(val, " ", "", -1)
+
+ fs := strings.Split(val, ";")
+ for _, f := range fs {
+ if f == "" {
+ continue
+ }
+ flagData := strings.SplitN(f, "=", 2)
+
+ // https://github.com/toorop/go-dkim/issues/2
+ // if flag is not in the form key=value (eg doesn't have "=")
+ if len(flagData) != 2 {
+ return nil, ErrDkimHeaderBadFormat
+ }
+ flag := strings.ToLower(strings.TrimSpace(flagData[0]))
+ data := strings.TrimSpace(flagData[1])
+ switch flag {
+ case "v":
+ if data != "1" {
+ return nil, ErrDkimVersionNotsupported
+ }
+ dkh.Version = data
+ mandatoryFlags["v"] = true
+ case "a":
+ dkh.Algorithm = strings.ToLower(data)
+ if dkh.Algorithm != "rsa-sha1" && dkh.Algorithm != "rsa-sha256" {
+ return nil, ErrSignBadAlgo
+ }
+ mandatoryFlags["a"] = true
+ case "b":
+ //dkh.SignatureData = removeFWS(data)
+ // remove all space
+ dkh.SignatureData = strings.Replace(removeFWS(data), " ", "", -1)
+ if len(dkh.SignatureData) != 0 {
+ mandatoryFlags["b"] = true
+ }
+ case "bh":
+ dkh.BodyHash = removeFWS(data)
+ if len(dkh.BodyHash) != 0 {
+ mandatoryFlags["bh"] = true
+ }
+ case "d":
+ dkh.Domain = strings.ToLower(data)
+ if len(dkh.Domain) != 0 {
+ mandatoryFlags["d"] = true
+ }
+ case "h":
+ data = strings.ToLower(data)
+ dkh.Headers = strings.Split(data, ":")
+ if len(dkh.Headers) != 0 {
+ mandatoryFlags["h"] = true
+ }
+ fromFound := false
+ for _, h := range dkh.Headers {
+ if h == "from" {
+ fromFound = true
+ }
+ }
+ if !fromFound {
+ return nil, ErrDkimHeaderNoFromInHTag
+ }
+ case "s":
+ dkh.Selector = strings.ToLower(data)
+ if len(dkh.Selector) != 0 {
+ mandatoryFlags["s"] = true
+ }
+ case "c":
+ dkh.MessageCanonicalization, err = validateCanonicalization(strings.ToLower(data))
+ if err != nil {
+ return nil, err
+ }
+ case "i":
+ if data != "" {
+ if !strings.HasSuffix(data, dkh.Domain) {
+ return nil, ErrDkimHeaderDomainMismatch
+ }
+ dkh.Auid = data
+ }
+ case "l":
+ ui, err := strconv.ParseUint(data, 10, 32)
+ if err != nil {
+ return nil, err
+ }
+ dkh.BodyLength = uint(ui)
+ case "q":
+ dkh.QueryMethods = strings.Split(data, ":")
+ if len(dkh.QueryMethods) == 0 || strings.ToLower(dkh.QueryMethods[0]) != "dns/txt" {
+ return nil, errQueryMethodNotsupported
+ }
+ case "t":
+ ts, err := strconv.ParseInt(data, 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ dkh.SignatureTimestamp = time.Unix(ts, 0)
+
+ case "x":
+ ts, err := strconv.ParseInt(data, 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ dkh.SignatureExpiration = time.Unix(ts, 0)
+ case "z":
+ dkh.CopiedHeaderFields = strings.Split(data, "|")
+ }
+ }
+
+ // All mandatory flags are in ?
+ for _, p := range mandatoryFlags {
+ if !p {
+ return nil, ErrDkimHeaderMissingRequiredTag
+ }
+ }
+
+ // default for i/Auid
+ if dkh.Auid == "" {
+ dkh.Auid = "@" + dkh.Domain
+ }
+
+ // defaut for query method
+ if len(dkh.QueryMethods) == 0 {
+ dkh.QueryMethods = []string{"dns/text"}
+ }
+
+ return dkh, nil
+
+}
+
+// GetHeaderBase return base header for signers
+// Todo: some refactoring needed...
+func (d *DKIMHeader) getHeaderBaseForSigning(bodyHash string) string {
+ h := "DKIM-Signature: v=" + d.Version + "; a=" + d.Algorithm + "; q=" + strings.Join(d.QueryMethods, ":") + "; c=" + d.MessageCanonicalization + ";" + CRLF + TAB
+ subh := "s=" + d.Selector + ";"
+ if len(subh)+len(d.Domain)+4 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += " d=" + d.Domain + ";"
+
+ // Auid
+ if len(d.Auid) != 0 {
+ if len(subh)+len(d.Auid)+4 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += " i=" + d.Auid + ";"
+ }
+
+ /*h := "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tmail.io; i=@tmail.io;" + FWS
+ subh := "q=dns/txt; s=test;"*/
+
+ // signature timestamp
+ if !d.SignatureTimestamp.IsZero() {
+ ts := d.SignatureTimestamp.Unix()
+ if len(subh)+14 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += " t=" + fmt.Sprintf("%d", ts) + ";"
+ }
+ if len(subh)+len(d.Domain)+4 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+
+ // Expiration
+ if !d.SignatureExpiration.IsZero() {
+ ts := d.SignatureExpiration.Unix()
+ if len(subh)+14 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += " x=" + fmt.Sprintf("%d", ts) + ";"
+ }
+
+ // body length
+ if d.BodyLength != 0 {
+ bodyLengthStr := fmt.Sprintf("%d", d.BodyLength)
+ if len(subh)+len(bodyLengthStr)+4 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += " l=" + bodyLengthStr + ";"
+ }
+
+ // Headers
+ if len(subh)+len(d.Headers)+4 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += " h="
+ for _, header := range d.Headers {
+ if len(subh)+len(header)+1 > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ }
+ subh += header + ":"
+ }
+ subh = subh[:len(subh)-1] + ";"
+
+ // BodyHash
+ if len(subh)+5+len(bodyHash) > MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ } else {
+ subh += " "
+ }
+ subh += "bh="
+ l := len(subh)
+ for _, c := range bodyHash {
+ subh += string(c)
+ l++
+ if l >= MaxHeaderLineLength {
+ h += subh + FWS
+ subh = ""
+ l = 0
+ }
+ }
+ h += subh + ";" + FWS + "b="
+ return h
+}
diff --git a/vendor/github.com/toorop/go-dkim/errors.go b/vendor/github.com/toorop/go-dkim/errors.go
new file mode 100644
index 00000000..80a99da3
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/errors.go
@@ -0,0 +1,94 @@
+package dkim
+
+import (
+ "errors"
+)
+
+var (
+ // ErrSignPrivateKeyRequired when there not private key in config
+ ErrSignPrivateKeyRequired = errors.New("PrivateKey is required")
+
+ // ErrSignDomainRequired when there is no domain defined in config
+ ErrSignDomainRequired = errors.New("Domain is required")
+
+ // ErrSignSelectorRequired when there is no Selcteir defined in config
+ ErrSignSelectorRequired = errors.New("Selector is required")
+
+ // ErrSignHeaderShouldContainsFrom If Headers is specified it should at least contain 'from'
+ ErrSignHeaderShouldContainsFrom = errors.New("header must contains 'from' field")
+
+ // ErrSignBadCanonicalization If bad Canonicalization parameter
+ ErrSignBadCanonicalization = errors.New("bad Canonicalization parameter")
+
+ // ErrCandNotParsePrivateKey when unable to parse private key
+ ErrCandNotParsePrivateKey = errors.New("can not parse private key, check format (pem) and validity")
+
+ // ErrSignBadAlgo Bad algorithm
+ ErrSignBadAlgo = errors.New("bad algorithm. Only rsa-sha1 or rsa-sha256 are permitted")
+
+ // ErrBadMailFormat unable to parse mail
+ ErrBadMailFormat = errors.New("bad mail format")
+
+ // ErrBadMailFormatHeaders bad headers format (not DKIM Header)
+ ErrBadMailFormatHeaders = errors.New("bad mail format found in headers")
+
+ // ErrBadDKimTagLBodyTooShort bad l tag
+ ErrBadDKimTagLBodyTooShort = errors.New("bad tag l or bodyLength option. Body length < l value")
+
+ // ErrDkimHeaderBadFormat when errors found in DKIM header
+ ErrDkimHeaderBadFormat = errors.New("bad DKIM header format")
+
+ // ErrDkimHeaderNotFound when there's no DKIM-Signature header in an email we have to verify
+ ErrDkimHeaderNotFound = errors.New("no DKIM-Signature header field found ")
+
+ // ErrDkimHeaderBTagNotFound when there's no b tag
+ ErrDkimHeaderBTagNotFound = errors.New("no tag 'b' found in dkim header")
+
+ // ErrDkimHeaderNoFromInHTag when from is missing in h tag
+ ErrDkimHeaderNoFromInHTag = errors.New("'from' header is missing in h tag")
+
+ // ErrDkimHeaderMissingRequiredTag when a required tag is missing
+ ErrDkimHeaderMissingRequiredTag = errors.New("signature missing required tag")
+
+ // ErrDkimHeaderDomainMismatch if i tag is not a sub domain of d tag
+ ErrDkimHeaderDomainMismatch = errors.New("domain mismatch")
+
+ // ErrDkimVersionNotsupported version not supported
+ ErrDkimVersionNotsupported = errors.New("incompatible version")
+
+ // Query method unsupported
+ errQueryMethodNotsupported = errors.New("query method not supported")
+
+ // ErrVerifyBodyHash when body hash doesn't verify
+ ErrVerifyBodyHash = errors.New("body hash did not verify")
+
+ // ErrVerifyNoKeyForSignature no key
+ ErrVerifyNoKeyForSignature = errors.New("no key for verify")
+
+ // ErrVerifyKeyUnavailable when service (dns) is anavailable
+ ErrVerifyKeyUnavailable = errors.New("key unavailable")
+
+ // ErrVerifyTagVMustBeTheFirst if present the v tag must be the firts in the record
+ ErrVerifyTagVMustBeTheFirst = errors.New("pub key syntax error: v tag must be the first")
+
+ // ErrVerifyVersionMusBeDkim1 if présent flag v (version) must be DKIM1
+ ErrVerifyVersionMusBeDkim1 = errors.New("flag v must be set to DKIM1")
+
+ // ErrVerifyBadKeyType bad type for pub key (only rsa is accepted)
+ ErrVerifyBadKeyType = errors.New("bad type for key type")
+
+ // ErrVerifyRevokedKey key(s) for this selector is revoked (p is empty)
+ ErrVerifyRevokedKey = errors.New("revoked key")
+
+ // ErrVerifyBadKey when we can't parse pubkey
+ ErrVerifyBadKey = errors.New("unable to parse pub key")
+
+ // ErrVerifyNoKey when no key is found on DNS record
+ ErrVerifyNoKey = errors.New("no public key found in DNS TXT")
+
+ // ErrVerifySignatureHasExpired when signature has expired
+ ErrVerifySignatureHasExpired = errors.New("signature has expired")
+
+ // ErrVerifyInappropriateHashAlgo when h tag in pub key doesn't contain hash algo from a tag of DKIM header
+ ErrVerifyInappropriateHashAlgo = errors.New("inappropriate has algorithm")
+)
diff --git a/vendor/github.com/toorop/go-dkim/pubKeyRep.go b/vendor/github.com/toorop/go-dkim/pubKeyRep.go
new file mode 100644
index 00000000..7a3ecf6f
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/pubKeyRep.go
@@ -0,0 +1,181 @@
+package dkim
+
+import (
+ "crypto/rsa"
+ "crypto/x509"
+ "encoding/base64"
+ "io/ioutil"
+ "mime/quotedprintable"
+ "net"
+ "strings"
+)
+
+// PubKeyRep represents a parsed version of public key record
+type PubKeyRep struct {
+ Version string
+ HashAlgo []string
+ KeyType string
+ Note string
+ PubKey rsa.PublicKey
+ ServiceType []string
+ FlagTesting bool // flag y
+ FlagIMustBeD bool // flag i
+}
+
+// DNSOptions holds settings for looking up DNS records
+type DNSOptions struct {
+ netLookupTXT func(name string) ([]string, error)
+}
+
+// DNSOpt represents an optional setting for looking up DNS records
+type DNSOpt interface {
+ apply(*DNSOptions)
+}
+
+type dnsOpt func(*DNSOptions)
+
+func (opt dnsOpt) apply(dnsOpts *DNSOptions) {
+ opt(dnsOpts)
+}
+
+// DNSOptLookupTXT sets the function to use to lookup TXT records.
+//
+// This should probably only be used in tests.
+func DNSOptLookupTXT(netLookupTXT func(name string) ([]string, error)) DNSOpt {
+ return dnsOpt(func(opts *DNSOptions) {
+ opts.netLookupTXT = netLookupTXT
+ })
+}
+
+// NewPubKeyRespFromDNS retrieves the TXT record from DNS based on the specified domain and selector
+// and parses it.
+func NewPubKeyRespFromDNS(selector, domain string, opts ...DNSOpt) (*PubKeyRep, verifyOutput, error) {
+ dnsOpts := DNSOptions{}
+
+ for _, opt := range opts {
+ opt.apply(&dnsOpts)
+ }
+
+ if dnsOpts.netLookupTXT == nil {
+ dnsOpts.netLookupTXT = net.LookupTXT
+ }
+
+ txt, err := dnsOpts.netLookupTXT(selector + "._domainkey." + domain)
+ if err != nil {
+ if strings.HasSuffix(err.Error(), "no such host") {
+ return nil, PERMFAIL, ErrVerifyNoKeyForSignature
+ }
+
+ return nil, TEMPFAIL, ErrVerifyKeyUnavailable
+ }
+
+ // empty record
+ if len(txt) == 0 {
+ return nil, PERMFAIL, ErrVerifyNoKeyForSignature
+ }
+
+ // parsing, we keep the first record
+ // TODO: if there is multiple record
+
+ return NewPubKeyResp(txt[0])
+}
+
+// NewPubKeyResp parses DKIM record (usually from DNS)
+func NewPubKeyResp(dkimRecord string) (*PubKeyRep, verifyOutput, error) {
+ pkr := new(PubKeyRep)
+ pkr.Version = "DKIM1"
+ pkr.HashAlgo = []string{"sha1", "sha256"}
+ pkr.KeyType = "rsa"
+ pkr.FlagTesting = false
+ pkr.FlagIMustBeD = false
+
+ p := strings.Split(dkimRecord, ";")
+ for i, data := range p {
+ keyVal := strings.SplitN(data, "=", 2)
+ val := ""
+ if len(keyVal) > 1 {
+ val = strings.TrimSpace(keyVal[1])
+ }
+ switch strings.ToLower(strings.TrimSpace(keyVal[0])) {
+ case "v":
+ // RFC: is this tag is specified it MUST be the first in the record
+ if i != 0 {
+ return nil, PERMFAIL, ErrVerifyTagVMustBeTheFirst
+ }
+ pkr.Version = val
+ if pkr.Version != "DKIM1" {
+ return nil, PERMFAIL, ErrVerifyVersionMusBeDkim1
+ }
+ case "h":
+ p := strings.Split(strings.ToLower(val), ":")
+ pkr.HashAlgo = []string{}
+ for _, h := range p {
+ h = strings.TrimSpace(h)
+ if h == "sha1" || h == "sha256" {
+ pkr.HashAlgo = append(pkr.HashAlgo, h)
+ }
+ }
+ // if empty switch back to default
+ if len(pkr.HashAlgo) == 0 {
+ pkr.HashAlgo = []string{"sha1", "sha256"}
+ }
+ case "k":
+ if strings.ToLower(val) != "rsa" {
+ return nil, PERMFAIL, ErrVerifyBadKeyType
+ }
+ case "n":
+ qp, err := ioutil.ReadAll(quotedprintable.NewReader(strings.NewReader(val)))
+ if err == nil {
+ val = string(qp)
+ }
+ pkr.Note = val
+ case "p":
+ rawkey := val
+ if rawkey == "" {
+ return nil, PERMFAIL, ErrVerifyRevokedKey
+ }
+ un64, err := base64.StdEncoding.DecodeString(rawkey)
+ if err != nil {
+ return nil, PERMFAIL, ErrVerifyBadKey
+ }
+ pk, err := x509.ParsePKIXPublicKey(un64)
+ if pk, ok := pk.(*rsa.PublicKey); ok {
+ pkr.PubKey = *pk
+ }
+ case "s":
+ t := strings.Split(strings.ToLower(val), ":")
+ for _, tt := range t {
+ tt = strings.TrimSpace(tt)
+ switch tt {
+ case "*":
+ pkr.ServiceType = append(pkr.ServiceType, "all")
+ case "email":
+ pkr.ServiceType = append(pkr.ServiceType, tt)
+ }
+ }
+ case "t":
+ flags := strings.Split(strings.ToLower(val), ":")
+ for _, flag := range flags {
+ flag = strings.TrimSpace(flag)
+ switch flag {
+ case "y":
+ pkr.FlagTesting = true
+ case "s":
+ pkr.FlagIMustBeD = true
+ }
+ }
+ }
+ }
+
+ // if no pubkey
+ if pkr.PubKey == (rsa.PublicKey{}) {
+ return nil, PERMFAIL, ErrVerifyNoKey
+ }
+
+ // No service type
+ if len(pkr.ServiceType) == 0 {
+ pkr.ServiceType = []string{"all"}
+ }
+
+ return pkr, SUCCESS, nil
+}
diff --git a/vendor/github.com/toorop/go-dkim/watch b/vendor/github.com/toorop/go-dkim/watch
new file mode 100644
index 00000000..82b58445
--- /dev/null
+++ b/vendor/github.com/toorop/go-dkim/watch
@@ -0,0 +1,4 @@
+while true
+do
+inotifywait -q -r -e modify,attrib,close_write,move,create,delete . && echo "--------------" && go test -v
+done
\ No newline at end of file
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/.gitattributes b/vendor/github.com/xhit/go-simple-mail/v2/.gitattributes
new file mode 100644
index 00000000..999ce656
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/.gitattributes
@@ -0,0 +1,17 @@
+# Auto detect text files and perform LF normalization
+* -text
+
+# Custom for Visual Studio
+*.cs diff=csharp
+
+# Standard to msysgit
+*.doc diff=astextplain
+*.DOC diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot diff=astextplain
+*.DOT diff=astextplain
+*.pdf diff=astextplain
+*.PDF diff=astextplain
+*.rtf diff=astextplain
+*.RTF diff=astextplain
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/.gitignore b/vendor/github.com/xhit/go-simple-mail/v2/.gitignore
new file mode 100644
index 00000000..0928ac8d
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/.gitignore
@@ -0,0 +1,28 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
+
+# Eclipse Project files
+.project
+.settings
\ No newline at end of file
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/.golangci.yml b/vendor/github.com/xhit/go-simple-mail/v2/.golangci.yml
new file mode 100644
index 00000000..4726a867
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/.golangci.yml
@@ -0,0 +1,59 @@
+# This file contains all available configuration options
+# with their default values.
+
+# options for analysis running
+run:
+ concurrency: 4
+ timeout: 10m
+ issues-exit-code: 1
+ tests: true
+
+# output configuration options
+output:
+ format: line-number
+
+# all available settings of specific linters
+linters-settings:
+ govet:
+ # report about shadowed variables
+ check-shadowing: true
+ misspell:
+ locale: US
+ unused:
+ # treat code as a program (not a library) and report unused exported identifiers; default is false.
+ # XXX: if you enable this setting, unused will report a lot of false-positives in text editors:
+ # if it's called for subdir of a project it can't find funcs usages. All text editor integrations
+ # with golangci-lint call it on a directory with the changed file.
+ check-exported: false
+
+linters:
+ enable:
+ - asciicheck
+ - deadcode
+ - dogsled
+ - exportloopref
+ - golint
+ - gosimple
+ - govet
+ - ineffassign
+ - megacheck
+ - misspell
+ - nakedret
+ - nolintlint
+ - staticcheck
+ - structcheck
+ - typecheck
+ - unconvert
+ - unused
+ - varcheck
+ disable:
+ - errcheck
+ disable-all: false
+ fast: false
+
+issues:
+ # Maximum issues count per one linter. Set to 0 to disable. Default is 50.
+ max-issues-per-linter: 0
+
+ # Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
+ max-same-issues: 0
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/LICENSE b/vendor/github.com/xhit/go-simple-mail/v2/LICENSE
new file mode 100644
index 00000000..bf36b8d9
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2019 Santiago De la Cruz
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/README.md b/vendor/github.com/xhit/go-simple-mail/v2/README.md
new file mode 100644
index 00000000..ad237a03
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/README.md
@@ -0,0 +1,270 @@
+# Go Simple Mail
+
+The best way to send emails in Go with SMTP Keep Alive and Timeout for Connect and Send.
+
+
+
+
+
+# IMPORTANT
+
+Examples in this README are for v2.2.0 and above. Examples for older versions
+can be found [here](https://gist.github.com/xhit/54516917473420a8db1b6fff68a21c99).
+
+Go 1.13+ is required.
+
+Breaking change in 2.2.0: The signature of `SetBody` and `AddAlternative` used
+to accept strings ("text/html" and "text/plain") and not require on of the
+`contentType` constants (`TextHTML` or `TextPlain`). Upgrading, while not
+quite following semantic versioning, is quite simple:
+
+```diff
+ email := mail.NewMSG()
+- email.SetBody("text/html", htmlBody)
+- email.AddAlternative("text/plain", plainBody)
++ email.SetBody(mail.TextHTML, htmlBody)
++ email.AddAlternative(mail.TextPlain, plainBody)
+```
+
+# Introduction
+
+Go Simple Mail is a simple and efficient package to send emails. It is well tested and
+documented.
+
+Go Simple Mail can only send emails using an SMTP server. But the API is flexible and it
+is easy to implement other methods for sending emails using a local Postfix, an API, etc.
+
+This package contains (and is based on) two packages by **Joe Grasse**:
+
+- https://github.com/joegrasse/mail (unmaintained since Jun 29, 2018), and
+- https://github.com/joegrasse/mime (unmaintained since Oct 1, 2015).
+
+A lot of changes in Go Simple Mail were sent with not response.
+
+## Features
+
+Go Simple Mail supports:
+
+- Multiple Attachments with path
+- Multiple Attachments in base64
+- Multiple Attachments from bytes (since v2.6.0)
+- Inline attachments from file, base64 and bytes (bytes since v2.6.0)
+- Multiple Recipients
+- Priority
+- Reply to
+- Set sender
+- Set from
+- Allow sending mail with different envelope from (since v2.7.0)
+- Embedded images
+- HTML and text templates
+- Automatic encoding of special characters
+- SSL/TLS and STARTTLS
+- Unencrypted connection (not recommended)
+- Sending multiple emails with the same SMTP connection (Keep Alive or Persistent Connection)
+- Timeout for connect to a SMTP Server
+- Timeout for send an email
+- Return Path
+- Alternative Email Body
+- CC and BCC
+- Add Custom Headers in Message
+- Send NOOP, RESET, QUIT and CLOSE to SMTP client
+- PLAIN, LOGIN and CRAM-MD5 Authentication (since v2.3.0)
+- Allow connect to SMTP without authentication (since v2.10.0)
+- Custom TLS Configuration (since v2.5.0)
+- Send a RFC822 formatted message (since v2.8.0)
+- Send from localhost (yes, Go standard SMTP package cannot do that because... WTF Google!)
+- Support text/calendar content type body (since v2.11.0)
+- Support add a List-Unsubscribe header (since v2.11.0)
+- Support to add a DKIM signarure (since v2.11.0)
+
+## Documentation
+
+https://pkg.go.dev/github.com/xhit/go-simple-mail/v2?tab=doc
+
+Note: by default duplicated recipients throws an error, from `v2.13.0` you can use `email.AllowDuplicateAddress = true` to avoid the check.
+
+## Download
+
+This package uses go modules.
+
+```console
+$ go get github.com/xhit/go-simple-mail/v2
+```
+
+# Usage
+
+```go
+package main
+
+import (
+ "log"
+
+ "github.com/xhit/go-simple-mail/v2"
+ "github.com/toorop/go-dkim"
+)
+
+const htmlBody = `
+
+
+ Hello Gophers!
+
+
+ This is the Go gopher.
+ 
+ Image created by Renee French
+
+`
+
+const privateKey = `-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAwGrscUxi9zEa9oMOJbS0kLVHZXNIW+EBjY7KFWIZSxuGAils
+wBVl+s5mMRrR5VlkyLQNulAdNemg6OSeB0R+2+8/lkHiMrimqQckZ5ig8slBoZhZ
+wUoL/ZkeQa1bacbdww5TuWkiVPD9kooT/+TZW1P/ugd6oYjpOI56ZjsXzJw5pz7r
+DiwcIJJaaDIqvvc5C4iW94GZjwtmP5pxhvBZ5D6Uzmh7Okvi6z4QCKzdJQLdVmC0
+CMiFeh2FwqMkVpjZhNt3vtCo7Z51kwHVscel6vl51iQFq/laEzgzAWOUQ+ZEoQpL
+uTaUiYzzNyEdGEzZ2CjMMoO8RgtXnUo2qX2FDQIDAQABAoIBAHWKW3kycloSMyhX
+EnNSGeMz+bMtYwxNPMeebC/3xv+shoYXjAkiiTNWlfJ1MbbqjrhT1Pb1LYLbfqIF
+1csWum/bjHpbMLRPO++RH1nxUJA/BMqT6HA8rWpy+JqiLW9GPf2DaP2gDYrZ0+yK
+UIFG6MfzXgnju7OlkOItlvOQMY+Y501u/h6xnN2yTeRqXXJ1YlWFPRIeFdS6UOtL
+J2wSxRVdymHbGwf+D7zet7ngMPwFBsbEN/83KGLRjkt8+dMQeUeob+nslsQofCZx
+iokIAvByTugmqrB4JqhNkAlZhC0mqkRQh7zUFrxSj5UppMWlxLH+gPFZHKAsUJE5
+mqmylcECgYEA8I/f90cpF10uH4NPBCR4+eXq1PzYoD+NdXykN65bJTEDZVEy8rBO
+phXRNfw030sc3R0waQaZVhFuSgshhRuryfG9c1FP6tQhqi/jiEj9IfCW7zN9V/P2
+r16pGjLuCK4SyxUC8H58Q9I0X2CQqFamtkLXC6Ogy86rZfIc8GcvZ9UCgYEAzMQZ
+WAiLhRF2MEmMhKL+G3jm20r+dOzPYkfGxhIryluOXhuUhnxZWL8UZfiEqP5zH7Li
+NeJvLz4pOL45rLw44qiNu6sHN0JNaKYvwNch1wPT/3/eDNZKKePqbAG4iamhjLy5
+gjO1KgA5FBbcNN3R6fuJAg1e4QJCOuo55eW6vFkCgYEA7UBIV72D5joM8iFzvZcn
+BPdfqh2QnELxhaye3ReFZuG3AqaZg8akWqLryb1qe8q9tclC5GIQulTInBfsQDXx
+MGLNQL0x/1ylsw417kRl+qIoidMTTLocUgse5erS3haoDEg1tPBaKB1Zb7NyF8QV
++W1kX2NKg5bZbdrh9asekt0CgYA6tUam7NxDrLv8IDo/lRPSAJn/6cKG95aGERo2
+k+MmQ5XP+Yxd+q0LOs24ZsZyRXHwdrNQy7khDGt5L2EN23Fb2wO3+NM6zrGu/WbX
+nVbAdQKFUL3zZEUjOYtuqBemsJH27e0qHXUls6ap0dwU9DxJH6sqgXbggGtIxPsQ
+pQsjEQKBgQC9gAqAj+ZtMXNG9exVPT8I15reox9kwxGuvJrRu/5eSi6jLR9z3x9P
+2FrgxQ+GCB2ypoOUcliXrKesdSbolUilA8XQn/M113Lg8oA3gJXbAKqbTR/EgfUU
+kvYaR/rTFnivF4SL/P4k/gABQoJuFUtSKdouELqefXB+e94g/G++Bg==
+-----END RSA PRIVATE KEY-----`
+
+func main() {
+ server := mail.NewSMTPClient()
+
+ // SMTP Server
+ server.Host = "smtp.example.com"
+ server.Port = 587
+ server.Username = "test@example.com"
+ server.Password = "examplepass"
+ server.Encryption = mail.EncryptionSTARTTLS
+
+ // Since v2.3.0 you can specified authentication type:
+ // - PLAIN (default)
+ // - LOGIN
+ // - CRAM-MD5
+ // - None
+ // server.Authentication = mail.AuthPlain
+
+ // Variable to keep alive connection
+ server.KeepAlive = false
+
+ // Timeout for connect to SMTP Server
+ server.ConnectTimeout = 10 * time.Second
+
+ // Timeout for send the data and wait respond
+ server.SendTimeout = 10 * time.Second
+
+ // Set TLSConfig to provide custom TLS configuration. For example,
+ // to skip TLS verification (useful for testing):
+ server.TLSConfig = &tls.Config{InsecureSkipVerify: true}
+
+ // SMTP client
+ smtpClient,err := server.Connect()
+
+ if err != nil{
+ log.Fatal(err)
+ }
+
+ // New email simple html with inline and CC
+ email := mail.NewMSG()
+ email.SetFrom("From Example ").
+ AddTo("xhit@example.com").
+ AddCc("otherto@example.com").
+ SetSubject("New Go Email").
+ SetListUnsubscribe("")
+
+ email.SetBody(mail.TextHTML, htmlBody)
+
+ // also you can add body from []byte with SetBodyData, example:
+ // email.SetBodyData(mail.TextHTML, []byte(htmlBody))
+ // or alternative part
+ // email.AddAlternativeData(mail.TextHTML, []byte(htmlBody))
+
+ // add inline
+ email.Attach(&mail.File{FilePath: "/path/to/image.png", Name:"Gopher.png", Inline: true})
+
+ // you can add dkim signature to the email.
+ // to add dkim, you need a private key already created one.
+ if privateKey != "" {
+ options := dkim.NewSigOptions()
+ options.PrivateKey = []byte(privateKey)
+ options.Domain = "example.com"
+ options.Selector = "default"
+ options.SignatureExpireIn = 3600
+ options.Headers = []string{"from", "date", "mime-version", "received", "received"}
+ options.AddSignatureTimestamp = true
+ options.Canonicalization = "relaxed/relaxed"
+
+ email.SetDkim(options)
+ }
+
+ // always check error after send
+ if email.Error != nil{
+ log.Fatal(email.Error)
+ }
+
+ // Call Send and pass the client
+ err = email.Send(smtpClient)
+ if err != nil {
+ log.Println(err)
+ } else {
+ log.Println("Email Sent")
+ }
+}
+```
+
+## Send multiple emails in same connection
+
+```go
+ //Set your smtpClient struct to keep alive connection
+ server.KeepAlive = true
+
+ for _, to := range []string{
+ "to1@example1.com",
+ "to3@example2.com",
+ "to4@example3.com",
+ } {
+ // New email simple html with inline and CC
+ email := mail.NewMSG()
+ email.SetFrom("From Example ").
+ AddTo(to).
+ SetSubject("New Go Email")
+
+ email.SetBody(mail.TextHTML, htmlBody)
+
+ // add inline
+ email.Attach(&mail.File{FilePath: "/path/to/image.png", Name:"Gopher.png", Inline: true})
+
+ // always check error after send
+ if email.Error != nil{
+ log.Fatal(email.Error)
+ }
+
+ // Call Send and pass the client
+ err = email.Send(smtpClient)
+ if err != nil {
+ log.Println(err)
+ } else {
+ log.Println("Email Sent")
+ }
+ }
+```
+
+## More examples
+
+See [example/example_test.go](example/example_test.go).
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/attach.go b/vendor/github.com/xhit/go-simple-mail/v2/attach.go
new file mode 100644
index 00000000..9aa48b6a
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/attach.go
@@ -0,0 +1,157 @@
+package mail
+
+import (
+ "encoding/base64"
+ "errors"
+ "io/ioutil"
+ "mime"
+ "path/filepath"
+)
+
+// File represents the file that can be added to the email message.
+// You can add attachment from file in path, from base64 string or from []byte.
+// You can define if attachment is inline or not.
+// Only one, Data, B64Data or FilePath is supported. If multiple are set, then
+// the first in that order is used.
+type File struct {
+ // FilePath is the path of the file to attach.
+ FilePath string
+ // Name is the name of file in attachment. Required for Data and B64Data. Optional for FilePath.
+ Name string
+ // MimeType of attachment. If empty then is obtained from Name (if not empty) or FilePath. If cannot obtained, application/octet-stream is set.
+ MimeType string
+ // B64Data is the base64 string to attach.
+ B64Data string
+ // Data is the []byte of file to attach.
+ Data []byte
+ // Inline defines if attachment is inline or not.
+ Inline bool
+}
+
+type attachType int
+
+const (
+ attachData attachType = iota
+ attachB64
+ attachFile
+)
+
+// Attach allows you to add an attachment to the email message.
+// The attachment can be inlined
+func (email *Email) Attach(file *File) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ var name = file.Name
+ var mimeType = file.MimeType
+
+ // if no alternative name was provided, get the filename
+ if len(name) == 0 && len(file.FilePath) > 0 {
+ _, name = filepath.Split(file.FilePath)
+ }
+
+ // get the mimetype
+ if mimeType == "" {
+ mimeType = mime.TypeByExtension(filepath.Ext(name))
+ if mimeType == "" {
+ mimeType = "application/octet-stream"
+ }
+ }
+
+ attachTy, err := getAttachmentType(file)
+ if err != nil {
+ email.Error = errors.New("Mail Error: Failed to add attachment with following error: " + err.Error())
+ return email
+ }
+
+ file.Name = name
+ file.MimeType = mimeType
+
+ switch attachTy {
+ case attachData:
+ email.attachData(file)
+ case attachB64:
+ email.Error = email.attachB64(file)
+ case attachFile:
+ email.Error = email.attachFile(file)
+ }
+
+ return email
+}
+
+func getAttachmentType(file *File) (attachType, error) {
+ // 1- data
+ // 2- base64
+ // 3- file
+
+ // first check if Data
+ if len(file.Data) > 0 {
+ // data requires a name
+ if len(file.Name) == 0 {
+ return 0, errors.New("attach from bytes requires a name")
+ }
+ return attachData, nil
+ }
+
+ // check if base64
+ if len(file.B64Data) > 0 {
+ // B64Data requires a name
+ if len(file.Name) == 0 {
+ return 0, errors.New("attach from base64 string requires a name")
+ }
+ return attachB64, nil
+ }
+
+ // check if file
+ if len(file.FilePath) > 0 {
+ return attachFile, nil
+ }
+
+ return 0, errors.New("empty attachment")
+}
+
+// attachB64 does the low level attaching of the files but decoding base64
+func (email *Email) attachB64(file *File) error {
+
+ // decode the string
+ dec, err := base64.StdEncoding.DecodeString(file.B64Data)
+ if err != nil {
+ return errors.New("Mail Error: Failed to decode base64 attachment with following error: " + err.Error())
+ }
+
+ email.attachData(&File{
+ Name: file.Name,
+ MimeType: file.MimeType,
+ Data: dec,
+ Inline: file.Inline,
+ })
+
+ return nil
+}
+
+func (email *Email) attachFile(file *File) error {
+ data, err := ioutil.ReadFile(file.FilePath)
+ if err != nil {
+ return errors.New("Mail Error: Failed to add file with following error: " + err.Error())
+ }
+
+ email.attachData(&File{
+ Name: file.Name,
+ MimeType: file.MimeType,
+ Data: data,
+ Inline: file.Inline,
+ })
+
+ return nil
+}
+
+// attachData does the low level attaching of the in-memory data
+func (email *Email) attachData(file *File) {
+ // use inlines and attachments because is necessary to know if message has related parts and mixed parts
+ if file.Inline {
+ email.inlines = append(email.inlines, file)
+ } else {
+ email.attachments = append(email.attachments, file)
+ }
+}
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/attach_old.go b/vendor/github.com/xhit/go-simple-mail/v2/attach_old.go
new file mode 100644
index 00000000..53ee35cc
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/attach_old.go
@@ -0,0 +1,69 @@
+package mail
+
+import (
+ "errors"
+)
+
+// TODO: Remove this file before launch v3
+
+// AddAttachment. DEPRECATED. Use Attach method. Allows you to add an attachment to the email message.
+// You can optionally provide a different name for the file.
+func (email *Email) AddAttachment(file string, name ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ if len(name) > 1 {
+ email.Error = errors.New("Mail Error: Attach can only have a file and an optional name")
+ return email
+ }
+
+ var nm string
+ if len(name) == 1 {
+ nm = name[0]
+ }
+ return email.Attach(&File{Name: nm, FilePath: file})
+}
+
+// AddAttachmentData. DEPRECATED. Use Attach method. Allows you to add an in-memory attachment to the email message.
+func (email *Email) AddAttachmentData(data []byte, filename, mimeType string) *Email {
+ return email.Attach(&File{Data: data, Name: filename, MimeType: mimeType})
+}
+
+// AddAttachmentBase64. DEPRECATED. Use Attach method. Allows you to add an attachment in base64 to the email message.
+// You need provide a name for the file.
+func (email *Email) AddAttachmentBase64(b64File, name string) *Email {
+ return email.Attach(&File{B64Data: b64File, Name: name})
+}
+
+// AddInline. DEPRECATED. Use Attach method. Allows you to add an inline attachment to the email message.
+// You can optionally provide a different name for the file.
+func (email *Email) AddInline(file string, name ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ if len(name) > 1 {
+ email.Error = errors.New("Mail Error: Inline can only have a file and an optional name")
+ return email
+ }
+
+ var nm string
+ if len(name) == 1 {
+ nm = name[0]
+ }
+
+ return email.Attach(&File{Name: nm, FilePath: file, Inline: true})
+}
+
+// AddInlineData. DEPRECATED. Use Attach method. Allows you to add an inline in-memory attachment to the email message.
+func (email *Email) AddInlineData(data []byte, filename, mimeType string) *Email {
+ return email.Attach(&File{Data: data, Name: filename, MimeType: mimeType, Inline: true})
+}
+
+// AddInlineBase64. DEPRECATED. Use Attach method. Allows you to add an inline in-memory base64 encoded attachment to the email message.
+// You need provide a name for the file. If mimeType is an empty string, attachment mime type will be deduced
+// from the file name extension and defaults to application/octet-stream.
+func (email *Email) AddInlineBase64(b64File, name, mimeType string) *Email {
+ return email.Attach(&File{B64Data: b64File, Name: name, MimeType: mimeType, Inline: true})
+}
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/auth.go b/vendor/github.com/xhit/go-simple-mail/v2/auth.go
new file mode 100644
index 00000000..695d1ecf
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/auth.go
@@ -0,0 +1,145 @@
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in https://raw.githubusercontent.com/golang/go/master/LICENSE
+// auth.go file is a modification of smtp golang package what is frozen and is not accepting new features.
+
+package mail
+
+import (
+ "crypto/hmac"
+ "crypto/md5"
+ "errors"
+ "fmt"
+ "strings"
+)
+
+// auth is implemented by an SMTP authentication mechanism.
+type auth interface {
+ // start begins an authentication with a server.
+ // It returns the name of the authentication protocol
+ // and optionally data to include in the initial AUTH message
+ // sent to the server. It can return proto == "" to indicate
+ // that the authentication should be skipped.
+ // If it returns a non-nil error, the SMTP client aborts
+ // the authentication attempt and closes the connection.
+ start(server *serverInfo) (proto string, toServer []byte, err error)
+
+ // next continues the authentication. The server has just sent
+ // the fromServer data. If more is true, the server expects a
+ // response, which next should return as toServer; otherwise
+ // next should return toServer == nil.
+ // If next returns a non-nil error, the SMTP client aborts
+ // the authentication attempt and closes the connection.
+ next(fromServer []byte, more bool) (toServer []byte, err error)
+}
+
+// serverInfo records information about an SMTP server.
+type serverInfo struct {
+ name string // SMTP server name
+ tls bool // using TLS, with valid certificate for Name
+ auth []string // advertised authentication mechanisms
+}
+
+type plainAuth struct {
+ identity, username, password string
+ host string
+}
+
+// plainAuthfn returns an auth that implements the PLAIN authentication
+// mechanism as defined in RFC 4616. The returned Auth uses the given
+// username and password to authenticate to host and act as identity.
+// Usually identity should be the empty string, to act as username.
+//
+// plainAuthfn will only send the credentials if the connection is using TLS
+// or is connected to localhost. Otherwise authentication will fail with an
+// error, without sending the credentials.
+func plainAuthfn(identity, username, password, host string) auth {
+ return &plainAuth{identity, username, password, host}
+}
+
+func (a *plainAuth) start(server *serverInfo) (string, []byte, error) {
+ // Must have TLS, or else localhost server. Unencrypted connection is permitted here too but is not recommended
+ // Note: If TLS is not true, then we can't trust ANYTHING in serverInfo.
+ // In particular, it doesn't matter if the server advertises PLAIN auth.
+ // That might just be the attacker saying
+ // "it's ok, you can trust me with your password."
+ if server.name != a.host {
+ return "", nil, errors.New("wrong host name")
+ }
+ resp := []byte(a.identity + "\x00" + a.username + "\x00" + a.password)
+ return "PLAIN", resp, nil
+}
+
+func (a *plainAuth) next(fromServer []byte, more bool) ([]byte, error) {
+ if more {
+ // We've already sent everything.
+ return nil, errors.New("unexpected server challenge")
+ }
+ return nil, nil
+}
+
+/*
+loginAuthfn authentication implements LOGIN Authentication, is the same PLAIN
+but username and password are sent in different commands
+*/
+
+type loginAuth struct {
+ identity, username, password string
+ host string
+}
+
+func loginAuthfn(identity, username, password, host string) auth {
+ return &loginAuth{identity, username, password, host}
+}
+
+func (a *loginAuth) start(server *serverInfo) (string, []byte, error) {
+ if server.name != a.host {
+ return "", nil, errors.New("wrong host name")
+ }
+ resp := []byte(a.username)
+ return "LOGIN", resp, nil
+}
+
+func (a *loginAuth) next(fromServer []byte, more bool) ([]byte, error) {
+ if more {
+ if strings.Contains(string(fromServer), "Username") {
+ resp := []byte(a.username)
+ return resp, nil
+ }
+
+ if strings.Contains(string(fromServer), "Password") {
+ resp := []byte(a.password)
+ return resp, nil
+ }
+
+ // We've already sent everything.
+ return nil, errors.New("unexpected server challenge")
+ }
+ return nil, nil
+}
+
+type cramMD5Auth struct {
+ username, secret string
+}
+
+// cramMD5Authfn returns an Auth that implements the CRAM-MD5 authentication
+// mechanism as defined in RFC 2195.
+// The returned Auth uses the given username and secret to authenticate
+// to the server using the challenge-response mechanism.
+func cramMD5Authfn(username, secret string) auth {
+ return &cramMD5Auth{username, secret}
+}
+
+func (a *cramMD5Auth) start(server *serverInfo) (string, []byte, error) {
+ return "CRAM-MD5", nil, nil
+}
+
+func (a *cramMD5Auth) next(fromServer []byte, more bool) ([]byte, error) {
+ if more {
+ d := hmac.New(md5.New, []byte(a.secret))
+ d.Write(fromServer)
+ s := make([]byte, 0, d.Size())
+ return []byte(fmt.Sprintf("%s %x", a.username, d.Sum(s))), nil
+ }
+ return nil, nil
+}
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/email.go b/vendor/github.com/xhit/go-simple-mail/v2/email.go
new file mode 100644
index 00000000..4f9f6d12
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/email.go
@@ -0,0 +1,946 @@
+package mail
+
+import (
+ "bytes"
+ "crypto/tls"
+ "errors"
+ "fmt"
+ "net"
+ "net/mail"
+ "net/textproto"
+ "strconv"
+ "time"
+
+ "github.com/toorop/go-dkim"
+)
+
+// Email represents an email message.
+type Email struct {
+ from string
+ sender string
+ replyTo string
+ returnPath string
+ recipients []string
+ headers textproto.MIMEHeader
+ parts []part
+ attachments []*File
+ inlines []*File
+ Charset string
+ Encoding encoding
+ Error error
+ SMTPServer *smtpClient
+ DkimMsg string
+ AllowDuplicateAddress bool
+}
+
+/*
+SMTPServer represents a SMTP Server
+If authentication is CRAM-MD5 then the Password is the Secret
+*/
+type SMTPServer struct {
+ Authentication AuthType
+ Encryption Encryption
+ Username string
+ Password string
+ Helo string
+ ConnectTimeout time.Duration
+ SendTimeout time.Duration
+ Host string
+ Port int
+ KeepAlive bool
+ TLSConfig *tls.Config
+}
+
+// SMTPClient represents a SMTP Client for send email
+type SMTPClient struct {
+ Client *smtpClient
+ KeepAlive bool
+ SendTimeout time.Duration
+}
+
+// part represents the different content parts of an email body.
+type part struct {
+ contentType string
+ body *bytes.Buffer
+}
+
+// Encryption type to enum encryption types (None, SSL/TLS, STARTTLS)
+type Encryption int
+
+// TODO: Remove EncryptionSSL and EncryptionTLS before launch v3
+
+const (
+ // EncryptionNone uses no encryption when sending email
+ EncryptionNone Encryption = iota
+ // EncryptionSSL: DEPRECATED. Use EncryptionSSLTLS. Sets encryption type to SSL/TLS when sending email
+ EncryptionSSL
+ // EncryptionTLS: DEPRECATED. Use EncryptionSTARTTLS. sets encryption type to STARTTLS when sending email
+ EncryptionTLS
+ // EncryptionSSLTLS sets encryption type to SSL/TLS when sending email
+ EncryptionSSLTLS
+ // EncryptionSTARTTLS sets encryption type to STARTTLS when sending email
+ EncryptionSTARTTLS
+)
+
+// TODO: Remove last two indexes
+var encryptionTypes = [...]string{"None", "SSL/TLS", "STARTTLS", "SSL/TLS", "STARTTLS"}
+
+func (encryption Encryption) String() string {
+ return encryptionTypes[encryption]
+}
+
+type encoding int
+
+const (
+ // EncodingNone turns off encoding on the message body
+ EncodingNone encoding = iota
+ // EncodingBase64 sets the message body encoding to base64
+ EncodingBase64
+ // EncodingQuotedPrintable sets the message body encoding to quoted-printable
+ EncodingQuotedPrintable
+)
+
+var encodingTypes = [...]string{"binary", "base64", "quoted-printable"}
+
+func (encoding encoding) string() string {
+ return encodingTypes[encoding]
+}
+
+type ContentType int
+
+const (
+ // TextPlain sets body type to text/plain in message body
+ TextPlain ContentType = iota
+ // TextHTML sets body type to text/html in message body
+ TextHTML
+ // TextCalendar sets body type to text/calendar in message body
+ TextCalendar
+)
+
+var contentTypes = [...]string{"text/plain", "text/html", "text/calendar"}
+
+func (contentType ContentType) string() string {
+ return contentTypes[contentType]
+}
+
+type AuthType int
+
+const (
+ // AuthPlain implements the PLAIN authentication
+ AuthPlain AuthType = iota
+ // AuthLogin implements the LOGIN authentication
+ AuthLogin
+ // AuthCRAMMD5 implements the CRAM-MD5 authentication
+ AuthCRAMMD5
+ // AuthNone for SMTP servers without authentication
+ AuthNone
+)
+
+// NewMSG creates a new email. It uses UTF-8 by default. All charsets: http://webcheatsheet.com/HTML/character_sets_list.php
+func NewMSG() *Email {
+ email := &Email{
+ headers: make(textproto.MIMEHeader),
+ Charset: "UTF-8",
+ Encoding: EncodingQuotedPrintable,
+ }
+
+ email.AddHeader("MIME-Version", "1.0")
+
+ return email
+}
+
+// NewSMTPClient returns the client for send email
+func NewSMTPClient() *SMTPServer {
+ server := &SMTPServer{
+ Authentication: AuthPlain,
+ Encryption: EncryptionNone,
+ ConnectTimeout: 10 * time.Second,
+ SendTimeout: 10 * time.Second,
+ Helo: "localhost",
+ }
+ return server
+}
+
+// GetEncryptionType returns the encryption type used to connect to SMTP server
+func (server *SMTPServer) GetEncryptionType() Encryption {
+ return server.Encryption
+}
+
+// GetError returns the first email error encountered
+func (email *Email) GetError() error {
+ return email.Error
+}
+
+// SetFrom sets the From address.
+func (email *Email) SetFrom(address string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("From", address)
+
+ return email
+}
+
+// SetSender sets the Sender address.
+func (email *Email) SetSender(address string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("Sender", address)
+
+ return email
+}
+
+// SetReplyTo sets the Reply-To address.
+func (email *Email) SetReplyTo(address string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("Reply-To", address)
+
+ return email
+}
+
+// SetReturnPath sets the Return-Path address. This is most often used
+// to send bounced emails to a different email address.
+func (email *Email) SetReturnPath(address string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("Return-Path", address)
+
+ return email
+}
+
+// AddTo adds a To address. You can provide multiple
+// addresses at the same time.
+func (email *Email) AddTo(addresses ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("To", addresses...)
+
+ return email
+}
+
+// AddCc adds a Cc address. You can provide multiple
+// addresses at the same time.
+func (email *Email) AddCc(addresses ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("Cc", addresses...)
+
+ return email
+}
+
+// AddBcc adds a Bcc address. You can provide multiple
+// addresses at the same time.
+func (email *Email) AddBcc(addresses ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddAddresses("Bcc", addresses...)
+
+ return email
+}
+
+// AddAddresses allows you to add addresses to the specified address header.
+func (email *Email) AddAddresses(header string, addresses ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ found := false
+
+ // check for a valid address header
+ for _, h := range []string{"To", "Cc", "Bcc", "From", "Sender", "Reply-To", "Return-Path"} {
+ if header == h {
+ found = true
+ }
+ }
+
+ if !found {
+ email.Error = errors.New("Mail Error: Invalid address header; Header: [" + header + "]")
+ return email
+ }
+
+ // check to see if the addresses are valid
+ for i := range addresses {
+ var address = new(mail.Address)
+ var err error
+
+ // ignore parse the address if empty
+ if len(addresses[i]) > 0 {
+ address, err = mail.ParseAddress(addresses[i])
+ if err != nil {
+ email.Error = errors.New("Mail Error: " + err.Error() + "; Header: [" + header + "] Address: [" + addresses[i] + "]")
+ return email
+ }
+ } else {
+ continue
+ }
+
+ // check for more than one address
+ switch {
+ case header == "Sender" && len(email.sender) > 0:
+ fallthrough
+ case header == "Reply-To" && len(email.replyTo) > 0:
+ fallthrough
+ case header == "Return-Path" && len(email.returnPath) > 0:
+ email.Error = errors.New("Mail Error: There can only be one \"" + header + "\" address; Header: [" + header + "] Address: [" + addresses[i] + "]")
+ return email
+ default:
+ // other address types can have more than one address
+ }
+
+ // save the address
+ switch header {
+ case "From":
+ // delete the current "From" to set the new
+ // when "From" need to be changed in the message
+ if len(email.from) > 0 && header == "From" {
+ email.headers.Del("From")
+ }
+ email.from = address.Address
+ case "Sender":
+ email.sender = address.Address
+ case "Reply-To":
+ email.replyTo = address.Address
+ case "Return-Path":
+ email.returnPath = address.Address
+ default:
+ // check that the address was added to the recipients list
+ email.recipients, err = addAddress(email.recipients, address.Address, email.AllowDuplicateAddress)
+ if err != nil {
+ email.Error = errors.New("Mail Error: " + err.Error() + "; Header: [" + header + "] Address: [" + addresses[i] + "]")
+ return email
+ }
+ }
+
+ // make sure the from and sender addresses are different
+ if email.from != "" && email.sender != "" && email.from == email.sender {
+ email.sender = ""
+ email.headers.Del("Sender")
+ email.Error = errors.New("Mail Error: From and Sender should not be set to the same address")
+ return email
+ }
+
+ // add all addresses to the headers except for Bcc and Return-Path
+ if header != "Bcc" && header != "Return-Path" {
+ // add the address to the headers
+ email.headers.Add(header, address.String())
+ }
+ }
+
+ return email
+}
+
+// addAddress adds an address to the address list if it hasn't already been added
+func addAddress(addressList []string, address string, allowDuplicateAddress bool) ([]string, error) {
+ if !allowDuplicateAddress {
+ // loop through the address list to check for dups
+ for _, a := range addressList {
+ if address == a {
+ return addressList, errors.New("Mail Error: Address: [" + address + "] has already been added")
+ }
+ }
+ }
+
+ return append(addressList, address), nil
+}
+
+type priority int
+
+const (
+ // PriorityLow sets the email priority to Low
+ PriorityLow priority = iota
+ // PriorityHigh sets the email priority to High
+ PriorityHigh
+)
+
+// SetPriority sets the email message priority. Use with
+// either "High" or "Low".
+func (email *Email) SetPriority(priority priority) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ switch priority {
+ case PriorityLow:
+ email.AddHeaders(textproto.MIMEHeader{
+ "X-Priority": {"5 (Lowest)"},
+ "X-MSMail-Priority": {"Low"},
+ "Importance": {"Low"},
+ })
+ case PriorityHigh:
+ email.AddHeaders(textproto.MIMEHeader{
+ "X-Priority": {"1 (Highest)"},
+ "X-MSMail-Priority": {"High"},
+ "Importance": {"High"},
+ })
+ default:
+ }
+
+ return email
+}
+
+// SetDate sets the date header to the provided date/time.
+// The format of the string should be YYYY-MM-DD HH:MM:SS Time Zone.
+//
+// Example: SetDate("2015-04-28 10:32:00 CDT")
+func (email *Email) SetDate(dateTime string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ const dateFormat = "2006-01-02 15:04:05 MST"
+
+ // Try to parse the provided date/time
+ dt, err := time.Parse(dateFormat, dateTime)
+ if err != nil {
+ email.Error = errors.New("Mail Error: Setting date failed with: " + err.Error())
+ return email
+ }
+
+ email.headers.Set("Date", dt.Format(time.RFC1123Z))
+
+ return email
+}
+
+// SetSubject sets the subject of the email message.
+func (email *Email) SetSubject(subject string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddHeader("Subject", subject)
+
+ return email
+}
+
+// SetListUnsubscribe sets the Unsubscribe address.
+func (email *Email) SetListUnsubscribe(address string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.AddHeader("List-Unsubscribe", address)
+
+ return email
+}
+
+// SetDkim adds DomainKey signature to the email message (header+body)
+func (email *Email) SetDkim(options dkim.SigOptions) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ msg := []byte(email.GetMessage())
+ err := dkim.Sign(&msg, options)
+
+ if err != nil {
+ email.Error = errors.New("Mail Error: cannot dkim sign message due: %s" + err.Error())
+ return email
+ }
+
+ email.DkimMsg = string(msg)
+
+ return email
+}
+
+// SetBody sets the body of the email message.
+func (email *Email) SetBody(contentType ContentType, body string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.parts = []part{
+ {
+ contentType: contentType.string(),
+ body: bytes.NewBufferString(body),
+ },
+ }
+
+ return email
+}
+
+// SetBodyData sets the body of the email message from []byte
+func (email *Email) SetBodyData(contentType ContentType, body []byte) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.parts = []part{
+ {
+ contentType: contentType.string(),
+ body: bytes.NewBuffer(body),
+ },
+ }
+
+ return email
+}
+
+// AddHeader adds the given "header" with the passed "value".
+func (email *Email) AddHeader(header string, values ...string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ // check that there is actually a value
+ if len(values) < 1 {
+ email.Error = errors.New("Mail Error: no value provided; Header: [" + header + "]")
+ return email
+ }
+
+ if header != "MIME-Version" {
+ // Set header to correct canonical Mime
+ header = textproto.CanonicalMIMEHeaderKey(header)
+ }
+
+ switch header {
+ case "Sender":
+ fallthrough
+ case "From":
+ fallthrough
+ case "To":
+ fallthrough
+ case "Bcc":
+ fallthrough
+ case "Cc":
+ fallthrough
+ case "Reply-To":
+ fallthrough
+ case "Return-Path":
+ email.AddAddresses(header, values...)
+ case "Date":
+ if len(values) > 1 {
+ email.Error = errors.New("Mail Error: To many dates provided")
+ return email
+ }
+ email.SetDate(values[0])
+ case "List-Unsubscribe":
+ fallthrough
+ default:
+ email.headers[header] = values
+ }
+
+ return email
+}
+
+// AddHeaders is used to add multiple headers at once
+func (email *Email) AddHeaders(headers textproto.MIMEHeader) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ for header, values := range headers {
+ email.AddHeader(header, values...)
+ }
+
+ return email
+}
+
+// AddAlternative allows you to add alternative parts to the body
+// of the email message. This is most commonly used to add an
+// html version in addition to a plain text version that was
+// already added with SetBody.
+func (email *Email) AddAlternative(contentType ContentType, body string) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.parts = append(email.parts,
+ part{
+ contentType: contentType.string(),
+ body: bytes.NewBufferString(body),
+ },
+ )
+
+ return email
+}
+
+// AddAlternativeData allows you to add alternative parts to the body
+// of the email message. This is most commonly used to add an
+// html version in addition to a plain text version that was
+// already added with SetBody.
+func (email *Email) AddAlternativeData(contentType ContentType, body []byte) *Email {
+ if email.Error != nil {
+ return email
+ }
+
+ email.parts = append(email.parts,
+ part{
+ contentType: contentType.string(),
+ body: bytes.NewBuffer(body),
+ },
+ )
+
+ return email
+}
+
+// GetFrom returns the sender of the email, if any
+func (email *Email) GetFrom() string {
+ from := email.returnPath
+ if from == "" {
+ from = email.sender
+ if from == "" {
+ from = email.from
+ if from == "" {
+ from = email.replyTo
+ }
+ }
+ }
+
+ return from
+}
+
+// GetRecipients returns a slice of recipients emails
+func (email *Email) GetRecipients() []string {
+ return email.recipients
+}
+
+func (email *Email) hasMixedPart() bool {
+ return (len(email.parts) > 0 && len(email.attachments) > 0) || len(email.attachments) > 1
+}
+
+func (email *Email) hasRelatedPart() bool {
+ return (len(email.parts) > 0 && len(email.inlines) > 0) || len(email.inlines) > 1
+}
+
+func (email *Email) hasAlternativePart() bool {
+ return len(email.parts) > 1
+}
+
+// GetMessage builds and returns the email message (RFC822 formatted message)
+func (email *Email) GetMessage() string {
+ msg := newMessage(email)
+
+ if email.hasMixedPart() {
+ msg.openMultipart("mixed")
+ }
+
+ if email.hasRelatedPart() {
+ msg.openMultipart("related")
+ }
+
+ if email.hasAlternativePart() {
+ msg.openMultipart("alternative")
+ }
+
+ for _, part := range email.parts {
+ msg.addBody(part.contentType, part.body.Bytes())
+ }
+
+ if email.hasAlternativePart() {
+ msg.closeMultipart()
+ }
+
+ msg.addFiles(email.inlines, true)
+ if email.hasRelatedPart() {
+ msg.closeMultipart()
+ }
+
+ msg.addFiles(email.attachments, false)
+ if email.hasMixedPart() {
+ msg.closeMultipart()
+ }
+
+ return msg.getHeaders() + msg.body.String()
+}
+
+// Send sends the composed email
+func (email *Email) Send(client *SMTPClient) error {
+ return email.SendEnvelopeFrom(email.from, client)
+}
+
+// SendEnvelopeFrom sends the composed email with envelope
+// sender. 'from' must be an email address.
+func (email *Email) SendEnvelopeFrom(from string, client *SMTPClient) error {
+ if email.Error != nil {
+ return email.Error
+ }
+
+ if from == "" {
+ from = email.from
+ }
+
+ if len(email.recipients) < 1 {
+ return errors.New("Mail Error: No recipient specified")
+ }
+
+ var msg string
+ if email.DkimMsg != "" {
+ msg = email.DkimMsg
+ } else {
+ msg = email.GetMessage()
+ }
+
+ return send(from, email.recipients, msg, client)
+}
+
+// dial connects to the smtp server with the request encryption type
+func dial(host string, port string, encryption Encryption, config *tls.Config) (*smtpClient, error) {
+ var conn net.Conn
+ var err error
+
+ address := host + ":" + port
+
+ // do the actual dial
+ switch encryption {
+ // TODO: Remove EncryptionSSL check before launch v3
+ case EncryptionSSL, EncryptionSSLTLS:
+ conn, err = tls.Dial("tcp", address, config)
+ default:
+ conn, err = net.Dial("tcp", address)
+ }
+
+ if err != nil {
+ return nil, errors.New("Mail Error on dialing with encryption type " + encryption.String() + ": " + err.Error())
+ }
+
+ c, err := newClient(conn, host)
+
+ if err != nil {
+ return nil, fmt.Errorf("Mail Error on smtp dial: %w", err)
+ }
+
+ return c, err
+}
+
+// smtpConnect connects to the smtp server and starts TLS and passes auth
+// if necessary
+func smtpConnect(host, port, helo string, a auth, at AuthType, encryption Encryption, config *tls.Config) (*smtpClient, error) {
+ // connect to the mail server
+ c, err := dial(host, port, encryption, config)
+
+ if err != nil {
+ return nil, err
+ }
+
+ if helo == "" {
+ helo = "localhost"
+ }
+
+ // send Helo
+ if err = c.hi(helo); err != nil {
+ c.close()
+ return nil, fmt.Errorf("Mail Error on Hello: %w", err)
+ }
+
+ // STARTTLS if necessary
+ // TODO: Remove EncryptionTLS check before launch v3
+ if encryption == EncryptionTLS || encryption == EncryptionSTARTTLS {
+ if ok, _ := c.extension("STARTTLS"); ok {
+ if err = c.startTLS(config); err != nil {
+ c.close()
+ return nil, fmt.Errorf("Mail Error on STARTTLS: %w", err)
+ }
+ }
+ }
+
+ // only pass authentication if defined
+ if at != AuthNone {
+ // pass the authentication if necessary
+ if a != nil {
+ if ok, _ := c.extension("AUTH"); ok {
+ if err = c.authenticate(a); err != nil {
+ c.close()
+ return nil, fmt.Errorf("Mail Error on Auth: %w", err)
+ }
+ }
+ }
+ }
+
+ return c, nil
+}
+
+// Connect returns the smtp client
+func (server *SMTPServer) Connect() (*SMTPClient, error) {
+
+ var a auth
+
+ switch server.Authentication {
+ case AuthPlain:
+ if server.Username != "" || server.Password != "" {
+ a = plainAuthfn("", server.Username, server.Password, server.Host)
+ }
+ case AuthLogin:
+ if server.Username != "" || server.Password != "" {
+ a = loginAuthfn("", server.Username, server.Password, server.Host)
+ }
+ case AuthCRAMMD5:
+ if server.Username != "" || server.Password != "" {
+ a = cramMD5Authfn(server.Username, server.Password)
+ }
+ }
+
+ var smtpConnectChannel chan error
+ var c *smtpClient
+ var err error
+
+ tlsConfig := server.TLSConfig
+ if tlsConfig == nil {
+ tlsConfig = &tls.Config{ServerName: server.Host}
+ }
+
+ // if there is a ConnectTimeout, setup the channel and do the connect under a goroutine
+ if server.ConnectTimeout != 0 {
+ smtpConnectChannel = make(chan error, 2)
+ go func() {
+ c, err = smtpConnect(server.Host, fmt.Sprintf("%d", server.Port), server.Helo, a, server.Authentication, server.Encryption, tlsConfig)
+ // send the result
+ smtpConnectChannel <- err
+ }()
+ // get the connect result or timeout result, which ever happens first
+ select {
+ case err = <-smtpConnectChannel:
+ if err != nil {
+ return nil, err
+ }
+ case <-time.After(server.ConnectTimeout):
+ return nil, errors.New("Mail Error: SMTP Connection timed out")
+ }
+ } else {
+ // no ConnectTimeout, just fire the connect
+ c, err = smtpConnect(server.Host, fmt.Sprintf("%d", server.Port), server.Helo, a, server.Authentication, server.Encryption, tlsConfig)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ return &SMTPClient{
+ Client: c,
+ KeepAlive: server.KeepAlive,
+ SendTimeout: server.SendTimeout,
+ }, nil
+}
+
+// Reset send RSET command to smtp client
+func (smtpClient *SMTPClient) Reset() error {
+ return smtpClient.Client.reset()
+}
+
+// Noop send NOOP command to smtp client
+func (smtpClient *SMTPClient) Noop() error {
+ return smtpClient.Client.noop()
+}
+
+// Quit send QUIT command to smtp client
+func (smtpClient *SMTPClient) Quit() error {
+ return smtpClient.Client.quit()
+}
+
+// Close closes the connection
+func (smtpClient *SMTPClient) Close() error {
+ return smtpClient.Client.close()
+}
+
+// SendMessage sends a message (a RFC822 formatted message)
+// 'from' must be an email address, recipients must be a slice of email address
+func SendMessage(from string, recipients []string, msg string, client *SMTPClient) error {
+ if from == "" {
+ return errors.New("Mail Error: No From email specifier")
+ }
+ if len(recipients) < 1 {
+ return errors.New("Mail Error: No recipient specified")
+ }
+
+ return send(from, recipients, msg, client)
+}
+
+// send does the low level sending of the email
+func send(from string, to []string, msg string, client *SMTPClient) error {
+ //Check if client struct is not nil
+ if client != nil {
+
+ //Check if client is not nil
+ if client.Client != nil {
+ var smtpSendChannel chan error
+
+ // if there is a SendTimeout, setup the channel and do the send under a goroutine
+ if client.SendTimeout != 0 {
+ smtpSendChannel = make(chan error, 1)
+
+ go func(from string, to []string, msg string, c *smtpClient) {
+ smtpSendChannel <- sendMailProcess(from, to, msg, c)
+ }(from, to, msg, client.Client)
+ }
+
+ if client.SendTimeout == 0 {
+ // no SendTimeout, just fire the sendMailProcess
+ return sendMailProcess(from, to, msg, client.Client)
+ }
+
+ // get the send result or timeout result, which ever happens first
+ select {
+ case sendError := <-smtpSendChannel:
+ checkKeepAlive(client)
+ return sendError
+ case <-time.After(client.SendTimeout):
+ checkKeepAlive(client)
+ return errors.New("Mail Error: SMTP Send timed out")
+ }
+
+ }
+ }
+
+ return errors.New("Mail Error: No SMTP Client Provided")
+}
+
+func sendMailProcess(from string, to []string, msg string, c *smtpClient) error {
+
+ cmdArgs := make(map[string]string)
+
+ if _, ok := c.ext["SIZE"]; ok {
+ cmdArgs["SIZE"] = strconv.Itoa(len(msg))
+ }
+
+ // Set the sender
+ if err := c.mail(from, cmdArgs); err != nil {
+ return err
+ }
+
+ // Set the recipients
+ for _, address := range to {
+ if err := c.rcpt(address); err != nil {
+ return err
+ }
+ }
+
+ // Send the data command
+ w, err := c.data()
+ if err != nil {
+ return err
+ }
+
+ // write the message
+ _, err = fmt.Fprint(w, msg)
+ if err != nil {
+ return err
+ }
+
+ err = w.Close()
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// check if keepAlive for close or reset
+func checkKeepAlive(client *SMTPClient) {
+ if client.KeepAlive {
+ client.Client.reset()
+ } else {
+ client.Client.quit()
+ client.Client.close()
+ }
+}
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/header.go b/vendor/github.com/xhit/go-simple-mail/v2/header.go
new file mode 100644
index 00000000..3b024a29
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/header.go
@@ -0,0 +1,197 @@
+// headers.go implements "Q" encoding as specified by RFC 2047.
+//Modified from https://github.com/joegrasse/mime to use with Go Simple Mail
+
+package mail
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "io"
+ "strings"
+ "unicode/utf8"
+)
+
+type encoder struct {
+ w *bufio.Writer
+ charset string
+ usedChars int
+}
+
+// newEncoder returns a new mime header encoder that writes to w. The c
+// parameter specifies the name of the character set of the text that will be
+// encoded. The u parameter indicates how many characters have been used
+// already.
+func newEncoder(w io.Writer, c string, u int) *encoder {
+ return &encoder{bufio.NewWriter(w), strings.ToUpper(c), u}
+}
+
+// encode encodes p using the "Q" encoding and writes it to the underlying
+// io.Writer. It limits line length to 75 characters.
+func (e *encoder) encode(p []byte) (n int, err error) {
+ var output bytes.Buffer
+ allPrintable := true
+
+ // some lines we encode end in "
+ //maxLineLength := 75 - 1
+ maxLineLength := 76
+
+ // prevent header injection
+ p = secureHeader(p)
+
+ // check to see if we have all printable characters
+ for _, c := range p {
+ if !isVchar(c) && !isWSP(c) {
+ allPrintable = false
+ break
+ }
+ }
+
+ // all characters are printable. just do line folding
+ if allPrintable {
+ text := string(p)
+ words := strings.Split(text, " ")
+
+ lineBuffer := ""
+ firstWord := true
+
+ // split the line where necessary
+ for _, word := range words {
+ /*fmt.Println("Current Line:",lineBuffer)
+ fmt.Println("Here: Max:", maxLineLength ,"Buffer Length:", len(lineBuffer), "Used Chars:", e.usedChars, "Length Encoded Char:",len(word))
+ fmt.Println("----------")*/
+
+ newWord := ""
+ if !firstWord {
+ newWord += " "
+ }
+ newWord += word
+
+ // check line length
+ if (e.usedChars+len(lineBuffer)+len(newWord) /*+len(" ")+len(word)*/) > maxLineLength && (lineBuffer != "" || e.usedChars != 0) {
+ output.WriteString(lineBuffer + "\r\n")
+
+ // first word on newline needs a space in front
+ if !firstWord {
+ lineBuffer = ""
+ } else {
+ lineBuffer = " "
+ }
+
+ //firstLine = false
+ //firstWord = true
+ // reset since not on the first line anymore
+ e.usedChars = 0
+ }
+
+ /*if !firstWord {
+ lineBuffer += " "
+ }*/
+
+ lineBuffer += newWord /*word*/
+
+ firstWord = false
+
+ // reset since not on the first line anymore
+ /*if !firstLine {
+ e.usedChars = 0
+ }*/
+ }
+
+ output.WriteString(lineBuffer)
+
+ } else {
+ firstLine := true
+
+ // A single encoded word can not be longer than 75 characters
+ if e.usedChars == 0 {
+ maxLineLength = 75
+ }
+
+ wordBegin := "=?" + e.charset + "?Q?"
+ wordEnd := "?="
+
+ lineBuffer := wordBegin
+
+ for i := 0; i < len(p); {
+ // encode the character
+ encodedChar, runeLength := encode(p, i)
+
+ /*fmt.Println("Current Line:",lineBuffer)
+ fmt.Println("Here: Max:", maxLineLength ,"Buffer Length:", len(lineBuffer), "Used Chars:", e.usedChars, "Length Encoded Char:",len(encodedChar))
+ fmt.Println("----------")*/
+
+ // Check line length
+ if len(lineBuffer)+e.usedChars+len(encodedChar) > (maxLineLength - len(wordEnd)) {
+ output.WriteString(lineBuffer + wordEnd + "\r\n")
+ lineBuffer = " " + wordBegin
+ firstLine = false
+ }
+
+ lineBuffer += encodedChar
+
+ i = i + runeLength
+
+ // reset since not on the first line anymore
+ if !firstLine {
+ e.usedChars = 0
+ maxLineLength = 76
+ }
+ }
+
+ output.WriteString(lineBuffer + wordEnd)
+ }
+
+ e.w.Write(output.Bytes())
+ e.w.Flush()
+ n = output.Len()
+
+ return n, nil
+}
+
+// encode takes a string and position in that string and encodes one utf-8
+// character. It then returns the encoded string and number of runes in the
+// character.
+func encode(text []byte, i int) (encodedString string, runeLength int) {
+ started := false
+
+ for ; i < len(text) && (!utf8.RuneStart(text[i]) || !started); i++ {
+ switch c := text[i]; {
+ case c == ' ':
+ encodedString += "_"
+ case isVchar(c) && c != '=' && c != '?' && c != '_':
+ encodedString += string(c)
+ default:
+ encodedString += fmt.Sprintf("=%02X", c)
+ }
+
+ runeLength++
+
+ started = true
+ }
+
+ return
+}
+
+// secureHeader removes all unnecessary values to prevent
+// header injection
+func secureHeader(text []byte) []byte {
+ secureValue := strings.TrimSpace(string(text))
+ secureValue = strings.Replace(secureValue, "\r", "", -1)
+ secureValue = strings.Replace(secureValue, "\n", "", -1)
+ secureValue = strings.Replace(secureValue, "\t", "", -1)
+
+ return []byte(secureValue)
+}
+
+// isVchar returns true if c is an RFC 5322 VCHAR character.
+func isVchar(c byte) bool {
+ // Visible (printing) characters.
+ return '!' <= c && c <= '~'
+}
+
+// isWSP returns true if c is a WSP (white space).
+// WSP is a space or horizontal tab (RFC5234 Appendix B).
+func isWSP(c byte) bool {
+ return c == ' ' || c == '\t'
+}
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/message.go b/vendor/github.com/xhit/go-simple-mail/v2/message.go
new file mode 100644
index 00000000..98c4dfe8
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/message.go
@@ -0,0 +1,248 @@
+package mail
+
+import (
+ "bytes"
+ "encoding/base64"
+ "io"
+ "mime/multipart"
+ "mime/quotedprintable"
+ "net/textproto"
+ "regexp"
+ "strconv"
+ "strings"
+ "time"
+)
+
+type message struct {
+ headers textproto.MIMEHeader
+ body *bytes.Buffer
+ writers []*multipart.Writer
+ parts uint8
+ cids map[string]string
+ charset string
+ encoding encoding
+}
+
+func newMessage(email *Email) *message {
+ return &message{
+ headers: email.headers,
+ body: new(bytes.Buffer),
+ cids: make(map[string]string),
+ charset: email.Charset,
+ encoding: email.Encoding}
+}
+
+func encodeHeader(text string, charset string, usedChars int) string {
+ // create buffer
+ buf := new(bytes.Buffer)
+
+ // encode
+ encoder := newEncoder(buf, charset, usedChars)
+ encoder.encode([]byte(text))
+
+ return buf.String()
+
+ /*
+ switch encoding {
+ case EncodingBase64:
+ return mime.BEncoding.Encode(charset, text)
+ default:
+ return mime.QEncoding.Encode(charset, text)
+ }
+ */
+}
+
+// getHeaders returns the message headers
+func (msg *message) getHeaders() (headers string) {
+ // if the date header isn't set, set it
+ if date := msg.headers.Get("Date"); date == "" {
+ msg.headers.Set("Date", time.Now().Format(time.RFC1123Z))
+ }
+
+ // encode and combine the headers
+ for header, values := range msg.headers {
+ headers += header + ": " + encodeHeader(strings.Join(values, ", "), msg.charset, len(header)+2) + "\r\n"
+ }
+
+ headers = headers + "\r\n"
+
+ return
+}
+
+// getCID gets the generated CID for the provided text
+func (msg *message) getCID(text string) (cid string) {
+ // set the date format to use
+ const dateFormat = "20060102.150405"
+
+ // get the cid if we have one
+ cid, exists := msg.cids[text]
+ if !exists {
+ // generate a new cid
+ cid = time.Now().Format(dateFormat) + "." + strconv.Itoa(len(msg.cids)+1) + "@mail.0"
+ // save it
+ msg.cids[text] = cid
+ }
+
+ return
+}
+
+// replaceCIDs replaces the CIDs found in a text string
+// with generated ones
+func (msg *message) replaceCIDs(text string) string {
+ // regular expression to find cids
+ re := regexp.MustCompile(`(src|href)="cid:(.*?)"`)
+ // replace all of the found cids with generated ones
+ for _, matches := range re.FindAllStringSubmatch(text, -1) {
+ cid := msg.getCID(matches[2])
+ text = strings.Replace(text, "cid:"+matches[2], "cid:"+cid, -1)
+ }
+
+ return text
+}
+
+// openMultipart creates a new part of a multipart message
+func (msg *message) openMultipart(multipartType string) {
+ // create a new multipart writer
+ msg.writers = append(msg.writers, multipart.NewWriter(msg.body))
+ // create the boundary
+ contentType := "multipart/" + multipartType + ";\n \tboundary=" + msg.writers[msg.parts].Boundary()
+
+ // if no existing parts, add header to main header group
+ if msg.parts == 0 {
+ msg.headers.Set("Content-Type", contentType)
+ } else { // add header to multipart section
+ header := make(textproto.MIMEHeader)
+ header.Set("Content-Type", contentType)
+ msg.writers[msg.parts-1].CreatePart(header)
+ }
+
+ msg.parts++
+}
+
+// closeMultipart closes a part of a multipart message
+func (msg *message) closeMultipart() {
+ if msg.parts > 0 {
+ msg.writers[msg.parts-1].Close()
+ msg.parts--
+ }
+}
+
+// base64Encode base64 encodes the provided text with line wrapping
+func base64Encode(text []byte) []byte {
+ // create buffer
+ buf := new(bytes.Buffer)
+
+ // create base64 encoder that linewraps
+ encoder := base64.NewEncoder(base64.StdEncoding, &base64LineWrap{writer: buf})
+
+ // write the encoded text to buf
+ encoder.Write(text)
+ encoder.Close()
+
+ return buf.Bytes()
+}
+
+// qpEncode uses the quoted-printable encoding to encode the provided text
+func qpEncode(text []byte) []byte {
+ // create buffer
+ buf := new(bytes.Buffer)
+
+ encoder := quotedprintable.NewWriter(buf)
+
+ encoder.Write(text)
+ encoder.Close()
+
+ return buf.Bytes()
+}
+
+const maxLineChars = 76
+
+type base64LineWrap struct {
+ writer io.Writer
+ numLineChars int
+}
+
+func (e *base64LineWrap) Write(p []byte) (n int, err error) {
+ n = 0
+ // while we have more chars than are allowed
+ for len(p)+e.numLineChars > maxLineChars {
+ numCharsToWrite := maxLineChars - e.numLineChars
+ // write the chars we can
+ e.writer.Write(p[:numCharsToWrite])
+ // write a line break
+ e.writer.Write([]byte("\r\n"))
+ // reset the line count
+ e.numLineChars = 0
+ // remove the chars that have been written
+ p = p[numCharsToWrite:]
+ // set the num of chars written
+ n += numCharsToWrite
+ }
+
+ // write what is left
+ e.writer.Write(p)
+ e.numLineChars += len(p)
+ n += len(p)
+
+ return
+}
+
+func (msg *message) write(header textproto.MIMEHeader, body []byte, encoding encoding) {
+ msg.writeHeader(header)
+ msg.writeBody(body, encoding)
+}
+
+func (msg *message) writeHeader(headers textproto.MIMEHeader) {
+ // if there are no parts add header to main headers
+ if msg.parts == 0 {
+ for header, value := range headers {
+ msg.headers[header] = value
+ }
+ } else { // add header to multipart section
+ msg.writers[msg.parts-1].CreatePart(headers)
+ }
+}
+
+func (msg *message) writeBody(body []byte, encoding encoding) {
+ // encode and write the body
+ switch encoding {
+ case EncodingQuotedPrintable:
+ msg.body.Write(qpEncode(body))
+ case EncodingBase64:
+ msg.body.Write(base64Encode(body))
+ default:
+ msg.body.Write(body)
+ }
+}
+
+func (msg *message) addBody(contentType string, body []byte) {
+ body = []byte(msg.replaceCIDs(string(body)))
+
+ header := make(textproto.MIMEHeader)
+ header.Set("Content-Type", contentType+"; charset="+msg.charset)
+ header.Set("Content-Transfer-Encoding", msg.encoding.string())
+ msg.write(header, body, msg.encoding)
+}
+
+var quoteEscaper = strings.NewReplacer("\\", "\\\\", `"`, "\\\"")
+
+func escapeQuotes(s string) string {
+ return quoteEscaper.Replace(s)
+}
+
+func (msg *message) addFiles(files []*File, inline bool) {
+ encoding := EncodingBase64
+ for _, file := range files {
+ header := make(textproto.MIMEHeader)
+ header.Set("Content-Type", file.MimeType+";\n \tname=\""+encodeHeader(escapeQuotes(file.Name), msg.charset, 6)+`"`)
+ header.Set("Content-Transfer-Encoding", encoding.string())
+ if inline {
+ header.Set("Content-Disposition", "inline;\n \tfilename=\""+encodeHeader(escapeQuotes(file.Name), msg.charset, 10)+`"`)
+ header.Set("Content-ID", "<"+msg.getCID(file.Name)+">")
+ } else {
+ header.Set("Content-Disposition", "attachment;\n \tfilename=\""+encodeHeader(escapeQuotes(file.Name), msg.charset, 10)+`"`)
+ }
+
+ msg.write(header, file.Data, encoding)
+ }
+}
diff --git a/vendor/github.com/xhit/go-simple-mail/v2/smtp.go b/vendor/github.com/xhit/go-simple-mail/v2/smtp.go
new file mode 100644
index 00000000..b2187f3f
--- /dev/null
+++ b/vendor/github.com/xhit/go-simple-mail/v2/smtp.go
@@ -0,0 +1,332 @@
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in https://raw.githubusercontent.com/golang/go/master/LICENSE
+
+// Package mail implements the Simple Mail Transfer Protocol as defined in RFC 5321.
+// It also implements the following extensions:
+// 8BITMIME RFC 1652
+// SMTPUTF8 RFC 6531
+// AUTH RFC 2554
+// STARTTLS RFC 3207
+// SIZE RFC 1870
+// Additional extensions may be handled by clients using smtp.go in golang source code or pull request Go Simple Mail
+
+// smtp.go file is a modification of smtp golang package what is frozen and is not accepting new features.
+
+package mail
+
+import (
+ "crypto/tls"
+ "encoding/base64"
+ "errors"
+ "fmt"
+ "io"
+ "net"
+ "net/textproto"
+ "strings"
+)
+
+// A Client represents a client connection to an SMTP server.
+type smtpClient struct {
+ // Text is the textproto.Conn used by the Client.
+ text *textproto.Conn
+ // keep a reference to the connection so it can be used to create a TLS
+ // connection later
+ conn net.Conn
+ // whether the Client is using TLS
+ tls bool
+ serverName string
+ // map of supported extensions
+ ext map[string]string
+ // supported auth mechanisms
+ a []string
+ localName string // the name to use in HELO/EHLO
+ didHello bool // whether we've said HELO/EHLO
+ helloError error // the error from the hello
+}
+
+// newClient returns a new smtpClient using an existing connection and host as a
+// server name to be used when authenticating.
+func newClient(conn net.Conn, host string) (*smtpClient, error) {
+ text := textproto.NewConn(conn)
+ _, _, err := text.ReadResponse(220)
+ if err != nil {
+ text.Close()
+ return nil, err
+ }
+ c := &smtpClient{text: text, conn: conn, serverName: host, localName: "localhost"}
+ _, c.tls = conn.(*tls.Conn)
+ return c, nil
+}
+
+// Close closes the connection.
+func (c *smtpClient) close() error {
+ return c.text.Close()
+}
+
+// hello runs a hello exchange if needed.
+func (c *smtpClient) hello() error {
+ if !c.didHello {
+ c.didHello = true
+ err := c.ehlo()
+ if err != nil {
+ c.helloError = c.helo()
+ }
+ }
+ return c.helloError
+}
+
+// hi sends a HELO or EHLO to the server as the given host name.
+// Calling this method is only necessary if the client needs control
+// over the host name used. The client will introduce itself as "localhost"
+// automatically otherwise. If Hello is called, it must be called before
+// any of the other methods.
+func (c *smtpClient) hi(localName string) error {
+ if err := validateLine(localName); err != nil {
+ return err
+ }
+ if c.didHello {
+ return errors.New("smtp: Hello called after other methods")
+ }
+ c.localName = localName
+ return c.hello()
+}
+
+// cmd is a convenience function that sends a command and returns the response
+func (c *smtpClient) cmd(expectCode int, format string, args ...interface{}) (int, string, error) {
+ id, err := c.text.Cmd(format, args...)
+ if err != nil {
+ return 0, "", err
+ }
+ c.text.StartResponse(id)
+ defer c.text.EndResponse(id)
+ code, msg, err := c.text.ReadResponse(expectCode)
+ return code, msg, err
+}
+
+// helo sends the HELO greeting to the server. It should be used only when the
+// server does not support ehlo.
+func (c *smtpClient) helo() error {
+ c.ext = nil
+ _, _, err := c.cmd(250, "HELO %s", c.localName)
+ return err
+}
+
+// ehlo sends the EHLO (extended hello) greeting to the server. It
+// should be the preferred greeting for servers that support it.
+func (c *smtpClient) ehlo() error {
+ _, msg, err := c.cmd(250, "EHLO %s", c.localName)
+ if err != nil {
+ return err
+ }
+ ext := make(map[string]string)
+ extList := strings.Split(msg, "\n")
+ if len(extList) > 1 {
+ extList = extList[1:]
+ for _, line := range extList {
+ args := strings.SplitN(line, " ", 2)
+ if len(args) > 1 {
+ ext[args[0]] = args[1]
+ } else {
+ ext[args[0]] = ""
+ }
+ }
+ }
+ if mechs, ok := ext["AUTH"]; ok {
+ c.a = strings.Split(mechs, " ")
+ }
+ c.ext = ext
+ return err
+}
+
+// startTLS sends the STARTTLS command and encrypts all further communication.
+// Only servers that advertise the STARTTLS extension support this function.
+func (c *smtpClient) startTLS(config *tls.Config) error {
+ if err := c.hello(); err != nil {
+ return err
+ }
+ _, _, err := c.cmd(220, "STARTTLS")
+ if err != nil {
+ return err
+ }
+ c.conn = tls.Client(c.conn, config)
+ c.text = textproto.NewConn(c.conn)
+ c.tls = true
+ return c.ehlo()
+}
+
+// authenticate authenticates a client using the provided authentication mechanism.
+// A failed authentication closes the connection.
+// Only servers that advertise the AUTH extension support this function.
+func (c *smtpClient) authenticate(a auth) error {
+ if err := c.hello(); err != nil {
+ return err
+ }
+ encoding := base64.StdEncoding
+ mech, resp, err := a.start(&serverInfo{c.serverName, c.tls, c.a})
+ if err != nil {
+ c.quit()
+ return err
+ }
+ resp64 := make([]byte, encoding.EncodedLen(len(resp)))
+ encoding.Encode(resp64, resp)
+ code, msg64, err := c.cmd(0, strings.TrimSpace(fmt.Sprintf("AUTH %s %s", mech, resp64)))
+ for err == nil {
+ var msg []byte
+ switch code {
+ case 334:
+ msg, err = encoding.DecodeString(msg64)
+ case 235:
+ // the last message isn't base64 because it isn't a challenge
+ msg = []byte(msg64)
+ default:
+ err = &textproto.Error{Code: code, Msg: msg64}
+ }
+ if err == nil {
+ resp, err = a.next(msg, code == 334)
+ }
+ if err != nil {
+ // abort the AUTH
+ c.cmd(501, "*")
+ c.quit()
+ break
+ }
+ if resp == nil {
+ break
+ }
+ resp64 = make([]byte, encoding.EncodedLen(len(resp)))
+ encoding.Encode(resp64, resp)
+ code, msg64, err = c.cmd(0, string(resp64))
+ }
+ return err
+}
+
+// mail issues a MAIL command to the server using the provided email address.
+// If the server supports the 8BITMIME extension, Mail adds the BODY=8BITMIME
+// parameter.
+// If the server supports the SMTPUTF8 extension, Mail adds the
+// SMTPUTF8 parameter.
+// This initiates a mail transaction and is followed by one or more Rcpt calls.
+func (c *smtpClient) mail(from string, extArgs ...map[string]string) error {
+ var args []interface{}
+ var extMap map[string]string
+
+ if len(extArgs) > 0 {
+ extMap = extArgs[0]
+ }
+
+ if err := validateLine(from); err != nil {
+ return err
+ }
+ if err := c.hello(); err != nil {
+ return err
+ }
+ cmdStr := "MAIL FROM:<%s>"
+ if c.ext != nil {
+ if _, ok := c.ext["8BITMIME"]; ok {
+ cmdStr += " BODY=8BITMIME"
+ }
+ if _, ok := c.ext["SMTPUTF8"]; ok {
+ cmdStr += " SMTPUTF8"
+ }
+ if _, ok := c.ext["SIZE"]; ok {
+ if extMap["SIZE"] != "" {
+ cmdStr += " SIZE=%s"
+ args = append(args, extMap["SIZE"])
+ }
+ }
+ }
+ args = append([]interface{}{from}, args...)
+ _, _, err := c.cmd(250, cmdStr, args...)
+ return err
+}
+
+// rcpt issues a RCPT command to the server using the provided email address.
+// A call to Rcpt must be preceded by a call to Mail and may be followed by
+// a Data call or another Rcpt call.
+func (c *smtpClient) rcpt(to string) error {
+ if err := validateLine(to); err != nil {
+ return err
+ }
+ _, _, err := c.cmd(25, "RCPT TO:<%s>", to)
+ return err
+}
+
+type dataCloser struct {
+ c *smtpClient
+ io.WriteCloser
+}
+
+func (d *dataCloser) Close() error {
+ d.WriteCloser.Close()
+ _, _, err := d.c.text.ReadResponse(250)
+ return err
+}
+
+// data issues a DATA command to the server and returns a writer that
+// can be used to write the mail headers and body. The caller should
+// close the writer before calling any more methods on c. A call to
+// Data must be preceded by one or more calls to Rcpt.
+func (c *smtpClient) data() (io.WriteCloser, error) {
+ _, _, err := c.cmd(354, "DATA")
+ if err != nil {
+ return nil, err
+ }
+ return &dataCloser{c, c.text.DotWriter()}, nil
+}
+
+// extension reports whether an extension is support by the server.
+// The extension name is case-insensitive. If the extension is supported,
+// extension also returns a string that contains any parameters the
+// server specifies for the extension.
+func (c *smtpClient) extension(ext string) (bool, string) {
+ if err := c.hello(); err != nil {
+ return false, ""
+ }
+ if c.ext == nil {
+ return false, ""
+ }
+ ext = strings.ToUpper(ext)
+ param, ok := c.ext[ext]
+ return ok, param
+}
+
+// reset sends the RSET command to the server, aborting the current mail
+// transaction.
+func (c *smtpClient) reset() error {
+ if err := c.hello(); err != nil {
+ return err
+ }
+ _, _, err := c.cmd(250, "RSET")
+ return err
+}
+
+// noop sends the NOOP command to the server. It does nothing but check
+// that the connection to the server is okay.
+func (c *smtpClient) noop() error {
+ if err := c.hello(); err != nil {
+ return err
+ }
+ _, _, err := c.cmd(250, "NOOP")
+ return err
+}
+
+// quit sends the QUIT command and closes the connection to the server.
+func (c *smtpClient) quit() error {
+ if err := c.hello(); err != nil {
+ return err
+ }
+ _, _, err := c.cmd(221, "QUIT")
+ if err != nil {
+ return err
+ }
+ return c.text.Close()
+}
+
+// validateLine checks to see if a line has CR or LF as per RFC 5321
+func validateLine(line string) error {
+ if strings.ContainsAny(line, "\n\r") {
+ return errors.New("smtp: A line must not contain CR or LF")
+ }
+ return nil
+}
diff --git a/vendor/go.mau.fi/whatsmeow/README.md b/vendor/go.mau.fi/whatsmeow/README.md
index 123239b5..b0d36ffb 100644
--- a/vendor/go.mau.fi/whatsmeow/README.md
+++ b/vendor/go.mau.fi/whatsmeow/README.md
@@ -27,12 +27,11 @@ Most core features are already present:
* Joining via invite messages, using and creating invite links
* Sending and receiving typing notifications
* Sending and receiving delivery and read receipts
-* Reading app state (contact list, chat pin/mute status, etc)
+* Reading and writing app state (contact list, chat pin/mute status, etc)
* Sending and handling retry receipts if message decryption fails
* Sending status messages (experimental, may not work for large contact lists)
Things that are not yet implemented:
-* Writing app state (contact list, chat pin/mute status, etc)
* Sending broadcast list messages (this is not supported on WhatsApp web either)
* Calls
diff --git a/vendor/go.mau.fi/whatsmeow/appstate.go b/vendor/go.mau.fi/whatsmeow/appstate.go
index 7493a030..3c128db6 100644
--- a/vendor/go.mau.fi/whatsmeow/appstate.go
+++ b/vendor/go.mau.fi/whatsmeow/appstate.go
@@ -74,7 +74,7 @@ func (cli *Client) FetchAppState(name appstate.WAPatchName, fullSync, onlyIfNotS
}
}
for _, mutation := range mutations {
- cli.dispatchAppState(mutation, !fullSync || cli.EmitAppStateEventsOnFullSync)
+ cli.dispatchAppState(mutation, fullSync, cli.EmitAppStateEventsOnFullSync)
}
}
if fullSync {
@@ -105,7 +105,10 @@ func (cli *Client) filterContacts(mutations []appstate.Mutation) ([]appstate.Mut
return filteredMutations, contacts
}
-func (cli *Client) dispatchAppState(mutation appstate.Mutation, dispatchEvts bool) {
+func (cli *Client) dispatchAppState(mutation appstate.Mutation, fullSync bool, emitOnFullSync bool) {
+
+ dispatchEvts := !fullSync || emitOnFullSync
+
if mutation.Operation != waProto.SyncdMutation_SET {
return
}
@@ -118,87 +121,108 @@ func (cli *Client) dispatchAppState(mutation appstate.Mutation, dispatchEvts boo
if len(mutation.Index) > 1 {
jid, _ = types.ParseJID(mutation.Index[1])
}
- ts := time.Unix(mutation.Action.GetTimestamp(), 0)
+ ts := time.UnixMilli(mutation.Action.GetTimestamp())
var storeUpdateError error
var eventToDispatch interface{}
switch mutation.Index[0] {
- case "mute":
+ case appstate.IndexMute:
act := mutation.Action.GetMuteAction()
- eventToDispatch = &events.Mute{JID: jid, Timestamp: ts, Action: act}
+ eventToDispatch = &events.Mute{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
var mutedUntil time.Time
if act.GetMuted() {
- mutedUntil = time.Unix(act.GetMuteEndTimestamp(), 0)
+ mutedUntil = time.UnixMilli(act.GetMuteEndTimestamp())
}
if cli.Store.ChatSettings != nil {
storeUpdateError = cli.Store.ChatSettings.PutMutedUntil(jid, mutedUntil)
}
- case "pin_v1":
+ case appstate.IndexPin:
act := mutation.Action.GetPinAction()
- eventToDispatch = &events.Pin{JID: jid, Timestamp: ts, Action: act}
+ eventToDispatch = &events.Pin{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
if cli.Store.ChatSettings != nil {
storeUpdateError = cli.Store.ChatSettings.PutPinned(jid, act.GetPinned())
}
- case "archive":
+ case appstate.IndexArchive:
act := mutation.Action.GetArchiveChatAction()
- eventToDispatch = &events.Archive{JID: jid, Timestamp: ts, Action: act}
+ eventToDispatch = &events.Archive{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
if cli.Store.ChatSettings != nil {
storeUpdateError = cli.Store.ChatSettings.PutArchived(jid, act.GetArchived())
}
- case "contact":
+ case appstate.IndexContact:
act := mutation.Action.GetContactAction()
- eventToDispatch = &events.Contact{JID: jid, Timestamp: ts, Action: act}
+ eventToDispatch = &events.Contact{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
if cli.Store.Contacts != nil {
storeUpdateError = cli.Store.Contacts.PutContactName(jid, act.GetFirstName(), act.GetFullName())
}
- case "deleteChat":
+ case appstate.IndexClearChat:
+ act := mutation.Action.GetClearChatAction()
+ eventToDispatch = &events.ClearChat{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
+ case appstate.IndexDeleteChat:
act := mutation.Action.GetDeleteChatAction()
- eventToDispatch = &events.DeleteChat{JID: jid, Timestamp: ts, Action: act}
- case "star":
+ eventToDispatch = &events.DeleteChat{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
+ case appstate.IndexStar:
if len(mutation.Index) < 5 {
return
}
evt := events.Star{
- ChatJID: jid,
- MessageID: mutation.Index[2],
- Timestamp: ts,
- Action: mutation.Action.GetStarAction(),
- IsFromMe: mutation.Index[3] == "1",
+ ChatJID: jid,
+ MessageID: mutation.Index[2],
+ Timestamp: ts,
+ Action: mutation.Action.GetStarAction(),
+ IsFromMe: mutation.Index[3] == "1",
+ FromFullSync: fullSync,
}
if mutation.Index[4] != "0" {
evt.SenderJID, _ = types.ParseJID(mutation.Index[4])
}
eventToDispatch = &evt
- case "deleteMessageForMe":
+ case appstate.IndexDeleteMessageForMe:
if len(mutation.Index) < 5 {
return
}
evt := events.DeleteForMe{
- ChatJID: jid,
- MessageID: mutation.Index[2],
- Timestamp: ts,
- Action: mutation.Action.GetDeleteMessageForMeAction(),
- IsFromMe: mutation.Index[3] == "1",
+ ChatJID: jid,
+ MessageID: mutation.Index[2],
+ Timestamp: ts,
+ Action: mutation.Action.GetDeleteMessageForMeAction(),
+ IsFromMe: mutation.Index[3] == "1",
+ FromFullSync: fullSync,
}
if mutation.Index[4] != "0" {
evt.SenderJID, _ = types.ParseJID(mutation.Index[4])
}
eventToDispatch = &evt
- case "markChatAsRead":
+ case appstate.IndexMarkChatAsRead:
eventToDispatch = &events.MarkChatAsRead{
- JID: jid,
- Timestamp: ts,
- Action: mutation.Action.GetMarkChatAsReadAction(),
+ JID: jid,
+ Timestamp: ts,
+ Action: mutation.Action.GetMarkChatAsReadAction(),
+ FromFullSync: fullSync,
+ }
+ case appstate.IndexSettingPushName:
+ eventToDispatch = &events.PushNameSetting{
+ Timestamp: ts,
+ Action: mutation.Action.GetPushNameSetting(),
+ FromFullSync: fullSync,
}
- case "setting_pushName":
- eventToDispatch = &events.PushNameSetting{Timestamp: ts, Action: mutation.Action.GetPushNameSetting()}
cli.Store.PushName = mutation.Action.GetPushNameSetting().GetName()
err := cli.Store.Save()
if err != nil {
cli.Log.Errorf("Failed to save device store after updating push name: %v", err)
}
- case "setting_unarchiveChats":
- eventToDispatch = &events.UnarchiveChatsSetting{Timestamp: ts, Action: mutation.Action.GetUnarchiveChatsSetting()}
+ case appstate.IndexSettingUnarchiveChats:
+ eventToDispatch = &events.UnarchiveChatsSetting{
+ Timestamp: ts,
+ Action: mutation.Action.GetUnarchiveChatsSetting(),
+ FromFullSync: fullSync,
+ }
+ case appstate.IndexUserStatusMute:
+ eventToDispatch = &events.UserStatusMute{
+ JID: jid,
+ Timestamp: ts,
+ Action: mutation.Action.GetUserStatusMuteAction(),
+ FromFullSync: fullSync,
+ }
}
if storeUpdateError != nil {
cli.Log.Errorf("Failed to update device store after app state mutation: %v", storeUpdateError)
@@ -280,3 +304,63 @@ func (cli *Client) requestAppStateKeys(ctx context.Context, rawKeyIDs [][]byte)
cli.Log.Warnf("Failed to send app state key request: %v", err)
}
}
+
+// SendAppState sends the given app state patch, then resyncs that app state type from the server
+// to update local caches and send events for the updates.
+//
+// You can use the Build methods in the appstate package to build the parameter for this method, e.g.
+//
+// cli.SendAppState(appstate.BuildMute(targetJID, true, 24 * time.Hour))
+func (cli *Client) SendAppState(patch appstate.PatchInfo) error {
+ version, hash, err := cli.Store.AppState.GetAppStateVersion(string(patch.Type))
+ if err != nil {
+ return err
+ }
+ // TODO create new key instead of reusing the primary client's keys
+ latestKeyID, err := cli.Store.AppStateKeys.GetLatestAppStateSyncKeyID()
+ if err != nil {
+ return fmt.Errorf("failed to get latest app state key ID: %w", err)
+ } else if latestKeyID == nil {
+ return fmt.Errorf("no app state keys found, creating app state keys is not yet supported")
+ }
+
+ state := appstate.HashState{Version: version, Hash: hash}
+
+ encodedPatch, err := cli.appStateProc.EncodePatch(latestKeyID, state, patch)
+ if err != nil {
+ return err
+ }
+
+ resp, err := cli.sendIQ(infoQuery{
+ Namespace: "w:sync:app:state",
+ Type: iqSet,
+ To: types.ServerJID,
+ Content: []waBinary.Node{{
+ Tag: "sync",
+ Content: []waBinary.Node{{
+ Tag: "collection",
+ Attrs: waBinary.Attrs{
+ "name": string(patch.Type),
+ "version": version,
+ "return_snapshot": false,
+ },
+ Content: []waBinary.Node{{
+ Tag: "patch",
+ Content: encodedPatch,
+ }},
+ }},
+ }},
+ })
+ if err != nil {
+ return err
+ }
+
+ respCollection := resp.GetChildByTag("sync", "collection")
+ respCollectionAttr := respCollection.AttrGetter()
+ if respCollectionAttr.OptionalString("type") == "error" {
+ // TODO parse error properly
+ return fmt.Errorf("%w: %s", ErrAppStateUpdate, respCollection.XMLString())
+ }
+
+ return cli.FetchAppState(patch.Type, false, false)
+}
diff --git a/vendor/go.mau.fi/whatsmeow/appstate/decode.go b/vendor/go.mau.fi/whatsmeow/appstate/decode.go
index 5c895470..980c20de 100644
--- a/vendor/go.mau.fi/whatsmeow/appstate/decode.go
+++ b/vendor/go.mau.fi/whatsmeow/appstate/decode.go
@@ -290,7 +290,7 @@ func (proc *Processor) DecodePatches(list *PatchList, initialState HashState, va
if err != nil {
return
}
- patchMAC := generatePatchMAC(patch, list.Name, keys.PatchMAC)
+ patchMAC := generatePatchMAC(patch, list.Name, keys.PatchMAC, patch.GetVersion().GetVersion())
if !bytes.Equal(patchMAC, patch.GetPatchMac()) {
err = fmt.Errorf("failed to verify patch v%d: %w", version, ErrMismatchingPatchMAC)
return
diff --git a/vendor/go.mau.fi/whatsmeow/appstate/encode.go b/vendor/go.mau.fi/whatsmeow/appstate/encode.go
new file mode 100644
index 00000000..1cb7d659
--- /dev/null
+++ b/vendor/go.mau.fi/whatsmeow/appstate/encode.go
@@ -0,0 +1,200 @@
+package appstate
+
+import (
+ "crypto/sha256"
+ "encoding/json"
+ "fmt"
+ "time"
+
+ "google.golang.org/protobuf/proto"
+
+ waProto "go.mau.fi/whatsmeow/binary/proto"
+ "go.mau.fi/whatsmeow/types"
+ "go.mau.fi/whatsmeow/util/cbcutil"
+)
+
+// MutationInfo contains information about a single mutation to the app state.
+type MutationInfo struct {
+ // Index contains the thing being mutated (like `mute` or `pin_v1`), followed by parameters like the target JID.
+ Index []string
+ // Version is a static number that depends on the thing being mutated.
+ Version int32
+ // Value contains the data for the mutation.
+ Value *waProto.SyncActionValue
+}
+
+// PatchInfo contains information about a patch to the app state.
+// A patch can contain multiple mutations, as long as all mutations are in the same app state type.
+type PatchInfo struct {
+ // Timestamp is the time when the patch was created. This will be filled automatically in EncodePatch if it's zero.
+ Timestamp time.Time
+ // Type is the app state type being mutated.
+ Type WAPatchName
+ // Mutations contains the individual mutations to apply to the app state in this patch.
+ Mutations []MutationInfo
+}
+
+// BuildMute builds an app state patch for muting or unmuting a chat.
+//
+// If mute is true and the mute duration is zero, the chat is muted forever.
+func BuildMute(target types.JID, mute bool, muteDuration time.Duration) PatchInfo {
+ var muteEndTimestamp *int64
+ if muteDuration > 0 {
+ muteEndTimestamp = proto.Int64(time.Now().Add(muteDuration).UnixMilli())
+ }
+
+ return PatchInfo{
+ Type: WAPatchRegularHigh,
+ Mutations: []MutationInfo{{
+ Index: []string{IndexMute, target.String()},
+ Version: 2,
+ Value: &waProto.SyncActionValue{
+ MuteAction: &waProto.MuteAction{
+ Muted: proto.Bool(mute),
+ MuteEndTimestamp: muteEndTimestamp,
+ },
+ },
+ }},
+ }
+}
+
+func newPinMutationInfo(target types.JID, pin bool) MutationInfo {
+ return MutationInfo{
+ Index: []string{IndexPin, target.String()},
+ Version: 5,
+ Value: &waProto.SyncActionValue{
+ PinAction: &waProto.PinAction{
+ Pinned: &pin,
+ },
+ },
+ }
+}
+
+// BuildPin builds an app state patch for pinning or unpinning a chat.
+func BuildPin(target types.JID, pin bool) PatchInfo {
+ return PatchInfo{
+ Type: WAPatchRegularLow,
+ Mutations: []MutationInfo{
+ newPinMutationInfo(target, pin),
+ },
+ }
+}
+
+// BuildArchive builds an app state patch for archiving or unarchiving a chat.
+//
+// The last message timestamp and last message key are optional and can be set to zero values (`time.Time{}` and `nil`).
+//
+// Archiving a chat will also unpin it automatically.
+func BuildArchive(target types.JID, archive bool, lastMessageTimestamp time.Time, lastMessageKey *waProto.MessageKey) PatchInfo {
+ if lastMessageTimestamp.IsZero() {
+ lastMessageTimestamp = time.Now()
+ }
+ archiveMutationInfo := MutationInfo{
+ Index: []string{IndexArchive, target.String()},
+ Version: 3,
+ Value: &waProto.SyncActionValue{
+ ArchiveChatAction: &waProto.ArchiveChatAction{
+ Archived: &archive,
+ MessageRange: &waProto.SyncActionMessageRange{
+ LastMessageTimestamp: proto.Int64(lastMessageTimestamp.Unix()),
+ // TODO set LastSystemMessageTimestamp?
+ },
+ },
+ },
+ }
+
+ if lastMessageKey != nil {
+ archiveMutationInfo.Value.ArchiveChatAction.MessageRange.Messages = []*waProto.SyncActionMessage{{
+ Key: lastMessageKey,
+ Timestamp: proto.Int64(lastMessageTimestamp.Unix()),
+ }}
+ }
+
+ mutations := []MutationInfo{archiveMutationInfo}
+ if archive {
+ mutations = append(mutations, newPinMutationInfo(target, false))
+ }
+
+ result := PatchInfo{
+ Type: WAPatchRegularLow,
+ Mutations: mutations,
+ }
+
+ return result
+}
+
+func (proc *Processor) EncodePatch(keyID []byte, state HashState, patchInfo PatchInfo) ([]byte, error) {
+ keys, err := proc.getAppStateKey(keyID)
+ if err != nil {
+ return nil, fmt.Errorf("failed to get app state key details with key ID %x: %w", keyID, err)
+ }
+
+ if patchInfo.Timestamp.IsZero() {
+ patchInfo.Timestamp = time.Now()
+ }
+
+ mutations := make([]*waProto.SyncdMutation, 0, len(patchInfo.Mutations))
+ for _, mutationInfo := range patchInfo.Mutations {
+ mutationInfo.Value.Timestamp = proto.Int64(patchInfo.Timestamp.UnixMilli())
+
+ indexBytes, err := json.Marshal(mutationInfo.Index)
+ if err != nil {
+ return nil, fmt.Errorf("failed to marshal mutation index: %w", err)
+ }
+
+ pbObj := &waProto.SyncActionData{
+ Index: indexBytes,
+ Value: mutationInfo.Value,
+ Padding: []byte{},
+ Version: &mutationInfo.Version,
+ }
+
+ content, err := proto.Marshal(pbObj)
+ if err != nil {
+ return nil, fmt.Errorf("failed to marshal mutation: %w", err)
+ }
+
+ encryptedContent, err := cbcutil.Encrypt(keys.ValueEncryption, nil, content)
+ if err != nil {
+ return nil, fmt.Errorf("failed to encrypt mutation: %w", err)
+ }
+
+ valueMac := generateContentMAC(waProto.SyncdMutation_SET, encryptedContent, keyID, keys.ValueMAC)
+ indexMac := concatAndHMAC(sha256.New, keys.Index, indexBytes)
+
+ mutations = append(mutations, &waProto.SyncdMutation{
+ Operation: waProto.SyncdMutation_SET.Enum(),
+ Record: &waProto.SyncdRecord{
+ Index: &waProto.SyncdIndex{Blob: indexMac},
+ Value: &waProto.SyncdValue{Blob: append(encryptedContent, valueMac...)},
+ KeyId: &waProto.KeyId{Id: keyID},
+ },
+ })
+ }
+
+ warn, err := state.updateHash(mutations, func(indexMAC []byte, _ int) ([]byte, error) {
+ return proc.Store.AppState.GetAppStateMutationMAC(string(patchInfo.Type), indexMAC)
+ })
+ if len(warn) > 0 {
+ proc.Log.Warnf("Warnings while updating hash for %s (sending new app state): %+v", patchInfo.Type, warn)
+ }
+ if err != nil {
+ return nil, fmt.Errorf("failed to update state hash: %w", err)
+ }
+
+ state.Version += 1
+
+ syncdPatch := &waProto.SyncdPatch{
+ SnapshotMac: state.generateSnapshotMAC(patchInfo.Type, keys.SnapshotMAC),
+ KeyId: &waProto.KeyId{Id: keyID},
+ Mutations: mutations,
+ }
+ syncdPatch.PatchMac = generatePatchMAC(syncdPatch, patchInfo.Type, keys.PatchMAC, state.Version)
+
+ result, err := proto.Marshal(syncdPatch)
+ if err != nil {
+ return nil, fmt.Errorf("failed to marshal compiled patch: %w", err)
+ }
+
+ return result, nil
+}
diff --git a/vendor/go.mau.fi/whatsmeow/appstate/hash.go b/vendor/go.mau.fi/whatsmeow/appstate/hash.go
index bb17eeac..2bb0924a 100644
--- a/vendor/go.mau.fi/whatsmeow/appstate/hash.go
+++ b/vendor/go.mau.fi/whatsmeow/appstate/hash.go
@@ -77,14 +77,14 @@ func (hs *HashState) generateSnapshotMAC(name WAPatchName, key []byte) []byte {
return concatAndHMAC(sha256.New, key, hs.Hash[:], uint64ToBytes(hs.Version), []byte(name))
}
-func generatePatchMAC(patch *waProto.SyncdPatch, name WAPatchName, key []byte) []byte {
+func generatePatchMAC(patch *waProto.SyncdPatch, name WAPatchName, key []byte, version uint64) []byte {
dataToHash := make([][]byte, len(patch.GetMutations())+3)
dataToHash[0] = patch.GetSnapshotMac()
for i, mutation := range patch.Mutations {
val := mutation.GetRecord().GetValue().GetBlob()
dataToHash[i+1] = val[len(val)-32:]
}
- dataToHash[len(dataToHash)-2] = uint64ToBytes(patch.GetVersion().GetVersion())
+ dataToHash[len(dataToHash)-2] = uint64ToBytes(version)
dataToHash[len(dataToHash)-1] = []byte(name)
return concatAndHMAC(sha256.New, key, dataToHash...)
}
diff --git a/vendor/go.mau.fi/whatsmeow/appstate/keys.go b/vendor/go.mau.fi/whatsmeow/appstate/keys.go
index ec19dc26..95f7d134 100644
--- a/vendor/go.mau.fi/whatsmeow/appstate/keys.go
+++ b/vendor/go.mau.fi/whatsmeow/appstate/keys.go
@@ -35,6 +35,22 @@ const (
// AllPatchNames contains all currently known patch state names.
var AllPatchNames = [...]WAPatchName{WAPatchCriticalBlock, WAPatchCriticalUnblockLow, WAPatchRegularHigh, WAPatchRegular, WAPatchRegularLow}
+// Constants for the first part of app state indexes.
+const (
+ IndexMute = "mute"
+ IndexPin = "pin_v1"
+ IndexArchive = "archive"
+ IndexContact = "contact"
+ IndexClearChat = "clearChat"
+ IndexDeleteChat = "deleteChat"
+ IndexStar = "star"
+ IndexDeleteMessageForMe = "deleteMessageForMe"
+ IndexMarkChatAsRead = "markChatAsRead"
+ IndexSettingPushName = "setting_pushName"
+ IndexSettingUnarchiveChats = "setting_unarchiveChats"
+ IndexUserStatusMute = "userStatusMute"
+)
+
type Processor struct {
keyCache map[string]ExpandedAppStateKeys
keyCacheLock sync.Mutex
diff --git a/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.go b/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.go
index 4ab7a2e4..f2a30515 100644
--- a/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.go
+++ b/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.go
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.1
+// protoc-gen-go v1.30.0
// protoc v3.21.12
// source: binary/proto/def.proto
@@ -87,6 +87,8 @@ const (
PeerDataOperationRequestType_UPLOAD_STICKER PeerDataOperationRequestType = 0
PeerDataOperationRequestType_SEND_RECENT_STICKER_BOOTSTRAP PeerDataOperationRequestType = 1
PeerDataOperationRequestType_GENERATE_LINK_PREVIEW PeerDataOperationRequestType = 2
+ PeerDataOperationRequestType_HISTORY_SYNC_ON_DEMAND PeerDataOperationRequestType = 3
+ PeerDataOperationRequestType_PLACEHOLDER_MESSAGE_RESEND PeerDataOperationRequestType = 4
)
// Enum value maps for PeerDataOperationRequestType.
@@ -95,11 +97,15 @@ var (
0: "UPLOAD_STICKER",
1: "SEND_RECENT_STICKER_BOOTSTRAP",
2: "GENERATE_LINK_PREVIEW",
+ 3: "HISTORY_SYNC_ON_DEMAND",
+ 4: "PLACEHOLDER_MESSAGE_RESEND",
}
PeerDataOperationRequestType_value = map[string]int32{
"UPLOAD_STICKER": 0,
"SEND_RECENT_STICKER_BOOTSTRAP": 1,
"GENERATE_LINK_PREVIEW": 2,
+ "HISTORY_SYNC_ON_DEMAND": 3,
+ "PLACEHOLDER_MESSAGE_RESEND": 4,
}
)
@@ -202,20 +208,24 @@ func (MediaVisibility) EnumDescriptor() ([]byte, []int) {
type DeviceProps_PlatformType int32
const (
- DeviceProps_UNKNOWN DeviceProps_PlatformType = 0
- DeviceProps_CHROME DeviceProps_PlatformType = 1
- DeviceProps_FIREFOX DeviceProps_PlatformType = 2
- DeviceProps_IE DeviceProps_PlatformType = 3
- DeviceProps_OPERA DeviceProps_PlatformType = 4
- DeviceProps_SAFARI DeviceProps_PlatformType = 5
- DeviceProps_EDGE DeviceProps_PlatformType = 6
- DeviceProps_DESKTOP DeviceProps_PlatformType = 7
- DeviceProps_IPAD DeviceProps_PlatformType = 8
- DeviceProps_ANDROID_TABLET DeviceProps_PlatformType = 9
- DeviceProps_OHANA DeviceProps_PlatformType = 10
- DeviceProps_ALOHA DeviceProps_PlatformType = 11
- DeviceProps_CATALINA DeviceProps_PlatformType = 12
- DeviceProps_TCL_TV DeviceProps_PlatformType = 13
+ DeviceProps_UNKNOWN DeviceProps_PlatformType = 0
+ DeviceProps_CHROME DeviceProps_PlatformType = 1
+ DeviceProps_FIREFOX DeviceProps_PlatformType = 2
+ DeviceProps_IE DeviceProps_PlatformType = 3
+ DeviceProps_OPERA DeviceProps_PlatformType = 4
+ DeviceProps_SAFARI DeviceProps_PlatformType = 5
+ DeviceProps_EDGE DeviceProps_PlatformType = 6
+ DeviceProps_DESKTOP DeviceProps_PlatformType = 7
+ DeviceProps_IPAD DeviceProps_PlatformType = 8
+ DeviceProps_ANDROID_TABLET DeviceProps_PlatformType = 9
+ DeviceProps_OHANA DeviceProps_PlatformType = 10
+ DeviceProps_ALOHA DeviceProps_PlatformType = 11
+ DeviceProps_CATALINA DeviceProps_PlatformType = 12
+ DeviceProps_TCL_TV DeviceProps_PlatformType = 13
+ DeviceProps_IOS_PHONE DeviceProps_PlatformType = 14
+ DeviceProps_IOS_CATALYST DeviceProps_PlatformType = 15
+ DeviceProps_ANDROID_PHONE DeviceProps_PlatformType = 16
+ DeviceProps_ANDROID_AMBIGUOUS DeviceProps_PlatformType = 17
)
// Enum value maps for DeviceProps_PlatformType.
@@ -235,22 +245,30 @@ var (
11: "ALOHA",
12: "CATALINA",
13: "TCL_TV",
+ 14: "IOS_PHONE",
+ 15: "IOS_CATALYST",
+ 16: "ANDROID_PHONE",
+ 17: "ANDROID_AMBIGUOUS",
}
DeviceProps_PlatformType_value = map[string]int32{
- "UNKNOWN": 0,
- "CHROME": 1,
- "FIREFOX": 2,
- "IE": 3,
- "OPERA": 4,
- "SAFARI": 5,
- "EDGE": 6,
- "DESKTOP": 7,
- "IPAD": 8,
- "ANDROID_TABLET": 9,
- "OHANA": 10,
- "ALOHA": 11,
- "CATALINA": 12,
- "TCL_TV": 13,
+ "UNKNOWN": 0,
+ "CHROME": 1,
+ "FIREFOX": 2,
+ "IE": 3,
+ "OPERA": 4,
+ "SAFARI": 5,
+ "EDGE": 6,
+ "DESKTOP": 7,
+ "IPAD": 8,
+ "ANDROID_TABLET": 9,
+ "OHANA": 10,
+ "ALOHA": 11,
+ "CATALINA": 12,
+ "TCL_TV": 13,
+ "IOS_PHONE": 14,
+ "IOS_CATALYST": 15,
+ "ANDROID_PHONE": 16,
+ "ANDROID_AMBIGUOUS": 17,
}
)
@@ -350,7 +368,7 @@ func (x *PaymentInviteMessage_ServiceType) UnmarshalJSON(b []byte) error {
// Deprecated: Use PaymentInviteMessage_ServiceType.Descriptor instead.
func (PaymentInviteMessage_ServiceType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{7, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{6, 0}
}
type OrderMessage_OrderSurface int32
@@ -403,7 +421,7 @@ func (x *OrderMessage_OrderSurface) UnmarshalJSON(b []byte) error {
// Deprecated: Use OrderMessage_OrderSurface.Descriptor instead.
func (OrderMessage_OrderSurface) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{8, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{7, 0}
}
type OrderMessage_OrderStatus int32
@@ -456,7 +474,7 @@ func (x *OrderMessage_OrderStatus) UnmarshalJSON(b []byte) error {
// Deprecated: Use OrderMessage_OrderStatus.Descriptor instead.
func (OrderMessage_OrderStatus) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{8, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{7, 1}
}
type ListResponseMessage_ListType int32
@@ -512,7 +530,7 @@ func (x *ListResponseMessage_ListType) UnmarshalJSON(b []byte) error {
// Deprecated: Use ListResponseMessage_ListType.Descriptor instead.
func (ListResponseMessage_ListType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{10, 0}
}
type ListMessage_ListType int32
@@ -571,7 +589,7 @@ func (x *ListMessage_ListType) UnmarshalJSON(b []byte) error {
// Deprecated: Use ListMessage_ListType.Descriptor instead.
func (ListMessage_ListType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 0}
}
type InvoiceMessage_AttachmentType int32
@@ -627,7 +645,63 @@ func (x *InvoiceMessage_AttachmentType) UnmarshalJSON(b []byte) error {
// Deprecated: Use InvoiceMessage_AttachmentType.Descriptor instead.
func (InvoiceMessage_AttachmentType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{14, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{13, 0}
+}
+
+type InteractiveResponseMessage_Body_Format int32
+
+const (
+ InteractiveResponseMessage_Body_DEFAULT InteractiveResponseMessage_Body_Format = 0
+ InteractiveResponseMessage_Body_EXTENSIONS_1 InteractiveResponseMessage_Body_Format = 1
+)
+
+// Enum value maps for InteractiveResponseMessage_Body_Format.
+var (
+ InteractiveResponseMessage_Body_Format_name = map[int32]string{
+ 0: "DEFAULT",
+ 1: "EXTENSIONS_1",
+ }
+ InteractiveResponseMessage_Body_Format_value = map[string]int32{
+ "DEFAULT": 0,
+ "EXTENSIONS_1": 1,
+ }
+)
+
+func (x InteractiveResponseMessage_Body_Format) Enum() *InteractiveResponseMessage_Body_Format {
+ p := new(InteractiveResponseMessage_Body_Format)
+ *p = x
+ return p
+}
+
+func (x InteractiveResponseMessage_Body_Format) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InteractiveResponseMessage_Body_Format) Descriptor() protoreflect.EnumDescriptor {
+ return file_binary_proto_def_proto_enumTypes[10].Descriptor()
+}
+
+func (InteractiveResponseMessage_Body_Format) Type() protoreflect.EnumType {
+ return &file_binary_proto_def_proto_enumTypes[10]
+}
+
+func (x InteractiveResponseMessage_Body_Format) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *InteractiveResponseMessage_Body_Format) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = InteractiveResponseMessage_Body_Format(num)
+ return nil
+}
+
+// Deprecated: Use InteractiveResponseMessage_Body_Format.Descriptor instead.
+func (InteractiveResponseMessage_Body_Format) EnumDescriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{14, 1, 0}
}
type InteractiveMessage_ShopMessage_Surface int32
@@ -666,11 +740,11 @@ func (x InteractiveMessage_ShopMessage_Surface) String() string {
}
func (InteractiveMessage_ShopMessage_Surface) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[10].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[11].Descriptor()
}
func (InteractiveMessage_ShopMessage_Surface) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[10]
+ return &file_binary_proto_def_proto_enumTypes[11]
}
func (x InteractiveMessage_ShopMessage_Surface) Number() protoreflect.EnumNumber {
@@ -689,7 +763,7 @@ func (x *InteractiveMessage_ShopMessage_Surface) UnmarshalJSON(b []byte) error {
// Deprecated: Use InteractiveMessage_ShopMessage_Surface.Descriptor instead.
func (InteractiveMessage_ShopMessage_Surface) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 0, 0}
}
type HistorySyncNotification_HistorySyncType int32
@@ -701,6 +775,7 @@ const (
HistorySyncNotification_RECENT HistorySyncNotification_HistorySyncType = 3
HistorySyncNotification_PUSH_NAME HistorySyncNotification_HistorySyncType = 4
HistorySyncNotification_NON_BLOCKING_DATA HistorySyncNotification_HistorySyncType = 5
+ HistorySyncNotification_ON_DEMAND HistorySyncNotification_HistorySyncType = 6
)
// Enum value maps for HistorySyncNotification_HistorySyncType.
@@ -712,6 +787,7 @@ var (
3: "RECENT",
4: "PUSH_NAME",
5: "NON_BLOCKING_DATA",
+ 6: "ON_DEMAND",
}
HistorySyncNotification_HistorySyncType_value = map[string]int32{
"INITIAL_BOOTSTRAP": 0,
@@ -720,6 +796,7 @@ var (
"RECENT": 3,
"PUSH_NAME": 4,
"NON_BLOCKING_DATA": 5,
+ "ON_DEMAND": 6,
}
)
@@ -734,11 +811,11 @@ func (x HistorySyncNotification_HistorySyncType) String() string {
}
func (HistorySyncNotification_HistorySyncType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[11].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[12].Descriptor()
}
func (HistorySyncNotification_HistorySyncType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[11]
+ return &file_binary_proto_def_proto_enumTypes[12]
}
func (x HistorySyncNotification_HistorySyncType) Number() protoreflect.EnumNumber {
@@ -757,7 +834,7 @@ func (x *HistorySyncNotification_HistorySyncType) UnmarshalJSON(b []byte) error
// Deprecated: Use HistorySyncNotification_HistorySyncType.Descriptor instead.
func (HistorySyncNotification_HistorySyncType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{18, 0}
}
type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType int32
@@ -805,11 +882,11 @@ func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeC
}
func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[12].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[13].Descriptor()
}
func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[12]
+ return &file_binary_proto_def_proto_enumTypes[13]
}
func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Number() protoreflect.EnumNumber {
@@ -828,7 +905,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTime
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType.Descriptor instead.
func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0, 0, 1, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0, 0, 1, 0}
}
type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType int32
@@ -861,11 +938,11 @@ func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeC
}
func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[13].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[14].Descriptor()
}
func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[13]
+ return &file_binary_proto_def_proto_enumTypes[14]
}
func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Number() protoreflect.EnumNumber {
@@ -884,7 +961,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTime
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType.Descriptor instead.
func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0, 0, 1, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0, 0, 1, 1}
}
type GroupInviteMessage_GroupType int32
@@ -917,11 +994,11 @@ func (x GroupInviteMessage_GroupType) String() string {
}
func (GroupInviteMessage_GroupType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[14].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[15].Descriptor()
}
func (GroupInviteMessage_GroupType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[14]
+ return &file_binary_proto_def_proto_enumTypes[15]
}
func (x GroupInviteMessage_GroupType) Number() protoreflect.EnumNumber {
@@ -940,7 +1017,7 @@ func (x *GroupInviteMessage_GroupType) UnmarshalJSON(b []byte) error {
// Deprecated: Use GroupInviteMessage_GroupType.Descriptor instead.
func (GroupInviteMessage_GroupType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{21, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0}
}
type ExtendedTextMessage_PreviewType int32
@@ -973,11 +1050,11 @@ func (x ExtendedTextMessage_PreviewType) String() string {
}
func (ExtendedTextMessage_PreviewType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[15].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[16].Descriptor()
}
func (ExtendedTextMessage_PreviewType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[15]
+ return &file_binary_proto_def_proto_enumTypes[16]
}
func (x ExtendedTextMessage_PreviewType) Number() protoreflect.EnumNumber {
@@ -996,7 +1073,7 @@ func (x *ExtendedTextMessage_PreviewType) UnmarshalJSON(b []byte) error {
// Deprecated: Use ExtendedTextMessage_PreviewType.Descriptor instead.
func (ExtendedTextMessage_PreviewType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{23, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{22, 0}
}
type ExtendedTextMessage_InviteLinkGroupType int32
@@ -1035,11 +1112,11 @@ func (x ExtendedTextMessage_InviteLinkGroupType) String() string {
}
func (ExtendedTextMessage_InviteLinkGroupType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[16].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[17].Descriptor()
}
func (ExtendedTextMessage_InviteLinkGroupType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[16]
+ return &file_binary_proto_def_proto_enumTypes[17]
}
func (x ExtendedTextMessage_InviteLinkGroupType) Number() protoreflect.EnumNumber {
@@ -1058,7 +1135,7 @@ func (x *ExtendedTextMessage_InviteLinkGroupType) UnmarshalJSON(b []byte) error
// Deprecated: Use ExtendedTextMessage_InviteLinkGroupType.Descriptor instead.
func (ExtendedTextMessage_InviteLinkGroupType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{23, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{22, 1}
}
type ExtendedTextMessage_FontType int32
@@ -1070,7 +1147,7 @@ const (
ExtendedTextMessage_BRYNDAN_WRITE ExtendedTextMessage_FontType = 3
ExtendedTextMessage_BEBASNEUE_REGULAR ExtendedTextMessage_FontType = 4
ExtendedTextMessage_OSWALD_HEAVY ExtendedTextMessage_FontType = 5
- ExtendedTextMessage_DAMION_REGULAR ExtendedTextMessage_FontType = 6
+ ExtendedTextMessage_SYSTEM_BOLD ExtendedTextMessage_FontType = 6
ExtendedTextMessage_MORNINGBREEZE_REGULAR ExtendedTextMessage_FontType = 7
ExtendedTextMessage_CALISTOGA_REGULAR ExtendedTextMessage_FontType = 8
ExtendedTextMessage_EXO2_EXTRABOLD ExtendedTextMessage_FontType = 9
@@ -1086,7 +1163,7 @@ var (
3: "BRYNDAN_WRITE",
4: "BEBASNEUE_REGULAR",
5: "OSWALD_HEAVY",
- 6: "DAMION_REGULAR",
+ 6: "SYSTEM_BOLD",
7: "MORNINGBREEZE_REGULAR",
8: "CALISTOGA_REGULAR",
9: "EXO2_EXTRABOLD",
@@ -1099,7 +1176,7 @@ var (
"BRYNDAN_WRITE": 3,
"BEBASNEUE_REGULAR": 4,
"OSWALD_HEAVY": 5,
- "DAMION_REGULAR": 6,
+ "SYSTEM_BOLD": 6,
"MORNINGBREEZE_REGULAR": 7,
"CALISTOGA_REGULAR": 8,
"EXO2_EXTRABOLD": 9,
@@ -1118,11 +1195,11 @@ func (x ExtendedTextMessage_FontType) String() string {
}
func (ExtendedTextMessage_FontType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[17].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[18].Descriptor()
}
func (ExtendedTextMessage_FontType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[17]
+ return &file_binary_proto_def_proto_enumTypes[18]
}
func (x ExtendedTextMessage_FontType) Number() protoreflect.EnumNumber {
@@ -1141,7 +1218,7 @@ func (x *ExtendedTextMessage_FontType) UnmarshalJSON(b []byte) error {
// Deprecated: Use ExtendedTextMessage_FontType.Descriptor instead.
func (ExtendedTextMessage_FontType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{23, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{22, 2}
}
type ButtonsResponseMessage_Type int32
@@ -1174,11 +1251,11 @@ func (x ButtonsResponseMessage_Type) String() string {
}
func (ButtonsResponseMessage_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[18].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[19].Descriptor()
}
func (ButtonsResponseMessage_Type) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[18]
+ return &file_binary_proto_def_proto_enumTypes[19]
}
func (x ButtonsResponseMessage_Type) Number() protoreflect.EnumNumber {
@@ -1245,11 +1322,11 @@ func (x ButtonsMessage_HeaderType) String() string {
}
func (ButtonsMessage_HeaderType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[19].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[20].Descriptor()
}
func (ButtonsMessage_HeaderType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[19]
+ return &file_binary_proto_def_proto_enumTypes[20]
}
func (x ButtonsMessage_HeaderType) Number() protoreflect.EnumNumber {
@@ -1304,11 +1381,11 @@ func (x ButtonsMessage_Button_Type) String() string {
}
func (ButtonsMessage_Button_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[20].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[21].Descriptor()
}
func (ButtonsMessage_Button_Type) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[20]
+ return &file_binary_proto_def_proto_enumTypes[21]
}
func (x ButtonsMessage_Button_Type) Number() protoreflect.EnumNumber {
@@ -1363,11 +1440,11 @@ func (x DisappearingMode_Initiator) String() string {
}
func (DisappearingMode_Initiator) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[21].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[22].Descriptor()
}
func (DisappearingMode_Initiator) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[21]
+ return &file_binary_proto_def_proto_enumTypes[22]
}
func (x DisappearingMode_Initiator) Number() protoreflect.EnumNumber {
@@ -1422,11 +1499,11 @@ func (x ContextInfo_ExternalAdReplyInfo_MediaType) String() string {
}
func (ContextInfo_ExternalAdReplyInfo_MediaType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[22].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[23].Descriptor()
}
func (ContextInfo_ExternalAdReplyInfo_MediaType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[22]
+ return &file_binary_proto_def_proto_enumTypes[23]
}
func (x ContextInfo_ExternalAdReplyInfo_MediaType) Number() protoreflect.EnumNumber {
@@ -1481,11 +1558,11 @@ func (x ContextInfo_AdReplyInfo_MediaType) String() string {
}
func (ContextInfo_AdReplyInfo_MediaType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[23].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[24].Descriptor()
}
func (ContextInfo_AdReplyInfo_MediaType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[23]
+ return &file_binary_proto_def_proto_enumTypes[24]
}
func (x ContextInfo_AdReplyInfo_MediaType) Number() protoreflect.EnumNumber {
@@ -1537,11 +1614,11 @@ func (x PaymentBackground_Type) String() string {
}
func (PaymentBackground_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[24].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[25].Descriptor()
}
func (PaymentBackground_Type) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[24]
+ return &file_binary_proto_def_proto_enumTypes[25]
}
func (x PaymentBackground_Type) Number() protoreflect.EnumNumber {
@@ -1596,11 +1673,11 @@ func (x VideoMessage_Attribution) String() string {
}
func (VideoMessage_Attribution) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[25].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[26].Descriptor()
}
func (VideoMessage_Attribution) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[25]
+ return &file_binary_proto_def_proto_enumTypes[26]
}
func (x VideoMessage_Attribution) Number() protoreflect.EnumNumber {
@@ -1652,11 +1729,11 @@ func (x ScheduledCallEditMessage_EditType) String() string {
}
func (ScheduledCallEditMessage_EditType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[26].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[27].Descriptor()
}
func (ScheduledCallEditMessage_EditType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[26]
+ return &file_binary_proto_def_proto_enumTypes[27]
}
func (x ScheduledCallEditMessage_EditType) Number() protoreflect.EnumNumber {
@@ -1711,11 +1788,11 @@ func (x ScheduledCallCreationMessage_CallType) String() string {
}
func (ScheduledCallCreationMessage_CallType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[27].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[28].Descriptor()
}
func (ScheduledCallCreationMessage_CallType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[27]
+ return &file_binary_proto_def_proto_enumTypes[28]
}
func (x ScheduledCallCreationMessage_CallType) Number() protoreflect.EnumNumber {
@@ -1800,11 +1877,11 @@ func (x ProtocolMessage_Type) String() string {
}
func (ProtocolMessage_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[28].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[29].Descriptor()
}
func (ProtocolMessage_Type) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[28]
+ return &file_binary_proto_def_proto_enumTypes[29]
}
func (x ProtocolMessage_Type) Number() protoreflect.EnumNumber {
@@ -1859,11 +1936,11 @@ func (x PinMessage_PinMessageType) String() string {
}
func (PinMessage_PinMessageType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[29].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[30].Descriptor()
}
func (PinMessage_PinMessageType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[29]
+ return &file_binary_proto_def_proto_enumTypes[30]
}
func (x PinMessage_PinMessageType) Number() protoreflect.EnumNumber {
@@ -1915,11 +1992,11 @@ func (x PastParticipant_LeaveReason) String() string {
}
func (PastParticipant_LeaveReason) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[30].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[31].Descriptor()
}
func (PastParticipant_LeaveReason) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[30]
+ return &file_binary_proto_def_proto_enumTypes[31]
}
func (x PastParticipant_LeaveReason) Number() protoreflect.EnumNumber {
@@ -1938,7 +2015,7 @@ func (x *PastParticipant_LeaveReason) UnmarshalJSON(b []byte) error {
// Deprecated: Use PastParticipant_LeaveReason.Descriptor instead.
func (PastParticipant_LeaveReason) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{83, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{84, 0}
}
type HistorySync_HistorySyncType int32
@@ -1950,6 +2027,7 @@ const (
HistorySync_RECENT HistorySync_HistorySyncType = 3
HistorySync_PUSH_NAME HistorySync_HistorySyncType = 4
HistorySync_NON_BLOCKING_DATA HistorySync_HistorySyncType = 5
+ HistorySync_ON_DEMAND HistorySync_HistorySyncType = 6
)
// Enum value maps for HistorySync_HistorySyncType.
@@ -1961,6 +2039,7 @@ var (
3: "RECENT",
4: "PUSH_NAME",
5: "NON_BLOCKING_DATA",
+ 6: "ON_DEMAND",
}
HistorySync_HistorySyncType_value = map[string]int32{
"INITIAL_BOOTSTRAP": 0,
@@ -1969,6 +2048,7 @@ var (
"RECENT": 3,
"PUSH_NAME": 4,
"NON_BLOCKING_DATA": 5,
+ "ON_DEMAND": 6,
}
)
@@ -1983,11 +2063,11 @@ func (x HistorySync_HistorySyncType) String() string {
}
func (HistorySync_HistorySyncType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[31].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[32].Descriptor()
}
func (HistorySync_HistorySyncType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[31]
+ return &file_binary_proto_def_proto_enumTypes[32]
}
func (x HistorySync_HistorySyncType) Number() protoreflect.EnumNumber {
@@ -2006,7 +2086,7 @@ func (x *HistorySync_HistorySyncType) UnmarshalJSON(b []byte) error {
// Deprecated: Use HistorySync_HistorySyncType.Descriptor instead.
func (HistorySync_HistorySyncType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{84, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{86, 0}
}
type GroupParticipant_Rank int32
@@ -2042,11 +2122,11 @@ func (x GroupParticipant_Rank) String() string {
}
func (GroupParticipant_Rank) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[32].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[33].Descriptor()
}
func (GroupParticipant_Rank) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[32]
+ return &file_binary_proto_def_proto_enumTypes[33]
}
func (x GroupParticipant_Rank) Number() protoreflect.EnumNumber {
@@ -2065,14 +2145,15 @@ func (x *GroupParticipant_Rank) UnmarshalJSON(b []byte) error {
// Deprecated: Use GroupParticipant_Rank.Descriptor instead.
func (GroupParticipant_Rank) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{86, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{88, 0}
}
type Conversation_EndOfHistoryTransferType int32
const (
- Conversation_COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 0
- Conversation_COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 1
+ Conversation_COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 0
+ Conversation_COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 1
+ Conversation_COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 2
)
// Enum value maps for Conversation_EndOfHistoryTransferType.
@@ -2080,10 +2161,12 @@ var (
Conversation_EndOfHistoryTransferType_name = map[int32]string{
0: "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY",
1: "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY",
+ 2: "COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY",
}
Conversation_EndOfHistoryTransferType_value = map[string]int32{
- "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY": 0,
- "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY": 1,
+ "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY": 0,
+ "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY": 1,
+ "COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY": 2,
}
)
@@ -2098,11 +2181,11 @@ func (x Conversation_EndOfHistoryTransferType) String() string {
}
func (Conversation_EndOfHistoryTransferType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[33].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[34].Descriptor()
}
func (Conversation_EndOfHistoryTransferType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[33]
+ return &file_binary_proto_def_proto_enumTypes[34]
}
func (x Conversation_EndOfHistoryTransferType) Number() protoreflect.EnumNumber {
@@ -2121,7 +2204,7 @@ func (x *Conversation_EndOfHistoryTransferType) UnmarshalJSON(b []byte) error {
// Deprecated: Use Conversation_EndOfHistoryTransferType.Descriptor instead.
func (Conversation_EndOfHistoryTransferType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{88, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{90, 0}
}
type MediaRetryNotification_ResultType int32
@@ -2160,11 +2243,11 @@ func (x MediaRetryNotification_ResultType) String() string {
}
func (MediaRetryNotification_ResultType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[34].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[35].Descriptor()
}
func (MediaRetryNotification_ResultType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[34]
+ return &file_binary_proto_def_proto_enumTypes[35]
}
func (x MediaRetryNotification_ResultType) Number() protoreflect.EnumNumber {
@@ -2183,7 +2266,7 @@ func (x *MediaRetryNotification_ResultType) UnmarshalJSON(b []byte) error {
// Deprecated: Use MediaRetryNotification_ResultType.Descriptor instead.
func (MediaRetryNotification_ResultType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{94, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{96, 0}
}
type SyncdMutation_SyncdOperation int32
@@ -2216,11 +2299,11 @@ func (x SyncdMutation_SyncdOperation) String() string {
}
func (SyncdMutation_SyncdOperation) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[35].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[36].Descriptor()
}
func (SyncdMutation_SyncdOperation) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[35]
+ return &file_binary_proto_def_proto_enumTypes[36]
}
func (x SyncdMutation_SyncdOperation) Number() protoreflect.EnumNumber {
@@ -2239,7 +2322,60 @@ func (x *SyncdMutation_SyncdOperation) UnmarshalJSON(b []byte) error {
// Deprecated: Use SyncdMutation_SyncdOperation.Descriptor instead.
func (SyncdMutation_SyncdOperation) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{102, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{104, 0}
+}
+
+type MarketingMessageAction_MarketingMessagePrototypeType int32
+
+const (
+ MarketingMessageAction_PERSONALIZED MarketingMessageAction_MarketingMessagePrototypeType = 0
+)
+
+// Enum value maps for MarketingMessageAction_MarketingMessagePrototypeType.
+var (
+ MarketingMessageAction_MarketingMessagePrototypeType_name = map[int32]string{
+ 0: "PERSONALIZED",
+ }
+ MarketingMessageAction_MarketingMessagePrototypeType_value = map[string]int32{
+ "PERSONALIZED": 0,
+ }
+)
+
+func (x MarketingMessageAction_MarketingMessagePrototypeType) Enum() *MarketingMessageAction_MarketingMessagePrototypeType {
+ p := new(MarketingMessageAction_MarketingMessagePrototypeType)
+ *p = x
+ return p
+}
+
+func (x MarketingMessageAction_MarketingMessagePrototypeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MarketingMessageAction_MarketingMessagePrototypeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_binary_proto_def_proto_enumTypes[37].Descriptor()
+}
+
+func (MarketingMessageAction_MarketingMessagePrototypeType) Type() protoreflect.EnumType {
+ return &file_binary_proto_def_proto_enumTypes[37]
+}
+
+func (x MarketingMessageAction_MarketingMessagePrototypeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *MarketingMessageAction_MarketingMessagePrototypeType) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = MarketingMessageAction_MarketingMessagePrototypeType(num)
+ return nil
+}
+
+// Deprecated: Use MarketingMessageAction_MarketingMessagePrototypeType.Descriptor instead.
+func (MarketingMessageAction_MarketingMessagePrototypeType) EnumDescriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{131, 0}
}
type BizIdentityInfo_VerifiedLevelValue int32
@@ -2275,11 +2411,11 @@ func (x BizIdentityInfo_VerifiedLevelValue) String() string {
}
func (BizIdentityInfo_VerifiedLevelValue) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[36].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[38].Descriptor()
}
func (BizIdentityInfo_VerifiedLevelValue) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[36]
+ return &file_binary_proto_def_proto_enumTypes[38]
}
func (x BizIdentityInfo_VerifiedLevelValue) Number() protoreflect.EnumNumber {
@@ -2298,7 +2434,7 @@ func (x *BizIdentityInfo_VerifiedLevelValue) UnmarshalJSON(b []byte) error {
// Deprecated: Use BizIdentityInfo_VerifiedLevelValue.Descriptor instead.
func (BizIdentityInfo_VerifiedLevelValue) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{145, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{151, 0}
}
type BizIdentityInfo_HostStorageType int32
@@ -2331,11 +2467,11 @@ func (x BizIdentityInfo_HostStorageType) String() string {
}
func (BizIdentityInfo_HostStorageType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[37].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[39].Descriptor()
}
func (BizIdentityInfo_HostStorageType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[37]
+ return &file_binary_proto_def_proto_enumTypes[39]
}
func (x BizIdentityInfo_HostStorageType) Number() protoreflect.EnumNumber {
@@ -2354,7 +2490,7 @@ func (x *BizIdentityInfo_HostStorageType) UnmarshalJSON(b []byte) error {
// Deprecated: Use BizIdentityInfo_HostStorageType.Descriptor instead.
func (BizIdentityInfo_HostStorageType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{145, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{151, 1}
}
type BizIdentityInfo_ActualActorsType int32
@@ -2387,11 +2523,11 @@ func (x BizIdentityInfo_ActualActorsType) String() string {
}
func (BizIdentityInfo_ActualActorsType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[38].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[40].Descriptor()
}
func (BizIdentityInfo_ActualActorsType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[38]
+ return &file_binary_proto_def_proto_enumTypes[40]
}
func (x BizIdentityInfo_ActualActorsType) Number() protoreflect.EnumNumber {
@@ -2410,7 +2546,7 @@ func (x *BizIdentityInfo_ActualActorsType) UnmarshalJSON(b []byte) error {
// Deprecated: Use BizIdentityInfo_ActualActorsType.Descriptor instead.
func (BizIdentityInfo_ActualActorsType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{145, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{151, 2}
}
type BizAccountLinkInfo_HostStorageType int32
@@ -2443,11 +2579,11 @@ func (x BizAccountLinkInfo_HostStorageType) String() string {
}
func (BizAccountLinkInfo_HostStorageType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[39].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[41].Descriptor()
}
func (BizAccountLinkInfo_HostStorageType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[39]
+ return &file_binary_proto_def_proto_enumTypes[41]
}
func (x BizAccountLinkInfo_HostStorageType) Number() protoreflect.EnumNumber {
@@ -2466,7 +2602,7 @@ func (x *BizAccountLinkInfo_HostStorageType) UnmarshalJSON(b []byte) error {
// Deprecated: Use BizAccountLinkInfo_HostStorageType.Descriptor instead.
func (BizAccountLinkInfo_HostStorageType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{147, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{153, 0}
}
type BizAccountLinkInfo_AccountType int32
@@ -2496,11 +2632,11 @@ func (x BizAccountLinkInfo_AccountType) String() string {
}
func (BizAccountLinkInfo_AccountType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[40].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[42].Descriptor()
}
func (BizAccountLinkInfo_AccountType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[40]
+ return &file_binary_proto_def_proto_enumTypes[42]
}
func (x BizAccountLinkInfo_AccountType) Number() protoreflect.EnumNumber {
@@ -2519,7 +2655,7 @@ func (x *BizAccountLinkInfo_AccountType) UnmarshalJSON(b []byte) error {
// Deprecated: Use BizAccountLinkInfo_AccountType.Descriptor instead.
func (BizAccountLinkInfo_AccountType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{147, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{153, 1}
}
type ClientPayload_Product int32
@@ -2527,6 +2663,7 @@ type ClientPayload_Product int32
const (
ClientPayload_WHATSAPP ClientPayload_Product = 0
ClientPayload_MESSENGER ClientPayload_Product = 1
+ ClientPayload_INTEROP ClientPayload_Product = 2
)
// Enum value maps for ClientPayload_Product.
@@ -2534,10 +2671,12 @@ var (
ClientPayload_Product_name = map[int32]string{
0: "WHATSAPP",
1: "MESSENGER",
+ 2: "INTEROP",
}
ClientPayload_Product_value = map[string]int32{
"WHATSAPP": 0,
"MESSENGER": 1,
+ "INTEROP": 2,
}
)
@@ -2552,11 +2691,11 @@ func (x ClientPayload_Product) String() string {
}
func (ClientPayload_Product) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[41].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[43].Descriptor()
}
func (ClientPayload_Product) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[41]
+ return &file_binary_proto_def_proto_enumTypes[43]
}
func (x ClientPayload_Product) Number() protoreflect.EnumNumber {
@@ -2575,7 +2714,7 @@ func (x *ClientPayload_Product) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_Product.Descriptor instead.
func (ClientPayload_Product) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 0}
}
type ClientPayload_IOSAppExtension int32
@@ -2611,11 +2750,11 @@ func (x ClientPayload_IOSAppExtension) String() string {
}
func (ClientPayload_IOSAppExtension) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[42].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[44].Descriptor()
}
func (ClientPayload_IOSAppExtension) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[42]
+ return &file_binary_proto_def_proto_enumTypes[44]
}
func (x ClientPayload_IOSAppExtension) Number() protoreflect.EnumNumber {
@@ -2634,7 +2773,7 @@ func (x *ClientPayload_IOSAppExtension) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_IOSAppExtension.Descriptor instead.
func (ClientPayload_IOSAppExtension) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 1}
}
type ClientPayload_ConnectType int32
@@ -2706,11 +2845,11 @@ func (x ClientPayload_ConnectType) String() string {
}
func (ClientPayload_ConnectType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[43].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[45].Descriptor()
}
func (ClientPayload_ConnectType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[43]
+ return &file_binary_proto_def_proto_enumTypes[45]
}
func (x ClientPayload_ConnectType) Number() protoreflect.EnumNumber {
@@ -2729,7 +2868,7 @@ func (x *ClientPayload_ConnectType) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_ConnectType.Descriptor instead.
func (ClientPayload_ConnectType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 2}
}
type ClientPayload_ConnectReason int32
@@ -2741,6 +2880,7 @@ const (
ClientPayload_ERROR_RECONNECT ClientPayload_ConnectReason = 3
ClientPayload_NETWORK_SWITCH ClientPayload_ConnectReason = 4
ClientPayload_PING_RECONNECT ClientPayload_ConnectReason = 5
+ ClientPayload_UNKNOWN ClientPayload_ConnectReason = 6
)
// Enum value maps for ClientPayload_ConnectReason.
@@ -2752,6 +2892,7 @@ var (
3: "ERROR_RECONNECT",
4: "NETWORK_SWITCH",
5: "PING_RECONNECT",
+ 6: "UNKNOWN",
}
ClientPayload_ConnectReason_value = map[string]int32{
"PUSH": 0,
@@ -2760,6 +2901,7 @@ var (
"ERROR_RECONNECT": 3,
"NETWORK_SWITCH": 4,
"PING_RECONNECT": 5,
+ "UNKNOWN": 6,
}
)
@@ -2774,11 +2916,11 @@ func (x ClientPayload_ConnectReason) String() string {
}
func (ClientPayload_ConnectReason) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[44].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[46].Descriptor()
}
func (ClientPayload_ConnectReason) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[44]
+ return &file_binary_proto_def_proto_enumTypes[46]
}
func (x ClientPayload_ConnectReason) Number() protoreflect.EnumNumber {
@@ -2797,7 +2939,7 @@ func (x *ClientPayload_ConnectReason) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_ConnectReason.Descriptor instead.
func (ClientPayload_ConnectReason) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 3}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 3}
}
type ClientPayload_WebInfo_WebSubPlatform int32
@@ -2839,11 +2981,11 @@ func (x ClientPayload_WebInfo_WebSubPlatform) String() string {
}
func (ClientPayload_WebInfo_WebSubPlatform) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[45].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[47].Descriptor()
}
func (ClientPayload_WebInfo_WebSubPlatform) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[45]
+ return &file_binary_proto_def_proto_enumTypes[47]
}
func (x ClientPayload_WebInfo_WebSubPlatform) Number() protoreflect.EnumNumber {
@@ -2862,7 +3004,7 @@ func (x *ClientPayload_WebInfo_WebSubPlatform) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_WebInfo_WebSubPlatform.Descriptor instead.
func (ClientPayload_WebInfo_WebSubPlatform) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 0, 0}
}
type ClientPayload_UserAgent_ReleaseChannel int32
@@ -2901,11 +3043,11 @@ func (x ClientPayload_UserAgent_ReleaseChannel) String() string {
}
func (ClientPayload_UserAgent_ReleaseChannel) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[46].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[48].Descriptor()
}
func (ClientPayload_UserAgent_ReleaseChannel) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[46]
+ return &file_binary_proto_def_proto_enumTypes[48]
}
func (x ClientPayload_UserAgent_ReleaseChannel) Number() protoreflect.EnumNumber {
@@ -2924,7 +3066,7 @@ func (x *ClientPayload_UserAgent_ReleaseChannel) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_UserAgent_ReleaseChannel.Descriptor instead.
func (ClientPayload_UserAgent_ReleaseChannel) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 1, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 1, 0}
}
type ClientPayload_UserAgent_Platform int32
@@ -2963,6 +3105,7 @@ const (
ClientPayload_UserAgent_ARDEVICE ClientPayload_UserAgent_Platform = 30
ClientPayload_UserAgent_VRDEVICE ClientPayload_UserAgent_Platform = 31
ClientPayload_UserAgent_BLUE_WEB ClientPayload_UserAgent_Platform = 32
+ ClientPayload_UserAgent_IPAD ClientPayload_UserAgent_Platform = 33
)
// Enum value maps for ClientPayload_UserAgent_Platform.
@@ -3001,6 +3144,7 @@ var (
30: "ARDEVICE",
31: "VRDEVICE",
32: "BLUE_WEB",
+ 33: "IPAD",
}
ClientPayload_UserAgent_Platform_value = map[string]int32{
"ANDROID": 0,
@@ -3036,6 +3180,7 @@ var (
"ARDEVICE": 30,
"VRDEVICE": 31,
"BLUE_WEB": 32,
+ "IPAD": 33,
}
)
@@ -3050,11 +3195,11 @@ func (x ClientPayload_UserAgent_Platform) String() string {
}
func (ClientPayload_UserAgent_Platform) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[47].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[49].Descriptor()
}
func (ClientPayload_UserAgent_Platform) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[47]
+ return &file_binary_proto_def_proto_enumTypes[49]
}
func (x ClientPayload_UserAgent_Platform) Number() protoreflect.EnumNumber {
@@ -3073,7 +3218,7 @@ func (x *ClientPayload_UserAgent_Platform) UnmarshalJSON(b []byte) error {
// Deprecated: Use ClientPayload_UserAgent_Platform.Descriptor instead.
func (ClientPayload_UserAgent_Platform) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 1, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 1, 1}
}
type ClientPayload_DNSSource_DNSResolutionMethod int32
@@ -3115,11 +3260,11 @@ func (x ClientPayload_DNSSource_DNSResolutionMethod) String() string {
}
func (ClientPayload_DNSSource_DNSResolutionMethod) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[48].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[50].Descriptor()
}
func (ClientPayload_DNSSource_DNSResolutionMethod) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[48]
+ return &file_binary_proto_def_proto_enumTypes[50]
}
func (x ClientPayload_DNSSource_DNSResolutionMethod) Number() protoreflect.EnumNumber {
@@ -3138,7 +3283,7 @@ func (x *ClientPayload_DNSSource_DNSResolutionMethod) UnmarshalJSON(b []byte) er
// Deprecated: Use ClientPayload_DNSSource_DNSResolutionMethod.Descriptor instead.
func (ClientPayload_DNSSource_DNSResolutionMethod) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 3, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 4, 0}
}
type WebMessageInfo_StubType int32
@@ -3306,6 +3451,20 @@ const (
WebMessageInfo_CAG_INVITE_AUTO_ADD WebMessageInfo_StubType = 159
WebMessageInfo_BIZ_CHAT_ASSIGNMENT_UNASSIGN WebMessageInfo_StubType = 160
WebMessageInfo_CAG_INVITE_AUTO_JOINED WebMessageInfo_StubType = 161
+ WebMessageInfo_SCHEDULED_CALL_START_MESSAGE WebMessageInfo_StubType = 162
+ WebMessageInfo_COMMUNITY_INVITE_RICH WebMessageInfo_StubType = 163
+ WebMessageInfo_COMMUNITY_INVITE_AUTO_ADD_RICH WebMessageInfo_StubType = 164
+ WebMessageInfo_SUB_GROUP_INVITE_RICH WebMessageInfo_StubType = 165
+ WebMessageInfo_SUB_GROUP_PARTICIPANT_ADD_RICH WebMessageInfo_StubType = 166
+ WebMessageInfo_COMMUNITY_LINK_PARENT_GROUP_RICH WebMessageInfo_StubType = 167
+ WebMessageInfo_COMMUNITY_PARTICIPANT_ADD_RICH WebMessageInfo_StubType = 168
+ WebMessageInfo_SILENCED_UNKNOWN_CALLER_AUDIO WebMessageInfo_StubType = 169
+ WebMessageInfo_SILENCED_UNKNOWN_CALLER_VIDEO WebMessageInfo_StubType = 170
+ WebMessageInfo_GROUP_MEMBER_ADD_MODE WebMessageInfo_StubType = 171
+ WebMessageInfo_GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD WebMessageInfo_StubType = 172
+ WebMessageInfo_COMMUNITY_CHANGE_DESCRIPTION WebMessageInfo_StubType = 173
+ WebMessageInfo_SENDER_INVITE WebMessageInfo_StubType = 174
+ WebMessageInfo_RECEIVER_INVITE WebMessageInfo_StubType = 175
)
// Enum value maps for WebMessageInfo_StubType.
@@ -3473,6 +3632,20 @@ var (
159: "CAG_INVITE_AUTO_ADD",
160: "BIZ_CHAT_ASSIGNMENT_UNASSIGN",
161: "CAG_INVITE_AUTO_JOINED",
+ 162: "SCHEDULED_CALL_START_MESSAGE",
+ 163: "COMMUNITY_INVITE_RICH",
+ 164: "COMMUNITY_INVITE_AUTO_ADD_RICH",
+ 165: "SUB_GROUP_INVITE_RICH",
+ 166: "SUB_GROUP_PARTICIPANT_ADD_RICH",
+ 167: "COMMUNITY_LINK_PARENT_GROUP_RICH",
+ 168: "COMMUNITY_PARTICIPANT_ADD_RICH",
+ 169: "SILENCED_UNKNOWN_CALLER_AUDIO",
+ 170: "SILENCED_UNKNOWN_CALLER_VIDEO",
+ 171: "GROUP_MEMBER_ADD_MODE",
+ 172: "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD",
+ 173: "COMMUNITY_CHANGE_DESCRIPTION",
+ 174: "SENDER_INVITE",
+ 175: "RECEIVER_INVITE",
}
WebMessageInfo_StubType_value = map[string]int32{
"UNKNOWN": 0,
@@ -3637,6 +3810,20 @@ var (
"CAG_INVITE_AUTO_ADD": 159,
"BIZ_CHAT_ASSIGNMENT_UNASSIGN": 160,
"CAG_INVITE_AUTO_JOINED": 161,
+ "SCHEDULED_CALL_START_MESSAGE": 162,
+ "COMMUNITY_INVITE_RICH": 163,
+ "COMMUNITY_INVITE_AUTO_ADD_RICH": 164,
+ "SUB_GROUP_INVITE_RICH": 165,
+ "SUB_GROUP_PARTICIPANT_ADD_RICH": 166,
+ "COMMUNITY_LINK_PARENT_GROUP_RICH": 167,
+ "COMMUNITY_PARTICIPANT_ADD_RICH": 168,
+ "SILENCED_UNKNOWN_CALLER_AUDIO": 169,
+ "SILENCED_UNKNOWN_CALLER_VIDEO": 170,
+ "GROUP_MEMBER_ADD_MODE": 171,
+ "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD": 172,
+ "COMMUNITY_CHANGE_DESCRIPTION": 173,
+ "SENDER_INVITE": 174,
+ "RECEIVER_INVITE": 175,
}
)
@@ -3651,11 +3838,11 @@ func (x WebMessageInfo_StubType) String() string {
}
func (WebMessageInfo_StubType) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[49].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[51].Descriptor()
}
func (WebMessageInfo_StubType) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[49]
+ return &file_binary_proto_def_proto_enumTypes[51]
}
func (x WebMessageInfo_StubType) Number() protoreflect.EnumNumber {
@@ -3674,7 +3861,7 @@ func (x *WebMessageInfo_StubType) UnmarshalJSON(b []byte) error {
// Deprecated: Use WebMessageInfo_StubType.Descriptor instead.
func (WebMessageInfo_StubType) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{154, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{160, 0}
}
type WebMessageInfo_Status int32
@@ -3719,11 +3906,11 @@ func (x WebMessageInfo_Status) String() string {
}
func (WebMessageInfo_Status) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[50].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[52].Descriptor()
}
func (WebMessageInfo_Status) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[50]
+ return &file_binary_proto_def_proto_enumTypes[52]
}
func (x WebMessageInfo_Status) Number() protoreflect.EnumNumber {
@@ -3742,7 +3929,7 @@ func (x *WebMessageInfo_Status) UnmarshalJSON(b []byte) error {
// Deprecated: Use WebMessageInfo_Status.Descriptor instead.
func (WebMessageInfo_Status) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{154, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{160, 1}
}
type WebMessageInfo_BizPrivacyStatus int32
@@ -3781,11 +3968,11 @@ func (x WebMessageInfo_BizPrivacyStatus) String() string {
}
func (WebMessageInfo_BizPrivacyStatus) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[51].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[53].Descriptor()
}
func (WebMessageInfo_BizPrivacyStatus) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[51]
+ return &file_binary_proto_def_proto_enumTypes[53]
}
func (x WebMessageInfo_BizPrivacyStatus) Number() protoreflect.EnumNumber {
@@ -3804,7 +3991,7 @@ func (x *WebMessageInfo_BizPrivacyStatus) UnmarshalJSON(b []byte) error {
// Deprecated: Use WebMessageInfo_BizPrivacyStatus.Descriptor instead.
func (WebMessageInfo_BizPrivacyStatus) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{154, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{160, 2}
}
type WebFeatures_Flag int32
@@ -3843,11 +4030,11 @@ func (x WebFeatures_Flag) String() string {
}
func (WebFeatures_Flag) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[52].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[54].Descriptor()
}
func (WebFeatures_Flag) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[52]
+ return &file_binary_proto_def_proto_enumTypes[54]
}
func (x WebFeatures_Flag) Number() protoreflect.EnumNumber {
@@ -3866,7 +4053,66 @@ func (x *WebFeatures_Flag) UnmarshalJSON(b []byte) error {
// Deprecated: Use WebFeatures_Flag.Descriptor instead.
func (WebFeatures_Flag) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{155, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{161, 0}
+}
+
+type PinInChat_PinMessageType int32
+
+const (
+ PinInChat_UNKNOWN_PIN_MESSAGE_TYPE PinInChat_PinMessageType = 0
+ PinInChat_PIN_FOR_ALL PinInChat_PinMessageType = 1
+ PinInChat_UNPIN_FOR_ALL PinInChat_PinMessageType = 2
+)
+
+// Enum value maps for PinInChat_PinMessageType.
+var (
+ PinInChat_PinMessageType_name = map[int32]string{
+ 0: "UNKNOWN_PIN_MESSAGE_TYPE",
+ 1: "PIN_FOR_ALL",
+ 2: "UNPIN_FOR_ALL",
+ }
+ PinInChat_PinMessageType_value = map[string]int32{
+ "UNKNOWN_PIN_MESSAGE_TYPE": 0,
+ "PIN_FOR_ALL": 1,
+ "UNPIN_FOR_ALL": 2,
+ }
+)
+
+func (x PinInChat_PinMessageType) Enum() *PinInChat_PinMessageType {
+ p := new(PinInChat_PinMessageType)
+ *p = x
+ return p
+}
+
+func (x PinInChat_PinMessageType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PinInChat_PinMessageType) Descriptor() protoreflect.EnumDescriptor {
+ return file_binary_proto_def_proto_enumTypes[55].Descriptor()
+}
+
+func (PinInChat_PinMessageType) Type() protoreflect.EnumType {
+ return &file_binary_proto_def_proto_enumTypes[55]
+}
+
+func (x PinInChat_PinMessageType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *PinInChat_PinMessageType) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = PinInChat_PinMessageType(num)
+ return nil
+}
+
+// Deprecated: Use PinInChat_PinMessageType.Descriptor instead.
+func (PinInChat_PinMessageType) EnumDescriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{167, 0}
}
type PaymentInfo_TxnStatus int32
@@ -3989,11 +4235,11 @@ func (x PaymentInfo_TxnStatus) String() string {
}
func (PaymentInfo_TxnStatus) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[53].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[56].Descriptor()
}
func (PaymentInfo_TxnStatus) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[53]
+ return &file_binary_proto_def_proto_enumTypes[56]
}
func (x PaymentInfo_TxnStatus) Number() protoreflect.EnumNumber {
@@ -4012,7 +4258,7 @@ func (x *PaymentInfo_TxnStatus) UnmarshalJSON(b []byte) error {
// Deprecated: Use PaymentInfo_TxnStatus.Descriptor instead.
func (PaymentInfo_TxnStatus) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{162, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{169, 0}
}
type PaymentInfo_Status int32
@@ -4075,11 +4321,11 @@ func (x PaymentInfo_Status) String() string {
}
func (PaymentInfo_Status) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[54].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[57].Descriptor()
}
func (PaymentInfo_Status) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[54]
+ return &file_binary_proto_def_proto_enumTypes[57]
}
func (x PaymentInfo_Status) Number() protoreflect.EnumNumber {
@@ -4098,7 +4344,7 @@ func (x *PaymentInfo_Status) UnmarshalJSON(b []byte) error {
// Deprecated: Use PaymentInfo_Status.Descriptor instead.
func (PaymentInfo_Status) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{162, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{169, 1}
}
type PaymentInfo_Currency int32
@@ -4131,11 +4377,11 @@ func (x PaymentInfo_Currency) String() string {
}
func (PaymentInfo_Currency) Descriptor() protoreflect.EnumDescriptor {
- return file_binary_proto_def_proto_enumTypes[55].Descriptor()
+ return file_binary_proto_def_proto_enumTypes[58].Descriptor()
}
func (PaymentInfo_Currency) Type() protoreflect.EnumType {
- return &file_binary_proto_def_proto_enumTypes[55]
+ return &file_binary_proto_def_proto_enumTypes[58]
}
func (x PaymentInfo_Currency) Number() protoreflect.EnumNumber {
@@ -4154,7 +4400,7 @@ func (x *PaymentInfo_Currency) UnmarshalJSON(b []byte) error {
// Deprecated: Use PaymentInfo_Currency.Descriptor instead.
func (PaymentInfo_Currency) EnumDescriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{162, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{169, 2}
}
type ADVSignedKeyIndexList struct {
@@ -4551,69 +4797,6 @@ func (x *DeviceProps) GetHistorySyncConfig() *DeviceProps_HistorySyncConfig {
return nil
}
-type PeerDataOperationRequestMessage struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- PeerDataOperationRequestType *PeerDataOperationRequestType `protobuf:"varint,1,opt,name=peerDataOperationRequestType,enum=proto.PeerDataOperationRequestType" json:"peerDataOperationRequestType,omitempty"`
- RequestStickerReupload []*PeerDataOperationRequestMessage_RequestStickerReupload `protobuf:"bytes,2,rep,name=requestStickerReupload" json:"requestStickerReupload,omitempty"`
- RequestUrlPreview []*PeerDataOperationRequestMessage_RequestUrlPreview `protobuf:"bytes,3,rep,name=requestUrlPreview" json:"requestUrlPreview,omitempty"`
-}
-
-func (x *PeerDataOperationRequestMessage) Reset() {
- *x = PeerDataOperationRequestMessage{}
- if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *PeerDataOperationRequestMessage) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*PeerDataOperationRequestMessage) ProtoMessage() {}
-
-func (x *PeerDataOperationRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[6]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use PeerDataOperationRequestMessage.ProtoReflect.Descriptor instead.
-func (*PeerDataOperationRequestMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *PeerDataOperationRequestMessage) GetPeerDataOperationRequestType() PeerDataOperationRequestType {
- if x != nil && x.PeerDataOperationRequestType != nil {
- return *x.PeerDataOperationRequestType
- }
- return PeerDataOperationRequestType_UPLOAD_STICKER
-}
-
-func (x *PeerDataOperationRequestMessage) GetRequestStickerReupload() []*PeerDataOperationRequestMessage_RequestStickerReupload {
- if x != nil {
- return x.RequestStickerReupload
- }
- return nil
-}
-
-func (x *PeerDataOperationRequestMessage) GetRequestUrlPreview() []*PeerDataOperationRequestMessage_RequestUrlPreview {
- if x != nil {
- return x.RequestUrlPreview
- }
- return nil
-}
-
type PaymentInviteMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -4626,7 +4809,7 @@ type PaymentInviteMessage struct {
func (x *PaymentInviteMessage) Reset() {
*x = PaymentInviteMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[7]
+ mi := &file_binary_proto_def_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4639,7 +4822,7 @@ func (x *PaymentInviteMessage) String() string {
func (*PaymentInviteMessage) ProtoMessage() {}
func (x *PaymentInviteMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[7]
+ mi := &file_binary_proto_def_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4652,7 +4835,7 @@ func (x *PaymentInviteMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use PaymentInviteMessage.ProtoReflect.Descriptor instead.
func (*PaymentInviteMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{7}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{6}
}
func (x *PaymentInviteMessage) GetServiceType() PaymentInviteMessage_ServiceType {
@@ -4691,7 +4874,7 @@ type OrderMessage struct {
func (x *OrderMessage) Reset() {
*x = OrderMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[8]
+ mi := &file_binary_proto_def_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4704,7 +4887,7 @@ func (x *OrderMessage) String() string {
func (*OrderMessage) ProtoMessage() {}
func (x *OrderMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[8]
+ mi := &file_binary_proto_def_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4717,7 +4900,7 @@ func (x *OrderMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use OrderMessage.ProtoReflect.Descriptor instead.
func (*OrderMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{8}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{7}
}
func (x *OrderMessage) GetOrderId() string {
@@ -4826,7 +5009,7 @@ type LocationMessage struct {
func (x *LocationMessage) Reset() {
*x = LocationMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[9]
+ mi := &file_binary_proto_def_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4839,7 +5022,7 @@ func (x *LocationMessage) String() string {
func (*LocationMessage) ProtoMessage() {}
func (x *LocationMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[9]
+ mi := &file_binary_proto_def_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4852,7 +5035,7 @@ func (x *LocationMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use LocationMessage.ProtoReflect.Descriptor instead.
func (*LocationMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{9}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{8}
}
func (x *LocationMessage) GetDegreesLatitude() float64 {
@@ -4959,7 +5142,7 @@ type LiveLocationMessage struct {
func (x *LiveLocationMessage) Reset() {
*x = LiveLocationMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[10]
+ mi := &file_binary_proto_def_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4972,7 +5155,7 @@ func (x *LiveLocationMessage) String() string {
func (*LiveLocationMessage) ProtoMessage() {}
func (x *LiveLocationMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[10]
+ mi := &file_binary_proto_def_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4985,7 +5168,7 @@ func (x *LiveLocationMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use LiveLocationMessage.ProtoReflect.Descriptor instead.
func (*LiveLocationMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{10}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{9}
}
func (x *LiveLocationMessage) GetDegreesLatitude() float64 {
@@ -5073,7 +5256,7 @@ type ListResponseMessage struct {
func (x *ListResponseMessage) Reset() {
*x = ListResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[11]
+ mi := &file_binary_proto_def_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5086,7 +5269,7 @@ func (x *ListResponseMessage) String() string {
func (*ListResponseMessage) ProtoMessage() {}
func (x *ListResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[11]
+ mi := &file_binary_proto_def_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5099,7 +5282,7 @@ func (x *ListResponseMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListResponseMessage.ProtoReflect.Descriptor instead.
func (*ListResponseMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{11}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{10}
}
func (x *ListResponseMessage) GetTitle() string {
@@ -5155,7 +5338,7 @@ type ListMessage struct {
func (x *ListMessage) Reset() {
*x = ListMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[12]
+ mi := &file_binary_proto_def_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5168,7 +5351,7 @@ func (x *ListMessage) String() string {
func (*ListMessage) ProtoMessage() {}
func (x *ListMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[12]
+ mi := &file_binary_proto_def_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5181,7 +5364,7 @@ func (x *ListMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListMessage.ProtoReflect.Descriptor instead.
func (*ListMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11}
}
func (x *ListMessage) GetTitle() string {
@@ -5253,7 +5436,7 @@ type KeepInChatMessage struct {
func (x *KeepInChatMessage) Reset() {
*x = KeepInChatMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[13]
+ mi := &file_binary_proto_def_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5266,7 +5449,7 @@ func (x *KeepInChatMessage) String() string {
func (*KeepInChatMessage) ProtoMessage() {}
func (x *KeepInChatMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[13]
+ mi := &file_binary_proto_def_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5279,7 +5462,7 @@ func (x *KeepInChatMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use KeepInChatMessage.ProtoReflect.Descriptor instead.
func (*KeepInChatMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{13}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{12}
}
func (x *KeepInChatMessage) GetKey() *MessageKey {
@@ -5323,7 +5506,7 @@ type InvoiceMessage struct {
func (x *InvoiceMessage) Reset() {
*x = InvoiceMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[14]
+ mi := &file_binary_proto_def_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5336,7 +5519,7 @@ func (x *InvoiceMessage) String() string {
func (*InvoiceMessage) ProtoMessage() {}
func (x *InvoiceMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[14]
+ mi := &file_binary_proto_def_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5349,7 +5532,7 @@ func (x *InvoiceMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use InvoiceMessage.ProtoReflect.Descriptor instead.
func (*InvoiceMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{14}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{13}
}
func (x *InvoiceMessage) GetNote() string {
@@ -5438,7 +5621,7 @@ type InteractiveResponseMessage struct {
func (x *InteractiveResponseMessage) Reset() {
*x = InteractiveResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[15]
+ mi := &file_binary_proto_def_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5451,7 +5634,7 @@ func (x *InteractiveResponseMessage) String() string {
func (*InteractiveResponseMessage) ProtoMessage() {}
func (x *InteractiveResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[15]
+ mi := &file_binary_proto_def_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5464,7 +5647,7 @@ func (x *InteractiveResponseMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveResponseMessage.ProtoReflect.Descriptor instead.
func (*InteractiveResponseMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{15}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{14}
}
func (x *InteractiveResponseMessage) GetBody() *InteractiveResponseMessage_Body {
@@ -5526,7 +5709,7 @@ type InteractiveMessage struct {
func (x *InteractiveMessage) Reset() {
*x = InteractiveMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[16]
+ mi := &file_binary_proto_def_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5539,7 +5722,7 @@ func (x *InteractiveMessage) String() string {
func (*InteractiveMessage) ProtoMessage() {}
func (x *InteractiveMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[16]
+ mi := &file_binary_proto_def_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5552,7 +5735,7 @@ func (x *InteractiveMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveMessage.ProtoReflect.Descriptor instead.
func (*InteractiveMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15}
}
func (x *InteractiveMessage) GetHeader() *InteractiveMessage_Header {
@@ -5644,7 +5827,7 @@ type InitialSecurityNotificationSettingSync struct {
func (x *InitialSecurityNotificationSettingSync) Reset() {
*x = InitialSecurityNotificationSettingSync{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[17]
+ mi := &file_binary_proto_def_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5657,7 +5840,7 @@ func (x *InitialSecurityNotificationSettingSync) String() string {
func (*InitialSecurityNotificationSettingSync) ProtoMessage() {}
func (x *InitialSecurityNotificationSettingSync) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[17]
+ mi := &file_binary_proto_def_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5670,7 +5853,7 @@ func (x *InitialSecurityNotificationSettingSync) ProtoReflect() protoreflect.Mes
// Deprecated: Use InitialSecurityNotificationSettingSync.ProtoReflect.Descriptor instead.
func (*InitialSecurityNotificationSettingSync) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{17}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{16}
}
func (x *InitialSecurityNotificationSettingSync) GetSecurityNotificationEnabled() bool {
@@ -5716,7 +5899,7 @@ type ImageMessage struct {
func (x *ImageMessage) Reset() {
*x = ImageMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[18]
+ mi := &file_binary_proto_def_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5729,7 +5912,7 @@ func (x *ImageMessage) String() string {
func (*ImageMessage) ProtoMessage() {}
func (x *ImageMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[18]
+ mi := &file_binary_proto_def_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5742,7 +5925,7 @@ func (x *ImageMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use ImageMessage.ProtoReflect.Descriptor instead.
func (*ImageMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{18}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{17}
}
func (x *ImageMessage) GetUrl() string {
@@ -5932,22 +6115,23 @@ type HistorySyncNotification struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- FileSha256 []byte `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"`
- FileLength *uint64 `protobuf:"varint,2,opt,name=fileLength" json:"fileLength,omitempty"`
- MediaKey []byte `protobuf:"bytes,3,opt,name=mediaKey" json:"mediaKey,omitempty"`
- FileEncSha256 []byte `protobuf:"bytes,4,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
- DirectPath *string `protobuf:"bytes,5,opt,name=directPath" json:"directPath,omitempty"`
- SyncType *HistorySyncNotification_HistorySyncType `protobuf:"varint,6,opt,name=syncType,enum=proto.HistorySyncNotification_HistorySyncType" json:"syncType,omitempty"`
- ChunkOrder *uint32 `protobuf:"varint,7,opt,name=chunkOrder" json:"chunkOrder,omitempty"`
- OriginalMessageId *string `protobuf:"bytes,8,opt,name=originalMessageId" json:"originalMessageId,omitempty"`
- Progress *uint32 `protobuf:"varint,9,opt,name=progress" json:"progress,omitempty"`
- OldestMsgInChunkTimestampSec *int64 `protobuf:"varint,10,opt,name=oldestMsgInChunkTimestampSec" json:"oldestMsgInChunkTimestampSec,omitempty"`
+ FileSha256 []byte `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"`
+ FileLength *uint64 `protobuf:"varint,2,opt,name=fileLength" json:"fileLength,omitempty"`
+ MediaKey []byte `protobuf:"bytes,3,opt,name=mediaKey" json:"mediaKey,omitempty"`
+ FileEncSha256 []byte `protobuf:"bytes,4,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
+ DirectPath *string `protobuf:"bytes,5,opt,name=directPath" json:"directPath,omitempty"`
+ SyncType *HistorySyncNotification_HistorySyncType `protobuf:"varint,6,opt,name=syncType,enum=proto.HistorySyncNotification_HistorySyncType" json:"syncType,omitempty"`
+ ChunkOrder *uint32 `protobuf:"varint,7,opt,name=chunkOrder" json:"chunkOrder,omitempty"`
+ OriginalMessageId *string `protobuf:"bytes,8,opt,name=originalMessageId" json:"originalMessageId,omitempty"`
+ Progress *uint32 `protobuf:"varint,9,opt,name=progress" json:"progress,omitempty"`
+ OldestMsgInChunkTimestampSec *int64 `protobuf:"varint,10,opt,name=oldestMsgInChunkTimestampSec" json:"oldestMsgInChunkTimestampSec,omitempty"`
+ InitialHistBootstrapInlinePayload []byte `protobuf:"bytes,11,opt,name=initialHistBootstrapInlinePayload" json:"initialHistBootstrapInlinePayload,omitempty"`
}
func (x *HistorySyncNotification) Reset() {
*x = HistorySyncNotification{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[19]
+ mi := &file_binary_proto_def_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5960,7 +6144,7 @@ func (x *HistorySyncNotification) String() string {
func (*HistorySyncNotification) ProtoMessage() {}
func (x *HistorySyncNotification) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[19]
+ mi := &file_binary_proto_def_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5973,7 +6157,7 @@ func (x *HistorySyncNotification) ProtoReflect() protoreflect.Message {
// Deprecated: Use HistorySyncNotification.ProtoReflect.Descriptor instead.
func (*HistorySyncNotification) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{19}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{18}
}
func (x *HistorySyncNotification) GetFileSha256() []byte {
@@ -6046,6 +6230,13 @@ func (x *HistorySyncNotification) GetOldestMsgInChunkTimestampSec() int64 {
return 0
}
+func (x *HistorySyncNotification) GetInitialHistBootstrapInlinePayload() []byte {
+ if x != nil {
+ return x.InitialHistBootstrapInlinePayload
+ }
+ return nil
+}
+
type HighlyStructuredMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -6065,7 +6256,7 @@ type HighlyStructuredMessage struct {
func (x *HighlyStructuredMessage) Reset() {
*x = HighlyStructuredMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[20]
+ mi := &file_binary_proto_def_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6078,7 +6269,7 @@ func (x *HighlyStructuredMessage) String() string {
func (*HighlyStructuredMessage) ProtoMessage() {}
func (x *HighlyStructuredMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[20]
+ mi := &file_binary_proto_def_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6091,7 +6282,7 @@ func (x *HighlyStructuredMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use HighlyStructuredMessage.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19}
}
func (x *HighlyStructuredMessage) GetNamespace() string {
@@ -6175,7 +6366,7 @@ type GroupInviteMessage struct {
func (x *GroupInviteMessage) Reset() {
*x = GroupInviteMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[21]
+ mi := &file_binary_proto_def_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6188,7 +6379,7 @@ func (x *GroupInviteMessage) String() string {
func (*GroupInviteMessage) ProtoMessage() {}
func (x *GroupInviteMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[21]
+ mi := &file_binary_proto_def_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6201,7 +6392,7 @@ func (x *GroupInviteMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use GroupInviteMessage.ProtoReflect.Descriptor instead.
func (*GroupInviteMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{21}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{20}
}
func (x *GroupInviteMessage) GetGroupJid() string {
@@ -6271,7 +6462,7 @@ type FutureProofMessage struct {
func (x *FutureProofMessage) Reset() {
*x = FutureProofMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[22]
+ mi := &file_binary_proto_def_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6284,7 +6475,7 @@ func (x *FutureProofMessage) String() string {
func (*FutureProofMessage) ProtoMessage() {}
func (x *FutureProofMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[22]
+ mi := &file_binary_proto_def_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6297,7 +6488,7 @@ func (x *FutureProofMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use FutureProofMessage.ProtoReflect.Descriptor instead.
func (*FutureProofMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{22}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{21}
}
func (x *FutureProofMessage) GetMessage() *Message {
@@ -6341,7 +6532,7 @@ type ExtendedTextMessage struct {
func (x *ExtendedTextMessage) Reset() {
*x = ExtendedTextMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[23]
+ mi := &file_binary_proto_def_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6354,7 +6545,7 @@ func (x *ExtendedTextMessage) String() string {
func (*ExtendedTextMessage) ProtoMessage() {}
func (x *ExtendedTextMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[23]
+ mi := &file_binary_proto_def_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6367,7 +6558,7 @@ func (x *ExtendedTextMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExtendedTextMessage.ProtoReflect.Descriptor instead.
func (*ExtendedTextMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{23}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{22}
}
func (x *ExtendedTextMessage) GetText() string {
@@ -6551,7 +6742,7 @@ type EncReactionMessage struct {
func (x *EncReactionMessage) Reset() {
*x = EncReactionMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[24]
+ mi := &file_binary_proto_def_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6564,7 +6755,7 @@ func (x *EncReactionMessage) String() string {
func (*EncReactionMessage) ProtoMessage() {}
func (x *EncReactionMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[24]
+ mi := &file_binary_proto_def_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6577,7 +6768,7 @@ func (x *EncReactionMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use EncReactionMessage.ProtoReflect.Descriptor instead.
func (*EncReactionMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{24}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{23}
}
func (x *EncReactionMessage) GetTargetMessageKey() *MessageKey {
@@ -6631,7 +6822,7 @@ type DocumentMessage struct {
func (x *DocumentMessage) Reset() {
*x = DocumentMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[25]
+ mi := &file_binary_proto_def_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6644,7 +6835,7 @@ func (x *DocumentMessage) String() string {
func (*DocumentMessage) ProtoMessage() {}
func (x *DocumentMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[25]
+ mi := &file_binary_proto_def_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6657,7 +6848,7 @@ func (x *DocumentMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use DocumentMessage.ProtoReflect.Descriptor instead.
func (*DocumentMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{25}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{24}
}
func (x *DocumentMessage) GetUrl() string {
@@ -6813,7 +7004,7 @@ type DeviceSentMessage struct {
func (x *DeviceSentMessage) Reset() {
*x = DeviceSentMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[26]
+ mi := &file_binary_proto_def_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6826,7 +7017,7 @@ func (x *DeviceSentMessage) String() string {
func (*DeviceSentMessage) ProtoMessage() {}
func (x *DeviceSentMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[26]
+ mi := &file_binary_proto_def_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6839,7 +7030,7 @@ func (x *DeviceSentMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeviceSentMessage.ProtoReflect.Descriptor instead.
func (*DeviceSentMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{26}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{25}
}
func (x *DeviceSentMessage) GetDestinationJid() string {
@@ -6874,7 +7065,7 @@ type DeclinePaymentRequestMessage struct {
func (x *DeclinePaymentRequestMessage) Reset() {
*x = DeclinePaymentRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[27]
+ mi := &file_binary_proto_def_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6887,7 +7078,7 @@ func (x *DeclinePaymentRequestMessage) String() string {
func (*DeclinePaymentRequestMessage) ProtoMessage() {}
func (x *DeclinePaymentRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[27]
+ mi := &file_binary_proto_def_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6900,7 +7091,7 @@ func (x *DeclinePaymentRequestMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeclinePaymentRequestMessage.ProtoReflect.Descriptor instead.
func (*DeclinePaymentRequestMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{27}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{26}
}
func (x *DeclinePaymentRequestMessage) GetKey() *MessageKey {
@@ -6923,7 +7114,7 @@ type ContactsArrayMessage struct {
func (x *ContactsArrayMessage) Reset() {
*x = ContactsArrayMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[28]
+ mi := &file_binary_proto_def_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6936,7 +7127,7 @@ func (x *ContactsArrayMessage) String() string {
func (*ContactsArrayMessage) ProtoMessage() {}
func (x *ContactsArrayMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[28]
+ mi := &file_binary_proto_def_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6949,7 +7140,7 @@ func (x *ContactsArrayMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use ContactsArrayMessage.ProtoReflect.Descriptor instead.
func (*ContactsArrayMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{28}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{27}
}
func (x *ContactsArrayMessage) GetDisplayName() string {
@@ -6973,6 +7164,69 @@ func (x *ContactsArrayMessage) GetContextInfo() *ContextInfo {
return nil
}
+type ContactMessageV2 struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DisplayName *string `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
+ Vcard *string `protobuf:"bytes,2,opt,name=vcard" json:"vcard,omitempty"`
+ ContextInfo *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"`
+}
+
+func (x *ContactMessageV2) Reset() {
+ *x = ContactMessageV2{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[28]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContactMessageV2) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContactMessageV2) ProtoMessage() {}
+
+func (x *ContactMessageV2) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[28]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContactMessageV2.ProtoReflect.Descriptor instead.
+func (*ContactMessageV2) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{28}
+}
+
+func (x *ContactMessageV2) GetDisplayName() string {
+ if x != nil && x.DisplayName != nil {
+ return *x.DisplayName
+ }
+ return ""
+}
+
+func (x *ContactMessageV2) GetVcard() string {
+ if x != nil && x.Vcard != nil {
+ return *x.Vcard
+ }
+ return ""
+}
+
+func (x *ContactMessageV2) GetContextInfo() *ContextInfo {
+ if x != nil {
+ return x.ContextInfo
+ }
+ return nil
+}
+
type ContactMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -7482,6 +7736,7 @@ type AudioMessage struct {
StreamingSidecar []byte `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"`
Waveform []byte `protobuf:"bytes,19,opt,name=waveform" json:"waveform,omitempty"`
BackgroundArgb *uint32 `protobuf:"fixed32,20,opt,name=backgroundArgb" json:"backgroundArgb,omitempty"`
+ ViewOnce *bool `protobuf:"varint,21,opt,name=viewOnce" json:"viewOnce,omitempty"`
}
func (x *AudioMessage) Reset() {
@@ -7614,6 +7869,13 @@ func (x *AudioMessage) GetBackgroundArgb() uint32 {
return 0
}
+func (x *AudioMessage) GetViewOnce() bool {
+ if x != nil && x.ViewOnce != nil {
+ return *x.ViewOnce
+ }
+ return false
+}
+
type AppStateSyncKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -9155,6 +9417,7 @@ type Message struct {
PinMessage *PinMessage `protobuf:"bytes,63,opt,name=pinMessage" json:"pinMessage,omitempty"`
PollCreationMessageV3 *PollCreationMessage `protobuf:"bytes,64,opt,name=pollCreationMessageV3" json:"pollCreationMessageV3,omitempty"`
ScheduledCallEditMessage *ScheduledCallEditMessage `protobuf:"bytes,65,opt,name=scheduledCallEditMessage" json:"scheduledCallEditMessage,omitempty"`
+ PtvMessage *VideoMessage `protobuf:"bytes,66,opt,name=ptvMessage" json:"ptvMessage,omitempty"`
}
func (x *Message) Reset() {
@@ -9574,15 +9837,23 @@ func (x *Message) GetScheduledCallEditMessage() *ScheduledCallEditMessage {
return nil
}
+func (x *Message) GetPtvMessage() *VideoMessage {
+ if x != nil {
+ return x.PtvMessage
+ }
+ return nil
+}
+
type MessageContextInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- DeviceListMetadata *DeviceListMetadata `protobuf:"bytes,1,opt,name=deviceListMetadata" json:"deviceListMetadata,omitempty"`
- DeviceListMetadataVersion *int32 `protobuf:"varint,2,opt,name=deviceListMetadataVersion" json:"deviceListMetadataVersion,omitempty"`
- MessageSecret []byte `protobuf:"bytes,3,opt,name=messageSecret" json:"messageSecret,omitempty"`
- PaddingBytes []byte `protobuf:"bytes,4,opt,name=paddingBytes" json:"paddingBytes,omitempty"`
+ DeviceListMetadata *DeviceListMetadata `protobuf:"bytes,1,opt,name=deviceListMetadata" json:"deviceListMetadata,omitempty"`
+ DeviceListMetadataVersion *int32 `protobuf:"varint,2,opt,name=deviceListMetadataVersion" json:"deviceListMetadataVersion,omitempty"`
+ MessageSecret []byte `protobuf:"bytes,3,opt,name=messageSecret" json:"messageSecret,omitempty"`
+ PaddingBytes []byte `protobuf:"bytes,4,opt,name=paddingBytes" json:"paddingBytes,omitempty"`
+ MessageAddOnDurationInSecs *uint32 `protobuf:"varint,5,opt,name=messageAddOnDurationInSecs" json:"messageAddOnDurationInSecs,omitempty"`
}
func (x *MessageContextInfo) Reset() {
@@ -9645,6 +9916,13 @@ func (x *MessageContextInfo) GetPaddingBytes() []byte {
return nil
}
+func (x *MessageContextInfo) GetMessageAddOnDurationInSecs() uint32 {
+ if x != nil && x.MessageAddOnDurationInSecs != nil {
+ return *x.MessageAddOnDurationInSecs
+ }
+ return 0
+}
+
type VideoMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -11399,6 +11677,85 @@ func (x *PeerDataOperationRequestResponseMessage) GetPeerDataOperationResult() [
return nil
}
+type PeerDataOperationRequestMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PeerDataOperationRequestType *PeerDataOperationRequestType `protobuf:"varint,1,opt,name=peerDataOperationRequestType,enum=proto.PeerDataOperationRequestType" json:"peerDataOperationRequestType,omitempty"`
+ RequestStickerReupload []*PeerDataOperationRequestMessage_RequestStickerReupload `protobuf:"bytes,2,rep,name=requestStickerReupload" json:"requestStickerReupload,omitempty"`
+ RequestUrlPreview []*PeerDataOperationRequestMessage_RequestUrlPreview `protobuf:"bytes,3,rep,name=requestUrlPreview" json:"requestUrlPreview,omitempty"`
+ HistorySyncOnDemandRequest *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest `protobuf:"bytes,4,opt,name=historySyncOnDemandRequest" json:"historySyncOnDemandRequest,omitempty"`
+ PlaceholderMessageResendRequest []*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest `protobuf:"bytes,5,rep,name=placeholderMessageResendRequest" json:"placeholderMessageResendRequest,omitempty"`
+}
+
+func (x *PeerDataOperationRequestMessage) Reset() {
+ *x = PeerDataOperationRequestMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[78]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestMessage) ProtoMessage() {}
+
+func (x *PeerDataOperationRequestMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[78]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestMessage.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestMessage) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{78}
+}
+
+func (x *PeerDataOperationRequestMessage) GetPeerDataOperationRequestType() PeerDataOperationRequestType {
+ if x != nil && x.PeerDataOperationRequestType != nil {
+ return *x.PeerDataOperationRequestType
+ }
+ return PeerDataOperationRequestType_UPLOAD_STICKER
+}
+
+func (x *PeerDataOperationRequestMessage) GetRequestStickerReupload() []*PeerDataOperationRequestMessage_RequestStickerReupload {
+ if x != nil {
+ return x.RequestStickerReupload
+ }
+ return nil
+}
+
+func (x *PeerDataOperationRequestMessage) GetRequestUrlPreview() []*PeerDataOperationRequestMessage_RequestUrlPreview {
+ if x != nil {
+ return x.RequestUrlPreview
+ }
+ return nil
+}
+
+func (x *PeerDataOperationRequestMessage) GetHistorySyncOnDemandRequest() *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest {
+ if x != nil {
+ return x.HistorySyncOnDemandRequest
+ }
+ return nil
+}
+
+func (x *PeerDataOperationRequestMessage) GetPlaceholderMessageResendRequest() []*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest {
+ if x != nil {
+ return x.PlaceholderMessageResendRequest
+ }
+ return nil
+}
+
type EphemeralSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -11411,7 +11768,7 @@ type EphemeralSetting struct {
func (x *EphemeralSetting) Reset() {
*x = EphemeralSetting{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[78]
+ mi := &file_binary_proto_def_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11424,7 +11781,7 @@ func (x *EphemeralSetting) String() string {
func (*EphemeralSetting) ProtoMessage() {}
func (x *EphemeralSetting) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[78]
+ mi := &file_binary_proto_def_proto_msgTypes[79]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11437,7 +11794,7 @@ func (x *EphemeralSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use EphemeralSetting.ProtoReflect.Descriptor instead.
func (*EphemeralSetting) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{78}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{79}
}
func (x *EphemeralSetting) GetDuration() int32 {
@@ -11466,7 +11823,7 @@ type WallpaperSettings struct {
func (x *WallpaperSettings) Reset() {
*x = WallpaperSettings{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[79]
+ mi := &file_binary_proto_def_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11479,7 +11836,7 @@ func (x *WallpaperSettings) String() string {
func (*WallpaperSettings) ProtoMessage() {}
func (x *WallpaperSettings) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[79]
+ mi := &file_binary_proto_def_proto_msgTypes[80]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11492,7 +11849,7 @@ func (x *WallpaperSettings) ProtoReflect() protoreflect.Message {
// Deprecated: Use WallpaperSettings.ProtoReflect.Descriptor instead.
func (*WallpaperSettings) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{79}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{80}
}
func (x *WallpaperSettings) GetFilename() string {
@@ -11530,7 +11887,7 @@ type StickerMetadata struct {
func (x *StickerMetadata) Reset() {
*x = StickerMetadata{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[80]
+ mi := &file_binary_proto_def_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11543,7 +11900,7 @@ func (x *StickerMetadata) String() string {
func (*StickerMetadata) ProtoMessage() {}
func (x *StickerMetadata) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[80]
+ mi := &file_binary_proto_def_proto_msgTypes[81]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11556,7 +11913,7 @@ func (x *StickerMetadata) ProtoReflect() protoreflect.Message {
// Deprecated: Use StickerMetadata.ProtoReflect.Descriptor instead.
func (*StickerMetadata) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{80}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{81}
}
func (x *StickerMetadata) GetUrl() string {
@@ -11648,7 +12005,7 @@ type Pushname struct {
func (x *Pushname) Reset() {
*x = Pushname{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[81]
+ mi := &file_binary_proto_def_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11661,7 +12018,7 @@ func (x *Pushname) String() string {
func (*Pushname) ProtoMessage() {}
func (x *Pushname) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[81]
+ mi := &file_binary_proto_def_proto_msgTypes[82]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11674,7 +12031,7 @@ func (x *Pushname) ProtoReflect() protoreflect.Message {
// Deprecated: Use Pushname.ProtoReflect.Descriptor instead.
func (*Pushname) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{81}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{82}
}
func (x *Pushname) GetId() string {
@@ -11703,7 +12060,7 @@ type PastParticipants struct {
func (x *PastParticipants) Reset() {
*x = PastParticipants{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[82]
+ mi := &file_binary_proto_def_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11716,7 +12073,7 @@ func (x *PastParticipants) String() string {
func (*PastParticipants) ProtoMessage() {}
func (x *PastParticipants) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[82]
+ mi := &file_binary_proto_def_proto_msgTypes[83]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11729,7 +12086,7 @@ func (x *PastParticipants) ProtoReflect() protoreflect.Message {
// Deprecated: Use PastParticipants.ProtoReflect.Descriptor instead.
func (*PastParticipants) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{82}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{83}
}
func (x *PastParticipants) GetGroupJid() string {
@@ -11759,7 +12116,7 @@ type PastParticipant struct {
func (x *PastParticipant) Reset() {
*x = PastParticipant{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[83]
+ mi := &file_binary_proto_def_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11772,7 +12129,7 @@ func (x *PastParticipant) String() string {
func (*PastParticipant) ProtoMessage() {}
func (x *PastParticipant) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[83]
+ mi := &file_binary_proto_def_proto_msgTypes[84]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11785,7 +12142,7 @@ func (x *PastParticipant) ProtoReflect() protoreflect.Message {
// Deprecated: Use PastParticipant.ProtoReflect.Descriptor instead.
func (*PastParticipant) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{83}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{84}
}
func (x *PastParticipant) GetUserJid() string {
@@ -11809,6 +12166,93 @@ func (x *PastParticipant) GetLeaveTs() uint64 {
return 0
}
+type NotificationSettings struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MessageVibrate *string `protobuf:"bytes,1,opt,name=messageVibrate" json:"messageVibrate,omitempty"`
+ MessagePopup *string `protobuf:"bytes,2,opt,name=messagePopup" json:"messagePopup,omitempty"`
+ MessageLight *string `protobuf:"bytes,3,opt,name=messageLight" json:"messageLight,omitempty"`
+ LowPriorityNotifications *bool `protobuf:"varint,4,opt,name=lowPriorityNotifications" json:"lowPriorityNotifications,omitempty"`
+ ReactionsMuted *bool `protobuf:"varint,5,opt,name=reactionsMuted" json:"reactionsMuted,omitempty"`
+ CallVibrate *string `protobuf:"bytes,6,opt,name=callVibrate" json:"callVibrate,omitempty"`
+}
+
+func (x *NotificationSettings) Reset() {
+ *x = NotificationSettings{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[85]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NotificationSettings) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NotificationSettings) ProtoMessage() {}
+
+func (x *NotificationSettings) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[85]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NotificationSettings.ProtoReflect.Descriptor instead.
+func (*NotificationSettings) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{85}
+}
+
+func (x *NotificationSettings) GetMessageVibrate() string {
+ if x != nil && x.MessageVibrate != nil {
+ return *x.MessageVibrate
+ }
+ return ""
+}
+
+func (x *NotificationSettings) GetMessagePopup() string {
+ if x != nil && x.MessagePopup != nil {
+ return *x.MessagePopup
+ }
+ return ""
+}
+
+func (x *NotificationSettings) GetMessageLight() string {
+ if x != nil && x.MessageLight != nil {
+ return *x.MessageLight
+ }
+ return ""
+}
+
+func (x *NotificationSettings) GetLowPriorityNotifications() bool {
+ if x != nil && x.LowPriorityNotifications != nil {
+ return *x.LowPriorityNotifications
+ }
+ return false
+}
+
+func (x *NotificationSettings) GetReactionsMuted() bool {
+ if x != nil && x.ReactionsMuted != nil {
+ return *x.ReactionsMuted
+ }
+ return false
+}
+
+func (x *NotificationSettings) GetCallVibrate() string {
+ if x != nil && x.CallVibrate != nil {
+ return *x.CallVibrate
+ }
+ return ""
+}
+
type HistorySync struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -11830,7 +12274,7 @@ type HistorySync struct {
func (x *HistorySync) Reset() {
*x = HistorySync{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[84]
+ mi := &file_binary_proto_def_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11843,7 +12287,7 @@ func (x *HistorySync) String() string {
func (*HistorySync) ProtoMessage() {}
func (x *HistorySync) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[84]
+ mi := &file_binary_proto_def_proto_msgTypes[86]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11856,7 +12300,7 @@ func (x *HistorySync) ProtoReflect() protoreflect.Message {
// Deprecated: Use HistorySync.ProtoReflect.Descriptor instead.
func (*HistorySync) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{84}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{86}
}
func (x *HistorySync) GetSyncType() HistorySync_HistorySyncType {
@@ -11948,7 +12392,7 @@ type HistorySyncMsg struct {
func (x *HistorySyncMsg) Reset() {
*x = HistorySyncMsg{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[85]
+ mi := &file_binary_proto_def_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11961,7 +12405,7 @@ func (x *HistorySyncMsg) String() string {
func (*HistorySyncMsg) ProtoMessage() {}
func (x *HistorySyncMsg) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[85]
+ mi := &file_binary_proto_def_proto_msgTypes[87]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11974,7 +12418,7 @@ func (x *HistorySyncMsg) ProtoReflect() protoreflect.Message {
// Deprecated: Use HistorySyncMsg.ProtoReflect.Descriptor instead.
func (*HistorySyncMsg) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{85}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{87}
}
func (x *HistorySyncMsg) GetMessage() *WebMessageInfo {
@@ -12003,7 +12447,7 @@ type GroupParticipant struct {
func (x *GroupParticipant) Reset() {
*x = GroupParticipant{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[86]
+ mi := &file_binary_proto_def_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12016,7 +12460,7 @@ func (x *GroupParticipant) String() string {
func (*GroupParticipant) ProtoMessage() {}
func (x *GroupParticipant) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[86]
+ mi := &file_binary_proto_def_proto_msgTypes[88]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12029,7 +12473,7 @@ func (x *GroupParticipant) ProtoReflect() protoreflect.Message {
// Deprecated: Use GroupParticipant.ProtoReflect.Descriptor instead.
func (*GroupParticipant) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{86}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{88}
}
func (x *GroupParticipant) GetUserJid() string {
@@ -12062,12 +12506,19 @@ type GlobalSettings struct {
DisappearingModeDuration *int32 `protobuf:"varint,9,opt,name=disappearingModeDuration" json:"disappearingModeDuration,omitempty"`
DisappearingModeTimestamp *int64 `protobuf:"varint,10,opt,name=disappearingModeTimestamp" json:"disappearingModeTimestamp,omitempty"`
AvatarUserSettings *AvatarUserSettings `protobuf:"bytes,11,opt,name=avatarUserSettings" json:"avatarUserSettings,omitempty"`
+ FontSize *int32 `protobuf:"varint,12,opt,name=fontSize" json:"fontSize,omitempty"`
+ SecurityNotifications *bool `protobuf:"varint,13,opt,name=securityNotifications" json:"securityNotifications,omitempty"`
+ AutoUnarchiveChats *bool `protobuf:"varint,14,opt,name=autoUnarchiveChats" json:"autoUnarchiveChats,omitempty"`
+ VideoQualityMode *int32 `protobuf:"varint,15,opt,name=videoQualityMode" json:"videoQualityMode,omitempty"`
+ PhotoQualityMode *int32 `protobuf:"varint,16,opt,name=photoQualityMode" json:"photoQualityMode,omitempty"`
+ IndividualNotificationSettings *NotificationSettings `protobuf:"bytes,17,opt,name=individualNotificationSettings" json:"individualNotificationSettings,omitempty"`
+ GroupNotificationSettings *NotificationSettings `protobuf:"bytes,18,opt,name=groupNotificationSettings" json:"groupNotificationSettings,omitempty"`
}
func (x *GlobalSettings) Reset() {
*x = GlobalSettings{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[87]
+ mi := &file_binary_proto_def_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12080,7 +12531,7 @@ func (x *GlobalSettings) String() string {
func (*GlobalSettings) ProtoMessage() {}
func (x *GlobalSettings) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[87]
+ mi := &file_binary_proto_def_proto_msgTypes[89]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12093,7 +12544,7 @@ func (x *GlobalSettings) ProtoReflect() protoreflect.Message {
// Deprecated: Use GlobalSettings.ProtoReflect.Descriptor instead.
func (*GlobalSettings) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{87}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{89}
}
func (x *GlobalSettings) GetLightThemeWallpaper() *WallpaperSettings {
@@ -12173,6 +12624,55 @@ func (x *GlobalSettings) GetAvatarUserSettings() *AvatarUserSettings {
return nil
}
+func (x *GlobalSettings) GetFontSize() int32 {
+ if x != nil && x.FontSize != nil {
+ return *x.FontSize
+ }
+ return 0
+}
+
+func (x *GlobalSettings) GetSecurityNotifications() bool {
+ if x != nil && x.SecurityNotifications != nil {
+ return *x.SecurityNotifications
+ }
+ return false
+}
+
+func (x *GlobalSettings) GetAutoUnarchiveChats() bool {
+ if x != nil && x.AutoUnarchiveChats != nil {
+ return *x.AutoUnarchiveChats
+ }
+ return false
+}
+
+func (x *GlobalSettings) GetVideoQualityMode() int32 {
+ if x != nil && x.VideoQualityMode != nil {
+ return *x.VideoQualityMode
+ }
+ return 0
+}
+
+func (x *GlobalSettings) GetPhotoQualityMode() int32 {
+ if x != nil && x.PhotoQualityMode != nil {
+ return *x.PhotoQualityMode
+ }
+ return 0
+}
+
+func (x *GlobalSettings) GetIndividualNotificationSettings() *NotificationSettings {
+ if x != nil {
+ return x.IndividualNotificationSettings
+ }
+ return nil
+}
+
+func (x *GlobalSettings) GetGroupNotificationSettings() *NotificationSettings {
+ if x != nil {
+ return x.GroupNotificationSettings
+ }
+ return nil
+}
+
type Conversation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -12213,8 +12713,8 @@ type Conversation struct {
Description *string `protobuf:"bytes,33,opt,name=description" json:"description,omitempty"`
Support *bool `protobuf:"varint,34,opt,name=support" json:"support,omitempty"`
IsParentGroup *bool `protobuf:"varint,35,opt,name=isParentGroup" json:"isParentGroup,omitempty"`
- IsDefaultSubgroup *bool `protobuf:"varint,36,opt,name=isDefaultSubgroup" json:"isDefaultSubgroup,omitempty"`
ParentGroupId *string `protobuf:"bytes,37,opt,name=parentGroupId" json:"parentGroupId,omitempty"`
+ IsDefaultSubgroup *bool `protobuf:"varint,36,opt,name=isDefaultSubgroup" json:"isDefaultSubgroup,omitempty"`
DisplayName *string `protobuf:"bytes,38,opt,name=displayName" json:"displayName,omitempty"`
PnJid *string `protobuf:"bytes,39,opt,name=pnJid" json:"pnJid,omitempty"`
ShareOwnPn *bool `protobuf:"varint,40,opt,name=shareOwnPn" json:"shareOwnPn,omitempty"`
@@ -12225,7 +12725,7 @@ type Conversation struct {
func (x *Conversation) Reset() {
*x = Conversation{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[88]
+ mi := &file_binary_proto_def_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12238,7 +12738,7 @@ func (x *Conversation) String() string {
func (*Conversation) ProtoMessage() {}
func (x *Conversation) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[88]
+ mi := &file_binary_proto_def_proto_msgTypes[90]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12251,7 +12751,7 @@ func (x *Conversation) ProtoReflect() protoreflect.Message {
// Deprecated: Use Conversation.ProtoReflect.Descriptor instead.
func (*Conversation) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{88}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{90}
}
func (x *Conversation) GetId() string {
@@ -12499,13 +12999,6 @@ func (x *Conversation) GetIsParentGroup() bool {
return false
}
-func (x *Conversation) GetIsDefaultSubgroup() bool {
- if x != nil && x.IsDefaultSubgroup != nil {
- return *x.IsDefaultSubgroup
- }
- return false
-}
-
func (x *Conversation) GetParentGroupId() string {
if x != nil && x.ParentGroupId != nil {
return *x.ParentGroupId
@@ -12513,6 +13006,13 @@ func (x *Conversation) GetParentGroupId() string {
return ""
}
+func (x *Conversation) GetIsDefaultSubgroup() bool {
+ if x != nil && x.IsDefaultSubgroup != nil {
+ return *x.IsDefaultSubgroup
+ }
+ return false
+}
+
func (x *Conversation) GetDisplayName() string {
if x != nil && x.DisplayName != nil {
return *x.DisplayName
@@ -12560,7 +13060,7 @@ type AvatarUserSettings struct {
func (x *AvatarUserSettings) Reset() {
*x = AvatarUserSettings{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[89]
+ mi := &file_binary_proto_def_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12573,7 +13073,7 @@ func (x *AvatarUserSettings) String() string {
func (*AvatarUserSettings) ProtoMessage() {}
func (x *AvatarUserSettings) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[89]
+ mi := &file_binary_proto_def_proto_msgTypes[91]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12586,7 +13086,7 @@ func (x *AvatarUserSettings) ProtoReflect() protoreflect.Message {
// Deprecated: Use AvatarUserSettings.ProtoReflect.Descriptor instead.
func (*AvatarUserSettings) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{89}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{91}
}
func (x *AvatarUserSettings) GetFbid() string {
@@ -12617,7 +13117,7 @@ type AutoDownloadSettings struct {
func (x *AutoDownloadSettings) Reset() {
*x = AutoDownloadSettings{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[90]
+ mi := &file_binary_proto_def_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12630,7 +13130,7 @@ func (x *AutoDownloadSettings) String() string {
func (*AutoDownloadSettings) ProtoMessage() {}
func (x *AutoDownloadSettings) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[90]
+ mi := &file_binary_proto_def_proto_msgTypes[92]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12643,7 +13143,7 @@ func (x *AutoDownloadSettings) ProtoReflect() protoreflect.Message {
// Deprecated: Use AutoDownloadSettings.ProtoReflect.Descriptor instead.
func (*AutoDownloadSettings) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{90}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{92}
}
func (x *AutoDownloadSettings) GetDownloadImages() bool {
@@ -12686,7 +13186,7 @@ type MsgRowOpaqueData struct {
func (x *MsgRowOpaqueData) Reset() {
*x = MsgRowOpaqueData{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[91]
+ mi := &file_binary_proto_def_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12699,7 +13199,7 @@ func (x *MsgRowOpaqueData) String() string {
func (*MsgRowOpaqueData) ProtoMessage() {}
func (x *MsgRowOpaqueData) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[91]
+ mi := &file_binary_proto_def_proto_msgTypes[93]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12712,7 +13212,7 @@ func (x *MsgRowOpaqueData) ProtoReflect() protoreflect.Message {
// Deprecated: Use MsgRowOpaqueData.ProtoReflect.Descriptor instead.
func (*MsgRowOpaqueData) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{91}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{93}
}
func (x *MsgRowOpaqueData) GetCurrentMsg() *MsgOpaqueData {
@@ -12765,7 +13265,7 @@ type MsgOpaqueData struct {
func (x *MsgOpaqueData) Reset() {
*x = MsgOpaqueData{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[92]
+ mi := &file_binary_proto_def_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12778,7 +13278,7 @@ func (x *MsgOpaqueData) String() string {
func (*MsgOpaqueData) ProtoMessage() {}
func (x *MsgOpaqueData) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[92]
+ mi := &file_binary_proto_def_proto_msgTypes[94]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12791,7 +13291,7 @@ func (x *MsgOpaqueData) ProtoReflect() protoreflect.Message {
// Deprecated: Use MsgOpaqueData.ProtoReflect.Descriptor instead.
func (*MsgOpaqueData) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{92}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{94}
}
func (x *MsgOpaqueData) GetBody() string {
@@ -12987,7 +13487,7 @@ type ServerErrorReceipt struct {
func (x *ServerErrorReceipt) Reset() {
*x = ServerErrorReceipt{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[93]
+ mi := &file_binary_proto_def_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13000,7 +13500,7 @@ func (x *ServerErrorReceipt) String() string {
func (*ServerErrorReceipt) ProtoMessage() {}
func (x *ServerErrorReceipt) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[93]
+ mi := &file_binary_proto_def_proto_msgTypes[95]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13013,7 +13513,7 @@ func (x *ServerErrorReceipt) ProtoReflect() protoreflect.Message {
// Deprecated: Use ServerErrorReceipt.ProtoReflect.Descriptor instead.
func (*ServerErrorReceipt) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{93}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{95}
}
func (x *ServerErrorReceipt) GetStanzaId() string {
@@ -13036,7 +13536,7 @@ type MediaRetryNotification struct {
func (x *MediaRetryNotification) Reset() {
*x = MediaRetryNotification{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[94]
+ mi := &file_binary_proto_def_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13049,7 +13549,7 @@ func (x *MediaRetryNotification) String() string {
func (*MediaRetryNotification) ProtoMessage() {}
func (x *MediaRetryNotification) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[94]
+ mi := &file_binary_proto_def_proto_msgTypes[96]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13062,7 +13562,7 @@ func (x *MediaRetryNotification) ProtoReflect() protoreflect.Message {
// Deprecated: Use MediaRetryNotification.ProtoReflect.Descriptor instead.
func (*MediaRetryNotification) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{94}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{96}
}
func (x *MediaRetryNotification) GetStanzaId() string {
@@ -13100,7 +13600,7 @@ type MessageKey struct {
func (x *MessageKey) Reset() {
*x = MessageKey{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[95]
+ mi := &file_binary_proto_def_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13113,7 +13613,7 @@ func (x *MessageKey) String() string {
func (*MessageKey) ProtoMessage() {}
func (x *MessageKey) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[95]
+ mi := &file_binary_proto_def_proto_msgTypes[97]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13126,7 +13626,7 @@ func (x *MessageKey) ProtoReflect() protoreflect.Message {
// Deprecated: Use MessageKey.ProtoReflect.Descriptor instead.
func (*MessageKey) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{95}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{97}
}
func (x *MessageKey) GetRemoteJid() string {
@@ -13168,7 +13668,7 @@ type SyncdVersion struct {
func (x *SyncdVersion) Reset() {
*x = SyncdVersion{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[96]
+ mi := &file_binary_proto_def_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13181,7 +13681,7 @@ func (x *SyncdVersion) String() string {
func (*SyncdVersion) ProtoMessage() {}
func (x *SyncdVersion) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[96]
+ mi := &file_binary_proto_def_proto_msgTypes[98]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13194,7 +13694,7 @@ func (x *SyncdVersion) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdVersion.ProtoReflect.Descriptor instead.
func (*SyncdVersion) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{96}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{98}
}
func (x *SyncdVersion) GetVersion() uint64 {
@@ -13215,7 +13715,7 @@ type SyncdValue struct {
func (x *SyncdValue) Reset() {
*x = SyncdValue{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[97]
+ mi := &file_binary_proto_def_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13228,7 +13728,7 @@ func (x *SyncdValue) String() string {
func (*SyncdValue) ProtoMessage() {}
func (x *SyncdValue) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[97]
+ mi := &file_binary_proto_def_proto_msgTypes[99]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13241,7 +13741,7 @@ func (x *SyncdValue) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdValue.ProtoReflect.Descriptor instead.
func (*SyncdValue) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{97}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{99}
}
func (x *SyncdValue) GetBlob() []byte {
@@ -13265,7 +13765,7 @@ type SyncdSnapshot struct {
func (x *SyncdSnapshot) Reset() {
*x = SyncdSnapshot{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[98]
+ mi := &file_binary_proto_def_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13278,7 +13778,7 @@ func (x *SyncdSnapshot) String() string {
func (*SyncdSnapshot) ProtoMessage() {}
func (x *SyncdSnapshot) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[98]
+ mi := &file_binary_proto_def_proto_msgTypes[100]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13291,7 +13791,7 @@ func (x *SyncdSnapshot) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdSnapshot.ProtoReflect.Descriptor instead.
func (*SyncdSnapshot) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{98}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{100}
}
func (x *SyncdSnapshot) GetVersion() *SyncdVersion {
@@ -13335,7 +13835,7 @@ type SyncdRecord struct {
func (x *SyncdRecord) Reset() {
*x = SyncdRecord{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[99]
+ mi := &file_binary_proto_def_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13348,7 +13848,7 @@ func (x *SyncdRecord) String() string {
func (*SyncdRecord) ProtoMessage() {}
func (x *SyncdRecord) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[99]
+ mi := &file_binary_proto_def_proto_msgTypes[101]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13361,7 +13861,7 @@ func (x *SyncdRecord) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdRecord.ProtoReflect.Descriptor instead.
func (*SyncdRecord) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{99}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{101}
}
func (x *SyncdRecord) GetIndex() *SyncdIndex {
@@ -13403,7 +13903,7 @@ type SyncdPatch struct {
func (x *SyncdPatch) Reset() {
*x = SyncdPatch{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[100]
+ mi := &file_binary_proto_def_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13416,7 +13916,7 @@ func (x *SyncdPatch) String() string {
func (*SyncdPatch) ProtoMessage() {}
func (x *SyncdPatch) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[100]
+ mi := &file_binary_proto_def_proto_msgTypes[102]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13429,7 +13929,7 @@ func (x *SyncdPatch) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdPatch.ProtoReflect.Descriptor instead.
func (*SyncdPatch) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{100}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{102}
}
func (x *SyncdPatch) GetVersion() *SyncdVersion {
@@ -13499,7 +13999,7 @@ type SyncdMutations struct {
func (x *SyncdMutations) Reset() {
*x = SyncdMutations{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[101]
+ mi := &file_binary_proto_def_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13512,7 +14012,7 @@ func (x *SyncdMutations) String() string {
func (*SyncdMutations) ProtoMessage() {}
func (x *SyncdMutations) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[101]
+ mi := &file_binary_proto_def_proto_msgTypes[103]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13525,7 +14025,7 @@ func (x *SyncdMutations) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdMutations.ProtoReflect.Descriptor instead.
func (*SyncdMutations) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{101}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{103}
}
func (x *SyncdMutations) GetMutations() []*SyncdMutation {
@@ -13547,7 +14047,7 @@ type SyncdMutation struct {
func (x *SyncdMutation) Reset() {
*x = SyncdMutation{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[102]
+ mi := &file_binary_proto_def_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13560,7 +14060,7 @@ func (x *SyncdMutation) String() string {
func (*SyncdMutation) ProtoMessage() {}
func (x *SyncdMutation) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[102]
+ mi := &file_binary_proto_def_proto_msgTypes[104]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13573,7 +14073,7 @@ func (x *SyncdMutation) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdMutation.ProtoReflect.Descriptor instead.
func (*SyncdMutation) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{102}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{104}
}
func (x *SyncdMutation) GetOperation() SyncdMutation_SyncdOperation {
@@ -13601,7 +14101,7 @@ type SyncdIndex struct {
func (x *SyncdIndex) Reset() {
*x = SyncdIndex{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[103]
+ mi := &file_binary_proto_def_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13614,7 +14114,7 @@ func (x *SyncdIndex) String() string {
func (*SyncdIndex) ProtoMessage() {}
func (x *SyncdIndex) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[103]
+ mi := &file_binary_proto_def_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13627,7 +14127,7 @@ func (x *SyncdIndex) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncdIndex.ProtoReflect.Descriptor instead.
func (*SyncdIndex) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{103}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{105}
}
func (x *SyncdIndex) GetBlob() []byte {
@@ -13648,7 +14148,7 @@ type KeyId struct {
func (x *KeyId) Reset() {
*x = KeyId{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[104]
+ mi := &file_binary_proto_def_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13661,7 +14161,7 @@ func (x *KeyId) String() string {
func (*KeyId) ProtoMessage() {}
func (x *KeyId) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[104]
+ mi := &file_binary_proto_def_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13674,7 +14174,7 @@ func (x *KeyId) ProtoReflect() protoreflect.Message {
// Deprecated: Use KeyId.ProtoReflect.Descriptor instead.
func (*KeyId) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{104}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{106}
}
func (x *KeyId) GetId() []byte {
@@ -13700,7 +14200,7 @@ type ExternalBlobReference struct {
func (x *ExternalBlobReference) Reset() {
*x = ExternalBlobReference{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[105]
+ mi := &file_binary_proto_def_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13713,7 +14213,7 @@ func (x *ExternalBlobReference) String() string {
func (*ExternalBlobReference) ProtoMessage() {}
func (x *ExternalBlobReference) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[105]
+ mi := &file_binary_proto_def_proto_msgTypes[107]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13726,7 +14226,7 @@ func (x *ExternalBlobReference) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExternalBlobReference.ProtoReflect.Descriptor instead.
func (*ExternalBlobReference) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{105}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{107}
}
func (x *ExternalBlobReference) GetMediaKey() []byte {
@@ -13783,7 +14283,7 @@ type ExitCode struct {
func (x *ExitCode) Reset() {
*x = ExitCode{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[106]
+ mi := &file_binary_proto_def_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13796,7 +14296,7 @@ func (x *ExitCode) String() string {
func (*ExitCode) ProtoMessage() {}
func (x *ExitCode) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[106]
+ mi := &file_binary_proto_def_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13809,7 +14309,7 @@ func (x *ExitCode) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExitCode.ProtoReflect.Descriptor instead.
func (*ExitCode) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{106}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{108}
}
func (x *ExitCode) GetCode() uint64 {
@@ -13831,44 +14331,48 @@ type SyncActionValue struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Timestamp *int64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
- StarAction *StarAction `protobuf:"bytes,2,opt,name=starAction" json:"starAction,omitempty"`
- ContactAction *ContactAction `protobuf:"bytes,3,opt,name=contactAction" json:"contactAction,omitempty"`
- MuteAction *MuteAction `protobuf:"bytes,4,opt,name=muteAction" json:"muteAction,omitempty"`
- PinAction *PinAction `protobuf:"bytes,5,opt,name=pinAction" json:"pinAction,omitempty"`
- SecurityNotificationSetting *SecurityNotificationSetting `protobuf:"bytes,6,opt,name=securityNotificationSetting" json:"securityNotificationSetting,omitempty"`
- PushNameSetting *PushNameSetting `protobuf:"bytes,7,opt,name=pushNameSetting" json:"pushNameSetting,omitempty"`
- QuickReplyAction *QuickReplyAction `protobuf:"bytes,8,opt,name=quickReplyAction" json:"quickReplyAction,omitempty"`
- RecentEmojiWeightsAction *RecentEmojiWeightsAction `protobuf:"bytes,11,opt,name=recentEmojiWeightsAction" json:"recentEmojiWeightsAction,omitempty"`
- LabelEditAction *LabelEditAction `protobuf:"bytes,14,opt,name=labelEditAction" json:"labelEditAction,omitempty"`
- LabelAssociationAction *LabelAssociationAction `protobuf:"bytes,15,opt,name=labelAssociationAction" json:"labelAssociationAction,omitempty"`
- LocaleSetting *LocaleSetting `protobuf:"bytes,16,opt,name=localeSetting" json:"localeSetting,omitempty"`
- ArchiveChatAction *ArchiveChatAction `protobuf:"bytes,17,opt,name=archiveChatAction" json:"archiveChatAction,omitempty"`
- DeleteMessageForMeAction *DeleteMessageForMeAction `protobuf:"bytes,18,opt,name=deleteMessageForMeAction" json:"deleteMessageForMeAction,omitempty"`
- KeyExpiration *KeyExpiration `protobuf:"bytes,19,opt,name=keyExpiration" json:"keyExpiration,omitempty"`
- MarkChatAsReadAction *MarkChatAsReadAction `protobuf:"bytes,20,opt,name=markChatAsReadAction" json:"markChatAsReadAction,omitempty"`
- ClearChatAction *ClearChatAction `protobuf:"bytes,21,opt,name=clearChatAction" json:"clearChatAction,omitempty"`
- DeleteChatAction *DeleteChatAction `protobuf:"bytes,22,opt,name=deleteChatAction" json:"deleteChatAction,omitempty"`
- UnarchiveChatsSetting *UnarchiveChatsSetting `protobuf:"bytes,23,opt,name=unarchiveChatsSetting" json:"unarchiveChatsSetting,omitempty"`
- PrimaryFeature *PrimaryFeature `protobuf:"bytes,24,opt,name=primaryFeature" json:"primaryFeature,omitempty"`
- AndroidUnsupportedActions *AndroidUnsupportedActions `protobuf:"bytes,26,opt,name=androidUnsupportedActions" json:"androidUnsupportedActions,omitempty"`
- AgentAction *AgentAction `protobuf:"bytes,27,opt,name=agentAction" json:"agentAction,omitempty"`
- SubscriptionAction *SubscriptionAction `protobuf:"bytes,28,opt,name=subscriptionAction" json:"subscriptionAction,omitempty"`
- UserStatusMuteAction *UserStatusMuteAction `protobuf:"bytes,29,opt,name=userStatusMuteAction" json:"userStatusMuteAction,omitempty"`
- TimeFormatAction *TimeFormatAction `protobuf:"bytes,30,opt,name=timeFormatAction" json:"timeFormatAction,omitempty"`
- NuxAction *NuxAction `protobuf:"bytes,31,opt,name=nuxAction" json:"nuxAction,omitempty"`
- PrimaryVersionAction *PrimaryVersionAction `protobuf:"bytes,32,opt,name=primaryVersionAction" json:"primaryVersionAction,omitempty"`
- StickerAction *StickerAction `protobuf:"bytes,33,opt,name=stickerAction" json:"stickerAction,omitempty"`
- RemoveRecentStickerAction *RemoveRecentStickerAction `protobuf:"bytes,34,opt,name=removeRecentStickerAction" json:"removeRecentStickerAction,omitempty"`
- ChatAssignment *ChatAssignmentAction `protobuf:"bytes,35,opt,name=chatAssignment" json:"chatAssignment,omitempty"`
- ChatAssignmentOpenedStatus *ChatAssignmentOpenedStatusAction `protobuf:"bytes,36,opt,name=chatAssignmentOpenedStatus" json:"chatAssignmentOpenedStatus,omitempty"`
- PnForLidChatAction *PnForLidChatAction `protobuf:"bytes,37,opt,name=pnForLidChatAction" json:"pnForLidChatAction,omitempty"`
+ Timestamp *int64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
+ StarAction *StarAction `protobuf:"bytes,2,opt,name=starAction" json:"starAction,omitempty"`
+ ContactAction *ContactAction `protobuf:"bytes,3,opt,name=contactAction" json:"contactAction,omitempty"`
+ MuteAction *MuteAction `protobuf:"bytes,4,opt,name=muteAction" json:"muteAction,omitempty"`
+ PinAction *PinAction `protobuf:"bytes,5,opt,name=pinAction" json:"pinAction,omitempty"`
+ SecurityNotificationSetting *SecurityNotificationSetting `protobuf:"bytes,6,opt,name=securityNotificationSetting" json:"securityNotificationSetting,omitempty"`
+ PushNameSetting *PushNameSetting `protobuf:"bytes,7,opt,name=pushNameSetting" json:"pushNameSetting,omitempty"`
+ QuickReplyAction *QuickReplyAction `protobuf:"bytes,8,opt,name=quickReplyAction" json:"quickReplyAction,omitempty"`
+ RecentEmojiWeightsAction *RecentEmojiWeightsAction `protobuf:"bytes,11,opt,name=recentEmojiWeightsAction" json:"recentEmojiWeightsAction,omitempty"`
+ LabelEditAction *LabelEditAction `protobuf:"bytes,14,opt,name=labelEditAction" json:"labelEditAction,omitempty"`
+ LabelAssociationAction *LabelAssociationAction `protobuf:"bytes,15,opt,name=labelAssociationAction" json:"labelAssociationAction,omitempty"`
+ LocaleSetting *LocaleSetting `protobuf:"bytes,16,opt,name=localeSetting" json:"localeSetting,omitempty"`
+ ArchiveChatAction *ArchiveChatAction `protobuf:"bytes,17,opt,name=archiveChatAction" json:"archiveChatAction,omitempty"`
+ DeleteMessageForMeAction *DeleteMessageForMeAction `protobuf:"bytes,18,opt,name=deleteMessageForMeAction" json:"deleteMessageForMeAction,omitempty"`
+ KeyExpiration *KeyExpiration `protobuf:"bytes,19,opt,name=keyExpiration" json:"keyExpiration,omitempty"`
+ MarkChatAsReadAction *MarkChatAsReadAction `protobuf:"bytes,20,opt,name=markChatAsReadAction" json:"markChatAsReadAction,omitempty"`
+ ClearChatAction *ClearChatAction `protobuf:"bytes,21,opt,name=clearChatAction" json:"clearChatAction,omitempty"`
+ DeleteChatAction *DeleteChatAction `protobuf:"bytes,22,opt,name=deleteChatAction" json:"deleteChatAction,omitempty"`
+ UnarchiveChatsSetting *UnarchiveChatsSetting `protobuf:"bytes,23,opt,name=unarchiveChatsSetting" json:"unarchiveChatsSetting,omitempty"`
+ PrimaryFeature *PrimaryFeature `protobuf:"bytes,24,opt,name=primaryFeature" json:"primaryFeature,omitempty"`
+ AndroidUnsupportedActions *AndroidUnsupportedActions `protobuf:"bytes,26,opt,name=androidUnsupportedActions" json:"androidUnsupportedActions,omitempty"`
+ AgentAction *AgentAction `protobuf:"bytes,27,opt,name=agentAction" json:"agentAction,omitempty"`
+ SubscriptionAction *SubscriptionAction `protobuf:"bytes,28,opt,name=subscriptionAction" json:"subscriptionAction,omitempty"`
+ UserStatusMuteAction *UserStatusMuteAction `protobuf:"bytes,29,opt,name=userStatusMuteAction" json:"userStatusMuteAction,omitempty"`
+ TimeFormatAction *TimeFormatAction `protobuf:"bytes,30,opt,name=timeFormatAction" json:"timeFormatAction,omitempty"`
+ NuxAction *NuxAction `protobuf:"bytes,31,opt,name=nuxAction" json:"nuxAction,omitempty"`
+ PrimaryVersionAction *PrimaryVersionAction `protobuf:"bytes,32,opt,name=primaryVersionAction" json:"primaryVersionAction,omitempty"`
+ StickerAction *StickerAction `protobuf:"bytes,33,opt,name=stickerAction" json:"stickerAction,omitempty"`
+ RemoveRecentStickerAction *RemoveRecentStickerAction `protobuf:"bytes,34,opt,name=removeRecentStickerAction" json:"removeRecentStickerAction,omitempty"`
+ ChatAssignment *ChatAssignmentAction `protobuf:"bytes,35,opt,name=chatAssignment" json:"chatAssignment,omitempty"`
+ ChatAssignmentOpenedStatus *ChatAssignmentOpenedStatusAction `protobuf:"bytes,36,opt,name=chatAssignmentOpenedStatus" json:"chatAssignmentOpenedStatus,omitempty"`
+ PnForLidChatAction *PnForLidChatAction `protobuf:"bytes,37,opt,name=pnForLidChatAction" json:"pnForLidChatAction,omitempty"`
+ MarketingMessageAction *MarketingMessageAction `protobuf:"bytes,38,opt,name=marketingMessageAction" json:"marketingMessageAction,omitempty"`
+ MarketingMessageBroadcastAction *MarketingMessageBroadcastAction `protobuf:"bytes,39,opt,name=marketingMessageBroadcastAction" json:"marketingMessageBroadcastAction,omitempty"`
+ ExternalWebBetaAction *ExternalWebBetaAction `protobuf:"bytes,40,opt,name=externalWebBetaAction" json:"externalWebBetaAction,omitempty"`
+ PrivacySettingRelayAllCalls *PrivacySettingRelayAllCalls `protobuf:"bytes,41,opt,name=privacySettingRelayAllCalls" json:"privacySettingRelayAllCalls,omitempty"`
}
func (x *SyncActionValue) Reset() {
*x = SyncActionValue{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[107]
+ mi := &file_binary_proto_def_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13881,7 +14385,7 @@ func (x *SyncActionValue) String() string {
func (*SyncActionValue) ProtoMessage() {}
func (x *SyncActionValue) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[107]
+ mi := &file_binary_proto_def_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13894,7 +14398,7 @@ func (x *SyncActionValue) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncActionValue.ProtoReflect.Descriptor instead.
func (*SyncActionValue) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{107}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{109}
}
func (x *SyncActionValue) GetTimestamp() int64 {
@@ -14121,6 +14625,34 @@ func (x *SyncActionValue) GetPnForLidChatAction() *PnForLidChatAction {
return nil
}
+func (x *SyncActionValue) GetMarketingMessageAction() *MarketingMessageAction {
+ if x != nil {
+ return x.MarketingMessageAction
+ }
+ return nil
+}
+
+func (x *SyncActionValue) GetMarketingMessageBroadcastAction() *MarketingMessageBroadcastAction {
+ if x != nil {
+ return x.MarketingMessageBroadcastAction
+ }
+ return nil
+}
+
+func (x *SyncActionValue) GetExternalWebBetaAction() *ExternalWebBetaAction {
+ if x != nil {
+ return x.ExternalWebBetaAction
+ }
+ return nil
+}
+
+func (x *SyncActionValue) GetPrivacySettingRelayAllCalls() *PrivacySettingRelayAllCalls {
+ if x != nil {
+ return x.PrivacySettingRelayAllCalls
+ }
+ return nil
+}
+
type UserStatusMuteAction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -14132,7 +14664,7 @@ type UserStatusMuteAction struct {
func (x *UserStatusMuteAction) Reset() {
*x = UserStatusMuteAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[108]
+ mi := &file_binary_proto_def_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14145,7 +14677,7 @@ func (x *UserStatusMuteAction) String() string {
func (*UserStatusMuteAction) ProtoMessage() {}
func (x *UserStatusMuteAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[108]
+ mi := &file_binary_proto_def_proto_msgTypes[110]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14158,7 +14690,7 @@ func (x *UserStatusMuteAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserStatusMuteAction.ProtoReflect.Descriptor instead.
func (*UserStatusMuteAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{108}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{110}
}
func (x *UserStatusMuteAction) GetMuted() bool {
@@ -14179,7 +14711,7 @@ type UnarchiveChatsSetting struct {
func (x *UnarchiveChatsSetting) Reset() {
*x = UnarchiveChatsSetting{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[109]
+ mi := &file_binary_proto_def_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14192,7 +14724,7 @@ func (x *UnarchiveChatsSetting) String() string {
func (*UnarchiveChatsSetting) ProtoMessage() {}
func (x *UnarchiveChatsSetting) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[109]
+ mi := &file_binary_proto_def_proto_msgTypes[111]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14205,7 +14737,7 @@ func (x *UnarchiveChatsSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use UnarchiveChatsSetting.ProtoReflect.Descriptor instead.
func (*UnarchiveChatsSetting) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{109}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{111}
}
func (x *UnarchiveChatsSetting) GetUnarchiveChats() bool {
@@ -14226,7 +14758,7 @@ type TimeFormatAction struct {
func (x *TimeFormatAction) Reset() {
*x = TimeFormatAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[110]
+ mi := &file_binary_proto_def_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14239,7 +14771,7 @@ func (x *TimeFormatAction) String() string {
func (*TimeFormatAction) ProtoMessage() {}
func (x *TimeFormatAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[110]
+ mi := &file_binary_proto_def_proto_msgTypes[112]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14252,7 +14784,7 @@ func (x *TimeFormatAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use TimeFormatAction.ProtoReflect.Descriptor instead.
func (*TimeFormatAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{110}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{112}
}
func (x *TimeFormatAction) GetIsTwentyFourHourFormatEnabled() bool {
@@ -14274,7 +14806,7 @@ type SyncActionMessage struct {
func (x *SyncActionMessage) Reset() {
*x = SyncActionMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[111]
+ mi := &file_binary_proto_def_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14287,7 +14819,7 @@ func (x *SyncActionMessage) String() string {
func (*SyncActionMessage) ProtoMessage() {}
func (x *SyncActionMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[111]
+ mi := &file_binary_proto_def_proto_msgTypes[113]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14300,7 +14832,7 @@ func (x *SyncActionMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncActionMessage.ProtoReflect.Descriptor instead.
func (*SyncActionMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{111}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{113}
}
func (x *SyncActionMessage) GetKey() *MessageKey {
@@ -14330,7 +14862,7 @@ type SyncActionMessageRange struct {
func (x *SyncActionMessageRange) Reset() {
*x = SyncActionMessageRange{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[112]
+ mi := &file_binary_proto_def_proto_msgTypes[114]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14343,7 +14875,7 @@ func (x *SyncActionMessageRange) String() string {
func (*SyncActionMessageRange) ProtoMessage() {}
func (x *SyncActionMessageRange) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[112]
+ mi := &file_binary_proto_def_proto_msgTypes[114]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14356,7 +14888,7 @@ func (x *SyncActionMessageRange) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncActionMessageRange.ProtoReflect.Descriptor instead.
func (*SyncActionMessageRange) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{112}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{114}
}
func (x *SyncActionMessageRange) GetLastMessageTimestamp() int64 {
@@ -14393,7 +14925,7 @@ type SubscriptionAction struct {
func (x *SubscriptionAction) Reset() {
*x = SubscriptionAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[113]
+ mi := &file_binary_proto_def_proto_msgTypes[115]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14406,7 +14938,7 @@ func (x *SubscriptionAction) String() string {
func (*SubscriptionAction) ProtoMessage() {}
func (x *SubscriptionAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[113]
+ mi := &file_binary_proto_def_proto_msgTypes[115]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14419,7 +14951,7 @@ func (x *SubscriptionAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use SubscriptionAction.ProtoReflect.Descriptor instead.
func (*SubscriptionAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{113}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{115}
}
func (x *SubscriptionAction) GetIsDeactivated() bool {
@@ -14463,7 +14995,7 @@ type StickerAction struct {
func (x *StickerAction) Reset() {
*x = StickerAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[114]
+ mi := &file_binary_proto_def_proto_msgTypes[116]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14476,7 +15008,7 @@ func (x *StickerAction) String() string {
func (*StickerAction) ProtoMessage() {}
func (x *StickerAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[114]
+ mi := &file_binary_proto_def_proto_msgTypes[116]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14489,7 +15021,7 @@ func (x *StickerAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use StickerAction.ProtoReflect.Descriptor instead.
func (*StickerAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{114}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{116}
}
func (x *StickerAction) GetUrl() string {
@@ -14573,7 +15105,7 @@ type StarAction struct {
func (x *StarAction) Reset() {
*x = StarAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[115]
+ mi := &file_binary_proto_def_proto_msgTypes[117]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14586,7 +15118,7 @@ func (x *StarAction) String() string {
func (*StarAction) ProtoMessage() {}
func (x *StarAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[115]
+ mi := &file_binary_proto_def_proto_msgTypes[117]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14599,7 +15131,7 @@ func (x *StarAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use StarAction.ProtoReflect.Descriptor instead.
func (*StarAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{115}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{117}
}
func (x *StarAction) GetStarred() bool {
@@ -14620,7 +15152,7 @@ type SecurityNotificationSetting struct {
func (x *SecurityNotificationSetting) Reset() {
*x = SecurityNotificationSetting{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[116]
+ mi := &file_binary_proto_def_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14633,7 +15165,7 @@ func (x *SecurityNotificationSetting) String() string {
func (*SecurityNotificationSetting) ProtoMessage() {}
func (x *SecurityNotificationSetting) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[116]
+ mi := &file_binary_proto_def_proto_msgTypes[118]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14646,7 +15178,7 @@ func (x *SecurityNotificationSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use SecurityNotificationSetting.ProtoReflect.Descriptor instead.
func (*SecurityNotificationSetting) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{116}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{118}
}
func (x *SecurityNotificationSetting) GetShowNotification() bool {
@@ -14667,7 +15199,7 @@ type RemoveRecentStickerAction struct {
func (x *RemoveRecentStickerAction) Reset() {
*x = RemoveRecentStickerAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[117]
+ mi := &file_binary_proto_def_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14680,7 +15212,7 @@ func (x *RemoveRecentStickerAction) String() string {
func (*RemoveRecentStickerAction) ProtoMessage() {}
func (x *RemoveRecentStickerAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[117]
+ mi := &file_binary_proto_def_proto_msgTypes[119]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14693,7 +15225,7 @@ func (x *RemoveRecentStickerAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveRecentStickerAction.ProtoReflect.Descriptor instead.
func (*RemoveRecentStickerAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{117}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{119}
}
func (x *RemoveRecentStickerAction) GetLastStickerSentTs() int64 {
@@ -14714,7 +15246,7 @@ type RecentEmojiWeightsAction struct {
func (x *RecentEmojiWeightsAction) Reset() {
*x = RecentEmojiWeightsAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[118]
+ mi := &file_binary_proto_def_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14727,7 +15259,7 @@ func (x *RecentEmojiWeightsAction) String() string {
func (*RecentEmojiWeightsAction) ProtoMessage() {}
func (x *RecentEmojiWeightsAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[118]
+ mi := &file_binary_proto_def_proto_msgTypes[120]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14740,7 +15272,7 @@ func (x *RecentEmojiWeightsAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use RecentEmojiWeightsAction.ProtoReflect.Descriptor instead.
func (*RecentEmojiWeightsAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{118}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{120}
}
func (x *RecentEmojiWeightsAction) GetWeights() []*RecentEmojiWeight {
@@ -14765,7 +15297,7 @@ type QuickReplyAction struct {
func (x *QuickReplyAction) Reset() {
*x = QuickReplyAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[119]
+ mi := &file_binary_proto_def_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14778,7 +15310,7 @@ func (x *QuickReplyAction) String() string {
func (*QuickReplyAction) ProtoMessage() {}
func (x *QuickReplyAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[119]
+ mi := &file_binary_proto_def_proto_msgTypes[121]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14791,7 +15323,7 @@ func (x *QuickReplyAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use QuickReplyAction.ProtoReflect.Descriptor instead.
func (*QuickReplyAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{119}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{121}
}
func (x *QuickReplyAction) GetShortcut() string {
@@ -14840,7 +15372,7 @@ type PushNameSetting struct {
func (x *PushNameSetting) Reset() {
*x = PushNameSetting{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[120]
+ mi := &file_binary_proto_def_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14853,7 +15385,7 @@ func (x *PushNameSetting) String() string {
func (*PushNameSetting) ProtoMessage() {}
func (x *PushNameSetting) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[120]
+ mi := &file_binary_proto_def_proto_msgTypes[122]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14866,7 +15398,7 @@ func (x *PushNameSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use PushNameSetting.ProtoReflect.Descriptor instead.
func (*PushNameSetting) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{120}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{122}
}
func (x *PushNameSetting) GetName() string {
@@ -14876,6 +15408,53 @@ func (x *PushNameSetting) GetName() string {
return ""
}
+type PrivacySettingRelayAllCalls struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEnabled *bool `protobuf:"varint,1,opt,name=isEnabled" json:"isEnabled,omitempty"`
+}
+
+func (x *PrivacySettingRelayAllCalls) Reset() {
+ *x = PrivacySettingRelayAllCalls{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[123]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PrivacySettingRelayAllCalls) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PrivacySettingRelayAllCalls) ProtoMessage() {}
+
+func (x *PrivacySettingRelayAllCalls) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[123]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PrivacySettingRelayAllCalls.ProtoReflect.Descriptor instead.
+func (*PrivacySettingRelayAllCalls) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{123}
+}
+
+func (x *PrivacySettingRelayAllCalls) GetIsEnabled() bool {
+ if x != nil && x.IsEnabled != nil {
+ return *x.IsEnabled
+ }
+ return false
+}
+
type PrimaryVersionAction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -14887,7 +15466,7 @@ type PrimaryVersionAction struct {
func (x *PrimaryVersionAction) Reset() {
*x = PrimaryVersionAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[121]
+ mi := &file_binary_proto_def_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14900,7 +15479,7 @@ func (x *PrimaryVersionAction) String() string {
func (*PrimaryVersionAction) ProtoMessage() {}
func (x *PrimaryVersionAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[121]
+ mi := &file_binary_proto_def_proto_msgTypes[124]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14913,7 +15492,7 @@ func (x *PrimaryVersionAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrimaryVersionAction.ProtoReflect.Descriptor instead.
func (*PrimaryVersionAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{121}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{124}
}
func (x *PrimaryVersionAction) GetVersion() string {
@@ -14934,7 +15513,7 @@ type PrimaryFeature struct {
func (x *PrimaryFeature) Reset() {
*x = PrimaryFeature{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[122]
+ mi := &file_binary_proto_def_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14947,7 +15526,7 @@ func (x *PrimaryFeature) String() string {
func (*PrimaryFeature) ProtoMessage() {}
func (x *PrimaryFeature) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[122]
+ mi := &file_binary_proto_def_proto_msgTypes[125]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14960,7 +15539,7 @@ func (x *PrimaryFeature) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrimaryFeature.ProtoReflect.Descriptor instead.
func (*PrimaryFeature) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{122}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{125}
}
func (x *PrimaryFeature) GetFlags() []string {
@@ -14981,7 +15560,7 @@ type PnForLidChatAction struct {
func (x *PnForLidChatAction) Reset() {
*x = PnForLidChatAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[123]
+ mi := &file_binary_proto_def_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14994,7 +15573,7 @@ func (x *PnForLidChatAction) String() string {
func (*PnForLidChatAction) ProtoMessage() {}
func (x *PnForLidChatAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[123]
+ mi := &file_binary_proto_def_proto_msgTypes[126]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15007,7 +15586,7 @@ func (x *PnForLidChatAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use PnForLidChatAction.ProtoReflect.Descriptor instead.
func (*PnForLidChatAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{123}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{126}
}
func (x *PnForLidChatAction) GetPnJid() string {
@@ -15028,7 +15607,7 @@ type PinAction struct {
func (x *PinAction) Reset() {
*x = PinAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[124]
+ mi := &file_binary_proto_def_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15041,7 +15620,7 @@ func (x *PinAction) String() string {
func (*PinAction) ProtoMessage() {}
func (x *PinAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[124]
+ mi := &file_binary_proto_def_proto_msgTypes[127]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15054,7 +15633,7 @@ func (x *PinAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use PinAction.ProtoReflect.Descriptor instead.
func (*PinAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{124}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{127}
}
func (x *PinAction) GetPinned() bool {
@@ -15075,7 +15654,7 @@ type NuxAction struct {
func (x *NuxAction) Reset() {
*x = NuxAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[125]
+ mi := &file_binary_proto_def_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15088,7 +15667,7 @@ func (x *NuxAction) String() string {
func (*NuxAction) ProtoMessage() {}
func (x *NuxAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[125]
+ mi := &file_binary_proto_def_proto_msgTypes[128]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15101,7 +15680,7 @@ func (x *NuxAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use NuxAction.ProtoReflect.Descriptor instead.
func (*NuxAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{125}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{128}
}
func (x *NuxAction) GetAcknowledged() bool {
@@ -15124,7 +15703,7 @@ type MuteAction struct {
func (x *MuteAction) Reset() {
*x = MuteAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[126]
+ mi := &file_binary_proto_def_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15137,7 +15716,7 @@ func (x *MuteAction) String() string {
func (*MuteAction) ProtoMessage() {}
func (x *MuteAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[126]
+ mi := &file_binary_proto_def_proto_msgTypes[129]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15150,7 +15729,7 @@ func (x *MuteAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use MuteAction.ProtoReflect.Descriptor instead.
func (*MuteAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{126}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{129}
}
func (x *MuteAction) GetMuted() bool {
@@ -15174,6 +15753,148 @@ func (x *MuteAction) GetAutoMuted() bool {
return false
}
+type MarketingMessageBroadcastAction struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RepliedCount *int32 `protobuf:"varint,1,opt,name=repliedCount" json:"repliedCount,omitempty"`
+}
+
+func (x *MarketingMessageBroadcastAction) Reset() {
+ *x = MarketingMessageBroadcastAction{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[130]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarketingMessageBroadcastAction) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarketingMessageBroadcastAction) ProtoMessage() {}
+
+func (x *MarketingMessageBroadcastAction) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[130]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarketingMessageBroadcastAction.ProtoReflect.Descriptor instead.
+func (*MarketingMessageBroadcastAction) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{130}
+}
+
+func (x *MarketingMessageBroadcastAction) GetRepliedCount() int32 {
+ if x != nil && x.RepliedCount != nil {
+ return *x.RepliedCount
+ }
+ return 0
+}
+
+type MarketingMessageAction struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+ Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
+ Type *MarketingMessageAction_MarketingMessagePrototypeType `protobuf:"varint,3,opt,name=type,enum=proto.MarketingMessageAction_MarketingMessagePrototypeType" json:"type,omitempty"`
+ CreatedAt *int64 `protobuf:"varint,4,opt,name=createdAt" json:"createdAt,omitempty"`
+ LastSentAt *int64 `protobuf:"varint,5,opt,name=lastSentAt" json:"lastSentAt,omitempty"`
+ IsDeleted *bool `protobuf:"varint,6,opt,name=isDeleted" json:"isDeleted,omitempty"`
+ MediaId *string `protobuf:"bytes,7,opt,name=mediaId" json:"mediaId,omitempty"`
+}
+
+func (x *MarketingMessageAction) Reset() {
+ *x = MarketingMessageAction{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[131]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarketingMessageAction) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarketingMessageAction) ProtoMessage() {}
+
+func (x *MarketingMessageAction) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[131]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarketingMessageAction.ProtoReflect.Descriptor instead.
+func (*MarketingMessageAction) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{131}
+}
+
+func (x *MarketingMessageAction) GetName() string {
+ if x != nil && x.Name != nil {
+ return *x.Name
+ }
+ return ""
+}
+
+func (x *MarketingMessageAction) GetMessage() string {
+ if x != nil && x.Message != nil {
+ return *x.Message
+ }
+ return ""
+}
+
+func (x *MarketingMessageAction) GetType() MarketingMessageAction_MarketingMessagePrototypeType {
+ if x != nil && x.Type != nil {
+ return *x.Type
+ }
+ return MarketingMessageAction_PERSONALIZED
+}
+
+func (x *MarketingMessageAction) GetCreatedAt() int64 {
+ if x != nil && x.CreatedAt != nil {
+ return *x.CreatedAt
+ }
+ return 0
+}
+
+func (x *MarketingMessageAction) GetLastSentAt() int64 {
+ if x != nil && x.LastSentAt != nil {
+ return *x.LastSentAt
+ }
+ return 0
+}
+
+func (x *MarketingMessageAction) GetIsDeleted() bool {
+ if x != nil && x.IsDeleted != nil {
+ return *x.IsDeleted
+ }
+ return false
+}
+
+func (x *MarketingMessageAction) GetMediaId() string {
+ if x != nil && x.MediaId != nil {
+ return *x.MediaId
+ }
+ return ""
+}
+
type MarkChatAsReadAction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -15186,7 +15907,7 @@ type MarkChatAsReadAction struct {
func (x *MarkChatAsReadAction) Reset() {
*x = MarkChatAsReadAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[127]
+ mi := &file_binary_proto_def_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15199,7 +15920,7 @@ func (x *MarkChatAsReadAction) String() string {
func (*MarkChatAsReadAction) ProtoMessage() {}
func (x *MarkChatAsReadAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[127]
+ mi := &file_binary_proto_def_proto_msgTypes[132]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15212,7 +15933,7 @@ func (x *MarkChatAsReadAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use MarkChatAsReadAction.ProtoReflect.Descriptor instead.
func (*MarkChatAsReadAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{127}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{132}
}
func (x *MarkChatAsReadAction) GetRead() bool {
@@ -15240,7 +15961,7 @@ type LocaleSetting struct {
func (x *LocaleSetting) Reset() {
*x = LocaleSetting{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[128]
+ mi := &file_binary_proto_def_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15253,7 +15974,7 @@ func (x *LocaleSetting) String() string {
func (*LocaleSetting) ProtoMessage() {}
func (x *LocaleSetting) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[128]
+ mi := &file_binary_proto_def_proto_msgTypes[133]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15266,7 +15987,7 @@ func (x *LocaleSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use LocaleSetting.ProtoReflect.Descriptor instead.
func (*LocaleSetting) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{128}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{133}
}
func (x *LocaleSetting) GetLocale() string {
@@ -15290,7 +16011,7 @@ type LabelEditAction struct {
func (x *LabelEditAction) Reset() {
*x = LabelEditAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[129]
+ mi := &file_binary_proto_def_proto_msgTypes[134]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15303,7 +16024,7 @@ func (x *LabelEditAction) String() string {
func (*LabelEditAction) ProtoMessage() {}
func (x *LabelEditAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[129]
+ mi := &file_binary_proto_def_proto_msgTypes[134]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15316,7 +16037,7 @@ func (x *LabelEditAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use LabelEditAction.ProtoReflect.Descriptor instead.
func (*LabelEditAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{129}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{134}
}
func (x *LabelEditAction) GetName() string {
@@ -15358,7 +16079,7 @@ type LabelAssociationAction struct {
func (x *LabelAssociationAction) Reset() {
*x = LabelAssociationAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[130]
+ mi := &file_binary_proto_def_proto_msgTypes[135]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15371,7 +16092,7 @@ func (x *LabelAssociationAction) String() string {
func (*LabelAssociationAction) ProtoMessage() {}
func (x *LabelAssociationAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[130]
+ mi := &file_binary_proto_def_proto_msgTypes[135]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15384,7 +16105,7 @@ func (x *LabelAssociationAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use LabelAssociationAction.ProtoReflect.Descriptor instead.
func (*LabelAssociationAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{130}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{135}
}
func (x *LabelAssociationAction) GetLabeled() bool {
@@ -15405,7 +16126,7 @@ type KeyExpiration struct {
func (x *KeyExpiration) Reset() {
*x = KeyExpiration{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[131]
+ mi := &file_binary_proto_def_proto_msgTypes[136]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15418,7 +16139,7 @@ func (x *KeyExpiration) String() string {
func (*KeyExpiration) ProtoMessage() {}
func (x *KeyExpiration) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[131]
+ mi := &file_binary_proto_def_proto_msgTypes[136]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15431,7 +16152,7 @@ func (x *KeyExpiration) ProtoReflect() protoreflect.Message {
// Deprecated: Use KeyExpiration.ProtoReflect.Descriptor instead.
func (*KeyExpiration) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{131}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{136}
}
func (x *KeyExpiration) GetExpiredKeyEpoch() int32 {
@@ -15441,6 +16162,53 @@ func (x *KeyExpiration) GetExpiredKeyEpoch() int32 {
return 0
}
+type ExternalWebBetaAction struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOptIn *bool `protobuf:"varint,1,opt,name=isOptIn" json:"isOptIn,omitempty"`
+}
+
+func (x *ExternalWebBetaAction) Reset() {
+ *x = ExternalWebBetaAction{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[137]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExternalWebBetaAction) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExternalWebBetaAction) ProtoMessage() {}
+
+func (x *ExternalWebBetaAction) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[137]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExternalWebBetaAction.ProtoReflect.Descriptor instead.
+func (*ExternalWebBetaAction) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{137}
+}
+
+func (x *ExternalWebBetaAction) GetIsOptIn() bool {
+ if x != nil && x.IsOptIn != nil {
+ return *x.IsOptIn
+ }
+ return false
+}
+
type DeleteMessageForMeAction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -15453,7 +16221,7 @@ type DeleteMessageForMeAction struct {
func (x *DeleteMessageForMeAction) Reset() {
*x = DeleteMessageForMeAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[132]
+ mi := &file_binary_proto_def_proto_msgTypes[138]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15466,7 +16234,7 @@ func (x *DeleteMessageForMeAction) String() string {
func (*DeleteMessageForMeAction) ProtoMessage() {}
func (x *DeleteMessageForMeAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[132]
+ mi := &file_binary_proto_def_proto_msgTypes[138]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15479,7 +16247,7 @@ func (x *DeleteMessageForMeAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteMessageForMeAction.ProtoReflect.Descriptor instead.
func (*DeleteMessageForMeAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{132}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{138}
}
func (x *DeleteMessageForMeAction) GetDeleteMedia() bool {
@@ -15507,7 +16275,7 @@ type DeleteChatAction struct {
func (x *DeleteChatAction) Reset() {
*x = DeleteChatAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[133]
+ mi := &file_binary_proto_def_proto_msgTypes[139]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15520,7 +16288,7 @@ func (x *DeleteChatAction) String() string {
func (*DeleteChatAction) ProtoMessage() {}
func (x *DeleteChatAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[133]
+ mi := &file_binary_proto_def_proto_msgTypes[139]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15533,7 +16301,7 @@ func (x *DeleteChatAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteChatAction.ProtoReflect.Descriptor instead.
func (*DeleteChatAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{133}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{139}
}
func (x *DeleteChatAction) GetMessageRange() *SyncActionMessageRange {
@@ -15556,7 +16324,7 @@ type ContactAction struct {
func (x *ContactAction) Reset() {
*x = ContactAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[134]
+ mi := &file_binary_proto_def_proto_msgTypes[140]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15569,7 +16337,7 @@ func (x *ContactAction) String() string {
func (*ContactAction) ProtoMessage() {}
func (x *ContactAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[134]
+ mi := &file_binary_proto_def_proto_msgTypes[140]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15582,7 +16350,7 @@ func (x *ContactAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use ContactAction.ProtoReflect.Descriptor instead.
func (*ContactAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{134}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{140}
}
func (x *ContactAction) GetFullName() string {
@@ -15617,7 +16385,7 @@ type ClearChatAction struct {
func (x *ClearChatAction) Reset() {
*x = ClearChatAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[135]
+ mi := &file_binary_proto_def_proto_msgTypes[141]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15630,7 +16398,7 @@ func (x *ClearChatAction) String() string {
func (*ClearChatAction) ProtoMessage() {}
func (x *ClearChatAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[135]
+ mi := &file_binary_proto_def_proto_msgTypes[141]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15643,7 +16411,7 @@ func (x *ClearChatAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use ClearChatAction.ProtoReflect.Descriptor instead.
func (*ClearChatAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{135}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{141}
}
func (x *ClearChatAction) GetMessageRange() *SyncActionMessageRange {
@@ -15664,7 +16432,7 @@ type ChatAssignmentOpenedStatusAction struct {
func (x *ChatAssignmentOpenedStatusAction) Reset() {
*x = ChatAssignmentOpenedStatusAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[136]
+ mi := &file_binary_proto_def_proto_msgTypes[142]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15677,7 +16445,7 @@ func (x *ChatAssignmentOpenedStatusAction) String() string {
func (*ChatAssignmentOpenedStatusAction) ProtoMessage() {}
func (x *ChatAssignmentOpenedStatusAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[136]
+ mi := &file_binary_proto_def_proto_msgTypes[142]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15690,7 +16458,7 @@ func (x *ChatAssignmentOpenedStatusAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChatAssignmentOpenedStatusAction.ProtoReflect.Descriptor instead.
func (*ChatAssignmentOpenedStatusAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{136}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{142}
}
func (x *ChatAssignmentOpenedStatusAction) GetChatOpened() bool {
@@ -15711,7 +16479,7 @@ type ChatAssignmentAction struct {
func (x *ChatAssignmentAction) Reset() {
*x = ChatAssignmentAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[137]
+ mi := &file_binary_proto_def_proto_msgTypes[143]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15724,7 +16492,7 @@ func (x *ChatAssignmentAction) String() string {
func (*ChatAssignmentAction) ProtoMessage() {}
func (x *ChatAssignmentAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[137]
+ mi := &file_binary_proto_def_proto_msgTypes[143]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15737,7 +16505,7 @@ func (x *ChatAssignmentAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChatAssignmentAction.ProtoReflect.Descriptor instead.
func (*ChatAssignmentAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{137}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{143}
}
func (x *ChatAssignmentAction) GetDeviceAgentID() string {
@@ -15759,7 +16527,7 @@ type ArchiveChatAction struct {
func (x *ArchiveChatAction) Reset() {
*x = ArchiveChatAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[138]
+ mi := &file_binary_proto_def_proto_msgTypes[144]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15772,7 +16540,7 @@ func (x *ArchiveChatAction) String() string {
func (*ArchiveChatAction) ProtoMessage() {}
func (x *ArchiveChatAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[138]
+ mi := &file_binary_proto_def_proto_msgTypes[144]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15785,7 +16553,7 @@ func (x *ArchiveChatAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArchiveChatAction.ProtoReflect.Descriptor instead.
func (*ArchiveChatAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{138}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{144}
}
func (x *ArchiveChatAction) GetArchived() bool {
@@ -15813,7 +16581,7 @@ type AndroidUnsupportedActions struct {
func (x *AndroidUnsupportedActions) Reset() {
*x = AndroidUnsupportedActions{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[139]
+ mi := &file_binary_proto_def_proto_msgTypes[145]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15826,7 +16594,7 @@ func (x *AndroidUnsupportedActions) String() string {
func (*AndroidUnsupportedActions) ProtoMessage() {}
func (x *AndroidUnsupportedActions) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[139]
+ mi := &file_binary_proto_def_proto_msgTypes[145]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15839,7 +16607,7 @@ func (x *AndroidUnsupportedActions) ProtoReflect() protoreflect.Message {
// Deprecated: Use AndroidUnsupportedActions.ProtoReflect.Descriptor instead.
func (*AndroidUnsupportedActions) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{139}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{145}
}
func (x *AndroidUnsupportedActions) GetAllowed() bool {
@@ -15862,7 +16630,7 @@ type AgentAction struct {
func (x *AgentAction) Reset() {
*x = AgentAction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[140]
+ mi := &file_binary_proto_def_proto_msgTypes[146]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15875,7 +16643,7 @@ func (x *AgentAction) String() string {
func (*AgentAction) ProtoMessage() {}
func (x *AgentAction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[140]
+ mi := &file_binary_proto_def_proto_msgTypes[146]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15888,7 +16656,7 @@ func (x *AgentAction) ProtoReflect() protoreflect.Message {
// Deprecated: Use AgentAction.ProtoReflect.Descriptor instead.
func (*AgentAction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{140}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{146}
}
func (x *AgentAction) GetName() string {
@@ -15926,7 +16694,7 @@ type SyncActionData struct {
func (x *SyncActionData) Reset() {
*x = SyncActionData{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[141]
+ mi := &file_binary_proto_def_proto_msgTypes[147]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15939,7 +16707,7 @@ func (x *SyncActionData) String() string {
func (*SyncActionData) ProtoMessage() {}
func (x *SyncActionData) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[141]
+ mi := &file_binary_proto_def_proto_msgTypes[147]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15952,7 +16720,7 @@ func (x *SyncActionData) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncActionData.ProtoReflect.Descriptor instead.
func (*SyncActionData) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{141}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{147}
}
func (x *SyncActionData) GetIndex() []byte {
@@ -15995,7 +16763,7 @@ type RecentEmojiWeight struct {
func (x *RecentEmojiWeight) Reset() {
*x = RecentEmojiWeight{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[142]
+ mi := &file_binary_proto_def_proto_msgTypes[148]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16008,7 +16776,7 @@ func (x *RecentEmojiWeight) String() string {
func (*RecentEmojiWeight) ProtoMessage() {}
func (x *RecentEmojiWeight) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[142]
+ mi := &file_binary_proto_def_proto_msgTypes[148]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16021,7 +16789,7 @@ func (x *RecentEmojiWeight) ProtoReflect() protoreflect.Message {
// Deprecated: Use RecentEmojiWeight.ProtoReflect.Descriptor instead.
func (*RecentEmojiWeight) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{142}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{148}
}
func (x *RecentEmojiWeight) GetEmoji() string {
@@ -16051,7 +16819,7 @@ type VerifiedNameCertificate struct {
func (x *VerifiedNameCertificate) Reset() {
*x = VerifiedNameCertificate{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[143]
+ mi := &file_binary_proto_def_proto_msgTypes[149]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16064,7 +16832,7 @@ func (x *VerifiedNameCertificate) String() string {
func (*VerifiedNameCertificate) ProtoMessage() {}
func (x *VerifiedNameCertificate) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[143]
+ mi := &file_binary_proto_def_proto_msgTypes[149]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16077,7 +16845,7 @@ func (x *VerifiedNameCertificate) ProtoReflect() protoreflect.Message {
// Deprecated: Use VerifiedNameCertificate.ProtoReflect.Descriptor instead.
func (*VerifiedNameCertificate) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{143}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{149}
}
func (x *VerifiedNameCertificate) GetDetails() []byte {
@@ -16114,7 +16882,7 @@ type LocalizedName struct {
func (x *LocalizedName) Reset() {
*x = LocalizedName{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[144]
+ mi := &file_binary_proto_def_proto_msgTypes[150]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16127,7 +16895,7 @@ func (x *LocalizedName) String() string {
func (*LocalizedName) ProtoMessage() {}
func (x *LocalizedName) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[144]
+ mi := &file_binary_proto_def_proto_msgTypes[150]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16140,7 +16908,7 @@ func (x *LocalizedName) ProtoReflect() protoreflect.Message {
// Deprecated: Use LocalizedName.ProtoReflect.Descriptor instead.
func (*LocalizedName) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{144}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{150}
}
func (x *LocalizedName) GetLg() string {
@@ -16182,7 +16950,7 @@ type BizIdentityInfo struct {
func (x *BizIdentityInfo) Reset() {
*x = BizIdentityInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[145]
+ mi := &file_binary_proto_def_proto_msgTypes[151]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16195,7 +16963,7 @@ func (x *BizIdentityInfo) String() string {
func (*BizIdentityInfo) ProtoMessage() {}
func (x *BizIdentityInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[145]
+ mi := &file_binary_proto_def_proto_msgTypes[151]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16208,7 +16976,7 @@ func (x *BizIdentityInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use BizIdentityInfo.ProtoReflect.Descriptor instead.
func (*BizIdentityInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{145}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{151}
}
func (x *BizIdentityInfo) GetVlevel() BizIdentityInfo_VerifiedLevelValue {
@@ -16279,7 +17047,7 @@ type BizAccountPayload struct {
func (x *BizAccountPayload) Reset() {
*x = BizAccountPayload{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[146]
+ mi := &file_binary_proto_def_proto_msgTypes[152]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16292,7 +17060,7 @@ func (x *BizAccountPayload) String() string {
func (*BizAccountPayload) ProtoMessage() {}
func (x *BizAccountPayload) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[146]
+ mi := &file_binary_proto_def_proto_msgTypes[152]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16305,7 +17073,7 @@ func (x *BizAccountPayload) ProtoReflect() protoreflect.Message {
// Deprecated: Use BizAccountPayload.ProtoReflect.Descriptor instead.
func (*BizAccountPayload) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{146}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{152}
}
func (x *BizAccountPayload) GetVnameCert() *VerifiedNameCertificate {
@@ -16337,7 +17105,7 @@ type BizAccountLinkInfo struct {
func (x *BizAccountLinkInfo) Reset() {
*x = BizAccountLinkInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[147]
+ mi := &file_binary_proto_def_proto_msgTypes[153]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16350,7 +17118,7 @@ func (x *BizAccountLinkInfo) String() string {
func (*BizAccountLinkInfo) ProtoMessage() {}
func (x *BizAccountLinkInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[147]
+ mi := &file_binary_proto_def_proto_msgTypes[153]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16363,7 +17131,7 @@ func (x *BizAccountLinkInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use BizAccountLinkInfo.ProtoReflect.Descriptor instead.
func (*BizAccountLinkInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{147}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{153}
}
func (x *BizAccountLinkInfo) GetWhatsappBizAcctFbid() uint64 {
@@ -16414,7 +17182,7 @@ type HandshakeMessage struct {
func (x *HandshakeMessage) Reset() {
*x = HandshakeMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[148]
+ mi := &file_binary_proto_def_proto_msgTypes[154]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16427,7 +17195,7 @@ func (x *HandshakeMessage) String() string {
func (*HandshakeMessage) ProtoMessage() {}
func (x *HandshakeMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[148]
+ mi := &file_binary_proto_def_proto_msgTypes[154]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16440,7 +17208,7 @@ func (x *HandshakeMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use HandshakeMessage.ProtoReflect.Descriptor instead.
func (*HandshakeMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{148}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{154}
}
func (x *HandshakeMessage) GetClientHello() *HandshakeClientHello {
@@ -16477,7 +17245,7 @@ type HandshakeServerHello struct {
func (x *HandshakeServerHello) Reset() {
*x = HandshakeServerHello{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[149]
+ mi := &file_binary_proto_def_proto_msgTypes[155]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16490,7 +17258,7 @@ func (x *HandshakeServerHello) String() string {
func (*HandshakeServerHello) ProtoMessage() {}
func (x *HandshakeServerHello) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[149]
+ mi := &file_binary_proto_def_proto_msgTypes[155]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16503,7 +17271,7 @@ func (x *HandshakeServerHello) ProtoReflect() protoreflect.Message {
// Deprecated: Use HandshakeServerHello.ProtoReflect.Descriptor instead.
func (*HandshakeServerHello) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{149}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{155}
}
func (x *HandshakeServerHello) GetEphemeral() []byte {
@@ -16540,7 +17308,7 @@ type HandshakeClientHello struct {
func (x *HandshakeClientHello) Reset() {
*x = HandshakeClientHello{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[150]
+ mi := &file_binary_proto_def_proto_msgTypes[156]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16553,7 +17321,7 @@ func (x *HandshakeClientHello) String() string {
func (*HandshakeClientHello) ProtoMessage() {}
func (x *HandshakeClientHello) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[150]
+ mi := &file_binary_proto_def_proto_msgTypes[156]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16566,7 +17334,7 @@ func (x *HandshakeClientHello) ProtoReflect() protoreflect.Message {
// Deprecated: Use HandshakeClientHello.ProtoReflect.Descriptor instead.
func (*HandshakeClientHello) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{150}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{156}
}
func (x *HandshakeClientHello) GetEphemeral() []byte {
@@ -16602,7 +17370,7 @@ type HandshakeClientFinish struct {
func (x *HandshakeClientFinish) Reset() {
*x = HandshakeClientFinish{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[151]
+ mi := &file_binary_proto_def_proto_msgTypes[157]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16615,7 +17383,7 @@ func (x *HandshakeClientFinish) String() string {
func (*HandshakeClientFinish) ProtoMessage() {}
func (x *HandshakeClientFinish) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[151]
+ mi := &file_binary_proto_def_proto_msgTypes[157]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16628,7 +17396,7 @@ func (x *HandshakeClientFinish) ProtoReflect() protoreflect.Message {
// Deprecated: Use HandshakeClientFinish.ProtoReflect.Descriptor instead.
func (*HandshakeClientFinish) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{151}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{157}
}
func (x *HandshakeClientFinish) GetStatic() []byte {
@@ -16676,12 +17444,13 @@ type ClientPayload struct {
PaddingBytes []byte `protobuf:"bytes,34,opt,name=paddingBytes" json:"paddingBytes,omitempty"`
YearClass *int32 `protobuf:"varint,36,opt,name=yearClass" json:"yearClass,omitempty"`
MemClass *int32 `protobuf:"varint,37,opt,name=memClass" json:"memClass,omitempty"`
+ InteropData *ClientPayload_InteropData `protobuf:"bytes,38,opt,name=interopData" json:"interopData,omitempty"`
}
func (x *ClientPayload) Reset() {
*x = ClientPayload{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[152]
+ mi := &file_binary_proto_def_proto_msgTypes[158]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16694,7 +17463,7 @@ func (x *ClientPayload) String() string {
func (*ClientPayload) ProtoMessage() {}
func (x *ClientPayload) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[152]
+ mi := &file_binary_proto_def_proto_msgTypes[158]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16707,7 +17476,7 @@ func (x *ClientPayload) ProtoReflect() protoreflect.Message {
// Deprecated: Use ClientPayload.ProtoReflect.Descriptor instead.
func (*ClientPayload) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158}
}
func (x *ClientPayload) GetUsername() uint64 {
@@ -16892,6 +17661,13 @@ func (x *ClientPayload) GetMemClass() int32 {
return 0
}
+func (x *ClientPayload) GetInteropData() *ClientPayload_InteropData {
+ if x != nil {
+ return x.InteropData
+ }
+ return nil
+}
+
type WebNotificationsInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -16906,7 +17682,7 @@ type WebNotificationsInfo struct {
func (x *WebNotificationsInfo) Reset() {
*x = WebNotificationsInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[153]
+ mi := &file_binary_proto_def_proto_msgTypes[159]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16919,7 +17695,7 @@ func (x *WebNotificationsInfo) String() string {
func (*WebNotificationsInfo) ProtoMessage() {}
func (x *WebNotificationsInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[153]
+ mi := &file_binary_proto_def_proto_msgTypes[159]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16932,7 +17708,7 @@ func (x *WebNotificationsInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use WebNotificationsInfo.ProtoReflect.Descriptor instead.
func (*WebNotificationsInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{153}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{159}
}
func (x *WebNotificationsInfo) GetTimestamp() uint64 {
@@ -17011,12 +17787,13 @@ type WebMessageInfo struct {
KeepInChat *KeepInChat `protobuf:"bytes,50,opt,name=keepInChat" json:"keepInChat,omitempty"`
OriginalSelfAuthorUserJidString *string `protobuf:"bytes,51,opt,name=originalSelfAuthorUserJidString" json:"originalSelfAuthorUserJidString,omitempty"`
RevokeMessageTimestamp *uint64 `protobuf:"varint,52,opt,name=revokeMessageTimestamp" json:"revokeMessageTimestamp,omitempty"`
+ PinInChat *PinInChat `protobuf:"bytes,54,opt,name=pinInChat" json:"pinInChat,omitempty"`
}
func (x *WebMessageInfo) Reset() {
*x = WebMessageInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[154]
+ mi := &file_binary_proto_def_proto_msgTypes[160]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -17029,7 +17806,7 @@ func (x *WebMessageInfo) String() string {
func (*WebMessageInfo) ProtoMessage() {}
func (x *WebMessageInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[154]
+ mi := &file_binary_proto_def_proto_msgTypes[160]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -17042,7 +17819,7 @@ func (x *WebMessageInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use WebMessageInfo.ProtoReflect.Descriptor instead.
func (*WebMessageInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{154}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{160}
}
func (x *WebMessageInfo) GetKey() *MessageKey {
@@ -17346,6 +18123,13 @@ func (x *WebMessageInfo) GetRevokeMessageTimestamp() uint64 {
return 0
}
+func (x *WebMessageInfo) GetPinInChat() *PinInChat {
+ if x != nil {
+ return x.PinInChat
+ }
+ return nil
+}
+
type WebFeatures struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -17401,7 +18185,7 @@ type WebFeatures struct {
func (x *WebFeatures) Reset() {
*x = WebFeatures{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[155]
+ mi := &file_binary_proto_def_proto_msgTypes[161]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -17414,7 +18198,7 @@ func (x *WebFeatures) String() string {
func (*WebFeatures) ProtoMessage() {}
func (x *WebFeatures) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[155]
+ mi := &file_binary_proto_def_proto_msgTypes[161]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -17427,7 +18211,7 @@ func (x *WebFeatures) ProtoReflect() protoreflect.Message {
// Deprecated: Use WebFeatures.ProtoReflect.Descriptor instead.
func (*WebFeatures) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{155}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{161}
}
func (x *WebFeatures) GetLabelsDisplay() WebFeatures_Flag {
@@ -17761,7 +18545,7 @@ type UserReceipt struct {
func (x *UserReceipt) Reset() {
*x = UserReceipt{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[156]
+ mi := &file_binary_proto_def_proto_msgTypes[162]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -17774,7 +18558,7 @@ func (x *UserReceipt) String() string {
func (*UserReceipt) ProtoMessage() {}
func (x *UserReceipt) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[156]
+ mi := &file_binary_proto_def_proto_msgTypes[162]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -17787,7 +18571,7 @@ func (x *UserReceipt) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserReceipt.ProtoReflect.Descriptor instead.
func (*UserReceipt) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{156}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{162}
}
func (x *UserReceipt) GetUserJid() string {
@@ -17844,7 +18628,7 @@ type StatusPSA struct {
func (x *StatusPSA) Reset() {
*x = StatusPSA{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[157]
+ mi := &file_binary_proto_def_proto_msgTypes[163]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -17857,7 +18641,7 @@ func (x *StatusPSA) String() string {
func (*StatusPSA) ProtoMessage() {}
func (x *StatusPSA) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[157]
+ mi := &file_binary_proto_def_proto_msgTypes[163]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -17870,7 +18654,7 @@ func (x *StatusPSA) ProtoReflect() protoreflect.Message {
// Deprecated: Use StatusPSA.ProtoReflect.Descriptor instead.
func (*StatusPSA) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{157}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{163}
}
func (x *StatusPSA) GetCampaignId() uint64 {
@@ -17902,7 +18686,7 @@ type Reaction struct {
func (x *Reaction) Reset() {
*x = Reaction{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[158]
+ mi := &file_binary_proto_def_proto_msgTypes[164]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -17915,7 +18699,7 @@ func (x *Reaction) String() string {
func (*Reaction) ProtoMessage() {}
func (x *Reaction) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[158]
+ mi := &file_binary_proto_def_proto_msgTypes[164]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -17928,7 +18712,7 @@ func (x *Reaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use Reaction.ProtoReflect.Descriptor instead.
func (*Reaction) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{158}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{164}
}
func (x *Reaction) GetKey() *MessageKey {
@@ -17981,7 +18765,7 @@ type PollUpdate struct {
func (x *PollUpdate) Reset() {
*x = PollUpdate{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[159]
+ mi := &file_binary_proto_def_proto_msgTypes[165]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -17994,7 +18778,7 @@ func (x *PollUpdate) String() string {
func (*PollUpdate) ProtoMessage() {}
func (x *PollUpdate) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[159]
+ mi := &file_binary_proto_def_proto_msgTypes[165]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18007,7 +18791,7 @@ func (x *PollUpdate) ProtoReflect() protoreflect.Message {
// Deprecated: Use PollUpdate.ProtoReflect.Descriptor instead.
func (*PollUpdate) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{159}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{165}
}
func (x *PollUpdate) GetPollUpdateMessageKey() *MessageKey {
@@ -18056,7 +18840,7 @@ type PollAdditionalMetadata struct {
func (x *PollAdditionalMetadata) Reset() {
*x = PollAdditionalMetadata{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[160]
+ mi := &file_binary_proto_def_proto_msgTypes[166]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18069,7 +18853,7 @@ func (x *PollAdditionalMetadata) String() string {
func (*PollAdditionalMetadata) ProtoMessage() {}
func (x *PollAdditionalMetadata) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[160]
+ mi := &file_binary_proto_def_proto_msgTypes[166]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18082,7 +18866,7 @@ func (x *PollAdditionalMetadata) ProtoReflect() protoreflect.Message {
// Deprecated: Use PollAdditionalMetadata.ProtoReflect.Descriptor instead.
func (*PollAdditionalMetadata) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{160}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{166}
}
func (x *PollAdditionalMetadata) GetPollInvalidated() bool {
@@ -18092,6 +18876,77 @@ func (x *PollAdditionalMetadata) GetPollInvalidated() bool {
return false
}
+type PinInChat struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PinMessageType *PinInChat_PinMessageType `protobuf:"varint,1,opt,name=pinMessageType,enum=proto.PinInChat_PinMessageType" json:"pinMessageType,omitempty"`
+ Key *MessageKey `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
+ SenderTimestampMs *int64 `protobuf:"varint,3,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"`
+ ServerTimestampMs *int64 `protobuf:"varint,4,opt,name=serverTimestampMs" json:"serverTimestampMs,omitempty"`
+}
+
+func (x *PinInChat) Reset() {
+ *x = PinInChat{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[167]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PinInChat) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PinInChat) ProtoMessage() {}
+
+func (x *PinInChat) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[167]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PinInChat.ProtoReflect.Descriptor instead.
+func (*PinInChat) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{167}
+}
+
+func (x *PinInChat) GetPinMessageType() PinInChat_PinMessageType {
+ if x != nil && x.PinMessageType != nil {
+ return *x.PinMessageType
+ }
+ return PinInChat_UNKNOWN_PIN_MESSAGE_TYPE
+}
+
+func (x *PinInChat) GetKey() *MessageKey {
+ if x != nil {
+ return x.Key
+ }
+ return nil
+}
+
+func (x *PinInChat) GetSenderTimestampMs() int64 {
+ if x != nil && x.SenderTimestampMs != nil {
+ return *x.SenderTimestampMs
+ }
+ return 0
+}
+
+func (x *PinInChat) GetServerTimestampMs() int64 {
+ if x != nil && x.ServerTimestampMs != nil {
+ return *x.ServerTimestampMs
+ }
+ return 0
+}
+
type PhotoChange struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -18105,7 +18960,7 @@ type PhotoChange struct {
func (x *PhotoChange) Reset() {
*x = PhotoChange{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[161]
+ mi := &file_binary_proto_def_proto_msgTypes[168]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18118,7 +18973,7 @@ func (x *PhotoChange) String() string {
func (*PhotoChange) ProtoMessage() {}
func (x *PhotoChange) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[161]
+ mi := &file_binary_proto_def_proto_msgTypes[168]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18131,7 +18986,7 @@ func (x *PhotoChange) ProtoReflect() protoreflect.Message {
// Deprecated: Use PhotoChange.ProtoReflect.Descriptor instead.
func (*PhotoChange) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{161}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{168}
}
func (x *PhotoChange) GetOldPhoto() []byte {
@@ -18178,7 +19033,7 @@ type PaymentInfo struct {
func (x *PaymentInfo) Reset() {
*x = PaymentInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[162]
+ mi := &file_binary_proto_def_proto_msgTypes[169]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18191,7 +19046,7 @@ func (x *PaymentInfo) String() string {
func (*PaymentInfo) ProtoMessage() {}
func (x *PaymentInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[162]
+ mi := &file_binary_proto_def_proto_msgTypes[169]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18204,7 +19059,7 @@ func (x *PaymentInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use PaymentInfo.ProtoReflect.Descriptor instead.
func (*PaymentInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{162}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{169}
}
func (x *PaymentInfo) GetCurrencyDeprecated() PaymentInfo_Currency {
@@ -18312,7 +19167,7 @@ type NotificationMessageInfo struct {
func (x *NotificationMessageInfo) Reset() {
*x = NotificationMessageInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[163]
+ mi := &file_binary_proto_def_proto_msgTypes[170]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18325,7 +19180,7 @@ func (x *NotificationMessageInfo) String() string {
func (*NotificationMessageInfo) ProtoMessage() {}
func (x *NotificationMessageInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[163]
+ mi := &file_binary_proto_def_proto_msgTypes[170]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18338,7 +19193,7 @@ func (x *NotificationMessageInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use NotificationMessageInfo.ProtoReflect.Descriptor instead.
func (*NotificationMessageInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{163}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{170}
}
func (x *NotificationMessageInfo) GetKey() *MessageKey {
@@ -18380,7 +19235,7 @@ type MediaData struct {
func (x *MediaData) Reset() {
*x = MediaData{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[164]
+ mi := &file_binary_proto_def_proto_msgTypes[171]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18393,7 +19248,7 @@ func (x *MediaData) String() string {
func (*MediaData) ProtoMessage() {}
func (x *MediaData) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[164]
+ mi := &file_binary_proto_def_proto_msgTypes[171]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18406,7 +19261,7 @@ func (x *MediaData) ProtoReflect() protoreflect.Message {
// Deprecated: Use MediaData.ProtoReflect.Descriptor instead.
func (*MediaData) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{164}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{171}
}
func (x *MediaData) GetLocalPath() string {
@@ -18432,7 +19287,7 @@ type KeepInChat struct {
func (x *KeepInChat) Reset() {
*x = KeepInChat{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[165]
+ mi := &file_binary_proto_def_proto_msgTypes[172]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18445,7 +19300,7 @@ func (x *KeepInChat) String() string {
func (*KeepInChat) ProtoMessage() {}
func (x *KeepInChat) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[165]
+ mi := &file_binary_proto_def_proto_msgTypes[172]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18458,7 +19313,7 @@ func (x *KeepInChat) ProtoReflect() protoreflect.Message {
// Deprecated: Use KeepInChat.ProtoReflect.Descriptor instead.
func (*KeepInChat) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{165}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{172}
}
func (x *KeepInChat) GetKeepType() KeepType {
@@ -18515,7 +19370,7 @@ type NoiseCertificate struct {
func (x *NoiseCertificate) Reset() {
*x = NoiseCertificate{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[166]
+ mi := &file_binary_proto_def_proto_msgTypes[173]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18528,7 +19383,7 @@ func (x *NoiseCertificate) String() string {
func (*NoiseCertificate) ProtoMessage() {}
func (x *NoiseCertificate) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[166]
+ mi := &file_binary_proto_def_proto_msgTypes[173]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18541,7 +19396,7 @@ func (x *NoiseCertificate) ProtoReflect() protoreflect.Message {
// Deprecated: Use NoiseCertificate.ProtoReflect.Descriptor instead.
func (*NoiseCertificate) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{166}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{173}
}
func (x *NoiseCertificate) GetDetails() []byte {
@@ -18570,7 +19425,7 @@ type CertChain struct {
func (x *CertChain) Reset() {
*x = CertChain{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[167]
+ mi := &file_binary_proto_def_proto_msgTypes[174]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18583,7 +19438,7 @@ func (x *CertChain) String() string {
func (*CertChain) ProtoMessage() {}
func (x *CertChain) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[167]
+ mi := &file_binary_proto_def_proto_msgTypes[174]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18596,7 +19451,7 @@ func (x *CertChain) ProtoReflect() protoreflect.Message {
// Deprecated: Use CertChain.ProtoReflect.Descriptor instead.
func (*CertChain) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{167}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{174}
}
func (x *CertChain) GetLeaf() *CertChain_NoiseCertificate {
@@ -18618,15 +19473,17 @@ type DeviceProps_HistorySyncConfig struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- FullSyncDaysLimit *uint32 `protobuf:"varint,1,opt,name=fullSyncDaysLimit" json:"fullSyncDaysLimit,omitempty"`
- FullSyncSizeMbLimit *uint32 `protobuf:"varint,2,opt,name=fullSyncSizeMbLimit" json:"fullSyncSizeMbLimit,omitempty"`
- StorageQuotaMb *uint32 `protobuf:"varint,3,opt,name=storageQuotaMb" json:"storageQuotaMb,omitempty"`
+ FullSyncDaysLimit *uint32 `protobuf:"varint,1,opt,name=fullSyncDaysLimit" json:"fullSyncDaysLimit,omitempty"`
+ FullSyncSizeMbLimit *uint32 `protobuf:"varint,2,opt,name=fullSyncSizeMbLimit" json:"fullSyncSizeMbLimit,omitempty"`
+ StorageQuotaMb *uint32 `protobuf:"varint,3,opt,name=storageQuotaMb" json:"storageQuotaMb,omitempty"`
+ InlineInitialPayloadInE2EeMsg *bool `protobuf:"varint,4,opt,name=inlineInitialPayloadInE2EeMsg" json:"inlineInitialPayloadInE2EeMsg,omitempty"`
+ RecentSyncDaysLimit *uint32 `protobuf:"varint,5,opt,name=recentSyncDaysLimit" json:"recentSyncDaysLimit,omitempty"`
}
func (x *DeviceProps_HistorySyncConfig) Reset() {
*x = DeviceProps_HistorySyncConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[168]
+ mi := &file_binary_proto_def_proto_msgTypes[175]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18639,7 +19496,7 @@ func (x *DeviceProps_HistorySyncConfig) String() string {
func (*DeviceProps_HistorySyncConfig) ProtoMessage() {}
func (x *DeviceProps_HistorySyncConfig) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[168]
+ mi := &file_binary_proto_def_proto_msgTypes[175]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18676,6 +19533,20 @@ func (x *DeviceProps_HistorySyncConfig) GetStorageQuotaMb() uint32 {
return 0
}
+func (x *DeviceProps_HistorySyncConfig) GetInlineInitialPayloadInE2EeMsg() bool {
+ if x != nil && x.InlineInitialPayloadInE2EeMsg != nil {
+ return *x.InlineInitialPayloadInE2EeMsg
+ }
+ return false
+}
+
+func (x *DeviceProps_HistorySyncConfig) GetRecentSyncDaysLimit() uint32 {
+ if x != nil && x.RecentSyncDaysLimit != nil {
+ return *x.RecentSyncDaysLimit
+ }
+ return 0
+}
+
type DeviceProps_AppVersion struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -18691,7 +19562,7 @@ type DeviceProps_AppVersion struct {
func (x *DeviceProps_AppVersion) Reset() {
*x = DeviceProps_AppVersion{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[169]
+ mi := &file_binary_proto_def_proto_msgTypes[176]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18704,7 +19575,7 @@ func (x *DeviceProps_AppVersion) String() string {
func (*DeviceProps_AppVersion) ProtoMessage() {}
func (x *DeviceProps_AppVersion) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[169]
+ mi := &file_binary_proto_def_proto_msgTypes[176]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18755,100 +19626,6 @@ func (x *DeviceProps_AppVersion) GetQuinary() uint32 {
return 0
}
-type PeerDataOperationRequestMessage_RequestUrlPreview struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
-}
-
-func (x *PeerDataOperationRequestMessage_RequestUrlPreview) Reset() {
- *x = PeerDataOperationRequestMessage_RequestUrlPreview{}
- if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[170]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *PeerDataOperationRequestMessage_RequestUrlPreview) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*PeerDataOperationRequestMessage_RequestUrlPreview) ProtoMessage() {}
-
-func (x *PeerDataOperationRequestMessage_RequestUrlPreview) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[170]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use PeerDataOperationRequestMessage_RequestUrlPreview.ProtoReflect.Descriptor instead.
-func (*PeerDataOperationRequestMessage_RequestUrlPreview) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{6, 0}
-}
-
-func (x *PeerDataOperationRequestMessage_RequestUrlPreview) GetUrl() string {
- if x != nil && x.Url != nil {
- return *x.Url
- }
- return ""
-}
-
-type PeerDataOperationRequestMessage_RequestStickerReupload struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- FileSha256 *string `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"`
-}
-
-func (x *PeerDataOperationRequestMessage_RequestStickerReupload) Reset() {
- *x = PeerDataOperationRequestMessage_RequestStickerReupload{}
- if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[171]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *PeerDataOperationRequestMessage_RequestStickerReupload) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*PeerDataOperationRequestMessage_RequestStickerReupload) ProtoMessage() {}
-
-func (x *PeerDataOperationRequestMessage_RequestStickerReupload) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[171]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use PeerDataOperationRequestMessage_RequestStickerReupload.ProtoReflect.Descriptor instead.
-func (*PeerDataOperationRequestMessage_RequestStickerReupload) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{6, 1}
-}
-
-func (x *PeerDataOperationRequestMessage_RequestStickerReupload) GetFileSha256() string {
- if x != nil && x.FileSha256 != nil {
- return *x.FileSha256
- }
- return ""
-}
-
type ListResponseMessage_SingleSelectReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -18860,7 +19637,7 @@ type ListResponseMessage_SingleSelectReply struct {
func (x *ListResponseMessage_SingleSelectReply) Reset() {
*x = ListResponseMessage_SingleSelectReply{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[172]
+ mi := &file_binary_proto_def_proto_msgTypes[177]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18873,7 +19650,7 @@ func (x *ListResponseMessage_SingleSelectReply) String() string {
func (*ListResponseMessage_SingleSelectReply) ProtoMessage() {}
func (x *ListResponseMessage_SingleSelectReply) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[172]
+ mi := &file_binary_proto_def_proto_msgTypes[177]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18886,7 +19663,7 @@ func (x *ListResponseMessage_SingleSelectReply) ProtoReflect() protoreflect.Mess
// Deprecated: Use ListResponseMessage_SingleSelectReply.ProtoReflect.Descriptor instead.
func (*ListResponseMessage_SingleSelectReply) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{10, 0}
}
func (x *ListResponseMessage_SingleSelectReply) GetSelectedRowId() string {
@@ -18908,7 +19685,7 @@ type ListMessage_Section struct {
func (x *ListMessage_Section) Reset() {
*x = ListMessage_Section{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[173]
+ mi := &file_binary_proto_def_proto_msgTypes[178]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18921,7 +19698,7 @@ func (x *ListMessage_Section) String() string {
func (*ListMessage_Section) ProtoMessage() {}
func (x *ListMessage_Section) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[173]
+ mi := &file_binary_proto_def_proto_msgTypes[178]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18934,7 +19711,7 @@ func (x *ListMessage_Section) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListMessage_Section.ProtoReflect.Descriptor instead.
func (*ListMessage_Section) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 0}
}
func (x *ListMessage_Section) GetTitle() string {
@@ -18964,7 +19741,7 @@ type ListMessage_Row struct {
func (x *ListMessage_Row) Reset() {
*x = ListMessage_Row{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[174]
+ mi := &file_binary_proto_def_proto_msgTypes[179]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -18977,7 +19754,7 @@ func (x *ListMessage_Row) String() string {
func (*ListMessage_Row) ProtoMessage() {}
func (x *ListMessage_Row) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[174]
+ mi := &file_binary_proto_def_proto_msgTypes[179]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -18990,7 +19767,7 @@ func (x *ListMessage_Row) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListMessage_Row.ProtoReflect.Descriptor instead.
func (*ListMessage_Row) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 1}
}
func (x *ListMessage_Row) GetTitle() string {
@@ -19025,7 +19802,7 @@ type ListMessage_Product struct {
func (x *ListMessage_Product) Reset() {
*x = ListMessage_Product{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[175]
+ mi := &file_binary_proto_def_proto_msgTypes[180]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19038,7 +19815,7 @@ func (x *ListMessage_Product) String() string {
func (*ListMessage_Product) ProtoMessage() {}
func (x *ListMessage_Product) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[175]
+ mi := &file_binary_proto_def_proto_msgTypes[180]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19051,7 +19828,7 @@ func (x *ListMessage_Product) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListMessage_Product.ProtoReflect.Descriptor instead.
func (*ListMessage_Product) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 2}
}
func (x *ListMessage_Product) GetProductId() string {
@@ -19073,7 +19850,7 @@ type ListMessage_ProductSection struct {
func (x *ListMessage_ProductSection) Reset() {
*x = ListMessage_ProductSection{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[176]
+ mi := &file_binary_proto_def_proto_msgTypes[181]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19086,7 +19863,7 @@ func (x *ListMessage_ProductSection) String() string {
func (*ListMessage_ProductSection) ProtoMessage() {}
func (x *ListMessage_ProductSection) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[176]
+ mi := &file_binary_proto_def_proto_msgTypes[181]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19099,7 +19876,7 @@ func (x *ListMessage_ProductSection) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListMessage_ProductSection.ProtoReflect.Descriptor instead.
func (*ListMessage_ProductSection) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 3}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 3}
}
func (x *ListMessage_ProductSection) GetTitle() string {
@@ -19129,7 +19906,7 @@ type ListMessage_ProductListInfo struct {
func (x *ListMessage_ProductListInfo) Reset() {
*x = ListMessage_ProductListInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[177]
+ mi := &file_binary_proto_def_proto_msgTypes[182]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19142,7 +19919,7 @@ func (x *ListMessage_ProductListInfo) String() string {
func (*ListMessage_ProductListInfo) ProtoMessage() {}
func (x *ListMessage_ProductListInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[177]
+ mi := &file_binary_proto_def_proto_msgTypes[182]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19155,7 +19932,7 @@ func (x *ListMessage_ProductListInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListMessage_ProductListInfo.ProtoReflect.Descriptor instead.
func (*ListMessage_ProductListInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 4}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 4}
}
func (x *ListMessage_ProductListInfo) GetProductSections() []*ListMessage_ProductSection {
@@ -19191,7 +19968,7 @@ type ListMessage_ProductListHeaderImage struct {
func (x *ListMessage_ProductListHeaderImage) Reset() {
*x = ListMessage_ProductListHeaderImage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[178]
+ mi := &file_binary_proto_def_proto_msgTypes[183]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19204,7 +19981,7 @@ func (x *ListMessage_ProductListHeaderImage) String() string {
func (*ListMessage_ProductListHeaderImage) ProtoMessage() {}
func (x *ListMessage_ProductListHeaderImage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[178]
+ mi := &file_binary_proto_def_proto_msgTypes[183]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19217,7 +19994,7 @@ func (x *ListMessage_ProductListHeaderImage) ProtoReflect() protoreflect.Message
// Deprecated: Use ListMessage_ProductListHeaderImage.ProtoReflect.Descriptor instead.
func (*ListMessage_ProductListHeaderImage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{12, 5}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{11, 5}
}
func (x *ListMessage_ProductListHeaderImage) GetProductId() string {
@@ -19247,7 +20024,7 @@ type InteractiveResponseMessage_NativeFlowResponseMessage struct {
func (x *InteractiveResponseMessage_NativeFlowResponseMessage) Reset() {
*x = InteractiveResponseMessage_NativeFlowResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[179]
+ mi := &file_binary_proto_def_proto_msgTypes[184]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19260,7 +20037,7 @@ func (x *InteractiveResponseMessage_NativeFlowResponseMessage) String() string {
func (*InteractiveResponseMessage_NativeFlowResponseMessage) ProtoMessage() {}
func (x *InteractiveResponseMessage_NativeFlowResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[179]
+ mi := &file_binary_proto_def_proto_msgTypes[184]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19273,7 +20050,7 @@ func (x *InteractiveResponseMessage_NativeFlowResponseMessage) ProtoReflect() pr
// Deprecated: Use InteractiveResponseMessage_NativeFlowResponseMessage.ProtoReflect.Descriptor instead.
func (*InteractiveResponseMessage_NativeFlowResponseMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{14, 0}
}
func (x *InteractiveResponseMessage_NativeFlowResponseMessage) GetName() string {
@@ -19302,13 +20079,14 @@ type InteractiveResponseMessage_Body struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
+ Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
+ Format *InteractiveResponseMessage_Body_Format `protobuf:"varint,2,opt,name=format,enum=proto.InteractiveResponseMessage_Body_Format" json:"format,omitempty"`
}
func (x *InteractiveResponseMessage_Body) Reset() {
*x = InteractiveResponseMessage_Body{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[180]
+ mi := &file_binary_proto_def_proto_msgTypes[185]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19321,7 +20099,7 @@ func (x *InteractiveResponseMessage_Body) String() string {
func (*InteractiveResponseMessage_Body) ProtoMessage() {}
func (x *InteractiveResponseMessage_Body) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[180]
+ mi := &file_binary_proto_def_proto_msgTypes[185]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19334,7 +20112,7 @@ func (x *InteractiveResponseMessage_Body) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveResponseMessage_Body.ProtoReflect.Descriptor instead.
func (*InteractiveResponseMessage_Body) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{14, 1}
}
func (x *InteractiveResponseMessage_Body) GetText() string {
@@ -19344,6 +20122,13 @@ func (x *InteractiveResponseMessage_Body) GetText() string {
return ""
}
+func (x *InteractiveResponseMessage_Body) GetFormat() InteractiveResponseMessage_Body_Format {
+ if x != nil && x.Format != nil {
+ return *x.Format
+ }
+ return InteractiveResponseMessage_Body_DEFAULT
+}
+
type InteractiveMessage_ShopMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -19357,7 +20142,7 @@ type InteractiveMessage_ShopMessage struct {
func (x *InteractiveMessage_ShopMessage) Reset() {
*x = InteractiveMessage_ShopMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[181]
+ mi := &file_binary_proto_def_proto_msgTypes[186]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19370,7 +20155,7 @@ func (x *InteractiveMessage_ShopMessage) String() string {
func (*InteractiveMessage_ShopMessage) ProtoMessage() {}
func (x *InteractiveMessage_ShopMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[181]
+ mi := &file_binary_proto_def_proto_msgTypes[186]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19383,7 +20168,7 @@ func (x *InteractiveMessage_ShopMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveMessage_ShopMessage.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_ShopMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 0}
}
func (x *InteractiveMessage_ShopMessage) GetId() string {
@@ -19420,7 +20205,7 @@ type InteractiveMessage_NativeFlowMessage struct {
func (x *InteractiveMessage_NativeFlowMessage) Reset() {
*x = InteractiveMessage_NativeFlowMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[182]
+ mi := &file_binary_proto_def_proto_msgTypes[187]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19433,7 +20218,7 @@ func (x *InteractiveMessage_NativeFlowMessage) String() string {
func (*InteractiveMessage_NativeFlowMessage) ProtoMessage() {}
func (x *InteractiveMessage_NativeFlowMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[182]
+ mi := &file_binary_proto_def_proto_msgTypes[187]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19446,7 +20231,7 @@ func (x *InteractiveMessage_NativeFlowMessage) ProtoReflect() protoreflect.Messa
// Deprecated: Use InteractiveMessage_NativeFlowMessage.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_NativeFlowMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 1}
}
func (x *InteractiveMessage_NativeFlowMessage) GetButtons() []*InteractiveMessage_NativeFlowMessage_NativeFlowButton {
@@ -19490,7 +20275,7 @@ type InteractiveMessage_Header struct {
func (x *InteractiveMessage_Header) Reset() {
*x = InteractiveMessage_Header{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[183]
+ mi := &file_binary_proto_def_proto_msgTypes[188]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19503,7 +20288,7 @@ func (x *InteractiveMessage_Header) String() string {
func (*InteractiveMessage_Header) ProtoMessage() {}
func (x *InteractiveMessage_Header) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[183]
+ mi := &file_binary_proto_def_proto_msgTypes[188]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19516,7 +20301,7 @@ func (x *InteractiveMessage_Header) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveMessage_Header.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_Header) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 2}
}
func (x *InteractiveMessage_Header) GetTitle() string {
@@ -19614,7 +20399,7 @@ type InteractiveMessage_Footer struct {
func (x *InteractiveMessage_Footer) Reset() {
*x = InteractiveMessage_Footer{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[184]
+ mi := &file_binary_proto_def_proto_msgTypes[189]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19627,7 +20412,7 @@ func (x *InteractiveMessage_Footer) String() string {
func (*InteractiveMessage_Footer) ProtoMessage() {}
func (x *InteractiveMessage_Footer) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[184]
+ mi := &file_binary_proto_def_proto_msgTypes[189]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19640,7 +20425,7 @@ func (x *InteractiveMessage_Footer) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveMessage_Footer.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_Footer) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 3}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 3}
}
func (x *InteractiveMessage_Footer) GetText() string {
@@ -19663,7 +20448,7 @@ type InteractiveMessage_CollectionMessage struct {
func (x *InteractiveMessage_CollectionMessage) Reset() {
*x = InteractiveMessage_CollectionMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[185]
+ mi := &file_binary_proto_def_proto_msgTypes[190]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19676,7 +20461,7 @@ func (x *InteractiveMessage_CollectionMessage) String() string {
func (*InteractiveMessage_CollectionMessage) ProtoMessage() {}
func (x *InteractiveMessage_CollectionMessage) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[185]
+ mi := &file_binary_proto_def_proto_msgTypes[190]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19689,7 +20474,7 @@ func (x *InteractiveMessage_CollectionMessage) ProtoReflect() protoreflect.Messa
// Deprecated: Use InteractiveMessage_CollectionMessage.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_CollectionMessage) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 4}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 4}
}
func (x *InteractiveMessage_CollectionMessage) GetBizJid() string {
@@ -19724,7 +20509,7 @@ type InteractiveMessage_Body struct {
func (x *InteractiveMessage_Body) Reset() {
*x = InteractiveMessage_Body{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[186]
+ mi := &file_binary_proto_def_proto_msgTypes[191]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19737,7 +20522,7 @@ func (x *InteractiveMessage_Body) String() string {
func (*InteractiveMessage_Body) ProtoMessage() {}
func (x *InteractiveMessage_Body) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[186]
+ mi := &file_binary_proto_def_proto_msgTypes[191]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19750,7 +20535,7 @@ func (x *InteractiveMessage_Body) ProtoReflect() protoreflect.Message {
// Deprecated: Use InteractiveMessage_Body.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_Body) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 5}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 5}
}
func (x *InteractiveMessage_Body) GetText() string {
@@ -19772,7 +20557,7 @@ type InteractiveMessage_NativeFlowMessage_NativeFlowButton struct {
func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) Reset() {
*x = InteractiveMessage_NativeFlowMessage_NativeFlowButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[187]
+ mi := &file_binary_proto_def_proto_msgTypes[192]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19785,7 +20570,7 @@ func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) String() string
func (*InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoMessage() {}
func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[187]
+ mi := &file_binary_proto_def_proto_msgTypes[192]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19798,7 +20583,7 @@ func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoReflect() p
// Deprecated: Use InteractiveMessage_NativeFlowMessage_NativeFlowButton.ProtoReflect.Descriptor instead.
func (*InteractiveMessage_NativeFlowMessage_NativeFlowButton) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{16, 1, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{15, 1, 0}
}
func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) GetName() string {
@@ -19831,7 +20616,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter struct {
func (x *HighlyStructuredMessage_HSMLocalizableParameter) Reset() {
*x = HighlyStructuredMessage_HSMLocalizableParameter{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[188]
+ mi := &file_binary_proto_def_proto_msgTypes[193]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19844,7 +20629,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter) String() string {
func (*HighlyStructuredMessage_HSMLocalizableParameter) ProtoMessage() {}
func (x *HighlyStructuredMessage_HSMLocalizableParameter) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[188]
+ mi := &file_binary_proto_def_proto_msgTypes[193]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19857,7 +20642,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter) ProtoReflect() protore
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage_HSMLocalizableParameter) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0}
}
func (x *HighlyStructuredMessage_HSMLocalizableParameter) GetDefault() string {
@@ -19921,7 +20706,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime struct {
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) Reset() {
*x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[189]
+ mi := &file_binary_proto_def_proto_msgTypes[194]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -19934,7 +20719,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) String() s
func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoMessage() {}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[189]
+ mi := &file_binary_proto_def_proto_msgTypes[194]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -19947,7 +20732,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoRefle
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0, 0}
}
func (m *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) GetDatetimeOneof() isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof {
@@ -20001,7 +20786,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency struct {
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) Reset() {
*x = HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[190]
+ mi := &file_binary_proto_def_proto_msgTypes[195]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20014,7 +20799,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) String() s
func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoMessage() {}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[190]
+ mi := &file_binary_proto_def_proto_msgTypes[195]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20027,7 +20812,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoRefle
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0, 1}
}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) GetCurrencyCode() string {
@@ -20055,7 +20840,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnix
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) Reset() {
*x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[191]
+ mi := &file_binary_proto_def_proto_msgTypes[196]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20069,7 +20854,7 @@ func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUn
}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[191]
+ mi := &file_binary_proto_def_proto_msgTypes[196]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20082,7 +20867,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTime
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0, 0, 0}
}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) GetTimestamp() int64 {
@@ -20109,7 +20894,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComp
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) Reset() {
*x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[192]
+ mi := &file_binary_proto_def_proto_msgTypes[197]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20123,7 +20908,7 @@ func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeCo
}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[192]
+ mi := &file_binary_proto_def_proto_msgTypes[197]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20136,7 +20921,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTime
// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{20, 0, 0, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{19, 0, 0, 1}
}
func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetDayOfWeek() HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType {
@@ -20202,7 +20987,7 @@ type ButtonsMessage_Button struct {
func (x *ButtonsMessage_Button) Reset() {
*x = ButtonsMessage_Button{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[193]
+ mi := &file_binary_proto_def_proto_msgTypes[198]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20215,7 +21000,7 @@ func (x *ButtonsMessage_Button) String() string {
func (*ButtonsMessage_Button) ProtoMessage() {}
func (x *ButtonsMessage_Button) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[193]
+ mi := &file_binary_proto_def_proto_msgTypes[198]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20271,7 +21056,7 @@ type ButtonsMessage_Button_NativeFlowInfo struct {
func (x *ButtonsMessage_Button_NativeFlowInfo) Reset() {
*x = ButtonsMessage_Button_NativeFlowInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[194]
+ mi := &file_binary_proto_def_proto_msgTypes[199]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20284,7 +21069,7 @@ func (x *ButtonsMessage_Button_NativeFlowInfo) String() string {
func (*ButtonsMessage_Button_NativeFlowInfo) ProtoMessage() {}
func (x *ButtonsMessage_Button_NativeFlowInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[194]
+ mi := &file_binary_proto_def_proto_msgTypes[199]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20325,7 +21110,7 @@ type ButtonsMessage_Button_ButtonText struct {
func (x *ButtonsMessage_Button_ButtonText) Reset() {
*x = ButtonsMessage_Button_ButtonText{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[195]
+ mi := &file_binary_proto_def_proto_msgTypes[200]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20338,7 +21123,7 @@ func (x *ButtonsMessage_Button_ButtonText) String() string {
func (*ButtonsMessage_Button_ButtonText) ProtoMessage() {}
func (x *ButtonsMessage_Button_ButtonText) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[195]
+ mi := &file_binary_proto_def_proto_msgTypes[200]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20373,7 +21158,7 @@ type HydratedTemplateButton_HydratedURLButton struct {
func (x *HydratedTemplateButton_HydratedURLButton) Reset() {
*x = HydratedTemplateButton_HydratedURLButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[196]
+ mi := &file_binary_proto_def_proto_msgTypes[201]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20386,7 +21171,7 @@ func (x *HydratedTemplateButton_HydratedURLButton) String() string {
func (*HydratedTemplateButton_HydratedURLButton) ProtoMessage() {}
func (x *HydratedTemplateButton_HydratedURLButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[196]
+ mi := &file_binary_proto_def_proto_msgTypes[201]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20428,7 +21213,7 @@ type HydratedTemplateButton_HydratedQuickReplyButton struct {
func (x *HydratedTemplateButton_HydratedQuickReplyButton) Reset() {
*x = HydratedTemplateButton_HydratedQuickReplyButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[197]
+ mi := &file_binary_proto_def_proto_msgTypes[202]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20441,7 +21226,7 @@ func (x *HydratedTemplateButton_HydratedQuickReplyButton) String() string {
func (*HydratedTemplateButton_HydratedQuickReplyButton) ProtoMessage() {}
func (x *HydratedTemplateButton_HydratedQuickReplyButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[197]
+ mi := &file_binary_proto_def_proto_msgTypes[202]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20483,7 +21268,7 @@ type HydratedTemplateButton_HydratedCallButton struct {
func (x *HydratedTemplateButton_HydratedCallButton) Reset() {
*x = HydratedTemplateButton_HydratedCallButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[198]
+ mi := &file_binary_proto_def_proto_msgTypes[203]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20496,7 +21281,7 @@ func (x *HydratedTemplateButton_HydratedCallButton) String() string {
func (*HydratedTemplateButton_HydratedCallButton) ProtoMessage() {}
func (x *HydratedTemplateButton_HydratedCallButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[198]
+ mi := &file_binary_proto_def_proto_msgTypes[203]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20538,7 +21323,7 @@ type ContextInfo_UTMInfo struct {
func (x *ContextInfo_UTMInfo) Reset() {
*x = ContextInfo_UTMInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[199]
+ mi := &file_binary_proto_def_proto_msgTypes[204]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20551,7 +21336,7 @@ func (x *ContextInfo_UTMInfo) String() string {
func (*ContextInfo_UTMInfo) ProtoMessage() {}
func (x *ContextInfo_UTMInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[199]
+ mi := &file_binary_proto_def_proto_msgTypes[204]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20604,7 +21389,7 @@ type ContextInfo_ExternalAdReplyInfo struct {
func (x *ContextInfo_ExternalAdReplyInfo) Reset() {
*x = ContextInfo_ExternalAdReplyInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[200]
+ mi := &file_binary_proto_def_proto_msgTypes[205]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20617,7 +21402,7 @@ func (x *ContextInfo_ExternalAdReplyInfo) String() string {
func (*ContextInfo_ExternalAdReplyInfo) ProtoMessage() {}
func (x *ContextInfo_ExternalAdReplyInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[200]
+ mi := &file_binary_proto_def_proto_msgTypes[205]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20738,7 +21523,7 @@ type ContextInfo_AdReplyInfo struct {
func (x *ContextInfo_AdReplyInfo) Reset() {
*x = ContextInfo_AdReplyInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[201]
+ mi := &file_binary_proto_def_proto_msgTypes[206]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20751,7 +21536,7 @@ func (x *ContextInfo_AdReplyInfo) String() string {
func (*ContextInfo_AdReplyInfo) ProtoMessage() {}
func (x *ContextInfo_AdReplyInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[201]
+ mi := &file_binary_proto_def_proto_msgTypes[206]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20807,7 +21592,7 @@ type TemplateButton_URLButton struct {
func (x *TemplateButton_URLButton) Reset() {
*x = TemplateButton_URLButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[202]
+ mi := &file_binary_proto_def_proto_msgTypes[207]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20820,7 +21605,7 @@ func (x *TemplateButton_URLButton) String() string {
func (*TemplateButton_URLButton) ProtoMessage() {}
func (x *TemplateButton_URLButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[202]
+ mi := &file_binary_proto_def_proto_msgTypes[207]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20862,7 +21647,7 @@ type TemplateButton_QuickReplyButton struct {
func (x *TemplateButton_QuickReplyButton) Reset() {
*x = TemplateButton_QuickReplyButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[203]
+ mi := &file_binary_proto_def_proto_msgTypes[208]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20875,7 +21660,7 @@ func (x *TemplateButton_QuickReplyButton) String() string {
func (*TemplateButton_QuickReplyButton) ProtoMessage() {}
func (x *TemplateButton_QuickReplyButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[203]
+ mi := &file_binary_proto_def_proto_msgTypes[208]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20917,7 +21702,7 @@ type TemplateButton_CallButton struct {
func (x *TemplateButton_CallButton) Reset() {
*x = TemplateButton_CallButton{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[204]
+ mi := &file_binary_proto_def_proto_msgTypes[209]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20930,7 +21715,7 @@ func (x *TemplateButton_CallButton) String() string {
func (*TemplateButton_CallButton) ProtoMessage() {}
func (x *TemplateButton_CallButton) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[204]
+ mi := &file_binary_proto_def_proto_msgTypes[209]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -20975,7 +21760,7 @@ type PaymentBackground_MediaData struct {
func (x *PaymentBackground_MediaData) Reset() {
*x = PaymentBackground_MediaData{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[205]
+ mi := &file_binary_proto_def_proto_msgTypes[210]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -20988,7 +21773,7 @@ func (x *PaymentBackground_MediaData) String() string {
func (*PaymentBackground_MediaData) ProtoMessage() {}
func (x *PaymentBackground_MediaData) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[205]
+ mi := &file_binary_proto_def_proto_msgTypes[210]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21061,7 +21846,7 @@ type TemplateMessage_HydratedFourRowTemplate struct {
func (x *TemplateMessage_HydratedFourRowTemplate) Reset() {
*x = TemplateMessage_HydratedFourRowTemplate{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[206]
+ mi := &file_binary_proto_def_proto_msgTypes[211]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21074,7 +21859,7 @@ func (x *TemplateMessage_HydratedFourRowTemplate) String() string {
func (*TemplateMessage_HydratedFourRowTemplate) ProtoMessage() {}
func (x *TemplateMessage_HydratedFourRowTemplate) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[206]
+ mi := &file_binary_proto_def_proto_msgTypes[211]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21220,7 +22005,7 @@ type TemplateMessage_FourRowTemplate struct {
func (x *TemplateMessage_FourRowTemplate) Reset() {
*x = TemplateMessage_FourRowTemplate{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[207]
+ mi := &file_binary_proto_def_proto_msgTypes[212]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21233,7 +22018,7 @@ func (x *TemplateMessage_FourRowTemplate) String() string {
func (*TemplateMessage_FourRowTemplate) ProtoMessage() {}
func (x *TemplateMessage_FourRowTemplate) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[207]
+ mi := &file_binary_proto_def_proto_msgTypes[212]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21368,7 +22153,7 @@ type ProductMessage_ProductSnapshot struct {
func (x *ProductMessage_ProductSnapshot) Reset() {
*x = ProductMessage_ProductSnapshot{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[208]
+ mi := &file_binary_proto_def_proto_msgTypes[213]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21381,7 +22166,7 @@ func (x *ProductMessage_ProductSnapshot) String() string {
func (*ProductMessage_ProductSnapshot) ProtoMessage() {}
func (x *ProductMessage_ProductSnapshot) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[208]
+ mi := &file_binary_proto_def_proto_msgTypes[213]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21487,7 +22272,7 @@ type ProductMessage_CatalogSnapshot struct {
func (x *ProductMessage_CatalogSnapshot) Reset() {
*x = ProductMessage_CatalogSnapshot{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[209]
+ mi := &file_binary_proto_def_proto_msgTypes[214]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21500,7 +22285,7 @@ func (x *ProductMessage_CatalogSnapshot) String() string {
func (*ProductMessage_CatalogSnapshot) ProtoMessage() {}
func (x *ProductMessage_CatalogSnapshot) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[209]
+ mi := &file_binary_proto_def_proto_msgTypes[214]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21548,7 +22333,7 @@ type PollCreationMessage_Option struct {
func (x *PollCreationMessage_Option) Reset() {
*x = PollCreationMessage_Option{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[210]
+ mi := &file_binary_proto_def_proto_msgTypes[215]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21561,7 +22346,7 @@ func (x *PollCreationMessage_Option) String() string {
func (*PollCreationMessage_Option) ProtoMessage() {}
func (x *PollCreationMessage_Option) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[210]
+ mi := &file_binary_proto_def_proto_msgTypes[215]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21589,15 +22374,16 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- MediaUploadResult *MediaRetryNotification_ResultType `protobuf:"varint,1,opt,name=mediaUploadResult,enum=proto.MediaRetryNotification_ResultType" json:"mediaUploadResult,omitempty"`
- StickerMessage *StickerMessage `protobuf:"bytes,2,opt,name=stickerMessage" json:"stickerMessage,omitempty"`
- LinkPreviewResponse *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse `protobuf:"bytes,3,opt,name=linkPreviewResponse" json:"linkPreviewResponse,omitempty"`
+ MediaUploadResult *MediaRetryNotification_ResultType `protobuf:"varint,1,opt,name=mediaUploadResult,enum=proto.MediaRetryNotification_ResultType" json:"mediaUploadResult,omitempty"`
+ StickerMessage *StickerMessage `protobuf:"bytes,2,opt,name=stickerMessage" json:"stickerMessage,omitempty"`
+ LinkPreviewResponse *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse `protobuf:"bytes,3,opt,name=linkPreviewResponse" json:"linkPreviewResponse,omitempty"`
+ PlaceholderMessageResendResponse *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse `protobuf:"bytes,4,opt,name=placeholderMessageResendResponse" json:"placeholderMessageResendResponse,omitempty"`
}
func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) Reset() {
*x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[211]
+ mi := &file_binary_proto_def_proto_msgTypes[216]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21610,7 +22396,7 @@ func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) String
func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult) ProtoMessage() {}
func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[211]
+ mi := &file_binary_proto_def_proto_msgTypes[216]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21647,24 +22433,80 @@ func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) GetLin
return nil
}
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) GetPlaceholderMessageResendResponse() *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse {
+ if x != nil {
+ return x.PlaceholderMessageResendResponse
+ }
+ return nil
+}
+
+type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WebMessageInfoBytes []byte `protobuf:"bytes,1,opt,name=webMessageInfoBytes" json:"webMessageInfoBytes,omitempty"`
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) Reset() {
+ *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[217]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) ProtoMessage() {
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[217]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{77, 0, 0}
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) GetWebMessageInfoBytes() []byte {
+ if x != nil {
+ return x.WebMessageInfoBytes
+ }
+ return nil
+}
+
type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
- Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"`
- Description *string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
- ThumbData []byte `protobuf:"bytes,4,opt,name=thumbData" json:"thumbData,omitempty"`
- CanonicalUrl *string `protobuf:"bytes,5,opt,name=canonicalUrl" json:"canonicalUrl,omitempty"`
- MatchText *string `protobuf:"bytes,6,opt,name=matchText" json:"matchText,omitempty"`
- PreviewType *string `protobuf:"bytes,7,opt,name=previewType" json:"previewType,omitempty"`
+ Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
+ Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"`
+ Description *string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
+ ThumbData []byte `protobuf:"bytes,4,opt,name=thumbData" json:"thumbData,omitempty"`
+ CanonicalUrl *string `protobuf:"bytes,5,opt,name=canonicalUrl" json:"canonicalUrl,omitempty"`
+ MatchText *string `protobuf:"bytes,6,opt,name=matchText" json:"matchText,omitempty"`
+ PreviewType *string `protobuf:"bytes,7,opt,name=previewType" json:"previewType,omitempty"`
+ HqThumbnail *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail `protobuf:"bytes,8,opt,name=hqThumbnail" json:"hqThumbnail,omitempty"`
}
func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) Reset() {
*x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[212]
+ mi := &file_binary_proto_def_proto_msgTypes[218]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21678,7 +22520,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPrevi
}
func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[212]
+ mi := &file_binary_proto_def_proto_msgTypes[218]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21691,7 +22533,7 @@ func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPre
// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse.ProtoReflect.Descriptor instead.
func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{77, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{77, 0, 1}
}
func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetUrl() string {
@@ -21743,6 +22585,337 @@ func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPre
return ""
}
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetHqThumbnail() *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail {
+ if x != nil {
+ return x.HqThumbnail
+ }
+ return nil
+}
+
+type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DirectPath *string `protobuf:"bytes,1,opt,name=directPath" json:"directPath,omitempty"`
+ ThumbHash *string `protobuf:"bytes,2,opt,name=thumbHash" json:"thumbHash,omitempty"`
+ EncThumbHash *string `protobuf:"bytes,3,opt,name=encThumbHash" json:"encThumbHash,omitempty"`
+ MediaKey []byte `protobuf:"bytes,4,opt,name=mediaKey" json:"mediaKey,omitempty"`
+ MediaKeyTimestampMs *int64 `protobuf:"varint,5,opt,name=mediaKeyTimestampMs" json:"mediaKeyTimestampMs,omitempty"`
+ ThumbWidth *int32 `protobuf:"varint,6,opt,name=thumbWidth" json:"thumbWidth,omitempty"`
+ ThumbHeight *int32 `protobuf:"varint,7,opt,name=thumbHeight" json:"thumbHeight,omitempty"`
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) Reset() {
+ *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[219]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) ProtoMessage() {
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[219]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{77, 0, 1, 0}
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetDirectPath() string {
+ if x != nil && x.DirectPath != nil {
+ return *x.DirectPath
+ }
+ return ""
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetThumbHash() string {
+ if x != nil && x.ThumbHash != nil {
+ return *x.ThumbHash
+ }
+ return ""
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetEncThumbHash() string {
+ if x != nil && x.EncThumbHash != nil {
+ return *x.EncThumbHash
+ }
+ return ""
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetMediaKey() []byte {
+ if x != nil {
+ return x.MediaKey
+ }
+ return nil
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetMediaKeyTimestampMs() int64 {
+ if x != nil && x.MediaKeyTimestampMs != nil {
+ return *x.MediaKeyTimestampMs
+ }
+ return 0
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetThumbWidth() int32 {
+ if x != nil && x.ThumbWidth != nil {
+ return *x.ThumbWidth
+ }
+ return 0
+}
+
+func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetThumbHeight() int32 {
+ if x != nil && x.ThumbHeight != nil {
+ return *x.ThumbHeight
+ }
+ return 0
+}
+
+type PeerDataOperationRequestMessage_RequestStickerReupload struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FileSha256 *string `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"`
+}
+
+func (x *PeerDataOperationRequestMessage_RequestStickerReupload) Reset() {
+ *x = PeerDataOperationRequestMessage_RequestStickerReupload{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[220]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestMessage_RequestStickerReupload) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestMessage_RequestStickerReupload) ProtoMessage() {}
+
+func (x *PeerDataOperationRequestMessage_RequestStickerReupload) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[220]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestMessage_RequestStickerReupload.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestMessage_RequestStickerReupload) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{78, 0}
+}
+
+func (x *PeerDataOperationRequestMessage_RequestStickerReupload) GetFileSha256() string {
+ if x != nil && x.FileSha256 != nil {
+ return *x.FileSha256
+ }
+ return ""
+}
+
+type PeerDataOperationRequestMessage_PlaceholderMessageResendRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MessageKey *MessageKey `protobuf:"bytes,1,opt,name=messageKey" json:"messageKey,omitempty"`
+}
+
+func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) Reset() {
+ *x = PeerDataOperationRequestMessage_PlaceholderMessageResendRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[221]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoMessage() {}
+
+func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[221]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestMessage_PlaceholderMessageResendRequest.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{78, 1}
+}
+
+func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) GetMessageKey() *MessageKey {
+ if x != nil {
+ return x.MessageKey
+ }
+ return nil
+}
+
+type PeerDataOperationRequestMessage_HistorySyncOnDemandRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatJid *string `protobuf:"bytes,1,opt,name=chatJid" json:"chatJid,omitempty"`
+ OldestMsgId *string `protobuf:"bytes,2,opt,name=oldestMsgId" json:"oldestMsgId,omitempty"`
+ OldestMsgFromMe *bool `protobuf:"varint,3,opt,name=oldestMsgFromMe" json:"oldestMsgFromMe,omitempty"`
+ OnDemandMsgCount *int32 `protobuf:"varint,4,opt,name=onDemandMsgCount" json:"onDemandMsgCount,omitempty"`
+ OldestMsgTimestampMs *int64 `protobuf:"varint,5,opt,name=oldestMsgTimestampMs" json:"oldestMsgTimestampMs,omitempty"`
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) Reset() {
+ *x = PeerDataOperationRequestMessage_HistorySyncOnDemandRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[222]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoMessage() {}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[222]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestMessage_HistorySyncOnDemandRequest.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{78, 2}
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetChatJid() string {
+ if x != nil && x.ChatJid != nil {
+ return *x.ChatJid
+ }
+ return ""
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOldestMsgId() string {
+ if x != nil && x.OldestMsgId != nil {
+ return *x.OldestMsgId
+ }
+ return ""
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOldestMsgFromMe() bool {
+ if x != nil && x.OldestMsgFromMe != nil {
+ return *x.OldestMsgFromMe
+ }
+ return false
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOnDemandMsgCount() int32 {
+ if x != nil && x.OnDemandMsgCount != nil {
+ return *x.OnDemandMsgCount
+ }
+ return 0
+}
+
+func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOldestMsgTimestampMs() int64 {
+ if x != nil && x.OldestMsgTimestampMs != nil {
+ return *x.OldestMsgTimestampMs
+ }
+ return 0
+}
+
+type PeerDataOperationRequestMessage_RequestUrlPreview struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
+ IncludeHqThumbnail *bool `protobuf:"varint,2,opt,name=includeHqThumbnail" json:"includeHqThumbnail,omitempty"`
+}
+
+func (x *PeerDataOperationRequestMessage_RequestUrlPreview) Reset() {
+ *x = PeerDataOperationRequestMessage_RequestUrlPreview{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[223]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PeerDataOperationRequestMessage_RequestUrlPreview) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PeerDataOperationRequestMessage_RequestUrlPreview) ProtoMessage() {}
+
+func (x *PeerDataOperationRequestMessage_RequestUrlPreview) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[223]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PeerDataOperationRequestMessage_RequestUrlPreview.ProtoReflect.Descriptor instead.
+func (*PeerDataOperationRequestMessage_RequestUrlPreview) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{78, 3}
+}
+
+func (x *PeerDataOperationRequestMessage_RequestUrlPreview) GetUrl() string {
+ if x != nil && x.Url != nil {
+ return *x.Url
+ }
+ return ""
+}
+
+func (x *PeerDataOperationRequestMessage_RequestUrlPreview) GetIncludeHqThumbnail() bool {
+ if x != nil && x.IncludeHqThumbnail != nil {
+ return *x.IncludeHqThumbnail
+ }
+ return false
+}
+
type MsgOpaqueData_PollOption struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -21754,7 +22927,7 @@ type MsgOpaqueData_PollOption struct {
func (x *MsgOpaqueData_PollOption) Reset() {
*x = MsgOpaqueData_PollOption{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[213]
+ mi := &file_binary_proto_def_proto_msgTypes[224]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21767,7 +22940,7 @@ func (x *MsgOpaqueData_PollOption) String() string {
func (*MsgOpaqueData_PollOption) ProtoMessage() {}
func (x *MsgOpaqueData_PollOption) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[213]
+ mi := &file_binary_proto_def_proto_msgTypes[224]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21780,7 +22953,7 @@ func (x *MsgOpaqueData_PollOption) ProtoReflect() protoreflect.Message {
// Deprecated: Use MsgOpaqueData_PollOption.ProtoReflect.Descriptor instead.
func (*MsgOpaqueData_PollOption) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{92, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{94, 0}
}
func (x *MsgOpaqueData_PollOption) GetName() string {
@@ -21805,7 +22978,7 @@ type VerifiedNameCertificate_Details struct {
func (x *VerifiedNameCertificate_Details) Reset() {
*x = VerifiedNameCertificate_Details{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[214]
+ mi := &file_binary_proto_def_proto_msgTypes[225]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21818,7 +22991,7 @@ func (x *VerifiedNameCertificate_Details) String() string {
func (*VerifiedNameCertificate_Details) ProtoMessage() {}
func (x *VerifiedNameCertificate_Details) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[214]
+ mi := &file_binary_proto_def_proto_msgTypes[225]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21831,7 +23004,7 @@ func (x *VerifiedNameCertificate_Details) ProtoReflect() protoreflect.Message {
// Deprecated: Use VerifiedNameCertificate_Details.ProtoReflect.Descriptor instead.
func (*VerifiedNameCertificate_Details) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{143, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{149, 0}
}
func (x *VerifiedNameCertificate_Details) GetSerial() uint64 {
@@ -21883,7 +23056,7 @@ type ClientPayload_WebInfo struct {
func (x *ClientPayload_WebInfo) Reset() {
*x = ClientPayload_WebInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[215]
+ mi := &file_binary_proto_def_proto_msgTypes[226]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21896,7 +23069,7 @@ func (x *ClientPayload_WebInfo) String() string {
func (*ClientPayload_WebInfo) ProtoMessage() {}
func (x *ClientPayload_WebInfo) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[215]
+ mi := &file_binary_proto_def_proto_msgTypes[226]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21909,7 +23082,7 @@ func (x *ClientPayload_WebInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use ClientPayload_WebInfo.ProtoReflect.Descriptor instead.
func (*ClientPayload_WebInfo) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 0}
}
func (x *ClientPayload_WebInfo) GetRefToken() string {
@@ -21963,7 +23136,7 @@ type ClientPayload_UserAgent struct {
func (x *ClientPayload_UserAgent) Reset() {
*x = ClientPayload_UserAgent{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[216]
+ mi := &file_binary_proto_def_proto_msgTypes[227]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -21976,7 +23149,7 @@ func (x *ClientPayload_UserAgent) String() string {
func (*ClientPayload_UserAgent) ProtoMessage() {}
func (x *ClientPayload_UserAgent) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[216]
+ mi := &file_binary_proto_def_proto_msgTypes[227]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -21989,7 +23162,7 @@ func (x *ClientPayload_UserAgent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ClientPayload_UserAgent.ProtoReflect.Descriptor instead.
func (*ClientPayload_UserAgent) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 1}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 1}
}
func (x *ClientPayload_UserAgent) GetPlatform() ClientPayload_UserAgent_Platform {
@@ -22083,6 +23256,69 @@ func (x *ClientPayload_UserAgent) GetDeviceBoard() string {
return ""
}
+type ClientPayload_InteropData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AccountId *uint64 `protobuf:"varint,1,opt,name=accountId" json:"accountId,omitempty"`
+ IntegratorId *uint32 `protobuf:"varint,2,opt,name=integratorId" json:"integratorId,omitempty"`
+ Token []byte `protobuf:"bytes,3,opt,name=token" json:"token,omitempty"`
+}
+
+func (x *ClientPayload_InteropData) Reset() {
+ *x = ClientPayload_InteropData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binary_proto_def_proto_msgTypes[228]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientPayload_InteropData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientPayload_InteropData) ProtoMessage() {}
+
+func (x *ClientPayload_InteropData) ProtoReflect() protoreflect.Message {
+ mi := &file_binary_proto_def_proto_msgTypes[228]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientPayload_InteropData.ProtoReflect.Descriptor instead.
+func (*ClientPayload_InteropData) Descriptor() ([]byte, []int) {
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 2}
+}
+
+func (x *ClientPayload_InteropData) GetAccountId() uint64 {
+ if x != nil && x.AccountId != nil {
+ return *x.AccountId
+ }
+ return 0
+}
+
+func (x *ClientPayload_InteropData) GetIntegratorId() uint32 {
+ if x != nil && x.IntegratorId != nil {
+ return *x.IntegratorId
+ }
+ return 0
+}
+
+func (x *ClientPayload_InteropData) GetToken() []byte {
+ if x != nil {
+ return x.Token
+ }
+ return nil
+}
+
type ClientPayload_DevicePairingRegistrationData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -22101,7 +23337,7 @@ type ClientPayload_DevicePairingRegistrationData struct {
func (x *ClientPayload_DevicePairingRegistrationData) Reset() {
*x = ClientPayload_DevicePairingRegistrationData{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[217]
+ mi := &file_binary_proto_def_proto_msgTypes[229]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22114,7 +23350,7 @@ func (x *ClientPayload_DevicePairingRegistrationData) String() string {
func (*ClientPayload_DevicePairingRegistrationData) ProtoMessage() {}
func (x *ClientPayload_DevicePairingRegistrationData) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[217]
+ mi := &file_binary_proto_def_proto_msgTypes[229]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22127,7 +23363,7 @@ func (x *ClientPayload_DevicePairingRegistrationData) ProtoReflect() protoreflec
// Deprecated: Use ClientPayload_DevicePairingRegistrationData.ProtoReflect.Descriptor instead.
func (*ClientPayload_DevicePairingRegistrationData) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 2}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 3}
}
func (x *ClientPayload_DevicePairingRegistrationData) GetERegid() []byte {
@@ -22198,7 +23434,7 @@ type ClientPayload_DNSSource struct {
func (x *ClientPayload_DNSSource) Reset() {
*x = ClientPayload_DNSSource{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[218]
+ mi := &file_binary_proto_def_proto_msgTypes[230]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22211,7 +23447,7 @@ func (x *ClientPayload_DNSSource) String() string {
func (*ClientPayload_DNSSource) ProtoMessage() {}
func (x *ClientPayload_DNSSource) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[218]
+ mi := &file_binary_proto_def_proto_msgTypes[230]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22224,7 +23460,7 @@ func (x *ClientPayload_DNSSource) ProtoReflect() protoreflect.Message {
// Deprecated: Use ClientPayload_DNSSource.ProtoReflect.Descriptor instead.
func (*ClientPayload_DNSSource) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 3}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 4}
}
func (x *ClientPayload_DNSSource) GetDnsMethod() ClientPayload_DNSSource_DNSResolutionMethod {
@@ -22262,7 +23498,7 @@ type ClientPayload_WebInfo_WebdPayload struct {
func (x *ClientPayload_WebInfo_WebdPayload) Reset() {
*x = ClientPayload_WebInfo_WebdPayload{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[219]
+ mi := &file_binary_proto_def_proto_msgTypes[231]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22275,7 +23511,7 @@ func (x *ClientPayload_WebInfo_WebdPayload) String() string {
func (*ClientPayload_WebInfo_WebdPayload) ProtoMessage() {}
func (x *ClientPayload_WebInfo_WebdPayload) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[219]
+ mi := &file_binary_proto_def_proto_msgTypes[231]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22288,7 +23524,7 @@ func (x *ClientPayload_WebInfo_WebdPayload) ProtoReflect() protoreflect.Message
// Deprecated: Use ClientPayload_WebInfo_WebdPayload.ProtoReflect.Descriptor instead.
func (*ClientPayload_WebInfo_WebdPayload) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 0, 0}
}
func (x *ClientPayload_WebInfo_WebdPayload) GetUsesParticipantInKey() bool {
@@ -22383,7 +23619,7 @@ type ClientPayload_UserAgent_AppVersion struct {
func (x *ClientPayload_UserAgent_AppVersion) Reset() {
*x = ClientPayload_UserAgent_AppVersion{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[220]
+ mi := &file_binary_proto_def_proto_msgTypes[232]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22396,7 +23632,7 @@ func (x *ClientPayload_UserAgent_AppVersion) String() string {
func (*ClientPayload_UserAgent_AppVersion) ProtoMessage() {}
func (x *ClientPayload_UserAgent_AppVersion) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[220]
+ mi := &file_binary_proto_def_proto_msgTypes[232]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22409,7 +23645,7 @@ func (x *ClientPayload_UserAgent_AppVersion) ProtoReflect() protoreflect.Message
// Deprecated: Use ClientPayload_UserAgent_AppVersion.ProtoReflect.Descriptor instead.
func (*ClientPayload_UserAgent_AppVersion) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{152, 1, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{158, 1, 0}
}
func (x *ClientPayload_UserAgent_AppVersion) GetPrimary() uint32 {
@@ -22462,7 +23698,7 @@ type NoiseCertificate_Details struct {
func (x *NoiseCertificate_Details) Reset() {
*x = NoiseCertificate_Details{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[221]
+ mi := &file_binary_proto_def_proto_msgTypes[233]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22475,7 +23711,7 @@ func (x *NoiseCertificate_Details) String() string {
func (*NoiseCertificate_Details) ProtoMessage() {}
func (x *NoiseCertificate_Details) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[221]
+ mi := &file_binary_proto_def_proto_msgTypes[233]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22488,7 +23724,7 @@ func (x *NoiseCertificate_Details) ProtoReflect() protoreflect.Message {
// Deprecated: Use NoiseCertificate_Details.ProtoReflect.Descriptor instead.
func (*NoiseCertificate_Details) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{166, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{173, 0}
}
func (x *NoiseCertificate_Details) GetSerial() uint32 {
@@ -22538,7 +23774,7 @@ type CertChain_NoiseCertificate struct {
func (x *CertChain_NoiseCertificate) Reset() {
*x = CertChain_NoiseCertificate{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[222]
+ mi := &file_binary_proto_def_proto_msgTypes[234]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22551,7 +23787,7 @@ func (x *CertChain_NoiseCertificate) String() string {
func (*CertChain_NoiseCertificate) ProtoMessage() {}
func (x *CertChain_NoiseCertificate) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[222]
+ mi := &file_binary_proto_def_proto_msgTypes[234]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22564,7 +23800,7 @@ func (x *CertChain_NoiseCertificate) ProtoReflect() protoreflect.Message {
// Deprecated: Use CertChain_NoiseCertificate.ProtoReflect.Descriptor instead.
func (*CertChain_NoiseCertificate) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{167, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{174, 0}
}
func (x *CertChain_NoiseCertificate) GetDetails() []byte {
@@ -22596,7 +23832,7 @@ type CertChain_NoiseCertificate_Details struct {
func (x *CertChain_NoiseCertificate_Details) Reset() {
*x = CertChain_NoiseCertificate_Details{}
if protoimpl.UnsafeEnabled {
- mi := &file_binary_proto_def_proto_msgTypes[223]
+ mi := &file_binary_proto_def_proto_msgTypes[235]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -22609,7 +23845,7 @@ func (x *CertChain_NoiseCertificate_Details) String() string {
func (*CertChain_NoiseCertificate_Details) ProtoMessage() {}
func (x *CertChain_NoiseCertificate_Details) ProtoReflect() protoreflect.Message {
- mi := &file_binary_proto_def_proto_msgTypes[223]
+ mi := &file_binary_proto_def_proto_msgTypes[235]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -22622,7 +23858,7 @@ func (x *CertChain_NoiseCertificate_Details) ProtoReflect() protoreflect.Message
// Deprecated: Use CertChain_NoiseCertificate_Details.ProtoReflect.Descriptor instead.
func (*CertChain_NoiseCertificate_Details) Descriptor() ([]byte, []int) {
- return file_binary_proto_def_proto_rawDescGZIP(), []int{167, 0, 0}
+ return file_binary_proto_def_proto_rawDescGZIP(), []int{174, 0, 0}
}
func (x *CertChain_NoiseCertificate_Details) GetSerial() uint32 {
@@ -22677,8 +23913,8 @@ func file_binary_proto_def_proto_rawDescGZIP() []byte {
return file_binary_proto_def_proto_rawDescData
}
-var file_binary_proto_def_proto_enumTypes = make([]protoimpl.EnumInfo, 56)
-var file_binary_proto_def_proto_msgTypes = make([]protoimpl.MessageInfo, 224)
+var file_binary_proto_def_proto_enumTypes = make([]protoimpl.EnumInfo, 59)
+var file_binary_proto_def_proto_msgTypes = make([]protoimpl.MessageInfo, 236)
var file_binary_proto_def_proto_goTypes = []interface{}{
(KeepType)(0), // 0: proto.KeepType
(PeerDataOperationRequestType)(0), // 1: proto.PeerDataOperationRequestType
@@ -22690,697 +23926,731 @@ var file_binary_proto_def_proto_goTypes = []interface{}{
(ListResponseMessage_ListType)(0), // 7: proto.ListResponseMessage.ListType
(ListMessage_ListType)(0), // 8: proto.ListMessage.ListType
(InvoiceMessage_AttachmentType)(0), // 9: proto.InvoiceMessage.AttachmentType
- (InteractiveMessage_ShopMessage_Surface)(0), // 10: proto.InteractiveMessage.ShopMessage.Surface
- (HistorySyncNotification_HistorySyncType)(0), // 11: proto.HistorySyncNotification.HistorySyncType
- (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType)(0), // 12: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType
- (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType)(0), // 13: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType
- (GroupInviteMessage_GroupType)(0), // 14: proto.GroupInviteMessage.GroupType
- (ExtendedTextMessage_PreviewType)(0), // 15: proto.ExtendedTextMessage.PreviewType
- (ExtendedTextMessage_InviteLinkGroupType)(0), // 16: proto.ExtendedTextMessage.InviteLinkGroupType
- (ExtendedTextMessage_FontType)(0), // 17: proto.ExtendedTextMessage.FontType
- (ButtonsResponseMessage_Type)(0), // 18: proto.ButtonsResponseMessage.Type
- (ButtonsMessage_HeaderType)(0), // 19: proto.ButtonsMessage.HeaderType
- (ButtonsMessage_Button_Type)(0), // 20: proto.ButtonsMessage.Button.Type
- (DisappearingMode_Initiator)(0), // 21: proto.DisappearingMode.Initiator
- (ContextInfo_ExternalAdReplyInfo_MediaType)(0), // 22: proto.ContextInfo.ExternalAdReplyInfo.MediaType
- (ContextInfo_AdReplyInfo_MediaType)(0), // 23: proto.ContextInfo.AdReplyInfo.MediaType
- (PaymentBackground_Type)(0), // 24: proto.PaymentBackground.Type
- (VideoMessage_Attribution)(0), // 25: proto.VideoMessage.Attribution
- (ScheduledCallEditMessage_EditType)(0), // 26: proto.ScheduledCallEditMessage.EditType
- (ScheduledCallCreationMessage_CallType)(0), // 27: proto.ScheduledCallCreationMessage.CallType
- (ProtocolMessage_Type)(0), // 28: proto.ProtocolMessage.Type
- (PinMessage_PinMessageType)(0), // 29: proto.PinMessage.PinMessageType
- (PastParticipant_LeaveReason)(0), // 30: proto.PastParticipant.LeaveReason
- (HistorySync_HistorySyncType)(0), // 31: proto.HistorySync.HistorySyncType
- (GroupParticipant_Rank)(0), // 32: proto.GroupParticipant.Rank
- (Conversation_EndOfHistoryTransferType)(0), // 33: proto.Conversation.EndOfHistoryTransferType
- (MediaRetryNotification_ResultType)(0), // 34: proto.MediaRetryNotification.ResultType
- (SyncdMutation_SyncdOperation)(0), // 35: proto.SyncdMutation.SyncdOperation
- (BizIdentityInfo_VerifiedLevelValue)(0), // 36: proto.BizIdentityInfo.VerifiedLevelValue
- (BizIdentityInfo_HostStorageType)(0), // 37: proto.BizIdentityInfo.HostStorageType
- (BizIdentityInfo_ActualActorsType)(0), // 38: proto.BizIdentityInfo.ActualActorsType
- (BizAccountLinkInfo_HostStorageType)(0), // 39: proto.BizAccountLinkInfo.HostStorageType
- (BizAccountLinkInfo_AccountType)(0), // 40: proto.BizAccountLinkInfo.AccountType
- (ClientPayload_Product)(0), // 41: proto.ClientPayload.Product
- (ClientPayload_IOSAppExtension)(0), // 42: proto.ClientPayload.IOSAppExtension
- (ClientPayload_ConnectType)(0), // 43: proto.ClientPayload.ConnectType
- (ClientPayload_ConnectReason)(0), // 44: proto.ClientPayload.ConnectReason
- (ClientPayload_WebInfo_WebSubPlatform)(0), // 45: proto.ClientPayload.WebInfo.WebSubPlatform
- (ClientPayload_UserAgent_ReleaseChannel)(0), // 46: proto.ClientPayload.UserAgent.ReleaseChannel
- (ClientPayload_UserAgent_Platform)(0), // 47: proto.ClientPayload.UserAgent.Platform
- (ClientPayload_DNSSource_DNSResolutionMethod)(0), // 48: proto.ClientPayload.DNSSource.DNSResolutionMethod
- (WebMessageInfo_StubType)(0), // 49: proto.WebMessageInfo.StubType
- (WebMessageInfo_Status)(0), // 50: proto.WebMessageInfo.Status
- (WebMessageInfo_BizPrivacyStatus)(0), // 51: proto.WebMessageInfo.BizPrivacyStatus
- (WebFeatures_Flag)(0), // 52: proto.WebFeatures.Flag
- (PaymentInfo_TxnStatus)(0), // 53: proto.PaymentInfo.TxnStatus
- (PaymentInfo_Status)(0), // 54: proto.PaymentInfo.Status
- (PaymentInfo_Currency)(0), // 55: proto.PaymentInfo.Currency
- (*ADVSignedKeyIndexList)(nil), // 56: proto.ADVSignedKeyIndexList
- (*ADVSignedDeviceIdentity)(nil), // 57: proto.ADVSignedDeviceIdentity
- (*ADVSignedDeviceIdentityHMAC)(nil), // 58: proto.ADVSignedDeviceIdentityHMAC
- (*ADVKeyIndexList)(nil), // 59: proto.ADVKeyIndexList
- (*ADVDeviceIdentity)(nil), // 60: proto.ADVDeviceIdentity
- (*DeviceProps)(nil), // 61: proto.DeviceProps
- (*PeerDataOperationRequestMessage)(nil), // 62: proto.PeerDataOperationRequestMessage
- (*PaymentInviteMessage)(nil), // 63: proto.PaymentInviteMessage
- (*OrderMessage)(nil), // 64: proto.OrderMessage
- (*LocationMessage)(nil), // 65: proto.LocationMessage
- (*LiveLocationMessage)(nil), // 66: proto.LiveLocationMessage
- (*ListResponseMessage)(nil), // 67: proto.ListResponseMessage
- (*ListMessage)(nil), // 68: proto.ListMessage
- (*KeepInChatMessage)(nil), // 69: proto.KeepInChatMessage
- (*InvoiceMessage)(nil), // 70: proto.InvoiceMessage
- (*InteractiveResponseMessage)(nil), // 71: proto.InteractiveResponseMessage
- (*InteractiveMessage)(nil), // 72: proto.InteractiveMessage
- (*InitialSecurityNotificationSettingSync)(nil), // 73: proto.InitialSecurityNotificationSettingSync
- (*ImageMessage)(nil), // 74: proto.ImageMessage
- (*HistorySyncNotification)(nil), // 75: proto.HistorySyncNotification
- (*HighlyStructuredMessage)(nil), // 76: proto.HighlyStructuredMessage
- (*GroupInviteMessage)(nil), // 77: proto.GroupInviteMessage
- (*FutureProofMessage)(nil), // 78: proto.FutureProofMessage
- (*ExtendedTextMessage)(nil), // 79: proto.ExtendedTextMessage
- (*EncReactionMessage)(nil), // 80: proto.EncReactionMessage
- (*DocumentMessage)(nil), // 81: proto.DocumentMessage
- (*DeviceSentMessage)(nil), // 82: proto.DeviceSentMessage
- (*DeclinePaymentRequestMessage)(nil), // 83: proto.DeclinePaymentRequestMessage
- (*ContactsArrayMessage)(nil), // 84: proto.ContactsArrayMessage
- (*ContactMessage)(nil), // 85: proto.ContactMessage
- (*Chat)(nil), // 86: proto.Chat
- (*CancelPaymentRequestMessage)(nil), // 87: proto.CancelPaymentRequestMessage
- (*Call)(nil), // 88: proto.Call
- (*ButtonsResponseMessage)(nil), // 89: proto.ButtonsResponseMessage
- (*ButtonsMessage)(nil), // 90: proto.ButtonsMessage
- (*AudioMessage)(nil), // 91: proto.AudioMessage
- (*AppStateSyncKey)(nil), // 92: proto.AppStateSyncKey
- (*AppStateSyncKeyShare)(nil), // 93: proto.AppStateSyncKeyShare
- (*AppStateSyncKeyRequest)(nil), // 94: proto.AppStateSyncKeyRequest
- (*AppStateSyncKeyId)(nil), // 95: proto.AppStateSyncKeyId
- (*AppStateSyncKeyFingerprint)(nil), // 96: proto.AppStateSyncKeyFingerprint
- (*AppStateSyncKeyData)(nil), // 97: proto.AppStateSyncKeyData
- (*AppStateFatalExceptionNotification)(nil), // 98: proto.AppStateFatalExceptionNotification
- (*Location)(nil), // 99: proto.Location
- (*InteractiveAnnotation)(nil), // 100: proto.InteractiveAnnotation
- (*HydratedTemplateButton)(nil), // 101: proto.HydratedTemplateButton
- (*GroupMention)(nil), // 102: proto.GroupMention
- (*DisappearingMode)(nil), // 103: proto.DisappearingMode
- (*DeviceListMetadata)(nil), // 104: proto.DeviceListMetadata
- (*ContextInfo)(nil), // 105: proto.ContextInfo
- (*ActionLink)(nil), // 106: proto.ActionLink
- (*TemplateButton)(nil), // 107: proto.TemplateButton
- (*Point)(nil), // 108: proto.Point
- (*PaymentBackground)(nil), // 109: proto.PaymentBackground
- (*Money)(nil), // 110: proto.Money
- (*Message)(nil), // 111: proto.Message
- (*MessageContextInfo)(nil), // 112: proto.MessageContextInfo
- (*VideoMessage)(nil), // 113: proto.VideoMessage
- (*TemplateMessage)(nil), // 114: proto.TemplateMessage
- (*TemplateButtonReplyMessage)(nil), // 115: proto.TemplateButtonReplyMessage
- (*StickerSyncRMRMessage)(nil), // 116: proto.StickerSyncRMRMessage
- (*StickerMessage)(nil), // 117: proto.StickerMessage
- (*SenderKeyDistributionMessage)(nil), // 118: proto.SenderKeyDistributionMessage
- (*SendPaymentMessage)(nil), // 119: proto.SendPaymentMessage
- (*ScheduledCallEditMessage)(nil), // 120: proto.ScheduledCallEditMessage
- (*ScheduledCallCreationMessage)(nil), // 121: proto.ScheduledCallCreationMessage
- (*RequestPhoneNumberMessage)(nil), // 122: proto.RequestPhoneNumberMessage
- (*RequestPaymentMessage)(nil), // 123: proto.RequestPaymentMessage
- (*ReactionMessage)(nil), // 124: proto.ReactionMessage
- (*ProtocolMessage)(nil), // 125: proto.ProtocolMessage
- (*ProductMessage)(nil), // 126: proto.ProductMessage
- (*PollVoteMessage)(nil), // 127: proto.PollVoteMessage
- (*PollUpdateMessage)(nil), // 128: proto.PollUpdateMessage
- (*PollUpdateMessageMetadata)(nil), // 129: proto.PollUpdateMessageMetadata
- (*PollEncValue)(nil), // 130: proto.PollEncValue
- (*PollCreationMessage)(nil), // 131: proto.PollCreationMessage
- (*PinMessage)(nil), // 132: proto.PinMessage
- (*PeerDataOperationRequestResponseMessage)(nil), // 133: proto.PeerDataOperationRequestResponseMessage
- (*EphemeralSetting)(nil), // 134: proto.EphemeralSetting
- (*WallpaperSettings)(nil), // 135: proto.WallpaperSettings
- (*StickerMetadata)(nil), // 136: proto.StickerMetadata
- (*Pushname)(nil), // 137: proto.Pushname
- (*PastParticipants)(nil), // 138: proto.PastParticipants
- (*PastParticipant)(nil), // 139: proto.PastParticipant
- (*HistorySync)(nil), // 140: proto.HistorySync
- (*HistorySyncMsg)(nil), // 141: proto.HistorySyncMsg
- (*GroupParticipant)(nil), // 142: proto.GroupParticipant
- (*GlobalSettings)(nil), // 143: proto.GlobalSettings
- (*Conversation)(nil), // 144: proto.Conversation
- (*AvatarUserSettings)(nil), // 145: proto.AvatarUserSettings
- (*AutoDownloadSettings)(nil), // 146: proto.AutoDownloadSettings
- (*MsgRowOpaqueData)(nil), // 147: proto.MsgRowOpaqueData
- (*MsgOpaqueData)(nil), // 148: proto.MsgOpaqueData
- (*ServerErrorReceipt)(nil), // 149: proto.ServerErrorReceipt
- (*MediaRetryNotification)(nil), // 150: proto.MediaRetryNotification
- (*MessageKey)(nil), // 151: proto.MessageKey
- (*SyncdVersion)(nil), // 152: proto.SyncdVersion
- (*SyncdValue)(nil), // 153: proto.SyncdValue
- (*SyncdSnapshot)(nil), // 154: proto.SyncdSnapshot
- (*SyncdRecord)(nil), // 155: proto.SyncdRecord
- (*SyncdPatch)(nil), // 156: proto.SyncdPatch
- (*SyncdMutations)(nil), // 157: proto.SyncdMutations
- (*SyncdMutation)(nil), // 158: proto.SyncdMutation
- (*SyncdIndex)(nil), // 159: proto.SyncdIndex
- (*KeyId)(nil), // 160: proto.KeyId
- (*ExternalBlobReference)(nil), // 161: proto.ExternalBlobReference
- (*ExitCode)(nil), // 162: proto.ExitCode
- (*SyncActionValue)(nil), // 163: proto.SyncActionValue
- (*UserStatusMuteAction)(nil), // 164: proto.UserStatusMuteAction
- (*UnarchiveChatsSetting)(nil), // 165: proto.UnarchiveChatsSetting
- (*TimeFormatAction)(nil), // 166: proto.TimeFormatAction
- (*SyncActionMessage)(nil), // 167: proto.SyncActionMessage
- (*SyncActionMessageRange)(nil), // 168: proto.SyncActionMessageRange
- (*SubscriptionAction)(nil), // 169: proto.SubscriptionAction
- (*StickerAction)(nil), // 170: proto.StickerAction
- (*StarAction)(nil), // 171: proto.StarAction
- (*SecurityNotificationSetting)(nil), // 172: proto.SecurityNotificationSetting
- (*RemoveRecentStickerAction)(nil), // 173: proto.RemoveRecentStickerAction
- (*RecentEmojiWeightsAction)(nil), // 174: proto.RecentEmojiWeightsAction
- (*QuickReplyAction)(nil), // 175: proto.QuickReplyAction
- (*PushNameSetting)(nil), // 176: proto.PushNameSetting
- (*PrimaryVersionAction)(nil), // 177: proto.PrimaryVersionAction
- (*PrimaryFeature)(nil), // 178: proto.PrimaryFeature
- (*PnForLidChatAction)(nil), // 179: proto.PnForLidChatAction
- (*PinAction)(nil), // 180: proto.PinAction
- (*NuxAction)(nil), // 181: proto.NuxAction
- (*MuteAction)(nil), // 182: proto.MuteAction
- (*MarkChatAsReadAction)(nil), // 183: proto.MarkChatAsReadAction
- (*LocaleSetting)(nil), // 184: proto.LocaleSetting
- (*LabelEditAction)(nil), // 185: proto.LabelEditAction
- (*LabelAssociationAction)(nil), // 186: proto.LabelAssociationAction
- (*KeyExpiration)(nil), // 187: proto.KeyExpiration
- (*DeleteMessageForMeAction)(nil), // 188: proto.DeleteMessageForMeAction
- (*DeleteChatAction)(nil), // 189: proto.DeleteChatAction
- (*ContactAction)(nil), // 190: proto.ContactAction
- (*ClearChatAction)(nil), // 191: proto.ClearChatAction
- (*ChatAssignmentOpenedStatusAction)(nil), // 192: proto.ChatAssignmentOpenedStatusAction
- (*ChatAssignmentAction)(nil), // 193: proto.ChatAssignmentAction
- (*ArchiveChatAction)(nil), // 194: proto.ArchiveChatAction
- (*AndroidUnsupportedActions)(nil), // 195: proto.AndroidUnsupportedActions
- (*AgentAction)(nil), // 196: proto.AgentAction
- (*SyncActionData)(nil), // 197: proto.SyncActionData
- (*RecentEmojiWeight)(nil), // 198: proto.RecentEmojiWeight
- (*VerifiedNameCertificate)(nil), // 199: proto.VerifiedNameCertificate
- (*LocalizedName)(nil), // 200: proto.LocalizedName
- (*BizIdentityInfo)(nil), // 201: proto.BizIdentityInfo
- (*BizAccountPayload)(nil), // 202: proto.BizAccountPayload
- (*BizAccountLinkInfo)(nil), // 203: proto.BizAccountLinkInfo
- (*HandshakeMessage)(nil), // 204: proto.HandshakeMessage
- (*HandshakeServerHello)(nil), // 205: proto.HandshakeServerHello
- (*HandshakeClientHello)(nil), // 206: proto.HandshakeClientHello
- (*HandshakeClientFinish)(nil), // 207: proto.HandshakeClientFinish
- (*ClientPayload)(nil), // 208: proto.ClientPayload
- (*WebNotificationsInfo)(nil), // 209: proto.WebNotificationsInfo
- (*WebMessageInfo)(nil), // 210: proto.WebMessageInfo
- (*WebFeatures)(nil), // 211: proto.WebFeatures
- (*UserReceipt)(nil), // 212: proto.UserReceipt
- (*StatusPSA)(nil), // 213: proto.StatusPSA
- (*Reaction)(nil), // 214: proto.Reaction
- (*PollUpdate)(nil), // 215: proto.PollUpdate
- (*PollAdditionalMetadata)(nil), // 216: proto.PollAdditionalMetadata
- (*PhotoChange)(nil), // 217: proto.PhotoChange
- (*PaymentInfo)(nil), // 218: proto.PaymentInfo
- (*NotificationMessageInfo)(nil), // 219: proto.NotificationMessageInfo
- (*MediaData)(nil), // 220: proto.MediaData
- (*KeepInChat)(nil), // 221: proto.KeepInChat
- (*NoiseCertificate)(nil), // 222: proto.NoiseCertificate
- (*CertChain)(nil), // 223: proto.CertChain
- (*DeviceProps_HistorySyncConfig)(nil), // 224: proto.DeviceProps.HistorySyncConfig
- (*DeviceProps_AppVersion)(nil), // 225: proto.DeviceProps.AppVersion
- (*PeerDataOperationRequestMessage_RequestUrlPreview)(nil), // 226: proto.PeerDataOperationRequestMessage.RequestUrlPreview
- (*PeerDataOperationRequestMessage_RequestStickerReupload)(nil), // 227: proto.PeerDataOperationRequestMessage.RequestStickerReupload
- (*ListResponseMessage_SingleSelectReply)(nil), // 228: proto.ListResponseMessage.SingleSelectReply
- (*ListMessage_Section)(nil), // 229: proto.ListMessage.Section
- (*ListMessage_Row)(nil), // 230: proto.ListMessage.Row
- (*ListMessage_Product)(nil), // 231: proto.ListMessage.Product
- (*ListMessage_ProductSection)(nil), // 232: proto.ListMessage.ProductSection
- (*ListMessage_ProductListInfo)(nil), // 233: proto.ListMessage.ProductListInfo
- (*ListMessage_ProductListHeaderImage)(nil), // 234: proto.ListMessage.ProductListHeaderImage
- (*InteractiveResponseMessage_NativeFlowResponseMessage)(nil), // 235: proto.InteractiveResponseMessage.NativeFlowResponseMessage
- (*InteractiveResponseMessage_Body)(nil), // 236: proto.InteractiveResponseMessage.Body
- (*InteractiveMessage_ShopMessage)(nil), // 237: proto.InteractiveMessage.ShopMessage
- (*InteractiveMessage_NativeFlowMessage)(nil), // 238: proto.InteractiveMessage.NativeFlowMessage
- (*InteractiveMessage_Header)(nil), // 239: proto.InteractiveMessage.Header
- (*InteractiveMessage_Footer)(nil), // 240: proto.InteractiveMessage.Footer
- (*InteractiveMessage_CollectionMessage)(nil), // 241: proto.InteractiveMessage.CollectionMessage
- (*InteractiveMessage_Body)(nil), // 242: proto.InteractiveMessage.Body
- (*InteractiveMessage_NativeFlowMessage_NativeFlowButton)(nil), // 243: proto.InteractiveMessage.NativeFlowMessage.NativeFlowButton
- (*HighlyStructuredMessage_HSMLocalizableParameter)(nil), // 244: proto.HighlyStructuredMessage.HSMLocalizableParameter
- (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime)(nil), // 245: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime
- (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency)(nil), // 246: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency
- (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch)(nil), // 247: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch
- (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent)(nil), // 248: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent
- (*ButtonsMessage_Button)(nil), // 249: proto.ButtonsMessage.Button
- (*ButtonsMessage_Button_NativeFlowInfo)(nil), // 250: proto.ButtonsMessage.Button.NativeFlowInfo
- (*ButtonsMessage_Button_ButtonText)(nil), // 251: proto.ButtonsMessage.Button.ButtonText
- (*HydratedTemplateButton_HydratedURLButton)(nil), // 252: proto.HydratedTemplateButton.HydratedURLButton
- (*HydratedTemplateButton_HydratedQuickReplyButton)(nil), // 253: proto.HydratedTemplateButton.HydratedQuickReplyButton
- (*HydratedTemplateButton_HydratedCallButton)(nil), // 254: proto.HydratedTemplateButton.HydratedCallButton
- (*ContextInfo_UTMInfo)(nil), // 255: proto.ContextInfo.UTMInfo
- (*ContextInfo_ExternalAdReplyInfo)(nil), // 256: proto.ContextInfo.ExternalAdReplyInfo
- (*ContextInfo_AdReplyInfo)(nil), // 257: proto.ContextInfo.AdReplyInfo
- (*TemplateButton_URLButton)(nil), // 258: proto.TemplateButton.URLButton
- (*TemplateButton_QuickReplyButton)(nil), // 259: proto.TemplateButton.QuickReplyButton
- (*TemplateButton_CallButton)(nil), // 260: proto.TemplateButton.CallButton
- (*PaymentBackground_MediaData)(nil), // 261: proto.PaymentBackground.MediaData
- (*TemplateMessage_HydratedFourRowTemplate)(nil), // 262: proto.TemplateMessage.HydratedFourRowTemplate
- (*TemplateMessage_FourRowTemplate)(nil), // 263: proto.TemplateMessage.FourRowTemplate
- (*ProductMessage_ProductSnapshot)(nil), // 264: proto.ProductMessage.ProductSnapshot
- (*ProductMessage_CatalogSnapshot)(nil), // 265: proto.ProductMessage.CatalogSnapshot
- (*PollCreationMessage_Option)(nil), // 266: proto.PollCreationMessage.Option
- (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult)(nil), // 267: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult
- (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse)(nil), // 268: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse
- (*MsgOpaqueData_PollOption)(nil), // 269: proto.MsgOpaqueData.PollOption
- (*VerifiedNameCertificate_Details)(nil), // 270: proto.VerifiedNameCertificate.Details
- (*ClientPayload_WebInfo)(nil), // 271: proto.ClientPayload.WebInfo
- (*ClientPayload_UserAgent)(nil), // 272: proto.ClientPayload.UserAgent
- (*ClientPayload_DevicePairingRegistrationData)(nil), // 273: proto.ClientPayload.DevicePairingRegistrationData
- (*ClientPayload_DNSSource)(nil), // 274: proto.ClientPayload.DNSSource
- (*ClientPayload_WebInfo_WebdPayload)(nil), // 275: proto.ClientPayload.WebInfo.WebdPayload
- (*ClientPayload_UserAgent_AppVersion)(nil), // 276: proto.ClientPayload.UserAgent.AppVersion
- (*NoiseCertificate_Details)(nil), // 277: proto.NoiseCertificate.Details
- (*CertChain_NoiseCertificate)(nil), // 278: proto.CertChain.NoiseCertificate
- (*CertChain_NoiseCertificate_Details)(nil), // 279: proto.CertChain.NoiseCertificate.Details
+ (InteractiveResponseMessage_Body_Format)(0), // 10: proto.InteractiveResponseMessage.Body.Format
+ (InteractiveMessage_ShopMessage_Surface)(0), // 11: proto.InteractiveMessage.ShopMessage.Surface
+ (HistorySyncNotification_HistorySyncType)(0), // 12: proto.HistorySyncNotification.HistorySyncType
+ (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType)(0), // 13: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType
+ (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType)(0), // 14: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType
+ (GroupInviteMessage_GroupType)(0), // 15: proto.GroupInviteMessage.GroupType
+ (ExtendedTextMessage_PreviewType)(0), // 16: proto.ExtendedTextMessage.PreviewType
+ (ExtendedTextMessage_InviteLinkGroupType)(0), // 17: proto.ExtendedTextMessage.InviteLinkGroupType
+ (ExtendedTextMessage_FontType)(0), // 18: proto.ExtendedTextMessage.FontType
+ (ButtonsResponseMessage_Type)(0), // 19: proto.ButtonsResponseMessage.Type
+ (ButtonsMessage_HeaderType)(0), // 20: proto.ButtonsMessage.HeaderType
+ (ButtonsMessage_Button_Type)(0), // 21: proto.ButtonsMessage.Button.Type
+ (DisappearingMode_Initiator)(0), // 22: proto.DisappearingMode.Initiator
+ (ContextInfo_ExternalAdReplyInfo_MediaType)(0), // 23: proto.ContextInfo.ExternalAdReplyInfo.MediaType
+ (ContextInfo_AdReplyInfo_MediaType)(0), // 24: proto.ContextInfo.AdReplyInfo.MediaType
+ (PaymentBackground_Type)(0), // 25: proto.PaymentBackground.Type
+ (VideoMessage_Attribution)(0), // 26: proto.VideoMessage.Attribution
+ (ScheduledCallEditMessage_EditType)(0), // 27: proto.ScheduledCallEditMessage.EditType
+ (ScheduledCallCreationMessage_CallType)(0), // 28: proto.ScheduledCallCreationMessage.CallType
+ (ProtocolMessage_Type)(0), // 29: proto.ProtocolMessage.Type
+ (PinMessage_PinMessageType)(0), // 30: proto.PinMessage.PinMessageType
+ (PastParticipant_LeaveReason)(0), // 31: proto.PastParticipant.LeaveReason
+ (HistorySync_HistorySyncType)(0), // 32: proto.HistorySync.HistorySyncType
+ (GroupParticipant_Rank)(0), // 33: proto.GroupParticipant.Rank
+ (Conversation_EndOfHistoryTransferType)(0), // 34: proto.Conversation.EndOfHistoryTransferType
+ (MediaRetryNotification_ResultType)(0), // 35: proto.MediaRetryNotification.ResultType
+ (SyncdMutation_SyncdOperation)(0), // 36: proto.SyncdMutation.SyncdOperation
+ (MarketingMessageAction_MarketingMessagePrototypeType)(0), // 37: proto.MarketingMessageAction.MarketingMessagePrototypeType
+ (BizIdentityInfo_VerifiedLevelValue)(0), // 38: proto.BizIdentityInfo.VerifiedLevelValue
+ (BizIdentityInfo_HostStorageType)(0), // 39: proto.BizIdentityInfo.HostStorageType
+ (BizIdentityInfo_ActualActorsType)(0), // 40: proto.BizIdentityInfo.ActualActorsType
+ (BizAccountLinkInfo_HostStorageType)(0), // 41: proto.BizAccountLinkInfo.HostStorageType
+ (BizAccountLinkInfo_AccountType)(0), // 42: proto.BizAccountLinkInfo.AccountType
+ (ClientPayload_Product)(0), // 43: proto.ClientPayload.Product
+ (ClientPayload_IOSAppExtension)(0), // 44: proto.ClientPayload.IOSAppExtension
+ (ClientPayload_ConnectType)(0), // 45: proto.ClientPayload.ConnectType
+ (ClientPayload_ConnectReason)(0), // 46: proto.ClientPayload.ConnectReason
+ (ClientPayload_WebInfo_WebSubPlatform)(0), // 47: proto.ClientPayload.WebInfo.WebSubPlatform
+ (ClientPayload_UserAgent_ReleaseChannel)(0), // 48: proto.ClientPayload.UserAgent.ReleaseChannel
+ (ClientPayload_UserAgent_Platform)(0), // 49: proto.ClientPayload.UserAgent.Platform
+ (ClientPayload_DNSSource_DNSResolutionMethod)(0), // 50: proto.ClientPayload.DNSSource.DNSResolutionMethod
+ (WebMessageInfo_StubType)(0), // 51: proto.WebMessageInfo.StubType
+ (WebMessageInfo_Status)(0), // 52: proto.WebMessageInfo.Status
+ (WebMessageInfo_BizPrivacyStatus)(0), // 53: proto.WebMessageInfo.BizPrivacyStatus
+ (WebFeatures_Flag)(0), // 54: proto.WebFeatures.Flag
+ (PinInChat_PinMessageType)(0), // 55: proto.PinInChat.PinMessageType
+ (PaymentInfo_TxnStatus)(0), // 56: proto.PaymentInfo.TxnStatus
+ (PaymentInfo_Status)(0), // 57: proto.PaymentInfo.Status
+ (PaymentInfo_Currency)(0), // 58: proto.PaymentInfo.Currency
+ (*ADVSignedKeyIndexList)(nil), // 59: proto.ADVSignedKeyIndexList
+ (*ADVSignedDeviceIdentity)(nil), // 60: proto.ADVSignedDeviceIdentity
+ (*ADVSignedDeviceIdentityHMAC)(nil), // 61: proto.ADVSignedDeviceIdentityHMAC
+ (*ADVKeyIndexList)(nil), // 62: proto.ADVKeyIndexList
+ (*ADVDeviceIdentity)(nil), // 63: proto.ADVDeviceIdentity
+ (*DeviceProps)(nil), // 64: proto.DeviceProps
+ (*PaymentInviteMessage)(nil), // 65: proto.PaymentInviteMessage
+ (*OrderMessage)(nil), // 66: proto.OrderMessage
+ (*LocationMessage)(nil), // 67: proto.LocationMessage
+ (*LiveLocationMessage)(nil), // 68: proto.LiveLocationMessage
+ (*ListResponseMessage)(nil), // 69: proto.ListResponseMessage
+ (*ListMessage)(nil), // 70: proto.ListMessage
+ (*KeepInChatMessage)(nil), // 71: proto.KeepInChatMessage
+ (*InvoiceMessage)(nil), // 72: proto.InvoiceMessage
+ (*InteractiveResponseMessage)(nil), // 73: proto.InteractiveResponseMessage
+ (*InteractiveMessage)(nil), // 74: proto.InteractiveMessage
+ (*InitialSecurityNotificationSettingSync)(nil), // 75: proto.InitialSecurityNotificationSettingSync
+ (*ImageMessage)(nil), // 76: proto.ImageMessage
+ (*HistorySyncNotification)(nil), // 77: proto.HistorySyncNotification
+ (*HighlyStructuredMessage)(nil), // 78: proto.HighlyStructuredMessage
+ (*GroupInviteMessage)(nil), // 79: proto.GroupInviteMessage
+ (*FutureProofMessage)(nil), // 80: proto.FutureProofMessage
+ (*ExtendedTextMessage)(nil), // 81: proto.ExtendedTextMessage
+ (*EncReactionMessage)(nil), // 82: proto.EncReactionMessage
+ (*DocumentMessage)(nil), // 83: proto.DocumentMessage
+ (*DeviceSentMessage)(nil), // 84: proto.DeviceSentMessage
+ (*DeclinePaymentRequestMessage)(nil), // 85: proto.DeclinePaymentRequestMessage
+ (*ContactsArrayMessage)(nil), // 86: proto.ContactsArrayMessage
+ (*ContactMessageV2)(nil), // 87: proto.ContactMessageV2
+ (*ContactMessage)(nil), // 88: proto.ContactMessage
+ (*Chat)(nil), // 89: proto.Chat
+ (*CancelPaymentRequestMessage)(nil), // 90: proto.CancelPaymentRequestMessage
+ (*Call)(nil), // 91: proto.Call
+ (*ButtonsResponseMessage)(nil), // 92: proto.ButtonsResponseMessage
+ (*ButtonsMessage)(nil), // 93: proto.ButtonsMessage
+ (*AudioMessage)(nil), // 94: proto.AudioMessage
+ (*AppStateSyncKey)(nil), // 95: proto.AppStateSyncKey
+ (*AppStateSyncKeyShare)(nil), // 96: proto.AppStateSyncKeyShare
+ (*AppStateSyncKeyRequest)(nil), // 97: proto.AppStateSyncKeyRequest
+ (*AppStateSyncKeyId)(nil), // 98: proto.AppStateSyncKeyId
+ (*AppStateSyncKeyFingerprint)(nil), // 99: proto.AppStateSyncKeyFingerprint
+ (*AppStateSyncKeyData)(nil), // 100: proto.AppStateSyncKeyData
+ (*AppStateFatalExceptionNotification)(nil), // 101: proto.AppStateFatalExceptionNotification
+ (*Location)(nil), // 102: proto.Location
+ (*InteractiveAnnotation)(nil), // 103: proto.InteractiveAnnotation
+ (*HydratedTemplateButton)(nil), // 104: proto.HydratedTemplateButton
+ (*GroupMention)(nil), // 105: proto.GroupMention
+ (*DisappearingMode)(nil), // 106: proto.DisappearingMode
+ (*DeviceListMetadata)(nil), // 107: proto.DeviceListMetadata
+ (*ContextInfo)(nil), // 108: proto.ContextInfo
+ (*ActionLink)(nil), // 109: proto.ActionLink
+ (*TemplateButton)(nil), // 110: proto.TemplateButton
+ (*Point)(nil), // 111: proto.Point
+ (*PaymentBackground)(nil), // 112: proto.PaymentBackground
+ (*Money)(nil), // 113: proto.Money
+ (*Message)(nil), // 114: proto.Message
+ (*MessageContextInfo)(nil), // 115: proto.MessageContextInfo
+ (*VideoMessage)(nil), // 116: proto.VideoMessage
+ (*TemplateMessage)(nil), // 117: proto.TemplateMessage
+ (*TemplateButtonReplyMessage)(nil), // 118: proto.TemplateButtonReplyMessage
+ (*StickerSyncRMRMessage)(nil), // 119: proto.StickerSyncRMRMessage
+ (*StickerMessage)(nil), // 120: proto.StickerMessage
+ (*SenderKeyDistributionMessage)(nil), // 121: proto.SenderKeyDistributionMessage
+ (*SendPaymentMessage)(nil), // 122: proto.SendPaymentMessage
+ (*ScheduledCallEditMessage)(nil), // 123: proto.ScheduledCallEditMessage
+ (*ScheduledCallCreationMessage)(nil), // 124: proto.ScheduledCallCreationMessage
+ (*RequestPhoneNumberMessage)(nil), // 125: proto.RequestPhoneNumberMessage
+ (*RequestPaymentMessage)(nil), // 126: proto.RequestPaymentMessage
+ (*ReactionMessage)(nil), // 127: proto.ReactionMessage
+ (*ProtocolMessage)(nil), // 128: proto.ProtocolMessage
+ (*ProductMessage)(nil), // 129: proto.ProductMessage
+ (*PollVoteMessage)(nil), // 130: proto.PollVoteMessage
+ (*PollUpdateMessage)(nil), // 131: proto.PollUpdateMessage
+ (*PollUpdateMessageMetadata)(nil), // 132: proto.PollUpdateMessageMetadata
+ (*PollEncValue)(nil), // 133: proto.PollEncValue
+ (*PollCreationMessage)(nil), // 134: proto.PollCreationMessage
+ (*PinMessage)(nil), // 135: proto.PinMessage
+ (*PeerDataOperationRequestResponseMessage)(nil), // 136: proto.PeerDataOperationRequestResponseMessage
+ (*PeerDataOperationRequestMessage)(nil), // 137: proto.PeerDataOperationRequestMessage
+ (*EphemeralSetting)(nil), // 138: proto.EphemeralSetting
+ (*WallpaperSettings)(nil), // 139: proto.WallpaperSettings
+ (*StickerMetadata)(nil), // 140: proto.StickerMetadata
+ (*Pushname)(nil), // 141: proto.Pushname
+ (*PastParticipants)(nil), // 142: proto.PastParticipants
+ (*PastParticipant)(nil), // 143: proto.PastParticipant
+ (*NotificationSettings)(nil), // 144: proto.NotificationSettings
+ (*HistorySync)(nil), // 145: proto.HistorySync
+ (*HistorySyncMsg)(nil), // 146: proto.HistorySyncMsg
+ (*GroupParticipant)(nil), // 147: proto.GroupParticipant
+ (*GlobalSettings)(nil), // 148: proto.GlobalSettings
+ (*Conversation)(nil), // 149: proto.Conversation
+ (*AvatarUserSettings)(nil), // 150: proto.AvatarUserSettings
+ (*AutoDownloadSettings)(nil), // 151: proto.AutoDownloadSettings
+ (*MsgRowOpaqueData)(nil), // 152: proto.MsgRowOpaqueData
+ (*MsgOpaqueData)(nil), // 153: proto.MsgOpaqueData
+ (*ServerErrorReceipt)(nil), // 154: proto.ServerErrorReceipt
+ (*MediaRetryNotification)(nil), // 155: proto.MediaRetryNotification
+ (*MessageKey)(nil), // 156: proto.MessageKey
+ (*SyncdVersion)(nil), // 157: proto.SyncdVersion
+ (*SyncdValue)(nil), // 158: proto.SyncdValue
+ (*SyncdSnapshot)(nil), // 159: proto.SyncdSnapshot
+ (*SyncdRecord)(nil), // 160: proto.SyncdRecord
+ (*SyncdPatch)(nil), // 161: proto.SyncdPatch
+ (*SyncdMutations)(nil), // 162: proto.SyncdMutations
+ (*SyncdMutation)(nil), // 163: proto.SyncdMutation
+ (*SyncdIndex)(nil), // 164: proto.SyncdIndex
+ (*KeyId)(nil), // 165: proto.KeyId
+ (*ExternalBlobReference)(nil), // 166: proto.ExternalBlobReference
+ (*ExitCode)(nil), // 167: proto.ExitCode
+ (*SyncActionValue)(nil), // 168: proto.SyncActionValue
+ (*UserStatusMuteAction)(nil), // 169: proto.UserStatusMuteAction
+ (*UnarchiveChatsSetting)(nil), // 170: proto.UnarchiveChatsSetting
+ (*TimeFormatAction)(nil), // 171: proto.TimeFormatAction
+ (*SyncActionMessage)(nil), // 172: proto.SyncActionMessage
+ (*SyncActionMessageRange)(nil), // 173: proto.SyncActionMessageRange
+ (*SubscriptionAction)(nil), // 174: proto.SubscriptionAction
+ (*StickerAction)(nil), // 175: proto.StickerAction
+ (*StarAction)(nil), // 176: proto.StarAction
+ (*SecurityNotificationSetting)(nil), // 177: proto.SecurityNotificationSetting
+ (*RemoveRecentStickerAction)(nil), // 178: proto.RemoveRecentStickerAction
+ (*RecentEmojiWeightsAction)(nil), // 179: proto.RecentEmojiWeightsAction
+ (*QuickReplyAction)(nil), // 180: proto.QuickReplyAction
+ (*PushNameSetting)(nil), // 181: proto.PushNameSetting
+ (*PrivacySettingRelayAllCalls)(nil), // 182: proto.PrivacySettingRelayAllCalls
+ (*PrimaryVersionAction)(nil), // 183: proto.PrimaryVersionAction
+ (*PrimaryFeature)(nil), // 184: proto.PrimaryFeature
+ (*PnForLidChatAction)(nil), // 185: proto.PnForLidChatAction
+ (*PinAction)(nil), // 186: proto.PinAction
+ (*NuxAction)(nil), // 187: proto.NuxAction
+ (*MuteAction)(nil), // 188: proto.MuteAction
+ (*MarketingMessageBroadcastAction)(nil), // 189: proto.MarketingMessageBroadcastAction
+ (*MarketingMessageAction)(nil), // 190: proto.MarketingMessageAction
+ (*MarkChatAsReadAction)(nil), // 191: proto.MarkChatAsReadAction
+ (*LocaleSetting)(nil), // 192: proto.LocaleSetting
+ (*LabelEditAction)(nil), // 193: proto.LabelEditAction
+ (*LabelAssociationAction)(nil), // 194: proto.LabelAssociationAction
+ (*KeyExpiration)(nil), // 195: proto.KeyExpiration
+ (*ExternalWebBetaAction)(nil), // 196: proto.ExternalWebBetaAction
+ (*DeleteMessageForMeAction)(nil), // 197: proto.DeleteMessageForMeAction
+ (*DeleteChatAction)(nil), // 198: proto.DeleteChatAction
+ (*ContactAction)(nil), // 199: proto.ContactAction
+ (*ClearChatAction)(nil), // 200: proto.ClearChatAction
+ (*ChatAssignmentOpenedStatusAction)(nil), // 201: proto.ChatAssignmentOpenedStatusAction
+ (*ChatAssignmentAction)(nil), // 202: proto.ChatAssignmentAction
+ (*ArchiveChatAction)(nil), // 203: proto.ArchiveChatAction
+ (*AndroidUnsupportedActions)(nil), // 204: proto.AndroidUnsupportedActions
+ (*AgentAction)(nil), // 205: proto.AgentAction
+ (*SyncActionData)(nil), // 206: proto.SyncActionData
+ (*RecentEmojiWeight)(nil), // 207: proto.RecentEmojiWeight
+ (*VerifiedNameCertificate)(nil), // 208: proto.VerifiedNameCertificate
+ (*LocalizedName)(nil), // 209: proto.LocalizedName
+ (*BizIdentityInfo)(nil), // 210: proto.BizIdentityInfo
+ (*BizAccountPayload)(nil), // 211: proto.BizAccountPayload
+ (*BizAccountLinkInfo)(nil), // 212: proto.BizAccountLinkInfo
+ (*HandshakeMessage)(nil), // 213: proto.HandshakeMessage
+ (*HandshakeServerHello)(nil), // 214: proto.HandshakeServerHello
+ (*HandshakeClientHello)(nil), // 215: proto.HandshakeClientHello
+ (*HandshakeClientFinish)(nil), // 216: proto.HandshakeClientFinish
+ (*ClientPayload)(nil), // 217: proto.ClientPayload
+ (*WebNotificationsInfo)(nil), // 218: proto.WebNotificationsInfo
+ (*WebMessageInfo)(nil), // 219: proto.WebMessageInfo
+ (*WebFeatures)(nil), // 220: proto.WebFeatures
+ (*UserReceipt)(nil), // 221: proto.UserReceipt
+ (*StatusPSA)(nil), // 222: proto.StatusPSA
+ (*Reaction)(nil), // 223: proto.Reaction
+ (*PollUpdate)(nil), // 224: proto.PollUpdate
+ (*PollAdditionalMetadata)(nil), // 225: proto.PollAdditionalMetadata
+ (*PinInChat)(nil), // 226: proto.PinInChat
+ (*PhotoChange)(nil), // 227: proto.PhotoChange
+ (*PaymentInfo)(nil), // 228: proto.PaymentInfo
+ (*NotificationMessageInfo)(nil), // 229: proto.NotificationMessageInfo
+ (*MediaData)(nil), // 230: proto.MediaData
+ (*KeepInChat)(nil), // 231: proto.KeepInChat
+ (*NoiseCertificate)(nil), // 232: proto.NoiseCertificate
+ (*CertChain)(nil), // 233: proto.CertChain
+ (*DeviceProps_HistorySyncConfig)(nil), // 234: proto.DeviceProps.HistorySyncConfig
+ (*DeviceProps_AppVersion)(nil), // 235: proto.DeviceProps.AppVersion
+ (*ListResponseMessage_SingleSelectReply)(nil), // 236: proto.ListResponseMessage.SingleSelectReply
+ (*ListMessage_Section)(nil), // 237: proto.ListMessage.Section
+ (*ListMessage_Row)(nil), // 238: proto.ListMessage.Row
+ (*ListMessage_Product)(nil), // 239: proto.ListMessage.Product
+ (*ListMessage_ProductSection)(nil), // 240: proto.ListMessage.ProductSection
+ (*ListMessage_ProductListInfo)(nil), // 241: proto.ListMessage.ProductListInfo
+ (*ListMessage_ProductListHeaderImage)(nil), // 242: proto.ListMessage.ProductListHeaderImage
+ (*InteractiveResponseMessage_NativeFlowResponseMessage)(nil), // 243: proto.InteractiveResponseMessage.NativeFlowResponseMessage
+ (*InteractiveResponseMessage_Body)(nil), // 244: proto.InteractiveResponseMessage.Body
+ (*InteractiveMessage_ShopMessage)(nil), // 245: proto.InteractiveMessage.ShopMessage
+ (*InteractiveMessage_NativeFlowMessage)(nil), // 246: proto.InteractiveMessage.NativeFlowMessage
+ (*InteractiveMessage_Header)(nil), // 247: proto.InteractiveMessage.Header
+ (*InteractiveMessage_Footer)(nil), // 248: proto.InteractiveMessage.Footer
+ (*InteractiveMessage_CollectionMessage)(nil), // 249: proto.InteractiveMessage.CollectionMessage
+ (*InteractiveMessage_Body)(nil), // 250: proto.InteractiveMessage.Body
+ (*InteractiveMessage_NativeFlowMessage_NativeFlowButton)(nil), // 251: proto.InteractiveMessage.NativeFlowMessage.NativeFlowButton
+ (*HighlyStructuredMessage_HSMLocalizableParameter)(nil), // 252: proto.HighlyStructuredMessage.HSMLocalizableParameter
+ (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime)(nil), // 253: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime
+ (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency)(nil), // 254: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency
+ (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch)(nil), // 255: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch
+ (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent)(nil), // 256: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent
+ (*ButtonsMessage_Button)(nil), // 257: proto.ButtonsMessage.Button
+ (*ButtonsMessage_Button_NativeFlowInfo)(nil), // 258: proto.ButtonsMessage.Button.NativeFlowInfo
+ (*ButtonsMessage_Button_ButtonText)(nil), // 259: proto.ButtonsMessage.Button.ButtonText
+ (*HydratedTemplateButton_HydratedURLButton)(nil), // 260: proto.HydratedTemplateButton.HydratedURLButton
+ (*HydratedTemplateButton_HydratedQuickReplyButton)(nil), // 261: proto.HydratedTemplateButton.HydratedQuickReplyButton
+ (*HydratedTemplateButton_HydratedCallButton)(nil), // 262: proto.HydratedTemplateButton.HydratedCallButton
+ (*ContextInfo_UTMInfo)(nil), // 263: proto.ContextInfo.UTMInfo
+ (*ContextInfo_ExternalAdReplyInfo)(nil), // 264: proto.ContextInfo.ExternalAdReplyInfo
+ (*ContextInfo_AdReplyInfo)(nil), // 265: proto.ContextInfo.AdReplyInfo
+ (*TemplateButton_URLButton)(nil), // 266: proto.TemplateButton.URLButton
+ (*TemplateButton_QuickReplyButton)(nil), // 267: proto.TemplateButton.QuickReplyButton
+ (*TemplateButton_CallButton)(nil), // 268: proto.TemplateButton.CallButton
+ (*PaymentBackground_MediaData)(nil), // 269: proto.PaymentBackground.MediaData
+ (*TemplateMessage_HydratedFourRowTemplate)(nil), // 270: proto.TemplateMessage.HydratedFourRowTemplate
+ (*TemplateMessage_FourRowTemplate)(nil), // 271: proto.TemplateMessage.FourRowTemplate
+ (*ProductMessage_ProductSnapshot)(nil), // 272: proto.ProductMessage.ProductSnapshot
+ (*ProductMessage_CatalogSnapshot)(nil), // 273: proto.ProductMessage.CatalogSnapshot
+ (*PollCreationMessage_Option)(nil), // 274: proto.PollCreationMessage.Option
+ (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult)(nil), // 275: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult
+ (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse)(nil), // 276: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse
+ (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse)(nil), // 277: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse
+ (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail)(nil), // 278: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail
+ (*PeerDataOperationRequestMessage_RequestStickerReupload)(nil), // 279: proto.PeerDataOperationRequestMessage.RequestStickerReupload
+ (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest)(nil), // 280: proto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest
+ (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest)(nil), // 281: proto.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest
+ (*PeerDataOperationRequestMessage_RequestUrlPreview)(nil), // 282: proto.PeerDataOperationRequestMessage.RequestUrlPreview
+ (*MsgOpaqueData_PollOption)(nil), // 283: proto.MsgOpaqueData.PollOption
+ (*VerifiedNameCertificate_Details)(nil), // 284: proto.VerifiedNameCertificate.Details
+ (*ClientPayload_WebInfo)(nil), // 285: proto.ClientPayload.WebInfo
+ (*ClientPayload_UserAgent)(nil), // 286: proto.ClientPayload.UserAgent
+ (*ClientPayload_InteropData)(nil), // 287: proto.ClientPayload.InteropData
+ (*ClientPayload_DevicePairingRegistrationData)(nil), // 288: proto.ClientPayload.DevicePairingRegistrationData
+ (*ClientPayload_DNSSource)(nil), // 289: proto.ClientPayload.DNSSource
+ (*ClientPayload_WebInfo_WebdPayload)(nil), // 290: proto.ClientPayload.WebInfo.WebdPayload
+ (*ClientPayload_UserAgent_AppVersion)(nil), // 291: proto.ClientPayload.UserAgent.AppVersion
+ (*NoiseCertificate_Details)(nil), // 292: proto.NoiseCertificate.Details
+ (*CertChain_NoiseCertificate)(nil), // 293: proto.CertChain.NoiseCertificate
+ (*CertChain_NoiseCertificate_Details)(nil), // 294: proto.CertChain.NoiseCertificate.Details
}
var file_binary_proto_def_proto_depIdxs = []int32{
- 225, // 0: proto.DeviceProps.version:type_name -> proto.DeviceProps.AppVersion
+ 235, // 0: proto.DeviceProps.version:type_name -> proto.DeviceProps.AppVersion
3, // 1: proto.DeviceProps.platformType:type_name -> proto.DeviceProps.PlatformType
- 224, // 2: proto.DeviceProps.historySyncConfig:type_name -> proto.DeviceProps.HistorySyncConfig
- 1, // 3: proto.PeerDataOperationRequestMessage.peerDataOperationRequestType:type_name -> proto.PeerDataOperationRequestType
- 227, // 4: proto.PeerDataOperationRequestMessage.requestStickerReupload:type_name -> proto.PeerDataOperationRequestMessage.RequestStickerReupload
- 226, // 5: proto.PeerDataOperationRequestMessage.requestUrlPreview:type_name -> proto.PeerDataOperationRequestMessage.RequestUrlPreview
- 4, // 6: proto.PaymentInviteMessage.serviceType:type_name -> proto.PaymentInviteMessage.ServiceType
- 6, // 7: proto.OrderMessage.status:type_name -> proto.OrderMessage.OrderStatus
- 5, // 8: proto.OrderMessage.surface:type_name -> proto.OrderMessage.OrderSurface
- 105, // 9: proto.OrderMessage.contextInfo:type_name -> proto.ContextInfo
- 105, // 10: proto.LocationMessage.contextInfo:type_name -> proto.ContextInfo
- 105, // 11: proto.LiveLocationMessage.contextInfo:type_name -> proto.ContextInfo
- 7, // 12: proto.ListResponseMessage.listType:type_name -> proto.ListResponseMessage.ListType
- 228, // 13: proto.ListResponseMessage.singleSelectReply:type_name -> proto.ListResponseMessage.SingleSelectReply
- 105, // 14: proto.ListResponseMessage.contextInfo:type_name -> proto.ContextInfo
- 8, // 15: proto.ListMessage.listType:type_name -> proto.ListMessage.ListType
- 229, // 16: proto.ListMessage.sections:type_name -> proto.ListMessage.Section
- 233, // 17: proto.ListMessage.productListInfo:type_name -> proto.ListMessage.ProductListInfo
- 105, // 18: proto.ListMessage.contextInfo:type_name -> proto.ContextInfo
- 151, // 19: proto.KeepInChatMessage.key:type_name -> proto.MessageKey
- 0, // 20: proto.KeepInChatMessage.keepType:type_name -> proto.KeepType
- 9, // 21: proto.InvoiceMessage.attachmentType:type_name -> proto.InvoiceMessage.AttachmentType
- 236, // 22: proto.InteractiveResponseMessage.body:type_name -> proto.InteractiveResponseMessage.Body
- 105, // 23: proto.InteractiveResponseMessage.contextInfo:type_name -> proto.ContextInfo
- 235, // 24: proto.InteractiveResponseMessage.nativeFlowResponseMessage:type_name -> proto.InteractiveResponseMessage.NativeFlowResponseMessage
- 239, // 25: proto.InteractiveMessage.header:type_name -> proto.InteractiveMessage.Header
- 242, // 26: proto.InteractiveMessage.body:type_name -> proto.InteractiveMessage.Body
- 240, // 27: proto.InteractiveMessage.footer:type_name -> proto.InteractiveMessage.Footer
- 105, // 28: proto.InteractiveMessage.contextInfo:type_name -> proto.ContextInfo
- 237, // 29: proto.InteractiveMessage.shopStorefrontMessage:type_name -> proto.InteractiveMessage.ShopMessage
- 241, // 30: proto.InteractiveMessage.collectionMessage:type_name -> proto.InteractiveMessage.CollectionMessage
- 238, // 31: proto.InteractiveMessage.nativeFlowMessage:type_name -> proto.InteractiveMessage.NativeFlowMessage
- 100, // 32: proto.ImageMessage.interactiveAnnotations:type_name -> proto.InteractiveAnnotation
- 105, // 33: proto.ImageMessage.contextInfo:type_name -> proto.ContextInfo
- 11, // 34: proto.HistorySyncNotification.syncType:type_name -> proto.HistorySyncNotification.HistorySyncType
- 244, // 35: proto.HighlyStructuredMessage.localizableParams:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter
- 114, // 36: proto.HighlyStructuredMessage.hydratedHsm:type_name -> proto.TemplateMessage
- 105, // 37: proto.GroupInviteMessage.contextInfo:type_name -> proto.ContextInfo
- 14, // 38: proto.GroupInviteMessage.groupType:type_name -> proto.GroupInviteMessage.GroupType
- 111, // 39: proto.FutureProofMessage.message:type_name -> proto.Message
- 17, // 40: proto.ExtendedTextMessage.font:type_name -> proto.ExtendedTextMessage.FontType
- 15, // 41: proto.ExtendedTextMessage.previewType:type_name -> proto.ExtendedTextMessage.PreviewType
- 105, // 42: proto.ExtendedTextMessage.contextInfo:type_name -> proto.ContextInfo
- 16, // 43: proto.ExtendedTextMessage.inviteLinkGroupType:type_name -> proto.ExtendedTextMessage.InviteLinkGroupType
- 16, // 44: proto.ExtendedTextMessage.inviteLinkGroupTypeV2:type_name -> proto.ExtendedTextMessage.InviteLinkGroupType
- 151, // 45: proto.EncReactionMessage.targetMessageKey:type_name -> proto.MessageKey
- 105, // 46: proto.DocumentMessage.contextInfo:type_name -> proto.ContextInfo
- 111, // 47: proto.DeviceSentMessage.message:type_name -> proto.Message
- 151, // 48: proto.DeclinePaymentRequestMessage.key:type_name -> proto.MessageKey
- 85, // 49: proto.ContactsArrayMessage.contacts:type_name -> proto.ContactMessage
- 105, // 50: proto.ContactsArrayMessage.contextInfo:type_name -> proto.ContextInfo
- 105, // 51: proto.ContactMessage.contextInfo:type_name -> proto.ContextInfo
- 151, // 52: proto.CancelPaymentRequestMessage.key:type_name -> proto.MessageKey
- 105, // 53: proto.ButtonsResponseMessage.contextInfo:type_name -> proto.ContextInfo
- 18, // 54: proto.ButtonsResponseMessage.type:type_name -> proto.ButtonsResponseMessage.Type
- 105, // 55: proto.ButtonsMessage.contextInfo:type_name -> proto.ContextInfo
- 249, // 56: proto.ButtonsMessage.buttons:type_name -> proto.ButtonsMessage.Button
- 19, // 57: proto.ButtonsMessage.headerType:type_name -> proto.ButtonsMessage.HeaderType
- 81, // 58: proto.ButtonsMessage.documentMessage:type_name -> proto.DocumentMessage
- 74, // 59: proto.ButtonsMessage.imageMessage:type_name -> proto.ImageMessage
- 113, // 60: proto.ButtonsMessage.videoMessage:type_name -> proto.VideoMessage
- 65, // 61: proto.ButtonsMessage.locationMessage:type_name -> proto.LocationMessage
- 105, // 62: proto.AudioMessage.contextInfo:type_name -> proto.ContextInfo
- 95, // 63: proto.AppStateSyncKey.keyId:type_name -> proto.AppStateSyncKeyId
- 97, // 64: proto.AppStateSyncKey.keyData:type_name -> proto.AppStateSyncKeyData
- 92, // 65: proto.AppStateSyncKeyShare.keys:type_name -> proto.AppStateSyncKey
- 95, // 66: proto.AppStateSyncKeyRequest.keyIds:type_name -> proto.AppStateSyncKeyId
- 96, // 67: proto.AppStateSyncKeyData.fingerprint:type_name -> proto.AppStateSyncKeyFingerprint
- 108, // 68: proto.InteractiveAnnotation.polygonVertices:type_name -> proto.Point
- 99, // 69: proto.InteractiveAnnotation.location:type_name -> proto.Location
- 253, // 70: proto.HydratedTemplateButton.quickReplyButton:type_name -> proto.HydratedTemplateButton.HydratedQuickReplyButton
- 252, // 71: proto.HydratedTemplateButton.urlButton:type_name -> proto.HydratedTemplateButton.HydratedURLButton
- 254, // 72: proto.HydratedTemplateButton.callButton:type_name -> proto.HydratedTemplateButton.HydratedCallButton
- 21, // 73: proto.DisappearingMode.initiator:type_name -> proto.DisappearingMode.Initiator
- 111, // 74: proto.ContextInfo.quotedMessage:type_name -> proto.Message
- 257, // 75: proto.ContextInfo.quotedAd:type_name -> proto.ContextInfo.AdReplyInfo
- 151, // 76: proto.ContextInfo.placeholderKey:type_name -> proto.MessageKey
- 256, // 77: proto.ContextInfo.externalAdReply:type_name -> proto.ContextInfo.ExternalAdReplyInfo
- 103, // 78: proto.ContextInfo.disappearingMode:type_name -> proto.DisappearingMode
- 106, // 79: proto.ContextInfo.actionLink:type_name -> proto.ActionLink
- 102, // 80: proto.ContextInfo.groupMentions:type_name -> proto.GroupMention
- 255, // 81: proto.ContextInfo.utm:type_name -> proto.ContextInfo.UTMInfo
- 259, // 82: proto.TemplateButton.quickReplyButton:type_name -> proto.TemplateButton.QuickReplyButton
- 258, // 83: proto.TemplateButton.urlButton:type_name -> proto.TemplateButton.URLButton
- 260, // 84: proto.TemplateButton.callButton:type_name -> proto.TemplateButton.CallButton
- 261, // 85: proto.PaymentBackground.mediaData:type_name -> proto.PaymentBackground.MediaData
- 24, // 86: proto.PaymentBackground.type:type_name -> proto.PaymentBackground.Type
- 118, // 87: proto.Message.senderKeyDistributionMessage:type_name -> proto.SenderKeyDistributionMessage
- 74, // 88: proto.Message.imageMessage:type_name -> proto.ImageMessage
- 85, // 89: proto.Message.contactMessage:type_name -> proto.ContactMessage
- 65, // 90: proto.Message.locationMessage:type_name -> proto.LocationMessage
- 79, // 91: proto.Message.extendedTextMessage:type_name -> proto.ExtendedTextMessage
- 81, // 92: proto.Message.documentMessage:type_name -> proto.DocumentMessage
- 91, // 93: proto.Message.audioMessage:type_name -> proto.AudioMessage
- 113, // 94: proto.Message.videoMessage:type_name -> proto.VideoMessage
- 88, // 95: proto.Message.call:type_name -> proto.Call
- 86, // 96: proto.Message.chat:type_name -> proto.Chat
- 125, // 97: proto.Message.protocolMessage:type_name -> proto.ProtocolMessage
- 84, // 98: proto.Message.contactsArrayMessage:type_name -> proto.ContactsArrayMessage
- 76, // 99: proto.Message.highlyStructuredMessage:type_name -> proto.HighlyStructuredMessage
- 118, // 100: proto.Message.fastRatchetKeySenderKeyDistributionMessage:type_name -> proto.SenderKeyDistributionMessage
- 119, // 101: proto.Message.sendPaymentMessage:type_name -> proto.SendPaymentMessage
- 66, // 102: proto.Message.liveLocationMessage:type_name -> proto.LiveLocationMessage
- 123, // 103: proto.Message.requestPaymentMessage:type_name -> proto.RequestPaymentMessage
- 83, // 104: proto.Message.declinePaymentRequestMessage:type_name -> proto.DeclinePaymentRequestMessage
- 87, // 105: proto.Message.cancelPaymentRequestMessage:type_name -> proto.CancelPaymentRequestMessage
- 114, // 106: proto.Message.templateMessage:type_name -> proto.TemplateMessage
- 117, // 107: proto.Message.stickerMessage:type_name -> proto.StickerMessage
- 77, // 108: proto.Message.groupInviteMessage:type_name -> proto.GroupInviteMessage
- 115, // 109: proto.Message.templateButtonReplyMessage:type_name -> proto.TemplateButtonReplyMessage
- 126, // 110: proto.Message.productMessage:type_name -> proto.ProductMessage
- 82, // 111: proto.Message.deviceSentMessage:type_name -> proto.DeviceSentMessage
- 112, // 112: proto.Message.messageContextInfo:type_name -> proto.MessageContextInfo
- 68, // 113: proto.Message.listMessage:type_name -> proto.ListMessage
- 78, // 114: proto.Message.viewOnceMessage:type_name -> proto.FutureProofMessage
- 64, // 115: proto.Message.orderMessage:type_name -> proto.OrderMessage
- 67, // 116: proto.Message.listResponseMessage:type_name -> proto.ListResponseMessage
- 78, // 117: proto.Message.ephemeralMessage:type_name -> proto.FutureProofMessage
- 70, // 118: proto.Message.invoiceMessage:type_name -> proto.InvoiceMessage
- 90, // 119: proto.Message.buttonsMessage:type_name -> proto.ButtonsMessage
- 89, // 120: proto.Message.buttonsResponseMessage:type_name -> proto.ButtonsResponseMessage
- 63, // 121: proto.Message.paymentInviteMessage:type_name -> proto.PaymentInviteMessage
- 72, // 122: proto.Message.interactiveMessage:type_name -> proto.InteractiveMessage
- 124, // 123: proto.Message.reactionMessage:type_name -> proto.ReactionMessage
- 116, // 124: proto.Message.stickerSyncRmrMessage:type_name -> proto.StickerSyncRMRMessage
- 71, // 125: proto.Message.interactiveResponseMessage:type_name -> proto.InteractiveResponseMessage
- 131, // 126: proto.Message.pollCreationMessage:type_name -> proto.PollCreationMessage
- 128, // 127: proto.Message.pollUpdateMessage:type_name -> proto.PollUpdateMessage
- 69, // 128: proto.Message.keepInChatMessage:type_name -> proto.KeepInChatMessage
- 78, // 129: proto.Message.documentWithCaptionMessage:type_name -> proto.FutureProofMessage
- 122, // 130: proto.Message.requestPhoneNumberMessage:type_name -> proto.RequestPhoneNumberMessage
- 78, // 131: proto.Message.viewOnceMessageV2:type_name -> proto.FutureProofMessage
- 80, // 132: proto.Message.encReactionMessage:type_name -> proto.EncReactionMessage
- 78, // 133: proto.Message.editedMessage:type_name -> proto.FutureProofMessage
- 78, // 134: proto.Message.viewOnceMessageV2Extension:type_name -> proto.FutureProofMessage
- 131, // 135: proto.Message.pollCreationMessageV2:type_name -> proto.PollCreationMessage
- 121, // 136: proto.Message.scheduledCallCreationMessage:type_name -> proto.ScheduledCallCreationMessage
- 78, // 137: proto.Message.groupMentionedMessage:type_name -> proto.FutureProofMessage
- 132, // 138: proto.Message.pinMessage:type_name -> proto.PinMessage
- 131, // 139: proto.Message.pollCreationMessageV3:type_name -> proto.PollCreationMessage
- 120, // 140: proto.Message.scheduledCallEditMessage:type_name -> proto.ScheduledCallEditMessage
- 104, // 141: proto.MessageContextInfo.deviceListMetadata:type_name -> proto.DeviceListMetadata
- 100, // 142: proto.VideoMessage.interactiveAnnotations:type_name -> proto.InteractiveAnnotation
- 105, // 143: proto.VideoMessage.contextInfo:type_name -> proto.ContextInfo
- 25, // 144: proto.VideoMessage.gifAttribution:type_name -> proto.VideoMessage.Attribution
- 105, // 145: proto.TemplateMessage.contextInfo:type_name -> proto.ContextInfo
- 262, // 146: proto.TemplateMessage.hydratedTemplate:type_name -> proto.TemplateMessage.HydratedFourRowTemplate
- 263, // 147: proto.TemplateMessage.fourRowTemplate:type_name -> proto.TemplateMessage.FourRowTemplate
- 262, // 148: proto.TemplateMessage.hydratedFourRowTemplate:type_name -> proto.TemplateMessage.HydratedFourRowTemplate
- 72, // 149: proto.TemplateMessage.interactiveMessageTemplate:type_name -> proto.InteractiveMessage
- 105, // 150: proto.TemplateButtonReplyMessage.contextInfo:type_name -> proto.ContextInfo
- 105, // 151: proto.StickerMessage.contextInfo:type_name -> proto.ContextInfo
- 111, // 152: proto.SendPaymentMessage.noteMessage:type_name -> proto.Message
- 151, // 153: proto.SendPaymentMessage.requestMessageKey:type_name -> proto.MessageKey
- 109, // 154: proto.SendPaymentMessage.background:type_name -> proto.PaymentBackground
- 151, // 155: proto.ScheduledCallEditMessage.key:type_name -> proto.MessageKey
- 26, // 156: proto.ScheduledCallEditMessage.editType:type_name -> proto.ScheduledCallEditMessage.EditType
- 27, // 157: proto.ScheduledCallCreationMessage.callType:type_name -> proto.ScheduledCallCreationMessage.CallType
- 105, // 158: proto.RequestPhoneNumberMessage.contextInfo:type_name -> proto.ContextInfo
- 111, // 159: proto.RequestPaymentMessage.noteMessage:type_name -> proto.Message
- 110, // 160: proto.RequestPaymentMessage.amount:type_name -> proto.Money
- 109, // 161: proto.RequestPaymentMessage.background:type_name -> proto.PaymentBackground
- 151, // 162: proto.ReactionMessage.key:type_name -> proto.MessageKey
- 151, // 163: proto.ProtocolMessage.key:type_name -> proto.MessageKey
- 28, // 164: proto.ProtocolMessage.type:type_name -> proto.ProtocolMessage.Type
- 75, // 165: proto.ProtocolMessage.historySyncNotification:type_name -> proto.HistorySyncNotification
- 93, // 166: proto.ProtocolMessage.appStateSyncKeyShare:type_name -> proto.AppStateSyncKeyShare
- 94, // 167: proto.ProtocolMessage.appStateSyncKeyRequest:type_name -> proto.AppStateSyncKeyRequest
- 73, // 168: proto.ProtocolMessage.initialSecurityNotificationSettingSync:type_name -> proto.InitialSecurityNotificationSettingSync
- 98, // 169: proto.ProtocolMessage.appStateFatalExceptionNotification:type_name -> proto.AppStateFatalExceptionNotification
- 103, // 170: proto.ProtocolMessage.disappearingMode:type_name -> proto.DisappearingMode
- 111, // 171: proto.ProtocolMessage.editedMessage:type_name -> proto.Message
- 62, // 172: proto.ProtocolMessage.peerDataOperationRequestMessage:type_name -> proto.PeerDataOperationRequestMessage
- 133, // 173: proto.ProtocolMessage.peerDataOperationRequestResponseMessage:type_name -> proto.PeerDataOperationRequestResponseMessage
- 264, // 174: proto.ProductMessage.product:type_name -> proto.ProductMessage.ProductSnapshot
- 265, // 175: proto.ProductMessage.catalog:type_name -> proto.ProductMessage.CatalogSnapshot
- 105, // 176: proto.ProductMessage.contextInfo:type_name -> proto.ContextInfo
- 151, // 177: proto.PollUpdateMessage.pollCreationMessageKey:type_name -> proto.MessageKey
- 130, // 178: proto.PollUpdateMessage.vote:type_name -> proto.PollEncValue
- 129, // 179: proto.PollUpdateMessage.metadata:type_name -> proto.PollUpdateMessageMetadata
- 266, // 180: proto.PollCreationMessage.options:type_name -> proto.PollCreationMessage.Option
- 105, // 181: proto.PollCreationMessage.contextInfo:type_name -> proto.ContextInfo
- 151, // 182: proto.PinMessage.key:type_name -> proto.MessageKey
- 29, // 183: proto.PinMessage.pinMessageType:type_name -> proto.PinMessage.PinMessageType
- 1, // 184: proto.PeerDataOperationRequestResponseMessage.peerDataOperationRequestType:type_name -> proto.PeerDataOperationRequestType
- 267, // 185: proto.PeerDataOperationRequestResponseMessage.peerDataOperationResult:type_name -> proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult
- 139, // 186: proto.PastParticipants.pastParticipants:type_name -> proto.PastParticipant
- 30, // 187: proto.PastParticipant.leaveReason:type_name -> proto.PastParticipant.LeaveReason
- 31, // 188: proto.HistorySync.syncType:type_name -> proto.HistorySync.HistorySyncType
- 144, // 189: proto.HistorySync.conversations:type_name -> proto.Conversation
- 210, // 190: proto.HistorySync.statusV3Messages:type_name -> proto.WebMessageInfo
- 137, // 191: proto.HistorySync.pushnames:type_name -> proto.Pushname
- 143, // 192: proto.HistorySync.globalSettings:type_name -> proto.GlobalSettings
- 136, // 193: proto.HistorySync.recentStickers:type_name -> proto.StickerMetadata
- 138, // 194: proto.HistorySync.pastParticipants:type_name -> proto.PastParticipants
- 210, // 195: proto.HistorySyncMsg.message:type_name -> proto.WebMessageInfo
- 32, // 196: proto.GroupParticipant.rank:type_name -> proto.GroupParticipant.Rank
- 135, // 197: proto.GlobalSettings.lightThemeWallpaper:type_name -> proto.WallpaperSettings
- 2, // 198: proto.GlobalSettings.mediaVisibility:type_name -> proto.MediaVisibility
- 135, // 199: proto.GlobalSettings.darkThemeWallpaper:type_name -> proto.WallpaperSettings
- 146, // 200: proto.GlobalSettings.autoDownloadWiFi:type_name -> proto.AutoDownloadSettings
- 146, // 201: proto.GlobalSettings.autoDownloadCellular:type_name -> proto.AutoDownloadSettings
- 146, // 202: proto.GlobalSettings.autoDownloadRoaming:type_name -> proto.AutoDownloadSettings
- 145, // 203: proto.GlobalSettings.avatarUserSettings:type_name -> proto.AvatarUserSettings
- 141, // 204: proto.Conversation.messages:type_name -> proto.HistorySyncMsg
- 33, // 205: proto.Conversation.endOfHistoryTransferType:type_name -> proto.Conversation.EndOfHistoryTransferType
- 103, // 206: proto.Conversation.disappearingMode:type_name -> proto.DisappearingMode
- 142, // 207: proto.Conversation.participant:type_name -> proto.GroupParticipant
- 135, // 208: proto.Conversation.wallpaper:type_name -> proto.WallpaperSettings
- 2, // 209: proto.Conversation.mediaVisibility:type_name -> proto.MediaVisibility
- 148, // 210: proto.MsgRowOpaqueData.currentMsg:type_name -> proto.MsgOpaqueData
- 148, // 211: proto.MsgRowOpaqueData.quotedMsg:type_name -> proto.MsgOpaqueData
- 269, // 212: proto.MsgOpaqueData.pollOptions:type_name -> proto.MsgOpaqueData.PollOption
- 130, // 213: proto.MsgOpaqueData.encPollVote:type_name -> proto.PollEncValue
- 34, // 214: proto.MediaRetryNotification.result:type_name -> proto.MediaRetryNotification.ResultType
- 152, // 215: proto.SyncdSnapshot.version:type_name -> proto.SyncdVersion
- 155, // 216: proto.SyncdSnapshot.records:type_name -> proto.SyncdRecord
- 160, // 217: proto.SyncdSnapshot.keyId:type_name -> proto.KeyId
- 159, // 218: proto.SyncdRecord.index:type_name -> proto.SyncdIndex
- 153, // 219: proto.SyncdRecord.value:type_name -> proto.SyncdValue
- 160, // 220: proto.SyncdRecord.keyId:type_name -> proto.KeyId
- 152, // 221: proto.SyncdPatch.version:type_name -> proto.SyncdVersion
- 158, // 222: proto.SyncdPatch.mutations:type_name -> proto.SyncdMutation
- 161, // 223: proto.SyncdPatch.externalMutations:type_name -> proto.ExternalBlobReference
- 160, // 224: proto.SyncdPatch.keyId:type_name -> proto.KeyId
- 162, // 225: proto.SyncdPatch.exitCode:type_name -> proto.ExitCode
- 158, // 226: proto.SyncdMutations.mutations:type_name -> proto.SyncdMutation
- 35, // 227: proto.SyncdMutation.operation:type_name -> proto.SyncdMutation.SyncdOperation
- 155, // 228: proto.SyncdMutation.record:type_name -> proto.SyncdRecord
- 171, // 229: proto.SyncActionValue.starAction:type_name -> proto.StarAction
- 190, // 230: proto.SyncActionValue.contactAction:type_name -> proto.ContactAction
- 182, // 231: proto.SyncActionValue.muteAction:type_name -> proto.MuteAction
- 180, // 232: proto.SyncActionValue.pinAction:type_name -> proto.PinAction
- 172, // 233: proto.SyncActionValue.securityNotificationSetting:type_name -> proto.SecurityNotificationSetting
- 176, // 234: proto.SyncActionValue.pushNameSetting:type_name -> proto.PushNameSetting
- 175, // 235: proto.SyncActionValue.quickReplyAction:type_name -> proto.QuickReplyAction
- 174, // 236: proto.SyncActionValue.recentEmojiWeightsAction:type_name -> proto.RecentEmojiWeightsAction
- 185, // 237: proto.SyncActionValue.labelEditAction:type_name -> proto.LabelEditAction
- 186, // 238: proto.SyncActionValue.labelAssociationAction:type_name -> proto.LabelAssociationAction
- 184, // 239: proto.SyncActionValue.localeSetting:type_name -> proto.LocaleSetting
- 194, // 240: proto.SyncActionValue.archiveChatAction:type_name -> proto.ArchiveChatAction
- 188, // 241: proto.SyncActionValue.deleteMessageForMeAction:type_name -> proto.DeleteMessageForMeAction
- 187, // 242: proto.SyncActionValue.keyExpiration:type_name -> proto.KeyExpiration
- 183, // 243: proto.SyncActionValue.markChatAsReadAction:type_name -> proto.MarkChatAsReadAction
- 191, // 244: proto.SyncActionValue.clearChatAction:type_name -> proto.ClearChatAction
- 189, // 245: proto.SyncActionValue.deleteChatAction:type_name -> proto.DeleteChatAction
- 165, // 246: proto.SyncActionValue.unarchiveChatsSetting:type_name -> proto.UnarchiveChatsSetting
- 178, // 247: proto.SyncActionValue.primaryFeature:type_name -> proto.PrimaryFeature
- 195, // 248: proto.SyncActionValue.androidUnsupportedActions:type_name -> proto.AndroidUnsupportedActions
- 196, // 249: proto.SyncActionValue.agentAction:type_name -> proto.AgentAction
- 169, // 250: proto.SyncActionValue.subscriptionAction:type_name -> proto.SubscriptionAction
- 164, // 251: proto.SyncActionValue.userStatusMuteAction:type_name -> proto.UserStatusMuteAction
- 166, // 252: proto.SyncActionValue.timeFormatAction:type_name -> proto.TimeFormatAction
- 181, // 253: proto.SyncActionValue.nuxAction:type_name -> proto.NuxAction
- 177, // 254: proto.SyncActionValue.primaryVersionAction:type_name -> proto.PrimaryVersionAction
- 170, // 255: proto.SyncActionValue.stickerAction:type_name -> proto.StickerAction
- 173, // 256: proto.SyncActionValue.removeRecentStickerAction:type_name -> proto.RemoveRecentStickerAction
- 193, // 257: proto.SyncActionValue.chatAssignment:type_name -> proto.ChatAssignmentAction
- 192, // 258: proto.SyncActionValue.chatAssignmentOpenedStatus:type_name -> proto.ChatAssignmentOpenedStatusAction
- 179, // 259: proto.SyncActionValue.pnForLidChatAction:type_name -> proto.PnForLidChatAction
- 151, // 260: proto.SyncActionMessage.key:type_name -> proto.MessageKey
- 167, // 261: proto.SyncActionMessageRange.messages:type_name -> proto.SyncActionMessage
- 198, // 262: proto.RecentEmojiWeightsAction.weights:type_name -> proto.RecentEmojiWeight
- 168, // 263: proto.MarkChatAsReadAction.messageRange:type_name -> proto.SyncActionMessageRange
- 168, // 264: proto.DeleteChatAction.messageRange:type_name -> proto.SyncActionMessageRange
- 168, // 265: proto.ClearChatAction.messageRange:type_name -> proto.SyncActionMessageRange
- 168, // 266: proto.ArchiveChatAction.messageRange:type_name -> proto.SyncActionMessageRange
- 163, // 267: proto.SyncActionData.value:type_name -> proto.SyncActionValue
- 36, // 268: proto.BizIdentityInfo.vlevel:type_name -> proto.BizIdentityInfo.VerifiedLevelValue
- 199, // 269: proto.BizIdentityInfo.vnameCert:type_name -> proto.VerifiedNameCertificate
- 37, // 270: proto.BizIdentityInfo.hostStorage:type_name -> proto.BizIdentityInfo.HostStorageType
- 38, // 271: proto.BizIdentityInfo.actualActors:type_name -> proto.BizIdentityInfo.ActualActorsType
- 199, // 272: proto.BizAccountPayload.vnameCert:type_name -> proto.VerifiedNameCertificate
- 39, // 273: proto.BizAccountLinkInfo.hostStorage:type_name -> proto.BizAccountLinkInfo.HostStorageType
- 40, // 274: proto.BizAccountLinkInfo.accountType:type_name -> proto.BizAccountLinkInfo.AccountType
- 206, // 275: proto.HandshakeMessage.clientHello:type_name -> proto.HandshakeClientHello
- 205, // 276: proto.HandshakeMessage.serverHello:type_name -> proto.HandshakeServerHello
- 207, // 277: proto.HandshakeMessage.clientFinish:type_name -> proto.HandshakeClientFinish
- 272, // 278: proto.ClientPayload.userAgent:type_name -> proto.ClientPayload.UserAgent
- 271, // 279: proto.ClientPayload.webInfo:type_name -> proto.ClientPayload.WebInfo
- 43, // 280: proto.ClientPayload.connectType:type_name -> proto.ClientPayload.ConnectType
- 44, // 281: proto.ClientPayload.connectReason:type_name -> proto.ClientPayload.ConnectReason
- 274, // 282: proto.ClientPayload.dnsSource:type_name -> proto.ClientPayload.DNSSource
- 273, // 283: proto.ClientPayload.devicePairingData:type_name -> proto.ClientPayload.DevicePairingRegistrationData
- 41, // 284: proto.ClientPayload.product:type_name -> proto.ClientPayload.Product
- 42, // 285: proto.ClientPayload.iosAppExtension:type_name -> proto.ClientPayload.IOSAppExtension
- 210, // 286: proto.WebNotificationsInfo.notifyMessages:type_name -> proto.WebMessageInfo
- 151, // 287: proto.WebMessageInfo.key:type_name -> proto.MessageKey
- 111, // 288: proto.WebMessageInfo.message:type_name -> proto.Message
- 50, // 289: proto.WebMessageInfo.status:type_name -> proto.WebMessageInfo.Status
- 49, // 290: proto.WebMessageInfo.messageStubType:type_name -> proto.WebMessageInfo.StubType
- 218, // 291: proto.WebMessageInfo.paymentInfo:type_name -> proto.PaymentInfo
- 66, // 292: proto.WebMessageInfo.finalLiveLocation:type_name -> proto.LiveLocationMessage
- 218, // 293: proto.WebMessageInfo.quotedPaymentInfo:type_name -> proto.PaymentInfo
- 51, // 294: proto.WebMessageInfo.bizPrivacyStatus:type_name -> proto.WebMessageInfo.BizPrivacyStatus
- 220, // 295: proto.WebMessageInfo.mediaData:type_name -> proto.MediaData
- 217, // 296: proto.WebMessageInfo.photoChange:type_name -> proto.PhotoChange
- 212, // 297: proto.WebMessageInfo.userReceipt:type_name -> proto.UserReceipt
- 214, // 298: proto.WebMessageInfo.reactions:type_name -> proto.Reaction
- 220, // 299: proto.WebMessageInfo.quotedStickerData:type_name -> proto.MediaData
- 213, // 300: proto.WebMessageInfo.statusPsa:type_name -> proto.StatusPSA
- 215, // 301: proto.WebMessageInfo.pollUpdates:type_name -> proto.PollUpdate
- 216, // 302: proto.WebMessageInfo.pollAdditionalMetadata:type_name -> proto.PollAdditionalMetadata
- 221, // 303: proto.WebMessageInfo.keepInChat:type_name -> proto.KeepInChat
- 52, // 304: proto.WebFeatures.labelsDisplay:type_name -> proto.WebFeatures.Flag
- 52, // 305: proto.WebFeatures.voipIndividualOutgoing:type_name -> proto.WebFeatures.Flag
- 52, // 306: proto.WebFeatures.groupsV3:type_name -> proto.WebFeatures.Flag
- 52, // 307: proto.WebFeatures.groupsV3Create:type_name -> proto.WebFeatures.Flag
- 52, // 308: proto.WebFeatures.changeNumberV2:type_name -> proto.WebFeatures.Flag
- 52, // 309: proto.WebFeatures.queryStatusV3Thumbnail:type_name -> proto.WebFeatures.Flag
- 52, // 310: proto.WebFeatures.liveLocations:type_name -> proto.WebFeatures.Flag
- 52, // 311: proto.WebFeatures.queryVname:type_name -> proto.WebFeatures.Flag
- 52, // 312: proto.WebFeatures.voipIndividualIncoming:type_name -> proto.WebFeatures.Flag
- 52, // 313: proto.WebFeatures.quickRepliesQuery:type_name -> proto.WebFeatures.Flag
- 52, // 314: proto.WebFeatures.payments:type_name -> proto.WebFeatures.Flag
- 52, // 315: proto.WebFeatures.stickerPackQuery:type_name -> proto.WebFeatures.Flag
- 52, // 316: proto.WebFeatures.liveLocationsFinal:type_name -> proto.WebFeatures.Flag
- 52, // 317: proto.WebFeatures.labelsEdit:type_name -> proto.WebFeatures.Flag
- 52, // 318: proto.WebFeatures.mediaUpload:type_name -> proto.WebFeatures.Flag
- 52, // 319: proto.WebFeatures.mediaUploadRichQuickReplies:type_name -> proto.WebFeatures.Flag
- 52, // 320: proto.WebFeatures.vnameV2:type_name -> proto.WebFeatures.Flag
- 52, // 321: proto.WebFeatures.videoPlaybackUrl:type_name -> proto.WebFeatures.Flag
- 52, // 322: proto.WebFeatures.statusRanking:type_name -> proto.WebFeatures.Flag
- 52, // 323: proto.WebFeatures.voipIndividualVideo:type_name -> proto.WebFeatures.Flag
- 52, // 324: proto.WebFeatures.thirdPartyStickers:type_name -> proto.WebFeatures.Flag
- 52, // 325: proto.WebFeatures.frequentlyForwardedSetting:type_name -> proto.WebFeatures.Flag
- 52, // 326: proto.WebFeatures.groupsV4JoinPermission:type_name -> proto.WebFeatures.Flag
- 52, // 327: proto.WebFeatures.recentStickers:type_name -> proto.WebFeatures.Flag
- 52, // 328: proto.WebFeatures.catalog:type_name -> proto.WebFeatures.Flag
- 52, // 329: proto.WebFeatures.starredStickers:type_name -> proto.WebFeatures.Flag
- 52, // 330: proto.WebFeatures.voipGroupCall:type_name -> proto.WebFeatures.Flag
- 52, // 331: proto.WebFeatures.templateMessage:type_name -> proto.WebFeatures.Flag
- 52, // 332: proto.WebFeatures.templateMessageInteractivity:type_name -> proto.WebFeatures.Flag
- 52, // 333: proto.WebFeatures.ephemeralMessages:type_name -> proto.WebFeatures.Flag
- 52, // 334: proto.WebFeatures.e2ENotificationSync:type_name -> proto.WebFeatures.Flag
- 52, // 335: proto.WebFeatures.recentStickersV2:type_name -> proto.WebFeatures.Flag
- 52, // 336: proto.WebFeatures.recentStickersV3:type_name -> proto.WebFeatures.Flag
- 52, // 337: proto.WebFeatures.userNotice:type_name -> proto.WebFeatures.Flag
- 52, // 338: proto.WebFeatures.support:type_name -> proto.WebFeatures.Flag
- 52, // 339: proto.WebFeatures.groupUiiCleanup:type_name -> proto.WebFeatures.Flag
- 52, // 340: proto.WebFeatures.groupDogfoodingInternalOnly:type_name -> proto.WebFeatures.Flag
- 52, // 341: proto.WebFeatures.settingsSync:type_name -> proto.WebFeatures.Flag
- 52, // 342: proto.WebFeatures.archiveV2:type_name -> proto.WebFeatures.Flag
- 52, // 343: proto.WebFeatures.ephemeralAllowGroupMembers:type_name -> proto.WebFeatures.Flag
- 52, // 344: proto.WebFeatures.ephemeral24HDuration:type_name -> proto.WebFeatures.Flag
- 52, // 345: proto.WebFeatures.mdForceUpgrade:type_name -> proto.WebFeatures.Flag
- 52, // 346: proto.WebFeatures.disappearingMode:type_name -> proto.WebFeatures.Flag
- 52, // 347: proto.WebFeatures.externalMdOptInAvailable:type_name -> proto.WebFeatures.Flag
- 52, // 348: proto.WebFeatures.noDeleteMessageTimeLimit:type_name -> proto.WebFeatures.Flag
- 151, // 349: proto.Reaction.key:type_name -> proto.MessageKey
- 151, // 350: proto.PollUpdate.pollUpdateMessageKey:type_name -> proto.MessageKey
- 127, // 351: proto.PollUpdate.vote:type_name -> proto.PollVoteMessage
- 55, // 352: proto.PaymentInfo.currencyDeprecated:type_name -> proto.PaymentInfo.Currency
- 54, // 353: proto.PaymentInfo.status:type_name -> proto.PaymentInfo.Status
- 151, // 354: proto.PaymentInfo.requestMessageKey:type_name -> proto.MessageKey
- 53, // 355: proto.PaymentInfo.txnStatus:type_name -> proto.PaymentInfo.TxnStatus
- 110, // 356: proto.PaymentInfo.primaryAmount:type_name -> proto.Money
- 110, // 357: proto.PaymentInfo.exchangeAmount:type_name -> proto.Money
- 151, // 358: proto.NotificationMessageInfo.key:type_name -> proto.MessageKey
- 111, // 359: proto.NotificationMessageInfo.message:type_name -> proto.Message
- 0, // 360: proto.KeepInChat.keepType:type_name -> proto.KeepType
- 151, // 361: proto.KeepInChat.key:type_name -> proto.MessageKey
- 278, // 362: proto.CertChain.leaf:type_name -> proto.CertChain.NoiseCertificate
- 278, // 363: proto.CertChain.intermediate:type_name -> proto.CertChain.NoiseCertificate
- 230, // 364: proto.ListMessage.Section.rows:type_name -> proto.ListMessage.Row
- 231, // 365: proto.ListMessage.ProductSection.products:type_name -> proto.ListMessage.Product
- 232, // 366: proto.ListMessage.ProductListInfo.productSections:type_name -> proto.ListMessage.ProductSection
- 234, // 367: proto.ListMessage.ProductListInfo.headerImage:type_name -> proto.ListMessage.ProductListHeaderImage
- 10, // 368: proto.InteractiveMessage.ShopMessage.surface:type_name -> proto.InteractiveMessage.ShopMessage.Surface
- 243, // 369: proto.InteractiveMessage.NativeFlowMessage.buttons:type_name -> proto.InteractiveMessage.NativeFlowMessage.NativeFlowButton
- 81, // 370: proto.InteractiveMessage.Header.documentMessage:type_name -> proto.DocumentMessage
- 74, // 371: proto.InteractiveMessage.Header.imageMessage:type_name -> proto.ImageMessage
- 113, // 372: proto.InteractiveMessage.Header.videoMessage:type_name -> proto.VideoMessage
- 246, // 373: proto.HighlyStructuredMessage.HSMLocalizableParameter.currency:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency
- 245, // 374: proto.HighlyStructuredMessage.HSMLocalizableParameter.dateTime:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime
- 248, // 375: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.component:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent
- 247, // 376: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.unixEpoch:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch
- 12, // 377: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.dayOfWeek:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType
- 13, // 378: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.calendar:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType
- 251, // 379: proto.ButtonsMessage.Button.buttonText:type_name -> proto.ButtonsMessage.Button.ButtonText
- 20, // 380: proto.ButtonsMessage.Button.type:type_name -> proto.ButtonsMessage.Button.Type
- 250, // 381: proto.ButtonsMessage.Button.nativeFlowInfo:type_name -> proto.ButtonsMessage.Button.NativeFlowInfo
- 22, // 382: proto.ContextInfo.ExternalAdReplyInfo.mediaType:type_name -> proto.ContextInfo.ExternalAdReplyInfo.MediaType
- 23, // 383: proto.ContextInfo.AdReplyInfo.mediaType:type_name -> proto.ContextInfo.AdReplyInfo.MediaType
- 76, // 384: proto.TemplateButton.URLButton.displayText:type_name -> proto.HighlyStructuredMessage
- 76, // 385: proto.TemplateButton.URLButton.url:type_name -> proto.HighlyStructuredMessage
- 76, // 386: proto.TemplateButton.QuickReplyButton.displayText:type_name -> proto.HighlyStructuredMessage
- 76, // 387: proto.TemplateButton.CallButton.displayText:type_name -> proto.HighlyStructuredMessage
- 76, // 388: proto.TemplateButton.CallButton.phoneNumber:type_name -> proto.HighlyStructuredMessage
- 101, // 389: proto.TemplateMessage.HydratedFourRowTemplate.hydratedButtons:type_name -> proto.HydratedTemplateButton
- 81, // 390: proto.TemplateMessage.HydratedFourRowTemplate.documentMessage:type_name -> proto.DocumentMessage
- 74, // 391: proto.TemplateMessage.HydratedFourRowTemplate.imageMessage:type_name -> proto.ImageMessage
- 113, // 392: proto.TemplateMessage.HydratedFourRowTemplate.videoMessage:type_name -> proto.VideoMessage
- 65, // 393: proto.TemplateMessage.HydratedFourRowTemplate.locationMessage:type_name -> proto.LocationMessage
- 76, // 394: proto.TemplateMessage.FourRowTemplate.content:type_name -> proto.HighlyStructuredMessage
- 76, // 395: proto.TemplateMessage.FourRowTemplate.footer:type_name -> proto.HighlyStructuredMessage
- 107, // 396: proto.TemplateMessage.FourRowTemplate.buttons:type_name -> proto.TemplateButton
- 81, // 397: proto.TemplateMessage.FourRowTemplate.documentMessage:type_name -> proto.DocumentMessage
- 76, // 398: proto.TemplateMessage.FourRowTemplate.highlyStructuredMessage:type_name -> proto.HighlyStructuredMessage
- 74, // 399: proto.TemplateMessage.FourRowTemplate.imageMessage:type_name -> proto.ImageMessage
- 113, // 400: proto.TemplateMessage.FourRowTemplate.videoMessage:type_name -> proto.VideoMessage
- 65, // 401: proto.TemplateMessage.FourRowTemplate.locationMessage:type_name -> proto.LocationMessage
- 74, // 402: proto.ProductMessage.ProductSnapshot.productImage:type_name -> proto.ImageMessage
- 74, // 403: proto.ProductMessage.CatalogSnapshot.catalogImage:type_name -> proto.ImageMessage
- 34, // 404: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.mediaUploadResult:type_name -> proto.MediaRetryNotification.ResultType
- 117, // 405: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.stickerMessage:type_name -> proto.StickerMessage
- 268, // 406: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.linkPreviewResponse:type_name -> proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse
- 200, // 407: proto.VerifiedNameCertificate.Details.localizedNames:type_name -> proto.LocalizedName
- 275, // 408: proto.ClientPayload.WebInfo.webdPayload:type_name -> proto.ClientPayload.WebInfo.WebdPayload
- 45, // 409: proto.ClientPayload.WebInfo.webSubPlatform:type_name -> proto.ClientPayload.WebInfo.WebSubPlatform
- 47, // 410: proto.ClientPayload.UserAgent.platform:type_name -> proto.ClientPayload.UserAgent.Platform
- 276, // 411: proto.ClientPayload.UserAgent.appVersion:type_name -> proto.ClientPayload.UserAgent.AppVersion
- 46, // 412: proto.ClientPayload.UserAgent.releaseChannel:type_name -> proto.ClientPayload.UserAgent.ReleaseChannel
- 48, // 413: proto.ClientPayload.DNSSource.dnsMethod:type_name -> proto.ClientPayload.DNSSource.DNSResolutionMethod
- 414, // [414:414] is the sub-list for method output_type
- 414, // [414:414] is the sub-list for method input_type
- 414, // [414:414] is the sub-list for extension type_name
- 414, // [414:414] is the sub-list for extension extendee
- 0, // [0:414] is the sub-list for field type_name
+ 234, // 2: proto.DeviceProps.historySyncConfig:type_name -> proto.DeviceProps.HistorySyncConfig
+ 4, // 3: proto.PaymentInviteMessage.serviceType:type_name -> proto.PaymentInviteMessage.ServiceType
+ 6, // 4: proto.OrderMessage.status:type_name -> proto.OrderMessage.OrderStatus
+ 5, // 5: proto.OrderMessage.surface:type_name -> proto.OrderMessage.OrderSurface
+ 108, // 6: proto.OrderMessage.contextInfo:type_name -> proto.ContextInfo
+ 108, // 7: proto.LocationMessage.contextInfo:type_name -> proto.ContextInfo
+ 108, // 8: proto.LiveLocationMessage.contextInfo:type_name -> proto.ContextInfo
+ 7, // 9: proto.ListResponseMessage.listType:type_name -> proto.ListResponseMessage.ListType
+ 236, // 10: proto.ListResponseMessage.singleSelectReply:type_name -> proto.ListResponseMessage.SingleSelectReply
+ 108, // 11: proto.ListResponseMessage.contextInfo:type_name -> proto.ContextInfo
+ 8, // 12: proto.ListMessage.listType:type_name -> proto.ListMessage.ListType
+ 237, // 13: proto.ListMessage.sections:type_name -> proto.ListMessage.Section
+ 241, // 14: proto.ListMessage.productListInfo:type_name -> proto.ListMessage.ProductListInfo
+ 108, // 15: proto.ListMessage.contextInfo:type_name -> proto.ContextInfo
+ 156, // 16: proto.KeepInChatMessage.key:type_name -> proto.MessageKey
+ 0, // 17: proto.KeepInChatMessage.keepType:type_name -> proto.KeepType
+ 9, // 18: proto.InvoiceMessage.attachmentType:type_name -> proto.InvoiceMessage.AttachmentType
+ 244, // 19: proto.InteractiveResponseMessage.body:type_name -> proto.InteractiveResponseMessage.Body
+ 108, // 20: proto.InteractiveResponseMessage.contextInfo:type_name -> proto.ContextInfo
+ 243, // 21: proto.InteractiveResponseMessage.nativeFlowResponseMessage:type_name -> proto.InteractiveResponseMessage.NativeFlowResponseMessage
+ 247, // 22: proto.InteractiveMessage.header:type_name -> proto.InteractiveMessage.Header
+ 250, // 23: proto.InteractiveMessage.body:type_name -> proto.InteractiveMessage.Body
+ 248, // 24: proto.InteractiveMessage.footer:type_name -> proto.InteractiveMessage.Footer
+ 108, // 25: proto.InteractiveMessage.contextInfo:type_name -> proto.ContextInfo
+ 245, // 26: proto.InteractiveMessage.shopStorefrontMessage:type_name -> proto.InteractiveMessage.ShopMessage
+ 249, // 27: proto.InteractiveMessage.collectionMessage:type_name -> proto.InteractiveMessage.CollectionMessage
+ 246, // 28: proto.InteractiveMessage.nativeFlowMessage:type_name -> proto.InteractiveMessage.NativeFlowMessage
+ 103, // 29: proto.ImageMessage.interactiveAnnotations:type_name -> proto.InteractiveAnnotation
+ 108, // 30: proto.ImageMessage.contextInfo:type_name -> proto.ContextInfo
+ 12, // 31: proto.HistorySyncNotification.syncType:type_name -> proto.HistorySyncNotification.HistorySyncType
+ 252, // 32: proto.HighlyStructuredMessage.localizableParams:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter
+ 117, // 33: proto.HighlyStructuredMessage.hydratedHsm:type_name -> proto.TemplateMessage
+ 108, // 34: proto.GroupInviteMessage.contextInfo:type_name -> proto.ContextInfo
+ 15, // 35: proto.GroupInviteMessage.groupType:type_name -> proto.GroupInviteMessage.GroupType
+ 114, // 36: proto.FutureProofMessage.message:type_name -> proto.Message
+ 18, // 37: proto.ExtendedTextMessage.font:type_name -> proto.ExtendedTextMessage.FontType
+ 16, // 38: proto.ExtendedTextMessage.previewType:type_name -> proto.ExtendedTextMessage.PreviewType
+ 108, // 39: proto.ExtendedTextMessage.contextInfo:type_name -> proto.ContextInfo
+ 17, // 40: proto.ExtendedTextMessage.inviteLinkGroupType:type_name -> proto.ExtendedTextMessage.InviteLinkGroupType
+ 17, // 41: proto.ExtendedTextMessage.inviteLinkGroupTypeV2:type_name -> proto.ExtendedTextMessage.InviteLinkGroupType
+ 156, // 42: proto.EncReactionMessage.targetMessageKey:type_name -> proto.MessageKey
+ 108, // 43: proto.DocumentMessage.contextInfo:type_name -> proto.ContextInfo
+ 114, // 44: proto.DeviceSentMessage.message:type_name -> proto.Message
+ 156, // 45: proto.DeclinePaymentRequestMessage.key:type_name -> proto.MessageKey
+ 88, // 46: proto.ContactsArrayMessage.contacts:type_name -> proto.ContactMessage
+ 108, // 47: proto.ContactsArrayMessage.contextInfo:type_name -> proto.ContextInfo
+ 108, // 48: proto.ContactMessageV2.contextInfo:type_name -> proto.ContextInfo
+ 108, // 49: proto.ContactMessage.contextInfo:type_name -> proto.ContextInfo
+ 156, // 50: proto.CancelPaymentRequestMessage.key:type_name -> proto.MessageKey
+ 108, // 51: proto.ButtonsResponseMessage.contextInfo:type_name -> proto.ContextInfo
+ 19, // 52: proto.ButtonsResponseMessage.type:type_name -> proto.ButtonsResponseMessage.Type
+ 108, // 53: proto.ButtonsMessage.contextInfo:type_name -> proto.ContextInfo
+ 257, // 54: proto.ButtonsMessage.buttons:type_name -> proto.ButtonsMessage.Button
+ 20, // 55: proto.ButtonsMessage.headerType:type_name -> proto.ButtonsMessage.HeaderType
+ 83, // 56: proto.ButtonsMessage.documentMessage:type_name -> proto.DocumentMessage
+ 76, // 57: proto.ButtonsMessage.imageMessage:type_name -> proto.ImageMessage
+ 116, // 58: proto.ButtonsMessage.videoMessage:type_name -> proto.VideoMessage
+ 67, // 59: proto.ButtonsMessage.locationMessage:type_name -> proto.LocationMessage
+ 108, // 60: proto.AudioMessage.contextInfo:type_name -> proto.ContextInfo
+ 98, // 61: proto.AppStateSyncKey.keyId:type_name -> proto.AppStateSyncKeyId
+ 100, // 62: proto.AppStateSyncKey.keyData:type_name -> proto.AppStateSyncKeyData
+ 95, // 63: proto.AppStateSyncKeyShare.keys:type_name -> proto.AppStateSyncKey
+ 98, // 64: proto.AppStateSyncKeyRequest.keyIds:type_name -> proto.AppStateSyncKeyId
+ 99, // 65: proto.AppStateSyncKeyData.fingerprint:type_name -> proto.AppStateSyncKeyFingerprint
+ 111, // 66: proto.InteractiveAnnotation.polygonVertices:type_name -> proto.Point
+ 102, // 67: proto.InteractiveAnnotation.location:type_name -> proto.Location
+ 261, // 68: proto.HydratedTemplateButton.quickReplyButton:type_name -> proto.HydratedTemplateButton.HydratedQuickReplyButton
+ 260, // 69: proto.HydratedTemplateButton.urlButton:type_name -> proto.HydratedTemplateButton.HydratedURLButton
+ 262, // 70: proto.HydratedTemplateButton.callButton:type_name -> proto.HydratedTemplateButton.HydratedCallButton
+ 22, // 71: proto.DisappearingMode.initiator:type_name -> proto.DisappearingMode.Initiator
+ 114, // 72: proto.ContextInfo.quotedMessage:type_name -> proto.Message
+ 265, // 73: proto.ContextInfo.quotedAd:type_name -> proto.ContextInfo.AdReplyInfo
+ 156, // 74: proto.ContextInfo.placeholderKey:type_name -> proto.MessageKey
+ 264, // 75: proto.ContextInfo.externalAdReply:type_name -> proto.ContextInfo.ExternalAdReplyInfo
+ 106, // 76: proto.ContextInfo.disappearingMode:type_name -> proto.DisappearingMode
+ 109, // 77: proto.ContextInfo.actionLink:type_name -> proto.ActionLink
+ 105, // 78: proto.ContextInfo.groupMentions:type_name -> proto.GroupMention
+ 263, // 79: proto.ContextInfo.utm:type_name -> proto.ContextInfo.UTMInfo
+ 267, // 80: proto.TemplateButton.quickReplyButton:type_name -> proto.TemplateButton.QuickReplyButton
+ 266, // 81: proto.TemplateButton.urlButton:type_name -> proto.TemplateButton.URLButton
+ 268, // 82: proto.TemplateButton.callButton:type_name -> proto.TemplateButton.CallButton
+ 269, // 83: proto.PaymentBackground.mediaData:type_name -> proto.PaymentBackground.MediaData
+ 25, // 84: proto.PaymentBackground.type:type_name -> proto.PaymentBackground.Type
+ 121, // 85: proto.Message.senderKeyDistributionMessage:type_name -> proto.SenderKeyDistributionMessage
+ 76, // 86: proto.Message.imageMessage:type_name -> proto.ImageMessage
+ 88, // 87: proto.Message.contactMessage:type_name -> proto.ContactMessage
+ 67, // 88: proto.Message.locationMessage:type_name -> proto.LocationMessage
+ 81, // 89: proto.Message.extendedTextMessage:type_name -> proto.ExtendedTextMessage
+ 83, // 90: proto.Message.documentMessage:type_name -> proto.DocumentMessage
+ 94, // 91: proto.Message.audioMessage:type_name -> proto.AudioMessage
+ 116, // 92: proto.Message.videoMessage:type_name -> proto.VideoMessage
+ 91, // 93: proto.Message.call:type_name -> proto.Call
+ 89, // 94: proto.Message.chat:type_name -> proto.Chat
+ 128, // 95: proto.Message.protocolMessage:type_name -> proto.ProtocolMessage
+ 86, // 96: proto.Message.contactsArrayMessage:type_name -> proto.ContactsArrayMessage
+ 78, // 97: proto.Message.highlyStructuredMessage:type_name -> proto.HighlyStructuredMessage
+ 121, // 98: proto.Message.fastRatchetKeySenderKeyDistributionMessage:type_name -> proto.SenderKeyDistributionMessage
+ 122, // 99: proto.Message.sendPaymentMessage:type_name -> proto.SendPaymentMessage
+ 68, // 100: proto.Message.liveLocationMessage:type_name -> proto.LiveLocationMessage
+ 126, // 101: proto.Message.requestPaymentMessage:type_name -> proto.RequestPaymentMessage
+ 85, // 102: proto.Message.declinePaymentRequestMessage:type_name -> proto.DeclinePaymentRequestMessage
+ 90, // 103: proto.Message.cancelPaymentRequestMessage:type_name -> proto.CancelPaymentRequestMessage
+ 117, // 104: proto.Message.templateMessage:type_name -> proto.TemplateMessage
+ 120, // 105: proto.Message.stickerMessage:type_name -> proto.StickerMessage
+ 79, // 106: proto.Message.groupInviteMessage:type_name -> proto.GroupInviteMessage
+ 118, // 107: proto.Message.templateButtonReplyMessage:type_name -> proto.TemplateButtonReplyMessage
+ 129, // 108: proto.Message.productMessage:type_name -> proto.ProductMessage
+ 84, // 109: proto.Message.deviceSentMessage:type_name -> proto.DeviceSentMessage
+ 115, // 110: proto.Message.messageContextInfo:type_name -> proto.MessageContextInfo
+ 70, // 111: proto.Message.listMessage:type_name -> proto.ListMessage
+ 80, // 112: proto.Message.viewOnceMessage:type_name -> proto.FutureProofMessage
+ 66, // 113: proto.Message.orderMessage:type_name -> proto.OrderMessage
+ 69, // 114: proto.Message.listResponseMessage:type_name -> proto.ListResponseMessage
+ 80, // 115: proto.Message.ephemeralMessage:type_name -> proto.FutureProofMessage
+ 72, // 116: proto.Message.invoiceMessage:type_name -> proto.InvoiceMessage
+ 93, // 117: proto.Message.buttonsMessage:type_name -> proto.ButtonsMessage
+ 92, // 118: proto.Message.buttonsResponseMessage:type_name -> proto.ButtonsResponseMessage
+ 65, // 119: proto.Message.paymentInviteMessage:type_name -> proto.PaymentInviteMessage
+ 74, // 120: proto.Message.interactiveMessage:type_name -> proto.InteractiveMessage
+ 127, // 121: proto.Message.reactionMessage:type_name -> proto.ReactionMessage
+ 119, // 122: proto.Message.stickerSyncRmrMessage:type_name -> proto.StickerSyncRMRMessage
+ 73, // 123: proto.Message.interactiveResponseMessage:type_name -> proto.InteractiveResponseMessage
+ 134, // 124: proto.Message.pollCreationMessage:type_name -> proto.PollCreationMessage
+ 131, // 125: proto.Message.pollUpdateMessage:type_name -> proto.PollUpdateMessage
+ 71, // 126: proto.Message.keepInChatMessage:type_name -> proto.KeepInChatMessage
+ 80, // 127: proto.Message.documentWithCaptionMessage:type_name -> proto.FutureProofMessage
+ 125, // 128: proto.Message.requestPhoneNumberMessage:type_name -> proto.RequestPhoneNumberMessage
+ 80, // 129: proto.Message.viewOnceMessageV2:type_name -> proto.FutureProofMessage
+ 82, // 130: proto.Message.encReactionMessage:type_name -> proto.EncReactionMessage
+ 80, // 131: proto.Message.editedMessage:type_name -> proto.FutureProofMessage
+ 80, // 132: proto.Message.viewOnceMessageV2Extension:type_name -> proto.FutureProofMessage
+ 134, // 133: proto.Message.pollCreationMessageV2:type_name -> proto.PollCreationMessage
+ 124, // 134: proto.Message.scheduledCallCreationMessage:type_name -> proto.ScheduledCallCreationMessage
+ 80, // 135: proto.Message.groupMentionedMessage:type_name -> proto.FutureProofMessage
+ 135, // 136: proto.Message.pinMessage:type_name -> proto.PinMessage
+ 134, // 137: proto.Message.pollCreationMessageV3:type_name -> proto.PollCreationMessage
+ 123, // 138: proto.Message.scheduledCallEditMessage:type_name -> proto.ScheduledCallEditMessage
+ 116, // 139: proto.Message.ptvMessage:type_name -> proto.VideoMessage
+ 107, // 140: proto.MessageContextInfo.deviceListMetadata:type_name -> proto.DeviceListMetadata
+ 103, // 141: proto.VideoMessage.interactiveAnnotations:type_name -> proto.InteractiveAnnotation
+ 108, // 142: proto.VideoMessage.contextInfo:type_name -> proto.ContextInfo
+ 26, // 143: proto.VideoMessage.gifAttribution:type_name -> proto.VideoMessage.Attribution
+ 108, // 144: proto.TemplateMessage.contextInfo:type_name -> proto.ContextInfo
+ 270, // 145: proto.TemplateMessage.hydratedTemplate:type_name -> proto.TemplateMessage.HydratedFourRowTemplate
+ 271, // 146: proto.TemplateMessage.fourRowTemplate:type_name -> proto.TemplateMessage.FourRowTemplate
+ 270, // 147: proto.TemplateMessage.hydratedFourRowTemplate:type_name -> proto.TemplateMessage.HydratedFourRowTemplate
+ 74, // 148: proto.TemplateMessage.interactiveMessageTemplate:type_name -> proto.InteractiveMessage
+ 108, // 149: proto.TemplateButtonReplyMessage.contextInfo:type_name -> proto.ContextInfo
+ 108, // 150: proto.StickerMessage.contextInfo:type_name -> proto.ContextInfo
+ 114, // 151: proto.SendPaymentMessage.noteMessage:type_name -> proto.Message
+ 156, // 152: proto.SendPaymentMessage.requestMessageKey:type_name -> proto.MessageKey
+ 112, // 153: proto.SendPaymentMessage.background:type_name -> proto.PaymentBackground
+ 156, // 154: proto.ScheduledCallEditMessage.key:type_name -> proto.MessageKey
+ 27, // 155: proto.ScheduledCallEditMessage.editType:type_name -> proto.ScheduledCallEditMessage.EditType
+ 28, // 156: proto.ScheduledCallCreationMessage.callType:type_name -> proto.ScheduledCallCreationMessage.CallType
+ 108, // 157: proto.RequestPhoneNumberMessage.contextInfo:type_name -> proto.ContextInfo
+ 114, // 158: proto.RequestPaymentMessage.noteMessage:type_name -> proto.Message
+ 113, // 159: proto.RequestPaymentMessage.amount:type_name -> proto.Money
+ 112, // 160: proto.RequestPaymentMessage.background:type_name -> proto.PaymentBackground
+ 156, // 161: proto.ReactionMessage.key:type_name -> proto.MessageKey
+ 156, // 162: proto.ProtocolMessage.key:type_name -> proto.MessageKey
+ 29, // 163: proto.ProtocolMessage.type:type_name -> proto.ProtocolMessage.Type
+ 77, // 164: proto.ProtocolMessage.historySyncNotification:type_name -> proto.HistorySyncNotification
+ 96, // 165: proto.ProtocolMessage.appStateSyncKeyShare:type_name -> proto.AppStateSyncKeyShare
+ 97, // 166: proto.ProtocolMessage.appStateSyncKeyRequest:type_name -> proto.AppStateSyncKeyRequest
+ 75, // 167: proto.ProtocolMessage.initialSecurityNotificationSettingSync:type_name -> proto.InitialSecurityNotificationSettingSync
+ 101, // 168: proto.ProtocolMessage.appStateFatalExceptionNotification:type_name -> proto.AppStateFatalExceptionNotification
+ 106, // 169: proto.ProtocolMessage.disappearingMode:type_name -> proto.DisappearingMode
+ 114, // 170: proto.ProtocolMessage.editedMessage:type_name -> proto.Message
+ 137, // 171: proto.ProtocolMessage.peerDataOperationRequestMessage:type_name -> proto.PeerDataOperationRequestMessage
+ 136, // 172: proto.ProtocolMessage.peerDataOperationRequestResponseMessage:type_name -> proto.PeerDataOperationRequestResponseMessage
+ 272, // 173: proto.ProductMessage.product:type_name -> proto.ProductMessage.ProductSnapshot
+ 273, // 174: proto.ProductMessage.catalog:type_name -> proto.ProductMessage.CatalogSnapshot
+ 108, // 175: proto.ProductMessage.contextInfo:type_name -> proto.ContextInfo
+ 156, // 176: proto.PollUpdateMessage.pollCreationMessageKey:type_name -> proto.MessageKey
+ 133, // 177: proto.PollUpdateMessage.vote:type_name -> proto.PollEncValue
+ 132, // 178: proto.PollUpdateMessage.metadata:type_name -> proto.PollUpdateMessageMetadata
+ 274, // 179: proto.PollCreationMessage.options:type_name -> proto.PollCreationMessage.Option
+ 108, // 180: proto.PollCreationMessage.contextInfo:type_name -> proto.ContextInfo
+ 156, // 181: proto.PinMessage.key:type_name -> proto.MessageKey
+ 30, // 182: proto.PinMessage.pinMessageType:type_name -> proto.PinMessage.PinMessageType
+ 1, // 183: proto.PeerDataOperationRequestResponseMessage.peerDataOperationRequestType:type_name -> proto.PeerDataOperationRequestType
+ 275, // 184: proto.PeerDataOperationRequestResponseMessage.peerDataOperationResult:type_name -> proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult
+ 1, // 185: proto.PeerDataOperationRequestMessage.peerDataOperationRequestType:type_name -> proto.PeerDataOperationRequestType
+ 279, // 186: proto.PeerDataOperationRequestMessage.requestStickerReupload:type_name -> proto.PeerDataOperationRequestMessage.RequestStickerReupload
+ 282, // 187: proto.PeerDataOperationRequestMessage.requestUrlPreview:type_name -> proto.PeerDataOperationRequestMessage.RequestUrlPreview
+ 281, // 188: proto.PeerDataOperationRequestMessage.historySyncOnDemandRequest:type_name -> proto.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest
+ 280, // 189: proto.PeerDataOperationRequestMessage.placeholderMessageResendRequest:type_name -> proto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest
+ 143, // 190: proto.PastParticipants.pastParticipants:type_name -> proto.PastParticipant
+ 31, // 191: proto.PastParticipant.leaveReason:type_name -> proto.PastParticipant.LeaveReason
+ 32, // 192: proto.HistorySync.syncType:type_name -> proto.HistorySync.HistorySyncType
+ 149, // 193: proto.HistorySync.conversations:type_name -> proto.Conversation
+ 219, // 194: proto.HistorySync.statusV3Messages:type_name -> proto.WebMessageInfo
+ 141, // 195: proto.HistorySync.pushnames:type_name -> proto.Pushname
+ 148, // 196: proto.HistorySync.globalSettings:type_name -> proto.GlobalSettings
+ 140, // 197: proto.HistorySync.recentStickers:type_name -> proto.StickerMetadata
+ 142, // 198: proto.HistorySync.pastParticipants:type_name -> proto.PastParticipants
+ 219, // 199: proto.HistorySyncMsg.message:type_name -> proto.WebMessageInfo
+ 33, // 200: proto.GroupParticipant.rank:type_name -> proto.GroupParticipant.Rank
+ 139, // 201: proto.GlobalSettings.lightThemeWallpaper:type_name -> proto.WallpaperSettings
+ 2, // 202: proto.GlobalSettings.mediaVisibility:type_name -> proto.MediaVisibility
+ 139, // 203: proto.GlobalSettings.darkThemeWallpaper:type_name -> proto.WallpaperSettings
+ 151, // 204: proto.GlobalSettings.autoDownloadWiFi:type_name -> proto.AutoDownloadSettings
+ 151, // 205: proto.GlobalSettings.autoDownloadCellular:type_name -> proto.AutoDownloadSettings
+ 151, // 206: proto.GlobalSettings.autoDownloadRoaming:type_name -> proto.AutoDownloadSettings
+ 150, // 207: proto.GlobalSettings.avatarUserSettings:type_name -> proto.AvatarUserSettings
+ 144, // 208: proto.GlobalSettings.individualNotificationSettings:type_name -> proto.NotificationSettings
+ 144, // 209: proto.GlobalSettings.groupNotificationSettings:type_name -> proto.NotificationSettings
+ 146, // 210: proto.Conversation.messages:type_name -> proto.HistorySyncMsg
+ 34, // 211: proto.Conversation.endOfHistoryTransferType:type_name -> proto.Conversation.EndOfHistoryTransferType
+ 106, // 212: proto.Conversation.disappearingMode:type_name -> proto.DisappearingMode
+ 147, // 213: proto.Conversation.participant:type_name -> proto.GroupParticipant
+ 139, // 214: proto.Conversation.wallpaper:type_name -> proto.WallpaperSettings
+ 2, // 215: proto.Conversation.mediaVisibility:type_name -> proto.MediaVisibility
+ 153, // 216: proto.MsgRowOpaqueData.currentMsg:type_name -> proto.MsgOpaqueData
+ 153, // 217: proto.MsgRowOpaqueData.quotedMsg:type_name -> proto.MsgOpaqueData
+ 283, // 218: proto.MsgOpaqueData.pollOptions:type_name -> proto.MsgOpaqueData.PollOption
+ 133, // 219: proto.MsgOpaqueData.encPollVote:type_name -> proto.PollEncValue
+ 35, // 220: proto.MediaRetryNotification.result:type_name -> proto.MediaRetryNotification.ResultType
+ 157, // 221: proto.SyncdSnapshot.version:type_name -> proto.SyncdVersion
+ 160, // 222: proto.SyncdSnapshot.records:type_name -> proto.SyncdRecord
+ 165, // 223: proto.SyncdSnapshot.keyId:type_name -> proto.KeyId
+ 164, // 224: proto.SyncdRecord.index:type_name -> proto.SyncdIndex
+ 158, // 225: proto.SyncdRecord.value:type_name -> proto.SyncdValue
+ 165, // 226: proto.SyncdRecord.keyId:type_name -> proto.KeyId
+ 157, // 227: proto.SyncdPatch.version:type_name -> proto.SyncdVersion
+ 163, // 228: proto.SyncdPatch.mutations:type_name -> proto.SyncdMutation
+ 166, // 229: proto.SyncdPatch.externalMutations:type_name -> proto.ExternalBlobReference
+ 165, // 230: proto.SyncdPatch.keyId:type_name -> proto.KeyId
+ 167, // 231: proto.SyncdPatch.exitCode:type_name -> proto.ExitCode
+ 163, // 232: proto.SyncdMutations.mutations:type_name -> proto.SyncdMutation
+ 36, // 233: proto.SyncdMutation.operation:type_name -> proto.SyncdMutation.SyncdOperation
+ 160, // 234: proto.SyncdMutation.record:type_name -> proto.SyncdRecord
+ 176, // 235: proto.SyncActionValue.starAction:type_name -> proto.StarAction
+ 199, // 236: proto.SyncActionValue.contactAction:type_name -> proto.ContactAction
+ 188, // 237: proto.SyncActionValue.muteAction:type_name -> proto.MuteAction
+ 186, // 238: proto.SyncActionValue.pinAction:type_name -> proto.PinAction
+ 177, // 239: proto.SyncActionValue.securityNotificationSetting:type_name -> proto.SecurityNotificationSetting
+ 181, // 240: proto.SyncActionValue.pushNameSetting:type_name -> proto.PushNameSetting
+ 180, // 241: proto.SyncActionValue.quickReplyAction:type_name -> proto.QuickReplyAction
+ 179, // 242: proto.SyncActionValue.recentEmojiWeightsAction:type_name -> proto.RecentEmojiWeightsAction
+ 193, // 243: proto.SyncActionValue.labelEditAction:type_name -> proto.LabelEditAction
+ 194, // 244: proto.SyncActionValue.labelAssociationAction:type_name -> proto.LabelAssociationAction
+ 192, // 245: proto.SyncActionValue.localeSetting:type_name -> proto.LocaleSetting
+ 203, // 246: proto.SyncActionValue.archiveChatAction:type_name -> proto.ArchiveChatAction
+ 197, // 247: proto.SyncActionValue.deleteMessageForMeAction:type_name -> proto.DeleteMessageForMeAction
+ 195, // 248: proto.SyncActionValue.keyExpiration:type_name -> proto.KeyExpiration
+ 191, // 249: proto.SyncActionValue.markChatAsReadAction:type_name -> proto.MarkChatAsReadAction
+ 200, // 250: proto.SyncActionValue.clearChatAction:type_name -> proto.ClearChatAction
+ 198, // 251: proto.SyncActionValue.deleteChatAction:type_name -> proto.DeleteChatAction
+ 170, // 252: proto.SyncActionValue.unarchiveChatsSetting:type_name -> proto.UnarchiveChatsSetting
+ 184, // 253: proto.SyncActionValue.primaryFeature:type_name -> proto.PrimaryFeature
+ 204, // 254: proto.SyncActionValue.androidUnsupportedActions:type_name -> proto.AndroidUnsupportedActions
+ 205, // 255: proto.SyncActionValue.agentAction:type_name -> proto.AgentAction
+ 174, // 256: proto.SyncActionValue.subscriptionAction:type_name -> proto.SubscriptionAction
+ 169, // 257: proto.SyncActionValue.userStatusMuteAction:type_name -> proto.UserStatusMuteAction
+ 171, // 258: proto.SyncActionValue.timeFormatAction:type_name -> proto.TimeFormatAction
+ 187, // 259: proto.SyncActionValue.nuxAction:type_name -> proto.NuxAction
+ 183, // 260: proto.SyncActionValue.primaryVersionAction:type_name -> proto.PrimaryVersionAction
+ 175, // 261: proto.SyncActionValue.stickerAction:type_name -> proto.StickerAction
+ 178, // 262: proto.SyncActionValue.removeRecentStickerAction:type_name -> proto.RemoveRecentStickerAction
+ 202, // 263: proto.SyncActionValue.chatAssignment:type_name -> proto.ChatAssignmentAction
+ 201, // 264: proto.SyncActionValue.chatAssignmentOpenedStatus:type_name -> proto.ChatAssignmentOpenedStatusAction
+ 185, // 265: proto.SyncActionValue.pnForLidChatAction:type_name -> proto.PnForLidChatAction
+ 190, // 266: proto.SyncActionValue.marketingMessageAction:type_name -> proto.MarketingMessageAction
+ 189, // 267: proto.SyncActionValue.marketingMessageBroadcastAction:type_name -> proto.MarketingMessageBroadcastAction
+ 196, // 268: proto.SyncActionValue.externalWebBetaAction:type_name -> proto.ExternalWebBetaAction
+ 182, // 269: proto.SyncActionValue.privacySettingRelayAllCalls:type_name -> proto.PrivacySettingRelayAllCalls
+ 156, // 270: proto.SyncActionMessage.key:type_name -> proto.MessageKey
+ 172, // 271: proto.SyncActionMessageRange.messages:type_name -> proto.SyncActionMessage
+ 207, // 272: proto.RecentEmojiWeightsAction.weights:type_name -> proto.RecentEmojiWeight
+ 37, // 273: proto.MarketingMessageAction.type:type_name -> proto.MarketingMessageAction.MarketingMessagePrototypeType
+ 173, // 274: proto.MarkChatAsReadAction.messageRange:type_name -> proto.SyncActionMessageRange
+ 173, // 275: proto.DeleteChatAction.messageRange:type_name -> proto.SyncActionMessageRange
+ 173, // 276: proto.ClearChatAction.messageRange:type_name -> proto.SyncActionMessageRange
+ 173, // 277: proto.ArchiveChatAction.messageRange:type_name -> proto.SyncActionMessageRange
+ 168, // 278: proto.SyncActionData.value:type_name -> proto.SyncActionValue
+ 38, // 279: proto.BizIdentityInfo.vlevel:type_name -> proto.BizIdentityInfo.VerifiedLevelValue
+ 208, // 280: proto.BizIdentityInfo.vnameCert:type_name -> proto.VerifiedNameCertificate
+ 39, // 281: proto.BizIdentityInfo.hostStorage:type_name -> proto.BizIdentityInfo.HostStorageType
+ 40, // 282: proto.BizIdentityInfo.actualActors:type_name -> proto.BizIdentityInfo.ActualActorsType
+ 208, // 283: proto.BizAccountPayload.vnameCert:type_name -> proto.VerifiedNameCertificate
+ 41, // 284: proto.BizAccountLinkInfo.hostStorage:type_name -> proto.BizAccountLinkInfo.HostStorageType
+ 42, // 285: proto.BizAccountLinkInfo.accountType:type_name -> proto.BizAccountLinkInfo.AccountType
+ 215, // 286: proto.HandshakeMessage.clientHello:type_name -> proto.HandshakeClientHello
+ 214, // 287: proto.HandshakeMessage.serverHello:type_name -> proto.HandshakeServerHello
+ 216, // 288: proto.HandshakeMessage.clientFinish:type_name -> proto.HandshakeClientFinish
+ 286, // 289: proto.ClientPayload.userAgent:type_name -> proto.ClientPayload.UserAgent
+ 285, // 290: proto.ClientPayload.webInfo:type_name -> proto.ClientPayload.WebInfo
+ 45, // 291: proto.ClientPayload.connectType:type_name -> proto.ClientPayload.ConnectType
+ 46, // 292: proto.ClientPayload.connectReason:type_name -> proto.ClientPayload.ConnectReason
+ 289, // 293: proto.ClientPayload.dnsSource:type_name -> proto.ClientPayload.DNSSource
+ 288, // 294: proto.ClientPayload.devicePairingData:type_name -> proto.ClientPayload.DevicePairingRegistrationData
+ 43, // 295: proto.ClientPayload.product:type_name -> proto.ClientPayload.Product
+ 44, // 296: proto.ClientPayload.iosAppExtension:type_name -> proto.ClientPayload.IOSAppExtension
+ 287, // 297: proto.ClientPayload.interopData:type_name -> proto.ClientPayload.InteropData
+ 219, // 298: proto.WebNotificationsInfo.notifyMessages:type_name -> proto.WebMessageInfo
+ 156, // 299: proto.WebMessageInfo.key:type_name -> proto.MessageKey
+ 114, // 300: proto.WebMessageInfo.message:type_name -> proto.Message
+ 52, // 301: proto.WebMessageInfo.status:type_name -> proto.WebMessageInfo.Status
+ 51, // 302: proto.WebMessageInfo.messageStubType:type_name -> proto.WebMessageInfo.StubType
+ 228, // 303: proto.WebMessageInfo.paymentInfo:type_name -> proto.PaymentInfo
+ 68, // 304: proto.WebMessageInfo.finalLiveLocation:type_name -> proto.LiveLocationMessage
+ 228, // 305: proto.WebMessageInfo.quotedPaymentInfo:type_name -> proto.PaymentInfo
+ 53, // 306: proto.WebMessageInfo.bizPrivacyStatus:type_name -> proto.WebMessageInfo.BizPrivacyStatus
+ 230, // 307: proto.WebMessageInfo.mediaData:type_name -> proto.MediaData
+ 227, // 308: proto.WebMessageInfo.photoChange:type_name -> proto.PhotoChange
+ 221, // 309: proto.WebMessageInfo.userReceipt:type_name -> proto.UserReceipt
+ 223, // 310: proto.WebMessageInfo.reactions:type_name -> proto.Reaction
+ 230, // 311: proto.WebMessageInfo.quotedStickerData:type_name -> proto.MediaData
+ 222, // 312: proto.WebMessageInfo.statusPsa:type_name -> proto.StatusPSA
+ 224, // 313: proto.WebMessageInfo.pollUpdates:type_name -> proto.PollUpdate
+ 225, // 314: proto.WebMessageInfo.pollAdditionalMetadata:type_name -> proto.PollAdditionalMetadata
+ 231, // 315: proto.WebMessageInfo.keepInChat:type_name -> proto.KeepInChat
+ 226, // 316: proto.WebMessageInfo.pinInChat:type_name -> proto.PinInChat
+ 54, // 317: proto.WebFeatures.labelsDisplay:type_name -> proto.WebFeatures.Flag
+ 54, // 318: proto.WebFeatures.voipIndividualOutgoing:type_name -> proto.WebFeatures.Flag
+ 54, // 319: proto.WebFeatures.groupsV3:type_name -> proto.WebFeatures.Flag
+ 54, // 320: proto.WebFeatures.groupsV3Create:type_name -> proto.WebFeatures.Flag
+ 54, // 321: proto.WebFeatures.changeNumberV2:type_name -> proto.WebFeatures.Flag
+ 54, // 322: proto.WebFeatures.queryStatusV3Thumbnail:type_name -> proto.WebFeatures.Flag
+ 54, // 323: proto.WebFeatures.liveLocations:type_name -> proto.WebFeatures.Flag
+ 54, // 324: proto.WebFeatures.queryVname:type_name -> proto.WebFeatures.Flag
+ 54, // 325: proto.WebFeatures.voipIndividualIncoming:type_name -> proto.WebFeatures.Flag
+ 54, // 326: proto.WebFeatures.quickRepliesQuery:type_name -> proto.WebFeatures.Flag
+ 54, // 327: proto.WebFeatures.payments:type_name -> proto.WebFeatures.Flag
+ 54, // 328: proto.WebFeatures.stickerPackQuery:type_name -> proto.WebFeatures.Flag
+ 54, // 329: proto.WebFeatures.liveLocationsFinal:type_name -> proto.WebFeatures.Flag
+ 54, // 330: proto.WebFeatures.labelsEdit:type_name -> proto.WebFeatures.Flag
+ 54, // 331: proto.WebFeatures.mediaUpload:type_name -> proto.WebFeatures.Flag
+ 54, // 332: proto.WebFeatures.mediaUploadRichQuickReplies:type_name -> proto.WebFeatures.Flag
+ 54, // 333: proto.WebFeatures.vnameV2:type_name -> proto.WebFeatures.Flag
+ 54, // 334: proto.WebFeatures.videoPlaybackUrl:type_name -> proto.WebFeatures.Flag
+ 54, // 335: proto.WebFeatures.statusRanking:type_name -> proto.WebFeatures.Flag
+ 54, // 336: proto.WebFeatures.voipIndividualVideo:type_name -> proto.WebFeatures.Flag
+ 54, // 337: proto.WebFeatures.thirdPartyStickers:type_name -> proto.WebFeatures.Flag
+ 54, // 338: proto.WebFeatures.frequentlyForwardedSetting:type_name -> proto.WebFeatures.Flag
+ 54, // 339: proto.WebFeatures.groupsV4JoinPermission:type_name -> proto.WebFeatures.Flag
+ 54, // 340: proto.WebFeatures.recentStickers:type_name -> proto.WebFeatures.Flag
+ 54, // 341: proto.WebFeatures.catalog:type_name -> proto.WebFeatures.Flag
+ 54, // 342: proto.WebFeatures.starredStickers:type_name -> proto.WebFeatures.Flag
+ 54, // 343: proto.WebFeatures.voipGroupCall:type_name -> proto.WebFeatures.Flag
+ 54, // 344: proto.WebFeatures.templateMessage:type_name -> proto.WebFeatures.Flag
+ 54, // 345: proto.WebFeatures.templateMessageInteractivity:type_name -> proto.WebFeatures.Flag
+ 54, // 346: proto.WebFeatures.ephemeralMessages:type_name -> proto.WebFeatures.Flag
+ 54, // 347: proto.WebFeatures.e2ENotificationSync:type_name -> proto.WebFeatures.Flag
+ 54, // 348: proto.WebFeatures.recentStickersV2:type_name -> proto.WebFeatures.Flag
+ 54, // 349: proto.WebFeatures.recentStickersV3:type_name -> proto.WebFeatures.Flag
+ 54, // 350: proto.WebFeatures.userNotice:type_name -> proto.WebFeatures.Flag
+ 54, // 351: proto.WebFeatures.support:type_name -> proto.WebFeatures.Flag
+ 54, // 352: proto.WebFeatures.groupUiiCleanup:type_name -> proto.WebFeatures.Flag
+ 54, // 353: proto.WebFeatures.groupDogfoodingInternalOnly:type_name -> proto.WebFeatures.Flag
+ 54, // 354: proto.WebFeatures.settingsSync:type_name -> proto.WebFeatures.Flag
+ 54, // 355: proto.WebFeatures.archiveV2:type_name -> proto.WebFeatures.Flag
+ 54, // 356: proto.WebFeatures.ephemeralAllowGroupMembers:type_name -> proto.WebFeatures.Flag
+ 54, // 357: proto.WebFeatures.ephemeral24HDuration:type_name -> proto.WebFeatures.Flag
+ 54, // 358: proto.WebFeatures.mdForceUpgrade:type_name -> proto.WebFeatures.Flag
+ 54, // 359: proto.WebFeatures.disappearingMode:type_name -> proto.WebFeatures.Flag
+ 54, // 360: proto.WebFeatures.externalMdOptInAvailable:type_name -> proto.WebFeatures.Flag
+ 54, // 361: proto.WebFeatures.noDeleteMessageTimeLimit:type_name -> proto.WebFeatures.Flag
+ 156, // 362: proto.Reaction.key:type_name -> proto.MessageKey
+ 156, // 363: proto.PollUpdate.pollUpdateMessageKey:type_name -> proto.MessageKey
+ 130, // 364: proto.PollUpdate.vote:type_name -> proto.PollVoteMessage
+ 55, // 365: proto.PinInChat.pinMessageType:type_name -> proto.PinInChat.PinMessageType
+ 156, // 366: proto.PinInChat.key:type_name -> proto.MessageKey
+ 58, // 367: proto.PaymentInfo.currencyDeprecated:type_name -> proto.PaymentInfo.Currency
+ 57, // 368: proto.PaymentInfo.status:type_name -> proto.PaymentInfo.Status
+ 156, // 369: proto.PaymentInfo.requestMessageKey:type_name -> proto.MessageKey
+ 56, // 370: proto.PaymentInfo.txnStatus:type_name -> proto.PaymentInfo.TxnStatus
+ 113, // 371: proto.PaymentInfo.primaryAmount:type_name -> proto.Money
+ 113, // 372: proto.PaymentInfo.exchangeAmount:type_name -> proto.Money
+ 156, // 373: proto.NotificationMessageInfo.key:type_name -> proto.MessageKey
+ 114, // 374: proto.NotificationMessageInfo.message:type_name -> proto.Message
+ 0, // 375: proto.KeepInChat.keepType:type_name -> proto.KeepType
+ 156, // 376: proto.KeepInChat.key:type_name -> proto.MessageKey
+ 293, // 377: proto.CertChain.leaf:type_name -> proto.CertChain.NoiseCertificate
+ 293, // 378: proto.CertChain.intermediate:type_name -> proto.CertChain.NoiseCertificate
+ 238, // 379: proto.ListMessage.Section.rows:type_name -> proto.ListMessage.Row
+ 239, // 380: proto.ListMessage.ProductSection.products:type_name -> proto.ListMessage.Product
+ 240, // 381: proto.ListMessage.ProductListInfo.productSections:type_name -> proto.ListMessage.ProductSection
+ 242, // 382: proto.ListMessage.ProductListInfo.headerImage:type_name -> proto.ListMessage.ProductListHeaderImage
+ 10, // 383: proto.InteractiveResponseMessage.Body.format:type_name -> proto.InteractiveResponseMessage.Body.Format
+ 11, // 384: proto.InteractiveMessage.ShopMessage.surface:type_name -> proto.InteractiveMessage.ShopMessage.Surface
+ 251, // 385: proto.InteractiveMessage.NativeFlowMessage.buttons:type_name -> proto.InteractiveMessage.NativeFlowMessage.NativeFlowButton
+ 83, // 386: proto.InteractiveMessage.Header.documentMessage:type_name -> proto.DocumentMessage
+ 76, // 387: proto.InteractiveMessage.Header.imageMessage:type_name -> proto.ImageMessage
+ 116, // 388: proto.InteractiveMessage.Header.videoMessage:type_name -> proto.VideoMessage
+ 254, // 389: proto.HighlyStructuredMessage.HSMLocalizableParameter.currency:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency
+ 253, // 390: proto.HighlyStructuredMessage.HSMLocalizableParameter.dateTime:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime
+ 256, // 391: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.component:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent
+ 255, // 392: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.unixEpoch:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch
+ 13, // 393: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.dayOfWeek:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType
+ 14, // 394: proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.calendar:type_name -> proto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType
+ 259, // 395: proto.ButtonsMessage.Button.buttonText:type_name -> proto.ButtonsMessage.Button.ButtonText
+ 21, // 396: proto.ButtonsMessage.Button.type:type_name -> proto.ButtonsMessage.Button.Type
+ 258, // 397: proto.ButtonsMessage.Button.nativeFlowInfo:type_name -> proto.ButtonsMessage.Button.NativeFlowInfo
+ 23, // 398: proto.ContextInfo.ExternalAdReplyInfo.mediaType:type_name -> proto.ContextInfo.ExternalAdReplyInfo.MediaType
+ 24, // 399: proto.ContextInfo.AdReplyInfo.mediaType:type_name -> proto.ContextInfo.AdReplyInfo.MediaType
+ 78, // 400: proto.TemplateButton.URLButton.displayText:type_name -> proto.HighlyStructuredMessage
+ 78, // 401: proto.TemplateButton.URLButton.url:type_name -> proto.HighlyStructuredMessage
+ 78, // 402: proto.TemplateButton.QuickReplyButton.displayText:type_name -> proto.HighlyStructuredMessage
+ 78, // 403: proto.TemplateButton.CallButton.displayText:type_name -> proto.HighlyStructuredMessage
+ 78, // 404: proto.TemplateButton.CallButton.phoneNumber:type_name -> proto.HighlyStructuredMessage
+ 104, // 405: proto.TemplateMessage.HydratedFourRowTemplate.hydratedButtons:type_name -> proto.HydratedTemplateButton
+ 83, // 406: proto.TemplateMessage.HydratedFourRowTemplate.documentMessage:type_name -> proto.DocumentMessage
+ 76, // 407: proto.TemplateMessage.HydratedFourRowTemplate.imageMessage:type_name -> proto.ImageMessage
+ 116, // 408: proto.TemplateMessage.HydratedFourRowTemplate.videoMessage:type_name -> proto.VideoMessage
+ 67, // 409: proto.TemplateMessage.HydratedFourRowTemplate.locationMessage:type_name -> proto.LocationMessage
+ 78, // 410: proto.TemplateMessage.FourRowTemplate.content:type_name -> proto.HighlyStructuredMessage
+ 78, // 411: proto.TemplateMessage.FourRowTemplate.footer:type_name -> proto.HighlyStructuredMessage
+ 110, // 412: proto.TemplateMessage.FourRowTemplate.buttons:type_name -> proto.TemplateButton
+ 83, // 413: proto.TemplateMessage.FourRowTemplate.documentMessage:type_name -> proto.DocumentMessage
+ 78, // 414: proto.TemplateMessage.FourRowTemplate.highlyStructuredMessage:type_name -> proto.HighlyStructuredMessage
+ 76, // 415: proto.TemplateMessage.FourRowTemplate.imageMessage:type_name -> proto.ImageMessage
+ 116, // 416: proto.TemplateMessage.FourRowTemplate.videoMessage:type_name -> proto.VideoMessage
+ 67, // 417: proto.TemplateMessage.FourRowTemplate.locationMessage:type_name -> proto.LocationMessage
+ 76, // 418: proto.ProductMessage.ProductSnapshot.productImage:type_name -> proto.ImageMessage
+ 76, // 419: proto.ProductMessage.CatalogSnapshot.catalogImage:type_name -> proto.ImageMessage
+ 35, // 420: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.mediaUploadResult:type_name -> proto.MediaRetryNotification.ResultType
+ 120, // 421: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.stickerMessage:type_name -> proto.StickerMessage
+ 277, // 422: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.linkPreviewResponse:type_name -> proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse
+ 276, // 423: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.placeholderMessageResendResponse:type_name -> proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse
+ 278, // 424: proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.hqThumbnail:type_name -> proto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail
+ 156, // 425: proto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.messageKey:type_name -> proto.MessageKey
+ 209, // 426: proto.VerifiedNameCertificate.Details.localizedNames:type_name -> proto.LocalizedName
+ 290, // 427: proto.ClientPayload.WebInfo.webdPayload:type_name -> proto.ClientPayload.WebInfo.WebdPayload
+ 47, // 428: proto.ClientPayload.WebInfo.webSubPlatform:type_name -> proto.ClientPayload.WebInfo.WebSubPlatform
+ 49, // 429: proto.ClientPayload.UserAgent.platform:type_name -> proto.ClientPayload.UserAgent.Platform
+ 291, // 430: proto.ClientPayload.UserAgent.appVersion:type_name -> proto.ClientPayload.UserAgent.AppVersion
+ 48, // 431: proto.ClientPayload.UserAgent.releaseChannel:type_name -> proto.ClientPayload.UserAgent.ReleaseChannel
+ 50, // 432: proto.ClientPayload.DNSSource.dnsMethod:type_name -> proto.ClientPayload.DNSSource.DNSResolutionMethod
+ 433, // [433:433] is the sub-list for method output_type
+ 433, // [433:433] is the sub-list for method input_type
+ 433, // [433:433] is the sub-list for extension type_name
+ 433, // [433:433] is the sub-list for extension extendee
+ 0, // [0:433] is the sub-list for field type_name
}
func init() { file_binary_proto_def_proto_init() }
@@ -23462,18 +24732,6 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PeerDataOperationRequestMessage); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_binary_proto_def_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PaymentInviteMessage); i {
case 0:
return &v.state
@@ -23485,7 +24743,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OrderMessage); i {
case 0:
return &v.state
@@ -23497,7 +24755,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LocationMessage); i {
case 0:
return &v.state
@@ -23509,7 +24767,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LiveLocationMessage); i {
case 0:
return &v.state
@@ -23521,7 +24779,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListResponseMessage); i {
case 0:
return &v.state
@@ -23533,7 +24791,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListMessage); i {
case 0:
return &v.state
@@ -23545,7 +24803,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KeepInChatMessage); i {
case 0:
return &v.state
@@ -23557,7 +24815,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvoiceMessage); i {
case 0:
return &v.state
@@ -23569,7 +24827,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InteractiveResponseMessage); i {
case 0:
return &v.state
@@ -23581,7 +24839,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InteractiveMessage); i {
case 0:
return &v.state
@@ -23593,7 +24851,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InitialSecurityNotificationSettingSync); i {
case 0:
return &v.state
@@ -23605,7 +24863,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImageMessage); i {
case 0:
return &v.state
@@ -23617,7 +24875,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HistorySyncNotification); i {
case 0:
return &v.state
@@ -23629,7 +24887,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HighlyStructuredMessage); i {
case 0:
return &v.state
@@ -23641,7 +24899,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInviteMessage); i {
case 0:
return &v.state
@@ -23653,7 +24911,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FutureProofMessage); i {
case 0:
return &v.state
@@ -23665,7 +24923,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendedTextMessage); i {
case 0:
return &v.state
@@ -23677,7 +24935,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EncReactionMessage); i {
case 0:
return &v.state
@@ -23689,7 +24947,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DocumentMessage); i {
case 0:
return &v.state
@@ -23701,7 +24959,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeviceSentMessage); i {
case 0:
return &v.state
@@ -23713,7 +24971,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeclinePaymentRequestMessage); i {
case 0:
return &v.state
@@ -23725,7 +24983,7 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
- file_binary_proto_def_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ file_binary_proto_def_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContactsArrayMessage); i {
case 0:
return &v.state
@@ -23737,6 +24995,18 @@ func file_binary_proto_def_proto_init() {
return nil
}
}
+ file_binary_proto_def_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContactMessageV2); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
file_binary_proto_def_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContactMessage); i {
case 0:
@@ -24326,7 +25596,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EphemeralSetting); i {
+ switch v := v.(*PeerDataOperationRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -24338,7 +25608,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WallpaperSettings); i {
+ switch v := v.(*EphemeralSetting); i {
case 0:
return &v.state
case 1:
@@ -24350,7 +25620,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*StickerMetadata); i {
+ switch v := v.(*WallpaperSettings); i {
case 0:
return &v.state
case 1:
@@ -24362,7 +25632,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Pushname); i {
+ switch v := v.(*StickerMetadata); i {
case 0:
return &v.state
case 1:
@@ -24374,7 +25644,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PastParticipants); i {
+ switch v := v.(*Pushname); i {
case 0:
return &v.state
case 1:
@@ -24386,7 +25656,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PastParticipant); i {
+ switch v := v.(*PastParticipants); i {
case 0:
return &v.state
case 1:
@@ -24398,7 +25668,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HistorySync); i {
+ switch v := v.(*PastParticipant); i {
case 0:
return &v.state
case 1:
@@ -24410,7 +25680,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HistorySyncMsg); i {
+ switch v := v.(*NotificationSettings); i {
case 0:
return &v.state
case 1:
@@ -24422,7 +25692,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GroupParticipant); i {
+ switch v := v.(*HistorySync); i {
case 0:
return &v.state
case 1:
@@ -24434,7 +25704,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GlobalSettings); i {
+ switch v := v.(*HistorySyncMsg); i {
case 0:
return &v.state
case 1:
@@ -24446,7 +25716,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Conversation); i {
+ switch v := v.(*GroupParticipant); i {
case 0:
return &v.state
case 1:
@@ -24458,7 +25728,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AvatarUserSettings); i {
+ switch v := v.(*GlobalSettings); i {
case 0:
return &v.state
case 1:
@@ -24470,7 +25740,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AutoDownloadSettings); i {
+ switch v := v.(*Conversation); i {
case 0:
return &v.state
case 1:
@@ -24482,7 +25752,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MsgRowOpaqueData); i {
+ switch v := v.(*AvatarUserSettings); i {
case 0:
return &v.state
case 1:
@@ -24494,7 +25764,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MsgOpaqueData); i {
+ switch v := v.(*AutoDownloadSettings); i {
case 0:
return &v.state
case 1:
@@ -24506,7 +25776,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ServerErrorReceipt); i {
+ switch v := v.(*MsgRowOpaqueData); i {
case 0:
return &v.state
case 1:
@@ -24518,7 +25788,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MediaRetryNotification); i {
+ switch v := v.(*MsgOpaqueData); i {
case 0:
return &v.state
case 1:
@@ -24530,7 +25800,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MessageKey); i {
+ switch v := v.(*ServerErrorReceipt); i {
case 0:
return &v.state
case 1:
@@ -24542,7 +25812,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdVersion); i {
+ switch v := v.(*MediaRetryNotification); i {
case 0:
return &v.state
case 1:
@@ -24554,7 +25824,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdValue); i {
+ switch v := v.(*MessageKey); i {
case 0:
return &v.state
case 1:
@@ -24566,7 +25836,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdSnapshot); i {
+ switch v := v.(*SyncdVersion); i {
case 0:
return &v.state
case 1:
@@ -24578,7 +25848,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdRecord); i {
+ switch v := v.(*SyncdValue); i {
case 0:
return &v.state
case 1:
@@ -24590,7 +25860,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdPatch); i {
+ switch v := v.(*SyncdSnapshot); i {
case 0:
return &v.state
case 1:
@@ -24602,7 +25872,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdMutations); i {
+ switch v := v.(*SyncdRecord); i {
case 0:
return &v.state
case 1:
@@ -24614,7 +25884,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdMutation); i {
+ switch v := v.(*SyncdPatch); i {
case 0:
return &v.state
case 1:
@@ -24626,7 +25896,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncdIndex); i {
+ switch v := v.(*SyncdMutations); i {
case 0:
return &v.state
case 1:
@@ -24638,7 +25908,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*KeyId); i {
+ switch v := v.(*SyncdMutation); i {
case 0:
return &v.state
case 1:
@@ -24650,7 +25920,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExternalBlobReference); i {
+ switch v := v.(*SyncdIndex); i {
case 0:
return &v.state
case 1:
@@ -24662,7 +25932,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExitCode); i {
+ switch v := v.(*KeyId); i {
case 0:
return &v.state
case 1:
@@ -24674,7 +25944,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncActionValue); i {
+ switch v := v.(*ExternalBlobReference); i {
case 0:
return &v.state
case 1:
@@ -24686,7 +25956,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UserStatusMuteAction); i {
+ switch v := v.(*ExitCode); i {
case 0:
return &v.state
case 1:
@@ -24698,7 +25968,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UnarchiveChatsSetting); i {
+ switch v := v.(*SyncActionValue); i {
case 0:
return &v.state
case 1:
@@ -24710,7 +25980,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TimeFormatAction); i {
+ switch v := v.(*UserStatusMuteAction); i {
case 0:
return &v.state
case 1:
@@ -24722,7 +25992,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncActionMessage); i {
+ switch v := v.(*UnarchiveChatsSetting); i {
case 0:
return &v.state
case 1:
@@ -24734,7 +26004,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncActionMessageRange); i {
+ switch v := v.(*TimeFormatAction); i {
case 0:
return &v.state
case 1:
@@ -24746,7 +26016,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SubscriptionAction); i {
+ switch v := v.(*SyncActionMessage); i {
case 0:
return &v.state
case 1:
@@ -24758,7 +26028,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*StickerAction); i {
+ switch v := v.(*SyncActionMessageRange); i {
case 0:
return &v.state
case 1:
@@ -24770,7 +26040,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*StarAction); i {
+ switch v := v.(*SubscriptionAction); i {
case 0:
return &v.state
case 1:
@@ -24782,7 +26052,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SecurityNotificationSetting); i {
+ switch v := v.(*StickerAction); i {
case 0:
return &v.state
case 1:
@@ -24794,7 +26064,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveRecentStickerAction); i {
+ switch v := v.(*StarAction); i {
case 0:
return &v.state
case 1:
@@ -24806,7 +26076,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RecentEmojiWeightsAction); i {
+ switch v := v.(*SecurityNotificationSetting); i {
case 0:
return &v.state
case 1:
@@ -24818,7 +26088,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*QuickReplyAction); i {
+ switch v := v.(*RemoveRecentStickerAction); i {
case 0:
return &v.state
case 1:
@@ -24830,7 +26100,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PushNameSetting); i {
+ switch v := v.(*RecentEmojiWeightsAction); i {
case 0:
return &v.state
case 1:
@@ -24842,7 +26112,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrimaryVersionAction); i {
+ switch v := v.(*QuickReplyAction); i {
case 0:
return &v.state
case 1:
@@ -24854,7 +26124,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrimaryFeature); i {
+ switch v := v.(*PushNameSetting); i {
case 0:
return &v.state
case 1:
@@ -24866,7 +26136,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PnForLidChatAction); i {
+ switch v := v.(*PrivacySettingRelayAllCalls); i {
case 0:
return &v.state
case 1:
@@ -24878,7 +26148,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PinAction); i {
+ switch v := v.(*PrimaryVersionAction); i {
case 0:
return &v.state
case 1:
@@ -24890,7 +26160,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NuxAction); i {
+ switch v := v.(*PrimaryFeature); i {
case 0:
return &v.state
case 1:
@@ -24902,7 +26172,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MuteAction); i {
+ switch v := v.(*PnForLidChatAction); i {
case 0:
return &v.state
case 1:
@@ -24914,7 +26184,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MarkChatAsReadAction); i {
+ switch v := v.(*PinAction); i {
case 0:
return &v.state
case 1:
@@ -24926,7 +26196,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LocaleSetting); i {
+ switch v := v.(*NuxAction); i {
case 0:
return &v.state
case 1:
@@ -24938,7 +26208,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LabelEditAction); i {
+ switch v := v.(*MuteAction); i {
case 0:
return &v.state
case 1:
@@ -24950,7 +26220,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LabelAssociationAction); i {
+ switch v := v.(*MarketingMessageBroadcastAction); i {
case 0:
return &v.state
case 1:
@@ -24962,7 +26232,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*KeyExpiration); i {
+ switch v := v.(*MarketingMessageAction); i {
case 0:
return &v.state
case 1:
@@ -24974,7 +26244,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteMessageForMeAction); i {
+ switch v := v.(*MarkChatAsReadAction); i {
case 0:
return &v.state
case 1:
@@ -24986,7 +26256,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteChatAction); i {
+ switch v := v.(*LocaleSetting); i {
case 0:
return &v.state
case 1:
@@ -24998,7 +26268,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ContactAction); i {
+ switch v := v.(*LabelEditAction); i {
case 0:
return &v.state
case 1:
@@ -25010,7 +26280,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClearChatAction); i {
+ switch v := v.(*LabelAssociationAction); i {
case 0:
return &v.state
case 1:
@@ -25022,7 +26292,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ChatAssignmentOpenedStatusAction); i {
+ switch v := v.(*KeyExpiration); i {
case 0:
return &v.state
case 1:
@@ -25034,7 +26304,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ChatAssignmentAction); i {
+ switch v := v.(*ExternalWebBetaAction); i {
case 0:
return &v.state
case 1:
@@ -25046,7 +26316,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ArchiveChatAction); i {
+ switch v := v.(*DeleteMessageForMeAction); i {
case 0:
return &v.state
case 1:
@@ -25058,7 +26328,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AndroidUnsupportedActions); i {
+ switch v := v.(*DeleteChatAction); i {
case 0:
return &v.state
case 1:
@@ -25070,7 +26340,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AgentAction); i {
+ switch v := v.(*ContactAction); i {
case 0:
return &v.state
case 1:
@@ -25082,7 +26352,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SyncActionData); i {
+ switch v := v.(*ClearChatAction); i {
case 0:
return &v.state
case 1:
@@ -25094,7 +26364,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RecentEmojiWeight); i {
+ switch v := v.(*ChatAssignmentOpenedStatusAction); i {
case 0:
return &v.state
case 1:
@@ -25106,7 +26376,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*VerifiedNameCertificate); i {
+ switch v := v.(*ChatAssignmentAction); i {
case 0:
return &v.state
case 1:
@@ -25118,7 +26388,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LocalizedName); i {
+ switch v := v.(*ArchiveChatAction); i {
case 0:
return &v.state
case 1:
@@ -25130,7 +26400,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BizIdentityInfo); i {
+ switch v := v.(*AndroidUnsupportedActions); i {
case 0:
return &v.state
case 1:
@@ -25142,7 +26412,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BizAccountPayload); i {
+ switch v := v.(*AgentAction); i {
case 0:
return &v.state
case 1:
@@ -25154,7 +26424,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BizAccountLinkInfo); i {
+ switch v := v.(*SyncActionData); i {
case 0:
return &v.state
case 1:
@@ -25166,7 +26436,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HandshakeMessage); i {
+ switch v := v.(*RecentEmojiWeight); i {
case 0:
return &v.state
case 1:
@@ -25178,7 +26448,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HandshakeServerHello); i {
+ switch v := v.(*VerifiedNameCertificate); i {
case 0:
return &v.state
case 1:
@@ -25190,7 +26460,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HandshakeClientHello); i {
+ switch v := v.(*LocalizedName); i {
case 0:
return &v.state
case 1:
@@ -25202,7 +26472,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HandshakeClientFinish); i {
+ switch v := v.(*BizIdentityInfo); i {
case 0:
return &v.state
case 1:
@@ -25214,7 +26484,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload); i {
+ switch v := v.(*BizAccountPayload); i {
case 0:
return &v.state
case 1:
@@ -25226,7 +26496,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WebNotificationsInfo); i {
+ switch v := v.(*BizAccountLinkInfo); i {
case 0:
return &v.state
case 1:
@@ -25238,7 +26508,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WebMessageInfo); i {
+ switch v := v.(*HandshakeMessage); i {
case 0:
return &v.state
case 1:
@@ -25250,7 +26520,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WebFeatures); i {
+ switch v := v.(*HandshakeServerHello); i {
case 0:
return &v.state
case 1:
@@ -25262,7 +26532,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UserReceipt); i {
+ switch v := v.(*HandshakeClientHello); i {
case 0:
return &v.state
case 1:
@@ -25274,7 +26544,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*StatusPSA); i {
+ switch v := v.(*HandshakeClientFinish); i {
case 0:
return &v.state
case 1:
@@ -25286,7 +26556,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Reaction); i {
+ switch v := v.(*ClientPayload); i {
case 0:
return &v.state
case 1:
@@ -25298,7 +26568,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PollUpdate); i {
+ switch v := v.(*WebNotificationsInfo); i {
case 0:
return &v.state
case 1:
@@ -25310,7 +26580,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PollAdditionalMetadata); i {
+ switch v := v.(*WebMessageInfo); i {
case 0:
return &v.state
case 1:
@@ -25322,7 +26592,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PhotoChange); i {
+ switch v := v.(*WebFeatures); i {
case 0:
return &v.state
case 1:
@@ -25334,7 +26604,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PaymentInfo); i {
+ switch v := v.(*UserReceipt); i {
case 0:
return &v.state
case 1:
@@ -25346,7 +26616,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NotificationMessageInfo); i {
+ switch v := v.(*StatusPSA); i {
case 0:
return &v.state
case 1:
@@ -25358,7 +26628,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MediaData); i {
+ switch v := v.(*Reaction); i {
case 0:
return &v.state
case 1:
@@ -25370,7 +26640,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*KeepInChat); i {
+ switch v := v.(*PollUpdate); i {
case 0:
return &v.state
case 1:
@@ -25382,7 +26652,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NoiseCertificate); i {
+ switch v := v.(*PollAdditionalMetadata); i {
case 0:
return &v.state
case 1:
@@ -25394,7 +26664,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CertChain); i {
+ switch v := v.(*PinInChat); i {
case 0:
return &v.state
case 1:
@@ -25406,7 +26676,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeviceProps_HistorySyncConfig); i {
+ switch v := v.(*PhotoChange); i {
case 0:
return &v.state
case 1:
@@ -25418,7 +26688,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeviceProps_AppVersion); i {
+ switch v := v.(*PaymentInfo); i {
case 0:
return &v.state
case 1:
@@ -25430,7 +26700,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PeerDataOperationRequestMessage_RequestUrlPreview); i {
+ switch v := v.(*NotificationMessageInfo); i {
case 0:
return &v.state
case 1:
@@ -25442,7 +26712,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PeerDataOperationRequestMessage_RequestStickerReupload); i {
+ switch v := v.(*MediaData); i {
case 0:
return &v.state
case 1:
@@ -25454,7 +26724,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListResponseMessage_SingleSelectReply); i {
+ switch v := v.(*KeepInChat); i {
case 0:
return &v.state
case 1:
@@ -25466,7 +26736,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListMessage_Section); i {
+ switch v := v.(*NoiseCertificate); i {
case 0:
return &v.state
case 1:
@@ -25478,7 +26748,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListMessage_Row); i {
+ switch v := v.(*CertChain); i {
case 0:
return &v.state
case 1:
@@ -25490,7 +26760,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListMessage_Product); i {
+ switch v := v.(*DeviceProps_HistorySyncConfig); i {
case 0:
return &v.state
case 1:
@@ -25502,7 +26772,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListMessage_ProductSection); i {
+ switch v := v.(*DeviceProps_AppVersion); i {
case 0:
return &v.state
case 1:
@@ -25514,7 +26784,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListMessage_ProductListInfo); i {
+ switch v := v.(*ListResponseMessage_SingleSelectReply); i {
case 0:
return &v.state
case 1:
@@ -25526,7 +26796,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListMessage_ProductListHeaderImage); i {
+ switch v := v.(*ListMessage_Section); i {
case 0:
return &v.state
case 1:
@@ -25538,7 +26808,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveResponseMessage_NativeFlowResponseMessage); i {
+ switch v := v.(*ListMessage_Row); i {
case 0:
return &v.state
case 1:
@@ -25550,7 +26820,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveResponseMessage_Body); i {
+ switch v := v.(*ListMessage_Product); i {
case 0:
return &v.state
case 1:
@@ -25562,7 +26832,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_ShopMessage); i {
+ switch v := v.(*ListMessage_ProductSection); i {
case 0:
return &v.state
case 1:
@@ -25574,7 +26844,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_NativeFlowMessage); i {
+ switch v := v.(*ListMessage_ProductListInfo); i {
case 0:
return &v.state
case 1:
@@ -25586,7 +26856,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_Header); i {
+ switch v := v.(*ListMessage_ProductListHeaderImage); i {
case 0:
return &v.state
case 1:
@@ -25598,7 +26868,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_Footer); i {
+ switch v := v.(*InteractiveResponseMessage_NativeFlowResponseMessage); i {
case 0:
return &v.state
case 1:
@@ -25610,7 +26880,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_CollectionMessage); i {
+ switch v := v.(*InteractiveResponseMessage_Body); i {
case 0:
return &v.state
case 1:
@@ -25622,7 +26892,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_Body); i {
+ switch v := v.(*InteractiveMessage_ShopMessage); i {
case 0:
return &v.state
case 1:
@@ -25634,7 +26904,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*InteractiveMessage_NativeFlowMessage_NativeFlowButton); i {
+ switch v := v.(*InteractiveMessage_NativeFlowMessage); i {
case 0:
return &v.state
case 1:
@@ -25646,7 +26916,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter); i {
+ switch v := v.(*InteractiveMessage_Header); i {
case 0:
return &v.state
case 1:
@@ -25658,7 +26928,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime); i {
+ switch v := v.(*InteractiveMessage_Footer); i {
case 0:
return &v.state
case 1:
@@ -25670,7 +26940,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency); i {
+ switch v := v.(*InteractiveMessage_CollectionMessage); i {
case 0:
return &v.state
case 1:
@@ -25682,7 +26952,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch); i {
+ switch v := v.(*InteractiveMessage_Body); i {
case 0:
return &v.state
case 1:
@@ -25694,7 +26964,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent); i {
+ switch v := v.(*InteractiveMessage_NativeFlowMessage_NativeFlowButton); i {
case 0:
return &v.state
case 1:
@@ -25706,7 +26976,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ButtonsMessage_Button); i {
+ switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter); i {
case 0:
return &v.state
case 1:
@@ -25718,7 +26988,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ButtonsMessage_Button_NativeFlowInfo); i {
+ switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime); i {
case 0:
return &v.state
case 1:
@@ -25730,7 +27000,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ButtonsMessage_Button_ButtonText); i {
+ switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency); i {
case 0:
return &v.state
case 1:
@@ -25742,7 +27012,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HydratedTemplateButton_HydratedURLButton); i {
+ switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch); i {
case 0:
return &v.state
case 1:
@@ -25754,7 +27024,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HydratedTemplateButton_HydratedQuickReplyButton); i {
+ switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent); i {
case 0:
return &v.state
case 1:
@@ -25766,7 +27036,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HydratedTemplateButton_HydratedCallButton); i {
+ switch v := v.(*ButtonsMessage_Button); i {
case 0:
return &v.state
case 1:
@@ -25778,7 +27048,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ContextInfo_UTMInfo); i {
+ switch v := v.(*ButtonsMessage_Button_NativeFlowInfo); i {
case 0:
return &v.state
case 1:
@@ -25790,7 +27060,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ContextInfo_ExternalAdReplyInfo); i {
+ switch v := v.(*ButtonsMessage_Button_ButtonText); i {
case 0:
return &v.state
case 1:
@@ -25802,7 +27072,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ContextInfo_AdReplyInfo); i {
+ switch v := v.(*HydratedTemplateButton_HydratedURLButton); i {
case 0:
return &v.state
case 1:
@@ -25814,7 +27084,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TemplateButton_URLButton); i {
+ switch v := v.(*HydratedTemplateButton_HydratedQuickReplyButton); i {
case 0:
return &v.state
case 1:
@@ -25826,7 +27096,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TemplateButton_QuickReplyButton); i {
+ switch v := v.(*HydratedTemplateButton_HydratedCallButton); i {
case 0:
return &v.state
case 1:
@@ -25838,7 +27108,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TemplateButton_CallButton); i {
+ switch v := v.(*ContextInfo_UTMInfo); i {
case 0:
return &v.state
case 1:
@@ -25850,7 +27120,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PaymentBackground_MediaData); i {
+ switch v := v.(*ContextInfo_ExternalAdReplyInfo); i {
case 0:
return &v.state
case 1:
@@ -25862,7 +27132,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TemplateMessage_HydratedFourRowTemplate); i {
+ switch v := v.(*ContextInfo_AdReplyInfo); i {
case 0:
return &v.state
case 1:
@@ -25874,7 +27144,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TemplateMessage_FourRowTemplate); i {
+ switch v := v.(*TemplateButton_URLButton); i {
case 0:
return &v.state
case 1:
@@ -25886,7 +27156,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ProductMessage_ProductSnapshot); i {
+ switch v := v.(*TemplateButton_QuickReplyButton); i {
case 0:
return &v.state
case 1:
@@ -25898,7 +27168,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ProductMessage_CatalogSnapshot); i {
+ switch v := v.(*TemplateButton_CallButton); i {
case 0:
return &v.state
case 1:
@@ -25910,7 +27180,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PollCreationMessage_Option); i {
+ switch v := v.(*PaymentBackground_MediaData); i {
case 0:
return &v.state
case 1:
@@ -25922,7 +27192,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult); i {
+ switch v := v.(*TemplateMessage_HydratedFourRowTemplate); i {
case 0:
return &v.state
case 1:
@@ -25934,7 +27204,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse); i {
+ switch v := v.(*TemplateMessage_FourRowTemplate); i {
case 0:
return &v.state
case 1:
@@ -25946,7 +27216,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MsgOpaqueData_PollOption); i {
+ switch v := v.(*ProductMessage_ProductSnapshot); i {
case 0:
return &v.state
case 1:
@@ -25958,7 +27228,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*VerifiedNameCertificate_Details); i {
+ switch v := v.(*ProductMessage_CatalogSnapshot); i {
case 0:
return &v.state
case 1:
@@ -25970,7 +27240,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload_WebInfo); i {
+ switch v := v.(*PollCreationMessage_Option); i {
case 0:
return &v.state
case 1:
@@ -25982,7 +27252,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload_UserAgent); i {
+ switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult); i {
case 0:
return &v.state
case 1:
@@ -25994,7 +27264,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload_DevicePairingRegistrationData); i {
+ switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse); i {
case 0:
return &v.state
case 1:
@@ -26006,7 +27276,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload_DNSSource); i {
+ switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse); i {
case 0:
return &v.state
case 1:
@@ -26018,7 +27288,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload_WebInfo_WebdPayload); i {
+ switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail); i {
case 0:
return &v.state
case 1:
@@ -26030,7 +27300,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ClientPayload_UserAgent_AppVersion); i {
+ switch v := v.(*PeerDataOperationRequestMessage_RequestStickerReupload); i {
case 0:
return &v.state
case 1:
@@ -26042,7 +27312,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NoiseCertificate_Details); i {
+ switch v := v.(*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest); i {
case 0:
return &v.state
case 1:
@@ -26054,7 +27324,7 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CertChain_NoiseCertificate); i {
+ switch v := v.(*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest); i {
case 0:
return &v.state
case 1:
@@ -26066,6 +27336,150 @@ func file_binary_proto_def_proto_init() {
}
}
file_binary_proto_def_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PeerDataOperationRequestMessage_RequestUrlPreview); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MsgOpaqueData_PollOption); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VerifiedNameCertificate_Details); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_WebInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_UserAgent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_InteropData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_DevicePairingRegistrationData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_DNSSource); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_WebInfo_WebdPayload); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPayload_UserAgent_AppVersion); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NoiseCertificate_Details); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CertChain_NoiseCertificate); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binary_proto_def_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CertChain_NoiseCertificate_Details); i {
case 0:
return &v.state
@@ -26078,10 +27492,10 @@ func file_binary_proto_def_proto_init() {
}
}
}
- file_binary_proto_def_proto_msgTypes[15].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[14].OneofWrappers = []interface{}{
(*InteractiveResponseMessage_NativeFlowResponseMessage_)(nil),
}
- file_binary_proto_def_proto_msgTypes[16].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[15].OneofWrappers = []interface{}{
(*InteractiveMessage_ShopStorefrontMessage)(nil),
(*InteractiveMessage_CollectionMessage_)(nil),
(*InteractiveMessage_NativeFlowMessage_)(nil),
@@ -26114,28 +27528,28 @@ func file_binary_proto_def_proto_init() {
(*TemplateMessage_HydratedFourRowTemplate_)(nil),
(*TemplateMessage_InteractiveMessageTemplate)(nil),
}
- file_binary_proto_def_proto_msgTypes[183].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[188].OneofWrappers = []interface{}{
(*InteractiveMessage_Header_DocumentMessage)(nil),
(*InteractiveMessage_Header_ImageMessage)(nil),
(*InteractiveMessage_Header_JpegThumbnail)(nil),
(*InteractiveMessage_Header_VideoMessage)(nil),
}
- file_binary_proto_def_proto_msgTypes[188].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[193].OneofWrappers = []interface{}{
(*HighlyStructuredMessage_HSMLocalizableParameter_Currency)(nil),
(*HighlyStructuredMessage_HSMLocalizableParameter_DateTime)(nil),
}
- file_binary_proto_def_proto_msgTypes[189].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[194].OneofWrappers = []interface{}{
(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component)(nil),
(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch)(nil),
}
- file_binary_proto_def_proto_msgTypes[206].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[211].OneofWrappers = []interface{}{
(*TemplateMessage_HydratedFourRowTemplate_DocumentMessage)(nil),
(*TemplateMessage_HydratedFourRowTemplate_HydratedTitleText)(nil),
(*TemplateMessage_HydratedFourRowTemplate_ImageMessage)(nil),
(*TemplateMessage_HydratedFourRowTemplate_VideoMessage)(nil),
(*TemplateMessage_HydratedFourRowTemplate_LocationMessage)(nil),
}
- file_binary_proto_def_proto_msgTypes[207].OneofWrappers = []interface{}{
+ file_binary_proto_def_proto_msgTypes[212].OneofWrappers = []interface{}{
(*TemplateMessage_FourRowTemplate_DocumentMessage)(nil),
(*TemplateMessage_FourRowTemplate_HighlyStructuredMessage)(nil),
(*TemplateMessage_FourRowTemplate_ImageMessage)(nil),
@@ -26147,8 +27561,8 @@ func file_binary_proto_def_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_binary_proto_def_proto_rawDesc,
- NumEnums: 56,
- NumMessages: 224,
+ NumEnums: 59,
+ NumMessages: 236,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.raw b/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.raw
index 1f0474b4..720f8f2b 100644
Binary files a/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.raw and b/vendor/go.mau.fi/whatsmeow/binary/proto/def.pb.raw differ
diff --git a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
index 249d4031..4ae48353 100644
--- a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
+++ b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
@@ -47,11 +47,17 @@ message DeviceProps {
ALOHA = 11;
CATALINA = 12;
TCL_TV = 13;
+ IOS_PHONE = 14;
+ IOS_CATALYST = 15;
+ ANDROID_PHONE = 16;
+ ANDROID_AMBIGUOUS = 17;
}
message HistorySyncConfig {
optional uint32 fullSyncDaysLimit = 1;
optional uint32 fullSyncSizeMbLimit = 2;
optional uint32 storageQuotaMb = 3;
+ optional bool inlineInitialPayloadInE2EeMsg = 4;
+ optional uint32 recentSyncDaysLimit = 5;
}
message AppVersion {
@@ -69,20 +75,6 @@ message DeviceProps {
optional HistorySyncConfig historySyncConfig = 5;
}
-message PeerDataOperationRequestMessage {
- message RequestUrlPreview {
- optional string url = 1;
- }
-
- message RequestStickerReupload {
- optional string fileSha256 = 1;
- }
-
- optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
- repeated RequestStickerReupload requestStickerReupload = 2;
- repeated RequestUrlPreview requestUrlPreview = 3;
-}
-
message PaymentInviteMessage {
enum ServiceType {
UNKNOWN = 0;
@@ -237,7 +229,12 @@ message InteractiveResponseMessage {
}
message Body {
+ enum Format {
+ DEFAULT = 0;
+ EXTENSIONS_1 = 1;
+ }
optional string text = 1;
+ optional Format format = 2;
}
optional Body body = 1;
@@ -349,6 +346,7 @@ message HistorySyncNotification {
RECENT = 3;
PUSH_NAME = 4;
NON_BLOCKING_DATA = 5;
+ ON_DEMAND = 6;
}
optional bytes fileSha256 = 1;
optional uint64 fileLength = 2;
@@ -360,6 +358,7 @@ message HistorySyncNotification {
optional string originalMessageId = 8;
optional uint32 progress = 9;
optional int64 oldestMsgInChunkTimestampSec = 10;
+ optional bytes initialHistBootstrapInlinePayload = 11;
}
message HighlyStructuredMessage {
@@ -458,7 +457,7 @@ message ExtendedTextMessage {
BRYNDAN_WRITE = 3;
BEBASNEUE_REGULAR = 4;
OSWALD_HEAVY = 5;
- DAMION_REGULAR = 6;
+ SYSTEM_BOLD = 6;
MORNINGBREEZE_REGULAR = 7;
CALISTOGA_REGULAR = 8;
EXO2_EXTRABOLD = 9;
@@ -535,6 +534,12 @@ message ContactsArrayMessage {
optional ContextInfo contextInfo = 17;
}
+message ContactMessageV2 {
+ optional string displayName = 1;
+ optional string vcard = 2;
+ optional ContextInfo contextInfo = 3;
+}
+
message ContactMessage {
optional string displayName = 1;
optional string vcard = 16;
@@ -630,6 +635,7 @@ message AudioMessage {
optional bytes streamingSidecar = 18;
optional bytes waveform = 19;
optional fixed32 backgroundArgb = 20;
+ optional bool viewOnce = 21;
}
message AppStateSyncKey {
@@ -923,6 +929,7 @@ message Message {
optional PinMessage pinMessage = 63;
optional PollCreationMessage pollCreationMessageV3 = 64;
optional ScheduledCallEditMessage scheduledCallEditMessage = 65;
+ optional VideoMessage ptvMessage = 66;
}
message MessageContextInfo {
@@ -930,6 +937,7 @@ message MessageContextInfo {
optional int32 deviceListMetadataVersion = 2;
optional bytes messageSecret = 3;
optional bytes paddingBytes = 4;
+ optional uint32 messageAddOnDurationInSecs = 5;
}
message VideoMessage {
@@ -1193,10 +1201,26 @@ enum PeerDataOperationRequestType {
UPLOAD_STICKER = 0;
SEND_RECENT_STICKER_BOOTSTRAP = 1;
GENERATE_LINK_PREVIEW = 2;
+ HISTORY_SYNC_ON_DEMAND = 3;
+ PLACEHOLDER_MESSAGE_RESEND = 4;
}
message PeerDataOperationRequestResponseMessage {
message PeerDataOperationResult {
+ message PlaceholderMessageResendResponse {
+ optional bytes webMessageInfoBytes = 1;
+ }
+
message LinkPreviewResponse {
+ message LinkPreviewHighQualityThumbnail {
+ optional string directPath = 1;
+ optional string thumbHash = 2;
+ optional string encThumbHash = 3;
+ optional bytes mediaKey = 4;
+ optional int64 mediaKeyTimestampMs = 5;
+ optional int32 thumbWidth = 6;
+ optional int32 thumbHeight = 7;
+ }
+
optional string url = 1;
optional string title = 2;
optional string description = 3;
@@ -1204,11 +1228,13 @@ message PeerDataOperationRequestResponseMessage {
optional string canonicalUrl = 5;
optional string matchText = 6;
optional string previewType = 7;
+ optional LinkPreviewHighQualityThumbnail hqThumbnail = 8;
}
optional MediaRetryNotification.ResultType mediaUploadResult = 1;
optional StickerMessage stickerMessage = 2;
optional LinkPreviewResponse linkPreviewResponse = 3;
+ optional PlaceholderMessageResendResponse placeholderMessageResendResponse = 4;
}
optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
@@ -1216,6 +1242,35 @@ message PeerDataOperationRequestResponseMessage {
repeated PeerDataOperationResult peerDataOperationResult = 3;
}
+message PeerDataOperationRequestMessage {
+ message RequestStickerReupload {
+ optional string fileSha256 = 1;
+ }
+
+ message PlaceholderMessageResendRequest {
+ optional MessageKey messageKey = 1;
+ }
+
+ message HistorySyncOnDemandRequest {
+ optional string chatJid = 1;
+ optional string oldestMsgId = 2;
+ optional bool oldestMsgFromMe = 3;
+ optional int32 onDemandMsgCount = 4;
+ optional int64 oldestMsgTimestampMs = 5;
+ }
+
+ message RequestUrlPreview {
+ optional string url = 1;
+ optional bool includeHqThumbnail = 2;
+ }
+
+ optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
+ repeated RequestStickerReupload requestStickerReupload = 2;
+ repeated RequestUrlPreview requestUrlPreview = 3;
+ optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4;
+ repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5;
+}
+
message EphemeralSetting {
optional sfixed32 duration = 1;
optional sfixed64 timestamp = 2;
@@ -1260,6 +1315,15 @@ message PastParticipant {
optional uint64 leaveTs = 3;
}
+message NotificationSettings {
+ optional string messageVibrate = 1;
+ optional string messagePopup = 2;
+ optional string messageLight = 3;
+ optional bool lowPriorityNotifications = 4;
+ optional bool reactionsMuted = 5;
+ optional string callVibrate = 6;
+}
+
enum MediaVisibility {
DEFAULT = 0;
OFF = 1;
@@ -1273,6 +1337,7 @@ message HistorySync {
RECENT = 3;
PUSH_NAME = 4;
NON_BLOCKING_DATA = 5;
+ ON_DEMAND = 6;
}
required HistorySyncType syncType = 1;
repeated Conversation conversations = 2;
@@ -1314,12 +1379,20 @@ message GlobalSettings {
optional int32 disappearingModeDuration = 9;
optional int64 disappearingModeTimestamp = 10;
optional AvatarUserSettings avatarUserSettings = 11;
+ optional int32 fontSize = 12;
+ optional bool securityNotifications = 13;
+ optional bool autoUnarchiveChats = 14;
+ optional int32 videoQualityMode = 15;
+ optional int32 photoQualityMode = 16;
+ optional NotificationSettings individualNotificationSettings = 17;
+ optional NotificationSettings groupNotificationSettings = 18;
}
message Conversation {
enum EndOfHistoryTransferType {
COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0;
COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1;
+ COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY = 2;
}
required string id = 1;
repeated HistorySyncMsg messages = 2;
@@ -1356,8 +1429,8 @@ message Conversation {
optional string description = 33;
optional bool support = 34;
optional bool isParentGroup = 35;
- optional bool isDefaultSubgroup = 36;
optional string parentGroupId = 37;
+ optional bool isDefaultSubgroup = 36;
optional string displayName = 38;
optional string pnJid = 39;
optional bool shareOwnPn = 40;
@@ -1552,6 +1625,10 @@ message SyncActionValue {
optional ChatAssignmentAction chatAssignment = 35;
optional ChatAssignmentOpenedStatusAction chatAssignmentOpenedStatus = 36;
optional PnForLidChatAction pnForLidChatAction = 37;
+ optional MarketingMessageAction marketingMessageAction = 38;
+ optional MarketingMessageBroadcastAction marketingMessageBroadcastAction = 39;
+ optional ExternalWebBetaAction externalWebBetaAction = 40;
+ optional PrivacySettingRelayAllCalls privacySettingRelayAllCalls = 41;
}
message UserStatusMuteAction {
@@ -1624,6 +1701,10 @@ message PushNameSetting {
optional string name = 1;
}
+message PrivacySettingRelayAllCalls {
+ optional bool isEnabled = 1;
+}
+
message PrimaryVersionAction {
optional string version = 1;
}
@@ -1650,6 +1731,23 @@ message MuteAction {
optional bool autoMuted = 3;
}
+message MarketingMessageBroadcastAction {
+ optional int32 repliedCount = 1;
+}
+
+message MarketingMessageAction {
+ enum MarketingMessagePrototypeType {
+ PERSONALIZED = 0;
+ }
+ optional string name = 1;
+ optional string message = 2;
+ optional MarketingMessagePrototypeType type = 3;
+ optional int64 createdAt = 4;
+ optional int64 lastSentAt = 5;
+ optional bool isDeleted = 6;
+ optional string mediaId = 7;
+}
+
message MarkChatAsReadAction {
optional bool read = 1;
optional SyncActionMessageRange messageRange = 2;
@@ -1674,6 +1772,10 @@ message KeyExpiration {
optional int32 expiredKeyEpoch = 1;
}
+message ExternalWebBetaAction {
+ optional bool isOptIn = 1;
+}
+
message DeleteMessageForMeAction {
optional bool deleteMedia = 1;
optional int64 messageTimestamp = 2;
@@ -1885,6 +1987,7 @@ message ClientPayload {
ARDEVICE = 30;
VRDEVICE = 31;
BLUE_WEB = 32;
+ IPAD = 33;
}
message AppVersion {
optional uint32 primary = 1;
@@ -1912,7 +2015,14 @@ message ClientPayload {
enum Product {
WHATSAPP = 0;
MESSENGER = 1;
+ INTEROP = 2;
}
+ message InteropData {
+ optional uint64 accountId = 1;
+ optional uint32 integratorId = 2;
+ optional bytes token = 3;
+ }
+
enum IOSAppExtension {
SHARE_EXTENSION = 0;
SERVICE_EXTENSION = 1;
@@ -1965,6 +2075,7 @@ message ClientPayload {
ERROR_RECONNECT = 3;
NETWORK_SWITCH = 4;
PING_RECONNECT = 5;
+ UNKNOWN = 6;
}
optional uint64 username = 1;
optional bool passive = 3;
@@ -1992,6 +2103,7 @@ message ClientPayload {
optional bytes paddingBytes = 34;
optional int32 yearClass = 36;
optional int32 memClass = 37;
+ optional InteropData interopData = 38;
}
message WebNotificationsInfo {
@@ -2165,6 +2277,20 @@ message WebMessageInfo {
CAG_INVITE_AUTO_ADD = 159;
BIZ_CHAT_ASSIGNMENT_UNASSIGN = 160;
CAG_INVITE_AUTO_JOINED = 161;
+ SCHEDULED_CALL_START_MESSAGE = 162;
+ COMMUNITY_INVITE_RICH = 163;
+ COMMUNITY_INVITE_AUTO_ADD_RICH = 164;
+ SUB_GROUP_INVITE_RICH = 165;
+ SUB_GROUP_PARTICIPANT_ADD_RICH = 166;
+ COMMUNITY_LINK_PARENT_GROUP_RICH = 167;
+ COMMUNITY_PARTICIPANT_ADD_RICH = 168;
+ SILENCED_UNKNOWN_CALLER_AUDIO = 169;
+ SILENCED_UNKNOWN_CALLER_VIDEO = 170;
+ GROUP_MEMBER_ADD_MODE = 171;
+ GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD = 172;
+ COMMUNITY_CHANGE_DESCRIPTION = 173;
+ SENDER_INVITE = 174;
+ RECEIVER_INVITE = 175;
}
enum Status {
ERROR = 0;
@@ -2223,6 +2349,7 @@ message WebMessageInfo {
optional KeepInChat keepInChat = 50;
optional string originalSelfAuthorUserJidString = 51;
optional uint64 revokeMessageTimestamp = 52;
+ optional PinInChat pinInChat = 54;
}
message WebFeatures {
@@ -2313,6 +2440,18 @@ message PollAdditionalMetadata {
optional bool pollInvalidated = 1;
}
+message PinInChat {
+ enum PinMessageType {
+ UNKNOWN_PIN_MESSAGE_TYPE = 0;
+ PIN_FOR_ALL = 1;
+ UNPIN_FOR_ALL = 2;
+ }
+ optional PinMessageType pinMessageType = 1;
+ optional MessageKey key = 2;
+ optional int64 senderTimestampMs = 3;
+ optional int64 serverTimestampMs = 4;
+}
+
message PhotoChange {
optional bytes oldPhoto = 1;
optional bytes newPhoto = 2;
diff --git a/vendor/go.mau.fi/whatsmeow/download.go b/vendor/go.mau.fi/whatsmeow/download.go
index e9bedd45..84e78886 100644
--- a/vendor/go.mau.fi/whatsmeow/download.go
+++ b/vendor/go.mau.fi/whatsmeow/download.go
@@ -268,7 +268,9 @@ func (cli *Client) downloadEncryptedMedia(url string, checksum []byte) (file, ma
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
- if resp.StatusCode == http.StatusNotFound {
+ if resp.StatusCode == http.StatusForbidden {
+ err = ErrMediaDownloadFailedWith403
+ } else if resp.StatusCode == http.StatusNotFound {
err = ErrMediaDownloadFailedWith404
} else if resp.StatusCode == http.StatusGone {
err = ErrMediaDownloadFailedWith410
diff --git a/vendor/go.mau.fi/whatsmeow/errors.go b/vendor/go.mau.fi/whatsmeow/errors.go
index 62227f3b..a5182eef 100644
--- a/vendor/go.mau.fi/whatsmeow/errors.go
+++ b/vendor/go.mau.fi/whatsmeow/errors.go
@@ -29,6 +29,8 @@ var (
ErrNoPushName = errors.New("can't send presence without PushName set")
ErrNoPrivacyToken = errors.New("no privacy token stored")
+
+ ErrAppStateUpdate = errors.New("server returned error updating app state")
)
// Errors that happen while confirming device pairing
@@ -107,6 +109,7 @@ var (
// Some errors that Client.Download can return
var (
+ ErrMediaDownloadFailedWith403 = errors.New("download failed with status code 403")
ErrMediaDownloadFailedWith404 = errors.New("download failed with status code 404")
ErrMediaDownloadFailedWith410 = errors.New("download failed with status code 410")
ErrNoURLPresent = errors.New("no url present")
diff --git a/vendor/go.mau.fi/whatsmeow/message.go b/vendor/go.mau.fi/whatsmeow/message.go
index b3ef53b6..8945ce4c 100644
--- a/vendor/go.mau.fi/whatsmeow/message.go
+++ b/vendor/go.mau.fi/whatsmeow/message.go
@@ -101,6 +101,7 @@ func (cli *Client) parseMessageInfo(node *waBinary.Node) (*types.MessageInfo, er
info.Timestamp = ag.UnixTime("t")
info.PushName = ag.OptionalString("notify")
info.Category = ag.OptionalString("category")
+ info.Type = ag.OptionalString("type")
if !ag.OK() {
return nil, ag.Error()
}
@@ -246,6 +247,9 @@ func isValidPadding(plaintext []byte) bool {
}
func unpadMessage(plaintext []byte) ([]byte, error) {
+ if len(plaintext) == 0 {
+ return nil, fmt.Errorf("plaintext is empty")
+ }
if checkPadding && !isValidPadding(plaintext) {
return nil, fmt.Errorf("plaintext doesn't have expected padding")
}
diff --git a/vendor/go.mau.fi/whatsmeow/retry.go b/vendor/go.mau.fi/whatsmeow/retry.go
index 95104c8f..3871abd6 100644
--- a/vendor/go.mau.fi/whatsmeow/retry.go
+++ b/vendor/go.mau.fi/whatsmeow/retry.go
@@ -169,7 +169,11 @@ func (cli *Client) handleRetryReceipt(receipt *events.Receipt, node *waBinary.No
return fmt.Errorf("didn't get prekey bundle for %s (response size: %d)", senderAD, len(keys))
}
}
- encrypted, includeDeviceIdentity, err := cli.encryptMessageForDevice(plaintext, receipt.Sender, bundle)
+ encAttrs := waBinary.Attrs{}
+ if mediaType := getMediaTypeFromMessage(msg); mediaType != "" {
+ encAttrs["mediatype"] = mediaType
+ }
+ encrypted, includeDeviceIdentity, err := cli.encryptMessageForDevice(plaintext, receipt.Sender, bundle, encAttrs)
if err != nil {
return fmt.Errorf("failed to encrypt message for retry: %w", err)
}
@@ -193,14 +197,10 @@ func (cli *Client) handleRetryReceipt(receipt *events.Receipt, node *waBinary.No
if edit, ok := node.Attrs["edit"]; ok {
attrs["edit"] = edit
}
- content := []waBinary.Node{*encrypted}
- if includeDeviceIdentity {
- content = append(content, cli.makeDeviceIdentityNode())
- }
err = cli.sendNode(waBinary.Node{
Tag: "message",
Attrs: attrs,
- Content: content,
+ Content: cli.getMessageContent(*encrypted, msg, attrs, includeDeviceIdentity),
})
if err != nil {
return fmt.Errorf("failed to send retry message: %w", err)
diff --git a/vendor/go.mau.fi/whatsmeow/send.go b/vendor/go.mau.fi/whatsmeow/send.go
index 96d888be..d2b379b0 100644
--- a/vendor/go.mau.fi/whatsmeow/send.go
+++ b/vendor/go.mau.fi/whatsmeow/send.go
@@ -246,6 +246,9 @@ func (cli *Client) BuildRevoke(chat, sender types.JID, id types.MessageID) *waPr
}
}
+// EditWindow specifies how long a message can be edited for after it was sent.
+const EditWindow = 20 * time.Minute
+
// BuildEdit builds a message edit message using the given variables.
// The built message can be sent normally using Client.SendMessage.
//
@@ -399,11 +402,15 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.
phash := participantListHashV2(allDevices)
node.Attrs["phash"] = phash
- node.Content = append(node.GetChildren(), waBinary.Node{
+ skMsg := waBinary.Node{
Tag: "enc",
Content: ciphertext,
Attrs: waBinary.Attrs{"v": "2", "type": "skmsg"},
- })
+ }
+ if mediaType := getMediaTypeFromMessage(message); mediaType != "" {
+ skMsg.Attrs["mediatype"] = mediaType
+ }
+ node.Content = append(node.GetChildren(), skMsg)
start = time.Now()
data, err := cli.sendNodeAndGetData(*node)
@@ -463,16 +470,109 @@ func getTypeFromMessage(msg *waProto.Message) string {
return "reaction"
case msg.PollCreationMessage != nil, msg.PollUpdateMessage != nil:
return "poll"
+ case getMediaTypeFromMessage(msg) != "":
+ return "media"
case msg.Conversation != nil, msg.ExtendedTextMessage != nil, msg.ProtocolMessage != nil:
return "text"
- //TODO this requires setting mediatype in the enc nodes
- //case msg.ImageMessage != nil, msg.DocumentMessage != nil, msg.AudioMessage != nil, msg.VideoMessage != nil:
- // return "media"
default:
return "text"
}
}
+func getMediaTypeFromMessage(msg *waProto.Message) string {
+ switch {
+ case msg.ViewOnceMessage != nil:
+ return getMediaTypeFromMessage(msg.ViewOnceMessage.Message)
+ case msg.ViewOnceMessageV2 != nil:
+ return getMediaTypeFromMessage(msg.ViewOnceMessageV2.Message)
+ case msg.EphemeralMessage != nil:
+ return getMediaTypeFromMessage(msg.EphemeralMessage.Message)
+ case msg.DocumentWithCaptionMessage != nil:
+ return getMediaTypeFromMessage(msg.DocumentWithCaptionMessage.Message)
+ case msg.ExtendedTextMessage != nil && msg.ExtendedTextMessage.Title != nil:
+ return "url"
+ case msg.ImageMessage != nil:
+ return "image"
+ case msg.StickerMessage != nil:
+ return "sticker"
+ case msg.DocumentMessage != nil:
+ return "document"
+ case msg.AudioMessage != nil:
+ if msg.AudioMessage.GetPtt() {
+ return "ptt"
+ } else {
+ return "audio"
+ }
+ case msg.VideoMessage != nil:
+ if msg.VideoMessage.GetGifPlayback() {
+ return "gif"
+ } else {
+ return "video"
+ }
+ case msg.ContactMessage != nil:
+ return "vcard"
+ case msg.ContactsArrayMessage != nil:
+ return "contact_array"
+ case msg.ListMessage != nil:
+ return "list"
+ case msg.ListResponseMessage != nil:
+ return "list_response"
+ case msg.ButtonsResponseMessage != nil:
+ return "buttons_response"
+ case msg.OrderMessage != nil:
+ return "order"
+ case msg.ProductMessage != nil:
+ return "product"
+ case msg.InteractiveResponseMessage != nil:
+ return "native_flow_response"
+ default:
+ return ""
+ }
+}
+
+func getButtonTypeFromMessage(msg *waProto.Message) string {
+ switch {
+ case msg.ViewOnceMessage != nil:
+ return getButtonTypeFromMessage(msg.ViewOnceMessage.Message)
+ case msg.ViewOnceMessageV2 != nil:
+ return getButtonTypeFromMessage(msg.ViewOnceMessageV2.Message)
+ case msg.EphemeralMessage != nil:
+ return getButtonTypeFromMessage(msg.EphemeralMessage.Message)
+ case msg.ButtonsMessage != nil:
+ return "buttons"
+ case msg.ButtonsResponseMessage != nil:
+ return "buttons_response"
+ case msg.ListMessage != nil:
+ return "list"
+ case msg.ListResponseMessage != nil:
+ return "list_response"
+ case msg.InteractiveResponseMessage != nil:
+ return "interactive_response"
+ default:
+ return ""
+ }
+}
+
+func getButtonAttributes(msg *waProto.Message) waBinary.Attrs {
+ switch {
+ case msg.ViewOnceMessage != nil:
+ return getButtonAttributes(msg.ViewOnceMessage.Message)
+ case msg.ViewOnceMessageV2 != nil:
+ return getButtonAttributes(msg.ViewOnceMessageV2.Message)
+ case msg.EphemeralMessage != nil:
+ return getButtonAttributes(msg.EphemeralMessage.Message)
+ case msg.TemplateMessage != nil:
+ return waBinary.Attrs{}
+ case msg.ListMessage != nil:
+ return waBinary.Attrs{
+ "v": "2",
+ "type": strings.ToLower(waProto.ListMessage_ListType_name[int32(msg.ListMessage.GetListType())]),
+ }
+ default:
+ return waBinary.Attrs{}
+ }
+}
+
const (
EditAttributeEmpty = ""
EditAttributeMessageEdit = "1"
@@ -484,6 +584,8 @@ const RemoveReactionText = ""
func getEditAttribute(msg *waProto.Message) string {
switch {
+ case msg.EditedMessage != nil && msg.EditedMessage.Message != nil:
+ return getEditAttribute(msg.EditedMessage.Message)
case msg.ProtocolMessage != nil && msg.ProtocolMessage.GetKey() != nil:
switch msg.ProtocolMessage.GetType() {
case waProto.ProtocolMessage_REVOKE:
@@ -493,7 +595,7 @@ func getEditAttribute(msg *waProto.Message) string {
return EditAttributeAdminRevoke
}
case waProto.ProtocolMessage_MESSAGE_EDIT:
- if msg.EditedMessage != nil {
+ if msg.ProtocolMessage.EditedMessage != nil {
return EditAttributeMessageEdit
}
}
@@ -523,7 +625,7 @@ func (cli *Client) preparePeerMessageNode(to types.JID, id types.MessageID, mess
return nil, err
}
start = time.Now()
- encrypted, isPreKey, err := cli.encryptMessageForDevice(plaintext, to, nil)
+ encrypted, isPreKey, err := cli.encryptMessageForDevice(plaintext, to, nil, nil)
timings.PeerEncrypt = time.Since(start)
if err != nil {
return nil, fmt.Errorf("failed to encrypt peer message for %s: %v", to, err)
@@ -539,34 +641,12 @@ func (cli *Client) preparePeerMessageNode(to types.JID, id types.MessageID, mess
}, nil
}
-func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waProto.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings) (*waBinary.Node, []types.JID, error) {
- start := time.Now()
- allDevices, err := cli.GetUserDevicesContext(ctx, participants)
- timings.GetDevices = time.Since(start)
- if err != nil {
- return nil, nil, fmt.Errorf("failed to get device list: %w", err)
- }
-
- attrs := waBinary.Attrs{
- "id": id,
- "type": getTypeFromMessage(message),
- "to": to,
- }
- if editAttr := getEditAttribute(message); editAttr != "" {
- attrs["edit"] = editAttr
- }
-
- start = time.Now()
- participantNodes, includeIdentity := cli.encryptMessageForDevices(ctx, allDevices, ownID, id, plaintext, dsmPlaintext)
- timings.PeerEncrypt = time.Since(start)
- content := []waBinary.Node{{
- Tag: "participants",
- Content: participantNodes,
- }}
+func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waProto.Message, msgAttrs waBinary.Attrs, includeIdentity bool) []waBinary.Node {
+ content := []waBinary.Node{baseNode}
if includeIdentity {
content = append(content, cli.makeDeviceIdentityNode())
}
- if attrs["type"] == "poll" {
+ if msgAttrs["type"] == "poll" {
pollType := "creation"
if message.PollUpdateMessage != nil {
pollType = "vote"
@@ -578,10 +658,56 @@ func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID,
},
})
}
+ if buttonType := getButtonTypeFromMessage(message); buttonType != "" {
+ content = append(content, waBinary.Node{
+ Tag: "biz",
+ Content: []waBinary.Node{{
+ Tag: buttonType,
+ Attrs: getButtonAttributes(message),
+ }},
+ })
+ }
+ return content
+}
+
+func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waProto.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings) (*waBinary.Node, []types.JID, error) {
+ start := time.Now()
+ allDevices, err := cli.GetUserDevicesContext(ctx, participants)
+ timings.GetDevices = time.Since(start)
+ if err != nil {
+ return nil, nil, fmt.Errorf("failed to get device list: %w", err)
+ }
+
+ msgType := getTypeFromMessage(message)
+ encAttrs := waBinary.Attrs{}
+ // Only include encMediaType for 1:1 messages (groups don't have a device-sent message plaintext)
+ if encMediaType := getMediaTypeFromMessage(message); dsmPlaintext != nil && encMediaType != "" {
+ encAttrs["mediatype"] = encMediaType
+ }
+ attrs := waBinary.Attrs{
+ "id": id,
+ "type": msgType,
+ "to": to,
+ }
+ if editAttr := getEditAttribute(message); editAttr != "" {
+ attrs["edit"] = editAttr
+ encAttrs["decrypt-fail"] = "hide"
+ }
+ if msgType == "reaction" {
+ encAttrs["decrypt-fail"] = "hide"
+ }
+
+ start = time.Now()
+ participantNodes, includeIdentity := cli.encryptMessageForDevices(ctx, allDevices, ownID, id, plaintext, dsmPlaintext, encAttrs)
+ timings.PeerEncrypt = time.Since(start)
+ participantNode := waBinary.Node{
+ Tag: "participants",
+ Content: participantNodes,
+ }
return &waBinary.Node{
Tag: "message",
Attrs: attrs,
- Content: content,
+ Content: cli.getMessageContent(participantNode, message, attrs, includeIdentity),
}, allDevices, nil
}
@@ -619,7 +745,7 @@ func (cli *Client) makeDeviceIdentityNode() waBinary.Node {
}
}
-func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, msgPlaintext, dsmPlaintext []byte) ([]waBinary.Node, bool) {
+func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, msgPlaintext, dsmPlaintext []byte, encAttrs waBinary.Attrs) ([]waBinary.Node, bool) {
includeIdentity := false
participantNodes := make([]waBinary.Node, 0, len(allDevices))
var retryDevices []types.JID
@@ -631,7 +757,7 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty
}
plaintext = dsmPlaintext
}
- encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, nil)
+ encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, nil, encAttrs)
if errors.Is(err, ErrNoSession) {
retryDevices = append(retryDevices, jid)
continue
@@ -659,7 +785,7 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty
if jid.User == ownID.User && dsmPlaintext != nil {
plaintext = dsmPlaintext
}
- encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, resp.bundle)
+ encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, resp.bundle, encAttrs)
if err != nil {
cli.Log.Warnf("Failed to encrypt %s for %s (retry): %v", id, jid, err)
continue
@@ -674,8 +800,8 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty
return participantNodes, includeIdentity
}
-func (cli *Client) encryptMessageForDeviceAndWrap(plaintext []byte, to types.JID, bundle *prekey.Bundle) (*waBinary.Node, bool, error) {
- node, includeDeviceIdentity, err := cli.encryptMessageForDevice(plaintext, to, bundle)
+func (cli *Client) encryptMessageForDeviceAndWrap(plaintext []byte, to types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs) (*waBinary.Node, bool, error) {
+ node, includeDeviceIdentity, err := cli.encryptMessageForDevice(plaintext, to, bundle, encAttrs)
if err != nil {
return nil, false, err
}
@@ -686,7 +812,13 @@ func (cli *Client) encryptMessageForDeviceAndWrap(plaintext []byte, to types.JID
}, includeDeviceIdentity, nil
}
-func (cli *Client) encryptMessageForDevice(plaintext []byte, to types.JID, bundle *prekey.Bundle) (*waBinary.Node, bool, error) {
+func copyAttrs(from, to waBinary.Attrs) {
+ for k, v := range from {
+ to[k] = v
+ }
+}
+
+func (cli *Client) encryptMessageForDevice(plaintext []byte, to types.JID, bundle *prekey.Bundle, extraAttrs waBinary.Attrs) (*waBinary.Node, bool, error) {
builder := session.NewBuilderFromSignal(cli.Store, to.SignalAddress(), pbSerializer)
if bundle != nil {
cli.Log.Debugf("Processing prekey bundle for %s", to)
@@ -708,17 +840,18 @@ func (cli *Client) encryptMessageForDevice(plaintext []byte, to types.JID, bundl
return nil, false, fmt.Errorf("cipher encryption failed: %w", err)
}
- encType := "msg"
- if ciphertext.Type() == protocol.PREKEY_TYPE {
- encType = "pkmsg"
+ encAttrs := waBinary.Attrs{
+ "v": "2",
+ "type": "msg",
}
+ if ciphertext.Type() == protocol.PREKEY_TYPE {
+ encAttrs["type"] = "pkmsg"
+ }
+ copyAttrs(extraAttrs, encAttrs)
return &waBinary.Node{
- Tag: "enc",
- Attrs: waBinary.Attrs{
- "v": "2",
- "type": encType,
- },
+ Tag: "enc",
+ Attrs: encAttrs,
Content: ciphertext.Serialize(),
- }, encType == "pkmsg", nil
+ }, encAttrs["type"] == "pkmsg", nil
}
diff --git a/vendor/go.mau.fi/whatsmeow/store/clientpayload.go b/vendor/go.mau.fi/whatsmeow/store/clientpayload.go
index 973aff33..639fe2f8 100644
--- a/vendor/go.mau.fi/whatsmeow/store/clientpayload.go
+++ b/vendor/go.mau.fi/whatsmeow/store/clientpayload.go
@@ -74,7 +74,7 @@ func (vc WAVersionContainer) ProtoAppVersion() *waProto.ClientPayload_UserAgent_
}
// waVersion is the WhatsApp web client version
-var waVersion = WAVersionContainer{2, 2308, 7}
+var waVersion = WAVersionContainer{2, 2318, 11}
// waVersionHash is the md5 hash of a dot-separated waVersion
var waVersionHash [16]byte
diff --git a/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go b/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go
index 7f8c6c8f..8f6eacd4 100644
--- a/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go
+++ b/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go
@@ -65,7 +65,12 @@ func New(dialect, address string, log waLog.Logger) (*Container, error) {
// if err != nil {
// panic(err)
// }
-// container, err := sqlstore.NewWithDB(db, "sqlite3", nil)
+// container := sqlstore.NewWithDB(db, "sqlite3", nil)
+//
+// This method does not call Upgrade automatically like New does, so you must call it yourself:
+//
+// container := sqlstore.NewWithDB(...)
+// err := container.Upgrade()
func NewWithDB(db *sql.DB, dialect string, log waLog.Logger) *Container {
if log == nil {
log = waLog.Noop
diff --git a/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go b/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go
index f9f5a287..a6acdfc0 100644
--- a/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go
+++ b/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go
@@ -284,7 +284,8 @@ const (
SET key_data=excluded.key_data, timestamp=excluded.timestamp, fingerprint=excluded.fingerprint
WHERE excluded.timestamp > whatsmeow_app_state_sync_keys.timestamp
`
- getAppStateSyncKeyQuery = `SELECT key_data, timestamp, fingerprint FROM whatsmeow_app_state_sync_keys WHERE jid=$1 AND key_id=$2`
+ getAppStateSyncKeyQuery = `SELECT key_data, timestamp, fingerprint FROM whatsmeow_app_state_sync_keys WHERE jid=$1 AND key_id=$2`
+ getLatestAppStateSyncKeyIDQuery = `SELECT key_id FROM whatsmeow_app_state_sync_keys WHERE jid=$1 ORDER BY timestamp DESC LIMIT 1`
)
func (s *SQLStore) PutAppStateSyncKey(id []byte, key store.AppStateSyncKey) error {
@@ -301,6 +302,15 @@ func (s *SQLStore) GetAppStateSyncKey(id []byte) (*store.AppStateSyncKey, error)
return &key, err
}
+func (s *SQLStore) GetLatestAppStateSyncKeyID() ([]byte, error) {
+ var keyID []byte
+ err := s.db.QueryRow(getLatestAppStateSyncKeyIDQuery, s.JID).Scan(&keyID)
+ if errors.Is(err, sql.ErrNoRows) {
+ return nil, nil
+ }
+ return keyID, err
+}
+
const (
putAppStateVersionQuery = `
INSERT INTO whatsmeow_app_state_version (jid, name, version, hash) VALUES ($1, $2, $3, $4)
diff --git a/vendor/go.mau.fi/whatsmeow/store/store.go b/vendor/go.mau.fi/whatsmeow/store/store.go
index 36a6dce9..49c2176e 100644
--- a/vendor/go.mau.fi/whatsmeow/store/store.go
+++ b/vendor/go.mau.fi/whatsmeow/store/store.go
@@ -55,6 +55,7 @@ type AppStateSyncKey struct {
type AppStateSyncKeyStore interface {
PutAppStateSyncKey(id []byte, key AppStateSyncKey) error
GetAppStateSyncKey(id []byte) (*AppStateSyncKey, error)
+ GetLatestAppStateSyncKeyID() ([]byte, error)
}
type AppStateMutationMAC struct {
diff --git a/vendor/go.mau.fi/whatsmeow/types/events/appstate.go b/vendor/go.mau.fi/whatsmeow/types/events/appstate.go
index d462d6f3..285e546b 100644
--- a/vendor/go.mau.fi/whatsmeow/types/events/appstate.go
+++ b/vendor/go.mau.fi/whatsmeow/types/events/appstate.go
@@ -19,7 +19,8 @@ type Contact struct {
JID types.JID // The contact who was modified.
Timestamp time.Time // The time when the modification happened.'
- Action *waProto.ContactAction // The new contact info.
+ Action *waProto.ContactAction // The new contact info.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// PushName is emitted when a message is received with a different push name than the previous value cached for the same user.
@@ -43,7 +44,8 @@ type Pin struct {
JID types.JID // The chat which was pinned or unpinned.
Timestamp time.Time // The time when the (un)pinning happened.
- Action *waProto.PinAction // Whether the chat is now pinned or not.
+ Action *waProto.PinAction // Whether the chat is now pinned or not.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// Star is emitted when a message is starred or unstarred from another device.
@@ -54,7 +56,8 @@ type Star struct {
MessageID string // The message which was starred or unstarred.
Timestamp time.Time // The time when the (un)starring happened.
- Action *waProto.StarAction // Whether the message is now starred or not.
+ Action *waProto.StarAction // Whether the message is now starred or not.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// DeleteForMe is emitted when a message is deleted (for the current user only) from another device.
@@ -65,7 +68,8 @@ type DeleteForMe struct {
MessageID string // The message which was deleted.
Timestamp time.Time // The time when the deletion happened.
- Action *waProto.DeleteMessageForMeAction // Additional information for the deletion.
+ Action *waProto.DeleteMessageForMeAction // Additional information for the deletion.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// Mute is emitted when a chat is muted or unmuted from another device.
@@ -73,7 +77,8 @@ type Mute struct {
JID types.JID // The chat which was muted or unmuted.
Timestamp time.Time // The time when the (un)muting happened.
- Action *waProto.MuteAction // The current mute status of the chat.
+ Action *waProto.MuteAction // The current mute status of the chat.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// Archive is emitted when a chat is archived or unarchived from another device.
@@ -81,7 +86,8 @@ type Archive struct {
JID types.JID // The chat which was archived or unarchived.
Timestamp time.Time // The time when the (un)archiving happened.
- Action *waProto.ArchiveChatAction // The current archival status of the chat.
+ Action *waProto.ArchiveChatAction // The current archival status of the chat.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// MarkChatAsRead is emitted when a whole chat is marked as read or unread from another device.
@@ -89,7 +95,17 @@ type MarkChatAsRead struct {
JID types.JID // The chat which was marked as read or unread.
Timestamp time.Time // The time when the marking happened.
- Action *waProto.MarkChatAsReadAction // Whether the chat was marked as read or unread, and info about the most recent messages.
+ Action *waProto.MarkChatAsReadAction // Whether the chat was marked as read or unread, and info about the most recent messages.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
+}
+
+// ClearChat is emitted when a chat is cleared on another device. This is different from DeleteChat.
+type ClearChat struct {
+ JID types.JID // The chat which was cleared.
+ Timestamp time.Time // The time when the clear happened.
+
+ Action *waProto.ClearChatAction // Information about the clear.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// DeleteChat is emitted when a chat is deleted on another device.
@@ -97,21 +113,33 @@ type DeleteChat struct {
JID types.JID // The chat which was deleted.
Timestamp time.Time // The time when the deletion happened.
- Action *waProto.DeleteChatAction // Information about the deletion.
+ Action *waProto.DeleteChatAction // Information about the deletion.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// PushNameSetting is emitted when the user's push name is changed from another device.
type PushNameSetting struct {
Timestamp time.Time // The time when the push name was changed.
- Action *waProto.PushNameSetting // The new push name for the user.
+ Action *waProto.PushNameSetting // The new push name for the user.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// UnarchiveChatsSetting is emitted when the user changes the "Keep chats archived" setting from another device.
type UnarchiveChatsSetting struct {
Timestamp time.Time // The time when the setting was changed.
- Action *waProto.UnarchiveChatsSetting // The new settings.
+ Action *waProto.UnarchiveChatsSetting // The new settings.
+ FromFullSync bool // Whether the action is emitted because of a fullSync
+}
+
+// UserStatusMute is emitted when the user mutes or unmutes another user's status updates.
+type UserStatusMute struct {
+ JID types.JID // The user who was muted or unmuted
+ Timestamp time.Time // The timestamp when the action happened
+
+ Action *waProto.UserStatusMuteAction // The new mute status
+ FromFullSync bool // Whether the action is emitted because of a fullSync
}
// AppState is emitted directly for new data received from app state syncing.
diff --git a/vendor/golang.org/x/crypto/curve25519/curve25519.go b/vendor/golang.org/x/crypto/curve25519/curve25519.go
index bc62161d..00f963ea 100644
--- a/vendor/golang.org/x/crypto/curve25519/curve25519.go
+++ b/vendor/golang.org/x/crypto/curve25519/curve25519.go
@@ -5,71 +5,18 @@
// Package curve25519 provides an implementation of the X25519 function, which
// performs scalar multiplication on the elliptic curve known as Curve25519.
// See RFC 7748.
+//
+// Starting in Go 1.20, this package is a wrapper for the X25519 implementation
+// in the crypto/ecdh package.
package curve25519 // import "golang.org/x/crypto/curve25519"
-import (
- "crypto/subtle"
- "errors"
- "strconv"
-
- "golang.org/x/crypto/curve25519/internal/field"
-)
-
// ScalarMult sets dst to the product scalar * point.
//
// Deprecated: when provided a low-order point, ScalarMult will set dst to all
// zeroes, irrespective of the scalar. Instead, use the X25519 function, which
// will return an error.
func ScalarMult(dst, scalar, point *[32]byte) {
- var e [32]byte
-
- copy(e[:], scalar[:])
- e[0] &= 248
- e[31] &= 127
- e[31] |= 64
-
- var x1, x2, z2, x3, z3, tmp0, tmp1 field.Element
- x1.SetBytes(point[:])
- x2.One()
- x3.Set(&x1)
- z3.One()
-
- swap := 0
- for pos := 254; pos >= 0; pos-- {
- b := e[pos/8] >> uint(pos&7)
- b &= 1
- swap ^= int(b)
- x2.Swap(&x3, swap)
- z2.Swap(&z3, swap)
- swap = int(b)
-
- tmp0.Subtract(&x3, &z3)
- tmp1.Subtract(&x2, &z2)
- x2.Add(&x2, &z2)
- z2.Add(&x3, &z3)
- z3.Multiply(&tmp0, &x2)
- z2.Multiply(&z2, &tmp1)
- tmp0.Square(&tmp1)
- tmp1.Square(&x2)
- x3.Add(&z3, &z2)
- z2.Subtract(&z3, &z2)
- x2.Multiply(&tmp1, &tmp0)
- tmp1.Subtract(&tmp1, &tmp0)
- z2.Square(&z2)
-
- z3.Mult32(&tmp1, 121666)
- x3.Square(&x3)
- tmp0.Add(&tmp0, &z3)
- z3.Multiply(&x1, &z2)
- z2.Multiply(&tmp1, &tmp0)
- }
-
- x2.Swap(&x3, swap)
- z2.Swap(&z3, swap)
-
- z2.Invert(&z2)
- x2.Multiply(&x2, &z2)
- copy(dst[:], x2.Bytes())
+ scalarMult(dst, scalar, point)
}
// ScalarBaseMult sets dst to the product scalar * base where base is the
@@ -78,7 +25,7 @@ func ScalarMult(dst, scalar, point *[32]byte) {
// It is recommended to use the X25519 function with Basepoint instead, as
// copying into fixed size arrays can lead to unexpected bugs.
func ScalarBaseMult(dst, scalar *[32]byte) {
- ScalarMult(dst, scalar, &basePoint)
+ scalarBaseMult(dst, scalar)
}
const (
@@ -91,21 +38,10 @@ const (
// Basepoint is the canonical Curve25519 generator.
var Basepoint []byte
-var basePoint = [32]byte{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+var basePoint = [32]byte{9}
func init() { Basepoint = basePoint[:] }
-func checkBasepoint() {
- if subtle.ConstantTimeCompare(Basepoint, []byte{
- 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }) != 1 {
- panic("curve25519: global Basepoint value was modified")
- }
-}
-
// X25519 returns the result of the scalar multiplication (scalar * point),
// according to RFC 7748, Section 5. scalar, point and the return value are
// slices of 32 bytes.
@@ -121,26 +57,3 @@ func X25519(scalar, point []byte) ([]byte, error) {
var dst [32]byte
return x25519(&dst, scalar, point)
}
-
-func x25519(dst *[32]byte, scalar, point []byte) ([]byte, error) {
- var in [32]byte
- if l := len(scalar); l != 32 {
- return nil, errors.New("bad scalar length: " + strconv.Itoa(l) + ", expected 32")
- }
- if l := len(point); l != 32 {
- return nil, errors.New("bad point length: " + strconv.Itoa(l) + ", expected 32")
- }
- copy(in[:], scalar)
- if &point[0] == &Basepoint[0] {
- checkBasepoint()
- ScalarBaseMult(dst, &in)
- } else {
- var base, zero [32]byte
- copy(base[:], point)
- ScalarMult(dst, &in, &base)
- if subtle.ConstantTimeCompare(dst[:], zero[:]) == 1 {
- return nil, errors.New("bad input point: low order point")
- }
- }
- return dst[:], nil
-}
diff --git a/vendor/golang.org/x/crypto/curve25519/curve25519_compat.go b/vendor/golang.org/x/crypto/curve25519/curve25519_compat.go
new file mode 100644
index 00000000..ba647e8d
--- /dev/null
+++ b/vendor/golang.org/x/crypto/curve25519/curve25519_compat.go
@@ -0,0 +1,105 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build !go1.20
+
+package curve25519
+
+import (
+ "crypto/subtle"
+ "errors"
+ "strconv"
+
+ "golang.org/x/crypto/curve25519/internal/field"
+)
+
+func scalarMult(dst, scalar, point *[32]byte) {
+ var e [32]byte
+
+ copy(e[:], scalar[:])
+ e[0] &= 248
+ e[31] &= 127
+ e[31] |= 64
+
+ var x1, x2, z2, x3, z3, tmp0, tmp1 field.Element
+ x1.SetBytes(point[:])
+ x2.One()
+ x3.Set(&x1)
+ z3.One()
+
+ swap := 0
+ for pos := 254; pos >= 0; pos-- {
+ b := e[pos/8] >> uint(pos&7)
+ b &= 1
+ swap ^= int(b)
+ x2.Swap(&x3, swap)
+ z2.Swap(&z3, swap)
+ swap = int(b)
+
+ tmp0.Subtract(&x3, &z3)
+ tmp1.Subtract(&x2, &z2)
+ x2.Add(&x2, &z2)
+ z2.Add(&x3, &z3)
+ z3.Multiply(&tmp0, &x2)
+ z2.Multiply(&z2, &tmp1)
+ tmp0.Square(&tmp1)
+ tmp1.Square(&x2)
+ x3.Add(&z3, &z2)
+ z2.Subtract(&z3, &z2)
+ x2.Multiply(&tmp1, &tmp0)
+ tmp1.Subtract(&tmp1, &tmp0)
+ z2.Square(&z2)
+
+ z3.Mult32(&tmp1, 121666)
+ x3.Square(&x3)
+ tmp0.Add(&tmp0, &z3)
+ z3.Multiply(&x1, &z2)
+ z2.Multiply(&tmp1, &tmp0)
+ }
+
+ x2.Swap(&x3, swap)
+ z2.Swap(&z3, swap)
+
+ z2.Invert(&z2)
+ x2.Multiply(&x2, &z2)
+ copy(dst[:], x2.Bytes())
+}
+
+func scalarBaseMult(dst, scalar *[32]byte) {
+ checkBasepoint()
+ scalarMult(dst, scalar, &basePoint)
+}
+
+func x25519(dst *[32]byte, scalar, point []byte) ([]byte, error) {
+ var in [32]byte
+ if l := len(scalar); l != 32 {
+ return nil, errors.New("bad scalar length: " + strconv.Itoa(l) + ", expected 32")
+ }
+ if l := len(point); l != 32 {
+ return nil, errors.New("bad point length: " + strconv.Itoa(l) + ", expected 32")
+ }
+ copy(in[:], scalar)
+ if &point[0] == &Basepoint[0] {
+ scalarBaseMult(dst, &in)
+ } else {
+ var base, zero [32]byte
+ copy(base[:], point)
+ scalarMult(dst, &in, &base)
+ if subtle.ConstantTimeCompare(dst[:], zero[:]) == 1 {
+ return nil, errors.New("bad input point: low order point")
+ }
+ }
+ return dst[:], nil
+}
+
+func checkBasepoint() {
+ if subtle.ConstantTimeCompare(Basepoint, []byte{
+ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ }) != 1 {
+ panic("curve25519: global Basepoint value was modified")
+ }
+}
diff --git a/vendor/golang.org/x/crypto/curve25519/curve25519_go120.go b/vendor/golang.org/x/crypto/curve25519/curve25519_go120.go
new file mode 100644
index 00000000..627df497
--- /dev/null
+++ b/vendor/golang.org/x/crypto/curve25519/curve25519_go120.go
@@ -0,0 +1,46 @@
+// Copyright 2022 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.20
+
+package curve25519
+
+import "crypto/ecdh"
+
+func x25519(dst *[32]byte, scalar, point []byte) ([]byte, error) {
+ curve := ecdh.X25519()
+ pub, err := curve.NewPublicKey(point)
+ if err != nil {
+ return nil, err
+ }
+ priv, err := curve.NewPrivateKey(scalar)
+ if err != nil {
+ return nil, err
+ }
+ out, err := priv.ECDH(pub)
+ if err != nil {
+ return nil, err
+ }
+ copy(dst[:], out)
+ return dst[:], nil
+}
+
+func scalarMult(dst, scalar, point *[32]byte) {
+ if _, err := x25519(dst, scalar[:], point[:]); err != nil {
+ // The only error condition for x25519 when the inputs are 32 bytes long
+ // is if the output would have been the all-zero value.
+ for i := range dst {
+ dst[i] = 0
+ }
+ }
+}
+
+func scalarBaseMult(dst, scalar *[32]byte) {
+ curve := ecdh.X25519()
+ priv, err := curve.NewPrivateKey(scalar[:])
+ if err != nil {
+ panic("curve25519: internal error: scalarBaseMult was not 32 bytes")
+ }
+ copy(dst[:], priv.PublicKey().Bytes())
+}
diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go
index 184ac45f..c1f6b90d 100644
--- a/vendor/golang.org/x/net/http2/frame.go
+++ b/vendor/golang.org/x/net/http2/frame.go
@@ -662,6 +662,15 @@ func (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error {
// It is the caller's responsibility not to violate the maximum frame size
// and to not call other Write methods concurrently.
func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []byte) error {
+ if err := f.startWriteDataPadded(streamID, endStream, data, pad); err != nil {
+ return err
+ }
+ return f.endWrite()
+}
+
+// startWriteDataPadded is WriteDataPadded, but only writes the frame to the Framer's internal buffer.
+// The caller should call endWrite to flush the frame to the underlying writer.
+func (f *Framer) startWriteDataPadded(streamID uint32, endStream bool, data, pad []byte) error {
if !validStreamID(streamID) && !f.AllowIllegalWrites {
return errStreamID
}
@@ -691,7 +700,7 @@ func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []by
}
f.wbuf = append(f.wbuf, data...)
f.wbuf = append(f.wbuf, pad...)
- return f.endWrite()
+ return nil
}
// A SettingsFrame conveys configuration parameters that affect how
diff --git a/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go
index b184a277..7a1d9766 100644
--- a/vendor/golang.org/x/net/http2/hpack/hpack.go
+++ b/vendor/golang.org/x/net/http2/hpack/hpack.go
@@ -359,6 +359,7 @@ func (d *Decoder) parseFieldLiteral(n uint8, it indexType) error {
var hf HeaderField
wantStr := d.emitEnabled || it.indexed()
+ var undecodedName undecodedString
if nameIdx > 0 {
ihf, ok := d.at(nameIdx)
if !ok {
@@ -366,15 +367,27 @@ func (d *Decoder) parseFieldLiteral(n uint8, it indexType) error {
}
hf.Name = ihf.Name
} else {
- hf.Name, buf, err = d.readString(buf, wantStr)
+ undecodedName, buf, err = d.readString(buf)
if err != nil {
return err
}
}
- hf.Value, buf, err = d.readString(buf, wantStr)
+ undecodedValue, buf, err := d.readString(buf)
if err != nil {
return err
}
+ if wantStr {
+ if nameIdx <= 0 {
+ hf.Name, err = d.decodeString(undecodedName)
+ if err != nil {
+ return err
+ }
+ }
+ hf.Value, err = d.decodeString(undecodedValue)
+ if err != nil {
+ return err
+ }
+ }
d.buf = buf
if it.indexed() {
d.dynTab.add(hf)
@@ -459,46 +472,52 @@ func readVarInt(n byte, p []byte) (i uint64, remain []byte, err error) {
return 0, origP, errNeedMore
}
-// readString decodes an hpack string from p.
+// readString reads an hpack string from p.
//
-// wantStr is whether s will be used. If false, decompression and
-// []byte->string garbage are skipped if s will be ignored
-// anyway. This does mean that huffman decoding errors for non-indexed
-// strings past the MAX_HEADER_LIST_SIZE are ignored, but the server
-// is returning an error anyway, and because they're not indexed, the error
-// won't affect the decoding state.
-func (d *Decoder) readString(p []byte, wantStr bool) (s string, remain []byte, err error) {
+// It returns a reference to the encoded string data to permit deferring decode costs
+// until after the caller verifies all data is present.
+func (d *Decoder) readString(p []byte) (u undecodedString, remain []byte, err error) {
if len(p) == 0 {
- return "", p, errNeedMore
+ return u, p, errNeedMore
}
isHuff := p[0]&128 != 0
strLen, p, err := readVarInt(7, p)
if err != nil {
- return "", p, err
+ return u, p, err
}
if d.maxStrLen != 0 && strLen > uint64(d.maxStrLen) {
- return "", nil, ErrStringLength
+ // Returning an error here means Huffman decoding errors
+ // for non-indexed strings past the maximum string length
+ // are ignored, but the server is returning an error anyway
+ // and because the string is not indexed the error will not
+ // affect the decoding state.
+ return u, nil, ErrStringLength
}
if uint64(len(p)) < strLen {
- return "", p, errNeedMore
+ return u, p, errNeedMore
}
- if !isHuff {
- if wantStr {
- s = string(p[:strLen])
- }
- return s, p[strLen:], nil
- }
-
- if wantStr {
- buf := bufPool.Get().(*bytes.Buffer)
- buf.Reset() // don't trust others
- defer bufPool.Put(buf)
- if err := huffmanDecode(buf, d.maxStrLen, p[:strLen]); err != nil {
- buf.Reset()
- return "", nil, err
- }
- s = buf.String()
- buf.Reset() // be nice to GC
- }
- return s, p[strLen:], nil
+ u.isHuff = isHuff
+ u.b = p[:strLen]
+ return u, p[strLen:], nil
+}
+
+type undecodedString struct {
+ isHuff bool
+ b []byte
+}
+
+func (d *Decoder) decodeString(u undecodedString) (string, error) {
+ if !u.isHuff {
+ return string(u.b), nil
+ }
+ buf := bufPool.Get().(*bytes.Buffer)
+ buf.Reset() // don't trust others
+ var s string
+ err := huffmanDecode(buf, d.maxStrLen, u.b)
+ if err == nil {
+ s = buf.String()
+ }
+ buf.Reset() // be nice to GC
+ bufPool.Put(buf)
+ return s, err
}
diff --git a/vendor/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go
index c15b8a77..684d984f 100644
--- a/vendor/golang.org/x/net/http2/pipe.go
+++ b/vendor/golang.org/x/net/http2/pipe.go
@@ -88,13 +88,9 @@ func (p *pipe) Write(d []byte) (n int, err error) {
p.c.L = &p.mu
}
defer p.c.Signal()
- if p.err != nil {
+ if p.err != nil || p.breakErr != nil {
return 0, errClosedPipeWrite
}
- if p.breakErr != nil {
- p.unread += len(d)
- return len(d), nil // discard when there is no reader
- }
return p.b.Write(d)
}
diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go
index 9bd7035b..cd057f39 100644
--- a/vendor/golang.org/x/net/http2/server.go
+++ b/vendor/golang.org/x/net/http2/server.go
@@ -843,8 +843,13 @@ type frameWriteResult struct {
// and then reports when it's done.
// At most one goroutine can be running writeFrameAsync at a time per
// serverConn.
-func (sc *serverConn) writeFrameAsync(wr FrameWriteRequest) {
- err := wr.write.writeFrame(sc)
+func (sc *serverConn) writeFrameAsync(wr FrameWriteRequest, wd *writeData) {
+ var err error
+ if wd == nil {
+ err = wr.write.writeFrame(sc)
+ } else {
+ err = sc.framer.endWrite()
+ }
sc.wroteFrameCh <- frameWriteResult{wr: wr, err: err}
}
@@ -1251,9 +1256,16 @@ func (sc *serverConn) startFrameWrite(wr FrameWriteRequest) {
sc.writingFrameAsync = false
err := wr.write.writeFrame(sc)
sc.wroteFrame(frameWriteResult{wr: wr, err: err})
+ } else if wd, ok := wr.write.(*writeData); ok {
+ // Encode the frame in the serve goroutine, to ensure we don't have
+ // any lingering asynchronous references to data passed to Write.
+ // See https://go.dev/issue/58446.
+ sc.framer.startWriteDataPadded(wd.streamID, wd.endStream, wd.p, nil)
+ sc.writingFrameAsync = true
+ go sc.writeFrameAsync(wr, wd)
} else {
sc.writingFrameAsync = true
- go sc.writeFrameAsync(wr)
+ go sc.writeFrameAsync(wr, nil)
}
}
@@ -1810,15 +1822,18 @@ func (sc *serverConn) processData(f *DataFrame) error {
}
if len(data) > 0 {
+ st.bodyBytes += int64(len(data))
wrote, err := st.body.Write(data)
if err != nil {
+ // The handler has closed the request body.
+ // Return the connection-level flow control for the discarded data,
+ // but not the stream-level flow control.
sc.sendWindowUpdate(nil, int(f.Length)-wrote)
- return sc.countError("body_write_err", streamError(id, ErrCodeStreamClosed))
+ return nil
}
if wrote != len(data) {
panic("internal error: bad Writer")
}
- st.bodyBytes += int64(len(data))
}
// Return any padded flow control now, since we won't
diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go
index 05ba23d3..f965579f 100644
--- a/vendor/golang.org/x/net/http2/transport.go
+++ b/vendor/golang.org/x/net/http2/transport.go
@@ -560,10 +560,11 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
traceGotConn(req, cc, reused)
res, err := cc.RoundTrip(req)
if err != nil && retry <= 6 {
+ roundTripErr := err
if req, err = shouldRetryRequest(req, err); err == nil {
// After the first retry, do exponential backoff with 10% jitter.
if retry == 0 {
- t.vlogf("RoundTrip retrying after failure: %v", err)
+ t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
continue
}
backoff := float64(uint(1) << (uint(retry) - 1))
@@ -572,7 +573,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
timer := backoffNewTimer(d)
select {
case <-timer.C:
- t.vlogf("RoundTrip retrying after failure: %v", err)
+ t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
continue
case <-req.Context().Done():
timer.Stop()
@@ -2555,6 +2556,9 @@ func (b transportResponseBody) Close() error {
cs := b.cs
cc := cs.cc
+ cs.bufPipe.BreakWithError(errClosedResponseBody)
+ cs.abortStream(errClosedResponseBody)
+
unread := cs.bufPipe.Len()
if unread > 0 {
cc.mu.Lock()
@@ -2573,9 +2577,6 @@ func (b transportResponseBody) Close() error {
cc.wmu.Unlock()
}
- cs.bufPipe.BreakWithError(errClosedResponseBody)
- cs.abortStream(errClosedResponseBody)
-
select {
case <-cs.donec:
case <-cs.ctx.Done():
diff --git a/vendor/golang.org/x/sys/unix/ioctl_signed.go b/vendor/golang.org/x/sys/unix/ioctl_signed.go
new file mode 100644
index 00000000..7def9580
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ioctl_signed.go
@@ -0,0 +1,70 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build aix || solaris
+// +build aix solaris
+
+package unix
+
+import (
+ "unsafe"
+)
+
+// ioctl itself should not be exposed directly, but additional get/set
+// functions for specific types are permissible.
+
+// IoctlSetInt performs an ioctl operation which sets an integer value
+// on fd, using the specified request number.
+func IoctlSetInt(fd int, req int, value int) error {
+ return ioctl(fd, req, uintptr(value))
+}
+
+// IoctlSetPointerInt performs an ioctl operation which sets an
+// integer value on fd, using the specified request number. The ioctl
+// argument is called with a pointer to the integer value, rather than
+// passing the integer value directly.
+func IoctlSetPointerInt(fd int, req int, value int) error {
+ v := int32(value)
+ return ioctlPtr(fd, req, unsafe.Pointer(&v))
+}
+
+// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
+//
+// To change fd's window size, the req argument should be TIOCSWINSZ.
+func IoctlSetWinsize(fd int, req int, value *Winsize) error {
+ // TODO: if we get the chance, remove the req parameter and
+ // hardcode TIOCSWINSZ.
+ return ioctlPtr(fd, req, unsafe.Pointer(value))
+}
+
+// IoctlSetTermios performs an ioctl on fd with a *Termios.
+//
+// The req value will usually be TCSETA or TIOCSETA.
+func IoctlSetTermios(fd int, req int, value *Termios) error {
+ // TODO: if we get the chance, remove the req parameter.
+ return ioctlPtr(fd, req, unsafe.Pointer(value))
+}
+
+// IoctlGetInt performs an ioctl operation which gets an integer value
+// from fd, using the specified request number.
+//
+// A few ioctl requests use the return value as an output parameter;
+// for those, IoctlRetInt should be used instead of this function.
+func IoctlGetInt(fd int, req int) (int, error) {
+ var value int
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
+ return value, err
+}
+
+func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
+ var value Winsize
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
+ return &value, err
+}
+
+func IoctlGetTermios(fd int, req int) (*Termios, error) {
+ var value Termios
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
+ return &value, err
+}
diff --git a/vendor/golang.org/x/sys/unix/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
similarity index 76%
rename from vendor/golang.org/x/sys/unix/ioctl.go
rename to vendor/golang.org/x/sys/unix/ioctl_unsigned.go
index 1c51b0ec..649913d1 100644
--- a/vendor/golang.org/x/sys/unix/ioctl.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
@@ -2,13 +2,12 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build aix || darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd || solaris
-// +build aix darwin dragonfly freebsd hurd linux netbsd openbsd solaris
+//go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd
+// +build darwin dragonfly freebsd hurd linux netbsd openbsd
package unix
import (
- "runtime"
"unsafe"
)
@@ -27,7 +26,7 @@ func IoctlSetInt(fd int, req uint, value int) error {
// passing the integer value directly.
func IoctlSetPointerInt(fd int, req uint, value int) error {
v := int32(value)
- return ioctl(fd, req, uintptr(unsafe.Pointer(&v)))
+ return ioctlPtr(fd, req, unsafe.Pointer(&v))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
@@ -36,9 +35,7 @@ func IoctlSetPointerInt(fd int, req uint, value int) error {
func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
- err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
- runtime.KeepAlive(value)
- return err
+ return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlSetTermios performs an ioctl on fd with a *Termios.
@@ -46,9 +43,7 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
// The req value will usually be TCSETA or TIOCSETA.
func IoctlSetTermios(fd int, req uint, value *Termios) error {
// TODO: if we get the chance, remove the req parameter.
- err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
- runtime.KeepAlive(value)
- return err
+ return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
@@ -58,18 +53,18 @@ func IoctlSetTermios(fd int, req uint, value *Termios) error {
// for those, IoctlRetInt should be used instead of this function.
func IoctlGetInt(fd int, req uint) (int, error) {
var value int
- err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return value, err
}
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
var value Winsize
- err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
var value Termios
- err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}
diff --git a/vendor/golang.org/x/sys/unix/ioctl_zos.go b/vendor/golang.org/x/sys/unix/ioctl_zos.go
index 5384e7d9..cdc21bf7 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_zos.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_zos.go
@@ -17,25 +17,23 @@ import (
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
-func IoctlSetInt(fd int, req uint, value int) error {
+func IoctlSetInt(fd int, req int, value int) error {
return ioctl(fd, req, uintptr(value))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
//
// To change fd's window size, the req argument should be TIOCSWINSZ.
-func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req int, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
- err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
- runtime.KeepAlive(value)
- return err
+ return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlSetTermios performs an ioctl on fd with a *Termios.
//
// The req value is expected to be TCSETS, TCSETSW, or TCSETSF
-func IoctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req int, value *Termios) error {
if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) {
return ENOSYS
}
@@ -49,22 +47,22 @@ func IoctlSetTermios(fd int, req uint, value *Termios) error {
//
// A few ioctl requests use the return value as an output parameter;
// for those, IoctlRetInt should be used instead of this function.
-func IoctlGetInt(fd int, req uint) (int, error) {
+func IoctlGetInt(fd int, req int) (int, error) {
var value int
- err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return value, err
}
-func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
+func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
var value Winsize
- err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
+ err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}
// IoctlGetTermios performs an ioctl on fd with a *Termios.
//
// The req value is expected to be TCGETS
-func IoctlGetTermios(fd int, req uint) (*Termios, error) {
+func IoctlGetTermios(fd int, req int) (*Termios, error) {
var value Termios
if req != TCGETS {
return &value, ENOSYS
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index 7456d9dd..2045d3da 100644
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -66,6 +66,7 @@ includes_Darwin='
#include
#include
#include
+#include
#include
#include
#include
@@ -521,6 +522,7 @@ ccflags="$@"
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
$2 ~ /^RAW_PAYLOAD_/ ||
+ $2 ~ /^[US]F_/ ||
$2 ~ /^TP_STATUS_/ ||
$2 ~ /^FALLOC_/ ||
$2 ~ /^ICMPV?6?_(FILTER|SEC)/ ||
diff --git a/vendor/golang.org/x/sys/unix/ptrace_darwin.go b/vendor/golang.org/x/sys/unix/ptrace_darwin.go
index 463c3eff..39dba6ca 100644
--- a/vendor/golang.org/x/sys/unix/ptrace_darwin.go
+++ b/vendor/golang.org/x/sys/unix/ptrace_darwin.go
@@ -7,6 +7,12 @@
package unix
+import "unsafe"
+
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
return ptrace1(request, pid, addr, data)
}
+
+func ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) error {
+ return ptrace1Ptr(request, pid, addr, data)
+}
diff --git a/vendor/golang.org/x/sys/unix/ptrace_ios.go b/vendor/golang.org/x/sys/unix/ptrace_ios.go
index ed0509a0..9ea66330 100644
--- a/vendor/golang.org/x/sys/unix/ptrace_ios.go
+++ b/vendor/golang.org/x/sys/unix/ptrace_ios.go
@@ -7,6 +7,12 @@
package unix
+import "unsafe"
+
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
return ENOTSUP
}
+
+func ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) {
+ return ENOTSUP
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go
index 2db1b51e..c406ae00 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix.go
@@ -292,9 +292,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
break
}
}
-
- bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- sa.Name = string(bytes)
+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
return sa, nil
case AF_INET:
@@ -410,7 +408,8 @@ func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 }
func (w WaitStatus) TrapCause() int { return -1 }
-//sys ioctl(fd int, req uint, arg uintptr) (err error)
+//sys ioctl(fd int, req int, arg uintptr) (err error)
+//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = ioctl
// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
// There is no way to create a custom fcntl and to keep //sys fcntl easily,
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
index e92a0be1..f2871fa9 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
@@ -8,7 +8,6 @@
package unix
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64
-//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
index 16eed170..75718ec0 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
@@ -8,7 +8,6 @@
package unix
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
-//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
index eda42671..7705c327 100644
--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -245,8 +245,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
break
}
}
- bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- sa.Name = string(bytes)
+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
return sa, nil
case AF_INET:
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
index 192b071b..20692150 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -14,7 +14,6 @@ package unix
import (
"fmt"
- "runtime"
"syscall"
"unsafe"
)
@@ -376,11 +375,10 @@ func Flistxattr(fd int, dest []byte) (sz int, err error) {
func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) }
//sys ioctl(fd int, req uint, arg uintptr) (err error)
+//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
func IoctlCtlInfo(fd int, ctlInfo *CtlInfo) error {
- err := ioctl(fd, CTLIOCGINFO, uintptr(unsafe.Pointer(ctlInfo)))
- runtime.KeepAlive(ctlInfo)
- return err
+ return ioctlPtr(fd, CTLIOCGINFO, unsafe.Pointer(ctlInfo))
}
// IfreqMTU is struct ifreq used to get or set a network device's MTU.
@@ -394,16 +392,14 @@ type IfreqMTU struct {
func IoctlGetIfreqMTU(fd int, ifname string) (*IfreqMTU, error) {
var ifreq IfreqMTU
copy(ifreq.Name[:], ifname)
- err := ioctl(fd, SIOCGIFMTU, uintptr(unsafe.Pointer(&ifreq)))
+ err := ioctlPtr(fd, SIOCGIFMTU, unsafe.Pointer(&ifreq))
return &ifreq, err
}
// IoctlSetIfreqMTU performs the SIOCSIFMTU ioctl operation on fd to set the MTU
// of the network device specified by ifreq.Name.
func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error {
- err := ioctl(fd, SIOCSIFMTU, uintptr(unsafe.Pointer(ifreq)))
- runtime.KeepAlive(ifreq)
- return err
+ return ioctlPtr(fd, SIOCSIFMTU, unsafe.Pointer(ifreq))
}
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL
@@ -617,6 +613,7 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
//sys Rmdir(path string) (err error)
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
+//sys Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error)
//sys Setegid(egid int) (err error)
//sysnb Seteuid(euid int) (err error)
//sysnb Setgid(gid int) (err error)
@@ -626,7 +623,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
//sys Setprivexec(flag int) (err error)
//sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error)
-//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)
@@ -680,7 +676,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
// Kqueue_from_portset_np
// Kqueue_portset
// Getattrlist
-// Setattrlist
// Getdirentriesattr
// Searchfs
// Delete
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
index b37310ce..9fa87980 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
@@ -47,5 +47,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
+//sys ptrace1Ptr(request int, pid int, addr unsafe.Pointer, data uintptr) (err error) = SYS_ptrace
//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
index d51ec996..f17b8c52 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
@@ -47,5 +47,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT
//sys Lstat(path string, stat *Stat_t) (err error)
//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
+//sys ptrace1Ptr(request int, pid int, addr unsafe.Pointer, data uintptr) (err error) = SYS_ptrace
//sys Stat(path string, stat *Stat_t) (err error)
//sys Statfs(path string, stat *Statfs_t) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
index a41111a7..d4ce988e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
@@ -172,6 +172,7 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
}
//sys ioctl(fd int, req uint, arg uintptr) (err error)
+//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
@@ -325,7 +326,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error)
-//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
index d50b9dc2..afb10106 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -161,7 +161,8 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
return
}
-//sys ioctl(fd int, req uint, arg uintptr) (err error)
+//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL
+//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
@@ -253,6 +254,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
}
//sys ptrace(request int, pid int, addr uintptr, data int) (err error)
+//sys ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) = SYS_PTRACE
func PtraceAttach(pid int) (err error) {
return ptrace(PT_ATTACH, pid, 0, 0)
@@ -267,19 +269,36 @@ func PtraceDetach(pid int) (err error) {
}
func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) {
- return ptrace(PT_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0)
+ return ptracePtr(PT_GETFPREGS, pid, unsafe.Pointer(fpregsout), 0)
}
func PtraceGetRegs(pid int, regsout *Reg) (err error) {
- return ptrace(PT_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0)
+ return ptracePtr(PT_GETREGS, pid, unsafe.Pointer(regsout), 0)
+}
+
+func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) {
+ ioDesc := PtraceIoDesc{
+ Op: int32(req),
+ Offs: offs,
+ }
+ if countin > 0 {
+ _ = out[:countin] // check bounds
+ ioDesc.Addr = &out[0]
+ } else if out != nil {
+ ioDesc.Addr = (*byte)(unsafe.Pointer(&_zero))
+ }
+ ioDesc.SetLen(countin)
+
+ err = ptracePtr(PT_IO, pid, unsafe.Pointer(&ioDesc), 0)
+ return int(ioDesc.Len), err
}
func PtraceLwpEvents(pid int, enable int) (err error) {
return ptrace(PT_LWP_EVENTS, pid, 0, enable)
}
-func PtraceLwpInfo(pid int, info uintptr) (err error) {
- return ptrace(PT_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{})))
+func PtraceLwpInfo(pid int, info *PtraceLwpInfoStruct) (err error) {
+ return ptracePtr(PT_LWPINFO, pid, unsafe.Pointer(info), int(unsafe.Sizeof(*info)))
}
func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
@@ -299,13 +318,25 @@ func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
}
func PtraceSetRegs(pid int, regs *Reg) (err error) {
- return ptrace(PT_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0)
+ return ptracePtr(PT_SETREGS, pid, unsafe.Pointer(regs), 0)
}
func PtraceSingleStep(pid int) (err error) {
return ptrace(PT_STEP, pid, 1, 0)
}
+func Dup3(oldfd, newfd, flags int) error {
+ if oldfd == newfd || flags&^O_CLOEXEC != 0 {
+ return EINVAL
+ }
+ how := F_DUP2FD
+ if flags&O_CLOEXEC != 0 {
+ how = F_DUP2FD_CLOEXEC
+ }
+ _, err := fcntl(oldfd, how, newfd)
+ return err
+}
+
/*
* Exposed directly
*/
@@ -402,7 +433,6 @@ func PtraceSingleStep(pid int) (err error) {
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error)
-//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
index 6a91d471..b8da5100 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
@@ -42,6 +42,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg.Len = uint32(length)
}
+func (d *PtraceIoDesc) SetLen(length int) {
+ d.Len = uint32(length)
+}
+
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
var writtenOut uint64 = 0
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)
@@ -57,16 +61,5 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
func PtraceGetFsBase(pid int, fsbase *int64) (err error) {
- return ptrace(PT_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0)
-}
-
-func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) {
- ioDesc := PtraceIoDesc{
- Op: int32(req),
- Offs: offs,
- Addr: uintptr(unsafe.Pointer(&out[0])), // TODO(#58351): this is not safe.
- Len: uint32(countin),
- }
- err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
- return int(ioDesc.Len), err
+ return ptracePtr(PT_GETFSBASE, pid, unsafe.Pointer(fsbase), 0)
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
index 48110a0a..47155c48 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
@@ -42,6 +42,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg.Len = uint32(length)
}
+func (d *PtraceIoDesc) SetLen(length int) {
+ d.Len = uint64(length)
+}
+
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
var writtenOut uint64 = 0
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)
@@ -57,16 +61,5 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
func PtraceGetFsBase(pid int, fsbase *int64) (err error) {
- return ptrace(PT_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0)
-}
-
-func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) {
- ioDesc := PtraceIoDesc{
- Op: int32(req),
- Offs: offs,
- Addr: uintptr(unsafe.Pointer(&out[0])), // TODO(#58351): this is not safe.
- Len: uint64(countin),
- }
- err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
- return int(ioDesc.Len), err
+ return ptracePtr(PT_GETFSBASE, pid, unsafe.Pointer(fsbase), 0)
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
index 52f1d4b7..08932093 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
@@ -42,6 +42,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg.Len = uint32(length)
}
+func (d *PtraceIoDesc) SetLen(length int) {
+ d.Len = uint32(length)
+}
+
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
var writtenOut uint64 = 0
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)
@@ -55,14 +59,3 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
}
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-
-func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) {
- ioDesc := PtraceIoDesc{
- Op: int32(req),
- Offs: offs,
- Addr: uintptr(unsafe.Pointer(&out[0])), // TODO(#58351): this is not safe.
- Len: uint32(countin),
- }
- err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
- return int(ioDesc.Len), err
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
index 5537ee4f..d151a0d0 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
@@ -42,6 +42,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg.Len = uint32(length)
}
+func (d *PtraceIoDesc) SetLen(length int) {
+ d.Len = uint64(length)
+}
+
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
var writtenOut uint64 = 0
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)
@@ -55,14 +59,3 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
}
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-
-func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) {
- ioDesc := PtraceIoDesc{
- Op: int32(req),
- Offs: offs,
- Addr: uintptr(unsafe.Pointer(&out[0])), // TODO(#58351): this is not safe.
- Len: uint64(countin),
- }
- err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
- return int(ioDesc.Len), err
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
index 164abd5d..d5cd64b3 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
@@ -42,6 +42,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg.Len = uint32(length)
}
+func (d *PtraceIoDesc) SetLen(length int) {
+ d.Len = uint64(length)
+}
+
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
var writtenOut uint64 = 0
_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)
@@ -55,14 +59,3 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
}
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
-
-func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (count int, err error) {
- ioDesc := PtraceIoDesc{
- Op: int32(req),
- Offs: offs,
- Addr: uintptr(unsafe.Pointer(&out[0])), // TODO(#58351): this is not safe.
- Len: uint64(countin),
- }
- err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
- return int(ioDesc.Len), err
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_hurd.go b/vendor/golang.org/x/sys/unix/syscall_hurd.go
index 4ffb6480..381fd467 100644
--- a/vendor/golang.org/x/sys/unix/syscall_hurd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_hurd.go
@@ -20,3 +20,11 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
}
return
}
+
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg)))
+ if r0 == -1 && er != nil {
+ err = er
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
index 5443dddd..fbaeb5ff 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -1015,8 +1015,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
for n < len(pp.Path) && pp.Path[n] != 0 {
n++
}
- bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- sa.Name = string(bytes)
+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
return sa, nil
case AF_INET:
@@ -1365,6 +1364,10 @@ func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) {
return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o)))
}
+func SetsockoptTCPMD5Sig(fd, level, opt int, s *TCPMD5Sig) error {
+ return setsockopt(fd, level, opt, unsafe.Pointer(s), unsafe.Sizeof(*s))
+}
+
// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)
// KeyctlInt calls keyctl commands in which each argument is an int.
@@ -1579,6 +1582,7 @@ func BindToDevice(fd int, device string) (err error) {
}
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
+//sys ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) = SYS_PTRACE
func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) {
// The peek requests are machine-size oriented, so we wrap it
@@ -1596,7 +1600,7 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
// boundary.
n := 0
if addr%SizeofPtr != 0 {
- err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
+ err = ptracePtr(req, pid, addr-addr%SizeofPtr, unsafe.Pointer(&buf[0]))
if err != nil {
return 0, err
}
@@ -1608,7 +1612,7 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
for len(out) > 0 {
// We use an internal buffer to guarantee alignment.
// It's not documented if this is necessary, but we're paranoid.
- err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))
+ err = ptracePtr(req, pid, addr+uintptr(n), unsafe.Pointer(&buf[0]))
if err != nil {
return n, err
}
@@ -1640,7 +1644,7 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
n := 0
if addr%SizeofPtr != 0 {
var buf [SizeofPtr]byte
- err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
+ err = ptracePtr(peekReq, pid, addr-addr%SizeofPtr, unsafe.Pointer(&buf[0]))
if err != nil {
return 0, err
}
@@ -1667,7 +1671,7 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
// Trailing edge.
if len(data) > 0 {
var buf [SizeofPtr]byte
- err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))
+ err = ptracePtr(peekReq, pid, addr+uintptr(n), unsafe.Pointer(&buf[0]))
if err != nil {
return n, err
}
@@ -1696,11 +1700,11 @@ func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {
}
func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
- return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
+ return ptracePtr(PTRACE_GETREGS, pid, 0, unsafe.Pointer(regsout))
}
func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
- return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
+ return ptracePtr(PTRACE_SETREGS, pid, 0, unsafe.Pointer(regs))
}
func PtraceSetOptions(pid int, options int) (err error) {
@@ -1709,7 +1713,7 @@ func PtraceSetOptions(pid int, options int) (err error) {
func PtraceGetEventMsg(pid int) (msg uint, err error) {
var data _C_long
- err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data)))
+ err = ptracePtr(PTRACE_GETEVENTMSG, pid, 0, unsafe.Pointer(&data))
msg = uint(data)
return
}
@@ -1869,7 +1873,6 @@ func Getpgrp() (pid int) {
//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
-//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
//sys read(fd int, p []byte) (n int, err error)
@@ -1883,6 +1886,15 @@ func Getpgrp() (pid int) {
//sysnb Settimeofday(tv *Timeval) (err error)
//sys Setns(fd int, nstype int) (err error)
+//go:linkname syscall_prlimit syscall.prlimit
+func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error
+
+func Prlimit(pid, resource int, newlimit, old *Rlimit) error {
+ // Just call the syscall version, because as of Go 1.21
+ // it will affect starting a new process.
+ return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old))
+}
+
// PrctlRetInt performs a prctl operation specified by option and further
// optional arguments arg2 through arg5 depending on option. It returns a
// non-negative integer that is returned by the prctl syscall.
@@ -2154,6 +2166,14 @@ func isGroupMember(gid int) bool {
return false
}
+func isCapDacOverrideSet() bool {
+ hdr := CapUserHeader{Version: LINUX_CAPABILITY_VERSION_3}
+ data := [2]CapUserData{}
+ err := Capget(&hdr, &data[0])
+
+ return err == nil && data[0].Effective&(1< 0 {
+ _p1 = unsafe.Pointer(&attrBuf[0])
+ } else {
+ _p1 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_setattrlist_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Setegid(egid int) (err error) {
_, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0)
if e1 != 0 {
@@ -2115,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0)
pid = int(r0)
@@ -2502,6 +2521,14 @@ func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
return
}
+func ptrace1Ptr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), addr, uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ptrace_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
index 95fe4c0e..4baaed0b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
@@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8
DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB)
+TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_setattrlist(SB)
+GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
+DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
+
TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setegid(SB)
@@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setsid(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index 26a0fdc5..51d6f3fb 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -725,6 +725,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib"
@@ -1984,6 +1992,31 @@ var libc_select_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ var _p1 unsafe.Pointer
+ if len(attrBuf) > 0 {
+ _p1 = unsafe.Pointer(&attrBuf[0])
+ } else {
+ _p1 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_setattrlist_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Setegid(egid int) (err error) {
_, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0)
if e1 != 0 {
@@ -2115,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0)
pid = int(r0)
@@ -2502,6 +2521,14 @@ func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
return
}
+func ptrace1Ptr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), addr, uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ptrace_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
index efa5b4c9..c3b82c03 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
@@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8
DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB)
+TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_setattrlist(SB)
+GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
+DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
+
TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setegid(SB)
@@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setsid(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
index 54749f9c..0eabac7a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
@@ -436,6 +436,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -1400,16 +1410,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
index 77479d45..ee313eb0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -388,6 +388,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -414,6 +424,16 @@ func ptrace(request int, pid int, addr uintptr, data int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) {
+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1625,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
index 2e966d4d..4c986e44 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -388,6 +388,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -414,6 +424,16 @@ func ptrace(request int, pid int, addr uintptr, data int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) {
+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1625,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
index d65a7c0f..55521694 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -388,6 +388,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -414,6 +424,16 @@ func ptrace(request int, pid int, addr uintptr, data int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) {
+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1625,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
index 6f0b97c6..67a226fb 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
@@ -388,6 +388,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -414,6 +424,16 @@ func ptrace(request int, pid int, addr uintptr, data int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) {
+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1625,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
index e1c23b52..f0b9ddaa 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
@@ -388,6 +388,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -414,6 +424,16 @@ func ptrace(request int, pid int, addr uintptr, data int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ptracePtr(request int, pid int, addr unsafe.Pointer, data int) (err error) {
+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1625,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
index 36ea3a55..da63d9d7 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
@@ -379,6 +379,16 @@ func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(arg)
@@ -1336,16 +1346,6 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index c81b0ad4..07b549cc 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -411,16 +411,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setrlimit(resource int, rlim *rlimit32) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index 2206bce7..5f481bf8 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -334,16 +334,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index edf6b39f..824cd52c 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -578,16 +578,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setrlimit(resource int, rlim *rlimit32) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index 190609f2..e77aecfe 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -289,16 +289,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
index 5f984cbb..961a3afb 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -644,16 +644,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setrlimit(resource int, rlim *rlimit32) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Alarm(seconds uint) (remaining uint, err error) {
r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
remaining = uint(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
index 46fc380a..ed05005e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -278,16 +278,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
index cbd0d4da..d365b718 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -278,16 +278,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
index 0c13d15f..c3f1b8bb 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -644,16 +644,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setrlimit(resource int, rlim *rlimit32) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Alarm(seconds uint) (remaining uint, err error) {
r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
remaining = uint(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
index e01432ae..a6574cf9 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
@@ -624,16 +624,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func setrlimit(resource int, rlim *rlimit32) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index 13c7ee7b..f4099026 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -349,16 +349,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index 02d0c0fd..9dfcc299 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -349,16 +349,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
index 9fee3b1d..0b292395 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
@@ -269,16 +269,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
index 647bbfec..6cde3223 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -319,16 +319,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
n = int64(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
index ada057f8..5253d65b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
@@ -329,16 +329,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index 79f73899..cdb2af5a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -405,6 +405,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -1597,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index fb161f3a..9d25f76b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -405,6 +405,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -1597,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index 4c8ac993..d3f80351 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -405,6 +405,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -1597,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
index 76dd8ec4..887188a5 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
@@ -405,6 +405,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {
var _p0 unsafe.Pointer
if len(mib) > 0 {
@@ -1597,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index caeb807b..6699a783 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
index 08744425..04f0de34 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
@@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4
DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4
-DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index a05e5f4f..1e775fe0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
index 5782cd10..27b6f4df 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
@@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
index b2da8e50..7f642789 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
index cf310420..b797045f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
@@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4
DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4
-DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
index 048b2655..756ef7b1 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
index 484bb42e..a8712662 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
@@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
index 6f33e37e..7bc2e24e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
index 55af2726..05d4bffd 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
@@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
index 330cf7f7..739be621 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
index 4028255b..74a25f8d 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
@@ -687,12 +687,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- CALL libc_setrlimit(SB)
- RET
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
CALL libc_setrtable(SB)
RET
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
index 5f24de0d..7d95a197 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
@@ -527,6 +527,14 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
return
}
+func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
+ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
var libc_ioctl_trampoline_addr uintptr
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
@@ -1886,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-var libc_setrlimit_trampoline_addr uintptr
-
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
index e1fbd4df..990be245 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
@@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
-TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
- JMP libc_setrlimit(SB)
-GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
-DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
-
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
index 78d4a424..609d1c59 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
@@ -110,7 +110,6 @@ import (
//go:cgo_import_dynamic libc_setpriority setpriority "libc.so"
//go:cgo_import_dynamic libc_setregid setregid "libc.so"
//go:cgo_import_dynamic libc_setreuid setreuid "libc.so"
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
//go:cgo_import_dynamic libc_setsid setsid "libc.so"
//go:cgo_import_dynamic libc_setuid setuid "libc.so"
//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so"
@@ -250,7 +249,6 @@ import (
//go:linkname procSetpriority libc_setpriority
//go:linkname procSetregid libc_setregid
//go:linkname procSetreuid libc_setreuid
-//go:linkname procSetrlimit libc_setrlimit
//go:linkname procSetsid libc_setsid
//go:linkname procSetuid libc_setuid
//go:linkname procshutdown libc_shutdown
@@ -391,7 +389,6 @@ var (
procSetpriority,
procSetregid,
procSetreuid,
- procSetrlimit,
procSetsid,
procSetuid,
procshutdown,
@@ -646,7 +643,18 @@ func __minor(version int, dev uint64) (val uint) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) {
+func ioctlRet(fd int, req int, arg uintptr) (ret int, err error) {
+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
+ ret = int(r0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) {
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
ret = int(r0)
if e1 != 0 {
@@ -1639,16 +1647,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Setrlimit(which int, lim *Rlimit) (err error) {
- _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)
- if e1 != 0 {
- err = e1
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Setsid() (pid int, err error) {
r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0)
pid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
index f2079457..c3168174 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
@@ -257,7 +257,17 @@ func munmap(addr uintptr, length uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func ioctl(fd int, req uint, arg uintptr) (err error) {
+func ioctl(fd int, req int, arg uintptr) (err error) {
+ _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
_, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
if e1 != 0 {
err = errnoErr(e1)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
index e2a64f09..690cefc3 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
@@ -151,6 +151,16 @@ type Dirent struct {
_ [3]byte
}
+type Attrlist struct {
+ Bitmapcount uint16
+ Reserved uint16
+ Commonattr uint32
+ Volattr uint32
+ Dirattr uint32
+ Fileattr uint32
+ Forkattr uint32
+}
+
const (
PathMax = 0x400
)
@@ -610,6 +620,7 @@ const (
AT_REMOVEDIR = 0x80
AT_SYMLINK_FOLLOW = 0x40
AT_SYMLINK_NOFOLLOW = 0x20
+ AT_EACCESS = 0x10
)
type PollFd struct {
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
index 34aa7752..5bffc10e 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
@@ -151,6 +151,16 @@ type Dirent struct {
_ [3]byte
}
+type Attrlist struct {
+ Bitmapcount uint16
+ Reserved uint16
+ Commonattr uint32
+ Volattr uint32
+ Dirattr uint32
+ Fileattr uint32
+ Forkattr uint32
+}
+
const (
PathMax = 0x400
)
@@ -610,6 +620,7 @@ const (
AT_REMOVEDIR = 0x80
AT_SYMLINK_FOLLOW = 0x40
AT_SYMLINK_NOFOLLOW = 0x20
+ AT_EACCESS = 0x10
)
type PollFd struct {
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
index d9c78cdc..29dc4833 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
@@ -362,7 +362,7 @@ type FpExtendedPrecision struct{}
type PtraceIoDesc struct {
Op int32
Offs uintptr
- Addr uintptr
+ Addr *byte
Len uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
index 26991b16..0a89b289 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
@@ -367,7 +367,7 @@ type FpExtendedPrecision struct{}
type PtraceIoDesc struct {
Op int32
Offs uintptr
- Addr uintptr
+ Addr *byte
Len uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
index f8324e7e..c8666bb1 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
@@ -350,7 +350,7 @@ type FpExtendedPrecision struct {
type PtraceIoDesc struct {
Op int32
Offs uintptr
- Addr uintptr
+ Addr *byte
Len uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
index 4220411f..88fb48a8 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
@@ -347,7 +347,7 @@ type FpExtendedPrecision struct{}
type PtraceIoDesc struct {
Op int32
Offs uintptr
- Addr uintptr
+ Addr *byte
Len uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
index 0660fd45..698dc975 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
@@ -348,7 +348,7 @@ type FpExtendedPrecision struct{}
type PtraceIoDesc struct {
Op int32
Offs uintptr
- Addr uintptr
+ Addr *byte
Len uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go
index 7d9fc8f1..ca84727c 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go
@@ -456,36 +456,60 @@ type Ucred struct {
}
type TCPInfo struct {
- State uint8
- Ca_state uint8
- Retransmits uint8
- Probes uint8
- Backoff uint8
- Options uint8
- Rto uint32
- Ato uint32
- Snd_mss uint32
- Rcv_mss uint32
- Unacked uint32
- Sacked uint32
- Lost uint32
- Retrans uint32
- Fackets uint32
- Last_data_sent uint32
- Last_ack_sent uint32
- Last_data_recv uint32
- Last_ack_recv uint32
- Pmtu uint32
- Rcv_ssthresh uint32
- Rtt uint32
- Rttvar uint32
- Snd_ssthresh uint32
- Snd_cwnd uint32
- Advmss uint32
- Reordering uint32
- Rcv_rtt uint32
- Rcv_space uint32
- Total_retrans uint32
+ State uint8
+ Ca_state uint8
+ Retransmits uint8
+ Probes uint8
+ Backoff uint8
+ Options uint8
+ Rto uint32
+ Ato uint32
+ Snd_mss uint32
+ Rcv_mss uint32
+ Unacked uint32
+ Sacked uint32
+ Lost uint32
+ Retrans uint32
+ Fackets uint32
+ Last_data_sent uint32
+ Last_ack_sent uint32
+ Last_data_recv uint32
+ Last_ack_recv uint32
+ Pmtu uint32
+ Rcv_ssthresh uint32
+ Rtt uint32
+ Rttvar uint32
+ Snd_ssthresh uint32
+ Snd_cwnd uint32
+ Advmss uint32
+ Reordering uint32
+ Rcv_rtt uint32
+ Rcv_space uint32
+ Total_retrans uint32
+ Pacing_rate uint64
+ Max_pacing_rate uint64
+ Bytes_acked uint64
+ Bytes_received uint64
+ Segs_out uint32
+ Segs_in uint32
+ Notsent_bytes uint32
+ Min_rtt uint32
+ Data_segs_in uint32
+ Data_segs_out uint32
+ Delivery_rate uint64
+ Busy_time uint64
+ Rwnd_limited uint64
+ Sndbuf_limited uint64
+ Delivered uint32
+ Delivered_ce uint32
+ Bytes_sent uint64
+ Bytes_retrans uint64
+ Dsack_dups uint32
+ Reord_seen uint32
+ Rcv_ooopack uint32
+ Snd_wnd uint32
+ Rcv_wnd uint32
+ Rehash uint32
}
type CanFilter struct {
@@ -528,7 +552,7 @@ const (
SizeofIPv6MTUInfo = 0x20
SizeofICMPv6Filter = 0x20
SizeofUcred = 0xc
- SizeofTCPInfo = 0x68
+ SizeofTCPInfo = 0xf0
SizeofCanFilter = 0x8
SizeofTCPRepairOpt = 0x8
)
@@ -1043,6 +1067,7 @@ const (
PerfBitCommExec = CBitFieldMaskBit24
PerfBitUseClockID = CBitFieldMaskBit25
PerfBitContextSwitch = CBitFieldMaskBit26
+ PerfBitWriteBackward = CBitFieldMaskBit27
)
const (
@@ -1239,7 +1264,7 @@ type TCPMD5Sig struct {
Flags uint8
Prefixlen uint8
Keylen uint16
- _ uint32
+ Ifindex int32
Key [80]uint8
}
@@ -1939,7 +1964,11 @@ const (
NFT_MSG_GETOBJ = 0x13
NFT_MSG_DELOBJ = 0x14
NFT_MSG_GETOBJ_RESET = 0x15
- NFT_MSG_MAX = 0x19
+ NFT_MSG_NEWFLOWTABLE = 0x16
+ NFT_MSG_GETFLOWTABLE = 0x17
+ NFT_MSG_DELFLOWTABLE = 0x18
+ NFT_MSG_GETRULE_RESET = 0x19
+ NFT_MSG_MAX = 0x1a
NFTA_LIST_UNSPEC = 0x0
NFTA_LIST_ELEM = 0x1
NFTA_HOOK_UNSPEC = 0x0
@@ -2443,9 +2472,11 @@ const (
SOF_TIMESTAMPING_OPT_STATS = 0x1000
SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000
SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000
+ SOF_TIMESTAMPING_BIND_PHC = 0x8000
+ SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000
- SOF_TIMESTAMPING_LAST = 0x8000
- SOF_TIMESTAMPING_MASK = 0xffff
+ SOF_TIMESTAMPING_LAST = 0x10000
+ SOF_TIMESTAMPING_MASK = 0x1ffff
SCM_TSTAMP_SND = 0x0
SCM_TSTAMP_SCHED = 0x1
@@ -3265,7 +3296,7 @@ const (
DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 0xae
DEVLINK_ATTR_NESTED_DEVLINK = 0xaf
DEVLINK_ATTR_SELFTESTS = 0xb0
- DEVLINK_ATTR_MAX = 0xb0
+ DEVLINK_ATTR_MAX = 0xb3
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
@@ -3281,7 +3312,8 @@ const (
DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 0x1
DEVLINK_PORT_FN_ATTR_STATE = 0x2
DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3
- DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x3
+ DEVLINK_PORT_FN_ATTR_CAPS = 0x4
+ DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x4
)
type FsverityDigest struct {
@@ -3572,7 +3604,8 @@ const (
ETHTOOL_MSG_MODULE_SET = 0x23
ETHTOOL_MSG_PSE_GET = 0x24
ETHTOOL_MSG_PSE_SET = 0x25
- ETHTOOL_MSG_USER_MAX = 0x25
+ ETHTOOL_MSG_RSS_GET = 0x26
+ ETHTOOL_MSG_USER_MAX = 0x26
ETHTOOL_MSG_KERNEL_NONE = 0x0
ETHTOOL_MSG_STRSET_GET_REPLY = 0x1
ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2
@@ -3611,7 +3644,8 @@ const (
ETHTOOL_MSG_MODULE_GET_REPLY = 0x23
ETHTOOL_MSG_MODULE_NTF = 0x24
ETHTOOL_MSG_PSE_GET_REPLY = 0x25
- ETHTOOL_MSG_KERNEL_MAX = 0x25
+ ETHTOOL_MSG_RSS_GET_REPLY = 0x26
+ ETHTOOL_MSG_KERNEL_MAX = 0x26
ETHTOOL_A_HEADER_UNSPEC = 0x0
ETHTOOL_A_HEADER_DEV_INDEX = 0x1
ETHTOOL_A_HEADER_DEV_NAME = 0x2
@@ -3679,7 +3713,8 @@ const (
ETHTOOL_A_LINKSTATE_SQI_MAX = 0x4
ETHTOOL_A_LINKSTATE_EXT_STATE = 0x5
ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 0x6
- ETHTOOL_A_LINKSTATE_MAX = 0x6
+ ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 0x7
+ ETHTOOL_A_LINKSTATE_MAX = 0x7
ETHTOOL_A_DEBUG_UNSPEC = 0x0
ETHTOOL_A_DEBUG_HEADER = 0x1
ETHTOOL_A_DEBUG_MSGMASK = 0x2
@@ -4409,7 +4444,7 @@ const (
NL80211_ATTR_MAC_HINT = 0xc8
NL80211_ATTR_MAC_MASK = 0xd7
NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
- NL80211_ATTR_MAX = 0x140
+ NL80211_ATTR_MAX = 0x141
NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
NL80211_ATTR_MAX_MATCH_SETS = 0x85
@@ -4552,6 +4587,7 @@ const (
NL80211_ATTR_SUPPORT_MESH_AUTH = 0x73
NL80211_ATTR_SURVEY_INFO = 0x54
NL80211_ATTR_SURVEY_RADIO_STATS = 0xda
+ NL80211_ATTR_TD_BITMAP = 0x141
NL80211_ATTR_TDLS_ACTION = 0x88
NL80211_ATTR_TDLS_DIALOG_TOKEN = 0x89
NL80211_ATTR_TDLS_EXTERNAL_SETUP = 0x8c
@@ -5752,3 +5788,25 @@ const (
AUDIT_NLGRP_NONE = 0x0
AUDIT_NLGRP_READLOG = 0x1
)
+
+const (
+ TUN_F_CSUM = 0x1
+ TUN_F_TSO4 = 0x2
+ TUN_F_TSO6 = 0x4
+ TUN_F_TSO_ECN = 0x8
+ TUN_F_UFO = 0x10
+)
+
+const (
+ VIRTIO_NET_HDR_F_NEEDS_CSUM = 0x1
+ VIRTIO_NET_HDR_F_DATA_VALID = 0x2
+ VIRTIO_NET_HDR_F_RSC_INFO = 0x4
+)
+
+const (
+ VIRTIO_NET_HDR_GSO_NONE = 0x0
+ VIRTIO_NET_HDR_GSO_TCPV4 = 0x1
+ VIRTIO_NET_HDR_GSO_UDP = 0x3
+ VIRTIO_NET_HDR_GSO_TCPV6 = 0x4
+ VIRTIO_NET_HDR_GSO_ECN = 0x80
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index 89c516a2..4ecc1495 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -414,7 +414,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [122]int8
+ Data [122]byte
_ uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index 62b4fb26..34fddff9 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -427,7 +427,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index e86b3589..3b14a603 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -405,7 +405,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [122]uint8
+ Data [122]byte
_ uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index 6c6be4c9..0517651a 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -406,7 +406,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
index 4982ea35..3b0c5181 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
@@ -407,7 +407,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
index 173141a6..fccdf4dd 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -410,7 +410,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [122]int8
+ Data [122]byte
_ uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
index 93ae4c51..500de8fc 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -409,7 +409,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
index 4e4e510c..d0434cd2 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -409,7 +409,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
index 3f5ba013..84206ba5 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -410,7 +410,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [122]int8
+ Data [122]byte
_ uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
index 71dfe7cd..ab078cf1 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
@@ -417,7 +417,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [122]uint8
+ Data [122]byte
_ uint32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index 3a2b7f0a..42eb2c4c 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -416,7 +416,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]uint8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index a52d6275..31304a4e 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -416,7 +416,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]uint8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
index dfc007d8..c311f961 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
@@ -434,7 +434,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]uint8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
index b53cb910..bba3cefa 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -429,7 +429,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
index fe0aa354..ad8a0138 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -411,7 +411,7 @@ const (
type SockaddrStorage struct {
Family uint16
- _ [118]int8
+ Data [118]byte
_ uint64
}
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index 41cb3c01..3723b2c2 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -824,6 +824,9 @@ const socket_error = uintptr(^uint32(0))
//sys WSAStartup(verreq uint32, data *WSAData) (sockerr error) = ws2_32.WSAStartup
//sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup
//sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl
+//sys WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) [failretval==socket_error] = ws2_32.WSALookupServiceBeginW
+//sys WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) [failretval==socket_error] = ws2_32.WSALookupServiceNextW
+//sys WSALookupServiceEnd(handle Handle) (err error) [failretval==socket_error] = ws2_32.WSALookupServiceEnd
//sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket
//sys sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) [failretval==socket_error] = ws2_32.sendto
//sys recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) [failretval==-1] = ws2_32.recvfrom
@@ -1019,8 +1022,7 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) {
for n < len(pp.Path) && pp.Path[n] != 0 {
n++
}
- bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
- sa.Name = string(bytes)
+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
return sa, nil
case AF_INET:
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
index 0c4add97..0dbb2084 100644
--- a/vendor/golang.org/x/sys/windows/types_windows.go
+++ b/vendor/golang.org/x/sys/windows/types_windows.go
@@ -1243,6 +1243,51 @@ const (
DnsSectionAdditional = 0x0003
)
+const (
+ // flags of WSALookupService
+ LUP_DEEP = 0x0001
+ LUP_CONTAINERS = 0x0002
+ LUP_NOCONTAINERS = 0x0004
+ LUP_NEAREST = 0x0008
+ LUP_RETURN_NAME = 0x0010
+ LUP_RETURN_TYPE = 0x0020
+ LUP_RETURN_VERSION = 0x0040
+ LUP_RETURN_COMMENT = 0x0080
+ LUP_RETURN_ADDR = 0x0100
+ LUP_RETURN_BLOB = 0x0200
+ LUP_RETURN_ALIASES = 0x0400
+ LUP_RETURN_QUERY_STRING = 0x0800
+ LUP_RETURN_ALL = 0x0FF0
+ LUP_RES_SERVICE = 0x8000
+
+ LUP_FLUSHCACHE = 0x1000
+ LUP_FLUSHPREVIOUS = 0x2000
+
+ LUP_NON_AUTHORITATIVE = 0x4000
+ LUP_SECURE = 0x8000
+ LUP_RETURN_PREFERRED_NAMES = 0x10000
+ LUP_DNS_ONLY = 0x20000
+
+ LUP_ADDRCONFIG = 0x100000
+ LUP_DUAL_ADDR = 0x200000
+ LUP_FILESERVER = 0x400000
+ LUP_DISABLE_IDN_ENCODING = 0x00800000
+ LUP_API_ANSI = 0x01000000
+
+ LUP_RESOLUTION_HANDLE = 0x80000000
+)
+
+const (
+ // values of WSAQUERYSET's namespace
+ NS_ALL = 0
+ NS_DNS = 12
+ NS_NLA = 15
+ NS_BTH = 16
+ NS_EMAIL = 37
+ NS_PNRPNAME = 38
+ NS_PNRPCLOUD = 39
+)
+
type DNSSRVData struct {
Target *uint16
Priority uint16
@@ -2184,10 +2229,10 @@ const (
JobObjectExtendedLimitInformation = 9
JobObjectGroupInformation = 11
JobObjectGroupInformationEx = 14
- JobObjectLimitViolationInformation2 = 35
+ JobObjectLimitViolationInformation2 = 34
JobObjectNetRateControlInformation = 32
JobObjectNotificationLimitInformation = 12
- JobObjectNotificationLimitInformation2 = 34
+ JobObjectNotificationLimitInformation2 = 33
JobObjectSecurityLimitInformation = 5
)
@@ -3258,3 +3303,43 @@ const (
DWMWA_TEXT_COLOR = 36
DWMWA_VISIBLE_FRAME_BORDER_THICKNESS = 37
)
+
+type WSAQUERYSET struct {
+ Size uint32
+ ServiceInstanceName *uint16
+ ServiceClassId *GUID
+ Version *WSAVersion
+ Comment *uint16
+ NameSpace uint32
+ NSProviderId *GUID
+ Context *uint16
+ NumberOfProtocols uint32
+ AfpProtocols *AFProtocols
+ QueryString *uint16
+ NumberOfCsAddrs uint32
+ SaBuffer *CSAddrInfo
+ OutputFlags uint32
+ Blob *BLOB
+}
+
+type WSAVersion struct {
+ Version uint32
+ EnumerationOfComparison int32
+}
+
+type AFProtocols struct {
+ AddressFamily int32
+ Protocol int32
+}
+
+type CSAddrInfo struct {
+ LocalAddr SocketAddress
+ RemoteAddr SocketAddress
+ SocketType int32
+ Protocol int32
+}
+
+type BLOB struct {
+ Size uint32
+ BlobData *byte
+}
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index ac60052e..6d2a2685 100644
--- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -474,6 +474,9 @@ var (
procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW")
procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult")
procWSAIoctl = modws2_32.NewProc("WSAIoctl")
+ procWSALookupServiceBeginW = modws2_32.NewProc("WSALookupServiceBeginW")
+ procWSALookupServiceEnd = modws2_32.NewProc("WSALookupServiceEnd")
+ procWSALookupServiceNextW = modws2_32.NewProc("WSALookupServiceNextW")
procWSARecv = modws2_32.NewProc("WSARecv")
procWSARecvFrom = modws2_32.NewProc("WSARecvFrom")
procWSASend = modws2_32.NewProc("WSASend")
@@ -4067,6 +4070,30 @@ func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbo
return
}
+func WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procWSALookupServiceBeginW.Addr(), 3, uintptr(unsafe.Pointer(querySet)), uintptr(flags), uintptr(unsafe.Pointer(handle)))
+ if r1 == socket_error {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+func WSALookupServiceEnd(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procWSALookupServiceEnd.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == socket_error {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+func WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) {
+ r1, _, e1 := syscall.Syscall6(procWSALookupServiceNextW.Addr(), 4, uintptr(handle), uintptr(flags), uintptr(unsafe.Pointer(size)), uintptr(unsafe.Pointer(querySet)), 0, 0)
+ if r1 == socket_error {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) {
r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0)
if r1 == socket_error {
diff --git a/vendor/golang.org/x/text/encoding/encoding.go b/vendor/golang.org/x/text/encoding/encoding.go
new file mode 100644
index 00000000..a0bd7cd4
--- /dev/null
+++ b/vendor/golang.org/x/text/encoding/encoding.go
@@ -0,0 +1,335 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package encoding defines an interface for character encodings, such as Shift
+// JIS and Windows 1252, that can convert to and from UTF-8.
+//
+// Encoding implementations are provided in other packages, such as
+// golang.org/x/text/encoding/charmap and
+// golang.org/x/text/encoding/japanese.
+package encoding // import "golang.org/x/text/encoding"
+
+import (
+ "errors"
+ "io"
+ "strconv"
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// TODO:
+// - There seems to be some inconsistency in when decoders return errors
+// and when not. Also documentation seems to suggest they shouldn't return
+// errors at all (except for UTF-16).
+// - Encoders seem to rely on or at least benefit from the input being in NFC
+// normal form. Perhaps add an example how users could prepare their output.
+
+// Encoding is a character set encoding that can be transformed to and from
+// UTF-8.
+type Encoding interface {
+ // NewDecoder returns a Decoder.
+ NewDecoder() *Decoder
+
+ // NewEncoder returns an Encoder.
+ NewEncoder() *Encoder
+}
+
+// A Decoder converts bytes to UTF-8. It implements transform.Transformer.
+//
+// Transforming source bytes that are not of that encoding will not result in an
+// error per se. Each byte that cannot be transcoded will be represented in the
+// output by the UTF-8 encoding of '\uFFFD', the replacement rune.
+type Decoder struct {
+ transform.Transformer
+
+ // This forces external creators of Decoders to use names in struct
+ // initializers, allowing for future extendibility without having to break
+ // code.
+ _ struct{}
+}
+
+// Bytes converts the given encoded bytes to UTF-8. It returns the converted
+// bytes or nil, err if any error occurred.
+func (d *Decoder) Bytes(b []byte) ([]byte, error) {
+ b, _, err := transform.Bytes(d, b)
+ if err != nil {
+ return nil, err
+ }
+ return b, nil
+}
+
+// String converts the given encoded string to UTF-8. It returns the converted
+// string or "", err if any error occurred.
+func (d *Decoder) String(s string) (string, error) {
+ s, _, err := transform.String(d, s)
+ if err != nil {
+ return "", err
+ }
+ return s, nil
+}
+
+// Reader wraps another Reader to decode its bytes.
+//
+// The Decoder may not be used for any other operation as long as the returned
+// Reader is in use.
+func (d *Decoder) Reader(r io.Reader) io.Reader {
+ return transform.NewReader(r, d)
+}
+
+// An Encoder converts bytes from UTF-8. It implements transform.Transformer.
+//
+// Each rune that cannot be transcoded will result in an error. In this case,
+// the transform will consume all source byte up to, not including the offending
+// rune. Transforming source bytes that are not valid UTF-8 will be replaced by
+// `\uFFFD`. To return early with an error instead, use transform.Chain to
+// preprocess the data with a UTF8Validator.
+type Encoder struct {
+ transform.Transformer
+
+ // This forces external creators of Encoders to use names in struct
+ // initializers, allowing for future extendibility without having to break
+ // code.
+ _ struct{}
+}
+
+// Bytes converts bytes from UTF-8. It returns the converted bytes or nil, err if
+// any error occurred.
+func (e *Encoder) Bytes(b []byte) ([]byte, error) {
+ b, _, err := transform.Bytes(e, b)
+ if err != nil {
+ return nil, err
+ }
+ return b, nil
+}
+
+// String converts a string from UTF-8. It returns the converted string or
+// "", err if any error occurred.
+func (e *Encoder) String(s string) (string, error) {
+ s, _, err := transform.String(e, s)
+ if err != nil {
+ return "", err
+ }
+ return s, nil
+}
+
+// Writer wraps another Writer to encode its UTF-8 output.
+//
+// The Encoder may not be used for any other operation as long as the returned
+// Writer is in use.
+func (e *Encoder) Writer(w io.Writer) io.Writer {
+ return transform.NewWriter(w, e)
+}
+
+// ASCIISub is the ASCII substitute character, as recommended by
+// https://unicode.org/reports/tr36/#Text_Comparison
+const ASCIISub = '\x1a'
+
+// Nop is the nop encoding. Its transformed bytes are the same as the source
+// bytes; it does not replace invalid UTF-8 sequences.
+var Nop Encoding = nop{}
+
+type nop struct{}
+
+func (nop) NewDecoder() *Decoder {
+ return &Decoder{Transformer: transform.Nop}
+}
+func (nop) NewEncoder() *Encoder {
+ return &Encoder{Transformer: transform.Nop}
+}
+
+// Replacement is the replacement encoding. Decoding from the replacement
+// encoding yields a single '\uFFFD' replacement rune. Encoding from UTF-8 to
+// the replacement encoding yields the same as the source bytes except that
+// invalid UTF-8 is converted to '\uFFFD'.
+//
+// It is defined at http://encoding.spec.whatwg.org/#replacement
+var Replacement Encoding = replacement{}
+
+type replacement struct{}
+
+func (replacement) NewDecoder() *Decoder {
+ return &Decoder{Transformer: replacementDecoder{}}
+}
+
+func (replacement) NewEncoder() *Encoder {
+ return &Encoder{Transformer: replacementEncoder{}}
+}
+
+func (replacement) ID() (mib identifier.MIB, other string) {
+ return identifier.Replacement, ""
+}
+
+type replacementDecoder struct{ transform.NopResetter }
+
+func (replacementDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ if len(dst) < 3 {
+ return 0, 0, transform.ErrShortDst
+ }
+ if atEOF {
+ const fffd = "\ufffd"
+ dst[0] = fffd[0]
+ dst[1] = fffd[1]
+ dst[2] = fffd[2]
+ nDst = 3
+ }
+ return nDst, len(src), nil
+}
+
+type replacementEncoder struct{ transform.NopResetter }
+
+func (replacementEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ r = '\ufffd'
+ }
+ }
+
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+// HTMLEscapeUnsupported wraps encoders to replace source runes outside the
+// repertoire of the destination encoding with HTML escape sequences.
+//
+// This wrapper exists to comply to URL and HTML forms requiring a
+// non-terminating legacy encoder. The produced sequences may lead to data
+// loss as they are indistinguishable from legitimate input. To avoid this
+// issue, use UTF-8 encodings whenever possible.
+func HTMLEscapeUnsupported(e *Encoder) *Encoder {
+ return &Encoder{Transformer: &errorHandler{e, errorToHTML}}
+}
+
+// ReplaceUnsupported wraps encoders to replace source runes outside the
+// repertoire of the destination encoding with an encoding-specific
+// replacement.
+//
+// This wrapper is only provided for backwards compatibility and legacy
+// handling. Its use is strongly discouraged. Use UTF-8 whenever possible.
+func ReplaceUnsupported(e *Encoder) *Encoder {
+ return &Encoder{Transformer: &errorHandler{e, errorToReplacement}}
+}
+
+type errorHandler struct {
+ *Encoder
+ handler func(dst []byte, r rune, err repertoireError) (n int, ok bool)
+}
+
+// TODO: consider making this error public in some form.
+type repertoireError interface {
+ Replacement() byte
+}
+
+func (h errorHandler) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ nDst, nSrc, err = h.Transformer.Transform(dst, src, atEOF)
+ for err != nil {
+ rerr, ok := err.(repertoireError)
+ if !ok {
+ return nDst, nSrc, err
+ }
+ r, sz := utf8.DecodeRune(src[nSrc:])
+ n, ok := h.handler(dst[nDst:], r, rerr)
+ if !ok {
+ return nDst, nSrc, transform.ErrShortDst
+ }
+ err = nil
+ nDst += n
+ if nSrc += sz; nSrc < len(src) {
+ var dn, sn int
+ dn, sn, err = h.Transformer.Transform(dst[nDst:], src[nSrc:], atEOF)
+ nDst += dn
+ nSrc += sn
+ }
+ }
+ return nDst, nSrc, err
+}
+
+func errorToHTML(dst []byte, r rune, err repertoireError) (n int, ok bool) {
+ buf := [8]byte{}
+ b := strconv.AppendUint(buf[:0], uint64(r), 10)
+ if n = len(b) + len(""); n >= len(dst) {
+ return 0, false
+ }
+ dst[0] = '&'
+ dst[1] = '#'
+ dst[copy(dst[2:], b)+2] = ';'
+ return n, true
+}
+
+func errorToReplacement(dst []byte, r rune, err repertoireError) (n int, ok bool) {
+ if len(dst) == 0 {
+ return 0, false
+ }
+ dst[0] = err.Replacement()
+ return 1, true
+}
+
+// ErrInvalidUTF8 means that a transformer encountered invalid UTF-8.
+var ErrInvalidUTF8 = errors.New("encoding: invalid UTF-8")
+
+// UTF8Validator is a transformer that returns ErrInvalidUTF8 on the first
+// input byte that is not valid UTF-8.
+var UTF8Validator transform.Transformer = utf8Validator{}
+
+type utf8Validator struct{ transform.NopResetter }
+
+func (utf8Validator) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ n := len(src)
+ if n > len(dst) {
+ n = len(dst)
+ }
+ for i := 0; i < n; {
+ if c := src[i]; c < utf8.RuneSelf {
+ dst[i] = c
+ i++
+ continue
+ }
+ _, size := utf8.DecodeRune(src[i:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ err = ErrInvalidUTF8
+ if !atEOF && !utf8.FullRune(src[i:]) {
+ err = transform.ErrShortSrc
+ }
+ return i, i, err
+ }
+ if i+size > len(dst) {
+ return i, i, transform.ErrShortDst
+ }
+ for ; size > 0; size-- {
+ dst[i] = src[i]
+ i++
+ }
+ }
+ if len(src) > len(dst) {
+ err = transform.ErrShortDst
+ }
+ return n, n, err
+}
diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go b/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
new file mode 100644
index 00000000..5c9b85c2
--- /dev/null
+++ b/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
@@ -0,0 +1,81 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:generate go run gen.go
+
+// Package identifier defines the contract between implementations of Encoding
+// and Index by defining identifiers that uniquely identify standardized coded
+// character sets (CCS) and character encoding schemes (CES), which we will
+// together refer to as encodings, for which Encoding implementations provide
+// converters to and from UTF-8. This package is typically only of concern to
+// implementers of Indexes and Encodings.
+//
+// One part of the identifier is the MIB code, which is defined by IANA and
+// uniquely identifies a CCS or CES. Each code is associated with data that
+// references authorities, official documentation as well as aliases and MIME
+// names.
+//
+// Not all CESs are covered by the IANA registry. The "other" string that is
+// returned by ID can be used to identify other character sets or versions of
+// existing ones.
+//
+// It is recommended that each package that provides a set of Encodings provide
+// the All and Common variables to reference all supported encodings and
+// commonly used subset. This allows Index implementations to include all
+// available encodings without explicitly referencing or knowing about them.
+package identifier
+
+// Note: this package is internal, but could be made public if there is a need
+// for writing third-party Indexes and Encodings.
+
+// References:
+// - http://source.icu-project.org/repos/icu/icu/trunk/source/data/mappings/convrtrs.txt
+// - http://www.iana.org/assignments/character-sets/character-sets.xhtml
+// - http://www.iana.org/assignments/ianacharset-mib/ianacharset-mib
+// - http://www.ietf.org/rfc/rfc2978.txt
+// - https://www.unicode.org/reports/tr22/
+// - http://www.w3.org/TR/encoding/
+// - https://encoding.spec.whatwg.org/
+// - https://encoding.spec.whatwg.org/encodings.json
+// - https://tools.ietf.org/html/rfc6657#section-5
+
+// Interface can be implemented by Encodings to define the CCS or CES for which
+// it implements conversions.
+type Interface interface {
+ // ID returns an encoding identifier. Exactly one of the mib and other
+ // values should be non-zero.
+ //
+ // In the usual case it is only necessary to indicate the MIB code. The
+ // other string can be used to specify encodings for which there is no MIB,
+ // such as "x-mac-dingbat".
+ //
+ // The other string may only contain the characters a-z, A-Z, 0-9, - and _.
+ ID() (mib MIB, other string)
+
+ // NOTE: the restrictions on the encoding are to allow extending the syntax
+ // with additional information such as versions, vendors and other variants.
+}
+
+// A MIB identifies an encoding. It is derived from the IANA MIB codes and adds
+// some identifiers for some encodings that are not covered by the IANA
+// standard.
+//
+// See http://www.iana.org/assignments/ianacharset-mib.
+type MIB uint16
+
+// These additional MIB types are not defined in IANA. They are added because
+// they are common and defined within the text repo.
+const (
+ // Unofficial marks the start of encodings not registered by IANA.
+ Unofficial MIB = 10000 + iota
+
+ // Replacement is the WhatWG replacement encoding.
+ Replacement
+
+ // XUserDefined is the code for x-user-defined.
+ XUserDefined
+
+ // MacintoshCyrillic is the code for x-mac-cyrillic.
+ MacintoshCyrillic
+)
diff --git a/vendor/golang.org/x/text/encoding/internal/identifier/mib.go b/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
new file mode 100644
index 00000000..351fb86e
--- /dev/null
+++ b/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
@@ -0,0 +1,1627 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package identifier
+
+const (
+ // ASCII is the MIB identifier with IANA name US-ASCII (MIME: US-ASCII).
+ //
+ // ANSI X3.4-1986
+ // Reference: RFC2046
+ ASCII MIB = 3
+
+ // ISOLatin1 is the MIB identifier with IANA name ISO_8859-1:1987 (MIME: ISO-8859-1).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatin1 MIB = 4
+
+ // ISOLatin2 is the MIB identifier with IANA name ISO_8859-2:1987 (MIME: ISO-8859-2).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatin2 MIB = 5
+
+ // ISOLatin3 is the MIB identifier with IANA name ISO_8859-3:1988 (MIME: ISO-8859-3).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatin3 MIB = 6
+
+ // ISOLatin4 is the MIB identifier with IANA name ISO_8859-4:1988 (MIME: ISO-8859-4).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatin4 MIB = 7
+
+ // ISOLatinCyrillic is the MIB identifier with IANA name ISO_8859-5:1988 (MIME: ISO-8859-5).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatinCyrillic MIB = 8
+
+ // ISOLatinArabic is the MIB identifier with IANA name ISO_8859-6:1987 (MIME: ISO-8859-6).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatinArabic MIB = 9
+
+ // ISOLatinGreek is the MIB identifier with IANA name ISO_8859-7:1987 (MIME: ISO-8859-7).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1947
+ // Reference: RFC1345
+ ISOLatinGreek MIB = 10
+
+ // ISOLatinHebrew is the MIB identifier with IANA name ISO_8859-8:1988 (MIME: ISO-8859-8).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatinHebrew MIB = 11
+
+ // ISOLatin5 is the MIB identifier with IANA name ISO_8859-9:1989 (MIME: ISO-8859-9).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatin5 MIB = 12
+
+ // ISOLatin6 is the MIB identifier with IANA name ISO-8859-10 (MIME: ISO-8859-10).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOLatin6 MIB = 13
+
+ // ISOTextComm is the MIB identifier with IANA name ISO_6937-2-add.
+ //
+ // ISO-IR: International Register of Escape Sequences and ISO 6937-2:1983
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISOTextComm MIB = 14
+
+ // HalfWidthKatakana is the MIB identifier with IANA name JIS_X0201.
+ //
+ // JIS X 0201-1976. One byte only, this is equivalent to
+ // JIS/Roman (similar to ASCII) plus eight-bit half-width
+ // Katakana
+ // Reference: RFC1345
+ HalfWidthKatakana MIB = 15
+
+ // JISEncoding is the MIB identifier with IANA name JIS_Encoding.
+ //
+ // JIS X 0202-1991. Uses ISO 2022 escape sequences to
+ // shift code sets as documented in JIS X 0202-1991.
+ JISEncoding MIB = 16
+
+ // ShiftJIS is the MIB identifier with IANA name Shift_JIS (MIME: Shift_JIS).
+ //
+ // This charset is an extension of csHalfWidthKatakana by
+ // adding graphic characters in JIS X 0208. The CCS's are
+ // JIS X0201:1997 and JIS X0208:1997. The
+ // complete definition is shown in Appendix 1 of JIS
+ // X0208:1997.
+ // This charset can be used for the top-level media type "text".
+ ShiftJIS MIB = 17
+
+ // EUCPkdFmtJapanese is the MIB identifier with IANA name Extended_UNIX_Code_Packed_Format_for_Japanese (MIME: EUC-JP).
+ //
+ // Standardized by OSF, UNIX International, and UNIX Systems
+ // Laboratories Pacific. Uses ISO 2022 rules to select
+ // code set 0: US-ASCII (a single 7-bit byte set)
+ // code set 1: JIS X0208-1990 (a double 8-bit byte set)
+ // restricted to A0-FF in both bytes
+ // code set 2: Half Width Katakana (a single 7-bit byte set)
+ // requiring SS2 as the character prefix
+ // code set 3: JIS X0212-1990 (a double 7-bit byte set)
+ // restricted to A0-FF in both bytes
+ // requiring SS3 as the character prefix
+ EUCPkdFmtJapanese MIB = 18
+
+ // EUCFixWidJapanese is the MIB identifier with IANA name Extended_UNIX_Code_Fixed_Width_for_Japanese.
+ //
+ // Used in Japan. Each character is 2 octets.
+ // code set 0: US-ASCII (a single 7-bit byte set)
+ // 1st byte = 00
+ // 2nd byte = 20-7E
+ // code set 1: JIS X0208-1990 (a double 7-bit byte set)
+ // restricted to A0-FF in both bytes
+ // code set 2: Half Width Katakana (a single 7-bit byte set)
+ // 1st byte = 00
+ // 2nd byte = A0-FF
+ // code set 3: JIS X0212-1990 (a double 7-bit byte set)
+ // restricted to A0-FF in
+ // the first byte
+ // and 21-7E in the second byte
+ EUCFixWidJapanese MIB = 19
+
+ // ISO4UnitedKingdom is the MIB identifier with IANA name BS_4730.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO4UnitedKingdom MIB = 20
+
+ // ISO11SwedishForNames is the MIB identifier with IANA name SEN_850200_C.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO11SwedishForNames MIB = 21
+
+ // ISO15Italian is the MIB identifier with IANA name IT.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO15Italian MIB = 22
+
+ // ISO17Spanish is the MIB identifier with IANA name ES.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO17Spanish MIB = 23
+
+ // ISO21German is the MIB identifier with IANA name DIN_66003.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO21German MIB = 24
+
+ // ISO60Norwegian1 is the MIB identifier with IANA name NS_4551-1.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO60Norwegian1 MIB = 25
+
+ // ISO69French is the MIB identifier with IANA name NF_Z_62-010.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO69French MIB = 26
+
+ // ISO10646UTF1 is the MIB identifier with IANA name ISO-10646-UTF-1.
+ //
+ // Universal Transfer Format (1), this is the multibyte
+ // encoding, that subsets ASCII-7. It does not have byte
+ // ordering issues.
+ ISO10646UTF1 MIB = 27
+
+ // ISO646basic1983 is the MIB identifier with IANA name ISO_646.basic:1983.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO646basic1983 MIB = 28
+
+ // INVARIANT is the MIB identifier with IANA name INVARIANT.
+ //
+ // Reference: RFC1345
+ INVARIANT MIB = 29
+
+ // ISO2IntlRefVersion is the MIB identifier with IANA name ISO_646.irv:1983.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO2IntlRefVersion MIB = 30
+
+ // NATSSEFI is the MIB identifier with IANA name NATS-SEFI.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ NATSSEFI MIB = 31
+
+ // NATSSEFIADD is the MIB identifier with IANA name NATS-SEFI-ADD.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ NATSSEFIADD MIB = 32
+
+ // NATSDANO is the MIB identifier with IANA name NATS-DANO.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ NATSDANO MIB = 33
+
+ // NATSDANOADD is the MIB identifier with IANA name NATS-DANO-ADD.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ NATSDANOADD MIB = 34
+
+ // ISO10Swedish is the MIB identifier with IANA name SEN_850200_B.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO10Swedish MIB = 35
+
+ // KSC56011987 is the MIB identifier with IANA name KS_C_5601-1987.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ KSC56011987 MIB = 36
+
+ // ISO2022KR is the MIB identifier with IANA name ISO-2022-KR (MIME: ISO-2022-KR).
+ //
+ // rfc1557 (see also KS_C_5601-1987)
+ // Reference: RFC1557
+ ISO2022KR MIB = 37
+
+ // EUCKR is the MIB identifier with IANA name EUC-KR (MIME: EUC-KR).
+ //
+ // rfc1557 (see also KS_C_5861-1992)
+ // Reference: RFC1557
+ EUCKR MIB = 38
+
+ // ISO2022JP is the MIB identifier with IANA name ISO-2022-JP (MIME: ISO-2022-JP).
+ //
+ // rfc1468 (see also rfc2237 )
+ // Reference: RFC1468
+ ISO2022JP MIB = 39
+
+ // ISO2022JP2 is the MIB identifier with IANA name ISO-2022-JP-2 (MIME: ISO-2022-JP-2).
+ //
+ // rfc1554
+ // Reference: RFC1554
+ ISO2022JP2 MIB = 40
+
+ // ISO13JISC6220jp is the MIB identifier with IANA name JIS_C6220-1969-jp.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO13JISC6220jp MIB = 41
+
+ // ISO14JISC6220ro is the MIB identifier with IANA name JIS_C6220-1969-ro.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO14JISC6220ro MIB = 42
+
+ // ISO16Portuguese is the MIB identifier with IANA name PT.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO16Portuguese MIB = 43
+
+ // ISO18Greek7Old is the MIB identifier with IANA name greek7-old.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO18Greek7Old MIB = 44
+
+ // ISO19LatinGreek is the MIB identifier with IANA name latin-greek.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO19LatinGreek MIB = 45
+
+ // ISO25French is the MIB identifier with IANA name NF_Z_62-010_(1973).
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO25French MIB = 46
+
+ // ISO27LatinGreek1 is the MIB identifier with IANA name Latin-greek-1.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO27LatinGreek1 MIB = 47
+
+ // ISO5427Cyrillic is the MIB identifier with IANA name ISO_5427.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO5427Cyrillic MIB = 48
+
+ // ISO42JISC62261978 is the MIB identifier with IANA name JIS_C6226-1978.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO42JISC62261978 MIB = 49
+
+ // ISO47BSViewdata is the MIB identifier with IANA name BS_viewdata.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO47BSViewdata MIB = 50
+
+ // ISO49INIS is the MIB identifier with IANA name INIS.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO49INIS MIB = 51
+
+ // ISO50INIS8 is the MIB identifier with IANA name INIS-8.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO50INIS8 MIB = 52
+
+ // ISO51INISCyrillic is the MIB identifier with IANA name INIS-cyrillic.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO51INISCyrillic MIB = 53
+
+ // ISO54271981 is the MIB identifier with IANA name ISO_5427:1981.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO54271981 MIB = 54
+
+ // ISO5428Greek is the MIB identifier with IANA name ISO_5428:1980.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO5428Greek MIB = 55
+
+ // ISO57GB1988 is the MIB identifier with IANA name GB_1988-80.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO57GB1988 MIB = 56
+
+ // ISO58GB231280 is the MIB identifier with IANA name GB_2312-80.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO58GB231280 MIB = 57
+
+ // ISO61Norwegian2 is the MIB identifier with IANA name NS_4551-2.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO61Norwegian2 MIB = 58
+
+ // ISO70VideotexSupp1 is the MIB identifier with IANA name videotex-suppl.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO70VideotexSupp1 MIB = 59
+
+ // ISO84Portuguese2 is the MIB identifier with IANA name PT2.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO84Portuguese2 MIB = 60
+
+ // ISO85Spanish2 is the MIB identifier with IANA name ES2.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO85Spanish2 MIB = 61
+
+ // ISO86Hungarian is the MIB identifier with IANA name MSZ_7795.3.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO86Hungarian MIB = 62
+
+ // ISO87JISX0208 is the MIB identifier with IANA name JIS_C6226-1983.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO87JISX0208 MIB = 63
+
+ // ISO88Greek7 is the MIB identifier with IANA name greek7.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO88Greek7 MIB = 64
+
+ // ISO89ASMO449 is the MIB identifier with IANA name ASMO_449.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO89ASMO449 MIB = 65
+
+ // ISO90 is the MIB identifier with IANA name iso-ir-90.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO90 MIB = 66
+
+ // ISO91JISC62291984a is the MIB identifier with IANA name JIS_C6229-1984-a.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO91JISC62291984a MIB = 67
+
+ // ISO92JISC62991984b is the MIB identifier with IANA name JIS_C6229-1984-b.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO92JISC62991984b MIB = 68
+
+ // ISO93JIS62291984badd is the MIB identifier with IANA name JIS_C6229-1984-b-add.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO93JIS62291984badd MIB = 69
+
+ // ISO94JIS62291984hand is the MIB identifier with IANA name JIS_C6229-1984-hand.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO94JIS62291984hand MIB = 70
+
+ // ISO95JIS62291984handadd is the MIB identifier with IANA name JIS_C6229-1984-hand-add.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO95JIS62291984handadd MIB = 71
+
+ // ISO96JISC62291984kana is the MIB identifier with IANA name JIS_C6229-1984-kana.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO96JISC62291984kana MIB = 72
+
+ // ISO2033 is the MIB identifier with IANA name ISO_2033-1983.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO2033 MIB = 73
+
+ // ISO99NAPLPS is the MIB identifier with IANA name ANSI_X3.110-1983.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO99NAPLPS MIB = 74
+
+ // ISO102T617bit is the MIB identifier with IANA name T.61-7bit.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO102T617bit MIB = 75
+
+ // ISO103T618bit is the MIB identifier with IANA name T.61-8bit.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO103T618bit MIB = 76
+
+ // ISO111ECMACyrillic is the MIB identifier with IANA name ECMA-cyrillic.
+ //
+ // ISO registry
+ ISO111ECMACyrillic MIB = 77
+
+ // ISO121Canadian1 is the MIB identifier with IANA name CSA_Z243.4-1985-1.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO121Canadian1 MIB = 78
+
+ // ISO122Canadian2 is the MIB identifier with IANA name CSA_Z243.4-1985-2.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO122Canadian2 MIB = 79
+
+ // ISO123CSAZ24341985gr is the MIB identifier with IANA name CSA_Z243.4-1985-gr.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO123CSAZ24341985gr MIB = 80
+
+ // ISO88596E is the MIB identifier with IANA name ISO_8859-6-E (MIME: ISO-8859-6-E).
+ //
+ // rfc1556
+ // Reference: RFC1556
+ ISO88596E MIB = 81
+
+ // ISO88596I is the MIB identifier with IANA name ISO_8859-6-I (MIME: ISO-8859-6-I).
+ //
+ // rfc1556
+ // Reference: RFC1556
+ ISO88596I MIB = 82
+
+ // ISO128T101G2 is the MIB identifier with IANA name T.101-G2.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO128T101G2 MIB = 83
+
+ // ISO88598E is the MIB identifier with IANA name ISO_8859-8-E (MIME: ISO-8859-8-E).
+ //
+ // rfc1556
+ // Reference: RFC1556
+ ISO88598E MIB = 84
+
+ // ISO88598I is the MIB identifier with IANA name ISO_8859-8-I (MIME: ISO-8859-8-I).
+ //
+ // rfc1556
+ // Reference: RFC1556
+ ISO88598I MIB = 85
+
+ // ISO139CSN369103 is the MIB identifier with IANA name CSN_369103.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO139CSN369103 MIB = 86
+
+ // ISO141JUSIB1002 is the MIB identifier with IANA name JUS_I.B1.002.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO141JUSIB1002 MIB = 87
+
+ // ISO143IECP271 is the MIB identifier with IANA name IEC_P27-1.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO143IECP271 MIB = 88
+
+ // ISO146Serbian is the MIB identifier with IANA name JUS_I.B1.003-serb.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO146Serbian MIB = 89
+
+ // ISO147Macedonian is the MIB identifier with IANA name JUS_I.B1.003-mac.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO147Macedonian MIB = 90
+
+ // ISO150GreekCCITT is the MIB identifier with IANA name greek-ccitt.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO150GreekCCITT MIB = 91
+
+ // ISO151Cuba is the MIB identifier with IANA name NC_NC00-10:81.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO151Cuba MIB = 92
+
+ // ISO6937Add is the MIB identifier with IANA name ISO_6937-2-25.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO6937Add MIB = 93
+
+ // ISO153GOST1976874 is the MIB identifier with IANA name GOST_19768-74.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO153GOST1976874 MIB = 94
+
+ // ISO8859Supp is the MIB identifier with IANA name ISO_8859-supp.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO8859Supp MIB = 95
+
+ // ISO10367Box is the MIB identifier with IANA name ISO_10367-box.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO10367Box MIB = 96
+
+ // ISO158Lap is the MIB identifier with IANA name latin-lap.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO158Lap MIB = 97
+
+ // ISO159JISX02121990 is the MIB identifier with IANA name JIS_X0212-1990.
+ //
+ // ISO-IR: International Register of Escape Sequences
+ // Note: The current registration authority is IPSJ/ITSCJ, Japan.
+ // Reference: RFC1345
+ ISO159JISX02121990 MIB = 98
+
+ // ISO646Danish is the MIB identifier with IANA name DS_2089.
+ //
+ // Danish Standard, DS 2089, February 1974
+ // Reference: RFC1345
+ ISO646Danish MIB = 99
+
+ // USDK is the MIB identifier with IANA name us-dk.
+ //
+ // Reference: RFC1345
+ USDK MIB = 100
+
+ // DKUS is the MIB identifier with IANA name dk-us.
+ //
+ // Reference: RFC1345
+ DKUS MIB = 101
+
+ // KSC5636 is the MIB identifier with IANA name KSC5636.
+ //
+ // Reference: RFC1345
+ KSC5636 MIB = 102
+
+ // Unicode11UTF7 is the MIB identifier with IANA name UNICODE-1-1-UTF-7.
+ //
+ // rfc1642
+ // Reference: RFC1642
+ Unicode11UTF7 MIB = 103
+
+ // ISO2022CN is the MIB identifier with IANA name ISO-2022-CN.
+ //
+ // rfc1922
+ // Reference: RFC1922
+ ISO2022CN MIB = 104
+
+ // ISO2022CNEXT is the MIB identifier with IANA name ISO-2022-CN-EXT.
+ //
+ // rfc1922
+ // Reference: RFC1922
+ ISO2022CNEXT MIB = 105
+
+ // UTF8 is the MIB identifier with IANA name UTF-8.
+ //
+ // rfc3629
+ // Reference: RFC3629
+ UTF8 MIB = 106
+
+ // ISO885913 is the MIB identifier with IANA name ISO-8859-13.
+ //
+ // ISO See https://www.iana.org/assignments/charset-reg/ISO-8859-13 https://www.iana.org/assignments/charset-reg/ISO-8859-13
+ ISO885913 MIB = 109
+
+ // ISO885914 is the MIB identifier with IANA name ISO-8859-14.
+ //
+ // ISO See https://www.iana.org/assignments/charset-reg/ISO-8859-14
+ ISO885914 MIB = 110
+
+ // ISO885915 is the MIB identifier with IANA name ISO-8859-15.
+ //
+ // ISO
+ // Please see: https://www.iana.org/assignments/charset-reg/ISO-8859-15
+ ISO885915 MIB = 111
+
+ // ISO885916 is the MIB identifier with IANA name ISO-8859-16.
+ //
+ // ISO
+ ISO885916 MIB = 112
+
+ // GBK is the MIB identifier with IANA name GBK.
+ //
+ // Chinese IT Standardization Technical Committee
+ // Please see: https://www.iana.org/assignments/charset-reg/GBK
+ GBK MIB = 113
+
+ // GB18030 is the MIB identifier with IANA name GB18030.
+ //
+ // Chinese IT Standardization Technical Committee
+ // Please see: https://www.iana.org/assignments/charset-reg/GB18030
+ GB18030 MIB = 114
+
+ // OSDEBCDICDF0415 is the MIB identifier with IANA name OSD_EBCDIC_DF04_15.
+ //
+ // Fujitsu-Siemens standard mainframe EBCDIC encoding
+ // Please see: https://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-15
+ OSDEBCDICDF0415 MIB = 115
+
+ // OSDEBCDICDF03IRV is the MIB identifier with IANA name OSD_EBCDIC_DF03_IRV.
+ //
+ // Fujitsu-Siemens standard mainframe EBCDIC encoding
+ // Please see: https://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF03-IRV
+ OSDEBCDICDF03IRV MIB = 116
+
+ // OSDEBCDICDF041 is the MIB identifier with IANA name OSD_EBCDIC_DF04_1.
+ //
+ // Fujitsu-Siemens standard mainframe EBCDIC encoding
+ // Please see: https://www.iana.org/assignments/charset-reg/OSD-EBCDIC-DF04-1
+ OSDEBCDICDF041 MIB = 117
+
+ // ISO115481 is the MIB identifier with IANA name ISO-11548-1.
+ //
+ // See https://www.iana.org/assignments/charset-reg/ISO-11548-1
+ ISO115481 MIB = 118
+
+ // KZ1048 is the MIB identifier with IANA name KZ-1048.
+ //
+ // See https://www.iana.org/assignments/charset-reg/KZ-1048
+ KZ1048 MIB = 119
+
+ // Unicode is the MIB identifier with IANA name ISO-10646-UCS-2.
+ //
+ // the 2-octet Basic Multilingual Plane, aka Unicode
+ // this needs to specify network byte order: the standard
+ // does not specify (it is a 16-bit integer space)
+ Unicode MIB = 1000
+
+ // UCS4 is the MIB identifier with IANA name ISO-10646-UCS-4.
+ //
+ // the full code space. (same comment about byte order,
+ // these are 31-bit numbers.
+ UCS4 MIB = 1001
+
+ // UnicodeASCII is the MIB identifier with IANA name ISO-10646-UCS-Basic.
+ //
+ // ASCII subset of Unicode. Basic Latin = collection 1
+ // See ISO 10646, Appendix A
+ UnicodeASCII MIB = 1002
+
+ // UnicodeLatin1 is the MIB identifier with IANA name ISO-10646-Unicode-Latin1.
+ //
+ // ISO Latin-1 subset of Unicode. Basic Latin and Latin-1
+ // Supplement = collections 1 and 2. See ISO 10646,
+ // Appendix A. See rfc1815 .
+ UnicodeLatin1 MIB = 1003
+
+ // UnicodeJapanese is the MIB identifier with IANA name ISO-10646-J-1.
+ //
+ // ISO 10646 Japanese, see rfc1815 .
+ UnicodeJapanese MIB = 1004
+
+ // UnicodeIBM1261 is the MIB identifier with IANA name ISO-Unicode-IBM-1261.
+ //
+ // IBM Latin-2, -3, -5, Extended Presentation Set, GCSGID: 1261
+ UnicodeIBM1261 MIB = 1005
+
+ // UnicodeIBM1268 is the MIB identifier with IANA name ISO-Unicode-IBM-1268.
+ //
+ // IBM Latin-4 Extended Presentation Set, GCSGID: 1268
+ UnicodeIBM1268 MIB = 1006
+
+ // UnicodeIBM1276 is the MIB identifier with IANA name ISO-Unicode-IBM-1276.
+ //
+ // IBM Cyrillic Greek Extended Presentation Set, GCSGID: 1276
+ UnicodeIBM1276 MIB = 1007
+
+ // UnicodeIBM1264 is the MIB identifier with IANA name ISO-Unicode-IBM-1264.
+ //
+ // IBM Arabic Presentation Set, GCSGID: 1264
+ UnicodeIBM1264 MIB = 1008
+
+ // UnicodeIBM1265 is the MIB identifier with IANA name ISO-Unicode-IBM-1265.
+ //
+ // IBM Hebrew Presentation Set, GCSGID: 1265
+ UnicodeIBM1265 MIB = 1009
+
+ // Unicode11 is the MIB identifier with IANA name UNICODE-1-1.
+ //
+ // rfc1641
+ // Reference: RFC1641
+ Unicode11 MIB = 1010
+
+ // SCSU is the MIB identifier with IANA name SCSU.
+ //
+ // SCSU See https://www.iana.org/assignments/charset-reg/SCSU
+ SCSU MIB = 1011
+
+ // UTF7 is the MIB identifier with IANA name UTF-7.
+ //
+ // rfc2152
+ // Reference: RFC2152
+ UTF7 MIB = 1012
+
+ // UTF16BE is the MIB identifier with IANA name UTF-16BE.
+ //
+ // rfc2781
+ // Reference: RFC2781
+ UTF16BE MIB = 1013
+
+ // UTF16LE is the MIB identifier with IANA name UTF-16LE.
+ //
+ // rfc2781
+ // Reference: RFC2781
+ UTF16LE MIB = 1014
+
+ // UTF16 is the MIB identifier with IANA name UTF-16.
+ //
+ // rfc2781
+ // Reference: RFC2781
+ UTF16 MIB = 1015
+
+ // CESU8 is the MIB identifier with IANA name CESU-8.
+ //
+ // https://www.unicode.org/reports/tr26
+ CESU8 MIB = 1016
+
+ // UTF32 is the MIB identifier with IANA name UTF-32.
+ //
+ // https://www.unicode.org/reports/tr19/
+ UTF32 MIB = 1017
+
+ // UTF32BE is the MIB identifier with IANA name UTF-32BE.
+ //
+ // https://www.unicode.org/reports/tr19/
+ UTF32BE MIB = 1018
+
+ // UTF32LE is the MIB identifier with IANA name UTF-32LE.
+ //
+ // https://www.unicode.org/reports/tr19/
+ UTF32LE MIB = 1019
+
+ // BOCU1 is the MIB identifier with IANA name BOCU-1.
+ //
+ // https://www.unicode.org/notes/tn6/
+ BOCU1 MIB = 1020
+
+ // UTF7IMAP is the MIB identifier with IANA name UTF-7-IMAP.
+ //
+ // Note: This charset is used to encode Unicode in IMAP mailbox names;
+ // see section 5.1.3 of rfc3501 . It should never be used
+ // outside this context. A name has been assigned so that charset processing
+ // implementations can refer to it in a consistent way.
+ UTF7IMAP MIB = 1021
+
+ // Windows30Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.0-Latin-1.
+ //
+ // Extended ISO 8859-1 Latin-1 for Windows 3.0.
+ // PCL Symbol Set id: 9U
+ Windows30Latin1 MIB = 2000
+
+ // Windows31Latin1 is the MIB identifier with IANA name ISO-8859-1-Windows-3.1-Latin-1.
+ //
+ // Extended ISO 8859-1 Latin-1 for Windows 3.1.
+ // PCL Symbol Set id: 19U
+ Windows31Latin1 MIB = 2001
+
+ // Windows31Latin2 is the MIB identifier with IANA name ISO-8859-2-Windows-Latin-2.
+ //
+ // Extended ISO 8859-2. Latin-2 for Windows 3.1.
+ // PCL Symbol Set id: 9E
+ Windows31Latin2 MIB = 2002
+
+ // Windows31Latin5 is the MIB identifier with IANA name ISO-8859-9-Windows-Latin-5.
+ //
+ // Extended ISO 8859-9. Latin-5 for Windows 3.1
+ // PCL Symbol Set id: 5T
+ Windows31Latin5 MIB = 2003
+
+ // HPRoman8 is the MIB identifier with IANA name hp-roman8.
+ //
+ // LaserJet IIP Printer User's Manual,
+ // HP part no 33471-90901, Hewlet-Packard, June 1989.
+ // Reference: RFC1345
+ HPRoman8 MIB = 2004
+
+ // AdobeStandardEncoding is the MIB identifier with IANA name Adobe-Standard-Encoding.
+ //
+ // PostScript Language Reference Manual
+ // PCL Symbol Set id: 10J
+ AdobeStandardEncoding MIB = 2005
+
+ // VenturaUS is the MIB identifier with IANA name Ventura-US.
+ //
+ // Ventura US. ASCII plus characters typically used in
+ // publishing, like pilcrow, copyright, registered, trade mark,
+ // section, dagger, and double dagger in the range A0 (hex)
+ // to FF (hex).
+ // PCL Symbol Set id: 14J
+ VenturaUS MIB = 2006
+
+ // VenturaInternational is the MIB identifier with IANA name Ventura-International.
+ //
+ // Ventura International. ASCII plus coded characters similar
+ // to Roman8.
+ // PCL Symbol Set id: 13J
+ VenturaInternational MIB = 2007
+
+ // DECMCS is the MIB identifier with IANA name DEC-MCS.
+ //
+ // VAX/VMS User's Manual,
+ // Order Number: AI-Y517A-TE, April 1986.
+ // Reference: RFC1345
+ DECMCS MIB = 2008
+
+ // PC850Multilingual is the MIB identifier with IANA name IBM850.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ PC850Multilingual MIB = 2009
+
+ // PC8DanishNorwegian is the MIB identifier with IANA name PC8-Danish-Norwegian.
+ //
+ // PC Danish Norwegian
+ // 8-bit PC set for Danish Norwegian
+ // PCL Symbol Set id: 11U
+ PC8DanishNorwegian MIB = 2012
+
+ // PC862LatinHebrew is the MIB identifier with IANA name IBM862.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ PC862LatinHebrew MIB = 2013
+
+ // PC8Turkish is the MIB identifier with IANA name PC8-Turkish.
+ //
+ // PC Latin Turkish. PCL Symbol Set id: 9T
+ PC8Turkish MIB = 2014
+
+ // IBMSymbols is the MIB identifier with IANA name IBM-Symbols.
+ //
+ // Presentation Set, CPGID: 259
+ IBMSymbols MIB = 2015
+
+ // IBMThai is the MIB identifier with IANA name IBM-Thai.
+ //
+ // Presentation Set, CPGID: 838
+ IBMThai MIB = 2016
+
+ // HPLegal is the MIB identifier with IANA name HP-Legal.
+ //
+ // PCL 5 Comparison Guide, Hewlett-Packard,
+ // HP part number 5961-0510, October 1992
+ // PCL Symbol Set id: 1U
+ HPLegal MIB = 2017
+
+ // HPPiFont is the MIB identifier with IANA name HP-Pi-font.
+ //
+ // PCL 5 Comparison Guide, Hewlett-Packard,
+ // HP part number 5961-0510, October 1992
+ // PCL Symbol Set id: 15U
+ HPPiFont MIB = 2018
+
+ // HPMath8 is the MIB identifier with IANA name HP-Math8.
+ //
+ // PCL 5 Comparison Guide, Hewlett-Packard,
+ // HP part number 5961-0510, October 1992
+ // PCL Symbol Set id: 8M
+ HPMath8 MIB = 2019
+
+ // HPPSMath is the MIB identifier with IANA name Adobe-Symbol-Encoding.
+ //
+ // PostScript Language Reference Manual
+ // PCL Symbol Set id: 5M
+ HPPSMath MIB = 2020
+
+ // HPDesktop is the MIB identifier with IANA name HP-DeskTop.
+ //
+ // PCL 5 Comparison Guide, Hewlett-Packard,
+ // HP part number 5961-0510, October 1992
+ // PCL Symbol Set id: 7J
+ HPDesktop MIB = 2021
+
+ // VenturaMath is the MIB identifier with IANA name Ventura-Math.
+ //
+ // PCL 5 Comparison Guide, Hewlett-Packard,
+ // HP part number 5961-0510, October 1992
+ // PCL Symbol Set id: 6M
+ VenturaMath MIB = 2022
+
+ // MicrosoftPublishing is the MIB identifier with IANA name Microsoft-Publishing.
+ //
+ // PCL 5 Comparison Guide, Hewlett-Packard,
+ // HP part number 5961-0510, October 1992
+ // PCL Symbol Set id: 6J
+ MicrosoftPublishing MIB = 2023
+
+ // Windows31J is the MIB identifier with IANA name Windows-31J.
+ //
+ // Windows Japanese. A further extension of Shift_JIS
+ // to include NEC special characters (Row 13), NEC
+ // selection of IBM extensions (Rows 89 to 92), and IBM
+ // extensions (Rows 115 to 119). The CCS's are
+ // JIS X0201:1997, JIS X0208:1997, and these extensions.
+ // This charset can be used for the top-level media type "text",
+ // but it is of limited or specialized use (see rfc2278 ).
+ // PCL Symbol Set id: 19K
+ Windows31J MIB = 2024
+
+ // GB2312 is the MIB identifier with IANA name GB2312 (MIME: GB2312).
+ //
+ // Chinese for People's Republic of China (PRC) mixed one byte,
+ // two byte set:
+ // 20-7E = one byte ASCII
+ // A1-FE = two byte PRC Kanji
+ // See GB 2312-80
+ // PCL Symbol Set Id: 18C
+ GB2312 MIB = 2025
+
+ // Big5 is the MIB identifier with IANA name Big5 (MIME: Big5).
+ //
+ // Chinese for Taiwan Multi-byte set.
+ // PCL Symbol Set Id: 18T
+ Big5 MIB = 2026
+
+ // Macintosh is the MIB identifier with IANA name macintosh.
+ //
+ // The Unicode Standard ver1.0, ISBN 0-201-56788-1, Oct 1991
+ // Reference: RFC1345
+ Macintosh MIB = 2027
+
+ // IBM037 is the MIB identifier with IANA name IBM037.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM037 MIB = 2028
+
+ // IBM038 is the MIB identifier with IANA name IBM038.
+ //
+ // IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ // Reference: RFC1345
+ IBM038 MIB = 2029
+
+ // IBM273 is the MIB identifier with IANA name IBM273.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM273 MIB = 2030
+
+ // IBM274 is the MIB identifier with IANA name IBM274.
+ //
+ // IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ // Reference: RFC1345
+ IBM274 MIB = 2031
+
+ // IBM275 is the MIB identifier with IANA name IBM275.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM275 MIB = 2032
+
+ // IBM277 is the MIB identifier with IANA name IBM277.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM277 MIB = 2033
+
+ // IBM278 is the MIB identifier with IANA name IBM278.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM278 MIB = 2034
+
+ // IBM280 is the MIB identifier with IANA name IBM280.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM280 MIB = 2035
+
+ // IBM281 is the MIB identifier with IANA name IBM281.
+ //
+ // IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ // Reference: RFC1345
+ IBM281 MIB = 2036
+
+ // IBM284 is the MIB identifier with IANA name IBM284.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM284 MIB = 2037
+
+ // IBM285 is the MIB identifier with IANA name IBM285.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM285 MIB = 2038
+
+ // IBM290 is the MIB identifier with IANA name IBM290.
+ //
+ // IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ // Reference: RFC1345
+ IBM290 MIB = 2039
+
+ // IBM297 is the MIB identifier with IANA name IBM297.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM297 MIB = 2040
+
+ // IBM420 is the MIB identifier with IANA name IBM420.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990,
+ // IBM NLS RM p 11-11
+ // Reference: RFC1345
+ IBM420 MIB = 2041
+
+ // IBM423 is the MIB identifier with IANA name IBM423.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM423 MIB = 2042
+
+ // IBM424 is the MIB identifier with IANA name IBM424.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM424 MIB = 2043
+
+ // PC8CodePage437 is the MIB identifier with IANA name IBM437.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ PC8CodePage437 MIB = 2011
+
+ // IBM500 is the MIB identifier with IANA name IBM500.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM500 MIB = 2044
+
+ // IBM851 is the MIB identifier with IANA name IBM851.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM851 MIB = 2045
+
+ // PCp852 is the MIB identifier with IANA name IBM852.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ PCp852 MIB = 2010
+
+ // IBM855 is the MIB identifier with IANA name IBM855.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM855 MIB = 2046
+
+ // IBM857 is the MIB identifier with IANA name IBM857.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM857 MIB = 2047
+
+ // IBM860 is the MIB identifier with IANA name IBM860.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM860 MIB = 2048
+
+ // IBM861 is the MIB identifier with IANA name IBM861.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM861 MIB = 2049
+
+ // IBM863 is the MIB identifier with IANA name IBM863.
+ //
+ // IBM Keyboard layouts and code pages, PN 07G4586 June 1991
+ // Reference: RFC1345
+ IBM863 MIB = 2050
+
+ // IBM864 is the MIB identifier with IANA name IBM864.
+ //
+ // IBM Keyboard layouts and code pages, PN 07G4586 June 1991
+ // Reference: RFC1345
+ IBM864 MIB = 2051
+
+ // IBM865 is the MIB identifier with IANA name IBM865.
+ //
+ // IBM DOS 3.3 Ref (Abridged), 94X9575 (Feb 1987)
+ // Reference: RFC1345
+ IBM865 MIB = 2052
+
+ // IBM868 is the MIB identifier with IANA name IBM868.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM868 MIB = 2053
+
+ // IBM869 is the MIB identifier with IANA name IBM869.
+ //
+ // IBM Keyboard layouts and code pages, PN 07G4586 June 1991
+ // Reference: RFC1345
+ IBM869 MIB = 2054
+
+ // IBM870 is the MIB identifier with IANA name IBM870.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM870 MIB = 2055
+
+ // IBM871 is the MIB identifier with IANA name IBM871.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM871 MIB = 2056
+
+ // IBM880 is the MIB identifier with IANA name IBM880.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM880 MIB = 2057
+
+ // IBM891 is the MIB identifier with IANA name IBM891.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM891 MIB = 2058
+
+ // IBM903 is the MIB identifier with IANA name IBM903.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM903 MIB = 2059
+
+ // IBBM904 is the MIB identifier with IANA name IBM904.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBBM904 MIB = 2060
+
+ // IBM905 is the MIB identifier with IANA name IBM905.
+ //
+ // IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ // Reference: RFC1345
+ IBM905 MIB = 2061
+
+ // IBM918 is the MIB identifier with IANA name IBM918.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM918 MIB = 2062
+
+ // IBM1026 is the MIB identifier with IANA name IBM1026.
+ //
+ // IBM NLS RM Vol2 SE09-8002-01, March 1990
+ // Reference: RFC1345
+ IBM1026 MIB = 2063
+
+ // IBMEBCDICATDE is the MIB identifier with IANA name EBCDIC-AT-DE.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ IBMEBCDICATDE MIB = 2064
+
+ // EBCDICATDEA is the MIB identifier with IANA name EBCDIC-AT-DE-A.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICATDEA MIB = 2065
+
+ // EBCDICCAFR is the MIB identifier with IANA name EBCDIC-CA-FR.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICCAFR MIB = 2066
+
+ // EBCDICDKNO is the MIB identifier with IANA name EBCDIC-DK-NO.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICDKNO MIB = 2067
+
+ // EBCDICDKNOA is the MIB identifier with IANA name EBCDIC-DK-NO-A.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICDKNOA MIB = 2068
+
+ // EBCDICFISE is the MIB identifier with IANA name EBCDIC-FI-SE.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICFISE MIB = 2069
+
+ // EBCDICFISEA is the MIB identifier with IANA name EBCDIC-FI-SE-A.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICFISEA MIB = 2070
+
+ // EBCDICFR is the MIB identifier with IANA name EBCDIC-FR.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICFR MIB = 2071
+
+ // EBCDICIT is the MIB identifier with IANA name EBCDIC-IT.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICIT MIB = 2072
+
+ // EBCDICPT is the MIB identifier with IANA name EBCDIC-PT.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICPT MIB = 2073
+
+ // EBCDICES is the MIB identifier with IANA name EBCDIC-ES.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICES MIB = 2074
+
+ // EBCDICESA is the MIB identifier with IANA name EBCDIC-ES-A.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICESA MIB = 2075
+
+ // EBCDICESS is the MIB identifier with IANA name EBCDIC-ES-S.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICESS MIB = 2076
+
+ // EBCDICUK is the MIB identifier with IANA name EBCDIC-UK.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICUK MIB = 2077
+
+ // EBCDICUS is the MIB identifier with IANA name EBCDIC-US.
+ //
+ // IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+ // Reference: RFC1345
+ EBCDICUS MIB = 2078
+
+ // Unknown8BiT is the MIB identifier with IANA name UNKNOWN-8BIT.
+ //
+ // Reference: RFC1428
+ Unknown8BiT MIB = 2079
+
+ // Mnemonic is the MIB identifier with IANA name MNEMONIC.
+ //
+ // rfc1345 , also known as "mnemonic+ascii+38"
+ // Reference: RFC1345
+ Mnemonic MIB = 2080
+
+ // Mnem is the MIB identifier with IANA name MNEM.
+ //
+ // rfc1345 , also known as "mnemonic+ascii+8200"
+ // Reference: RFC1345
+ Mnem MIB = 2081
+
+ // VISCII is the MIB identifier with IANA name VISCII.
+ //
+ // rfc1456
+ // Reference: RFC1456
+ VISCII MIB = 2082
+
+ // VIQR is the MIB identifier with IANA name VIQR.
+ //
+ // rfc1456
+ // Reference: RFC1456
+ VIQR MIB = 2083
+
+ // KOI8R is the MIB identifier with IANA name KOI8-R (MIME: KOI8-R).
+ //
+ // rfc1489 , based on GOST-19768-74, ISO-6937/8,
+ // INIS-Cyrillic, ISO-5427.
+ // Reference: RFC1489
+ KOI8R MIB = 2084
+
+ // HZGB2312 is the MIB identifier with IANA name HZ-GB-2312.
+ //
+ // rfc1842 , rfc1843 rfc1843 rfc1842
+ HZGB2312 MIB = 2085
+
+ // IBM866 is the MIB identifier with IANA name IBM866.
+ //
+ // IBM NLDG Volume 2 (SE09-8002-03) August 1994
+ IBM866 MIB = 2086
+
+ // PC775Baltic is the MIB identifier with IANA name IBM775.
+ //
+ // HP PCL 5 Comparison Guide (P/N 5021-0329) pp B-13, 1996
+ PC775Baltic MIB = 2087
+
+ // KOI8U is the MIB identifier with IANA name KOI8-U.
+ //
+ // rfc2319
+ // Reference: RFC2319
+ KOI8U MIB = 2088
+
+ // IBM00858 is the MIB identifier with IANA name IBM00858.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM00858
+ IBM00858 MIB = 2089
+
+ // IBM00924 is the MIB identifier with IANA name IBM00924.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM00924
+ IBM00924 MIB = 2090
+
+ // IBM01140 is the MIB identifier with IANA name IBM01140.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01140
+ IBM01140 MIB = 2091
+
+ // IBM01141 is the MIB identifier with IANA name IBM01141.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01141
+ IBM01141 MIB = 2092
+
+ // IBM01142 is the MIB identifier with IANA name IBM01142.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01142
+ IBM01142 MIB = 2093
+
+ // IBM01143 is the MIB identifier with IANA name IBM01143.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01143
+ IBM01143 MIB = 2094
+
+ // IBM01144 is the MIB identifier with IANA name IBM01144.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01144
+ IBM01144 MIB = 2095
+
+ // IBM01145 is the MIB identifier with IANA name IBM01145.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01145
+ IBM01145 MIB = 2096
+
+ // IBM01146 is the MIB identifier with IANA name IBM01146.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01146
+ IBM01146 MIB = 2097
+
+ // IBM01147 is the MIB identifier with IANA name IBM01147.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01147
+ IBM01147 MIB = 2098
+
+ // IBM01148 is the MIB identifier with IANA name IBM01148.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01148
+ IBM01148 MIB = 2099
+
+ // IBM01149 is the MIB identifier with IANA name IBM01149.
+ //
+ // IBM See https://www.iana.org/assignments/charset-reg/IBM01149
+ IBM01149 MIB = 2100
+
+ // Big5HKSCS is the MIB identifier with IANA name Big5-HKSCS.
+ //
+ // See https://www.iana.org/assignments/charset-reg/Big5-HKSCS
+ Big5HKSCS MIB = 2101
+
+ // IBM1047 is the MIB identifier with IANA name IBM1047.
+ //
+ // IBM1047 (EBCDIC Latin 1/Open Systems) https://www-1.ibm.com/servers/eserver/iseries/software/globalization/pdf/cp01047z.pdf
+ IBM1047 MIB = 2102
+
+ // PTCP154 is the MIB identifier with IANA name PTCP154.
+ //
+ // See https://www.iana.org/assignments/charset-reg/PTCP154
+ PTCP154 MIB = 2103
+
+ // Amiga1251 is the MIB identifier with IANA name Amiga-1251.
+ //
+ // See https://www.amiga.ultranet.ru/Amiga-1251.html
+ Amiga1251 MIB = 2104
+
+ // KOI7switched is the MIB identifier with IANA name KOI7-switched.
+ //
+ // See https://www.iana.org/assignments/charset-reg/KOI7-switched
+ KOI7switched MIB = 2105
+
+ // BRF is the MIB identifier with IANA name BRF.
+ //
+ // See https://www.iana.org/assignments/charset-reg/BRF
+ BRF MIB = 2106
+
+ // TSCII is the MIB identifier with IANA name TSCII.
+ //
+ // See https://www.iana.org/assignments/charset-reg/TSCII
+ TSCII MIB = 2107
+
+ // CP51932 is the MIB identifier with IANA name CP51932.
+ //
+ // See https://www.iana.org/assignments/charset-reg/CP51932
+ CP51932 MIB = 2108
+
+ // Windows874 is the MIB identifier with IANA name windows-874.
+ //
+ // See https://www.iana.org/assignments/charset-reg/windows-874
+ Windows874 MIB = 2109
+
+ // Windows1250 is the MIB identifier with IANA name windows-1250.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1250
+ Windows1250 MIB = 2250
+
+ // Windows1251 is the MIB identifier with IANA name windows-1251.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1251
+ Windows1251 MIB = 2251
+
+ // Windows1252 is the MIB identifier with IANA name windows-1252.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1252
+ Windows1252 MIB = 2252
+
+ // Windows1253 is the MIB identifier with IANA name windows-1253.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1253
+ Windows1253 MIB = 2253
+
+ // Windows1254 is the MIB identifier with IANA name windows-1254.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1254
+ Windows1254 MIB = 2254
+
+ // Windows1255 is the MIB identifier with IANA name windows-1255.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1255
+ Windows1255 MIB = 2255
+
+ // Windows1256 is the MIB identifier with IANA name windows-1256.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1256
+ Windows1256 MIB = 2256
+
+ // Windows1257 is the MIB identifier with IANA name windows-1257.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1257
+ Windows1257 MIB = 2257
+
+ // Windows1258 is the MIB identifier with IANA name windows-1258.
+ //
+ // Microsoft https://www.iana.org/assignments/charset-reg/windows-1258
+ Windows1258 MIB = 2258
+
+ // TIS620 is the MIB identifier with IANA name TIS-620.
+ //
+ // Thai Industrial Standards Institute (TISI)
+ TIS620 MIB = 2259
+
+ // CP50220 is the MIB identifier with IANA name CP50220.
+ //
+ // See https://www.iana.org/assignments/charset-reg/CP50220
+ CP50220 MIB = 2260
+)
diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go
index d69ccb4f..487335d1 100644
--- a/vendor/golang.org/x/text/unicode/norm/forminfo.go
+++ b/vendor/golang.org/x/text/unicode/norm/forminfo.go
@@ -13,7 +13,7 @@ import "encoding/binary"
// a rune to a uint16. The values take two forms. For v >= 0x8000:
// bits
// 15: 1 (inverse of NFD_QC bit of qcInfo)
-// 13..7: qcInfo (see below). isYesD is always true (no decompostion).
+// 13..7: qcInfo (see below). isYesD is always true (no decomposition).
// 6..0: ccc (compressed CCC value).
// For v < 0x8000, the respective rune has a decomposition and v is an index
// into a byte array of UTF-8 decomposition sequences and additional info and
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/doc.go b/vendor/google.golang.org/protobuf/encoding/protojson/doc.go
index 00ea2fec..21d5d2cb 100644
--- a/vendor/google.golang.org/protobuf/encoding/protojson/doc.go
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/doc.go
@@ -4,7 +4,7 @@
// Package protojson marshals and unmarshals protocol buffer messages as JSON
// format. It follows the guide at
-// https://developers.google.com/protocol-buffers/docs/proto3#json.
+// https://protobuf.dev/programming-guides/proto3#json.
//
// This package produces a different output than the standard "encoding/json"
// package, which does not operate correctly on protocol buffer messages.
diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
index c85f8469..6c37d417 100644
--- a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
@@ -814,16 +814,22 @@ func (d decoder) unmarshalTimestamp(m protoreflect.Message) error {
return d.unexpectedTokenError(tok)
}
- t, err := time.Parse(time.RFC3339Nano, tok.ParsedString())
+ s := tok.ParsedString()
+ t, err := time.Parse(time.RFC3339Nano, s)
if err != nil {
return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString())
}
- // Validate seconds. No need to validate nanos because time.Parse would have
- // covered that already.
+ // Validate seconds.
secs := t.Unix()
if secs < minTimestampSeconds || secs > maxTimestampSeconds {
return d.newError(tok.Pos(), "%v value out of range: %v", genid.Timestamp_message_fullname, tok.RawString())
}
+ // Validate subseconds.
+ i := strings.LastIndexByte(s, '.') // start of subsecond field
+ j := strings.LastIndexAny(s, "Z-+") // start of timezone field
+ if i >= 0 && j >= i && j-i > len(".999999999") {
+ return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString())
+ }
fds := m.Descriptor().Fields()
fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number)
diff --git a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
index ce57f57e..f4b4686c 100644
--- a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
+++ b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file.
// Package protowire parses and formats the raw wire encoding.
-// See https://developers.google.com/protocol-buffers/docs/encoding.
+// See https://protobuf.dev/programming-guides/encoding.
//
// For marshaling and unmarshaling entire protobuf messages,
// use the "google.golang.org/protobuf/proto" package instead.
@@ -29,12 +29,8 @@ const (
)
// IsValid reports whether the field number is semantically valid.
-//
-// Note that while numbers within the reserved range are semantically invalid,
-// they are syntactically valid in the wire format.
-// Implementations may treat records with reserved field numbers as unknown.
func (n Number) IsValid() bool {
- return MinValidNumber <= n && n < FirstReservedNumber || LastReservedNumber < n && n <= MaxValidNumber
+ return MinValidNumber <= n && n <= MaxValidNumber
}
// Type represents the wire type.
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go
index b13fd29e..d043a6eb 100644
--- a/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go
+++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go
@@ -294,7 +294,7 @@ func (d *Decoder) isValueNext() bool {
}
// consumeToken constructs a Token for given Kind with raw value derived from
-// current d.in and given size, and consumes the given size-lenght of it.
+// current d.in and given size, and consumes the given size-length of it.
func (d *Decoder) consumeToken(kind Kind, size int) Token {
tok := Token{
kind: kind,
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
index 427c62d0..87853e78 100644
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
+++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
@@ -412,12 +412,13 @@ func (d *Decoder) parseFieldName() (tok Token, err error) {
// Field number. Identify if input is a valid number that is not negative
// and is decimal integer within 32-bit range.
if num := parseNumber(d.in); num.size > 0 {
+ str := num.string(d.in)
if !num.neg && num.kind == numDec {
- if _, err := strconv.ParseInt(string(d.in[:num.size]), 10, 32); err == nil {
+ if _, err := strconv.ParseInt(str, 10, 32); err == nil {
return d.consumeToken(Name, num.size, uint8(FieldNumber)), nil
}
}
- return Token{}, d.newSyntaxError("invalid field number: %s", d.in[:num.size])
+ return Token{}, d.newSyntaxError("invalid field number: %s", str)
}
return Token{}, d.newSyntaxError("invalid field name: %s", errId(d.in))
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
index 81a5d8c8..45c81f02 100644
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
+++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
@@ -15,17 +15,12 @@ func (d *Decoder) parseNumberValue() (Token, bool) {
if num.neg {
numAttrs |= isNegative
}
- strSize := num.size
- last := num.size - 1
- if num.kind == numFloat && (d.in[last] == 'f' || d.in[last] == 'F') {
- strSize = last
- }
tok := Token{
kind: Scalar,
attrs: numberValue,
pos: len(d.orig) - len(d.in),
raw: d.in[:num.size],
- str: string(d.in[:strSize]),
+ str: num.string(d.in),
numAttrs: numAttrs,
}
d.consume(num.size)
@@ -46,6 +41,27 @@ type number struct {
kind uint8
neg bool
size int
+ // if neg, this is the length of whitespace and comments between
+ // the minus sign and the rest fo the number literal
+ sep int
+}
+
+func (num number) string(data []byte) string {
+ strSize := num.size
+ last := num.size - 1
+ if num.kind == numFloat && (data[last] == 'f' || data[last] == 'F') {
+ strSize = last
+ }
+ if num.neg && num.sep > 0 {
+ // strip whitespace/comments between negative sign and the rest
+ strLen := strSize - num.sep
+ str := make([]byte, strLen)
+ str[0] = data[0]
+ copy(str[1:], data[num.sep+1:strSize])
+ return string(str)
+ }
+ return string(data[:strSize])
+
}
// parseNumber constructs a number object from given input. It allows for the
@@ -67,19 +83,22 @@ func parseNumber(input []byte) number {
}
// Optional -
+ var sep int
if s[0] == '-' {
neg = true
s = s[1:]
size++
+ // Consume any whitespace or comments between the
+ // negative sign and the rest of the number
+ lenBefore := len(s)
+ s = consume(s, 0)
+ sep = lenBefore - len(s)
+ size += sep
if len(s) == 0 {
return number{}
}
}
- // C++ allows for whitespace and comments in between the negative sign and
- // the rest of the number. This logic currently does not but is consistent
- // with v1.
-
switch {
case s[0] == '0':
if len(s) > 1 {
@@ -116,7 +135,7 @@ func parseNumber(input []byte) number {
if len(s) > 0 && !isDelim(s[0]) {
return number{}
}
- return number{kind: kind, neg: neg, size: size}
+ return number{kind: kind, neg: neg, size: size, sep: sep}
}
}
s = s[1:]
@@ -188,5 +207,5 @@ func parseNumber(input []byte) number {
return number{}
}
- return number{kind: kind, neg: neg, size: size}
+ return number{kind: kind, neg: neg, size: size, sep: sep}
}
diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
index e3cdf1c2..5c0e8f73 100644
--- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
+++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
@@ -50,6 +50,7 @@ const (
FileDescriptorProto_Options_field_name protoreflect.Name = "options"
FileDescriptorProto_SourceCodeInfo_field_name protoreflect.Name = "source_code_info"
FileDescriptorProto_Syntax_field_name protoreflect.Name = "syntax"
+ FileDescriptorProto_Edition_field_name protoreflect.Name = "edition"
FileDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.name"
FileDescriptorProto_Package_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.package"
@@ -63,6 +64,7 @@ const (
FileDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.options"
FileDescriptorProto_SourceCodeInfo_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info"
FileDescriptorProto_Syntax_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax"
+ FileDescriptorProto_Edition_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.edition"
)
// Field numbers for google.protobuf.FileDescriptorProto.
@@ -79,6 +81,7 @@ const (
FileDescriptorProto_Options_field_number protoreflect.FieldNumber = 8
FileDescriptorProto_SourceCodeInfo_field_number protoreflect.FieldNumber = 9
FileDescriptorProto_Syntax_field_number protoreflect.FieldNumber = 12
+ FileDescriptorProto_Edition_field_number protoreflect.FieldNumber = 13
)
// Names for google.protobuf.DescriptorProto.
@@ -494,26 +497,29 @@ const (
// Field names for google.protobuf.MessageOptions.
const (
- MessageOptions_MessageSetWireFormat_field_name protoreflect.Name = "message_set_wire_format"
- MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor"
- MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry"
- MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
+ MessageOptions_MessageSetWireFormat_field_name protoreflect.Name = "message_set_wire_format"
+ MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor"
+ MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated"
+ MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry"
+ MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
+ MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
- MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format"
- MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor"
- MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated"
- MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry"
- MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option"
+ MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format"
+ MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor"
+ MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated"
+ MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry"
+ MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts"
+ MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option"
)
// Field numbers for google.protobuf.MessageOptions.
const (
- MessageOptions_MessageSetWireFormat_field_number protoreflect.FieldNumber = 1
- MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2
- MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3
- MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7
- MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
+ MessageOptions_MessageSetWireFormat_field_number protoreflect.FieldNumber = 1
+ MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2
+ MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3
+ MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7
+ MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11
+ MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
// Names for google.protobuf.FieldOptions.
@@ -528,16 +534,24 @@ const (
FieldOptions_Packed_field_name protoreflect.Name = "packed"
FieldOptions_Jstype_field_name protoreflect.Name = "jstype"
FieldOptions_Lazy_field_name protoreflect.Name = "lazy"
+ FieldOptions_UnverifiedLazy_field_name protoreflect.Name = "unverified_lazy"
FieldOptions_Deprecated_field_name protoreflect.Name = "deprecated"
FieldOptions_Weak_field_name protoreflect.Name = "weak"
+ FieldOptions_DebugRedact_field_name protoreflect.Name = "debug_redact"
+ FieldOptions_Retention_field_name protoreflect.Name = "retention"
+ FieldOptions_Target_field_name protoreflect.Name = "target"
FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype"
FieldOptions_Packed_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.packed"
FieldOptions_Jstype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.jstype"
FieldOptions_Lazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.lazy"
+ FieldOptions_UnverifiedLazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.unverified_lazy"
FieldOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.deprecated"
FieldOptions_Weak_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.weak"
+ FieldOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact"
+ FieldOptions_Retention_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.retention"
+ FieldOptions_Target_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.target"
FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"
)
@@ -547,8 +561,12 @@ const (
FieldOptions_Packed_field_number protoreflect.FieldNumber = 2
FieldOptions_Jstype_field_number protoreflect.FieldNumber = 6
FieldOptions_Lazy_field_number protoreflect.FieldNumber = 5
+ FieldOptions_UnverifiedLazy_field_number protoreflect.FieldNumber = 15
FieldOptions_Deprecated_field_number protoreflect.FieldNumber = 3
FieldOptions_Weak_field_number protoreflect.FieldNumber = 10
+ FieldOptions_DebugRedact_field_number protoreflect.FieldNumber = 16
+ FieldOptions_Retention_field_number protoreflect.FieldNumber = 17
+ FieldOptions_Target_field_number protoreflect.FieldNumber = 18
FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -564,6 +582,18 @@ const (
FieldOptions_JSType_enum_name = "JSType"
)
+// Full and short names for google.protobuf.FieldOptions.OptionRetention.
+const (
+ FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention"
+ FieldOptions_OptionRetention_enum_name = "OptionRetention"
+)
+
+// Full and short names for google.protobuf.FieldOptions.OptionTargetType.
+const (
+ FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType"
+ FieldOptions_OptionTargetType_enum_name = "OptionTargetType"
+)
+
// Names for google.protobuf.OneofOptions.
const (
OneofOptions_message_name protoreflect.Name = "OneofOptions"
@@ -590,20 +620,23 @@ const (
// Field names for google.protobuf.EnumOptions.
const (
- EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias"
- EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
+ EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias"
+ EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated"
+ EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
+ EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
- EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias"
- EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated"
- EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option"
+ EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias"
+ EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated"
+ EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts"
+ EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option"
)
// Field numbers for google.protobuf.EnumOptions.
const (
- EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2
- EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3
- EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
+ EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2
+ EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3
+ EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6
+ EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
// Names for google.protobuf.EnumValueOptions.
@@ -813,11 +846,13 @@ const (
GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file"
GeneratedCodeInfo_Annotation_Begin_field_name protoreflect.Name = "begin"
GeneratedCodeInfo_Annotation_End_field_name protoreflect.Name = "end"
+ GeneratedCodeInfo_Annotation_Semantic_field_name protoreflect.Name = "semantic"
GeneratedCodeInfo_Annotation_Path_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path"
GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file"
GeneratedCodeInfo_Annotation_Begin_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin"
GeneratedCodeInfo_Annotation_End_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end"
+ GeneratedCodeInfo_Annotation_Semantic_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.semantic"
)
// Field numbers for google.protobuf.GeneratedCodeInfo.Annotation.
@@ -826,4 +861,11 @@ const (
GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2
GeneratedCodeInfo_Annotation_Begin_field_number protoreflect.FieldNumber = 3
GeneratedCodeInfo_Annotation_End_field_number protoreflect.FieldNumber = 4
+ GeneratedCodeInfo_Annotation_Semantic_field_number protoreflect.FieldNumber = 5
+)
+
+// Full and short names for google.protobuf.GeneratedCodeInfo.Annotation.Semantic.
+const (
+ GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic"
+ GeneratedCodeInfo_Annotation_Semantic_enum_name = "Semantic"
)
diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert.go b/vendor/google.golang.org/protobuf/internal/impl/convert.go
index 11a6128b..185ef2ef 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/convert.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/convert.go
@@ -59,7 +59,6 @@ func NewConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter {
default:
return newSingularConverter(t, fd)
}
- panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName()))
}
var (
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
index fea589c4..61a84d34 100644
--- a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
+++ b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
@@ -87,7 +87,7 @@ func (sb *Builder) grow(n int) {
// Unlike strings.Builder, we do not need to copy over the contents
// of the old buffer since our builder provides no API for
// retrieving previously created strings.
- sb.buf = make([]byte, 2*(cap(sb.buf)+n))
+ sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n))
}
func (sb *Builder) last(n int) string {
diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go
index b480c501..f7014cd5 100644
--- a/vendor/google.golang.org/protobuf/internal/version/version.go
+++ b/vendor/google.golang.org/protobuf/internal/version/version.go
@@ -51,8 +51,8 @@ import (
// 10. Send out the CL for review and submit it.
const (
Major = 1
- Minor = 28
- Patch = 1
+ Minor = 30
+ Patch = 0
PreRelease = ""
)
diff --git a/vendor/google.golang.org/protobuf/proto/doc.go b/vendor/google.golang.org/protobuf/proto/doc.go
index 08d2a46f..ec71e717 100644
--- a/vendor/google.golang.org/protobuf/proto/doc.go
+++ b/vendor/google.golang.org/protobuf/proto/doc.go
@@ -5,16 +5,13 @@
// Package proto provides functions operating on protocol buffer messages.
//
// For documentation on protocol buffers in general, see:
-//
-// https://developers.google.com/protocol-buffers
+// https://protobuf.dev.
//
// For a tutorial on using protocol buffers with Go, see:
-//
-// https://developers.google.com/protocol-buffers/docs/gotutorial
+// https://protobuf.dev/getting-started/gotutorial.
//
// For a guide to generated Go protocol buffer code, see:
-//
-// https://developers.google.com/protocol-buffers/docs/reference/go-generated
+// https://protobuf.dev/reference/go/go-generated.
//
// # Binary serialization
//
diff --git a/vendor/google.golang.org/protobuf/proto/equal.go b/vendor/google.golang.org/protobuf/proto/equal.go
index 67948dd1..1a0be1b0 100644
--- a/vendor/google.golang.org/protobuf/proto/equal.go
+++ b/vendor/google.golang.org/protobuf/proto/equal.go
@@ -5,30 +5,39 @@
package proto
import (
- "bytes"
- "math"
"reflect"
- "google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/reflect/protoreflect"
)
-// Equal reports whether two messages are equal.
-// If two messages marshal to the same bytes under deterministic serialization,
-// then Equal is guaranteed to report true.
+// Equal reports whether two messages are equal,
+// by recursively comparing the fields of the message.
//
-// Two messages are equal if they belong to the same message descriptor,
-// have the same set of populated known and extension field values,
-// and the same set of unknown fields values. If either of the top-level
-// messages are invalid, then Equal reports true only if both are invalid.
+// - Bytes fields are equal if they contain identical bytes.
+// Empty bytes (regardless of nil-ness) are considered equal.
//
-// Scalar values are compared with the equivalent of the == operator in Go,
-// except bytes values which are compared using bytes.Equal and
-// floating point values which specially treat NaNs as equal.
-// Message values are compared by recursively calling Equal.
-// Lists are equal if each element value is also equal.
-// Maps are equal if they have the same set of keys, where the pair of values
-// for each key is also equal.
+// - Floating-point fields are equal if they contain the same value.
+// Unlike the == operator, a NaN is equal to another NaN.
+//
+// - Other scalar fields are equal if they contain the same value.
+//
+// - Message fields are equal if they have
+// the same set of populated known and extension field values, and
+// the same set of unknown fields values.
+//
+// - Lists are equal if they are the same length and
+// each corresponding element is equal.
+//
+// - Maps are equal if they have the same set of keys and
+// the corresponding value for each key is equal.
+//
+// An invalid message is not equal to a valid message.
+// An invalid message is only equal to another invalid message of the
+// same type. An invalid message often corresponds to a nil pointer
+// of the concrete message type. For example, (*pb.M)(nil) is not equal
+// to &pb.M{}.
+// If two valid messages marshal to the same bytes under deterministic
+// serialization, then Equal is guaranteed to report true.
func Equal(x, y Message) bool {
if x == nil || y == nil {
return x == nil && y == nil
@@ -42,130 +51,7 @@ func Equal(x, y Message) bool {
if mx.IsValid() != my.IsValid() {
return false
}
- return equalMessage(mx, my)
-}
-
-// equalMessage compares two messages.
-func equalMessage(mx, my protoreflect.Message) bool {
- if mx.Descriptor() != my.Descriptor() {
- return false
- }
-
- nx := 0
- equal := true
- mx.Range(func(fd protoreflect.FieldDescriptor, vx protoreflect.Value) bool {
- nx++
- vy := my.Get(fd)
- equal = my.Has(fd) && equalField(fd, vx, vy)
- return equal
- })
- if !equal {
- return false
- }
- ny := 0
- my.Range(func(fd protoreflect.FieldDescriptor, vx protoreflect.Value) bool {
- ny++
- return true
- })
- if nx != ny {
- return false
- }
-
- return equalUnknown(mx.GetUnknown(), my.GetUnknown())
-}
-
-// equalField compares two fields.
-func equalField(fd protoreflect.FieldDescriptor, x, y protoreflect.Value) bool {
- switch {
- case fd.IsList():
- return equalList(fd, x.List(), y.List())
- case fd.IsMap():
- return equalMap(fd, x.Map(), y.Map())
- default:
- return equalValue(fd, x, y)
- }
-}
-
-// equalMap compares two maps.
-func equalMap(fd protoreflect.FieldDescriptor, x, y protoreflect.Map) bool {
- if x.Len() != y.Len() {
- return false
- }
- equal := true
- x.Range(func(k protoreflect.MapKey, vx protoreflect.Value) bool {
- vy := y.Get(k)
- equal = y.Has(k) && equalValue(fd.MapValue(), vx, vy)
- return equal
- })
- return equal
-}
-
-// equalList compares two lists.
-func equalList(fd protoreflect.FieldDescriptor, x, y protoreflect.List) bool {
- if x.Len() != y.Len() {
- return false
- }
- for i := x.Len() - 1; i >= 0; i-- {
- if !equalValue(fd, x.Get(i), y.Get(i)) {
- return false
- }
- }
- return true
-}
-
-// equalValue compares two singular values.
-func equalValue(fd protoreflect.FieldDescriptor, x, y protoreflect.Value) bool {
- switch fd.Kind() {
- case protoreflect.BoolKind:
- return x.Bool() == y.Bool()
- case protoreflect.EnumKind:
- return x.Enum() == y.Enum()
- case protoreflect.Int32Kind, protoreflect.Sint32Kind,
- protoreflect.Int64Kind, protoreflect.Sint64Kind,
- protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind:
- return x.Int() == y.Int()
- case protoreflect.Uint32Kind, protoreflect.Uint64Kind,
- protoreflect.Fixed32Kind, protoreflect.Fixed64Kind:
- return x.Uint() == y.Uint()
- case protoreflect.FloatKind, protoreflect.DoubleKind:
- fx := x.Float()
- fy := y.Float()
- if math.IsNaN(fx) || math.IsNaN(fy) {
- return math.IsNaN(fx) && math.IsNaN(fy)
- }
- return fx == fy
- case protoreflect.StringKind:
- return x.String() == y.String()
- case protoreflect.BytesKind:
- return bytes.Equal(x.Bytes(), y.Bytes())
- case protoreflect.MessageKind, protoreflect.GroupKind:
- return equalMessage(x.Message(), y.Message())
- default:
- return x.Interface() == y.Interface()
- }
-}
-
-// equalUnknown compares unknown fields by direct comparison on the raw bytes
-// of each individual field number.
-func equalUnknown(x, y protoreflect.RawFields) bool {
- if len(x) != len(y) {
- return false
- }
- if bytes.Equal([]byte(x), []byte(y)) {
- return true
- }
-
- mx := make(map[protoreflect.FieldNumber]protoreflect.RawFields)
- my := make(map[protoreflect.FieldNumber]protoreflect.RawFields)
- for len(x) > 0 {
- fnum, _, n := protowire.ConsumeField(x)
- mx[fnum] = append(mx[fnum], x[:n]...)
- x = x[n:]
- }
- for len(y) > 0 {
- fnum, _, n := protowire.ConsumeField(y)
- my[fnum] = append(my[fnum], y[:n]...)
- y = y[n:]
- }
- return reflect.DeepEqual(mx, my)
+ vx := protoreflect.ValueOfMessage(mx)
+ vy := protoreflect.ValueOfMessage(my)
+ return vx.Equal(vy)
}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
index b03c1223..54ce326d 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
@@ -35,6 +35,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
b = p.appendSingularField(b, "source_code_info", (*SourcePath).appendSourceCodeInfo)
case 12:
b = p.appendSingularField(b, "syntax", nil)
+ case 13:
+ b = p.appendSingularField(b, "edition", nil)
}
return b
}
@@ -236,6 +238,8 @@ func (p *SourcePath) appendMessageOptions(b []byte) []byte {
b = p.appendSingularField(b, "deprecated", nil)
case 7:
b = p.appendSingularField(b, "map_entry", nil)
+ case 11:
+ b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -279,6 +283,8 @@ func (p *SourcePath) appendEnumOptions(b []byte) []byte {
b = p.appendSingularField(b, "allow_alias", nil)
case 3:
b = p.appendSingularField(b, "deprecated", nil)
+ case 6:
+ b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -345,10 +351,18 @@ func (p *SourcePath) appendFieldOptions(b []byte) []byte {
b = p.appendSingularField(b, "jstype", nil)
case 5:
b = p.appendSingularField(b, "lazy", nil)
+ case 15:
+ b = p.appendSingularField(b, "unverified_lazy", nil)
case 3:
b = p.appendSingularField(b, "deprecated", nil)
case 10:
b = p.appendSingularField(b, "weak", nil)
+ case 16:
+ b = p.appendSingularField(b, "debug_redact", nil)
+ case 17:
+ b = p.appendSingularField(b, "retention", nil)
+ case 18:
+ b = p.appendSingularField(b, "target", nil)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
index f3198107..37601b78 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
@@ -148,7 +148,7 @@ type Message interface {
// be preserved in marshaling or other operations.
IsValid() bool
- // ProtoMethods returns optional fast-path implementions of various operations.
+ // ProtoMethods returns optional fast-path implementations of various operations.
// This method may return nil.
//
// The returned methods type is identical to
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
new file mode 100644
index 00000000..59165254
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
@@ -0,0 +1,168 @@
+// Copyright 2022 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package protoreflect
+
+import (
+ "bytes"
+ "fmt"
+ "math"
+ "reflect"
+
+ "google.golang.org/protobuf/encoding/protowire"
+)
+
+// Equal reports whether v1 and v2 are recursively equal.
+//
+// - Values of different types are always unequal.
+//
+// - Bytes values are equal if they contain identical bytes.
+// Empty bytes (regardless of nil-ness) are considered equal.
+//
+// - Floating point values are equal if they contain the same value.
+// Unlike the == operator, a NaN is equal to another NaN.
+//
+// - Enums are equal if they contain the same number.
+// Since Value does not contain an enum descriptor,
+// enum values do not consider the type of the enum.
+//
+// - Other scalar values are equal if they contain the same value.
+//
+// - Message values are equal if they belong to the same message descriptor,
+// have the same set of populated known and extension field values,
+// and the same set of unknown fields values.
+//
+// - Lists are equal if they are the same length and
+// each corresponding element is equal.
+//
+// - Maps are equal if they have the same set of keys and
+// the corresponding value for each key is equal.
+func (v1 Value) Equal(v2 Value) bool {
+ return equalValue(v1, v2)
+}
+
+func equalValue(x, y Value) bool {
+ eqType := x.typ == y.typ
+ switch x.typ {
+ case nilType:
+ return eqType
+ case boolType:
+ return eqType && x.Bool() == y.Bool()
+ case int32Type, int64Type:
+ return eqType && x.Int() == y.Int()
+ case uint32Type, uint64Type:
+ return eqType && x.Uint() == y.Uint()
+ case float32Type, float64Type:
+ return eqType && equalFloat(x.Float(), y.Float())
+ case stringType:
+ return eqType && x.String() == y.String()
+ case bytesType:
+ return eqType && bytes.Equal(x.Bytes(), y.Bytes())
+ case enumType:
+ return eqType && x.Enum() == y.Enum()
+ default:
+ switch x := x.Interface().(type) {
+ case Message:
+ y, ok := y.Interface().(Message)
+ return ok && equalMessage(x, y)
+ case List:
+ y, ok := y.Interface().(List)
+ return ok && equalList(x, y)
+ case Map:
+ y, ok := y.Interface().(Map)
+ return ok && equalMap(x, y)
+ default:
+ panic(fmt.Sprintf("unknown type: %T", x))
+ }
+ }
+}
+
+// equalFloat compares two floats, where NaNs are treated as equal.
+func equalFloat(x, y float64) bool {
+ if math.IsNaN(x) || math.IsNaN(y) {
+ return math.IsNaN(x) && math.IsNaN(y)
+ }
+ return x == y
+}
+
+// equalMessage compares two messages.
+func equalMessage(mx, my Message) bool {
+ if mx.Descriptor() != my.Descriptor() {
+ return false
+ }
+
+ nx := 0
+ equal := true
+ mx.Range(func(fd FieldDescriptor, vx Value) bool {
+ nx++
+ vy := my.Get(fd)
+ equal = my.Has(fd) && equalValue(vx, vy)
+ return equal
+ })
+ if !equal {
+ return false
+ }
+ ny := 0
+ my.Range(func(fd FieldDescriptor, vx Value) bool {
+ ny++
+ return true
+ })
+ if nx != ny {
+ return false
+ }
+
+ return equalUnknown(mx.GetUnknown(), my.GetUnknown())
+}
+
+// equalList compares two lists.
+func equalList(x, y List) bool {
+ if x.Len() != y.Len() {
+ return false
+ }
+ for i := x.Len() - 1; i >= 0; i-- {
+ if !equalValue(x.Get(i), y.Get(i)) {
+ return false
+ }
+ }
+ return true
+}
+
+// equalMap compares two maps.
+func equalMap(x, y Map) bool {
+ if x.Len() != y.Len() {
+ return false
+ }
+ equal := true
+ x.Range(func(k MapKey, vx Value) bool {
+ vy := y.Get(k)
+ equal = y.Has(k) && equalValue(vx, vy)
+ return equal
+ })
+ return equal
+}
+
+// equalUnknown compares unknown fields by direct comparison on the raw bytes
+// of each individual field number.
+func equalUnknown(x, y RawFields) bool {
+ if len(x) != len(y) {
+ return false
+ }
+ if bytes.Equal([]byte(x), []byte(y)) {
+ return true
+ }
+
+ mx := make(map[FieldNumber]RawFields)
+ my := make(map[FieldNumber]RawFields)
+ for len(x) > 0 {
+ fnum, _, n := protowire.ConsumeField(x)
+ mx[fnum] = append(mx[fnum], x[:n]...)
+ x = x[n:]
+ }
+ for len(y) > 0 {
+ fnum, _, n := protowire.ConsumeField(y)
+ my[fnum] = append(my[fnum], y[:n]...)
+ y = y[n:]
+ }
+ return reflect.DeepEqual(mx, my)
+}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
index ca8e28c5..08e5ef73 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
@@ -54,11 +54,11 @@ import (
// // Append a 0 to a "repeated int32" field.
// // Since the Value returned by Mutable is guaranteed to alias
// // the source message, modifying the Value modifies the message.
-// message.Mutable(fieldDesc).(List).Append(protoreflect.ValueOfInt32(0))
+// message.Mutable(fieldDesc).List().Append(protoreflect.ValueOfInt32(0))
//
// // Assign [0] to a "repeated int32" field by creating a new Value,
// // modifying it, and assigning it.
-// list := message.NewField(fieldDesc).(List)
+// list := message.NewField(fieldDesc).List()
// list.Append(protoreflect.ValueOfInt32(0))
// message.Set(fieldDesc, list)
// // ERROR: Since it is not defined whether Set aliases the source,
diff --git a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
index 58352a69..aeb55977 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
@@ -46,7 +46,7 @@ var conflictPolicy = "panic" // "panic" | "warn" | "ignore"
// It is a variable so that the behavior is easily overridden in another file.
var ignoreConflict = func(d protoreflect.Descriptor, err error) bool {
const env = "GOLANG_PROTOBUF_REGISTRATION_CONFLICT"
- const faq = "https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict"
+ const faq = "https://protobuf.dev/reference/go/faq#namespace-conflict"
policy := conflictPolicy
if v := os.Getenv(env); v != "" {
policy = v
diff --git a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
index abe4ab51..dac5671d 100644
--- a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
+++ b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
@@ -406,6 +406,152 @@ func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1}
}
+// If set to RETENTION_SOURCE, the option will be omitted from the binary.
+// Note: as of January 2023, support for this is in progress and does not yet
+// have an effect (b/264593489).
+type FieldOptions_OptionRetention int32
+
+const (
+ FieldOptions_RETENTION_UNKNOWN FieldOptions_OptionRetention = 0
+ FieldOptions_RETENTION_RUNTIME FieldOptions_OptionRetention = 1
+ FieldOptions_RETENTION_SOURCE FieldOptions_OptionRetention = 2
+)
+
+// Enum value maps for FieldOptions_OptionRetention.
+var (
+ FieldOptions_OptionRetention_name = map[int32]string{
+ 0: "RETENTION_UNKNOWN",
+ 1: "RETENTION_RUNTIME",
+ 2: "RETENTION_SOURCE",
+ }
+ FieldOptions_OptionRetention_value = map[string]int32{
+ "RETENTION_UNKNOWN": 0,
+ "RETENTION_RUNTIME": 1,
+ "RETENTION_SOURCE": 2,
+ }
+)
+
+func (x FieldOptions_OptionRetention) Enum() *FieldOptions_OptionRetention {
+ p := new(FieldOptions_OptionRetention)
+ *p = x
+ return p
+}
+
+func (x FieldOptions_OptionRetention) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
+}
+
+func (FieldOptions_OptionRetention) Type() protoreflect.EnumType {
+ return &file_google_protobuf_descriptor_proto_enumTypes[5]
+}
+
+func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *FieldOptions_OptionRetention) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = FieldOptions_OptionRetention(num)
+ return nil
+}
+
+// Deprecated: Use FieldOptions_OptionRetention.Descriptor instead.
+func (FieldOptions_OptionRetention) EnumDescriptor() ([]byte, []int) {
+ return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 2}
+}
+
+// This indicates the types of entities that the field may apply to when used
+// as an option. If it is unset, then the field may be freely used as an
+// option on any kind of entity. Note: as of January 2023, support for this is
+// in progress and does not yet have an effect (b/264593489).
+type FieldOptions_OptionTargetType int32
+
+const (
+ FieldOptions_TARGET_TYPE_UNKNOWN FieldOptions_OptionTargetType = 0
+ FieldOptions_TARGET_TYPE_FILE FieldOptions_OptionTargetType = 1
+ FieldOptions_TARGET_TYPE_EXTENSION_RANGE FieldOptions_OptionTargetType = 2
+ FieldOptions_TARGET_TYPE_MESSAGE FieldOptions_OptionTargetType = 3
+ FieldOptions_TARGET_TYPE_FIELD FieldOptions_OptionTargetType = 4
+ FieldOptions_TARGET_TYPE_ONEOF FieldOptions_OptionTargetType = 5
+ FieldOptions_TARGET_TYPE_ENUM FieldOptions_OptionTargetType = 6
+ FieldOptions_TARGET_TYPE_ENUM_ENTRY FieldOptions_OptionTargetType = 7
+ FieldOptions_TARGET_TYPE_SERVICE FieldOptions_OptionTargetType = 8
+ FieldOptions_TARGET_TYPE_METHOD FieldOptions_OptionTargetType = 9
+)
+
+// Enum value maps for FieldOptions_OptionTargetType.
+var (
+ FieldOptions_OptionTargetType_name = map[int32]string{
+ 0: "TARGET_TYPE_UNKNOWN",
+ 1: "TARGET_TYPE_FILE",
+ 2: "TARGET_TYPE_EXTENSION_RANGE",
+ 3: "TARGET_TYPE_MESSAGE",
+ 4: "TARGET_TYPE_FIELD",
+ 5: "TARGET_TYPE_ONEOF",
+ 6: "TARGET_TYPE_ENUM",
+ 7: "TARGET_TYPE_ENUM_ENTRY",
+ 8: "TARGET_TYPE_SERVICE",
+ 9: "TARGET_TYPE_METHOD",
+ }
+ FieldOptions_OptionTargetType_value = map[string]int32{
+ "TARGET_TYPE_UNKNOWN": 0,
+ "TARGET_TYPE_FILE": 1,
+ "TARGET_TYPE_EXTENSION_RANGE": 2,
+ "TARGET_TYPE_MESSAGE": 3,
+ "TARGET_TYPE_FIELD": 4,
+ "TARGET_TYPE_ONEOF": 5,
+ "TARGET_TYPE_ENUM": 6,
+ "TARGET_TYPE_ENUM_ENTRY": 7,
+ "TARGET_TYPE_SERVICE": 8,
+ "TARGET_TYPE_METHOD": 9,
+ }
+)
+
+func (x FieldOptions_OptionTargetType) Enum() *FieldOptions_OptionTargetType {
+ p := new(FieldOptions_OptionTargetType)
+ *p = x
+ return p
+}
+
+func (x FieldOptions_OptionTargetType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
+}
+
+func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType {
+ return &file_google_protobuf_descriptor_proto_enumTypes[6]
+}
+
+func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *FieldOptions_OptionTargetType) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = FieldOptions_OptionTargetType(num)
+ return nil
+}
+
+// Deprecated: Use FieldOptions_OptionTargetType.Descriptor instead.
+func (FieldOptions_OptionTargetType) EnumDescriptor() ([]byte, []int) {
+ return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 3}
+}
+
// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
// or neither? HTTP based RPC implementation may choose GET verb for safe
// methods, and PUT verb for idempotent methods instead of the default POST.
@@ -442,11 +588,11 @@ func (x MethodOptions_IdempotencyLevel) String() string {
}
func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
}
func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[5]
+ return &file_google_protobuf_descriptor_proto_enumTypes[7]
}
func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
@@ -468,6 +614,70 @@ func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17, 0}
}
+// Represents the identified object's effect on the element in the original
+// .proto file.
+type GeneratedCodeInfo_Annotation_Semantic int32
+
+const (
+ // There is no effect or the effect is indescribable.
+ GeneratedCodeInfo_Annotation_NONE GeneratedCodeInfo_Annotation_Semantic = 0
+ // The element is set or otherwise mutated.
+ GeneratedCodeInfo_Annotation_SET GeneratedCodeInfo_Annotation_Semantic = 1
+ // An alias to the element is returned.
+ GeneratedCodeInfo_Annotation_ALIAS GeneratedCodeInfo_Annotation_Semantic = 2
+)
+
+// Enum value maps for GeneratedCodeInfo_Annotation_Semantic.
+var (
+ GeneratedCodeInfo_Annotation_Semantic_name = map[int32]string{
+ 0: "NONE",
+ 1: "SET",
+ 2: "ALIAS",
+ }
+ GeneratedCodeInfo_Annotation_Semantic_value = map[string]int32{
+ "NONE": 0,
+ "SET": 1,
+ "ALIAS": 2,
+ }
+)
+
+func (x GeneratedCodeInfo_Annotation_Semantic) Enum() *GeneratedCodeInfo_Annotation_Semantic {
+ p := new(GeneratedCodeInfo_Annotation_Semantic)
+ *p = x
+ return p
+}
+
+func (x GeneratedCodeInfo_Annotation_Semantic) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
+}
+
+func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType {
+ return &file_google_protobuf_descriptor_proto_enumTypes[8]
+}
+
+func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *GeneratedCodeInfo_Annotation_Semantic) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = GeneratedCodeInfo_Annotation_Semantic(num)
+ return nil
+}
+
+// Deprecated: Use GeneratedCodeInfo_Annotation_Semantic.Descriptor instead.
+func (GeneratedCodeInfo_Annotation_Semantic) EnumDescriptor() ([]byte, []int) {
+ return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0, 0}
+}
+
// The protocol compiler can output a FileDescriptorSet containing the .proto
// files it parses.
type FileDescriptorSet struct {
@@ -544,8 +754,12 @@ type FileDescriptorProto struct {
// development tools.
SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
// The syntax of the proto file.
- // The supported values are "proto2" and "proto3".
+ // The supported values are "proto2", "proto3", and "editions".
+ //
+ // If `edition` is present, this value must be "editions".
Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
+ // The edition of the proto file, which is an opaque string.
+ Edition *string `protobuf:"bytes,13,opt,name=edition" json:"edition,omitempty"`
}
func (x *FileDescriptorProto) Reset() {
@@ -664,6 +878,13 @@ func (x *FileDescriptorProto) GetSyntax() string {
return ""
}
+func (x *FileDescriptorProto) GetEdition() string {
+ if x != nil && x.Edition != nil {
+ return *x.Edition
+ }
+ return ""
+}
+
// Describes a message type.
type DescriptorProto struct {
state protoimpl.MessageState
@@ -860,7 +1081,6 @@ type FieldDescriptorProto struct {
// For booleans, "true" or "false".
// For strings, contains the default text contents (not escaped in any way).
// For bytes, contains the C escaped value. All bytes >= 128 are escaped.
- // TODO(kenton): Base-64 encode?
DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
// If set, gives the index of a oneof in the containing type's oneof_decl
// list. This field is a member of that oneof.
@@ -1382,22 +1602,22 @@ type FileOptions struct {
// inappropriate because proto packages do not normally start with backwards
// domain names.
JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
- // If set, all the classes from the .proto file are wrapped in a single
- // outer class with the given name. This applies to both Proto1
- // (equivalent to the old "--one_java_file" option) and Proto2 (where
- // a .proto always translates to a single class, but you may want to
- // explicitly choose the class name).
+ // Controls the name of the wrapper Java class generated for the .proto file.
+ // That class will always contain the .proto file's getDescriptor() method as
+ // well as any top-level extensions defined in the .proto file.
+ // If java_multiple_files is disabled, then all the other classes from the
+ // .proto file will be nested inside the single wrapper outer class.
JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
- // If set true, then the Java code generator will generate a separate .java
+ // If enabled, then the Java code generator will generate a separate .java
// file for each top-level message, enum, and service defined in the .proto
- // file. Thus, these types will *not* be nested inside the outer class
- // named by java_outer_classname. However, the outer class will still be
+ // file. Thus, these types will *not* be nested inside the wrapper class
+ // named by java_outer_classname. However, the wrapper class will still be
// generated to contain the file's getDescriptor() method as well as any
// top-level extensions defined in the file.
JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
// This option does nothing.
//
- // Deprecated: Do not use.
+ // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
// If set true, then the Java2 code generator will generate code that
// throws an exception whenever an attempt is made to assign a non-UTF-8
@@ -1531,7 +1751,7 @@ func (x *FileOptions) GetJavaMultipleFiles() bool {
return Default_FileOptions_JavaMultipleFiles
}
-// Deprecated: Do not use.
+// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
func (x *FileOptions) GetJavaGenerateEqualsAndHash() bool {
if x != nil && x.JavaGenerateEqualsAndHash != nil {
return *x.JavaGenerateEqualsAndHash
@@ -1670,10 +1890,12 @@ type MessageOptions struct {
// efficient, has fewer features, and is more complicated.
//
// The message must be defined exactly as follows:
- // message Foo {
- // option message_set_wire_format = true;
- // extensions 4 to max;
- // }
+ //
+ // message Foo {
+ // option message_set_wire_format = true;
+ // extensions 4 to max;
+ // }
+ //
// Note that the message cannot have any defined fields; MessageSets only
// have extensions.
//
@@ -1692,28 +1914,44 @@ type MessageOptions struct {
// for the message, or it will be completely ignored; in the very least,
// this is a formalization for deprecating messages.
Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
+ // instead. The option should only be implicitly set by the proto compiler
+ // parser.
+ //
// Whether the message is an automatically generated map entry type for the
// maps field.
//
// For maps fields:
- // map map_field = 1;
+ //
+ // map map_field = 1;
+ //
// The parsed descriptor looks like:
- // message MapFieldEntry {
- // option map_entry = true;
- // optional KeyType key = 1;
- // optional ValueType value = 2;
- // }
- // repeated MapFieldEntry map_field = 1;
+ //
+ // message MapFieldEntry {
+ // option map_entry = true;
+ // optional KeyType key = 1;
+ // optional ValueType value = 2;
+ // }
+ // repeated MapFieldEntry map_field = 1;
//
// Implementations may choose not to generate the map_entry=true message, but
// use a native map in the target language to hold the keys and values.
// The reflection APIs in such implementations still need to work as
// if the field is a repeated message field.
- //
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
- // instead. The option should only be implicitly set by the proto compiler
- // parser.
MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
+ // Enable the legacy handling of JSON field name conflicts. This lowercases
+ // and strips underscored from the fields before comparison in proto3 only.
+ // The new behavior takes `json_name` into account and applies to proto2 as
+ // well.
+ //
+ // This should only be used as a temporary measure against broken builds due
+ // to the change in behavior for JSON field name conflicts.
+ //
+ // TODO(b/261750190) This is legacy behavior we plan to remove once downstream
+ // teams have had time to migrate.
+ //
+ // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
+ DeprecatedLegacyJsonFieldConflicts *bool `protobuf:"varint,11,opt,name=deprecated_legacy_json_field_conflicts,json=deprecatedLegacyJsonFieldConflicts" json:"deprecated_legacy_json_field_conflicts,omitempty"`
// The parser stores options it doesn't recognize here. See above.
UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
}
@@ -1785,6 +2023,14 @@ func (x *MessageOptions) GetMapEntry() bool {
return false
}
+// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
+func (x *MessageOptions) GetDeprecatedLegacyJsonFieldConflicts() bool {
+ if x != nil && x.DeprecatedLegacyJsonFieldConflicts != nil {
+ return *x.DeprecatedLegacyJsonFieldConflicts
+ }
+ return false
+}
+
func (x *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
if x != nil {
return x.UninterpretedOption
@@ -1838,7 +2084,6 @@ type FieldOptions struct {
// call from multiple threads concurrently, while non-const methods continue
// to require exclusive access.
//
- //
// Note that implementations may choose not to check required fields within
// a lazy sub-message. That is, calling IsInitialized() on the outer message
// may return true even if the inner message has missing required fields.
@@ -1849,7 +2094,14 @@ type FieldOptions struct {
// implementation must either *always* check its required fields, or *never*
// check its required fields, regardless of whether or not the message has
// been parsed.
+ //
+ // As of May 2022, lazy verifies the contents of the byte stream during
+ // parsing. An invalid byte stream will cause the overall parsing to fail.
Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
+ // unverified_lazy does no correctness checks on the byte stream. This should
+ // only be used where lazy with verification is prohibitive for performance
+ // reasons.
+ UnverifiedLazy *bool `protobuf:"varint,15,opt,name=unverified_lazy,json=unverifiedLazy,def=0" json:"unverified_lazy,omitempty"`
// Is this field deprecated?
// Depending on the target platform, this can emit Deprecated annotations
// for accessors, or it will be completely ignored; in the very least, this
@@ -1857,17 +2109,24 @@ type FieldOptions struct {
Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
// For Google-internal migration only. Do not use.
Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
+ // Indicate that the field value should not be printed out when using debug
+ // formats, e.g. when the field contains sensitive credentials.
+ DebugRedact *bool `protobuf:"varint,16,opt,name=debug_redact,json=debugRedact,def=0" json:"debug_redact,omitempty"`
+ Retention *FieldOptions_OptionRetention `protobuf:"varint,17,opt,name=retention,enum=google.protobuf.FieldOptions_OptionRetention" json:"retention,omitempty"`
+ Target *FieldOptions_OptionTargetType `protobuf:"varint,18,opt,name=target,enum=google.protobuf.FieldOptions_OptionTargetType" json:"target,omitempty"`
// The parser stores options it doesn't recognize here. See above.
UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
}
// Default values for FieldOptions fields.
const (
- Default_FieldOptions_Ctype = FieldOptions_STRING
- Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL
- Default_FieldOptions_Lazy = bool(false)
- Default_FieldOptions_Deprecated = bool(false)
- Default_FieldOptions_Weak = bool(false)
+ Default_FieldOptions_Ctype = FieldOptions_STRING
+ Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL
+ Default_FieldOptions_Lazy = bool(false)
+ Default_FieldOptions_UnverifiedLazy = bool(false)
+ Default_FieldOptions_Deprecated = bool(false)
+ Default_FieldOptions_Weak = bool(false)
+ Default_FieldOptions_DebugRedact = bool(false)
)
func (x *FieldOptions) Reset() {
@@ -1930,6 +2189,13 @@ func (x *FieldOptions) GetLazy() bool {
return Default_FieldOptions_Lazy
}
+func (x *FieldOptions) GetUnverifiedLazy() bool {
+ if x != nil && x.UnverifiedLazy != nil {
+ return *x.UnverifiedLazy
+ }
+ return Default_FieldOptions_UnverifiedLazy
+}
+
func (x *FieldOptions) GetDeprecated() bool {
if x != nil && x.Deprecated != nil {
return *x.Deprecated
@@ -1944,6 +2210,27 @@ func (x *FieldOptions) GetWeak() bool {
return Default_FieldOptions_Weak
}
+func (x *FieldOptions) GetDebugRedact() bool {
+ if x != nil && x.DebugRedact != nil {
+ return *x.DebugRedact
+ }
+ return Default_FieldOptions_DebugRedact
+}
+
+func (x *FieldOptions) GetRetention() FieldOptions_OptionRetention {
+ if x != nil && x.Retention != nil {
+ return *x.Retention
+ }
+ return FieldOptions_RETENTION_UNKNOWN
+}
+
+func (x *FieldOptions) GetTarget() FieldOptions_OptionTargetType {
+ if x != nil && x.Target != nil {
+ return *x.Target
+ }
+ return FieldOptions_TARGET_TYPE_UNKNOWN
+}
+
func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
if x != nil {
return x.UninterpretedOption
@@ -2014,6 +2301,15 @@ type EnumOptions struct {
// for the enum, or it will be completely ignored; in the very least, this
// is a formalization for deprecating enums.
Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
+ // Enable the legacy handling of JSON field name conflicts. This lowercases
+ // and strips underscored from the fields before comparison in proto3 only.
+ // The new behavior takes `json_name` into account and applies to proto2 as
+ // well.
+ // TODO(b/261750190) Remove this legacy behavior once downstream teams have
+ // had time to migrate.
+ //
+ // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
+ DeprecatedLegacyJsonFieldConflicts *bool `protobuf:"varint,6,opt,name=deprecated_legacy_json_field_conflicts,json=deprecatedLegacyJsonFieldConflicts" json:"deprecated_legacy_json_field_conflicts,omitempty"`
// The parser stores options it doesn't recognize here. See above.
UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
}
@@ -2069,6 +2365,14 @@ func (x *EnumOptions) GetDeprecated() bool {
return Default_EnumOptions_Deprecated
}
+// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
+func (x *EnumOptions) GetDeprecatedLegacyJsonFieldConflicts() bool {
+ if x != nil && x.DeprecatedLegacyJsonFieldConflicts != nil {
+ return *x.DeprecatedLegacyJsonFieldConflicts
+ }
+ return false
+}
+
func (x *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
if x != nil {
return x.UninterpretedOption
@@ -2399,43 +2703,48 @@ type SourceCodeInfo struct {
// tools.
//
// For example, say we have a file like:
- // message Foo {
- // optional string foo = 1;
- // }
+ //
+ // message Foo {
+ // optional string foo = 1;
+ // }
+ //
// Let's look at just the field definition:
- // optional string foo = 1;
- // ^ ^^ ^^ ^ ^^^
- // a bc de f ghi
+ //
+ // optional string foo = 1;
+ // ^ ^^ ^^ ^ ^^^
+ // a bc de f ghi
+ //
// We have the following locations:
- // span path represents
- // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
- // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
- // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
- // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
- // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
+ //
+ // span path represents
+ // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
+ // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
+ // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
+ // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
+ // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
//
// Notes:
- // - A location may refer to a repeated field itself (i.e. not to any
- // particular index within it). This is used whenever a set of elements are
- // logically enclosed in a single code segment. For example, an entire
- // extend block (possibly containing multiple extension definitions) will
- // have an outer location whose path refers to the "extensions" repeated
- // field without an index.
- // - Multiple locations may have the same path. This happens when a single
- // logical declaration is spread out across multiple places. The most
- // obvious example is the "extend" block again -- there may be multiple
- // extend blocks in the same scope, each of which will have the same path.
- // - A location's span is not always a subset of its parent's span. For
- // example, the "extendee" of an extension declaration appears at the
- // beginning of the "extend" block and is shared by all extensions within
- // the block.
- // - Just because a location's span is a subset of some other location's span
- // does not mean that it is a descendant. For example, a "group" defines
- // both a type and a field in a single declaration. Thus, the locations
- // corresponding to the type and field and their components will overlap.
- // - Code which tries to interpret locations should probably be designed to
- // ignore those that it doesn't understand, as more types of locations could
- // be recorded in the future.
+ // - A location may refer to a repeated field itself (i.e. not to any
+ // particular index within it). This is used whenever a set of elements are
+ // logically enclosed in a single code segment. For example, an entire
+ // extend block (possibly containing multiple extension definitions) will
+ // have an outer location whose path refers to the "extensions" repeated
+ // field without an index.
+ // - Multiple locations may have the same path. This happens when a single
+ // logical declaration is spread out across multiple places. The most
+ // obvious example is the "extend" block again -- there may be multiple
+ // extend blocks in the same scope, each of which will have the same path.
+ // - A location's span is not always a subset of its parent's span. For
+ // example, the "extendee" of an extension declaration appears at the
+ // beginning of the "extend" block and is shared by all extensions within
+ // the block.
+ // - Just because a location's span is a subset of some other location's span
+ // does not mean that it is a descendant. For example, a "group" defines
+ // both a type and a field in a single declaration. Thus, the locations
+ // corresponding to the type and field and their components will overlap.
+ // - Code which tries to interpret locations should probably be designed to
+ // ignore those that it doesn't understand, as more types of locations could
+ // be recorded in the future.
Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
}
@@ -2715,8 +3024,8 @@ func (x *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {
// The name of the uninterpreted option. Each string represents a segment in
// a dot-separated name. is_extension is true iff a segment represents an
// extension (denoted with parentheses in options specs in .proto files).
-// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
-// "foo.(bar.baz).qux".
+// E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents
+// "foo.(bar.baz).moo".
type UninterpretedOption_NamePart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2781,23 +3090,34 @@ type SourceCodeInfo_Location struct {
// location.
//
// Each element is a field number or an index. They form a path from
- // the root FileDescriptorProto to the place where the definition. For
- // example, this path:
- // [ 4, 3, 2, 7, 1 ]
+ // the root FileDescriptorProto to the place where the definition occurs.
+ // For example, this path:
+ //
+ // [ 4, 3, 2, 7, 1 ]
+ //
// refers to:
- // file.message_type(3) // 4, 3
- // .field(7) // 2, 7
- // .name() // 1
+ //
+ // file.message_type(3) // 4, 3
+ // .field(7) // 2, 7
+ // .name() // 1
+ //
// This is because FileDescriptorProto.message_type has field number 4:
- // repeated DescriptorProto message_type = 4;
+ //
+ // repeated DescriptorProto message_type = 4;
+ //
// and DescriptorProto.field has field number 2:
- // repeated FieldDescriptorProto field = 2;
+ //
+ // repeated FieldDescriptorProto field = 2;
+ //
// and FieldDescriptorProto.name has field number 1:
- // optional string name = 1;
+ //
+ // optional string name = 1;
//
// Thus, the above path gives the location of a field name. If we removed
// the last element:
- // [ 4, 3, 2, 7 ]
+ //
+ // [ 4, 3, 2, 7 ]
+ //
// this path refers to the whole field declaration (from the beginning
// of the label to the terminating semicolon).
Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
@@ -2826,34 +3146,34 @@ type SourceCodeInfo_Location struct {
//
// Examples:
//
- // optional int32 foo = 1; // Comment attached to foo.
- // // Comment attached to bar.
- // optional int32 bar = 2;
+ // optional int32 foo = 1; // Comment attached to foo.
+ // // Comment attached to bar.
+ // optional int32 bar = 2;
//
- // optional string baz = 3;
- // // Comment attached to baz.
- // // Another line attached to baz.
+ // optional string baz = 3;
+ // // Comment attached to baz.
+ // // Another line attached to baz.
//
- // // Comment attached to qux.
- // //
- // // Another line attached to qux.
- // optional double qux = 4;
+ // // Comment attached to moo.
+ // //
+ // // Another line attached to moo.
+ // optional double moo = 4;
//
- // // Detached comment for corge. This is not leading or trailing comments
- // // to qux or corge because there are blank lines separating it from
- // // both.
+ // // Detached comment for corge. This is not leading or trailing comments
+ // // to moo or corge because there are blank lines separating it from
+ // // both.
//
- // // Detached comment for corge paragraph 2.
+ // // Detached comment for corge paragraph 2.
//
- // optional string corge = 5;
- // /* Block comment attached
- // * to corge. Leading asterisks
- // * will be removed. */
- // /* Block comment attached to
- // * grault. */
- // optional int32 grault = 6;
+ // optional string corge = 5;
+ // /* Block comment attached
+ // * to corge. Leading asterisks
+ // * will be removed. */
+ // /* Block comment attached to
+ // * grault. */
+ // optional int32 grault = 6;
//
- // // ignored detached comments.
+ // // ignored detached comments.
LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
@@ -2940,9 +3260,10 @@ type GeneratedCodeInfo_Annotation struct {
// that relates to the identified object.
Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
// Identifies the ending offset in bytes in the generated code that
- // relates to the identified offset. The end offset should be one past
+ // relates to the identified object. The end offset should be one past
// the last relevant byte (so the length of the text = end - begin).
- End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
+ End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
+ Semantic *GeneratedCodeInfo_Annotation_Semantic `protobuf:"varint,5,opt,name=semantic,enum=google.protobuf.GeneratedCodeInfo_Annotation_Semantic" json:"semantic,omitempty"`
}
func (x *GeneratedCodeInfo_Annotation) Reset() {
@@ -3005,6 +3326,13 @@ func (x *GeneratedCodeInfo_Annotation) GetEnd() int32 {
return 0
}
+func (x *GeneratedCodeInfo_Annotation) GetSemantic() GeneratedCodeInfo_Annotation_Semantic {
+ if x != nil && x.Semantic != nil {
+ return *x.Semantic
+ }
+ return GeneratedCodeInfo_Annotation_NONE
+}
+
var File_google_protobuf_descriptor_proto protoreflect.FileDescriptor
var file_google_protobuf_descriptor_proto_rawDesc = []byte{
@@ -3016,7 +3344,7 @@ var file_google_protobuf_descriptor_proto_rawDesc = []byte{
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x66, 0x69,
- 0x6c, 0x65, 0x22, 0xe4, 0x04, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
+ 0x6c, 0x65, 0x22, 0xfe, 0x04, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
@@ -3054,330 +3382,391 @@ var file_google_protobuf_descriptor_proto_rawDesc = []byte{
0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x22, 0xb9, 0x06, 0x0a, 0x0f, 0x44, 0x65,
+ 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x06, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74,
+ 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f,
+ 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a,
+ 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
+ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a,
+ 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44,
+ 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55,
+ 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
+ 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a,
+ 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22,
+ 0x7c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e,
+ 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75,
+ 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06,
+ 0x0a, 0x14, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
+ 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75,
+ 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62,
+ 0x65, 0x72, 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05,
+ 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72,
+ 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23,
+ 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x22, 0xb6, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a,
+ 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a,
+ 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a,
+ 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e,
+ 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x05, 0x12, 0x10,
+ 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x06,
+ 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32,
+ 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10,
+ 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47,
+ 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50,
+ 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41,
+ 0x47, 0x45, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54,
+ 0x45, 0x53, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e,
+ 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e,
+ 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49,
+ 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05,
+ 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f,
+ 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42,
+ 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a,
+ 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10,
+ 0x03, 0x22, 0x63, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a,
+ 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44,
+ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x29, 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, 0x44, 0x65, 0x73,
+ 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72,
+ 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a,
+ 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52,
+ 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a,
+ 0x18, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
+ 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e,
+ 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
- 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43,
- 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
- 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
- 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74,
- 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
- 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52,
- 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61,
- 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61,
- 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x65, 0x63,
- 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44,
- 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09,
- 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
- 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
- 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
- 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65,
- 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72,
- 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65,
- 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e,
- 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x37, 0x0a, 0x0d,
- 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a,
- 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74,
- 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x7c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
- 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58,
- 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
- 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80,
- 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
- 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44,
- 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c,
- 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x74,
- 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
- 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74,
- 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65,
- 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65,
- 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66,
- 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x65,
- 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
- 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73,
- 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a,
- 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xb6, 0x02, 0x0a, 0x04, 0x54, 0x79,
- 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c,
- 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41,
- 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36,
- 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54,
- 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54,
- 0x33, 0x32, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58,
- 0x45, 0x44, 0x36, 0x34, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46,
- 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54,
- 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x11, 0x0a,
- 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x10,
- 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10,
- 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x36, 0x34,
- 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x0e, 0x4c,
- 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12,
- 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45,
- 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x50,
- 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x63, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x6f, 0x66,
- 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12,
- 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe3, 0x02, 0x0a,
- 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 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, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75,
- 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61,
- 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
- 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
- 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67,
- 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65,
- 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
- 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
- 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
- 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65,
- 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65,
- 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12,
- 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x52,
- 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f,
- 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
- 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52,
- 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65,
- 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 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, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69,
- 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x10,
- 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x91,
- 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21,
- 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
- 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f,
- 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x6e,
- 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6d, 0x75, 0x6c, 0x74,
- 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
- 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x6a, 0x61, 0x76, 0x61, 0x4d, 0x75, 0x6c,
- 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1d, 0x6a, 0x61,
- 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x71, 0x75, 0x61,
- 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28,
- 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x65, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68,
- 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08,
- 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x53, 0x74, 0x72,
- 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x74, 0x66, 0x38, 0x12, 0x53, 0x0a, 0x0c,
- 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x05, 0x53,
- 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f,
- 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18,
- 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
- 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66,
- 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x63, 0x63, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, 0x5f,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
- 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a,
- 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63,
- 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a,
- 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x70, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69,
- 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x14, 0x70, 0x68, 0x70,
+ 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+ 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a,
+ 0x15, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
+ 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e,
+ 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+ 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x52, 0x07, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05,
+ 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61,
+ 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x6a, 0x61, 0x76, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a,
+ 0x61, 0x76, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f,
+ 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a,
+ 0x13, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66,
+ 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73,
+ 0x65, 0x52, 0x11, 0x6a, 0x61, 0x76, 0x61, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46,
+ 0x69, 0x6c, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1d, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64,
+ 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52,
+ 0x19, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x71, 0x75,
+ 0x61, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61,
+ 0x76, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f,
+ 0x75, 0x74, 0x66, 0x38, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73,
+ 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65,
+ 0x63, 0x6b, 0x55, 0x74, 0x66, 0x38, 0x12, 0x53, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69,
+ 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d,
+ 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b,
+ 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67,
+ 0x6f, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x67, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63,
0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x12,
- 0x70, 0x68, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
- 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64,
- 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20,
- 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61,
- 0x62, 0x6c, 0x65, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a,
- 0x63, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50,
- 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0f, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
- 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65,
- 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
- 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70,
- 0x68, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a,
- 0x0d, 0x70, 0x68, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x14, 0x70, 0x68, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e,
- 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79,
- 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x72, 0x75, 0x62, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x14, 0x75,
- 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69,
- 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
- 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01,
- 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x12,
- 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10,
- 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x26,
- 0x10, 0x27, 0x22, 0xd1, 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72,
- 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
- 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61,
- 0x6c, 0x73, 0x65, 0x52, 0x1c, 0x6e, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44,
- 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f,
- 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65,
- 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f,
- 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11,
+ 0x63, 0x63, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x73, 0x12, 0x39, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69,
+ 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08,
+ 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e,
+ 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13,
+ 0x70, 0x79, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65,
+ 0x52, 0x11, 0x70, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x14, 0x70, 0x68, 0x70, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28,
+ 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x12, 0x70, 0x68, 0x70, 0x47, 0x65, 0x6e,
+ 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a,
+ 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08,
+ 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
+ 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74,
+ 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x65,
+ 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x63, 0x5f, 0x63, 0x6c, 0x61, 0x73,
+ 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
+ 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
+ 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x73, 0x68, 0x61, 0x72,
+ 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77,
+ 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a,
+ 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69,
+ 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x68, 0x70, 0x43, 0x6c, 0x61, 0x73,
+ 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x68, 0x70, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16,
+ 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x68,
+ 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61,
+ 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x62, 0x79, 0x50, 0x61,
+ 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72,
0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a,
- 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09,
- 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0xe2, 0x03, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
+ 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12,
+ 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54,
+ 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07,
+ 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x26, 0x10, 0x27, 0x22, 0xbb, 0x03, 0x0a,
+ 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
+ 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x77,
+ 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a,
+ 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73,
+ 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x1c, 0x6e,
+ 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x64,
+ 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a,
+ 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
+ 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x56, 0x0a, 0x26, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x65,
+ 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42,
+ 0x02, 0x18, 0x01, 0x52, 0x22, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4c,
+ 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f,
+ 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04,
+ 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04,
+ 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0xb7, 0x08, 0x0a, 0x0c, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a,
+ 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16,
+ 0x0a, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x06, 0x53, 0x54, 0x52,
- 0x49, 0x4e, 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
- 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b,
- 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x2e, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52,
- 0x4d, 0x41, 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x04, 0x6c,
- 0x61, 0x7a, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65,
- 0x52, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
- 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73,
- 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a,
- 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
- 0x73, 0x65, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75,
- 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53,
- 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10,
- 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43,
- 0x45, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a,
- 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09,
- 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a,
- 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10,
- 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x0c, 0x4f,
- 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53,
+ 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12,
+ 0x19, 0x0a, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66,
+ 0x61, 0x6c, 0x73, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x2e, 0x0a, 0x0f, 0x75, 0x6e,
+ 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x7a, 0x79, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0e, 0x75, 0x6e, 0x76, 0x65,
+ 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65,
+ 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05,
+ 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65,
+ 0x64, 0x12, 0x19, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a,
+ 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x28, 0x0a, 0x0c,
+ 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01,
+ 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67,
+ 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x12, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x58, 0x0a, 0x14, 0x75,
0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02,
- 0x22, 0xc0, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65,
- 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75,
- 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08,
- 0x05, 0x10, 0x06, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a,
+ 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f,
+ 0x52, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50,
+ 0x49, 0x45, 0x43, 0x45, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12,
+ 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d,
+ 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x22, 0x55, 0x0a,
+ 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, 0x45, 0x4e,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x14,
+ 0x0a, 0x10, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52,
+ 0x43, 0x45, 0x10, 0x02, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52,
+ 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
+ 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47,
+ 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52,
+ 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45,
+ 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x52,
+ 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x45, 0x4f, 0x46, 0x10, 0x05,
+ 0x12, 0x14, 0x0a, 0x10, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59,
+ 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x54,
+ 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f,
+ 0x44, 0x10, 0x09, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04,
+ 0x08, 0x04, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x0c, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70,
+ 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65,
+ 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09,
+ 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x98, 0x02, 0x0a, 0x0b, 0x45, 0x6e,
+ 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65,
+ 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05,
+ 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65,
+ 0x64, 0x12, 0x56, 0x0a, 0x26, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x22, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65,
+ 0x64, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
+ 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04,
+ 0x08, 0x05, 0x10, 0x06, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70,
+ 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66,
+ 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
+ 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65,
+ 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
+ 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10,
+ 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72,
- 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61,
+ 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61,
0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12,
0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64,
0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
@@ -3385,97 +3774,95 @@ var file_google_protobuf_descriptor_proto_rawDesc = []byte{
0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65,
0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80,
- 0x80, 0x80, 0x80, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65,
- 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
- 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58,
- 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x80, 0x80, 0x80, 0x02, 0x22, 0xe0, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
+ 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73,
+ 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a,
+ 0x11, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 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, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74,
+ 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50,
+ 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10,
+ 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65,
+ 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
+ 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64,
+ 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17,
+ 0x0a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49,
+ 0x44, 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a,
+ 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8,
+ 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e,
+ 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
- 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80,
- 0x80, 0x80, 0x02, 0x22, 0xe0, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
- 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65,
- 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a, 0x11,
- 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65,
- 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 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, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65,
- 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f,
- 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10, 0x69,
- 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
- 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64,
- 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65,
- 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64, 0x65,
- 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a,
- 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b,
- 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 0x44,
- 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49,
- 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07,
- 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
- 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x65,
- 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65,
- 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65,
- 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62,
- 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b,
- 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73,
- 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
- 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27,
- 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
- 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x50,
- 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74,
- 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74,
- 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
- 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
- 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f,
- 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a,
- 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74,
- 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74,
- 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42,
- 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61,
- 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d,
- 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67,
- 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74,
- 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74,
- 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74,
- 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd1, 0x01,
- 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49,
- 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02,
- 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67,
- 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12,
- 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e,
- 0x64, 0x42, 0x7e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a,
+ 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e,
+ 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76,
+ 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75,
+ 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c,
+ 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
+ 0x27, 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67,
+ 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65,
+ 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72,
+ 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72,
+ 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43,
+ 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01,
+ 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61,
+ 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61,
+ 0x74, 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05,
+ 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65,
+ 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e,
+ 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+ 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65,
+ 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65,
+ 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd0,
+ 0x02, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e,
+ 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x1a, 0xeb, 0x01, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
+ 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62,
+ 0x65, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69,
+ 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
+ 0x65, 0x6e, 0x64, 0x12, 0x52, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
+ 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x08, 0x73,
+ 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x22, 0x28, 0x0a, 0x08, 0x53, 0x65, 0x6d, 0x61, 0x6e,
+ 0x74, 0x69, 0x63, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a,
+ 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x10,
+ 0x02, 0x42, 0x7e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
@@ -3498,7 +3885,7 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
return file_google_protobuf_descriptor_proto_rawDescData
}
-var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
+var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_google_protobuf_descriptor_proto_goTypes = []interface{}{
(FieldDescriptorProto_Type)(0), // 0: google.protobuf.FieldDescriptorProto.Type
@@ -3506,84 +3893,90 @@ var file_google_protobuf_descriptor_proto_goTypes = []interface{}{
(FileOptions_OptimizeMode)(0), // 2: google.protobuf.FileOptions.OptimizeMode
(FieldOptions_CType)(0), // 3: google.protobuf.FieldOptions.CType
(FieldOptions_JSType)(0), // 4: google.protobuf.FieldOptions.JSType
- (MethodOptions_IdempotencyLevel)(0), // 5: google.protobuf.MethodOptions.IdempotencyLevel
- (*FileDescriptorSet)(nil), // 6: google.protobuf.FileDescriptorSet
- (*FileDescriptorProto)(nil), // 7: google.protobuf.FileDescriptorProto
- (*DescriptorProto)(nil), // 8: google.protobuf.DescriptorProto
- (*ExtensionRangeOptions)(nil), // 9: google.protobuf.ExtensionRangeOptions
- (*FieldDescriptorProto)(nil), // 10: google.protobuf.FieldDescriptorProto
- (*OneofDescriptorProto)(nil), // 11: google.protobuf.OneofDescriptorProto
- (*EnumDescriptorProto)(nil), // 12: google.protobuf.EnumDescriptorProto
- (*EnumValueDescriptorProto)(nil), // 13: google.protobuf.EnumValueDescriptorProto
- (*ServiceDescriptorProto)(nil), // 14: google.protobuf.ServiceDescriptorProto
- (*MethodDescriptorProto)(nil), // 15: google.protobuf.MethodDescriptorProto
- (*FileOptions)(nil), // 16: google.protobuf.FileOptions
- (*MessageOptions)(nil), // 17: google.protobuf.MessageOptions
- (*FieldOptions)(nil), // 18: google.protobuf.FieldOptions
- (*OneofOptions)(nil), // 19: google.protobuf.OneofOptions
- (*EnumOptions)(nil), // 20: google.protobuf.EnumOptions
- (*EnumValueOptions)(nil), // 21: google.protobuf.EnumValueOptions
- (*ServiceOptions)(nil), // 22: google.protobuf.ServiceOptions
- (*MethodOptions)(nil), // 23: google.protobuf.MethodOptions
- (*UninterpretedOption)(nil), // 24: google.protobuf.UninterpretedOption
- (*SourceCodeInfo)(nil), // 25: google.protobuf.SourceCodeInfo
- (*GeneratedCodeInfo)(nil), // 26: google.protobuf.GeneratedCodeInfo
- (*DescriptorProto_ExtensionRange)(nil), // 27: google.protobuf.DescriptorProto.ExtensionRange
- (*DescriptorProto_ReservedRange)(nil), // 28: google.protobuf.DescriptorProto.ReservedRange
- (*EnumDescriptorProto_EnumReservedRange)(nil), // 29: google.protobuf.EnumDescriptorProto.EnumReservedRange
- (*UninterpretedOption_NamePart)(nil), // 30: google.protobuf.UninterpretedOption.NamePart
- (*SourceCodeInfo_Location)(nil), // 31: google.protobuf.SourceCodeInfo.Location
- (*GeneratedCodeInfo_Annotation)(nil), // 32: google.protobuf.GeneratedCodeInfo.Annotation
+ (FieldOptions_OptionRetention)(0), // 5: google.protobuf.FieldOptions.OptionRetention
+ (FieldOptions_OptionTargetType)(0), // 6: google.protobuf.FieldOptions.OptionTargetType
+ (MethodOptions_IdempotencyLevel)(0), // 7: google.protobuf.MethodOptions.IdempotencyLevel
+ (GeneratedCodeInfo_Annotation_Semantic)(0), // 8: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
+ (*FileDescriptorSet)(nil), // 9: google.protobuf.FileDescriptorSet
+ (*FileDescriptorProto)(nil), // 10: google.protobuf.FileDescriptorProto
+ (*DescriptorProto)(nil), // 11: google.protobuf.DescriptorProto
+ (*ExtensionRangeOptions)(nil), // 12: google.protobuf.ExtensionRangeOptions
+ (*FieldDescriptorProto)(nil), // 13: google.protobuf.FieldDescriptorProto
+ (*OneofDescriptorProto)(nil), // 14: google.protobuf.OneofDescriptorProto
+ (*EnumDescriptorProto)(nil), // 15: google.protobuf.EnumDescriptorProto
+ (*EnumValueDescriptorProto)(nil), // 16: google.protobuf.EnumValueDescriptorProto
+ (*ServiceDescriptorProto)(nil), // 17: google.protobuf.ServiceDescriptorProto
+ (*MethodDescriptorProto)(nil), // 18: google.protobuf.MethodDescriptorProto
+ (*FileOptions)(nil), // 19: google.protobuf.FileOptions
+ (*MessageOptions)(nil), // 20: google.protobuf.MessageOptions
+ (*FieldOptions)(nil), // 21: google.protobuf.FieldOptions
+ (*OneofOptions)(nil), // 22: google.protobuf.OneofOptions
+ (*EnumOptions)(nil), // 23: google.protobuf.EnumOptions
+ (*EnumValueOptions)(nil), // 24: google.protobuf.EnumValueOptions
+ (*ServiceOptions)(nil), // 25: google.protobuf.ServiceOptions
+ (*MethodOptions)(nil), // 26: google.protobuf.MethodOptions
+ (*UninterpretedOption)(nil), // 27: google.protobuf.UninterpretedOption
+ (*SourceCodeInfo)(nil), // 28: google.protobuf.SourceCodeInfo
+ (*GeneratedCodeInfo)(nil), // 29: google.protobuf.GeneratedCodeInfo
+ (*DescriptorProto_ExtensionRange)(nil), // 30: google.protobuf.DescriptorProto.ExtensionRange
+ (*DescriptorProto_ReservedRange)(nil), // 31: google.protobuf.DescriptorProto.ReservedRange
+ (*EnumDescriptorProto_EnumReservedRange)(nil), // 32: google.protobuf.EnumDescriptorProto.EnumReservedRange
+ (*UninterpretedOption_NamePart)(nil), // 33: google.protobuf.UninterpretedOption.NamePart
+ (*SourceCodeInfo_Location)(nil), // 34: google.protobuf.SourceCodeInfo.Location
+ (*GeneratedCodeInfo_Annotation)(nil), // 35: google.protobuf.GeneratedCodeInfo.Annotation
}
var file_google_protobuf_descriptor_proto_depIdxs = []int32{
- 7, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
- 8, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
- 12, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
- 14, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
- 10, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
- 16, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
- 25, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
- 10, // 7: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
- 10, // 8: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
- 8, // 9: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
- 12, // 10: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
- 27, // 11: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
- 11, // 12: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
- 17, // 13: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
- 28, // 14: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
- 24, // 15: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 10, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
+ 11, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
+ 15, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
+ 17, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
+ 13, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
+ 19, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
+ 28, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
+ 13, // 7: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
+ 13, // 8: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
+ 11, // 9: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
+ 15, // 10: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
+ 30, // 11: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
+ 14, // 12: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
+ 20, // 13: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
+ 31, // 14: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
+ 27, // 15: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
1, // 16: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
0, // 17: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
- 18, // 18: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
- 19, // 19: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
- 13, // 20: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
- 20, // 21: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
- 29, // 22: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
- 21, // 23: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
- 15, // 24: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
- 22, // 25: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
- 23, // 26: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
+ 21, // 18: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
+ 22, // 19: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
+ 16, // 20: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
+ 23, // 21: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
+ 32, // 22: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
+ 24, // 23: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
+ 18, // 24: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
+ 25, // 25: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
+ 26, // 26: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
2, // 27: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
- 24, // 28: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 24, // 29: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 27, // 28: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 27, // 29: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
3, // 30: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
4, // 31: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
- 24, // 32: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 24, // 33: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 24, // 34: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 24, // 35: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 24, // 36: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 5, // 37: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
- 24, // 38: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 30, // 39: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
- 31, // 40: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
- 32, // 41: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
- 9, // 42: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
- 43, // [43:43] is the sub-list for method output_type
- 43, // [43:43] is the sub-list for method input_type
- 43, // [43:43] is the sub-list for extension type_name
- 43, // [43:43] is the sub-list for extension extendee
- 0, // [0:43] is the sub-list for field type_name
+ 5, // 32: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
+ 6, // 33: google.protobuf.FieldOptions.target:type_name -> google.protobuf.FieldOptions.OptionTargetType
+ 27, // 34: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 27, // 35: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 27, // 36: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 27, // 37: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 27, // 38: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 7, // 39: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
+ 27, // 40: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 33, // 41: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
+ 34, // 42: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
+ 35, // 43: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
+ 12, // 44: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
+ 8, // 45: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
+ 46, // [46:46] is the sub-list for method output_type
+ 46, // [46:46] is the sub-list for method input_type
+ 46, // [46:46] is the sub-list for extension type_name
+ 46, // [46:46] is the sub-list for extension extendee
+ 0, // [0:46] is the sub-list for field type_name
}
func init() { file_google_protobuf_descriptor_proto_init() }
@@ -3940,7 +4333,7 @@ func file_google_protobuf_descriptor_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc,
- NumEnums: 6,
+ NumEnums: 9,
NumMessages: 27,
NumExtensions: 0,
NumServices: 0,
diff --git a/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go b/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go
index 8c10797b..a6c7a33f 100644
--- a/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go
+++ b/vendor/google.golang.org/protobuf/types/known/anypb/any.pb.go
@@ -37,8 +37,7 @@
// It is functionally a tuple of the full name of the remote message type and
// the serialized bytes of the remote message value.
//
-//
-// Constructing an Any
+// # Constructing an Any
//
// An Any message containing another message value is constructed using New:
//
@@ -48,8 +47,7 @@
// }
// ... // make use of any
//
-//
-// Unmarshaling an Any
+// # Unmarshaling an Any
//
// With a populated Any message, the underlying message can be serialized into
// a remote concrete message value in a few ways.
@@ -95,8 +93,7 @@
// listed in the case clauses are linked into the Go binary and therefore also
// registered in the global registry.
//
-//
-// Type checking an Any
+// # Type checking an Any
//
// In order to type check whether an Any message represents some other message,
// then use the MessageIs method:
@@ -115,7 +112,6 @@
// }
// ... // make use of m
// }
-//
package anypb
import (
@@ -136,45 +132,49 @@ import (
//
// Example 1: Pack and unpack a message in C++.
//
-// Foo foo = ...;
-// Any any;
-// any.PackFrom(foo);
-// ...
-// if (any.UnpackTo(&foo)) {
-// ...
-// }
+// Foo foo = ...;
+// Any any;
+// any.PackFrom(foo);
+// ...
+// if (any.UnpackTo(&foo)) {
+// ...
+// }
//
// Example 2: Pack and unpack a message in Java.
//
-// Foo foo = ...;
-// Any any = Any.pack(foo);
-// ...
-// if (any.is(Foo.class)) {
-// foo = any.unpack(Foo.class);
-// }
+// Foo foo = ...;
+// Any any = Any.pack(foo);
+// ...
+// if (any.is(Foo.class)) {
+// foo = any.unpack(Foo.class);
+// }
+// // or ...
+// if (any.isSameTypeAs(Foo.getDefaultInstance())) {
+// foo = any.unpack(Foo.getDefaultInstance());
+// }
//
-// Example 3: Pack and unpack a message in Python.
+// Example 3: Pack and unpack a message in Python.
//
-// foo = Foo(...)
-// any = Any()
-// any.Pack(foo)
-// ...
-// if any.Is(Foo.DESCRIPTOR):
-// any.Unpack(foo)
-// ...
+// foo = Foo(...)
+// any = Any()
+// any.Pack(foo)
+// ...
+// if any.Is(Foo.DESCRIPTOR):
+// any.Unpack(foo)
+// ...
//
-// Example 4: Pack and unpack a message in Go
+// Example 4: Pack and unpack a message in Go
//
-// foo := &pb.Foo{...}
-// any, err := anypb.New(foo)
-// if err != nil {
-// ...
-// }
-// ...
-// foo := &pb.Foo{}
-// if err := any.UnmarshalTo(foo); err != nil {
-// ...
-// }
+// foo := &pb.Foo{...}
+// any, err := anypb.New(foo)
+// if err != nil {
+// ...
+// }
+// ...
+// foo := &pb.Foo{}
+// if err := any.UnmarshalTo(foo); err != nil {
+// ...
+// }
//
// The pack methods provided by protobuf library will by default use
// 'type.googleapis.com/full.type.name' as the type URL and the unpack
@@ -182,35 +182,33 @@ import (
// in the type URL, for example "foo.bar.com/x/y.z" will yield type
// name "y.z".
//
+// # JSON
//
-// JSON
-// ====
// The JSON representation of an `Any` value uses the regular
// representation of the deserialized, embedded message, with an
// additional field `@type` which contains the type URL. Example:
//
-// package google.profile;
-// message Person {
-// string first_name = 1;
-// string last_name = 2;
-// }
+// package google.profile;
+// message Person {
+// string first_name = 1;
+// string last_name = 2;
+// }
//
-// {
-// "@type": "type.googleapis.com/google.profile.Person",
-// "firstName": ,
-// "lastName":
-// }
+// {
+// "@type": "type.googleapis.com/google.profile.Person",
+// "firstName": ,
+// "lastName":
+// }
//
// If the embedded message type is well-known and has a custom JSON
// representation, that representation will be embedded adding a field
// `value` which holds the custom JSON in addition to the `@type`
// field. Example (for message [google.protobuf.Duration][]):
//
-// {
-// "@type": "type.googleapis.com/google.protobuf.Duration",
-// "value": "1.212s"
-// }
-//
+// {
+// "@type": "type.googleapis.com/google.protobuf.Duration",
+// "value": "1.212s"
+// }
type Any struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -228,14 +226,14 @@ type Any struct {
// scheme `http`, `https`, or no scheme, one can optionally set up a type
// server that maps type URLs to message definitions as follows:
//
- // * If no scheme is provided, `https` is assumed.
- // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
- // value in binary format, or produce an error.
- // * Applications are allowed to cache lookup results based on the
- // URL, or have them precompiled into a binary to avoid any
- // lookup. Therefore, binary compatibility needs to be preserved
- // on changes to types. (Use versioned type names to manage
- // breaking changes.)
+ // - If no scheme is provided, `https` is assumed.
+ // - An HTTP GET on the URL must yield a [google.protobuf.Type][]
+ // value in binary format, or produce an error.
+ // - Applications are allowed to cache lookup results based on the
+ // URL, or have them precompiled into a binary to avoid any
+ // lookup. Therefore, binary compatibility needs to be preserved
+ // on changes to types. (Use versioned type names to manage
+ // breaking changes.)
//
// Note: this functionality is not currently available in the official
// protobuf release, and it is not used for type URLs beginning with
@@ -243,7 +241,6 @@ type Any struct {
//
// Schemes other than `http`, `https` (or the empty scheme) might be
// used with implementation specific semantics.
- //
TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
// Must be a valid serialized protocol buffer of the above specified type.
Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
diff --git a/vendor/google.golang.org/protobuf/types/known/durationpb/duration.pb.go b/vendor/google.golang.org/protobuf/types/known/durationpb/duration.pb.go
index a583ca2f..df709a8d 100644
--- a/vendor/google.golang.org/protobuf/types/known/durationpb/duration.pb.go
+++ b/vendor/google.golang.org/protobuf/types/known/durationpb/duration.pb.go
@@ -35,8 +35,7 @@
//
// The Duration message represents a signed span of time.
//
-//
-// Conversion to a Go Duration
+// # Conversion to a Go Duration
//
// The AsDuration method can be used to convert a Duration message to a
// standard Go time.Duration value:
@@ -65,15 +64,13 @@
// the resulting value to the closest representable value (e.g., math.MaxInt64
// for positive overflow and math.MinInt64 for negative overflow).
//
-//
-// Conversion from a Go Duration
+// # Conversion from a Go Duration
//
// The durationpb.New function can be used to construct a Duration message
// from a standard Go time.Duration value:
//
// dur := durationpb.New(d)
// ... // make use of d as a *durationpb.Duration
-//
package durationpb
import (
@@ -96,43 +93,43 @@ import (
//
// Example 1: Compute Duration from two Timestamps in pseudo code.
//
-// Timestamp start = ...;
-// Timestamp end = ...;
-// Duration duration = ...;
+// Timestamp start = ...;
+// Timestamp end = ...;
+// Duration duration = ...;
//
-// duration.seconds = end.seconds - start.seconds;
-// duration.nanos = end.nanos - start.nanos;
+// duration.seconds = end.seconds - start.seconds;
+// duration.nanos = end.nanos - start.nanos;
//
-// if (duration.seconds < 0 && duration.nanos > 0) {
-// duration.seconds += 1;
-// duration.nanos -= 1000000000;
-// } else if (duration.seconds > 0 && duration.nanos < 0) {
-// duration.seconds -= 1;
-// duration.nanos += 1000000000;
-// }
+// if (duration.seconds < 0 && duration.nanos > 0) {
+// duration.seconds += 1;
+// duration.nanos -= 1000000000;
+// } else if (duration.seconds > 0 && duration.nanos < 0) {
+// duration.seconds -= 1;
+// duration.nanos += 1000000000;
+// }
//
// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
//
-// Timestamp start = ...;
-// Duration duration = ...;
-// Timestamp end = ...;
+// Timestamp start = ...;
+// Duration duration = ...;
+// Timestamp end = ...;
//
-// end.seconds = start.seconds + duration.seconds;
-// end.nanos = start.nanos + duration.nanos;
+// end.seconds = start.seconds + duration.seconds;
+// end.nanos = start.nanos + duration.nanos;
//
-// if (end.nanos < 0) {
-// end.seconds -= 1;
-// end.nanos += 1000000000;
-// } else if (end.nanos >= 1000000000) {
-// end.seconds += 1;
-// end.nanos -= 1000000000;
-// }
+// if (end.nanos < 0) {
+// end.seconds -= 1;
+// end.nanos += 1000000000;
+// } else if (end.nanos >= 1000000000) {
+// end.seconds += 1;
+// end.nanos -= 1000000000;
+// }
//
// Example 3: Compute Duration from datetime.timedelta in Python.
//
-// td = datetime.timedelta(days=3, minutes=10)
-// duration = Duration()
-// duration.FromTimedelta(td)
+// td = datetime.timedelta(days=3, minutes=10)
+// duration = Duration()
+// duration.FromTimedelta(td)
//
// # JSON Mapping
//
@@ -143,8 +140,6 @@ import (
// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
// microsecond should be expressed in JSON format as "3.000001s".
-//
-//
type Duration struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
diff --git a/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go b/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
index c9ae9213..61f69fc1 100644
--- a/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
+++ b/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
@@ -36,8 +36,7 @@
// The Timestamp message represents a timestamp,
// an instant in time since the Unix epoch (January 1st, 1970).
//
-//
-// Conversion to a Go Time
+// # Conversion to a Go Time
//
// The AsTime method can be used to convert a Timestamp message to a
// standard Go time.Time value in UTC:
@@ -59,8 +58,7 @@
// ... // handle error
// }
//
-//
-// Conversion from a Go Time
+// # Conversion from a Go Time
//
// The timestamppb.New function can be used to construct a Timestamp message
// from a standard Go time.Time value:
@@ -72,7 +70,6 @@
//
// ts := timestamppb.Now()
// ... // make use of ts as a *timestamppb.Timestamp
-//
package timestamppb
import (
@@ -101,52 +98,50 @@ import (
//
// Example 1: Compute Timestamp from POSIX `time()`.
//
-// Timestamp timestamp;
-// timestamp.set_seconds(time(NULL));
-// timestamp.set_nanos(0);
+// Timestamp timestamp;
+// timestamp.set_seconds(time(NULL));
+// timestamp.set_nanos(0);
//
// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
//
-// struct timeval tv;
-// gettimeofday(&tv, NULL);
+// struct timeval tv;
+// gettimeofday(&tv, NULL);
//
-// Timestamp timestamp;
-// timestamp.set_seconds(tv.tv_sec);
-// timestamp.set_nanos(tv.tv_usec * 1000);
+// Timestamp timestamp;
+// timestamp.set_seconds(tv.tv_sec);
+// timestamp.set_nanos(tv.tv_usec * 1000);
//
// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
//
-// FILETIME ft;
-// GetSystemTimeAsFileTime(&ft);
-// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+// FILETIME ft;
+// GetSystemTimeAsFileTime(&ft);
+// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
//
-// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
-// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
-// Timestamp timestamp;
-// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
-// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+// Timestamp timestamp;
+// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
//
// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
//
-// long millis = System.currentTimeMillis();
-//
-// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
-// .setNanos((int) ((millis % 1000) * 1000000)).build();
+// long millis = System.currentTimeMillis();
//
+// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+// .setNanos((int) ((millis % 1000) * 1000000)).build();
//
// Example 5: Compute Timestamp from Java `Instant.now()`.
//
-// Instant now = Instant.now();
-//
-// Timestamp timestamp =
-// Timestamp.newBuilder().setSeconds(now.getEpochSecond())
-// .setNanos(now.getNano()).build();
+// Instant now = Instant.now();
//
+// Timestamp timestamp =
+// Timestamp.newBuilder().setSeconds(now.getEpochSecond())
+// .setNanos(now.getNano()).build();
//
// Example 6: Compute Timestamp from current time in Python.
//
-// timestamp = Timestamp()
-// timestamp.GetCurrentTime()
+// timestamp = Timestamp()
+// timestamp.GetCurrentTime()
//
// # JSON Mapping
//
@@ -174,8 +169,6 @@ import (
// the Joda Time's [`ISODateTimeFormat.dateTime()`](
// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
// ) to obtain a formatter capable of generating timestamps in this format.
-//
-//
type Timestamp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
diff --git a/vendor/modules.txt b/vendor/modules.txt
index be871c2d..831ff7fc 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -2,7 +2,7 @@
## explicit; go 1.17
filippo.io/edwards25519
filippo.io/edwards25519/field
-# github.com/ManyakRus/logrus v0.0.0-20230425135901-49786dc30ad1
+# github.com/ManyakRus/logrus v0.0.0-20230426064230-515895169d22
## explicit; go 1.13
github.com/ManyakRus/logrus
# github.com/andybalholm/brotli v1.0.4
@@ -30,10 +30,30 @@ github.com/denisenkom/go-mssqldb/internal/cp
github.com/denisenkom/go-mssqldb/internal/decimal
github.com/denisenkom/go-mssqldb/internal/querytext
github.com/denisenkom/go-mssqldb/msdsn
+# github.com/emersion/go-imap v1.2.1
+## explicit; go 1.13
+github.com/emersion/go-imap
+github.com/emersion/go-imap/client
+github.com/emersion/go-imap/commands
+github.com/emersion/go-imap/responses
+github.com/emersion/go-imap/utf7
+# github.com/emersion/go-message v0.16.0
+## explicit; go 1.14
+github.com/emersion/go-message
+github.com/emersion/go-message/mail
+github.com/emersion/go-message/textproto
+# github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21
+## explicit; go 1.12
+github.com/emersion/go-sasl
+# github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594
+## explicit
+github.com/emersion/go-textwrapper
# github.com/go-ozzo/ozzo-validation/v4 v4.3.0
## explicit; go 1.13
github.com/go-ozzo/ozzo-validation/v4
github.com/go-ozzo/ozzo-validation/v4/is
+# github.com/go-test/deep v1.1.0
+## explicit; go 1.16
# github.com/gofiber/fiber/v2 v2.42.0
## explicit; go 1.20
github.com/gofiber/fiber/v2
@@ -202,9 +222,9 @@ github.com/pmezard/go-difflib/difflib
# github.com/rivo/uniseg v0.2.0
## explicit; go 1.12
github.com/rivo/uniseg
-# github.com/sashabaranov/go-gpt3 v1.3.1
-## explicit; go 1.17
-github.com/sashabaranov/go-gpt3
+# github.com/sashabaranov/go-openai v1.9.1
+## explicit; go 1.18
+github.com/sashabaranov/go-openai
# github.com/savsgio/dictpool v0.0.0-20221023140959-7bf2e61cea94
## explicit; go 1.13
github.com/savsgio/dictpool
@@ -261,6 +281,9 @@ github.com/stretchr/testify/suite
# github.com/tinylib/msgp v1.1.6
## explicit; go 1.14
github.com/tinylib/msgp/msgp
+# github.com/toorop/go-dkim v0.0.0-20201103131630-e1cd1a0a5208
+## explicit
+github.com/toorop/go-dkim
# github.com/valyala/bytebufferpool v1.0.0
## explicit
github.com/valyala/bytebufferpool
@@ -282,6 +305,9 @@ github.com/vmihailenco/msgpack/v5/msgpcode
github.com/vmihailenco/tagparser/v2
github.com/vmihailenco/tagparser/v2/internal
github.com/vmihailenco/tagparser/v2/internal/parser
+# github.com/xhit/go-simple-mail/v2 v2.13.0
+## explicit; go 1.13
+github.com/xhit/go-simple-mail/v2
# gitlab.aescorp.ru/dsp_dev/claim/common/object_model v0.0.108
## explicit; go 1.17
gitlab.aescorp.ru/dsp_dev/claim/common/object_model
@@ -314,7 +340,7 @@ go.mau.fi/libsignal/util/errorhelper
go.mau.fi/libsignal/util/keyhelper
go.mau.fi/libsignal/util/medium
go.mau.fi/libsignal/util/optional
-# go.mau.fi/whatsmeow v0.0.0-20230226124255-e5c8f3c95d78
+# go.mau.fi/whatsmeow v0.0.0-20230427180258-7f679583b39b
## explicit; go 1.19
go.mau.fi/whatsmeow
go.mau.fi/whatsmeow/appstate
@@ -332,7 +358,7 @@ go.mau.fi/whatsmeow/util/gcmutil
go.mau.fi/whatsmeow/util/hkdfutil
go.mau.fi/whatsmeow/util/keys
go.mau.fi/whatsmeow/util/log
-# golang.org/x/crypto v0.6.0
+# golang.org/x/crypto v0.8.0
## explicit; go 1.17
golang.org/x/crypto/curve25519
golang.org/x/crypto/curve25519/internal/field
@@ -343,7 +369,7 @@ golang.org/x/crypto/pbkdf2
# golang.org/x/exp v0.0.0-20230418202329-0354be287a23
## explicit; go 1.18
golang.org/x/exp/maps
-# golang.org/x/net v0.6.0
+# golang.org/x/net v0.9.0
## explicit; go 1.17
golang.org/x/net/context
golang.org/x/net/context/ctxhttp
@@ -358,14 +384,16 @@ golang.org/x/net/trace
golang.org/x/oauth2
golang.org/x/oauth2/clientcredentials
golang.org/x/oauth2/internal
-# golang.org/x/sys v0.5.0
+# golang.org/x/sys v0.7.0
## explicit; go 1.17
golang.org/x/sys/internal/unsafeheader
golang.org/x/sys/unix
golang.org/x/sys/windows
-# golang.org/x/text v0.7.0
+# golang.org/x/text v0.9.0
## explicit; go 1.17
golang.org/x/text/cases
+golang.org/x/text/encoding
+golang.org/x/text/encoding/internal/identifier
golang.org/x/text/internal
golang.org/x/text/internal/language
golang.org/x/text/internal/language/compact
@@ -440,7 +468,7 @@ google.golang.org/grpc/serviceconfig
google.golang.org/grpc/stats
google.golang.org/grpc/status
google.golang.org/grpc/tap
-# google.golang.org/protobuf v1.28.1
+# google.golang.org/protobuf v1.30.0
## explicit; go 1.11
google.golang.org/protobuf/encoding/protojson
google.golang.org/protobuf/encoding/prototext