From e5ff435aa2fa70d8a0d9f748f0202987396fd98a Mon Sep 17 00:00:00 2001 From: anarcher Date: Sun, 10 Nov 2019 01:17:35 +0900 Subject: [PATCH 1/8] Add JPaths to jsonnet --- cmd/argocd/commands/app.go | 13 +++++++++++++ pkg/apis/application/v1alpha1/types.go | 2 ++ reposerver/repository/repository.go | 6 +++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index c34645299ec6e..2fd42a375871b 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -517,6 +517,8 @@ func setAppSpecOptions(flags *pflag.FlagSet, spec *argoappv1.ApplicationSpec, ap setJsonnetOptExtVar(&spec.Source, appOpts.jsonnetExtVarStr, false) case "jsonnet-ext-var-code": setJsonnetOptExtVar(&spec.Source, appOpts.jsonnetExtVarCode, true) + case "jsonnet-path": + setJsonnetOptJPath(&spec.Source, appOpts.jsonnetJPath) case "sync-policy": switch appOpts.syncPolicy { case "automated": @@ -655,6 +657,15 @@ func setJsonnetOptExtVar(src *argoappv1.ApplicationSource, jsonnetExtVar []strin } } +func setJsonnetOptJPath(src *argoappv1.ApplicationSource, jpath []string) { + if src.Directory == nil { + src.Directory = &argoappv1.ApplicationSourceDirectory{} + } + for _, p := range jpath { + src.Directory.Jsonnet.JPaths = append(src.Directory.Jsonnet.JPaths, p) + } +} + type appOptions struct { repoURL string appPath string @@ -680,6 +691,7 @@ type appOptions struct { jsonnetTlaCode []string jsonnetExtVarStr []string jsonnetExtVarCode []string + jsonnetJPath []string kustomizeImages []string } @@ -708,6 +720,7 @@ func addAppFlags(command *cobra.Command, opts *appOptions) { command.Flags().StringArrayVar(&opts.jsonnetTlaCode, "jsonnet-tla-code", []string{}, "Jsonnet top level code arguments") command.Flags().StringArrayVar(&opts.jsonnetExtVarStr, "jsonnet-ext-var-str", []string{}, "Jsonnet string ext var") command.Flags().StringArrayVar(&opts.jsonnetExtVarCode, "jsonnet-ext-var-code", []string{}, "Jsonnet ext var") + command.Flags().StringArrayVar(&opts.jsonnetJPath, "jsonnet-jpath", []string{}, "Jsonnet jpath") command.Flags().StringArrayVar(&opts.kustomizeImages, "kustomize-image", []string{}, "Kustomize images (e.g. --kustomize-image node:8.15.0 --kustomize-image mysql=mariadb,alpine@sha256:24a0c4b4a4c0eb97a1aabb8e29f18e917d05abfe1b7a7c07857230879ce7d3d)") } diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index 4a4a8a21e255e..cf4ae3b029ccd 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -302,6 +302,8 @@ type ApplicationSourceJsonnet struct { ExtVars []JsonnetVar `json:"extVars,omitempty" protobuf:"bytes,1,opt,name=extVars"` // TLAS is a list of Jsonnet Top-level Arguments TLAs []JsonnetVar `json:"tlas,omitempty" protobuf:"bytes,2,opt,name=tlas"` + // JPaths is a list of Jsonnet additional library search dirs + JPaths []string `json:"jpaths,omitempty, protobuf:" protobuf:"bytes,3,rep,name=jpaths"` } func (j *ApplicationSourceJsonnet) IsZero() bool { diff --git a/reposerver/repository/repository.go b/reposerver/repository/repository.go index 453bf567d269b..a1a8940e821be 100644 --- a/reposerver/repository/repository.go +++ b/reposerver/repository/repository.go @@ -486,8 +486,12 @@ func findManifests(appPath string, env *v1alpha1.Env, directory v1alpha1.Applica objs = append(objs, &obj) } else if strings.HasSuffix(f.Name(), ".jsonnet") { vm := makeJsonnetVm(directory.Jsonnet, env) + var jpaths []string + for _, p := range directory.Jsonnet.JPaths { + jpaths = append(jpaths, filepath.Join(appPath, p)) + } vm.Importer(&jsonnet.FileImporter{ - JPaths: []string{appPath}, + JPaths: jpaths, }) jsonStr, err := vm.EvaluateSnippet(f.Name(), string(out)) if err != nil { From 375e8884ac650e9e561c9af9fc01f73168de828d Mon Sep 17 00:00:00 2001 From: anarcher Date: Sun, 10 Nov 2019 04:16:00 +0900 Subject: [PATCH 2/8] make codegen --- assets/swagger.json | 7 + manifests/crds/application-crd.yaml | 36 + manifests/ha/install.yaml | 36 + manifests/ha/namespace-install.yaml | 36 + manifests/install.yaml | 36 + manifests/namespace-install.yaml | 36 + pkg/apis/api-rules/violation_exceptions.list | 1 + pkg/apis/application/v1alpha1/generated.pb.go | 668 ++++++++++-------- pkg/apis/application/v1alpha1/generated.proto | 3 + .../application/v1alpha1/openapi_generated.go | 14 + .../v1alpha1/zz_generated.deepcopy.go | 5 + 11 files changed, 570 insertions(+), 308 deletions(-) diff --git a/assets/swagger.json b/assets/swagger.json index 63ea0c8fe5fa2..5dd69ec976b48 100644 --- a/assets/swagger.json +++ b/assets/swagger.json @@ -3206,6 +3206,13 @@ "$ref": "#/definitions/v1alpha1JsonnetVar" } }, + "jpaths": { + "type": "array", + "title": "JPaths is a list of Jsonnet additional library search dirs", + "items": { + "type": "string" + } + }, "tlas": { "type": "array", "title": "TLAS is a list of Jsonnet Top-level Arguments", diff --git a/manifests/crds/application-crd.yaml b/manifests/crds/application-crd.yaml index eae5379065808..f8933765984e5 100644 --- a/manifests/crds/application-crd.yaml +++ b/manifests/crds/application-crd.yaml @@ -443,6 +443,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -688,6 +694,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional library + search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -907,6 +919,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -1132,6 +1150,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1389,6 +1413,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1625,6 +1655,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index e6989129e4cd2..bd61fa735914e 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -444,6 +444,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -689,6 +695,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional library + search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -908,6 +920,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -1133,6 +1151,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1390,6 +1414,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1626,6 +1656,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments diff --git a/manifests/ha/namespace-install.yaml b/manifests/ha/namespace-install.yaml index c8d437e5cedd6..6ae0b85b8a772 100644 --- a/manifests/ha/namespace-install.yaml +++ b/manifests/ha/namespace-install.yaml @@ -444,6 +444,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -689,6 +695,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional library + search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -908,6 +920,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -1133,6 +1151,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1390,6 +1414,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1626,6 +1656,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments diff --git a/manifests/install.yaml b/manifests/install.yaml index c6f4c643c8625..1d17018911b34 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -444,6 +444,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -689,6 +695,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional library + search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -908,6 +920,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -1133,6 +1151,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1390,6 +1414,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1626,6 +1656,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments diff --git a/manifests/namespace-install.yaml b/manifests/namespace-install.yaml index 4200087896535..4742329d9dae9 100644 --- a/manifests/namespace-install.yaml +++ b/manifests/namespace-install.yaml @@ -444,6 +444,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -689,6 +695,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional library + search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -908,6 +920,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: @@ -1133,6 +1151,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1390,6 +1414,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments @@ -1626,6 +1656,12 @@ spec: - value type: object type: array + jpaths: + description: JPaths is a list of Jsonnet additional + library search dirs + items: + type: string + type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments diff --git a/pkg/apis/api-rules/violation_exceptions.list b/pkg/apis/api-rules/violation_exceptions.list index f569bcb97af55..9dbd38e6eaaf8 100644 --- a/pkg/apis/api-rules/violation_exceptions.list +++ b/pkg/apis/api-rules/violation_exceptions.list @@ -1,3 +1,4 @@ +API rule violation: names_match,github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1,ApplicationSourceJsonnet,JPaths API rule violation: names_match,github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1,ApplicationSourceJsonnet,TLAs API rule violation: names_match,github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1,ConnectionState,ModifiedAt API rule violation: names_match,github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1,JWTToken,ExpiresAt diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go index 654502ae93fe0..301c7df67802f 100644 --- a/pkg/apis/application/v1alpha1/generated.pb.go +++ b/pkg/apis/application/v1alpha1/generated.pb.go @@ -33,7 +33,7 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package func (m *AWSAuthConfig) Reset() { *m = AWSAuthConfig{} } func (*AWSAuthConfig) ProtoMessage() {} func (*AWSAuthConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{0} + return fileDescriptor_generated_4f0f01182afe8850, []int{0} } func (m *AWSAuthConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -61,7 +61,7 @@ var xxx_messageInfo_AWSAuthConfig proto.InternalMessageInfo func (m *AppProject) Reset() { *m = AppProject{} } func (*AppProject) ProtoMessage() {} func (*AppProject) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{1} + return fileDescriptor_generated_4f0f01182afe8850, []int{1} } func (m *AppProject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -89,7 +89,7 @@ var xxx_messageInfo_AppProject proto.InternalMessageInfo func (m *AppProjectList) Reset() { *m = AppProjectList{} } func (*AppProjectList) ProtoMessage() {} func (*AppProjectList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{2} + return fileDescriptor_generated_4f0f01182afe8850, []int{2} } func (m *AppProjectList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -117,7 +117,7 @@ var xxx_messageInfo_AppProjectList proto.InternalMessageInfo func (m *AppProjectSpec) Reset() { *m = AppProjectSpec{} } func (*AppProjectSpec) ProtoMessage() {} func (*AppProjectSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{3} + return fileDescriptor_generated_4f0f01182afe8850, []int{3} } func (m *AppProjectSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -145,7 +145,7 @@ var xxx_messageInfo_AppProjectSpec proto.InternalMessageInfo func (m *Application) Reset() { *m = Application{} } func (*Application) ProtoMessage() {} func (*Application) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{4} + return fileDescriptor_generated_4f0f01182afe8850, []int{4} } func (m *Application) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -173,7 +173,7 @@ var xxx_messageInfo_Application proto.InternalMessageInfo func (m *ApplicationCondition) Reset() { *m = ApplicationCondition{} } func (*ApplicationCondition) ProtoMessage() {} func (*ApplicationCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{5} + return fileDescriptor_generated_4f0f01182afe8850, []int{5} } func (m *ApplicationCondition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -201,7 +201,7 @@ var xxx_messageInfo_ApplicationCondition proto.InternalMessageInfo func (m *ApplicationDestination) Reset() { *m = ApplicationDestination{} } func (*ApplicationDestination) ProtoMessage() {} func (*ApplicationDestination) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{6} + return fileDescriptor_generated_4f0f01182afe8850, []int{6} } func (m *ApplicationDestination) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -229,7 +229,7 @@ var xxx_messageInfo_ApplicationDestination proto.InternalMessageInfo func (m *ApplicationList) Reset() { *m = ApplicationList{} } func (*ApplicationList) ProtoMessage() {} func (*ApplicationList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{7} + return fileDescriptor_generated_4f0f01182afe8850, []int{7} } func (m *ApplicationList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -257,7 +257,7 @@ var xxx_messageInfo_ApplicationList proto.InternalMessageInfo func (m *ApplicationSource) Reset() { *m = ApplicationSource{} } func (*ApplicationSource) ProtoMessage() {} func (*ApplicationSource) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{8} + return fileDescriptor_generated_4f0f01182afe8850, []int{8} } func (m *ApplicationSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -285,7 +285,7 @@ var xxx_messageInfo_ApplicationSource proto.InternalMessageInfo func (m *ApplicationSourceDirectory) Reset() { *m = ApplicationSourceDirectory{} } func (*ApplicationSourceDirectory) ProtoMessage() {} func (*ApplicationSourceDirectory) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{9} + return fileDescriptor_generated_4f0f01182afe8850, []int{9} } func (m *ApplicationSourceDirectory) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -313,7 +313,7 @@ var xxx_messageInfo_ApplicationSourceDirectory proto.InternalMessageInfo func (m *ApplicationSourceHelm) Reset() { *m = ApplicationSourceHelm{} } func (*ApplicationSourceHelm) ProtoMessage() {} func (*ApplicationSourceHelm) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{10} + return fileDescriptor_generated_4f0f01182afe8850, []int{10} } func (m *ApplicationSourceHelm) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -341,7 +341,7 @@ var xxx_messageInfo_ApplicationSourceHelm proto.InternalMessageInfo func (m *ApplicationSourceJsonnet) Reset() { *m = ApplicationSourceJsonnet{} } func (*ApplicationSourceJsonnet) ProtoMessage() {} func (*ApplicationSourceJsonnet) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{11} + return fileDescriptor_generated_4f0f01182afe8850, []int{11} } func (m *ApplicationSourceJsonnet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -369,7 +369,7 @@ var xxx_messageInfo_ApplicationSourceJsonnet proto.InternalMessageInfo func (m *ApplicationSourceKsonnet) Reset() { *m = ApplicationSourceKsonnet{} } func (*ApplicationSourceKsonnet) ProtoMessage() {} func (*ApplicationSourceKsonnet) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{12} + return fileDescriptor_generated_4f0f01182afe8850, []int{12} } func (m *ApplicationSourceKsonnet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -397,7 +397,7 @@ var xxx_messageInfo_ApplicationSourceKsonnet proto.InternalMessageInfo func (m *ApplicationSourceKustomize) Reset() { *m = ApplicationSourceKustomize{} } func (*ApplicationSourceKustomize) ProtoMessage() {} func (*ApplicationSourceKustomize) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{13} + return fileDescriptor_generated_4f0f01182afe8850, []int{13} } func (m *ApplicationSourceKustomize) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -425,7 +425,7 @@ var xxx_messageInfo_ApplicationSourceKustomize proto.InternalMessageInfo func (m *ApplicationSourcePlugin) Reset() { *m = ApplicationSourcePlugin{} } func (*ApplicationSourcePlugin) ProtoMessage() {} func (*ApplicationSourcePlugin) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{14} + return fileDescriptor_generated_4f0f01182afe8850, []int{14} } func (m *ApplicationSourcePlugin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -453,7 +453,7 @@ var xxx_messageInfo_ApplicationSourcePlugin proto.InternalMessageInfo func (m *ApplicationSpec) Reset() { *m = ApplicationSpec{} } func (*ApplicationSpec) ProtoMessage() {} func (*ApplicationSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{15} + return fileDescriptor_generated_4f0f01182afe8850, []int{15} } func (m *ApplicationSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -481,7 +481,7 @@ var xxx_messageInfo_ApplicationSpec proto.InternalMessageInfo func (m *ApplicationStatus) Reset() { *m = ApplicationStatus{} } func (*ApplicationStatus) ProtoMessage() {} func (*ApplicationStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{16} + return fileDescriptor_generated_4f0f01182afe8850, []int{16} } func (m *ApplicationStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -509,7 +509,7 @@ var xxx_messageInfo_ApplicationStatus proto.InternalMessageInfo func (m *ApplicationSummary) Reset() { *m = ApplicationSummary{} } func (*ApplicationSummary) ProtoMessage() {} func (*ApplicationSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{17} + return fileDescriptor_generated_4f0f01182afe8850, []int{17} } func (m *ApplicationSummary) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -537,7 +537,7 @@ var xxx_messageInfo_ApplicationSummary proto.InternalMessageInfo func (m *ApplicationTree) Reset() { *m = ApplicationTree{} } func (*ApplicationTree) ProtoMessage() {} func (*ApplicationTree) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{18} + return fileDescriptor_generated_4f0f01182afe8850, []int{18} } func (m *ApplicationTree) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -565,7 +565,7 @@ var xxx_messageInfo_ApplicationTree proto.InternalMessageInfo func (m *ApplicationWatchEvent) Reset() { *m = ApplicationWatchEvent{} } func (*ApplicationWatchEvent) ProtoMessage() {} func (*ApplicationWatchEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{19} + return fileDescriptor_generated_4f0f01182afe8850, []int{19} } func (m *ApplicationWatchEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -593,7 +593,7 @@ var xxx_messageInfo_ApplicationWatchEvent proto.InternalMessageInfo func (m *Cluster) Reset() { *m = Cluster{} } func (*Cluster) ProtoMessage() {} func (*Cluster) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{20} + return fileDescriptor_generated_4f0f01182afe8850, []int{20} } func (m *Cluster) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -621,7 +621,7 @@ var xxx_messageInfo_Cluster proto.InternalMessageInfo func (m *ClusterConfig) Reset() { *m = ClusterConfig{} } func (*ClusterConfig) ProtoMessage() {} func (*ClusterConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{21} + return fileDescriptor_generated_4f0f01182afe8850, []int{21} } func (m *ClusterConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -649,7 +649,7 @@ var xxx_messageInfo_ClusterConfig proto.InternalMessageInfo func (m *ClusterList) Reset() { *m = ClusterList{} } func (*ClusterList) ProtoMessage() {} func (*ClusterList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{22} + return fileDescriptor_generated_4f0f01182afe8850, []int{22} } func (m *ClusterList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -677,7 +677,7 @@ var xxx_messageInfo_ClusterList proto.InternalMessageInfo func (m *Command) Reset() { *m = Command{} } func (*Command) ProtoMessage() {} func (*Command) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{23} + return fileDescriptor_generated_4f0f01182afe8850, []int{23} } func (m *Command) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -705,7 +705,7 @@ var xxx_messageInfo_Command proto.InternalMessageInfo func (m *ComparedTo) Reset() { *m = ComparedTo{} } func (*ComparedTo) ProtoMessage() {} func (*ComparedTo) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{24} + return fileDescriptor_generated_4f0f01182afe8850, []int{24} } func (m *ComparedTo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -733,7 +733,7 @@ var xxx_messageInfo_ComparedTo proto.InternalMessageInfo func (m *ComponentParameter) Reset() { *m = ComponentParameter{} } func (*ComponentParameter) ProtoMessage() {} func (*ComponentParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{25} + return fileDescriptor_generated_4f0f01182afe8850, []int{25} } func (m *ComponentParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -761,7 +761,7 @@ var xxx_messageInfo_ComponentParameter proto.InternalMessageInfo func (m *ConfigManagementPlugin) Reset() { *m = ConfigManagementPlugin{} } func (*ConfigManagementPlugin) ProtoMessage() {} func (*ConfigManagementPlugin) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{26} + return fileDescriptor_generated_4f0f01182afe8850, []int{26} } func (m *ConfigManagementPlugin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -789,7 +789,7 @@ var xxx_messageInfo_ConfigManagementPlugin proto.InternalMessageInfo func (m *ConnectionState) Reset() { *m = ConnectionState{} } func (*ConnectionState) ProtoMessage() {} func (*ConnectionState) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{27} + return fileDescriptor_generated_4f0f01182afe8850, []int{27} } func (m *ConnectionState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -817,7 +817,7 @@ var xxx_messageInfo_ConnectionState proto.InternalMessageInfo func (m *EnvEntry) Reset() { *m = EnvEntry{} } func (*EnvEntry) ProtoMessage() {} func (*EnvEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{28} + return fileDescriptor_generated_4f0f01182afe8850, []int{28} } func (m *EnvEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -845,7 +845,7 @@ var xxx_messageInfo_EnvEntry proto.InternalMessageInfo func (m *HealthStatus) Reset() { *m = HealthStatus{} } func (*HealthStatus) ProtoMessage() {} func (*HealthStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{29} + return fileDescriptor_generated_4f0f01182afe8850, []int{29} } func (m *HealthStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -873,7 +873,7 @@ var xxx_messageInfo_HealthStatus proto.InternalMessageInfo func (m *HelmParameter) Reset() { *m = HelmParameter{} } func (*HelmParameter) ProtoMessage() {} func (*HelmParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{30} + return fileDescriptor_generated_4f0f01182afe8850, []int{30} } func (m *HelmParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -901,7 +901,7 @@ var xxx_messageInfo_HelmParameter proto.InternalMessageInfo func (m *Info) Reset() { *m = Info{} } func (*Info) ProtoMessage() {} func (*Info) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{31} + return fileDescriptor_generated_4f0f01182afe8850, []int{31} } func (m *Info) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -929,7 +929,7 @@ var xxx_messageInfo_Info proto.InternalMessageInfo func (m *InfoItem) Reset() { *m = InfoItem{} } func (*InfoItem) ProtoMessage() {} func (*InfoItem) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{32} + return fileDescriptor_generated_4f0f01182afe8850, []int{32} } func (m *InfoItem) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -957,7 +957,7 @@ var xxx_messageInfo_InfoItem proto.InternalMessageInfo func (m *JWTToken) Reset() { *m = JWTToken{} } func (*JWTToken) ProtoMessage() {} func (*JWTToken) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{33} + return fileDescriptor_generated_4f0f01182afe8850, []int{33} } func (m *JWTToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -985,7 +985,7 @@ var xxx_messageInfo_JWTToken proto.InternalMessageInfo func (m *JsonnetVar) Reset() { *m = JsonnetVar{} } func (*JsonnetVar) ProtoMessage() {} func (*JsonnetVar) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{34} + return fileDescriptor_generated_4f0f01182afe8850, []int{34} } func (m *JsonnetVar) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1013,7 +1013,7 @@ var xxx_messageInfo_JsonnetVar proto.InternalMessageInfo func (m *KsonnetParameter) Reset() { *m = KsonnetParameter{} } func (*KsonnetParameter) ProtoMessage() {} func (*KsonnetParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{35} + return fileDescriptor_generated_4f0f01182afe8850, []int{35} } func (m *KsonnetParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1041,7 +1041,7 @@ var xxx_messageInfo_KsonnetParameter proto.InternalMessageInfo func (m *KustomizeOptions) Reset() { *m = KustomizeOptions{} } func (*KustomizeOptions) ProtoMessage() {} func (*KustomizeOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{36} + return fileDescriptor_generated_4f0f01182afe8850, []int{36} } func (m *KustomizeOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1069,7 +1069,7 @@ var xxx_messageInfo_KustomizeOptions proto.InternalMessageInfo func (m *Operation) Reset() { *m = Operation{} } func (*Operation) ProtoMessage() {} func (*Operation) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{37} + return fileDescriptor_generated_4f0f01182afe8850, []int{37} } func (m *Operation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1097,7 +1097,7 @@ var xxx_messageInfo_Operation proto.InternalMessageInfo func (m *OperationState) Reset() { *m = OperationState{} } func (*OperationState) ProtoMessage() {} func (*OperationState) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{38} + return fileDescriptor_generated_4f0f01182afe8850, []int{38} } func (m *OperationState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1125,7 +1125,7 @@ var xxx_messageInfo_OperationState proto.InternalMessageInfo func (m *OrphanedResourcesMonitorSettings) Reset() { *m = OrphanedResourcesMonitorSettings{} } func (*OrphanedResourcesMonitorSettings) ProtoMessage() {} func (*OrphanedResourcesMonitorSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{39} + return fileDescriptor_generated_4f0f01182afe8850, []int{39} } func (m *OrphanedResourcesMonitorSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1153,7 +1153,7 @@ var xxx_messageInfo_OrphanedResourcesMonitorSettings proto.InternalMessageInfo func (m *ProjectRole) Reset() { *m = ProjectRole{} } func (*ProjectRole) ProtoMessage() {} func (*ProjectRole) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{40} + return fileDescriptor_generated_4f0f01182afe8850, []int{40} } func (m *ProjectRole) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1181,7 +1181,7 @@ var xxx_messageInfo_ProjectRole proto.InternalMessageInfo func (m *RepoCreds) Reset() { *m = RepoCreds{} } func (*RepoCreds) ProtoMessage() {} func (*RepoCreds) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{41} + return fileDescriptor_generated_4f0f01182afe8850, []int{41} } func (m *RepoCreds) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1209,7 +1209,7 @@ var xxx_messageInfo_RepoCreds proto.InternalMessageInfo func (m *RepoCredsList) Reset() { *m = RepoCredsList{} } func (*RepoCredsList) ProtoMessage() {} func (*RepoCredsList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{42} + return fileDescriptor_generated_4f0f01182afe8850, []int{42} } func (m *RepoCredsList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1237,7 +1237,7 @@ var xxx_messageInfo_RepoCredsList proto.InternalMessageInfo func (m *Repository) Reset() { *m = Repository{} } func (*Repository) ProtoMessage() {} func (*Repository) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{43} + return fileDescriptor_generated_4f0f01182afe8850, []int{43} } func (m *Repository) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1265,7 +1265,7 @@ var xxx_messageInfo_Repository proto.InternalMessageInfo func (m *RepositoryCertificate) Reset() { *m = RepositoryCertificate{} } func (*RepositoryCertificate) ProtoMessage() {} func (*RepositoryCertificate) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{44} + return fileDescriptor_generated_4f0f01182afe8850, []int{44} } func (m *RepositoryCertificate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1293,7 +1293,7 @@ var xxx_messageInfo_RepositoryCertificate proto.InternalMessageInfo func (m *RepositoryCertificateList) Reset() { *m = RepositoryCertificateList{} } func (*RepositoryCertificateList) ProtoMessage() {} func (*RepositoryCertificateList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{45} + return fileDescriptor_generated_4f0f01182afe8850, []int{45} } func (m *RepositoryCertificateList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1321,7 +1321,7 @@ var xxx_messageInfo_RepositoryCertificateList proto.InternalMessageInfo func (m *RepositoryList) Reset() { *m = RepositoryList{} } func (*RepositoryList) ProtoMessage() {} func (*RepositoryList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{46} + return fileDescriptor_generated_4f0f01182afe8850, []int{46} } func (m *RepositoryList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1349,7 +1349,7 @@ var xxx_messageInfo_RepositoryList proto.InternalMessageInfo func (m *ResourceAction) Reset() { *m = ResourceAction{} } func (*ResourceAction) ProtoMessage() {} func (*ResourceAction) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{47} + return fileDescriptor_generated_4f0f01182afe8850, []int{47} } func (m *ResourceAction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1377,7 +1377,7 @@ var xxx_messageInfo_ResourceAction proto.InternalMessageInfo func (m *ResourceActionDefinition) Reset() { *m = ResourceActionDefinition{} } func (*ResourceActionDefinition) ProtoMessage() {} func (*ResourceActionDefinition) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{48} + return fileDescriptor_generated_4f0f01182afe8850, []int{48} } func (m *ResourceActionDefinition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1405,7 +1405,7 @@ var xxx_messageInfo_ResourceActionDefinition proto.InternalMessageInfo func (m *ResourceActionParam) Reset() { *m = ResourceActionParam{} } func (*ResourceActionParam) ProtoMessage() {} func (*ResourceActionParam) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{49} + return fileDescriptor_generated_4f0f01182afe8850, []int{49} } func (m *ResourceActionParam) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1433,7 +1433,7 @@ var xxx_messageInfo_ResourceActionParam proto.InternalMessageInfo func (m *ResourceActions) Reset() { *m = ResourceActions{} } func (*ResourceActions) ProtoMessage() {} func (*ResourceActions) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{50} + return fileDescriptor_generated_4f0f01182afe8850, []int{50} } func (m *ResourceActions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1461,7 +1461,7 @@ var xxx_messageInfo_ResourceActions proto.InternalMessageInfo func (m *ResourceDiff) Reset() { *m = ResourceDiff{} } func (*ResourceDiff) ProtoMessage() {} func (*ResourceDiff) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{51} + return fileDescriptor_generated_4f0f01182afe8850, []int{51} } func (m *ResourceDiff) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1489,7 +1489,7 @@ var xxx_messageInfo_ResourceDiff proto.InternalMessageInfo func (m *ResourceIgnoreDifferences) Reset() { *m = ResourceIgnoreDifferences{} } func (*ResourceIgnoreDifferences) ProtoMessage() {} func (*ResourceIgnoreDifferences) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{52} + return fileDescriptor_generated_4f0f01182afe8850, []int{52} } func (m *ResourceIgnoreDifferences) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1517,7 +1517,7 @@ var xxx_messageInfo_ResourceIgnoreDifferences proto.InternalMessageInfo func (m *ResourceNetworkingInfo) Reset() { *m = ResourceNetworkingInfo{} } func (*ResourceNetworkingInfo) ProtoMessage() {} func (*ResourceNetworkingInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{53} + return fileDescriptor_generated_4f0f01182afe8850, []int{53} } func (m *ResourceNetworkingInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1545,7 +1545,7 @@ var xxx_messageInfo_ResourceNetworkingInfo proto.InternalMessageInfo func (m *ResourceNode) Reset() { *m = ResourceNode{} } func (*ResourceNode) ProtoMessage() {} func (*ResourceNode) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{54} + return fileDescriptor_generated_4f0f01182afe8850, []int{54} } func (m *ResourceNode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1573,7 +1573,7 @@ var xxx_messageInfo_ResourceNode proto.InternalMessageInfo func (m *ResourceOverride) Reset() { *m = ResourceOverride{} } func (*ResourceOverride) ProtoMessage() {} func (*ResourceOverride) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{55} + return fileDescriptor_generated_4f0f01182afe8850, []int{55} } func (m *ResourceOverride) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1601,7 +1601,7 @@ var xxx_messageInfo_ResourceOverride proto.InternalMessageInfo func (m *ResourceRef) Reset() { *m = ResourceRef{} } func (*ResourceRef) ProtoMessage() {} func (*ResourceRef) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{56} + return fileDescriptor_generated_4f0f01182afe8850, []int{56} } func (m *ResourceRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1629,7 +1629,7 @@ var xxx_messageInfo_ResourceRef proto.InternalMessageInfo func (m *ResourceResult) Reset() { *m = ResourceResult{} } func (*ResourceResult) ProtoMessage() {} func (*ResourceResult) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{57} + return fileDescriptor_generated_4f0f01182afe8850, []int{57} } func (m *ResourceResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1657,7 +1657,7 @@ var xxx_messageInfo_ResourceResult proto.InternalMessageInfo func (m *ResourceStatus) Reset() { *m = ResourceStatus{} } func (*ResourceStatus) ProtoMessage() {} func (*ResourceStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{58} + return fileDescriptor_generated_4f0f01182afe8850, []int{58} } func (m *ResourceStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1685,7 +1685,7 @@ var xxx_messageInfo_ResourceStatus proto.InternalMessageInfo func (m *RevisionHistory) Reset() { *m = RevisionHistory{} } func (*RevisionHistory) ProtoMessage() {} func (*RevisionHistory) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{59} + return fileDescriptor_generated_4f0f01182afe8850, []int{59} } func (m *RevisionHistory) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1713,7 +1713,7 @@ var xxx_messageInfo_RevisionHistory proto.InternalMessageInfo func (m *RevisionMetadata) Reset() { *m = RevisionMetadata{} } func (*RevisionMetadata) ProtoMessage() {} func (*RevisionMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{60} + return fileDescriptor_generated_4f0f01182afe8850, []int{60} } func (m *RevisionMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1741,7 +1741,7 @@ var xxx_messageInfo_RevisionMetadata proto.InternalMessageInfo func (m *SyncOperation) Reset() { *m = SyncOperation{} } func (*SyncOperation) ProtoMessage() {} func (*SyncOperation) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{61} + return fileDescriptor_generated_4f0f01182afe8850, []int{61} } func (m *SyncOperation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1769,7 +1769,7 @@ var xxx_messageInfo_SyncOperation proto.InternalMessageInfo func (m *SyncOperationResource) Reset() { *m = SyncOperationResource{} } func (*SyncOperationResource) ProtoMessage() {} func (*SyncOperationResource) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{62} + return fileDescriptor_generated_4f0f01182afe8850, []int{62} } func (m *SyncOperationResource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1797,7 +1797,7 @@ var xxx_messageInfo_SyncOperationResource proto.InternalMessageInfo func (m *SyncOperationResult) Reset() { *m = SyncOperationResult{} } func (*SyncOperationResult) ProtoMessage() {} func (*SyncOperationResult) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{63} + return fileDescriptor_generated_4f0f01182afe8850, []int{63} } func (m *SyncOperationResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1825,7 +1825,7 @@ var xxx_messageInfo_SyncOperationResult proto.InternalMessageInfo func (m *SyncPolicy) Reset() { *m = SyncPolicy{} } func (*SyncPolicy) ProtoMessage() {} func (*SyncPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{64} + return fileDescriptor_generated_4f0f01182afe8850, []int{64} } func (m *SyncPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1853,7 +1853,7 @@ var xxx_messageInfo_SyncPolicy proto.InternalMessageInfo func (m *SyncPolicyAutomated) Reset() { *m = SyncPolicyAutomated{} } func (*SyncPolicyAutomated) ProtoMessage() {} func (*SyncPolicyAutomated) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{65} + return fileDescriptor_generated_4f0f01182afe8850, []int{65} } func (m *SyncPolicyAutomated) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1881,7 +1881,7 @@ var xxx_messageInfo_SyncPolicyAutomated proto.InternalMessageInfo func (m *SyncStatus) Reset() { *m = SyncStatus{} } func (*SyncStatus) ProtoMessage() {} func (*SyncStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{66} + return fileDescriptor_generated_4f0f01182afe8850, []int{66} } func (m *SyncStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1909,7 +1909,7 @@ var xxx_messageInfo_SyncStatus proto.InternalMessageInfo func (m *SyncStrategy) Reset() { *m = SyncStrategy{} } func (*SyncStrategy) ProtoMessage() {} func (*SyncStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{67} + return fileDescriptor_generated_4f0f01182afe8850, []int{67} } func (m *SyncStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1937,7 +1937,7 @@ var xxx_messageInfo_SyncStrategy proto.InternalMessageInfo func (m *SyncStrategyApply) Reset() { *m = SyncStrategyApply{} } func (*SyncStrategyApply) ProtoMessage() {} func (*SyncStrategyApply) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{68} + return fileDescriptor_generated_4f0f01182afe8850, []int{68} } func (m *SyncStrategyApply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1965,7 +1965,7 @@ var xxx_messageInfo_SyncStrategyApply proto.InternalMessageInfo func (m *SyncStrategyHook) Reset() { *m = SyncStrategyHook{} } func (*SyncStrategyHook) ProtoMessage() {} func (*SyncStrategyHook) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{69} + return fileDescriptor_generated_4f0f01182afe8850, []int{69} } func (m *SyncStrategyHook) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1993,7 +1993,7 @@ var xxx_messageInfo_SyncStrategyHook proto.InternalMessageInfo func (m *SyncWindow) Reset() { *m = SyncWindow{} } func (*SyncWindow) ProtoMessage() {} func (*SyncWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{70} + return fileDescriptor_generated_4f0f01182afe8850, []int{70} } func (m *SyncWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2021,7 +2021,7 @@ var xxx_messageInfo_SyncWindow proto.InternalMessageInfo func (m *TLSClientConfig) Reset() { *m = TLSClientConfig{} } func (*TLSClientConfig) ProtoMessage() {} func (*TLSClientConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_805b7dc487758162, []int{71} + return fileDescriptor_generated_4f0f01182afe8850, []int{71} } func (m *TLSClientConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2690,6 +2690,21 @@ func (m *ApplicationSourceJsonnet) MarshalTo(dAtA []byte) (int, error) { i += n } } + if len(m.JPaths) > 0 { + for _, s := range m.JPaths { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } return i, nil } @@ -5584,6 +5599,12 @@ func (m *ApplicationSourceJsonnet) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + if len(m.JPaths) > 0 { + for _, s := range m.JPaths { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } return n } @@ -6747,6 +6768,7 @@ func (this *ApplicationSourceJsonnet) String() string { s := strings.Join([]string{`&ApplicationSourceJsonnet{`, `ExtVars:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ExtVars), "JsonnetVar", "JsonnetVar", 1), `&`, ``, 1) + `,`, `TLAs:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TLAs), "JsonnetVar", "JsonnetVar", 1), `&`, ``, 1) + `,`, + `JPaths:` + fmt.Sprintf("%v", this.JPaths) + `,`, `}`, }, "") return s @@ -9402,6 +9424,35 @@ func (m *ApplicationSourceJsonnet) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JPaths", 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 > l { + return io.ErrUnexpectedEOF + } + m.JPaths = append(m.JPaths, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -19280,18 +19331,18 @@ var ( ) func init() { - proto.RegisterFile("github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1/generated.proto", fileDescriptor_generated_805b7dc487758162) + proto.RegisterFile("github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1/generated.proto", fileDescriptor_generated_4f0f01182afe8850) } -var fileDescriptor_generated_805b7dc487758162 = []byte{ - // 4812 bytes of a gzipped FileDescriptorProto +var fileDescriptor_generated_4f0f01182afe8850 = []byte{ + // 4829 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x3c, 0x5b, 0x8c, 0x1c, 0xd9, 0x55, 0x5b, 0xdd, 0x3d, 0xfd, 0x38, 0xf3, 0xb0, 0xe7, 0xee, 0x7a, 0xd3, 0x19, 0xed, 0x7a, 0xac, 0xb2, 0x92, 0xec, 0x92, 0xa4, 0x87, 0xb5, 0x1c, 0x70, 0x40, 0xca, 0x32, 0x3d, 0xe3, 0xc7, 0xd8, 0xe3, 0xf1, 0xec, 0xed, 0xd9, 0xb5, 0xb4, 0x09, 0x61, 0xcb, 0x55, 0xb7, 0xbb, 0xcb, 0xd3, 0x5d, - 0x55, 0x5b, 0x55, 0x3d, 0xf6, 0x2c, 0x24, 0x24, 0x40, 0x50, 0x08, 0x2c, 0x42, 0x20, 0xbe, 0x50, - 0x78, 0x89, 0x1f, 0x22, 0x7e, 0x10, 0x12, 0xe1, 0x3b, 0x1f, 0xb0, 0x5f, 0x28, 0x44, 0x2b, 0x58, - 0x01, 0xb2, 0x58, 0x87, 0x0f, 0x04, 0x1f, 0x80, 0x10, 0x3f, 0xfe, 0x42, 0xf7, 0x7d, 0xab, 0xba, + 0x55, 0x5b, 0x55, 0x3d, 0xf6, 0x2c, 0x24, 0x24, 0x40, 0x50, 0x08, 0x2c, 0x42, 0x20, 0x3e, 0x10, + 0x0a, 0x2f, 0xf1, 0x43, 0xc4, 0x0f, 0x42, 0x22, 0x7c, 0xe7, 0x03, 0xf6, 0x0b, 0x85, 0x68, 0x05, + 0x2b, 0x40, 0x16, 0xeb, 0xf0, 0x81, 0xe0, 0x03, 0x10, 0x7f, 0xfe, 0x42, 0xf7, 0x7d, 0xab, 0xba, 0xdb, 0x33, 0x76, 0x97, 0x1d, 0x94, 0xfc, 0x75, 0x9d, 0x73, 0xea, 0x9c, 0x7b, 0xcf, 0x3d, 0xf7, 0xdc, 0x73, 0xce, 0x3d, 0xd5, 0xb0, 0xd5, 0xf3, 0xd3, 0xfe, 0xe8, 0x56, 0xcb, 0x0d, 0x87, 0x6b, 0x4e, 0xdc, 0x0b, 0xa3, 0x38, 0xbc, 0xcd, 0x7e, 0x7c, 0xda, 0xf5, 0xd6, 0xa2, 0xfd, 0xde, 0x9a, @@ -19307,16 +19358,16 @@ var fileDescriptor_generated_805b7dc487758162 = []byte{ 0x18, 0x74, 0xfd, 0x1e, 0xfa, 0x0c, 0xcc, 0xbb, 0x83, 0x51, 0x92, 0x92, 0x78, 0xc7, 0x19, 0x92, 0xa6, 0x75, 0xc6, 0x7a, 0xa9, 0xd1, 0x7e, 0xf6, 0xbd, 0x7b, 0xab, 0xcf, 0xdc, 0xbf, 0xb7, 0x3a, 0xbf, 0xa1, 0x51, 0xd8, 0xa4, 0x43, 0x2f, 0x43, 0x2d, 0x0e, 0x07, 0x64, 0x1d, 0xef, 0x34, 0x4b, - 0xec, 0x95, 0x13, 0xe2, 0x95, 0x1a, 0xe6, 0x60, 0x2c, 0xf1, 0xf6, 0x3f, 0x59, 0x00, 0xeb, 0x51, + 0xec, 0x95, 0x13, 0xe2, 0x95, 0x1a, 0xe6, 0x60, 0x2c, 0xf1, 0xf6, 0x3f, 0x5b, 0x00, 0xeb, 0x51, 0xb4, 0x1b, 0x87, 0xb7, 0x89, 0x9b, 0xa2, 0xb7, 0xa0, 0x4e, 0xb5, 0xe0, 0x39, 0xa9, 0xc3, 0xa4, 0xcd, 0x9f, 0xfb, 0xf1, 0x16, 0x9f, 0x4c, 0xcb, 0x9c, 0x8c, 0x5e, 0x39, 0x4a, 0xdd, 0x3a, 0x78, 0xa5, 0x75, 0xe3, 0x16, 0x7d, 0xff, 0x3a, 0x49, 0x9d, 0x36, 0x12, 0xc2, 0x40, 0xc3, 0xb0, 0xe2, 0x8a, 0xf6, 0xa1, 0x92, 0x44, 0xc4, 0x65, 0x03, 0x9b, 0x3f, 0xb7, 0xd5, 0x7a, 0x6c, 0xfb, 0x68, - 0xe9, 0x61, 0x77, 0x22, 0xe2, 0xb6, 0x17, 0x84, 0xd8, 0x0a, 0x7d, 0xc2, 0x4c, 0x88, 0xfd, 0x8f, + 0xe9, 0x61, 0x77, 0x22, 0xe2, 0xb6, 0x17, 0x84, 0xd8, 0x0a, 0x7d, 0xc2, 0x4c, 0x88, 0xfd, 0x4f, 0x16, 0x2c, 0x69, 0xb2, 0x6d, 0x3f, 0x49, 0xd1, 0x17, 0xc6, 0x66, 0xd8, 0x3a, 0xde, 0x0c, 0xe9, 0xdb, 0x6c, 0x7e, 0x27, 0x85, 0xa0, 0xba, 0x84, 0x18, 0xb3, 0xbb, 0x0d, 0x73, 0x7e, 0x4a, 0x86, 0x49, 0xb3, 0x74, 0xa6, 0xfc, 0xd2, 0xfc, 0xb9, 0x8b, 0x85, 0x4c, 0xaf, 0xbd, 0x28, 0x24, 0xce, - 0x6d, 0x51, 0xde, 0x98, 0x8b, 0xb0, 0xff, 0xaa, 0x66, 0x4e, 0x8e, 0xce, 0x1a, 0xbd, 0x02, 0xf3, + 0x6d, 0x51, 0xde, 0x98, 0x8b, 0xb0, 0xff, 0xba, 0x66, 0x4e, 0x8e, 0xce, 0x1a, 0xbd, 0x02, 0xf3, 0x49, 0x38, 0x8a, 0x5d, 0x82, 0x49, 0x14, 0x26, 0x4d, 0xeb, 0x4c, 0x99, 0x2e, 0x3e, 0xb5, 0x95, 0x8e, 0x06, 0x63, 0x93, 0x06, 0xfd, 0xba, 0x05, 0x0b, 0x1e, 0x49, 0x52, 0x3f, 0x60, 0xf2, 0xe5, 0xc8, 0x5f, 0x9b, 0x6d, 0xe4, 0x12, 0xb8, 0xa9, 0x39, 0xb7, 0x9f, 0x13, 0xb3, 0x58, 0x30, 0x80, @@ -19327,16 +19378,16 @@ var fileDescriptor_generated_805b7dc487758162 = []byte{ 0x63, 0x03, 0x58, 0x3b, 0x9e, 0x49, 0x5d, 0x8e, 0xc3, 0x51, 0x74, 0xcd, 0x0f, 0xbc, 0xf6, 0x19, 0x21, 0xa9, 0xb9, 0x31, 0x85, 0x31, 0x9e, 0x2a, 0x12, 0xfd, 0x8e, 0x05, 0x2b, 0x81, 0x33, 0x24, 0x49, 0xe4, 0xd0, 0x45, 0xe5, 0xe8, 0xf6, 0xc0, 0x71, 0xf7, 0xd9, 0x88, 0xaa, 0x8f, 0x37, 0x22, - 0x5b, 0x8c, 0x68, 0x65, 0x67, 0x2a, 0x6b, 0xfc, 0x10, 0xb1, 0xe8, 0x0f, 0x2d, 0x58, 0x0e, 0xe3, + 0x5b, 0x8c, 0x68, 0x65, 0x67, 0x2a, 0x6b, 0xfc, 0x10, 0xb1, 0xe8, 0x8f, 0x2c, 0x58, 0x0e, 0xe3, 0xa8, 0xef, 0x04, 0xc4, 0x93, 0xd8, 0xa4, 0x59, 0x63, 0x3b, 0xee, 0xf3, 0x33, 0xac, 0xcf, 0x8d, 0x3c, 0xcf, 0xeb, 0x61, 0xe0, 0xa7, 0x61, 0xdc, 0x21, 0x69, 0xea, 0x07, 0xbd, 0xa4, 0x7d, 0xea, 0xfe, 0xbd, 0xd5, 0xe5, 0x31, 0x2a, 0x3c, 0x3e, 0x18, 0x74, 0x17, 0xe6, 0x93, 0xc3, 0xc0, 0xbd, 0xe9, 0x07, 0x5e, 0x78, 0x27, 0x69, 0xd6, 0x67, 0xde, 0xb2, 0x1d, 0xc5, 0x4d, 0x6c, 0x3a, 0xcd, - 0x1d, 0x9b, 0xa2, 0xec, 0xbf, 0x2e, 0xc3, 0xbc, 0xb1, 0x4b, 0x9e, 0x82, 0xdb, 0x1d, 0x64, 0xdc, + 0x1d, 0x9b, 0xa2, 0xec, 0xbf, 0x29, 0xc3, 0xbc, 0xb1, 0x4b, 0x9e, 0x82, 0xdb, 0x1d, 0x64, 0xdc, 0xee, 0xd5, 0x62, 0x76, 0xf7, 0x34, 0xbf, 0x8b, 0x52, 0xa8, 0x26, 0xa9, 0x93, 0x8e, 0x12, 0xb6, 0x83, 0xe7, 0xcf, 0x6d, 0x17, 0x24, 0x8f, 0xf1, 0x6c, 0x2f, 0x09, 0x89, 0x55, 0xfe, 0x8c, 0x85, 0x2c, 0xf4, 0x36, 0x34, 0xc2, 0x88, 0x1e, 0xa8, 0xd4, 0x75, 0x54, 0x98, 0xe0, 0xcd, 0x59, 0x2c, - 0x4d, 0xf2, 0x6a, 0x2f, 0xde, 0xbf, 0xb7, 0xda, 0x50, 0x8f, 0x58, 0x4b, 0xb1, 0xff, 0xc1, 0x82, + 0x4d, 0xf2, 0x6a, 0x2f, 0xde, 0xbf, 0xb7, 0xda, 0x50, 0x8f, 0x58, 0x4b, 0xb1, 0xff, 0xd1, 0x82, 0xe7, 0x8c, 0x01, 0x6e, 0x84, 0x81, 0xe7, 0xb3, 0x15, 0x3d, 0x03, 0x95, 0xf4, 0x30, 0x92, 0x47, 0xb6, 0xd2, 0xd1, 0xde, 0x61, 0x44, 0x30, 0xc3, 0xd0, 0x43, 0x7a, 0x48, 0x92, 0xc4, 0xe9, 0x91, 0xfc, 0x21, 0x7d, 0x9d, 0x83, 0xb1, 0xc4, 0xa3, 0x18, 0xd0, 0xc0, 0x49, 0xd2, 0xbd, 0xd8, 0x09, @@ -19344,8 +19395,8 @@ var fileDescriptor_generated_805b7dc487758162 = []byte{ 0xdf, 0xbf, 0xb7, 0x8a, 0xb6, 0xc7, 0x38, 0xe1, 0x09, 0xdc, 0xed, 0xb7, 0xe1, 0xf9, 0xc9, 0x7e, 0x1c, 0x7d, 0x1c, 0xaa, 0x09, 0x89, 0x0f, 0x48, 0x2c, 0x26, 0xa7, 0x97, 0x83, 0x41, 0xb1, 0xc0, 0xa2, 0x35, 0x68, 0x28, 0xff, 0x20, 0xa6, 0xb8, 0x2c, 0x48, 0x1b, 0xda, 0xa9, 0x68, 0x1a, 0xfb, - 0x9f, 0x2d, 0x38, 0x61, 0xc8, 0x7c, 0x0a, 0xc7, 0xf5, 0x7e, 0xf6, 0xb8, 0xbe, 0x54, 0x8c, 0x99, - 0x4e, 0x39, 0xaf, 0xff, 0xa2, 0x0a, 0xcb, 0xa6, 0x31, 0x33, 0x2f, 0xc4, 0x62, 0x35, 0x12, 0x85, + 0x5f, 0x2c, 0x38, 0x61, 0xc8, 0x7c, 0x0a, 0xc7, 0xf5, 0x7e, 0xf6, 0xb8, 0xbe, 0x54, 0x8c, 0x99, + 0x4e, 0x39, 0xaf, 0xff, 0xb2, 0x0a, 0xcb, 0xa6, 0x31, 0x33, 0x2f, 0xc4, 0x62, 0x35, 0x12, 0x85, 0xaf, 0xe3, 0x6d, 0xa1, 0x4e, 0x1d, 0xab, 0x71, 0x30, 0x96, 0x78, 0x6a, 0x53, 0x91, 0x93, 0xf6, 0x85, 0x2e, 0x95, 0x4d, 0xed, 0x3a, 0x69, 0x1f, 0x33, 0x0c, 0xfa, 0x1c, 0x2c, 0xa5, 0x4e, 0xdc, 0x23, 0x29, 0x26, 0x07, 0x7e, 0x22, 0xb7, 0x41, 0xa3, 0xfd, 0xbc, 0xa0, 0x5d, 0xda, 0xcb, 0x60, @@ -19358,232 +19409,233 @@ var fileDescriptor_generated_805b7dc487758162 = []byte{ 0x64, 0xce, 0x15, 0xa0, 0x1e, 0xb1, 0x16, 0x8b, 0x0e, 0xa0, 0x1a, 0x0d, 0x46, 0x3d, 0x3f, 0x68, 0xce, 0xb3, 0x01, 0xe0, 0x22, 0x07, 0xb0, 0xcb, 0x38, 0xb7, 0x81, 0x3a, 0x08, 0xfe, 0x1b, 0x0b, 0x69, 0xe8, 0x2c, 0xcc, 0xb9, 0x7d, 0x27, 0x4e, 0x9b, 0x0b, 0xcc, 0x48, 0xd5, 0xae, 0xd9, 0xa0, - 0x40, 0xcc, 0x71, 0xf6, 0xdf, 0x58, 0xb0, 0x32, 0x7d, 0x56, 0x7c, 0xfb, 0xb8, 0xa3, 0x38, 0xe1, + 0x40, 0xcc, 0x71, 0xf6, 0xdf, 0x5a, 0xb0, 0x32, 0x7d, 0x56, 0x7c, 0xfb, 0xb8, 0xa3, 0x38, 0xe1, 0xae, 0xb6, 0x6e, 0x6e, 0x1f, 0x06, 0xc6, 0x12, 0x8f, 0xbe, 0x0c, 0xb5, 0xdb, 0x62, 0x9d, 0x4b, - 0xc5, 0xaf, 0xf3, 0x55, 0xb1, 0xce, 0x4a, 0xfe, 0x55, 0xb9, 0xd6, 0x42, 0xa8, 0xfd, 0x27, 0x25, + 0xc5, 0xaf, 0xf3, 0x55, 0xb1, 0xce, 0x4a, 0xfe, 0x55, 0xb9, 0xd6, 0x42, 0xa8, 0xfd, 0xa7, 0x25, 0x38, 0x35, 0x71, 0x5b, 0xa0, 0x16, 0xc0, 0x81, 0x33, 0x18, 0x91, 0x4b, 0x3e, 0x8d, 0x61, 0x79, 0xd4, 0xbe, 0x44, 0x8f, 0xf2, 0x37, 0x14, 0x14, 0x1b, 0x14, 0xe8, 0x17, 0x00, 0x22, 0x27, 0x76, 0x86, 0x24, 0x25, 0xb1, 0xf4, 0x5d, 0x57, 0x66, 0x98, 0x0c, 0x1d, 0xc4, 0xae, 0x64, 0xa8, 0x03, 0x09, 0x05, 0x4a, 0xb0, 0x21, 0x8f, 0xc6, 0xe8, 0x31, 0x19, 0x10, 0x27, 0x21, 0x2c, 0x29, 0xcd, 0xc5, 0xe8, 0x58, 0xa3, 0xb0, 0x49, 0x47, 0x8f, 0x0d, 0x36, 0x85, 0x44, 0xf8, 0x24, 0x75, 0x6c, - 0xb0, 0x49, 0x26, 0x58, 0x60, 0xed, 0xff, 0xb5, 0xa0, 0x39, 0x4d, 0xbb, 0x28, 0x82, 0x1a, 0xb9, - 0x9b, 0xbe, 0xe1, 0xc4, 0x5c, 0x4d, 0xb3, 0x85, 0x6b, 0x82, 0xe9, 0x1b, 0x4e, 0xac, 0x57, 0xed, - 0x22, 0xe7, 0x8e, 0xa5, 0x18, 0xd4, 0x83, 0x4a, 0x3a, 0x70, 0x8a, 0x48, 0xe8, 0x0c, 0x71, 0x3a, - 0x1e, 0xd8, 0x5e, 0x4f, 0x30, 0x13, 0x60, 0x7f, 0x6f, 0xd2, 0xbc, 0x85, 0xc3, 0xa0, 0x3a, 0x27, - 0xc1, 0x81, 0x1f, 0x87, 0xc1, 0x90, 0x04, 0x69, 0xbe, 0x10, 0x70, 0x51, 0xa3, 0xb0, 0x49, 0x87, - 0x7e, 0x71, 0x82, 0xa1, 0x5c, 0x9b, 0x61, 0x0a, 0x62, 0x38, 0xc7, 0xb6, 0x15, 0xfb, 0x0f, 0xca, - 0x13, 0x76, 0xaf, 0xf2, 0xc2, 0xe8, 0x1c, 0x00, 0x3d, 0xfe, 0x77, 0x63, 0xd2, 0xf5, 0xef, 0x8a, - 0x59, 0x29, 0x96, 0x3b, 0x0a, 0x83, 0x0d, 0x2a, 0xf9, 0x4e, 0x67, 0xd4, 0xa5, 0xef, 0x94, 0xc6, - 0xdf, 0xe1, 0x18, 0x6c, 0x50, 0xa1, 0xf3, 0x50, 0xf5, 0x87, 0x4e, 0x8f, 0xd0, 0x78, 0x94, 0x6e, - 0xae, 0x17, 0xa8, 0xdd, 0x6d, 0x31, 0xc8, 0x83, 0x7b, 0xab, 0x4b, 0x6a, 0x40, 0x0c, 0x84, 0x05, - 0x2d, 0xfa, 0x23, 0x0b, 0x16, 0xdc, 0x70, 0x38, 0x0c, 0x83, 0x6d, 0xe7, 0x16, 0x19, 0xc8, 0xec, - 0xb2, 0xf7, 0x44, 0x0e, 0xa8, 0xd6, 0x86, 0x21, 0xe9, 0x62, 0x90, 0xc6, 0x87, 0x3a, 0x61, 0x36, - 0x51, 0x38, 0x33, 0xa4, 0x95, 0x57, 0x61, 0x79, 0xec, 0x45, 0x74, 0x12, 0xca, 0xfb, 0xe4, 0x90, - 0xeb, 0x13, 0xd3, 0x9f, 0xe8, 0x39, 0x98, 0x63, 0xdb, 0x8b, 0xeb, 0x0b, 0xf3, 0x87, 0x9f, 0x2a, - 0x5d, 0xb0, 0xec, 0xdf, 0xb3, 0xe0, 0x23, 0x53, 0x9c, 0x36, 0x0d, 0x38, 0x02, 0x5d, 0x77, 0x52, - 0x46, 0xcb, 0xf6, 0x36, 0xc3, 0xa0, 0x2f, 0x42, 0x99, 0x04, 0x07, 0xc2, 0xb2, 0x36, 0x66, 0x50, - 0xcc, 0xc5, 0xe0, 0x80, 0x4f, 0xba, 0x76, 0xff, 0xde, 0x6a, 0xf9, 0x62, 0x70, 0x80, 0x29, 0x63, - 0xfb, 0xdb, 0x73, 0x99, 0x90, 0xb0, 0x23, 0x93, 0x0b, 0x36, 0x4a, 0x11, 0x10, 0x6e, 0x17, 0xb9, - 0x1e, 0x46, 0x34, 0xcb, 0x8b, 0x24, 0x42, 0x16, 0xfa, 0xba, 0xc5, 0x4a, 0x13, 0x32, 0x0a, 0x16, - 0x47, 0xc8, 0x13, 0x28, 0x93, 0x98, 0xd5, 0x0e, 0x09, 0xc4, 0xa6, 0x68, 0x7a, 0xe6, 0x45, 0xbc, - 0x4a, 0x21, 0x9c, 0xaf, 0xf2, 0x5e, 0xb2, 0x78, 0x21, 0xf1, 0x68, 0x04, 0x40, 0xf3, 0xce, 0xdd, - 0x70, 0xe0, 0xbb, 0x87, 0x22, 0x27, 0x9a, 0x35, 0xc3, 0xe5, 0xcc, 0xf8, 0x01, 0xa5, 0x9f, 0xb1, - 0x21, 0x08, 0x7d, 0xd3, 0x82, 0x65, 0xbf, 0x17, 0x84, 0x31, 0xd9, 0xf4, 0xbb, 0x5d, 0x12, 0x93, - 0x80, 0x26, 0xff, 0xbc, 0x36, 0xb2, 0x37, 0x83, 0x78, 0x99, 0xbb, 0x6f, 0xe5, 0x79, 0xb7, 0x3f, - 0x2a, 0x54, 0xb0, 0x3c, 0x86, 0xc2, 0xe3, 0x23, 0x41, 0x0e, 0x54, 0xfc, 0xa0, 0x1b, 0x8a, 0xda, - 0xc8, 0xab, 0x33, 0x8c, 0x68, 0x2b, 0xe8, 0x86, 0x7a, 0x67, 0xd0, 0x27, 0xcc, 0x58, 0xdb, 0xff, - 0x53, 0xcf, 0x46, 0xfb, 0x3c, 0x45, 0x7d, 0x07, 0x1a, 0xb1, 0x2a, 0x86, 0xf0, 0x13, 0x6c, 0xab, - 0x00, 0x7d, 0x88, 0xc4, 0x58, 0xa5, 0x57, 0xba, 0xec, 0xa1, 0xc5, 0xd1, 0x93, 0x8c, 0x2e, 0x91, - 0xb0, 0xdc, 0x59, 0xad, 0x40, 0x88, 0xd4, 0xd9, 0xff, 0x61, 0x40, 0xb3, 0xff, 0xc3, 0xc0, 0x45, - 0x21, 0x54, 0xfb, 0xc4, 0x19, 0xa4, 0x7d, 0x91, 0xa2, 0x5e, 0x9e, 0x29, 0x34, 0xa1, 0x8c, 0xf2, - 0x89, 0x3f, 0x87, 0x62, 0x21, 0x06, 0x8d, 0xa0, 0xd6, 0xf7, 0x13, 0x16, 0x42, 0x73, 0x17, 0x7d, - 0x75, 0x26, 0x9d, 0xf2, 0x64, 0xe8, 0x0a, 0xe7, 0xa8, 0x37, 0x97, 0x00, 0x60, 0x29, 0x0b, 0xfd, - 0xb2, 0x05, 0xe0, 0xca, 0x8c, 0x5f, 0x9a, 0xf7, 0x8d, 0x62, 0x3c, 0x82, 0xaa, 0x24, 0xe8, 0xb3, - 0x4d, 0x81, 0x12, 0x6c, 0x88, 0x45, 0x6f, 0xc1, 0x42, 0x4c, 0xdc, 0x30, 0x70, 0xfd, 0x01, 0xf1, - 0xd6, 0xd3, 0x66, 0xf5, 0x91, 0xcb, 0x02, 0x27, 0xe9, 0x19, 0x83, 0x0d, 0x1e, 0x38, 0xc3, 0x11, - 0x7d, 0xcd, 0x82, 0x25, 0x55, 0xf2, 0xa0, 0x4b, 0x41, 0x44, 0x82, 0xb8, 0x55, 0x44, 0x75, 0x85, - 0x31, 0x6c, 0x23, 0x9a, 0x9d, 0x66, 0x61, 0x38, 0x27, 0x14, 0xbd, 0x09, 0x10, 0xde, 0x62, 0xc5, - 0x05, 0x3a, 0xcf, 0xfa, 0x23, 0xcf, 0x73, 0x89, 0x57, 0xc7, 0x24, 0x07, 0x6c, 0x70, 0x43, 0xd7, - 0x00, 0xf8, 0x3e, 0xd9, 0x3b, 0x8c, 0x08, 0xcb, 0x03, 0x1b, 0xed, 0x4f, 0x4a, 0xcd, 0x77, 0x14, - 0xe6, 0xc1, 0xbd, 0xd5, 0xf1, 0x18, 0x9e, 0x15, 0x75, 0x8c, 0xd7, 0xd1, 0x5d, 0xa8, 0x25, 0xa3, - 0xe1, 0xd0, 0x51, 0x29, 0xdd, 0xf5, 0x82, 0x8e, 0x28, 0xce, 0x54, 0x9b, 0xa4, 0x00, 0x60, 0x29, - 0xce, 0x0e, 0x00, 0x8d, 0xd3, 0xa3, 0xf3, 0xb0, 0x40, 0xee, 0xa6, 0x24, 0x0e, 0x9c, 0xc1, 0xeb, - 0x78, 0x5b, 0x66, 0x18, 0x6c, 0xd9, 0x2f, 0x1a, 0x70, 0x9c, 0xa1, 0x42, 0xb6, 0x0a, 0x9a, 0x4a, - 0x8c, 0x1e, 0x74, 0xd0, 0x24, 0x43, 0x24, 0xfb, 0x57, 0x4b, 0x99, 0xf3, 0x79, 0x2f, 0x26, 0x04, - 0x0d, 0x60, 0x2e, 0x08, 0x3d, 0xe5, 0xdf, 0x2e, 0x17, 0xe0, 0xdf, 0x76, 0x42, 0xcf, 0xa8, 0xc6, - 0xd3, 0xa7, 0x04, 0x73, 0x21, 0xe8, 0x57, 0x2c, 0x58, 0x94, 0xa5, 0x5d, 0x86, 0x10, 0xc1, 0x48, - 0x61, 0x62, 0x4f, 0x09, 0xb1, 0x8b, 0x37, 0x4c, 0x29, 0x38, 0x2b, 0xd4, 0xfe, 0xbe, 0x95, 0x49, - 0xee, 0x6e, 0x3a, 0xa9, 0xdb, 0xbf, 0x78, 0x40, 0x63, 0xf0, 0x6b, 0x99, 0x4a, 0xe0, 0x4f, 0x9a, - 0x95, 0xc0, 0x07, 0xf7, 0x56, 0x3f, 0x31, 0xed, 0xaa, 0xf0, 0x0e, 0xe5, 0xd0, 0x62, 0x2c, 0x8c, - 0xa2, 0xe1, 0x97, 0x60, 0xde, 0x18, 0xb1, 0x70, 0xe5, 0x45, 0x95, 0xad, 0x54, 0xe4, 0x61, 0x00, - 0xb1, 0x29, 0xcf, 0xfe, 0xed, 0x32, 0xd4, 0xc4, 0x0d, 0xc5, 0xb1, 0xcb, 0x80, 0x32, 0x88, 0x2c, - 0x4d, 0x0d, 0x22, 0x23, 0xa8, 0xba, 0xec, 0xbe, 0x53, 0x9c, 0x17, 0xb3, 0xa4, 0xb2, 0x62, 0x74, - 0xfc, 0xfe, 0x54, 0x8f, 0x89, 0x3f, 0x63, 0x21, 0x07, 0xbd, 0x6b, 0xc1, 0x09, 0x97, 0xa6, 0x32, - 0xae, 0x76, 0x69, 0x95, 0x99, 0x2b, 0xe3, 0x1b, 0x59, 0x8e, 0xed, 0x8f, 0x08, 0xe9, 0x27, 0x72, - 0x08, 0x9c, 0x97, 0x8d, 0x7e, 0x1a, 0x16, 0xb9, 0xb6, 0xde, 0x20, 0x31, 0x2b, 0xdb, 0xcd, 0x31, - 0x65, 0x29, 0xd3, 0xeb, 0x98, 0x48, 0x9c, 0xa5, 0xb5, 0xff, 0xb2, 0x0c, 0x8b, 0x99, 0x69, 0xa3, - 0x4f, 0x41, 0x7d, 0x94, 0xd0, 0x8d, 0xac, 0x62, 0x77, 0x55, 0x04, 0x7d, 0x5d, 0xc0, 0xb1, 0xa2, - 0xa0, 0xd4, 0x91, 0x93, 0x24, 0x77, 0xc2, 0xd8, 0x13, 0x8b, 0xa4, 0xa8, 0x77, 0x05, 0x1c, 0x2b, - 0x0a, 0x9a, 0x89, 0xde, 0x22, 0x4e, 0x4c, 0xe2, 0xbd, 0x70, 0x9f, 0x8c, 0xdd, 0xd0, 0xb5, 0x35, - 0x0a, 0x9b, 0x74, 0x4c, 0xe3, 0xe9, 0x20, 0xd9, 0x18, 0xf8, 0x24, 0x48, 0xf9, 0x30, 0x0b, 0xd0, - 0xf8, 0xde, 0x76, 0xc7, 0xe4, 0xa8, 0x35, 0x9e, 0x43, 0xe0, 0xbc, 0x6c, 0xf4, 0x55, 0x0b, 0x16, - 0x9d, 0x3b, 0x89, 0xbe, 0x6b, 0x67, 0x2a, 0x9f, 0xcd, 0xf6, 0x32, 0x77, 0xf7, 0xed, 0x65, 0xba, - 0x70, 0x19, 0x10, 0xce, 0x4a, 0xb4, 0xdf, 0xb7, 0x40, 0xde, 0xe1, 0x3f, 0x85, 0x5a, 0x77, 0x2f, - 0x5b, 0xeb, 0x6e, 0xcf, 0xbe, 0xc9, 0xa6, 0xd4, 0xb9, 0x77, 0xa0, 0x46, 0x53, 0x52, 0x27, 0xf0, - 0xd0, 0xc7, 0xa0, 0xe6, 0xf2, 0x9f, 0xe2, 0xcc, 0x61, 0x55, 0x50, 0x81, 0xc5, 0x12, 0x87, 0x5e, - 0x80, 0x8a, 0x13, 0xf7, 0xe4, 0x39, 0xc3, 0x8a, 0xc4, 0xeb, 0x71, 0x2f, 0xc1, 0x0c, 0x6a, 0xbf, - 0x5b, 0x02, 0xd8, 0x08, 0x87, 0x91, 0x13, 0x13, 0x6f, 0x2f, 0xfc, 0x91, 0x4f, 0xff, 0xec, 0xdf, - 0xb0, 0x00, 0x51, 0x7d, 0x84, 0x01, 0x09, 0x74, 0x29, 0x06, 0xad, 0x41, 0xc3, 0x95, 0x50, 0xb1, - 0xeb, 0x55, 0x3e, 0xa0, 0xc8, 0xb1, 0xa6, 0x39, 0x86, 0x63, 0x3e, 0x2b, 0xab, 0x06, 0xe5, 0x6c, - 0x81, 0x96, 0x55, 0xec, 0x44, 0x11, 0xc1, 0xfe, 0xcd, 0x12, 0x3c, 0xcf, 0x0d, 0xfa, 0xba, 0x13, - 0x38, 0x3d, 0x32, 0xa4, 0xa3, 0x3a, 0x6e, 0xfd, 0xe0, 0x2d, 0x9a, 0x88, 0xf9, 0xb2, 0x20, 0x3b, - 0x93, 0x4d, 0x72, 0x5b, 0xe2, 0xd6, 0xb3, 0x15, 0xf8, 0x29, 0x66, 0x9c, 0x51, 0x04, 0x75, 0xd9, - 0x66, 0x23, 0x8e, 0x97, 0x22, 0xa4, 0xa8, 0x8d, 0x76, 0x59, 0xf0, 0xc6, 0x4a, 0x8a, 0xfd, 0x1d, - 0x0b, 0xf2, 0x1e, 0x9f, 0x1d, 0x96, 0xfc, 0x42, 0x34, 0x7f, 0x58, 0x66, 0xaf, 0x30, 0x1f, 0xe1, - 0x52, 0xf0, 0x0b, 0x30, 0xef, 0xa4, 0x29, 0x19, 0x46, 0x29, 0x0b, 0x87, 0xcb, 0x8f, 0x17, 0x0e, - 0x5f, 0x0f, 0x3d, 0xbf, 0xeb, 0xb3, 0x70, 0xd8, 0x64, 0x67, 0xbf, 0x06, 0x75, 0x59, 0x92, 0x39, - 0xc6, 0x32, 0x9e, 0xcd, 0x94, 0x97, 0xa6, 0x18, 0x8a, 0x03, 0x0b, 0x66, 0x36, 0xf7, 0x04, 0x74, - 0x62, 0xbf, 0x6b, 0xc1, 0x62, 0xa6, 0x98, 0x5d, 0xd0, 0xd8, 0xe9, 0xa9, 0xd7, 0x0d, 0x59, 0xa2, - 0x1d, 0xfb, 0x01, 0x8f, 0x53, 0xea, 0x7a, 0xab, 0x5e, 0xd2, 0x28, 0x6c, 0xd2, 0xd9, 0xd7, 0x81, - 0x95, 0x04, 0x8a, 0xd2, 0xe0, 0x6b, 0x50, 0xa7, 0xec, 0xa8, 0xb7, 0x2d, 0x8a, 0x65, 0x07, 0xea, - 0x57, 0x6f, 0xee, 0xf1, 0x33, 0xda, 0x86, 0xb2, 0xef, 0x70, 0xdf, 0x51, 0xd6, 0x16, 0xbe, 0x95, - 0x24, 0x23, 0x66, 0x1f, 0x14, 0x89, 0xce, 0x42, 0x99, 0xdc, 0x8d, 0x18, 0xcb, 0xb2, 0xf6, 0x2f, - 0x17, 0xef, 0x46, 0x7e, 0x4c, 0x12, 0x4a, 0x44, 0xee, 0x46, 0xf6, 0x08, 0x40, 0x17, 0xbb, 0x8b, - 0x5a, 0x82, 0x33, 0x50, 0x71, 0x43, 0x8f, 0x08, 0xdd, 0x2b, 0x36, 0x1b, 0xa1, 0x47, 0x30, 0xc3, - 0xd8, 0xdf, 0xb0, 0xe0, 0x64, 0xbe, 0x42, 0xfd, 0x03, 0x73, 0x8b, 0xdb, 0x70, 0x52, 0xd5, 0x76, - 0x6f, 0x44, 0x3c, 0x55, 0xbf, 0x00, 0x0b, 0xb7, 0x46, 0xfe, 0xc0, 0x13, 0xcf, 0x62, 0x38, 0xaa, - 0xcc, 0xdb, 0x36, 0x70, 0x38, 0x43, 0x69, 0x27, 0xa0, 0xfb, 0x0f, 0x50, 0x57, 0x14, 0x72, 0xac, - 0x99, 0x23, 0x96, 0xce, 0x61, 0xe0, 0xea, 0x36, 0x87, 0x7a, 0xb6, 0x8e, 0x63, 0xff, 0x71, 0x05, - 0x72, 0x29, 0x39, 0x1a, 0x99, 0x2d, 0x16, 0x56, 0x81, 0x2d, 0x16, 0x6a, 0x4d, 0x26, 0xb5, 0x59, - 0xa0, 0xcf, 0xc0, 0x5c, 0xd4, 0x77, 0x12, 0xb9, 0x28, 0xab, 0x52, 0xe3, 0xbb, 0x14, 0xf8, 0xc0, - 0xac, 0x1c, 0x30, 0x08, 0xe6, 0xd4, 0xa6, 0xe7, 0x28, 0x1f, 0xe1, 0x4d, 0xbf, 0xcc, 0x0b, 0xa5, - 0x98, 0x24, 0xa3, 0x41, 0x2a, 0x22, 0xd3, 0x9d, 0xa2, 0x34, 0xcb, 0xb9, 0xea, 0x8a, 0x29, 0x7f, - 0xc6, 0x86, 0x44, 0xf4, 0x79, 0x68, 0x24, 0xa9, 0x13, 0xa7, 0x8f, 0x59, 0xc2, 0x51, 0xea, 0xeb, - 0x48, 0x26, 0x58, 0xf3, 0x43, 0x6f, 0x02, 0x74, 0xfd, 0xc0, 0x4f, 0xfa, 0x8c, 0x7b, 0xed, 0xf1, - 0x4e, 0x8a, 0x4b, 0x8a, 0x03, 0x36, 0xb8, 0xd9, 0x3f, 0x03, 0x67, 0x8e, 0x6a, 0xc9, 0xa2, 0xf1, - 0xdd, 0x1d, 0x27, 0x0e, 0xc4, 0x0d, 0x2d, 0x33, 0xb3, 0x9b, 0x4e, 0x1c, 0x60, 0x06, 0xb5, 0xbf, - 0x55, 0x82, 0x79, 0xa3, 0xeb, 0xee, 0x18, 0xfe, 0x22, 0xd7, 0x25, 0x58, 0x3a, 0x66, 0x97, 0xe0, - 0x4b, 0x50, 0x8f, 0xc2, 0x81, 0xef, 0xfa, 0xea, 0x1e, 0x68, 0x81, 0x25, 0x39, 0x02, 0x86, 0x15, - 0x16, 0xa5, 0xd0, 0xb8, 0x7d, 0x27, 0x65, 0x5e, 0x51, 0xde, 0xfa, 0xcc, 0x72, 0xb9, 0x21, 0x3d, - 0xac, 0x5e, 0x26, 0x09, 0x49, 0xb0, 0x16, 0x84, 0x6c, 0xa8, 0xf6, 0xe2, 0x70, 0x14, 0xf1, 0x52, - 0xa2, 0x28, 0xb8, 0xb0, 0x8e, 0xbc, 0x04, 0x0b, 0x8c, 0xfd, 0xbd, 0x12, 0x34, 0x30, 0x89, 0xc2, - 0x8d, 0x98, 0x78, 0x09, 0x7a, 0x11, 0xca, 0xa3, 0x78, 0x20, 0x34, 0x35, 0x2f, 0x98, 0x97, 0x5f, - 0xc7, 0xdb, 0x98, 0xc2, 0x33, 0x79, 0x60, 0xe9, 0x91, 0xf2, 0xc0, 0xf2, 0x91, 0x79, 0x20, 0x4d, - 0x59, 0x93, 0xfe, 0x6e, 0xec, 0x1f, 0x38, 0x29, 0xb9, 0x46, 0x0e, 0xc5, 0xad, 0xae, 0x4e, 0x59, - 0x3b, 0x57, 0x34, 0x12, 0x67, 0x69, 0xd1, 0x65, 0x58, 0xd6, 0x09, 0x19, 0x89, 0xd3, 0x4d, 0x9a, - 0xf2, 0xf0, 0x9c, 0x57, 0x15, 0xf2, 0x75, 0x0a, 0x27, 0x08, 0xf0, 0xf8, 0x3b, 0x68, 0x13, 0x4e, - 0x66, 0x80, 0x74, 0x20, 0x55, 0xc6, 0xa7, 0x29, 0xf8, 0x9c, 0xcc, 0xf0, 0xa1, 0x63, 0x19, 0x7b, - 0xc3, 0xfe, 0xc0, 0x82, 0x45, 0xa5, 0xd4, 0xa7, 0x90, 0x8a, 0xf9, 0xd9, 0x54, 0x6c, 0x73, 0xa6, - 0x52, 0x95, 0x18, 0xf6, 0x94, 0x64, 0xec, 0xf7, 0xab, 0x00, 0xac, 0xd1, 0xd7, 0x67, 0x25, 0xeb, - 0x33, 0x50, 0x89, 0x49, 0x14, 0xe6, 0xf7, 0x16, 0xa5, 0xc0, 0x0c, 0xf3, 0xff, 0xd7, 0x66, 0x26, - 0xd5, 0x6c, 0xe6, 0x7e, 0x80, 0x35, 0x9b, 0x0e, 0x9c, 0xf2, 0x83, 0x84, 0xb8, 0xa3, 0x58, 0x5c, - 0x47, 0x5d, 0x09, 0x13, 0x65, 0x7f, 0xf5, 0xf6, 0x8b, 0x82, 0xd1, 0xa9, 0xad, 0x49, 0x44, 0x78, - 0xf2, 0xbb, 0x54, 0x9f, 0x12, 0xc1, 0xfc, 0x74, 0xdd, 0x88, 0xc3, 0x04, 0x1c, 0x2b, 0x0a, 0x1a, - 0xdb, 0x90, 0xc0, 0xb9, 0x35, 0x20, 0xdb, 0xdd, 0x84, 0xd5, 0xc3, 0xeb, 0x46, 0x48, 0xc6, 0x11, - 0x97, 0x3a, 0x58, 0xd3, 0x4c, 0xde, 0x77, 0x8d, 0x82, 0xf6, 0x1d, 0x3c, 0xea, 0xbe, 0x53, 0x4d, - 0x92, 0xf3, 0x53, 0x9b, 0x24, 0xe5, 0x59, 0xb0, 0x30, 0xf5, 0x2c, 0xf8, 0x1c, 0x2c, 0xf9, 0x41, - 0x9f, 0xc4, 0x7e, 0x4a, 0x3c, 0xb6, 0x11, 0x9a, 0x8b, 0x4c, 0x11, 0xaa, 0xe5, 0x6d, 0x2b, 0x83, - 0xc5, 0x39, 0x6a, 0xfb, 0xeb, 0x25, 0x38, 0xa5, 0x37, 0x08, 0x1d, 0x99, 0xdf, 0xa5, 0x56, 0xc2, - 0x9a, 0x13, 0x78, 0xa1, 0xcd, 0xf8, 0xf6, 0x42, 0x5d, 0xc6, 0x74, 0x14, 0x06, 0x1b, 0x54, 0x74, - 0xfd, 0x5c, 0x12, 0xb3, 0x8a, 0x6d, 0x7e, 0xf7, 0x6c, 0x08, 0x38, 0x56, 0x14, 0xec, 0xf3, 0x0e, - 0x12, 0xa7, 0x9d, 0xd1, 0x2d, 0xf6, 0x42, 0xae, 0x96, 0xb6, 0xa1, 0x51, 0xd8, 0xa4, 0xa3, 0xe7, - 0x98, 0x2b, 0x17, 0x8f, 0xee, 0xa0, 0x05, 0x7e, 0x8e, 0xa9, 0xf5, 0x52, 0x58, 0x39, 0x1c, 0x9a, - 0x34, 0x08, 0xf7, 0x9a, 0x19, 0x0e, 0xbb, 0xae, 0x54, 0x14, 0xf6, 0x7f, 0x59, 0xf0, 0xd1, 0x89, - 0xaa, 0x78, 0x0a, 0x2e, 0x71, 0x94, 0x75, 0x89, 0xbb, 0x33, 0xba, 0xc4, 0xb1, 0x29, 0x4c, 0x71, - 0x8f, 0x7f, 0x6f, 0xc1, 0x92, 0xa6, 0x7f, 0x0a, 0xf3, 0xec, 0x16, 0xf7, 0x81, 0x88, 0x1e, 0x77, - 0xbb, 0x31, 0x36, 0xb1, 0x0f, 0xd8, 0xc4, 0x78, 0x3c, 0xb6, 0xee, 0xca, 0x96, 0xe4, 0x23, 0xe2, - 0xaa, 0x03, 0xa8, 0xb2, 0xde, 0x1d, 0x39, 0xba, 0x9d, 0x02, 0xee, 0x50, 0xb8, 0x70, 0x96, 0x8f, - 0xe9, 0x0c, 0x9f, 0x3d, 0x26, 0x58, 0x48, 0xa3, 0x66, 0xea, 0xf9, 0x09, 0x75, 0x52, 0x9e, 0x48, - 0xef, 0x94, 0x0a, 0x37, 0x05, 0x1c, 0x2b, 0x0a, 0x7b, 0x08, 0xcd, 0x2c, 0xf3, 0x4d, 0x42, 0xe3, - 0xd1, 0x63, 0xce, 0x71, 0x0d, 0x1a, 0x0e, 0x7b, 0x6b, 0x7b, 0xe4, 0xe4, 0xbb, 0x92, 0xd7, 0x25, - 0x02, 0x6b, 0x1a, 0xfb, 0x4f, 0x2d, 0x78, 0x76, 0xc2, 0x64, 0x0a, 0x4c, 0x6b, 0x53, 0xbd, 0xf9, - 0xa7, 0x34, 0x8a, 0x7b, 0xa4, 0xeb, 0xc8, 0xbc, 0xc4, 0xc8, 0x62, 0x36, 0x39, 0x18, 0x4b, 0xbc, - 0xfd, 0xef, 0x16, 0x9c, 0xc8, 0x8e, 0x35, 0x41, 0x57, 0x01, 0xf1, 0xc9, 0x6c, 0xfa, 0x89, 0x1b, - 0x1e, 0x90, 0xf8, 0x90, 0xce, 0x9c, 0x8f, 0x7a, 0x45, 0x70, 0x42, 0xeb, 0x63, 0x14, 0x78, 0xc2, - 0x5b, 0xe8, 0x1b, 0xac, 0x0a, 0x2a, 0xb5, 0x2d, 0xcd, 0xa4, 0x53, 0x98, 0x99, 0xe8, 0x95, 0x34, - 0xc3, 0x79, 0x25, 0x0f, 0x9b, 0xc2, 0xed, 0xf7, 0x4b, 0xb0, 0x20, 0x5f, 0xdf, 0xf4, 0xbb, 0x5d, - 0xaa, 0x6f, 0x16, 0x25, 0x8b, 0xc9, 0x29, 0x7d, 0xb3, 0x10, 0x1a, 0x73, 0x1c, 0xd5, 0xf7, 0xbe, - 0x1f, 0x78, 0xf9, 0xf4, 0xfe, 0x9a, 0x1f, 0x78, 0x98, 0x61, 0xb2, 0x7d, 0xeb, 0xe5, 0xa3, 0xfb, - 0xd6, 0x95, 0x25, 0x54, 0x1e, 0x96, 0xb0, 0xf0, 0x4e, 0x6b, 0x1d, 0xb6, 0x18, 0x8e, 0x7e, 0x4f, - 0xa3, 0xb0, 0x49, 0x47, 0x47, 0x32, 0xf0, 0x0f, 0x08, 0x7f, 0xa9, 0x9a, 0x1d, 0xc9, 0xb6, 0x44, - 0x60, 0x4d, 0x43, 0x47, 0xe2, 0xf9, 0xdd, 0x2e, 0x0b, 0x1d, 0x8c, 0x91, 0x50, 0xed, 0x60, 0x86, - 0xa1, 0x14, 0xfd, 0x30, 0xdc, 0x17, 0xd1, 0x82, 0xa2, 0xb8, 0x12, 0x86, 0xfb, 0x98, 0x61, 0xec, - 0xff, 0x60, 0xa7, 0xc0, 0x94, 0x3e, 0x9b, 0xa2, 0x74, 0x2c, 0x55, 0x56, 0x7e, 0xd8, 0x3e, 0xd5, - 0xab, 0x50, 0x39, 0xc6, 0x2a, 0x9c, 0x87, 0x85, 0xdb, 0x49, 0x18, 0xec, 0x86, 0x7e, 0xc0, 0xba, - 0x1d, 0xe7, 0xf4, 0x25, 0xf7, 0xd5, 0xce, 0x8d, 0x1d, 0x09, 0xc7, 0x19, 0x2a, 0xfb, 0x3b, 0x73, - 0xf0, 0xbc, 0xba, 0xee, 0x25, 0xe9, 0x9d, 0x30, 0xde, 0xf7, 0x83, 0x1e, 0x2b, 0xda, 0x7d, 0xd3, - 0x82, 0x05, 0xbe, 0x1a, 0xa2, 0xfd, 0x8f, 0xdf, 0x67, 0xbb, 0x45, 0x5c, 0x2c, 0x67, 0x24, 0xb5, - 0xf6, 0x0c, 0x29, 0xb9, 0xd6, 0x3f, 0x13, 0x85, 0x33, 0xc3, 0x41, 0xef, 0x00, 0xc8, 0xf6, 0xfd, - 0x6e, 0x11, 0x5f, 0x30, 0xc8, 0xc1, 0x61, 0xd2, 0xd5, 0x71, 0xce, 0x9e, 0x92, 0x80, 0x0d, 0x69, - 0xe8, 0x6b, 0x16, 0x54, 0x07, 0x5c, 0x2b, 0x65, 0x26, 0xf8, 0x67, 0x8b, 0xd7, 0x8a, 0xa9, 0x0f, - 0x75, 0x72, 0x08, 0x4d, 0x08, 0xe1, 0x08, 0x43, 0xcd, 0x0f, 0x7a, 0x31, 0x49, 0x64, 0x9a, 0xfe, - 0x09, 0xe3, 0xac, 0x6e, 0xb9, 0x61, 0x4c, 0xd8, 0xc9, 0x1c, 0x3a, 0x5e, 0xdb, 0x19, 0x38, 0x81, - 0x4b, 0xe2, 0x2d, 0x4e, 0xae, 0x9d, 0xa8, 0x00, 0x60, 0xc9, 0x68, 0xac, 0x5b, 0x62, 0xee, 0x38, - 0xdd, 0x12, 0x2b, 0xaf, 0xc2, 0xf2, 0xd8, 0x32, 0x3e, 0x4a, 0x23, 0xe6, 0xca, 0x67, 0x61, 0xfe, - 0x71, 0x7b, 0x38, 0xdf, 0x9f, 0xd3, 0x9e, 0x70, 0x27, 0xf4, 0x58, 0x9b, 0x40, 0xac, 0x57, 0x53, - 0x84, 0x31, 0x45, 0xd9, 0x86, 0xd1, 0xea, 0xad, 0x80, 0xd8, 0x94, 0x47, 0x2d, 0x33, 0x72, 0x62, - 0x12, 0x3c, 0x51, 0xcb, 0xdc, 0x55, 0x12, 0xb0, 0x21, 0x0d, 0x11, 0xd1, 0xda, 0x57, 0x9e, 0xb9, - 0x6a, 0x23, 0x4b, 0xed, 0x93, 0xda, 0xfb, 0x68, 0x36, 0xba, 0x14, 0x64, 0xec, 0x55, 0x14, 0x0d, - 0x5f, 0x2b, 0x7c, 0x23, 0xf0, 0xde, 0xa8, 0x2c, 0x0c, 0xe7, 0x84, 0xa3, 0x75, 0x38, 0x21, 0x57, - 0x20, 0xdb, 0x43, 0xa0, 0x12, 0x5a, 0x9c, 0x45, 0xe3, 0x3c, 0xbd, 0xd1, 0xef, 0x53, 0x9d, 0xd6, - 0xef, 0x83, 0xf6, 0x55, 0x6b, 0x5f, 0xad, 0xd8, 0xd6, 0x3e, 0x18, 0x6f, 0xeb, 0xb3, 0xbf, 0x6d, - 0xc1, 0x49, 0x39, 0xea, 0x1b, 0x07, 0x24, 0x8e, 0x7d, 0x8f, 0x9d, 0x0b, 0x1c, 0xad, 0xa3, 0x18, - 0x75, 0x2e, 0x5c, 0x91, 0x08, 0xac, 0x69, 0x68, 0xce, 0x3b, 0xde, 0x8a, 0x5a, 0xca, 0xe6, 0xbc, - 0xc7, 0x6a, 0x1a, 0x7d, 0x19, 0x6a, 0x3c, 0x24, 0x4a, 0xf2, 0xd5, 0x64, 0x11, 0x6a, 0x61, 0x89, - 0xb7, 0xff, 0xdb, 0x02, 0x73, 0x77, 0x1c, 0xef, 0xd4, 0x7c, 0x19, 0x6a, 0x07, 0x62, 0xe9, 0x72, - 0xf7, 0x5c, 0x72, 0xc9, 0x24, 0x5e, 0x1d, 0xb0, 0xe5, 0xe3, 0x05, 0x31, 0x95, 0x47, 0x08, 0x62, - 0xe6, 0xa6, 0x9e, 0xc8, 0x2f, 0x42, 0x79, 0xe4, 0x7b, 0x22, 0x0e, 0xd1, 0xc5, 0xc6, 0xad, 0x4d, - 0x4c, 0xe1, 0xf6, 0xbf, 0x96, 0x75, 0xc6, 0x21, 0x8a, 0xda, 0x3f, 0x14, 0xd3, 0x3e, 0xaf, 0xae, - 0x29, 0xf9, 0xcc, 0x5f, 0xc8, 0x5e, 0x53, 0x3e, 0xb8, 0xb7, 0x0a, 0x7c, 0xba, 0xec, 0x26, 0x6a, - 0xc2, 0xa5, 0x65, 0xed, 0x88, 0xab, 0x87, 0x0b, 0x50, 0xa7, 0x81, 0x17, 0x2b, 0x01, 0xd4, 0x33, - 0x22, 0xea, 0x57, 0x04, 0xfc, 0x81, 0xf1, 0x1b, 0x2b, 0x6a, 0xb4, 0x0e, 0x0d, 0xfa, 0x9b, 0xdd, - 0x79, 0x88, 0x32, 0xce, 0x59, 0xb5, 0x17, 0x24, 0x62, 0xc2, 0xf5, 0x88, 0x7e, 0x8b, 0x2a, 0x8c, - 0xf5, 0x6d, 0x33, 0x16, 0x90, 0x55, 0x58, 0x47, 0x22, 0xb0, 0xa6, 0xb1, 0x3f, 0x34, 0x96, 0x59, - 0x5c, 0xe4, 0xfe, 0x50, 0x2c, 0xf3, 0x85, 0xdc, 0x32, 0x9f, 0x19, 0x5b, 0xe6, 0x25, 0xdd, 0xf6, - 0x9c, 0x59, 0xea, 0xa7, 0xe9, 0x13, 0x8f, 0x8e, 0xdf, 0xf9, 0x49, 0xf0, 0xf6, 0xc8, 0x8f, 0x49, - 0xb2, 0x1b, 0x8f, 0x02, 0x3f, 0xe8, 0x31, 0xd3, 0xa8, 0x9b, 0x27, 0x41, 0x06, 0x8d, 0xf3, 0xf4, - 0xf6, 0x9f, 0x97, 0x68, 0x1a, 0x99, 0x69, 0x83, 0xa6, 0x39, 0x7a, 0x2c, 0x3f, 0x2a, 0xcd, 0x55, - 0xb6, 0xd4, 0xe7, 0xa4, 0x8a, 0x02, 0x7d, 0x11, 0xc0, 0x23, 0xd1, 0x20, 0x3c, 0x64, 0x37, 0x4e, - 0x95, 0x47, 0xbe, 0x71, 0x52, 0xa7, 0xfc, 0xa6, 0xe2, 0x82, 0x0d, 0x8e, 0x68, 0x05, 0x4a, 0xbe, - 0xc7, 0x56, 0xb3, 0xdc, 0x06, 0x41, 0x5b, 0xda, 0xda, 0xc4, 0x25, 0xdf, 0x33, 0x1a, 0x84, 0xaa, - 0x4f, 0xaf, 0x41, 0xc8, 0xfe, 0x3b, 0x76, 0x58, 0xf1, 0xe9, 0x5f, 0x97, 0xd5, 0x9e, 0x8f, 0x43, - 0xd5, 0x19, 0xa5, 0xfd, 0x70, 0xac, 0x47, 0x72, 0x9d, 0x41, 0xb1, 0xc0, 0xa2, 0x6d, 0xa8, 0x78, - 0x34, 0xc7, 0x2b, 0x3d, 0xb2, 0xa2, 0x74, 0x8e, 0x47, 0x53, 0x41, 0xc6, 0x05, 0xbd, 0x00, 0x95, - 0xd4, 0xe9, 0xc9, 0x3b, 0x2e, 0x76, 0xdd, 0xb6, 0xe7, 0xf4, 0x12, 0xcc, 0xa0, 0xa6, 0x67, 0xaa, - 0x1c, 0xd1, 0x4e, 0xf1, 0x67, 0x15, 0x58, 0xcc, 0x5c, 0x64, 0x66, 0xac, 0xc0, 0x3a, 0xd2, 0x0a, - 0xce, 0xc2, 0x5c, 0x14, 0x8f, 0x02, 0x3e, 0xaf, 0xba, 0x76, 0x0c, 0xd4, 0xce, 0x08, 0xe6, 0x38, - 0xaa, 0x23, 0x2f, 0x3e, 0xc4, 0xa3, 0x40, 0x94, 0x7e, 0x94, 0x8e, 0x36, 0x19, 0x14, 0x0b, 0x2c, - 0xfa, 0x12, 0x2c, 0x24, 0x6c, 0x03, 0xc6, 0x4e, 0x4a, 0x7a, 0xf2, 0x63, 0x96, 0xcb, 0x33, 0x7f, - 0xc6, 0xc0, 0xd9, 0xf1, 0xf8, 0xde, 0x84, 0xe0, 0x8c, 0x38, 0xf4, 0x55, 0xcb, 0xfc, 0x74, 0xa3, - 0x3a, 0x73, 0x95, 0x32, 0x7f, 0x41, 0xcc, 0xad, 0xeb, 0xe1, 0x5f, 0x70, 0x44, 0xca, 0xb2, 0x6b, - 0x4f, 0xc0, 0xb2, 0x61, 0x42, 0xdb, 0xdb, 0x27, 0xa1, 0x31, 0x74, 0x02, 0xbf, 0x4b, 0x92, 0x94, - 0xff, 0x41, 0x46, 0x83, 0x7f, 0x47, 0x7c, 0x5d, 0x02, 0xb1, 0xc6, 0xdb, 0x5f, 0xb1, 0xe0, 0xd4, - 0xc4, 0x69, 0x3d, 0xb5, 0xaa, 0x01, 0xf5, 0x5c, 0xcf, 0x4e, 0xb8, 0x7a, 0x47, 0x07, 0x4f, 0xe6, - 0xbb, 0x1b, 0x71, 0xb1, 0xbf, 0x38, 0x75, 0xc5, 0x1e, 0xcd, 0x6b, 0x6a, 0xcf, 0x55, 0x7e, 0x8a, - 0x9e, 0xeb, 0xd7, 0x2c, 0x30, 0xbe, 0xe3, 0x42, 0x3f, 0x0f, 0x0d, 0x67, 0x94, 0x86, 0x43, 0x27, - 0x25, 0x9e, 0xc8, 0x1c, 0x77, 0x0a, 0xf9, 0x62, 0x6c, 0x5d, 0x72, 0xe5, 0xfa, 0x52, 0x8f, 0x58, - 0xcb, 0xb3, 0xfb, 0x7c, 0xf9, 0x72, 0x2f, 0x68, 0x47, 0x62, 0x3d, 0xc4, 0x91, 0x7c, 0x0a, 0xea, - 0x09, 0x19, 0x74, 0xe9, 0x81, 0x29, 0x1c, 0x8e, 0xd2, 0x75, 0x47, 0xc0, 0xb1, 0xa2, 0xb0, 0xff, - 0x53, 0xcc, 0x5a, 0xc4, 0x30, 0x17, 0x72, 0xcd, 0x68, 0xc7, 0x3f, 0xfe, 0x0f, 0x01, 0x5c, 0xd5, - 0x9d, 0x5a, 0xc0, 0xc7, 0x55, 0xba, 0xd5, 0xd5, 0xfc, 0xf4, 0x47, 0xc2, 0xb0, 0x21, 0x2c, 0x63, - 0x5d, 0xe5, 0xa3, 0xac, 0xcb, 0xfe, 0x37, 0x0b, 0x32, 0x0e, 0x0e, 0x0d, 0x61, 0x8e, 0x8e, 0xe0, - 0xb0, 0x80, 0x46, 0x5a, 0x93, 0x2f, 0xb5, 0x3c, 0x71, 0x25, 0xc1, 0x7e, 0x62, 0x2e, 0x05, 0xf9, - 0x22, 0x74, 0xe1, 0x2a, 0xba, 0x56, 0x90, 0x34, 0x1a, 0xf9, 0x88, 0xff, 0x95, 0xd0, 0x35, 0xcc, - 0x0b, 0xb0, 0x3c, 0x36, 0x22, 0x6a, 0x44, 0xac, 0x37, 0x2f, 0x6f, 0x44, 0xac, 0x7b, 0x0f, 0x73, - 0x9c, 0xfd, 0x2d, 0x0b, 0x4e, 0xe6, 0xd9, 0xa3, 0xdf, 0xb5, 0x60, 0x39, 0xc9, 0xf3, 0x7b, 0x22, - 0x5a, 0x53, 0x19, 0xe9, 0x18, 0x0a, 0x8f, 0x8f, 0xc0, 0xfe, 0xdb, 0x12, 0xb7, 0x61, 0xfe, 0xb7, - 0x42, 0xca, 0x81, 0x5a, 0x53, 0x1d, 0x28, 0xdd, 0x22, 0x6e, 0x9f, 0x78, 0xa3, 0xc1, 0xd8, 0xf5, - 0x64, 0x47, 0xc0, 0xb1, 0xa2, 0x60, 0xd7, 0x32, 0x23, 0xd1, 0xeb, 0x95, 0x33, 0xaf, 0x4d, 0x01, - 0xc7, 0x8a, 0x02, 0x9d, 0x87, 0x05, 0x63, 0x92, 0xbc, 0x1e, 0x27, 0xca, 0x66, 0x86, 0x2f, 0x4a, - 0x70, 0x86, 0x0a, 0xb5, 0xf8, 0xd7, 0xdc, 0x2c, 0x4a, 0x97, 0xa5, 0xb6, 0x25, 0xf9, 0x25, 0x37, - 0x87, 0x62, 0x83, 0x82, 0xdd, 0x7d, 0xf2, 0xee, 0x73, 0x59, 0xa6, 0xe0, 0x77, 0x9f, 0x02, 0x86, - 0x15, 0x16, 0x9d, 0x03, 0x18, 0x3a, 0xc1, 0xc8, 0x19, 0x50, 0x0d, 0x89, 0xcb, 0x74, 0xb5, 0xa1, - 0xae, 0x2b, 0x0c, 0x36, 0xa8, 0xe8, 0x16, 0xc9, 0x7f, 0x3a, 0x90, 0xb9, 0x92, 0xb7, 0x8e, 0xbc, - 0x92, 0xcf, 0x5e, 0x1a, 0x97, 0x8e, 0x75, 0x69, 0x6c, 0xde, 0xe7, 0x96, 0x1f, 0x7a, 0x9f, 0xfb, - 0x31, 0xa8, 0xed, 0x93, 0x43, 0xe3, 0xe2, 0x97, 0xff, 0xab, 0x08, 0x07, 0x61, 0x89, 0x43, 0x36, - 0x54, 0x5d, 0x47, 0xf5, 0xd4, 0x2c, 0xf0, 0x93, 0x7d, 0x63, 0x9d, 0x11, 0x09, 0x4c, 0xbb, 0xf5, - 0xde, 0x87, 0xa7, 0x9f, 0xf9, 0xee, 0x87, 0xa7, 0x9f, 0xf9, 0xe0, 0xc3, 0xd3, 0xcf, 0x7c, 0xe5, - 0xfe, 0x69, 0xeb, 0xbd, 0xfb, 0xa7, 0xad, 0xef, 0xde, 0x3f, 0x6d, 0x7d, 0x70, 0xff, 0xb4, 0xf5, - 0x2f, 0xf7, 0x4f, 0x5b, 0xbf, 0xf5, 0xfd, 0xd3, 0xcf, 0xbc, 0x59, 0x97, 0xb6, 0xfa, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0xa5, 0x0a, 0x28, 0xdc, 0x14, 0x52, 0x00, 0x00, + 0xb0, 0x49, 0x26, 0x58, 0x60, 0xed, 0xdf, 0x2b, 0x41, 0x73, 0x9a, 0x76, 0x51, 0x04, 0x35, 0x72, + 0x37, 0x7d, 0xc3, 0x89, 0xb9, 0x9a, 0x66, 0x0b, 0xd7, 0x04, 0xd3, 0x37, 0x9c, 0x58, 0xaf, 0xda, + 0x45, 0xce, 0x1d, 0x4b, 0x31, 0xa8, 0x07, 0x95, 0x74, 0xe0, 0x14, 0x91, 0xd0, 0x19, 0xe2, 0x74, + 0x3c, 0xb0, 0xbd, 0x9e, 0x60, 0x26, 0x00, 0xd9, 0x50, 0xbd, 0x4d, 0x9d, 0x38, 0x8d, 0x99, 0xa8, + 0x01, 0xb0, 0x1d, 0x73, 0x95, 0x3a, 0xf7, 0x04, 0x0b, 0x8c, 0xfd, 0x3d, 0x6b, 0x82, 0x6e, 0x84, + 0x53, 0xa1, 0xeb, 0x42, 0x82, 0x03, 0x3f, 0x0e, 0x83, 0x21, 0x09, 0xd2, 0x7c, 0xb1, 0xe0, 0xa2, + 0x46, 0x61, 0x93, 0x0e, 0xfd, 0xe2, 0x04, 0x63, 0xba, 0x36, 0xc3, 0x34, 0xc5, 0x70, 0x8e, 0x6d, + 0x4f, 0xf6, 0x1f, 0x96, 0x27, 0xec, 0x70, 0xe5, 0xa9, 0xd1, 0x39, 0x00, 0x1a, 0x22, 0xec, 0xc6, + 0xa4, 0xeb, 0xdf, 0x15, 0xb3, 0x52, 0x2c, 0x77, 0x14, 0x06, 0x1b, 0x54, 0xf2, 0x9d, 0xce, 0xa8, + 0x4b, 0xdf, 0x29, 0x8d, 0xbf, 0xc3, 0x31, 0xd8, 0xa0, 0x42, 0xe7, 0xa1, 0xea, 0x0f, 0x9d, 0x1e, + 0x91, 0xfa, 0x7f, 0x81, 0xea, 0x7f, 0x8b, 0x41, 0x1e, 0xdc, 0x5b, 0x5d, 0x52, 0x03, 0x62, 0x20, + 0x2c, 0x68, 0xd1, 0x1f, 0x5b, 0xb0, 0xe0, 0x86, 0xc3, 0x61, 0x18, 0x6c, 0x3b, 0xb7, 0xc8, 0x40, + 0x66, 0xa0, 0xbd, 0x27, 0x72, 0x88, 0xb5, 0x36, 0x0c, 0x49, 0x17, 0x83, 0x34, 0x3e, 0xd4, 0x49, + 0xb5, 0x89, 0xc2, 0x99, 0x21, 0xad, 0xbc, 0x0a, 0xcb, 0x63, 0x2f, 0xa2, 0x93, 0x50, 0xde, 0x27, + 0x87, 0x5c, 0x9f, 0x98, 0xfe, 0x44, 0xcf, 0xc1, 0x1c, 0xdb, 0x82, 0x5c, 0x5f, 0x98, 0x3f, 0xfc, + 0x54, 0xe9, 0x82, 0x65, 0xff, 0xbe, 0x05, 0x1f, 0x99, 0xe2, 0xd8, 0x69, 0x50, 0x12, 0xe8, 0xda, + 0x94, 0x32, 0x6c, 0xb6, 0xff, 0x19, 0x06, 0x7d, 0x11, 0xca, 0x24, 0x38, 0x10, 0x96, 0xb5, 0x31, + 0x83, 0x62, 0x2e, 0x06, 0x07, 0x7c, 0xd2, 0xb5, 0xfb, 0xf7, 0x56, 0xcb, 0x17, 0x83, 0x03, 0x4c, + 0x19, 0xdb, 0xdf, 0x9e, 0xcb, 0x84, 0x8d, 0x1d, 0x99, 0x80, 0xb0, 0x51, 0x8a, 0xa0, 0x71, 0xbb, + 0xc8, 0xf5, 0x30, 0x22, 0x5e, 0x5e, 0x48, 0x11, 0xb2, 0xd0, 0xd7, 0x2d, 0x56, 0xbe, 0x90, 0x91, + 0xb2, 0x38, 0x66, 0x9e, 0x40, 0x29, 0xc5, 0xac, 0x88, 0x48, 0x20, 0x36, 0x45, 0xd3, 0x73, 0x31, + 0xe2, 0x95, 0x0c, 0xe1, 0xa0, 0x95, 0x87, 0x93, 0x05, 0x0e, 0x89, 0x47, 0x23, 0x00, 0x9a, 0x9b, + 0xee, 0x86, 0x03, 0xdf, 0x3d, 0x14, 0x79, 0xd3, 0xac, 0x59, 0x30, 0x67, 0xc6, 0x0f, 0x31, 0xfd, + 0x8c, 0x0d, 0x41, 0xe8, 0x9b, 0x16, 0x2c, 0xfb, 0xbd, 0x20, 0x8c, 0xc9, 0xa6, 0xdf, 0xed, 0x92, + 0x98, 0x04, 0x2e, 0x49, 0x44, 0xfd, 0x64, 0x6f, 0x06, 0xf1, 0x32, 0xbf, 0xdf, 0xca, 0xf3, 0x6e, + 0x7f, 0x54, 0xa8, 0x60, 0x79, 0x0c, 0x85, 0xc7, 0x47, 0x82, 0x1c, 0xa8, 0xf8, 0x41, 0x37, 0x14, + 0xf5, 0x93, 0x57, 0x67, 0x18, 0xd1, 0x56, 0xd0, 0x0d, 0xf5, 0xce, 0xa0, 0x4f, 0x98, 0xb1, 0xb6, + 0xff, 0xb7, 0x9e, 0xcd, 0x08, 0x78, 0x1a, 0xfb, 0x0e, 0x34, 0x62, 0x55, 0x30, 0xe1, 0xa7, 0xdc, + 0x56, 0x01, 0xfa, 0x10, 0xc9, 0xb3, 0x4a, 0xc1, 0x74, 0x69, 0x44, 0x8b, 0xa3, 0xa7, 0x1d, 0x5d, + 0x22, 0x61, 0xb9, 0xb3, 0x5a, 0x81, 0x10, 0xa9, 0x2b, 0x04, 0x87, 0x81, 0x8b, 0x99, 0x00, 0x14, + 0x42, 0xb5, 0x4f, 0x9c, 0x41, 0xda, 0x17, 0x69, 0xec, 0xe5, 0x99, 0xc2, 0x17, 0xca, 0x28, 0x5f, + 0x1c, 0xe0, 0x50, 0x2c, 0xc4, 0xa0, 0x11, 0xd4, 0xfa, 0x7e, 0xc2, 0xc2, 0x6c, 0xee, 0xa2, 0xaf, + 0xce, 0xa4, 0x53, 0x9e, 0x30, 0x5d, 0xe1, 0x1c, 0xf5, 0xe6, 0x12, 0x00, 0x2c, 0x65, 0xa1, 0x5f, + 0xb6, 0x00, 0x5c, 0x59, 0x15, 0x90, 0xe6, 0x7d, 0xa3, 0x18, 0x8f, 0xa0, 0xaa, 0x0d, 0xfa, 0x6c, + 0x53, 0xa0, 0x04, 0x1b, 0x62, 0xd1, 0x5b, 0xb0, 0x10, 0x13, 0x37, 0x0c, 0x5c, 0x7f, 0x40, 0xbc, + 0xf5, 0xb4, 0x59, 0x7d, 0xe4, 0xd2, 0xc1, 0x49, 0x7a, 0xc6, 0x60, 0x83, 0x07, 0xce, 0x70, 0x44, + 0x5f, 0xb3, 0x60, 0x49, 0x95, 0x45, 0xe8, 0x52, 0x10, 0x91, 0x44, 0x6e, 0x15, 0x51, 0x81, 0x61, + 0x0c, 0xdb, 0x88, 0x66, 0xb0, 0x59, 0x18, 0xce, 0x09, 0x45, 0x6f, 0x02, 0x84, 0xb7, 0x58, 0x01, + 0x82, 0xce, 0xb3, 0xfe, 0xc8, 0xf3, 0x5c, 0xe2, 0x15, 0x34, 0xc9, 0x01, 0x1b, 0xdc, 0xd0, 0x35, + 0x00, 0xbe, 0x4f, 0xf6, 0x0e, 0x23, 0xc2, 0x72, 0xc5, 0x46, 0xfb, 0x93, 0x52, 0xf3, 0x1d, 0x85, + 0x79, 0x70, 0x6f, 0x75, 0x3c, 0xce, 0x67, 0x85, 0x1f, 0xe3, 0x75, 0x74, 0x17, 0x6a, 0xc9, 0x68, + 0x38, 0x74, 0x54, 0xda, 0x77, 0xbd, 0xa0, 0x23, 0x8a, 0x33, 0xd5, 0x26, 0x29, 0x00, 0x58, 0x8a, + 0xb3, 0x03, 0x40, 0xe3, 0xf4, 0xe8, 0x3c, 0x2c, 0x90, 0xbb, 0x29, 0x89, 0x03, 0x67, 0xf0, 0x3a, + 0xde, 0x96, 0x59, 0x08, 0x5b, 0xf6, 0x8b, 0x06, 0x1c, 0x67, 0xa8, 0x68, 0xd0, 0x2a, 0x82, 0xa6, + 0x92, 0x0e, 0x5a, 0x79, 0xd0, 0x24, 0x43, 0x24, 0xfb, 0x57, 0x4b, 0x99, 0xf3, 0x79, 0x2f, 0x26, + 0x04, 0x0d, 0x60, 0x2e, 0x08, 0x3d, 0xe5, 0xdf, 0x2e, 0x17, 0xe0, 0xdf, 0x76, 0x42, 0xcf, 0xa8, + 0xd8, 0xd3, 0xa7, 0x04, 0x73, 0x21, 0xe8, 0x57, 0x2c, 0x58, 0x94, 0xe5, 0x5f, 0x86, 0x10, 0xc1, + 0x48, 0x61, 0x62, 0x4f, 0x09, 0xb1, 0x8b, 0x37, 0x4c, 0x29, 0x38, 0x2b, 0xd4, 0xfe, 0xbe, 0x95, + 0x49, 0x00, 0x6f, 0x3a, 0xa9, 0xdb, 0xbf, 0x78, 0x40, 0x63, 0xf0, 0x6b, 0x99, 0x6a, 0xe1, 0x4f, + 0x9a, 0xd5, 0xc2, 0x07, 0xf7, 0x56, 0x3f, 0x31, 0xed, 0x3a, 0xf1, 0x0e, 0xe5, 0xd0, 0x62, 0x2c, + 0x8c, 0xc2, 0xe2, 0x97, 0x60, 0xde, 0x18, 0xb1, 0x70, 0xe5, 0x45, 0x95, 0xb6, 0x54, 0xe4, 0x61, + 0x00, 0xb1, 0x29, 0xcf, 0xfe, 0xed, 0x32, 0xd4, 0xc4, 0x2d, 0xc6, 0xb1, 0x4b, 0x85, 0x32, 0x88, + 0x2c, 0x4d, 0x0d, 0x22, 0x23, 0xa8, 0xba, 0xec, 0x4e, 0x54, 0x9c, 0x17, 0xb3, 0xa4, 0xbb, 0x62, + 0x74, 0xfc, 0x8e, 0x55, 0x8f, 0x89, 0x3f, 0x63, 0x21, 0x07, 0xbd, 0x6b, 0xc1, 0x09, 0x97, 0xa6, + 0x32, 0xae, 0x76, 0x69, 0x95, 0x99, 0xab, 0xe7, 0x1b, 0x59, 0x8e, 0xed, 0x8f, 0x08, 0xe9, 0x27, + 0x72, 0x08, 0x9c, 0x97, 0x8d, 0x7e, 0x1a, 0x16, 0xb9, 0xb6, 0xde, 0x20, 0x31, 0x2b, 0xed, 0xcd, + 0x31, 0x65, 0x29, 0xd3, 0xeb, 0x98, 0x48, 0x9c, 0xa5, 0xb5, 0xff, 0xaa, 0x0c, 0x8b, 0x99, 0x69, + 0xa3, 0x4f, 0x41, 0x7d, 0x94, 0xd0, 0x8d, 0xac, 0x62, 0x77, 0x55, 0x28, 0x7d, 0x5d, 0xc0, 0xb1, + 0xa2, 0xa0, 0xd4, 0x91, 0x93, 0x24, 0x77, 0xc2, 0xd8, 0x13, 0x8b, 0xa4, 0xa8, 0x77, 0x05, 0x1c, + 0x2b, 0x0a, 0x9a, 0x89, 0xde, 0x22, 0x4e, 0x4c, 0xe2, 0xbd, 0x70, 0x9f, 0x8c, 0xdd, 0xe2, 0xb5, + 0x35, 0x0a, 0x9b, 0x74, 0x4c, 0xe3, 0xe9, 0x20, 0xd9, 0x18, 0xf8, 0x24, 0x48, 0xf9, 0x30, 0x0b, + 0xd0, 0xf8, 0xde, 0x76, 0xc7, 0xe4, 0xa8, 0x35, 0x9e, 0x43, 0xe0, 0xbc, 0x6c, 0xf4, 0x55, 0x0b, + 0x16, 0x9d, 0x3b, 0x89, 0xbe, 0x8f, 0x67, 0x2a, 0x9f, 0xcd, 0xf6, 0x32, 0xf7, 0xfb, 0xed, 0x65, + 0xba, 0x70, 0x19, 0x10, 0xce, 0x4a, 0xb4, 0xdf, 0xb7, 0x40, 0xde, 0xf3, 0x3f, 0x85, 0x7a, 0x78, + 0x2f, 0x5b, 0x0f, 0x6f, 0xcf, 0xbe, 0xc9, 0xa6, 0xd4, 0xc2, 0x77, 0xa0, 0x46, 0x53, 0x52, 0x27, + 0xf0, 0xd0, 0xc7, 0xa0, 0xe6, 0xf2, 0x9f, 0xe2, 0xcc, 0x61, 0x95, 0x52, 0x81, 0xc5, 0x12, 0x87, + 0x5e, 0x80, 0x8a, 0x13, 0xf7, 0xe4, 0x39, 0xc3, 0x0a, 0xc9, 0xeb, 0x71, 0x2f, 0xc1, 0x0c, 0x6a, + 0xbf, 0x5b, 0x02, 0xd8, 0x08, 0x87, 0x91, 0x13, 0x13, 0x6f, 0x2f, 0xfc, 0x91, 0x4f, 0xff, 0xec, + 0xdf, 0xb0, 0x00, 0x51, 0x7d, 0x84, 0x01, 0x09, 0x74, 0x29, 0x06, 0xad, 0x41, 0xc3, 0x95, 0x50, + 0xb1, 0xeb, 0x55, 0x3e, 0xa0, 0xc8, 0xb1, 0xa6, 0x39, 0x86, 0x63, 0x3e, 0x2b, 0xab, 0x06, 0xe5, + 0x6c, 0x11, 0x97, 0x55, 0xf5, 0x44, 0x11, 0xc1, 0xfe, 0xcd, 0x12, 0x3c, 0xcf, 0x0d, 0xfa, 0xba, + 0x13, 0x38, 0x3d, 0x32, 0xa4, 0xa3, 0x3a, 0x6e, 0xfd, 0xe0, 0x2d, 0x9a, 0x88, 0xf9, 0xb2, 0x68, + 0x3b, 0x93, 0x4d, 0x72, 0x5b, 0xe2, 0xd6, 0xb3, 0x15, 0xf8, 0x29, 0x66, 0x9c, 0x51, 0x04, 0x75, + 0xd9, 0x8a, 0x23, 0x8e, 0x97, 0x22, 0xa4, 0xa8, 0x8d, 0x76, 0x59, 0xf0, 0xc6, 0x4a, 0x8a, 0xfd, + 0x1d, 0x0b, 0xf2, 0x1e, 0x9f, 0x1d, 0x96, 0xfc, 0xd2, 0x34, 0x7f, 0x58, 0x66, 0xaf, 0x39, 0x1f, + 0xe1, 0xe2, 0xf0, 0x0b, 0x30, 0xef, 0xa4, 0x29, 0x19, 0x46, 0x29, 0x0b, 0x87, 0xcb, 0x8f, 0x17, + 0x0e, 0x5f, 0x0f, 0x3d, 0xbf, 0xeb, 0xb3, 0x70, 0xd8, 0x64, 0x67, 0xbf, 0x06, 0x75, 0x59, 0x92, + 0x39, 0xc6, 0x32, 0x9e, 0xcd, 0x94, 0x97, 0xa6, 0x18, 0x8a, 0x03, 0x0b, 0x66, 0x36, 0xf7, 0x04, + 0x74, 0x62, 0xbf, 0x6b, 0xc1, 0x62, 0xa6, 0xe0, 0x5d, 0xd0, 0xd8, 0xe9, 0xa9, 0xd7, 0x0d, 0x59, + 0xa2, 0x1d, 0xfb, 0x01, 0x8f, 0x53, 0xea, 0x7a, 0xab, 0x5e, 0xd2, 0x28, 0x6c, 0xd2, 0xd9, 0xd7, + 0x81, 0x95, 0x04, 0x8a, 0xd2, 0xe0, 0x6b, 0x50, 0xa7, 0xec, 0xa8, 0xb7, 0x2d, 0x8a, 0x65, 0x07, + 0xea, 0x57, 0x6f, 0xee, 0xf1, 0x33, 0xda, 0x86, 0xb2, 0xef, 0x70, 0xdf, 0x51, 0xd6, 0x16, 0xbe, + 0x95, 0x24, 0x23, 0x66, 0x1f, 0x14, 0x89, 0xce, 0x42, 0x99, 0xdc, 0x8d, 0x18, 0xcb, 0xb2, 0xf6, + 0x2f, 0x17, 0xef, 0x46, 0x7e, 0x4c, 0x12, 0x4a, 0x44, 0xee, 0x46, 0xf6, 0x08, 0x40, 0x17, 0xc4, + 0x8b, 0x5a, 0x82, 0x33, 0x50, 0x71, 0x43, 0x8f, 0x08, 0xdd, 0x2b, 0x36, 0x1b, 0xa1, 0x47, 0x30, + 0xc3, 0xd8, 0xdf, 0xb0, 0xe0, 0x64, 0xbe, 0x42, 0xfd, 0x03, 0x73, 0x8b, 0xdb, 0x70, 0x52, 0xd5, + 0x76, 0x6f, 0x44, 0x3c, 0x55, 0xbf, 0x00, 0x0b, 0xb7, 0x46, 0xfe, 0xc0, 0x13, 0xcf, 0x62, 0x38, + 0xaa, 0xcc, 0xdb, 0x36, 0x70, 0x38, 0x43, 0x69, 0x27, 0xa0, 0x7b, 0x14, 0x50, 0x57, 0x14, 0x72, + 0xac, 0x99, 0x23, 0x96, 0xce, 0x61, 0xe0, 0xea, 0x56, 0x88, 0x7a, 0xb6, 0x8e, 0x63, 0xff, 0x49, + 0x05, 0x72, 0x29, 0x39, 0x1a, 0x99, 0x6d, 0x18, 0x56, 0x81, 0x6d, 0x18, 0x6a, 0x4d, 0x26, 0xb5, + 0x62, 0xa0, 0xcf, 0xc0, 0x5c, 0xd4, 0x77, 0x12, 0xb9, 0x28, 0xab, 0x52, 0xe3, 0xbb, 0x14, 0xf8, + 0xc0, 0xac, 0x1c, 0x30, 0x08, 0xe6, 0xd4, 0xa6, 0xe7, 0x28, 0x1f, 0xe1, 0x4d, 0xbf, 0xcc, 0x0b, + 0xa5, 0x98, 0x24, 0xa3, 0x41, 0x2a, 0x22, 0xd3, 0x9d, 0xa2, 0x34, 0xcb, 0xb9, 0xea, 0x8a, 0x29, + 0x7f, 0xc6, 0x86, 0x44, 0xf4, 0x79, 0x68, 0x24, 0xa9, 0x13, 0xa7, 0x8f, 0x59, 0xc2, 0x51, 0xea, + 0xeb, 0x48, 0x26, 0x58, 0xf3, 0x43, 0x6f, 0x02, 0x74, 0xfd, 0xc0, 0x4f, 0xfa, 0x8c, 0x7b, 0xed, + 0xf1, 0x4e, 0x8a, 0x4b, 0x8a, 0x03, 0x36, 0xb8, 0xd9, 0x3f, 0x03, 0x67, 0x8e, 0x6a, 0xdb, 0xa2, + 0xf1, 0xdd, 0x1d, 0x27, 0x0e, 0xc4, 0x2d, 0x2e, 0x33, 0xb3, 0x9b, 0x4e, 0x1c, 0x60, 0x06, 0xb5, + 0xbf, 0x55, 0x82, 0x79, 0xa3, 0x33, 0xef, 0x18, 0xfe, 0x22, 0xd7, 0x49, 0x58, 0x3a, 0x66, 0x27, + 0xe1, 0x4b, 0x50, 0x8f, 0xc2, 0x81, 0xef, 0xfa, 0xea, 0x1e, 0x68, 0x81, 0x25, 0x39, 0x02, 0x86, + 0x15, 0x16, 0xa5, 0xd0, 0xb8, 0x7d, 0x27, 0x65, 0x5e, 0x51, 0xde, 0xfa, 0xcc, 0x72, 0xb9, 0x21, + 0x3d, 0xac, 0x5e, 0x26, 0x09, 0x49, 0xb0, 0x16, 0x84, 0x6c, 0xa8, 0xf6, 0xe2, 0x70, 0x14, 0xf1, + 0x52, 0xa2, 0x28, 0xb8, 0xb0, 0xae, 0xbd, 0x04, 0x0b, 0x8c, 0xfd, 0xbd, 0x12, 0x34, 0x30, 0x89, + 0xc2, 0x8d, 0x98, 0x78, 0x09, 0x7a, 0x11, 0xca, 0xa3, 0x78, 0x20, 0x34, 0x35, 0x2f, 0x98, 0x97, + 0x5f, 0xc7, 0xdb, 0x98, 0xc2, 0x33, 0x79, 0x60, 0xe9, 0x91, 0xf2, 0xc0, 0xf2, 0x91, 0x79, 0x20, + 0x4d, 0x59, 0x93, 0xfe, 0x6e, 0xec, 0x1f, 0x38, 0x29, 0xb9, 0x46, 0x0e, 0xc5, 0xcd, 0xaf, 0x4e, + 0x59, 0x3b, 0x57, 0x34, 0x12, 0x67, 0x69, 0xd1, 0x65, 0x58, 0xd6, 0x09, 0x19, 0x89, 0xd3, 0x4d, + 0x9a, 0xf2, 0xf0, 0x9c, 0x57, 0x15, 0xf2, 0x75, 0x0a, 0x27, 0x08, 0xf0, 0xf8, 0x3b, 0x68, 0x13, + 0x4e, 0x66, 0x80, 0x74, 0x20, 0x55, 0xc6, 0xa7, 0x29, 0xf8, 0x9c, 0xcc, 0xf0, 0xa1, 0x63, 0x19, + 0x7b, 0xc3, 0xfe, 0xc0, 0x82, 0x45, 0xa5, 0xd4, 0xa7, 0x90, 0x8a, 0xf9, 0xd9, 0x54, 0x6c, 0x73, + 0xa6, 0x52, 0x95, 0x18, 0xf6, 0x94, 0x64, 0xec, 0x0f, 0xaa, 0x00, 0xac, 0x19, 0xd8, 0x67, 0x25, + 0xeb, 0x33, 0x50, 0x89, 0x49, 0x14, 0xe6, 0xf7, 0x16, 0xa5, 0xc0, 0x0c, 0xf3, 0xff, 0xd7, 0x66, + 0x26, 0xd5, 0x6c, 0xe6, 0x7e, 0x80, 0x35, 0x9b, 0x0e, 0x9c, 0xf2, 0x83, 0x84, 0xb8, 0xa3, 0x58, + 0x5c, 0x47, 0x5d, 0x09, 0x13, 0x65, 0x7f, 0xf5, 0xf6, 0x8b, 0x82, 0xd1, 0xa9, 0xad, 0x49, 0x44, + 0x78, 0xf2, 0xbb, 0x54, 0x9f, 0x12, 0xc1, 0xfc, 0x74, 0xdd, 0x88, 0xc3, 0x04, 0x1c, 0x2b, 0x0a, + 0x1a, 0xdb, 0x90, 0xc0, 0xb9, 0x35, 0x20, 0xdb, 0xdd, 0x84, 0xd5, 0xc3, 0xeb, 0x46, 0x48, 0xc6, + 0x11, 0x97, 0x3a, 0x58, 0xd3, 0x4c, 0xde, 0x77, 0x8d, 0x82, 0xf6, 0x1d, 0x3c, 0xea, 0xbe, 0x53, + 0x8d, 0x94, 0xf3, 0x53, 0x1b, 0x29, 0xe5, 0x59, 0xb0, 0x30, 0xf5, 0x2c, 0xf8, 0x1c, 0x2c, 0xf9, + 0x41, 0x9f, 0xc4, 0x7e, 0x4a, 0x3c, 0xb6, 0x11, 0x9a, 0x8b, 0x4c, 0x11, 0xaa, 0x2d, 0x6e, 0x2b, + 0x83, 0xc5, 0x39, 0x6a, 0xfb, 0xeb, 0x25, 0x38, 0xa5, 0x37, 0x08, 0x1d, 0x99, 0xdf, 0xa5, 0x56, + 0xc2, 0x9a, 0x13, 0x78, 0xa1, 0xcd, 0xf8, 0x3e, 0x43, 0x5d, 0xc6, 0x74, 0x14, 0x06, 0x1b, 0x54, + 0x74, 0xfd, 0x5c, 0x12, 0xb3, 0x8a, 0x6d, 0x7e, 0xf7, 0x6c, 0x08, 0x38, 0x56, 0x14, 0xec, 0x13, + 0x10, 0x12, 0xa7, 0x9d, 0xd1, 0x2d, 0xf6, 0x42, 0xae, 0x96, 0xb6, 0xa1, 0x51, 0xd8, 0xa4, 0xa3, + 0xe7, 0x98, 0x2b, 0x17, 0x8f, 0xee, 0xa0, 0x05, 0x7e, 0x8e, 0xa9, 0xf5, 0x52, 0x58, 0x39, 0x1c, + 0x9a, 0x34, 0x08, 0xf7, 0x9a, 0x19, 0x0e, 0xbb, 0xae, 0x54, 0x14, 0xf6, 0x7f, 0x5b, 0xf0, 0xd1, + 0x89, 0xaa, 0x78, 0x0a, 0x2e, 0x71, 0x94, 0x75, 0x89, 0xbb, 0x33, 0xba, 0xc4, 0xb1, 0x29, 0x4c, + 0x71, 0x8f, 0xff, 0x60, 0xc1, 0x92, 0xa6, 0x7f, 0x0a, 0xf3, 0xec, 0x16, 0xf7, 0x11, 0x89, 0x1e, + 0x77, 0xbb, 0x31, 0x36, 0xb1, 0x0f, 0xd8, 0xc4, 0x78, 0x3c, 0xb6, 0xee, 0xca, 0xb6, 0xe5, 0x23, + 0xe2, 0xaa, 0x03, 0xa8, 0xb2, 0xde, 0x1d, 0x39, 0xba, 0x9d, 0x02, 0xee, 0x50, 0xb8, 0x70, 0x96, + 0x8f, 0xe9, 0x0c, 0x9f, 0x3d, 0x26, 0x58, 0x48, 0xa3, 0x66, 0xea, 0xf9, 0x09, 0x75, 0x52, 0x9e, + 0x48, 0xef, 0x94, 0x0a, 0x37, 0x05, 0x1c, 0x2b, 0x0a, 0x7b, 0x08, 0xcd, 0x2c, 0xf3, 0x4d, 0x42, + 0xe3, 0xd1, 0x63, 0xce, 0x71, 0x0d, 0x1a, 0x0e, 0x7b, 0x6b, 0x7b, 0xe4, 0xe4, 0x3b, 0x97, 0xd7, + 0x25, 0x02, 0x6b, 0x1a, 0xfb, 0xcf, 0x2c, 0x78, 0x76, 0xc2, 0x64, 0x0a, 0x4c, 0x6b, 0x53, 0xbd, + 0xf9, 0xa7, 0x34, 0x93, 0x7b, 0xa4, 0xeb, 0xc8, 0xbc, 0xc4, 0xc8, 0x62, 0x36, 0x39, 0x18, 0x4b, + 0xbc, 0xfd, 0x1f, 0x16, 0x9c, 0xc8, 0x8e, 0x35, 0x41, 0x57, 0x01, 0xf1, 0xc9, 0x6c, 0xfa, 0x89, + 0x1b, 0x1e, 0x90, 0xf8, 0x90, 0xce, 0x9c, 0x8f, 0x7a, 0x45, 0x70, 0x42, 0xeb, 0x63, 0x14, 0x78, + 0xc2, 0x5b, 0xe8, 0x1b, 0xac, 0x0a, 0x2a, 0xb5, 0x2d, 0xcd, 0xa4, 0x53, 0x98, 0x99, 0xe8, 0x95, + 0x34, 0xc3, 0x79, 0x25, 0x0f, 0x9b, 0xc2, 0xed, 0xf7, 0x4b, 0xb0, 0x20, 0x5f, 0xdf, 0xf4, 0xbb, + 0x5d, 0xaa, 0x6f, 0x16, 0x25, 0x8b, 0xc9, 0x29, 0x7d, 0xb3, 0x10, 0x1a, 0x73, 0x1c, 0xd5, 0xf7, + 0xbe, 0x1f, 0x78, 0xf9, 0xf4, 0xfe, 0x9a, 0x1f, 0x78, 0x98, 0x61, 0xb2, 0xbd, 0xed, 0xe5, 0xa3, + 0x7b, 0xdb, 0x95, 0x25, 0x54, 0x1e, 0x96, 0xb0, 0xf0, 0x6e, 0x6c, 0x1d, 0xb6, 0x18, 0x8e, 0x7e, + 0x4f, 0xa3, 0xb0, 0x49, 0x47, 0x47, 0x32, 0xf0, 0x0f, 0x08, 0x7f, 0xa9, 0x9a, 0x1d, 0xc9, 0xb6, + 0x44, 0x60, 0x4d, 0x43, 0x47, 0xe2, 0xf9, 0xdd, 0x2e, 0x0b, 0x1d, 0x8c, 0x91, 0x50, 0xed, 0x60, + 0x86, 0xa1, 0x14, 0xfd, 0x30, 0xdc, 0x17, 0xd1, 0x82, 0xa2, 0xb8, 0x12, 0x86, 0xfb, 0x98, 0x61, + 0xec, 0xff, 0x64, 0xa7, 0xc0, 0x94, 0x3e, 0x9b, 0xa2, 0x74, 0x2c, 0x55, 0x56, 0x7e, 0xd8, 0x3e, + 0xd5, 0xab, 0x50, 0x39, 0xc6, 0x2a, 0x9c, 0x87, 0x85, 0xdb, 0x49, 0x18, 0xec, 0x86, 0x7e, 0xc0, + 0xba, 0x1d, 0xe7, 0xf4, 0x25, 0xf7, 0xd5, 0xce, 0x8d, 0x1d, 0x09, 0xc7, 0x19, 0x2a, 0xfb, 0x3b, + 0x73, 0xf0, 0xbc, 0xba, 0xee, 0x25, 0xe9, 0x9d, 0x30, 0xde, 0xf7, 0x83, 0x1e, 0x2b, 0xda, 0x7d, + 0xd3, 0x82, 0x05, 0xbe, 0x1a, 0xa2, 0xfd, 0x8f, 0xdf, 0x67, 0xbb, 0x45, 0x5c, 0x2c, 0x67, 0x24, + 0xb5, 0xf6, 0x0c, 0x29, 0xb9, 0xd6, 0x3f, 0x13, 0x85, 0x33, 0xc3, 0x41, 0xef, 0x00, 0xc8, 0x16, + 0xff, 0x6e, 0x11, 0x5f, 0x39, 0xc8, 0xc1, 0x61, 0xd2, 0xd5, 0x71, 0xce, 0x9e, 0x92, 0x80, 0x0d, + 0x69, 0xe8, 0x6b, 0x16, 0x54, 0x07, 0x5c, 0x2b, 0x65, 0x26, 0xf8, 0x67, 0x8b, 0xd7, 0x8a, 0xa9, + 0x0f, 0x75, 0x72, 0x08, 0x4d, 0x08, 0xe1, 0x08, 0x43, 0xcd, 0x0f, 0x7a, 0x31, 0x49, 0x64, 0x9a, + 0xfe, 0x09, 0xe3, 0xac, 0x6e, 0xb9, 0x61, 0x4c, 0xd8, 0xc9, 0x1c, 0x3a, 0x5e, 0xdb, 0x19, 0x38, + 0x81, 0x4b, 0xe2, 0x2d, 0x4e, 0xae, 0x9d, 0xa8, 0x00, 0x60, 0xc9, 0x68, 0xac, 0x5b, 0x62, 0xee, + 0x38, 0xdd, 0x12, 0x2b, 0xaf, 0xc2, 0xf2, 0xd8, 0x32, 0x3e, 0x4a, 0x23, 0xe6, 0xca, 0x67, 0x61, + 0xfe, 0x71, 0x7b, 0x38, 0xdf, 0x9f, 0xd3, 0x9e, 0x70, 0x27, 0xf4, 0x58, 0x9b, 0x40, 0xac, 0x57, + 0x53, 0x84, 0x31, 0x45, 0xd9, 0x86, 0xd1, 0x0e, 0xae, 0x80, 0xd8, 0x94, 0x47, 0x2d, 0x33, 0x72, + 0x62, 0x12, 0x3c, 0x51, 0xcb, 0xdc, 0x55, 0x12, 0xb0, 0x21, 0x0d, 0x11, 0xd1, 0xda, 0x57, 0x9e, + 0xb9, 0x6a, 0x23, 0x4b, 0xed, 0x93, 0xda, 0xfb, 0x68, 0x36, 0xba, 0x14, 0x64, 0xec, 0x55, 0x14, + 0x0d, 0x5f, 0x2b, 0x7c, 0x23, 0xf0, 0xde, 0xa8, 0x2c, 0x0c, 0xe7, 0x84, 0xa3, 0x75, 0x38, 0x21, + 0x57, 0x20, 0xdb, 0x43, 0xa0, 0x12, 0x5a, 0x9c, 0x45, 0xe3, 0x3c, 0xbd, 0xd1, 0xef, 0x53, 0x9d, + 0xd6, 0xef, 0x83, 0xf6, 0x55, 0x6b, 0x5f, 0xad, 0xd8, 0xd6, 0x3e, 0x18, 0x6f, 0xeb, 0xb3, 0xbf, + 0x6d, 0xc1, 0x49, 0x39, 0xea, 0x1b, 0x07, 0x24, 0x8e, 0x7d, 0x8f, 0x9d, 0x0b, 0x1c, 0xad, 0xa3, + 0x18, 0x75, 0x2e, 0x5c, 0x91, 0x08, 0xac, 0x69, 0x68, 0xce, 0x3b, 0xde, 0x8a, 0x5a, 0xca, 0xe6, + 0xbc, 0xc7, 0x6a, 0x1a, 0x7d, 0x19, 0x6a, 0x3c, 0x24, 0x4a, 0xf2, 0xd5, 0x64, 0x11, 0x6a, 0x61, + 0x89, 0xb7, 0xff, 0xc7, 0x02, 0x73, 0x77, 0x1c, 0xef, 0xd4, 0x7c, 0x19, 0x6a, 0x07, 0x62, 0xe9, + 0x72, 0xf7, 0x5c, 0x72, 0xc9, 0x24, 0x5e, 0x1d, 0xb0, 0xe5, 0xe3, 0x05, 0x31, 0x95, 0x47, 0x08, + 0x62, 0xe6, 0xa6, 0x9e, 0xc8, 0x2f, 0x42, 0x79, 0xe4, 0x7b, 0x22, 0x0e, 0xd1, 0xc5, 0xc6, 0xad, + 0x4d, 0x4c, 0xe1, 0xf6, 0xbf, 0x95, 0x75, 0xc6, 0x21, 0x8a, 0xda, 0x3f, 0x14, 0xd3, 0x3e, 0xaf, + 0xae, 0x29, 0xf9, 0xcc, 0x5f, 0xc8, 0x5e, 0x53, 0x3e, 0xb8, 0xb7, 0x0a, 0x7c, 0xba, 0xec, 0x26, + 0x6a, 0xc2, 0xa5, 0x65, 0xed, 0x88, 0xab, 0x87, 0x0b, 0x50, 0xa7, 0x81, 0x17, 0x2b, 0x01, 0xd4, + 0x33, 0x22, 0xea, 0x57, 0x04, 0xfc, 0x81, 0xf1, 0x1b, 0x2b, 0x6a, 0xb4, 0x0e, 0x0d, 0xfa, 0x9b, + 0xdd, 0x79, 0x88, 0x32, 0xce, 0x59, 0xb5, 0x17, 0x24, 0x62, 0xc2, 0xf5, 0x88, 0x7e, 0x8b, 0x2a, + 0x8c, 0xf5, 0x6d, 0x33, 0x16, 0x90, 0x55, 0x58, 0x47, 0x22, 0xb0, 0xa6, 0xb1, 0x3f, 0x34, 0x96, + 0x59, 0x5c, 0xe4, 0xfe, 0x50, 0x2c, 0xf3, 0x85, 0xdc, 0x32, 0x9f, 0x19, 0x5b, 0xe6, 0x25, 0xdd, + 0xf6, 0x9c, 0x59, 0xea, 0xa7, 0xe9, 0x13, 0x8f, 0x8e, 0xdf, 0xf9, 0x49, 0xf0, 0xf6, 0xc8, 0x8f, + 0x49, 0xb2, 0x1b, 0x8f, 0x02, 0x3f, 0xe8, 0x31, 0xd3, 0xa8, 0x9b, 0x27, 0x41, 0x06, 0x8d, 0xf3, + 0xf4, 0xf6, 0x5f, 0x94, 0x68, 0x1a, 0x99, 0x69, 0x83, 0xa6, 0x39, 0x7a, 0x2c, 0x3f, 0x3c, 0xcd, + 0x55, 0xb6, 0xd4, 0x27, 0xa7, 0x8a, 0x02, 0x7d, 0x11, 0xc0, 0x23, 0xd1, 0x20, 0x3c, 0x64, 0x37, + 0x4e, 0x95, 0x47, 0xbe, 0x71, 0x52, 0xa7, 0xfc, 0xa6, 0xe2, 0x82, 0x0d, 0x8e, 0x68, 0x05, 0x4a, + 0xbe, 0xc7, 0x56, 0xb3, 0xdc, 0x06, 0x41, 0x5b, 0xda, 0xda, 0xc4, 0x25, 0xdf, 0x33, 0x1a, 0x84, + 0xaa, 0x4f, 0xaf, 0x41, 0xc8, 0xfe, 0x7b, 0x76, 0x58, 0xf1, 0xe9, 0x5f, 0x97, 0xd5, 0x9e, 0x8f, + 0x43, 0xd5, 0x19, 0xa5, 0xfd, 0x70, 0xac, 0x47, 0x72, 0x9d, 0x41, 0xb1, 0xc0, 0xa2, 0x6d, 0xa8, + 0x78, 0x34, 0xc7, 0x2b, 0x3d, 0xb2, 0xa2, 0x74, 0x8e, 0x47, 0x53, 0x41, 0xc6, 0x05, 0xbd, 0x00, + 0x95, 0xd4, 0xe9, 0xc9, 0x3b, 0x2e, 0x76, 0xdd, 0xb6, 0xe7, 0xf4, 0x12, 0xcc, 0xa0, 0xa6, 0x67, + 0xaa, 0x1c, 0xd1, 0x4e, 0xf1, 0xe7, 0x15, 0x58, 0xcc, 0x5c, 0x64, 0x66, 0xac, 0xc0, 0x3a, 0xd2, + 0x0a, 0xce, 0xc2, 0x5c, 0x14, 0x8f, 0x02, 0x3e, 0xaf, 0xba, 0x76, 0x0c, 0xd4, 0xce, 0x08, 0xe6, + 0x38, 0xaa, 0x23, 0x2f, 0x3e, 0xc4, 0xa3, 0x40, 0x94, 0x7e, 0x94, 0x8e, 0x36, 0x19, 0x14, 0x0b, + 0x2c, 0xfa, 0x12, 0x2c, 0x24, 0x6c, 0x03, 0xc6, 0x4e, 0x4a, 0x7a, 0xf2, 0x63, 0x96, 0xcb, 0x33, + 0x7f, 0xc6, 0xc0, 0xd9, 0xf1, 0xf8, 0xde, 0x84, 0xe0, 0x8c, 0x38, 0xf4, 0x55, 0xcb, 0xfc, 0x74, + 0xa3, 0x3a, 0x73, 0x95, 0x32, 0x7f, 0x41, 0xcc, 0xad, 0xeb, 0xe1, 0x5f, 0x70, 0x44, 0xca, 0xb2, + 0x6b, 0x4f, 0xc0, 0xb2, 0x61, 0x42, 0xdb, 0xdb, 0x27, 0xa1, 0x31, 0x74, 0x02, 0xbf, 0x4b, 0x92, + 0x94, 0xff, 0x89, 0x46, 0x83, 0x7f, 0x6b, 0x7c, 0x5d, 0x02, 0xb1, 0xc6, 0xdb, 0x5f, 0xb1, 0xe0, + 0xd4, 0xc4, 0x69, 0x3d, 0xb5, 0xaa, 0x01, 0xf5, 0x5c, 0xcf, 0x4e, 0xb8, 0x7a, 0x47, 0x07, 0x4f, + 0xe6, 0xbb, 0x1b, 0x71, 0xb1, 0xbf, 0x38, 0x75, 0xc5, 0x1e, 0xcd, 0x6b, 0x6a, 0xcf, 0x55, 0x7e, + 0x8a, 0x9e, 0xeb, 0xd7, 0x2c, 0x30, 0xbe, 0xe3, 0x42, 0x3f, 0x0f, 0x0d, 0x67, 0x94, 0x86, 0x43, + 0x27, 0x25, 0x9e, 0xc8, 0x1c, 0x77, 0x0a, 0xf9, 0x62, 0x6c, 0x5d, 0x72, 0xe5, 0xfa, 0x52, 0x8f, + 0x58, 0xcb, 0xb3, 0xfb, 0x7c, 0xf9, 0x72, 0x2f, 0x68, 0x47, 0x62, 0x3d, 0xc4, 0x91, 0x7c, 0x0a, + 0xea, 0x09, 0x19, 0x74, 0xe9, 0x81, 0x29, 0x1c, 0x8e, 0xd2, 0x75, 0x47, 0xc0, 0xb1, 0xa2, 0xb0, + 0xff, 0x4b, 0xcc, 0x5a, 0xc4, 0x30, 0x17, 0x72, 0xcd, 0x68, 0xc7, 0x3f, 0xfe, 0x0f, 0x01, 0x5c, + 0xd5, 0x9d, 0x5a, 0xc0, 0xc7, 0x55, 0xba, 0xd5, 0xd5, 0xfc, 0xf4, 0x47, 0xc2, 0xb0, 0x21, 0x2c, + 0x63, 0x5d, 0xe5, 0xa3, 0xac, 0xcb, 0xfe, 0x77, 0x0b, 0x32, 0x0e, 0x0e, 0x0d, 0x61, 0x8e, 0x8e, + 0xe0, 0xb0, 0x80, 0x46, 0x5a, 0x93, 0x2f, 0xb5, 0x3c, 0x71, 0x25, 0xc1, 0x7e, 0x62, 0x2e, 0x05, + 0xf9, 0x22, 0x74, 0xe1, 0x2a, 0xba, 0x56, 0x90, 0x34, 0x1a, 0xf9, 0x88, 0xff, 0x9e, 0xd0, 0x35, + 0xcc, 0x0b, 0xb0, 0x3c, 0x36, 0x22, 0x6a, 0x44, 0xac, 0x37, 0x2f, 0x6f, 0x44, 0xac, 0x7b, 0x0f, + 0x73, 0x9c, 0xfd, 0x2d, 0x0b, 0x4e, 0xe6, 0xd9, 0xa3, 0xdf, 0xb5, 0x60, 0x39, 0xc9, 0xf3, 0x7b, + 0x22, 0x5a, 0x53, 0x19, 0xe9, 0x18, 0x0a, 0x8f, 0x8f, 0xc0, 0xfe, 0xbb, 0x12, 0xb7, 0x61, 0xfe, + 0xd7, 0x43, 0xca, 0x81, 0x5a, 0x53, 0x1d, 0x28, 0xdd, 0x22, 0x6e, 0x9f, 0x78, 0xa3, 0xc1, 0xd8, + 0xf5, 0x64, 0x47, 0xc0, 0xb1, 0xa2, 0x60, 0xd7, 0x32, 0x23, 0xd1, 0xeb, 0x95, 0x33, 0xaf, 0x4d, + 0x01, 0xc7, 0x8a, 0x02, 0x9d, 0x87, 0x05, 0x63, 0x92, 0xbc, 0x1e, 0x27, 0xca, 0x66, 0x86, 0x2f, + 0x4a, 0x70, 0x86, 0x0a, 0xb5, 0xf8, 0xd7, 0xdc, 0x2c, 0x4a, 0x97, 0xa5, 0xb6, 0x25, 0xf9, 0x25, + 0x37, 0x87, 0x62, 0x83, 0x82, 0xdd, 0x7d, 0xf2, 0xee, 0x73, 0x59, 0xa6, 0xe0, 0x77, 0x9f, 0x02, + 0x86, 0x15, 0x16, 0x9d, 0x03, 0x18, 0x3a, 0xc1, 0xc8, 0x19, 0x50, 0x0d, 0x89, 0xcb, 0x74, 0xb5, + 0xa1, 0xae, 0x2b, 0x0c, 0x36, 0xa8, 0xe8, 0x16, 0xc9, 0x7f, 0x3a, 0x90, 0xb9, 0x92, 0xb7, 0x8e, + 0xbc, 0x92, 0xcf, 0x5e, 0x1a, 0x97, 0x8e, 0x75, 0x69, 0x6c, 0xde, 0xe7, 0x96, 0x1f, 0x7a, 0x9f, + 0xfb, 0x31, 0xa8, 0xed, 0x93, 0x43, 0xe3, 0xe2, 0x97, 0xff, 0xf3, 0x08, 0x07, 0x61, 0x89, 0x43, + 0x36, 0x54, 0x5d, 0x47, 0xf5, 0xd4, 0x2c, 0xf0, 0x93, 0x7d, 0x63, 0x9d, 0x11, 0x09, 0x4c, 0xbb, + 0xf5, 0xde, 0x87, 0xa7, 0x9f, 0xf9, 0xee, 0x87, 0xa7, 0x9f, 0xf9, 0xe0, 0xc3, 0xd3, 0xcf, 0x7c, + 0xe5, 0xfe, 0x69, 0xeb, 0xbd, 0xfb, 0xa7, 0xad, 0xef, 0xde, 0x3f, 0x6d, 0x7d, 0x70, 0xff, 0xb4, + 0xf5, 0xaf, 0xf7, 0x4f, 0x5b, 0xbf, 0xf5, 0xfd, 0xd3, 0xcf, 0xbc, 0x59, 0x97, 0xb6, 0xfa, 0x7f, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0x59, 0xad, 0x94, 0x38, 0x52, 0x00, 0x00, } diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index 74cf0e5244c02..17783f3e86fd7 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -176,6 +176,9 @@ message ApplicationSourceJsonnet { // TLAS is a list of Jsonnet Top-level Arguments repeated JsonnetVar tlas = 2; + + // JPaths is a list of Jsonnet additional library search dirs + repeated string jpaths = 3; } // ApplicationSourceKsonnet holds ksonnet specific options diff --git a/pkg/apis/application/v1alpha1/openapi_generated.go b/pkg/apis/application/v1alpha1/openapi_generated.go index 3be859d7ca67a..bfc19592ac61b 100644 --- a/pkg/apis/application/v1alpha1/openapi_generated.go +++ b/pkg/apis/application/v1alpha1/openapi_generated.go @@ -658,6 +658,20 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSourceJsonnet(ref common.Re }, }, }, + "jpaths": { + SchemaProps: spec.SchemaProps{ + Description: "JPaths is a list of Jsonnet additional library search dirs", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, }, }, }, diff --git a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go index 9b5e67d572b2a..671f36e63e2e8 100644 --- a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go @@ -344,6 +344,11 @@ func (in *ApplicationSourceJsonnet) DeepCopyInto(out *ApplicationSourceJsonnet) *out = make([]JsonnetVar, len(*in)) copy(*out, *in) } + if in.JPaths != nil { + in, out := &in.JPaths, &out.JPaths + *out = make([]string, len(*in)) + copy(*out, *in) + } return } From ba22dff97af6db6ab8a345dd6dcfdb799806256d Mon Sep 17 00:00:00 2001 From: anarcher Date: Sun, 10 Nov 2019 04:27:27 +0900 Subject: [PATCH 3/8] Fix wrong typo of protobuf struct tag --- pkg/apis/application/v1alpha1/types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index cf4ae3b029ccd..1aca0834a5472 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -303,7 +303,7 @@ type ApplicationSourceJsonnet struct { // TLAS is a list of Jsonnet Top-level Arguments TLAs []JsonnetVar `json:"tlas,omitempty" protobuf:"bytes,2,opt,name=tlas"` // JPaths is a list of Jsonnet additional library search dirs - JPaths []string `json:"jpaths,omitempty, protobuf:" protobuf:"bytes,3,rep,name=jpaths"` + JPaths []string `json:"jpaths,omitempty, protobuf:"bytes,3,opt,name=jpaths"` } func (j *ApplicationSourceJsonnet) IsZero() bool { From a88108ab51dd38340443bc98dc4a32b510cf170c Mon Sep 17 00:00:00 2001 From: anarcher Date: Sun, 10 Nov 2019 04:29:32 +0900 Subject: [PATCH 4/8] S1011: replace loop --- cmd/argocd/commands/app.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index 2fd42a375871b..66cbddf33b13d 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -661,9 +661,7 @@ func setJsonnetOptJPath(src *argoappv1.ApplicationSource, jpath []string) { if src.Directory == nil { src.Directory = &argoappv1.ApplicationSourceDirectory{} } - for _, p := range jpath { - src.Directory.Jsonnet.JPaths = append(src.Directory.Jsonnet.JPaths, p) - } + src.Directory.Jsonnet.JPaths = append(src.Directory.Jsonnet.JPaths, jpath...) } type appOptions struct { From 63104aac28a311d114b367f36c980673b5ea6254 Mon Sep 17 00:00:00 2001 From: anarcher Date: Sun, 10 Nov 2019 13:47:15 +0900 Subject: [PATCH 5/8] Fix struct tag of ApplicationSourceJsonnet --- pkg/apis/application/v1alpha1/types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index 1aca0834a5472..bec3f8eb1dc1c 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -303,7 +303,7 @@ type ApplicationSourceJsonnet struct { // TLAS is a list of Jsonnet Top-level Arguments TLAs []JsonnetVar `json:"tlas,omitempty" protobuf:"bytes,2,opt,name=tlas"` // JPaths is a list of Jsonnet additional library search dirs - JPaths []string `json:"jpaths,omitempty, protobuf:"bytes,3,opt,name=jpaths"` + JPaths []string `json:"jpaths,omitempty" protobuf:"bytes,3,opt,name=jpaths"` } func (j *ApplicationSourceJsonnet) IsZero() bool { From 666ca03f51f43dc81fda01bb9070c607b6b3a892 Mon Sep 17 00:00:00 2001 From: anarcher Date: Sun, 10 Nov 2019 23:18:56 +0900 Subject: [PATCH 6/8] Add appRoot to jpaths --- reposerver/repository/repository.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reposerver/repository/repository.go b/reposerver/repository/repository.go index a1a8940e821be..4a32caa711f63 100644 --- a/reposerver/repository/repository.go +++ b/reposerver/repository/repository.go @@ -486,7 +486,7 @@ func findManifests(appPath string, env *v1alpha1.Env, directory v1alpha1.Applica objs = append(objs, &obj) } else if strings.HasSuffix(f.Name(), ".jsonnet") { vm := makeJsonnetVm(directory.Jsonnet, env) - var jpaths []string + jpaths := []string{appPath} for _, p := range directory.Jsonnet.JPaths { jpaths = append(jpaths, filepath.Join(appPath, p)) } From bf19390a8af258f27661b380f5ab41f28740977b Mon Sep 17 00:00:00 2001 From: anarcher Date: Mon, 11 Nov 2019 16:32:11 +0900 Subject: [PATCH 7/8] Add appRoot for jpaths --- cmd/argocd/commands/app.go | 3 ++- reposerver/repository/repository.go | 28 ++++++++++++++---------- reposerver/repository/repository_test.go | 4 ++-- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index 66cbddf33b13d..7e1c46a3815fb 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -837,7 +837,8 @@ func getLocalObjects(app *argoappv1.Application, local, appLabelKey, kubeVersion } func getLocalObjectsString(app *argoappv1.Application, local, appLabelKey, kubeVersion string, kustomizeOptions *argoappv1.KustomizeOptions) []string { - res, err := repository.GenerateManifests(local, app.Spec.Source.TargetRevision, &repoapiclient.ManifestRequest{ + //TODO: appRoot is disabled with local apply + res, err := repository.GenerateManifests(local, local, app.Spec.Source.TargetRevision, &repoapiclient.ManifestRequest{ Repo: &argoappv1.Repository{Repo: app.Spec.Source.RepoURL}, AppLabelKey: appLabelKey, AppLabelValue: app.Name, diff --git a/reposerver/repository/repository.go b/reposerver/repository/repository.go index 4a32caa711f63..28fde6623f012 100644 --- a/reposerver/repository/repository.go +++ b/reposerver/repository/repository.go @@ -111,7 +111,7 @@ func (s *Service) runRepoOperation( repo *v1alpha1.Repository, source *v1alpha1.ApplicationSource, getCached func(revision string) bool, - operation func(appPath string, revision string) error, + operation func(appRoot, appPath string, revision string) error, settings operationSettings) error { var gitClient git.Client @@ -161,7 +161,8 @@ func (s *Service) runRepoOperation( return err } defer util.Close(closer) - return operation(chartPath, revision) + // helm chart doesn't need appRoot, + return operation(chartPath, chartPath, revision) } s.repoLock.Lock(gitClient.Root()) defer s.repoLock.Unlock(gitClient.Root()) @@ -174,11 +175,12 @@ func (s *Service) runRepoOperation( if err != nil { return err } - appPath, err := argopath.Path(gitClient.Root(), source.Path) + appRoot := gitClient.Root() + appPath, err := argopath.Path(appRoot, source.Path) if err != nil { return err } - return operation(appPath, revision) + return operation(appRoot, appPath, revision) } func (s *Service) GenerateManifest(c context.Context, q *apiclient.ManifestRequest) (*apiclient.ManifestResponse, error) { @@ -197,9 +199,9 @@ func (s *Service) GenerateManifest(c context.Context, q *apiclient.ManifestReque } return false } - err := s.runRepoOperation(c, q.Revision, q.Repo, q.ApplicationSource, getCached, func(appPath string, revision string) error { + err := s.runRepoOperation(c, q.Revision, q.Repo, q.ApplicationSource, getCached, func(appRoot, appPath string, revision string) error { var err error - res, err = GenerateManifests(appPath, revision, q) + res, err = GenerateManifests(appRoot, appPath, revision, q) if err != nil { return err } @@ -292,7 +294,7 @@ func helmTemplate(appPath string, env *v1alpha1.Env, q *apiclient.ManifestReques } // GenerateManifests generates manifests from a path -func GenerateManifests(appPath, revision string, q *apiclient.ManifestRequest) (*apiclient.ManifestResponse, error) { +func GenerateManifests(appRoot, appPath, revision string, q *apiclient.ManifestRequest) (*apiclient.ManifestResponse, error) { var targetObjs []*unstructured.Unstructured var dest *v1alpha1.ApplicationDestination @@ -321,7 +323,7 @@ func GenerateManifests(appPath, revision string, q *apiclient.ManifestRequest) ( if directory = q.ApplicationSource.Directory; directory == nil { directory = &v1alpha1.ApplicationSourceDirectory{} } - targetObjs, err = findManifests(appPath, env, *directory) + targetObjs, err = findManifests(appRoot, appPath, env, *directory) } if err != nil { return nil, err @@ -456,7 +458,7 @@ func ksShow(appLabelKey, appPath string, ksonnetOpts *v1alpha1.ApplicationSource var manifestFile = regexp.MustCompile(`^.*\.(yaml|yml|json|jsonnet)$`) // findManifests looks at all yaml files in a directory and unmarshals them into a list of unstructured objects -func findManifests(appPath string, env *v1alpha1.Env, directory v1alpha1.ApplicationSourceDirectory) ([]*unstructured.Unstructured, error) { +func findManifests(appRoot, appPath string, env *v1alpha1.Env, directory v1alpha1.ApplicationSourceDirectory) ([]*unstructured.Unstructured, error) { var objs []*unstructured.Unstructured err := filepath.Walk(appPath, func(path string, f os.FileInfo, err error) error { if err != nil { @@ -488,7 +490,11 @@ func findManifests(appPath string, env *v1alpha1.Env, directory v1alpha1.Applica vm := makeJsonnetVm(directory.Jsonnet, env) jpaths := []string{appPath} for _, p := range directory.Jsonnet.JPaths { - jpaths = append(jpaths, filepath.Join(appPath, p)) + jpath := filepath.Join(appPath, p) + if !strings.HasPrefix(jpath, filepath.Clean(appRoot)) { + return status.Errorf(codes.FailedPrecondition, "%s: jsonnet jpath outside root", p) + } + jpaths = append(jpaths, jpath) } vm.Importer(&jsonnet.FileImporter{ JPaths: jpaths, @@ -623,7 +629,7 @@ func (s *Service) GetAppDetails(ctx context.Context, q *apiclient.RepoServerAppD return false } - err := s.runRepoOperation(ctx, q.Source.TargetRevision, q.Repo, q.Source, getCached, func(appPath string, revision string) error { + err := s.runRepoOperation(ctx, q.Source.TargetRevision, q.Repo, q.Source, getCached, func(appRoot, appPath string, revision string) error { appSourceType, err := GetAppSourceType(q.Source, appPath) if err != nil { return err diff --git a/reposerver/repository/repository_test.go b/reposerver/repository/repository_test.go index d42a18c4c0f55..48b0680c09f90 100644 --- a/reposerver/repository/repository_test.go +++ b/reposerver/repository/repository_test.go @@ -82,7 +82,7 @@ func TestGenerateYamlManifestInDir(t *testing.T) { assert.Equal(t, countOfManifests, len(res1.Manifests)) // this will test concatenated manifests to verify we split YAMLs correctly - res2, err := GenerateManifests("./testdata/concatenated", "", &q) + res2, err := GenerateManifests(".", "./testdata/concatenated", "", &q) assert.NoError(t, err) assert.Equal(t, 3, len(res2.Manifests)) } @@ -319,7 +319,7 @@ func TestGenerateFromUTF16(t *testing.T) { Repo: &argoappv1.Repository{}, ApplicationSource: &argoappv1.ApplicationSource{}, } - res1, err := GenerateManifests("./testdata/utf-16", "", &q) + res1, err := GenerateManifests(".", "./testdata/utf-16", "", &q) assert.Nil(t, err) assert.Equal(t, 2, len(res1.Manifests)) } From a0a80cfb92bec541661e50750d9eb3d8de83d151 Mon Sep 17 00:00:00 2001 From: anarcher Date: Tue, 12 Nov 2019 00:35:17 +0900 Subject: [PATCH 8/8] Add comment about appPath to import jpaths default --- reposerver/repository/repository.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reposerver/repository/repository.go b/reposerver/repository/repository.go index 28fde6623f012..7665ef08ef4ca 100644 --- a/reposerver/repository/repository.go +++ b/reposerver/repository/repository.go @@ -488,7 +488,7 @@ func findManifests(appRoot, appPath string, env *v1alpha1.Env, directory v1alpha objs = append(objs, &obj) } else if strings.HasSuffix(f.Name(), ".jsonnet") { vm := makeJsonnetVm(directory.Jsonnet, env) - jpaths := []string{appPath} + jpaths := []string{appPath} // default import appPath within jpath for _, p := range directory.Jsonnet.JPaths { jpath := filepath.Join(appPath, p) if !strings.HasPrefix(jpath, filepath.Clean(appRoot)) {