From e8e2583007e9c1cffa17d2bfb6aa2f3265f3a784 Mon Sep 17 00:00:00 2001 From: Kent Rancourt Date: Tue, 7 Jan 2025 16:00:51 -0500 Subject: [PATCH] run codegen Signed-off-by: Kent Rancourt --- api/v1alpha1/freight_types.go | 6 +- api/v1alpha1/generated.pb.go | 1038 ++++++++++++----- api/v1alpha1/generated.proto | 29 +- api/v1alpha1/zz_generated.deepcopy.go | 36 + .../crds/kargo.akuity.io_freights.yaml | 25 +- .../crds/kargo.akuity.io_promotions.yaml | 4 +- .../crds/kargo.akuity.io_stages.yaml | 24 +- .../freights.kargo.akuity.io_v1alpha1.json | 21 +- .../promotions.kargo.akuity.io_v1alpha1.json | 4 +- .../stages.kargo.akuity.io_v1alpha1.json | 21 +- ui/src/gen/v1alpha1/generated_pb.ts | 152 ++- 11 files changed, 999 insertions(+), 361 deletions(-) diff --git a/api/v1alpha1/freight_types.go b/api/v1alpha1/freight_types.go index 087b12f00..e1bc5e3fe 100644 --- a/api/v1alpha1/freight_types.go +++ b/api/v1alpha1/freight_types.go @@ -163,7 +163,7 @@ func (g *GitCommit) Equals(rhs *GitCommit) bool { // FreightStatus describes a piece of Freight's most recently observed state. type FreightStatus struct { // CurrentlyIn describes the Stages in which this Freight is currently in use. - CurrentlyIn map[string]CurrentStage `json:"currentlyIn,omitempty"` + CurrentlyIn map[string]CurrentStage `json:"currentlyIn,omitempty" protobuf:"bytes,3,rep,name=currentlyIn" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // VerifiedIn describes the Stages in which this Freight has been verified // through promotion and subsequent health checks. VerifiedIn map[string]VerifiedStage `json:"verifiedIn,omitempty" protobuf:"bytes,1,rep,name=verifiedIn" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` @@ -179,7 +179,7 @@ type CurrentStage struct { // Since is the time at which the Stage most recently started using the // Freight. This can be used to calculate how long the Freight has been in use // by the Stage. - Since *metav1.Time `json:"since,omitempty"` + Since *metav1.Time `json:"since,omitempty" protobuf:"bytes,1,opt,name=since"` } // VerifiedStage describes a Stage in which Freight has been verified. @@ -191,7 +191,7 @@ type VerifiedStage struct { // Freight EXITS the Stage. If the Freight is currently in use by the Stage, // the time elapsed since the Freight ENTERED the Stage is its current soak // time, which may exceed the value of this field. - LongestCompletedSoak *metav1.Duration `json:"longestSoak,omitempty"` + LongestCompletedSoak *metav1.Duration `json:"longestSoak,omitempty" protobuf:"bytes,2,opt,name=longestSoak"` } // ApprovedStage describes a Stage for which Freight has been (manually) diff --git a/api/v1alpha1/generated.pb.go b/api/v1alpha1/generated.pb.go index 3b9247777..65a419281 100644 --- a/api/v1alpha1/generated.pb.go +++ b/api/v1alpha1/generated.pb.go @@ -338,10 +338,38 @@ func (m *ChartSubscription) XXX_DiscardUnknown() { var xxx_messageInfo_ChartSubscription proto.InternalMessageInfo +func (m *CurrentStage) Reset() { *m = CurrentStage{} } +func (*CurrentStage) ProtoMessage() {} +func (*CurrentStage) Descriptor() ([]byte, []int) { + return fileDescriptor_e26b7f7bbc391025, []int{11} +} +func (m *CurrentStage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CurrentStage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *CurrentStage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CurrentStage.Merge(m, src) +} +func (m *CurrentStage) XXX_Size() int { + return m.Size() +} +func (m *CurrentStage) XXX_DiscardUnknown() { + xxx_messageInfo_CurrentStage.DiscardUnknown(m) +} + +var xxx_messageInfo_CurrentStage proto.InternalMessageInfo + func (m *DiscoveredArtifacts) Reset() { *m = DiscoveredArtifacts{} } func (*DiscoveredArtifacts) ProtoMessage() {} func (*DiscoveredArtifacts) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{11} + return fileDescriptor_e26b7f7bbc391025, []int{12} } func (m *DiscoveredArtifacts) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -369,7 +397,7 @@ var xxx_messageInfo_DiscoveredArtifacts proto.InternalMessageInfo func (m *DiscoveredCommit) Reset() { *m = DiscoveredCommit{} } func (*DiscoveredCommit) ProtoMessage() {} func (*DiscoveredCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{12} + return fileDescriptor_e26b7f7bbc391025, []int{13} } func (m *DiscoveredCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -397,7 +425,7 @@ var xxx_messageInfo_DiscoveredCommit proto.InternalMessageInfo func (m *DiscoveredImageReference) Reset() { *m = DiscoveredImageReference{} } func (*DiscoveredImageReference) ProtoMessage() {} func (*DiscoveredImageReference) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{13} + return fileDescriptor_e26b7f7bbc391025, []int{14} } func (m *DiscoveredImageReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -425,7 +453,7 @@ var xxx_messageInfo_DiscoveredImageReference proto.InternalMessageInfo func (m *Freight) Reset() { *m = Freight{} } func (*Freight) ProtoMessage() {} func (*Freight) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{14} + return fileDescriptor_e26b7f7bbc391025, []int{15} } func (m *Freight) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -453,7 +481,7 @@ var xxx_messageInfo_Freight proto.InternalMessageInfo func (m *FreightCollection) Reset() { *m = FreightCollection{} } func (*FreightCollection) ProtoMessage() {} func (*FreightCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{15} + return fileDescriptor_e26b7f7bbc391025, []int{16} } func (m *FreightCollection) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -481,7 +509,7 @@ var xxx_messageInfo_FreightCollection proto.InternalMessageInfo func (m *FreightList) Reset() { *m = FreightList{} } func (*FreightList) ProtoMessage() {} func (*FreightList) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{16} + return fileDescriptor_e26b7f7bbc391025, []int{17} } func (m *FreightList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -509,7 +537,7 @@ var xxx_messageInfo_FreightList proto.InternalMessageInfo func (m *FreightOrigin) Reset() { *m = FreightOrigin{} } func (*FreightOrigin) ProtoMessage() {} func (*FreightOrigin) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{17} + return fileDescriptor_e26b7f7bbc391025, []int{18} } func (m *FreightOrigin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -537,7 +565,7 @@ var xxx_messageInfo_FreightOrigin proto.InternalMessageInfo func (m *FreightReference) Reset() { *m = FreightReference{} } func (*FreightReference) ProtoMessage() {} func (*FreightReference) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{18} + return fileDescriptor_e26b7f7bbc391025, []int{19} } func (m *FreightReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -565,7 +593,7 @@ var xxx_messageInfo_FreightReference proto.InternalMessageInfo func (m *FreightRequest) Reset() { *m = FreightRequest{} } func (*FreightRequest) ProtoMessage() {} func (*FreightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{19} + return fileDescriptor_e26b7f7bbc391025, []int{20} } func (m *FreightRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -593,7 +621,7 @@ var xxx_messageInfo_FreightRequest proto.InternalMessageInfo func (m *FreightSources) Reset() { *m = FreightSources{} } func (*FreightSources) ProtoMessage() {} func (*FreightSources) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{20} + return fileDescriptor_e26b7f7bbc391025, []int{21} } func (m *FreightSources) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -621,7 +649,7 @@ var xxx_messageInfo_FreightSources proto.InternalMessageInfo func (m *FreightStatus) Reset() { *m = FreightStatus{} } func (*FreightStatus) ProtoMessage() {} func (*FreightStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{21} + return fileDescriptor_e26b7f7bbc391025, []int{22} } func (m *FreightStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -649,7 +677,7 @@ var xxx_messageInfo_FreightStatus proto.InternalMessageInfo func (m *GitCommit) Reset() { *m = GitCommit{} } func (*GitCommit) ProtoMessage() {} func (*GitCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{22} + return fileDescriptor_e26b7f7bbc391025, []int{23} } func (m *GitCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -677,7 +705,7 @@ var xxx_messageInfo_GitCommit proto.InternalMessageInfo func (m *GitDiscoveryResult) Reset() { *m = GitDiscoveryResult{} } func (*GitDiscoveryResult) ProtoMessage() {} func (*GitDiscoveryResult) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{23} + return fileDescriptor_e26b7f7bbc391025, []int{24} } func (m *GitDiscoveryResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -705,7 +733,7 @@ var xxx_messageInfo_GitDiscoveryResult proto.InternalMessageInfo func (m *GitSubscription) Reset() { *m = GitSubscription{} } func (*GitSubscription) ProtoMessage() {} func (*GitSubscription) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{24} + return fileDescriptor_e26b7f7bbc391025, []int{25} } func (m *GitSubscription) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -733,7 +761,7 @@ var xxx_messageInfo_GitSubscription proto.InternalMessageInfo func (m *Health) Reset() { *m = Health{} } func (*Health) ProtoMessage() {} func (*Health) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{25} + return fileDescriptor_e26b7f7bbc391025, []int{26} } func (m *Health) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -761,7 +789,7 @@ var xxx_messageInfo_Health proto.InternalMessageInfo func (m *HealthCheckStep) Reset() { *m = HealthCheckStep{} } func (*HealthCheckStep) ProtoMessage() {} func (*HealthCheckStep) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{26} + return fileDescriptor_e26b7f7bbc391025, []int{27} } func (m *HealthCheckStep) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -789,7 +817,7 @@ var xxx_messageInfo_HealthCheckStep proto.InternalMessageInfo func (m *Image) Reset() { *m = Image{} } func (*Image) ProtoMessage() {} func (*Image) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{27} + return fileDescriptor_e26b7f7bbc391025, []int{28} } func (m *Image) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -817,7 +845,7 @@ var xxx_messageInfo_Image proto.InternalMessageInfo func (m *ImageDiscoveryResult) Reset() { *m = ImageDiscoveryResult{} } func (*ImageDiscoveryResult) ProtoMessage() {} func (*ImageDiscoveryResult) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{28} + return fileDescriptor_e26b7f7bbc391025, []int{29} } func (m *ImageDiscoveryResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -845,7 +873,7 @@ var xxx_messageInfo_ImageDiscoveryResult proto.InternalMessageInfo func (m *ImageSubscription) Reset() { *m = ImageSubscription{} } func (*ImageSubscription) ProtoMessage() {} func (*ImageSubscription) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{29} + return fileDescriptor_e26b7f7bbc391025, []int{30} } func (m *ImageSubscription) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -873,7 +901,7 @@ var xxx_messageInfo_ImageSubscription proto.InternalMessageInfo func (m *Project) Reset() { *m = Project{} } func (*Project) ProtoMessage() {} func (*Project) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{30} + return fileDescriptor_e26b7f7bbc391025, []int{31} } func (m *Project) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -901,7 +929,7 @@ var xxx_messageInfo_Project proto.InternalMessageInfo func (m *ProjectList) Reset() { *m = ProjectList{} } func (*ProjectList) ProtoMessage() {} func (*ProjectList) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{31} + return fileDescriptor_e26b7f7bbc391025, []int{32} } func (m *ProjectList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -929,7 +957,7 @@ var xxx_messageInfo_ProjectList proto.InternalMessageInfo func (m *ProjectSpec) Reset() { *m = ProjectSpec{} } func (*ProjectSpec) ProtoMessage() {} func (*ProjectSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{32} + return fileDescriptor_e26b7f7bbc391025, []int{33} } func (m *ProjectSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -957,7 +985,7 @@ var xxx_messageInfo_ProjectSpec proto.InternalMessageInfo func (m *ProjectStatus) Reset() { *m = ProjectStatus{} } func (*ProjectStatus) ProtoMessage() {} func (*ProjectStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{33} + return fileDescriptor_e26b7f7bbc391025, []int{34} } func (m *ProjectStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -985,7 +1013,7 @@ var xxx_messageInfo_ProjectStatus proto.InternalMessageInfo func (m *Promotion) Reset() { *m = Promotion{} } func (*Promotion) ProtoMessage() {} func (*Promotion) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{34} + return fileDescriptor_e26b7f7bbc391025, []int{35} } func (m *Promotion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1013,7 +1041,7 @@ var xxx_messageInfo_Promotion proto.InternalMessageInfo func (m *PromotionList) Reset() { *m = PromotionList{} } func (*PromotionList) ProtoMessage() {} func (*PromotionList) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{35} + return fileDescriptor_e26b7f7bbc391025, []int{36} } func (m *PromotionList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1041,7 +1069,7 @@ var xxx_messageInfo_PromotionList proto.InternalMessageInfo func (m *PromotionPolicy) Reset() { *m = PromotionPolicy{} } func (*PromotionPolicy) ProtoMessage() {} func (*PromotionPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{36} + return fileDescriptor_e26b7f7bbc391025, []int{37} } func (m *PromotionPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1069,7 +1097,7 @@ var xxx_messageInfo_PromotionPolicy proto.InternalMessageInfo func (m *PromotionReference) Reset() { *m = PromotionReference{} } func (*PromotionReference) ProtoMessage() {} func (*PromotionReference) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{37} + return fileDescriptor_e26b7f7bbc391025, []int{38} } func (m *PromotionReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1097,7 +1125,7 @@ var xxx_messageInfo_PromotionReference proto.InternalMessageInfo func (m *PromotionSpec) Reset() { *m = PromotionSpec{} } func (*PromotionSpec) ProtoMessage() {} func (*PromotionSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{38} + return fileDescriptor_e26b7f7bbc391025, []int{39} } func (m *PromotionSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1125,7 +1153,7 @@ var xxx_messageInfo_PromotionSpec proto.InternalMessageInfo func (m *PromotionStatus) Reset() { *m = PromotionStatus{} } func (*PromotionStatus) ProtoMessage() {} func (*PromotionStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{39} + return fileDescriptor_e26b7f7bbc391025, []int{40} } func (m *PromotionStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1153,7 +1181,7 @@ var xxx_messageInfo_PromotionStatus proto.InternalMessageInfo func (m *PromotionStep) Reset() { *m = PromotionStep{} } func (*PromotionStep) ProtoMessage() {} func (*PromotionStep) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{40} + return fileDescriptor_e26b7f7bbc391025, []int{41} } func (m *PromotionStep) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1181,7 +1209,7 @@ var xxx_messageInfo_PromotionStep proto.InternalMessageInfo func (m *PromotionStepRetry) Reset() { *m = PromotionStepRetry{} } func (*PromotionStepRetry) ProtoMessage() {} func (*PromotionStepRetry) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{41} + return fileDescriptor_e26b7f7bbc391025, []int{42} } func (m *PromotionStepRetry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1209,7 +1237,7 @@ var xxx_messageInfo_PromotionStepRetry proto.InternalMessageInfo func (m *PromotionTemplate) Reset() { *m = PromotionTemplate{} } func (*PromotionTemplate) ProtoMessage() {} func (*PromotionTemplate) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{42} + return fileDescriptor_e26b7f7bbc391025, []int{43} } func (m *PromotionTemplate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1237,7 +1265,7 @@ var xxx_messageInfo_PromotionTemplate proto.InternalMessageInfo func (m *PromotionTemplateSpec) Reset() { *m = PromotionTemplateSpec{} } func (*PromotionTemplateSpec) ProtoMessage() {} func (*PromotionTemplateSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{43} + return fileDescriptor_e26b7f7bbc391025, []int{44} } func (m *PromotionTemplateSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1265,7 +1293,7 @@ var xxx_messageInfo_PromotionTemplateSpec proto.InternalMessageInfo func (m *PromotionVariable) Reset() { *m = PromotionVariable{} } func (*PromotionVariable) ProtoMessage() {} func (*PromotionVariable) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{44} + return fileDescriptor_e26b7f7bbc391025, []int{45} } func (m *PromotionVariable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1293,7 +1321,7 @@ var xxx_messageInfo_PromotionVariable proto.InternalMessageInfo func (m *RepoSubscription) Reset() { *m = RepoSubscription{} } func (*RepoSubscription) ProtoMessage() {} func (*RepoSubscription) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{45} + return fileDescriptor_e26b7f7bbc391025, []int{46} } func (m *RepoSubscription) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1321,7 +1349,7 @@ var xxx_messageInfo_RepoSubscription proto.InternalMessageInfo func (m *Stage) Reset() { *m = Stage{} } func (*Stage) ProtoMessage() {} func (*Stage) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{46} + return fileDescriptor_e26b7f7bbc391025, []int{47} } func (m *Stage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1349,7 +1377,7 @@ var xxx_messageInfo_Stage proto.InternalMessageInfo func (m *StageList) Reset() { *m = StageList{} } func (*StageList) ProtoMessage() {} func (*StageList) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{47} + return fileDescriptor_e26b7f7bbc391025, []int{48} } func (m *StageList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1377,7 +1405,7 @@ var xxx_messageInfo_StageList proto.InternalMessageInfo func (m *StageSpec) Reset() { *m = StageSpec{} } func (*StageSpec) ProtoMessage() {} func (*StageSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{48} + return fileDescriptor_e26b7f7bbc391025, []int{49} } func (m *StageSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1405,7 +1433,7 @@ var xxx_messageInfo_StageSpec proto.InternalMessageInfo func (m *StageStatus) Reset() { *m = StageStatus{} } func (*StageStatus) ProtoMessage() {} func (*StageStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{49} + return fileDescriptor_e26b7f7bbc391025, []int{50} } func (m *StageStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1433,7 +1461,7 @@ var xxx_messageInfo_StageStatus proto.InternalMessageInfo func (m *StepExecutionMetadata) Reset() { *m = StepExecutionMetadata{} } func (*StepExecutionMetadata) ProtoMessage() {} func (*StepExecutionMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{50} + return fileDescriptor_e26b7f7bbc391025, []int{51} } func (m *StepExecutionMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1461,7 +1489,7 @@ var xxx_messageInfo_StepExecutionMetadata proto.InternalMessageInfo func (m *Verification) Reset() { *m = Verification{} } func (*Verification) ProtoMessage() {} func (*Verification) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{51} + return fileDescriptor_e26b7f7bbc391025, []int{52} } func (m *Verification) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1489,7 +1517,7 @@ var xxx_messageInfo_Verification proto.InternalMessageInfo func (m *VerificationInfo) Reset() { *m = VerificationInfo{} } func (*VerificationInfo) ProtoMessage() {} func (*VerificationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{52} + return fileDescriptor_e26b7f7bbc391025, []int{53} } func (m *VerificationInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1517,7 +1545,7 @@ var xxx_messageInfo_VerificationInfo proto.InternalMessageInfo func (m *VerifiedStage) Reset() { *m = VerifiedStage{} } func (*VerifiedStage) ProtoMessage() {} func (*VerifiedStage) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{53} + return fileDescriptor_e26b7f7bbc391025, []int{54} } func (m *VerifiedStage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1545,7 +1573,7 @@ var xxx_messageInfo_VerifiedStage proto.InternalMessageInfo func (m *Warehouse) Reset() { *m = Warehouse{} } func (*Warehouse) ProtoMessage() {} func (*Warehouse) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{54} + return fileDescriptor_e26b7f7bbc391025, []int{55} } func (m *Warehouse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1573,7 +1601,7 @@ var xxx_messageInfo_Warehouse proto.InternalMessageInfo func (m *WarehouseList) Reset() { *m = WarehouseList{} } func (*WarehouseList) ProtoMessage() {} func (*WarehouseList) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{55} + return fileDescriptor_e26b7f7bbc391025, []int{56} } func (m *WarehouseList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1601,7 +1629,7 @@ var xxx_messageInfo_WarehouseList proto.InternalMessageInfo func (m *WarehouseSpec) Reset() { *m = WarehouseSpec{} } func (*WarehouseSpec) ProtoMessage() {} func (*WarehouseSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{56} + return fileDescriptor_e26b7f7bbc391025, []int{57} } func (m *WarehouseSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1629,7 +1657,7 @@ var xxx_messageInfo_WarehouseSpec proto.InternalMessageInfo func (m *WarehouseStatus) Reset() { *m = WarehouseStatus{} } func (*WarehouseStatus) ProtoMessage() {} func (*WarehouseStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_e26b7f7bbc391025, []int{57} + return fileDescriptor_e26b7f7bbc391025, []int{58} } func (m *WarehouseStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1668,6 +1696,7 @@ func init() { proto.RegisterType((*Chart)(nil), "github.com.akuity.kargo.api.v1alpha1.Chart") proto.RegisterType((*ChartDiscoveryResult)(nil), "github.com.akuity.kargo.api.v1alpha1.ChartDiscoveryResult") proto.RegisterType((*ChartSubscription)(nil), "github.com.akuity.kargo.api.v1alpha1.ChartSubscription") + proto.RegisterType((*CurrentStage)(nil), "github.com.akuity.kargo.api.v1alpha1.CurrentStage") proto.RegisterType((*DiscoveredArtifacts)(nil), "github.com.akuity.kargo.api.v1alpha1.DiscoveredArtifacts") proto.RegisterType((*DiscoveredCommit)(nil), "github.com.akuity.kargo.api.v1alpha1.DiscoveredCommit") proto.RegisterType((*DiscoveredImageReference)(nil), "github.com.akuity.kargo.api.v1alpha1.DiscoveredImageReference") @@ -1681,6 +1710,7 @@ func init() { proto.RegisterType((*FreightSources)(nil), "github.com.akuity.kargo.api.v1alpha1.FreightSources") proto.RegisterType((*FreightStatus)(nil), "github.com.akuity.kargo.api.v1alpha1.FreightStatus") proto.RegisterMapType((map[string]ApprovedStage)(nil), "github.com.akuity.kargo.api.v1alpha1.FreightStatus.ApprovedForEntry") + proto.RegisterMapType((map[string]CurrentStage)(nil), "github.com.akuity.kargo.api.v1alpha1.FreightStatus.CurrentlyInEntry") proto.RegisterMapType((map[string]VerifiedStage)(nil), "github.com.akuity.kargo.api.v1alpha1.FreightStatus.VerifiedInEntry") proto.RegisterType((*GitCommit)(nil), "github.com.akuity.kargo.api.v1alpha1.GitCommit") proto.RegisterType((*GitDiscoveryResult)(nil), "github.com.akuity.kargo.api.v1alpha1.GitDiscoveryResult") @@ -1725,245 +1755,253 @@ func init() { } var fileDescriptor_e26b7f7bbc391025 = []byte{ - // 3803 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5c, 0xcd, 0x6f, 0x1c, 0x47, - 0x76, 0x57, 0xcf, 0x90, 0x43, 0xce, 0x1b, 0x52, 0x24, 0x4b, 0x94, 0xcd, 0xe5, 0xc6, 0xa4, 0xd2, - 0x6b, 0x18, 0x76, 0x6c, 0x0f, 0x23, 0xd9, 0xb2, 0x64, 0x39, 0x51, 0xc0, 0x21, 0x25, 0x99, 0x0a, - 0xd7, 0x62, 0x6a, 0x64, 0x79, 0x57, 0x6b, 0xc3, 0x29, 0xce, 0x14, 0x67, 0x3a, 0x9c, 0xe9, 0x9e, - 0xad, 0xaa, 0xe1, 0x9a, 0x49, 0x90, 0x6c, 0xbe, 0x80, 0x45, 0xbe, 0xb0, 0x07, 0x03, 0xde, 0x00, - 0x09, 0x10, 0x24, 0xc7, 0x45, 0xf2, 0x0f, 0xe4, 0xe0, 0x43, 0x2e, 0x46, 0xb0, 0x08, 0x8c, 0x24, - 0x07, 0x1f, 0x16, 0x44, 0xcc, 0x05, 0x72, 0xdc, 0x5b, 0x2e, 0x02, 0x02, 0x04, 0xf5, 0xd1, 0xdd, - 0xd5, 0x3d, 0x3d, 0xe2, 0xf4, 0x88, 0x14, 0x8c, 0xbd, 0x0d, 0xeb, 0xd5, 0xfb, 0xbd, 0xfa, 0x78, - 0xef, 0xd5, 0x7b, 0xaf, 0xaa, 0x09, 0xaf, 0xb7, 0x3c, 0xd1, 0xee, 0xef, 0x56, 0x1b, 0x41, 0x77, - 0x8d, 0xec, 0xf7, 0x3d, 0x71, 0xb8, 0xb6, 0x4f, 0x58, 0x2b, 0x58, 0x23, 0x3d, 0x6f, 0xed, 0xe0, - 0x32, 0xe9, 0xf4, 0xda, 0xe4, 0xf2, 0x5a, 0x8b, 0xfa, 0x94, 0x11, 0x41, 0x9b, 0xd5, 0x1e, 0x0b, - 0x44, 0x80, 0x9e, 0x8f, 0xb9, 0xaa, 0x9a, 0xab, 0xaa, 0xb8, 0xaa, 0xa4, 0xe7, 0x55, 0x43, 0xae, - 0xe5, 0x57, 0x2d, 0xec, 0x56, 0xd0, 0x0a, 0xd6, 0x14, 0xf3, 0x6e, 0x7f, 0x4f, 0xfd, 0xa5, 0xfe, - 0x50, 0xbf, 0x34, 0xe8, 0xf2, 0xdb, 0xfb, 0xd7, 0x79, 0xd5, 0x53, 0x92, 0xe9, 0x47, 0x82, 0xfa, - 0xdc, 0x0b, 0x7c, 0xfe, 0x2a, 0xe9, 0x79, 0x9c, 0xb2, 0x03, 0xca, 0xd6, 0x7a, 0xfb, 0x2d, 0x49, - 0xe3, 0xc9, 0x0e, 0x6b, 0x07, 0x03, 0xc3, 0x5b, 0x7e, 0x3d, 0x46, 0xea, 0x92, 0x46, 0xdb, 0xf3, - 0x29, 0x3b, 0x8c, 0xd9, 0xbb, 0x54, 0x90, 0x2c, 0xae, 0xb5, 0x61, 0x5c, 0xac, 0xef, 0x0b, 0xaf, - 0x4b, 0x07, 0x18, 0xde, 0x38, 0x89, 0x81, 0x37, 0xda, 0xb4, 0x4b, 0xd2, 0x7c, 0xee, 0xfb, 0x70, - 0x61, 0xdd, 0x27, 0x9d, 0x43, 0xee, 0x71, 0xdc, 0xf7, 0xd7, 0x59, 0xab, 0xdf, 0xa5, 0xbe, 0x40, - 0x97, 0x60, 0xc2, 0x27, 0x5d, 0xba, 0xe4, 0x5c, 0x72, 0x5e, 0x2c, 0xd7, 0x66, 0x3e, 0x3b, 0x5a, - 0x3d, 0x77, 0x7c, 0xb4, 0x3a, 0xf1, 0x0e, 0xe9, 0x52, 0xac, 0x28, 0xe8, 0x1b, 0x30, 0x79, 0x40, - 0x3a, 0x7d, 0xba, 0x54, 0x50, 0x5d, 0x66, 0x4d, 0x97, 0xc9, 0x07, 0xb2, 0x11, 0x6b, 0x9a, 0xfb, - 0x27, 0xc5, 0x04, 0xfc, 0x37, 0xa9, 0x20, 0x4d, 0x22, 0x08, 0xea, 0x42, 0xa9, 0x43, 0x76, 0x69, - 0x87, 0x2f, 0x39, 0x97, 0x8a, 0x2f, 0x56, 0xae, 0xdc, 0xaa, 0x8e, 0xb2, 0x89, 0xd5, 0x0c, 0xa8, - 0xea, 0xb6, 0xc2, 0xb9, 0xe5, 0x0b, 0x76, 0x58, 0x3b, 0x6f, 0x06, 0x51, 0xd2, 0x8d, 0xd8, 0x08, - 0x41, 0x7f, 0xe4, 0x40, 0x85, 0xf8, 0x7e, 0x20, 0x88, 0x90, 0xdb, 0xb4, 0x54, 0x50, 0x42, 0xef, - 0x8e, 0x2f, 0x74, 0x3d, 0x06, 0xd3, 0x92, 0x2f, 0x18, 0xc9, 0x15, 0x8b, 0x82, 0x6d, 0x99, 0xcb, - 0x6f, 0x42, 0xc5, 0x1a, 0x2a, 0x9a, 0x87, 0xe2, 0x3e, 0x3d, 0xd4, 0xeb, 0x8b, 0xe5, 0x4f, 0xb4, - 0x98, 0x58, 0x50, 0xb3, 0x82, 0x37, 0x0a, 0xd7, 0x9d, 0xe5, 0x9b, 0x30, 0x9f, 0x16, 0x98, 0x87, - 0xdf, 0xfd, 0x6b, 0x07, 0x16, 0xad, 0x59, 0x60, 0xba, 0x47, 0x19, 0xf5, 0x1b, 0x14, 0xad, 0x41, - 0x59, 0xee, 0x25, 0xef, 0x91, 0x46, 0xb8, 0xd5, 0x0b, 0x66, 0x22, 0xe5, 0x77, 0x42, 0x02, 0x8e, - 0xfb, 0x44, 0x6a, 0x51, 0x78, 0x9c, 0x5a, 0xf4, 0xda, 0x84, 0xd3, 0xa5, 0x62, 0x52, 0x2d, 0x76, - 0x64, 0x23, 0xd6, 0x34, 0xf7, 0xd7, 0xe1, 0x6b, 0xe1, 0x78, 0xee, 0xd3, 0x6e, 0xaf, 0x43, 0x04, - 0x8d, 0x07, 0x75, 0xa2, 0xea, 0xb9, 0xfb, 0x30, 0xbb, 0xde, 0xeb, 0xb1, 0xe0, 0x80, 0x36, 0xeb, - 0x82, 0xb4, 0x28, 0x7a, 0x08, 0x40, 0x4c, 0xc3, 0xba, 0x50, 0x8c, 0x95, 0x2b, 0xbf, 0x52, 0xd5, - 0x16, 0x51, 0xb5, 0x2d, 0xa2, 0xda, 0xdb, 0x6f, 0xc9, 0x06, 0x5e, 0x95, 0x86, 0x57, 0x3d, 0xb8, - 0x5c, 0xbd, 0xef, 0x75, 0x69, 0xed, 0xfc, 0xf1, 0xd1, 0x2a, 0xac, 0x47, 0x08, 0xd8, 0x42, 0x73, - 0xff, 0xd8, 0x81, 0x8b, 0xeb, 0xac, 0x15, 0x6c, 0x6c, 0xae, 0xf7, 0x7a, 0x6f, 0x53, 0xd2, 0x11, - 0xed, 0xba, 0x20, 0xa2, 0xcf, 0xd1, 0x4d, 0x28, 0x71, 0xf5, 0xcb, 0x0c, 0xf5, 0x85, 0x50, 0xfb, - 0x34, 0xfd, 0xd1, 0xd1, 0xea, 0x62, 0x06, 0x23, 0xc5, 0x86, 0x0b, 0xbd, 0x04, 0x53, 0x5d, 0xca, - 0x39, 0x69, 0x85, 0xeb, 0x39, 0x67, 0x00, 0xa6, 0xbe, 0xa9, 0x9b, 0x71, 0x48, 0x77, 0xff, 0xad, - 0x00, 0x73, 0x11, 0x96, 0x11, 0x7f, 0x06, 0x9b, 0xd7, 0x87, 0x99, 0xb6, 0x35, 0x43, 0xb5, 0x87, - 0x95, 0x2b, 0x6f, 0x8d, 0x68, 0x27, 0x59, 0x8b, 0x54, 0x5b, 0x34, 0x62, 0x66, 0xec, 0x56, 0x9c, - 0x10, 0x83, 0xba, 0x00, 0xfc, 0xd0, 0x6f, 0x18, 0xa1, 0x13, 0x4a, 0xe8, 0x9b, 0x39, 0x85, 0xd6, - 0x23, 0x80, 0x1a, 0x32, 0x22, 0x21, 0x6e, 0xc3, 0x96, 0x00, 0xf7, 0x9f, 0x1d, 0xb8, 0x90, 0xc1, - 0x87, 0x7e, 0x2d, 0xb5, 0x9f, 0xcf, 0x0f, 0xec, 0x27, 0x1a, 0x60, 0x8b, 0x77, 0xf3, 0x15, 0x98, - 0x66, 0xf4, 0xc0, 0x93, 0xe7, 0x80, 0x59, 0xe1, 0x79, 0xc3, 0x3f, 0x8d, 0x4d, 0x3b, 0x8e, 0x7a, - 0xa0, 0x97, 0xa1, 0x1c, 0xfe, 0x96, 0xcb, 0x5c, 0x94, 0xa6, 0x22, 0x37, 0x2e, 0xec, 0xca, 0x71, - 0x4c, 0x77, 0xff, 0x10, 0x26, 0x37, 0xda, 0x84, 0x09, 0xa9, 0x31, 0x8c, 0xf6, 0x82, 0x77, 0xf1, - 0xb6, 0x19, 0x62, 0xa4, 0x31, 0x58, 0x37, 0xe3, 0x90, 0x3e, 0xc2, 0x66, 0xbf, 0x04, 0x53, 0x07, - 0x94, 0xa9, 0xf1, 0x16, 0x93, 0x60, 0x0f, 0x74, 0x33, 0x0e, 0xe9, 0xee, 0x7f, 0x3a, 0xb0, 0xa8, - 0x46, 0xb0, 0xe9, 0xf1, 0x46, 0x70, 0x40, 0xd9, 0x21, 0xa6, 0xbc, 0xdf, 0x39, 0xe5, 0x01, 0x6d, - 0xc2, 0x3c, 0xa7, 0xdd, 0x03, 0xca, 0x36, 0x02, 0x9f, 0x0b, 0x46, 0x3c, 0x5f, 0x98, 0x91, 0x2d, - 0x99, 0xde, 0xf3, 0xf5, 0x14, 0x1d, 0x0f, 0x70, 0xa0, 0x17, 0x61, 0xda, 0x0c, 0x5b, 0xaa, 0x92, - 0x5c, 0xd8, 0x19, 0xb9, 0x07, 0x66, 0x4e, 0x1c, 0x47, 0x54, 0xf7, 0x7f, 0x1c, 0x58, 0x50, 0xb3, - 0xaa, 0xf7, 0x77, 0x79, 0x83, 0x79, 0x3d, 0xe9, 0x5e, 0xbf, 0x8a, 0x53, 0xba, 0x09, 0xe7, 0x9b, - 0xe1, 0xc2, 0x6f, 0x7b, 0x5d, 0x4f, 0x28, 0x1b, 0x99, 0xac, 0x3d, 0x63, 0x30, 0xce, 0x6f, 0x26, - 0xa8, 0x38, 0xd5, 0xdb, 0xfd, 0xdb, 0x22, 0x5c, 0x08, 0xbb, 0xd0, 0xe6, 0x3a, 0x13, 0xde, 0x1e, - 0x69, 0x08, 0x8e, 0x9a, 0x30, 0xd3, 0x8c, 0x9b, 0x85, 0xb1, 0xbc, 0x3c, 0x8e, 0x33, 0xb2, 0x6e, - 0x0b, 0x5e, 0xe0, 0x04, 0x2a, 0x7a, 0x0f, 0x8a, 0x2d, 0x4f, 0x98, 0x83, 0xfe, 0xfa, 0x68, 0x66, - 0x7d, 0xc7, 0x4b, 0xab, 0x5a, 0xad, 0x62, 0x44, 0x15, 0xef, 0x78, 0x02, 0x4b, 0x44, 0xb4, 0x0b, - 0x25, 0xaf, 0x4b, 0x5a, 0x34, 0x3c, 0xcf, 0x6f, 0x8c, 0x86, 0xbd, 0x25, 0x79, 0xd2, 0xe8, 0x51, - 0xe4, 0xa0, 0xa8, 0x1c, 0x1b, 0x64, 0x29, 0xa3, 0x21, 0x55, 0x44, 0x1b, 0xe9, 0xc8, 0x32, 0xb2, - 0x8c, 0x25, 0x96, 0xa1, 0xa8, 0x1c, 0x1b, 0x64, 0xf7, 0x8b, 0x02, 0xcc, 0xc7, 0xeb, 0xb7, 0x11, - 0x74, 0xbb, 0x9e, 0x40, 0xcb, 0x50, 0xf0, 0x9a, 0x46, 0x03, 0xc1, 0x30, 0x16, 0xb6, 0x36, 0x71, - 0xc1, 0x6b, 0xa2, 0x17, 0xa0, 0xb4, 0xcb, 0x88, 0xdf, 0x68, 0x1b, 0xcd, 0x8b, 0x80, 0x6b, 0xaa, - 0x15, 0x1b, 0x2a, 0x7a, 0x0e, 0x8a, 0x82, 0xb4, 0x8c, 0xc2, 0x45, 0xeb, 0x77, 0x9f, 0xb4, 0xb0, - 0x6c, 0x97, 0x9a, 0xce, 0xfb, 0xbb, 0xbf, 0x43, 0x1b, 0x7a, 0xe7, 0x2d, 0x4d, 0xaf, 0xeb, 0x66, - 0x1c, 0xd2, 0xa5, 0x44, 0xd2, 0x17, 0xed, 0x80, 0x2d, 0x4d, 0x26, 0x25, 0xae, 0xab, 0x56, 0x6c, - 0xa8, 0xf2, 0x4c, 0x6a, 0xa8, 0xf1, 0x0b, 0xca, 0x96, 0x4a, 0xc9, 0x33, 0x69, 0x23, 0x24, 0xe0, - 0xb8, 0x0f, 0xfa, 0x00, 0x2a, 0x0d, 0x46, 0x89, 0x08, 0xd8, 0x26, 0x11, 0x74, 0x69, 0x2a, 0xb7, - 0x06, 0xce, 0xc9, 0xa0, 0x6b, 0x23, 0x86, 0xc0, 0x36, 0x9e, 0xfb, 0x73, 0x07, 0x96, 0xe2, 0xa5, - 0x55, 0x7b, 0x1b, 0x07, 0x1a, 0x66, 0x79, 0x9c, 0x21, 0xcb, 0xf3, 0x02, 0x94, 0x9a, 0x5e, 0x8b, - 0x72, 0x91, 0x5e, 0xe5, 0x4d, 0xd5, 0x8a, 0x0d, 0x15, 0x5d, 0x01, 0x68, 0x79, 0xc2, 0x38, 0x07, - 0xb3, 0xd8, 0xd1, 0x11, 0x74, 0x27, 0xa2, 0x60, 0xab, 0x17, 0x7a, 0x0f, 0xca, 0x6a, 0x98, 0x63, - 0x9a, 0x9d, 0x3a, 0x2a, 0x36, 0x42, 0x00, 0x1c, 0x63, 0xb9, 0x9f, 0x4f, 0xc0, 0xd4, 0x6d, 0x46, - 0xbd, 0x56, 0x5b, 0xa0, 0xdf, 0x86, 0xe9, 0xae, 0x09, 0x58, 0x4d, 0x4c, 0xf4, 0xab, 0xa3, 0xc9, - 0xb8, 0xa7, 0x36, 0x5d, 0x06, 0xbb, 0xf1, 0x44, 0xe2, 0x36, 0x1c, 0xa1, 0xca, 0x60, 0x8f, 0x74, - 0x3c, 0xc2, 0xd5, 0xbe, 0x59, 0xc1, 0xde, 0xba, 0x6c, 0xc4, 0x9a, 0x86, 0xbe, 0x03, 0xa5, 0x80, - 0x79, 0x2d, 0xcf, 0x5f, 0x2a, 0xab, 0x41, 0xbc, 0x36, 0x9a, 0x09, 0x99, 0x59, 0xdc, 0x53, 0xac, - 0xf1, 0xe2, 0xeb, 0xbf, 0xb1, 0x81, 0x44, 0x0f, 0x61, 0x4a, 0x2b, 0x53, 0x68, 0xa0, 0x6b, 0x23, - 0x3b, 0x18, 0xad, 0x8f, 0xb1, 0xd2, 0xeb, 0xbf, 0x39, 0x0e, 0x01, 0x51, 0x3d, 0xf2, 0x2f, 0x13, - 0x0a, 0xfa, 0xe5, 0x1c, 0xfe, 0x65, 0xa8, 0x43, 0xa9, 0x47, 0x0e, 0x65, 0x32, 0x0f, 0xa8, 0x72, - 0x19, 0xc3, 0x3c, 0x88, 0x5c, 0x62, 0x13, 0xb9, 0x94, 0xc6, 0x58, 0x62, 0x13, 0x36, 0x9d, 0x4f, - 0x86, 0x3b, 0x61, 0x60, 0xe3, 0x7e, 0x5c, 0x84, 0x05, 0xd3, 0x73, 0x23, 0xe8, 0x74, 0x68, 0x43, - 0x1d, 0x93, 0xda, 0x3f, 0x15, 0x33, 0xfd, 0x93, 0x07, 0x93, 0x9e, 0xa0, 0xdd, 0x30, 0xb9, 0xab, - 0xe5, 0x1a, 0x4d, 0x2c, 0xa3, 0xba, 0x25, 0x41, 0x74, 0x7e, 0x15, 0xed, 0x92, 0xe9, 0x85, 0xb5, - 0x04, 0xf4, 0x67, 0x0e, 0x5c, 0x38, 0xa0, 0xcc, 0xdb, 0xf3, 0x1a, 0x2a, 0x3b, 0x7a, 0xdb, 0xe3, - 0x22, 0x60, 0x87, 0xe6, 0x44, 0x78, 0x63, 0x34, 0xc9, 0x0f, 0x2c, 0x80, 0x2d, 0x7f, 0x2f, 0xa8, - 0x7d, 0xdd, 0x48, 0xbb, 0xf0, 0x60, 0x10, 0x1a, 0x67, 0xc9, 0x5b, 0xee, 0x01, 0xc4, 0xa3, 0xcd, - 0x48, 0xce, 0xb6, 0xed, 0xe4, 0x6c, 0xe4, 0x81, 0x85, 0x93, 0x0d, 0x5d, 0x96, 0x9d, 0xd4, 0x7d, - 0xea, 0x40, 0xc5, 0xd0, 0xb7, 0x3d, 0x2e, 0xd0, 0xfb, 0x03, 0xd6, 0x5e, 0x1d, 0xcd, 0xda, 0x25, - 0xb7, 0xb2, 0xf5, 0x28, 0x5e, 0x0d, 0x5b, 0x2c, 0x4b, 0xc7, 0xe1, 0x96, 0xea, 0x85, 0x7d, 0x35, - 0xd7, 0xf8, 0x63, 0xc7, 0xa0, 0xd6, 0xc8, 0xec, 0x9d, 0xcb, 0x60, 0x36, 0x61, 0xe4, 0xe8, 0x2a, - 0x4c, 0xec, 0x7b, 0x7e, 0x78, 0xea, 0xfd, 0x72, 0x18, 0x4f, 0xfd, 0xa6, 0xe7, 0x37, 0x1f, 0x1d, - 0xad, 0x2e, 0x24, 0x3a, 0xcb, 0x46, 0xac, 0xba, 0x9f, 0x1c, 0x86, 0xdd, 0x98, 0xfe, 0xd1, 0xdf, - 0xaf, 0x9e, 0xfb, 0xfe, 0x4f, 0x2f, 0x9d, 0x73, 0x3f, 0x29, 0xc2, 0x7c, 0x7a, 0x55, 0x47, 0x28, - 0x76, 0xc4, 0x3e, 0x6c, 0xfa, 0x4c, 0x7d, 0x58, 0xe1, 0xec, 0x7c, 0x58, 0xf1, 0x2c, 0x7c, 0xd8, - 0xc4, 0xa9, 0xf9, 0x30, 0xf7, 0xdf, 0x1d, 0x38, 0x1f, 0xed, 0xcc, 0x77, 0xfb, 0xf2, 0x64, 0x8d, - 0x57, 0xdd, 0x39, 0xfd, 0x55, 0xff, 0x10, 0xa6, 0x78, 0xd0, 0x67, 0x0d, 0x15, 0x3e, 0x4a, 0xf4, - 0xd7, 0xf3, 0x39, 0x4d, 0xcd, 0x6b, 0xc5, 0x4c, 0xba, 0x01, 0x87, 0xa8, 0xee, 0xfb, 0xd1, 0x7c, - 0x0c, 0x49, 0x47, 0x14, 0x4c, 0xc6, 0x5b, 0x72, 0x3e, 0xd3, 0x76, 0x44, 0x21, 0x5b, 0xb1, 0xa1, - 0x22, 0x57, 0xb9, 0xf3, 0x30, 0xb0, 0x2d, 0xd7, 0xc0, 0x78, 0x65, 0xb5, 0x07, 0x9a, 0xe2, 0xfe, - 0xbc, 0x18, 0x59, 0x8f, 0x49, 0x5f, 0xbf, 0x07, 0xa0, 0x3d, 0x13, 0x6d, 0x6e, 0xf9, 0xc6, 0xf5, - 0x6e, 0x8c, 0x71, 0x10, 0x18, 0x77, 0x28, 0x51, 0xb4, 0xef, 0x8d, 0x62, 0x80, 0x98, 0x80, 0x2d, - 0x51, 0xe8, 0xf7, 0xa0, 0x12, 0xd6, 0x4b, 0x6e, 0x07, 0xcc, 0xe8, 0xf0, 0xe6, 0x38, 0x92, 0xd7, - 0x63, 0x98, 0x74, 0x59, 0x2d, 0xa6, 0x60, 0x5b, 0xda, 0x32, 0x83, 0xb9, 0xd4, 0x78, 0x33, 0xbc, - 0xef, 0x56, 0xd2, 0xfb, 0xbe, 0x96, 0xe7, 0x58, 0x30, 0x35, 0x26, 0xbb, 0x1e, 0xc7, 0x61, 0x3e, - 0x3d, 0xd2, 0x53, 0x13, 0x9a, 0x28, 0x6c, 0xd9, 0xfe, 0xfe, 0xef, 0x0a, 0x50, 0x8e, 0x2c, 0x3e, - 0x4f, 0x96, 0xaa, 0x4f, 0xea, 0xc2, 0x09, 0x99, 0x44, 0x71, 0x94, 0x4c, 0x62, 0x62, 0x78, 0x26, - 0x11, 0x56, 0xb2, 0x4a, 0x8f, 0xaf, 0x64, 0x59, 0x99, 0xc4, 0xd4, 0xe8, 0x99, 0xc4, 0xf4, 0xc9, - 0x99, 0x84, 0xfb, 0x0f, 0x0e, 0xa0, 0xc1, 0xb4, 0x31, 0xcf, 0x42, 0x91, 0xb4, 0x1f, 0x1e, 0xf1, - 0x94, 0x4e, 0xe7, 0x6e, 0xc3, 0xdd, 0xb1, 0xfb, 0xe9, 0x24, 0xcc, 0xdd, 0xf1, 0xc6, 0x2e, 0x38, - 0x08, 0x78, 0x56, 0x23, 0xd5, 0xa9, 0x89, 0x91, 0xea, 0x82, 0x11, 0x41, 0x5b, 0x87, 0x66, 0x7f, - 0x6f, 0x18, 0xd6, 0x67, 0x37, 0xb2, 0xbb, 0x3d, 0x1a, 0x4e, 0xc2, 0xc3, 0xa0, 0x47, 0x56, 0x92, - 0xb7, 0x60, 0x96, 0x0b, 0xe6, 0x35, 0x84, 0x2e, 0x69, 0xf0, 0xa5, 0x8a, 0xf2, 0x72, 0x17, 0x4d, - 0xf7, 0xd9, 0xba, 0x4d, 0xc4, 0xc9, 0xbe, 0x99, 0x95, 0x92, 0x89, 0xdc, 0x95, 0x92, 0x35, 0x28, - 0x93, 0x4e, 0x27, 0xf8, 0xde, 0x7d, 0xd2, 0xe2, 0x26, 0x55, 0x8d, 0xb4, 0x66, 0x3d, 0x24, 0xe0, - 0xb8, 0x0f, 0xaa, 0x02, 0x78, 0x2d, 0x3f, 0x60, 0x54, 0x71, 0x94, 0x94, 0xbb, 0x55, 0xd5, 0xe0, - 0xad, 0xa8, 0x15, 0x5b, 0x3d, 0x50, 0x1d, 0x2e, 0x7a, 0x3e, 0xa7, 0x8d, 0x3e, 0xa3, 0xf5, 0x7d, - 0xaf, 0x77, 0x7f, 0xbb, 0xae, 0xbc, 0xc4, 0xa1, 0xd2, 0xe6, 0xe9, 0xda, 0x73, 0x46, 0xd8, 0xc5, - 0xad, 0xac, 0x4e, 0x38, 0x9b, 0x17, 0xbd, 0x0e, 0x33, 0x9e, 0xdf, 0xe8, 0xf4, 0x9b, 0x74, 0x87, - 0x88, 0x36, 0x5f, 0x9a, 0x56, 0xc3, 0x98, 0x3f, 0x3e, 0x5a, 0x9d, 0xd9, 0xb2, 0xda, 0x71, 0xa2, - 0x97, 0xe4, 0xa2, 0x1f, 0x59, 0x5c, 0xe5, 0x98, 0xeb, 0xd6, 0x47, 0x36, 0x97, 0xdd, 0x2b, 0xa3, - 0x96, 0x04, 0xb9, 0x6a, 0x49, 0x3f, 0x2e, 0x40, 0x49, 0x97, 0x72, 0xd1, 0xd5, 0x54, 0xbd, 0xf4, - 0xb9, 0x81, 0x7a, 0x69, 0x25, 0xab, 0xec, 0xed, 0x42, 0xc9, 0xe3, 0xbc, 0x9f, 0x3c, 0xdd, 0xb6, - 0x54, 0x0b, 0x36, 0x14, 0x55, 0x76, 0x09, 0xfc, 0x3d, 0xaf, 0x65, 0x92, 0xe3, 0x9b, 0x56, 0x28, - 0x1b, 0x5f, 0xb7, 0x7d, 0x18, 0xdd, 0xc7, 0xc5, 0x51, 0x6d, 0xa2, 0x83, 0x0c, 0x6f, 0xef, 0xd6, - 0xef, 0xbd, 0xa3, 0x65, 0x6c, 0x28, 0x44, 0x6c, 0x90, 0xa5, 0x8c, 0xa0, 0x2f, 0x7a, 0x7d, 0xa1, - 0x14, 0xe5, 0x94, 0x64, 0xdc, 0x53, 0x88, 0xd8, 0x20, 0xbb, 0x9f, 0x38, 0x30, 0xa7, 0xd7, 0x60, - 0xa3, 0x4d, 0x1b, 0xfb, 0x75, 0x41, 0x7b, 0x32, 0xda, 0xec, 0x73, 0xca, 0xd3, 0xd1, 0xe6, 0xbb, - 0x9c, 0x72, 0xac, 0x28, 0xd6, 0xec, 0x0b, 0x67, 0x35, 0x7b, 0xf7, 0x9f, 0x1c, 0x98, 0x54, 0x61, - 0x5d, 0x1e, 0xff, 0x93, 0x2c, 0x75, 0x14, 0x46, 0x2a, 0x75, 0x9c, 0x50, 0x84, 0x8a, 0xab, 0x2c, - 0x13, 0x8f, 0xab, 0xb2, 0xb8, 0x3f, 0x73, 0x60, 0x31, 0xab, 0x72, 0x97, 0x67, 0xf8, 0xaf, 0xc0, - 0x74, 0xaf, 0x43, 0xc4, 0x5e, 0xc0, 0xba, 0xe9, 0x12, 0xfd, 0x8e, 0x69, 0xc7, 0x51, 0x0f, 0xc4, - 0x00, 0x58, 0x98, 0x22, 0x84, 0xe1, 0xf3, 0xcd, 0xbc, 0x27, 0x42, 0xb2, 0xe4, 0x14, 0x2f, 0x56, - 0xd4, 0xc4, 0xb1, 0x25, 0xc5, 0xfd, 0x8b, 0x49, 0x58, 0x50, 0x2c, 0xe3, 0x9e, 0x10, 0xe3, 0xec, - 0x50, 0x0f, 0x9e, 0x51, 0x81, 0xfd, 0xe0, 0xa1, 0xa2, 0x37, 0xed, 0xba, 0xe1, 0x7f, 0x66, 0x2b, - 0xb3, 0xd7, 0xa3, 0xa1, 0x14, 0x3c, 0x04, 0x77, 0xf0, 0xa4, 0x80, 0x5f, 0xbc, 0x93, 0xc2, 0x56, - 0xb6, 0xa9, 0x13, 0x95, 0x6d, 0xe8, 0xb9, 0x32, 0xfd, 0x04, 0xe7, 0xca, 0xa0, 0xaf, 0x2f, 0xe7, - 0xf2, 0xf5, 0x7f, 0x53, 0x80, 0xa9, 0x1d, 0x16, 0xa8, 0x0a, 0xf0, 0xd9, 0x17, 0x13, 0xef, 0xc1, - 0x04, 0xef, 0xd1, 0x86, 0xf1, 0x79, 0x97, 0x47, 0xb3, 0x34, 0x33, 0xbc, 0x7a, 0x8f, 0x36, 0x6a, - 0xd3, 0xd2, 0x8d, 0xca, 0x5f, 0x58, 0x01, 0x59, 0x55, 0xb1, 0x62, 0x9e, 0x08, 0x3c, 0x84, 0x7c, - 0x7c, 0x55, 0xec, 0x53, 0x07, 0x2a, 0xa6, 0xe7, 0x57, 0xb6, 0xfc, 0x62, 0xc6, 0x37, 0xa4, 0xfc, - 0xf2, 0x57, 0xf1, 0x0c, 0xe4, 0xa2, 0xa1, 0x3f, 0x80, 0x85, 0x1e, 0x0b, 0xba, 0x81, 0xb4, 0xd4, - 0x9d, 0xa0, 0xe3, 0x35, 0x3c, 0x1a, 0x56, 0xf0, 0xae, 0x8e, 0x2c, 0xcf, 0x62, 0x3f, 0xac, 0x7d, - 0xcd, 0xc8, 0x5d, 0xd8, 0x49, 0xe3, 0xe2, 0x41, 0x51, 0xee, 0x7f, 0x39, 0x30, 0x9b, 0x58, 0x7b, - 0xd4, 0x00, 0x68, 0x04, 0x7e, 0xd3, 0x13, 0xd1, 0x2d, 0x69, 0xe5, 0xca, 0xda, 0x68, 0xab, 0xba, - 0x11, 0xf2, 0xc5, 0x4a, 0x17, 0x35, 0x71, 0x6c, 0xc1, 0xa2, 0xd7, 0xc2, 0x07, 0x0b, 0xc9, 0x20, - 0x46, 0x3f, 0x58, 0x78, 0x74, 0xb4, 0x3a, 0x63, 0xc6, 0x64, 0x3f, 0x60, 0xc8, 0x73, 0x75, 0xff, - 0x8f, 0x05, 0x28, 0x47, 0xf3, 0x7f, 0x0a, 0x66, 0xf4, 0x6e, 0xc2, 0x8c, 0x5e, 0xcb, 0xb9, 0x73, - 0xca, 0x90, 0xa2, 0x98, 0xc4, 0x32, 0xa6, 0x0f, 0x52, 0xc6, 0x94, 0x57, 0x25, 0x4e, 0x30, 0xa7, - 0x7f, 0xd5, 0x9b, 0xaf, 0xfb, 0x3e, 0x05, 0x83, 0xba, 0x9f, 0x34, 0xa8, 0xb5, 0x9c, 0xb3, 0x19, - 0x62, 0x52, 0x3f, 0x70, 0x60, 0x2e, 0x65, 0x04, 0xe8, 0x1b, 0x30, 0xa9, 0x4a, 0x36, 0x46, 0xbf, - 0x22, 0x46, 0x93, 0xe0, 0x2b, 0x1a, 0xda, 0x81, 0x45, 0xd2, 0x17, 0x41, 0xc4, 0x7b, 0xcb, 0x27, - 0xbb, 0x1d, 0xaa, 0xb3, 0xf6, 0xe9, 0xda, 0x2f, 0x19, 0x9e, 0xc5, 0xf5, 0x8c, 0x3e, 0x38, 0x93, - 0xd3, 0xfd, 0x49, 0x01, 0x50, 0xd4, 0x98, 0xa7, 0xd4, 0xf9, 0x01, 0x4c, 0xed, 0xe9, 0xa2, 0xcc, - 0x93, 0xd5, 0xaa, 0x6b, 0x15, 0xbb, 0x5c, 0x1f, 0x62, 0xa2, 0x6f, 0x9f, 0x8e, 0x1e, 0xc1, 0xa0, - 0x0e, 0xa1, 0x87, 0x00, 0x7b, 0x9e, 0xef, 0xf1, 0xf6, 0x98, 0xb7, 0x6a, 0xea, 0x34, 0xbf, 0x1d, - 0x21, 0x60, 0x0b, 0xcd, 0xfd, 0xb8, 0x60, 0xe9, 0xa7, 0x72, 0x97, 0x23, 0xed, 0xeb, 0x4b, 0xc9, - 0xc5, 0x2c, 0x0f, 0xde, 0x63, 0x58, 0x0b, 0x33, 0x71, 0x40, 0x58, 0x58, 0x52, 0xbd, 0x96, 0x73, - 0x59, 0x1e, 0x10, 0xe6, 0xc9, 0x8d, 0x8f, 0xb7, 0xf4, 0x01, 0x61, 0x1c, 0x2b, 0x48, 0xf4, 0x2d, - 0x39, 0x54, 0xda, 0x0b, 0x5d, 0x68, 0x6e, 0x9f, 0x20, 0x68, 0xcf, 0x9e, 0x1f, 0xed, 0x71, 0xac, - 0x01, 0xdd, 0x8f, 0xa7, 0x2c, 0x85, 0x37, 0x5e, 0xfb, 0x2e, 0xa0, 0x0e, 0xe1, 0xe2, 0x6d, 0xe2, - 0x37, 0xa5, 0x7a, 0xd2, 0x3d, 0x46, 0x79, 0xdb, 0x44, 0x68, 0xcb, 0x06, 0x05, 0x6d, 0x0f, 0xf4, - 0xc0, 0x19, 0x5c, 0xe8, 0x6a, 0xd2, 0x39, 0xaf, 0xa6, 0x9d, 0xf3, 0xf9, 0xd8, 0xda, 0xc6, 0x73, - 0xcf, 0xb6, 0xba, 0x4f, 0x9e, 0x81, 0xba, 0xff, 0x3e, 0x2c, 0xec, 0xa5, 0xef, 0xb5, 0xcc, 0x2d, - 0xf7, 0xb5, 0x31, 0xaf, 0xc5, 0x6a, 0x17, 0x8f, 0xe3, 0xcb, 0x90, 0xb8, 0x19, 0x0f, 0x0a, 0x42, - 0x41, 0xf8, 0x9e, 0x4b, 0x65, 0x9f, 0xba, 0xb0, 0x30, 0xb2, 0xc9, 0xa5, 0xf2, 0xd6, 0xf4, 0x4b, - 0x2e, 0x0d, 0x89, 0x13, 0x02, 0x52, 0x26, 0x58, 0x3a, 0x4d, 0x13, 0x44, 0x57, 0xa1, 0xd2, 0xe8, - 0x33, 0x46, 0x7d, 0x21, 0x87, 0xa3, 0x42, 0xd9, 0x62, 0x5c, 0x20, 0xde, 0x88, 0x49, 0xd8, 0xee, - 0x87, 0x7e, 0xe8, 0xc0, 0x45, 0xa9, 0xac, 0xb7, 0x3e, 0xa2, 0x8d, 0xbe, 0x5c, 0x95, 0xf0, 0x11, - 0xe7, 0x52, 0x45, 0xad, 0xc6, 0x88, 0xaf, 0xdb, 0xea, 0x59, 0x10, 0x71, 0x5c, 0x9e, 0x49, 0xc6, - 0xd9, 0x82, 0xd1, 0x87, 0xca, 0x75, 0x08, 0xaa, 0xd2, 0x9e, 0x27, 0x4f, 0xef, 0xcb, 0xc6, 0xed, - 0x08, 0xed, 0x76, 0x04, 0x75, 0xff, 0x32, 0xe1, 0xad, 0x46, 0x2b, 0x3a, 0x2c, 0x43, 0x81, 0xf0, - 0x74, 0x99, 0x78, 0x9d, 0xe3, 0x02, 0xe1, 0xe8, 0xdb, 0x30, 0xc9, 0xa8, 0x60, 0x87, 0xc6, 0xa9, - 0x5e, 0x1f, 0xc3, 0x81, 0x60, 0xc9, 0xaf, 0x87, 0xaa, 0x7e, 0x62, 0x8d, 0x68, 0xd5, 0x3a, 0x8a, - 0x67, 0x56, 0xeb, 0xf8, 0xb1, 0x63, 0x9d, 0x85, 0xd1, 0x60, 0xd0, 0xbb, 0x30, 0x25, 0xbc, 0x2e, - 0x0d, 0xfa, 0x22, 0x5f, 0x80, 0xb1, 0xd9, 0x67, 0xea, 0xee, 0x57, 0x9b, 0xfc, 0x7d, 0x0d, 0x81, - 0x43, 0x2c, 0x99, 0x75, 0x51, 0xc6, 0x02, 0x76, 0xbf, 0x2d, 0x5d, 0x58, 0xd0, 0xd1, 0xa7, 0xf8, - 0x6c, 0x9c, 0x75, 0xdd, 0x4a, 0x50, 0x71, 0xaa, 0xb7, 0xcb, 0x20, 0x8e, 0x97, 0xc3, 0xd7, 0xb1, - 0xe8, 0x03, 0x13, 0xd5, 0x39, 0x79, 0x5e, 0x64, 0x0e, 0xc0, 0x0c, 0x8b, 0xee, 0xdc, 0x9f, 0x38, - 0x70, 0x31, 0xb3, 0x77, 0x74, 0x2c, 0x15, 0xce, 0xf0, 0x58, 0x72, 0x4e, 0xfb, 0x58, 0x7a, 0x68, - 0x2d, 0x61, 0x38, 0x84, 0xd3, 0x7a, 0xd2, 0xfe, 0xa3, 0x02, 0xcc, 0x63, 0xda, 0x0b, 0x12, 0x15, - 0x9a, 0x9d, 0xf0, 0x8d, 0x5b, 0x8e, 0x90, 0x26, 0x75, 0x0f, 0x50, 0x9b, 0x4a, 0x3c, 0x6e, 0xfb, - 0x16, 0x4c, 0xaa, 0xe2, 0x89, 0x09, 0xc2, 0xae, 0xe5, 0xb8, 0xb7, 0x4d, 0xa0, 0x2a, 0x8b, 0xd3, - 0x55, 0x28, 0x0d, 0x28, 0x91, 0xd5, 0x95, 0xab, 0x31, 0xb8, 0x6b, 0x39, 0x2e, 0x6f, 0x07, 0x91, - 0x55, 0x33, 0xd6, 0x80, 0xee, 0x27, 0x05, 0xd0, 0xe1, 0xcf, 0x53, 0x48, 0x73, 0x7e, 0x2b, 0x91, - 0xe6, 0xac, 0x8d, 0xea, 0xc4, 0xe5, 0xf2, 0x0c, 0x4b, 0x71, 0xd2, 0xa1, 0xe9, 0xe5, 0x3c, 0xa0, - 0x8f, 0x4f, 0x6f, 0xfe, 0xc5, 0x81, 0xb2, 0xea, 0xf7, 0x14, 0x52, 0x9b, 0x9d, 0x64, 0x6a, 0xf3, - 0x72, 0x8e, 0x59, 0x0c, 0x49, 0x6b, 0x3e, 0x2e, 0x9a, 0xd1, 0x47, 0x81, 0x6f, 0x9b, 0xb0, 0xa6, - 0x09, 0xe9, 0x62, 0x0b, 0x94, 0x8d, 0x58, 0xd3, 0xd0, 0xef, 0xc2, 0x3c, 0xd3, 0xb7, 0xf8, 0xb4, - 0x79, 0x3b, 0x8a, 0xaf, 0x8a, 0xb9, 0xaf, 0xd9, 0xcd, 0x53, 0x80, 0xb8, 0xb4, 0x87, 0x53, 0xa8, - 0x78, 0x40, 0x8e, 0x8c, 0xb9, 0x7a, 0x69, 0x5f, 0x66, 0x62, 0x91, 0x6b, 0x63, 0x3a, 0x4e, 0x1d, - 0x73, 0x0d, 0x34, 0xe3, 0x41, 0x41, 0xa8, 0x0d, 0x33, 0xf6, 0x03, 0x21, 0xa3, 0x4b, 0x57, 0xf2, - 0xbf, 0x44, 0xd2, 0x57, 0x39, 0x76, 0x0b, 0x4e, 0x20, 0xbb, 0x47, 0x25, 0xa8, 0x58, 0xca, 0x97, - 0x2a, 0x97, 0xcc, 0x9e, 0x4d, 0xb9, 0x24, 0x3b, 0xba, 0xaf, 0x8c, 0x15, 0xdd, 0x5f, 0x4e, 0x46, - 0xf7, 0x5f, 0x4f, 0x47, 0xf7, 0xa0, 0x66, 0x97, 0x88, 0xec, 0x39, 0x9c, 0x37, 0x61, 0x6e, 0xf8, - 0xd2, 0x2b, 0x57, 0xbe, 0x34, 0x18, 0x4c, 0x23, 0x79, 0x22, 0xdf, 0x4e, 0x40, 0xe2, 0x94, 0x08, - 0x79, 0xa2, 0x9b, 0x96, 0x7a, 0xbf, 0xdb, 0x25, 0xec, 0x70, 0x69, 0x46, 0x0d, 0x38, 0x3a, 0xd1, - 0x6f, 0x27, 0xa8, 0x38, 0xd5, 0x1b, 0xed, 0x40, 0x49, 0x47, 0xc9, 0xe6, 0xf5, 0xd0, 0x2b, 0x79, - 0x02, 0x70, 0x1d, 0xd1, 0xe8, 0xdf, 0xd8, 0xe0, 0xd8, 0x09, 0x4e, 0xf9, 0x84, 0x04, 0xe7, 0x2e, - 0xa0, 0x60, 0x57, 0xc5, 0x4e, 0xcd, 0x3b, 0xfa, 0xdb, 0x2f, 0xa9, 0x95, 0x25, 0x15, 0x3d, 0x47, - 0x1b, 0x76, 0x6f, 0xa0, 0x07, 0xce, 0xe0, 0x92, 0x56, 0x6d, 0x42, 0xeb, 0xc8, 0x14, 0x4c, 0x32, - 0x93, 0x37, 0x24, 0x8c, 0xf3, 0xa6, 0x45, 0x69, 0xd5, 0x1b, 0x29, 0x54, 0x3c, 0x20, 0x07, 0x7d, - 0x17, 0x66, 0xa5, 0x0a, 0xc5, 0x82, 0xe1, 0x09, 0x05, 0x2f, 0x1c, 0x1f, 0xad, 0xce, 0x6e, 0xdb, - 0x90, 0x38, 0x29, 0xc1, 0xfd, 0xf3, 0x22, 0x64, 0x07, 0xf6, 0xf1, 0xc3, 0x57, 0xe7, 0x31, 0x0f, - 0x5f, 0xdf, 0x83, 0x32, 0x17, 0x84, 0xe9, 0x47, 0xbe, 0x85, 0xf1, 0x1e, 0xf9, 0xd6, 0x43, 0x00, - 0x1c, 0x63, 0xa5, 0xb2, 0xac, 0xe2, 0xa9, 0x66, 0x59, 0x57, 0x00, 0x54, 0x3c, 0xba, 0x11, 0xf4, - 0xcd, 0xbd, 0xca, 0x6c, 0xec, 0x13, 0x6e, 0x45, 0x14, 0x6c, 0xf5, 0x42, 0xd7, 0xa3, 0x83, 0x53, - 0x5f, 0xa4, 0x5c, 0x1a, 0xb8, 0x08, 0x4e, 0xe7, 0xe9, 0x19, 0x9f, 0x40, 0x9d, 0xf0, 0x70, 0xc4, - 0xfd, 0xbf, 0x02, 0x24, 0x9c, 0x21, 0xfa, 0x81, 0x03, 0x0b, 0x24, 0xf5, 0x15, 0x59, 0x18, 0x4b, - 0xfe, 0x46, 0xbe, 0x4f, 0xfb, 0x06, 0x3e, 0x42, 0x8b, 0x4b, 0xd7, 0xe9, 0x2e, 0x1c, 0x0f, 0x0a, - 0x45, 0x7f, 0xea, 0xc0, 0x05, 0x32, 0xf8, 0x99, 0xa0, 0xd9, 0xf4, 0x37, 0xc7, 0xfe, 0xce, 0xb0, - 0xf6, 0xec, 0xf1, 0xd1, 0x6a, 0xd6, 0x07, 0x94, 0x38, 0x4b, 0x1c, 0xfa, 0x0e, 0x4c, 0x10, 0xd6, - 0x0a, 0xcb, 0x3c, 0xf9, 0xc5, 0x86, 0x5f, 0x7f, 0xc6, 0xd1, 0xd1, 0x3a, 0x6b, 0x71, 0xac, 0x40, - 0xdd, 0x9f, 0x16, 0x61, 0x3e, 0xfd, 0x50, 0xd6, 0xbc, 0x2d, 0x9a, 0xc8, 0x7c, 0x5b, 0x24, 0x6d, - 0xa4, 0x21, 0xa2, 0x87, 0x3e, 0xb1, 0x8d, 0xc8, 0x46, 0xac, 0x69, 0x91, 0x8d, 0x48, 0xbd, 0x34, - 0x05, 0x98, 0xf1, 0x6c, 0x44, 0xfe, 0x89, 0x63, 0x2c, 0x74, 0x3d, 0x79, 0xb6, 0xb8, 0xe9, 0xb3, - 0x65, 0xc1, 0x9e, 0xcb, 0xb8, 0xc5, 0xa3, 0x2e, 0x54, 0xac, 0x7d, 0x30, 0x96, 0x78, 0x23, 0xf7, - 0xba, 0xc7, 0x6a, 0x37, 0xa7, 0x3f, 0x21, 0x8d, 0x29, 0x36, 0x7e, 0x6c, 0xf7, 0x6a, 0xb5, 0x9e, - 0xa8, 0xba, 0xa2, 0x96, 0xcb, 0x42, 0x73, 0xf7, 0x61, 0x36, 0xf1, 0xde, 0x4d, 0x0a, 0x0b, 0xdf, - 0xf8, 0x8d, 0xff, 0x4d, 0xe5, 0x83, 0x08, 0x01, 0x5b, 0x68, 0xea, 0x4e, 0xe4, 0x3d, 0xc2, 0x68, - 0x3b, 0xe8, 0x73, 0xfa, 0x55, 0xbd, 0x13, 0x89, 0x06, 0x78, 0xda, 0x77, 0x22, 0x31, 0xf0, 0xc9, - 0x77, 0x22, 0x51, 0xdf, 0xaf, 0xec, 0x9d, 0x48, 0x34, 0xc2, 0x21, 0xc9, 0xc3, 0xff, 0x16, 0xac, - 0x59, 0x24, 0x13, 0x88, 0xc2, 0x63, 0x12, 0x88, 0xf7, 0x61, 0xda, 0xf3, 0x05, 0x65, 0x07, 0xa4, - 0x63, 0xaa, 0x4e, 0x79, 0xab, 0x33, 0xd1, 0x54, 0xb7, 0x0c, 0x0e, 0x8e, 0x10, 0x51, 0x07, 0x2e, - 0x86, 0xd5, 0x52, 0x46, 0x49, 0x7c, 0x5b, 0x63, 0x5e, 0x3c, 0xbc, 0x11, 0x96, 0xf5, 0x6e, 0x67, - 0x75, 0x7a, 0x34, 0x8c, 0x80, 0xb3, 0x41, 0x11, 0x87, 0x59, 0x6e, 0x65, 0xce, 0xe1, 0x21, 0x35, - 0x62, 0xa5, 0x39, 0x5d, 0x6c, 0xb0, 0x9e, 0x49, 0xd8, 0xa0, 0x38, 0x29, 0xc3, 0xfd, 0x8f, 0x22, - 0xcc, 0xa5, 0x34, 0x2d, 0x95, 0x21, 0x94, 0x9f, 0x66, 0x86, 0x50, 0x1a, 0x2b, 0x43, 0xc8, 0x0e, - 0x5e, 0x27, 0xc6, 0x0a, 0x5e, 0xdf, 0xd2, 0x01, 0xa4, 0xd9, 0xb9, 0xad, 0x4d, 0xf3, 0xaa, 0x34, - 0x5a, 0xcd, 0x6d, 0x9b, 0x88, 0x93, 0x7d, 0xd5, 0x09, 0xdf, 0x1c, 0xfc, 0x84, 0xd2, 0x44, 0xbf, - 0x6f, 0xe6, 0x7d, 0x16, 0x14, 0x01, 0xe8, 0x13, 0x3e, 0x83, 0x80, 0xb3, 0xc4, 0xd5, 0xee, 0x7e, - 0xf6, 0xe5, 0xca, 0xb9, 0xcf, 0xbf, 0x5c, 0x39, 0xf7, 0xc5, 0x97, 0x2b, 0xe7, 0xbe, 0x7f, 0xbc, - 0xe2, 0x7c, 0x76, 0xbc, 0xe2, 0x7c, 0x7e, 0xbc, 0xe2, 0x7c, 0x71, 0xbc, 0xe2, 0xfc, 0xf7, 0xf1, - 0x8a, 0xf3, 0xc3, 0x9f, 0xad, 0x9c, 0x7b, 0xf8, 0xfc, 0x28, 0xff, 0x47, 0xe3, 0xff, 0x03, 0x00, - 0x00, 0xff, 0xff, 0x6a, 0xff, 0x8d, 0xf8, 0x6e, 0x43, 0x00, 0x00, + // 3926 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5c, 0xcd, 0x6f, 0x23, 0x47, + 0x76, 0x9f, 0x26, 0x25, 0x4a, 0x7c, 0xd4, 0x67, 0x8d, 0xc6, 0xd6, 0x6a, 0x63, 0x69, 0xd2, 0x6b, + 0x18, 0x76, 0x6c, 0x53, 0x99, 0xb1, 0xc7, 0x33, 0x1e, 0x27, 0x13, 0x90, 0xd4, 0x7c, 0x68, 0x56, + 0xeb, 0x51, 0x8a, 0xb2, 0xbc, 0x3b, 0xb6, 0xe1, 0x94, 0xc8, 0x12, 0xd9, 0x2b, 0xb2, 0x9b, 0x5b, + 0x5d, 0xd4, 0x5a, 0x49, 0x90, 0x6c, 0xbe, 0x80, 0x45, 0xbe, 0xb0, 0x07, 0x03, 0xde, 0x00, 0x09, + 0x10, 0x24, 0xc7, 0x45, 0xf2, 0x0f, 0xe4, 0xe0, 0x43, 0x2e, 0x46, 0xb0, 0x08, 0x8c, 0x24, 0x40, + 0x7c, 0x58, 0x28, 0xb1, 0x16, 0xc8, 0x31, 0xb7, 0x5c, 0x06, 0x08, 0x10, 0xd4, 0x47, 0x77, 0x57, + 0x37, 0x9b, 0x23, 0x36, 0x47, 0x1a, 0x18, 0xb9, 0x51, 0xf5, 0xaa, 0x7e, 0xaf, 0xea, 0xd5, 0x7b, + 0xaf, 0xde, 0x7b, 0x55, 0x2d, 0x78, 0xbd, 0xe5, 0xf0, 0x76, 0x7f, 0xaf, 0xdc, 0xf0, 0xba, 0xeb, + 0xe4, 0xa0, 0xef, 0xf0, 0xa3, 0xf5, 0x03, 0xc2, 0x5a, 0xde, 0x3a, 0xe9, 0x39, 0xeb, 0x87, 0x57, + 0x48, 0xa7, 0xd7, 0x26, 0x57, 0xd6, 0x5b, 0xd4, 0xa5, 0x8c, 0x70, 0xda, 0x2c, 0xf7, 0x98, 0xc7, + 0x3d, 0xf4, 0x7c, 0x34, 0xaa, 0xac, 0x46, 0x95, 0xe5, 0xa8, 0x32, 0xe9, 0x39, 0xe5, 0x60, 0xd4, + 0xca, 0xab, 0x06, 0x76, 0xcb, 0x6b, 0x79, 0xeb, 0x72, 0xf0, 0x5e, 0x7f, 0x5f, 0xfe, 0x25, 0xff, + 0x90, 0xbf, 0x14, 0xe8, 0xca, 0xbd, 0x83, 0x1b, 0x7e, 0xd9, 0x91, 0x9c, 0xe9, 0x47, 0x9c, 0xba, + 0xbe, 0xe3, 0xb9, 0xfe, 0xab, 0xa4, 0xe7, 0xf8, 0x94, 0x1d, 0x52, 0xb6, 0xde, 0x3b, 0x68, 0x09, + 0x9a, 0x1f, 0xef, 0xb0, 0x7e, 0x38, 0x30, 0xbd, 0x95, 0xd7, 0x23, 0xa4, 0x2e, 0x69, 0xb4, 0x1d, + 0x97, 0xb2, 0xa3, 0x68, 0x78, 0x97, 0x72, 0x92, 0x36, 0x6a, 0x7d, 0xd8, 0x28, 0xd6, 0x77, 0xb9, + 0xd3, 0xa5, 0x03, 0x03, 0xde, 0x38, 0x6d, 0x80, 0xdf, 0x68, 0xd3, 0x2e, 0x49, 0x8e, 0xb3, 0xdf, + 0x87, 0x8b, 0x15, 0x97, 0x74, 0x8e, 0x7c, 0xc7, 0xc7, 0x7d, 0xb7, 0xc2, 0x5a, 0xfd, 0x2e, 0x75, + 0x39, 0xba, 0x0c, 0x13, 0x2e, 0xe9, 0xd2, 0x65, 0xeb, 0xb2, 0xf5, 0x62, 0xb1, 0x3a, 0xf3, 0xd9, + 0xf1, 0xda, 0x85, 0x93, 0xe3, 0xb5, 0x89, 0xb7, 0x49, 0x97, 0x62, 0x49, 0x41, 0xdf, 0x80, 0xc9, + 0x43, 0xd2, 0xe9, 0xd3, 0xe5, 0x9c, 0xec, 0x32, 0xab, 0xbb, 0x4c, 0xee, 0x8a, 0x46, 0xac, 0x68, + 0xf6, 0x1f, 0xe4, 0x63, 0xf0, 0xdf, 0xa2, 0x9c, 0x34, 0x09, 0x27, 0xa8, 0x0b, 0x85, 0x0e, 0xd9, + 0xa3, 0x1d, 0x7f, 0xd9, 0xba, 0x9c, 0x7f, 0xb1, 0x74, 0xf5, 0x76, 0x79, 0x94, 0x4d, 0x2c, 0xa7, + 0x40, 0x95, 0xb7, 0x24, 0xce, 0x6d, 0x97, 0xb3, 0xa3, 0xea, 0x9c, 0x9e, 0x44, 0x41, 0x35, 0x62, + 0xcd, 0x04, 0xfd, 0x9e, 0x05, 0x25, 0xe2, 0xba, 0x1e, 0x27, 0x5c, 0x6c, 0xd3, 0x72, 0x4e, 0x32, + 0xbd, 0x3f, 0x3e, 0xd3, 0x4a, 0x04, 0xa6, 0x38, 0x5f, 0xd4, 0x9c, 0x4b, 0x06, 0x05, 0x9b, 0x3c, + 0x57, 0xde, 0x84, 0x92, 0x31, 0x55, 0xb4, 0x00, 0xf9, 0x03, 0x7a, 0xa4, 0xe4, 0x8b, 0xc5, 0x4f, + 0xb4, 0x14, 0x13, 0xa8, 0x96, 0xe0, 0xcd, 0xdc, 0x0d, 0x6b, 0xe5, 0x16, 0x2c, 0x24, 0x19, 0x66, + 0x19, 0x6f, 0xff, 0xb9, 0x05, 0x4b, 0xc6, 0x2a, 0x30, 0xdd, 0xa7, 0x8c, 0xba, 0x0d, 0x8a, 0xd6, + 0xa1, 0x28, 0xf6, 0xd2, 0xef, 0x91, 0x46, 0xb0, 0xd5, 0x8b, 0x7a, 0x21, 0xc5, 0xb7, 0x03, 0x02, + 0x8e, 0xfa, 0x84, 0x6a, 0x91, 0x7b, 0x9c, 0x5a, 0xf4, 0xda, 0xc4, 0xa7, 0xcb, 0xf9, 0xb8, 0x5a, + 0x6c, 0x8b, 0x46, 0xac, 0x68, 0xf6, 0xaf, 0xc2, 0xd7, 0x82, 0xf9, 0xec, 0xd0, 0x6e, 0xaf, 0x43, + 0x38, 0x8d, 0x26, 0x75, 0xaa, 0xea, 0xd9, 0x07, 0x30, 0x5b, 0xe9, 0xf5, 0x98, 0x77, 0x48, 0x9b, + 0x75, 0x4e, 0x5a, 0x14, 0x3d, 0x04, 0x20, 0xba, 0xa1, 0xc2, 0xe5, 0xc0, 0xd2, 0xd5, 0x5f, 0x2a, + 0x2b, 0x8b, 0x28, 0x9b, 0x16, 0x51, 0xee, 0x1d, 0xb4, 0x44, 0x83, 0x5f, 0x16, 0x86, 0x57, 0x3e, + 0xbc, 0x52, 0xde, 0x71, 0xba, 0xb4, 0x3a, 0x77, 0x72, 0xbc, 0x06, 0x95, 0x10, 0x01, 0x1b, 0x68, + 0xf6, 0xef, 0x5b, 0x70, 0xa9, 0xc2, 0x5a, 0x5e, 0x6d, 0xa3, 0xd2, 0xeb, 0xdd, 0xa3, 0xa4, 0xc3, + 0xdb, 0x75, 0x4e, 0x78, 0xdf, 0x47, 0xb7, 0xa0, 0xe0, 0xcb, 0x5f, 0x7a, 0xaa, 0x2f, 0x04, 0xda, + 0xa7, 0xe8, 0x8f, 0x8e, 0xd7, 0x96, 0x52, 0x06, 0x52, 0xac, 0x47, 0xa1, 0x97, 0x60, 0xaa, 0x4b, + 0x7d, 0x9f, 0xb4, 0x02, 0x79, 0xce, 0x6b, 0x80, 0xa9, 0x6f, 0xa9, 0x66, 0x1c, 0xd0, 0xed, 0x7f, + 0xca, 0xc1, 0x7c, 0x88, 0xa5, 0xd9, 0x9f, 0xc3, 0xe6, 0xf5, 0x61, 0xa6, 0x6d, 0xac, 0x50, 0xee, + 0x61, 0xe9, 0xea, 0x5b, 0x23, 0xda, 0x49, 0x9a, 0x90, 0xaa, 0x4b, 0x9a, 0xcd, 0x8c, 0xd9, 0x8a, + 0x63, 0x6c, 0x50, 0x17, 0xc0, 0x3f, 0x72, 0x1b, 0x9a, 0xe9, 0x84, 0x64, 0xfa, 0x66, 0x46, 0xa6, + 0xf5, 0x10, 0xa0, 0x8a, 0x34, 0x4b, 0x88, 0xda, 0xb0, 0xc1, 0xc0, 0xfe, 0x7b, 0x0b, 0x2e, 0xa6, + 0x8c, 0x43, 0xbf, 0x92, 0xd8, 0xcf, 0xe7, 0x07, 0xf6, 0x13, 0x0d, 0x0c, 0x8b, 0x76, 0xf3, 0x15, + 0x98, 0x66, 0xf4, 0xd0, 0x11, 0xe7, 0x80, 0x96, 0xf0, 0x82, 0x1e, 0x3f, 0x8d, 0x75, 0x3b, 0x0e, + 0x7b, 0xa0, 0x97, 0xa1, 0x18, 0xfc, 0x16, 0x62, 0xce, 0x0b, 0x53, 0x11, 0x1b, 0x17, 0x74, 0xf5, + 0x71, 0x44, 0xb7, 0x7f, 0x17, 0x26, 0x6b, 0x6d, 0xc2, 0xb8, 0xd0, 0x18, 0x46, 0x7b, 0xde, 0x3b, + 0x78, 0x4b, 0x4f, 0x31, 0xd4, 0x18, 0xac, 0x9a, 0x71, 0x40, 0x1f, 0x61, 0xb3, 0x5f, 0x82, 0xa9, + 0x43, 0xca, 0xe4, 0x7c, 0xf3, 0x71, 0xb0, 0x5d, 0xd5, 0x8c, 0x03, 0xba, 0xfd, 0xaf, 0x16, 0x2c, + 0xc9, 0x19, 0x6c, 0x38, 0x7e, 0xc3, 0x3b, 0xa4, 0xec, 0x08, 0x53, 0xbf, 0xdf, 0x39, 0xe3, 0x09, + 0x6d, 0xc0, 0x82, 0x4f, 0xbb, 0x87, 0x94, 0xd5, 0x3c, 0xd7, 0xe7, 0x8c, 0x38, 0x2e, 0xd7, 0x33, + 0x5b, 0xd6, 0xbd, 0x17, 0xea, 0x09, 0x3a, 0x1e, 0x18, 0x81, 0x5e, 0x84, 0x69, 0x3d, 0x6d, 0xa1, + 0x4a, 0x42, 0xb0, 0x33, 0x62, 0x0f, 0xf4, 0x9a, 0x7c, 0x1c, 0x52, 0xed, 0xff, 0xb2, 0x60, 0x51, + 0xae, 0xaa, 0xde, 0xdf, 0xf3, 0x1b, 0xcc, 0xe9, 0x09, 0xf7, 0xfa, 0x55, 0x5c, 0xd2, 0x2d, 0x98, + 0x6b, 0x06, 0x82, 0xdf, 0x72, 0xba, 0x0e, 0x97, 0x36, 0x32, 0x59, 0x7d, 0x46, 0x63, 0xcc, 0x6d, + 0xc4, 0xa8, 0x38, 0xd1, 0xdb, 0x7e, 0x0f, 0x66, 0x6a, 0x7d, 0xc6, 0xa8, 0xcb, 0x95, 0xbb, 0xfc, + 0x26, 0x4c, 0xfa, 0x8e, 0xab, 0xbd, 0x46, 0x36, 0x4f, 0x59, 0x14, 0xbe, 0xbc, 0x2e, 0x06, 0x63, + 0x85, 0x61, 0xff, 0x65, 0x1e, 0x2e, 0x06, 0xfc, 0x69, 0xb3, 0xc2, 0xb8, 0xb3, 0x4f, 0x1a, 0xdc, + 0x47, 0x4d, 0x98, 0x69, 0x46, 0xcd, 0x5c, 0x9b, 0x75, 0x16, 0x5e, 0xa1, 0xeb, 0x30, 0xe0, 0x39, + 0x8e, 0xa1, 0xa2, 0x77, 0x21, 0xdf, 0x72, 0xb8, 0x8e, 0x22, 0x6e, 0x8c, 0xe6, 0x33, 0xee, 0x3a, + 0x49, 0x3d, 0xae, 0x96, 0x34, 0xab, 0xfc, 0x5d, 0x87, 0x63, 0x81, 0x88, 0xf6, 0xa0, 0xe0, 0x74, + 0x49, 0x8b, 0x06, 0xc1, 0xc2, 0xcd, 0xd1, 0xb0, 0x37, 0xc5, 0x98, 0x24, 0x7a, 0x18, 0x96, 0x48, + 0xaa, 0x8f, 0x35, 0xb2, 0xe0, 0xd1, 0x10, 0xfa, 0xa7, 0x3c, 0xc0, 0xc8, 0x3c, 0xd2, 0x2c, 0x31, + 0xe2, 0x21, 0xa9, 0x3e, 0xd6, 0xc8, 0xf6, 0x17, 0x39, 0x58, 0x88, 0xe4, 0x57, 0xf3, 0xba, 0x5d, + 0x87, 0xa3, 0x15, 0xc8, 0x39, 0x4d, 0xad, 0xde, 0xa0, 0x07, 0xe6, 0x36, 0x37, 0x70, 0xce, 0x69, + 0xa2, 0x17, 0xa0, 0xb0, 0xc7, 0x88, 0xdb, 0x68, 0x6b, 0xb5, 0x0e, 0x81, 0xab, 0xb2, 0x15, 0x6b, + 0x2a, 0x7a, 0x0e, 0xf2, 0x9c, 0xb4, 0xb4, 0x36, 0x87, 0xf2, 0xdb, 0x21, 0x2d, 0x2c, 0xda, 0x85, + 0x19, 0xf9, 0xfd, 0xbd, 0xef, 0xd2, 0x86, 0xda, 0x79, 0xc3, 0x8c, 0xea, 0xaa, 0x19, 0x07, 0x74, + 0xc1, 0x91, 0xf4, 0x79, 0xdb, 0x63, 0xcb, 0x93, 0x71, 0x8e, 0x15, 0xd9, 0x8a, 0x35, 0x55, 0x1c, + 0x78, 0x0d, 0x39, 0x7f, 0x4e, 0xd9, 0x72, 0x21, 0x7e, 0xe0, 0xd5, 0x02, 0x02, 0x8e, 0xfa, 0xa0, + 0x0f, 0xa0, 0xd4, 0x60, 0x94, 0x70, 0x8f, 0x6d, 0x10, 0x4e, 0x97, 0xa7, 0x32, 0x6b, 0xe0, 0xbc, + 0x88, 0xe8, 0x6a, 0x11, 0x04, 0x36, 0xf1, 0xec, 0xff, 0xb6, 0x60, 0x39, 0x12, 0xad, 0xdc, 0xdb, + 0x28, 0x8a, 0xd1, 0xe2, 0xb1, 0x86, 0x88, 0xe7, 0x05, 0x28, 0x34, 0x9d, 0x16, 0xf5, 0x79, 0x52, + 0xca, 0x1b, 0xb2, 0x15, 0x6b, 0x2a, 0xba, 0x0a, 0xd0, 0x72, 0xb8, 0xf6, 0x3c, 0x5a, 0xd8, 0xe1, + 0xf9, 0x76, 0x37, 0xa4, 0x60, 0xa3, 0x17, 0x7a, 0x17, 0x8a, 0x72, 0x9a, 0x63, 0x9a, 0x9d, 0x3c, + 0x87, 0x6a, 0x01, 0x00, 0x8e, 0xb0, 0xec, 0xcf, 0x27, 0x60, 0xea, 0x0e, 0xa3, 0x4e, 0xab, 0xcd, + 0xd1, 0x6f, 0xc0, 0x74, 0x57, 0x47, 0xc3, 0xda, 0x8d, 0xfc, 0xf2, 0x68, 0x3c, 0x1e, 0xc8, 0x4d, + 0x17, 0x91, 0x74, 0xb4, 0x90, 0xa8, 0x0d, 0x87, 0xa8, 0x22, 0x92, 0x24, 0x1d, 0x87, 0xf8, 0x72, + 0xdf, 0x8c, 0x48, 0xb2, 0x22, 0x1a, 0xb1, 0xa2, 0xa1, 0xf7, 0xa0, 0xe0, 0x31, 0xa7, 0xe5, 0xb8, + 0xcb, 0x45, 0x39, 0x89, 0xd7, 0x46, 0x33, 0x21, 0xbd, 0x8a, 0x07, 0x72, 0x68, 0x24, 0x7c, 0xf5, + 0x37, 0xd6, 0x90, 0xe8, 0x21, 0x4c, 0x29, 0x65, 0x0a, 0x0c, 0x74, 0x7d, 0x64, 0x07, 0xa3, 0xf4, + 0x31, 0x52, 0x7a, 0xf5, 0xb7, 0x8f, 0x03, 0x40, 0x54, 0x0f, 0xfd, 0xcb, 0x84, 0x84, 0x7e, 0x39, + 0x83, 0x7f, 0x19, 0xea, 0x50, 0xea, 0xa1, 0x43, 0x99, 0xcc, 0x02, 0x2a, 0x5d, 0xc6, 0x30, 0x0f, + 0x22, 0x44, 0xac, 0xc3, 0xa2, 0xc2, 0x18, 0x22, 0xd6, 0x31, 0xd9, 0x5c, 0x3c, 0x96, 0x0a, 0xa2, + 0x26, 0xfb, 0xe3, 0x3c, 0x2c, 0xea, 0x9e, 0x35, 0xaf, 0xd3, 0xa1, 0x0d, 0x79, 0x06, 0x2b, 0xff, + 0x94, 0x4f, 0xf5, 0x4f, 0x0e, 0x4c, 0x3a, 0x9c, 0x76, 0x83, 0xcc, 0xb1, 0x9a, 0x69, 0x36, 0x11, + 0x8f, 0xf2, 0xa6, 0x00, 0x51, 0xc9, 0x5b, 0xb8, 0x4b, 0xba, 0x17, 0x56, 0x1c, 0xd0, 0x1f, 0x59, + 0x70, 0xf1, 0x90, 0x32, 0x67, 0xdf, 0x69, 0xc8, 0xd4, 0xeb, 0x9e, 0xe3, 0x73, 0x8f, 0x1d, 0xe9, + 0x13, 0xe1, 0x8d, 0xd1, 0x38, 0xef, 0x1a, 0x00, 0x9b, 0xee, 0xbe, 0x57, 0xfd, 0xba, 0xe6, 0x76, + 0x71, 0x77, 0x10, 0x1a, 0xa7, 0xf1, 0x5b, 0xe9, 0x01, 0x44, 0xb3, 0x4d, 0xc9, 0xfc, 0xb6, 0xcc, + 0xcc, 0x6f, 0xe4, 0x89, 0x05, 0x8b, 0x0d, 0x5c, 0x96, 0x99, 0x31, 0x7e, 0x6a, 0x41, 0x49, 0xd3, + 0xb7, 0x1c, 0x9f, 0xa3, 0xf7, 0x07, 0xac, 0xbd, 0x3c, 0x9a, 0xb5, 0x8b, 0xd1, 0xd2, 0xd6, 0xc3, + 0x60, 0x38, 0x68, 0x31, 0x2c, 0x1d, 0x07, 0x5b, 0xaa, 0x04, 0xfb, 0x6a, 0xa6, 0xf9, 0x47, 0x8e, + 0x41, 0xca, 0x48, 0xef, 0x9d, 0xcd, 0x60, 0x36, 0x66, 0xe4, 0xe8, 0x1a, 0x4c, 0x1c, 0x38, 0x6e, + 0x70, 0xea, 0xfd, 0x62, 0x10, 0xac, 0x7d, 0xd3, 0x71, 0x9b, 0x8f, 0x8e, 0xd7, 0x16, 0x63, 0x9d, + 0x45, 0x23, 0x96, 0xdd, 0x4f, 0x8f, 0xf1, 0x6e, 0x4e, 0xff, 0xf8, 0xaf, 0xd7, 0x2e, 0xfc, 0xe0, + 0x67, 0x97, 0x2f, 0xd8, 0x9f, 0xe4, 0x61, 0x21, 0x29, 0xd5, 0x11, 0x2a, 0x29, 0x91, 0x0f, 0x9b, + 0x3e, 0x57, 0x1f, 0x96, 0x3b, 0x3f, 0x1f, 0x96, 0x3f, 0x0f, 0x1f, 0x36, 0x71, 0x66, 0x3e, 0xcc, + 0xfe, 0x67, 0x0b, 0xe6, 0xc2, 0x9d, 0xf9, 0x5e, 0x5f, 0x9c, 0xac, 0x91, 0xd4, 0xad, 0xb3, 0x97, + 0xfa, 0x87, 0x30, 0xe5, 0x7b, 0x7d, 0xd6, 0x90, 0xe1, 0xa3, 0x40, 0x7f, 0x3d, 0x9b, 0xd3, 0x54, + 0x63, 0x8d, 0x98, 0x49, 0x35, 0xe0, 0x00, 0x55, 0x18, 0xe8, 0x5c, 0xbc, 0xb3, 0x0a, 0x29, 0x98, + 0x08, 0xb8, 0xc4, 0x82, 0xa6, 0xcd, 0x90, 0x42, 0xb4, 0x62, 0x4d, 0x45, 0xb6, 0xf4, 0xe7, 0x41, + 0x64, 0x5b, 0xac, 0x82, 0x76, 0xcb, 0x72, 0x13, 0x14, 0x05, 0x11, 0x28, 0x29, 0x47, 0x44, 0x9b, + 0x77, 0x3c, 0xa6, 0xeb, 0x00, 0x23, 0x9a, 0xfc, 0x46, 0x9f, 0x49, 0xef, 0xa5, 0xa2, 0xa7, 0xdd, + 0x08, 0x06, 0x9b, 0x98, 0xf6, 0x7f, 0x4c, 0x86, 0x16, 0xaa, 0xf3, 0xef, 0xdf, 0x82, 0x52, 0x43, + 0xa5, 0x29, 0x9d, 0xa3, 0x4d, 0x57, 0xeb, 0xd4, 0xc6, 0x18, 0xa7, 0x4d, 0xb9, 0x16, 0xc1, 0x24, + 0xca, 0x73, 0x06, 0x05, 0x9b, 0xdc, 0xd0, 0xf7, 0x01, 0x82, 0xd9, 0x6d, 0xba, 0xfa, 0x6c, 0xa9, + 0x8d, 0xc3, 0x7b, 0x37, 0x44, 0x51, 0xac, 0xc3, 0x20, 0x27, 0x22, 0x60, 0x83, 0x95, 0x58, 0x75, + 0x50, 0x6d, 0x12, 0xa2, 0xce, 0x8d, 0xbf, 0xea, 0x4a, 0x04, 0x93, 0x2c, 0x4a, 0x46, 0x14, 0x6c, + 0x72, 0x5b, 0x61, 0xb0, 0x90, 0x94, 0x55, 0xca, 0xf9, 0x72, 0x2f, 0x7e, 0xbe, 0x5c, 0x1d, 0xd1, + 0x22, 0x8d, 0x94, 0xd3, 0xac, 0x66, 0x32, 0x98, 0x4f, 0xc8, 0x28, 0x85, 0xe5, 0x66, 0x9c, 0xe5, + 0x6b, 0x59, 0xce, 0x5a, 0x5d, 0x15, 0x34, 0x79, 0xfa, 0xb0, 0x90, 0x94, 0xce, 0x99, 0x31, 0x8d, + 0x95, 0x22, 0xcd, 0x43, 0xf4, 0xaf, 0x72, 0x50, 0x0c, 0xdd, 0x68, 0x96, 0xba, 0x82, 0x0a, 0x7f, + 0x72, 0xa7, 0xa4, 0x67, 0xf9, 0x51, 0xd2, 0xb3, 0x89, 0xe1, 0xe9, 0x59, 0x50, 0x7b, 0x2c, 0x3c, + 0xbe, 0xf6, 0x68, 0xa4, 0x67, 0x53, 0xa3, 0xa7, 0x67, 0xd3, 0xa7, 0xa7, 0x67, 0xf6, 0xdf, 0x58, + 0x80, 0x06, 0x73, 0xf1, 0x2c, 0x82, 0x22, 0xc9, 0xc3, 0x6d, 0xc4, 0xd0, 0x27, 0x99, 0x10, 0x0f, + 0x3f, 0xe3, 0xec, 0x4f, 0x27, 0x61, 0xfe, 0xae, 0x33, 0x76, 0x89, 0x88, 0xc3, 0xb3, 0x0a, 0xa9, + 0x4e, 0x75, 0xe0, 0x59, 0xe7, 0x8c, 0x70, 0xda, 0x3a, 0xd2, 0xfb, 0x7b, 0x53, 0x0f, 0x7d, 0xb6, + 0x96, 0xde, 0xed, 0xd1, 0x70, 0x12, 0x1e, 0x06, 0x3d, 0xb2, 0x92, 0xbc, 0x05, 0xb3, 0x3e, 0x67, + 0x4e, 0x83, 0xab, 0x22, 0x94, 0xbf, 0x5c, 0x92, 0x27, 0xc7, 0x25, 0xdd, 0x7d, 0xb6, 0x6e, 0x12, + 0x71, 0xbc, 0x6f, 0x6a, 0x6d, 0x6b, 0x22, 0x73, 0x6d, 0x6b, 0x1d, 0x8a, 0xa4, 0xd3, 0xf1, 0xbe, + 0xbf, 0x43, 0x5a, 0xbe, 0xce, 0xff, 0x43, 0xad, 0xa9, 0x04, 0x04, 0x1c, 0xf5, 0x41, 0x65, 0x00, + 0xa7, 0xe5, 0x7a, 0x8c, 0xca, 0x11, 0x05, 0x79, 0x84, 0xc9, 0xfa, 0xfd, 0x66, 0xd8, 0x8a, 0x8d, + 0x1e, 0xa8, 0x0e, 0x97, 0x1c, 0xd7, 0xa7, 0x8d, 0x3e, 0xa3, 0xf5, 0x03, 0xa7, 0xb7, 0xb3, 0x55, + 0x97, 0x5e, 0xe2, 0x48, 0x6a, 0xf3, 0x74, 0xf5, 0x39, 0xcd, 0xec, 0xd2, 0x66, 0x5a, 0x27, 0x9c, + 0x3e, 0x16, 0xbd, 0x0e, 0x33, 0x8e, 0xdb, 0xe8, 0xf4, 0x9b, 0x74, 0x9b, 0xf0, 0xb6, 0xbf, 0x3c, + 0x2d, 0xa7, 0xb1, 0x70, 0x72, 0xbc, 0x36, 0xb3, 0x69, 0xb4, 0xe3, 0x58, 0x2f, 0x31, 0x8a, 0x7e, + 0x64, 0x8c, 0x2a, 0x46, 0xa3, 0x6e, 0x7f, 0x64, 0x8e, 0x32, 0x7b, 0xa5, 0x54, 0xff, 0x20, 0x53, + 0xf5, 0xef, 0x27, 0x39, 0x28, 0xa8, 0xe2, 0x3b, 0xba, 0x96, 0xa8, 0x70, 0x3f, 0x37, 0x50, 0xe1, + 0x2e, 0xa5, 0x5d, 0x54, 0xd8, 0x50, 0x70, 0x7c, 0xbf, 0x1f, 0x8f, 0x18, 0x36, 0x65, 0x0b, 0xd6, + 0x14, 0x59, 0xcb, 0xf2, 0xdc, 0x7d, 0xa7, 0xa5, 0x2b, 0x0e, 0xb7, 0x8c, 0x60, 0x21, 0xba, 0x20, + 0xfd, 0x30, 0xbc, 0x41, 0x8d, 0xe2, 0x86, 0x58, 0x07, 0x11, 0x40, 0xdc, 0xaf, 0x3f, 0x78, 0x5b, + 0xf1, 0xa8, 0x49, 0x44, 0xac, 0x91, 0x05, 0x0f, 0xaf, 0xcf, 0x7b, 0x7d, 0x2e, 0x15, 0xe5, 0x8c, + 0x78, 0x3c, 0x90, 0x88, 0x58, 0x23, 0xdb, 0x9f, 0x58, 0x30, 0xaf, 0x64, 0x50, 0x6b, 0xd3, 0xc6, + 0x41, 0x9d, 0xd3, 0x9e, 0x08, 0xe1, 0xfb, 0x3e, 0xf5, 0x93, 0x21, 0xfc, 0x3b, 0x3e, 0xf5, 0xb1, + 0xa4, 0x18, 0xab, 0xcf, 0x9d, 0xd7, 0xea, 0xed, 0xbf, 0xb3, 0x60, 0x52, 0xc6, 0xca, 0x59, 0xfc, + 0x4f, 0xbc, 0x7e, 0x94, 0x1b, 0xa9, 0x7e, 0x74, 0x4a, 0x65, 0x2f, 0x2a, 0x5d, 0x4d, 0x3c, 0xae, + 0x74, 0x65, 0xff, 0xdc, 0x82, 0xa5, 0xb4, 0x72, 0x68, 0x96, 0xe9, 0xbf, 0x02, 0xd3, 0xbd, 0x0e, + 0xe1, 0xfb, 0x1e, 0xeb, 0x26, 0x2f, 0x55, 0xb6, 0x75, 0x3b, 0x0e, 0x7b, 0x20, 0x06, 0xc0, 0x82, + 0xbc, 0x2b, 0xc8, 0x49, 0x6e, 0x65, 0x3d, 0x11, 0xe2, 0x75, 0xbc, 0x48, 0x58, 0x61, 0x93, 0x8f, + 0x0d, 0x2e, 0xf6, 0x9f, 0x4c, 0xc2, 0xa2, 0x1c, 0x32, 0xee, 0x09, 0x31, 0xce, 0x0e, 0xf5, 0xe0, + 0x19, 0x99, 0x2d, 0x0d, 0x1e, 0x2a, 0x6a, 0xd3, 0x6e, 0xe8, 0xf1, 0xcf, 0x6c, 0xa6, 0xf6, 0x7a, + 0x34, 0x94, 0x82, 0x87, 0xe0, 0x0e, 0x9e, 0x14, 0xf0, 0xff, 0xef, 0xa4, 0x30, 0x95, 0x6d, 0xea, + 0x54, 0x65, 0x1b, 0x7a, 0xae, 0x4c, 0x3f, 0xc1, 0xb9, 0x32, 0xe8, 0xeb, 0x8b, 0x99, 0x7c, 0xfd, + 0x5f, 0xe4, 0x60, 0x6a, 0x9b, 0x79, 0xb2, 0xac, 0x7e, 0xfe, 0x15, 0xda, 0x07, 0x30, 0xe1, 0xf7, + 0x68, 0x43, 0xfb, 0xbc, 0x2b, 0xa3, 0x59, 0x9a, 0x9e, 0x5e, 0xbd, 0x47, 0x1b, 0xd5, 0x69, 0xe1, + 0x46, 0xc5, 0x2f, 0x2c, 0x81, 0x8c, 0x52, 0x63, 0x3e, 0x4b, 0x04, 0x1e, 0x40, 0x3e, 0xbe, 0xd4, + 0xf8, 0xa9, 0x05, 0x25, 0xdd, 0xf3, 0x2b, 0x5b, 0xd3, 0xd2, 0xf3, 0x1b, 0x52, 0xd3, 0xfa, 0xb3, + 0x68, 0x05, 0x42, 0x68, 0xe8, 0x77, 0x60, 0xb1, 0xc7, 0xbc, 0xae, 0x27, 0x2c, 0x75, 0xdb, 0xeb, + 0x38, 0x0d, 0x87, 0x06, 0x65, 0xd1, 0x6b, 0x23, 0xf3, 0x33, 0x86, 0x1f, 0x55, 0xbf, 0xa6, 0xf9, + 0x2e, 0x6e, 0x27, 0x71, 0xf1, 0x20, 0x2b, 0xfb, 0xdf, 0x2c, 0x98, 0x8d, 0xc9, 0x1e, 0x35, 0x00, + 0x1a, 0x9e, 0xdb, 0x74, 0x78, 0x78, 0xaf, 0x5d, 0xba, 0xba, 0x3e, 0x9a, 0x54, 0x6b, 0xc1, 0xb8, + 0x48, 0xe9, 0xc2, 0x26, 0x1f, 0x1b, 0xb0, 0xe8, 0xb5, 0xe0, 0x89, 0x49, 0x3c, 0x88, 0x51, 0x4f, + 0x4c, 0x1e, 0x1d, 0xaf, 0xcd, 0xe8, 0x39, 0x99, 0x4f, 0x4e, 0xb2, 0x3c, 0xb6, 0xf8, 0xdb, 0x1c, + 0x14, 0xc3, 0xf5, 0x3f, 0x05, 0x33, 0x7a, 0x27, 0x66, 0x46, 0xaf, 0x65, 0xdc, 0x39, 0x69, 0x48, + 0x61, 0x4c, 0x62, 0x18, 0xd3, 0x07, 0x09, 0x63, 0xca, 0xaa, 0x12, 0xa7, 0x98, 0xd3, 0x3f, 0xaa, + 0xcd, 0x57, 0x7d, 0x9f, 0x82, 0x41, 0xed, 0xc4, 0x0d, 0x6a, 0x3d, 0xe3, 0x6a, 0x86, 0x98, 0xd4, + 0x0f, 0x2d, 0x98, 0x4f, 0x18, 0x01, 0xfa, 0x06, 0x4c, 0xca, 0x32, 0x98, 0xd6, 0xaf, 0x70, 0xa0, + 0x4e, 0xf0, 0x25, 0x0d, 0x6d, 0xc3, 0x12, 0xe9, 0x73, 0x2f, 0x1c, 0x7b, 0xdb, 0x25, 0x7b, 0x1d, + 0xaa, 0xb2, 0xf6, 0xe9, 0xea, 0x2f, 0xe8, 0x31, 0x4b, 0x95, 0x94, 0x3e, 0x38, 0x75, 0xa4, 0xfd, + 0xd3, 0x1c, 0xa0, 0xb0, 0x31, 0x4b, 0xfd, 0xf8, 0x03, 0x98, 0xda, 0x57, 0x85, 0xa0, 0x27, 0xbb, + 0x00, 0xa8, 0x96, 0xcc, 0x3b, 0x90, 0x00, 0x13, 0x7d, 0xe7, 0x6c, 0xf4, 0x08, 0x06, 0x75, 0x08, + 0x3d, 0x04, 0xd8, 0x77, 0x5c, 0xc7, 0x6f, 0x8f, 0x79, 0x55, 0x29, 0x4f, 0xf3, 0x3b, 0x21, 0x02, + 0x36, 0xd0, 0xec, 0x8f, 0x73, 0x86, 0x7e, 0x4a, 0x77, 0x39, 0xd2, 0xbe, 0xbe, 0x14, 0x17, 0x66, + 0x71, 0xf0, 0x72, 0xc8, 0x10, 0xcc, 0xc4, 0x21, 0x61, 0x41, 0x9d, 0xfa, 0x7a, 0x46, 0xb1, 0xec, + 0x12, 0xe6, 0x88, 0x8d, 0x8f, 0xb6, 0x74, 0x97, 0x30, 0x1f, 0x4b, 0x48, 0xf4, 0x6d, 0x31, 0x55, + 0xda, 0x0b, 0x5c, 0x68, 0x66, 0x9f, 0xc0, 0x69, 0xcf, 0x5c, 0x1f, 0xed, 0xf9, 0x58, 0x01, 0xda, + 0x1f, 0x4f, 0x19, 0x0a, 0xaf, 0xbd, 0xf6, 0x7d, 0x40, 0x1d, 0xe2, 0xf3, 0x7b, 0xc4, 0x6d, 0x0a, + 0xf5, 0xa4, 0xfb, 0x8c, 0xfa, 0x6d, 0x1d, 0xa1, 0xad, 0x68, 0x14, 0xb4, 0x35, 0xd0, 0x03, 0xa7, + 0x8c, 0x42, 0xd7, 0xe2, 0xce, 0x79, 0x2d, 0xe9, 0x9c, 0xe7, 0x22, 0x6b, 0x1b, 0xcf, 0x3d, 0x9b, + 0xea, 0x3e, 0x79, 0x0e, 0xea, 0xfe, 0xdb, 0xb0, 0xb8, 0x9f, 0xbc, 0x2c, 0xd4, 0x4f, 0x07, 0xae, + 0x8f, 0x79, 0xd7, 0x58, 0xbd, 0x74, 0x12, 0xdd, 0x30, 0x45, 0xcd, 0x78, 0x90, 0x11, 0xf2, 0x82, + 0x17, 0x78, 0x32, 0xfb, 0x54, 0x85, 0x85, 0x91, 0x4d, 0x2e, 0x91, 0xb7, 0x26, 0xdf, 0xde, 0x29, + 0x48, 0x1c, 0x63, 0x90, 0x30, 0xc1, 0xc2, 0x59, 0x9a, 0x20, 0xba, 0x16, 0x16, 0xf4, 0xc5, 0x74, + 0x64, 0x28, 0x9b, 0x1f, 0x28, 0xc5, 0x0b, 0x12, 0x36, 0xfb, 0xa1, 0x1f, 0x59, 0x70, 0x49, 0x28, + 0xeb, 0xed, 0x8f, 0x68, 0xa3, 0x2f, 0xa4, 0x12, 0x3c, 0xbb, 0x5d, 0x2e, 0x49, 0x69, 0x8c, 0xf8, + 0x1e, 0xb1, 0x9e, 0x06, 0x11, 0xc5, 0xe5, 0xa9, 0x64, 0x9c, 0xce, 0x18, 0x7d, 0x28, 0x5d, 0x07, + 0xa7, 0x32, 0xed, 0x79, 0xf2, 0xf4, 0xbe, 0xa8, 0xdd, 0x0e, 0x57, 0x6e, 0x87, 0x53, 0xfb, 0x4f, + 0x63, 0xde, 0x6a, 0xb4, 0xa2, 0xc3, 0x0a, 0xe4, 0x88, 0x9f, 0x2c, 0x13, 0x57, 0x7c, 0x9c, 0x23, + 0x3e, 0xfa, 0x0e, 0x4c, 0x32, 0xca, 0xd9, 0x91, 0x76, 0xaa, 0x37, 0xc6, 0x70, 0x20, 0x58, 0x8c, + 0x57, 0x53, 0x95, 0x3f, 0xb1, 0x42, 0x34, 0x6a, 0x1d, 0xf9, 0x73, 0xab, 0x75, 0xfc, 0xc4, 0x32, + 0xce, 0xc2, 0x70, 0x32, 0xe8, 0x1d, 0x98, 0xe2, 0x4e, 0x97, 0x7a, 0x7d, 0x9e, 0x2d, 0xc0, 0x08, + 0xaf, 0xa4, 0xa4, 0xc9, 0xef, 0x28, 0x08, 0x1c, 0x60, 0x89, 0xac, 0x8b, 0x32, 0xe6, 0xb1, 0x9d, + 0xb6, 0x70, 0x61, 0x5e, 0x47, 0x9d, 0xe2, 0xb3, 0x51, 0xd6, 0x75, 0x3b, 0x46, 0xc5, 0x89, 0xde, + 0x36, 0x83, 0x28, 0x5e, 0x0e, 0xde, 0x33, 0xa3, 0x0f, 0x74, 0x54, 0x67, 0x65, 0x79, 0x43, 0x3b, + 0x00, 0x33, 0x2c, 0xba, 0xb3, 0x7f, 0x6a, 0xc1, 0xa5, 0xd4, 0xde, 0xe1, 0xb1, 0x94, 0x3b, 0xc7, + 0x63, 0xc9, 0x3a, 0xeb, 0x63, 0xe9, 0xa1, 0x21, 0xc2, 0x60, 0x0a, 0x67, 0xf5, 0x11, 0xc2, 0x8f, + 0x73, 0xb0, 0x80, 0x69, 0xcf, 0x8b, 0x55, 0x68, 0xb6, 0x83, 0x87, 0x83, 0x19, 0x42, 0x9a, 0xc4, + 0x3d, 0x40, 0x75, 0x2a, 0xf6, 0x62, 0xf0, 0xdb, 0x30, 0x29, 0x8b, 0x27, 0x3a, 0x08, 0xbb, 0x9e, + 0xe1, 0x32, 0x3c, 0x86, 0x2a, 0x2d, 0x4e, 0x55, 0xa1, 0x14, 0xa0, 0x40, 0x96, 0xf7, 0xd8, 0xda, + 0xe0, 0xae, 0x67, 0xb8, 0x11, 0x1f, 0x44, 0x96, 0xcd, 0x58, 0x01, 0xda, 0x9f, 0xe4, 0x40, 0x85, + 0x3f, 0x4f, 0x21, 0xcd, 0xf9, 0xf5, 0x58, 0x9a, 0xb3, 0x3e, 0xaa, 0x13, 0x17, 0xe2, 0x19, 0x96, + 0xe2, 0x24, 0x43, 0xd3, 0x2b, 0x59, 0x40, 0x1f, 0x9f, 0xde, 0xfc, 0x83, 0x05, 0x45, 0xd9, 0xef, + 0x29, 0xa4, 0x36, 0xdb, 0xf1, 0xd4, 0xe6, 0xe5, 0x0c, 0xab, 0x18, 0x92, 0xd6, 0x7c, 0x9c, 0xd7, + 0xb3, 0x0f, 0x03, 0xdf, 0x36, 0x61, 0x4d, 0x1d, 0xd2, 0x45, 0x16, 0x28, 0x1a, 0xb1, 0xa2, 0xa1, + 0xdf, 0x84, 0x05, 0xa6, 0x9e, 0x46, 0xd0, 0xe6, 0x9d, 0x30, 0xbe, 0xca, 0x67, 0x7e, 0xbb, 0xa0, + 0xdf, 0x57, 0x44, 0xa5, 0x3d, 0x9c, 0x40, 0xc5, 0x03, 0x7c, 0x44, 0xcc, 0xd5, 0x4b, 0xfa, 0x32, + 0x1d, 0x8b, 0x5c, 0x1f, 0xd3, 0x71, 0xaa, 0x98, 0x6b, 0xa0, 0x19, 0x0f, 0x32, 0x42, 0x6d, 0x98, + 0x31, 0x5f, 0x5d, 0x69, 0x5d, 0xba, 0x9a, 0xfd, 0x79, 0x97, 0xba, 0xca, 0x31, 0x5b, 0x70, 0x0c, + 0xd9, 0x3e, 0x2e, 0x40, 0xc9, 0x50, 0xbe, 0x44, 0xb9, 0x64, 0xf6, 0x7c, 0xca, 0x25, 0xe9, 0xd1, + 0x7d, 0x69, 0xac, 0xe8, 0xfe, 0x4a, 0x3c, 0xba, 0xff, 0x7a, 0x32, 0xba, 0x07, 0xb9, 0xba, 0x58, + 0x64, 0xef, 0xc3, 0x9c, 0x0e, 0x73, 0x83, 0xe7, 0x73, 0x99, 0xf2, 0xa5, 0xc1, 0x60, 0x1a, 0x89, + 0x13, 0xf9, 0x4e, 0x0c, 0x12, 0x27, 0x58, 0x88, 0x13, 0x5d, 0xb7, 0xd4, 0xfb, 0xdd, 0x2e, 0x61, + 0x47, 0xcb, 0x33, 0x72, 0xc2, 0xe1, 0x89, 0x7e, 0x27, 0x46, 0xc5, 0x89, 0xde, 0x68, 0x1b, 0x0a, + 0x2a, 0x4a, 0xd6, 0x4f, 0xb2, 0x5e, 0xc9, 0x12, 0x80, 0xab, 0x88, 0x46, 0xfd, 0xc6, 0x1a, 0xc7, + 0x4c, 0x70, 0x8a, 0xa7, 0x24, 0x38, 0xf7, 0x01, 0x79, 0x7b, 0x32, 0x76, 0x6a, 0xde, 0x55, 0x5f, + 0xeb, 0x09, 0xad, 0x2c, 0xc8, 0xe8, 0x39, 0xdc, 0xb0, 0x07, 0x03, 0x3d, 0x70, 0xca, 0x28, 0x61, + 0xd5, 0x3a, 0xb4, 0x0e, 0x4d, 0x41, 0x27, 0x33, 0x59, 0x43, 0xc2, 0x28, 0x6f, 0x5a, 0x12, 0x56, + 0x5d, 0x4b, 0xa0, 0xe2, 0x01, 0x3e, 0xe8, 0x7b, 0x30, 0x2b, 0x54, 0x28, 0x62, 0x0c, 0x4f, 0xc8, + 0x78, 0xf1, 0xe4, 0x78, 0x6d, 0x76, 0xcb, 0x84, 0xc4, 0x71, 0x0e, 0xf6, 0x1f, 0xe7, 0x21, 0x3d, + 0xb0, 0x8f, 0x5e, 0x13, 0x5b, 0x8f, 0x79, 0x4d, 0xfc, 0x2e, 0x14, 0x7d, 0x4e, 0x98, 0x7a, 0x39, + 0x9d, 0x1b, 0xef, 0xe5, 0x74, 0x3d, 0x00, 0xc0, 0x11, 0x56, 0x22, 0xcb, 0xca, 0x9f, 0x69, 0x96, + 0x75, 0x15, 0x40, 0xc6, 0xa3, 0x35, 0xaf, 0xaf, 0xef, 0x55, 0x66, 0x23, 0x9f, 0x70, 0x3b, 0xa4, + 0x60, 0xa3, 0x17, 0xba, 0x11, 0x1e, 0x9c, 0xea, 0x22, 0xe5, 0xf2, 0xc0, 0x45, 0x70, 0x32, 0x4f, + 0x4f, 0xf9, 0x68, 0xed, 0x94, 0x87, 0x23, 0xf6, 0xff, 0xe6, 0x20, 0xe6, 0x0c, 0xd1, 0x0f, 0x2d, + 0x58, 0x24, 0x89, 0xef, 0xfe, 0x82, 0x58, 0xf2, 0xd7, 0xb2, 0x7d, 0x8c, 0x39, 0xf0, 0xd9, 0x60, + 0x54, 0xba, 0x4e, 0x76, 0xf1, 0xf1, 0x20, 0x53, 0xf4, 0x87, 0x16, 0x5c, 0x24, 0x83, 0x1f, 0x76, + 0xea, 0x4d, 0x7f, 0x73, 0xec, 0x2f, 0x43, 0xab, 0xcf, 0x9e, 0x1c, 0xaf, 0xa5, 0x7d, 0xf2, 0x8a, + 0xd3, 0xd8, 0xa1, 0xf7, 0x60, 0x82, 0xb0, 0x56, 0x50, 0xe6, 0xc9, 0xce, 0x36, 0xf8, 0x5e, 0x37, + 0x8a, 0x8e, 0x2a, 0xac, 0xe5, 0x63, 0x09, 0x6a, 0xff, 0x2c, 0x0f, 0x0b, 0xc9, 0xd7, 0xc7, 0xfa, + 0x6d, 0xd1, 0x44, 0xea, 0xdb, 0x22, 0x61, 0x23, 0x0d, 0x1e, 0x3e, 0xf4, 0x89, 0x6c, 0x44, 0x34, + 0x62, 0x45, 0x0b, 0x6d, 0x44, 0xe8, 0xa5, 0x2e, 0xc0, 0x8c, 0x67, 0x23, 0xe2, 0x4f, 0x1c, 0x61, + 0xa1, 0x1b, 0xf1, 0xb3, 0xc5, 0x4e, 0x9e, 0x2d, 0x8b, 0xe6, 0x5a, 0xc6, 0x2d, 0x1e, 0x75, 0xa1, + 0x64, 0xec, 0x83, 0xb6, 0xc4, 0x9b, 0x99, 0xe5, 0x1e, 0xa9, 0xdd, 0xbc, 0xfa, 0xe8, 0x37, 0xa2, + 0x98, 0xf8, 0x91, 0xdd, 0x4b, 0x69, 0x3d, 0x51, 0x75, 0x45, 0x8a, 0xcb, 0x40, 0xb3, 0xff, 0xdd, + 0x82, 0xd9, 0xd8, 0x83, 0x37, 0xc1, 0x2d, 0x78, 0x58, 0x38, 0xfe, 0x67, 0xb0, 0xbb, 0x21, 0x02, + 0x36, 0xd0, 0xd0, 0x77, 0xa1, 0xd4, 0xf1, 0xdc, 0x16, 0xf5, 0x79, 0xdd, 0x23, 0x07, 0xda, 0x4e, + 0xb2, 0xa6, 0xdf, 0xcb, 0x27, 0xc7, 0x6b, 0x4b, 0x5b, 0x0a, 0xa6, 0xe6, 0x75, 0x7b, 0x1d, 0xca, + 0x69, 0x53, 0xe0, 0x61, 0x13, 0x5c, 0x5e, 0xc0, 0xbc, 0x4b, 0x18, 0x6d, 0x7b, 0x7d, 0x9f, 0x7e, + 0x55, 0x2f, 0x60, 0xc2, 0x09, 0x9e, 0xf5, 0x05, 0x4c, 0x04, 0x7c, 0xfa, 0x05, 0x4c, 0xd8, 0xf7, + 0x2b, 0x7b, 0x01, 0x13, 0xce, 0x70, 0x48, 0xa6, 0xf2, 0x3f, 0x39, 0x63, 0x15, 0xf1, 0x6c, 0x25, + 0xf7, 0x98, 0x6c, 0xe5, 0x7d, 0x98, 0x76, 0x5c, 0x4e, 0xd9, 0x21, 0xe9, 0xe8, 0x12, 0x57, 0x56, + 0x5d, 0x0c, 0x97, 0xba, 0xa9, 0x71, 0x70, 0x88, 0x88, 0x3a, 0x70, 0x29, 0x28, 0xcd, 0x32, 0x4a, + 0xa2, 0xab, 0x21, 0xfd, 0xbc, 0xe2, 0x8d, 0xa0, 0x86, 0x78, 0x27, 0xad, 0xd3, 0xa3, 0x61, 0x04, + 0x9c, 0x0e, 0x8a, 0x7c, 0x98, 0xf5, 0x8d, 0x34, 0x3d, 0x38, 0x11, 0x47, 0x2c, 0x6b, 0x27, 0x2b, + 0x1b, 0xc6, 0x9b, 0x0c, 0x13, 0x14, 0xc7, 0x79, 0xd8, 0xff, 0x92, 0x87, 0xf9, 0x84, 0xa6, 0x25, + 0xd2, 0x91, 0xe2, 0xd3, 0x4c, 0x47, 0x0a, 0x63, 0xa5, 0x23, 0xe9, 0x91, 0xf2, 0xc4, 0x58, 0x91, + 0xf2, 0x5b, 0x2a, 0x5a, 0xd5, 0x3b, 0xb7, 0xb9, 0xa1, 0x9f, 0xb0, 0x86, 0xd2, 0xdc, 0x32, 0x89, + 0x38, 0xde, 0x57, 0x86, 0x13, 0xcd, 0xc1, 0x8f, 0x60, 0x75, 0xa8, 0xfd, 0x66, 0xd6, 0x37, 0x48, + 0x21, 0x80, 0x0a, 0x27, 0x52, 0x08, 0x38, 0x8d, 0x5d, 0xf5, 0xfe, 0x67, 0x5f, 0xae, 0x5e, 0xf8, + 0xfc, 0xcb, 0xd5, 0x0b, 0x5f, 0x7c, 0xb9, 0x7a, 0xe1, 0x07, 0x27, 0xab, 0xd6, 0x67, 0x27, 0xab, + 0xd6, 0xe7, 0x27, 0xab, 0xd6, 0x17, 0x27, 0xab, 0xd6, 0x7f, 0x9e, 0xac, 0x5a, 0x3f, 0xfa, 0xf9, + 0xea, 0x85, 0x87, 0xcf, 0x8f, 0xf2, 0x6f, 0x56, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x4e, + 0x56, 0x25, 0x8d, 0x45, 0x00, 0x00, } func (m *AnalysisRunArgument) Marshal() (dAtA []byte, err error) { @@ -2425,6 +2463,41 @@ func (m *ChartSubscription) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *CurrentStage) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CurrentStage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CurrentStage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Since != nil { + { + size, err := m.Since.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *DiscoveredArtifacts) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3009,6 +3082,18 @@ func (m *FreightSources) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.VerifiedFor != nil { + { + size, err := m.VerifiedFor.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } if len(m.Stages) > 0 { for iNdEx := len(m.Stages) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Stages[iNdEx]) @@ -3049,6 +3134,35 @@ func (m *FreightStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.CurrentlyIn) > 0 { + keysForCurrentlyIn := make([]string, 0, len(m.CurrentlyIn)) + for k := range m.CurrentlyIn { + keysForCurrentlyIn = append(keysForCurrentlyIn, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForCurrentlyIn) + for iNdEx := len(keysForCurrentlyIn) - 1; iNdEx >= 0; iNdEx-- { + v := m.CurrentlyIn[string(keysForCurrentlyIn[iNdEx])] + baseI := i + { + size, err := (&v).MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + i -= len(keysForCurrentlyIn[iNdEx]) + copy(dAtA[i:], keysForCurrentlyIn[iNdEx]) + i = encodeVarintGenerated(dAtA, i, uint64(len(keysForCurrentlyIn[iNdEx]))) + i-- + dAtA[i] = 0xa + i = encodeVarintGenerated(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1a + } + } if len(m.ApprovedFor) > 0 { keysForApprovedFor := make([]string, 0, len(m.ApprovedFor)) for k := range m.ApprovedFor { @@ -4914,6 +5028,18 @@ func (m *VerifiedStage) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.LongestCompletedSoak != nil { + { + size, err := m.LongestCompletedSoak.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } if m.VerifiedAt != nil { { size, err := m.VerifiedAt.MarshalToSizedBuffer(dAtA[:i]) @@ -5337,6 +5463,19 @@ func (m *ChartSubscription) Size() (n int) { return n } +func (m *CurrentStage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Since != nil { + l = m.Since.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *DiscoveredArtifacts) Size() (n int) { if m == nil { return 0 @@ -5558,6 +5697,10 @@ func (m *FreightSources) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + if m.VerifiedFor != nil { + l = m.VerifiedFor.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -5585,6 +5728,15 @@ func (m *FreightStatus) Size() (n int) { n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) } } + if len(m.CurrentlyIn) > 0 { + for k, v := range m.CurrentlyIn { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } return n } @@ -6266,6 +6418,10 @@ func (m *VerifiedStage) Size() (n int) { l = m.VerifiedAt.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.LongestCompletedSoak != nil { + l = m.LongestCompletedSoak.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -6500,6 +6656,16 @@ func (this *ChartSubscription) String() string { }, "") return s } +func (this *CurrentStage) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CurrentStage{`, + `Since:` + strings.Replace(fmt.Sprintf("%v", this.Since), "Time", "v1.Time", 1) + `,`, + `}`, + }, "") + return s +} func (this *DiscoveredArtifacts) String() string { if this == nil { return "nil" @@ -6678,6 +6844,7 @@ func (this *FreightSources) String() string { s := strings.Join([]string{`&FreightSources{`, `Direct:` + fmt.Sprintf("%v", this.Direct) + `,`, `Stages:` + fmt.Sprintf("%v", this.Stages) + `,`, + `VerifiedFor:` + strings.Replace(fmt.Sprintf("%v", this.VerifiedFor), "Duration", "v1.Duration", 1) + `,`, `}`, }, "") return s @@ -6706,9 +6873,20 @@ func (this *FreightStatus) String() string { mapStringForApprovedFor += fmt.Sprintf("%v: %v,", k, this.ApprovedFor[k]) } mapStringForApprovedFor += "}" + keysForCurrentlyIn := make([]string, 0, len(this.CurrentlyIn)) + for k := range this.CurrentlyIn { + keysForCurrentlyIn = append(keysForCurrentlyIn, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForCurrentlyIn) + mapStringForCurrentlyIn := "map[string]CurrentStage{" + for _, k := range keysForCurrentlyIn { + mapStringForCurrentlyIn += fmt.Sprintf("%v: %v,", k, this.CurrentlyIn[k]) + } + mapStringForCurrentlyIn += "}" s := strings.Join([]string{`&FreightStatus{`, `VerifiedIn:` + mapStringForVerifiedIn + `,`, `ApprovedFor:` + mapStringForApprovedFor + `,`, + `CurrentlyIn:` + mapStringForCurrentlyIn + `,`, `}`, }, "") return s @@ -7214,6 +7392,7 @@ func (this *VerifiedStage) String() string { } s := strings.Join([]string{`&VerifiedStage{`, `VerifiedAt:` + strings.Replace(fmt.Sprintf("%v", this.VerifiedAt), "Time", "v1.Time", 1) + `,`, + `LongestCompletedSoak:` + strings.Replace(fmt.Sprintf("%v", this.LongestCompletedSoak), "Duration", "v1.Duration", 1) + `,`, `}`, }, "") return s @@ -8952,6 +9131,92 @@ func (m *ChartSubscription) Unmarshal(dAtA []byte) error { } return nil } +func (m *CurrentStage) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CurrentStage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CurrentStage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Since", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Since == nil { + m.Since = &v1.Time{} + } + if err := m.Since.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *DiscoveredArtifacts) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -10770,6 +11035,42 @@ func (m *FreightSources) Unmarshal(dAtA []byte) error { } m.Stages = append(m.Stages, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VerifiedFor", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.VerifiedFor == nil { + m.VerifiedFor = &v1.Duration{} + } + if err := m.VerifiedFor.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -11078,6 +11379,135 @@ func (m *FreightStatus) Unmarshal(dAtA []byte) error { } m.ApprovedFor[mapkey] = *mapvalue iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentlyIn", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CurrentlyIn == nil { + m.CurrentlyIn = make(map[string]CurrentStage) + } + var mapkey string + mapvalue := &CurrentStage{} + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGenerated + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &CurrentStage{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.CurrentlyIn[mapkey] = *mapvalue + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -16768,6 +17198,42 @@ func (m *VerifiedStage) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LongestCompletedSoak", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LongestCompletedSoak == nil { + m.LongestCompletedSoak = &v1.Duration{} + } + if err := m.LongestCompletedSoak.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/api/v1alpha1/generated.proto b/api/v1alpha1/generated.proto index 68f952b83..0a23e81e3 100644 --- a/api/v1alpha1/generated.proto +++ b/api/v1alpha1/generated.proto @@ -181,6 +181,14 @@ message ChartSubscription { optional int32 discoveryLimit = 4; } +// CurrentStage reflects a Stage's current use of Freight. +message CurrentStage { + // Since is the time at which the Stage most recently started using the + // Freight. This can be used to calculate how long the Freight has been in use + // by the Stage. + optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time since = 1; +} + // DiscoveredArtifacts holds the artifacts discovered by the Warehouse for its // subscriptions. message DiscoveredArtifacts { @@ -335,7 +343,7 @@ message FreightOrigin { optional string kind = 1; // Name is the name of the resource of the kind indicated by the Kind field - // from which Freight may originated. + // from which Freight may originate. // // +kubebuilder:validation:Required optional string name = 2; @@ -388,10 +396,22 @@ message FreightSources { // Direct field must be true. i.e. Between the two fields, at least on source // must be specified. repeated string stages = 2; + + // VerifiedFor specifies the duration for which the requested Freight must + // have been verified in the upstream Stages before it can be considered + // for promotion to this Stage. This is an optional field, and if not set, + // the default value is "0s" (i.e. immediate promotion is allowed). + // + // +kubebuilder:validation:Type=string + // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(s|m|h))+$" + optional .k8s.io.apimachinery.pkg.apis.meta.v1.Duration verifiedFor = 3; } // FreightStatus describes a piece of Freight's most recently observed state. message FreightStatus { + // CurrentlyIn describes the Stages in which this Freight is currently in use. + map currentlyIn = 3; + // VerifiedIn describes the Stages in which this Freight has been verified // through promotion and subsequent health checks. map verifiedIn = 1; @@ -1201,6 +1221,13 @@ message VerificationInfo { message VerifiedStage { // VerifiedAt is the time at which the Freight was verified in the Stage. optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time verifiedAt = 1; + + // LongestCompletedSoak represents the longest definite time interval wherein + // the Freight was in CONTINUOUS use by the Stage. This value is updated as + // Freight EXITS the Stage. If the Freight is currently in use by the Stage, + // the time elapsed since the Freight ENTERED the Stage is its current soak + // time, which may exceed the value of this field. + optional .k8s.io.apimachinery.pkg.apis.meta.v1.Duration longestSoak = 2; } // Warehouse is a source of Freight. diff --git a/api/v1alpha1/zz_generated.deepcopy.go b/api/v1alpha1/zz_generated.deepcopy.go index 517d1627b..82f2180be 100644 --- a/api/v1alpha1/zz_generated.deepcopy.go +++ b/api/v1alpha1/zz_generated.deepcopy.go @@ -205,6 +205,25 @@ func (in *ChartSubscription) DeepCopy() *ChartSubscription { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CurrentStage) DeepCopyInto(out *CurrentStage) { + *out = *in + if in.Since != nil { + in, out := &in.Since, &out.Since + *out = (*in).DeepCopy() + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CurrentStage. +func (in *CurrentStage) DeepCopy() *CurrentStage { + if in == nil { + return nil + } + out := new(CurrentStage) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DiscoveredArtifacts) DeepCopyInto(out *DiscoveredArtifacts) { *out = *in @@ -479,6 +498,11 @@ func (in *FreightSources) DeepCopyInto(out *FreightSources) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.VerifiedFor != nil { + in, out := &in.VerifiedFor, &out.VerifiedFor + *out = new(v1.Duration) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightSources. @@ -494,6 +518,13 @@ func (in *FreightSources) DeepCopy() *FreightSources { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FreightStatus) DeepCopyInto(out *FreightStatus) { *out = *in + if in.CurrentlyIn != nil { + in, out := &in.CurrentlyIn, &out.CurrentlyIn + *out = make(map[string]CurrentStage, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } if in.VerifiedIn != nil { in, out := &in.VerifiedIn, &out.VerifiedIn *out = make(map[string]VerifiedStage, len(*in)) @@ -1379,6 +1410,11 @@ func (in *VerifiedStage) DeepCopyInto(out *VerifiedStage) { in, out := &in.VerifiedAt, &out.VerifiedAt *out = (*in).DeepCopy() } + if in.LongestCompletedSoak != nil { + in, out := &in.LongestCompletedSoak, &out.LongestCompletedSoak + *out = new(v1.Duration) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerifiedStage. diff --git a/charts/kargo/resources/crds/kargo.akuity.io_freights.yaml b/charts/kargo/resources/crds/kargo.akuity.io_freights.yaml index e0a8d638c..b2840cd47 100644 --- a/charts/kargo/resources/crds/kargo.akuity.io_freights.yaml +++ b/charts/kargo/resources/crds/kargo.akuity.io_freights.yaml @@ -160,7 +160,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -187,11 +187,34 @@ spec: might wish to promote a piece of Freight to a given Stage without transiting the entire pipeline. type: object + currentlyIn: + additionalProperties: + description: CurrentStage reflects a Stage's current use of Freight. + properties: + since: + description: |- + Since is the time at which the Stage most recently started using the + Freight. This can be used to calculate how long the Freight has been in use + by the Stage. + format: date-time + type: string + type: object + description: CurrentlyIn describes the Stages in which this Freight + is currently in use. + type: object verifiedIn: additionalProperties: description: VerifiedStage describes a Stage in which Freight has been verified. properties: + longestSoak: + description: |- + LongestCompletedSoak represents the longest definite time interval wherein + the Freight was in CONTINUOUS use by the Stage. This value is updated as + Freight EXITS the Stage. If the Freight is currently in use by the Stage, + the time elapsed since the Freight ENTERED the Stage is its current soak + time, which may exceed the value of this field. + type: string verifiedAt: description: VerifiedAt is the time at which the Freight was verified in the Stage. diff --git a/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml b/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml index 8c8c53216..a25489d24 100644 --- a/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml +++ b/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml @@ -306,7 +306,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -441,7 +441,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind diff --git a/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml b/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml index fabd57e02..ae5872bea 100644 --- a/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml +++ b/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml @@ -201,7 +201,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -228,6 +228,14 @@ spec: items: type: string type: array + verifiedFor: + description: |- + VerifiedFor specifies the duration for which the requested Freight must + have been verified in the upstream Stages before it can be considered + for promotion to this Stage. This is an optional field, and if not set, + the default value is "0s" (i.e. immediate promotion is allowed). + pattern: ^([0-9]+(\.[0-9]+)?(s|m|h))+$ + type: string type: object required: - origin @@ -493,7 +501,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -634,7 +642,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -771,7 +779,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -1069,7 +1077,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -1310,7 +1318,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -1451,7 +1459,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind @@ -1588,7 +1596,7 @@ spec: name: description: |- Name is the name of the resource of the kind indicated by the Kind field - from which Freight may originated. + from which Freight may originate. type: string required: - kind diff --git a/ui/src/gen/schema/freights.kargo.akuity.io_v1alpha1.json b/ui/src/gen/schema/freights.kargo.akuity.io_v1alpha1.json index fb8b7ebce..d55e9a73a 100644 --- a/ui/src/gen/schema/freights.kargo.akuity.io_v1alpha1.json +++ b/ui/src/gen/schema/freights.kargo.akuity.io_v1alpha1.json @@ -114,7 +114,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -142,10 +142,29 @@ "description": "ApprovedFor describes the Stages for which this Freight has been approved\npreemptively/manually by a user. This is useful for hotfixes, where one\nmight wish to promote a piece of Freight to a given Stage without\ntransiting the entire pipeline.", "type": "object" }, + "currentlyIn": { + "additionalProperties": { + "description": "CurrentStage reflects a Stage's current use of Freight.", + "properties": { + "since": { + "description": "Since is the time at which the Stage most recently started using the\nFreight. This can be used to calculate how long the Freight has been in use\nby the Stage.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "description": "CurrentlyIn describes the Stages in which this Freight is currently in use.", + "type": "object" + }, "verifiedIn": { "additionalProperties": { "description": "VerifiedStage describes a Stage in which Freight has been verified.", "properties": { + "longestSoak": { + "description": "LongestCompletedSoak represents the longest definite time interval wherein\nthe Freight was in CONTINUOUS use by the Stage. This value is updated as\nFreight EXITS the Stage. If the Freight is currently in use by the Stage,\nthe time elapsed since the Freight ENTERED the Stage is its current soak\ntime, which may exceed the value of this field.", + "type": "string" + }, "verifiedAt": { "description": "VerifiedAt is the time at which the Freight was verified in the Stage.", "format": "date-time", diff --git a/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json b/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json index c28cf84a2..6b4d0dd12 100644 --- a/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json +++ b/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json @@ -220,7 +220,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -345,7 +345,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, diff --git a/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json b/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json index c912502af..1dd397c45 100644 --- a/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json +++ b/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json @@ -115,7 +115,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -138,6 +138,11 @@ "type": "string" }, "type": "array" + }, + "verifiedFor": { + "description": "VerifiedFor specifies the duration for which the requested Freight must\nhave been verified in the upstream Stages before it can be considered\nfor promotion to this Stage. This is an optional field, and if not set,\nthe default value is \"0s\" (i.e. immediate promotion is allowed).", + "pattern": "^([0-9]+(\\.[0-9]+)?(s|m|h))+$", + "type": "string" } }, "type": "object" @@ -402,7 +407,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -538,7 +543,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -663,7 +668,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -944,7 +949,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -1172,7 +1177,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -1308,7 +1313,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, @@ -1433,7 +1438,7 @@ "type": "string" }, "name": { - "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originated.", + "description": "Name is the name of the resource of the kind indicated by the Kind field\nfrom which Freight may originate.", "type": "string" } }, diff --git a/ui/src/gen/v1alpha1/generated_pb.ts b/ui/src/gen/v1alpha1/generated_pb.ts index df665a5c3..c5b8c96c0 100644 --- a/ui/src/gen/v1alpha1/generated_pb.ts +++ b/ui/src/gen/v1alpha1/generated_pb.ts @@ -18,7 +18,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file v1alpha1/generated.proto. */ export const file_v1alpha1_generated: GenFile = /*@__PURE__*/ - fileDesc("Chh2MWFscGhhMS9nZW5lcmF0ZWQucHJvdG8SJGdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMSIyChNBbmFseXNpc1J1bkFyZ3VtZW50EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkisAIKE0FuYWx5c2lzUnVuTWV0YWRhdGESVQoGbGFiZWxzGAEgAygLMkUuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFuYWx5c2lzUnVuTWV0YWRhdGEuTGFiZWxzRW50cnkSXwoLYW5ub3RhdGlvbnMYAiADKAsySi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQW5hbHlzaXNSdW5NZXRhZGF0YS5Bbm5vdGF0aW9uc0VudHJ5Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkYKFEFuYWx5c2lzUnVuUmVmZXJlbmNlEhEKCW5hbWVzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBXBoYXNlGAMgASgJIikKGUFuYWx5c2lzVGVtcGxhdGVSZWZlcmVuY2USDAoEbmFtZRgBIAEoCSJPCg1BcHByb3ZlZFN0YWdlEj4KCmFwcHJvdmVkQXQYASABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSI4ChVBcmdvQ0RBcHBIZWFsdGhTdGF0dXMSDgoGc3RhdHVzGAEgASgJEg8KB21lc3NhZ2UYAiABKAki1AEKD0FyZ29DREFwcFN0YXR1cxIRCgluYW1lc3BhY2UYASABKAkSDAoEbmFtZRgCIAEoCRJRCgxoZWFsdGhTdGF0dXMYAyABKAsyOy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQXJnb0NEQXBwSGVhbHRoU3RhdHVzEk0KCnN5bmNTdGF0dXMYBCABKAsyOS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQXJnb0NEQXBwU3luY1N0YXR1cyJKChNBcmdvQ0RBcHBTeW5jU3RhdHVzEg4KBnN0YXR1cxgBIAEoCRIQCghyZXZpc2lvbhgCIAEoCRIRCglyZXZpc2lvbnMYAyADKAkiNwoFQ2hhcnQSDwoHcmVwb1VSTBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkiYQoUQ2hhcnREaXNjb3ZlcnlSZXN1bHQSDwoHcmVwb1VSTBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKEHNlbXZlckNvbnN0cmFpbnQYAyABKAkSEAoIdmVyc2lvbnMYBCADKAkiZAoRQ2hhcnRTdWJzY3JpcHRpb24SDwoHcmVwb1VSTBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKEHNlbXZlckNvbnN0cmFpbnQYAyABKAkSFgoOZGlzY292ZXJ5TGltaXQYBCABKAUitgIKE0Rpc2NvdmVyZWRBcnRpZmFjdHMSQAoMZGlzY292ZXJlZEF0GAQgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUSRQoDZ2l0GAEgAygLMjguZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkdpdERpc2NvdmVyeVJlc3VsdBJKCgZpbWFnZXMYAiADKAsyOi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuSW1hZ2VEaXNjb3ZlcnlSZXN1bHQSSgoGY2hhcnRzGAMgAygLMjouZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkNoYXJ0RGlzY292ZXJ5UmVzdWx0IrABChBEaXNjb3ZlcmVkQ29tbWl0EgoKAmlkGAEgASgJEg4KBmJyYW5jaBgCIAEoCRILCgN0YWcYAyABKAkSDwoHc3ViamVjdBgEIAEoCRIOCgZhdXRob3IYBSABKAkSEQoJY29tbWl0dGVyGAYgASgJEj8KC2NyZWF0b3JEYXRlGAcgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUiigEKGERpc2NvdmVyZWRJbWFnZVJlZmVyZW5jZRILCgN0YWcYASABKAkSDgoGZGlnZXN0GAIgASgJEhIKCmdpdFJlcG9VUkwYAyABKAkSPQoJY3JlYXRlZEF0GAQgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUiogMKB0ZyZWlnaHQSQgoIbWV0YWRhdGEYASABKAsyMC5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuT2JqZWN0TWV0YRINCgVhbGlhcxgHIAEoCRJDCgZvcmlnaW4YCSABKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodE9yaWdpbhJACgdjb21taXRzGAMgAygLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkdpdENvbW1pdBI7CgZpbWFnZXMYBCADKAsyKy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuSW1hZ2USOwoGY2hhcnRzGAUgAygLMisuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkNoYXJ0EkMKBnN0YXR1cxgGIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0U3RhdHVzIq0CChFGcmVpZ2h0Q29sbGVjdGlvbhIKCgJpZBgDIAEoCRJRCgVpdGVtcxgBIAMoCzJCLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0Q29sbGVjdGlvbi5JdGVtc0VudHJ5ElMKE3ZlcmlmaWNhdGlvbkhpc3RvcnkYAiADKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuVmVyaWZpY2F0aW9uSW5mbxpkCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRJFCgV2YWx1ZRgCIAEoCzI2LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0UmVmZXJlbmNlOgI4ASKNAQoLRnJlaWdodExpc3QSQAoIbWV0YWRhdGEYASABKAsyLi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuTGlzdE1ldGESPAoFaXRlbXMYAiADKAsyLS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodCIrCg1GcmVpZ2h0T3JpZ2luEgwKBGtpbmQYASABKAkSDAoEbmFtZRgCIAEoCSKhAgoQRnJlaWdodFJlZmVyZW5jZRIMCgRuYW1lGAEgASgJEkMKBm9yaWdpbhgIIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0T3JpZ2luEkAKB2NvbW1pdHMYAiADKAsyLy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuR2l0Q29tbWl0EjsKBmltYWdlcxgDIAMoCzIrLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5JbWFnZRI7CgZjaGFydHMYBCADKAsyKy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQ2hhcnQinAEKDkZyZWlnaHRSZXF1ZXN0EkMKBm9yaWdpbhgBIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0T3JpZ2luEkUKB3NvdXJjZXMYAiABKAsyNC5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFNvdXJjZXMiMAoORnJlaWdodFNvdXJjZXMSDgoGZGlyZWN0GAEgASgIEg4KBnN0YWdlcxgCIAMoCSKUAwoNRnJlaWdodFN0YXR1cxJXCgp2ZXJpZmllZEluGAEgAygLMkMuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkZyZWlnaHRTdGF0dXMuVmVyaWZpZWRJbkVudHJ5ElkKC2FwcHJvdmVkRm9yGAIgAygLMkQuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkZyZWlnaHRTdGF0dXMuQXBwcm92ZWRGb3JFbnRyeRpmCg9WZXJpZmllZEluRW50cnkSCwoDa2V5GAEgASgJEkIKBXZhbHVlGAIgASgLMjMuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlZlcmlmaWVkU3RhZ2U6AjgBGmcKEEFwcHJvdmVkRm9yRW50cnkSCwoDa2V5GAEgASgJEkIKBXZhbHVlGAIgASgLMjMuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFwcHJvdmVkU3RhZ2U6AjgBInkKCUdpdENvbW1pdBIPCgdyZXBvVVJMGAEgASgJEgoKAmlkGAIgASgJEg4KBmJyYW5jaBgDIAEoCRILCgN0YWcYBCABKAkSDwoHbWVzc2FnZRgGIAEoCRIOCgZhdXRob3IYByABKAkSEQoJY29tbWl0dGVyGAggASgJIm4KEkdpdERpc2NvdmVyeVJlc3VsdBIPCgdyZXBvVVJMGAEgASgJEkcKB2NvbW1pdHMYAiADKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRGlzY292ZXJlZENvbW1pdCKOAgoPR2l0U3Vic2NyaXB0aW9uEg8KB3JlcG9VUkwYASABKAkSHwoXY29tbWl0U2VsZWN0aW9uU3RyYXRlZ3kYAiABKAkSDgoGYnJhbmNoGAMgASgJEhUKDXN0cmljdFNlbXZlcnMYCyABKAgSGAoQc2VtdmVyQ29uc3RyYWludBgEIAEoCRIRCglhbGxvd1RhZ3MYBSABKAkSEgoKaWdub3JlVGFncxgGIAMoCRIdChVpbnNlY3VyZVNraXBUTFNWZXJpZnkYByABKAgSFAoMaW5jbHVkZVBhdGhzGAggAygJEhQKDGV4Y2x1ZGVQYXRocxgJIAMoCRIWCg5kaXNjb3ZlcnlMaW1pdBgKIAEoBSLIAQoGSGVhbHRoEg4KBnN0YXR1cxgBIAEoCRIOCgZpc3N1ZXMYAiADKAkSTgoGY29uZmlnGAQgASgLMj4uazhzLmlvLmFwaWV4dGVuc2lvbnNfYXBpc2VydmVyLnBrZy5hcGlzLmFwaWV4dGVuc2lvbnMudjEuSlNPThJOCgZvdXRwdXQYBSABKAsyPi5rOHMuaW8uYXBpZXh0ZW5zaW9uc19hcGlzZXJ2ZXIucGtnLmFwaXMuYXBpZXh0ZW5zaW9ucy52MS5KU09OIm8KD0hlYWx0aENoZWNrU3RlcBIMCgR1c2VzGAEgASgJEk4KBmNvbmZpZxgCIAEoCzI+Lms4cy5pby5hcGlleHRlbnNpb25zX2FwaXNlcnZlci5wa2cuYXBpcy5hcGlleHRlbnNpb25zLnYxLkpTT04iSQoFSW1hZ2USDwoHcmVwb1VSTBgBIAEoCRISCgpnaXRSZXBvVVJMGAIgASgJEgsKA3RhZxgDIAEoCRIOCgZkaWdlc3QYBCABKAkijQEKFEltYWdlRGlzY292ZXJ5UmVzdWx0Eg8KB3JlcG9VUkwYASABKAkSEAoIcGxhdGZvcm0YAiABKAkSUgoKcmVmZXJlbmNlcxgDIAMoCzI+LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5EaXNjb3ZlcmVkSW1hZ2VSZWZlcmVuY2Ui+QEKEUltYWdlU3Vic2NyaXB0aW9uEg8KB3JlcG9VUkwYASABKAkSEgoKZ2l0UmVwb1VSTBgCIAEoCRIeChZpbWFnZVNlbGVjdGlvblN0cmF0ZWd5GAMgASgJEhUKDXN0cmljdFNlbXZlcnMYCiABKAgSGAoQc2VtdmVyQ29uc3RyYWludBgEIAEoCRIRCglhbGxvd1RhZ3MYBSABKAkSEgoKaWdub3JlVGFncxgGIAMoCRIQCghwbGF0Zm9ybRgHIAEoCRIdChVpbnNlY3VyZVNraXBUTFNWZXJpZnkYCCABKAgSFgoOZGlzY292ZXJ5TGltaXQYCSABKAUi0wEKB1Byb2plY3QSQgoIbWV0YWRhdGEYASABKAsyMC5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuT2JqZWN0TWV0YRI/CgRzcGVjGAIgASgLMjEuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb2plY3RTcGVjEkMKBnN0YXR1cxgDIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9qZWN0U3RhdHVzIo0BCgtQcm9qZWN0TGlzdBJACghtZXRhZGF0YRgBIAEoCzIuLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5MaXN0TWV0YRI8CgVpdGVtcxgCIAMoCzItLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9qZWN0Il8KC1Byb2plY3RTcGVjElAKEXByb21vdGlvblBvbGljaWVzGAEgAygLMjUuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb21vdGlvblBvbGljeSJ0Cg1Qcm9qZWN0U3RhdHVzEkMKCmNvbmRpdGlvbnMYAyADKAsyLy5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuQ29uZGl0aW9uEg0KBXBoYXNlGAEgASgJEg8KB21lc3NhZ2UYAiABKAki2QEKCVByb21vdGlvbhJCCghtZXRhZGF0YRgBIAEoCzIwLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5PYmplY3RNZXRhEkEKBHNwZWMYAiABKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3BlYxJFCgZzdGF0dXMYAyABKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3RhdHVzIpEBCg1Qcm9tb3Rpb25MaXN0EkAKCG1ldGFkYXRhGAEgASgLMi4uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkxpc3RNZXRhEj4KBWl0ZW1zGAIgAygLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb21vdGlvbiI+Cg9Qcm9tb3Rpb25Qb2xpY3kSDQoFc3RhZ2UYASABKAkSHAoUYXV0b1Byb21vdGlvbkVuYWJsZWQYAiABKAgi8gEKElByb21vdGlvblJlZmVyZW5jZRIMCgRuYW1lGAEgASgJEkcKB2ZyZWlnaHQYAiABKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFJlZmVyZW5jZRJFCgZzdGF0dXMYAyABKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3RhdHVzEj4KCmZpbmlzaGVkQXQYBCABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSK6AQoNUHJvbW90aW9uU3BlYxINCgVzdGFnZRgBIAEoCRIPCgdmcmVpZ2h0GAIgASgJEkUKBHZhcnMYBCADKAsyNy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uVmFyaWFibGUSQgoFc3RlcHMYAyADKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3RlcCK3BAoPUHJvbW90aW9uU3RhdHVzEhoKEmxhc3RIYW5kbGVkUmVmcmVzaBgEIAEoCRINCgVwaGFzZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEkcKB2ZyZWlnaHQYBSABKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFJlZmVyZW5jZRJSChFmcmVpZ2h0Q29sbGVjdGlvbhgHIAEoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0Q29sbGVjdGlvbhJLCgxoZWFsdGhDaGVja3MYCCADKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuSGVhbHRoQ2hlY2tTdGVwEj4KCmZpbmlzaGVkQXQYBiABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZRITCgtjdXJyZW50U3RlcBgJIAEoAxJaChVzdGVwRXhlY3V0aW9uTWV0YWRhdGEYCyADKAsyOy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuU3RlcEV4ZWN1dGlvbk1ldGFkYXRhEk0KBXN0YXRlGAogASgLMj4uazhzLmlvLmFwaWV4dGVuc2lvbnNfYXBpc2VydmVyLnBrZy5hcGlzLmFwaWV4dGVuc2lvbnMudjEuSlNPTiLCAQoNUHJvbW90aW9uU3RlcBIMCgR1c2VzGAEgASgJEgoKAmFzGAIgASgJEkcKBXJldHJ5GAQgASgLMjguZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb21vdGlvblN0ZXBSZXRyeRJOCgZjb25maWcYAyABKAsyPi5rOHMuaW8uYXBpZXh0ZW5zaW9uc19hcGlzZXJ2ZXIucGtnLmFwaXMuYXBpZXh0ZW5zaW9ucy52MS5KU09OIm0KElByb21vdGlvblN0ZXBSZXRyeRI/Cgd0aW1lb3V0GAEgASgLMi4uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkR1cmF0aW9uEhYKDmVycm9yVGhyZXNob2xkGAIgASgNIl4KEVByb21vdGlvblRlbXBsYXRlEkkKBHNwZWMYASABKAsyOy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uVGVtcGxhdGVTcGVjIqIBChVQcm9tb3Rpb25UZW1wbGF0ZVNwZWMSRQoEdmFycxgCIAMoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25WYXJpYWJsZRJCCgVzdGVwcxgBIAMoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25TdGVwIjAKEVByb21vdGlvblZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAki5gEKEFJlcG9TdWJzY3JpcHRpb24SQgoDZ2l0GAEgASgLMjUuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkdpdFN1YnNjcmlwdGlvbhJGCgVpbWFnZRgCIAEoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5JbWFnZVN1YnNjcmlwdGlvbhJGCgVjaGFydBgDIAEoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5DaGFydFN1YnNjcmlwdGlvbiLNAQoFU3RhZ2USQgoIbWV0YWRhdGEYASABKAsyMC5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuT2JqZWN0TWV0YRI9CgRzcGVjGAIgASgLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlN0YWdlU3BlYxJBCgZzdGF0dXMYAyABKAsyMS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuU3RhZ2VTdGF0dXMiiQEKCVN0YWdlTGlzdBJACghtZXRhZGF0YRgBIAEoCzIuLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5MaXN0TWV0YRI6CgVpdGVtcxgCIAMoCzIrLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5TdGFnZSKIAgoJU3RhZ2VTcGVjEg0KBXNoYXJkGAQgASgJEk4KEHJlcXVlc3RlZEZyZWlnaHQYBSADKAsyNC5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFJlcXVlc3QSUgoRcHJvbW90aW9uVGVtcGxhdGUYBiABKAsyNy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uVGVtcGxhdGUSSAoMdmVyaWZpY2F0aW9uGAMgASgLMjIuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlZlcmlmaWNhdGlvbiL2AwoLU3RhZ2VTdGF0dXMSQwoKY29uZGl0aW9ucxgNIAMoCzIvLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5Db25kaXRpb24SGgoSbGFzdEhhbmRsZWRSZWZyZXNoGAsgASgJEg0KBXBoYXNlGAEgASgJEk8KDmZyZWlnaHRIaXN0b3J5GAQgAygLMjcuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkZyZWlnaHRDb2xsZWN0aW9uEhYKDmZyZWlnaHRTdW1tYXJ5GAwgASgJEjwKBmhlYWx0aBgIIAEoCzIsLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5IZWFsdGgSDwoHbWVzc2FnZRgJIAEoCRIaChJvYnNlcnZlZEdlbmVyYXRpb24YBiABKAMSUgoQY3VycmVudFByb21vdGlvbhgHIAEoCzI4LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25SZWZlcmVuY2USTwoNbGFzdFByb21vdGlvbhgKIAEoCzI4LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25SZWZlcmVuY2Ui2gEKFVN0ZXBFeGVjdXRpb25NZXRhZGF0YRINCgVhbGlhcxgBIAEoCRI9CglzdGFydGVkQXQYAiABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZRI+CgpmaW5pc2hlZEF0GAMgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUSEgoKZXJyb3JDb3VudBgEIAEoDRIOCgZzdGF0dXMYBSABKAkSDwoHbWVzc2FnZRgGIAEoCSKLAgoMVmVyaWZpY2F0aW9uEloKEWFuYWx5c2lzVGVtcGxhdGVzGAEgAygLMj8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFuYWx5c2lzVGVtcGxhdGVSZWZlcmVuY2USVgoTYW5hbHlzaXNSdW5NZXRhZGF0YRgCIAEoCzI5LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5BbmFseXNpc1J1bk1ldGFkYXRhEkcKBGFyZ3MYAyADKAsyOS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQW5hbHlzaXNSdW5Bcmd1bWVudCKdAgoQVmVyaWZpY2F0aW9uSW5mbxIKCgJpZBgEIAEoCRINCgVhY3RvchgHIAEoCRI9CglzdGFydFRpbWUYBSABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZRINCgVwaGFzZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEk8KC2FuYWx5c2lzUnVuGAMgASgLMjouZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFuYWx5c2lzUnVuUmVmZXJlbmNlEj4KCmZpbmlzaFRpbWUYBiABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSJPCg1WZXJpZmllZFN0YWdlEj4KCnZlcmlmaWVkQXQYASABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSLZAQoJV2FyZWhvdXNlEkIKCG1ldGFkYXRhGAEgASgLMjAuazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLk9iamVjdE1ldGESQQoEc3BlYxgCIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5XYXJlaG91c2VTcGVjEkUKBnN0YXR1cxgDIAEoCzI1LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5XYXJlaG91c2VTdGF0dXMikQEKDVdhcmVob3VzZUxpc3QSQAoIbWV0YWRhdGEYASABKAsyLi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuTGlzdE1ldGESPgoFaXRlbXMYAiADKAsyLy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuV2FyZWhvdXNlIs4BCg1XYXJlaG91c2VTcGVjEg0KBXNoYXJkGAIgASgJEkAKCGludGVydmFsGAQgASgLMi4uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkR1cmF0aW9uEh0KFWZyZWlnaHRDcmVhdGlvblBvbGljeRgDIAEoCRJNCg1zdWJzY3JpcHRpb25zGAEgAygLMjYuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlJlcG9TdWJzY3JpcHRpb24i/QEKD1dhcmVob3VzZVN0YXR1cxJDCgpjb25kaXRpb25zGAkgAygLMi8uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkNvbmRpdGlvbhIaChJsYXN0SGFuZGxlZFJlZnJlc2gYBiABKAkSGgoSb2JzZXJ2ZWRHZW5lcmF0aW9uGAQgASgDEhUKDWxhc3RGcmVpZ2h0SUQYCCABKAkSVgoTZGlzY292ZXJlZEFydGlmYWN0cxgHIAEoCzI5LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5EaXNjb3ZlcmVkQXJ0aWZhY3RzQpcCCihjb20uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExQg5HZW5lcmF0ZWRQcm90b1ABWiRnaXRodWIuY29tL2FrdWl0eS9rYXJnby9hcGkvdjFhbHBoYTGiAgVHQ0FLQaoCJEdpdGh1Yi5Db20uQWt1aXR5LkthcmdvLkFwaS5WMWFscGhhMcoCJEdpdGh1YlxDb21cQWt1aXR5XEthcmdvXEFwaVxWMWFscGhhMeICMEdpdGh1YlxDb21cQWt1aXR5XEthcmdvXEFwaVxWMWFscGhhMVxHUEJNZXRhZGF0YeoCKUdpdGh1Yjo6Q29tOjpBa3VpdHk6OkthcmdvOjpBcGk6OlYxYWxwaGEx", [file_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1_generated, file_k8s_io_apimachinery_pkg_apis_meta_v1_generated, file_k8s_io_apimachinery_pkg_runtime_generated, file_k8s_io_apimachinery_pkg_runtime_schema_generated]); + fileDesc("Chh2MWFscGhhMS9nZW5lcmF0ZWQucHJvdG8SJGdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMSIyChNBbmFseXNpc1J1bkFyZ3VtZW50EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkisAIKE0FuYWx5c2lzUnVuTWV0YWRhdGESVQoGbGFiZWxzGAEgAygLMkUuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFuYWx5c2lzUnVuTWV0YWRhdGEuTGFiZWxzRW50cnkSXwoLYW5ub3RhdGlvbnMYAiADKAsySi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQW5hbHlzaXNSdW5NZXRhZGF0YS5Bbm5vdGF0aW9uc0VudHJ5Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkYKFEFuYWx5c2lzUnVuUmVmZXJlbmNlEhEKCW5hbWVzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBXBoYXNlGAMgASgJIikKGUFuYWx5c2lzVGVtcGxhdGVSZWZlcmVuY2USDAoEbmFtZRgBIAEoCSJPCg1BcHByb3ZlZFN0YWdlEj4KCmFwcHJvdmVkQXQYASABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSI4ChVBcmdvQ0RBcHBIZWFsdGhTdGF0dXMSDgoGc3RhdHVzGAEgASgJEg8KB21lc3NhZ2UYAiABKAki1AEKD0FyZ29DREFwcFN0YXR1cxIRCgluYW1lc3BhY2UYASABKAkSDAoEbmFtZRgCIAEoCRJRCgxoZWFsdGhTdGF0dXMYAyABKAsyOy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQXJnb0NEQXBwSGVhbHRoU3RhdHVzEk0KCnN5bmNTdGF0dXMYBCABKAsyOS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQXJnb0NEQXBwU3luY1N0YXR1cyJKChNBcmdvQ0RBcHBTeW5jU3RhdHVzEg4KBnN0YXR1cxgBIAEoCRIQCghyZXZpc2lvbhgCIAEoCRIRCglyZXZpc2lvbnMYAyADKAkiNwoFQ2hhcnQSDwoHcmVwb1VSTBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkiYQoUQ2hhcnREaXNjb3ZlcnlSZXN1bHQSDwoHcmVwb1VSTBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKEHNlbXZlckNvbnN0cmFpbnQYAyABKAkSEAoIdmVyc2lvbnMYBCADKAkiZAoRQ2hhcnRTdWJzY3JpcHRpb24SDwoHcmVwb1VSTBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKEHNlbXZlckNvbnN0cmFpbnQYAyABKAkSFgoOZGlzY292ZXJ5TGltaXQYBCABKAUiSQoMQ3VycmVudFN0YWdlEjkKBXNpbmNlGAEgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUitgIKE0Rpc2NvdmVyZWRBcnRpZmFjdHMSQAoMZGlzY292ZXJlZEF0GAQgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUSRQoDZ2l0GAEgAygLMjguZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkdpdERpc2NvdmVyeVJlc3VsdBJKCgZpbWFnZXMYAiADKAsyOi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuSW1hZ2VEaXNjb3ZlcnlSZXN1bHQSSgoGY2hhcnRzGAMgAygLMjouZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkNoYXJ0RGlzY292ZXJ5UmVzdWx0IrABChBEaXNjb3ZlcmVkQ29tbWl0EgoKAmlkGAEgASgJEg4KBmJyYW5jaBgCIAEoCRILCgN0YWcYAyABKAkSDwoHc3ViamVjdBgEIAEoCRIOCgZhdXRob3IYBSABKAkSEQoJY29tbWl0dGVyGAYgASgJEj8KC2NyZWF0b3JEYXRlGAcgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUiigEKGERpc2NvdmVyZWRJbWFnZVJlZmVyZW5jZRILCgN0YWcYASABKAkSDgoGZGlnZXN0GAIgASgJEhIKCmdpdFJlcG9VUkwYAyABKAkSPQoJY3JlYXRlZEF0GAQgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUiogMKB0ZyZWlnaHQSQgoIbWV0YWRhdGEYASABKAsyMC5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuT2JqZWN0TWV0YRINCgVhbGlhcxgHIAEoCRJDCgZvcmlnaW4YCSABKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodE9yaWdpbhJACgdjb21taXRzGAMgAygLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkdpdENvbW1pdBI7CgZpbWFnZXMYBCADKAsyKy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuSW1hZ2USOwoGY2hhcnRzGAUgAygLMisuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkNoYXJ0EkMKBnN0YXR1cxgGIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0U3RhdHVzIq0CChFGcmVpZ2h0Q29sbGVjdGlvbhIKCgJpZBgDIAEoCRJRCgVpdGVtcxgBIAMoCzJCLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0Q29sbGVjdGlvbi5JdGVtc0VudHJ5ElMKE3ZlcmlmaWNhdGlvbkhpc3RvcnkYAiADKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuVmVyaWZpY2F0aW9uSW5mbxpkCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRJFCgV2YWx1ZRgCIAEoCzI2LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0UmVmZXJlbmNlOgI4ASKNAQoLRnJlaWdodExpc3QSQAoIbWV0YWRhdGEYASABKAsyLi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuTGlzdE1ldGESPAoFaXRlbXMYAiADKAsyLS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodCIrCg1GcmVpZ2h0T3JpZ2luEgwKBGtpbmQYASABKAkSDAoEbmFtZRgCIAEoCSKhAgoQRnJlaWdodFJlZmVyZW5jZRIMCgRuYW1lGAEgASgJEkMKBm9yaWdpbhgIIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0T3JpZ2luEkAKB2NvbW1pdHMYAiADKAsyLy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuR2l0Q29tbWl0EjsKBmltYWdlcxgDIAMoCzIrLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5JbWFnZRI7CgZjaGFydHMYBCADKAsyKy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQ2hhcnQinAEKDkZyZWlnaHRSZXF1ZXN0EkMKBm9yaWdpbhgBIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0T3JpZ2luEkUKB3NvdXJjZXMYAiABKAsyNC5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFNvdXJjZXMidQoORnJlaWdodFNvdXJjZXMSDgoGZGlyZWN0GAEgASgIEg4KBnN0YWdlcxgCIAMoCRJDCgt2ZXJpZmllZEZvchgDIAEoCzIuLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5EdXJhdGlvbiLXBAoNRnJlaWdodFN0YXR1cxJZCgtjdXJyZW50bHlJbhgDIAMoCzJELmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0U3RhdHVzLkN1cnJlbnRseUluRW50cnkSVwoKdmVyaWZpZWRJbhgBIAMoCzJDLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0U3RhdHVzLlZlcmlmaWVkSW5FbnRyeRJZCgthcHByb3ZlZEZvchgCIAMoCzJELmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0U3RhdHVzLkFwcHJvdmVkRm9yRW50cnkaZgoQQ3VycmVudGx5SW5FbnRyeRILCgNrZXkYASABKAkSQQoFdmFsdWUYAiABKAsyMi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQ3VycmVudFN0YWdlOgI4ARpmCg9WZXJpZmllZEluRW50cnkSCwoDa2V5GAEgASgJEkIKBXZhbHVlGAIgASgLMjMuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlZlcmlmaWVkU3RhZ2U6AjgBGmcKEEFwcHJvdmVkRm9yRW50cnkSCwoDa2V5GAEgASgJEkIKBXZhbHVlGAIgASgLMjMuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFwcHJvdmVkU3RhZ2U6AjgBInkKCUdpdENvbW1pdBIPCgdyZXBvVVJMGAEgASgJEgoKAmlkGAIgASgJEg4KBmJyYW5jaBgDIAEoCRILCgN0YWcYBCABKAkSDwoHbWVzc2FnZRgGIAEoCRIOCgZhdXRob3IYByABKAkSEQoJY29tbWl0dGVyGAggASgJIm4KEkdpdERpc2NvdmVyeVJlc3VsdBIPCgdyZXBvVVJMGAEgASgJEkcKB2NvbW1pdHMYAiADKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRGlzY292ZXJlZENvbW1pdCKOAgoPR2l0U3Vic2NyaXB0aW9uEg8KB3JlcG9VUkwYASABKAkSHwoXY29tbWl0U2VsZWN0aW9uU3RyYXRlZ3kYAiABKAkSDgoGYnJhbmNoGAMgASgJEhUKDXN0cmljdFNlbXZlcnMYCyABKAgSGAoQc2VtdmVyQ29uc3RyYWludBgEIAEoCRIRCglhbGxvd1RhZ3MYBSABKAkSEgoKaWdub3JlVGFncxgGIAMoCRIdChVpbnNlY3VyZVNraXBUTFNWZXJpZnkYByABKAgSFAoMaW5jbHVkZVBhdGhzGAggAygJEhQKDGV4Y2x1ZGVQYXRocxgJIAMoCRIWCg5kaXNjb3ZlcnlMaW1pdBgKIAEoBSLIAQoGSGVhbHRoEg4KBnN0YXR1cxgBIAEoCRIOCgZpc3N1ZXMYAiADKAkSTgoGY29uZmlnGAQgASgLMj4uazhzLmlvLmFwaWV4dGVuc2lvbnNfYXBpc2VydmVyLnBrZy5hcGlzLmFwaWV4dGVuc2lvbnMudjEuSlNPThJOCgZvdXRwdXQYBSABKAsyPi5rOHMuaW8uYXBpZXh0ZW5zaW9uc19hcGlzZXJ2ZXIucGtnLmFwaXMuYXBpZXh0ZW5zaW9ucy52MS5KU09OIm8KD0hlYWx0aENoZWNrU3RlcBIMCgR1c2VzGAEgASgJEk4KBmNvbmZpZxgCIAEoCzI+Lms4cy5pby5hcGlleHRlbnNpb25zX2FwaXNlcnZlci5wa2cuYXBpcy5hcGlleHRlbnNpb25zLnYxLkpTT04iSQoFSW1hZ2USDwoHcmVwb1VSTBgBIAEoCRISCgpnaXRSZXBvVVJMGAIgASgJEgsKA3RhZxgDIAEoCRIOCgZkaWdlc3QYBCABKAkijQEKFEltYWdlRGlzY292ZXJ5UmVzdWx0Eg8KB3JlcG9VUkwYASABKAkSEAoIcGxhdGZvcm0YAiABKAkSUgoKcmVmZXJlbmNlcxgDIAMoCzI+LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5EaXNjb3ZlcmVkSW1hZ2VSZWZlcmVuY2Ui+QEKEUltYWdlU3Vic2NyaXB0aW9uEg8KB3JlcG9VUkwYASABKAkSEgoKZ2l0UmVwb1VSTBgCIAEoCRIeChZpbWFnZVNlbGVjdGlvblN0cmF0ZWd5GAMgASgJEhUKDXN0cmljdFNlbXZlcnMYCiABKAgSGAoQc2VtdmVyQ29uc3RyYWludBgEIAEoCRIRCglhbGxvd1RhZ3MYBSABKAkSEgoKaWdub3JlVGFncxgGIAMoCRIQCghwbGF0Zm9ybRgHIAEoCRIdChVpbnNlY3VyZVNraXBUTFNWZXJpZnkYCCABKAgSFgoOZGlzY292ZXJ5TGltaXQYCSABKAUi0wEKB1Byb2plY3QSQgoIbWV0YWRhdGEYASABKAsyMC5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuT2JqZWN0TWV0YRI/CgRzcGVjGAIgASgLMjEuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb2plY3RTcGVjEkMKBnN0YXR1cxgDIAEoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9qZWN0U3RhdHVzIo0BCgtQcm9qZWN0TGlzdBJACghtZXRhZGF0YRgBIAEoCzIuLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5MaXN0TWV0YRI8CgVpdGVtcxgCIAMoCzItLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9qZWN0Il8KC1Byb2plY3RTcGVjElAKEXByb21vdGlvblBvbGljaWVzGAEgAygLMjUuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb21vdGlvblBvbGljeSJ0Cg1Qcm9qZWN0U3RhdHVzEkMKCmNvbmRpdGlvbnMYAyADKAsyLy5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuQ29uZGl0aW9uEg0KBXBoYXNlGAEgASgJEg8KB21lc3NhZ2UYAiABKAki2QEKCVByb21vdGlvbhJCCghtZXRhZGF0YRgBIAEoCzIwLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5PYmplY3RNZXRhEkEKBHNwZWMYAiABKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3BlYxJFCgZzdGF0dXMYAyABKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3RhdHVzIpEBCg1Qcm9tb3Rpb25MaXN0EkAKCG1ldGFkYXRhGAEgASgLMi4uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkxpc3RNZXRhEj4KBWl0ZW1zGAIgAygLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb21vdGlvbiI+Cg9Qcm9tb3Rpb25Qb2xpY3kSDQoFc3RhZ2UYASABKAkSHAoUYXV0b1Byb21vdGlvbkVuYWJsZWQYAiABKAgi8gEKElByb21vdGlvblJlZmVyZW5jZRIMCgRuYW1lGAEgASgJEkcKB2ZyZWlnaHQYAiABKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFJlZmVyZW5jZRJFCgZzdGF0dXMYAyABKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3RhdHVzEj4KCmZpbmlzaGVkQXQYBCABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSK6AQoNUHJvbW90aW9uU3BlYxINCgVzdGFnZRgBIAEoCRIPCgdmcmVpZ2h0GAIgASgJEkUKBHZhcnMYBCADKAsyNy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uVmFyaWFibGUSQgoFc3RlcHMYAyADKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uU3RlcCK3BAoPUHJvbW90aW9uU3RhdHVzEhoKEmxhc3RIYW5kbGVkUmVmcmVzaBgEIAEoCRINCgVwaGFzZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEkcKB2ZyZWlnaHQYBSABKAsyNi5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFJlZmVyZW5jZRJSChFmcmVpZ2h0Q29sbGVjdGlvbhgHIAEoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5GcmVpZ2h0Q29sbGVjdGlvbhJLCgxoZWFsdGhDaGVja3MYCCADKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuSGVhbHRoQ2hlY2tTdGVwEj4KCmZpbmlzaGVkQXQYBiABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZRITCgtjdXJyZW50U3RlcBgJIAEoAxJaChVzdGVwRXhlY3V0aW9uTWV0YWRhdGEYCyADKAsyOy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuU3RlcEV4ZWN1dGlvbk1ldGFkYXRhEk0KBXN0YXRlGAogASgLMj4uazhzLmlvLmFwaWV4dGVuc2lvbnNfYXBpc2VydmVyLnBrZy5hcGlzLmFwaWV4dGVuc2lvbnMudjEuSlNPTiLCAQoNUHJvbW90aW9uU3RlcBIMCgR1c2VzGAEgASgJEgoKAmFzGAIgASgJEkcKBXJldHJ5GAQgASgLMjguZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlByb21vdGlvblN0ZXBSZXRyeRJOCgZjb25maWcYAyABKAsyPi5rOHMuaW8uYXBpZXh0ZW5zaW9uc19hcGlzZXJ2ZXIucGtnLmFwaXMuYXBpZXh0ZW5zaW9ucy52MS5KU09OIm0KElByb21vdGlvblN0ZXBSZXRyeRI/Cgd0aW1lb3V0GAEgASgLMi4uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkR1cmF0aW9uEhYKDmVycm9yVGhyZXNob2xkGAIgASgNIl4KEVByb21vdGlvblRlbXBsYXRlEkkKBHNwZWMYASABKAsyOy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uVGVtcGxhdGVTcGVjIqIBChVQcm9tb3Rpb25UZW1wbGF0ZVNwZWMSRQoEdmFycxgCIAMoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25WYXJpYWJsZRJCCgVzdGVwcxgBIAMoCzIzLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25TdGVwIjAKEVByb21vdGlvblZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAki5gEKEFJlcG9TdWJzY3JpcHRpb24SQgoDZ2l0GAEgASgLMjUuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkdpdFN1YnNjcmlwdGlvbhJGCgVpbWFnZRgCIAEoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5JbWFnZVN1YnNjcmlwdGlvbhJGCgVjaGFydBgDIAEoCzI3LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5DaGFydFN1YnNjcmlwdGlvbiLNAQoFU3RhZ2USQgoIbWV0YWRhdGEYASABKAsyMC5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuT2JqZWN0TWV0YRI9CgRzcGVjGAIgASgLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlN0YWdlU3BlYxJBCgZzdGF0dXMYAyABKAsyMS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuU3RhZ2VTdGF0dXMiiQEKCVN0YWdlTGlzdBJACghtZXRhZGF0YRgBIAEoCzIuLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5MaXN0TWV0YRI6CgVpdGVtcxgCIAMoCzIrLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5TdGFnZSKIAgoJU3RhZ2VTcGVjEg0KBXNoYXJkGAQgASgJEk4KEHJlcXVlc3RlZEZyZWlnaHQYBSADKAsyNC5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRnJlaWdodFJlcXVlc3QSUgoRcHJvbW90aW9uVGVtcGxhdGUYBiABKAsyNy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuUHJvbW90aW9uVGVtcGxhdGUSSAoMdmVyaWZpY2F0aW9uGAMgASgLMjIuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLlZlcmlmaWNhdGlvbiL2AwoLU3RhZ2VTdGF0dXMSQwoKY29uZGl0aW9ucxgNIAMoCzIvLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5Db25kaXRpb24SGgoSbGFzdEhhbmRsZWRSZWZyZXNoGAsgASgJEg0KBXBoYXNlGAEgASgJEk8KDmZyZWlnaHRIaXN0b3J5GAQgAygLMjcuZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkZyZWlnaHRDb2xsZWN0aW9uEhYKDmZyZWlnaHRTdW1tYXJ5GAwgASgJEjwKBmhlYWx0aBgIIAEoCzIsLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5IZWFsdGgSDwoHbWVzc2FnZRgJIAEoCRIaChJvYnNlcnZlZEdlbmVyYXRpb24YBiABKAMSUgoQY3VycmVudFByb21vdGlvbhgHIAEoCzI4LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25SZWZlcmVuY2USTwoNbGFzdFByb21vdGlvbhgKIAEoCzI4LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5Qcm9tb3Rpb25SZWZlcmVuY2Ui2gEKFVN0ZXBFeGVjdXRpb25NZXRhZGF0YRINCgVhbGlhcxgBIAEoCRI9CglzdGFydGVkQXQYAiABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZRI+CgpmaW5pc2hlZEF0GAMgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUSEgoKZXJyb3JDb3VudBgEIAEoDRIOCgZzdGF0dXMYBSABKAkSDwoHbWVzc2FnZRgGIAEoCSKLAgoMVmVyaWZpY2F0aW9uEloKEWFuYWx5c2lzVGVtcGxhdGVzGAEgAygLMj8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFuYWx5c2lzVGVtcGxhdGVSZWZlcmVuY2USVgoTYW5hbHlzaXNSdW5NZXRhZGF0YRgCIAEoCzI5LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5BbmFseXNpc1J1bk1ldGFkYXRhEkcKBGFyZ3MYAyADKAsyOS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuQW5hbHlzaXNSdW5Bcmd1bWVudCKdAgoQVmVyaWZpY2F0aW9uSW5mbxIKCgJpZBgEIAEoCRINCgVhY3RvchgHIAEoCRI9CglzdGFydFRpbWUYBSABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZRINCgVwaGFzZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEk8KC2FuYWx5c2lzUnVuGAMgASgLMjouZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLkFuYWx5c2lzUnVuUmVmZXJlbmNlEj4KCmZpbmlzaFRpbWUYBiABKAsyKi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuVGltZSKUAQoNVmVyaWZpZWRTdGFnZRI+Cgp2ZXJpZmllZEF0GAEgASgLMiouazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLlRpbWUSQwoLbG9uZ2VzdFNvYWsYAiABKAsyLi5rOHMuaW8uYXBpbWFjaGluZXJ5LnBrZy5hcGlzLm1ldGEudjEuRHVyYXRpb24i2QEKCVdhcmVob3VzZRJCCghtZXRhZGF0YRgBIAEoCzIwLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5PYmplY3RNZXRhEkEKBHNwZWMYAiABKAsyMy5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuV2FyZWhvdXNlU3BlYxJFCgZzdGF0dXMYAyABKAsyNS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuV2FyZWhvdXNlU3RhdHVzIpEBCg1XYXJlaG91c2VMaXN0EkAKCG1ldGFkYXRhGAEgASgLMi4uazhzLmlvLmFwaW1hY2hpbmVyeS5wa2cuYXBpcy5tZXRhLnYxLkxpc3RNZXRhEj4KBWl0ZW1zGAIgAygLMi8uZ2l0aHViLmNvbS5ha3VpdHkua2FyZ28uYXBpLnYxYWxwaGExLldhcmVob3VzZSLOAQoNV2FyZWhvdXNlU3BlYxINCgVzaGFyZBgCIAEoCRJACghpbnRlcnZhbBgEIAEoCzIuLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5EdXJhdGlvbhIdChVmcmVpZ2h0Q3JlYXRpb25Qb2xpY3kYAyABKAkSTQoNc3Vic2NyaXB0aW9ucxgBIAMoCzI2LmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMS5SZXBvU3Vic2NyaXB0aW9uIv0BCg9XYXJlaG91c2VTdGF0dXMSQwoKY29uZGl0aW9ucxgJIAMoCzIvLms4cy5pby5hcGltYWNoaW5lcnkucGtnLmFwaXMubWV0YS52MS5Db25kaXRpb24SGgoSbGFzdEhhbmRsZWRSZWZyZXNoGAYgASgJEhoKEm9ic2VydmVkR2VuZXJhdGlvbhgEIAEoAxIVCg1sYXN0RnJlaWdodElEGAggASgJElYKE2Rpc2NvdmVyZWRBcnRpZmFjdHMYByABKAsyOS5naXRodWIuY29tLmFrdWl0eS5rYXJnby5hcGkudjFhbHBoYTEuRGlzY292ZXJlZEFydGlmYWN0c0KXAgooY29tLmdpdGh1Yi5jb20uYWt1aXR5LmthcmdvLmFwaS52MWFscGhhMUIOR2VuZXJhdGVkUHJvdG9QAVokZ2l0aHViLmNvbS9ha3VpdHkva2FyZ28vYXBpL3YxYWxwaGExogIFR0NBS0GqAiRHaXRodWIuQ29tLkFrdWl0eS5LYXJnby5BcGkuVjFhbHBoYTHKAiRHaXRodWJcQ29tXEFrdWl0eVxLYXJnb1xBcGlcVjFhbHBoYTHiAjBHaXRodWJcQ29tXEFrdWl0eVxLYXJnb1xBcGlcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAilHaXRodWI6OkNvbTo6QWt1aXR5OjpLYXJnbzo6QXBpOjpWMWFscGhhMQ", [file_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1_generated, file_k8s_io_apimachinery_pkg_apis_meta_v1_generated, file_k8s_io_apimachinery_pkg_runtime_generated, file_k8s_io_apimachinery_pkg_runtime_schema_generated]); /** * AnalysisRunArgument represents an argument to be added to an AnalysisRun. @@ -420,6 +420,29 @@ export type ChartSubscription = Message<"github.com.akuity.kargo.api.v1alpha1.Ch export const ChartSubscriptionSchema: GenMessage = /*@__PURE__*/ messageDesc(file_v1alpha1_generated, 10); +/** + * CurrentStage reflects a Stage's current use of Freight. + * + * @generated from message github.com.akuity.kargo.api.v1alpha1.CurrentStage + */ +export type CurrentStage = Message<"github.com.akuity.kargo.api.v1alpha1.CurrentStage"> & { + /** + * Since is the time at which the Stage most recently started using the + * Freight. This can be used to calculate how long the Freight has been in use + * by the Stage. + * + * @generated from field: optional k8s.io.apimachinery.pkg.apis.meta.v1.Time since = 1; + */ + since?: Time; +}; + +/** + * Describes the message github.com.akuity.kargo.api.v1alpha1.CurrentStage. + * Use `create(CurrentStageSchema)` to create a new message. + */ +export const CurrentStageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_v1alpha1_generated, 11); + /** * DiscoveredArtifacts holds the artifacts discovered by the Warehouse for its * subscriptions. @@ -472,7 +495,7 @@ export type DiscoveredArtifacts = Message<"github.com.akuity.kargo.api.v1alpha1. * Use `create(DiscoveredArtifactsSchema)` to create a new message. */ export const DiscoveredArtifactsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 11); + messageDesc(file_v1alpha1_generated, 12); /** * DiscoveredCommit represents a commit discovered by a Warehouse for a @@ -543,7 +566,7 @@ export type DiscoveredCommit = Message<"github.com.akuity.kargo.api.v1alpha1.Dis * Use `create(DiscoveredCommitSchema)` to create a new message. */ export const DiscoveredCommitSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 12); + messageDesc(file_v1alpha1_generated, 13); /** * DiscoveredImageReference represents an image reference discovered by a @@ -596,7 +619,7 @@ export type DiscoveredImageReference = Message<"github.com.akuity.kargo.api.v1al * Use `create(DiscoveredImageReferenceSchema)` to create a new message. */ export const DiscoveredImageReferenceSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 13); + messageDesc(file_v1alpha1_generated, 14); /** * Freight represents a collection of versioned artifacts. @@ -667,7 +690,7 @@ export type Freight = Message<"github.com.akuity.kargo.api.v1alpha1.Freight"> & * Use `create(FreightSchema)` to create a new message. */ export const FreightSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 14); + messageDesc(file_v1alpha1_generated, 15); /** * FreightCollection is a collection of FreightReferences, each of which @@ -707,7 +730,7 @@ export type FreightCollection = Message<"github.com.akuity.kargo.api.v1alpha1.Fr * Use `create(FreightCollectionSchema)` to create a new message. */ export const FreightCollectionSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 15); + messageDesc(file_v1alpha1_generated, 16); /** * FreightList is a list of Freight resources. @@ -731,7 +754,7 @@ export type FreightList = Message<"github.com.akuity.kargo.api.v1alpha1.FreightL * Use `create(FreightListSchema)` to create a new message. */ export const FreightListSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 16); + messageDesc(file_v1alpha1_generated, 17); /** * FreightOrigin describes a kind of Freight in terms of where it may have @@ -754,7 +777,7 @@ export type FreightOrigin = Message<"github.com.akuity.kargo.api.v1alpha1.Freigh /** * Name is the name of the resource of the kind indicated by the Kind field - * from which Freight may originated. + * from which Freight may originate. * * +kubebuilder:validation:Required * @@ -768,7 +791,7 @@ export type FreightOrigin = Message<"github.com.akuity.kargo.api.v1alpha1.Freigh * Use `create(FreightOriginSchema)` to create a new message. */ export const FreightOriginSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 17); + messageDesc(file_v1alpha1_generated, 18); /** * FreightReference is a simplified representation of a piece of Freight -- not @@ -820,7 +843,7 @@ export type FreightReference = Message<"github.com.akuity.kargo.api.v1alpha1.Fre * Use `create(FreightReferenceSchema)` to create a new message. */ export const FreightReferenceSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 18); + messageDesc(file_v1alpha1_generated, 19); /** * FreightRequest expresses a Stage's need for Freight having originated from a @@ -853,7 +876,7 @@ export type FreightRequest = Message<"github.com.akuity.kargo.api.v1alpha1.Freig * Use `create(FreightRequestSchema)` to create a new message. */ export const FreightRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 19); + messageDesc(file_v1alpha1_generated, 20); /** * @generated from message github.com.akuity.kargo.api.v1alpha1.FreightSources @@ -878,6 +901,19 @@ export type FreightSources = Message<"github.com.akuity.kargo.api.v1alpha1.Freig * @generated from field: repeated string stages = 2; */ stages: string[]; + + /** + * VerifiedFor specifies the duration for which the requested Freight must + * have been verified in the upstream Stages before it can be considered + * for promotion to this Stage. This is an optional field, and if not set, + * the default value is "0s" (i.e. immediate promotion is allowed). + * + * +kubebuilder:validation:Type=string + * +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(s|m|h))+$" + * + * @generated from field: optional k8s.io.apimachinery.pkg.apis.meta.v1.Duration verifiedFor = 3; + */ + verifiedFor?: Duration; }; /** @@ -885,7 +921,7 @@ export type FreightSources = Message<"github.com.akuity.kargo.api.v1alpha1.Freig * Use `create(FreightSourcesSchema)` to create a new message. */ export const FreightSourcesSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 20); + messageDesc(file_v1alpha1_generated, 21); /** * FreightStatus describes a piece of Freight's most recently observed state. @@ -893,6 +929,13 @@ export const FreightSourcesSchema: GenMessage = /*@__PURE__*/ * @generated from message github.com.akuity.kargo.api.v1alpha1.FreightStatus */ export type FreightStatus = Message<"github.com.akuity.kargo.api.v1alpha1.FreightStatus"> & { + /** + * CurrentlyIn describes the Stages in which this Freight is currently in use. + * + * @generated from field: map currentlyIn = 3; + */ + currentlyIn: { [key: string]: CurrentStage }; + /** * VerifiedIn describes the Stages in which this Freight has been verified * through promotion and subsequent health checks. @@ -917,7 +960,7 @@ export type FreightStatus = Message<"github.com.akuity.kargo.api.v1alpha1.Freigh * Use `create(FreightStatusSchema)` to create a new message. */ export const FreightStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 21); + messageDesc(file_v1alpha1_generated, 22); /** * GitCommit describes a specific commit from a specific Git repository. @@ -983,7 +1026,7 @@ export type GitCommit = Message<"github.com.akuity.kargo.api.v1alpha1.GitCommit" * Use `create(GitCommitSchema)` to create a new message. */ export const GitCommitSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 22); + messageDesc(file_v1alpha1_generated, 23); /** * GitDiscoveryResult represents the result of a Git discovery operation for a @@ -1019,7 +1062,7 @@ export type GitDiscoveryResult = Message<"github.com.akuity.kargo.api.v1alpha1.G * Use `create(GitDiscoveryResultSchema)` to create a new message. */ export const GitDiscoveryResultSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 23); + messageDesc(file_v1alpha1_generated, 24); /** * GitSubscription defines a subscription to a Git repository. @@ -1189,7 +1232,7 @@ export type GitSubscription = Message<"github.com.akuity.kargo.api.v1alpha1.GitS * Use `create(GitSubscriptionSchema)` to create a new message. */ export const GitSubscriptionSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 24); + messageDesc(file_v1alpha1_generated, 25); /** * Health describes the health of a Stage. @@ -1233,7 +1276,7 @@ export type Health = Message<"github.com.akuity.kargo.api.v1alpha1.Health"> & { * Use `create(HealthSchema)` to create a new message. */ export const HealthSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 25); + messageDesc(file_v1alpha1_generated, 26); /** * HealthCheckStep describes a health check directive which can be executed by @@ -1264,7 +1307,7 @@ export type HealthCheckStep = Message<"github.com.akuity.kargo.api.v1alpha1.Heal * Use `create(HealthCheckStepSchema)` to create a new message. */ export const HealthCheckStepSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 26); + messageDesc(file_v1alpha1_generated, 27); /** * Image describes a specific version of a container image. @@ -1310,7 +1353,7 @@ export type Image = Message<"github.com.akuity.kargo.api.v1alpha1.Image"> & { * Use `create(ImageSchema)` to create a new message. */ export const ImageSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 27); + messageDesc(file_v1alpha1_generated, 28); /** * ImageDiscoveryResult represents the result of an image discovery operation @@ -1356,7 +1399,7 @@ export type ImageDiscoveryResult = Message<"github.com.akuity.kargo.api.v1alpha1 * Use `create(ImageDiscoveryResultSchema)` to create a new message. */ export const ImageDiscoveryResultSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 28); + messageDesc(file_v1alpha1_generated, 29); /** * ImageSubscription defines a subscription to an image repository. @@ -1503,7 +1546,7 @@ export type ImageSubscription = Message<"github.com.akuity.kargo.api.v1alpha1.Im * Use `create(ImageSubscriptionSchema)` to create a new message. */ export const ImageSubscriptionSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 29); + messageDesc(file_v1alpha1_generated, 30); /** * Project is a resource type that reconciles to a specially labeled namespace @@ -1537,7 +1580,7 @@ export type Project = Message<"github.com.akuity.kargo.api.v1alpha1.Project"> & * Use `create(ProjectSchema)` to create a new message. */ export const ProjectSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 30); + messageDesc(file_v1alpha1_generated, 31); /** * ProjectList is a list of Project resources. @@ -1561,7 +1604,7 @@ export type ProjectList = Message<"github.com.akuity.kargo.api.v1alpha1.ProjectL * Use `create(ProjectListSchema)` to create a new message. */ export const ProjectListSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 31); + messageDesc(file_v1alpha1_generated, 32); /** * ProjectSpec describes a Project. @@ -1583,7 +1626,7 @@ export type ProjectSpec = Message<"github.com.akuity.kargo.api.v1alpha1.ProjectS * Use `create(ProjectSpecSchema)` to create a new message. */ export const ProjectSpecSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 32); + messageDesc(file_v1alpha1_generated, 33); /** * ProjectStatus describes a Project's current status. @@ -1629,7 +1672,7 @@ export type ProjectStatus = Message<"github.com.akuity.kargo.api.v1alpha1.Projec * Use `create(ProjectStatusSchema)` to create a new message. */ export const ProjectStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 33); + messageDesc(file_v1alpha1_generated, 34); /** * Promotion represents a request to transition a particular Stage into a @@ -1667,7 +1710,7 @@ export type Promotion = Message<"github.com.akuity.kargo.api.v1alpha1.Promotion" * Use `create(PromotionSchema)` to create a new message. */ export const PromotionSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 34); + messageDesc(file_v1alpha1_generated, 35); /** * PromotionList contains a list of Promotion @@ -1691,7 +1734,7 @@ export type PromotionList = Message<"github.com.akuity.kargo.api.v1alpha1.Promot * Use `create(PromotionListSchema)` to create a new message. */ export const PromotionListSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 35); + messageDesc(file_v1alpha1_generated, 36); /** * PromotionPolicy defines policies governing the promotion of Freight to a @@ -1727,7 +1770,7 @@ export type PromotionPolicy = Message<"github.com.akuity.kargo.api.v1alpha1.Prom * Use `create(PromotionPolicySchema)` to create a new message. */ export const PromotionPolicySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 36); + messageDesc(file_v1alpha1_generated, 37); /** * PromotionReference contains the relevant information about a Promotion @@ -1770,7 +1813,7 @@ export type PromotionReference = Message<"github.com.akuity.kargo.api.v1alpha1.P * Use `create(PromotionReferenceSchema)` to create a new message. */ export const PromotionReferenceSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 37); + messageDesc(file_v1alpha1_generated, 38); /** * PromotionSpec describes the desired transition of a specific Stage into a @@ -1824,7 +1867,7 @@ export type PromotionSpec = Message<"github.com.akuity.kargo.api.v1alpha1.Promot * Use `create(PromotionSpecSchema)` to create a new message. */ export const PromotionSpecSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 38); + messageDesc(file_v1alpha1_generated, 39); /** * PromotionStatus describes the current state of the transition represented by @@ -1922,7 +1965,7 @@ export type PromotionStatus = Message<"github.com.akuity.kargo.api.v1alpha1.Prom * Use `create(PromotionStatusSchema)` to create a new message. */ export const PromotionStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 39); + messageDesc(file_v1alpha1_generated, 40); /** * PromotionStep describes a directive to be executed as part of a Promotion. @@ -1969,7 +2012,7 @@ export type PromotionStep = Message<"github.com.akuity.kargo.api.v1alpha1.Promot * Use `create(PromotionStepSchema)` to create a new message. */ export const PromotionStepSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 40); + messageDesc(file_v1alpha1_generated, 41); /** * PromotionStepRetry describes the retry policy for a PromotionStep. @@ -2028,7 +2071,7 @@ export type PromotionStepRetry = Message<"github.com.akuity.kargo.api.v1alpha1.P * Use `create(PromotionStepRetrySchema)` to create a new message. */ export const PromotionStepRetrySchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 41); + messageDesc(file_v1alpha1_generated, 42); /** * PromotionTemplate defines a template for a Promotion that can be used to @@ -2048,7 +2091,7 @@ export type PromotionTemplate = Message<"github.com.akuity.kargo.api.v1alpha1.Pr * Use `create(PromotionTemplateSchema)` to create a new message. */ export const PromotionTemplateSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 42); + messageDesc(file_v1alpha1_generated, 43); /** * PromotionTemplateSpec describes the (partial) specification of a Promotion @@ -2083,7 +2126,7 @@ export type PromotionTemplateSpec = Message<"github.com.akuity.kargo.api.v1alpha * Use `create(PromotionTemplateSpecSchema)` to create a new message. */ export const PromotionTemplateSpecSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 43); + messageDesc(file_v1alpha1_generated, 44); /** * PromotionVariable describes a single variable that may be referenced by @@ -2117,7 +2160,7 @@ export type PromotionVariable = Message<"github.com.akuity.kargo.api.v1alpha1.Pr * Use `create(PromotionVariableSchema)` to create a new message. */ export const PromotionVariableSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 44); + messageDesc(file_v1alpha1_generated, 45); /** * RepoSubscription describes a subscription to ONE OF a Git repository, a @@ -2153,7 +2196,7 @@ export type RepoSubscription = Message<"github.com.akuity.kargo.api.v1alpha1.Rep * Use `create(RepoSubscriptionSchema)` to create a new message. */ export const RepoSubscriptionSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 45); + messageDesc(file_v1alpha1_generated, 46); /** * Stage is the Kargo API's main type. @@ -2189,7 +2232,7 @@ export type Stage = Message<"github.com.akuity.kargo.api.v1alpha1.Stage"> & { * Use `create(StageSchema)` to create a new message. */ export const StageSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 46); + messageDesc(file_v1alpha1_generated, 47); /** * StageList is a list of Stage resources. @@ -2213,7 +2256,7 @@ export type StageList = Message<"github.com.akuity.kargo.api.v1alpha1.StageList" * Use `create(StageListSchema)` to create a new message. */ export const StageListSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 47); + messageDesc(file_v1alpha1_generated, 48); /** * StageSpec describes the sources of Freight used by a Stage and how to @@ -2271,7 +2314,7 @@ export type StageSpec = Message<"github.com.akuity.kargo.api.v1alpha1.StageSpec" * Use `create(StageSpecSchema)` to create a new message. */ export const StageSpecSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 48); + messageDesc(file_v1alpha1_generated, 49); /** * StageStatus describes a Stages's current and recent Freight, health, and @@ -2378,7 +2421,7 @@ export type StageStatus = Message<"github.com.akuity.kargo.api.v1alpha1.StageSta * Use `create(StageStatusSchema)` to create a new message. */ export const StageStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 49); + messageDesc(file_v1alpha1_generated, 50); /** * StepExecutionMetadata tracks metadata pertaining to the execution of @@ -2437,7 +2480,7 @@ export type StepExecutionMetadata = Message<"github.com.akuity.kargo.api.v1alpha * Use `create(StepExecutionMetadataSchema)` to create a new message. */ export const StepExecutionMetadataSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 50); + messageDesc(file_v1alpha1_generated, 51); /** * Verification describes how to verify that a Promotion has been successful @@ -2476,7 +2519,7 @@ export type Verification = Message<"github.com.akuity.kargo.api.v1alpha1.Verific * Use `create(VerificationSchema)` to create a new message. */ export const VerificationSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 51); + messageDesc(file_v1alpha1_generated, 52); /** * VerificationInfo contains the details of an instance of a Verification @@ -2546,7 +2589,7 @@ export type VerificationInfo = Message<"github.com.akuity.kargo.api.v1alpha1.Ver * Use `create(VerificationInfoSchema)` to create a new message. */ export const VerificationInfoSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 52); + messageDesc(file_v1alpha1_generated, 53); /** * VerifiedStage describes a Stage in which Freight has been verified. @@ -2560,6 +2603,17 @@ export type VerifiedStage = Message<"github.com.akuity.kargo.api.v1alpha1.Verifi * @generated from field: optional k8s.io.apimachinery.pkg.apis.meta.v1.Time verifiedAt = 1; */ verifiedAt?: Time; + + /** + * LongestCompletedSoak represents the longest definite time interval wherein + * the Freight was in CONTINUOUS use by the Stage. This value is updated as + * Freight EXITS the Stage. If the Freight is currently in use by the Stage, + * the time elapsed since the Freight ENTERED the Stage is its current soak + * time, which may exceed the value of this field. + * + * @generated from field: optional k8s.io.apimachinery.pkg.apis.meta.v1.Duration longestSoak = 2; + */ + longestSoak?: Duration; }; /** @@ -2567,7 +2621,7 @@ export type VerifiedStage = Message<"github.com.akuity.kargo.api.v1alpha1.Verifi * Use `create(VerifiedStageSchema)` to create a new message. */ export const VerifiedStageSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 53); + messageDesc(file_v1alpha1_generated, 54); /** * Warehouse is a source of Freight. @@ -2602,7 +2656,7 @@ export type Warehouse = Message<"github.com.akuity.kargo.api.v1alpha1.Warehouse" * Use `create(WarehouseSchema)` to create a new message. */ export const WarehouseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 54); + messageDesc(file_v1alpha1_generated, 55); /** * WarehouseList is a list of Warehouse resources. @@ -2626,7 +2680,7 @@ export type WarehouseList = Message<"github.com.akuity.kargo.api.v1alpha1.Wareho * Use `create(WarehouseListSchema)` to create a new message. */ export const WarehouseListSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 55); + messageDesc(file_v1alpha1_generated, 56); /** * WarehouseSpec describes sources of versioned artifacts to be included in @@ -2692,7 +2746,7 @@ export type WarehouseSpec = Message<"github.com.akuity.kargo.api.v1alpha1.Wareho * Use `create(WarehouseSpecSchema)` to create a new message. */ export const WarehouseSpecSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 56); + messageDesc(file_v1alpha1_generated, 57); /** * WarehouseStatus describes a Warehouse's most recently observed state. @@ -2751,5 +2805,5 @@ export type WarehouseStatus = Message<"github.com.akuity.kargo.api.v1alpha1.Ware * Use `create(WarehouseStatusSchema)` to create a new message. */ export const WarehouseStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_v1alpha1_generated, 57); + messageDesc(file_v1alpha1_generated, 58);