From a0e9275c2a87ba4887efdf929c0b4cd7cd9331c0 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 26 Jun 2023 22:02:31 +0100 Subject: [PATCH] feat(appset): Added Bitbucket Cloud support for pull request generator (#11273) (#11275) * feat(pull-requests): Added Bitbucket Cloud support for pull request generator Signed-off-by: Jamess-Lucass * fixes from review Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com> --------- Signed-off-by: Jamess-Lucass Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com> Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com> --- applicationset/generators/pull_request.go | 34 +- .../services/pull_request/bitbucket_cloud.go | 138 ++ .../pull_request/bitbucket_cloud_test.go | 410 ++++ assets/swagger.json | 40 +- .../applicationset/Generators-Pull-Request.md | 56 + manifests/core-install.yaml | 135 ++ manifests/crds/applicationset-crd.yaml | 135 ++ manifests/ha/install.yaml | 135 ++ manifests/install.yaml | 135 ++ .../v1alpha1/applicationset_types.go | 29 +- pkg/apis/application/v1alpha1/generated.pb.go | 2090 +++++++++++------ pkg/apis/application/v1alpha1/generated.proto | 30 +- .../application/v1alpha1/openapi_generated.go | 86 +- .../v1alpha1/zz_generated.deepcopy.go | 52 + 14 files changed, 2729 insertions(+), 776 deletions(-) create mode 100644 applicationset/services/pull_request/bitbucket_cloud.go create mode 100644 applicationset/services/pull_request/bitbucket_cloud_test.go diff --git a/applicationset/generators/pull_request.go b/applicationset/generators/pull_request.go index 80f4fe2703508..a5a6f7f5e2daf 100644 --- a/applicationset/generators/pull_request.go +++ b/applicationset/generators/pull_request.go @@ -96,14 +96,14 @@ func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha } paramMap := map[string]interface{}{ - "number": strconv.Itoa(pull.Number), - "branch": pull.Branch, - "branch_slug": slug.Make(pull.Branch), - "target_branch": pull.TargetBranch, - "target_branch_slug": slug.Make(pull.TargetBranch), - "head_sha": pull.HeadSHA, - "head_short_sha": pull.HeadSHA[:shortSHALength], - "head_short_sha_7": pull.HeadSHA[:shortSHALength7], + "number": strconv.Itoa(pull.Number), + "branch": pull.Branch, + "branch_slug": slug.Make(pull.Branch), + "target_branch": pull.TargetBranch, + "target_branch_slug": slug.Make(pull.TargetBranch), + "head_sha": pull.HeadSHA, + "head_short_sha": pull.HeadSHA[:shortSHALength], + "head_short_sha_7": pull.HeadSHA[:shortSHALength7], } // PR lables will only be supported for Go Template appsets, since fasttemplate will be deprecated. @@ -148,6 +148,24 @@ func (g *PullRequestGenerator) selectServiceProvider(ctx context.Context, genera return pullrequest.NewBitbucketServiceNoAuth(ctx, providerConfig.API, providerConfig.Project, providerConfig.Repo) } } + if generatorConfig.Bitbucket != nil { + providerConfig := generatorConfig.Bitbucket + if providerConfig.BearerToken != nil { + appToken, err := g.getSecretRef(ctx, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace) + if err != nil { + return nil, fmt.Errorf("error fetching Secret Bearer token: %v", err) + } + return pullrequest.NewBitbucketCloudServiceBearerToken(providerConfig.API, appToken, providerConfig.Owner, providerConfig.Repo) + } else if providerConfig.BasicAuth != nil { + password, err := g.getSecretRef(ctx, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace) + if err != nil { + return nil, fmt.Errorf("error fetching Secret token: %v", err) + } + return pullrequest.NewBitbucketCloudServiceBasicAuth(providerConfig.API, providerConfig.BasicAuth.Username, password, providerConfig.Owner, providerConfig.Repo) + } else { + return pullrequest.NewBitbucketCloudServiceNoAuth(providerConfig.API, providerConfig.Owner, providerConfig.Repo) + } + } return nil, fmt.Errorf("no Pull Request provider implementation configured") } diff --git a/applicationset/services/pull_request/bitbucket_cloud.go b/applicationset/services/pull_request/bitbucket_cloud.go new file mode 100644 index 0000000000000..5d5f8208f9b06 --- /dev/null +++ b/applicationset/services/pull_request/bitbucket_cloud.go @@ -0,0 +1,138 @@ +package pull_request + +import ( + "context" + "encoding/json" + "fmt" + "net/url" + + "github.com/ktrysmt/go-bitbucket" +) + +type BitbucketCloudService struct { + client *bitbucket.Client + owner string + repositorySlug string +} + +type BitbucketCloudPullRequest struct { + ID int `json:"id"` + Source BitbucketCloudPullRequestSource `json:"source"` +} + +type BitbucketCloudPullRequestSource struct { + Branch BitbucketCloudPullRequestSourceBranch `json:"branch"` + Commit BitbucketCloudPullRequestSourceCommit `json:"commit"` +} + +type BitbucketCloudPullRequestSourceBranch struct { + Name string `json:"name"` +} + +type BitbucketCloudPullRequestSourceCommit struct { + Hash string `json:"hash"` +} + +type PullRequestResponse struct { + Page int32 `json:"page"` + Size int32 `json:"size"` + Pagelen int32 `json:"pagelen"` + Next string `json:"next"` + Previous string `json:"previous"` + Items []PullRequest `json:"values"` +} + +var _ PullRequestService = (*BitbucketCloudService)(nil) + +func parseUrl(uri string) (*url.URL, error) { + if uri == "" { + uri = "https://api.bitbucket.org/2.0" + } + + url, err := url.Parse(uri) + if err != nil { + return nil, err + } + + return url, nil +} + +func NewBitbucketCloudServiceBasicAuth(baseUrl, username, password, owner, repositorySlug string) (PullRequestService, error) { + url, err := parseUrl(baseUrl) + if err != nil { + return nil, fmt.Errorf("error parsing base url of %s for %s/%s: %v", baseUrl, owner, repositorySlug, err) + } + + bitbucketClient := bitbucket.NewBasicAuth(username, password) + bitbucketClient.SetApiBaseURL(*url) + + return &BitbucketCloudService{ + client: bitbucketClient, + owner: owner, + repositorySlug: repositorySlug, + }, nil +} + +func NewBitbucketCloudServiceBearerToken(baseUrl, bearerToken, owner, repositorySlug string) (PullRequestService, error) { + url, err := parseUrl(baseUrl) + if err != nil { + return nil, fmt.Errorf("error parsing base url of %s for %s/%s: %v", baseUrl, owner, repositorySlug, err) + } + + bitbucketClient := bitbucket.NewOAuthbearerToken(bearerToken) + bitbucketClient.SetApiBaseURL(*url) + + return &BitbucketCloudService{ + client: bitbucketClient, + owner: owner, + repositorySlug: repositorySlug, + }, nil +} + +func NewBitbucketCloudServiceNoAuth(baseUrl, owner, repositorySlug string) (PullRequestService, error) { + // There is currently no method to explicitly not require auth + return NewBitbucketCloudServiceBearerToken(baseUrl, "", owner, repositorySlug) +} + +func (b *BitbucketCloudService) List(_ context.Context) ([]*PullRequest, error) { + opts := &bitbucket.PullRequestsOptions{ + Owner: b.owner, + RepoSlug: b.repositorySlug, + } + + response, err := b.client.Repositories.PullRequests.Gets(opts) + if err != nil { + return nil, fmt.Errorf("error listing pull requests for %s/%s: %v", b.owner, b.repositorySlug, err) + } + + resp, ok := response.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("unknown type returned from bitbucket pull requests") + } + + repoArray, ok := resp["values"].([]interface{}) + if !ok { + return nil, fmt.Errorf("unknown type returned from response values") + } + + jsonStr, err := json.Marshal(repoArray) + if err != nil { + return nil, fmt.Errorf("error marshalling response body to json: %v", err) + } + + var pulls []BitbucketCloudPullRequest + if err := json.Unmarshal(jsonStr, &pulls); err != nil { + return nil, fmt.Errorf("error unmarshalling json to type '[]BitbucketCloudPullRequest': %v", err) + } + + pullRequests := []*PullRequest{} + for _, pull := range pulls { + pullRequests = append(pullRequests, &PullRequest{ + Number: pull.ID, + Branch: pull.Source.Branch.Name, + HeadSHA: pull.Source.Commit.Hash, + }) + } + + return pullRequests, nil +} diff --git a/applicationset/services/pull_request/bitbucket_cloud_test.go b/applicationset/services/pull_request/bitbucket_cloud_test.go new file mode 100644 index 0000000000000..2f604c1fa9ccf --- /dev/null +++ b/applicationset/services/pull_request/bitbucket_cloud_test.go @@ -0,0 +1,410 @@ +package pull_request + +import ( + "context" + "fmt" + "io" + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1" +) + +func defaultHandlerCloud(t *testing.T) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + var err error + switch r.RequestURI { + case "/repositories/OWNER/REPO/pullrequests/": + _, err = io.WriteString(w, `{ + "size": 1, + "pagelen": 10, + "page": 1, + "values": [ + { + "id": 101, + "source": { + "branch": { + "name": "feature/foo-bar" + }, + "commit": { + "type": "commit", + "hash": "1a8dd249c04a" + } + } + } + ] + }`) + default: + t.Fail() + } + if err != nil { + t.Fail() + } + } +} + +func TestParseUrlEmptyUrl(t *testing.T) { + url, err := parseUrl("") + bitbucketUrl, _ := url.Parse("https://api.bitbucket.org/2.0") + + assert.NoError(t, err) + assert.Equal(t, bitbucketUrl, url) +} + +func TestInvalidBaseUrlBasicAuthCloud(t *testing.T) { + _, err := NewBitbucketCloudServiceBasicAuth("http:// example.org", "user", "password", "OWNER", "REPO") + + assert.Error(t, err) +} + +func TestInvalidBaseUrlBearerTokenCloud(t *testing.T) { + _, err := NewBitbucketCloudServiceBearerToken("http:// example.org", "TOKEN", "OWNER", "REPO") + + assert.Error(t, err) +} + +func TestInvalidBaseUrlNoAuthCloud(t *testing.T) { + _, err := NewBitbucketCloudServiceNoAuth("http:// example.org", "OWNER", "REPO") + + assert.Error(t, err) +} + +func TestListPullRequestBearerTokenCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, "Bearer TOKEN", r.Header.Get("Authorization")) + defaultHandlerCloud(t)(w, r) + })) + defer ts.Close() + svc, err := NewBitbucketCloudServiceBearerToken(ts.URL, "TOKEN", "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.NoError(t, err) + assert.Equal(t, 1, len(pullRequests)) + assert.Equal(t, 101, pullRequests[0].Number) + assert.Equal(t, "feature/foo-bar", pullRequests[0].Branch) + assert.Equal(t, "1a8dd249c04a", pullRequests[0].HeadSHA) +} + +func TestListPullRequestNoAuthCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Empty(t, r.Header.Get("Authorization")) + defaultHandlerCloud(t)(w, r) + })) + defer ts.Close() + svc, err := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.NoError(t, err) + assert.Equal(t, 1, len(pullRequests)) + assert.Equal(t, 101, pullRequests[0].Number) + assert.Equal(t, "feature/foo-bar", pullRequests[0].Branch) + assert.Equal(t, "1a8dd249c04a", pullRequests[0].HeadSHA) +} + +func TestListPullRequestBasicAuthCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, "Basic dXNlcjpwYXNzd29yZA==", r.Header.Get("Authorization")) + defaultHandlerCloud(t)(w, r) + })) + defer ts.Close() + svc, err := NewBitbucketCloudServiceBasicAuth(ts.URL, "user", "password", "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.NoError(t, err) + assert.Equal(t, 1, len(pullRequests)) + assert.Equal(t, 101, pullRequests[0].Number) + assert.Equal(t, "feature/foo-bar", pullRequests[0].Branch) + assert.Equal(t, "1a8dd249c04a", pullRequests[0].HeadSHA) +} + +func TestListPullRequestPaginationCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + var err error + switch r.RequestURI { + case "/repositories/OWNER/REPO/pullrequests/": + _, err = io.WriteString(w, fmt.Sprintf(`{ + "size": 2, + "pagelen": 1, + "page": 1, + "next": "http://%s/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=2", + "values": [ + { + "id": 101, + "source": { + "branch": { + "name": "feature-101" + }, + "commit": { + "type": "commit", + "hash": "1a8dd249c04a" + } + } + }, + { + "id": 102, + "source": { + "branch": { + "name": "feature-102" + }, + "commit": { + "type": "commit", + "hash": "4cf807e67a6d" + } + } + } + ] + }`, r.Host)) + case "/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=2": + _, err = io.WriteString(w, fmt.Sprintf(`{ + "size": 2, + "pagelen": 1, + "page": 2, + "previous": "http://%s/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=1", + "values": [ + { + "id": 103, + "source": { + "branch": { + "name": "feature-103" + }, + "commit": { + "type": "commit", + "hash": "6344d9623e3b" + } + } + } + ] + }`, r.Host)) + default: + t.Fail() + } + if err != nil { + t.Fail() + } + })) + defer ts.Close() + svc, err := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.NoError(t, err) + assert.Equal(t, 3, len(pullRequests)) + assert.Equal(t, PullRequest{ + Number: 101, + Branch: "feature-101", + HeadSHA: "1a8dd249c04a", + }, *pullRequests[0]) + assert.Equal(t, PullRequest{ + Number: 102, + Branch: "feature-102", + HeadSHA: "4cf807e67a6d", + }, *pullRequests[1]) + assert.Equal(t, PullRequest{ + Number: 103, + Branch: "feature-103", + HeadSHA: "6344d9623e3b", + }, *pullRequests[2]) +} + +func TestListResponseErrorCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(500) + })) + defer ts.Close() + svc, _ := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + _, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.Error(t, err) +} + +func TestListResponseMalformedCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + switch r.RequestURI { + case "/repositories/OWNER/REPO/pullrequests/": + _, err := io.WriteString(w, `[{ + "size": 1, + "pagelen": 10, + "page": 1, + "values": [{ "id": 101 }] + }]`) + if err != nil { + t.Fail() + } + default: + t.Fail() + } + })) + defer ts.Close() + svc, _ := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + _, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.Error(t, err) +} + +func TestListResponseMalformedValuesCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + switch r.RequestURI { + case "/repositories/OWNER/REPO/pullrequests/": + _, err := io.WriteString(w, `{ + "size": 1, + "pagelen": 10, + "page": 1, + "values": { "id": 101 } + }`) + if err != nil { + t.Fail() + } + default: + t.Fail() + } + })) + defer ts.Close() + svc, _ := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + _, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.Error(t, err) +} + +func TestListResponseEmptyCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + switch r.RequestURI { + case "/repositories/OWNER/REPO/pullrequests/": + _, err := io.WriteString(w, `{ + "size": 1, + "pagelen": 10, + "page": 1, + "values": [] + }`) + if err != nil { + t.Fail() + } + default: + t.Fail() + } + })) + defer ts.Close() + svc, err := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{}) + assert.NoError(t, err) + assert.Empty(t, pullRequests) +} + +func TestListPullRequestBranchMatchCloud(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + var err error + switch r.RequestURI { + case "/repositories/OWNER/REPO/pullrequests/": + _, err = io.WriteString(w, fmt.Sprintf(`{ + "size": 2, + "pagelen": 1, + "page": 1, + "next": "http://%s/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=2", + "values": [ + { + "id": 101, + "source": { + "branch": { + "name": "feature-101" + }, + "commit": { + "type": "commit", + "hash": "1a8dd249c04a" + } + } + }, + { + "id": 200, + "source": { + "branch": { + "name": "feature-200" + }, + "commit": { + "type": "commit", + "hash": "4cf807e67a6d" + } + } + } + ] + }`, r.Host)) + case "/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=2": + _, err = io.WriteString(w, fmt.Sprintf(`{ + "size": 2, + "pagelen": 1, + "page": 2, + "previous": "http://%s/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=1", + "values": [ + { + "id": 102, + "source": { + "branch": { + "name": "feature-102" + }, + "commit": { + "type": "commit", + "hash": "6344d9623e3b" + } + } + } + ] + }`, r.Host)) + default: + t.Fail() + } + if err != nil { + t.Fail() + } + })) + defer ts.Close() + regexp := `feature-1[\d]{2}` + svc, err := NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err := ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{ + { + BranchMatch: ®exp, + }, + }) + assert.NoError(t, err) + assert.Equal(t, 2, len(pullRequests)) + assert.Equal(t, PullRequest{ + Number: 101, + Branch: "feature-101", + HeadSHA: "1a8dd249c04a", + }, *pullRequests[0]) + assert.Equal(t, PullRequest{ + Number: 102, + Branch: "feature-102", + HeadSHA: "6344d9623e3b", + }, *pullRequests[1]) + + regexp = `.*2$` + svc, err = NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + assert.NoError(t, err) + pullRequests, err = ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{ + { + BranchMatch: ®exp, + }, + }) + assert.NoError(t, err) + assert.Equal(t, 1, len(pullRequests)) + assert.Equal(t, PullRequest{ + Number: 102, + Branch: "feature-102", + HeadSHA: "6344d9623e3b", + }, *pullRequests[0]) + + regexp = `[\d{2}` + svc, err = NewBitbucketCloudServiceNoAuth(ts.URL, "OWNER", "REPO") + assert.NoError(t, err) + _, err = ListPullRequests(context.Background(), svc, []v1alpha1.PullRequestGeneratorFilter{ + { + BranchMatch: ®exp, + }, + }) + assert.Error(t, err) +} diff --git a/assets/swagger.json b/assets/swagger.json index e3663a44bba7e..bb9d7a8d12d30 100644 --- a/assets/swagger.json +++ b/assets/swagger.json @@ -6524,6 +6524,15 @@ } } }, + "v1alpha1BearerTokenBitbucketCloud": { + "description": "BearerTokenBitbucketCloud defines the Bearer token for BitBucket AppToken auth.", + "type": "object", + "properties": { + "tokenRef": { + "$ref": "#/definitions/v1alpha1SecretRef" + } + } + }, "v1alpha1ChartDetails": { "type": "object", "title": "ChartDetails contains helm chart metadata for a specific version", @@ -7429,6 +7438,9 @@ "description": "PullRequestGenerator defines a generator that scrapes a PullRequest API to find candidate pull requests.", "type": "object", "properties": { + "bitbucket": { + "$ref": "#/definitions/v1alpha1PullRequestGeneratorBitbucket" + }, "bitbucketServer": { "$ref": "#/definitions/v1alpha1PullRequestGeneratorBitbucketServer" }, @@ -7458,8 +7470,32 @@ } } }, + "v1alpha1PullRequestGeneratorBitbucket": { + "description": "PullRequestGeneratorBitbucket defines connection info specific to Bitbucket.", + "type": "object", + "properties": { + "api": { + "description": "The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0.", + "type": "string" + }, + "basicAuth": { + "$ref": "#/definitions/v1alpha1BasicAuthBitbucketServer" + }, + "bearerToken": { + "$ref": "#/definitions/v1alpha1BearerTokenBitbucketCloud" + }, + "owner": { + "description": "Workspace to scan. Required.", + "type": "string" + }, + "repo": { + "description": "Repo name to scan. Required.", + "type": "string" + } + } + }, "v1alpha1PullRequestGeneratorBitbucketServer": { - "description": "PullRequestGenerator defines connection info specific to BitbucketServer.", + "description": "PullRequestGeneratorBitbucketServer defines connection info specific to BitbucketServer.", "type": "object", "properties": { "api": { @@ -7520,7 +7556,7 @@ } }, "v1alpha1PullRequestGeneratorGitea": { - "description": "PullRequestGenerator defines connection info specific to Gitea.", + "description": "PullRequestGeneratorGitea defines connection info specific to Gitea.", "type": "object", "properties": { "api": { diff --git a/docs/operator-manual/applicationset/Generators-Pull-Request.md b/docs/operator-manual/applicationset/Generators-Pull-Request.md index 27dfef3a30715..56f5f13236cd6 100644 --- a/docs/operator-manual/applicationset/Generators-Pull-Request.md +++ b/docs/operator-manual/applicationset/Generators-Pull-Request.md @@ -180,6 +180,62 @@ If you want to access a private repository, you must also provide the credential * `username`: The username to authenticate with. It only needs read access to the relevant repo. * `passwordRef`: A `Secret` name and key containing the password or personal access token to use for requests. +## Bitbucket Cloud + +Fetch pull requests from a repo hosted on a Bitbucket Cloud. + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: myapps +spec: + generators: + - pullRequest: + bitbucket: + # Workspace name where the repoistory is stored under. Required. + owner: myproject + # Repository slug. Required. + repo: myrepository + # URL of the Bitbucket Server. (optional) Will default to 'https://api.bitbucket.org/2.0'. + api: https://api.bitbucket.org/2.0 + # Credentials for Basic authentication (App Password). Either basicAuth or bearerToken + # authentication is required to access private repositories + basicAuth: + # The username to authenticate with + username: myuser + # Reference to a Secret containing the password or personal access token. + passwordRef: + secretName: mypassword + key: password + # Credentials for Bearer Token (App Token) authentication. Either basicAuth or bearerToken + # authentication is required to access private repositories + bearerToken: + tokenRef: + secretName: repotoken + key: token + # Labels are not supported by Bitbucket Cloud, so filtering by label is not possible. + # Filter PRs using the source branch name. (optional) + filters: + - branchMatch: ".*-argocd" + template: + # ... +``` + +- `owner`: Required name of the Bitbucket workspace +- `repo`: Required name of the Bitbucket repository. +- `api`: Optional URL to access the Bitbucket REST API. For the example above, an API request would be made to `https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}/pullrequests`. If not set, defaults to `https://api.bitbucket.org/2.0` +- `branchMatch`: Optional regexp filter which should match the source branch name. This is an alternative to labels which are not supported by Bitbucket server. + +If you want to access a private repository, ArgoCD will need credentials to access repository in Bitbucket Cloud. You can use Bitbucket App Password (generated per user, with access to whole workspace), or Bitbucket App Token (generated per repository, with access limited to repository scope only). If both App Password and App Token are defined, App Token will be used. + +To use Bitbucket App Password, use `basicAuth` section. +- `username`: The username to authenticate with. It only needs read access to the relevant repo. +- `passwordRef`: A `Secret` name and key containing the password or personal access token to use for requests. + +In case of Bitbucket App Token, go with `bearerToken` section. +- `tokenRef`: A `Secret` name and key containing the app token to use for requests. + ## Filters Filters allow selecting which pull requests to generate for. Each filter can declare one or more conditions, all of which must pass. If multiple filters are present, any can match for a repository to be included. If no filters are specified, all pull requests will be processed. diff --git a/manifests/core-install.yaml b/manifests/core-install.yaml index 48c272af580ed..715a194017b02 100644 --- a/manifests/core-install.yaml +++ b/manifests/core-install.yaml @@ -9143,6 +9143,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -13544,6 +13589,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -15874,6 +15964,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: diff --git a/manifests/crds/applicationset-crd.yaml b/manifests/crds/applicationset-crd.yaml index 9dd0c429788dc..2204800c6bd69 100644 --- a/manifests/crds/applicationset-crd.yaml +++ b/manifests/crds/applicationset-crd.yaml @@ -4692,6 +4692,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -9093,6 +9138,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -11423,6 +11513,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index 3b9cfbc586bd5..b9496df4373f0 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -9143,6 +9143,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -13544,6 +13589,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -15874,6 +15964,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: diff --git a/manifests/install.yaml b/manifests/install.yaml index 08e08febd010c..ee6df10740f50 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -9143,6 +9143,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -13544,6 +13589,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: @@ -15874,6 +15964,51 @@ spec: type: object pullRequest: properties: + bitbucket: + properties: + api: + type: string + basicAuth: + properties: + passwordRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + username: + type: string + required: + - passwordRef + - username + type: object + bearerToken: + properties: + tokenRef: + properties: + key: + type: string + secretName: + type: string + required: + - key + - secretName + type: object + required: + - tokenRef + type: object + owner: + type: string + repo: + type: string + required: + - owner + - repo + type: object bitbucketServer: properties: api: diff --git a/pkg/apis/application/v1alpha1/applicationset_types.go b/pkg/apis/application/v1alpha1/applicationset_types.go index f78c684de0eb7..993627102ad05 100644 --- a/pkg/apis/application/v1alpha1/applicationset_types.go +++ b/pkg/apis/application/v1alpha1/applicationset_types.go @@ -523,11 +523,12 @@ type PullRequestGenerator struct { // Filters for which pull requests should be considered. Filters []PullRequestGeneratorFilter `json:"filters,omitempty" protobuf:"bytes,5,rep,name=filters"` // Standard parameters. - RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"varint,6,opt,name=requeueAfterSeconds"` - Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,7,opt,name=template"` + RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"varint,6,opt,name=requeueAfterSeconds"` + Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,7,opt,name=template"` + Bitbucket *PullRequestGeneratorBitbucket `json:"bitbucket,omitempty" protobuf:"bytes,8,opt,name=bitbucket"` } -// PullRequestGenerator defines connection info specific to Gitea. +// PullRequestGeneratorGitea defines connection info specific to Gitea. type PullRequestGeneratorGitea struct { // Gitea org or user to scan. Required. Owner string `json:"owner" protobuf:"bytes,1,opt,name=owner"` @@ -571,7 +572,7 @@ type PullRequestGeneratorGitLab struct { PullRequestState string `json:"pullRequestState,omitempty" protobuf:"bytes,5,rep,name=pullRequestState"` } -// PullRequestGenerator defines connection info specific to BitbucketServer. +// PullRequestGeneratorBitbucketServer defines connection info specific to BitbucketServer. type PullRequestGeneratorBitbucketServer struct { // Project to scan. Required. Project string `json:"project" protobuf:"bytes,1,opt,name=project"` @@ -583,6 +584,26 @@ type PullRequestGeneratorBitbucketServer struct { BasicAuth *BasicAuthBitbucketServer `json:"basicAuth,omitempty" protobuf:"bytes,4,opt,name=basicAuth"` } +// PullRequestGeneratorBitbucket defines connection info specific to Bitbucket. +type PullRequestGeneratorBitbucket struct { + // Workspace to scan. Required. + Owner string `json:"owner" protobuf:"bytes,1,opt,name=owner"` + // Repo name to scan. Required. + Repo string `json:"repo" protobuf:"bytes,2,opt,name=repo"` + // The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0. + API string `json:"api,omitempty" protobuf:"bytes,3,opt,name=api"` + // Credentials for Basic auth + BasicAuth *BasicAuthBitbucketServer `json:"basicAuth,omitempty" protobuf:"bytes,4,opt,name=basicAuth"` + // Credentials for AppToken (Bearer auth) + BearerToken *BearerTokenBitbucketCloud `json:"bearerToken,omitempty" protobuf:"bytes,5,opt,name=bearerToken"` +} + +// BearerTokenBitbucketCloud defines the Bearer token for BitBucket AppToken auth. +type BearerTokenBitbucketCloud struct { + // Password (or personal access token) reference. + TokenRef *SecretRef `json:"tokenRef" protobuf:"bytes,1,opt,name=tokenRef"` +} + // BasicAuthBitbucketServer defines the username/(password or personal access token) for Basic auth. type BasicAuthBitbucketServer struct { // Username for Basic auth diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go index c0a6279aad3d4..f6cdf922b4baa 100644 --- a/pkg/apis/application/v1alpha1/generated.pb.go +++ b/pkg/apis/application/v1alpha1/generated.pb.go @@ -1159,10 +1159,38 @@ func (m *BasicAuthBitbucketServer) XXX_DiscardUnknown() { var xxx_messageInfo_BasicAuthBitbucketServer proto.InternalMessageInfo +func (m *BearerTokenBitbucketCloud) Reset() { *m = BearerTokenBitbucketCloud{} } +func (*BearerTokenBitbucketCloud) ProtoMessage() {} +func (*BearerTokenBitbucketCloud) Descriptor() ([]byte, []int) { + return fileDescriptor_030104ce3b95bcac, []int{40} +} +func (m *BearerTokenBitbucketCloud) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BearerTokenBitbucketCloud) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *BearerTokenBitbucketCloud) XXX_Merge(src proto.Message) { + xxx_messageInfo_BearerTokenBitbucketCloud.Merge(m, src) +} +func (m *BearerTokenBitbucketCloud) XXX_Size() int { + return m.Size() +} +func (m *BearerTokenBitbucketCloud) XXX_DiscardUnknown() { + xxx_messageInfo_BearerTokenBitbucketCloud.DiscardUnknown(m) +} + +var xxx_messageInfo_BearerTokenBitbucketCloud proto.InternalMessageInfo + func (m *ChartDetails) Reset() { *m = ChartDetails{} } func (*ChartDetails) ProtoMessage() {} func (*ChartDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{40} + return fileDescriptor_030104ce3b95bcac, []int{41} } func (m *ChartDetails) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1190,7 +1218,7 @@ var xxx_messageInfo_ChartDetails proto.InternalMessageInfo func (m *Cluster) Reset() { *m = Cluster{} } func (*Cluster) ProtoMessage() {} func (*Cluster) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{41} + return fileDescriptor_030104ce3b95bcac, []int{42} } func (m *Cluster) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1218,7 +1246,7 @@ var xxx_messageInfo_Cluster proto.InternalMessageInfo func (m *ClusterCacheInfo) Reset() { *m = ClusterCacheInfo{} } func (*ClusterCacheInfo) ProtoMessage() {} func (*ClusterCacheInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{42} + return fileDescriptor_030104ce3b95bcac, []int{43} } func (m *ClusterCacheInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1246,7 +1274,7 @@ var xxx_messageInfo_ClusterCacheInfo proto.InternalMessageInfo func (m *ClusterConfig) Reset() { *m = ClusterConfig{} } func (*ClusterConfig) ProtoMessage() {} func (*ClusterConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{43} + return fileDescriptor_030104ce3b95bcac, []int{44} } func (m *ClusterConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1274,7 +1302,7 @@ var xxx_messageInfo_ClusterConfig proto.InternalMessageInfo func (m *ClusterGenerator) Reset() { *m = ClusterGenerator{} } func (*ClusterGenerator) ProtoMessage() {} func (*ClusterGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{44} + return fileDescriptor_030104ce3b95bcac, []int{45} } func (m *ClusterGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1302,7 +1330,7 @@ var xxx_messageInfo_ClusterGenerator proto.InternalMessageInfo func (m *ClusterInfo) Reset() { *m = ClusterInfo{} } func (*ClusterInfo) ProtoMessage() {} func (*ClusterInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{45} + return fileDescriptor_030104ce3b95bcac, []int{46} } func (m *ClusterInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1330,7 +1358,7 @@ var xxx_messageInfo_ClusterInfo proto.InternalMessageInfo func (m *ClusterList) Reset() { *m = ClusterList{} } func (*ClusterList) ProtoMessage() {} func (*ClusterList) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{46} + return fileDescriptor_030104ce3b95bcac, []int{47} } func (m *ClusterList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1358,7 +1386,7 @@ var xxx_messageInfo_ClusterList proto.InternalMessageInfo func (m *Command) Reset() { *m = Command{} } func (*Command) ProtoMessage() {} func (*Command) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{47} + return fileDescriptor_030104ce3b95bcac, []int{48} } func (m *Command) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1386,7 +1414,7 @@ var xxx_messageInfo_Command proto.InternalMessageInfo func (m *ComparedTo) Reset() { *m = ComparedTo{} } func (*ComparedTo) ProtoMessage() {} func (*ComparedTo) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{48} + return fileDescriptor_030104ce3b95bcac, []int{49} } func (m *ComparedTo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1414,7 +1442,7 @@ var xxx_messageInfo_ComparedTo proto.InternalMessageInfo func (m *ComponentParameter) Reset() { *m = ComponentParameter{} } func (*ComponentParameter) ProtoMessage() {} func (*ComponentParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{49} + return fileDescriptor_030104ce3b95bcac, []int{50} } func (m *ComponentParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1442,7 +1470,7 @@ var xxx_messageInfo_ComponentParameter proto.InternalMessageInfo func (m *ConfigManagementPlugin) Reset() { *m = ConfigManagementPlugin{} } func (*ConfigManagementPlugin) ProtoMessage() {} func (*ConfigManagementPlugin) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{50} + return fileDescriptor_030104ce3b95bcac, []int{51} } func (m *ConfigManagementPlugin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1470,7 +1498,7 @@ var xxx_messageInfo_ConfigManagementPlugin proto.InternalMessageInfo func (m *ConnectionState) Reset() { *m = ConnectionState{} } func (*ConnectionState) ProtoMessage() {} func (*ConnectionState) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{51} + return fileDescriptor_030104ce3b95bcac, []int{52} } func (m *ConnectionState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1498,7 +1526,7 @@ var xxx_messageInfo_ConnectionState proto.InternalMessageInfo func (m *DuckTypeGenerator) Reset() { *m = DuckTypeGenerator{} } func (*DuckTypeGenerator) ProtoMessage() {} func (*DuckTypeGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{52} + return fileDescriptor_030104ce3b95bcac, []int{53} } func (m *DuckTypeGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1526,7 +1554,7 @@ var xxx_messageInfo_DuckTypeGenerator proto.InternalMessageInfo func (m *EnvEntry) Reset() { *m = EnvEntry{} } func (*EnvEntry) ProtoMessage() {} func (*EnvEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{53} + return fileDescriptor_030104ce3b95bcac, []int{54} } func (m *EnvEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1554,7 +1582,7 @@ var xxx_messageInfo_EnvEntry proto.InternalMessageInfo func (m *ExecProviderConfig) Reset() { *m = ExecProviderConfig{} } func (*ExecProviderConfig) ProtoMessage() {} func (*ExecProviderConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{54} + return fileDescriptor_030104ce3b95bcac, []int{55} } func (m *ExecProviderConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1582,7 +1610,7 @@ var xxx_messageInfo_ExecProviderConfig proto.InternalMessageInfo func (m *GitDirectoryGeneratorItem) Reset() { *m = GitDirectoryGeneratorItem{} } func (*GitDirectoryGeneratorItem) ProtoMessage() {} func (*GitDirectoryGeneratorItem) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{55} + return fileDescriptor_030104ce3b95bcac, []int{56} } func (m *GitDirectoryGeneratorItem) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1610,7 +1638,7 @@ var xxx_messageInfo_GitDirectoryGeneratorItem proto.InternalMessageInfo func (m *GitFileGeneratorItem) Reset() { *m = GitFileGeneratorItem{} } func (*GitFileGeneratorItem) ProtoMessage() {} func (*GitFileGeneratorItem) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{56} + return fileDescriptor_030104ce3b95bcac, []int{57} } func (m *GitFileGeneratorItem) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1638,7 +1666,7 @@ var xxx_messageInfo_GitFileGeneratorItem proto.InternalMessageInfo func (m *GitGenerator) Reset() { *m = GitGenerator{} } func (*GitGenerator) ProtoMessage() {} func (*GitGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{57} + return fileDescriptor_030104ce3b95bcac, []int{58} } func (m *GitGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1666,7 +1694,7 @@ var xxx_messageInfo_GitGenerator proto.InternalMessageInfo func (m *GnuPGPublicKey) Reset() { *m = GnuPGPublicKey{} } func (*GnuPGPublicKey) ProtoMessage() {} func (*GnuPGPublicKey) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{58} + return fileDescriptor_030104ce3b95bcac, []int{59} } func (m *GnuPGPublicKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1694,7 +1722,7 @@ var xxx_messageInfo_GnuPGPublicKey proto.InternalMessageInfo func (m *GnuPGPublicKeyList) Reset() { *m = GnuPGPublicKeyList{} } func (*GnuPGPublicKeyList) ProtoMessage() {} func (*GnuPGPublicKeyList) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{59} + return fileDescriptor_030104ce3b95bcac, []int{60} } func (m *GnuPGPublicKeyList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1722,7 +1750,7 @@ var xxx_messageInfo_GnuPGPublicKeyList proto.InternalMessageInfo func (m *HealthStatus) Reset() { *m = HealthStatus{} } func (*HealthStatus) ProtoMessage() {} func (*HealthStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{60} + return fileDescriptor_030104ce3b95bcac, []int{61} } func (m *HealthStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1750,7 +1778,7 @@ var xxx_messageInfo_HealthStatus proto.InternalMessageInfo func (m *HelmFileParameter) Reset() { *m = HelmFileParameter{} } func (*HelmFileParameter) ProtoMessage() {} func (*HelmFileParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{61} + return fileDescriptor_030104ce3b95bcac, []int{62} } func (m *HelmFileParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1778,7 +1806,7 @@ var xxx_messageInfo_HelmFileParameter proto.InternalMessageInfo func (m *HelmOptions) Reset() { *m = HelmOptions{} } func (*HelmOptions) ProtoMessage() {} func (*HelmOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{62} + return fileDescriptor_030104ce3b95bcac, []int{63} } func (m *HelmOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1806,7 +1834,7 @@ var xxx_messageInfo_HelmOptions proto.InternalMessageInfo func (m *HelmParameter) Reset() { *m = HelmParameter{} } func (*HelmParameter) ProtoMessage() {} func (*HelmParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{63} + return fileDescriptor_030104ce3b95bcac, []int{64} } func (m *HelmParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1834,7 +1862,7 @@ var xxx_messageInfo_HelmParameter proto.InternalMessageInfo func (m *HostInfo) Reset() { *m = HostInfo{} } func (*HostInfo) ProtoMessage() {} func (*HostInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{64} + return fileDescriptor_030104ce3b95bcac, []int{65} } func (m *HostInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1862,7 +1890,7 @@ var xxx_messageInfo_HostInfo proto.InternalMessageInfo func (m *HostResourceInfo) Reset() { *m = HostResourceInfo{} } func (*HostResourceInfo) ProtoMessage() {} func (*HostResourceInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{65} + return fileDescriptor_030104ce3b95bcac, []int{66} } func (m *HostResourceInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1890,7 +1918,7 @@ var xxx_messageInfo_HostResourceInfo proto.InternalMessageInfo func (m *Info) Reset() { *m = Info{} } func (*Info) ProtoMessage() {} func (*Info) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{66} + return fileDescriptor_030104ce3b95bcac, []int{67} } func (m *Info) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1918,7 +1946,7 @@ var xxx_messageInfo_Info proto.InternalMessageInfo func (m *InfoItem) Reset() { *m = InfoItem{} } func (*InfoItem) ProtoMessage() {} func (*InfoItem) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{67} + return fileDescriptor_030104ce3b95bcac, []int{68} } func (m *InfoItem) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1946,7 +1974,7 @@ var xxx_messageInfo_InfoItem proto.InternalMessageInfo func (m *JWTToken) Reset() { *m = JWTToken{} } func (*JWTToken) ProtoMessage() {} func (*JWTToken) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{68} + return fileDescriptor_030104ce3b95bcac, []int{69} } func (m *JWTToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1974,7 +2002,7 @@ var xxx_messageInfo_JWTToken proto.InternalMessageInfo func (m *JWTTokens) Reset() { *m = JWTTokens{} } func (*JWTTokens) ProtoMessage() {} func (*JWTTokens) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{69} + return fileDescriptor_030104ce3b95bcac, []int{70} } func (m *JWTTokens) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2002,7 +2030,7 @@ var xxx_messageInfo_JWTTokens proto.InternalMessageInfo func (m *JsonnetVar) Reset() { *m = JsonnetVar{} } func (*JsonnetVar) ProtoMessage() {} func (*JsonnetVar) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{70} + return fileDescriptor_030104ce3b95bcac, []int{71} } func (m *JsonnetVar) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2030,7 +2058,7 @@ var xxx_messageInfo_JsonnetVar proto.InternalMessageInfo func (m *KnownTypeField) Reset() { *m = KnownTypeField{} } func (*KnownTypeField) ProtoMessage() {} func (*KnownTypeField) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{71} + return fileDescriptor_030104ce3b95bcac, []int{72} } func (m *KnownTypeField) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2058,7 +2086,7 @@ var xxx_messageInfo_KnownTypeField proto.InternalMessageInfo func (m *KustomizeOptions) Reset() { *m = KustomizeOptions{} } func (*KustomizeOptions) ProtoMessage() {} func (*KustomizeOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{72} + return fileDescriptor_030104ce3b95bcac, []int{73} } func (m *KustomizeOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2086,7 +2114,7 @@ var xxx_messageInfo_KustomizeOptions proto.InternalMessageInfo func (m *KustomizeReplica) Reset() { *m = KustomizeReplica{} } func (*KustomizeReplica) ProtoMessage() {} func (*KustomizeReplica) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{73} + return fileDescriptor_030104ce3b95bcac, []int{74} } func (m *KustomizeReplica) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2114,7 +2142,7 @@ var xxx_messageInfo_KustomizeReplica proto.InternalMessageInfo func (m *ListGenerator) Reset() { *m = ListGenerator{} } func (*ListGenerator) ProtoMessage() {} func (*ListGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{74} + return fileDescriptor_030104ce3b95bcac, []int{75} } func (m *ListGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2142,7 +2170,7 @@ var xxx_messageInfo_ListGenerator proto.InternalMessageInfo func (m *ManagedNamespaceMetadata) Reset() { *m = ManagedNamespaceMetadata{} } func (*ManagedNamespaceMetadata) ProtoMessage() {} func (*ManagedNamespaceMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{75} + return fileDescriptor_030104ce3b95bcac, []int{76} } func (m *ManagedNamespaceMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2170,7 +2198,7 @@ var xxx_messageInfo_ManagedNamespaceMetadata proto.InternalMessageInfo func (m *MatrixGenerator) Reset() { *m = MatrixGenerator{} } func (*MatrixGenerator) ProtoMessage() {} func (*MatrixGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{76} + return fileDescriptor_030104ce3b95bcac, []int{77} } func (m *MatrixGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2198,7 +2226,7 @@ var xxx_messageInfo_MatrixGenerator proto.InternalMessageInfo func (m *MergeGenerator) Reset() { *m = MergeGenerator{} } func (*MergeGenerator) ProtoMessage() {} func (*MergeGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{77} + return fileDescriptor_030104ce3b95bcac, []int{78} } func (m *MergeGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2226,7 +2254,7 @@ var xxx_messageInfo_MergeGenerator proto.InternalMessageInfo func (m *NestedMatrixGenerator) Reset() { *m = NestedMatrixGenerator{} } func (*NestedMatrixGenerator) ProtoMessage() {} func (*NestedMatrixGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{78} + return fileDescriptor_030104ce3b95bcac, []int{79} } func (m *NestedMatrixGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2254,7 +2282,7 @@ var xxx_messageInfo_NestedMatrixGenerator proto.InternalMessageInfo func (m *NestedMergeGenerator) Reset() { *m = NestedMergeGenerator{} } func (*NestedMergeGenerator) ProtoMessage() {} func (*NestedMergeGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{79} + return fileDescriptor_030104ce3b95bcac, []int{80} } func (m *NestedMergeGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2282,7 +2310,7 @@ var xxx_messageInfo_NestedMergeGenerator proto.InternalMessageInfo func (m *Operation) Reset() { *m = Operation{} } func (*Operation) ProtoMessage() {} func (*Operation) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{80} + return fileDescriptor_030104ce3b95bcac, []int{81} } func (m *Operation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2310,7 +2338,7 @@ var xxx_messageInfo_Operation proto.InternalMessageInfo func (m *OperationInitiator) Reset() { *m = OperationInitiator{} } func (*OperationInitiator) ProtoMessage() {} func (*OperationInitiator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{81} + return fileDescriptor_030104ce3b95bcac, []int{82} } func (m *OperationInitiator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2338,7 +2366,7 @@ var xxx_messageInfo_OperationInitiator proto.InternalMessageInfo func (m *OperationState) Reset() { *m = OperationState{} } func (*OperationState) ProtoMessage() {} func (*OperationState) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{82} + return fileDescriptor_030104ce3b95bcac, []int{83} } func (m *OperationState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2366,7 +2394,7 @@ var xxx_messageInfo_OperationState proto.InternalMessageInfo func (m *OptionalArray) Reset() { *m = OptionalArray{} } func (*OptionalArray) ProtoMessage() {} func (*OptionalArray) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{83} + return fileDescriptor_030104ce3b95bcac, []int{84} } func (m *OptionalArray) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2394,7 +2422,7 @@ var xxx_messageInfo_OptionalArray proto.InternalMessageInfo func (m *OptionalMap) Reset() { *m = OptionalMap{} } func (*OptionalMap) ProtoMessage() {} func (*OptionalMap) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{84} + return fileDescriptor_030104ce3b95bcac, []int{85} } func (m *OptionalMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2422,7 +2450,7 @@ var xxx_messageInfo_OptionalMap proto.InternalMessageInfo func (m *OrphanedResourceKey) Reset() { *m = OrphanedResourceKey{} } func (*OrphanedResourceKey) ProtoMessage() {} func (*OrphanedResourceKey) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{85} + return fileDescriptor_030104ce3b95bcac, []int{86} } func (m *OrphanedResourceKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2450,7 +2478,7 @@ var xxx_messageInfo_OrphanedResourceKey proto.InternalMessageInfo func (m *OrphanedResourcesMonitorSettings) Reset() { *m = OrphanedResourcesMonitorSettings{} } func (*OrphanedResourcesMonitorSettings) ProtoMessage() {} func (*OrphanedResourcesMonitorSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{86} + return fileDescriptor_030104ce3b95bcac, []int{87} } func (m *OrphanedResourcesMonitorSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2478,7 +2506,7 @@ var xxx_messageInfo_OrphanedResourcesMonitorSettings proto.InternalMessageInfo func (m *OverrideIgnoreDiff) Reset() { *m = OverrideIgnoreDiff{} } func (*OverrideIgnoreDiff) ProtoMessage() {} func (*OverrideIgnoreDiff) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{87} + return fileDescriptor_030104ce3b95bcac, []int{88} } func (m *OverrideIgnoreDiff) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2506,7 +2534,7 @@ var xxx_messageInfo_OverrideIgnoreDiff proto.InternalMessageInfo func (m *PluginConfigMapRef) Reset() { *m = PluginConfigMapRef{} } func (*PluginConfigMapRef) ProtoMessage() {} func (*PluginConfigMapRef) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{88} + return fileDescriptor_030104ce3b95bcac, []int{89} } func (m *PluginConfigMapRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2534,7 +2562,7 @@ var xxx_messageInfo_PluginConfigMapRef proto.InternalMessageInfo func (m *PluginGenerator) Reset() { *m = PluginGenerator{} } func (*PluginGenerator) ProtoMessage() {} func (*PluginGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{89} + return fileDescriptor_030104ce3b95bcac, []int{90} } func (m *PluginGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2562,7 +2590,7 @@ var xxx_messageInfo_PluginGenerator proto.InternalMessageInfo func (m *PluginInput) Reset() { *m = PluginInput{} } func (*PluginInput) ProtoMessage() {} func (*PluginInput) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{90} + return fileDescriptor_030104ce3b95bcac, []int{91} } func (m *PluginInput) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2590,7 +2618,7 @@ var xxx_messageInfo_PluginInput proto.InternalMessageInfo func (m *ProjectRole) Reset() { *m = ProjectRole{} } func (*ProjectRole) ProtoMessage() {} func (*ProjectRole) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{91} + return fileDescriptor_030104ce3b95bcac, []int{92} } func (m *ProjectRole) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2618,7 +2646,7 @@ var xxx_messageInfo_ProjectRole proto.InternalMessageInfo func (m *PullRequestGenerator) Reset() { *m = PullRequestGenerator{} } func (*PullRequestGenerator) ProtoMessage() {} func (*PullRequestGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{92} + return fileDescriptor_030104ce3b95bcac, []int{93} } func (m *PullRequestGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2643,10 +2671,38 @@ func (m *PullRequestGenerator) XXX_DiscardUnknown() { var xxx_messageInfo_PullRequestGenerator proto.InternalMessageInfo +func (m *PullRequestGeneratorBitbucket) Reset() { *m = PullRequestGeneratorBitbucket{} } +func (*PullRequestGeneratorBitbucket) ProtoMessage() {} +func (*PullRequestGeneratorBitbucket) Descriptor() ([]byte, []int) { + return fileDescriptor_030104ce3b95bcac, []int{94} +} +func (m *PullRequestGeneratorBitbucket) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PullRequestGeneratorBitbucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *PullRequestGeneratorBitbucket) XXX_Merge(src proto.Message) { + xxx_messageInfo_PullRequestGeneratorBitbucket.Merge(m, src) +} +func (m *PullRequestGeneratorBitbucket) XXX_Size() int { + return m.Size() +} +func (m *PullRequestGeneratorBitbucket) XXX_DiscardUnknown() { + xxx_messageInfo_PullRequestGeneratorBitbucket.DiscardUnknown(m) +} + +var xxx_messageInfo_PullRequestGeneratorBitbucket proto.InternalMessageInfo + func (m *PullRequestGeneratorBitbucketServer) Reset() { *m = PullRequestGeneratorBitbucketServer{} } func (*PullRequestGeneratorBitbucketServer) ProtoMessage() {} func (*PullRequestGeneratorBitbucketServer) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{93} + return fileDescriptor_030104ce3b95bcac, []int{95} } func (m *PullRequestGeneratorBitbucketServer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2674,7 +2730,7 @@ var xxx_messageInfo_PullRequestGeneratorBitbucketServer proto.InternalMessageInf func (m *PullRequestGeneratorFilter) Reset() { *m = PullRequestGeneratorFilter{} } func (*PullRequestGeneratorFilter) ProtoMessage() {} func (*PullRequestGeneratorFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{94} + return fileDescriptor_030104ce3b95bcac, []int{96} } func (m *PullRequestGeneratorFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2702,7 +2758,7 @@ var xxx_messageInfo_PullRequestGeneratorFilter proto.InternalMessageInfo func (m *PullRequestGeneratorGitLab) Reset() { *m = PullRequestGeneratorGitLab{} } func (*PullRequestGeneratorGitLab) ProtoMessage() {} func (*PullRequestGeneratorGitLab) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{95} + return fileDescriptor_030104ce3b95bcac, []int{97} } func (m *PullRequestGeneratorGitLab) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2730,7 +2786,7 @@ var xxx_messageInfo_PullRequestGeneratorGitLab proto.InternalMessageInfo func (m *PullRequestGeneratorGitea) Reset() { *m = PullRequestGeneratorGitea{} } func (*PullRequestGeneratorGitea) ProtoMessage() {} func (*PullRequestGeneratorGitea) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{96} + return fileDescriptor_030104ce3b95bcac, []int{98} } func (m *PullRequestGeneratorGitea) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2758,7 +2814,7 @@ var xxx_messageInfo_PullRequestGeneratorGitea proto.InternalMessageInfo func (m *PullRequestGeneratorGithub) Reset() { *m = PullRequestGeneratorGithub{} } func (*PullRequestGeneratorGithub) ProtoMessage() {} func (*PullRequestGeneratorGithub) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{97} + return fileDescriptor_030104ce3b95bcac, []int{99} } func (m *PullRequestGeneratorGithub) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2786,7 +2842,7 @@ var xxx_messageInfo_PullRequestGeneratorGithub proto.InternalMessageInfo func (m *RefTarget) Reset() { *m = RefTarget{} } func (*RefTarget) ProtoMessage() {} func (*RefTarget) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{98} + return fileDescriptor_030104ce3b95bcac, []int{100} } func (m *RefTarget) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2814,7 +2870,7 @@ var xxx_messageInfo_RefTarget proto.InternalMessageInfo func (m *RepoCreds) Reset() { *m = RepoCreds{} } func (*RepoCreds) ProtoMessage() {} func (*RepoCreds) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{99} + return fileDescriptor_030104ce3b95bcac, []int{101} } func (m *RepoCreds) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2842,7 +2898,7 @@ var xxx_messageInfo_RepoCreds proto.InternalMessageInfo func (m *RepoCredsList) Reset() { *m = RepoCredsList{} } func (*RepoCredsList) ProtoMessage() {} func (*RepoCredsList) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{100} + return fileDescriptor_030104ce3b95bcac, []int{102} } func (m *RepoCredsList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2870,7 +2926,7 @@ var xxx_messageInfo_RepoCredsList proto.InternalMessageInfo func (m *Repository) Reset() { *m = Repository{} } func (*Repository) ProtoMessage() {} func (*Repository) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{101} + return fileDescriptor_030104ce3b95bcac, []int{103} } func (m *Repository) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2898,7 +2954,7 @@ var xxx_messageInfo_Repository proto.InternalMessageInfo func (m *RepositoryCertificate) Reset() { *m = RepositoryCertificate{} } func (*RepositoryCertificate) ProtoMessage() {} func (*RepositoryCertificate) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{102} + return fileDescriptor_030104ce3b95bcac, []int{104} } func (m *RepositoryCertificate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2926,7 +2982,7 @@ var xxx_messageInfo_RepositoryCertificate proto.InternalMessageInfo func (m *RepositoryCertificateList) Reset() { *m = RepositoryCertificateList{} } func (*RepositoryCertificateList) ProtoMessage() {} func (*RepositoryCertificateList) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{103} + return fileDescriptor_030104ce3b95bcac, []int{105} } func (m *RepositoryCertificateList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2954,7 +3010,7 @@ var xxx_messageInfo_RepositoryCertificateList proto.InternalMessageInfo func (m *RepositoryList) Reset() { *m = RepositoryList{} } func (*RepositoryList) ProtoMessage() {} func (*RepositoryList) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{104} + return fileDescriptor_030104ce3b95bcac, []int{106} } func (m *RepositoryList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2982,7 +3038,7 @@ var xxx_messageInfo_RepositoryList proto.InternalMessageInfo func (m *ResourceAction) Reset() { *m = ResourceAction{} } func (*ResourceAction) ProtoMessage() {} func (*ResourceAction) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{105} + return fileDescriptor_030104ce3b95bcac, []int{107} } func (m *ResourceAction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3010,7 +3066,7 @@ var xxx_messageInfo_ResourceAction proto.InternalMessageInfo func (m *ResourceActionDefinition) Reset() { *m = ResourceActionDefinition{} } func (*ResourceActionDefinition) ProtoMessage() {} func (*ResourceActionDefinition) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{106} + return fileDescriptor_030104ce3b95bcac, []int{108} } func (m *ResourceActionDefinition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3038,7 +3094,7 @@ var xxx_messageInfo_ResourceActionDefinition proto.InternalMessageInfo func (m *ResourceActionParam) Reset() { *m = ResourceActionParam{} } func (*ResourceActionParam) ProtoMessage() {} func (*ResourceActionParam) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{107} + return fileDescriptor_030104ce3b95bcac, []int{109} } func (m *ResourceActionParam) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3066,7 +3122,7 @@ var xxx_messageInfo_ResourceActionParam proto.InternalMessageInfo func (m *ResourceActions) Reset() { *m = ResourceActions{} } func (*ResourceActions) ProtoMessage() {} func (*ResourceActions) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{108} + return fileDescriptor_030104ce3b95bcac, []int{110} } func (m *ResourceActions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3094,7 +3150,7 @@ var xxx_messageInfo_ResourceActions proto.InternalMessageInfo func (m *ResourceDiff) Reset() { *m = ResourceDiff{} } func (*ResourceDiff) ProtoMessage() {} func (*ResourceDiff) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{109} + return fileDescriptor_030104ce3b95bcac, []int{111} } func (m *ResourceDiff) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3122,7 +3178,7 @@ var xxx_messageInfo_ResourceDiff proto.InternalMessageInfo func (m *ResourceIgnoreDifferences) Reset() { *m = ResourceIgnoreDifferences{} } func (*ResourceIgnoreDifferences) ProtoMessage() {} func (*ResourceIgnoreDifferences) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{110} + return fileDescriptor_030104ce3b95bcac, []int{112} } func (m *ResourceIgnoreDifferences) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3150,7 +3206,7 @@ var xxx_messageInfo_ResourceIgnoreDifferences proto.InternalMessageInfo func (m *ResourceNetworkingInfo) Reset() { *m = ResourceNetworkingInfo{} } func (*ResourceNetworkingInfo) ProtoMessage() {} func (*ResourceNetworkingInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{111} + return fileDescriptor_030104ce3b95bcac, []int{113} } func (m *ResourceNetworkingInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3178,7 +3234,7 @@ var xxx_messageInfo_ResourceNetworkingInfo proto.InternalMessageInfo func (m *ResourceNode) Reset() { *m = ResourceNode{} } func (*ResourceNode) ProtoMessage() {} func (*ResourceNode) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{112} + return fileDescriptor_030104ce3b95bcac, []int{114} } func (m *ResourceNode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3206,7 +3262,7 @@ var xxx_messageInfo_ResourceNode proto.InternalMessageInfo func (m *ResourceOverride) Reset() { *m = ResourceOverride{} } func (*ResourceOverride) ProtoMessage() {} func (*ResourceOverride) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{113} + return fileDescriptor_030104ce3b95bcac, []int{115} } func (m *ResourceOverride) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3234,7 +3290,7 @@ var xxx_messageInfo_ResourceOverride proto.InternalMessageInfo func (m *ResourceRef) Reset() { *m = ResourceRef{} } func (*ResourceRef) ProtoMessage() {} func (*ResourceRef) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{114} + return fileDescriptor_030104ce3b95bcac, []int{116} } func (m *ResourceRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3262,7 +3318,7 @@ var xxx_messageInfo_ResourceRef proto.InternalMessageInfo func (m *ResourceResult) Reset() { *m = ResourceResult{} } func (*ResourceResult) ProtoMessage() {} func (*ResourceResult) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{115} + return fileDescriptor_030104ce3b95bcac, []int{117} } func (m *ResourceResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3290,7 +3346,7 @@ var xxx_messageInfo_ResourceResult proto.InternalMessageInfo func (m *ResourceStatus) Reset() { *m = ResourceStatus{} } func (*ResourceStatus) ProtoMessage() {} func (*ResourceStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{116} + return fileDescriptor_030104ce3b95bcac, []int{118} } func (m *ResourceStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3318,7 +3374,7 @@ var xxx_messageInfo_ResourceStatus proto.InternalMessageInfo func (m *RetryStrategy) Reset() { *m = RetryStrategy{} } func (*RetryStrategy) ProtoMessage() {} func (*RetryStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{117} + return fileDescriptor_030104ce3b95bcac, []int{119} } func (m *RetryStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3346,7 +3402,7 @@ var xxx_messageInfo_RetryStrategy proto.InternalMessageInfo func (m *RevisionHistory) Reset() { *m = RevisionHistory{} } func (*RevisionHistory) ProtoMessage() {} func (*RevisionHistory) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{118} + return fileDescriptor_030104ce3b95bcac, []int{120} } func (m *RevisionHistory) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3374,7 +3430,7 @@ var xxx_messageInfo_RevisionHistory proto.InternalMessageInfo func (m *RevisionMetadata) Reset() { *m = RevisionMetadata{} } func (*RevisionMetadata) ProtoMessage() {} func (*RevisionMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{119} + return fileDescriptor_030104ce3b95bcac, []int{121} } func (m *RevisionMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3402,7 +3458,7 @@ var xxx_messageInfo_RevisionMetadata proto.InternalMessageInfo func (m *SCMProviderGenerator) Reset() { *m = SCMProviderGenerator{} } func (*SCMProviderGenerator) ProtoMessage() {} func (*SCMProviderGenerator) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{120} + return fileDescriptor_030104ce3b95bcac, []int{122} } func (m *SCMProviderGenerator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3430,7 +3486,7 @@ var xxx_messageInfo_SCMProviderGenerator proto.InternalMessageInfo func (m *SCMProviderGeneratorAWSCodeCommit) Reset() { *m = SCMProviderGeneratorAWSCodeCommit{} } func (*SCMProviderGeneratorAWSCodeCommit) ProtoMessage() {} func (*SCMProviderGeneratorAWSCodeCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{121} + return fileDescriptor_030104ce3b95bcac, []int{123} } func (m *SCMProviderGeneratorAWSCodeCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3458,7 +3514,7 @@ var xxx_messageInfo_SCMProviderGeneratorAWSCodeCommit proto.InternalMessageInfo func (m *SCMProviderGeneratorAzureDevOps) Reset() { *m = SCMProviderGeneratorAzureDevOps{} } func (*SCMProviderGeneratorAzureDevOps) ProtoMessage() {} func (*SCMProviderGeneratorAzureDevOps) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{122} + return fileDescriptor_030104ce3b95bcac, []int{124} } func (m *SCMProviderGeneratorAzureDevOps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3486,7 +3542,7 @@ var xxx_messageInfo_SCMProviderGeneratorAzureDevOps proto.InternalMessageInfo func (m *SCMProviderGeneratorBitbucket) Reset() { *m = SCMProviderGeneratorBitbucket{} } func (*SCMProviderGeneratorBitbucket) ProtoMessage() {} func (*SCMProviderGeneratorBitbucket) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{123} + return fileDescriptor_030104ce3b95bcac, []int{125} } func (m *SCMProviderGeneratorBitbucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3514,7 +3570,7 @@ var xxx_messageInfo_SCMProviderGeneratorBitbucket proto.InternalMessageInfo func (m *SCMProviderGeneratorBitbucketServer) Reset() { *m = SCMProviderGeneratorBitbucketServer{} } func (*SCMProviderGeneratorBitbucketServer) ProtoMessage() {} func (*SCMProviderGeneratorBitbucketServer) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{124} + return fileDescriptor_030104ce3b95bcac, []int{126} } func (m *SCMProviderGeneratorBitbucketServer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3542,7 +3598,7 @@ var xxx_messageInfo_SCMProviderGeneratorBitbucketServer proto.InternalMessageInf func (m *SCMProviderGeneratorFilter) Reset() { *m = SCMProviderGeneratorFilter{} } func (*SCMProviderGeneratorFilter) ProtoMessage() {} func (*SCMProviderGeneratorFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{125} + return fileDescriptor_030104ce3b95bcac, []int{127} } func (m *SCMProviderGeneratorFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3570,7 +3626,7 @@ var xxx_messageInfo_SCMProviderGeneratorFilter proto.InternalMessageInfo func (m *SCMProviderGeneratorGitea) Reset() { *m = SCMProviderGeneratorGitea{} } func (*SCMProviderGeneratorGitea) ProtoMessage() {} func (*SCMProviderGeneratorGitea) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{126} + return fileDescriptor_030104ce3b95bcac, []int{128} } func (m *SCMProviderGeneratorGitea) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3598,7 +3654,7 @@ var xxx_messageInfo_SCMProviderGeneratorGitea proto.InternalMessageInfo func (m *SCMProviderGeneratorGithub) Reset() { *m = SCMProviderGeneratorGithub{} } func (*SCMProviderGeneratorGithub) ProtoMessage() {} func (*SCMProviderGeneratorGithub) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{127} + return fileDescriptor_030104ce3b95bcac, []int{129} } func (m *SCMProviderGeneratorGithub) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3626,7 +3682,7 @@ var xxx_messageInfo_SCMProviderGeneratorGithub proto.InternalMessageInfo func (m *SCMProviderGeneratorGitlab) Reset() { *m = SCMProviderGeneratorGitlab{} } func (*SCMProviderGeneratorGitlab) ProtoMessage() {} func (*SCMProviderGeneratorGitlab) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{128} + return fileDescriptor_030104ce3b95bcac, []int{130} } func (m *SCMProviderGeneratorGitlab) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3654,7 +3710,7 @@ var xxx_messageInfo_SCMProviderGeneratorGitlab proto.InternalMessageInfo func (m *SecretRef) Reset() { *m = SecretRef{} } func (*SecretRef) ProtoMessage() {} func (*SecretRef) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{129} + return fileDescriptor_030104ce3b95bcac, []int{131} } func (m *SecretRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3682,7 +3738,7 @@ var xxx_messageInfo_SecretRef proto.InternalMessageInfo func (m *SignatureKey) Reset() { *m = SignatureKey{} } func (*SignatureKey) ProtoMessage() {} func (*SignatureKey) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{130} + return fileDescriptor_030104ce3b95bcac, []int{132} } func (m *SignatureKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3710,7 +3766,7 @@ var xxx_messageInfo_SignatureKey proto.InternalMessageInfo func (m *SyncOperation) Reset() { *m = SyncOperation{} } func (*SyncOperation) ProtoMessage() {} func (*SyncOperation) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{131} + return fileDescriptor_030104ce3b95bcac, []int{133} } func (m *SyncOperation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3738,7 +3794,7 @@ var xxx_messageInfo_SyncOperation proto.InternalMessageInfo func (m *SyncOperationResource) Reset() { *m = SyncOperationResource{} } func (*SyncOperationResource) ProtoMessage() {} func (*SyncOperationResource) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{132} + return fileDescriptor_030104ce3b95bcac, []int{134} } func (m *SyncOperationResource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3766,7 +3822,7 @@ var xxx_messageInfo_SyncOperationResource proto.InternalMessageInfo func (m *SyncOperationResult) Reset() { *m = SyncOperationResult{} } func (*SyncOperationResult) ProtoMessage() {} func (*SyncOperationResult) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{133} + return fileDescriptor_030104ce3b95bcac, []int{135} } func (m *SyncOperationResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3794,7 +3850,7 @@ var xxx_messageInfo_SyncOperationResult proto.InternalMessageInfo func (m *SyncPolicy) Reset() { *m = SyncPolicy{} } func (*SyncPolicy) ProtoMessage() {} func (*SyncPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{134} + return fileDescriptor_030104ce3b95bcac, []int{136} } func (m *SyncPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3822,7 +3878,7 @@ var xxx_messageInfo_SyncPolicy proto.InternalMessageInfo func (m *SyncPolicyAutomated) Reset() { *m = SyncPolicyAutomated{} } func (*SyncPolicyAutomated) ProtoMessage() {} func (*SyncPolicyAutomated) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{135} + return fileDescriptor_030104ce3b95bcac, []int{137} } func (m *SyncPolicyAutomated) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3850,7 +3906,7 @@ var xxx_messageInfo_SyncPolicyAutomated proto.InternalMessageInfo func (m *SyncStatus) Reset() { *m = SyncStatus{} } func (*SyncStatus) ProtoMessage() {} func (*SyncStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{136} + return fileDescriptor_030104ce3b95bcac, []int{138} } func (m *SyncStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3878,7 +3934,7 @@ var xxx_messageInfo_SyncStatus proto.InternalMessageInfo func (m *SyncStrategy) Reset() { *m = SyncStrategy{} } func (*SyncStrategy) ProtoMessage() {} func (*SyncStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{137} + return fileDescriptor_030104ce3b95bcac, []int{139} } func (m *SyncStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3906,7 +3962,7 @@ var xxx_messageInfo_SyncStrategy proto.InternalMessageInfo func (m *SyncStrategyApply) Reset() { *m = SyncStrategyApply{} } func (*SyncStrategyApply) ProtoMessage() {} func (*SyncStrategyApply) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{138} + return fileDescriptor_030104ce3b95bcac, []int{140} } func (m *SyncStrategyApply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3934,7 +3990,7 @@ var xxx_messageInfo_SyncStrategyApply proto.InternalMessageInfo func (m *SyncStrategyHook) Reset() { *m = SyncStrategyHook{} } func (*SyncStrategyHook) ProtoMessage() {} func (*SyncStrategyHook) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{139} + return fileDescriptor_030104ce3b95bcac, []int{141} } func (m *SyncStrategyHook) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3962,7 +4018,7 @@ var xxx_messageInfo_SyncStrategyHook proto.InternalMessageInfo func (m *SyncWindow) Reset() { *m = SyncWindow{} } func (*SyncWindow) ProtoMessage() {} func (*SyncWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{140} + return fileDescriptor_030104ce3b95bcac, []int{142} } func (m *SyncWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3990,7 +4046,7 @@ var xxx_messageInfo_SyncWindow proto.InternalMessageInfo func (m *TLSClientConfig) Reset() { *m = TLSClientConfig{} } func (*TLSClientConfig) ProtoMessage() {} func (*TLSClientConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{141} + return fileDescriptor_030104ce3b95bcac, []int{143} } func (m *TLSClientConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4018,7 +4074,7 @@ var xxx_messageInfo_TLSClientConfig proto.InternalMessageInfo func (m *TagFilter) Reset() { *m = TagFilter{} } func (*TagFilter) ProtoMessage() {} func (*TagFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_030104ce3b95bcac, []int{142} + return fileDescriptor_030104ce3b95bcac, []int{144} } func (m *TagFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4089,6 +4145,7 @@ func init() { proto.RegisterType((*ApplicationWatchEvent)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationWatchEvent") proto.RegisterType((*Backoff)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Backoff") proto.RegisterType((*BasicAuthBitbucketServer)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.BasicAuthBitbucketServer") + proto.RegisterType((*BearerTokenBitbucketCloud)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.BearerTokenBitbucketCloud") proto.RegisterType((*ChartDetails)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ChartDetails") proto.RegisterType((*Cluster)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Cluster") proto.RegisterMapType((map[string]string)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Cluster.AnnotationsEntry") @@ -4153,6 +4210,7 @@ func init() { proto.RegisterMapType((PluginParameters)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.PluginInput.ParametersEntry") proto.RegisterType((*ProjectRole)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ProjectRole") proto.RegisterType((*PullRequestGenerator)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.PullRequestGenerator") + proto.RegisterType((*PullRequestGeneratorBitbucket)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.PullRequestGeneratorBitbucket") proto.RegisterType((*PullRequestGeneratorBitbucketServer)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.PullRequestGeneratorBitbucketServer") proto.RegisterType((*PullRequestGeneratorFilter)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.PullRequestGeneratorFilter") proto.RegisterType((*PullRequestGeneratorGitLab)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.PullRequestGeneratorGitLab") @@ -4213,660 +4271,664 @@ func init() { } var fileDescriptor_030104ce3b95bcac = []byte{ - // 10438 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x70, 0x1c, 0xc9, - 0x75, 0x18, 0xae, 0xd9, 0xc5, 0x02, 0xbb, 0x0f, 0x1f, 0x24, 0x9a, 0xe4, 0x1d, 0x8e, 0xba, 0x3b, - 0xd0, 0x73, 0xe5, 0xd3, 0xe9, 0xa7, 0x3b, 0xc0, 0x47, 0x9d, 0xf4, 0xbb, 0xf8, 0x6c, 0xc9, 0x58, - 0x80, 0x04, 0x41, 0x02, 0x04, 0xae, 0x01, 0x92, 0xd2, 0xc9, 0xa7, 0xd3, 0x60, 0xb6, 0xb1, 0x18, - 0x62, 0x76, 0x66, 0x39, 0x33, 0x0b, 0x02, 0x67, 0x49, 0x96, 0x6c, 0xcb, 0x56, 0xa2, 0x8f, 0x53, - 0xa4, 0xa4, 0x2c, 0x27, 0x91, 0x23, 0x7f, 0x24, 0x15, 0x57, 0xa2, 0x8a, 0x53, 0xf9, 0x23, 0x4e, - 0x9c, 0x94, 0xcb, 0x76, 0xfe, 0x50, 0x4a, 0x49, 0x45, 0x95, 0x72, 0x59, 0x4e, 0x6c, 0x23, 0x12, - 0x52, 0xa9, 0xa4, 0x52, 0x15, 0x57, 0xe5, 0xe3, 0x8f, 0x84, 0x49, 0x55, 0x52, 0xfd, 0xdd, 0x33, - 0x3b, 0x4b, 0x2c, 0x80, 0x01, 0x49, 0x29, 0xf7, 0xdf, 0x6e, 0xbf, 0x37, 0xef, 0xbd, 0xe9, 0xe9, - 0x7e, 0xfd, 0xfa, 0xf5, 0x7b, 0xaf, 0x61, 0xb1, 0xe9, 0x25, 0x9b, 0x9d, 0xf5, 0x29, 0x37, 0x6c, - 0x4d, 0x3b, 0x51, 0x33, 0x6c, 0x47, 0xe1, 0x6d, 0xf6, 0xe3, 0x05, 0xb7, 0x31, 0xbd, 0x7d, 0x71, - 0xba, 0xbd, 0xd5, 0x9c, 0x76, 0xda, 0x5e, 0x3c, 0xed, 0xb4, 0xdb, 0xbe, 0xe7, 0x3a, 0x89, 0x17, - 0x06, 0xd3, 0xdb, 0x2f, 0x3a, 0x7e, 0x7b, 0xd3, 0x79, 0x71, 0xba, 0x49, 0x02, 0x12, 0x39, 0x09, - 0x69, 0x4c, 0xb5, 0xa3, 0x30, 0x09, 0xd1, 0x8f, 0x69, 0x6a, 0x53, 0x92, 0x1a, 0xfb, 0xf1, 0x86, - 0xdb, 0x98, 0xda, 0xbe, 0x38, 0xd5, 0xde, 0x6a, 0x4e, 0x51, 0x6a, 0x53, 0x06, 0xb5, 0x29, 0x49, - 0xed, 0xfc, 0x0b, 0x86, 0x2c, 0xcd, 0xb0, 0x19, 0x4e, 0x33, 0xa2, 0xeb, 0x9d, 0x0d, 0xf6, 0x8f, - 0xfd, 0x61, 0xbf, 0x38, 0xb3, 0xf3, 0xf6, 0xd6, 0xcb, 0xf1, 0x94, 0x17, 0x52, 0xf1, 0xa6, 0xdd, - 0x30, 0x22, 0xd3, 0xdb, 0x5d, 0x02, 0x9d, 0xbf, 0xa2, 0x71, 0xc8, 0x4e, 0x42, 0x82, 0xd8, 0x0b, - 0x83, 0xf8, 0x05, 0x2a, 0x02, 0x89, 0xb6, 0x49, 0x64, 0xbe, 0x9e, 0x81, 0x90, 0x47, 0xe9, 0x25, - 0x4d, 0xa9, 0xe5, 0xb8, 0x9b, 0x5e, 0x40, 0xa2, 0x5d, 0xfd, 0x78, 0x8b, 0x24, 0x4e, 0xde, 0x53, - 0xd3, 0xbd, 0x9e, 0x8a, 0x3a, 0x41, 0xe2, 0xb5, 0x48, 0xd7, 0x03, 0xef, 0x3f, 0xe8, 0x81, 0xd8, - 0xdd, 0x24, 0x2d, 0xa7, 0xeb, 0xb9, 0xf7, 0xf6, 0x7a, 0xae, 0x93, 0x78, 0xfe, 0xb4, 0x17, 0x24, - 0x71, 0x12, 0x65, 0x1f, 0xb2, 0xef, 0xc0, 0xe8, 0xcc, 0xad, 0xd5, 0x99, 0x4e, 0xb2, 0x39, 0x1b, - 0x06, 0x1b, 0x5e, 0x13, 0xbd, 0x0f, 0x86, 0x5d, 0xbf, 0x13, 0x27, 0x24, 0xba, 0xee, 0xb4, 0xc8, - 0x84, 0x75, 0xc1, 0x7a, 0xae, 0x56, 0x3f, 0xf3, 0xcd, 0xbd, 0xc9, 0x77, 0xec, 0xef, 0x4d, 0x0e, - 0xcf, 0x6a, 0x10, 0x36, 0xf1, 0xd0, 0xbb, 0x61, 0x28, 0x0a, 0x7d, 0x32, 0x83, 0xaf, 0x4f, 0x94, - 0xd8, 0x23, 0xa7, 0xc4, 0x23, 0x43, 0x98, 0x37, 0x63, 0x09, 0xb7, 0xff, 0xb0, 0x04, 0x30, 0xd3, - 0x6e, 0xaf, 0x44, 0xe1, 0x6d, 0xe2, 0x26, 0xe8, 0x63, 0x50, 0xa5, 0x5d, 0xd7, 0x70, 0x12, 0x87, - 0x71, 0x1b, 0xbe, 0xf8, 0x23, 0x53, 0xfc, 0x4d, 0xa6, 0xcc, 0x37, 0xd1, 0x03, 0x87, 0x62, 0x4f, - 0x6d, 0xbf, 0x38, 0xb5, 0xbc, 0x4e, 0x9f, 0x5f, 0x22, 0x89, 0x53, 0x47, 0x82, 0x19, 0xe8, 0x36, - 0xac, 0xa8, 0xa2, 0x00, 0x06, 0xe2, 0x36, 0x71, 0x99, 0x60, 0xc3, 0x17, 0x17, 0xa7, 0x8e, 0x33, - 0x42, 0xa7, 0xb4, 0xe4, 0xab, 0x6d, 0xe2, 0xd6, 0x47, 0x04, 0xe7, 0x01, 0xfa, 0x0f, 0x33, 0x3e, - 0x68, 0x1b, 0x06, 0xe3, 0xc4, 0x49, 0x3a, 0xf1, 0x44, 0x99, 0x71, 0xbc, 0x5e, 0x18, 0x47, 0x46, - 0xb5, 0x3e, 0x26, 0x78, 0x0e, 0xf2, 0xff, 0x58, 0x70, 0xb3, 0xff, 0xd4, 0x82, 0x31, 0x8d, 0xbc, - 0xe8, 0xc5, 0x09, 0xfa, 0xc9, 0xae, 0xce, 0x9d, 0xea, 0xaf, 0x73, 0xe9, 0xd3, 0xac, 0x6b, 0x4f, - 0x0b, 0x66, 0x55, 0xd9, 0x62, 0x74, 0x6c, 0x0b, 0x2a, 0x5e, 0x42, 0x5a, 0xf1, 0x44, 0xe9, 0x42, - 0xf9, 0xb9, 0xe1, 0x8b, 0x57, 0x8a, 0x7a, 0xcf, 0xfa, 0xa8, 0x60, 0x5a, 0x59, 0xa0, 0xe4, 0x31, - 0xe7, 0x62, 0xff, 0xc6, 0x88, 0xf9, 0x7e, 0xb4, 0xc3, 0xd1, 0x8b, 0x30, 0x1c, 0x87, 0x9d, 0xc8, - 0x25, 0x98, 0xb4, 0xc3, 0x78, 0xc2, 0xba, 0x50, 0xa6, 0x43, 0x8f, 0x8e, 0xd4, 0x55, 0xdd, 0x8c, - 0x4d, 0x1c, 0xf4, 0x45, 0x0b, 0x46, 0x1a, 0x24, 0x4e, 0xbc, 0x80, 0xf1, 0x97, 0xc2, 0xaf, 0x1d, - 0x5b, 0x78, 0xd9, 0x38, 0xa7, 0x89, 0xd7, 0xcf, 0x8a, 0x17, 0x19, 0x31, 0x1a, 0x63, 0x9c, 0xe2, - 0x4f, 0x67, 0x5c, 0x83, 0xc4, 0x6e, 0xe4, 0xb5, 0xe9, 0x7f, 0x36, 0x66, 0x8c, 0x19, 0x37, 0xa7, - 0x41, 0xd8, 0xc4, 0x43, 0x01, 0x54, 0xe8, 0x8c, 0x8a, 0x27, 0x06, 0x98, 0xfc, 0x0b, 0xc7, 0x93, - 0x5f, 0x74, 0x2a, 0x9d, 0xac, 0xba, 0xf7, 0xe9, 0xbf, 0x18, 0x73, 0x36, 0xe8, 0x0b, 0x16, 0x4c, - 0x88, 0x19, 0x8f, 0x09, 0xef, 0xd0, 0x5b, 0x9b, 0x5e, 0x42, 0x7c, 0x2f, 0x4e, 0x26, 0x2a, 0x4c, - 0x86, 0xe9, 0xfe, 0xc6, 0xd6, 0x7c, 0x14, 0x76, 0xda, 0xd7, 0xbc, 0xa0, 0x51, 0xbf, 0x20, 0x38, - 0x4d, 0xcc, 0xf6, 0x20, 0x8c, 0x7b, 0xb2, 0x44, 0x5f, 0xb1, 0xe0, 0x7c, 0xe0, 0xb4, 0x48, 0xdc, - 0x76, 0xe8, 0xa7, 0xe5, 0xe0, 0xba, 0xef, 0xb8, 0x5b, 0x4c, 0xa2, 0xc1, 0xa3, 0x49, 0x64, 0x0b, - 0x89, 0xce, 0x5f, 0xef, 0x49, 0x1a, 0xdf, 0x87, 0x2d, 0xfa, 0x35, 0x0b, 0xc6, 0xc3, 0xa8, 0xbd, - 0xe9, 0x04, 0xa4, 0x21, 0xa1, 0xf1, 0xc4, 0x10, 0x9b, 0x7a, 0x1f, 0x3d, 0xde, 0x27, 0x5a, 0xce, - 0x92, 0x5d, 0x0a, 0x03, 0x2f, 0x09, 0xa3, 0x55, 0x92, 0x24, 0x5e, 0xd0, 0x8c, 0xeb, 0xe7, 0xf6, - 0xf7, 0x26, 0xc7, 0xbb, 0xb0, 0x70, 0xb7, 0x3c, 0xe8, 0xa7, 0x60, 0x38, 0xde, 0x0d, 0xdc, 0x5b, - 0x5e, 0xd0, 0x08, 0xef, 0xc6, 0x13, 0xd5, 0x22, 0xa6, 0xef, 0xaa, 0x22, 0x28, 0x26, 0xa0, 0x66, - 0x80, 0x4d, 0x6e, 0xf9, 0x1f, 0x4e, 0x0f, 0xa5, 0x5a, 0xd1, 0x1f, 0x4e, 0x0f, 0xa6, 0xfb, 0xb0, - 0x45, 0xbf, 0x60, 0xc1, 0x68, 0xec, 0x35, 0x03, 0x27, 0xe9, 0x44, 0xe4, 0x1a, 0xd9, 0x8d, 0x27, - 0x80, 0x09, 0x72, 0xf5, 0x98, 0xbd, 0x62, 0x90, 0xac, 0x9f, 0x13, 0x32, 0x8e, 0x9a, 0xad, 0x31, - 0x4e, 0xf3, 0xcd, 0x9b, 0x68, 0x7a, 0x58, 0x0f, 0x17, 0x3b, 0xd1, 0xf4, 0xa0, 0xee, 0xc9, 0x12, - 0xfd, 0x04, 0x9c, 0xe6, 0x4d, 0xaa, 0x67, 0xe3, 0x89, 0x11, 0xa6, 0x68, 0xcf, 0xee, 0xef, 0x4d, - 0x9e, 0x5e, 0xcd, 0xc0, 0x70, 0x17, 0x36, 0xba, 0x03, 0x93, 0x6d, 0x12, 0xb5, 0xbc, 0x64, 0x39, - 0xf0, 0x77, 0xa5, 0xfa, 0x76, 0xc3, 0x36, 0x69, 0x08, 0x71, 0xe2, 0x89, 0xd1, 0x0b, 0xd6, 0x73, - 0xd5, 0xfa, 0xbb, 0x84, 0x98, 0x93, 0x2b, 0xf7, 0x47, 0xc7, 0x07, 0xd1, 0xb3, 0xff, 0x59, 0x09, - 0x4e, 0x67, 0x17, 0x4e, 0xf4, 0x37, 0x2d, 0x38, 0x75, 0xfb, 0x6e, 0xb2, 0x16, 0x6e, 0x91, 0x20, - 0xae, 0xef, 0x52, 0xf5, 0xc6, 0x96, 0x8c, 0xe1, 0x8b, 0x6e, 0xb1, 0x4b, 0xf4, 0xd4, 0xd5, 0x34, - 0x97, 0x4b, 0x41, 0x12, 0xed, 0xd6, 0x1f, 0x17, 0x6f, 0x77, 0xea, 0xea, 0xad, 0x35, 0x13, 0x8a, - 0xb3, 0x42, 0x9d, 0xff, 0x9c, 0x05, 0x67, 0xf3, 0x48, 0xa0, 0xd3, 0x50, 0xde, 0x22, 0xbb, 0xdc, - 0x2a, 0xc3, 0xf4, 0x27, 0x7a, 0x1d, 0x2a, 0xdb, 0x8e, 0xdf, 0x21, 0xc2, 0xba, 0x99, 0x3f, 0xde, - 0x8b, 0x28, 0xc9, 0x30, 0xa7, 0xfa, 0xa3, 0xa5, 0x97, 0x2d, 0xfb, 0x5f, 0x96, 0x61, 0xd8, 0x58, - 0xdf, 0x1e, 0x80, 0xc5, 0x16, 0xa6, 0x2c, 0xb6, 0xa5, 0xc2, 0x96, 0xe6, 0x9e, 0x26, 0xdb, 0xdd, - 0x8c, 0xc9, 0xb6, 0x5c, 0x1c, 0xcb, 0xfb, 0xda, 0x6c, 0x28, 0x81, 0x5a, 0xd8, 0xa6, 0x16, 0x39, - 0x5d, 0xfa, 0x07, 0x8a, 0xf8, 0x84, 0xcb, 0x92, 0x5c, 0x7d, 0x74, 0x7f, 0x6f, 0xb2, 0xa6, 0xfe, - 0x62, 0xcd, 0xc8, 0xfe, 0x8e, 0x05, 0x67, 0x0d, 0x19, 0x67, 0xc3, 0xa0, 0xe1, 0xb1, 0x4f, 0x7b, - 0x01, 0x06, 0x92, 0xdd, 0xb6, 0x34, 0xfb, 0x55, 0x4f, 0xad, 0xed, 0xb6, 0x09, 0x66, 0x10, 0x6a, - 0xe8, 0xb7, 0x48, 0x1c, 0x3b, 0x4d, 0x92, 0x35, 0xf4, 0x97, 0x78, 0x33, 0x96, 0x70, 0x14, 0x01, - 0xf2, 0x9d, 0x38, 0x59, 0x8b, 0x9c, 0x20, 0x66, 0xe4, 0xd7, 0xbc, 0x16, 0x11, 0x1d, 0xfc, 0xff, - 0xf5, 0x37, 0x62, 0xe8, 0x13, 0xf5, 0xc7, 0xf6, 0xf7, 0x26, 0xd1, 0x62, 0x17, 0x25, 0x9c, 0x43, - 0xdd, 0xfe, 0x8a, 0x05, 0x8f, 0xe5, 0xdb, 0x62, 0xe8, 0x59, 0x18, 0xe4, 0x5b, 0x3e, 0xf1, 0x76, - 0xfa, 0x93, 0xb0, 0x56, 0x2c, 0xa0, 0x68, 0x1a, 0x6a, 0x6a, 0x9d, 0x10, 0xef, 0x38, 0x2e, 0x50, - 0x6b, 0x7a, 0x71, 0xd1, 0x38, 0xb4, 0xd3, 0xe8, 0x1f, 0x61, 0xb9, 0xa9, 0x4e, 0x63, 0x9b, 0x24, - 0x06, 0xb1, 0xff, 0xad, 0x05, 0xa7, 0x0c, 0xa9, 0x1e, 0x80, 0x69, 0x1e, 0xa4, 0x4d, 0xf3, 0x85, - 0xc2, 0xc6, 0x73, 0x0f, 0xdb, 0xfc, 0x0b, 0x16, 0x9c, 0x37, 0xb0, 0x96, 0x9c, 0xc4, 0xdd, 0xbc, - 0xb4, 0xd3, 0x8e, 0x48, 0x4c, 0xb7, 0xd3, 0xe8, 0x29, 0x43, 0x6f, 0xd5, 0x87, 0x05, 0x85, 0xf2, - 0x35, 0xb2, 0xcb, 0x95, 0xd8, 0xf3, 0x50, 0xe5, 0x83, 0x33, 0x8c, 0x44, 0x8f, 0xab, 0x77, 0x5b, - 0x16, 0xed, 0x58, 0x61, 0x20, 0x1b, 0x06, 0x99, 0x72, 0xa2, 0x93, 0x95, 0x2e, 0x43, 0x40, 0x3f, - 0xe2, 0x4d, 0xd6, 0x82, 0x05, 0xc4, 0x5e, 0x4e, 0x89, 0xb3, 0x12, 0x11, 0xf6, 0x71, 0x1b, 0x97, - 0x3d, 0xe2, 0x37, 0x62, 0xba, 0x6d, 0x70, 0x82, 0x20, 0x4c, 0xc4, 0x0e, 0xc0, 0xd8, 0x36, 0xcc, - 0xe8, 0x66, 0x6c, 0xe2, 0xd8, 0xfb, 0x25, 0xb6, 0xf9, 0x50, 0xd3, 0x9a, 0x3c, 0x88, 0x9d, 0x6b, - 0x94, 0xd2, 0x83, 0x2b, 0xc5, 0x29, 0x25, 0xd2, 0x7b, 0xf7, 0xfa, 0x66, 0x46, 0x15, 0xe2, 0x42, - 0xb9, 0xde, 0x7f, 0x07, 0xfb, 0xbb, 0x25, 0x98, 0x4c, 0x3f, 0xd0, 0xa5, 0x49, 0xe9, 0x76, 0xc9, - 0x60, 0x94, 0x75, 0x50, 0x18, 0xf8, 0xd8, 0xc4, 0xeb, 0xa1, 0x8c, 0x4a, 0x27, 0xa9, 0x8c, 0x4c, - 0x5d, 0x59, 0x3e, 0x40, 0x57, 0x3e, 0xab, 0x7a, 0x7d, 0x20, 0xa3, 0x9c, 0xd2, 0xeb, 0xc5, 0x05, - 0x18, 0x88, 0x13, 0xd2, 0x9e, 0xa8, 0xa4, 0x75, 0xcd, 0x6a, 0x42, 0xda, 0x98, 0x41, 0xec, 0xff, - 0x54, 0x82, 0xc7, 0xd3, 0x7d, 0xa8, 0xd5, 0xfb, 0x07, 0x53, 0xea, 0xfd, 0x3d, 0xa6, 0x7a, 0xbf, - 0xb7, 0x37, 0xf9, 0xce, 0x1e, 0x8f, 0x7d, 0xdf, 0x68, 0x7f, 0x34, 0x9f, 0xe9, 0xc5, 0xe9, 0x74, - 0x2f, 0xde, 0xdb, 0x9b, 0x7c, 0xaa, 0xc7, 0x3b, 0x66, 0xba, 0xf9, 0x59, 0x18, 0x8c, 0x88, 0x13, - 0x87, 0x81, 0xe8, 0x68, 0xf5, 0x39, 0x30, 0x6b, 0xc5, 0x02, 0x6a, 0xff, 0xab, 0x5a, 0xb6, 0xb3, - 0xe7, 0xb9, 0x83, 0x2d, 0x8c, 0x90, 0x07, 0x03, 0xcc, 0x64, 0xe7, 0xaa, 0xe1, 0xda, 0xf1, 0xa6, - 0x11, 0x55, 0xf1, 0x8a, 0x74, 0xbd, 0x4a, 0xbf, 0x1a, 0x6d, 0xc2, 0x8c, 0x05, 0xda, 0x81, 0xaa, - 0x2b, 0x2d, 0xe9, 0x52, 0x11, 0x3e, 0x27, 0x61, 0x47, 0x6b, 0x8e, 0x23, 0x54, 0x17, 0x2b, 0xf3, - 0x5b, 0x71, 0x43, 0x04, 0xca, 0x4d, 0x2f, 0x11, 0x9f, 0xf5, 0x98, 0x7b, 0xa5, 0x79, 0xcf, 0x78, - 0xc5, 0x21, 0xba, 0x40, 0xcc, 0x7b, 0x09, 0xa6, 0xf4, 0xd1, 0x67, 0x2c, 0x18, 0x8e, 0xdd, 0xd6, - 0x4a, 0x14, 0x6e, 0x7b, 0x0d, 0x12, 0x09, 0x4b, 0xe9, 0x98, 0xaa, 0x69, 0x75, 0x76, 0x49, 0x12, - 0xd4, 0x7c, 0xf9, 0xde, 0x55, 0x43, 0xb0, 0xc9, 0x97, 0xee, 0x20, 0x1e, 0x17, 0xef, 0x3e, 0x47, - 0x5c, 0x8f, 0xae, 0x6d, 0x72, 0xc3, 0xc4, 0x46, 0xca, 0xb1, 0x2d, 0xc7, 0xb9, 0x8e, 0xbb, 0x45, - 0xe7, 0x9b, 0x16, 0xe8, 0x9d, 0xfb, 0x7b, 0x93, 0x8f, 0xcf, 0xe6, 0xf3, 0xc4, 0xbd, 0x84, 0x61, - 0x1d, 0xd6, 0xee, 0xf8, 0x3e, 0x26, 0x77, 0x3a, 0x84, 0xb9, 0x43, 0x0a, 0xe8, 0xb0, 0x15, 0x4d, - 0x30, 0xd3, 0x61, 0x06, 0x04, 0x9b, 0x7c, 0xd1, 0x1d, 0x18, 0x6c, 0x39, 0x49, 0xe4, 0xed, 0x08, - 0x1f, 0xc8, 0x31, 0x6d, 0xf9, 0x25, 0x46, 0x4b, 0x33, 0x67, 0x4b, 0x3f, 0x6f, 0xc4, 0x82, 0x11, - 0x6a, 0x41, 0xa5, 0x45, 0xa2, 0x26, 0x99, 0xa8, 0x16, 0xe1, 0xef, 0x5d, 0xa2, 0xa4, 0x34, 0xc3, - 0x1a, 0xb5, 0x7c, 0x58, 0x1b, 0xe6, 0x5c, 0xd0, 0xeb, 0x50, 0x8d, 0x89, 0x4f, 0x5c, 0x6a, 0xbb, - 0xd4, 0x18, 0xc7, 0xf7, 0xf6, 0x69, 0xc7, 0x39, 0xeb, 0xc4, 0x5f, 0x15, 0x8f, 0xf2, 0x09, 0x26, - 0xff, 0x61, 0x45, 0x92, 0x76, 0x60, 0xdb, 0xef, 0x34, 0xbd, 0x60, 0x02, 0x8a, 0xe8, 0xc0, 0x15, - 0x46, 0x2b, 0xd3, 0x81, 0xbc, 0x11, 0x0b, 0x46, 0xf6, 0xbf, 0xb7, 0x00, 0xa5, 0x95, 0xda, 0x03, - 0x30, 0x58, 0xef, 0xa4, 0x0d, 0xd6, 0xc5, 0x22, 0xad, 0x8e, 0x1e, 0x36, 0xeb, 0x6f, 0xd7, 0x20, - 0xb3, 0x1c, 0x5c, 0x27, 0x71, 0x42, 0x1a, 0x6f, 0xab, 0xf0, 0xb7, 0x55, 0xf8, 0xdb, 0x2a, 0x5c, - 0xa9, 0xf0, 0xf5, 0x8c, 0x0a, 0xff, 0x80, 0x31, 0xeb, 0xf5, 0x81, 0xe9, 0x1b, 0xea, 0x44, 0xd5, - 0x94, 0xc0, 0x40, 0xa0, 0x9a, 0xe0, 0xea, 0xea, 0xf2, 0xf5, 0x5c, 0x9d, 0xfd, 0x46, 0x5a, 0x67, - 0x1f, 0x97, 0xc5, 0xff, 0x0b, 0x5a, 0xfa, 0xaf, 0x96, 0xe0, 0x89, 0xb4, 0xf6, 0xc2, 0xa1, 0xef, - 0x87, 0x9d, 0x84, 0xee, 0x05, 0xd0, 0x2f, 0x5b, 0x70, 0xba, 0x95, 0xde, 0x84, 0xc7, 0xc2, 0xd7, - 0xf9, 0xa1, 0xc2, 0x54, 0x6b, 0x66, 0x97, 0x5f, 0x9f, 0x10, 0x6a, 0xf6, 0x74, 0x06, 0x10, 0xe3, - 0x2e, 0x59, 0xd0, 0xeb, 0x50, 0x6b, 0x39, 0x3b, 0x37, 0xda, 0x0d, 0x27, 0x91, 0xdb, 0xb0, 0xde, - 0xbb, 0xe7, 0x4e, 0xe2, 0xf9, 0x53, 0xfc, 0x04, 0x7b, 0x6a, 0x21, 0x48, 0x96, 0xa3, 0xd5, 0x24, - 0xf2, 0x82, 0x26, 0xf7, 0x70, 0x2d, 0x49, 0x32, 0x58, 0x53, 0xb4, 0xbf, 0x66, 0x65, 0x75, 0xbb, - 0xea, 0x9d, 0xc8, 0x49, 0x48, 0x73, 0x17, 0x7d, 0x1c, 0x2a, 0x74, 0xbf, 0x24, 0x7b, 0xe5, 0x56, - 0x91, 0x0b, 0x8e, 0xf1, 0x25, 0xf4, 0xda, 0x43, 0xff, 0xc5, 0x98, 0x33, 0xb5, 0xbf, 0x32, 0x94, - 0x5d, 0x63, 0xd9, 0x79, 0xe6, 0x45, 0x80, 0x66, 0xb8, 0x46, 0x5a, 0x6d, 0x9f, 0x76, 0x8b, 0xc5, - 0x9c, 0xe2, 0xca, 0x45, 0x30, 0xaf, 0x20, 0xd8, 0xc0, 0x42, 0x7f, 0xde, 0x02, 0x68, 0xca, 0xa1, - 0x22, 0xd7, 0xcf, 0x1b, 0x45, 0xbe, 0x8e, 0x1e, 0x88, 0x5a, 0x16, 0xc5, 0x10, 0x1b, 0xcc, 0xd1, - 0xcf, 0x58, 0x50, 0x4d, 0xa4, 0xf8, 0x7c, 0x45, 0x59, 0x2b, 0x52, 0x12, 0xf9, 0xd2, 0xda, 0x94, - 0x50, 0x5d, 0xa2, 0xf8, 0xa2, 0x9f, 0xb7, 0x00, 0xe2, 0xdd, 0xc0, 0x5d, 0x09, 0x7d, 0xcf, 0xdd, - 0x15, 0x0b, 0xcd, 0xcd, 0x42, 0xdd, 0x18, 0x8a, 0x7a, 0x7d, 0x8c, 0xf6, 0x86, 0xfe, 0x8f, 0x0d, - 0xce, 0xe8, 0x93, 0x50, 0x8d, 0xc5, 0x70, 0x13, 0x4b, 0xcb, 0x5a, 0xb1, 0xce, 0x14, 0x4e, 0x5b, - 0x68, 0x25, 0xf1, 0x0f, 0x2b, 0x9e, 0xe8, 0x17, 0x2d, 0x38, 0xd5, 0x4e, 0xbb, 0xbe, 0xc4, 0x2a, - 0x52, 0x9c, 0x0e, 0xc8, 0xb8, 0xd6, 0xea, 0x67, 0xf6, 0xf7, 0x26, 0x4f, 0x65, 0x1a, 0x71, 0x56, - 0x0a, 0x34, 0x0b, 0xe3, 0x7a, 0x04, 0x2f, 0xb7, 0xb9, 0x1b, 0x6e, 0x88, 0xb9, 0xe1, 0xd8, 0x29, - 0xe6, 0x7c, 0x16, 0x88, 0xbb, 0xf1, 0xd1, 0x0a, 0x9c, 0xa5, 0xd2, 0xed, 0x72, 0xab, 0x4d, 0x6a, - 0xe5, 0x98, 0xad, 0x21, 0xd5, 0xfa, 0x93, 0x62, 0x84, 0x30, 0x47, 0x77, 0x16, 0x07, 0xe7, 0x3e, - 0x69, 0x7f, 0xab, 0x94, 0xf2, 0x8b, 0x2b, 0x87, 0x15, 0x9b, 0x63, 0xae, 0xf4, 0x15, 0x48, 0x95, - 0x51, 0xe8, 0x1c, 0x53, 0x9e, 0x08, 0x3d, 0xc7, 0x54, 0x53, 0x8c, 0x0d, 0xe6, 0xd4, 0x80, 0x19, - 0x77, 0xb2, 0x6e, 0x31, 0x31, 0xed, 0x5f, 0x2f, 0x52, 0xa4, 0xee, 0x53, 0x8c, 0x27, 0x84, 0x68, - 0xe3, 0x5d, 0x20, 0xdc, 0x2d, 0x92, 0xfd, 0xad, 0xb4, 0x2f, 0xde, 0x18, 0xb1, 0x7d, 0x9c, 0x33, - 0x7c, 0xd1, 0x82, 0xe1, 0x28, 0xf4, 0x7d, 0x2f, 0x68, 0xd2, 0xd9, 0x25, 0x96, 0x88, 0x8f, 0x9c, - 0x88, 0x96, 0x16, 0xd3, 0x88, 0x99, 0x41, 0x58, 0xf3, 0xc4, 0xa6, 0x00, 0xf6, 0x9f, 0x5a, 0x30, - 0xd1, 0x4b, 0x0b, 0x20, 0x02, 0xef, 0x94, 0x43, 0x5c, 0x9d, 0xb2, 0x2f, 0x07, 0x73, 0xc4, 0x27, - 0xca, 0x49, 0x59, 0xad, 0x3f, 0x23, 0x5e, 0xf3, 0x9d, 0x2b, 0xbd, 0x51, 0xf1, 0xfd, 0xe8, 0xa0, - 0xd7, 0xe0, 0xb4, 0xf1, 0x5e, 0xb1, 0xea, 0x98, 0x5a, 0x7d, 0x8a, 0x2e, 0xbb, 0x33, 0x19, 0xd8, - 0xbd, 0xbd, 0xc9, 0xc7, 0xb2, 0x6d, 0x42, 0x4d, 0x75, 0xd1, 0xb1, 0x7f, 0xbd, 0x94, 0xfd, 0x5a, - 0x6a, 0x85, 0xf9, 0xaa, 0xd5, 0xb5, 0xf5, 0xfb, 0xd0, 0x49, 0x68, 0x75, 0xb6, 0x49, 0x54, 0x07, - 0xf9, 0xbd, 0x71, 0x1e, 0xe2, 0x49, 0xa1, 0xfd, 0xcf, 0x07, 0xe0, 0x3e, 0x92, 0xa9, 0xb3, 0x20, - 0xab, 0xd7, 0x59, 0xd0, 0xe1, 0x8f, 0x97, 0x3e, 0x6f, 0xc1, 0xa0, 0x4f, 0xad, 0x50, 0x7e, 0xde, - 0x31, 0x7c, 0xb1, 0x71, 0x52, 0x7d, 0xcf, 0x8d, 0xdd, 0x98, 0x9f, 0x56, 0x2b, 0x97, 0x27, 0x6f, - 0xc4, 0x42, 0x06, 0xf4, 0x75, 0x2b, 0x7d, 0x78, 0xc2, 0xc3, 0x8f, 0xbc, 0x13, 0x93, 0xc9, 0x38, - 0x91, 0xe1, 0x82, 0x69, 0x5f, 0x7f, 0x8f, 0xb3, 0x1a, 0x34, 0x05, 0xb0, 0xe1, 0x05, 0x8e, 0xef, - 0xbd, 0x49, 0x77, 0xd3, 0x15, 0xb6, 0xac, 0xb0, 0x75, 0xfa, 0xb2, 0x6a, 0xc5, 0x06, 0xc6, 0xf9, - 0x3f, 0x07, 0xc3, 0xc6, 0x9b, 0xe7, 0x1c, 0xb2, 0x9f, 0x35, 0x0f, 0xd9, 0x6b, 0xc6, 0xd9, 0xf8, - 0xf9, 0x0f, 0xc0, 0xe9, 0xac, 0x80, 0x87, 0x79, 0xde, 0xfe, 0x1f, 0x43, 0xd9, 0x13, 0x8f, 0x35, - 0x12, 0xb5, 0xa8, 0x68, 0x6f, 0x7b, 0x21, 0xde, 0xf6, 0x42, 0xbc, 0xed, 0x85, 0x30, 0x1d, 0xc9, - 0x62, 0x87, 0x3d, 0xf4, 0x80, 0x76, 0xd8, 0x29, 0x9f, 0x41, 0xb5, 0x70, 0x9f, 0x81, 0xbd, 0x5f, - 0x81, 0x94, 0x1d, 0xc5, 0xfb, 0xfb, 0xdd, 0x30, 0x14, 0x91, 0x76, 0x78, 0x03, 0x2f, 0x8a, 0x35, - 0x44, 0x07, 0x52, 0xf3, 0x66, 0x2c, 0xe1, 0x74, 0xad, 0x69, 0x3b, 0xc9, 0xa6, 0x58, 0x44, 0xd4, - 0x5a, 0xb3, 0xe2, 0x24, 0x9b, 0x98, 0x41, 0xd0, 0x07, 0x60, 0x2c, 0x71, 0xa2, 0x26, 0x49, 0x30, - 0xd9, 0x66, 0x9f, 0x55, 0x9c, 0x8b, 0x3d, 0x26, 0x70, 0xc7, 0xd6, 0x52, 0x50, 0x9c, 0xc1, 0x46, - 0x77, 0x60, 0x60, 0x93, 0xf8, 0x2d, 0xd1, 0xe5, 0xab, 0xc5, 0xe9, 0x78, 0xf6, 0xae, 0x57, 0x88, - 0xdf, 0xe2, 0x1a, 0x88, 0xfe, 0xc2, 0x8c, 0x15, 0x1d, 0x6f, 0xb5, 0xad, 0x4e, 0x9c, 0x84, 0x2d, - 0xef, 0x4d, 0xe9, 0x0e, 0xfa, 0x50, 0xc1, 0x8c, 0xaf, 0x49, 0xfa, 0xdc, 0x81, 0xa0, 0xfe, 0x62, - 0xcd, 0x99, 0xc9, 0xd1, 0xf0, 0x22, 0xf6, 0xa9, 0x76, 0x85, 0x57, 0xa7, 0x68, 0x39, 0xe6, 0x24, - 0x7d, 0x2e, 0x87, 0xfa, 0x8b, 0x35, 0x67, 0xb4, 0xab, 0xc6, 0xfd, 0x30, 0x93, 0xe1, 0x46, 0xc1, - 0x32, 0xf0, 0x31, 0x9f, 0x3b, 0xfe, 0x9f, 0x81, 0x8a, 0xbb, 0xe9, 0x44, 0xc9, 0xc4, 0x08, 0x1b, - 0x34, 0xca, 0x91, 0x31, 0x4b, 0x1b, 0x31, 0x87, 0xa1, 0xa7, 0xa0, 0x1c, 0x91, 0x0d, 0x16, 0xbf, - 0x67, 0x44, 0x76, 0x60, 0xb2, 0x81, 0x69, 0xbb, 0xfd, 0x2b, 0xa5, 0xb4, 0xb9, 0x94, 0x7e, 0x6f, - 0x3e, 0xda, 0xdd, 0x4e, 0x14, 0x4b, 0x67, 0x87, 0x31, 0xda, 0x59, 0x33, 0x96, 0x70, 0xf4, 0x69, - 0x0b, 0x86, 0x6e, 0xc7, 0x61, 0x10, 0x90, 0x44, 0x2c, 0x4d, 0x37, 0x0b, 0xee, 0x8a, 0xab, 0x9c, - 0xba, 0x96, 0x41, 0x34, 0x60, 0xc9, 0x97, 0x8a, 0x4b, 0x76, 0x5c, 0xbf, 0xd3, 0xe8, 0x3a, 0xd0, - 0xbf, 0xc4, 0x9b, 0xb1, 0x84, 0x53, 0x54, 0x2f, 0xe0, 0xa8, 0x03, 0x69, 0xd4, 0x85, 0x40, 0xa0, - 0x0a, 0xb8, 0xfd, 0x97, 0x07, 0xe1, 0x5c, 0xee, 0xe4, 0xa0, 0x86, 0x0c, 0x33, 0x15, 0x2e, 0x7b, - 0x3e, 0x91, 0x61, 0x2a, 0xcc, 0x90, 0xb9, 0xa9, 0x5a, 0xb1, 0x81, 0x81, 0x7e, 0x1a, 0xa0, 0xed, - 0x44, 0x4e, 0x8b, 0x88, 0x05, 0xbc, 0x7c, 0x7c, 0x7b, 0x81, 0xca, 0xb1, 0x22, 0x69, 0xea, 0xbd, - 0xa9, 0x6a, 0x8a, 0xb1, 0xc1, 0x12, 0xbd, 0x0f, 0x86, 0x23, 0xe2, 0x13, 0x27, 0x66, 0xe1, 0x9f, - 0xd9, 0x58, 0x76, 0xac, 0x41, 0xd8, 0xc4, 0x43, 0xcf, 0xaa, 0x88, 0x9e, 0x4c, 0xf4, 0x43, 0x3a, - 0xaa, 0x07, 0xbd, 0x65, 0xc1, 0xd8, 0x86, 0xe7, 0x13, 0xcd, 0x5d, 0x44, 0x9e, 0x2f, 0x1f, 0xff, - 0x25, 0x2f, 0x9b, 0x74, 0xb5, 0x86, 0x4c, 0x35, 0xc7, 0x38, 0xc3, 0x9e, 0x7e, 0xe6, 0x6d, 0x12, - 0x31, 0xd5, 0x3a, 0x98, 0xfe, 0xcc, 0x37, 0x79, 0x33, 0x96, 0x70, 0x34, 0x03, 0xa7, 0xda, 0x4e, - 0x1c, 0xcf, 0x46, 0xa4, 0x41, 0x82, 0xc4, 0x73, 0x7c, 0x1e, 0x17, 0x5e, 0xd5, 0x71, 0xa1, 0x2b, - 0x69, 0x30, 0xce, 0xe2, 0xa3, 0x0f, 0xc3, 0xe3, 0x5e, 0x33, 0x08, 0x23, 0xb2, 0xe4, 0xc5, 0xb1, - 0x17, 0x34, 0xf5, 0x30, 0x10, 0x4e, 0x8f, 0x49, 0x41, 0xea, 0xf1, 0x85, 0x7c, 0x34, 0xdc, 0xeb, - 0x79, 0xf4, 0x3c, 0x54, 0xe3, 0x2d, 0xaf, 0x3d, 0x1b, 0x35, 0x62, 0xe6, 0x20, 0xaf, 0x6a, 0x17, - 0xdb, 0xaa, 0x68, 0xc7, 0x0a, 0x03, 0xb9, 0x30, 0xc2, 0x3f, 0x09, 0x0f, 0x5b, 0x12, 0xfa, 0xf1, - 0x85, 0x9e, 0xcb, 0xa3, 0x48, 0x5d, 0x9a, 0xc2, 0xce, 0xdd, 0x4b, 0xd2, 0x5d, 0x5f, 0x3f, 0xbd, - 0xbf, 0x37, 0x39, 0x72, 0xd3, 0x20, 0x83, 0x53, 0x44, 0xed, 0x5f, 0x2a, 0xa5, 0x77, 0xdc, 0xe6, - 0x24, 0x45, 0x31, 0x9d, 0x8a, 0xc9, 0x4d, 0x27, 0x92, 0xde, 0x98, 0x63, 0x86, 0xaf, 0x0b, 0xba, - 0x37, 0x9d, 0xc8, 0x9c, 0xd4, 0x8c, 0x01, 0x96, 0x9c, 0xd0, 0x6d, 0x18, 0x48, 0x7c, 0xa7, 0xa0, - 0x7c, 0x17, 0x83, 0xa3, 0x76, 0x80, 0x2c, 0xce, 0xc4, 0x98, 0xf1, 0x40, 0x4f, 0x52, 0xab, 0x7f, - 0x5d, 0xc6, 0xb8, 0x09, 0x43, 0x7d, 0x3d, 0xc6, 0xac, 0xd5, 0xfe, 0x3f, 0xd5, 0x1c, 0xbd, 0xaa, - 0x16, 0x32, 0x74, 0x11, 0x80, 0x6e, 0x20, 0x57, 0x22, 0xb2, 0xe1, 0xed, 0x08, 0x43, 0x42, 0xcd, - 0xdd, 0xeb, 0x0a, 0x82, 0x0d, 0x2c, 0xf9, 0xcc, 0x6a, 0x67, 0x83, 0x3e, 0x53, 0xea, 0x7e, 0x86, - 0x43, 0xb0, 0x81, 0x85, 0x5e, 0x82, 0x41, 0xaf, 0xe5, 0x34, 0x55, 0x28, 0xde, 0x93, 0x74, 0xd2, - 0x2e, 0xb0, 0x96, 0x7b, 0x7b, 0x93, 0x63, 0x4a, 0x20, 0xd6, 0x84, 0x05, 0x2e, 0xfa, 0x75, 0x0b, - 0x46, 0xdc, 0xb0, 0xd5, 0x0a, 0x03, 0xbe, 0xed, 0x12, 0x7b, 0xc8, 0xdb, 0x27, 0xb5, 0xcc, 0x4f, - 0xcd, 0x1a, 0xcc, 0xf8, 0x26, 0x52, 0x25, 0xe6, 0x98, 0x20, 0x9c, 0x92, 0xca, 0x9c, 0xdb, 0x95, - 0x03, 0xe6, 0xf6, 0x6f, 0x59, 0x30, 0xce, 0x9f, 0x35, 0x76, 0x83, 0x22, 0x07, 0x25, 0x3c, 0xe1, - 0xd7, 0xea, 0xda, 0x20, 0x2b, 0x2f, 0x5d, 0x17, 0x1c, 0x77, 0x0b, 0x89, 0xe6, 0x61, 0x7c, 0x23, - 0x8c, 0x5c, 0x62, 0x76, 0x84, 0x50, 0x4c, 0x8a, 0xd0, 0xe5, 0x2c, 0x02, 0xee, 0x7e, 0x06, 0xdd, - 0x84, 0xc7, 0x8c, 0x46, 0xb3, 0x1f, 0xb8, 0x6e, 0x7a, 0x5a, 0x50, 0x7b, 0xec, 0x72, 0x2e, 0x16, - 0xee, 0xf1, 0x74, 0xda, 0x61, 0x52, 0xeb, 0xc3, 0x61, 0xf2, 0x06, 0x3c, 0xe1, 0x76, 0xf7, 0xcc, - 0x76, 0xdc, 0x59, 0x8f, 0xb9, 0xa6, 0xaa, 0xd6, 0x7f, 0x48, 0x10, 0x78, 0x62, 0xb6, 0x17, 0x22, - 0xee, 0x4d, 0x03, 0x7d, 0x1c, 0xaa, 0x11, 0x61, 0x5f, 0x25, 0x16, 0x09, 0x19, 0xc7, 0xdc, 0x25, - 0x6b, 0x0b, 0x94, 0x93, 0xd5, 0xba, 0x57, 0x34, 0xc4, 0x58, 0x71, 0x3c, 0xff, 0x41, 0x18, 0xef, - 0x1a, 0xcf, 0x87, 0xf2, 0x59, 0xcc, 0xc1, 0x63, 0xf9, 0x23, 0xe7, 0x50, 0x9e, 0x8b, 0xbf, 0x9f, - 0x89, 0x33, 0x34, 0xac, 0xc9, 0x3e, 0xbc, 0x60, 0x0e, 0x94, 0x49, 0xb0, 0x2d, 0x14, 0xe9, 0xe5, - 0xe3, 0xf5, 0xde, 0xa5, 0x60, 0x9b, 0x0f, 0x7c, 0xb6, 0xd5, 0xbf, 0x14, 0x6c, 0x63, 0x4a, 0x1b, - 0x7d, 0xd9, 0x4a, 0x59, 0x43, 0xdc, 0x77, 0xf6, 0xd1, 0x13, 0x31, 0x9f, 0xfb, 0x36, 0x90, 0xec, - 0x7f, 0x51, 0x82, 0x0b, 0x07, 0x11, 0xe9, 0xa3, 0xfb, 0x9e, 0x81, 0xc1, 0x98, 0x1d, 0x81, 0x0a, - 0xcd, 0x34, 0x4c, 0xb5, 0x12, 0x3f, 0x14, 0x7d, 0x03, 0x0b, 0x10, 0xf2, 0xa1, 0xdc, 0x72, 0xda, - 0xc2, 0xa5, 0xb2, 0x70, 0xdc, 0xac, 0x02, 0xfa, 0xdf, 0xf1, 0x97, 0x9c, 0x36, 0xdf, 0xa8, 0x1b, - 0x0d, 0x98, 0xb2, 0x41, 0x09, 0x54, 0x9c, 0x28, 0x72, 0xe4, 0x79, 0xdb, 0xb5, 0x62, 0xf8, 0xcd, - 0x50, 0x92, 0xf5, 0xf1, 0xfd, 0xbd, 0xc9, 0xd1, 0x54, 0x13, 0xe6, 0xcc, 0xec, 0xcf, 0x0f, 0xa5, - 0x22, 0xeb, 0xd9, 0x21, 0x6a, 0x0c, 0x83, 0xc2, 0x93, 0x62, 0x15, 0x9d, 0xcc, 0xc1, 0x53, 0xa3, - 0xd8, 0x66, 0x49, 0x24, 0x98, 0x0a, 0x56, 0xe8, 0x73, 0x16, 0x4b, 0xe3, 0x94, 0xd9, 0x06, 0x62, - 0x8b, 0x72, 0x32, 0x59, 0xa5, 0x66, 0x72, 0xa8, 0x6c, 0xc4, 0x26, 0x77, 0xba, 0x74, 0xb5, 0x79, - 0x42, 0x52, 0x76, 0xa3, 0x22, 0x13, 0x3d, 0x25, 0x1c, 0xed, 0xe4, 0x1c, 0x96, 0x16, 0x90, 0x0a, - 0xd8, 0xc7, 0xf1, 0xe8, 0xd7, 0x2d, 0x18, 0xe7, 0xe6, 0xe8, 0x9c, 0xb7, 0xb1, 0x41, 0x22, 0x12, - 0xb8, 0x44, 0x1a, 0xf4, 0xc7, 0x3c, 0x8e, 0x97, 0xee, 0xab, 0x85, 0x2c, 0x79, 0xbd, 0xa6, 0x75, - 0x81, 0x70, 0xb7, 0x30, 0xa8, 0x01, 0x03, 0x5e, 0xb0, 0x11, 0x8a, 0x95, 0xbc, 0x7e, 0x3c, 0xa1, - 0x16, 0x82, 0x8d, 0x50, 0xcf, 0x66, 0xfa, 0x0f, 0x33, 0xea, 0x68, 0x11, 0xce, 0x46, 0xc2, 0xe5, - 0x72, 0xc5, 0x8b, 0xe9, 0xc6, 0x78, 0xd1, 0x6b, 0x79, 0x09, 0x5b, 0x85, 0xcb, 0xf5, 0x89, 0xfd, - 0xbd, 0xc9, 0xb3, 0x38, 0x07, 0x8e, 0x73, 0x9f, 0x42, 0x6f, 0xc2, 0x90, 0xcc, 0x3b, 0xad, 0x16, - 0xb1, 0x39, 0xea, 0x1e, 0xff, 0x6a, 0x30, 0xad, 0x8a, 0x14, 0x53, 0xc9, 0xd0, 0x7e, 0x6b, 0x18, - 0xba, 0xcf, 0x06, 0xd1, 0x27, 0xa0, 0x16, 0xa9, 0x5c, 0x58, 0xab, 0x88, 0xf8, 0x3e, 0xf9, 0x7d, - 0xc5, 0xb9, 0xa4, 0xb2, 0x07, 0x74, 0xd6, 0xab, 0xe6, 0x48, 0xad, 0xf6, 0x58, 0x1f, 0x21, 0x16, - 0x30, 0xb6, 0x05, 0x57, 0x7d, 0x3c, 0xb4, 0x1b, 0xb8, 0x98, 0xf1, 0x40, 0x11, 0x0c, 0x6e, 0x12, - 0xc7, 0x4f, 0x36, 0x8b, 0xf1, 0x64, 0x5f, 0x61, 0xb4, 0xb2, 0x59, 0x13, 0xbc, 0x15, 0x0b, 0x4e, - 0x68, 0x07, 0x86, 0x36, 0xf9, 0x00, 0x10, 0x86, 0xf4, 0xd2, 0x71, 0x3b, 0x37, 0x35, 0xaa, 0xf4, - 0xe7, 0x16, 0x0d, 0x58, 0xb2, 0x63, 0x91, 0x16, 0xc6, 0xb1, 0x38, 0x9f, 0xba, 0xc5, 0x25, 0x8c, - 0xf4, 0x7f, 0x26, 0xfe, 0x31, 0x18, 0x89, 0x88, 0x1b, 0x06, 0xae, 0xe7, 0x93, 0xc6, 0x8c, 0xf4, - 0x52, 0x1f, 0x26, 0xcd, 0x80, 0x6d, 0x46, 0xb1, 0x41, 0x03, 0xa7, 0x28, 0xa2, 0xcf, 0x5a, 0x30, - 0xa6, 0x12, 0xe8, 0xe8, 0x07, 0x21, 0xc2, 0x2b, 0xba, 0x58, 0x50, 0xba, 0x1e, 0xa3, 0x59, 0x47, - 0xfb, 0x7b, 0x93, 0x63, 0xe9, 0x36, 0x9c, 0xe1, 0x8b, 0x5e, 0x03, 0x08, 0xd7, 0x79, 0x38, 0xc5, - 0x4c, 0x22, 0x5c, 0xa4, 0x87, 0x79, 0xd5, 0x31, 0x9e, 0x6f, 0x24, 0x29, 0x60, 0x83, 0x1a, 0xba, - 0x06, 0xc0, 0xa7, 0xcd, 0xda, 0x6e, 0x5b, 0x5a, 0xdb, 0x32, 0x4f, 0x04, 0x56, 0x15, 0xe4, 0xde, - 0xde, 0x64, 0xb7, 0xcb, 0x8a, 0x9d, 0xde, 0x1b, 0x8f, 0xa3, 0x9f, 0x82, 0xa1, 0xb8, 0xd3, 0x6a, - 0x39, 0xca, 0x81, 0x5a, 0x60, 0x06, 0x13, 0xa7, 0x6b, 0xa8, 0x22, 0xde, 0x80, 0x25, 0x47, 0x74, - 0x9b, 0x2a, 0xd5, 0x58, 0xf8, 0xd2, 0xd8, 0x2c, 0xe2, 0x36, 0xc1, 0x30, 0x7b, 0xa7, 0xf7, 0xcb, - 0xe8, 0x10, 0x9c, 0x83, 0x73, 0x6f, 0x6f, 0xf2, 0xb1, 0x74, 0xfb, 0x62, 0x28, 0x72, 0x8a, 0x72, - 0x69, 0xa2, 0xab, 0xb2, 0x0c, 0x05, 0x7d, 0x6d, 0x99, 0x1d, 0xfd, 0x9c, 0x2e, 0x43, 0xc1, 0x9a, - 0x7b, 0xf7, 0x99, 0xf9, 0x30, 0x5a, 0x82, 0x33, 0x6e, 0x18, 0x24, 0x51, 0xe8, 0xfb, 0xbc, 0xb6, - 0x0a, 0xdf, 0xf8, 0x70, 0x07, 0xeb, 0x3b, 0x85, 0xd8, 0x67, 0x66, 0xbb, 0x51, 0x70, 0xde, 0x73, - 0x76, 0x90, 0x8e, 0x33, 0x13, 0x9d, 0xf3, 0x12, 0x8c, 0x90, 0x9d, 0x84, 0x44, 0x81, 0xe3, 0xdf, - 0xc0, 0x8b, 0xd2, 0xb5, 0xc8, 0xe6, 0xc0, 0x25, 0xa3, 0x1d, 0xa7, 0xb0, 0x90, 0xad, 0x76, 0xfb, - 0x25, 0x9d, 0x78, 0xc7, 0x77, 0xfb, 0x72, 0x6f, 0x6f, 0xff, 0xcf, 0x52, 0xca, 0x20, 0x5b, 0x8b, - 0x08, 0x41, 0x21, 0x54, 0x82, 0xb0, 0xa1, 0x74, 0xff, 0xd5, 0x62, 0x74, 0xff, 0xf5, 0xb0, 0x61, - 0xd4, 0xaa, 0xa0, 0xff, 0x62, 0xcc, 0xf9, 0xb0, 0x64, 0x7e, 0x59, 0xf5, 0x80, 0x01, 0xc4, 0x46, - 0xa3, 0x48, 0xce, 0x2a, 0x99, 0x7f, 0xd9, 0x64, 0x84, 0xd3, 0x7c, 0xd1, 0x16, 0x54, 0x36, 0xc3, - 0x38, 0x91, 0xdb, 0x8f, 0x63, 0xee, 0x74, 0xae, 0x84, 0x71, 0xc2, 0xac, 0x08, 0xf5, 0xda, 0xb4, - 0x25, 0xc6, 0x9c, 0x87, 0xfd, 0x1f, 0xac, 0x94, 0x23, 0xf9, 0x16, 0x8b, 0xb9, 0xdc, 0x26, 0x01, - 0x9d, 0xd6, 0x66, 0xbc, 0xcd, 0xff, 0x9f, 0x49, 0xfc, 0x7a, 0x57, 0xaf, 0xca, 0x41, 0x77, 0x29, - 0x85, 0x29, 0x46, 0xc2, 0x08, 0xcd, 0xf9, 0x94, 0x95, 0x4e, 0xc1, 0x2b, 0x15, 0xb1, 0xc1, 0x30, - 0x53, 0x4c, 0x0f, 0xcc, 0xe6, 0xb3, 0xbf, 0x6c, 0xc1, 0x50, 0xdd, 0x71, 0xb7, 0xc2, 0x8d, 0x0d, - 0xf4, 0x3c, 0x54, 0x1b, 0x9d, 0xc8, 0xcc, 0x06, 0x54, 0xbb, 0xe7, 0x39, 0xd1, 0x8e, 0x15, 0x06, - 0x1d, 0xc3, 0x1b, 0x8e, 0x2b, 0x13, 0x4d, 0xcb, 0x7c, 0x0c, 0x5f, 0x66, 0x2d, 0x58, 0x40, 0xd0, - 0xfb, 0x60, 0xb8, 0xe5, 0xec, 0xc8, 0x87, 0xb3, 0x5e, 0xec, 0x25, 0x0d, 0xc2, 0x26, 0x9e, 0xfd, - 0x4f, 0x2d, 0x98, 0xa8, 0x3b, 0xb1, 0xe7, 0xce, 0x74, 0x92, 0xcd, 0xba, 0x97, 0xac, 0x77, 0xdc, - 0x2d, 0x92, 0xf0, 0xec, 0x62, 0x2a, 0x65, 0x27, 0xa6, 0x53, 0x49, 0xed, 0xeb, 0x94, 0x94, 0x37, - 0x44, 0x3b, 0x56, 0x18, 0xe8, 0x4d, 0x18, 0x6e, 0x3b, 0x71, 0x7c, 0x37, 0x8c, 0x1a, 0x98, 0x6c, - 0x14, 0x93, 0xdb, 0xbf, 0x4a, 0xdc, 0x88, 0x24, 0x98, 0x6c, 0x88, 0x93, 0x56, 0x4d, 0x1f, 0x9b, - 0xcc, 0xec, 0xbf, 0x62, 0xc1, 0x08, 0x3b, 0xe2, 0x99, 0x23, 0x89, 0xe3, 0xf9, 0x5d, 0x05, 0x6a, - 0xac, 0x3e, 0x0b, 0xd4, 0x5c, 0x80, 0x81, 0xcd, 0xb0, 0x45, 0xb2, 0xc7, 0x93, 0x57, 0x42, 0xba, - 0x8b, 0xa5, 0x10, 0xf4, 0x22, 0xed, 0x67, 0x2f, 0x48, 0x1c, 0x3a, 0xe2, 0xa4, 0x0b, 0xf1, 0x14, - 0xef, 0x63, 0xd5, 0x8c, 0x4d, 0x1c, 0xfb, 0x77, 0x6b, 0x30, 0x24, 0xce, 0xb0, 0xfb, 0x4e, 0xe8, - 0x96, 0xdb, 0xe9, 0x52, 0xcf, 0xed, 0x74, 0x0c, 0x83, 0x2e, 0x2b, 0x7f, 0x25, 0xac, 0xb6, 0x6b, - 0x85, 0x04, 0x3d, 0xf0, 0x8a, 0x5a, 0x5a, 0x2c, 0xfe, 0x1f, 0x0b, 0x56, 0xe8, 0x4b, 0x16, 0x9c, - 0x72, 0xc3, 0x20, 0x20, 0xae, 0x36, 0x29, 0x06, 0x8a, 0x38, 0xdb, 0x9e, 0x4d, 0x13, 0xd5, 0xe7, - 0x0b, 0x19, 0x00, 0xce, 0xb2, 0x47, 0xaf, 0xc0, 0x28, 0xef, 0xb3, 0x9b, 0x29, 0xbf, 0xa7, 0xae, - 0x5b, 0x62, 0x02, 0x71, 0x1a, 0x17, 0x4d, 0x71, 0xff, 0xb1, 0xa8, 0x10, 0x32, 0xa8, 0x0f, 0xab, - 0x8c, 0xda, 0x20, 0x06, 0x06, 0x8a, 0x00, 0x45, 0x64, 0x23, 0x22, 0xf1, 0xa6, 0x38, 0xe3, 0x67, - 0xe6, 0xcc, 0xd0, 0xd1, 0x12, 0x44, 0x71, 0x17, 0x25, 0x9c, 0x43, 0x1d, 0x6d, 0x89, 0xfd, 0x5c, - 0xb5, 0x08, 0x95, 0x25, 0x3e, 0x73, 0xcf, 0x6d, 0xdd, 0x24, 0x54, 0xe2, 0x4d, 0x27, 0x6a, 0x30, - 0x33, 0xaa, 0xcc, 0x93, 0x12, 0x56, 0x69, 0x03, 0xe6, 0xed, 0x68, 0x0e, 0x4e, 0x67, 0xaa, 0xae, - 0xc4, 0xc2, 0x3f, 0xa9, 0x22, 0xe9, 0x33, 0xf5, 0x5a, 0x62, 0xdc, 0xf5, 0x84, 0xb9, 0xd7, 0x1f, - 0x3e, 0x60, 0xaf, 0xbf, 0xab, 0x22, 0xc9, 0x46, 0xd8, 0x72, 0xf4, 0x6a, 0x21, 0x1d, 0xd0, 0x57, - 0xd8, 0xd8, 0x17, 0x32, 0x61, 0x63, 0xa3, 0x4c, 0x80, 0x9b, 0xc5, 0x08, 0x70, 0xf8, 0x18, 0xb1, - 0x87, 0x19, 0xf3, 0xf5, 0xdf, 0x2d, 0x90, 0xdf, 0x75, 0xd6, 0x71, 0x37, 0x09, 0x1d, 0x32, 0xe8, - 0x03, 0x30, 0xa6, 0x76, 0xac, 0xb3, 0x61, 0x27, 0xe0, 0xe1, 0x5e, 0x65, 0x7d, 0x10, 0x89, 0x53, - 0x50, 0x9c, 0xc1, 0x46, 0xd3, 0x50, 0xa3, 0xfd, 0xc4, 0x1f, 0xe5, 0x4b, 0x9b, 0xda, 0x15, 0xcf, - 0xac, 0x2c, 0x88, 0xa7, 0x34, 0x0e, 0x0a, 0x61, 0xdc, 0x77, 0xe2, 0x84, 0x49, 0x40, 0x37, 0xb0, - 0x47, 0x4c, 0xcf, 0x66, 0xe1, 0xda, 0x8b, 0x59, 0x42, 0xb8, 0x9b, 0xb6, 0xfd, 0x9d, 0x01, 0x18, - 0x4d, 0x69, 0xc6, 0x43, 0xae, 0x89, 0xcf, 0x43, 0x55, 0x2e, 0x53, 0xd9, 0x22, 0x11, 0x6a, 0x2d, - 0x53, 0x18, 0x74, 0xd1, 0x5a, 0x27, 0x4e, 0x44, 0x22, 0x56, 0xcf, 0x26, 0xbb, 0x86, 0xd7, 0x35, - 0x08, 0x9b, 0x78, 0x4c, 0x29, 0x27, 0x7e, 0x3c, 0xeb, 0x7b, 0x24, 0x48, 0xb8, 0x98, 0xc5, 0x28, - 0xe5, 0xb5, 0xc5, 0x55, 0x93, 0xa8, 0x56, 0xca, 0x19, 0x00, 0xce, 0xb2, 0x47, 0x3f, 0x67, 0xc1, - 0xa8, 0x73, 0x37, 0xd6, 0x35, 0x1a, 0x45, 0x80, 0xd8, 0x31, 0x17, 0xa9, 0x54, 0xd9, 0x47, 0xee, - 0x61, 0x4d, 0x35, 0xe1, 0x34, 0x53, 0xf4, 0x55, 0x0b, 0x10, 0xd9, 0x21, 0xae, 0x0c, 0x61, 0x13, - 0xb2, 0x0c, 0x16, 0xb1, 0xb1, 0xbb, 0xd4, 0x45, 0x97, 0x6b, 0xf5, 0xee, 0x76, 0x9c, 0x23, 0x83, - 0xfd, 0x8f, 0xca, 0x6a, 0x42, 0xe9, 0xa8, 0x49, 0xc7, 0x88, 0xde, 0xb2, 0x8e, 0x1e, 0xbd, 0xa5, - 0x4f, 0xc1, 0xbb, 0xb3, 0xbe, 0x52, 0xd9, 0x2e, 0xa5, 0x87, 0x94, 0xed, 0xf2, 0x33, 0x56, 0xaa, - 0x1c, 0xca, 0xf0, 0xc5, 0xd7, 0x8a, 0x8d, 0xd8, 0x9c, 0xe2, 0x27, 0xf4, 0x19, 0xed, 0x9e, 0x0e, - 0xcc, 0xa0, 0xda, 0xd4, 0x40, 0x3b, 0x94, 0x36, 0xfc, 0x37, 0x65, 0x18, 0x36, 0x56, 0xd2, 0x5c, - 0xb3, 0xc8, 0x7a, 0xc4, 0xcc, 0xa2, 0xd2, 0x21, 0xcc, 0xa2, 0x9f, 0x86, 0x9a, 0x2b, 0xb5, 0x7c, - 0x31, 0x05, 0x41, 0xb3, 0x6b, 0x87, 0x56, 0xf4, 0xaa, 0x09, 0x6b, 0x9e, 0x68, 0x3e, 0x95, 0x2e, - 0x22, 0x56, 0x88, 0x01, 0xb6, 0x42, 0xe4, 0xe5, 0x73, 0x88, 0x95, 0xa2, 0xfb, 0x19, 0x56, 0x35, - 0xa7, 0xed, 0x89, 0xf7, 0x92, 0x71, 0xd5, 0xbc, 0x6a, 0xce, 0xca, 0x82, 0x6c, 0xc6, 0x26, 0x8e, - 0xfd, 0x1d, 0x4b, 0x7d, 0xdc, 0x07, 0x90, 0x43, 0x7e, 0x3b, 0x9d, 0x43, 0x7e, 0xa9, 0x90, 0x6e, - 0xee, 0x91, 0x3c, 0x7e, 0x1d, 0x86, 0x66, 0xc3, 0x56, 0xcb, 0x09, 0x1a, 0xe8, 0x87, 0x61, 0xc8, - 0xe5, 0x3f, 0x85, 0x1f, 0x85, 0x9d, 0xc6, 0x09, 0x28, 0x96, 0x30, 0xf4, 0x24, 0x0c, 0x38, 0x51, - 0x53, 0xfa, 0x4e, 0x58, 0x40, 0xc7, 0x4c, 0xd4, 0x8c, 0x31, 0x6b, 0xb5, 0xdf, 0x2a, 0x03, 0xcc, - 0x86, 0xad, 0xb6, 0x13, 0x91, 0xc6, 0x5a, 0xc8, 0x0a, 0x92, 0x9d, 0xe8, 0x19, 0x96, 0xde, 0x2c, - 0x3d, 0xca, 0xe7, 0x58, 0xc6, 0x59, 0x46, 0xf9, 0x41, 0x9f, 0x65, 0x7c, 0xde, 0x02, 0x44, 0xbf, - 0x48, 0x18, 0x90, 0x20, 0xd1, 0x87, 0xb3, 0xd3, 0x50, 0x73, 0x65, 0xab, 0xb0, 0x5a, 0xf4, 0xfc, - 0x93, 0x00, 0xac, 0x71, 0xfa, 0xd8, 0x7e, 0x3e, 0x23, 0x95, 0x63, 0x39, 0x1d, 0x68, 0xc9, 0x54, - 0xaa, 0xd0, 0x95, 0xf6, 0xef, 0x95, 0xe0, 0x31, 0xbe, 0xde, 0x2d, 0x39, 0x81, 0xd3, 0x24, 0x2d, - 0x2a, 0x55, 0xbf, 0xc7, 0xed, 0x2e, 0xdd, 0xf7, 0x78, 0x32, 0x70, 0xf2, 0xb8, 0x13, 0x83, 0x0f, - 0x68, 0x3e, 0x84, 0x17, 0x02, 0x2f, 0xc1, 0x8c, 0x38, 0x8a, 0xa1, 0x2a, 0xcb, 0x4b, 0x0b, 0x45, - 0x57, 0x10, 0x23, 0x35, 0xe7, 0xc5, 0xa2, 0x44, 0xb0, 0x62, 0x44, 0xad, 0x42, 0x3f, 0x74, 0xb7, - 0x30, 0x69, 0x87, 0x4c, 0xa9, 0x19, 0x71, 0x6b, 0x8b, 0xa2, 0x1d, 0x2b, 0x0c, 0xfb, 0xf7, 0x2c, - 0xc8, 0xaa, 0x7b, 0xa3, 0xf4, 0x92, 0x75, 0xdf, 0xd2, 0x4b, 0x87, 0xa8, 0x7d, 0xf4, 0x93, 0x30, - 0xec, 0x24, 0x74, 0x85, 0xe6, 0x7b, 0xda, 0xf2, 0xd1, 0x5c, 0xf4, 0x4b, 0x61, 0xc3, 0xdb, 0xf0, - 0xd8, 0x5e, 0xd6, 0x24, 0x67, 0xff, 0xd7, 0x01, 0x18, 0xef, 0x0a, 0xef, 0x47, 0x2f, 0xc3, 0x88, - 0x2b, 0x86, 0x47, 0x1b, 0x93, 0x0d, 0xf1, 0x32, 0x46, 0x9c, 0x93, 0x86, 0xe1, 0x14, 0x66, 0x1f, - 0x03, 0x74, 0x01, 0xce, 0x44, 0x74, 0x17, 0xdd, 0x21, 0x33, 0x1b, 0x09, 0x89, 0x56, 0x89, 0x1b, - 0x06, 0x0d, 0x5e, 0x20, 0xac, 0x5c, 0x7f, 0x7c, 0x7f, 0x6f, 0xf2, 0x0c, 0xee, 0x06, 0xe3, 0xbc, - 0x67, 0x50, 0x1b, 0x46, 0x7d, 0xd3, 0xc0, 0x12, 0xd6, 0xf5, 0x91, 0x6c, 0x33, 0xb5, 0x00, 0xa7, - 0x9a, 0x71, 0x9a, 0x41, 0xda, 0x4a, 0xab, 0x3c, 0x24, 0x2b, 0xed, 0x67, 0xb5, 0x95, 0xc6, 0xcf, - 0x92, 0x3f, 0x52, 0x70, 0x7a, 0xc7, 0x49, 0x9b, 0x69, 0xaf, 0x42, 0x55, 0xc6, 0xd9, 0xf4, 0x15, - 0x9f, 0x62, 0xd2, 0xe9, 0xa1, 0xd1, 0xee, 0x95, 0x20, 0xc7, 0xc2, 0xa7, 0xf3, 0x4c, 0x2f, 0xa7, - 0xa9, 0x79, 0x76, 0xb8, 0x25, 0x15, 0xed, 0xf0, 0x18, 0x23, 0xbe, 0x70, 0x7c, 0xb8, 0xe8, 0x1d, - 0x8a, 0x0e, 0x3b, 0x52, 0x51, 0xef, 0x2a, 0xf4, 0xe8, 0x22, 0x80, 0xb6, 0x82, 0x44, 0x4c, 0xb3, - 0x3a, 0xc2, 0xd4, 0xc6, 0x12, 0x36, 0xb0, 0xe8, 0x86, 0xd5, 0x0b, 0xe2, 0xc4, 0xf1, 0xfd, 0x2b, - 0x5e, 0x90, 0x08, 0xcf, 0x9b, 0x5a, 0x21, 0x17, 0x34, 0x08, 0x9b, 0x78, 0xe7, 0xdf, 0x6f, 0x7c, - 0x97, 0xc3, 0x7c, 0xcf, 0x4d, 0x78, 0x62, 0xde, 0x4b, 0x54, 0x24, 0xbe, 0x1a, 0x47, 0xd4, 0xc8, - 0x51, 0x99, 0x25, 0x56, 0xcf, 0xcc, 0x12, 0x23, 0x12, 0xbe, 0x94, 0x0e, 0xdc, 0xcf, 0x46, 0xc2, - 0xdb, 0x2f, 0xc3, 0xd9, 0x79, 0x2f, 0xb9, 0xec, 0xf9, 0xe4, 0x90, 0x4c, 0xec, 0xdf, 0x19, 0x84, - 0x11, 0x33, 0x97, 0xeb, 0x30, 0xc9, 0x31, 0x5f, 0xa4, 0x76, 0x8c, 0x78, 0x3b, 0x4f, 0x1d, 0x00, - 0xdd, 0x3a, 0x76, 0x62, 0x59, 0x7e, 0x8f, 0x19, 0xa6, 0x8c, 0xe6, 0x89, 0x4d, 0x01, 0xd0, 0x5d, - 0xa8, 0x6c, 0xb0, 0x48, 0xed, 0x72, 0x11, 0xa7, 0xe4, 0x79, 0x3d, 0xaa, 0xa7, 0x19, 0x8f, 0xf5, - 0xe6, 0xfc, 0xe8, 0x0a, 0x19, 0xa5, 0xd3, 0x7f, 0x8c, 0xe8, 0x42, 0x91, 0xf8, 0xa3, 0x30, 0x7a, - 0xa9, 0xfa, 0xca, 0x11, 0x54, 0x7d, 0x4a, 0xf1, 0x0e, 0x3e, 0x24, 0xc5, 0xcb, 0xa2, 0xee, 0x93, - 0x4d, 0x66, 0xbf, 0x89, 0x70, 0xe8, 0x21, 0xd6, 0x09, 0x46, 0xd4, 0x7d, 0x0a, 0x8c, 0xb3, 0xf8, - 0xe8, 0x93, 0x4a, 0x75, 0x57, 0x8b, 0x70, 0x5a, 0x9a, 0x23, 0xfa, 0xa4, 0xb5, 0xf6, 0xe7, 0x4b, - 0x30, 0x36, 0x1f, 0x74, 0x56, 0xe6, 0x57, 0x3a, 0xeb, 0xbe, 0xe7, 0x5e, 0x23, 0xbb, 0x54, 0x35, - 0x6f, 0x91, 0xdd, 0x85, 0x39, 0x31, 0x83, 0xd4, 0x98, 0xb9, 0x46, 0x1b, 0x31, 0x87, 0x51, 0x65, - 0xb4, 0xe1, 0x05, 0x4d, 0x12, 0xb5, 0x23, 0x4f, 0xf8, 0x13, 0x0d, 0x65, 0x74, 0x59, 0x83, 0xb0, - 0x89, 0x47, 0x69, 0x87, 0x77, 0x03, 0x12, 0x65, 0x0d, 0xd9, 0x65, 0xda, 0x88, 0x39, 0x8c, 0x22, - 0x25, 0x51, 0x27, 0x4e, 0xc4, 0x60, 0x54, 0x48, 0x6b, 0xb4, 0x11, 0x73, 0x18, 0x9d, 0xe9, 0x71, - 0x67, 0x9d, 0x05, 0x21, 0x64, 0x62, 0xaf, 0x57, 0x79, 0x33, 0x96, 0x70, 0x8a, 0xba, 0x45, 0x76, - 0xe7, 0xe8, 0x96, 0x32, 0x93, 0x82, 0x71, 0x8d, 0x37, 0x63, 0x09, 0x67, 0x95, 0xcd, 0xd2, 0xdd, - 0xf1, 0x7d, 0x57, 0xd9, 0x2c, 0x2d, 0x7e, 0x8f, 0xcd, 0xe9, 0xaf, 0x5a, 0x30, 0x62, 0x86, 0x0e, - 0xa1, 0x66, 0xc6, 0xc6, 0x5d, 0xee, 0x2a, 0x8c, 0xf9, 0xe3, 0x79, 0xb7, 0x00, 0x35, 0xbd, 0x24, - 0x6c, 0xc7, 0x2f, 0x90, 0xa0, 0xe9, 0x05, 0x84, 0x9d, 0x08, 0xf3, 0x90, 0xa3, 0x54, 0x5c, 0xd2, - 0x6c, 0xd8, 0x20, 0x47, 0x30, 0x92, 0xed, 0x5b, 0x30, 0xde, 0x95, 0x77, 0xd3, 0x87, 0x69, 0x71, - 0x60, 0xd6, 0xa3, 0x8d, 0x61, 0x98, 0x12, 0x96, 0x65, 0x42, 0x66, 0x61, 0x9c, 0x4f, 0x24, 0xca, - 0x69, 0xd5, 0xdd, 0x24, 0x2d, 0x95, 0x4b, 0xc5, 0x9c, 0xd7, 0x37, 0xb3, 0x40, 0xdc, 0x8d, 0x6f, - 0x7f, 0xc1, 0x82, 0xd1, 0x54, 0x2a, 0x54, 0x41, 0x46, 0x10, 0x9b, 0x69, 0x21, 0x8b, 0x64, 0x63, - 0xe1, 0xbc, 0x65, 0xb6, 0x98, 0xea, 0x99, 0xa6, 0x41, 0xd8, 0xc4, 0xb3, 0xbf, 0x5c, 0x82, 0xaa, - 0x8c, 0x06, 0xe8, 0x43, 0x94, 0xcf, 0x59, 0x30, 0xaa, 0x0e, 0x0c, 0x98, 0x27, 0xaa, 0x54, 0x44, - 0xdc, 0x3a, 0x95, 0x40, 0x85, 0x5a, 0x06, 0x1b, 0xa1, 0xb6, 0xc8, 0xb1, 0xc9, 0x0c, 0xa7, 0x79, - 0xa3, 0x9b, 0x00, 0xf1, 0x6e, 0x9c, 0x90, 0x96, 0xe1, 0x13, 0xb3, 0x8d, 0x19, 0x37, 0xe5, 0x86, - 0x11, 0xa1, 0xf3, 0xeb, 0x7a, 0xd8, 0x20, 0xab, 0x0a, 0x53, 0x9b, 0x50, 0xba, 0x0d, 0x1b, 0x94, - 0xec, 0xbf, 0x5b, 0x82, 0xd3, 0x59, 0x91, 0xd0, 0x47, 0x60, 0x44, 0x72, 0x37, 0x6e, 0x34, 0x92, - 0x21, 0x10, 0x23, 0xd8, 0x80, 0xdd, 0xdb, 0x9b, 0x9c, 0xec, 0xbe, 0x51, 0x6a, 0xca, 0x44, 0xc1, - 0x29, 0x62, 0xfc, 0xd4, 0x46, 0x1c, 0x2f, 0xd6, 0x77, 0x67, 0xda, 0x6d, 0x71, 0xf4, 0x62, 0x9c, - 0xda, 0x98, 0x50, 0x9c, 0xc1, 0x46, 0x2b, 0x70, 0xd6, 0x68, 0xb9, 0x4e, 0xbc, 0xe6, 0xe6, 0x7a, - 0x18, 0xc9, 0x9d, 0xd5, 0x93, 0x3a, 0x48, 0xa9, 0x1b, 0x07, 0xe7, 0x3e, 0x49, 0x57, 0x7b, 0xd7, - 0x69, 0x3b, 0xae, 0x97, 0xec, 0x0a, 0x27, 0x9f, 0xd2, 0x4d, 0xb3, 0xa2, 0x1d, 0x2b, 0x0c, 0x7b, - 0x09, 0x06, 0xfa, 0x1c, 0x41, 0x7d, 0x59, 0xf4, 0xaf, 0x42, 0x95, 0x92, 0x93, 0xe6, 0x5d, 0x11, - 0x24, 0x43, 0xa8, 0xca, 0x4b, 0x09, 0x90, 0x0d, 0x65, 0xcf, 0x91, 0x07, 0x63, 0xea, 0xb5, 0x16, - 0xe2, 0xb8, 0xc3, 0x36, 0xc9, 0x14, 0x88, 0x9e, 0x81, 0x32, 0xd9, 0x69, 0x67, 0x4f, 0xc0, 0x2e, - 0xed, 0xb4, 0xbd, 0x88, 0xc4, 0x14, 0x89, 0xec, 0xb4, 0xd1, 0x79, 0x28, 0x79, 0x0d, 0xb1, 0x48, - 0x81, 0xc0, 0x29, 0x2d, 0xcc, 0xe1, 0x92, 0xd7, 0xb0, 0x77, 0xa0, 0xa6, 0x6e, 0x41, 0x40, 0x5b, - 0x52, 0x77, 0x5b, 0x45, 0x84, 0xef, 0x48, 0xba, 0x3d, 0xb4, 0x76, 0x07, 0x40, 0xe7, 0x84, 0x15, - 0xa5, 0x5f, 0x2e, 0xc0, 0x80, 0x1b, 0x8a, 0x7c, 0xd5, 0xaa, 0x26, 0xc3, 0x94, 0x36, 0x83, 0xd8, - 0xb7, 0x60, 0xec, 0x5a, 0x10, 0xde, 0x65, 0x65, 0x9e, 0x59, 0x79, 0x26, 0x4a, 0x78, 0x83, 0xfe, - 0xc8, 0x9a, 0x08, 0x0c, 0x8a, 0x39, 0x4c, 0x95, 0xf0, 0x29, 0xf5, 0x2a, 0xe1, 0x63, 0x7f, 0xca, - 0x82, 0xd3, 0x2a, 0xb3, 0x45, 0x6a, 0xe3, 0x97, 0x61, 0x64, 0xbd, 0xe3, 0xf9, 0x0d, 0x59, 0xf4, - 0x29, 0xe3, 0xa6, 0xa8, 0x1b, 0x30, 0x9c, 0xc2, 0xa4, 0x9b, 0xaa, 0x75, 0x2f, 0x70, 0xa2, 0xdd, - 0x15, 0xad, 0xfe, 0x95, 0x46, 0xa8, 0x2b, 0x08, 0x36, 0xb0, 0xec, 0xcf, 0x99, 0x22, 0x88, 0x5c, - 0x9a, 0x3e, 0x7a, 0xf6, 0x06, 0x54, 0x5c, 0x75, 0x90, 0x7a, 0xa4, 0xc2, 0x74, 0x2a, 0x57, 0x9a, - 0x39, 0xd3, 0x39, 0x35, 0xfb, 0x1f, 0x97, 0x60, 0x34, 0x55, 0x7f, 0x03, 0xf9, 0x50, 0x25, 0x3e, - 0x73, 0xe5, 0xc9, 0x21, 0x76, 0xdc, 0xd2, 0x87, 0x6a, 0x5a, 0x5c, 0x12, 0x74, 0xb1, 0xe2, 0xf0, - 0x68, 0x9c, 0x57, 0xbd, 0x0c, 0x23, 0x52, 0xa0, 0x0f, 0x3b, 0x2d, 0x5f, 0xcc, 0x42, 0x35, 0x00, - 0x2e, 0x19, 0x30, 0x9c, 0xc2, 0xb4, 0x7f, 0xbf, 0x0c, 0x13, 0xdc, 0xf7, 0xd9, 0x50, 0x21, 0x25, - 0x4b, 0xd2, 0xca, 0xfa, 0x0b, 0xba, 0x4a, 0x0e, 0xef, 0xc8, 0xf5, 0xe3, 0x56, 0x1a, 0xce, 0x67, - 0xd4, 0x57, 0xb0, 0xc3, 0x2f, 0x67, 0x82, 0x1d, 0xf8, 0x62, 0xdb, 0x3c, 0x21, 0x89, 0xbe, 0xbf, - 0xa2, 0x1f, 0xfe, 0x56, 0x09, 0x4e, 0x65, 0xca, 0x38, 0xa3, 0xb7, 0xd2, 0x25, 0x0c, 0xad, 0x22, - 0x3c, 0x64, 0xf7, 0xad, 0xec, 0x7b, 0xb8, 0x42, 0x86, 0x0f, 0x69, 0xaa, 0xd8, 0x7f, 0x50, 0x82, - 0xb1, 0x74, 0xfd, 0xe9, 0x47, 0xb0, 0xa7, 0xde, 0x03, 0x35, 0x56, 0x62, 0x95, 0xdd, 0x99, 0xc5, - 0x1d, 0x71, 0xbc, 0x2c, 0xa7, 0x6c, 0xc4, 0x1a, 0xfe, 0x48, 0xd4, 0x87, 0xb4, 0xff, 0xb6, 0x05, - 0xe7, 0xf8, 0x5b, 0x66, 0xc7, 0xe1, 0x5f, 0xcc, 0xeb, 0xdd, 0xd7, 0x8b, 0x15, 0x30, 0x53, 0xdd, - 0xe9, 0xa0, 0xfe, 0x65, 0x77, 0xf5, 0x08, 0x69, 0xd3, 0x43, 0xe1, 0x11, 0x14, 0xf6, 0x50, 0x83, - 0xc1, 0xfe, 0x83, 0x32, 0xe8, 0xeb, 0x89, 0x90, 0x27, 0xb2, 0x74, 0x0a, 0xa9, 0x72, 0xb5, 0xba, - 0x1b, 0xb8, 0xfa, 0x22, 0xa4, 0x6a, 0x26, 0x49, 0xe7, 0x17, 0x2c, 0x18, 0xf6, 0x02, 0x2f, 0xf1, - 0x1c, 0x66, 0x3c, 0x17, 0x73, 0xbd, 0x8a, 0x62, 0xb7, 0xc0, 0x29, 0x87, 0x91, 0xe9, 0xbd, 0x55, - 0xcc, 0xb0, 0xc9, 0x19, 0x7d, 0x4c, 0xc4, 0x23, 0x96, 0x0b, 0xcb, 0x2f, 0xab, 0x66, 0x82, 0x10, - 0xdb, 0x50, 0x89, 0x48, 0x12, 0x15, 0x94, 0x96, 0x89, 0x29, 0x29, 0x55, 0x30, 0x51, 0x5f, 0x14, - 0x49, 0x9b, 0x31, 0x67, 0x64, 0xc7, 0x80, 0xba, 0xfb, 0xe2, 0x90, 0xb1, 0x5e, 0xd3, 0x50, 0x73, - 0x3a, 0x49, 0xd8, 0xa2, 0xdd, 0x24, 0x1c, 0xcc, 0x3a, 0x9a, 0x4d, 0x02, 0xb0, 0xc6, 0xb1, 0xdf, - 0xaa, 0x40, 0x26, 0x6d, 0x06, 0xed, 0x98, 0x57, 0x6b, 0x59, 0xc5, 0x5e, 0xad, 0xa5, 0x84, 0xc9, - 0xbb, 0x5e, 0x0b, 0x35, 0xa1, 0xd2, 0xde, 0x74, 0x62, 0x69, 0x1b, 0xbf, 0x2a, 0xbb, 0x69, 0x85, - 0x36, 0xde, 0xdb, 0x9b, 0xfc, 0x89, 0xfe, 0x7c, 0x2d, 0x74, 0xac, 0x4e, 0xf3, 0x2c, 0x74, 0xcd, - 0x9a, 0xd1, 0xc0, 0x9c, 0xfe, 0x61, 0x2e, 0x98, 0xf9, 0xb4, 0x28, 0x8a, 0x8b, 0x49, 0xdc, 0xf1, - 0x13, 0x31, 0x1a, 0x5e, 0x2d, 0x70, 0x96, 0x71, 0xc2, 0x3a, 0xe1, 0x93, 0xff, 0xc7, 0x06, 0x53, - 0xf4, 0x11, 0xa8, 0xc5, 0x89, 0x13, 0x25, 0x47, 0x4c, 0xd1, 0x52, 0x9d, 0xbe, 0x2a, 0x89, 0x60, - 0x4d, 0x0f, 0xbd, 0xc6, 0x8a, 0xfe, 0x79, 0xf1, 0xe6, 0x11, 0xc3, 0x88, 0x65, 0x81, 0x40, 0x41, - 0x01, 0x1b, 0xd4, 0xe8, 0xd6, 0x83, 0x8d, 0x6d, 0x1e, 0x3b, 0x53, 0x65, 0x7b, 0x4b, 0xa5, 0x0a, - 0xb1, 0x82, 0x60, 0x03, 0xcb, 0xfe, 0x11, 0x48, 0x67, 0x2c, 0xa3, 0x49, 0x99, 0x20, 0xcd, 0x7d, - 0x4f, 0x2c, 0x1c, 0x38, 0x95, 0xcb, 0xfc, 0x5b, 0x16, 0x98, 0x69, 0xd5, 0xe8, 0x0e, 0xcf, 0xdf, - 0xb6, 0x8a, 0x38, 0x2f, 0x30, 0xe8, 0x4e, 0x2d, 0x39, 0xed, 0xcc, 0xc1, 0x95, 0x4c, 0xe2, 0x3e, - 0xff, 0x7e, 0xa8, 0x4a, 0xe8, 0xa1, 0x8c, 0xba, 0x4f, 0xc2, 0x99, 0xec, 0xc5, 0xa3, 0xc2, 0xd7, - 0xdc, 0x8c, 0xc2, 0x4e, 0x3b, 0xbb, 0x91, 0x64, 0x17, 0x53, 0x62, 0x0e, 0xa3, 0xdb, 0xb1, 0x2d, - 0x2f, 0x68, 0x64, 0x37, 0x92, 0xd7, 0xbc, 0xa0, 0x81, 0x19, 0xa4, 0x8f, 0x0b, 0xd6, 0x7e, 0xdb, - 0x82, 0x0b, 0x07, 0xdd, 0x8f, 0x8a, 0x9e, 0x84, 0x81, 0xbb, 0x4e, 0x24, 0xab, 0xb1, 0x32, 0x45, - 0x79, 0xcb, 0x89, 0x02, 0xcc, 0x5a, 0xd1, 0x2e, 0x0c, 0xf2, 0xfc, 0x5f, 0x61, 0xad, 0xbf, 0x5a, - 0xec, 0x6d, 0xad, 0xd7, 0x88, 0xb1, 0x5d, 0xe0, 0xb9, 0xc7, 0x58, 0x30, 0xb4, 0xbf, 0x6b, 0x01, - 0x5a, 0xde, 0x26, 0x51, 0xe4, 0x35, 0x8c, 0x8c, 0x65, 0xf4, 0x12, 0x8c, 0xdc, 0x5e, 0x5d, 0xbe, - 0xbe, 0x12, 0x7a, 0x01, 0xab, 0x60, 0x60, 0x24, 0x69, 0x5d, 0x35, 0xda, 0x71, 0x0a, 0x0b, 0xcd, - 0xc2, 0xf8, 0xed, 0x3b, 0x74, 0xf3, 0x6b, 0x56, 0x7e, 0x2f, 0x69, 0x77, 0xe7, 0xd5, 0x57, 0x33, - 0x40, 0xdc, 0x8d, 0x8f, 0x96, 0xe1, 0x5c, 0x8b, 0x6f, 0x37, 0x78, 0xc1, 0x66, 0xbe, 0xf7, 0x50, - 0x39, 0x1a, 0x4f, 0xec, 0xef, 0x4d, 0x9e, 0x5b, 0xca, 0x43, 0xc0, 0xf9, 0xcf, 0xd9, 0xef, 0x07, - 0xc4, 0x83, 0x55, 0x66, 0xf3, 0x22, 0x0f, 0x7a, 0xee, 0xc4, 0xed, 0xaf, 0x55, 0xe0, 0x54, 0xa6, - 0x56, 0x1f, 0xdd, 0xea, 0x75, 0x87, 0x3a, 0x1c, 0x7b, 0xfd, 0xee, 0x16, 0xaf, 0xaf, 0xe0, 0x89, - 0x00, 0x2a, 0x5e, 0xd0, 0xee, 0x24, 0xc5, 0x64, 0x41, 0x71, 0x21, 0x16, 0x28, 0x41, 0xc3, 0x49, - 0x44, 0xff, 0x62, 0xce, 0xa6, 0xc8, 0x50, 0x8c, 0x94, 0x31, 0x3e, 0xf0, 0x90, 0xdc, 0x01, 0x9f, - 0xd6, 0x81, 0x11, 0x95, 0x22, 0x0e, 0xea, 0x33, 0x83, 0xe5, 0xa4, 0x0f, 0xd8, 0x7e, 0xb3, 0x04, - 0xc3, 0xc6, 0x47, 0x43, 0xbf, 0x92, 0x2e, 0x3a, 0x62, 0x15, 0xf7, 0x4a, 0x8c, 0xfe, 0x94, 0x2e, - 0x2b, 0xc2, 0x5f, 0xe9, 0xd9, 0xee, 0x7a, 0x23, 0xf7, 0xf6, 0x26, 0x4f, 0x67, 0x2a, 0x8a, 0xa4, - 0x6a, 0x90, 0x9c, 0xff, 0x04, 0x9c, 0xca, 0x90, 0xc9, 0x79, 0xe5, 0xb5, 0xf4, 0xbd, 0xb2, 0xc7, - 0x74, 0x4b, 0x99, 0x5d, 0xf6, 0x0d, 0xda, 0x65, 0xfa, 0xba, 0xf1, 0x3e, 0xdc, 0x71, 0x99, 0x04, - 0xb4, 0x52, 0x9f, 0x09, 0x68, 0xcf, 0x41, 0xb5, 0x1d, 0xfa, 0x9e, 0xeb, 0xa9, 0xf2, 0x54, 0xac, - 0x14, 0xe7, 0x8a, 0x68, 0xc3, 0x0a, 0x8a, 0xee, 0x42, 0x4d, 0x5d, 0xc1, 0x2b, 0x72, 0xe8, 0x8b, - 0x72, 0xf5, 0x2a, 0xa3, 0x45, 0x5f, 0xad, 0xab, 0x79, 0x21, 0x1b, 0x06, 0xd9, 0x22, 0x28, 0xa3, - 0x69, 0x59, 0x36, 0x22, 0x5b, 0x1d, 0x63, 0x2c, 0x20, 0xf6, 0x67, 0x86, 0xe0, 0x6c, 0x5e, 0xc1, - 0x54, 0xf4, 0x71, 0x18, 0xe4, 0x32, 0x16, 0x53, 0x93, 0x3b, 0x8f, 0xc7, 0x3c, 0x23, 0x28, 0xc4, - 0x62, 0xbf, 0xb1, 0xe0, 0x29, 0xb8, 0xfb, 0xce, 0xba, 0x18, 0x21, 0x27, 0xc3, 0x7d, 0xd1, 0xd1, - 0xdc, 0x17, 0x1d, 0xce, 0xdd, 0x77, 0xd6, 0xd1, 0x0e, 0x54, 0x9a, 0x5e, 0x42, 0x1c, 0xe1, 0x44, - 0xb8, 0x75, 0x22, 0xcc, 0x89, 0xc3, 0xad, 0x34, 0xf6, 0x13, 0x73, 0x86, 0xe8, 0xeb, 0x16, 0x9c, - 0x5a, 0x4f, 0x27, 0x77, 0x0a, 0xe5, 0xe9, 0x9c, 0x40, 0x51, 0xdc, 0x34, 0x23, 0x7e, 0xbb, 0x42, - 0xa6, 0x11, 0x67, 0xc5, 0x41, 0x3f, 0x6b, 0xc1, 0xd0, 0x86, 0xe7, 0x1b, 0xf5, 0x11, 0x4f, 0xe0, - 0xe3, 0x5c, 0x66, 0x0c, 0xf4, 0x8e, 0x83, 0xff, 0x8f, 0xb1, 0xe4, 0xdc, 0x6b, 0xa5, 0x1a, 0x3c, - 0xee, 0x4a, 0x35, 0xf4, 0x90, 0xdc, 0x46, 0xbf, 0x58, 0x82, 0x67, 0xfa, 0xf8, 0x46, 0x66, 0x3e, - 0x9e, 0x75, 0x40, 0x3e, 0xde, 0x05, 0x18, 0x88, 0x48, 0x3b, 0xcc, 0x9a, 0xbe, 0x2c, 0x68, 0x95, - 0x41, 0xd0, 0x53, 0x50, 0x76, 0xda, 0x9e, 0xb0, 0x7c, 0x95, 0xbd, 0x3e, 0xb3, 0xb2, 0x80, 0x69, - 0x3b, 0xfd, 0xd2, 0xb5, 0x75, 0x99, 0x72, 0x5c, 0xcc, 0x4d, 0x27, 0xbd, 0x32, 0x98, 0xb9, 0x23, - 0x47, 0x41, 0xb1, 0xe6, 0x6b, 0xff, 0x25, 0x0b, 0xce, 0xf7, 0x1e, 0x22, 0xe8, 0x45, 0x18, 0x5e, - 0x8f, 0x9c, 0xc0, 0xdd, 0x64, 0xd7, 0x02, 0xc9, 0x4e, 0x61, 0x69, 0x58, 0xba, 0x19, 0x9b, 0x38, - 0xd4, 0x88, 0xe5, 0xa5, 0x88, 0x0d, 0x0c, 0x99, 0x75, 0x41, 0x8d, 0xd8, 0xb5, 0x2c, 0x10, 0x77, - 0xe3, 0xdb, 0xbf, 0x5f, 0xca, 0x17, 0x8b, 0xab, 0x92, 0xc3, 0x7c, 0x27, 0xf1, 0x15, 0x4a, 0x3d, - 0xbe, 0xc2, 0x1d, 0xa8, 0x26, 0x2c, 0x95, 0x8c, 0x6c, 0x08, 0x7d, 0x54, 0x58, 0xaa, 0x36, 0x5b, - 0xb1, 0xd6, 0x04, 0x71, 0xac, 0xd8, 0xd0, 0x85, 0xc3, 0xd7, 0xb5, 0x13, 0xc5, 0xc2, 0x91, 0x39, - 0x85, 0x98, 0x83, 0xd3, 0x46, 0x05, 0x6d, 0x9e, 0x49, 0xc3, 0x83, 0x69, 0x54, 0x7a, 0xe9, 0x4a, - 0x06, 0x8e, 0xbb, 0x9e, 0xb0, 0x7f, 0xb5, 0x04, 0x4f, 0xf4, 0xd4, 0x8f, 0x3a, 0xe2, 0xc7, 0xba, - 0x4f, 0xc4, 0xcf, 0xb1, 0x87, 0xb9, 0xd9, 0xc1, 0x03, 0x0f, 0xa6, 0x83, 0x9f, 0x87, 0xaa, 0x17, - 0xc4, 0xc4, 0xed, 0x44, 0xbc, 0xd3, 0x8c, 0xb8, 0xf2, 0x05, 0xd1, 0x8e, 0x15, 0x86, 0xfd, 0x87, - 0xbd, 0x87, 0x1a, 0x5d, 0x2b, 0x7f, 0x60, 0x7b, 0xe9, 0x15, 0x18, 0x75, 0xda, 0x6d, 0x8e, 0xc7, - 0xa2, 0x2b, 0x32, 0x09, 0xe3, 0x33, 0x26, 0x10, 0xa7, 0x71, 0x8d, 0x31, 0x3c, 0xd8, 0x6b, 0x0c, - 0xdb, 0x7f, 0x62, 0x41, 0x0d, 0x93, 0x0d, 0x3e, 0xdf, 0xd1, 0x6d, 0xd1, 0x45, 0x56, 0x11, 0x95, - 0x9c, 0x68, 0xc7, 0xc6, 0x1e, 0xab, 0x70, 0x94, 0xd7, 0xd9, 0xdd, 0xb5, 0xd3, 0x4b, 0x87, 0xaa, - 0x9d, 0xae, 0xaa, 0x67, 0x97, 0x7b, 0x57, 0xcf, 0xb6, 0xbf, 0x31, 0x44, 0x5f, 0xaf, 0x1d, 0xce, - 0x46, 0xa4, 0x11, 0xd3, 0xef, 0xdb, 0x89, 0xfc, 0xec, 0x2d, 0xe9, 0x37, 0xf0, 0x22, 0xa6, 0xed, - 0x29, 0x17, 0x6a, 0xe9, 0x50, 0xe9, 0xb2, 0xe5, 0x03, 0xd3, 0x65, 0x5f, 0x81, 0xd1, 0x38, 0xde, - 0x5c, 0x89, 0xbc, 0x6d, 0x27, 0x21, 0xd7, 0xc8, 0xae, 0x08, 0xce, 0xd3, 0x29, 0x6e, 0xab, 0x57, - 0x34, 0x10, 0xa7, 0x71, 0xd1, 0x3c, 0x8c, 0xeb, 0xa4, 0x55, 0x12, 0x25, 0x2c, 0x16, 0x8f, 0x8f, - 0x04, 0x95, 0x61, 0xa6, 0xd3, 0x5c, 0x05, 0x02, 0xee, 0x7e, 0x86, 0x6a, 0xac, 0x54, 0x23, 0x15, - 0x64, 0x30, 0xad, 0xb1, 0x52, 0x74, 0xa8, 0x2c, 0x5d, 0x4f, 0xa0, 0x25, 0x38, 0xc3, 0x07, 0xc6, - 0x4c, 0xbb, 0x6d, 0xbc, 0xd1, 0x50, 0xba, 0x82, 0xce, 0x7c, 0x37, 0x0a, 0xce, 0x7b, 0x8e, 0xee, - 0x3e, 0x54, 0xf3, 0xc2, 0x9c, 0xf0, 0xfe, 0xa9, 0xdd, 0x87, 0x22, 0xb3, 0xd0, 0xc0, 0x26, 0x1e, - 0xfa, 0x30, 0x3c, 0xae, 0xff, 0xf2, 0x80, 0x6d, 0xee, 0x12, 0x9f, 0x13, 0xf5, 0x00, 0x54, 0xad, - 0xe6, 0xf9, 0x5c, 0xb4, 0x06, 0xee, 0xf5, 0x3c, 0x5a, 0x87, 0xf3, 0x0a, 0x74, 0x29, 0x48, 0x58, - 0xf4, 0x65, 0x4c, 0xea, 0x4e, 0x4c, 0x6e, 0x44, 0x3e, 0xab, 0x20, 0x50, 0xd3, 0xd7, 0xe8, 0xcc, - 0x7b, 0xc9, 0x95, 0x3c, 0x4c, 0xbc, 0x88, 0xef, 0x43, 0x05, 0x4d, 0x43, 0x8d, 0x04, 0xce, 0xba, - 0x4f, 0x96, 0x67, 0x17, 0x58, 0x5d, 0x01, 0xc3, 0x03, 0x7f, 0x49, 0x02, 0xb0, 0xc6, 0x51, 0xf1, - 0x20, 0x23, 0x3d, 0xaf, 0x74, 0x5a, 0x81, 0xb3, 0x4d, 0xb7, 0x4d, 0xad, 0x09, 0xcf, 0x25, 0x33, - 0x2e, 0x8b, 0x89, 0xa0, 0x1f, 0x86, 0x97, 0x36, 0x52, 0xc1, 0x4e, 0xf3, 0xb3, 0x2b, 0x5d, 0x38, - 0x38, 0xf7, 0x49, 0x3a, 0xc7, 0xda, 0x51, 0xb8, 0xb3, 0x3b, 0x71, 0x26, 0x3d, 0xc7, 0x56, 0x68, - 0x23, 0xe6, 0x30, 0x74, 0x15, 0x10, 0x8b, 0x9c, 0xbb, 0x92, 0x24, 0x6d, 0x65, 0xbe, 0x4c, 0x9c, - 0x65, 0xaf, 0x74, 0x5e, 0x3c, 0x81, 0x2e, 0x77, 0x61, 0xe0, 0x9c, 0xa7, 0xec, 0x3f, 0xb6, 0x60, - 0x54, 0xcd, 0xd7, 0x07, 0x10, 0x3b, 0xea, 0xa7, 0x63, 0x47, 0xe7, 0x8f, 0xaf, 0xf1, 0x98, 0xe4, - 0x3d, 0x02, 0x90, 0x3e, 0x33, 0x0c, 0xa0, 0xb5, 0xa2, 0x5a, 0x90, 0xac, 0x9e, 0x0b, 0xd2, 0x23, - 0xab, 0x91, 0xf2, 0x92, 0x88, 0x2b, 0x0f, 0x37, 0x89, 0x78, 0x15, 0xce, 0x49, 0x73, 0x81, 0xfb, - 0x78, 0xaf, 0x84, 0xb1, 0x52, 0x70, 0xd5, 0xfa, 0x53, 0x82, 0xd0, 0xb9, 0x85, 0x3c, 0x24, 0x9c, - 0xff, 0x6c, 0xca, 0x4a, 0x19, 0x3a, 0xc8, 0x4a, 0xd1, 0x73, 0x7a, 0x71, 0x43, 0x16, 0x65, 0xce, - 0xcc, 0xe9, 0xc5, 0xcb, 0xab, 0x58, 0xe3, 0xe4, 0x2b, 0xf6, 0x5a, 0x41, 0x8a, 0x1d, 0x0e, 0xad, - 0xd8, 0xa5, 0x8a, 0x19, 0xee, 0xa9, 0x62, 0xa4, 0x2f, 0x69, 0xa4, 0xa7, 0x2f, 0xe9, 0x03, 0x30, - 0xe6, 0x05, 0x9b, 0x24, 0xf2, 0x12, 0xd2, 0x60, 0x73, 0x81, 0xa9, 0x9f, 0xaa, 0x5e, 0xd6, 0x17, - 0x52, 0x50, 0x9c, 0xc1, 0x4e, 0xeb, 0xc5, 0xb1, 0x3e, 0xf4, 0x62, 0x8f, 0xd5, 0xe8, 0x54, 0x31, - 0xab, 0xd1, 0xe9, 0xe3, 0xaf, 0x46, 0xe3, 0x27, 0xba, 0x1a, 0xa1, 0x42, 0x56, 0xa3, 0xbe, 0x14, - 0xbd, 0xb1, 0xa1, 0x3b, 0x7b, 0xc0, 0x86, 0xae, 0xd7, 0x52, 0x74, 0xee, 0xc8, 0x4b, 0x51, 0xfe, - 0x2a, 0xf3, 0xd8, 0x91, 0x56, 0x99, 0xcf, 0x96, 0xe0, 0x9c, 0xd6, 0xc3, 0x74, 0xf4, 0x7b, 0x1b, - 0x54, 0x13, 0xb1, 0xba, 0xfe, 0xdc, 0xdf, 0x6a, 0x84, 0x32, 0xeb, 0xa8, 0x68, 0x05, 0xc1, 0x06, - 0x16, 0x8b, 0x08, 0x26, 0x11, 0x2b, 0xe0, 0x96, 0x55, 0xd2, 0xb3, 0xa2, 0x1d, 0x2b, 0x0c, 0x3a, - 0xbe, 0xe8, 0x6f, 0x91, 0x65, 0x91, 0xad, 0x9b, 0x32, 0xab, 0x41, 0xd8, 0xc4, 0x43, 0xcf, 0x71, - 0x26, 0x4c, 0x41, 0x50, 0x45, 0x3d, 0x22, 0x2e, 0xfa, 0x92, 0x3a, 0x41, 0x41, 0xa5, 0x38, 0x2c, - 0xf4, 0xbb, 0xd2, 0x2d, 0x0e, 0x0b, 0x5d, 0x50, 0x18, 0xf6, 0x7f, 0xb3, 0xe0, 0x89, 0xdc, 0xae, - 0x78, 0x00, 0x8b, 0xef, 0x4e, 0x7a, 0xf1, 0x5d, 0x2d, 0x6a, 0xbb, 0x61, 0xbc, 0x45, 0x8f, 0x85, - 0xf8, 0x5f, 0x5b, 0x30, 0xa6, 0xf1, 0x1f, 0xc0, 0xab, 0x7a, 0xe9, 0x57, 0x2d, 0x6e, 0x67, 0x55, - 0xeb, 0x7a, 0xb7, 0x3f, 0x66, 0xef, 0xc6, 0x0f, 0x45, 0x67, 0x5c, 0x59, 0x29, 0xee, 0x80, 0x13, - 0x80, 0x5d, 0x18, 0x64, 0x07, 0x18, 0x71, 0x31, 0x87, 0xb3, 0x69, 0xfe, 0xec, 0x30, 0x44, 0x1f, - 0x0e, 0xb1, 0xbf, 0x31, 0x16, 0x0c, 0x59, 0x79, 0x41, 0x2f, 0xa6, 0xda, 0xbc, 0x21, 0x82, 0xa8, - 0x75, 0x79, 0x41, 0xd1, 0x8e, 0x15, 0x86, 0xdd, 0x82, 0x89, 0x34, 0xf1, 0x39, 0xb2, 0xc1, 0x02, - 0x7e, 0xfa, 0x7a, 0xcd, 0x69, 0xa8, 0x39, 0xec, 0xa9, 0xc5, 0x8e, 0x93, 0xbd, 0x1b, 0x72, 0x46, - 0x02, 0xb0, 0xc6, 0xb1, 0x7f, 0xc3, 0x82, 0x33, 0x39, 0x2f, 0x53, 0x60, 0xf0, 0x78, 0xa2, 0xb5, - 0x40, 0xde, 0x82, 0xfb, 0x6e, 0x18, 0x6a, 0x90, 0x0d, 0x47, 0x86, 0x94, 0x18, 0x3a, 0x77, 0x8e, - 0x37, 0x63, 0x09, 0xb7, 0xff, 0xb3, 0x05, 0xa7, 0xd2, 0xb2, 0xc6, 0x54, 0x6b, 0xf2, 0x97, 0x99, - 0xf3, 0x62, 0x37, 0xdc, 0x26, 0xd1, 0x2e, 0x7d, 0x73, 0x2e, 0xb5, 0xd2, 0x9a, 0x33, 0x5d, 0x18, - 0x38, 0xe7, 0x29, 0x56, 0x61, 0xac, 0xa1, 0x7a, 0x5b, 0x8e, 0x94, 0x9b, 0x45, 0x8e, 0x14, 0xfd, - 0x31, 0xcd, 0xe3, 0x27, 0xc5, 0x12, 0x9b, 0xfc, 0xed, 0xef, 0x0e, 0x80, 0xca, 0x2e, 0x61, 0xe7, - 0xf9, 0x05, 0x45, 0x43, 0xa4, 0xee, 0xc3, 0x28, 0xf7, 0x71, 0x1f, 0x86, 0x1c, 0x0c, 0x03, 0xf7, - 0x3b, 0x60, 0xe3, 0xde, 0x0b, 0xd3, 0x49, 0xa8, 0xde, 0x70, 0x4d, 0x83, 0xb0, 0x89, 0x47, 0x25, - 0xf1, 0xbd, 0x6d, 0xc2, 0x1f, 0x1a, 0x4c, 0x4b, 0xb2, 0x28, 0x01, 0x58, 0xe3, 0x50, 0x49, 0x1a, - 0xde, 0xc6, 0x86, 0xd8, 0x8a, 0x2b, 0x49, 0x68, 0xef, 0x60, 0x06, 0xe1, 0x45, 0x23, 0xc3, 0x2d, - 0x61, 0x9d, 0x1a, 0x45, 0x23, 0xc3, 0x2d, 0xcc, 0x20, 0xd4, 0x9e, 0x0a, 0xc2, 0xa8, 0xc5, 0xee, - 0xee, 0x6c, 0x28, 0x2e, 0xc2, 0x2a, 0x55, 0xf6, 0xd4, 0xf5, 0x6e, 0x14, 0x9c, 0xf7, 0x1c, 0x1d, - 0x81, 0xed, 0x88, 0x34, 0x3c, 0x37, 0x31, 0xa9, 0x41, 0x7a, 0x04, 0xae, 0x74, 0x61, 0xe0, 0x9c, - 0xa7, 0xd0, 0x0c, 0x9c, 0x92, 0xd9, 0x41, 0x32, 0xf7, 0x7b, 0x38, 0x9d, 0x6b, 0x8a, 0xd3, 0x60, - 0x9c, 0xc5, 0xa7, 0xda, 0xa6, 0x25, 0xca, 0x3e, 0x30, 0x23, 0xd6, 0xd0, 0x36, 0xb2, 0x1c, 0x04, - 0x56, 0x18, 0xf6, 0xa7, 0xcb, 0x74, 0x75, 0xec, 0x51, 0xea, 0xfe, 0x81, 0x45, 0xdf, 0xa4, 0x47, - 0xe4, 0x40, 0x1f, 0x23, 0xf2, 0x25, 0x18, 0xb9, 0x1d, 0x87, 0x81, 0x8a, 0x6c, 0xa9, 0xf4, 0x8c, - 0x6c, 0x31, 0xb0, 0xf2, 0x23, 0x5b, 0x06, 0x8b, 0x8a, 0x6c, 0x19, 0x3a, 0x62, 0x64, 0xcb, 0xb7, - 0x2a, 0xa0, 0x8a, 0x45, 0x5f, 0x27, 0xc9, 0xdd, 0x30, 0xda, 0xf2, 0x82, 0x26, 0xcb, 0xaa, 0xfa, - 0xba, 0x05, 0x23, 0x7c, 0xbe, 0x2c, 0x9a, 0x99, 0x09, 0x1b, 0x05, 0x55, 0x21, 0x4e, 0x31, 0x9b, - 0x5a, 0x33, 0x18, 0x65, 0xee, 0x38, 0x32, 0x41, 0x38, 0x25, 0x11, 0xfa, 0x04, 0x80, 0xf4, 0x5b, - 0x6e, 0x48, 0x95, 0xb9, 0x50, 0x8c, 0x7c, 0x98, 0x6c, 0x68, 0xdb, 0x74, 0x4d, 0x31, 0xc1, 0x06, - 0x43, 0xf4, 0xd9, 0xec, 0xdd, 0xc6, 0x1f, 0x3b, 0x91, 0xbe, 0xe9, 0x27, 0x67, 0x03, 0xc3, 0x90, - 0x17, 0x34, 0xe9, 0x38, 0x11, 0x11, 0x00, 0xef, 0xca, 0xcb, 0x48, 0x5c, 0x0c, 0x9d, 0x46, 0xdd, - 0xf1, 0x9d, 0xc0, 0x25, 0xd1, 0x02, 0x47, 0x37, 0x6f, 0xf6, 0x63, 0x0d, 0x58, 0x12, 0xea, 0x2a, - 0xb3, 0x5d, 0xe9, 0xa7, 0xcc, 0xf6, 0xf9, 0x0f, 0xc2, 0x78, 0xd7, 0xc7, 0x3c, 0x54, 0x8a, 0xc6, - 0xd1, 0xb3, 0x3b, 0xec, 0x7f, 0x32, 0xa8, 0x17, 0xad, 0xeb, 0x61, 0x83, 0x17, 0x7b, 0x8e, 0xf4, - 0x17, 0x15, 0xb6, 0x67, 0x81, 0x43, 0xc4, 0xb8, 0x1d, 0x50, 0x35, 0x62, 0x93, 0x25, 0x1d, 0xa3, - 0x6d, 0x27, 0x22, 0xc1, 0x49, 0x8f, 0xd1, 0x15, 0xc5, 0x04, 0x1b, 0x0c, 0xd1, 0x66, 0x2a, 0x46, - 0xfb, 0xf2, 0xf1, 0x63, 0xb4, 0x59, 0xad, 0x86, 0xbc, 0x82, 0xb1, 0x5f, 0xb2, 0x60, 0x2c, 0x48, - 0x8d, 0xdc, 0x62, 0xc2, 0xb2, 0xf2, 0x67, 0x05, 0xbf, 0x6b, 0x20, 0xdd, 0x86, 0x33, 0xfc, 0xf3, - 0x96, 0xb4, 0xca, 0x21, 0x97, 0x34, 0x5d, 0x35, 0x7e, 0xb0, 0x57, 0xd5, 0x78, 0x14, 0xa8, 0x6b, - 0x33, 0x86, 0x0a, 0xbf, 0x36, 0x03, 0x72, 0xae, 0xcc, 0xb8, 0x05, 0x35, 0x37, 0x22, 0x4e, 0x72, - 0xc4, 0x1b, 0x14, 0xd8, 0x51, 0xf8, 0xac, 0x24, 0x80, 0x35, 0x2d, 0xfb, 0x7f, 0x0d, 0xc0, 0x69, - 0xd9, 0x23, 0x32, 0xa4, 0x93, 0xae, 0x8f, 0x9c, 0xaf, 0x36, 0x6e, 0xd5, 0xfa, 0x78, 0x45, 0x02, - 0xb0, 0xc6, 0xa1, 0xf6, 0x58, 0x27, 0x26, 0xcb, 0x6d, 0x12, 0x2c, 0x7a, 0xeb, 0xb1, 0x38, 0x7f, - 0x54, 0x13, 0xe5, 0x86, 0x06, 0x61, 0x13, 0x8f, 0x1a, 0xe3, 0xdc, 0x2e, 0x8e, 0xb3, 0xe1, 0xe0, - 0xc2, 0xde, 0xc6, 0x12, 0x8e, 0x7e, 0x29, 0xf7, 0xee, 0x9d, 0x62, 0x12, 0x21, 0xba, 0x22, 0x59, - 0x0f, 0x79, 0xe9, 0xce, 0xdf, 0xb0, 0xe0, 0x1c, 0x6f, 0x95, 0x3d, 0x79, 0xa3, 0xdd, 0x70, 0x12, - 0x12, 0x17, 0x53, 0x6c, 0x34, 0x47, 0x3e, 0xed, 0x7c, 0xcd, 0x63, 0x8b, 0xf3, 0xa5, 0x41, 0x6f, - 0x59, 0x70, 0x6a, 0x2b, 0x95, 0x39, 0x2b, 0x97, 0x8e, 0x63, 0xd6, 0x78, 0x48, 0xa7, 0xe3, 0xea, - 0xa9, 0x96, 0x6e, 0x8f, 0x71, 0x96, 0xbb, 0xfd, 0x5f, 0x2c, 0x30, 0xd5, 0x68, 0x7f, 0x16, 0xa0, - 0x71, 0xcd, 0x61, 0xe9, 0x80, 0x6b, 0x0e, 0xa5, 0xb1, 0x58, 0xee, 0x6f, 0x73, 0x32, 0x70, 0x88, - 0xcd, 0x49, 0xa5, 0xa7, 0x75, 0xf9, 0x14, 0x94, 0x3b, 0x5e, 0x43, 0xec, 0x2f, 0xf4, 0xa9, 0xe8, - 0xc2, 0x1c, 0xa6, 0xed, 0xf6, 0x3f, 0xac, 0x68, 0x7f, 0x82, 0xc8, 0x33, 0xf8, 0x81, 0x78, 0xed, - 0x0d, 0x55, 0xb2, 0x83, 0xbf, 0xf9, 0xf5, 0xae, 0x92, 0x1d, 0x3f, 0x76, 0xf8, 0x34, 0x12, 0xde, - 0x41, 0xbd, 0x2a, 0x76, 0x0c, 0x1d, 0x90, 0x43, 0x72, 0x1b, 0xaa, 0x74, 0x0b, 0xc6, 0x1c, 0x83, - 0xd5, 0x94, 0x50, 0xd5, 0x2b, 0xa2, 0xfd, 0xde, 0xde, 0xe4, 0x8f, 0x1e, 0x5e, 0x2c, 0xf9, 0x34, - 0x56, 0xf4, 0x51, 0x0c, 0x35, 0xfa, 0x9b, 0xa5, 0xbb, 0x88, 0xcd, 0xdd, 0x0d, 0xa5, 0x33, 0x25, - 0xa0, 0x90, 0x5c, 0x1a, 0xcd, 0x07, 0x05, 0x50, 0x63, 0xf7, 0x93, 0x31, 0xa6, 0x7c, 0x0f, 0xb8, - 0xa2, 0x92, 0x4e, 0x24, 0xe0, 0xde, 0xde, 0xe4, 0x2b, 0x87, 0x67, 0xaa, 0x1e, 0xc7, 0x9a, 0x85, - 0xfd, 0xe5, 0x01, 0x3d, 0x76, 0x45, 0xa5, 0x96, 0x1f, 0x88, 0xb1, 0xfb, 0x72, 0x66, 0xec, 0x5e, - 0xe8, 0x1a, 0xbb, 0x63, 0xfa, 0x1e, 0xad, 0xd4, 0x68, 0x7c, 0xd0, 0x86, 0xc0, 0xc1, 0xfe, 0x06, - 0x66, 0x01, 0xdd, 0xe9, 0x78, 0x11, 0x89, 0x57, 0xa2, 0x4e, 0xe0, 0x05, 0x4d, 0x71, 0x3f, 0xb2, - 0x61, 0x01, 0xa5, 0xc0, 0x38, 0x8b, 0xcf, 0xee, 0x56, 0xde, 0x0d, 0xdc, 0x5b, 0xce, 0x36, 0x1f, - 0x55, 0x46, 0xf1, 0x8a, 0x55, 0xd1, 0x8e, 0x15, 0x86, 0xfd, 0x0d, 0x76, 0xc6, 0x6c, 0xe4, 0xd9, - 0xd1, 0x31, 0xe1, 0xb3, 0x0b, 0xe1, 0x78, 0xe5, 0x0b, 0x35, 0x26, 0xf8, 0x2d, 0x70, 0x1c, 0x86, - 0xee, 0xc2, 0xd0, 0x3a, 0xbf, 0x11, 0xa5, 0x98, 0x2a, 0x9f, 0xe2, 0x7a, 0x15, 0x56, 0x88, 0x5b, - 0xde, 0xb5, 0x72, 0x4f, 0xff, 0xc4, 0x92, 0x9b, 0xfd, 0xcd, 0x01, 0x38, 0x95, 0xb9, 0x32, 0x2c, - 0x55, 0x73, 0xac, 0x74, 0x60, 0xcd, 0xb1, 0x8f, 0x02, 0x34, 0x48, 0xdb, 0x0f, 0x77, 0x99, 0x39, - 0x36, 0x70, 0x68, 0x73, 0x4c, 0x59, 0xf0, 0x73, 0x8a, 0x0a, 0x36, 0x28, 0x8a, 0x72, 0x1f, 0xbc, - 0x84, 0x59, 0xa6, 0xdc, 0x87, 0x51, 0x68, 0x77, 0xf0, 0xc1, 0x16, 0xda, 0xf5, 0xe0, 0x14, 0x17, - 0x51, 0x65, 0xb3, 0x1d, 0x21, 0x69, 0x8d, 0xc5, 0x03, 0xcf, 0xa5, 0xc9, 0xe0, 0x2c, 0xdd, 0x87, - 0x79, 0x23, 0x20, 0x7a, 0x0f, 0xd4, 0xe4, 0x77, 0x8e, 0x27, 0x6a, 0x3a, 0x23, 0x58, 0x0e, 0x03, - 0x76, 0x53, 0x9f, 0xf8, 0x69, 0x7f, 0xb1, 0x44, 0xad, 0x67, 0xfe, 0x4f, 0x55, 0x76, 0x78, 0x16, - 0x06, 0x9d, 0x4e, 0xb2, 0x19, 0x76, 0x5d, 0xf3, 0x32, 0xc3, 0x5a, 0xb1, 0x80, 0xa2, 0x45, 0x18, - 0x68, 0xe8, 0x6c, 0xfd, 0xc3, 0xf4, 0xa2, 0x76, 0x44, 0x3a, 0x09, 0xc1, 0x8c, 0x0a, 0x7a, 0x12, - 0x06, 0x12, 0xa7, 0x99, 0xba, 0x7e, 0x7b, 0xcd, 0x69, 0xc6, 0x98, 0xb5, 0x9a, 0x8b, 0xe6, 0xc0, - 0x01, 0x8b, 0xe6, 0x2b, 0x30, 0x1a, 0x7b, 0xcd, 0xc0, 0x49, 0x3a, 0x11, 0x31, 0x0e, 0xbd, 0x74, - 0x1c, 0x83, 0x09, 0xc4, 0x69, 0x5c, 0xfb, 0x77, 0x46, 0xe0, 0xec, 0xea, 0xec, 0x92, 0xac, 0x3c, - 0x79, 0x62, 0xb1, 0xff, 0x79, 0x3c, 0x1e, 0x5c, 0xec, 0x7f, 0x0f, 0xee, 0xbe, 0x11, 0xfb, 0xef, - 0x1b, 0xb1, 0xff, 0x9f, 0xb5, 0xa0, 0xa6, 0x42, 0xde, 0x45, 0xc0, 0xed, 0x47, 0x8a, 0x97, 0x40, - 0xc5, 0x3f, 0x8b, 0xc8, 0x67, 0xf9, 0x17, 0x6b, 0xe6, 0x27, 0x97, 0x0c, 0x70, 0x5f, 0x81, 0x0e, - 0x95, 0x0c, 0xa0, 0x32, 0x25, 0x2a, 0x45, 0x64, 0x4a, 0xf4, 0xf8, 0x54, 0xb9, 0x99, 0x12, 0x5f, - 0xb2, 0x60, 0xd8, 0x79, 0xb3, 0x13, 0x91, 0x39, 0xb2, 0xbd, 0xdc, 0x96, 0xbb, 0xb7, 0xd7, 0x8b, - 0x17, 0x60, 0x46, 0x33, 0x11, 0xf5, 0xe8, 0x75, 0x03, 0x36, 0x45, 0x48, 0x65, 0x46, 0x0c, 0x15, - 0x91, 0x19, 0x91, 0x27, 0xce, 0x81, 0x99, 0x11, 0xaf, 0xc0, 0xa8, 0xeb, 0x87, 0x01, 0x59, 0x89, - 0xc2, 0x24, 0x74, 0x43, 0x5f, 0x18, 0xd3, 0x4a, 0x25, 0xcc, 0x9a, 0x40, 0x9c, 0xc6, 0xed, 0x95, - 0x56, 0x51, 0x3b, 0x6e, 0x5a, 0x05, 0x3c, 0xa4, 0x04, 0xc0, 0x9f, 0xd7, 0x09, 0x80, 0xc3, 0x45, - 0x5c, 0xd1, 0x9d, 0xf7, 0x45, 0xfa, 0xc9, 0x02, 0x44, 0x5f, 0xe5, 0xf7, 0xac, 0x50, 0x73, 0x74, - 0x36, 0x6c, 0x51, 0x73, 0x6b, 0x84, 0x75, 0xc9, 0x1b, 0x27, 0x30, 0x60, 0x6f, 0xad, 0x6a, 0x36, - 0xea, 0xee, 0x15, 0xdd, 0x84, 0xd3, 0x82, 0x1c, 0x27, 0x41, 0xf1, 0x6b, 0x25, 0xf8, 0xa1, 0x03, - 0x45, 0x40, 0x77, 0x01, 0x12, 0xa7, 0x29, 0x06, 0xaa, 0x38, 0xa6, 0x38, 0x66, 0xb0, 0xe1, 0x9a, - 0xa4, 0xc7, 0x33, 0xeb, 0xd5, 0x5f, 0x76, 0x00, 0x20, 0x7f, 0xb3, 0x18, 0xc3, 0xd0, 0xef, 0xaa, - 0x22, 0x86, 0x43, 0x9f, 0x60, 0x06, 0xa1, 0xcb, 0x7f, 0x44, 0x9a, 0xfa, 0x1e, 0x3e, 0xf5, 0xf9, - 0x30, 0x6b, 0xc5, 0x02, 0x8a, 0xde, 0x07, 0xc3, 0x8e, 0xef, 0xf3, 0xfc, 0x0f, 0x12, 0x8b, 0x5a, - 0xf0, 0xba, 0x12, 0x92, 0x06, 0x61, 0x13, 0xcf, 0xfe, 0xb3, 0x12, 0x4c, 0x1e, 0xa0, 0x53, 0xd0, - 0xcb, 0x30, 0x12, 0x46, 0x4d, 0x27, 0xf0, 0xde, 0xe4, 0xc5, 0x24, 0x2a, 0xe9, 0x92, 0x55, 0xcb, - 0x06, 0x0c, 0xa7, 0x30, 0x65, 0xc4, 0xfe, 0x60, 0x8f, 0x88, 0xfd, 0xf7, 0xc1, 0x70, 0x42, 0x9c, - 0x96, 0x08, 0x4f, 0x12, 0xfb, 0x6f, 0x7d, 0xee, 0xaa, 0x41, 0xd8, 0xc4, 0xa3, 0x5a, 0x6c, 0xcc, - 0x71, 0x5d, 0x12, 0xc7, 0x32, 0x24, 0x5f, 0xf8, 0x30, 0x0b, 0x8b, 0xf7, 0x67, 0xae, 0xe1, 0x99, - 0x14, 0x0b, 0x9c, 0x61, 0x99, 0xed, 0xf0, 0x5a, 0x9f, 0x1d, 0xfe, 0x6b, 0x25, 0x78, 0xea, 0xbe, - 0xab, 0x5b, 0xdf, 0xd9, 0x12, 0x9d, 0x98, 0x44, 0xd9, 0x81, 0x73, 0x23, 0x26, 0x11, 0x66, 0x10, - 0xde, 0x4b, 0xed, 0xb6, 0x71, 0xcf, 0x61, 0xd1, 0xc9, 0x39, 0xbc, 0x97, 0x52, 0x2c, 0x70, 0x86, - 0xe5, 0x51, 0x87, 0xe5, 0xdf, 0x29, 0xc1, 0x33, 0x7d, 0xd8, 0x00, 0x05, 0x26, 0x31, 0xa5, 0x53, - 0xc9, 0xca, 0x0f, 0x27, 0x95, 0xec, 0xa8, 0xdd, 0xf5, 0x8d, 0x12, 0x9c, 0xef, 0xbd, 0x14, 0xa3, - 0x1f, 0xa7, 0x7b, 0x78, 0x19, 0x93, 0x64, 0x66, 0xa1, 0x9d, 0xe1, 0xfb, 0xf7, 0x14, 0x08, 0x67, - 0x71, 0xd1, 0x14, 0x40, 0xdb, 0x49, 0x36, 0xe3, 0x4b, 0x3b, 0x5e, 0x9c, 0x88, 0x5a, 0x0a, 0x63, - 0xfc, 0xc4, 0x48, 0xb6, 0x62, 0x03, 0x83, 0xb2, 0x63, 0xff, 0xe6, 0xc2, 0xeb, 0x61, 0xc2, 0x1f, - 0xe2, 0xdb, 0x88, 0x33, 0xb2, 0xde, 0xb4, 0x01, 0xc2, 0x59, 0x5c, 0xca, 0x8e, 0x9d, 0x49, 0x72, - 0x41, 0xf9, 0xfe, 0x82, 0xb1, 0x5b, 0x54, 0xad, 0xd8, 0xc0, 0xc8, 0xe6, 0xd7, 0x55, 0x0e, 0xce, - 0xaf, 0xb3, 0xff, 0x41, 0x09, 0x9e, 0xe8, 0x69, 0xca, 0xf5, 0x37, 0x01, 0x1f, 0xbd, 0x9c, 0xb8, - 0xa3, 0x8d, 0x9d, 0x43, 0x66, 0x7a, 0xfd, 0x49, 0x8f, 0x91, 0x26, 0x32, 0xbd, 0xb2, 0x4b, 0x85, - 0x75, 0xd8, 0xa5, 0xe2, 0x11, 0xea, 0xcf, 0xae, 0xe4, 0xae, 0x81, 0x43, 0x24, 0x77, 0x65, 0x3e, - 0x46, 0xa5, 0xcf, 0x89, 0xfc, 0xed, 0xde, 0xdd, 0x4b, 0xb7, 0x7e, 0x7d, 0x79, 0x47, 0xe7, 0xe0, - 0xb4, 0x17, 0xb0, 0xbb, 0x07, 0x56, 0x3b, 0xeb, 0x22, 0xbd, 0xbe, 0x94, 0xbe, 0x56, 0x73, 0x21, - 0x03, 0xc7, 0x5d, 0x4f, 0x3c, 0x82, 0xc9, 0x76, 0x47, 0xec, 0xd2, 0x8f, 0x42, 0x4d, 0xd1, 0xe6, - 0x01, 0xc4, 0xea, 0x83, 0x76, 0x05, 0x10, 0xab, 0xaf, 0x69, 0x60, 0xd1, 0x9e, 0xa0, 0xe6, 0x66, - 0x66, 0x64, 0x5e, 0x23, 0xbb, 0xcc, 0xf6, 0xb4, 0xdf, 0x0b, 0x23, 0xca, 0x87, 0xd1, 0x6f, 0x81, - 0x79, 0xfb, 0xcb, 0x83, 0x30, 0x9a, 0x2a, 0x1f, 0x95, 0x72, 0x19, 0x5a, 0x07, 0xba, 0x0c, 0x59, - 0x40, 0x78, 0x27, 0x90, 0xb7, 0x4f, 0x18, 0x01, 0xe1, 0x9d, 0x80, 0x60, 0x0e, 0xa3, 0xa6, 0x63, - 0x23, 0xda, 0xc5, 0x9d, 0x40, 0x04, 0x6e, 0x2a, 0xd3, 0x71, 0x8e, 0xb5, 0x62, 0x01, 0x45, 0x9f, - 0xb2, 0x60, 0x24, 0x66, 0xfe, 0x68, 0xee, 0x70, 0x15, 0x1f, 0xf4, 0xea, 0xf1, 0xab, 0x63, 0xa9, - 0x52, 0x69, 0x2c, 0xe6, 0xc3, 0x6c, 0xc1, 0x29, 0x8e, 0xe8, 0xe7, 0x2c, 0xa8, 0xa9, 0x22, 0xd9, - 0xe2, 0x8a, 0x98, 0xd5, 0x62, 0xab, 0x73, 0x71, 0x4f, 0x9d, 0x72, 0xed, 0xeb, 0x2b, 0x65, 0x35, - 0x63, 0x14, 0x2b, 0x6f, 0xe8, 0xd0, 0xc9, 0x78, 0x43, 0x21, 0xc7, 0x13, 0xfa, 0x1e, 0xa8, 0xb5, - 0x9c, 0xc0, 0xdb, 0x20, 0x71, 0xc2, 0x1d, 0x94, 0xb2, 0x68, 0xa0, 0x6c, 0xc4, 0x1a, 0x4e, 0x17, - 0xbb, 0x98, 0xbd, 0x58, 0x62, 0x78, 0x14, 0xd9, 0x62, 0xb7, 0xaa, 0x9b, 0xb1, 0x89, 0x63, 0xba, - 0x3f, 0xe1, 0xa1, 0xba, 0x3f, 0x87, 0x0f, 0x70, 0x7f, 0xfe, 0x3d, 0x0b, 0xce, 0xe5, 0x7e, 0xb5, - 0x47, 0x37, 0x94, 0xcf, 0xfe, 0x4a, 0x05, 0xce, 0xe4, 0xd4, 0x81, 0x43, 0xbb, 0xe6, 0x78, 0xb6, - 0x8a, 0x38, 0x15, 0x4f, 0x1f, 0xf2, 0xca, 0x6e, 0xcc, 0x19, 0xc4, 0x87, 0x3b, 0x7c, 0xd0, 0x07, - 0x00, 0xe5, 0x07, 0x7b, 0x00, 0x60, 0x0c, 0xcb, 0x81, 0x87, 0x3a, 0x2c, 0x2b, 0xf7, 0x1f, 0x96, - 0xe8, 0x37, 0x2d, 0x98, 0x68, 0xf5, 0x28, 0x3e, 0x2c, 0x9c, 0x7a, 0x37, 0x4f, 0xa6, 0xb4, 0x71, - 0xfd, 0xc9, 0xfd, 0xbd, 0xc9, 0x9e, 0x35, 0x9f, 0x71, 0x4f, 0xa9, 0xec, 0xef, 0x96, 0x81, 0x15, - 0x21, 0x64, 0xb5, 0x7e, 0x76, 0xd1, 0x27, 0xcd, 0x72, 0x92, 0x56, 0x51, 0xa5, 0x0f, 0x39, 0x71, - 0x55, 0x8e, 0x92, 0xf7, 0x60, 0x5e, 0x75, 0xca, 0xac, 0xd2, 0x2a, 0xf5, 0xa1, 0xb4, 0x7c, 0x59, - 0xb7, 0xb3, 0x5c, 0x7c, 0xdd, 0xce, 0x5a, 0xb6, 0x66, 0xe7, 0xfd, 0x3f, 0xf1, 0xc0, 0x23, 0xf9, - 0x89, 0xff, 0x9a, 0xc5, 0x15, 0x4f, 0xe6, 0x2b, 0x68, 0xcb, 0xc0, 0xba, 0x8f, 0x65, 0xf0, 0x3c, - 0xbb, 0x1c, 0x78, 0xe3, 0x0a, 0x71, 0x7c, 0x61, 0x41, 0x98, 0xf7, 0xfc, 0xb2, 0x76, 0xac, 0x30, - 0xd8, 0x75, 0x5e, 0xbe, 0x1f, 0xde, 0xbd, 0xd4, 0x6a, 0x27, 0xbb, 0xc2, 0x96, 0xd0, 0xd7, 0x79, - 0x29, 0x08, 0x36, 0xb0, 0xec, 0xbf, 0x5e, 0xe2, 0x23, 0x50, 0x1c, 0xeb, 0xbf, 0x9c, 0xb9, 0x80, - 0xa5, 0xff, 0x13, 0xf1, 0x8f, 0x03, 0xb8, 0xea, 0x5e, 0x50, 0x71, 0xde, 0x72, 0xe5, 0xd8, 0xf7, - 0x2a, 0x0a, 0x7a, 0xfa, 0x35, 0x74, 0x1b, 0x36, 0xf8, 0xa5, 0x74, 0x69, 0xf9, 0x40, 0x5d, 0x9a, - 0x52, 0x2b, 0x03, 0x07, 0xac, 0x76, 0x7f, 0x66, 0x41, 0xca, 0x22, 0x42, 0x6d, 0xa8, 0x50, 0x71, - 0x77, 0x8b, 0xb9, 0xf2, 0xd4, 0x24, 0x4d, 0x55, 0xa3, 0x18, 0xf6, 0xec, 0x27, 0xe6, 0x8c, 0x90, - 0x2f, 0x4e, 0xff, 0x4b, 0x45, 0x5c, 0xcb, 0x6b, 0x32, 0xbc, 0x12, 0x86, 0x5b, 0xfc, 0xd0, 0x50, - 0x47, 0x12, 0xd8, 0x2f, 0xc3, 0x78, 0x97, 0x50, 0xec, 0xae, 0x85, 0x50, 0xde, 0xf3, 0x6a, 0x0c, - 0x57, 0x96, 0x2a, 0x88, 0x39, 0xcc, 0xfe, 0x86, 0x05, 0xa7, 0xb3, 0xe4, 0xd1, 0x57, 0x2d, 0x18, - 0x8f, 0xb3, 0xf4, 0x4e, 0xaa, 0xef, 0x54, 0x04, 0x5f, 0x17, 0x08, 0x77, 0x0b, 0x61, 0xff, 0x6f, - 0x31, 0xf8, 0x6f, 0x79, 0x41, 0x23, 0xbc, 0xab, 0x0c, 0x13, 0xab, 0xa7, 0x61, 0x42, 0xe7, 0xa3, - 0xbb, 0x49, 0x1a, 0x1d, 0xbf, 0x2b, 0x47, 0x71, 0x55, 0xb4, 0x63, 0x85, 0xc1, 0x52, 0xb2, 0x3a, - 0xa2, 0xb0, 0x6f, 0x66, 0x50, 0xce, 0x89, 0x76, 0xac, 0x30, 0xd0, 0x4b, 0x30, 0x62, 0xde, 0x65, - 0x2c, 0xc6, 0x25, 0x33, 0xc8, 0xcd, 0x6b, 0x8f, 0x71, 0x0a, 0x0b, 0x4d, 0x01, 0x28, 0x23, 0x47, - 0x2e, 0x91, 0xcc, 0x09, 0xa3, 0x34, 0x51, 0x8c, 0x0d, 0x0c, 0x96, 0x00, 0xc9, 0x2f, 0x0c, 0x96, - 0x71, 0xae, 0x3c, 0x01, 0x52, 0xb4, 0x61, 0x05, 0xa5, 0xda, 0xa4, 0xe5, 0x04, 0x1d, 0xc7, 0xa7, - 0x3d, 0x24, 0xb2, 0xb6, 0xd5, 0x34, 0x5c, 0x52, 0x10, 0x6c, 0x60, 0xd1, 0x37, 0x4e, 0xbc, 0x16, - 0x79, 0x2d, 0x0c, 0x64, 0xe4, 0x95, 0x3e, 0x52, 0x11, 0xed, 0x58, 0x61, 0xd8, 0xff, 0xd1, 0x82, - 0xec, 0xb5, 0xf2, 0x29, 0x2f, 0x87, 0x75, 0x60, 0xa6, 0x78, 0x3a, 0xcf, 0xb4, 0xd4, 0x57, 0x9e, - 0xa9, 0x99, 0x02, 0x5a, 0xbe, 0x6f, 0x0a, 0xe8, 0x0f, 0xeb, 0x1b, 0xbb, 0x78, 0xae, 0xe8, 0x70, - 0xde, 0x6d, 0x5d, 0xc8, 0x86, 0x41, 0xd7, 0x51, 0xb5, 0x44, 0x46, 0xf8, 0xde, 0x61, 0x76, 0x86, - 0x21, 0x09, 0x88, 0xbd, 0x0c, 0x35, 0x75, 0xb2, 0x20, 0x37, 0xaa, 0x56, 0xfe, 0x46, 0xb5, 0xaf, - 0x94, 0xb7, 0xfa, 0xfa, 0x37, 0xbf, 0xf7, 0xf4, 0x3b, 0xbe, 0xfd, 0xbd, 0xa7, 0xdf, 0xf1, 0x47, - 0xdf, 0x7b, 0xfa, 0x1d, 0x9f, 0xda, 0x7f, 0xda, 0xfa, 0xe6, 0xfe, 0xd3, 0xd6, 0xb7, 0xf7, 0x9f, - 0xb6, 0xfe, 0x68, 0xff, 0x69, 0xeb, 0xbb, 0xfb, 0x4f, 0x5b, 0x5f, 0xfa, 0x77, 0x4f, 0xbf, 0xe3, - 0xb5, 0xdc, 0xd0, 0x3b, 0xfa, 0xe3, 0x05, 0xb7, 0x31, 0xbd, 0x7d, 0x91, 0x45, 0x7f, 0xd1, 0xe9, - 0x35, 0x6d, 0x8c, 0xa9, 0x69, 0x39, 0xbd, 0xfe, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x00, - 0x29, 0x8f, 0x72, 0xd3, 0x00, 0x00, + // 10497 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x1c, 0xc9, + 0x75, 0x98, 0x66, 0x17, 0x0b, 0xec, 0x3e, 0x7c, 0x90, 0x68, 0x92, 0x77, 0x38, 0xea, 0xee, 0x40, + 0xcf, 0x95, 0x4f, 0xa7, 0xe8, 0x0e, 0xf0, 0x51, 0x27, 0xe5, 0xe2, 0xb3, 0x25, 0x63, 0x01, 0x12, + 0x04, 0x09, 0x10, 0xb8, 0x06, 0x48, 0x4a, 0x27, 0x9f, 0x4e, 0x83, 0xd9, 0xc6, 0x62, 0x88, 0xd9, + 0x99, 0xe5, 0xcc, 0x2c, 0x08, 0x9c, 0x25, 0x59, 0xf2, 0xa7, 0x12, 0x7d, 0x9c, 0x22, 0x25, 0x65, + 0x39, 0x89, 0x1c, 0xf9, 0x23, 0xa9, 0xb8, 0x12, 0x55, 0x9c, 0xca, 0x8f, 0x38, 0x71, 0x52, 0x2e, + 0xdb, 0xf9, 0xa1, 0x94, 0x92, 0x8a, 0x2a, 0xe5, 0xb2, 0x9c, 0xd8, 0x46, 0x24, 0xa4, 0x52, 0x49, + 0xa5, 0x2a, 0xae, 0xca, 0xc7, 0x8f, 0x84, 0x49, 0x55, 0x52, 0xfd, 0xdd, 0x33, 0x3b, 0x4b, 0x2c, + 0x80, 0x01, 0x49, 0xc9, 0xf7, 0x6f, 0xb7, 0xdf, 0x9b, 0xf7, 0xde, 0xf4, 0x74, 0xbf, 0x7e, 0xfd, + 0xfa, 0xbd, 0xd7, 0xb0, 0xd8, 0xf4, 0x92, 0xcd, 0xce, 0xfa, 0x94, 0x1b, 0xb6, 0xa6, 0x9d, 0xa8, + 0x19, 0xb6, 0xa3, 0xf0, 0x36, 0xfb, 0xf1, 0x82, 0xdb, 0x98, 0xde, 0xbe, 0x38, 0xdd, 0xde, 0x6a, + 0x4e, 0x3b, 0x6d, 0x2f, 0x9e, 0x76, 0xda, 0x6d, 0xdf, 0x73, 0x9d, 0xc4, 0x0b, 0x83, 0xe9, 0xed, + 0x17, 0x1d, 0xbf, 0xbd, 0xe9, 0xbc, 0x38, 0xdd, 0x24, 0x01, 0x89, 0x9c, 0x84, 0x34, 0xa6, 0xda, + 0x51, 0x98, 0x84, 0xe8, 0x47, 0x34, 0xb5, 0x29, 0x49, 0x8d, 0xfd, 0x78, 0xc3, 0x6d, 0x4c, 0x6d, + 0x5f, 0x9c, 0x6a, 0x6f, 0x35, 0xa7, 0x28, 0xb5, 0x29, 0x83, 0xda, 0x94, 0xa4, 0x76, 0xfe, 0x05, + 0x43, 0x96, 0x66, 0xd8, 0x0c, 0xa7, 0x19, 0xd1, 0xf5, 0xce, 0x06, 0xfb, 0xc7, 0xfe, 0xb0, 0x5f, + 0x9c, 0xd9, 0x79, 0x7b, 0xeb, 0xe5, 0x78, 0xca, 0x0b, 0xa9, 0x78, 0xd3, 0x6e, 0x18, 0x91, 0xe9, + 0xed, 0x2e, 0x81, 0xce, 0x5f, 0xd1, 0x38, 0x64, 0x27, 0x21, 0x41, 0xec, 0x85, 0x41, 0xfc, 0x02, + 0x15, 0x81, 0x44, 0xdb, 0x24, 0x32, 0x5f, 0xcf, 0x40, 0xc8, 0xa3, 0xf4, 0x92, 0xa6, 0xd4, 0x72, + 0xdc, 0x4d, 0x2f, 0x20, 0xd1, 0xae, 0x7e, 0xbc, 0x45, 0x12, 0x27, 0xef, 0xa9, 0xe9, 0x5e, 0x4f, + 0x45, 0x9d, 0x20, 0xf1, 0x5a, 0xa4, 0xeb, 0x81, 0xf7, 0x1f, 0xf4, 0x40, 0xec, 0x6e, 0x92, 0x96, + 0xd3, 0xf5, 0xdc, 0x7b, 0x7b, 0x3d, 0xd7, 0x49, 0x3c, 0x7f, 0xda, 0x0b, 0x92, 0x38, 0x89, 0xb2, + 0x0f, 0xd9, 0x77, 0x60, 0x74, 0xe6, 0xd6, 0xea, 0x4c, 0x27, 0xd9, 0x9c, 0x0d, 0x83, 0x0d, 0xaf, + 0x89, 0xde, 0x07, 0xc3, 0xae, 0xdf, 0x89, 0x13, 0x12, 0x5d, 0x77, 0x5a, 0x64, 0xc2, 0xba, 0x60, + 0x3d, 0x57, 0xab, 0x9f, 0xf9, 0xc6, 0xde, 0xe4, 0x3b, 0xf6, 0xf7, 0x26, 0x87, 0x67, 0x35, 0x08, + 0x9b, 0x78, 0xe8, 0xdd, 0x30, 0x14, 0x85, 0x3e, 0x99, 0xc1, 0xd7, 0x27, 0x4a, 0xec, 0x91, 0x53, + 0xe2, 0x91, 0x21, 0xcc, 0x9b, 0xb1, 0x84, 0xdb, 0x7f, 0x50, 0x02, 0x98, 0x69, 0xb7, 0x57, 0xa2, + 0xf0, 0x36, 0x71, 0x13, 0xf4, 0x31, 0xa8, 0xd2, 0xae, 0x6b, 0x38, 0x89, 0xc3, 0xb8, 0x0d, 0x5f, + 0xfc, 0xa1, 0x29, 0xfe, 0x26, 0x53, 0xe6, 0x9b, 0xe8, 0x81, 0x43, 0xb1, 0xa7, 0xb6, 0x5f, 0x9c, + 0x5a, 0x5e, 0xa7, 0xcf, 0x2f, 0x91, 0xc4, 0xa9, 0x23, 0xc1, 0x0c, 0x74, 0x1b, 0x56, 0x54, 0x51, + 0x00, 0x03, 0x71, 0x9b, 0xb8, 0x4c, 0xb0, 0xe1, 0x8b, 0x8b, 0x53, 0xc7, 0x19, 0xa1, 0x53, 0x5a, + 0xf2, 0xd5, 0x36, 0x71, 0xeb, 0x23, 0x82, 0xf3, 0x00, 0xfd, 0x87, 0x19, 0x1f, 0xb4, 0x0d, 0x83, + 0x71, 0xe2, 0x24, 0x9d, 0x78, 0xa2, 0xcc, 0x38, 0x5e, 0x2f, 0x8c, 0x23, 0xa3, 0x5a, 0x1f, 0x13, + 0x3c, 0x07, 0xf9, 0x7f, 0x2c, 0xb8, 0xd9, 0x7f, 0x62, 0xc1, 0x98, 0x46, 0x5e, 0xf4, 0xe2, 0x04, + 0xfd, 0x78, 0x57, 0xe7, 0x4e, 0xf5, 0xd7, 0xb9, 0xf4, 0x69, 0xd6, 0xb5, 0xa7, 0x05, 0xb3, 0xaa, + 0x6c, 0x31, 0x3a, 0xb6, 0x05, 0x15, 0x2f, 0x21, 0xad, 0x78, 0xa2, 0x74, 0xa1, 0xfc, 0xdc, 0xf0, + 0xc5, 0x2b, 0x45, 0xbd, 0x67, 0x7d, 0x54, 0x30, 0xad, 0x2c, 0x50, 0xf2, 0x98, 0x73, 0xb1, 0x7f, + 0x7d, 0xc4, 0x7c, 0x3f, 0xda, 0xe1, 0xe8, 0x45, 0x18, 0x8e, 0xc3, 0x4e, 0xe4, 0x12, 0x4c, 0xda, + 0x61, 0x3c, 0x61, 0x5d, 0x28, 0xd3, 0xa1, 0x47, 0x47, 0xea, 0xaa, 0x6e, 0xc6, 0x26, 0x0e, 0xfa, + 0x82, 0x05, 0x23, 0x0d, 0x12, 0x27, 0x5e, 0xc0, 0xf8, 0x4b, 0xe1, 0xd7, 0x8e, 0x2d, 0xbc, 0x6c, + 0x9c, 0xd3, 0xc4, 0xeb, 0x67, 0xc5, 0x8b, 0x8c, 0x18, 0x8d, 0x31, 0x4e, 0xf1, 0xa7, 0x33, 0xae, + 0x41, 0x62, 0x37, 0xf2, 0xda, 0xf4, 0x3f, 0x1b, 0x33, 0xc6, 0x8c, 0x9b, 0xd3, 0x20, 0x6c, 0xe2, + 0xa1, 0x00, 0x2a, 0x74, 0x46, 0xc5, 0x13, 0x03, 0x4c, 0xfe, 0x85, 0xe3, 0xc9, 0x2f, 0x3a, 0x95, + 0x4e, 0x56, 0xdd, 0xfb, 0xf4, 0x5f, 0x8c, 0x39, 0x1b, 0xf4, 0x79, 0x0b, 0x26, 0xc4, 0x8c, 0xc7, + 0x84, 0x77, 0xe8, 0xad, 0x4d, 0x2f, 0x21, 0xbe, 0x17, 0x27, 0x13, 0x15, 0x26, 0xc3, 0x74, 0x7f, + 0x63, 0x6b, 0x3e, 0x0a, 0x3b, 0xed, 0x6b, 0x5e, 0xd0, 0xa8, 0x5f, 0x10, 0x9c, 0x26, 0x66, 0x7b, + 0x10, 0xc6, 0x3d, 0x59, 0xa2, 0x2f, 0x5b, 0x70, 0x3e, 0x70, 0x5a, 0x24, 0x6e, 0x3b, 0xf4, 0xd3, + 0x72, 0x70, 0xdd, 0x77, 0xdc, 0x2d, 0x26, 0xd1, 0xe0, 0xd1, 0x24, 0xb2, 0x85, 0x44, 0xe7, 0xaf, + 0xf7, 0x24, 0x8d, 0xef, 0xc3, 0x16, 0xfd, 0xaa, 0x05, 0xe3, 0x61, 0xd4, 0xde, 0x74, 0x02, 0xd2, + 0x90, 0xd0, 0x78, 0x62, 0x88, 0x4d, 0xbd, 0x8f, 0x1e, 0xef, 0x13, 0x2d, 0x67, 0xc9, 0x2e, 0x85, + 0x81, 0x97, 0x84, 0xd1, 0x2a, 0x49, 0x12, 0x2f, 0x68, 0xc6, 0xf5, 0x73, 0xfb, 0x7b, 0x93, 0xe3, + 0x5d, 0x58, 0xb8, 0x5b, 0x1e, 0xf4, 0x13, 0x30, 0x1c, 0xef, 0x06, 0xee, 0x2d, 0x2f, 0x68, 0x84, + 0x77, 0xe3, 0x89, 0x6a, 0x11, 0xd3, 0x77, 0x55, 0x11, 0x14, 0x13, 0x50, 0x33, 0xc0, 0x26, 0xb7, + 0xfc, 0x0f, 0xa7, 0x87, 0x52, 0xad, 0xe8, 0x0f, 0xa7, 0x07, 0xd3, 0x7d, 0xd8, 0xa2, 0x9f, 0xb7, + 0x60, 0x34, 0xf6, 0x9a, 0x81, 0x93, 0x74, 0x22, 0x72, 0x8d, 0xec, 0xc6, 0x13, 0xc0, 0x04, 0xb9, + 0x7a, 0xcc, 0x5e, 0x31, 0x48, 0xd6, 0xcf, 0x09, 0x19, 0x47, 0xcd, 0xd6, 0x18, 0xa7, 0xf9, 0xe6, + 0x4d, 0x34, 0x3d, 0xac, 0x87, 0x8b, 0x9d, 0x68, 0x7a, 0x50, 0xf7, 0x64, 0x89, 0x7e, 0x0c, 0x4e, + 0xf3, 0x26, 0xd5, 0xb3, 0xf1, 0xc4, 0x08, 0x53, 0xb4, 0x67, 0xf7, 0xf7, 0x26, 0x4f, 0xaf, 0x66, + 0x60, 0xb8, 0x0b, 0x1b, 0xdd, 0x81, 0xc9, 0x36, 0x89, 0x5a, 0x5e, 0xb2, 0x1c, 0xf8, 0xbb, 0x52, + 0x7d, 0xbb, 0x61, 0x9b, 0x34, 0x84, 0x38, 0xf1, 0xc4, 0xe8, 0x05, 0xeb, 0xb9, 0x6a, 0xfd, 0x5d, + 0x42, 0xcc, 0xc9, 0x95, 0xfb, 0xa3, 0xe3, 0x83, 0xe8, 0xd9, 0xff, 0xa2, 0x04, 0xa7, 0xb3, 0x0b, + 0x27, 0xfa, 0xdb, 0x16, 0x9c, 0xba, 0x7d, 0x37, 0x59, 0x0b, 0xb7, 0x48, 0x10, 0xd7, 0x77, 0xa9, + 0x7a, 0x63, 0x4b, 0xc6, 0xf0, 0x45, 0xb7, 0xd8, 0x25, 0x7a, 0xea, 0x6a, 0x9a, 0xcb, 0xa5, 0x20, + 0x89, 0x76, 0xeb, 0x8f, 0x8b, 0xb7, 0x3b, 0x75, 0xf5, 0xd6, 0x9a, 0x09, 0xc5, 0x59, 0xa1, 0xce, + 0x7f, 0xd6, 0x82, 0xb3, 0x79, 0x24, 0xd0, 0x69, 0x28, 0x6f, 0x91, 0x5d, 0x6e, 0x95, 0x61, 0xfa, + 0x13, 0xbd, 0x0e, 0x95, 0x6d, 0xc7, 0xef, 0x10, 0x61, 0xdd, 0xcc, 0x1f, 0xef, 0x45, 0x94, 0x64, + 0x98, 0x53, 0xfd, 0xe1, 0xd2, 0xcb, 0x96, 0xfd, 0xaf, 0xcb, 0x30, 0x6c, 0xac, 0x6f, 0x0f, 0xc0, + 0x62, 0x0b, 0x53, 0x16, 0xdb, 0x52, 0x61, 0x4b, 0x73, 0x4f, 0x93, 0xed, 0x6e, 0xc6, 0x64, 0x5b, + 0x2e, 0x8e, 0xe5, 0x7d, 0x6d, 0x36, 0x94, 0x40, 0x2d, 0x6c, 0x53, 0x8b, 0x9c, 0x2e, 0xfd, 0x03, + 0x45, 0x7c, 0xc2, 0x65, 0x49, 0xae, 0x3e, 0xba, 0xbf, 0x37, 0x59, 0x53, 0x7f, 0xb1, 0x66, 0x64, + 0x7f, 0xdb, 0x82, 0xb3, 0x86, 0x8c, 0xb3, 0x61, 0xd0, 0xf0, 0xd8, 0xa7, 0xbd, 0x00, 0x03, 0xc9, + 0x6e, 0x5b, 0x9a, 0xfd, 0xaa, 0xa7, 0xd6, 0x76, 0xdb, 0x04, 0x33, 0x08, 0x35, 0xf4, 0x5b, 0x24, + 0x8e, 0x9d, 0x26, 0xc9, 0x1a, 0xfa, 0x4b, 0xbc, 0x19, 0x4b, 0x38, 0x8a, 0x00, 0xf9, 0x4e, 0x9c, + 0xac, 0x45, 0x4e, 0x10, 0x33, 0xf2, 0x6b, 0x5e, 0x8b, 0x88, 0x0e, 0xfe, 0x73, 0xfd, 0x8d, 0x18, + 0xfa, 0x44, 0xfd, 0xb1, 0xfd, 0xbd, 0x49, 0xb4, 0xd8, 0x45, 0x09, 0xe7, 0x50, 0xb7, 0xbf, 0x6c, + 0xc1, 0x63, 0xf9, 0xb6, 0x18, 0x7a, 0x16, 0x06, 0xf9, 0x96, 0x4f, 0xbc, 0x9d, 0xfe, 0x24, 0xac, + 0x15, 0x0b, 0x28, 0x9a, 0x86, 0x9a, 0x5a, 0x27, 0xc4, 0x3b, 0x8e, 0x0b, 0xd4, 0x9a, 0x5e, 0x5c, + 0x34, 0x0e, 0xed, 0x34, 0xfa, 0x47, 0x58, 0x6e, 0xaa, 0xd3, 0xd8, 0x26, 0x89, 0x41, 0xec, 0x7f, + 0x6f, 0xc1, 0x29, 0x43, 0xaa, 0x07, 0x60, 0x9a, 0x07, 0x69, 0xd3, 0x7c, 0xa1, 0xb0, 0xf1, 0xdc, + 0xc3, 0x36, 0xff, 0xbc, 0x05, 0xe7, 0x0d, 0xac, 0x25, 0x27, 0x71, 0x37, 0x2f, 0xed, 0xb4, 0x23, + 0x12, 0xd3, 0xed, 0x34, 0x7a, 0xca, 0xd0, 0x5b, 0xf5, 0x61, 0x41, 0xa1, 0x7c, 0x8d, 0xec, 0x72, + 0x25, 0xf6, 0x3c, 0x54, 0xf9, 0xe0, 0x0c, 0x23, 0xd1, 0xe3, 0xea, 0xdd, 0x96, 0x45, 0x3b, 0x56, + 0x18, 0xc8, 0x86, 0x41, 0xa6, 0x9c, 0xe8, 0x64, 0xa5, 0xcb, 0x10, 0xd0, 0x8f, 0x78, 0x93, 0xb5, + 0x60, 0x01, 0xb1, 0x97, 0x53, 0xe2, 0xac, 0x44, 0x84, 0x7d, 0xdc, 0xc6, 0x65, 0x8f, 0xf8, 0x8d, + 0x98, 0x6e, 0x1b, 0x9c, 0x20, 0x08, 0x13, 0xb1, 0x03, 0x30, 0xb6, 0x0d, 0x33, 0xba, 0x19, 0x9b, + 0x38, 0xf6, 0x7e, 0x89, 0x6d, 0x3e, 0xd4, 0xb4, 0x26, 0x0f, 0x62, 0xe7, 0x1a, 0xa5, 0xf4, 0xe0, + 0x4a, 0x71, 0x4a, 0x89, 0xf4, 0xde, 0xbd, 0xbe, 0x99, 0x51, 0x85, 0xb8, 0x50, 0xae, 0xf7, 0xdf, + 0xc1, 0xfe, 0x4e, 0x09, 0x26, 0xd3, 0x0f, 0x74, 0x69, 0x52, 0xba, 0x5d, 0x32, 0x18, 0x65, 0x1d, + 0x14, 0x06, 0x3e, 0x36, 0xf1, 0x7a, 0x28, 0xa3, 0xd2, 0x49, 0x2a, 0x23, 0x53, 0x57, 0x96, 0x0f, + 0xd0, 0x95, 0xcf, 0xaa, 0x5e, 0x1f, 0xc8, 0x28, 0xa7, 0xf4, 0x7a, 0x71, 0x01, 0x06, 0xe2, 0x84, + 0xb4, 0x27, 0x2a, 0x69, 0x5d, 0xb3, 0x9a, 0x90, 0x36, 0x66, 0x10, 0xfb, 0xbf, 0x94, 0xe0, 0xf1, + 0x74, 0x1f, 0x6a, 0xf5, 0xfe, 0xc1, 0x94, 0x7a, 0x7f, 0x8f, 0xa9, 0xde, 0xef, 0xed, 0x4d, 0xbe, + 0xb3, 0xc7, 0x63, 0xdf, 0x33, 0xda, 0x1f, 0xcd, 0x67, 0x7a, 0x71, 0x3a, 0xdd, 0x8b, 0xf7, 0xf6, + 0x26, 0x9f, 0xea, 0xf1, 0x8e, 0x99, 0x6e, 0x7e, 0x16, 0x06, 0x23, 0xe2, 0xc4, 0x61, 0x20, 0x3a, + 0x5a, 0x7d, 0x0e, 0xcc, 0x5a, 0xb1, 0x80, 0xda, 0xff, 0xa6, 0x96, 0xed, 0xec, 0x79, 0xee, 0x60, + 0x0b, 0x23, 0xe4, 0xc1, 0x00, 0x33, 0xd9, 0xb9, 0x6a, 0xb8, 0x76, 0xbc, 0x69, 0x44, 0x55, 0xbc, + 0x22, 0x5d, 0xaf, 0xd2, 0xaf, 0x46, 0x9b, 0x30, 0x63, 0x81, 0x76, 0xa0, 0xea, 0x4a, 0x4b, 0xba, + 0x54, 0x84, 0xcf, 0x49, 0xd8, 0xd1, 0x9a, 0xe3, 0x08, 0xd5, 0xc5, 0xca, 0xfc, 0x56, 0xdc, 0x10, + 0x81, 0x72, 0xd3, 0x4b, 0xc4, 0x67, 0x3d, 0xe6, 0x5e, 0x69, 0xde, 0x33, 0x5e, 0x71, 0x88, 0x2e, + 0x10, 0xf3, 0x5e, 0x82, 0x29, 0x7d, 0xf4, 0xb3, 0x16, 0x0c, 0xc7, 0x6e, 0x6b, 0x25, 0x0a, 0xb7, + 0xbd, 0x06, 0x89, 0x84, 0xa5, 0x74, 0x4c, 0xd5, 0xb4, 0x3a, 0xbb, 0x24, 0x09, 0x6a, 0xbe, 0x7c, + 0xef, 0xaa, 0x21, 0xd8, 0xe4, 0x4b, 0x77, 0x10, 0x8f, 0x8b, 0x77, 0x9f, 0x23, 0xae, 0x47, 0xd7, + 0x36, 0xb9, 0x61, 0x62, 0x23, 0xe5, 0xd8, 0x96, 0xe3, 0x5c, 0xc7, 0xdd, 0xa2, 0xf3, 0x4d, 0x0b, + 0xf4, 0xce, 0xfd, 0xbd, 0xc9, 0xc7, 0x67, 0xf3, 0x79, 0xe2, 0x5e, 0xc2, 0xb0, 0x0e, 0x6b, 0x77, + 0x7c, 0x1f, 0x93, 0x3b, 0x1d, 0xc2, 0xdc, 0x21, 0x05, 0x74, 0xd8, 0x8a, 0x26, 0x98, 0xe9, 0x30, + 0x03, 0x82, 0x4d, 0xbe, 0xe8, 0x0e, 0x0c, 0xb6, 0x9c, 0x24, 0xf2, 0x76, 0x84, 0x0f, 0xe4, 0x98, + 0xb6, 0xfc, 0x12, 0xa3, 0xa5, 0x99, 0xb3, 0xa5, 0x9f, 0x37, 0x62, 0xc1, 0x08, 0xb5, 0xa0, 0xd2, + 0x22, 0x51, 0x93, 0x4c, 0x54, 0x8b, 0xf0, 0xf7, 0x2e, 0x51, 0x52, 0x9a, 0x61, 0x8d, 0x5a, 0x3e, + 0xac, 0x0d, 0x73, 0x2e, 0xe8, 0x75, 0xa8, 0xc6, 0xc4, 0x27, 0x2e, 0xb5, 0x5d, 0x6a, 0x8c, 0xe3, + 0x7b, 0xfb, 0xb4, 0xe3, 0x9c, 0x75, 0xe2, 0xaf, 0x8a, 0x47, 0xf9, 0x04, 0x93, 0xff, 0xb0, 0x22, + 0x49, 0x3b, 0xb0, 0xed, 0x77, 0x9a, 0x5e, 0x30, 0x01, 0x45, 0x74, 0xe0, 0x0a, 0xa3, 0x95, 0xe9, + 0x40, 0xde, 0x88, 0x05, 0x23, 0xfb, 0x3f, 0x5a, 0x80, 0xd2, 0x4a, 0xed, 0x01, 0x18, 0xac, 0x77, + 0xd2, 0x06, 0xeb, 0x62, 0x91, 0x56, 0x47, 0x0f, 0x9b, 0xf5, 0xb7, 0x6a, 0x90, 0x59, 0x0e, 0xae, + 0x93, 0x38, 0x21, 0x8d, 0xb7, 0x55, 0xf8, 0xdb, 0x2a, 0xfc, 0x6d, 0x15, 0xae, 0x54, 0xf8, 0x7a, + 0x46, 0x85, 0x7f, 0xc0, 0x98, 0xf5, 0xfa, 0xc0, 0xf4, 0x0d, 0x75, 0xa2, 0x6a, 0x4a, 0x60, 0x20, + 0x50, 0x4d, 0x70, 0x75, 0x75, 0xf9, 0x7a, 0xae, 0xce, 0x7e, 0x23, 0xad, 0xb3, 0x8f, 0xcb, 0xe2, + 0xcf, 0x82, 0x96, 0xfe, 0xeb, 0x25, 0x78, 0x22, 0xad, 0xbd, 0x70, 0xe8, 0xfb, 0x61, 0x27, 0xa1, + 0x7b, 0x01, 0xf4, 0x4b, 0x16, 0x9c, 0x6e, 0xa5, 0x37, 0xe1, 0xb1, 0xf0, 0x75, 0x7e, 0xa8, 0x30, + 0xd5, 0x9a, 0xd9, 0xe5, 0xd7, 0x27, 0x84, 0x9a, 0x3d, 0x9d, 0x01, 0xc4, 0xb8, 0x4b, 0x16, 0xf4, + 0x3a, 0xd4, 0x5a, 0xce, 0xce, 0x8d, 0x76, 0xc3, 0x49, 0xe4, 0x36, 0xac, 0xf7, 0xee, 0xb9, 0x93, + 0x78, 0xfe, 0x14, 0x3f, 0xc1, 0x9e, 0x5a, 0x08, 0x92, 0xe5, 0x68, 0x35, 0x89, 0xbc, 0xa0, 0xc9, + 0x3d, 0x5c, 0x4b, 0x92, 0x0c, 0xd6, 0x14, 0xed, 0xaf, 0x5a, 0x59, 0xdd, 0xae, 0x7a, 0x27, 0x72, + 0x12, 0xd2, 0xdc, 0x45, 0x1f, 0x87, 0x0a, 0xdd, 0x2f, 0xc9, 0x5e, 0xb9, 0x55, 0xe4, 0x82, 0x63, + 0x7c, 0x09, 0xbd, 0xf6, 0xd0, 0x7f, 0x31, 0xe6, 0x4c, 0xed, 0x2f, 0x0f, 0x65, 0xd7, 0x58, 0x76, + 0x9e, 0x79, 0x11, 0xa0, 0x19, 0xae, 0x91, 0x56, 0xdb, 0xa7, 0xdd, 0x62, 0x31, 0xa7, 0xb8, 0x72, + 0x11, 0xcc, 0x2b, 0x08, 0x36, 0xb0, 0xd0, 0x5f, 0xb4, 0x00, 0x9a, 0x72, 0xa8, 0xc8, 0xf5, 0xf3, + 0x46, 0x91, 0xaf, 0xa3, 0x07, 0xa2, 0x96, 0x45, 0x31, 0xc4, 0x06, 0x73, 0xf4, 0x53, 0x16, 0x54, + 0x13, 0x29, 0x3e, 0x5f, 0x51, 0xd6, 0x8a, 0x94, 0x44, 0xbe, 0xb4, 0x36, 0x25, 0x54, 0x97, 0x28, + 0xbe, 0xe8, 0xe7, 0x2c, 0x80, 0x78, 0x37, 0x70, 0x57, 0x42, 0xdf, 0x73, 0x77, 0xc5, 0x42, 0x73, + 0xb3, 0x50, 0x37, 0x86, 0xa2, 0x5e, 0x1f, 0xa3, 0xbd, 0xa1, 0xff, 0x63, 0x83, 0x33, 0xfa, 0x24, + 0x54, 0x63, 0x31, 0xdc, 0xc4, 0xd2, 0xb2, 0x56, 0xac, 0x33, 0x85, 0xd3, 0x16, 0x5a, 0x49, 0xfc, + 0xc3, 0x8a, 0x27, 0xfa, 0x05, 0x0b, 0x4e, 0xb5, 0xd3, 0xae, 0x2f, 0xb1, 0x8a, 0x14, 0xa7, 0x03, + 0x32, 0xae, 0xb5, 0xfa, 0x99, 0xfd, 0xbd, 0xc9, 0x53, 0x99, 0x46, 0x9c, 0x95, 0x02, 0xcd, 0xc2, + 0xb8, 0x1e, 0xc1, 0xcb, 0x6d, 0xee, 0x86, 0x1b, 0x62, 0x6e, 0x38, 0x76, 0x8a, 0x39, 0x9f, 0x05, + 0xe2, 0x6e, 0x7c, 0xb4, 0x02, 0x67, 0xa9, 0x74, 0xbb, 0xdc, 0x6a, 0x93, 0x5a, 0x39, 0x66, 0x6b, + 0x48, 0xb5, 0xfe, 0xa4, 0x18, 0x21, 0xcc, 0xd1, 0x9d, 0xc5, 0xc1, 0xb9, 0x4f, 0xda, 0xdf, 0x2c, + 0xa5, 0xfc, 0xe2, 0xca, 0x61, 0xc5, 0xe6, 0x98, 0x2b, 0x7d, 0x05, 0x52, 0x65, 0x14, 0x3a, 0xc7, + 0x94, 0x27, 0x42, 0xcf, 0x31, 0xd5, 0x14, 0x63, 0x83, 0x39, 0x35, 0x60, 0xc6, 0x9d, 0xac, 0x5b, + 0x4c, 0x4c, 0xfb, 0xd7, 0x8b, 0x14, 0xa9, 0xfb, 0x14, 0xe3, 0x09, 0x21, 0xda, 0x78, 0x17, 0x08, + 0x77, 0x8b, 0x64, 0x7f, 0x33, 0xed, 0x8b, 0x37, 0x46, 0x6c, 0x1f, 0xe7, 0x0c, 0x5f, 0xb0, 0x60, + 0x38, 0x0a, 0x7d, 0xdf, 0x0b, 0x9a, 0x74, 0x76, 0x89, 0x25, 0xe2, 0x23, 0x27, 0xa2, 0xa5, 0xc5, + 0x34, 0x62, 0x66, 0x10, 0xd6, 0x3c, 0xb1, 0x29, 0x80, 0xfd, 0x27, 0x16, 0x4c, 0xf4, 0xd2, 0x02, + 0x88, 0xc0, 0x3b, 0xe5, 0x10, 0x57, 0xa7, 0xec, 0xcb, 0xc1, 0x1c, 0xf1, 0x89, 0x72, 0x52, 0x56, + 0xeb, 0xcf, 0x88, 0xd7, 0x7c, 0xe7, 0x4a, 0x6f, 0x54, 0x7c, 0x3f, 0x3a, 0xe8, 0x35, 0x38, 0x6d, + 0xbc, 0x57, 0xac, 0x3a, 0xa6, 0x56, 0x9f, 0xa2, 0xcb, 0xee, 0x4c, 0x06, 0x76, 0x6f, 0x6f, 0xf2, + 0xb1, 0x6c, 0x9b, 0x50, 0x53, 0x5d, 0x74, 0xec, 0x5f, 0x2b, 0x65, 0xbf, 0x96, 0x5a, 0x61, 0xbe, + 0x62, 0x75, 0x6d, 0xfd, 0x3e, 0x74, 0x12, 0x5a, 0x9d, 0x6d, 0x12, 0xd5, 0x41, 0x7e, 0x6f, 0x9c, + 0x87, 0x78, 0x52, 0x68, 0xff, 0xcb, 0x01, 0xb8, 0x8f, 0x64, 0xea, 0x2c, 0xc8, 0xea, 0x75, 0x16, + 0x74, 0xf8, 0xe3, 0xa5, 0xcf, 0x59, 0x30, 0xe8, 0x53, 0x2b, 0x94, 0x9f, 0x77, 0x0c, 0x5f, 0x6c, + 0x9c, 0x54, 0xdf, 0x73, 0x63, 0x37, 0xe6, 0xa7, 0xd5, 0xca, 0xe5, 0xc9, 0x1b, 0xb1, 0x90, 0x01, + 0x7d, 0xcd, 0x4a, 0x1f, 0x9e, 0xf0, 0xf0, 0x23, 0xef, 0xc4, 0x64, 0x32, 0x4e, 0x64, 0xb8, 0x60, + 0xda, 0xd7, 0xdf, 0xe3, 0xac, 0x06, 0x4d, 0x01, 0x6c, 0x78, 0x81, 0xe3, 0x7b, 0x6f, 0xd2, 0xdd, + 0x74, 0x85, 0x2d, 0x2b, 0x6c, 0x9d, 0xbe, 0xac, 0x5a, 0xb1, 0x81, 0x71, 0xfe, 0x2f, 0xc0, 0xb0, + 0xf1, 0xe6, 0x39, 0x87, 0xec, 0x67, 0xcd, 0x43, 0xf6, 0x9a, 0x71, 0x36, 0x7e, 0xfe, 0x03, 0x70, + 0x3a, 0x2b, 0xe0, 0x61, 0x9e, 0xb7, 0xff, 0xd7, 0x50, 0xf6, 0xc4, 0x63, 0x8d, 0x44, 0x2d, 0x2a, + 0xda, 0xdb, 0x5e, 0x88, 0xb7, 0xbd, 0x10, 0x6f, 0x7b, 0x21, 0x4c, 0x47, 0xb2, 0xd8, 0x61, 0x0f, + 0x3d, 0xa0, 0x1d, 0x76, 0xca, 0x67, 0x50, 0x2d, 0xdc, 0x67, 0x60, 0xef, 0x57, 0x20, 0x65, 0x47, + 0xf1, 0xfe, 0x7e, 0x37, 0x0c, 0x45, 0xa4, 0x1d, 0xde, 0xc0, 0x8b, 0x62, 0x0d, 0xd1, 0x81, 0xd4, + 0xbc, 0x19, 0x4b, 0x38, 0x5d, 0x6b, 0xda, 0x4e, 0xb2, 0x29, 0x16, 0x11, 0xb5, 0xd6, 0xac, 0x38, + 0xc9, 0x26, 0x66, 0x10, 0xf4, 0x01, 0x18, 0x4b, 0x9c, 0xa8, 0x49, 0x12, 0x4c, 0xb6, 0xd9, 0x67, + 0x15, 0xe7, 0x62, 0x8f, 0x09, 0xdc, 0xb1, 0xb5, 0x14, 0x14, 0x67, 0xb0, 0xd1, 0x1d, 0x18, 0xd8, + 0x24, 0x7e, 0x4b, 0x74, 0xf9, 0x6a, 0x71, 0x3a, 0x9e, 0xbd, 0xeb, 0x15, 0xe2, 0xb7, 0xb8, 0x06, + 0xa2, 0xbf, 0x30, 0x63, 0x45, 0xc7, 0x5b, 0x6d, 0xab, 0x13, 0x27, 0x61, 0xcb, 0x7b, 0x53, 0xba, + 0x83, 0x3e, 0x54, 0x30, 0xe3, 0x6b, 0x92, 0x3e, 0x77, 0x20, 0xa8, 0xbf, 0x58, 0x73, 0x66, 0x72, + 0x34, 0xbc, 0x88, 0x7d, 0xaa, 0x5d, 0xe1, 0xd5, 0x29, 0x5a, 0x8e, 0x39, 0x49, 0x9f, 0xcb, 0xa1, + 0xfe, 0x62, 0xcd, 0x19, 0xed, 0xaa, 0x71, 0x3f, 0xcc, 0x64, 0xb8, 0x51, 0xb0, 0x0c, 0x7c, 0xcc, + 0xe7, 0x8e, 0xff, 0x67, 0xa0, 0xe2, 0x6e, 0x3a, 0x51, 0x32, 0x31, 0xc2, 0x06, 0x8d, 0x72, 0x64, + 0xcc, 0xd2, 0x46, 0xcc, 0x61, 0xe8, 0x29, 0x28, 0x47, 0x64, 0x83, 0xc5, 0xef, 0x19, 0x91, 0x1d, + 0x98, 0x6c, 0x60, 0xda, 0x6e, 0xff, 0x72, 0x29, 0x6d, 0x2e, 0xa5, 0xdf, 0x9b, 0x8f, 0x76, 0xb7, + 0x13, 0xc5, 0xd2, 0xd9, 0x61, 0x8c, 0x76, 0xd6, 0x8c, 0x25, 0x1c, 0x7d, 0xda, 0x82, 0xa1, 0xdb, + 0x71, 0x18, 0x04, 0x24, 0x11, 0x4b, 0xd3, 0xcd, 0x82, 0xbb, 0xe2, 0x2a, 0xa7, 0xae, 0x65, 0x10, + 0x0d, 0x58, 0xf2, 0xa5, 0xe2, 0x92, 0x1d, 0xd7, 0xef, 0x34, 0xba, 0x0e, 0xf4, 0x2f, 0xf1, 0x66, + 0x2c, 0xe1, 0x14, 0xd5, 0x0b, 0x38, 0xea, 0x40, 0x1a, 0x75, 0x21, 0x10, 0xa8, 0x02, 0x6e, 0xff, + 0xd5, 0x41, 0x38, 0x97, 0x3b, 0x39, 0xa8, 0x21, 0xc3, 0x4c, 0x85, 0xcb, 0x9e, 0x4f, 0x64, 0x98, + 0x0a, 0x33, 0x64, 0x6e, 0xaa, 0x56, 0x6c, 0x60, 0xa0, 0x9f, 0x04, 0x68, 0x3b, 0x91, 0xd3, 0x22, + 0x62, 0x01, 0x2f, 0x1f, 0xdf, 0x5e, 0xa0, 0x72, 0xac, 0x48, 0x9a, 0x7a, 0x6f, 0xaa, 0x9a, 0x62, + 0x6c, 0xb0, 0x44, 0xef, 0x83, 0xe1, 0x88, 0xf8, 0xc4, 0x89, 0x59, 0xf8, 0x67, 0x36, 0x96, 0x1d, + 0x6b, 0x10, 0x36, 0xf1, 0xd0, 0xb3, 0x2a, 0xa2, 0x27, 0x13, 0xfd, 0x90, 0x8e, 0xea, 0x41, 0x6f, + 0x59, 0x30, 0xb6, 0xe1, 0xf9, 0x44, 0x73, 0x17, 0x91, 0xe7, 0xcb, 0xc7, 0x7f, 0xc9, 0xcb, 0x26, + 0x5d, 0xad, 0x21, 0x53, 0xcd, 0x31, 0xce, 0xb0, 0xa7, 0x9f, 0x79, 0x9b, 0x44, 0x4c, 0xb5, 0x0e, + 0xa6, 0x3f, 0xf3, 0x4d, 0xde, 0x8c, 0x25, 0x1c, 0xcd, 0xc0, 0xa9, 0xb6, 0x13, 0xc7, 0xb3, 0x11, + 0x69, 0x90, 0x20, 0xf1, 0x1c, 0x9f, 0xc7, 0x85, 0x57, 0x75, 0x5c, 0xe8, 0x4a, 0x1a, 0x8c, 0xb3, + 0xf8, 0xe8, 0xc3, 0xf0, 0xb8, 0xd7, 0x0c, 0xc2, 0x88, 0x2c, 0x79, 0x71, 0xec, 0x05, 0x4d, 0x3d, + 0x0c, 0x84, 0xd3, 0x63, 0x52, 0x90, 0x7a, 0x7c, 0x21, 0x1f, 0x0d, 0xf7, 0x7a, 0x1e, 0x3d, 0x0f, + 0xd5, 0x78, 0xcb, 0x6b, 0xcf, 0x46, 0x8d, 0x98, 0x39, 0xc8, 0xab, 0xda, 0xc5, 0xb6, 0x2a, 0xda, + 0xb1, 0xc2, 0x40, 0x2e, 0x8c, 0xf0, 0x4f, 0xc2, 0xc3, 0x96, 0x84, 0x7e, 0x7c, 0xa1, 0xe7, 0xf2, + 0x28, 0x52, 0x97, 0xa6, 0xb0, 0x73, 0xf7, 0x92, 0x74, 0xd7, 0xd7, 0x4f, 0xef, 0xef, 0x4d, 0x8e, + 0xdc, 0x34, 0xc8, 0xe0, 0x14, 0x51, 0xfb, 0x17, 0x4b, 0xe9, 0x1d, 0xb7, 0x39, 0x49, 0x51, 0x4c, + 0xa7, 0x62, 0x72, 0xd3, 0x89, 0xa4, 0x37, 0xe6, 0x98, 0xe1, 0xeb, 0x82, 0xee, 0x4d, 0x27, 0x32, + 0x27, 0x35, 0x63, 0x80, 0x25, 0x27, 0x74, 0x1b, 0x06, 0x12, 0xdf, 0x29, 0x28, 0xdf, 0xc5, 0xe0, + 0xa8, 0x1d, 0x20, 0x8b, 0x33, 0x31, 0x66, 0x3c, 0xd0, 0x93, 0xd4, 0xea, 0x5f, 0x97, 0x31, 0x6e, + 0xc2, 0x50, 0x5f, 0x8f, 0x31, 0x6b, 0xb5, 0xff, 0x5f, 0x35, 0x47, 0xaf, 0xaa, 0x85, 0x0c, 0x5d, + 0x04, 0xa0, 0x1b, 0xc8, 0x95, 0x88, 0x6c, 0x78, 0x3b, 0xc2, 0x90, 0x50, 0x73, 0xf7, 0xba, 0x82, + 0x60, 0x03, 0x4b, 0x3e, 0xb3, 0xda, 0xd9, 0xa0, 0xcf, 0x94, 0xba, 0x9f, 0xe1, 0x10, 0x6c, 0x60, + 0xa1, 0x97, 0x60, 0xd0, 0x6b, 0x39, 0x4d, 0x15, 0x8a, 0xf7, 0x24, 0x9d, 0xb4, 0x0b, 0xac, 0xe5, + 0xde, 0xde, 0xe4, 0x98, 0x12, 0x88, 0x35, 0x61, 0x81, 0x8b, 0x7e, 0xcd, 0x82, 0x11, 0x37, 0x6c, + 0xb5, 0xc2, 0x80, 0x6f, 0xbb, 0xc4, 0x1e, 0xf2, 0xf6, 0x49, 0x2d, 0xf3, 0x53, 0xb3, 0x06, 0x33, + 0xbe, 0x89, 0x54, 0x89, 0x39, 0x26, 0x08, 0xa7, 0xa4, 0x32, 0xe7, 0x76, 0xe5, 0x80, 0xb9, 0xfd, + 0x9b, 0x16, 0x8c, 0xf3, 0x67, 0x8d, 0xdd, 0xa0, 0xc8, 0x41, 0x09, 0x4f, 0xf8, 0xb5, 0xba, 0x36, + 0xc8, 0xca, 0x4b, 0xd7, 0x05, 0xc7, 0xdd, 0x42, 0xa2, 0x79, 0x18, 0xdf, 0x08, 0x23, 0x97, 0x98, + 0x1d, 0x21, 0x14, 0x93, 0x22, 0x74, 0x39, 0x8b, 0x80, 0xbb, 0x9f, 0x41, 0x37, 0xe1, 0x31, 0xa3, + 0xd1, 0xec, 0x07, 0xae, 0x9b, 0x9e, 0x16, 0xd4, 0x1e, 0xbb, 0x9c, 0x8b, 0x85, 0x7b, 0x3c, 0x9d, + 0x76, 0x98, 0xd4, 0xfa, 0x70, 0x98, 0xbc, 0x01, 0x4f, 0xb8, 0xdd, 0x3d, 0xb3, 0x1d, 0x77, 0xd6, + 0x63, 0xae, 0xa9, 0xaa, 0xf5, 0x1f, 0x10, 0x04, 0x9e, 0x98, 0xed, 0x85, 0x88, 0x7b, 0xd3, 0x40, + 0x1f, 0x87, 0x6a, 0x44, 0xd8, 0x57, 0x89, 0x45, 0x42, 0xc6, 0x31, 0x77, 0xc9, 0xda, 0x02, 0xe5, + 0x64, 0xb5, 0xee, 0x15, 0x0d, 0x31, 0x56, 0x1c, 0xcf, 0x7f, 0x10, 0xc6, 0xbb, 0xc6, 0xf3, 0xa1, + 0x7c, 0x16, 0x73, 0xf0, 0x58, 0xfe, 0xc8, 0x39, 0x94, 0xe7, 0xe2, 0x1f, 0x66, 0xe2, 0x0c, 0x0d, + 0x6b, 0xb2, 0x0f, 0x2f, 0x98, 0x03, 0x65, 0x12, 0x6c, 0x0b, 0x45, 0x7a, 0xf9, 0x78, 0xbd, 0x77, + 0x29, 0xd8, 0xe6, 0x03, 0x9f, 0x6d, 0xf5, 0x2f, 0x05, 0xdb, 0x98, 0xd2, 0x46, 0x5f, 0xb2, 0x52, + 0xd6, 0x10, 0xf7, 0x9d, 0x7d, 0xf4, 0x44, 0xcc, 0xe7, 0xbe, 0x0d, 0x24, 0xfb, 0x5f, 0x95, 0xe0, + 0xc2, 0x41, 0x44, 0xfa, 0xe8, 0xbe, 0x67, 0x60, 0x30, 0x66, 0x47, 0xa0, 0x42, 0x33, 0x0d, 0x53, + 0xad, 0xc4, 0x0f, 0x45, 0xdf, 0xc0, 0x02, 0x84, 0x7c, 0x28, 0xb7, 0x9c, 0xb6, 0x70, 0xa9, 0x2c, + 0x1c, 0x37, 0xab, 0x80, 0xfe, 0x77, 0xfc, 0x25, 0xa7, 0xcd, 0x37, 0xea, 0x46, 0x03, 0xa6, 0x6c, + 0x50, 0x02, 0x15, 0x27, 0x8a, 0x1c, 0x79, 0xde, 0x76, 0xad, 0x18, 0x7e, 0x33, 0x94, 0x64, 0x7d, + 0x7c, 0x7f, 0x6f, 0x72, 0x34, 0xd5, 0x84, 0x39, 0x33, 0xfb, 0x73, 0x43, 0xa9, 0xc8, 0x7a, 0x76, + 0x88, 0x1a, 0xc3, 0xa0, 0xf0, 0xa4, 0x58, 0x45, 0x27, 0x73, 0xf0, 0xd4, 0x28, 0xb6, 0x59, 0x12, + 0x09, 0xa6, 0x82, 0x15, 0xfa, 0xac, 0xc5, 0xd2, 0x38, 0x65, 0xb6, 0x81, 0xd8, 0xa2, 0x9c, 0x4c, + 0x56, 0xa9, 0x99, 0x1c, 0x2a, 0x1b, 0xb1, 0xc9, 0x9d, 0x2e, 0x5d, 0x6d, 0x9e, 0x90, 0x94, 0xdd, + 0xa8, 0xc8, 0x44, 0x4f, 0x09, 0x47, 0x3b, 0x39, 0x87, 0xa5, 0x05, 0xa4, 0x02, 0xf6, 0x71, 0x3c, + 0xfa, 0x35, 0x0b, 0xc6, 0xb9, 0x39, 0x3a, 0xe7, 0x6d, 0x6c, 0x90, 0x88, 0x04, 0x2e, 0x91, 0x06, + 0xfd, 0x31, 0x8f, 0xe3, 0xa5, 0xfb, 0x6a, 0x21, 0x4b, 0x5e, 0xaf, 0x69, 0x5d, 0x20, 0xdc, 0x2d, + 0x0c, 0x6a, 0xc0, 0x80, 0x17, 0x6c, 0x84, 0x62, 0x25, 0xaf, 0x1f, 0x4f, 0xa8, 0x85, 0x60, 0x23, + 0xd4, 0xb3, 0x99, 0xfe, 0xc3, 0x8c, 0x3a, 0x5a, 0x84, 0xb3, 0x91, 0x70, 0xb9, 0x5c, 0xf1, 0x62, + 0xba, 0x31, 0x5e, 0xf4, 0x5a, 0x5e, 0xc2, 0x56, 0xe1, 0x72, 0x7d, 0x62, 0x7f, 0x6f, 0xf2, 0x2c, + 0xce, 0x81, 0xe3, 0xdc, 0xa7, 0xd0, 0x9b, 0x30, 0x24, 0xf3, 0x4e, 0xab, 0x45, 0x6c, 0x8e, 0xba, + 0xc7, 0xbf, 0x1a, 0x4c, 0xab, 0x22, 0xc5, 0x54, 0x32, 0xb4, 0xdf, 0x1a, 0x86, 0xee, 0xb3, 0x41, + 0xf4, 0x09, 0xa8, 0x45, 0x2a, 0x17, 0xd6, 0x2a, 0x22, 0xbe, 0x4f, 0x7e, 0x5f, 0x71, 0x2e, 0xa9, + 0xec, 0x01, 0x9d, 0xf5, 0xaa, 0x39, 0x52, 0xab, 0x3d, 0xd6, 0x47, 0x88, 0x05, 0x8c, 0x6d, 0xc1, + 0x55, 0x1f, 0x0f, 0xed, 0x06, 0x2e, 0x66, 0x3c, 0x50, 0x04, 0x83, 0x9b, 0xc4, 0xf1, 0x93, 0xcd, + 0x62, 0x3c, 0xd9, 0x57, 0x18, 0xad, 0x6c, 0xd6, 0x04, 0x6f, 0xc5, 0x82, 0x13, 0xda, 0x81, 0xa1, + 0x4d, 0x3e, 0x00, 0x84, 0x21, 0xbd, 0x74, 0xdc, 0xce, 0x4d, 0x8d, 0x2a, 0xfd, 0xb9, 0x45, 0x03, + 0x96, 0xec, 0x58, 0xa4, 0x85, 0x71, 0x2c, 0xce, 0xa7, 0x6e, 0x71, 0x09, 0x23, 0xfd, 0x9f, 0x89, + 0x7f, 0x0c, 0x46, 0x22, 0xe2, 0x86, 0x81, 0xeb, 0xf9, 0xa4, 0x31, 0x23, 0xbd, 0xd4, 0x87, 0x49, + 0x33, 0x60, 0x9b, 0x51, 0x6c, 0xd0, 0xc0, 0x29, 0x8a, 0xe8, 0x33, 0x16, 0x8c, 0xa9, 0x04, 0x3a, + 0xfa, 0x41, 0x88, 0xf0, 0x8a, 0x2e, 0x16, 0x94, 0xae, 0xc7, 0x68, 0xd6, 0xd1, 0xfe, 0xde, 0xe4, + 0x58, 0xba, 0x0d, 0x67, 0xf8, 0xa2, 0xd7, 0x00, 0xc2, 0x75, 0x1e, 0x4e, 0x31, 0x93, 0x08, 0x17, + 0xe9, 0x61, 0x5e, 0x75, 0x8c, 0xe7, 0x1b, 0x49, 0x0a, 0xd8, 0xa0, 0x86, 0xae, 0x01, 0xf0, 0x69, + 0xb3, 0xb6, 0xdb, 0x96, 0xd6, 0xb6, 0xcc, 0x13, 0x81, 0x55, 0x05, 0xb9, 0xb7, 0x37, 0xd9, 0xed, + 0xb2, 0x62, 0xa7, 0xf7, 0xc6, 0xe3, 0xe8, 0x27, 0x60, 0x28, 0xee, 0xb4, 0x5a, 0x8e, 0x72, 0xa0, + 0x16, 0x98, 0xc1, 0xc4, 0xe9, 0x1a, 0xaa, 0x88, 0x37, 0x60, 0xc9, 0x11, 0xdd, 0xa6, 0x4a, 0x35, + 0x16, 0xbe, 0x34, 0x36, 0x8b, 0xb8, 0x4d, 0x30, 0xcc, 0xde, 0xe9, 0xfd, 0x32, 0x3a, 0x04, 0xe7, + 0xe0, 0xdc, 0xdb, 0x9b, 0x7c, 0x2c, 0xdd, 0xbe, 0x18, 0x8a, 0x9c, 0xa2, 0x5c, 0x9a, 0xe8, 0xaa, + 0x2c, 0x43, 0x41, 0x5f, 0x5b, 0x66, 0x47, 0x3f, 0xa7, 0xcb, 0x50, 0xb0, 0xe6, 0xde, 0x7d, 0x66, + 0x3e, 0x8c, 0x96, 0xe0, 0x8c, 0x1b, 0x06, 0x49, 0x14, 0xfa, 0x3e, 0xaf, 0xad, 0xc2, 0x37, 0x3e, + 0xdc, 0xc1, 0xfa, 0x4e, 0x21, 0xf6, 0x99, 0xd9, 0x6e, 0x14, 0x9c, 0xf7, 0x9c, 0x1d, 0xa4, 0xe3, + 0xcc, 0x44, 0xe7, 0xbc, 0x04, 0x23, 0x64, 0x27, 0x21, 0x51, 0xe0, 0xf8, 0x37, 0xf0, 0xa2, 0x74, + 0x2d, 0xb2, 0x39, 0x70, 0xc9, 0x68, 0xc7, 0x29, 0x2c, 0x64, 0xab, 0xdd, 0x7e, 0x49, 0x27, 0xde, + 0xf1, 0xdd, 0xbe, 0xdc, 0xdb, 0xdb, 0xff, 0xbb, 0x94, 0x32, 0xc8, 0xd6, 0x22, 0x42, 0x50, 0x08, + 0x95, 0x20, 0x6c, 0x28, 0xdd, 0x7f, 0xb5, 0x18, 0xdd, 0x7f, 0x3d, 0x6c, 0x18, 0xb5, 0x2a, 0xe8, + 0xbf, 0x18, 0x73, 0x3e, 0x2c, 0x99, 0x5f, 0x56, 0x3d, 0x60, 0x00, 0xb1, 0xd1, 0x28, 0x92, 0xb3, + 0x4a, 0xe6, 0x5f, 0x36, 0x19, 0xe1, 0x34, 0x5f, 0xb4, 0x05, 0x95, 0xcd, 0x30, 0x4e, 0xe4, 0xf6, + 0xe3, 0x98, 0x3b, 0x9d, 0x2b, 0x61, 0x9c, 0x30, 0x2b, 0x42, 0xbd, 0x36, 0x6d, 0x89, 0x31, 0xe7, + 0x61, 0xff, 0x27, 0x2b, 0xe5, 0x48, 0xbe, 0xc5, 0x62, 0x2e, 0xb7, 0x49, 0x40, 0xa7, 0xb5, 0x19, + 0x6f, 0xf3, 0xe7, 0x33, 0x89, 0x5f, 0xef, 0xea, 0x55, 0x39, 0xe8, 0x2e, 0xa5, 0x30, 0xc5, 0x48, + 0x18, 0xa1, 0x39, 0x9f, 0xb2, 0xd2, 0x29, 0x78, 0xa5, 0x22, 0x36, 0x18, 0x66, 0x8a, 0xe9, 0x81, + 0xd9, 0x7c, 0xf6, 0x97, 0x2c, 0x18, 0xaa, 0x3b, 0xee, 0x56, 0xb8, 0xb1, 0x81, 0x9e, 0x87, 0x6a, + 0xa3, 0x13, 0x99, 0xd9, 0x80, 0x6a, 0xf7, 0x3c, 0x27, 0xda, 0xb1, 0xc2, 0xa0, 0x63, 0x78, 0xc3, + 0x71, 0x65, 0xa2, 0x69, 0x99, 0x8f, 0xe1, 0xcb, 0xac, 0x05, 0x0b, 0x08, 0x7a, 0x1f, 0x0c, 0xb7, + 0x9c, 0x1d, 0xf9, 0x70, 0xd6, 0x8b, 0xbd, 0xa4, 0x41, 0xd8, 0xc4, 0xb3, 0xff, 0xb9, 0x05, 0x13, + 0x75, 0x27, 0xf6, 0xdc, 0x99, 0x4e, 0xb2, 0x59, 0xf7, 0x92, 0xf5, 0x8e, 0xbb, 0x45, 0x12, 0x9e, + 0x5d, 0x4c, 0xa5, 0xec, 0xc4, 0x74, 0x2a, 0xa9, 0x7d, 0x9d, 0x92, 0xf2, 0x86, 0x68, 0xc7, 0x0a, + 0x03, 0xbd, 0x09, 0xc3, 0x6d, 0x27, 0x8e, 0xef, 0x86, 0x51, 0x03, 0x93, 0x8d, 0x62, 0x72, 0xfb, + 0x57, 0x89, 0x1b, 0x91, 0x04, 0x93, 0x0d, 0x71, 0xd2, 0xaa, 0xe9, 0x63, 0x93, 0x99, 0xfd, 0x05, + 0x0b, 0x9e, 0xa8, 0x13, 0x27, 0x22, 0x11, 0x2b, 0x05, 0xa0, 0x5e, 0x64, 0xd6, 0x0f, 0x3b, 0x0d, + 0x74, 0x07, 0xaa, 0x09, 0x6d, 0xa6, 0x62, 0x59, 0xc5, 0x8a, 0xc5, 0x0e, 0x4a, 0xd7, 0x04, 0x71, + 0xac, 0xd8, 0xd8, 0x7f, 0xcd, 0x82, 0x11, 0x76, 0xe6, 0x34, 0x47, 0x12, 0xc7, 0xf3, 0xbb, 0x2a, + 0xe6, 0x58, 0x7d, 0x56, 0xcc, 0xb9, 0x00, 0x03, 0x9b, 0x61, 0x8b, 0x64, 0xcf, 0x4b, 0xaf, 0x84, + 0x74, 0x5b, 0x4d, 0x21, 0xe8, 0x45, 0xfa, 0xe1, 0xbd, 0x20, 0x71, 0xe8, 0x14, 0x90, 0x3e, 0xcd, + 0x53, 0xfc, 0xa3, 0xab, 0x66, 0x6c, 0xe2, 0xd8, 0xbf, 0x53, 0x83, 0x21, 0x71, 0xa8, 0xde, 0x77, + 0x86, 0xb9, 0xdc, 0xdf, 0x97, 0x7a, 0xee, 0xef, 0x63, 0x18, 0x74, 0x59, 0x3d, 0x2e, 0x61, 0x46, + 0x5e, 0x2b, 0x24, 0x0a, 0x83, 0x97, 0xf8, 0xd2, 0x62, 0xf1, 0xff, 0x58, 0xb0, 0x42, 0x5f, 0xb4, + 0xe0, 0x94, 0x1b, 0x06, 0x01, 0x71, 0xb5, 0x8d, 0x33, 0x50, 0xc4, 0x61, 0xfb, 0x6c, 0x9a, 0xa8, + 0x3e, 0xf0, 0xc8, 0x00, 0x70, 0x96, 0x3d, 0x7a, 0x05, 0x46, 0x79, 0x9f, 0xdd, 0x4c, 0x39, 0x62, + 0x75, 0x21, 0x15, 0x13, 0x88, 0xd3, 0xb8, 0x68, 0x8a, 0x3b, 0xb4, 0x45, 0xc9, 0x92, 0x41, 0x7d, + 0x7a, 0x66, 0x14, 0x2b, 0x31, 0x30, 0x50, 0x04, 0x28, 0x22, 0x1b, 0x11, 0x89, 0x37, 0x45, 0xd0, + 0x01, 0xb3, 0xaf, 0x86, 0x8e, 0x96, 0xb1, 0x8a, 0xbb, 0x28, 0xe1, 0x1c, 0xea, 0x68, 0x4b, 0x6c, + 0x30, 0xab, 0x45, 0xe8, 0x50, 0xf1, 0x99, 0x7b, 0xee, 0x33, 0x27, 0xa1, 0x12, 0x6f, 0x3a, 0x51, + 0x83, 0xd9, 0x75, 0x65, 0x9e, 0x25, 0xb1, 0x4a, 0x1b, 0x30, 0x6f, 0x47, 0x73, 0x70, 0x3a, 0x53, + 0x06, 0x26, 0x16, 0x0e, 0x53, 0x15, 0xda, 0x9f, 0x29, 0x20, 0x13, 0xe3, 0xae, 0x27, 0x4c, 0xe7, + 0xc3, 0xf0, 0x01, 0xce, 0x87, 0x5d, 0x15, 0xda, 0x36, 0xc2, 0xd6, 0xc7, 0x57, 0x0b, 0xe9, 0x80, + 0xbe, 0xe2, 0xd8, 0x3e, 0x9f, 0x89, 0x63, 0x1b, 0x65, 0x02, 0xdc, 0x2c, 0x46, 0x80, 0xc3, 0x07, + 0xad, 0x3d, 0xcc, 0x20, 0xb4, 0xff, 0x69, 0x81, 0xfc, 0xae, 0xb3, 0x8e, 0xbb, 0x49, 0xe8, 0x90, + 0x41, 0x1f, 0x80, 0x31, 0xb5, 0x85, 0x9e, 0x0d, 0x3b, 0x01, 0x8f, 0x3f, 0x2b, 0xeb, 0x93, 0x51, + 0x9c, 0x82, 0xe2, 0x0c, 0x36, 0x9a, 0x86, 0x1a, 0xed, 0x27, 0xfe, 0x28, 0x5f, 0x6b, 0xd5, 0x36, + 0x7d, 0x66, 0x65, 0x41, 0x3c, 0xa5, 0x71, 0x50, 0x08, 0xe3, 0xbe, 0x13, 0x27, 0x4c, 0x02, 0xba, + 0xa3, 0x3e, 0x62, 0xbe, 0x38, 0x8b, 0x1f, 0x5f, 0xcc, 0x12, 0xc2, 0xdd, 0xb4, 0xed, 0x6f, 0x0f, + 0xc0, 0x68, 0x4a, 0x33, 0x1e, 0x72, 0x91, 0x7e, 0x1e, 0xaa, 0x72, 0xdd, 0xcc, 0x56, 0xad, 0x50, + 0x8b, 0xab, 0xc2, 0xa0, 0x8b, 0xd6, 0xba, 0x5e, 0x55, 0xb3, 0x46, 0x85, 0xb1, 0xe0, 0x62, 0x13, + 0x8f, 0x29, 0xe5, 0xc4, 0x8f, 0x67, 0x7d, 0x8f, 0x04, 0x09, 0x17, 0xb3, 0x18, 0xa5, 0xbc, 0xb6, + 0xb8, 0x6a, 0x12, 0xd5, 0x4a, 0x39, 0x03, 0xc0, 0x59, 0xf6, 0xe8, 0x67, 0x2c, 0x18, 0x75, 0xee, + 0xc6, 0xba, 0x68, 0xa4, 0x88, 0x58, 0x3b, 0xe6, 0x22, 0x95, 0xaa, 0x43, 0xc9, 0x5d, 0xbe, 0xa9, + 0x26, 0x9c, 0x66, 0x8a, 0xbe, 0x62, 0x01, 0x22, 0x3b, 0xc4, 0x95, 0x31, 0x75, 0x42, 0x96, 0xc1, + 0x22, 0x76, 0x9a, 0x97, 0xba, 0xe8, 0x72, 0xad, 0xde, 0xdd, 0x8e, 0x73, 0x64, 0xb0, 0xff, 0x49, + 0x59, 0x4d, 0x28, 0x1d, 0xc6, 0xe9, 0x18, 0xe1, 0x64, 0xd6, 0xd1, 0xc3, 0xc9, 0xf4, 0xb1, 0x7c, + 0x77, 0x1a, 0x5a, 0x2a, 0xfd, 0xa6, 0xf4, 0x90, 0xd2, 0x6f, 0x7e, 0xca, 0x4a, 0xd5, 0x67, 0x19, + 0xbe, 0xf8, 0x5a, 0xb1, 0x21, 0xa4, 0x53, 0x3c, 0x64, 0x20, 0xa3, 0xdd, 0xd3, 0x91, 0x22, 0x54, + 0x9b, 0x1a, 0x68, 0x87, 0xd2, 0x86, 0xff, 0xae, 0x0c, 0xc3, 0xc6, 0x4a, 0x9a, 0x6b, 0x16, 0x59, + 0x8f, 0x98, 0x59, 0x54, 0x3a, 0x84, 0x59, 0xf4, 0x93, 0x50, 0x73, 0xa5, 0x96, 0x2f, 0xa6, 0x42, + 0x69, 0x76, 0xed, 0xd0, 0x8a, 0x5e, 0x35, 0x61, 0xcd, 0x13, 0xcd, 0xa7, 0xf2, 0x57, 0xc4, 0x0a, + 0x31, 0xc0, 0x56, 0x88, 0xbc, 0x04, 0x13, 0xb1, 0x52, 0x74, 0x3f, 0xc3, 0xca, 0xf8, 0xb4, 0x3d, + 0xf1, 0x5e, 0x32, 0xd0, 0x9b, 0x97, 0xf1, 0x59, 0x59, 0x90, 0xcd, 0xd8, 0xc4, 0xb1, 0xbf, 0x6d, + 0xa9, 0x8f, 0xfb, 0x00, 0x92, 0xda, 0x6f, 0xa7, 0x93, 0xda, 0x2f, 0x15, 0xd2, 0xcd, 0x3d, 0xb2, + 0xd9, 0xaf, 0xc3, 0xd0, 0x6c, 0xd8, 0x6a, 0x39, 0x41, 0x03, 0xfd, 0x20, 0x0c, 0xb9, 0xfc, 0xa7, + 0x70, 0xec, 0xb0, 0xe3, 0x41, 0x01, 0xc5, 0x12, 0x86, 0x9e, 0x84, 0x01, 0x27, 0x6a, 0x4a, 0x67, + 0x0e, 0x8b, 0x30, 0x99, 0x89, 0x9a, 0x31, 0x66, 0xad, 0xf6, 0x5b, 0x65, 0x80, 0xd9, 0xb0, 0xd5, + 0x76, 0x22, 0xd2, 0x58, 0x0b, 0x59, 0x85, 0xb4, 0x13, 0x3d, 0x54, 0xd3, 0x9b, 0xa5, 0x47, 0xf9, + 0x60, 0xcd, 0x38, 0x5c, 0x29, 0x3f, 0xe8, 0xc3, 0x95, 0xcf, 0x59, 0x80, 0xe8, 0x17, 0x09, 0x03, + 0x12, 0x24, 0xfa, 0xb4, 0x78, 0x1a, 0x6a, 0xae, 0x6c, 0x15, 0x56, 0x8b, 0x9e, 0x7f, 0x12, 0x80, + 0x35, 0x4e, 0x1f, 0xdb, 0xcf, 0x67, 0xa4, 0x72, 0x2c, 0xa7, 0x23, 0x3f, 0x99, 0x4a, 0x15, 0xba, + 0xd2, 0xfe, 0xdd, 0x12, 0x3c, 0xc6, 0xd7, 0xbb, 0x25, 0x27, 0x70, 0x9a, 0xa4, 0x45, 0xa5, 0xea, + 0xf7, 0xfc, 0xdf, 0xa5, 0xfb, 0x1e, 0x4f, 0x46, 0x72, 0x1e, 0x77, 0x62, 0xf0, 0x01, 0xcd, 0x87, + 0xf0, 0x42, 0xe0, 0x25, 0x98, 0x11, 0x47, 0x31, 0x54, 0x65, 0xbd, 0x6b, 0xa1, 0xe8, 0x0a, 0x62, + 0xa4, 0xe6, 0xbc, 0x58, 0x94, 0x08, 0x56, 0x8c, 0xa8, 0x55, 0xe8, 0x87, 0xee, 0x16, 0x26, 0xed, + 0x90, 0x29, 0x35, 0x23, 0x90, 0x6e, 0x51, 0xb4, 0x63, 0x85, 0x61, 0xff, 0xae, 0x05, 0x59, 0x75, + 0x6f, 0xd4, 0x82, 0xb2, 0xee, 0x5b, 0x0b, 0xea, 0x10, 0xc5, 0x98, 0x7e, 0x1c, 0x86, 0x9d, 0x84, + 0xae, 0xd0, 0x7c, 0x4f, 0x5b, 0x3e, 0xda, 0x99, 0xc1, 0x52, 0xd8, 0xf0, 0x36, 0x3c, 0xb6, 0x97, + 0x35, 0xc9, 0xd9, 0xff, 0x7d, 0x00, 0xc6, 0xbb, 0xf2, 0x0d, 0xd0, 0xcb, 0x30, 0xe2, 0x8a, 0xe1, + 0xd1, 0x96, 0xde, 0xa2, 0x9a, 0x19, 0x78, 0xa5, 0x61, 0x38, 0x85, 0xd9, 0xc7, 0x00, 0x5d, 0x80, + 0x33, 0x11, 0xdd, 0x45, 0x77, 0xc8, 0xcc, 0x46, 0x42, 0xa2, 0x55, 0xe2, 0x86, 0x41, 0x83, 0x57, + 0x2c, 0x2b, 0xd7, 0x1f, 0xdf, 0xdf, 0x9b, 0x3c, 0x83, 0xbb, 0xc1, 0x38, 0xef, 0x19, 0xd4, 0x86, + 0x51, 0xdf, 0x34, 0xb0, 0x84, 0x75, 0x7d, 0x24, 0xdb, 0x4c, 0x2d, 0xc0, 0xa9, 0x66, 0x9c, 0x66, + 0x90, 0xb6, 0xd2, 0x2a, 0x0f, 0xc9, 0x4a, 0xfb, 0x69, 0x6d, 0xa5, 0xf1, 0xc3, 0xed, 0x8f, 0x14, + 0x9c, 0x6f, 0x72, 0xd2, 0x66, 0xda, 0xab, 0x50, 0x95, 0x81, 0x3f, 0x7d, 0x05, 0xcc, 0x98, 0x74, + 0x7a, 0x68, 0xb4, 0x7b, 0x25, 0xc8, 0xb1, 0xf0, 0xe9, 0x3c, 0xd3, 0xcb, 0x69, 0x6a, 0x9e, 0x1d, + 0x6e, 0x49, 0x45, 0x3b, 0x3c, 0xe8, 0x89, 0x2f, 0x1c, 0x1f, 0x2e, 0x7a, 0x87, 0xa2, 0xe3, 0xa0, + 0x54, 0x18, 0xbe, 0x8a, 0x85, 0xba, 0x08, 0xa0, 0xad, 0x20, 0x11, 0x64, 0xad, 0xce, 0x54, 0xb5, + 0xb1, 0x84, 0x0d, 0x2c, 0xba, 0x61, 0xf5, 0x82, 0x38, 0x71, 0x7c, 0xff, 0x8a, 0x17, 0x24, 0xc2, + 0xf3, 0xa6, 0x56, 0xc8, 0x05, 0x0d, 0xc2, 0x26, 0xde, 0xf9, 0xf7, 0x1b, 0xdf, 0xe5, 0x30, 0xdf, + 0x73, 0x13, 0x9e, 0x98, 0xf7, 0x12, 0x95, 0x1a, 0xa0, 0xc6, 0x11, 0x35, 0x72, 0x54, 0xaa, 0x8b, + 0xd5, 0x33, 0xd5, 0xc5, 0x08, 0xcd, 0x2f, 0xa5, 0x33, 0x09, 0xb2, 0xa1, 0xf9, 0xf6, 0xcb, 0x70, + 0x76, 0xde, 0x4b, 0x2e, 0x7b, 0x3e, 0x39, 0x24, 0x13, 0xfb, 0xb7, 0x07, 0x61, 0xc4, 0x4c, 0x2e, + 0x3b, 0x4c, 0xb6, 0xce, 0x17, 0xa8, 0x1d, 0x23, 0xde, 0xce, 0x53, 0x27, 0x52, 0xb7, 0x8e, 0x9d, + 0xe9, 0x96, 0xdf, 0x63, 0x86, 0x29, 0xa3, 0x79, 0x62, 0x53, 0x00, 0x74, 0x17, 0x2a, 0x1b, 0x2c, + 0x74, 0xbc, 0x5c, 0xc4, 0xb1, 0x7d, 0x5e, 0x8f, 0xea, 0x69, 0xc6, 0x83, 0xcf, 0x39, 0x3f, 0xba, + 0x42, 0x46, 0xe9, 0x7c, 0x24, 0x23, 0xdc, 0x51, 0x64, 0x22, 0x29, 0x8c, 0x5e, 0xaa, 0xbe, 0x72, + 0x04, 0x55, 0x9f, 0x52, 0xbc, 0x83, 0x0f, 0x49, 0xf1, 0xb2, 0x34, 0x80, 0x64, 0x93, 0xd9, 0x6f, + 0x22, 0x3e, 0x7b, 0x88, 0x75, 0x82, 0x91, 0x06, 0x90, 0x02, 0xe3, 0x2c, 0x3e, 0xfa, 0xa4, 0x52, + 0xdd, 0xd5, 0x22, 0x9c, 0x96, 0xe6, 0x88, 0x3e, 0x69, 0xad, 0xfd, 0xb9, 0x12, 0x8c, 0xcd, 0x07, + 0x9d, 0x95, 0xf9, 0x95, 0xce, 0xba, 0xef, 0xb9, 0xd7, 0xc8, 0x2e, 0x55, 0xcd, 0x5b, 0x64, 0x77, + 0x61, 0x4e, 0xcc, 0x20, 0x35, 0x66, 0xae, 0xd1, 0x46, 0xcc, 0x61, 0x54, 0x19, 0x6d, 0x78, 0x41, + 0x93, 0x44, 0xed, 0xc8, 0x13, 0xfe, 0x44, 0x43, 0x19, 0x5d, 0xd6, 0x20, 0x6c, 0xe2, 0x51, 0xda, + 0xe1, 0xdd, 0x80, 0x44, 0x59, 0x43, 0x76, 0x99, 0x36, 0x62, 0x0e, 0xa3, 0x48, 0x49, 0xd4, 0x89, + 0x13, 0x31, 0x18, 0x15, 0xd2, 0x1a, 0x6d, 0xc4, 0x1c, 0x46, 0x67, 0x7a, 0xdc, 0x59, 0x67, 0x51, + 0x11, 0x99, 0x60, 0xf0, 0x55, 0xde, 0x8c, 0x25, 0x9c, 0xa2, 0x6e, 0x91, 0xdd, 0x39, 0xba, 0xa5, + 0xcc, 0xe4, 0x84, 0x5c, 0xe3, 0xcd, 0x58, 0xc2, 0x59, 0xa9, 0xb5, 0x74, 0x77, 0x7c, 0xcf, 0x95, + 0x5a, 0x4b, 0x8b, 0xdf, 0x63, 0x73, 0xfa, 0x2b, 0x16, 0x8c, 0x98, 0xb1, 0x4c, 0xa8, 0x99, 0xb1, + 0x71, 0x97, 0xbb, 0x2a, 0x75, 0xfe, 0x68, 0xde, 0xb5, 0x44, 0x4d, 0x2f, 0x09, 0xdb, 0xf1, 0x0b, + 0x24, 0x68, 0x7a, 0x01, 0x61, 0x47, 0xd4, 0x3c, 0x06, 0x2a, 0x15, 0x28, 0x35, 0x1b, 0x36, 0xc8, + 0x11, 0x8c, 0x64, 0xfb, 0x16, 0x8c, 0x77, 0x25, 0x02, 0xf5, 0x61, 0x5a, 0x1c, 0x98, 0x86, 0x69, + 0x63, 0x18, 0xa6, 0x84, 0x65, 0xdd, 0x92, 0x59, 0x18, 0xe7, 0x13, 0x89, 0x72, 0x5a, 0x75, 0x37, + 0x49, 0x4b, 0x25, 0x77, 0x31, 0xe7, 0xf5, 0xcd, 0x2c, 0x10, 0x77, 0xe3, 0xdb, 0x9f, 0xb7, 0x60, + 0x34, 0x95, 0x9b, 0x55, 0x90, 0x11, 0xc4, 0x66, 0x5a, 0xc8, 0x42, 0xeb, 0x58, 0x7c, 0x71, 0x99, + 0x2d, 0xa6, 0x7a, 0xa6, 0x69, 0x10, 0x36, 0xf1, 0xec, 0x2f, 0x95, 0xa0, 0x2a, 0xc3, 0x13, 0xfa, + 0x10, 0xe5, 0xb3, 0x16, 0x8c, 0xaa, 0x03, 0x03, 0xe6, 0x89, 0x2a, 0x15, 0x11, 0x48, 0x4f, 0x25, + 0x50, 0xb1, 0x9f, 0xc1, 0x46, 0xa8, 0x2d, 0x72, 0x6c, 0x32, 0xc3, 0x69, 0xde, 0xe8, 0x26, 0x40, + 0xbc, 0x1b, 0x27, 0xa4, 0x65, 0xf8, 0xc4, 0x6c, 0x63, 0xc6, 0x4d, 0xb9, 0x61, 0x44, 0xe8, 0xfc, + 0xba, 0x1e, 0x36, 0xc8, 0xaa, 0xc2, 0xd4, 0x26, 0x94, 0x6e, 0xc3, 0x06, 0x25, 0xfb, 0xef, 0x97, + 0xe0, 0x74, 0x56, 0x24, 0xf4, 0x11, 0x18, 0x91, 0xdc, 0x8d, 0x2b, 0x96, 0x64, 0x4c, 0xc6, 0x08, + 0x36, 0x60, 0xf7, 0xf6, 0x26, 0x27, 0xbb, 0xaf, 0xb8, 0x9a, 0x32, 0x51, 0x70, 0x8a, 0x18, 0x3f, + 0xb5, 0x11, 0xc7, 0x8b, 0xf5, 0xdd, 0x99, 0x76, 0x5b, 0x1c, 0xbd, 0x18, 0xa7, 0x36, 0x26, 0x14, + 0x67, 0xb0, 0xd1, 0x0a, 0x9c, 0x35, 0x5a, 0xae, 0x13, 0xaf, 0xb9, 0xb9, 0x1e, 0x46, 0x72, 0x67, + 0xf5, 0xa4, 0x8e, 0x9a, 0xea, 0xc6, 0xc1, 0xb9, 0x4f, 0xd2, 0xd5, 0xde, 0x75, 0xda, 0x8e, 0xeb, + 0x25, 0xbb, 0xc2, 0xc9, 0xa7, 0x74, 0xd3, 0xac, 0x68, 0xc7, 0x0a, 0xc3, 0x5e, 0x82, 0x81, 0x3e, + 0x47, 0x50, 0x5f, 0x16, 0xfd, 0xab, 0x50, 0xa5, 0xe4, 0xa4, 0x79, 0x57, 0x04, 0xc9, 0x10, 0xaa, + 0xf2, 0x96, 0x04, 0x64, 0x43, 0xd9, 0x73, 0xe4, 0xc1, 0x98, 0x7a, 0xad, 0x85, 0x38, 0xee, 0xb0, + 0x4d, 0x32, 0x05, 0xa2, 0x67, 0xa0, 0x4c, 0x76, 0xda, 0xd9, 0x13, 0xb0, 0x4b, 0x3b, 0x6d, 0x2f, + 0x22, 0x31, 0x45, 0x22, 0x3b, 0x6d, 0x74, 0x1e, 0x4a, 0x5e, 0x43, 0x2c, 0x52, 0x20, 0x70, 0x4a, + 0x0b, 0x73, 0xb8, 0xe4, 0x35, 0xec, 0x1d, 0xa8, 0xa9, 0x6b, 0x19, 0xd0, 0x96, 0xd4, 0xdd, 0x56, + 0x11, 0xf1, 0x44, 0x92, 0x6e, 0x0f, 0xad, 0xdd, 0x01, 0xd0, 0x49, 0x6a, 0x45, 0xe9, 0x97, 0x0b, + 0x30, 0xe0, 0x86, 0x22, 0x81, 0xb6, 0xaa, 0xc9, 0x30, 0xa5, 0xcd, 0x20, 0xf6, 0x2d, 0x18, 0xbb, + 0x16, 0x84, 0x77, 0x59, 0xdd, 0x69, 0x56, 0x2f, 0x8a, 0x12, 0xde, 0xa0, 0x3f, 0xb2, 0x26, 0x02, + 0x83, 0x62, 0x0e, 0x53, 0x35, 0x85, 0x4a, 0xbd, 0x6a, 0x0a, 0xd9, 0x9f, 0xb2, 0xe0, 0xb4, 0x4a, + 0xb5, 0x91, 0xda, 0xf8, 0x65, 0x18, 0x59, 0xef, 0x78, 0x7e, 0x43, 0x56, 0xa1, 0xca, 0xb8, 0x29, + 0xea, 0x06, 0x0c, 0xa7, 0x30, 0xe9, 0xa6, 0x6a, 0xdd, 0x0b, 0x9c, 0x68, 0x77, 0x45, 0xab, 0x7f, + 0xa5, 0x11, 0xea, 0x0a, 0x82, 0x0d, 0x2c, 0xfb, 0xb3, 0xa6, 0x08, 0x22, 0xb9, 0xa7, 0x8f, 0x9e, + 0xbd, 0x01, 0x15, 0x57, 0x1d, 0xa4, 0x1e, 0xa9, 0x52, 0x9e, 0x4a, 0xde, 0x66, 0xce, 0x74, 0x4e, + 0xcd, 0xfe, 0xa7, 0x25, 0x18, 0x4d, 0x15, 0x04, 0x41, 0x3e, 0x54, 0x89, 0xcf, 0x5c, 0x79, 0x72, + 0x88, 0x1d, 0xb7, 0x16, 0xa3, 0x9a, 0x16, 0x97, 0x04, 0x5d, 0xac, 0x38, 0x3c, 0x1a, 0xe7, 0x55, + 0x2f, 0xc3, 0x88, 0x14, 0xe8, 0xc3, 0x4e, 0xcb, 0x17, 0xb3, 0x50, 0x0d, 0x80, 0x4b, 0x06, 0x0c, + 0xa7, 0x30, 0xed, 0xdf, 0x2b, 0xc3, 0x04, 0xf7, 0x7d, 0x36, 0x54, 0x48, 0xc9, 0x92, 0xb4, 0xb2, + 0xfe, 0x92, 0x2e, 0xdb, 0xc3, 0x3b, 0x72, 0xfd, 0xb8, 0xa5, 0x8f, 0xf3, 0x19, 0xf5, 0x15, 0xec, + 0xf0, 0x4b, 0x99, 0x60, 0x07, 0xbe, 0xd8, 0x36, 0x4f, 0x48, 0xa2, 0xef, 0xad, 0xe8, 0x87, 0xbf, + 0x53, 0x82, 0x53, 0x99, 0xba, 0xd2, 0xe8, 0xad, 0x74, 0x4d, 0x45, 0xab, 0x08, 0x0f, 0xd9, 0x7d, + 0x4b, 0x0d, 0x1f, 0xae, 0xb2, 0xe2, 0x43, 0x9a, 0x2a, 0xf6, 0xef, 0x97, 0x60, 0x2c, 0x5d, 0x10, + 0xfb, 0x11, 0xec, 0xa9, 0xf7, 0x40, 0x8d, 0xd5, 0x7c, 0x65, 0x97, 0x78, 0x71, 0x47, 0x1c, 0xaf, + 0x13, 0x2a, 0x1b, 0xb1, 0x86, 0x3f, 0x12, 0x05, 0x2b, 0xed, 0xbf, 0x6b, 0xc1, 0x39, 0xfe, 0x96, + 0xd9, 0x71, 0xf8, 0x97, 0xf3, 0x7a, 0xf7, 0xf5, 0x62, 0x05, 0xcc, 0x94, 0x9b, 0x3a, 0xa8, 0x7f, + 0xd9, 0xe5, 0x41, 0x42, 0xda, 0xf4, 0x50, 0x78, 0x04, 0x85, 0x3d, 0xd4, 0x60, 0xb0, 0x7f, 0xbf, + 0x0c, 0xfa, 0xbe, 0x24, 0xe4, 0x89, 0xb4, 0xa1, 0x42, 0xca, 0x6e, 0xad, 0xee, 0x06, 0xae, 0xbe, + 0x99, 0xa9, 0x9a, 0xc9, 0x1a, 0xfa, 0x79, 0x0b, 0x86, 0xbd, 0xc0, 0x4b, 0x3c, 0x87, 0x19, 0xcf, + 0xc5, 0xdc, 0xf7, 0xa2, 0xd8, 0x2d, 0x70, 0xca, 0x61, 0x64, 0x7a, 0x6f, 0x15, 0x33, 0x6c, 0x72, + 0x46, 0x1f, 0x13, 0xf1, 0x88, 0xe5, 0xc2, 0x12, 0xde, 0xaa, 0x99, 0x20, 0xc4, 0x36, 0x54, 0x22, + 0x92, 0x44, 0x05, 0xe5, 0x89, 0x62, 0x4a, 0x4a, 0x55, 0x70, 0xd4, 0x37, 0x57, 0xd2, 0x66, 0xcc, + 0x19, 0xd9, 0x31, 0xa0, 0xee, 0xbe, 0x38, 0x64, 0xac, 0xd7, 0x34, 0xd4, 0x9c, 0x4e, 0x12, 0xb6, + 0x68, 0x37, 0x09, 0x07, 0xb3, 0x8e, 0x66, 0x93, 0x00, 0xac, 0x71, 0xec, 0xb7, 0x2a, 0x90, 0xc9, + 0xe3, 0x41, 0x3b, 0xe6, 0x5d, 0x5f, 0x56, 0xb1, 0x77, 0x7d, 0x29, 0x61, 0xf2, 0xee, 0xfb, 0x42, + 0x4d, 0xa8, 0xb4, 0x37, 0x9d, 0x58, 0xda, 0xc6, 0xaf, 0xca, 0x6e, 0x5a, 0xa1, 0x8d, 0xf7, 0xf6, + 0x26, 0x7f, 0xac, 0x3f, 0x5f, 0x0b, 0x1d, 0xab, 0xd3, 0x3c, 0x2d, 0x5e, 0xb3, 0x66, 0x34, 0x30, + 0xa7, 0x7f, 0x98, 0x1b, 0x6f, 0x3e, 0x2d, 0xaa, 0xf4, 0x62, 0x12, 0x77, 0xfc, 0x44, 0x8c, 0x86, + 0x57, 0x0b, 0x9c, 0x65, 0x9c, 0xb0, 0xce, 0x40, 0xe5, 0xff, 0xb1, 0xc1, 0x14, 0x7d, 0x04, 0x6a, + 0x71, 0xe2, 0x44, 0xc9, 0x11, 0x73, 0xc6, 0x54, 0xa7, 0xaf, 0x4a, 0x22, 0x58, 0xd3, 0x43, 0xaf, + 0xb1, 0x2a, 0x84, 0x5e, 0xbc, 0x79, 0xc4, 0x30, 0x62, 0x59, 0xb1, 0x50, 0x50, 0xc0, 0x06, 0x35, + 0xba, 0xf5, 0x60, 0x63, 0x9b, 0xc7, 0xce, 0x54, 0xd9, 0xde, 0x52, 0xa9, 0x42, 0xac, 0x20, 0xd8, + 0xc0, 0xb2, 0x7f, 0x08, 0xd2, 0x29, 0xd4, 0x68, 0x52, 0x66, 0x6c, 0x73, 0xdf, 0x13, 0x0b, 0x07, + 0x4e, 0x25, 0x57, 0xff, 0xa6, 0x05, 0x66, 0x9e, 0x37, 0xba, 0xc3, 0x13, 0xca, 0xad, 0x22, 0xce, + 0x0b, 0x0c, 0xba, 0x53, 0x4b, 0x4e, 0x3b, 0x73, 0x70, 0x25, 0xb3, 0xca, 0xcf, 0xbf, 0x1f, 0xaa, + 0x12, 0x7a, 0x28, 0xa3, 0xee, 0x93, 0x70, 0x26, 0x7b, 0x13, 0xaa, 0xf0, 0x35, 0x37, 0xa3, 0xb0, + 0xd3, 0xce, 0x6e, 0x24, 0xd9, 0x4d, 0x99, 0x98, 0xc3, 0xe8, 0x76, 0x6c, 0xcb, 0x0b, 0x1a, 0xd9, + 0x8d, 0xe4, 0x35, 0x2f, 0x68, 0x60, 0x06, 0xe9, 0xe3, 0xc6, 0xb7, 0xdf, 0xb2, 0xe0, 0xc2, 0x41, + 0x17, 0xb6, 0xa2, 0x27, 0x61, 0xe0, 0xae, 0x13, 0xc9, 0xf2, 0xb0, 0x4c, 0x51, 0xde, 0x72, 0xa2, + 0x00, 0xb3, 0x56, 0xb4, 0x0b, 0x83, 0x3c, 0x21, 0x59, 0x58, 0xeb, 0xaf, 0x16, 0x7b, 0x7d, 0xec, + 0x35, 0x62, 0x6c, 0x17, 0x78, 0x32, 0x34, 0x16, 0x0c, 0xed, 0xef, 0x58, 0x80, 0x96, 0xb7, 0x49, + 0x14, 0x79, 0x0d, 0x23, 0x85, 0x1a, 0xbd, 0x04, 0x23, 0xb7, 0x57, 0x97, 0xaf, 0xaf, 0x84, 0x5e, + 0xc0, 0x4a, 0x2a, 0x18, 0x59, 0x63, 0x57, 0x8d, 0x76, 0x9c, 0xc2, 0x42, 0xb3, 0x30, 0x7e, 0xfb, + 0x0e, 0xdd, 0xfc, 0x9a, 0xa5, 0xe8, 0x4b, 0xda, 0xdd, 0x79, 0xf5, 0xd5, 0x0c, 0x10, 0x77, 0xe3, + 0xa3, 0x65, 0x38, 0xd7, 0xe2, 0xdb, 0x0d, 0x5e, 0x41, 0x9a, 0xef, 0x3d, 0x54, 0x8e, 0xc6, 0x13, + 0xfb, 0x7b, 0x93, 0xe7, 0x96, 0xf2, 0x10, 0x70, 0xfe, 0x73, 0xf6, 0xfb, 0x01, 0xf1, 0x60, 0x95, + 0xd9, 0xbc, 0xc8, 0x83, 0x9e, 0x3b, 0x71, 0xfb, 0xab, 0x15, 0x38, 0x95, 0x29, 0x1e, 0x48, 0xb7, + 0x7a, 0xdd, 0xa1, 0x0e, 0xc7, 0x5e, 0xbf, 0xbb, 0xc5, 0xeb, 0x2b, 0x78, 0x22, 0x80, 0x8a, 0x17, + 0xb4, 0x3b, 0x49, 0x31, 0x69, 0x59, 0x5c, 0x88, 0x05, 0x4a, 0xd0, 0x70, 0x12, 0xd1, 0xbf, 0x98, + 0xb3, 0x29, 0x32, 0x14, 0x23, 0x65, 0x8c, 0x0f, 0x3c, 0x24, 0x77, 0xc0, 0xa7, 0x75, 0x60, 0x44, + 0xa5, 0x88, 0x83, 0xfa, 0xcc, 0x60, 0x39, 0xe9, 0x03, 0xb6, 0xdf, 0x28, 0xc1, 0xb0, 0xf1, 0xd1, + 0xd0, 0x2f, 0xa7, 0xab, 0xa0, 0x58, 0xc5, 0xbd, 0x12, 0xa3, 0x3f, 0xa5, 0xeb, 0x9c, 0xf0, 0x57, + 0x7a, 0xb6, 0xbb, 0x00, 0xca, 0xbd, 0xbd, 0xc9, 0xd3, 0x99, 0x12, 0x27, 0xa9, 0xa2, 0x28, 0xe7, + 0x3f, 0x01, 0xa7, 0x32, 0x64, 0x72, 0x5e, 0x79, 0x2d, 0x7d, 0xd1, 0xed, 0x31, 0xdd, 0x52, 0x66, + 0x97, 0x7d, 0x9d, 0x76, 0x99, 0xbe, 0xff, 0xbc, 0x0f, 0x77, 0x5c, 0x26, 0x01, 0xad, 0xd4, 0x67, + 0x02, 0xda, 0x73, 0x50, 0x6d, 0x87, 0xbe, 0xe7, 0x7a, 0xaa, 0x5e, 0x16, 0x4b, 0x79, 0x5b, 0x11, + 0x6d, 0x58, 0x41, 0xd1, 0x5d, 0xa8, 0xa9, 0x3b, 0x81, 0x45, 0x52, 0x7f, 0x51, 0xae, 0x5e, 0x65, + 0xb4, 0xe8, 0xbb, 0x7e, 0x35, 0x2f, 0x64, 0xc3, 0x20, 0x5b, 0x04, 0x65, 0x34, 0x2d, 0x4b, 0x8f, + 0x64, 0xab, 0x63, 0x8c, 0x05, 0xc4, 0xfe, 0x62, 0x15, 0xce, 0xe6, 0x55, 0x70, 0x45, 0x1f, 0x87, + 0x41, 0x2e, 0x63, 0x31, 0x45, 0xc2, 0xf3, 0x78, 0xcc, 0x33, 0x82, 0x42, 0x2c, 0xf6, 0x1b, 0x0b, + 0x9e, 0x82, 0xbb, 0xef, 0xac, 0x8b, 0x11, 0x72, 0x32, 0xdc, 0x17, 0x1d, 0xcd, 0x7d, 0xd1, 0xe1, + 0xdc, 0x7d, 0x67, 0x1d, 0xed, 0x40, 0xa5, 0xe9, 0x25, 0xc4, 0x11, 0x4e, 0x84, 0x5b, 0x27, 0xc2, + 0x9c, 0x38, 0xdc, 0x4a, 0x63, 0x3f, 0x31, 0x67, 0x88, 0xbe, 0x66, 0xc1, 0xa9, 0xf5, 0x74, 0xb6, + 0xa9, 0x50, 0x9e, 0xce, 0x09, 0x54, 0xe9, 0x4d, 0x33, 0xe2, 0xd7, 0x3d, 0x64, 0x1a, 0x71, 0x56, + 0x1c, 0xf4, 0xd3, 0x16, 0x0c, 0x6d, 0x78, 0xbe, 0x51, 0xb0, 0xf1, 0x04, 0x3e, 0xce, 0x65, 0xc6, + 0x40, 0xef, 0x38, 0xf8, 0xff, 0x18, 0x4b, 0xce, 0xbd, 0x56, 0xaa, 0xc1, 0xe3, 0xae, 0x54, 0x43, + 0x0f, 0x69, 0xa5, 0xfa, 0x8c, 0x05, 0x35, 0xd5, 0xd3, 0x22, 0x83, 0xf0, 0x23, 0x27, 0xf8, 0xc9, + 0xb9, 0xe7, 0x44, 0xfd, 0xc5, 0x9a, 0xb9, 0xfd, 0x95, 0x32, 0x3c, 0x75, 0xdf, 0x67, 0x75, 0x24, + 0x86, 0x75, 0x9f, 0x48, 0x8c, 0x0b, 0x30, 0x10, 0x91, 0x76, 0x98, 0xb5, 0xbc, 0x59, 0xcc, 0x2c, + 0x83, 0xa0, 0xa7, 0xa0, 0xec, 0xb4, 0x3d, 0x61, 0x78, 0xab, 0xed, 0xc2, 0xcc, 0xca, 0x02, 0xa6, + 0xed, 0x74, 0xa0, 0xd5, 0xd6, 0x65, 0x0a, 0x76, 0x31, 0x37, 0xbf, 0xf4, 0xca, 0xe8, 0x16, 0xbd, + 0x21, 0xa1, 0x58, 0xf3, 0xa5, 0xf6, 0x60, 0x2a, 0xd7, 0xab, 0x52, 0x84, 0x4a, 0xe8, 0x99, 0x92, + 0xcd, 0x33, 0x1e, 0x7a, 0x25, 0x90, 0xd9, 0xbf, 0x50, 0x82, 0x67, 0xfa, 0x98, 0xc9, 0x66, 0xd6, + 0xa6, 0x75, 0x40, 0xd6, 0xe6, 0xf7, 0xc7, 0x67, 0xb2, 0xff, 0x8a, 0x05, 0xe7, 0x7b, 0x2b, 0x12, + 0xf4, 0x22, 0x0c, 0xaf, 0x47, 0x4e, 0xe0, 0x6e, 0xb2, 0xdb, 0xac, 0x64, 0xa7, 0xb0, 0xbe, 0xd6, + 0xcd, 0xd8, 0xc4, 0xa1, 0x5b, 0x1d, 0x5e, 0x41, 0xdb, 0xc0, 0x90, 0xb9, 0x39, 0x74, 0xab, 0xb3, + 0x96, 0x05, 0xe2, 0x6e, 0x7c, 0xfb, 0xf7, 0x4a, 0xf9, 0x62, 0xf1, 0x05, 0xe7, 0x30, 0xdf, 0x49, + 0x7c, 0x85, 0x52, 0x8f, 0xaf, 0x60, 0xa6, 0xf2, 0x97, 0x1f, 0x48, 0x2a, 0x3f, 0x35, 0x2f, 0x7c, + 0x5d, 0xf2, 0x53, 0x98, 0x17, 0x99, 0xb3, 0xaa, 0x39, 0x38, 0x6d, 0x14, 0x7e, 0xe7, 0xf9, 0x56, + 0x3c, 0xe4, 0x4a, 0x25, 0x21, 0xaf, 0x64, 0xe0, 0xb8, 0xeb, 0x09, 0xfb, 0x57, 0x4a, 0xf0, 0x44, + 0xcf, 0x55, 0xf4, 0x01, 0x69, 0x23, 0xb3, 0x83, 0x07, 0x1e, 0x4c, 0x07, 0x3f, 0x0f, 0x55, 0x2f, + 0x88, 0x89, 0xdb, 0x89, 0x78, 0xa7, 0x19, 0xd9, 0x07, 0x0b, 0xa2, 0x1d, 0x2b, 0x0c, 0xfb, 0x0f, + 0x7a, 0x0f, 0x35, 0x6a, 0x51, 0x7d, 0xdf, 0xf6, 0xd2, 0x2b, 0x30, 0xea, 0xb4, 0xdb, 0x1c, 0x8f, + 0xc5, 0xe0, 0x64, 0xca, 0x0a, 0xcc, 0x98, 0x40, 0x9c, 0xc6, 0x35, 0xc6, 0xf0, 0x60, 0xaf, 0x31, + 0x6c, 0xff, 0xb1, 0x05, 0x35, 0x4c, 0x36, 0xf8, 0x7c, 0x47, 0xb7, 0x45, 0x17, 0x59, 0x45, 0x14, + 0x20, 0xa3, 0x1d, 0x1b, 0x7b, 0xac, 0x30, 0x57, 0x5e, 0x67, 0x77, 0x97, 0xfc, 0x2f, 0x1d, 0xaa, + 0xe4, 0xbf, 0x2a, 0xfa, 0x5e, 0xee, 0x5d, 0xf4, 0xdd, 0xfe, 0xfa, 0x10, 0x7d, 0xbd, 0x76, 0x38, + 0x1b, 0x91, 0x46, 0x4c, 0xbf, 0x6f, 0x27, 0xf2, 0xb3, 0x97, 0xfb, 0xdf, 0xc0, 0x8b, 0x98, 0xb6, + 0xa7, 0x1c, 0xed, 0xa5, 0x43, 0x25, 0x55, 0x97, 0x0f, 0x4c, 0xaa, 0x7e, 0x05, 0x46, 0xe3, 0x78, + 0x73, 0x25, 0xf2, 0xb6, 0x9d, 0x84, 0x5c, 0x23, 0xbb, 0x22, 0x84, 0x53, 0x27, 0x42, 0xae, 0x5e, + 0xd1, 0x40, 0x9c, 0xc6, 0x45, 0xf3, 0x30, 0xae, 0x53, 0x9b, 0x49, 0x94, 0xb0, 0x88, 0x4d, 0x3e, + 0x12, 0x54, 0x1e, 0xa2, 0x4e, 0x86, 0x16, 0x08, 0xb8, 0xfb, 0x19, 0xaa, 0xb1, 0x52, 0x8d, 0x54, + 0x90, 0xc1, 0xb4, 0xc6, 0x4a, 0xd1, 0xa1, 0xb2, 0x74, 0x3d, 0x81, 0x96, 0xe0, 0x0c, 0x1f, 0x18, + 0x33, 0xed, 0xb6, 0xf1, 0x46, 0x43, 0xe9, 0xc2, 0x4f, 0xf3, 0xdd, 0x28, 0x38, 0xef, 0x39, 0xba, + 0x47, 0x55, 0xcd, 0x0b, 0x73, 0xc2, 0x47, 0xac, 0xf6, 0xa8, 0x8a, 0xcc, 0x42, 0x03, 0x9b, 0x78, + 0xe8, 0xc3, 0xf0, 0xb8, 0xfe, 0xcb, 0xc3, 0xfa, 0xf9, 0xc1, 0xc9, 0x9c, 0xa8, 0x1a, 0xa1, 0x4a, + 0x8c, 0xcf, 0xe7, 0xa2, 0x35, 0x70, 0xaf, 0xe7, 0xd1, 0x3a, 0x9c, 0x57, 0xa0, 0x4b, 0x41, 0xc2, + 0x62, 0x74, 0x63, 0x52, 0x77, 0x62, 0x72, 0x23, 0xf2, 0x59, 0x9d, 0x89, 0x9a, 0xbe, 0xfd, 0x69, + 0xde, 0x4b, 0xae, 0xe4, 0x61, 0xe2, 0x45, 0x7c, 0x1f, 0x2a, 0x68, 0x1a, 0x6a, 0x24, 0x70, 0xd6, + 0x7d, 0xb2, 0x3c, 0xbb, 0xc0, 0xaa, 0x4f, 0x18, 0xe7, 0x34, 0x97, 0x24, 0x00, 0x6b, 0x1c, 0x15, + 0x35, 0x34, 0xd2, 0xf3, 0x26, 0xb2, 0x15, 0x38, 0xdb, 0x74, 0xdb, 0xd4, 0x9a, 0xf0, 0x5c, 0x32, + 0xe3, 0xb2, 0xc8, 0x19, 0xfa, 0x61, 0x78, 0x45, 0x2e, 0x15, 0x12, 0x37, 0x3f, 0xbb, 0xd2, 0x85, + 0x83, 0x73, 0x9f, 0xa4, 0x73, 0xac, 0x1d, 0x85, 0x3b, 0xbb, 0x13, 0x67, 0xd2, 0x73, 0x6c, 0x85, + 0x36, 0x62, 0x0e, 0x43, 0x57, 0x01, 0xb1, 0xf8, 0xca, 0x2b, 0x49, 0xd2, 0x56, 0xe6, 0xcb, 0xc4, + 0x59, 0xf6, 0x4a, 0xe7, 0xc5, 0x13, 0xe8, 0x72, 0x17, 0x06, 0xce, 0x79, 0xca, 0xfe, 0x23, 0x0b, + 0x46, 0xd5, 0x7c, 0x7d, 0x00, 0x11, 0xc6, 0x7e, 0x3a, 0xc2, 0x78, 0xfe, 0xf8, 0x1a, 0x8f, 0x49, + 0xde, 0x23, 0x4c, 0xed, 0x67, 0x87, 0x01, 0xb4, 0x56, 0x54, 0x0b, 0x92, 0xd5, 0x73, 0x41, 0x7a, + 0x64, 0x35, 0x52, 0x5e, 0xaa, 0x79, 0xe5, 0xe1, 0xa6, 0x9a, 0xaf, 0xc2, 0x39, 0x69, 0x2e, 0xf0, + 0x93, 0x80, 0x2b, 0x61, 0xac, 0x14, 0x5c, 0xb5, 0xfe, 0x94, 0x20, 0x74, 0x6e, 0x21, 0x0f, 0x09, + 0xe7, 0x3f, 0x9b, 0xb2, 0x52, 0x86, 0x0e, 0xb2, 0x52, 0xf4, 0x9c, 0x5e, 0xdc, 0x90, 0xb5, 0xc4, + 0x33, 0x73, 0x7a, 0xf1, 0xf2, 0x2a, 0xd6, 0x38, 0xf9, 0x8a, 0xbd, 0x56, 0x90, 0x62, 0x87, 0x43, + 0x2b, 0x76, 0xa9, 0x62, 0x86, 0x7b, 0xaa, 0x18, 0xe9, 0x71, 0x1c, 0xe9, 0xe9, 0x71, 0xfc, 0x00, + 0x8c, 0x79, 0xc1, 0x26, 0x89, 0xbc, 0x84, 0x34, 0xd8, 0x5c, 0x60, 0xea, 0xa7, 0xaa, 0x97, 0xf5, + 0x85, 0x14, 0x14, 0x67, 0xb0, 0xd3, 0x7a, 0x71, 0xac, 0x0f, 0xbd, 0xd8, 0x63, 0x35, 0x3a, 0x55, + 0xcc, 0x6a, 0x74, 0xfa, 0xf8, 0xab, 0xd1, 0xf8, 0x89, 0xae, 0x46, 0xa8, 0x90, 0xd5, 0xa8, 0x2f, + 0x45, 0x6f, 0x6c, 0xe8, 0xce, 0x1e, 0xb0, 0xa1, 0xeb, 0xb5, 0x14, 0x9d, 0x3b, 0xf2, 0x52, 0x94, + 0xbf, 0xca, 0x3c, 0x76, 0xa4, 0x55, 0xe6, 0x33, 0x25, 0x38, 0xa7, 0xf5, 0x30, 0x1d, 0xfd, 0xde, + 0x06, 0xd5, 0x44, 0xec, 0x3a, 0x0a, 0xee, 0x95, 0x37, 0x02, 0xde, 0x75, 0xec, 0xbc, 0x82, 0x60, + 0x03, 0x8b, 0xc5, 0x8d, 0x93, 0x88, 0xd5, 0x1d, 0xcc, 0x2a, 0xe9, 0x59, 0xd1, 0x8e, 0x15, 0x06, + 0x1d, 0x5f, 0xf4, 0xb7, 0xc8, 0xc5, 0xc9, 0x56, 0xd7, 0x99, 0xd5, 0x20, 0x6c, 0xe2, 0xa1, 0xe7, + 0x38, 0x13, 0xa6, 0x20, 0xa8, 0xa2, 0x1e, 0x11, 0xf7, 0xd3, 0x49, 0x9d, 0xa0, 0xa0, 0x52, 0x1c, + 0x96, 0x20, 0x50, 0xe9, 0x16, 0x87, 0x05, 0xb8, 0x28, 0x0c, 0xfb, 0x7f, 0x58, 0xf0, 0x44, 0x6e, + 0x57, 0x3c, 0x80, 0xc5, 0x77, 0x27, 0xbd, 0xf8, 0xae, 0x16, 0xb5, 0xdd, 0x30, 0xde, 0xa2, 0xc7, + 0x42, 0xfc, 0x6f, 0x2d, 0x18, 0xd3, 0xf8, 0x0f, 0xe0, 0x55, 0xbd, 0xf4, 0xab, 0x16, 0xb7, 0xb3, + 0xaa, 0x75, 0xbd, 0xdb, 0x1f, 0xb1, 0x77, 0xe3, 0x47, 0xe7, 0x33, 0xae, 0xac, 0x27, 0x78, 0xc0, + 0x39, 0xd1, 0x2e, 0x0c, 0xb2, 0x63, 0xae, 0xb8, 0x98, 0x23, 0xfc, 0x34, 0x7f, 0x76, 0x64, 0xa6, + 0x8f, 0x10, 0xd9, 0xdf, 0x18, 0x0b, 0x86, 0xac, 0x2a, 0xa6, 0x17, 0x53, 0x6d, 0xde, 0x10, 0xa1, + 0xf6, 0xba, 0x2a, 0xa6, 0x68, 0xc7, 0x0a, 0xc3, 0x6e, 0xc1, 0x44, 0x9a, 0xf8, 0x1c, 0xd9, 0x60, + 0x61, 0x61, 0x7d, 0xbd, 0xe6, 0x34, 0xd4, 0x1c, 0xf6, 0xd4, 0x62, 0xc7, 0xc9, 0x5e, 0x69, 0x3a, + 0x23, 0x01, 0x58, 0xe3, 0xd8, 0xbf, 0x6e, 0xc1, 0x99, 0x9c, 0x97, 0x29, 0x30, 0xc5, 0x20, 0xd1, + 0x5a, 0x20, 0x6f, 0xc1, 0x7d, 0x37, 0x0c, 0x35, 0xc8, 0x86, 0x23, 0x03, 0x8f, 0x0c, 0x9d, 0x3b, + 0xc7, 0x9b, 0xb1, 0x84, 0xdb, 0xff, 0xd5, 0x82, 0x53, 0x69, 0x59, 0x63, 0xaa, 0x35, 0xf9, 0xcb, + 0xcc, 0x79, 0xb1, 0x1b, 0x6e, 0x93, 0x68, 0x97, 0xbe, 0x39, 0x97, 0x5a, 0x69, 0xcd, 0x99, 0x2e, + 0x0c, 0x9c, 0xf3, 0x14, 0xab, 0x43, 0xd7, 0x50, 0xbd, 0x2d, 0x47, 0xca, 0xcd, 0x22, 0x47, 0x8a, + 0xfe, 0x98, 0xe6, 0x21, 0xa5, 0x62, 0x89, 0x4d, 0xfe, 0xf6, 0x77, 0x06, 0x40, 0xe5, 0x20, 0xb1, + 0xa8, 0x8f, 0x82, 0x62, 0x66, 0x52, 0xd7, 0xb8, 0x94, 0xfb, 0xb8, 0xc6, 0x45, 0x0e, 0x86, 0x81, + 0xfb, 0x1d, 0xc3, 0x72, 0xef, 0x85, 0xe9, 0x24, 0x54, 0x6f, 0xb8, 0xa6, 0x41, 0xd8, 0xc4, 0xa3, + 0x92, 0xf8, 0xde, 0x36, 0xe1, 0x0f, 0x0d, 0xa6, 0x25, 0x59, 0x94, 0x00, 0xac, 0x71, 0xa8, 0x24, + 0x0d, 0x6f, 0x63, 0x43, 0x6c, 0xc5, 0x95, 0x24, 0xb4, 0x77, 0x30, 0x83, 0xf0, 0xd2, 0xa2, 0xe1, + 0x96, 0xb0, 0x4e, 0x8d, 0xd2, 0xa2, 0xe1, 0x16, 0x66, 0x10, 0x6a, 0x4f, 0x05, 0x61, 0xd4, 0x62, + 0x57, 0xce, 0x36, 0x14, 0x17, 0x61, 0x95, 0x2a, 0x7b, 0xea, 0x7a, 0x37, 0x0a, 0xce, 0x7b, 0x8e, + 0x8e, 0xc0, 0x76, 0x44, 0x1a, 0x9e, 0x9b, 0x98, 0xd4, 0x20, 0x3d, 0x02, 0x57, 0xba, 0x30, 0x70, + 0xce, 0x53, 0x68, 0x06, 0x4e, 0xc9, 0x1c, 0x32, 0x59, 0x21, 0x60, 0x38, 0x9d, 0x91, 0x8c, 0xd3, + 0x60, 0x9c, 0xc5, 0xa7, 0xda, 0xa6, 0x25, 0x8a, 0x83, 0x30, 0x23, 0xd6, 0xd0, 0x36, 0xb2, 0x68, + 0x08, 0x56, 0x18, 0xf6, 0xa7, 0xcb, 0x74, 0x75, 0xec, 0x71, 0x43, 0xc3, 0x03, 0x8b, 0xd1, 0x4a, + 0x8f, 0xc8, 0x81, 0x3e, 0x46, 0xe4, 0x4b, 0x30, 0x72, 0x3b, 0x0e, 0x03, 0x15, 0xff, 0x54, 0xe9, + 0x19, 0xff, 0x64, 0x60, 0xe5, 0xc7, 0x3f, 0x0d, 0x16, 0x15, 0xff, 0x34, 0x74, 0xc4, 0xf8, 0xa7, + 0x6f, 0x56, 0x40, 0xd5, 0x38, 0xbf, 0x4e, 0x92, 0xbb, 0x61, 0xb4, 0xe5, 0x05, 0x4d, 0x96, 0x7b, + 0xf7, 0x35, 0x0b, 0x46, 0xf8, 0x7c, 0x59, 0x34, 0xf3, 0x57, 0x36, 0x0a, 0x2a, 0x9e, 0x9d, 0x62, + 0x36, 0xb5, 0x66, 0x30, 0xca, 0x5c, 0xcd, 0x65, 0x82, 0x70, 0x4a, 0x22, 0xf4, 0x09, 0x00, 0xe9, + 0xb7, 0xdc, 0x90, 0x2a, 0x73, 0xa1, 0x18, 0xf9, 0x30, 0xd9, 0xd0, 0xb6, 0xe9, 0x9a, 0x62, 0x82, + 0x0d, 0x86, 0xe8, 0x33, 0xd9, 0x2b, 0xb9, 0x3f, 0x76, 0x22, 0x7d, 0xd3, 0x4f, 0x66, 0x0f, 0x86, + 0x21, 0x2f, 0x68, 0xd2, 0x71, 0x22, 0xe2, 0x44, 0xde, 0x95, 0x97, 0xb7, 0xba, 0x18, 0x3a, 0x8d, + 0xba, 0xe3, 0x3b, 0x81, 0x4b, 0xa2, 0x05, 0x8e, 0x6e, 0x5e, 0x48, 0xc9, 0x1a, 0xb0, 0x24, 0xd4, + 0x55, 0x1d, 0xbe, 0xd2, 0x4f, 0x75, 0xf8, 0xf3, 0x1f, 0x84, 0xf1, 0xae, 0x8f, 0x79, 0xa8, 0x44, + 0x9e, 0xa3, 0xe7, 0x00, 0xd9, 0xff, 0x6c, 0x50, 0x2f, 0x5a, 0xd7, 0xc3, 0x06, 0xaf, 0x51, 0x1e, + 0xe9, 0x2f, 0x2a, 0x6c, 0xcf, 0x02, 0x87, 0x88, 0x71, 0xa9, 0xa5, 0x6a, 0xc4, 0x26, 0x4b, 0x3a, + 0x46, 0xdb, 0x4e, 0x44, 0x82, 0x93, 0x1e, 0xa3, 0x2b, 0x8a, 0x09, 0x36, 0x18, 0xa2, 0xcd, 0x54, + 0x24, 0xff, 0xe5, 0xe3, 0x47, 0xf2, 0xb3, 0x8a, 0x1e, 0x79, 0x65, 0x85, 0xbf, 0x68, 0xc1, 0x58, + 0x90, 0x1a, 0xb9, 0xc5, 0x04, 0xef, 0xe5, 0xcf, 0x0a, 0x7e, 0x45, 0x46, 0xba, 0x0d, 0x67, 0xf8, + 0xe7, 0x2d, 0x69, 0x95, 0x43, 0x2e, 0x69, 0xfa, 0xb2, 0x83, 0xc1, 0x5e, 0x97, 0x1d, 0xa0, 0x40, + 0xdd, 0xf6, 0x32, 0x54, 0xf8, 0x6d, 0x2f, 0x90, 0x73, 0xd3, 0xcb, 0x2d, 0xa8, 0xb9, 0x11, 0x71, + 0x92, 0x23, 0x5e, 0xfc, 0xc1, 0x8e, 0xc2, 0x67, 0x25, 0x01, 0xac, 0x69, 0xd9, 0xff, 0x67, 0x00, + 0x4e, 0xcb, 0x1e, 0x91, 0x81, 0xbf, 0x74, 0x7d, 0xe4, 0x7c, 0xb5, 0x71, 0xab, 0xd6, 0xc7, 0x2b, + 0x12, 0x80, 0x35, 0x0e, 0xb5, 0xc7, 0x3a, 0x31, 0x59, 0x6e, 0x93, 0x60, 0xd1, 0x5b, 0x8f, 0xc5, + 0xf9, 0xa3, 0x9a, 0x28, 0x37, 0x34, 0x08, 0x9b, 0x78, 0xd4, 0x18, 0xe7, 0x76, 0x71, 0x9c, 0x4d, + 0x1a, 0x10, 0xf6, 0x36, 0x96, 0x70, 0xf4, 0x8b, 0xb9, 0x57, 0x46, 0x15, 0x93, 0x2e, 0xd3, 0x15, + 0xef, 0x7c, 0xc8, 0xbb, 0xa2, 0xfe, 0x96, 0x05, 0xe7, 0x78, 0xab, 0xec, 0xc9, 0x1b, 0xed, 0x86, + 0x93, 0x90, 0xb8, 0x98, 0x92, 0xb4, 0x39, 0xf2, 0x69, 0xe7, 0x6b, 0x1e, 0x5b, 0x9c, 0x2f, 0x0d, + 0x7a, 0xcb, 0x82, 0x53, 0x5b, 0xa9, 0xfc, 0x6a, 0xb9, 0x74, 0x1c, 0xb3, 0x12, 0x48, 0x3a, 0x69, + 0x5b, 0x4f, 0xb5, 0x74, 0x7b, 0x8c, 0xb3, 0xdc, 0xed, 0xff, 0x66, 0x81, 0xa9, 0x46, 0xfb, 0xb3, + 0x00, 0x8d, 0xdb, 0x39, 0x4b, 0x07, 0xdc, 0xce, 0x29, 0x8d, 0xc5, 0x72, 0x7f, 0x9b, 0x93, 0x81, + 0x43, 0x6c, 0x4e, 0x2a, 0x3d, 0xad, 0xcb, 0xa7, 0xa0, 0xdc, 0xf1, 0x1a, 0x62, 0x7f, 0xa1, 0x4f, + 0x45, 0x17, 0xe6, 0x30, 0x6d, 0xb7, 0xff, 0x71, 0x45, 0xfb, 0x13, 0x44, 0x36, 0xca, 0xf7, 0xc5, + 0x6b, 0x6f, 0xa8, 0xc2, 0x2e, 0xfc, 0xcd, 0xaf, 0x77, 0x15, 0x76, 0xf9, 0x91, 0xc3, 0x27, 0x1b, + 0xf1, 0x0e, 0xea, 0x55, 0xd7, 0x65, 0xe8, 0x80, 0x4c, 0xa3, 0xdb, 0x50, 0xa5, 0x5b, 0x30, 0xe6, + 0x18, 0xac, 0xa6, 0x84, 0xaa, 0x5e, 0x11, 0xed, 0xf7, 0xf6, 0x26, 0x7f, 0xf8, 0xf0, 0x62, 0xc9, + 0xa7, 0xb1, 0xa2, 0x8f, 0x62, 0xa8, 0xd1, 0xdf, 0x2c, 0x29, 0x4a, 0x6c, 0xee, 0x6e, 0x28, 0x9d, + 0x29, 0x01, 0x85, 0x64, 0x5c, 0x69, 0x3e, 0x28, 0x80, 0x1a, 0xbb, 0x56, 0x8f, 0x31, 0xe5, 0x7b, + 0xc0, 0x15, 0x95, 0x9a, 0x24, 0x01, 0xf7, 0xf6, 0x26, 0x5f, 0x39, 0x3c, 0x53, 0xf5, 0x38, 0xd6, + 0x2c, 0xec, 0x2f, 0x0d, 0xe8, 0xb1, 0x2b, 0xea, 0xf9, 0x7c, 0x5f, 0x8c, 0xdd, 0x97, 0x33, 0x63, + 0xf7, 0x42, 0xd7, 0xd8, 0x1d, 0xd3, 0xd7, 0xbf, 0xa5, 0x46, 0xe3, 0x83, 0x36, 0x04, 0x0e, 0xf6, + 0x37, 0x30, 0x0b, 0xe8, 0x4e, 0xc7, 0x8b, 0x48, 0xbc, 0x12, 0x75, 0x02, 0x2f, 0x68, 0x8a, 0x6b, + 0xbd, 0x0d, 0x0b, 0x28, 0x05, 0xc6, 0x59, 0x7c, 0x76, 0x25, 0xf8, 0x6e, 0xe0, 0xde, 0x72, 0xb6, + 0xf9, 0xa8, 0x32, 0x4a, 0x9c, 0xac, 0x8a, 0x76, 0xac, 0x30, 0xec, 0xaf, 0xb3, 0x33, 0x66, 0x23, + 0x1b, 0x93, 0x8e, 0x09, 0x9f, 0xdd, 0x63, 0xc8, 0xeb, 0xa3, 0xa8, 0x31, 0xc1, 0x2f, 0x2f, 0xe4, + 0x30, 0x74, 0x17, 0x86, 0xd6, 0xf9, 0x45, 0x3e, 0xc5, 0xd4, 0x82, 0x15, 0xb7, 0x02, 0xb1, 0x72, + 0xed, 0xf2, 0x8a, 0xa0, 0x7b, 0xfa, 0x27, 0x96, 0xdc, 0xec, 0x6f, 0x0c, 0xc0, 0xa9, 0xcc, 0x4d, + 0x77, 0xa9, 0xca, 0x74, 0xa5, 0x03, 0x2b, 0xd3, 0x7d, 0x14, 0xa0, 0x41, 0xda, 0x7e, 0xb8, 0xcb, + 0xcc, 0xb1, 0x81, 0x43, 0x9b, 0x63, 0xca, 0x82, 0x9f, 0x53, 0x54, 0xb0, 0x41, 0x51, 0x14, 0x85, + 0xe1, 0x85, 0xee, 0x32, 0x45, 0x61, 0x8c, 0x72, 0xcc, 0x83, 0x0f, 0xb6, 0x1c, 0xb3, 0x07, 0xa7, + 0xb8, 0x88, 0x2a, 0xe7, 0xf1, 0x08, 0xa9, 0x8d, 0x2c, 0x6a, 0x7c, 0x2e, 0x4d, 0x06, 0x67, 0xe9, + 0x3e, 0xcc, 0x8b, 0x2c, 0xd1, 0x7b, 0xa0, 0x26, 0xbf, 0x73, 0x3c, 0x51, 0xd3, 0x79, 0xe3, 0x72, + 0x18, 0xb0, 0x0b, 0x26, 0xc5, 0x4f, 0xfb, 0x0b, 0x25, 0x6a, 0x3d, 0xf3, 0x7f, 0xaa, 0xfe, 0xc7, + 0xb3, 0x30, 0xe8, 0x74, 0x92, 0xcd, 0xb0, 0xeb, 0x32, 0xa0, 0x19, 0xd6, 0x8a, 0x05, 0x14, 0x2d, + 0xc2, 0x40, 0x43, 0xd7, 0x74, 0x38, 0x4c, 0x2f, 0x6a, 0x47, 0xa4, 0x93, 0x10, 0xcc, 0xa8, 0xa0, + 0x27, 0x61, 0x20, 0x71, 0x9a, 0xa9, 0x5b, 0xe3, 0xd7, 0x9c, 0x66, 0x8c, 0x59, 0xab, 0xb9, 0x68, + 0x0e, 0x1c, 0xb0, 0x68, 0xbe, 0x02, 0xa3, 0xb1, 0xd7, 0x0c, 0x9c, 0xa4, 0x13, 0x11, 0xe3, 0xd0, + 0x4b, 0xc7, 0x31, 0x98, 0x40, 0x9c, 0xc6, 0xb5, 0x7f, 0x7b, 0x04, 0xce, 0xae, 0xce, 0x2e, 0xc9, + 0xfa, 0xa4, 0x27, 0x96, 0x21, 0x92, 0xc7, 0xe3, 0xc1, 0x65, 0x88, 0xf4, 0xe0, 0xee, 0x1b, 0x19, + 0x22, 0xbe, 0x91, 0x21, 0x92, 0x0e, 0xd7, 0x2f, 0x17, 0x11, 0xae, 0x9f, 0x27, 0x41, 0x1f, 0xe1, + 0xfa, 0x27, 0x97, 0x32, 0x72, 0x5f, 0x81, 0x0e, 0x95, 0x32, 0xa2, 0xf2, 0x69, 0x0a, 0x09, 0x9e, + 0xef, 0xf1, 0xa9, 0x72, 0xf3, 0x69, 0xbe, 0x68, 0xc1, 0xb0, 0xf3, 0x66, 0x27, 0x22, 0x73, 0x64, + 0x7b, 0xb9, 0x2d, 0x77, 0x6f, 0xaf, 0x17, 0x2f, 0xc0, 0x8c, 0x66, 0x22, 0x6e, 0x2d, 0xd0, 0x0d, + 0xd8, 0x14, 0x21, 0x95, 0x3f, 0x33, 0x54, 0x44, 0xfe, 0x4c, 0x9e, 0x38, 0x07, 0xe6, 0xcf, 0xbc, + 0x02, 0xa3, 0xae, 0x1f, 0x06, 0x64, 0x25, 0x0a, 0x93, 0xd0, 0x0d, 0x7d, 0x61, 0x4c, 0x2b, 0x95, + 0x30, 0x6b, 0x02, 0x71, 0x1a, 0xb7, 0x57, 0xf2, 0x4d, 0xed, 0xb8, 0xc9, 0x37, 0xf0, 0x90, 0x92, + 0x6f, 0x7e, 0x4e, 0xa7, 0x89, 0x0e, 0x17, 0x71, 0xb3, 0x7c, 0xde, 0x17, 0xe9, 0x27, 0x57, 0x14, + 0x7d, 0x85, 0xdf, 0xc6, 0x43, 0xcd, 0xd1, 0xd9, 0xb0, 0x45, 0xcd, 0xad, 0x11, 0xd6, 0x25, 0x6f, + 0x9c, 0xc0, 0x80, 0xbd, 0xb5, 0xaa, 0xd9, 0xa8, 0x1b, 0x7a, 0x74, 0x13, 0x4e, 0x0b, 0x72, 0x9c, + 0x34, 0xd6, 0xaf, 0x96, 0xe0, 0x07, 0x0e, 0x14, 0x01, 0xdd, 0x05, 0x48, 0x9c, 0xa6, 0x18, 0xa8, + 0xe2, 0x98, 0xe2, 0x98, 0xc1, 0x86, 0x6b, 0x92, 0x1e, 0xaf, 0xbf, 0xa0, 0xfe, 0xb2, 0x03, 0x00, + 0xf9, 0x9b, 0xc5, 0x18, 0x86, 0x7e, 0x57, 0xad, 0x39, 0x1c, 0xfa, 0x04, 0x33, 0x08, 0x5d, 0xfe, + 0x23, 0xd2, 0xd4, 0xd7, 0x47, 0xaa, 0xcf, 0x87, 0x59, 0x2b, 0x16, 0x50, 0xf4, 0x3e, 0x18, 0x76, + 0x7c, 0x9f, 0xe7, 0x7f, 0x90, 0x58, 0xdc, 0x18, 0xa0, 0xeb, 0x65, 0x69, 0x10, 0x36, 0xf1, 0xec, + 0x3f, 0x2d, 0xc1, 0xe4, 0x01, 0x3a, 0x05, 0xbd, 0x0c, 0x23, 0x61, 0xd4, 0x74, 0x02, 0xef, 0x4d, + 0x5e, 0x72, 0xa4, 0x92, 0x2e, 0x6c, 0xb6, 0x6c, 0xc0, 0x70, 0x0a, 0x53, 0x46, 0xec, 0x0f, 0xf6, + 0x88, 0xd8, 0x7f, 0x1f, 0x0c, 0x27, 0xc4, 0x69, 0x89, 0xf0, 0x24, 0xb1, 0xff, 0xd6, 0xe7, 0xae, + 0x1a, 0x84, 0x4d, 0x3c, 0xaa, 0xc5, 0xc6, 0x1c, 0xd7, 0x25, 0x71, 0x2c, 0x43, 0xf2, 0x85, 0x0f, + 0xb3, 0xb0, 0x78, 0x7f, 0xe6, 0x1a, 0x9e, 0x49, 0xb1, 0xc0, 0x19, 0x96, 0xd9, 0x0e, 0xaf, 0xf5, + 0xd9, 0xe1, 0xbf, 0x5a, 0x82, 0xa7, 0xee, 0xbb, 0xba, 0xf5, 0x9d, 0x2d, 0xd1, 0x89, 0x49, 0x94, + 0x1d, 0x38, 0x37, 0x62, 0x12, 0x61, 0x06, 0xe1, 0xbd, 0xd4, 0x6e, 0x1b, 0xd7, 0x73, 0x16, 0x9d, + 0x9c, 0xc3, 0x7b, 0x29, 0xc5, 0x02, 0x67, 0x58, 0x1e, 0x75, 0x58, 0xfe, 0xbd, 0x12, 0x3c, 0xd3, + 0x87, 0x0d, 0x50, 0x60, 0x12, 0x53, 0x3a, 0x95, 0xac, 0xfc, 0x90, 0x32, 0xfe, 0x8e, 0xd8, 0x5d, + 0x5f, 0x2f, 0xc1, 0xf9, 0xde, 0x4b, 0x31, 0xfa, 0x51, 0xba, 0x87, 0x97, 0x31, 0x49, 0x66, 0x16, + 0xda, 0x19, 0xbe, 0x7f, 0x4f, 0x81, 0x70, 0x16, 0x17, 0x4d, 0x01, 0xb4, 0x9d, 0x64, 0x33, 0xbe, + 0xb4, 0xe3, 0xc5, 0x89, 0xa8, 0xb8, 0x31, 0xc6, 0x4f, 0x8c, 0x64, 0x2b, 0x36, 0x30, 0x28, 0x3b, + 0xf6, 0x6f, 0x2e, 0xbc, 0x1e, 0x26, 0xfc, 0x21, 0xbe, 0x8d, 0x38, 0x23, 0xab, 0x92, 0x1b, 0x20, + 0x9c, 0xc5, 0xa5, 0xec, 0xd8, 0x99, 0x24, 0x17, 0x94, 0xef, 0x2f, 0x18, 0xbb, 0x45, 0xd5, 0x8a, + 0x0d, 0x8c, 0x6c, 0x7e, 0x5d, 0xe5, 0xe0, 0xfc, 0x3a, 0xfb, 0x1f, 0x95, 0xe0, 0x89, 0x9e, 0xa6, + 0x5c, 0x7f, 0x13, 0xf0, 0xd1, 0xcb, 0x89, 0x3b, 0xda, 0xd8, 0x39, 0x64, 0xa6, 0xd7, 0x1f, 0xf7, + 0x18, 0x69, 0x22, 0xd3, 0x2b, 0xbb, 0x54, 0x58, 0x87, 0x5d, 0x2a, 0x1e, 0xa1, 0xfe, 0xec, 0x4a, + 0xee, 0x1a, 0x38, 0x44, 0x72, 0x57, 0xe6, 0x63, 0x54, 0xfa, 0x9c, 0xc8, 0xdf, 0xea, 0xdd, 0xbd, + 0x74, 0xeb, 0xd7, 0x97, 0x77, 0x74, 0x0e, 0x4e, 0x7b, 0x01, 0xbb, 0xa1, 0x62, 0xb5, 0xb3, 0x2e, + 0x8a, 0x30, 0x94, 0xd2, 0x97, 0xaf, 0x2e, 0x64, 0xe0, 0xb8, 0xeb, 0x89, 0x47, 0x30, 0xd9, 0xee, + 0x88, 0x5d, 0xfa, 0x51, 0xa8, 0x29, 0xda, 0x3c, 0x80, 0x58, 0x7d, 0xd0, 0xae, 0x00, 0x62, 0xf5, + 0x35, 0x0d, 0x2c, 0xda, 0x13, 0xd4, 0xdc, 0xcc, 0x8c, 0xcc, 0x6b, 0x64, 0x97, 0xd9, 0x9e, 0xf6, + 0x7b, 0x61, 0x44, 0xf9, 0x30, 0xfa, 0xbd, 0x86, 0xc0, 0xfe, 0xd2, 0x20, 0x8c, 0xa6, 0x8a, 0x8c, + 0xa5, 0x5c, 0x86, 0xd6, 0x81, 0x2e, 0x43, 0x16, 0x10, 0xde, 0x09, 0xe4, 0x1d, 0x25, 0x46, 0x40, + 0x78, 0x27, 0x20, 0x98, 0xc3, 0xa8, 0xe9, 0xd8, 0x88, 0x76, 0x71, 0x27, 0x10, 0x81, 0x9b, 0xca, + 0x74, 0x9c, 0x63, 0xad, 0x58, 0x40, 0xd1, 0xa7, 0x2c, 0x18, 0x89, 0x99, 0x3f, 0x9a, 0x3b, 0x5c, + 0xc5, 0x07, 0xbd, 0x7a, 0xfc, 0x1a, 0x6a, 0xaa, 0xa0, 0x1e, 0x8b, 0xf9, 0x30, 0x5b, 0x70, 0x8a, + 0x23, 0xfa, 0x19, 0x0b, 0x6a, 0xaa, 0x94, 0xba, 0xb8, 0x48, 0x68, 0xb5, 0xd8, 0x1a, 0x6e, 0xdc, + 0x53, 0xa7, 0x5c, 0xfb, 0xfa, 0xe2, 0x61, 0xcd, 0x18, 0xc5, 0xca, 0x1b, 0x3a, 0x74, 0x32, 0xde, + 0x50, 0xc8, 0xf1, 0x84, 0xbe, 0x07, 0x6a, 0x2d, 0x27, 0xf0, 0x36, 0x48, 0x9c, 0x70, 0x07, 0xa5, + 0x2c, 0x2d, 0x29, 0x1b, 0xb1, 0x86, 0xd3, 0xc5, 0x2e, 0x66, 0x2f, 0x96, 0x18, 0x1e, 0x45, 0xb6, + 0xd8, 0xad, 0xea, 0x66, 0x6c, 0xe2, 0x98, 0xee, 0x4f, 0x78, 0xa8, 0xee, 0xcf, 0xe1, 0x03, 0xdc, + 0x9f, 0xff, 0xc0, 0x82, 0x73, 0xb9, 0x5f, 0xed, 0xd1, 0x0d, 0xe5, 0xb3, 0xbf, 0x5c, 0x81, 0x33, + 0x39, 0xd5, 0x02, 0xd1, 0xae, 0x39, 0x9e, 0xad, 0x22, 0x4e, 0xc5, 0xd3, 0x87, 0xbc, 0xb2, 0x1b, + 0x73, 0x06, 0xf1, 0xe1, 0x0e, 0x1f, 0xf4, 0x01, 0x40, 0xf9, 0xc1, 0x1e, 0x00, 0x18, 0xc3, 0x72, + 0xe0, 0xa1, 0x0e, 0xcb, 0xca, 0xfd, 0x87, 0x25, 0xfa, 0x0d, 0x0b, 0x26, 0x5a, 0x3d, 0x4a, 0x54, + 0x0b, 0xa7, 0xde, 0xcd, 0x93, 0x29, 0x80, 0x5d, 0x7f, 0x72, 0x7f, 0x6f, 0xb2, 0x67, 0x65, 0x70, + 0xdc, 0x53, 0x2a, 0xfb, 0x3b, 0x65, 0x60, 0xa5, 0x2a, 0x59, 0x45, 0xa8, 0x5d, 0xf4, 0x49, 0xb3, + 0xe8, 0xa8, 0x55, 0x54, 0x81, 0x4c, 0x4e, 0x5c, 0x15, 0x2d, 0xe5, 0x3d, 0x98, 0x57, 0xc3, 0x34, + 0xab, 0xb4, 0x4a, 0x7d, 0x28, 0x2d, 0x5f, 0x56, 0x77, 0x2d, 0x17, 0x5f, 0xdd, 0xb5, 0x96, 0xad, + 0xec, 0x7a, 0xff, 0x4f, 0x3c, 0xf0, 0x48, 0x7e, 0xe2, 0xbf, 0x61, 0x71, 0xc5, 0x93, 0xf9, 0x0a, + 0xda, 0x32, 0xb0, 0xee, 0x63, 0x19, 0x3c, 0xcf, 0xae, 0x90, 0xde, 0xb8, 0x42, 0x1c, 0x5f, 0x58, + 0x10, 0xe6, 0x6d, 0xd0, 0xac, 0x1d, 0x2b, 0x0c, 0x76, 0xe9, 0x9b, 0xef, 0x87, 0x77, 0x2f, 0xb5, + 0xda, 0xc9, 0xae, 0xb0, 0x25, 0xf4, 0xa5, 0x6f, 0x0a, 0x82, 0x0d, 0x2c, 0xfb, 0x6f, 0x96, 0xf8, + 0x08, 0x14, 0xc7, 0xfa, 0x2f, 0x67, 0xae, 0xe9, 0xe9, 0xff, 0x44, 0xfc, 0xe3, 0x00, 0xae, 0xba, + 0x3d, 0x56, 0x9c, 0xb7, 0x5c, 0x39, 0xf6, 0xed, 0x9b, 0x82, 0x9e, 0x7e, 0x0d, 0xdd, 0x86, 0x0d, + 0x7e, 0x29, 0x5d, 0x5a, 0x3e, 0x50, 0x97, 0xa6, 0xd4, 0xca, 0xc0, 0x01, 0xab, 0xdd, 0x9f, 0x5a, + 0x90, 0xb2, 0x88, 0x50, 0x1b, 0x2a, 0x54, 0xdc, 0xdd, 0x62, 0x2e, 0xc6, 0x35, 0x49, 0x53, 0xd5, + 0x28, 0x86, 0x3d, 0xfb, 0x89, 0x39, 0x23, 0xe4, 0x8b, 0xd3, 0xff, 0x52, 0x11, 0x97, 0x37, 0x9b, + 0x0c, 0xaf, 0x84, 0xe1, 0x16, 0x3f, 0x34, 0xd4, 0x91, 0x04, 0xf6, 0xcb, 0x30, 0xde, 0x25, 0x14, + 0xbb, 0x91, 0x23, 0x94, 0xb7, 0x01, 0x1b, 0xc3, 0x95, 0xa5, 0x0a, 0x62, 0x0e, 0xb3, 0xbf, 0x6e, + 0xc1, 0xe9, 0x2c, 0x79, 0xf4, 0x15, 0x0b, 0xc6, 0xe3, 0x2c, 0xbd, 0x93, 0xea, 0x3b, 0x15, 0xc1, + 0xd7, 0x05, 0xc2, 0xdd, 0x42, 0xd8, 0xff, 0x57, 0x0c, 0xfe, 0x5b, 0x5e, 0xd0, 0x08, 0xef, 0x2a, + 0xc3, 0xc4, 0xea, 0x69, 0x98, 0xd0, 0xf9, 0xe8, 0x6e, 0x92, 0x46, 0xc7, 0xef, 0xca, 0x51, 0x5c, + 0x15, 0xed, 0x58, 0x61, 0xb0, 0x94, 0xac, 0x8e, 0x28, 0xff, 0x9c, 0x19, 0x94, 0x73, 0xa2, 0x1d, + 0x2b, 0x0c, 0xf4, 0x12, 0x8c, 0x98, 0x37, 0x5e, 0x8b, 0x71, 0xc9, 0x0c, 0x72, 0xf3, 0x72, 0x6c, + 0x9c, 0xc2, 0x42, 0x53, 0x00, 0xca, 0xc8, 0x91, 0x4b, 0x24, 0x73, 0xc2, 0x28, 0x4d, 0x14, 0x63, + 0x03, 0x83, 0x25, 0x40, 0xf2, 0x6b, 0xa5, 0x65, 0x9c, 0x2b, 0x4f, 0x80, 0x14, 0x6d, 0x58, 0x41, + 0xa9, 0x36, 0x69, 0x39, 0x41, 0xc7, 0xf1, 0x69, 0x0f, 0x89, 0xac, 0x6d, 0x35, 0x0d, 0x97, 0x14, + 0x04, 0x1b, 0x58, 0xf4, 0x8d, 0x13, 0xaf, 0x45, 0x5e, 0x0b, 0x03, 0x19, 0x79, 0xa5, 0x8f, 0x54, + 0x44, 0x3b, 0x56, 0x18, 0xf6, 0x7f, 0xb6, 0xe0, 0x94, 0x4e, 0xa7, 0xe6, 0x77, 0x6f, 0x9a, 0x5e, + 0x0e, 0xeb, 0xc0, 0x4c, 0xf1, 0x74, 0x9e, 0x69, 0xa9, 0xaf, 0x3c, 0x53, 0x33, 0x05, 0xb4, 0x7c, + 0xdf, 0x14, 0xd0, 0x1f, 0xd4, 0xf7, 0xba, 0xf1, 0x5c, 0xd1, 0xe1, 0xbc, 0x3b, 0xdd, 0x90, 0x0d, + 0x83, 0xae, 0xa3, 0x6a, 0x89, 0x8c, 0xf0, 0xbd, 0xc3, 0xec, 0x0c, 0x43, 0x12, 0x10, 0x7b, 0x19, + 0x6a, 0xea, 0x64, 0x41, 0x6e, 0x54, 0xad, 0xfc, 0x8d, 0x6a, 0x5f, 0x29, 0x6f, 0xf5, 0xf5, 0x6f, + 0x7c, 0xf7, 0xe9, 0x77, 0x7c, 0xeb, 0xbb, 0x4f, 0xbf, 0xe3, 0x0f, 0xbf, 0xfb, 0xf4, 0x3b, 0x3e, + 0xb5, 0xff, 0xb4, 0xf5, 0x8d, 0xfd, 0xa7, 0xad, 0x6f, 0xed, 0x3f, 0x6d, 0xfd, 0xe1, 0xfe, 0xd3, + 0xd6, 0x77, 0xf6, 0x9f, 0xb6, 0xbe, 0xf8, 0x1f, 0x9e, 0x7e, 0xc7, 0x6b, 0xb9, 0xa1, 0x77, 0xf4, + 0xc7, 0x0b, 0x6e, 0x63, 0x7a, 0xfb, 0x22, 0x8b, 0xfe, 0xa2, 0xd3, 0x6b, 0xda, 0x18, 0x53, 0xd3, + 0x72, 0x7a, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x50, 0xcf, 0xc6, 0x29, 0xd6, 0x00, + 0x00, } func (m *AWSAuthConfig) Marshal() (dAtA []byte, err error) { @@ -7629,6 +7691,41 @@ func (m *BasicAuthBitbucketServer) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *BearerTokenBitbucketCloud) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BearerTokenBitbucketCloud) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BearerTokenBitbucketCloud) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.TokenRef != nil { + { + size, err := m.TokenRef.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ChartDetails) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -10272,6 +10369,18 @@ func (m *PullRequestGenerator) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Bitbucket != nil { + { + size, err := m.Bitbucket.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } { size, err := m.Template.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -10352,6 +10461,68 @@ func (m *PullRequestGenerator) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *PullRequestGeneratorBitbucket) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PullRequestGeneratorBitbucket) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PullRequestGeneratorBitbucket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.BearerToken != nil { + { + size, err := m.BearerToken.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + if m.BasicAuth != nil { + { + size, err := m.BasicAuth.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + i -= len(m.API) + copy(dAtA[i:], m.API) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.API))) + i-- + dAtA[i] = 0x1a + i -= len(m.Repo) + copy(dAtA[i:], m.Repo) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Repo))) + i-- + dAtA[i] = 0x12 + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *PullRequestGeneratorBitbucketServer) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -14559,6 +14730,19 @@ func (m *BasicAuthBitbucketServer) Size() (n int) { return n } +func (m *BearerTokenBitbucketCloud) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TokenRef != nil { + l = m.TokenRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *ChartDetails) Size() (n int) { if m == nil { return 0 @@ -15579,6 +15763,33 @@ func (m *PullRequestGenerator) Size() (n int) { } l = m.Template.Size() n += 1 + l + sovGenerated(uint64(l)) + if m.Bitbucket != nil { + l = m.Bitbucket.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *PullRequestGeneratorBitbucket) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Repo) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.API) + n += 1 + l + sovGenerated(uint64(l)) + if m.BasicAuth != nil { + l = m.BasicAuth.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.BearerToken != nil { + l = m.BearerToken.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -17525,6 +17736,16 @@ func (this *BasicAuthBitbucketServer) String() string { }, "") return s } +func (this *BearerTokenBitbucketCloud) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BearerTokenBitbucketCloud{`, + `TokenRef:` + strings.Replace(this.TokenRef.String(), "SecretRef", "SecretRef", 1) + `,`, + `}`, + }, "") + return s +} func (this *ChartDetails) String() string { if this == nil { return "nil" @@ -18357,6 +18578,21 @@ func (this *PullRequestGenerator) String() string { `Filters:` + repeatedStringForFilters + `,`, `RequeueAfterSeconds:` + valueToStringGenerated(this.RequeueAfterSeconds) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "ApplicationSetTemplate", "ApplicationSetTemplate", 1), `&`, ``, 1) + `,`, + `Bitbucket:` + strings.Replace(this.Bitbucket.String(), "PullRequestGeneratorBitbucket", "PullRequestGeneratorBitbucket", 1) + `,`, + `}`, + }, "") + return s +} +func (this *PullRequestGeneratorBitbucket) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PullRequestGeneratorBitbucket{`, + `Owner:` + fmt.Sprintf("%v", this.Owner) + `,`, + `Repo:` + fmt.Sprintf("%v", this.Repo) + `,`, + `API:` + fmt.Sprintf("%v", this.API) + `,`, + `BasicAuth:` + strings.Replace(this.BasicAuth.String(), "BasicAuthBitbucketServer", "BasicAuthBitbucketServer", 1) + `,`, + `BearerToken:` + strings.Replace(this.BearerToken.String(), "BearerTokenBitbucketCloud", "BearerTokenBitbucketCloud", 1) + `,`, `}`, }, "") return s @@ -27602,6 +27838,92 @@ func (m *BasicAuthBitbucketServer) Unmarshal(dAtA []byte) error { } return nil } +func (m *BearerTokenBitbucketCloud) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BearerTokenBitbucketCloud: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BearerTokenBitbucketCloud: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TokenRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TokenRef == nil { + m.TokenRef = &SecretRef{} + } + if err := m.TokenRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ChartDetails) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -36539,6 +36861,260 @@ func (m *PullRequestGenerator) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bitbucket", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Bitbucket == nil { + m.Bitbucket = &PullRequestGeneratorBitbucket{} + } + if err := m.Bitbucket.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PullRequestGeneratorBitbucket) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PullRequestGeneratorBitbucket: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PullRequestGeneratorBitbucket: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Repo", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Repo = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field API", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.API = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BasicAuth", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BasicAuth == nil { + m.BasicAuth = &BasicAuthBitbucketServer{} + } + if err := m.BasicAuth.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BearerToken", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BearerToken == nil { + m.BearerToken = &BearerTokenBitbucketCloud{} + } + if err := m.BearerToken.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index 9cf6b26e0c359..a7a15ddccb7d4 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -656,6 +656,12 @@ message BasicAuthBitbucketServer { optional SecretRef passwordRef = 2; } +// BearerTokenBitbucketCloud defines the Bearer token for BitBucket AppToken auth. +message BearerTokenBitbucketCloud { + // Password (or personal access token) reference. + optional SecretRef tokenRef = 1; +} + // ChartDetails contains helm chart metadata for a specific version message ChartDetails { optional string description = 1; @@ -1281,9 +1287,29 @@ message PullRequestGenerator { optional int64 requeueAfterSeconds = 6; optional ApplicationSetTemplate template = 7; + + optional PullRequestGeneratorBitbucket bitbucket = 8; +} + +// PullRequestGeneratorBitbucket defines connection info specific to Bitbucket. +message PullRequestGeneratorBitbucket { + // Workspace to scan. Required. + optional string owner = 1; + + // Repo name to scan. Required. + optional string repo = 2; + + // The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0. + optional string api = 3; + + // Credentials for Basic auth + optional BasicAuthBitbucketServer basicAuth = 4; + + // Credentials for AppToken (Bearer auth) + optional BearerTokenBitbucketCloud bearerToken = 5; } -// PullRequestGenerator defines connection info specific to BitbucketServer. +// PullRequestGeneratorBitbucketServer defines connection info specific to BitbucketServer. message PullRequestGeneratorBitbucketServer { // Project to scan. Required. optional string project = 1; @@ -1325,7 +1351,7 @@ message PullRequestGeneratorGitLab { optional string pullRequestState = 5; } -// PullRequestGenerator defines connection info specific to Gitea. +// PullRequestGeneratorGitea defines connection info specific to Gitea. message PullRequestGeneratorGitea { // Gitea org or user to scan. Required. optional string owner = 1; diff --git a/pkg/apis/application/v1alpha1/openapi_generated.go b/pkg/apis/application/v1alpha1/openapi_generated.go index 8aa0c256780e3..f12e8c75dff5b 100644 --- a/pkg/apis/application/v1alpha1/openapi_generated.go +++ b/pkg/apis/application/v1alpha1/openapi_generated.go @@ -54,6 +54,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationWatchEvent": schema_pkg_apis_application_v1alpha1_ApplicationWatchEvent(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Backoff": schema_pkg_apis_application_v1alpha1_Backoff(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BasicAuthBitbucketServer": schema_pkg_apis_application_v1alpha1_BasicAuthBitbucketServer(ref), + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BearerTokenBitbucketCloud": schema_pkg_apis_application_v1alpha1_BearerTokenBitbucketCloud(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ChartDetails": schema_pkg_apis_application_v1alpha1_ChartDetails(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Cluster": schema_pkg_apis_application_v1alpha1_Cluster(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterCacheInfo": schema_pkg_apis_application_v1alpha1_ClusterCacheInfo(ref), @@ -107,6 +108,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginInput": schema_pkg_apis_application_v1alpha1_PluginInput(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ProjectRole": schema_pkg_apis_application_v1alpha1_ProjectRole(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGenerator": schema_pkg_apis_application_v1alpha1_PullRequestGenerator(ref), + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucket": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucket(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucketServer": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucketServer(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorFilter": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorFilter(ref), "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitLab": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGitLab(ref), @@ -2356,6 +2358,28 @@ func schema_pkg_apis_application_v1alpha1_BasicAuthBitbucketServer(ref common.Re } } +func schema_pkg_apis_application_v1alpha1_BearerTokenBitbucketCloud(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "BearerTokenBitbucketCloud defines the Bearer token for BitBucket AppToken auth.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "tokenRef": { + SchemaProps: spec.SchemaProps{ + Description: "Password (or personal access token) reference.", + Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SecretRef"), + }, + }, + }, + Required: []string{"tokenRef"}, + }, + }, + Dependencies: []string{ + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SecretRef"}, + } +} + func schema_pkg_apis_application_v1alpha1_ChartDetails(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -4565,11 +4589,67 @@ func schema_pkg_apis_application_v1alpha1_PullRequestGenerator(ref common.Refere Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate"), }, }, + "bitbucket": { + SchemaProps: spec.SchemaProps{ + Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucket"), + }, + }, }, }, }, Dependencies: []string{ - "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucketServer", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorFilter", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitLab", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitea", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGithub"}, + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucket", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucketServer", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorFilter", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitLab", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitea", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGithub"}, + } +} + +func schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucket(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "PullRequestGeneratorBitbucket defines connection info specific to Bitbucket.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "owner": { + SchemaProps: spec.SchemaProps{ + Description: "Workspace to scan. Required.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "repo": { + SchemaProps: spec.SchemaProps{ + Description: "Repo name to scan. Required.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "api": { + SchemaProps: spec.SchemaProps{ + Description: "The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0.", + Type: []string{"string"}, + Format: "", + }, + }, + "basicAuth": { + SchemaProps: spec.SchemaProps{ + Description: "Credentials for Basic auth", + Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BasicAuthBitbucketServer"), + }, + }, + "bearerToken": { + SchemaProps: spec.SchemaProps{ + Description: "Credentials for AppToken (Bearer auth)", + Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BearerTokenBitbucketCloud"), + }, + }, + }, + Required: []string{"owner", "repo"}, + }, + }, + Dependencies: []string{ + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BasicAuthBitbucketServer", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BearerTokenBitbucketCloud"}, } } @@ -4577,7 +4657,7 @@ func schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucketServer(re return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "PullRequestGenerator defines connection info specific to BitbucketServer.", + Description: "PullRequestGeneratorBitbucketServer defines connection info specific to BitbucketServer.", Type: []string{"object"}, Properties: map[string]spec.Schema{ "project": { @@ -4707,7 +4787,7 @@ func schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGitea(ref common.R return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "PullRequestGenerator defines connection info specific to Gitea.", + Description: "PullRequestGeneratorGitea defines connection info specific to Gitea.", Type: []string{"object"}, Properties: map[string]spec.Schema{ "owner": { diff --git a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go index 62e89592596b2..6374678709a03 100644 --- a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go @@ -1389,6 +1389,27 @@ func (in *BasicAuthBitbucketServer) DeepCopy() *BasicAuthBitbucketServer { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BearerTokenBitbucketCloud) DeepCopyInto(out *BearerTokenBitbucketCloud) { + *out = *in + if in.TokenRef != nil { + in, out := &in.TokenRef, &out.TokenRef + *out = new(SecretRef) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BearerTokenBitbucketCloud. +func (in *BearerTokenBitbucketCloud) DeepCopy() *BearerTokenBitbucketCloud { + if in == nil { + return nil + } + out := new(BearerTokenBitbucketCloud) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ChartDetails) DeepCopyInto(out *ChartDetails) { *out = *in @@ -2686,6 +2707,11 @@ func (in *PullRequestGenerator) DeepCopyInto(out *PullRequestGenerator) { **out = **in } in.Template.DeepCopyInto(&out.Template) + if in.Bitbucket != nil { + in, out := &in.Bitbucket, &out.Bitbucket + *out = new(PullRequestGeneratorBitbucket) + (*in).DeepCopyInto(*out) + } return } @@ -2699,6 +2725,32 @@ func (in *PullRequestGenerator) DeepCopy() *PullRequestGenerator { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PullRequestGeneratorBitbucket) DeepCopyInto(out *PullRequestGeneratorBitbucket) { + *out = *in + if in.BasicAuth != nil { + in, out := &in.BasicAuth, &out.BasicAuth + *out = new(BasicAuthBitbucketServer) + (*in).DeepCopyInto(*out) + } + if in.BearerToken != nil { + in, out := &in.BearerToken, &out.BearerToken + *out = new(BearerTokenBitbucketCloud) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorBitbucket. +func (in *PullRequestGeneratorBitbucket) DeepCopy() *PullRequestGeneratorBitbucket { + if in == nil { + return nil + } + out := new(PullRequestGeneratorBitbucket) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PullRequestGeneratorBitbucketServer) DeepCopyInto(out *PullRequestGeneratorBitbucketServer) { *out = *in