diff --git a/api/json-schema/schema.json b/api/json-schema/schema.json
index 6428af1c09..5f8636f6a0 100644
--- a/api/json-schema/schema.json
+++ b/api/json-schema/schema.json
@@ -19789,6 +19789,10 @@
},
"type": "object"
},
+ "io.numaproj.numaflow.v1alpha1.AtLeastOnce": {
+ "description": "AtLeastOnce is the at-least-once delivery settings (default behavior).",
+ "type": "object"
+ },
"io.numaproj.numaflow.v1alpha1.Authorization": {
"properties": {
"token": {
@@ -20102,6 +20106,20 @@
},
"type": "object"
},
+ "io.numaproj.numaflow.v1alpha1.Delivery": {
+ "description": "Delivery is the delivery semantics for the pipeline.",
+ "properties": {
+ "atLeastOnce": {
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.AtLeastOnce",
+ "description": "AtLeastOnce enables at-least-once processing semantics (default behavior)."
+ },
+ "exactlyOnce": {
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.ExactlyOnce",
+ "description": "ExactlyOnce enables exactly-once processing semantics."
+ }
+ },
+ "type": "object"
+ },
"io.numaproj.numaflow.v1alpha1.Edge": {
"properties": {
"conditions": {
@@ -20125,6 +20143,20 @@
],
"type": "object"
},
+ "io.numaproj.numaflow.v1alpha1.ExactlyOnce": {
+ "description": "ExactlyOnce is the exactly-once delivery settings.",
+ "properties": {
+ "consistentAck": {
+ "description": "ConsistentAck enables consistent acknowledgement of offsets to ISB throughout the pipeline.",
+ "type": "boolean"
+ },
+ "dedupWindow": {
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Duration",
+ "description": "DedupWindow is the duration for which the deduplication will be enabled."
+ }
+ },
+ "type": "object"
+ },
"io.numaproj.numaflow.v1alpha1.FixedWindow": {
"description": "FixedWindow describes a fixed window",
"properties": {
@@ -21530,6 +21562,10 @@
},
"io.numaproj.numaflow.v1alpha1.PipelineSpec": {
"properties": {
+ "delivery": {
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.Delivery",
+ "description": "Delivery is the delivery semantics for the pipeline."
+ },
"edges": {
"description": "Edges define the relationships between vertices",
"items": {
@@ -22910,6 +22946,10 @@
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.ContainerTemplate",
"description": "Container template for the main numa container."
},
+ "delivery": {
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.Delivery",
+ "description": "Delivery indicates the delivery semantics for the vertex, it's populated from the pipeline delivery settings."
+ },
"dnsConfig": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodDNSConfig",
"description": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy."
diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index 21ecd3cee3..7891c7fe91 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -19793,6 +19793,10 @@
}
}
},
+ "io.numaproj.numaflow.v1alpha1.AtLeastOnce": {
+ "description": "AtLeastOnce is the at-least-once delivery settings (default behavior).",
+ "type": "object"
+ },
"io.numaproj.numaflow.v1alpha1.Authorization": {
"type": "object",
"properties": {
@@ -20106,6 +20110,20 @@
}
}
},
+ "io.numaproj.numaflow.v1alpha1.Delivery": {
+ "description": "Delivery is the delivery semantics for the pipeline.",
+ "type": "object",
+ "properties": {
+ "atLeastOnce": {
+ "description": "AtLeastOnce enables at-least-once processing semantics (default behavior).",
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.AtLeastOnce"
+ },
+ "exactlyOnce": {
+ "description": "ExactlyOnce enables exactly-once processing semantics.",
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.ExactlyOnce"
+ }
+ }
+ },
"io.numaproj.numaflow.v1alpha1.Edge": {
"type": "object",
"required": [
@@ -20129,6 +20147,20 @@
}
}
},
+ "io.numaproj.numaflow.v1alpha1.ExactlyOnce": {
+ "description": "ExactlyOnce is the exactly-once delivery settings.",
+ "type": "object",
+ "properties": {
+ "consistentAck": {
+ "description": "ConsistentAck enables consistent acknowledgement of offsets to ISB throughout the pipeline.",
+ "type": "boolean"
+ },
+ "dedupWindow": {
+ "description": "DedupWindow is the duration for which the deduplication will be enabled.",
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Duration"
+ }
+ }
+ },
"io.numaproj.numaflow.v1alpha1.FixedWindow": {
"description": "FixedWindow describes a fixed window",
"type": "object",
@@ -21517,6 +21549,10 @@
"io.numaproj.numaflow.v1alpha1.PipelineSpec": {
"type": "object",
"properties": {
+ "delivery": {
+ "description": "Delivery is the delivery semantics for the pipeline.",
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.Delivery"
+ },
"edges": {
"description": "Edges define the relationships between vertices",
"type": "array",
@@ -22892,6 +22928,10 @@
"description": "Container template for the main numa container.",
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.ContainerTemplate"
},
+ "delivery": {
+ "description": "Delivery indicates the delivery semantics for the vertex, it's populated from the pipeline delivery settings.",
+ "$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.Delivery"
+ },
"dnsConfig": {
"description": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.",
"$ref": "#/definitions/io.k8s.api.core.v1.PodDNSConfig"
diff --git a/cmd/commands/isbsvc_create.go b/cmd/commands/isbsvc_create.go
index 2b288bf9f6..b8cf046b54 100644
--- a/cmd/commands/isbsvc_create.go
+++ b/cmd/commands/isbsvc_create.go
@@ -22,6 +22,7 @@ import (
"encoding/json"
"fmt"
"os"
+ "time"
"github.com/spf13/cobra"
"go.uber.org/zap"
@@ -40,6 +41,7 @@ func NewISBSvcCreateCommand() *cobra.Command {
buckets []string
sideInputsStore string
servingSourceStore string
+ dedupWindow string
)
command := &cobra.Command{
@@ -79,6 +81,13 @@ func NewISBSvcCreateCommand() *cobra.Command {
return err
}
opts = append(opts, isbsvc.WithConfig(isbSvcConfig.JetStream.StreamConfig))
+ if dedupWindow != "" {
+ d, err := time.ParseDuration(dedupWindow)
+ if err != nil {
+ return fmt.Errorf("failed to parse dedup window duration %q, %w", dedupWindow, err)
+ }
+ opts = append(opts, isbsvc.WithDedupWindow(d))
+ }
default:
cmd.HelpFunc()(cmd, args)
return fmt.Errorf("unsupported isb service type %q", isbSvcType)
@@ -98,5 +107,6 @@ func NewISBSvcCreateCommand() *cobra.Command {
command.Flags().StringSliceVar(&buckets, "buckets", []string{}, "Buckets to create") // --buckets=xxa,xxb --buckets=xxc
command.Flags().StringVar(&sideInputsStore, "side-inputs-store", "", "Name of the side inputs store")
command.Flags().StringVar(&servingSourceStore, "serving-store", "", "Serving source streams to create") // --serving-store=a
+ command.Flags().StringVar(&dedupWindow, "dedup-window", "", "Deduplication window duration for exactly-once processing, e.g. 2m")
return command
}
diff --git a/config/base/crds/full/numaflow.numaproj.io_pipelines.yaml b/config/base/crds/full/numaflow.numaproj.io_pipelines.yaml
index 16219745dc..d9bf77e3df 100644
--- a/config/base/crds/full/numaflow.numaproj.io_pipelines.yaml
+++ b/config/base/crds/full/numaflow.numaproj.io_pipelines.yaml
@@ -61,6 +61,20 @@ spec:
type: object
spec:
properties:
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
edges:
items:
properties:
diff --git a/config/base/crds/full/numaflow.numaproj.io_servingpipelines.yaml b/config/base/crds/full/numaflow.numaproj.io_servingpipelines.yaml
index 5625522115..7610543e07 100644
--- a/config/base/crds/full/numaflow.numaproj.io_servingpipelines.yaml
+++ b/config/base/crds/full/numaflow.numaproj.io_servingpipelines.yaml
@@ -40,6 +40,20 @@ spec:
properties:
pipeline:
properties:
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
edges:
items:
properties:
diff --git a/config/base/crds/full/numaflow.numaproj.io_vertices.yaml b/config/base/crds/full/numaflow.numaproj.io_vertices.yaml
index bf9cc8bcf1..eaf5567118 100644
--- a/config/base/crds/full/numaflow.numaproj.io_vertices.yaml
+++ b/config/base/crds/full/numaflow.numaproj.io_vertices.yaml
@@ -728,6 +728,20 @@ spec:
type: object
type: object
type: object
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
dnsConfig:
properties:
nameservers:
diff --git a/config/install.yaml b/config/install.yaml
index a067e6c750..8619eeba18 100644
--- a/config/install.yaml
+++ b/config/install.yaml
@@ -9769,6 +9769,20 @@ spec:
type: object
spec:
properties:
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
edges:
items:
properties:
@@ -22874,6 +22888,20 @@ spec:
properties:
pipeline:
properties:
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
edges:
items:
properties:
@@ -37828,6 +37856,20 @@ spec:
type: object
type: object
type: object
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
dnsConfig:
properties:
nameservers:
diff --git a/config/namespace-install.yaml b/config/namespace-install.yaml
index 6dba9d31a6..40fb906496 100644
--- a/config/namespace-install.yaml
+++ b/config/namespace-install.yaml
@@ -9769,6 +9769,20 @@ spec:
type: object
spec:
properties:
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
edges:
items:
properties:
@@ -22874,6 +22888,20 @@ spec:
properties:
pipeline:
properties:
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
edges:
items:
properties:
@@ -37828,6 +37856,20 @@ spec:
type: object
type: object
type: object
+ delivery:
+ properties:
+ atLeastOnce:
+ type: object
+ exactlyOnce:
+ properties:
+ consistentAck:
+ default: false
+ type: boolean
+ dedupWindow:
+ default: 2m
+ type: string
+ type: object
+ type: object
dnsConfig:
properties:
nameservers:
diff --git a/docs/APIs.md b/docs/APIs.md
index ab9681713b..ca8182d59f 100644
--- a/docs/APIs.md
+++ b/docs/APIs.md
@@ -1177,6 +1177,26 @@ accumulator is removed.
+
+
+AtLeastOnce
+
+
+
+
+(Appears on:
+Delivery)
+
+
+
+
+
+
+AtLeastOnce is the at-least-once delivery settings (default behavior).
+
+
+
+
Authorization
@@ -2381,6 +2401,96 @@ ContainerTemplate
+
+
+Delivery
+
+
+
+
+(Appears on:
+PipelineSpec,
+VertexSpec)
+
+
+
+
+
+
+Delivery is the delivery semantics for the pipeline.
+
+
+
+
+
+
+
+
+
+
+|
+
+Field
+ |
+
+
+
+Description
+ |
+
+
+
+
+
+
+
+
+
+
+
+exactlyOnce
+ ExactlyOnce
+
+ |
+
+
+
+(Optional)
+
+
+ExactlyOnce enables exactly-once processing semantics.
+
+
+ |
+
+
+
+
+
+
+
+atLeastOnce
+ AtLeastOnce
+
+ |
+
+
+
+(Optional)
+
+
+AtLeastOnce enables at-least-once processing semantics (default
+behavior).
+
+
+ |
+
+
+
+
+
+
+
Edge
@@ -2494,6 +2604,92 @@ discardLatest. if not provided, the default value is set to
+
+
+ExactlyOnce
+
+
+
+
+(Appears on:
+Delivery)
+
+
+
+
+
+
+ExactlyOnce is the exactly-once delivery settings.
+
+
+
+
+
+
+
+
+
+
+|
+
+Field
+ |
+
+
+
+Description
+ |
+
+
+
+
+
+
+
+
+
+
+
+consistentAck bool
+ |
+
+
+
+
+
+ConsistentAck enables consistent acknowledgement of offsets to ISB
+throughout the pipeline.
+
+
+ |
+
+
+
+
+
+
+
+dedupWindow
+
+Kubernetes meta/v1.Duration
+ |
+
+
+
+(Optional)
+
+
+DedupWindow is the duration for which the deduplication will be enabled.
+
+
+ |
+
+
+
+
+
+
+
FixedWindow
@@ -7843,6 +8039,26 @@ InterStepBuffer configuration specific to this pipeline.
+
+
+
+
+delivery
+ Delivery
+ |
+
+
+
+(Optional)
+
+
+Delivery is the delivery semantics for the pipeline.
+
+
+ |
+
+
+
@@ -8268,6 +8484,26 @@ InterStepBuffer configuration specific to this pipeline.
+
+
+
+
+delivery
+ Delivery
+ |
+
+
+
+(Optional)
+
+
+Delivery is the delivery semantics for the pipeline.
+
+
+ |
+
+
+
@@ -13788,6 +14024,27 @@ InterStepBuffer configuration specific to this pipeline.
+
+
+
+
+delivery
+ Delivery
+ |
+
+
+
+(Optional)
+
+
+Delivery indicates the delivery semantics for the vertex, it’s populated
+from the pipeline delivery settings.
+
+
+ |
+
+
+
@@ -14319,6 +14576,27 @@ InterStepBuffer configuration specific to this pipeline.
+
+
+
+
+delivery
+ Delivery
+ |
+
+
+
+(Optional)
+
+
+Delivery indicates the delivery semantics for the vertex, it’s populated
+from the pipeline delivery settings.
+
+
+ |
+
+
+
diff --git a/examples/1-simple-pipeline.yaml b/examples/1-simple-pipeline.yaml
index 33ff62dd28..0f742e201e 100644
--- a/examples/1-simple-pipeline.yaml
+++ b/examples/1-simple-pipeline.yaml
@@ -3,6 +3,8 @@ kind: Pipeline
metadata:
name: simple-pipeline
spec:
+# exactlyOnce:
+# consistentAck: true
vertices:
- name: in
scale:
diff --git a/pkg/apis/numaflow/v1alpha1/generated.pb.go b/pkg/apis/numaflow/v1alpha1/generated.pb.go
index 990db555ef..13d4fa5fd9 100644
--- a/pkg/apis/numaflow/v1alpha1/generated.pb.go
+++ b/pkg/apis/numaflow/v1alpha1/generated.pb.go
@@ -191,10 +191,38 @@ func (m *AccumulatorWindow) XXX_DiscardUnknown() {
var xxx_messageInfo_AccumulatorWindow proto.InternalMessageInfo
+func (m *AtLeastOnce) Reset() { *m = AtLeastOnce{} }
+func (*AtLeastOnce) ProtoMessage() {}
+func (*AtLeastOnce) Descriptor() ([]byte, []int) {
+ return fileDescriptor_9d0d1b17d3865563, []int{5}
+}
+func (m *AtLeastOnce) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *AtLeastOnce) 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 *AtLeastOnce) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AtLeastOnce.Merge(m, src)
+}
+func (m *AtLeastOnce) XXX_Size() int {
+ return m.Size()
+}
+func (m *AtLeastOnce) XXX_DiscardUnknown() {
+ xxx_messageInfo_AtLeastOnce.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AtLeastOnce proto.InternalMessageInfo
+
func (m *Authorization) Reset() { *m = Authorization{} }
func (*Authorization) ProtoMessage() {}
func (*Authorization) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{5}
+ return fileDescriptor_9d0d1b17d3865563, []int{6}
}
func (m *Authorization) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -222,7 +250,7 @@ var xxx_messageInfo_Authorization proto.InternalMessageInfo
func (m *Backoff) Reset() { *m = Backoff{} }
func (*Backoff) ProtoMessage() {}
func (*Backoff) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{6}
+ return fileDescriptor_9d0d1b17d3865563, []int{7}
}
func (m *Backoff) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -250,7 +278,7 @@ var xxx_messageInfo_Backoff proto.InternalMessageInfo
func (m *BasicAuth) Reset() { *m = BasicAuth{} }
func (*BasicAuth) ProtoMessage() {}
func (*BasicAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{7}
+ return fileDescriptor_9d0d1b17d3865563, []int{8}
}
func (m *BasicAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -278,7 +306,7 @@ var xxx_messageInfo_BasicAuth proto.InternalMessageInfo
func (m *Blackhole) Reset() { *m = Blackhole{} }
func (*Blackhole) ProtoMessage() {}
func (*Blackhole) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{8}
+ return fileDescriptor_9d0d1b17d3865563, []int{9}
}
func (m *Blackhole) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -306,7 +334,7 @@ var xxx_messageInfo_Blackhole proto.InternalMessageInfo
func (m *BufferServiceConfig) Reset() { *m = BufferServiceConfig{} }
func (*BufferServiceConfig) ProtoMessage() {}
func (*BufferServiceConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{9}
+ return fileDescriptor_9d0d1b17d3865563, []int{10}
}
func (m *BufferServiceConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -334,7 +362,7 @@ var xxx_messageInfo_BufferServiceConfig proto.InternalMessageInfo
func (m *CombinedEdge) Reset() { *m = CombinedEdge{} }
func (*CombinedEdge) ProtoMessage() {}
func (*CombinedEdge) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{10}
+ return fileDescriptor_9d0d1b17d3865563, []int{11}
}
func (m *CombinedEdge) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -362,7 +390,7 @@ var xxx_messageInfo_CombinedEdge proto.InternalMessageInfo
func (m *Compression) Reset() { *m = Compression{} }
func (*Compression) ProtoMessage() {}
func (*Compression) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{11}
+ return fileDescriptor_9d0d1b17d3865563, []int{12}
}
func (m *Compression) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -390,7 +418,7 @@ var xxx_messageInfo_Compression proto.InternalMessageInfo
func (m *Container) Reset() { *m = Container{} }
func (*Container) ProtoMessage() {}
func (*Container) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{12}
+ return fileDescriptor_9d0d1b17d3865563, []int{13}
}
func (m *Container) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -418,7 +446,7 @@ var xxx_messageInfo_Container proto.InternalMessageInfo
func (m *ContainerTemplate) Reset() { *m = ContainerTemplate{} }
func (*ContainerTemplate) ProtoMessage() {}
func (*ContainerTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{13}
+ return fileDescriptor_9d0d1b17d3865563, []int{14}
}
func (m *ContainerTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -446,7 +474,7 @@ var xxx_messageInfo_ContainerTemplate proto.InternalMessageInfo
func (m *DaemonTemplate) Reset() { *m = DaemonTemplate{} }
func (*DaemonTemplate) ProtoMessage() {}
func (*DaemonTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{14}
+ return fileDescriptor_9d0d1b17d3865563, []int{15}
}
func (m *DaemonTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -471,10 +499,38 @@ func (m *DaemonTemplate) XXX_DiscardUnknown() {
var xxx_messageInfo_DaemonTemplate proto.InternalMessageInfo
+func (m *Delivery) Reset() { *m = Delivery{} }
+func (*Delivery) ProtoMessage() {}
+func (*Delivery) Descriptor() ([]byte, []int) {
+ return fileDescriptor_9d0d1b17d3865563, []int{16}
+}
+func (m *Delivery) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *Delivery) 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 *Delivery) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Delivery.Merge(m, src)
+}
+func (m *Delivery) XXX_Size() int {
+ return m.Size()
+}
+func (m *Delivery) XXX_DiscardUnknown() {
+ xxx_messageInfo_Delivery.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Delivery proto.InternalMessageInfo
+
func (m *Edge) Reset() { *m = Edge{} }
func (*Edge) ProtoMessage() {}
func (*Edge) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{15}
+ return fileDescriptor_9d0d1b17d3865563, []int{17}
}
func (m *Edge) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -499,10 +555,38 @@ func (m *Edge) XXX_DiscardUnknown() {
var xxx_messageInfo_Edge proto.InternalMessageInfo
+func (m *ExactlyOnce) Reset() { *m = ExactlyOnce{} }
+func (*ExactlyOnce) ProtoMessage() {}
+func (*ExactlyOnce) Descriptor() ([]byte, []int) {
+ return fileDescriptor_9d0d1b17d3865563, []int{18}
+}
+func (m *ExactlyOnce) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *ExactlyOnce) 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 *ExactlyOnce) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ExactlyOnce.Merge(m, src)
+}
+func (m *ExactlyOnce) XXX_Size() int {
+ return m.Size()
+}
+func (m *ExactlyOnce) XXX_DiscardUnknown() {
+ xxx_messageInfo_ExactlyOnce.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ExactlyOnce proto.InternalMessageInfo
+
func (m *FixedWindow) Reset() { *m = FixedWindow{} }
func (*FixedWindow) ProtoMessage() {}
func (*FixedWindow) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{16}
+ return fileDescriptor_9d0d1b17d3865563, []int{19}
}
func (m *FixedWindow) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -530,7 +614,7 @@ var xxx_messageInfo_FixedWindow proto.InternalMessageInfo
func (m *ForwardConditions) Reset() { *m = ForwardConditions{} }
func (*ForwardConditions) ProtoMessage() {}
func (*ForwardConditions) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{17}
+ return fileDescriptor_9d0d1b17d3865563, []int{20}
}
func (m *ForwardConditions) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -558,7 +642,7 @@ var xxx_messageInfo_ForwardConditions proto.InternalMessageInfo
func (m *GSSAPI) Reset() { *m = GSSAPI{} }
func (*GSSAPI) ProtoMessage() {}
func (*GSSAPI) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{18}
+ return fileDescriptor_9d0d1b17d3865563, []int{21}
}
func (m *GSSAPI) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -586,7 +670,7 @@ var xxx_messageInfo_GSSAPI proto.InternalMessageInfo
func (m *GeneratorSource) Reset() { *m = GeneratorSource{} }
func (*GeneratorSource) ProtoMessage() {}
func (*GeneratorSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{19}
+ return fileDescriptor_9d0d1b17d3865563, []int{22}
}
func (m *GeneratorSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -614,7 +698,7 @@ var xxx_messageInfo_GeneratorSource proto.InternalMessageInfo
func (m *GetDaemonDeploymentReq) Reset() { *m = GetDaemonDeploymentReq{} }
func (*GetDaemonDeploymentReq) ProtoMessage() {}
func (*GetDaemonDeploymentReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{20}
+ return fileDescriptor_9d0d1b17d3865563, []int{23}
}
func (m *GetDaemonDeploymentReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -642,7 +726,7 @@ var xxx_messageInfo_GetDaemonDeploymentReq proto.InternalMessageInfo
func (m *GetJetStreamServiceSpecReq) Reset() { *m = GetJetStreamServiceSpecReq{} }
func (*GetJetStreamServiceSpecReq) ProtoMessage() {}
func (*GetJetStreamServiceSpecReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{21}
+ return fileDescriptor_9d0d1b17d3865563, []int{24}
}
func (m *GetJetStreamServiceSpecReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -670,7 +754,7 @@ var xxx_messageInfo_GetJetStreamServiceSpecReq proto.InternalMessageInfo
func (m *GetJetStreamStatefulSetSpecReq) Reset() { *m = GetJetStreamStatefulSetSpecReq{} }
func (*GetJetStreamStatefulSetSpecReq) ProtoMessage() {}
func (*GetJetStreamStatefulSetSpecReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{22}
+ return fileDescriptor_9d0d1b17d3865563, []int{25}
}
func (m *GetJetStreamStatefulSetSpecReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -698,7 +782,7 @@ var xxx_messageInfo_GetJetStreamStatefulSetSpecReq proto.InternalMessageInfo
func (m *GetMonoVertexDaemonDeploymentReq) Reset() { *m = GetMonoVertexDaemonDeploymentReq{} }
func (*GetMonoVertexDaemonDeploymentReq) ProtoMessage() {}
func (*GetMonoVertexDaemonDeploymentReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{23}
+ return fileDescriptor_9d0d1b17d3865563, []int{26}
}
func (m *GetMonoVertexDaemonDeploymentReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -726,7 +810,7 @@ var xxx_messageInfo_GetMonoVertexDaemonDeploymentReq proto.InternalMessageInfo
func (m *GetMonoVertexPodSpecReq) Reset() { *m = GetMonoVertexPodSpecReq{} }
func (*GetMonoVertexPodSpecReq) ProtoMessage() {}
func (*GetMonoVertexPodSpecReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{24}
+ return fileDescriptor_9d0d1b17d3865563, []int{27}
}
func (m *GetMonoVertexPodSpecReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -754,7 +838,7 @@ var xxx_messageInfo_GetMonoVertexPodSpecReq proto.InternalMessageInfo
func (m *GetServingPipelineResourceReq) Reset() { *m = GetServingPipelineResourceReq{} }
func (*GetServingPipelineResourceReq) ProtoMessage() {}
func (*GetServingPipelineResourceReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{25}
+ return fileDescriptor_9d0d1b17d3865563, []int{28}
}
func (m *GetServingPipelineResourceReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -782,7 +866,7 @@ var xxx_messageInfo_GetServingPipelineResourceReq proto.InternalMessageInfo
func (m *GetSideInputDeploymentReq) Reset() { *m = GetSideInputDeploymentReq{} }
func (*GetSideInputDeploymentReq) ProtoMessage() {}
func (*GetSideInputDeploymentReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{26}
+ return fileDescriptor_9d0d1b17d3865563, []int{29}
}
func (m *GetSideInputDeploymentReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -810,7 +894,7 @@ var xxx_messageInfo_GetSideInputDeploymentReq proto.InternalMessageInfo
func (m *GetVertexPodSpecReq) Reset() { *m = GetVertexPodSpecReq{} }
func (*GetVertexPodSpecReq) ProtoMessage() {}
func (*GetVertexPodSpecReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{27}
+ return fileDescriptor_9d0d1b17d3865563, []int{30}
}
func (m *GetVertexPodSpecReq) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -838,7 +922,7 @@ var xxx_messageInfo_GetVertexPodSpecReq proto.InternalMessageInfo
func (m *GroupBy) Reset() { *m = GroupBy{} }
func (*GroupBy) ProtoMessage() {}
func (*GroupBy) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{28}
+ return fileDescriptor_9d0d1b17d3865563, []int{31}
}
func (m *GroupBy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -866,7 +950,7 @@ var xxx_messageInfo_GroupBy proto.InternalMessageInfo
func (m *HTTPSource) Reset() { *m = HTTPSource{} }
func (*HTTPSource) ProtoMessage() {}
func (*HTTPSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{29}
+ return fileDescriptor_9d0d1b17d3865563, []int{32}
}
func (m *HTTPSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -894,7 +978,7 @@ var xxx_messageInfo_HTTPSource proto.InternalMessageInfo
func (m *IdleSource) Reset() { *m = IdleSource{} }
func (*IdleSource) ProtoMessage() {}
func (*IdleSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{30}
+ return fileDescriptor_9d0d1b17d3865563, []int{33}
}
func (m *IdleSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -922,7 +1006,7 @@ var xxx_messageInfo_IdleSource proto.InternalMessageInfo
func (m *InterStepBuffer) Reset() { *m = InterStepBuffer{} }
func (*InterStepBuffer) ProtoMessage() {}
func (*InterStepBuffer) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{31}
+ return fileDescriptor_9d0d1b17d3865563, []int{34}
}
func (m *InterStepBuffer) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -950,7 +1034,7 @@ var xxx_messageInfo_InterStepBuffer proto.InternalMessageInfo
func (m *InterStepBufferService) Reset() { *m = InterStepBufferService{} }
func (*InterStepBufferService) ProtoMessage() {}
func (*InterStepBufferService) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{32}
+ return fileDescriptor_9d0d1b17d3865563, []int{35}
}
func (m *InterStepBufferService) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -978,7 +1062,7 @@ var xxx_messageInfo_InterStepBufferService proto.InternalMessageInfo
func (m *InterStepBufferServiceList) Reset() { *m = InterStepBufferServiceList{} }
func (*InterStepBufferServiceList) ProtoMessage() {}
func (*InterStepBufferServiceList) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{33}
+ return fileDescriptor_9d0d1b17d3865563, []int{36}
}
func (m *InterStepBufferServiceList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1006,7 +1090,7 @@ var xxx_messageInfo_InterStepBufferServiceList proto.InternalMessageInfo
func (m *InterStepBufferServiceSpec) Reset() { *m = InterStepBufferServiceSpec{} }
func (*InterStepBufferServiceSpec) ProtoMessage() {}
func (*InterStepBufferServiceSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{34}
+ return fileDescriptor_9d0d1b17d3865563, []int{37}
}
func (m *InterStepBufferServiceSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1034,7 +1118,7 @@ var xxx_messageInfo_InterStepBufferServiceSpec proto.InternalMessageInfo
func (m *InterStepBufferServiceStatus) Reset() { *m = InterStepBufferServiceStatus{} }
func (*InterStepBufferServiceStatus) ProtoMessage() {}
func (*InterStepBufferServiceStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{35}
+ return fileDescriptor_9d0d1b17d3865563, []int{38}
}
func (m *InterStepBufferServiceStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1062,7 +1146,7 @@ var xxx_messageInfo_InterStepBufferServiceStatus proto.InternalMessageInfo
func (m *JetStreamBufferService) Reset() { *m = JetStreamBufferService{} }
func (*JetStreamBufferService) ProtoMessage() {}
func (*JetStreamBufferService) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{36}
+ return fileDescriptor_9d0d1b17d3865563, []int{39}
}
func (m *JetStreamBufferService) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1090,7 +1174,7 @@ var xxx_messageInfo_JetStreamBufferService proto.InternalMessageInfo
func (m *JetStreamConfig) Reset() { *m = JetStreamConfig{} }
func (*JetStreamConfig) ProtoMessage() {}
func (*JetStreamConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{37}
+ return fileDescriptor_9d0d1b17d3865563, []int{40}
}
func (m *JetStreamConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1118,7 +1202,7 @@ var xxx_messageInfo_JetStreamConfig proto.InternalMessageInfo
func (m *JetStreamSource) Reset() { *m = JetStreamSource{} }
func (*JetStreamSource) ProtoMessage() {}
func (*JetStreamSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{38}
+ return fileDescriptor_9d0d1b17d3865563, []int{41}
}
func (m *JetStreamSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1146,7 +1230,7 @@ var xxx_messageInfo_JetStreamSource proto.InternalMessageInfo
func (m *JobTemplate) Reset() { *m = JobTemplate{} }
func (*JobTemplate) ProtoMessage() {}
func (*JobTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{39}
+ return fileDescriptor_9d0d1b17d3865563, []int{42}
}
func (m *JobTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1174,7 +1258,7 @@ var xxx_messageInfo_JobTemplate proto.InternalMessageInfo
func (m *KafkaSink) Reset() { *m = KafkaSink{} }
func (*KafkaSink) ProtoMessage() {}
func (*KafkaSink) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{40}
+ return fileDescriptor_9d0d1b17d3865563, []int{43}
}
func (m *KafkaSink) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1202,7 +1286,7 @@ var xxx_messageInfo_KafkaSink proto.InternalMessageInfo
func (m *KafkaSource) Reset() { *m = KafkaSource{} }
func (*KafkaSource) ProtoMessage() {}
func (*KafkaSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{41}
+ return fileDescriptor_9d0d1b17d3865563, []int{44}
}
func (m *KafkaSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1230,7 +1314,7 @@ var xxx_messageInfo_KafkaSource proto.InternalMessageInfo
func (m *Lifecycle) Reset() { *m = Lifecycle{} }
func (*Lifecycle) ProtoMessage() {}
func (*Lifecycle) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{42}
+ return fileDescriptor_9d0d1b17d3865563, []int{45}
}
func (m *Lifecycle) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1258,7 +1342,7 @@ var xxx_messageInfo_Lifecycle proto.InternalMessageInfo
func (m *Log) Reset() { *m = Log{} }
func (*Log) ProtoMessage() {}
func (*Log) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{43}
+ return fileDescriptor_9d0d1b17d3865563, []int{46}
}
func (m *Log) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1286,7 +1370,7 @@ var xxx_messageInfo_Log proto.InternalMessageInfo
func (m *Metadata) Reset() { *m = Metadata{} }
func (*Metadata) ProtoMessage() {}
func (*Metadata) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{44}
+ return fileDescriptor_9d0d1b17d3865563, []int{47}
}
func (m *Metadata) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1314,7 +1398,7 @@ var xxx_messageInfo_Metadata proto.InternalMessageInfo
func (m *MonoVertex) Reset() { *m = MonoVertex{} }
func (*MonoVertex) ProtoMessage() {}
func (*MonoVertex) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{45}
+ return fileDescriptor_9d0d1b17d3865563, []int{48}
}
func (m *MonoVertex) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1342,7 +1426,7 @@ var xxx_messageInfo_MonoVertex proto.InternalMessageInfo
func (m *MonoVertexLifecycle) Reset() { *m = MonoVertexLifecycle{} }
func (*MonoVertexLifecycle) ProtoMessage() {}
func (*MonoVertexLifecycle) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{46}
+ return fileDescriptor_9d0d1b17d3865563, []int{49}
}
func (m *MonoVertexLifecycle) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1370,7 +1454,7 @@ var xxx_messageInfo_MonoVertexLifecycle proto.InternalMessageInfo
func (m *MonoVertexLimits) Reset() { *m = MonoVertexLimits{} }
func (*MonoVertexLimits) ProtoMessage() {}
func (*MonoVertexLimits) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{47}
+ return fileDescriptor_9d0d1b17d3865563, []int{50}
}
func (m *MonoVertexLimits) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1398,7 +1482,7 @@ var xxx_messageInfo_MonoVertexLimits proto.InternalMessageInfo
func (m *MonoVertexList) Reset() { *m = MonoVertexList{} }
func (*MonoVertexList) ProtoMessage() {}
func (*MonoVertexList) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{48}
+ return fileDescriptor_9d0d1b17d3865563, []int{51}
}
func (m *MonoVertexList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1426,7 +1510,7 @@ var xxx_messageInfo_MonoVertexList proto.InternalMessageInfo
func (m *MonoVertexSpec) Reset() { *m = MonoVertexSpec{} }
func (*MonoVertexSpec) ProtoMessage() {}
func (*MonoVertexSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{49}
+ return fileDescriptor_9d0d1b17d3865563, []int{52}
}
func (m *MonoVertexSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1454,7 +1538,7 @@ var xxx_messageInfo_MonoVertexSpec proto.InternalMessageInfo
func (m *MonoVertexStatus) Reset() { *m = MonoVertexStatus{} }
func (*MonoVertexStatus) ProtoMessage() {}
func (*MonoVertexStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{50}
+ return fileDescriptor_9d0d1b17d3865563, []int{53}
}
func (m *MonoVertexStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1482,7 +1566,7 @@ var xxx_messageInfo_MonoVertexStatus proto.InternalMessageInfo
func (m *NatsAuth) Reset() { *m = NatsAuth{} }
func (*NatsAuth) ProtoMessage() {}
func (*NatsAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{51}
+ return fileDescriptor_9d0d1b17d3865563, []int{54}
}
func (m *NatsAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1510,7 +1594,7 @@ var xxx_messageInfo_NatsAuth proto.InternalMessageInfo
func (m *NatsSource) Reset() { *m = NatsSource{} }
func (*NatsSource) ProtoMessage() {}
func (*NatsSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{52}
+ return fileDescriptor_9d0d1b17d3865563, []int{55}
}
func (m *NatsSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1538,7 +1622,7 @@ var xxx_messageInfo_NatsSource proto.InternalMessageInfo
func (m *NoStore) Reset() { *m = NoStore{} }
func (*NoStore) ProtoMessage() {}
func (*NoStore) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{53}
+ return fileDescriptor_9d0d1b17d3865563, []int{56}
}
func (m *NoStore) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1566,7 +1650,7 @@ var xxx_messageInfo_NoStore proto.InternalMessageInfo
func (m *PBQStorage) Reset() { *m = PBQStorage{} }
func (*PBQStorage) ProtoMessage() {}
func (*PBQStorage) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{54}
+ return fileDescriptor_9d0d1b17d3865563, []int{57}
}
func (m *PBQStorage) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1594,7 +1678,7 @@ var xxx_messageInfo_PBQStorage proto.InternalMessageInfo
func (m *PersistenceStrategy) Reset() { *m = PersistenceStrategy{} }
func (*PersistenceStrategy) ProtoMessage() {}
func (*PersistenceStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{55}
+ return fileDescriptor_9d0d1b17d3865563, []int{58}
}
func (m *PersistenceStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1622,7 +1706,7 @@ var xxx_messageInfo_PersistenceStrategy proto.InternalMessageInfo
func (m *Pipeline) Reset() { *m = Pipeline{} }
func (*Pipeline) ProtoMessage() {}
func (*Pipeline) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{56}
+ return fileDescriptor_9d0d1b17d3865563, []int{59}
}
func (m *Pipeline) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1650,7 +1734,7 @@ var xxx_messageInfo_Pipeline proto.InternalMessageInfo
func (m *PipelineLimits) Reset() { *m = PipelineLimits{} }
func (*PipelineLimits) ProtoMessage() {}
func (*PipelineLimits) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{57}
+ return fileDescriptor_9d0d1b17d3865563, []int{60}
}
func (m *PipelineLimits) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1678,7 +1762,7 @@ var xxx_messageInfo_PipelineLimits proto.InternalMessageInfo
func (m *PipelineList) Reset() { *m = PipelineList{} }
func (*PipelineList) ProtoMessage() {}
func (*PipelineList) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{58}
+ return fileDescriptor_9d0d1b17d3865563, []int{61}
}
func (m *PipelineList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1706,7 +1790,7 @@ var xxx_messageInfo_PipelineList proto.InternalMessageInfo
func (m *PipelineSpec) Reset() { *m = PipelineSpec{} }
func (*PipelineSpec) ProtoMessage() {}
func (*PipelineSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{59}
+ return fileDescriptor_9d0d1b17d3865563, []int{62}
}
func (m *PipelineSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1734,7 +1818,7 @@ var xxx_messageInfo_PipelineSpec proto.InternalMessageInfo
func (m *PipelineStatus) Reset() { *m = PipelineStatus{} }
func (*PipelineStatus) ProtoMessage() {}
func (*PipelineStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{60}
+ return fileDescriptor_9d0d1b17d3865563, []int{63}
}
func (m *PipelineStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1762,7 +1846,7 @@ var xxx_messageInfo_PipelineStatus proto.InternalMessageInfo
func (m *Ports) Reset() { *m = Ports{} }
func (*Ports) ProtoMessage() {}
func (*Ports) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{61}
+ return fileDescriptor_9d0d1b17d3865563, []int{64}
}
func (m *Ports) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1790,7 +1874,7 @@ var xxx_messageInfo_Ports proto.InternalMessageInfo
func (m *Probe) Reset() { *m = Probe{} }
func (*Probe) ProtoMessage() {}
func (*Probe) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{62}
+ return fileDescriptor_9d0d1b17d3865563, []int{65}
}
func (m *Probe) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1818,7 +1902,7 @@ var xxx_messageInfo_Probe proto.InternalMessageInfo
func (m *PulsarAuth) Reset() { *m = PulsarAuth{} }
func (*PulsarAuth) ProtoMessage() {}
func (*PulsarAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{63}
+ return fileDescriptor_9d0d1b17d3865563, []int{66}
}
func (m *PulsarAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1846,7 +1930,7 @@ var xxx_messageInfo_PulsarAuth proto.InternalMessageInfo
func (m *PulsarBasicAuth) Reset() { *m = PulsarBasicAuth{} }
func (*PulsarBasicAuth) ProtoMessage() {}
func (*PulsarBasicAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{64}
+ return fileDescriptor_9d0d1b17d3865563, []int{67}
}
func (m *PulsarBasicAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1874,7 +1958,7 @@ var xxx_messageInfo_PulsarBasicAuth proto.InternalMessageInfo
func (m *PulsarSink) Reset() { *m = PulsarSink{} }
func (*PulsarSink) ProtoMessage() {}
func (*PulsarSink) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{65}
+ return fileDescriptor_9d0d1b17d3865563, []int{68}
}
func (m *PulsarSink) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1902,7 +1986,7 @@ var xxx_messageInfo_PulsarSink proto.InternalMessageInfo
func (m *PulsarSource) Reset() { *m = PulsarSource{} }
func (*PulsarSource) ProtoMessage() {}
func (*PulsarSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{66}
+ return fileDescriptor_9d0d1b17d3865563, []int{69}
}
func (m *PulsarSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1930,7 +2014,7 @@ var xxx_messageInfo_PulsarSource proto.InternalMessageInfo
func (m *RateLimit) Reset() { *m = RateLimit{} }
func (*RateLimit) ProtoMessage() {}
func (*RateLimit) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{67}
+ return fileDescriptor_9d0d1b17d3865563, []int{70}
}
func (m *RateLimit) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1958,7 +2042,7 @@ var xxx_messageInfo_RateLimit proto.InternalMessageInfo
func (m *RateLimiterGoBackN) Reset() { *m = RateLimiterGoBackN{} }
func (*RateLimiterGoBackN) ProtoMessage() {}
func (*RateLimiterGoBackN) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{68}
+ return fileDescriptor_9d0d1b17d3865563, []int{71}
}
func (m *RateLimiterGoBackN) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1986,7 +2070,7 @@ var xxx_messageInfo_RateLimiterGoBackN proto.InternalMessageInfo
func (m *RateLimiterInMemoryStore) Reset() { *m = RateLimiterInMemoryStore{} }
func (*RateLimiterInMemoryStore) ProtoMessage() {}
func (*RateLimiterInMemoryStore) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{69}
+ return fileDescriptor_9d0d1b17d3865563, []int{72}
}
func (m *RateLimiterInMemoryStore) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2014,7 +2098,7 @@ var xxx_messageInfo_RateLimiterInMemoryStore proto.InternalMessageInfo
func (m *RateLimiterModes) Reset() { *m = RateLimiterModes{} }
func (*RateLimiterModes) ProtoMessage() {}
func (*RateLimiterModes) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{70}
+ return fileDescriptor_9d0d1b17d3865563, []int{73}
}
func (m *RateLimiterModes) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2042,7 +2126,7 @@ var xxx_messageInfo_RateLimiterModes proto.InternalMessageInfo
func (m *RateLimiterOnlyIfUsed) Reset() { *m = RateLimiterOnlyIfUsed{} }
func (*RateLimiterOnlyIfUsed) ProtoMessage() {}
func (*RateLimiterOnlyIfUsed) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{71}
+ return fileDescriptor_9d0d1b17d3865563, []int{74}
}
func (m *RateLimiterOnlyIfUsed) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2070,7 +2154,7 @@ var xxx_messageInfo_RateLimiterOnlyIfUsed proto.InternalMessageInfo
func (m *RateLimiterRedisStore) Reset() { *m = RateLimiterRedisStore{} }
func (*RateLimiterRedisStore) ProtoMessage() {}
func (*RateLimiterRedisStore) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{72}
+ return fileDescriptor_9d0d1b17d3865563, []int{75}
}
func (m *RateLimiterRedisStore) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2098,7 +2182,7 @@ var xxx_messageInfo_RateLimiterRedisStore proto.InternalMessageInfo
func (m *RateLimiterRelaxed) Reset() { *m = RateLimiterRelaxed{} }
func (*RateLimiterRelaxed) ProtoMessage() {}
func (*RateLimiterRelaxed) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{73}
+ return fileDescriptor_9d0d1b17d3865563, []int{76}
}
func (m *RateLimiterRelaxed) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2126,7 +2210,7 @@ var xxx_messageInfo_RateLimiterRelaxed proto.InternalMessageInfo
func (m *RateLimiterScheduled) Reset() { *m = RateLimiterScheduled{} }
func (*RateLimiterScheduled) ProtoMessage() {}
func (*RateLimiterScheduled) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{74}
+ return fileDescriptor_9d0d1b17d3865563, []int{77}
}
func (m *RateLimiterScheduled) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2154,7 +2238,7 @@ var xxx_messageInfo_RateLimiterScheduled proto.InternalMessageInfo
func (m *RateLimiterStore) Reset() { *m = RateLimiterStore{} }
func (*RateLimiterStore) ProtoMessage() {}
func (*RateLimiterStore) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{75}
+ return fileDescriptor_9d0d1b17d3865563, []int{78}
}
func (m *RateLimiterStore) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2182,7 +2266,7 @@ var xxx_messageInfo_RateLimiterStore proto.InternalMessageInfo
func (m *RedisAuth) Reset() { *m = RedisAuth{} }
func (*RedisAuth) ProtoMessage() {}
func (*RedisAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{76}
+ return fileDescriptor_9d0d1b17d3865563, []int{79}
}
func (m *RedisAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2210,7 +2294,7 @@ var xxx_messageInfo_RedisAuth proto.InternalMessageInfo
func (m *RedisSentinelConfig) Reset() { *m = RedisSentinelConfig{} }
func (*RedisSentinelConfig) ProtoMessage() {}
func (*RedisSentinelConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{77}
+ return fileDescriptor_9d0d1b17d3865563, []int{80}
}
func (m *RedisSentinelConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2238,7 +2322,7 @@ var xxx_messageInfo_RedisSentinelConfig proto.InternalMessageInfo
func (m *RetryStrategy) Reset() { *m = RetryStrategy{} }
func (*RetryStrategy) ProtoMessage() {}
func (*RetryStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{78}
+ return fileDescriptor_9d0d1b17d3865563, []int{81}
}
func (m *RetryStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2266,7 +2350,7 @@ var xxx_messageInfo_RetryStrategy proto.InternalMessageInfo
func (m *RollingUpdateStrategy) Reset() { *m = RollingUpdateStrategy{} }
func (*RollingUpdateStrategy) ProtoMessage() {}
func (*RollingUpdateStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{79}
+ return fileDescriptor_9d0d1b17d3865563, []int{82}
}
func (m *RollingUpdateStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2294,7 +2378,7 @@ var xxx_messageInfo_RollingUpdateStrategy proto.InternalMessageInfo
func (m *SASL) Reset() { *m = SASL{} }
func (*SASL) ProtoMessage() {}
func (*SASL) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{80}
+ return fileDescriptor_9d0d1b17d3865563, []int{83}
}
func (m *SASL) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2322,7 +2406,7 @@ var xxx_messageInfo_SASL proto.InternalMessageInfo
func (m *SASLOAuth) Reset() { *m = SASLOAuth{} }
func (*SASLOAuth) ProtoMessage() {}
func (*SASLOAuth) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{81}
+ return fileDescriptor_9d0d1b17d3865563, []int{84}
}
func (m *SASLOAuth) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2350,7 +2434,7 @@ var xxx_messageInfo_SASLOAuth proto.InternalMessageInfo
func (m *SASLPlain) Reset() { *m = SASLPlain{} }
func (*SASLPlain) ProtoMessage() {}
func (*SASLPlain) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{82}
+ return fileDescriptor_9d0d1b17d3865563, []int{85}
}
func (m *SASLPlain) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2378,7 +2462,7 @@ var xxx_messageInfo_SASLPlain proto.InternalMessageInfo
func (m *Scale) Reset() { *m = Scale{} }
func (*Scale) ProtoMessage() {}
func (*Scale) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{83}
+ return fileDescriptor_9d0d1b17d3865563, []int{86}
}
func (m *Scale) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2406,7 +2490,7 @@ var xxx_messageInfo_Scale proto.InternalMessageInfo
func (m *ServeSink) Reset() { *m = ServeSink{} }
func (*ServeSink) ProtoMessage() {}
func (*ServeSink) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{84}
+ return fileDescriptor_9d0d1b17d3865563, []int{87}
}
func (m *ServeSink) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2434,7 +2518,7 @@ var xxx_messageInfo_ServeSink proto.InternalMessageInfo
func (m *ServingPipeline) Reset() { *m = ServingPipeline{} }
func (*ServingPipeline) ProtoMessage() {}
func (*ServingPipeline) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{85}
+ return fileDescriptor_9d0d1b17d3865563, []int{88}
}
func (m *ServingPipeline) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2462,7 +2546,7 @@ var xxx_messageInfo_ServingPipeline proto.InternalMessageInfo
func (m *ServingPipelineList) Reset() { *m = ServingPipelineList{} }
func (*ServingPipelineList) ProtoMessage() {}
func (*ServingPipelineList) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{86}
+ return fileDescriptor_9d0d1b17d3865563, []int{89}
}
func (m *ServingPipelineList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2490,7 +2574,7 @@ var xxx_messageInfo_ServingPipelineList proto.InternalMessageInfo
func (m *ServingPipelineSpec) Reset() { *m = ServingPipelineSpec{} }
func (*ServingPipelineSpec) ProtoMessage() {}
func (*ServingPipelineSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{87}
+ return fileDescriptor_9d0d1b17d3865563, []int{90}
}
func (m *ServingPipelineSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2518,7 +2602,7 @@ var xxx_messageInfo_ServingPipelineSpec proto.InternalMessageInfo
func (m *ServingPipelineStatus) Reset() { *m = ServingPipelineStatus{} }
func (*ServingPipelineStatus) ProtoMessage() {}
func (*ServingPipelineStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{88}
+ return fileDescriptor_9d0d1b17d3865563, []int{91}
}
func (m *ServingPipelineStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2546,7 +2630,7 @@ var xxx_messageInfo_ServingPipelineStatus proto.InternalMessageInfo
func (m *ServingSource) Reset() { *m = ServingSource{} }
func (*ServingSource) ProtoMessage() {}
func (*ServingSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{89}
+ return fileDescriptor_9d0d1b17d3865563, []int{92}
}
func (m *ServingSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2574,7 +2658,7 @@ var xxx_messageInfo_ServingSource proto.InternalMessageInfo
func (m *ServingSpec) Reset() { *m = ServingSpec{} }
func (*ServingSpec) ProtoMessage() {}
func (*ServingSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{90}
+ return fileDescriptor_9d0d1b17d3865563, []int{93}
}
func (m *ServingSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2602,7 +2686,7 @@ var xxx_messageInfo_ServingSpec proto.InternalMessageInfo
func (m *ServingStore) Reset() { *m = ServingStore{} }
func (*ServingStore) ProtoMessage() {}
func (*ServingStore) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{91}
+ return fileDescriptor_9d0d1b17d3865563, []int{94}
}
func (m *ServingStore) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2630,7 +2714,7 @@ var xxx_messageInfo_ServingStore proto.InternalMessageInfo
func (m *SessionWindow) Reset() { *m = SessionWindow{} }
func (*SessionWindow) ProtoMessage() {}
func (*SessionWindow) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{92}
+ return fileDescriptor_9d0d1b17d3865563, []int{95}
}
func (m *SessionWindow) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2658,7 +2742,7 @@ var xxx_messageInfo_SessionWindow proto.InternalMessageInfo
func (m *SideInput) Reset() { *m = SideInput{} }
func (*SideInput) ProtoMessage() {}
func (*SideInput) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{93}
+ return fileDescriptor_9d0d1b17d3865563, []int{96}
}
func (m *SideInput) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2686,7 +2770,7 @@ var xxx_messageInfo_SideInput proto.InternalMessageInfo
func (m *SideInputTrigger) Reset() { *m = SideInputTrigger{} }
func (*SideInputTrigger) ProtoMessage() {}
func (*SideInputTrigger) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{94}
+ return fileDescriptor_9d0d1b17d3865563, []int{97}
}
func (m *SideInputTrigger) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2714,7 +2798,7 @@ var xxx_messageInfo_SideInputTrigger proto.InternalMessageInfo
func (m *SideInputsManagerTemplate) Reset() { *m = SideInputsManagerTemplate{} }
func (*SideInputsManagerTemplate) ProtoMessage() {}
func (*SideInputsManagerTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{95}
+ return fileDescriptor_9d0d1b17d3865563, []int{98}
}
func (m *SideInputsManagerTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2742,7 +2826,7 @@ var xxx_messageInfo_SideInputsManagerTemplate proto.InternalMessageInfo
func (m *Sink) Reset() { *m = Sink{} }
func (*Sink) ProtoMessage() {}
func (*Sink) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{96}
+ return fileDescriptor_9d0d1b17d3865563, []int{99}
}
func (m *Sink) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2770,7 +2854,7 @@ var xxx_messageInfo_Sink proto.InternalMessageInfo
func (m *SlidingWindow) Reset() { *m = SlidingWindow{} }
func (*SlidingWindow) ProtoMessage() {}
func (*SlidingWindow) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{97}
+ return fileDescriptor_9d0d1b17d3865563, []int{100}
}
func (m *SlidingWindow) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2798,7 +2882,7 @@ var xxx_messageInfo_SlidingWindow proto.InternalMessageInfo
func (m *Source) Reset() { *m = Source{} }
func (*Source) ProtoMessage() {}
func (*Source) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{98}
+ return fileDescriptor_9d0d1b17d3865563, []int{101}
}
func (m *Source) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2826,7 +2910,7 @@ var xxx_messageInfo_Source proto.InternalMessageInfo
func (m *SqsSink) Reset() { *m = SqsSink{} }
func (*SqsSink) ProtoMessage() {}
func (*SqsSink) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{99}
+ return fileDescriptor_9d0d1b17d3865563, []int{102}
}
func (m *SqsSink) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2854,7 +2938,7 @@ var xxx_messageInfo_SqsSink proto.InternalMessageInfo
func (m *SqsSource) Reset() { *m = SqsSource{} }
func (*SqsSource) ProtoMessage() {}
func (*SqsSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{100}
+ return fileDescriptor_9d0d1b17d3865563, []int{103}
}
func (m *SqsSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2882,7 +2966,7 @@ var xxx_messageInfo_SqsSource proto.InternalMessageInfo
func (m *Status) Reset() { *m = Status{} }
func (*Status) ProtoMessage() {}
func (*Status) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{101}
+ return fileDescriptor_9d0d1b17d3865563, []int{104}
}
func (m *Status) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2910,7 +2994,7 @@ var xxx_messageInfo_Status proto.InternalMessageInfo
func (m *TLS) Reset() { *m = TLS{} }
func (*TLS) ProtoMessage() {}
func (*TLS) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{102}
+ return fileDescriptor_9d0d1b17d3865563, []int{105}
}
func (m *TLS) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2938,7 +3022,7 @@ var xxx_messageInfo_TLS proto.InternalMessageInfo
func (m *TagConditions) Reset() { *m = TagConditions{} }
func (*TagConditions) ProtoMessage() {}
func (*TagConditions) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{103}
+ return fileDescriptor_9d0d1b17d3865563, []int{106}
}
func (m *TagConditions) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2966,7 +3050,7 @@ var xxx_messageInfo_TagConditions proto.InternalMessageInfo
func (m *Templates) Reset() { *m = Templates{} }
func (*Templates) ProtoMessage() {}
func (*Templates) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{104}
+ return fileDescriptor_9d0d1b17d3865563, []int{107}
}
func (m *Templates) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2994,7 +3078,7 @@ var xxx_messageInfo_Templates proto.InternalMessageInfo
func (m *UDF) Reset() { *m = UDF{} }
func (*UDF) ProtoMessage() {}
func (*UDF) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{105}
+ return fileDescriptor_9d0d1b17d3865563, []int{108}
}
func (m *UDF) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3022,7 +3106,7 @@ var xxx_messageInfo_UDF proto.InternalMessageInfo
func (m *UDSink) Reset() { *m = UDSink{} }
func (*UDSink) ProtoMessage() {}
func (*UDSink) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{106}
+ return fileDescriptor_9d0d1b17d3865563, []int{109}
}
func (m *UDSink) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3050,7 +3134,7 @@ var xxx_messageInfo_UDSink proto.InternalMessageInfo
func (m *UDSource) Reset() { *m = UDSource{} }
func (*UDSource) ProtoMessage() {}
func (*UDSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{107}
+ return fileDescriptor_9d0d1b17d3865563, []int{110}
}
func (m *UDSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3078,7 +3162,7 @@ var xxx_messageInfo_UDSource proto.InternalMessageInfo
func (m *UDTransformer) Reset() { *m = UDTransformer{} }
func (*UDTransformer) ProtoMessage() {}
func (*UDTransformer) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{108}
+ return fileDescriptor_9d0d1b17d3865563, []int{111}
}
func (m *UDTransformer) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3106,7 +3190,7 @@ var xxx_messageInfo_UDTransformer proto.InternalMessageInfo
func (m *UpdateStrategy) Reset() { *m = UpdateStrategy{} }
func (*UpdateStrategy) ProtoMessage() {}
func (*UpdateStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{109}
+ return fileDescriptor_9d0d1b17d3865563, []int{112}
}
func (m *UpdateStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3134,7 +3218,7 @@ var xxx_messageInfo_UpdateStrategy proto.InternalMessageInfo
func (m *Vertex) Reset() { *m = Vertex{} }
func (*Vertex) ProtoMessage() {}
func (*Vertex) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{110}
+ return fileDescriptor_9d0d1b17d3865563, []int{113}
}
func (m *Vertex) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3162,7 +3246,7 @@ var xxx_messageInfo_Vertex proto.InternalMessageInfo
func (m *VertexInstance) Reset() { *m = VertexInstance{} }
func (*VertexInstance) ProtoMessage() {}
func (*VertexInstance) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{111}
+ return fileDescriptor_9d0d1b17d3865563, []int{114}
}
func (m *VertexInstance) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3190,7 +3274,7 @@ var xxx_messageInfo_VertexInstance proto.InternalMessageInfo
func (m *VertexLifecycle) Reset() { *m = VertexLifecycle{} }
func (*VertexLifecycle) ProtoMessage() {}
func (*VertexLifecycle) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{112}
+ return fileDescriptor_9d0d1b17d3865563, []int{115}
}
func (m *VertexLifecycle) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3218,7 +3302,7 @@ var xxx_messageInfo_VertexLifecycle proto.InternalMessageInfo
func (m *VertexLimits) Reset() { *m = VertexLimits{} }
func (*VertexLimits) ProtoMessage() {}
func (*VertexLimits) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{113}
+ return fileDescriptor_9d0d1b17d3865563, []int{116}
}
func (m *VertexLimits) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3246,7 +3330,7 @@ var xxx_messageInfo_VertexLimits proto.InternalMessageInfo
func (m *VertexList) Reset() { *m = VertexList{} }
func (*VertexList) ProtoMessage() {}
func (*VertexList) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{114}
+ return fileDescriptor_9d0d1b17d3865563, []int{117}
}
func (m *VertexList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3274,7 +3358,7 @@ var xxx_messageInfo_VertexList proto.InternalMessageInfo
func (m *VertexSpec) Reset() { *m = VertexSpec{} }
func (*VertexSpec) ProtoMessage() {}
func (*VertexSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{115}
+ return fileDescriptor_9d0d1b17d3865563, []int{118}
}
func (m *VertexSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3302,7 +3386,7 @@ var xxx_messageInfo_VertexSpec proto.InternalMessageInfo
func (m *VertexStatus) Reset() { *m = VertexStatus{} }
func (*VertexStatus) ProtoMessage() {}
func (*VertexStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{116}
+ return fileDescriptor_9d0d1b17d3865563, []int{119}
}
func (m *VertexStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3330,7 +3414,7 @@ var xxx_messageInfo_VertexStatus proto.InternalMessageInfo
func (m *VertexTemplate) Reset() { *m = VertexTemplate{} }
func (*VertexTemplate) ProtoMessage() {}
func (*VertexTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{117}
+ return fileDescriptor_9d0d1b17d3865563, []int{120}
}
func (m *VertexTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3358,7 +3442,7 @@ var xxx_messageInfo_VertexTemplate proto.InternalMessageInfo
func (m *Watermark) Reset() { *m = Watermark{} }
func (*Watermark) ProtoMessage() {}
func (*Watermark) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{118}
+ return fileDescriptor_9d0d1b17d3865563, []int{121}
}
func (m *Watermark) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3386,7 +3470,7 @@ var xxx_messageInfo_Watermark proto.InternalMessageInfo
func (m *Window) Reset() { *m = Window{} }
func (*Window) ProtoMessage() {}
func (*Window) Descriptor() ([]byte, []int) {
- return fileDescriptor_9d0d1b17d3865563, []int{119}
+ return fileDescriptor_9d0d1b17d3865563, []int{122}
}
func (m *Window) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3418,6 +3502,7 @@ func init() {
proto.RegisterType((*AbstractSink)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.AbstractSink")
proto.RegisterType((*AbstractVertex)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.AbstractVertex")
proto.RegisterType((*AccumulatorWindow)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.AccumulatorWindow")
+ proto.RegisterType((*AtLeastOnce)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.AtLeastOnce")
proto.RegisterType((*Authorization)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.Authorization")
proto.RegisterType((*Backoff)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.Backoff")
proto.RegisterType((*BasicAuth)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.BasicAuth")
@@ -3428,7 +3513,9 @@ func init() {
proto.RegisterType((*Container)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.Container")
proto.RegisterType((*ContainerTemplate)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.ContainerTemplate")
proto.RegisterType((*DaemonTemplate)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.DaemonTemplate")
+ proto.RegisterType((*Delivery)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.Delivery")
proto.RegisterType((*Edge)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.Edge")
+ proto.RegisterType((*ExactlyOnce)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.ExactlyOnce")
proto.RegisterType((*FixedWindow)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.FixedWindow")
proto.RegisterType((*ForwardConditions)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.ForwardConditions")
proto.RegisterType((*GSSAPI)(nil), "github.com.numaproj.numaflow.pkg.apis.numaflow.v1alpha1.GSSAPI")
@@ -3544,597 +3631,605 @@ func init() {
}
var fileDescriptor_9d0d1b17d3865563 = []byte{
- // 9430 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0x57,
- 0x72, 0x98, 0xe6, 0x8b, 0x33, 0x53, 0xc3, 0x8f, 0xdd, 0xb7, 0xab, 0x15, 0xb5, 0xb7, 0xda, 0x59,
- 0xb7, 0xac, 0xb3, 0x2e, 0x27, 0x93, 0x11, 0xef, 0xa4, 0xd3, 0x9d, 0x4e, 0x27, 0xcd, 0x90, 0xcb,
- 0x5d, 0x6a, 0xc9, 0x25, 0x55, 0x43, 0xee, 0xea, 0x4e, 0xb9, 0x53, 0x9a, 0x3d, 0x8f, 0xc3, 0x5e,
- 0xf6, 0x74, 0xcf, 0x76, 0xf7, 0x70, 0x97, 0x72, 0x84, 0x3b, 0xdb, 0x70, 0x74, 0x4e, 0x0c, 0x24,
- 0x48, 0x10, 0x9c, 0x91, 0xc4, 0x39, 0x18, 0x30, 0xe0, 0x1f, 0x81, 0x81, 0x20, 0x89, 0xfd, 0xc3,
- 0x06, 0x92, 0xd8, 0x3f, 0x9c, 0x43, 0x7c, 0x4e, 0x0e, 0x46, 0x80, 0x5c, 0xe0, 0x84, 0xc9, 0x31,
- 0xc9, 0x8f, 0xe4, 0x97, 0x63, 0x20, 0x89, 0xb3, 0x09, 0xe0, 0xe0, 0x7d, 0xf5, 0xd7, 0xf4, 0xac,
- 0xc8, 0xe9, 0x59, 0x6a, 0xe5, 0xe8, 0xd7, 0x4c, 0x57, 0xd5, 0xab, 0x7a, 0xfd, 0xfa, 0x7d, 0x54,
- 0xd5, 0xab, 0x57, 0x0f, 0xae, 0x75, 0x4c, 0x7f, 0xb7, 0xbf, 0x3d, 0x67, 0x38, 0xdd, 0x79, 0xbb,
- 0xdf, 0xd5, 0x7b, 0xae, 0x73, 0x87, 0xff, 0xd9, 0xb1, 0x9c, 0x7b, 0xf3, 0xbd, 0xbd, 0xce, 0xbc,
- 0xde, 0x33, 0xbd, 0x10, 0xb2, 0xff, 0xa2, 0x6e, 0xf5, 0x76, 0xf5, 0x17, 0xe7, 0x3b, 0xd4, 0xa6,
- 0xae, 0xee, 0xd3, 0xf6, 0x5c, 0xcf, 0x75, 0x7c, 0x87, 0x7c, 0x21, 0x64, 0x34, 0xa7, 0x18, 0xcd,
- 0xa9, 0x62, 0x73, 0xbd, 0xbd, 0xce, 0x1c, 0x63, 0x14, 0x42, 0x14, 0xa3, 0x8b, 0x3f, 0x19, 0xa9,
- 0x41, 0xc7, 0xe9, 0x38, 0xf3, 0x9c, 0xdf, 0x76, 0x7f, 0x87, 0x3f, 0xf1, 0x07, 0xfe, 0x4f, 0xc8,
- 0xb9, 0xa8, 0xed, 0xbd, 0xe2, 0xcd, 0x99, 0x0e, 0xab, 0xd6, 0xbc, 0xe1, 0xb8, 0x74, 0x7e, 0x7f,
- 0xa0, 0x2e, 0x17, 0x3f, 0x1f, 0xd2, 0x74, 0x75, 0x63, 0xd7, 0xb4, 0xa9, 0x7b, 0xa0, 0xde, 0x65,
- 0xde, 0xa5, 0x9e, 0xd3, 0x77, 0x0d, 0x7a, 0xa2, 0x52, 0xde, 0x7c, 0x97, 0xfa, 0x7a, 0x9a, 0xac,
- 0xf9, 0x61, 0xa5, 0xdc, 0xbe, 0xed, 0x9b, 0xdd, 0x41, 0x31, 0x2f, 0x7f, 0x58, 0x01, 0xcf, 0xd8,
- 0xa5, 0x5d, 0x7d, 0xa0, 0xdc, 0xe7, 0x86, 0x95, 0xeb, 0xfb, 0xa6, 0x35, 0x6f, 0xda, 0xbe, 0xe7,
- 0xbb, 0xc9, 0x42, 0xda, 0x3f, 0xc8, 0xc3, 0x54, 0xe3, 0x76, 0xab, 0xe1, 0x79, 0xfd, 0x2e, 0x45,
- 0xc7, 0xa2, 0xe4, 0x33, 0x50, 0x76, 0x1d, 0x8b, 0x36, 0x5c, 0x7b, 0x36, 0x77, 0x25, 0xf7, 0x7c,
- 0xb5, 0x39, 0xf3, 0xbd, 0xc3, 0xfa, 0x13, 0x47, 0x87, 0xf5, 0x32, 0x43, 0x37, 0xf0, 0x26, 0x2a,
- 0x3c, 0x79, 0x11, 0x6a, 0x1e, 0xf5, 0x3c, 0xd3, 0xb1, 0x6f, 0xea, 0x5d, 0x3a, 0x9b, 0x17, 0xe4,
- 0x47, 0x87, 0xf5, 0x5a, 0x2b, 0x04, 0x63, 0x94, 0x86, 0xbc, 0x06, 0x33, 0xed, 0xbe, 0xab, 0xfb,
- 0xa6, 0x63, 0xb7, 0xa8, 0xe1, 0xd8, 0x6d, 0x6f, 0xb6, 0x70, 0x25, 0xf7, 0x7c, 0xa9, 0x79, 0xee,
- 0xe8, 0xb0, 0x3e, 0xb3, 0x14, 0x47, 0x61, 0x92, 0x96, 0xcc, 0x01, 0xd0, 0xfb, 0x3e, 0x75, 0x6d,
- 0xdd, 0x5a, 0x59, 0x9a, 0x2d, 0x72, 0x81, 0xd3, 0x47, 0x87, 0x75, 0xb8, 0x1a, 0x40, 0x31, 0x42,
- 0x41, 0x34, 0x98, 0xe8, 0x39, 0x96, 0x69, 0x1c, 0xcc, 0x96, 0x38, 0x2d, 0x1c, 0x1d, 0xd6, 0x27,
- 0x36, 0x38, 0x04, 0x25, 0x86, 0xf1, 0x14, 0xff, 0x1a, 0xae, 0xed, 0xcd, 0x4e, 0x5c, 0x29, 0x28,
- 0x9e, 0x82, 0xae, 0x81, 0x37, 0x3d, 0x8c, 0x50, 0x68, 0xbf, 0x0d, 0x70, 0xae, 0xb1, 0xed, 0xf9,
- 0xae, 0x6e, 0xf8, 0x1b, 0x4e, 0x7b, 0x93, 0x76, 0x7b, 0x96, 0xee, 0x53, 0xb2, 0x07, 0x15, 0xd6,
- 0x07, 0xda, 0xba, 0xaf, 0xf3, 0x96, 0xab, 0x2d, 0x34, 0xe6, 0x46, 0xec, 0xf3, 0x73, 0x6b, 0x92,
- 0x51, 0x73, 0xf2, 0xe8, 0xb0, 0x5e, 0x51, 0x4f, 0x18, 0x08, 0x20, 0xbf, 0x98, 0x83, 0x49, 0xdb,
- 0x69, 0xd3, 0x16, 0xb5, 0xa8, 0xe1, 0x3b, 0xee, 0x6c, 0xfe, 0x4a, 0xe1, 0xf9, 0xda, 0xc2, 0x37,
- 0x46, 0x96, 0x98, 0xf2, 0x46, 0x73, 0x37, 0x23, 0x02, 0xae, 0xda, 0xbe, 0x7b, 0xd0, 0x3c, 0x2f,
- 0xfb, 0xc2, 0x64, 0x14, 0x85, 0xb1, 0x9a, 0x90, 0x2d, 0xa8, 0xf9, 0x8e, 0x45, 0xc5, 0x87, 0x63,
- 0x9f, 0x97, 0x55, 0xec, 0xf2, 0x9c, 0xe8, 0x9d, 0x4c, 0xfc, 0x1c, 0x1b, 0x96, 0x73, 0xfb, 0x2f,
- 0xce, 0x6d, 0x06, 0x64, 0xcd, 0x73, 0x92, 0x71, 0x2d, 0x84, 0x79, 0x18, 0xe5, 0x43, 0x28, 0xcc,
- 0x78, 0xd4, 0xe8, 0xbb, 0xa6, 0x7f, 0xb0, 0xe8, 0xd8, 0x3e, 0xbd, 0xef, 0xf3, 0xef, 0x5f, 0x5b,
- 0xf8, 0x74, 0x1a, 0xeb, 0x0d, 0xa7, 0xdd, 0x8a, 0x53, 0x8b, 0x1e, 0x96, 0x00, 0x62, 0x92, 0x27,
- 0xb1, 0xe1, 0x8c, 0xd9, 0xd5, 0x3b, 0x74, 0xa3, 0x6f, 0x59, 0x2d, 0x6a, 0xb8, 0xd4, 0xf7, 0x66,
- 0x4b, 0xfc, 0x15, 0x9e, 0x4f, 0x93, 0xb3, 0xea, 0x18, 0xba, 0xb5, 0xbe, 0x7d, 0x87, 0x1a, 0x3e,
- 0xd2, 0x1d, 0xea, 0x52, 0xdb, 0xa0, 0xcd, 0x59, 0xf9, 0x32, 0x67, 0x56, 0x12, 0x9c, 0x70, 0x80,
- 0x37, 0xb9, 0x06, 0x67, 0x7b, 0xae, 0xe9, 0xf0, 0x2a, 0x58, 0xba, 0xe7, 0xf1, 0x91, 0x34, 0xc1,
- 0x3b, 0xeb, 0xd3, 0x92, 0xcd, 0xd9, 0x8d, 0x24, 0x01, 0x0e, 0x96, 0x21, 0xcf, 0x43, 0x45, 0x01,
- 0x67, 0xcb, 0x7c, 0x48, 0xf1, 0xbe, 0xa3, 0xca, 0x62, 0x80, 0x25, 0xcb, 0x50, 0xd1, 0x77, 0x76,
- 0x4c, 0x9b, 0x51, 0x56, 0x78, 0x13, 0x5e, 0x4a, 0x7b, 0xb5, 0x86, 0xa4, 0x11, 0x7c, 0xd4, 0x13,
- 0x06, 0x65, 0xc9, 0x9b, 0x40, 0x3c, 0xea, 0xee, 0x9b, 0x06, 0x6d, 0x18, 0x86, 0xd3, 0xb7, 0x7d,
- 0x5e, 0xf7, 0x2a, 0xaf, 0xfb, 0x45, 0x59, 0x77, 0xd2, 0x1a, 0xa0, 0xc0, 0x94, 0x52, 0xe4, 0x0d,
- 0x38, 0x23, 0xa7, 0xb7, 0xb0, 0x15, 0x80, 0x73, 0x3a, 0xcf, 0x1a, 0x12, 0x13, 0x38, 0x1c, 0xa0,
- 0x26, 0x6d, 0xb8, 0xa4, 0xf7, 0x7d, 0xa7, 0xcb, 0x58, 0xc6, 0x85, 0x6e, 0x3a, 0x7b, 0xd4, 0x9e,
- 0xad, 0x5d, 0xc9, 0x3d, 0x5f, 0x69, 0x5e, 0x39, 0x3a, 0xac, 0x5f, 0x6a, 0x3c, 0x84, 0x0e, 0x1f,
- 0xca, 0x85, 0xac, 0x43, 0xb5, 0x6d, 0x7b, 0x62, 0x66, 0x98, 0x9d, 0xe4, 0x15, 0x7c, 0x51, 0xbe,
- 0x6a, 0x75, 0xe9, 0x66, 0x4b, 0x20, 0x1e, 0x1c, 0xd6, 0x2f, 0x0d, 0xae, 0x42, 0x73, 0x01, 0x1e,
- 0x43, 0x1e, 0x64, 0x8d, 0x33, 0x5c, 0x74, 0xec, 0x1d, 0xb3, 0x33, 0x3b, 0xc5, 0xbf, 0xc6, 0x95,
- 0x21, 0x1d, 0x7a, 0xe9, 0x66, 0x4b, 0xd0, 0x35, 0xa7, 0xa4, 0x38, 0xf1, 0x88, 0x21, 0x07, 0xd2,
- 0x86, 0x69, 0xb5, 0x7e, 0x2d, 0x5a, 0xba, 0xd9, 0xf5, 0x66, 0xa7, 0x79, 0xe7, 0xfd, 0xf1, 0x21,
- 0x3c, 0x31, 0x4a, 0xdc, 0xbc, 0x20, 0x5f, 0x65, 0x3a, 0x06, 0xf6, 0x30, 0xc1, 0xf3, 0xe2, 0xeb,
- 0x70, 0x76, 0x60, 0x6e, 0x20, 0x67, 0xa0, 0xb0, 0x47, 0x0f, 0xc4, 0xa2, 0x81, 0xec, 0x2f, 0x39,
- 0x0f, 0xa5, 0x7d, 0xdd, 0xea, 0xcb, 0x95, 0x01, 0xc5, 0xc3, 0x97, 0xf2, 0xaf, 0xe4, 0xb4, 0xdf,
- 0x2f, 0xc1, 0xa4, 0x9a, 0x71, 0x5a, 0xa6, 0xbd, 0x47, 0x6e, 0x43, 0xc1, 0x72, 0x3a, 0x72, 0xde,
- 0xfc, 0xf2, 0xc8, 0xb3, 0xd8, 0xaa, 0xd3, 0x69, 0x96, 0x8f, 0x0e, 0xeb, 0x85, 0x55, 0xa7, 0x83,
- 0x8c, 0x23, 0x31, 0xa0, 0xb4, 0xa7, 0xef, 0xec, 0xe9, 0xbc, 0x0e, 0xb5, 0x85, 0xe6, 0xc8, 0xac,
- 0x6f, 0x30, 0x2e, 0xac, 0xae, 0xcd, 0xea, 0xd1, 0x61, 0xbd, 0xc4, 0x1f, 0x51, 0xf0, 0x26, 0x0e,
- 0x54, 0xb7, 0x2d, 0xdd, 0xd8, 0xdb, 0x75, 0x2c, 0xca, 0xd7, 0xb3, 0x2c, 0x82, 0x9a, 0x8a, 0x93,
- 0xf8, 0xcc, 0xc1, 0x23, 0x86, 0x32, 0x88, 0x01, 0x13, 0xfd, 0xb6, 0x67, 0xda, 0x7b, 0x72, 0x0e,
- 0x7c, 0x7d, 0x64, 0x69, 0x5b, 0x4b, 0xfc, 0x9d, 0xf8, 0xc2, 0x28, 0xfe, 0xa3, 0x64, 0xcd, 0x9a,
- 0x8e, 0x8d, 0x54, 0xca, 0xd7, 0xce, 0x2c, 0x6f, 0xc4, 0x06, 0x12, 0x0d, 0x9b, 0x8e, 0x3f, 0xa2,
- 0xe0, 0x4d, 0xde, 0x81, 0x82, 0x77, 0xd7, 0xe3, 0x33, 0x5e, 0x6d, 0xe1, 0x8d, 0xd1, 0x45, 0xdc,
- 0xf5, 0xb8, 0x00, 0xfe, 0xf1, 0x5b, 0x77, 0x3d, 0x64, 0x5c, 0x49, 0x07, 0x26, 0x7a, 0x7d, 0xcb,
- 0xd3, 0x5d, 0x3e, 0x23, 0xd6, 0x16, 0x16, 0x47, 0xe6, 0xbf, 0xc1, 0xd9, 0x84, 0x4d, 0x25, 0x9e,
- 0x51, 0xb2, 0xd7, 0xfe, 0x64, 0x12, 0xa6, 0x55, 0x7f, 0xbe, 0x45, 0x5d, 0x9f, 0xde, 0x27, 0x57,
- 0xa0, 0x68, 0xb3, 0x59, 0x4c, 0x28, 0x51, 0x93, 0x72, 0x64, 0x15, 0xf9, 0xec, 0xc5, 0x31, 0xec,
- 0x23, 0x8a, 0x51, 0x25, 0xfb, 0xe6, 0xe8, 0x1f, 0xb1, 0xc5, 0xd9, 0x88, 0x9a, 0x89, 0xff, 0x28,
- 0x59, 0x93, 0x77, 0xa0, 0xc8, 0xfb, 0x89, 0xe8, 0x95, 0xaf, 0x8d, 0x2e, 0x82, 0xbd, 0x7a, 0x85,
- 0xbd, 0x01, 0xef, 0x23, 0x9c, 0x29, 0x1b, 0xb5, 0xfd, 0xf6, 0x8e, 0xec, 0x83, 0x5f, 0xce, 0xd0,
- 0x07, 0x97, 0xc5, 0x87, 0xdb, 0x5a, 0x5a, 0x46, 0xc6, 0x91, 0xfc, 0xb5, 0x1c, 0x9c, 0x35, 0x1c,
- 0xdb, 0xd7, 0x99, 0x16, 0xab, 0xf4, 0x11, 0xd9, 0x0f, 0xdf, 0x1c, 0x59, 0xce, 0x62, 0x92, 0x63,
- 0xf3, 0x49, 0xb6, 0xbc, 0x0e, 0x80, 0x71, 0x50, 0x36, 0xf9, 0x3b, 0x39, 0x78, 0x92, 0x2d, 0x7b,
- 0x03, 0xc4, 0xb2, 0xeb, 0x8e, 0xb3, 0x56, 0x4f, 0x1f, 0x1d, 0xd6, 0x9f, 0x5c, 0x49, 0x13, 0x86,
- 0xe9, 0x75, 0x60, 0xb5, 0x3b, 0xa7, 0x0f, 0x6a, 0x70, 0xb2, 0xdb, 0xaf, 0x8e, 0x53, 0x2b, 0x6c,
- 0x7e, 0x4a, 0x76, 0xe5, 0x34, 0x25, 0x18, 0xd3, 0x6a, 0x41, 0xae, 0x42, 0x79, 0xdf, 0xb1, 0xfa,
- 0x5d, 0xea, 0xcd, 0x56, 0xf8, 0x6a, 0x74, 0x31, 0x6d, 0x35, 0xba, 0xc5, 0x49, 0x42, 0x73, 0x43,
- 0x3c, 0x7b, 0xa8, 0xca, 0x12, 0x13, 0x26, 0x2c, 0xb3, 0x6b, 0xfa, 0x1e, 0xd7, 0x31, 0x6a, 0x0b,
- 0x57, 0x47, 0x7e, 0x2d, 0x31, 0x44, 0x57, 0x39, 0x33, 0x31, 0x6a, 0xc4, 0x7f, 0x94, 0x02, 0xf8,
- 0xd4, 0x67, 0xe8, 0x96, 0xd0, 0x41, 0x6a, 0x0b, 0x5f, 0x19, 0x7d, 0xd8, 0x30, 0x2e, 0xcd, 0x29,
- 0xf9, 0x4e, 0x25, 0xfe, 0x88, 0x82, 0x37, 0xf9, 0x3a, 0x4c, 0xc7, 0xbe, 0xa6, 0x37, 0x5b, 0xe3,
- 0xad, 0xf3, 0x4c, 0x5a, 0xeb, 0x04, 0x54, 0xe1, 0x22, 0x1d, 0xeb, 0x21, 0x1e, 0x26, 0x98, 0x91,
- 0x1b, 0x50, 0xf1, 0xcc, 0x36, 0x35, 0x74, 0xd7, 0x9b, 0x9d, 0x3c, 0x0e, 0xe3, 0x33, 0x92, 0x71,
- 0xa5, 0x25, 0x8b, 0x61, 0xc0, 0x80, 0x1b, 0x49, 0xba, 0xeb, 0x9b, 0x42, 0xa7, 0x9f, 0xe2, 0xfa,
- 0xa5, 0x30, 0x92, 0x02, 0x28, 0x46, 0x28, 0x18, 0x3d, 0x2b, 0xbb, 0x62, 0xf7, 0xfa, 0xbe, 0xd0,
- 0x41, 0xa4, 0x51, 0xd5, 0x0a, 0xa0, 0x18, 0xa1, 0x20, 0xbf, 0x96, 0x83, 0x4f, 0x85, 0x8f, 0x83,
- 0x83, 0x6c, 0x66, 0xec, 0x83, 0xac, 0x7e, 0x74, 0x58, 0xff, 0x54, 0x6b, 0xb8, 0x48, 0x7c, 0x58,
- 0x7d, 0xc8, 0x07, 0x39, 0x98, 0xee, 0xf7, 0xda, 0xba, 0x4f, 0x5b, 0x3e, 0xb3, 0xa7, 0x3b, 0x07,
- 0xb3, 0x67, 0x78, 0x15, 0xaf, 0x8d, 0x3e, 0x0b, 0xc6, 0xd8, 0x85, 0x9f, 0x39, 0x0e, 0xc7, 0x84,
- 0x58, 0xed, 0x0e, 0x9c, 0x6d, 0x18, 0x46, 0xbf, 0xdb, 0xb7, 0x74, 0xdf, 0x71, 0x6f, 0x9b, 0x76,
- 0xdb, 0xb9, 0x47, 0xb6, 0xa0, 0xcc, 0xb4, 0x63, 0xa7, 0xef, 0x4b, 0x95, 0x6a, 0x2e, 0xf2, 0xe9,
- 0x03, 0xef, 0x40, 0x58, 0x1b, 0x66, 0x57, 0xb2, 0xce, 0xa0, 0x0c, 0xf0, 0x66, 0x8d, 0x8d, 0xc0,
- 0x4d, 0xc1, 0x02, 0x15, 0x2f, 0xed, 0x36, 0x4c, 0x35, 0xfa, 0xfe, 0xae, 0xe3, 0x9a, 0xef, 0x71,
- 0x32, 0xb2, 0x0c, 0x25, 0x9f, 0x6b, 0xd7, 0x42, 0xca, 0x73, 0x69, 0x1d, 0x4c, 0x58, 0x3a, 0x37,
- 0xe8, 0x81, 0x52, 0x17, 0x85, 0x16, 0x20, 0xb4, 0x6d, 0x51, 0x5c, 0xfb, 0x4e, 0x1e, 0xca, 0x4d,
- 0xdd, 0xd8, 0x73, 0x76, 0x76, 0xc8, 0xdb, 0x50, 0x31, 0x6d, 0x9f, 0xba, 0xfb, 0xba, 0x35, 0x62,
- 0xe5, 0xb9, 0xc1, 0xb2, 0x22, 0x79, 0x60, 0xc0, 0x8d, 0xd4, 0xa1, 0xe4, 0xf9, 0xb4, 0xe7, 0xf1,
- 0xf5, 0x76, 0x4a, 0x2a, 0x23, 0x0c, 0x80, 0x02, 0x4e, 0x34, 0x98, 0xd8, 0xd1, 0xb9, 0x39, 0xcd,
- 0x96, 0xcb, 0x9c, 0x98, 0x1a, 0x96, 0x39, 0x04, 0x25, 0x86, 0xac, 0x40, 0xc1, 0xd0, 0x7b, 0x72,
- 0xcd, 0x3b, 0x69, 0xcd, 0xf8, 0x2a, 0xb7, 0xa8, 0xf7, 0x90, 0xf1, 0x60, 0xe2, 0xee, 0x98, 0xbe,
- 0x4f, 0x5d, 0xbe, 0xb2, 0x49, 0x71, 0x6f, 0x72, 0x08, 0x4a, 0x8c, 0xf6, 0xcb, 0x39, 0xa8, 0x36,
- 0x75, 0xcf, 0x34, 0x58, 0xc3, 0x93, 0x45, 0x28, 0xf6, 0x3d, 0xea, 0x9e, 0xac, 0xb9, 0xf9, 0xaa,
- 0xbd, 0xe5, 0x51, 0x17, 0x79, 0x61, 0xb2, 0x0e, 0x95, 0x9e, 0xee, 0x79, 0xf7, 0x1c, 0xb7, 0x2d,
- 0x35, 0x8f, 0x63, 0x32, 0x12, 0x06, 0xa5, 0x2c, 0x8a, 0x01, 0x13, 0xad, 0x06, 0xa1, 0x96, 0xaa,
- 0xfd, 0x42, 0x0e, 0xce, 0x35, 0xfb, 0x3b, 0x3b, 0xd4, 0x95, 0xf6, 0x93, 0xb4, 0x4c, 0xfa, 0x50,
- 0xbd, 0x43, 0x7d, 0xcf, 0x77, 0xa9, 0xde, 0x95, 0x62, 0xaf, 0x8f, 0x3c, 0x56, 0xde, 0xa4, 0x7e,
- 0x8b, 0x73, 0x8a, 0x1a, 0x44, 0x01, 0x10, 0x43, 0x49, 0xda, 0x6f, 0x97, 0x60, 0x72, 0xd1, 0xe9,
- 0x6e, 0x9b, 0x36, 0x6d, 0x5f, 0x6d, 0x77, 0x28, 0x79, 0x17, 0x8a, 0xb4, 0xdd, 0xa1, 0xb2, 0x09,
- 0x47, 0x57, 0x88, 0x18, 0xb3, 0x50, 0xad, 0x63, 0x4f, 0xc8, 0x19, 0x93, 0x55, 0x98, 0xde, 0x71,
- 0x9d, 0xae, 0x58, 0x63, 0x36, 0x0f, 0x7a, 0xca, 0x31, 0xf6, 0xe3, 0x6a, 0x40, 0x2f, 0xc7, 0xb0,
- 0x0f, 0x0e, 0xeb, 0x10, 0x3e, 0x61, 0xa2, 0x2c, 0x79, 0x1b, 0x66, 0x43, 0x48, 0x30, 0xd9, 0x2e,
- 0x32, 0x8b, 0x54, 0x7a, 0xce, 0x2e, 0x1d, 0x1d, 0xd6, 0x67, 0x97, 0x87, 0xd0, 0xe0, 0xd0, 0xd2,
- 0x6c, 0x0a, 0x3b, 0x13, 0x22, 0xc5, 0x02, 0x28, 0xbb, 0xf5, 0x98, 0x56, 0x56, 0x6e, 0xba, 0x2f,
- 0x27, 0x44, 0xe0, 0x80, 0x50, 0xb2, 0x0c, 0x93, 0xbe, 0x13, 0x69, 0x2f, 0xe1, 0xab, 0xd3, 0x94,
- 0xaf, 0x69, 0xd3, 0x19, 0xda, 0x5a, 0xb1, 0x72, 0x04, 0xe1, 0x82, 0x7a, 0x4e, 0xb4, 0xd4, 0x04,
- 0x6f, 0xa9, 0x8b, 0x47, 0x87, 0xf5, 0x0b, 0x9b, 0xa9, 0x14, 0x38, 0xa4, 0x24, 0xf9, 0xe9, 0x1c,
- 0x4c, 0x2b, 0x94, 0x6c, 0xa3, 0xf2, 0x38, 0xdb, 0x88, 0xb0, 0x1e, 0xb1, 0x19, 0x13, 0x80, 0x09,
- 0x81, 0x5a, 0x13, 0x6a, 0x8b, 0x4e, 0xb7, 0xe7, 0x0a, 0x3f, 0x2a, 0xf9, 0x1c, 0x14, 0x7d, 0xd6,
- 0x4c, 0xc2, 0xb2, 0xa8, 0xab, 0x2e, 0x28, 0x9b, 0x67, 0x26, 0x42, 0xca, 0xdb, 0x88, 0x13, 0x6b,
- 0xbf, 0x5e, 0x86, 0x6a, 0xb0, 0x8c, 0x91, 0x67, 0xa1, 0xc4, 0x3d, 0x51, 0x92, 0x47, 0xa0, 0x9f,
- 0x70, 0x87, 0x15, 0x0a, 0x1c, 0x79, 0x0e, 0xca, 0x86, 0xd3, 0xed, 0xea, 0x76, 0x9b, 0x7b, 0x17,
- 0xab, 0x62, 0x51, 0x58, 0x14, 0x20, 0x54, 0x38, 0x72, 0x09, 0x8a, 0xba, 0xdb, 0x11, 0x8e, 0xbe,
- 0xaa, 0x98, 0x6c, 0x1a, 0x6e, 0xc7, 0x43, 0x0e, 0x25, 0x5f, 0x84, 0x02, 0xb5, 0xf7, 0x67, 0x8b,
- 0xc3, 0xf5, 0xbe, 0xab, 0xf6, 0xfe, 0x2d, 0xdd, 0x6d, 0xd6, 0x64, 0x1d, 0x0a, 0x57, 0xed, 0x7d,
- 0x64, 0x65, 0xc8, 0x2a, 0x94, 0xa9, 0xbd, 0xcf, 0xfa, 0x8f, 0xf4, 0xc0, 0xfd, 0xd8, 0x90, 0xe2,
- 0x8c, 0x44, 0x9a, 0x40, 0x81, 0xf6, 0x28, 0xc1, 0xa8, 0x58, 0x90, 0xaf, 0xc2, 0xa4, 0x50, 0x24,
- 0xd7, 0xd8, 0x77, 0x15, 0x8e, 0xde, 0xda, 0x42, 0x7d, 0xb8, 0x26, 0xca, 0xe9, 0x42, 0x8f, 0x67,
- 0x04, 0xe8, 0x61, 0x8c, 0x15, 0xf9, 0x2a, 0x54, 0x95, 0x83, 0x44, 0xf5, 0x8e, 0x54, 0x67, 0xa1,
- 0xf2, 0xaa, 0x20, 0xbd, 0xdb, 0x37, 0x5d, 0xda, 0xa5, 0xb6, 0xef, 0x35, 0xcf, 0x2a, 0xf7, 0x91,
- 0xc2, 0x7a, 0x18, 0x72, 0x23, 0xdb, 0x83, 0x5e, 0x4f, 0xe1, 0xb2, 0x7b, 0x76, 0xc8, 0x94, 0x3d,
- 0x82, 0xcb, 0xf3, 0x1b, 0x30, 0x13, 0xb8, 0x25, 0xa5, 0x67, 0x4b, 0x38, 0xf1, 0x3e, 0xcf, 0x8a,
- 0xaf, 0xc4, 0x51, 0x0f, 0x0e, 0xeb, 0xcf, 0xa4, 0xf8, 0xb6, 0x42, 0x02, 0x4c, 0x32, 0x23, 0xef,
- 0xc1, 0xb4, 0x4b, 0xf5, 0xb6, 0x69, 0x53, 0xcf, 0xdb, 0x70, 0x9d, 0xed, 0xec, 0x5a, 0x35, 0xe7,
- 0x22, 0x86, 0x0e, 0xc6, 0x38, 0x63, 0x42, 0x12, 0xb9, 0x07, 0x53, 0x96, 0xb9, 0x4f, 0x43, 0xd1,
- 0xb5, 0xb1, 0x88, 0x3e, 0x7b, 0x74, 0x58, 0x9f, 0x5a, 0x8d, 0x32, 0xc6, 0xb8, 0x1c, 0xa6, 0x19,
- 0xf5, 0x1c, 0xd7, 0x57, 0xaa, 0xf7, 0x8f, 0x3d, 0x54, 0xf5, 0xde, 0x70, 0x5c, 0x3f, 0x1c, 0x84,
- 0xec, 0xc9, 0x43, 0x51, 0x5c, 0xfb, 0xc7, 0x25, 0x18, 0x34, 0x50, 0xe3, 0x3d, 0x2e, 0x37, 0xee,
- 0x1e, 0x97, 0xec, 0x0d, 0x62, 0xfd, 0x7a, 0x45, 0x16, 0x1b, 0x43, 0x8f, 0x48, 0xe9, 0xd5, 0x85,
- 0x71, 0xf7, 0xea, 0xc7, 0x66, 0xe2, 0x19, 0xec, 0xfe, 0x13, 0x1f, 0x5d, 0xf7, 0x2f, 0x9f, 0x4e,
- 0xf7, 0xd7, 0xbe, 0x5d, 0x84, 0xe9, 0x25, 0x9d, 0x76, 0x1d, 0xfb, 0x43, 0x7d, 0x14, 0xb9, 0xc7,
- 0xc2, 0x47, 0xf1, 0x3c, 0x54, 0x5c, 0xda, 0xb3, 0x4c, 0x43, 0x17, 0xe6, 0x81, 0xdc, 0x3e, 0x41,
- 0x09, 0xc3, 0x00, 0x3b, 0xc4, 0x37, 0x55, 0x78, 0x2c, 0x7d, 0x53, 0xc5, 0x8f, 0xde, 0x37, 0xa5,
- 0xfd, 0x74, 0x1e, 0xb8, 0x7a, 0x4c, 0xae, 0x40, 0x91, 0xa9, 0x7e, 0x49, 0x8f, 0x28, 0x1f, 0x2d,
- 0x1c, 0x43, 0x2e, 0x42, 0xde, 0x77, 0xe4, 0x74, 0x03, 0x12, 0x9f, 0xdf, 0x74, 0x30, 0xef, 0x3b,
- 0xe4, 0x3d, 0x00, 0xc3, 0xb1, 0xdb, 0xa6, 0xda, 0x55, 0xcc, 0xf6, 0x62, 0xcb, 0x8e, 0x7b, 0x4f,
- 0x77, 0xdb, 0x8b, 0x01, 0x47, 0xe1, 0x9d, 0x08, 0x9f, 0x31, 0x22, 0x8d, 0xbc, 0x0e, 0x13, 0x8e,
- 0xbd, 0xdc, 0xb7, 0x2c, 0xb9, 0xe5, 0xfc, 0x13, 0xcc, 0x50, 0x5b, 0xe7, 0x90, 0x07, 0x87, 0xf5,
- 0xa7, 0x85, 0xb9, 0xc3, 0x9e, 0x6e, 0xbb, 0xa6, 0x6f, 0xda, 0x9d, 0xc0, 0x58, 0x97, 0xc5, 0xb4,
- 0xbf, 0x91, 0x83, 0xda, 0xb2, 0x79, 0x9f, 0xb6, 0xa5, 0x7d, 0x8e, 0x30, 0x61, 0x51, 0xbb, 0xe3,
- 0xef, 0x8e, 0x68, 0xe1, 0x0a, 0x9f, 0x15, 0xe7, 0x80, 0x92, 0x13, 0x99, 0x87, 0xaa, 0xb0, 0x79,
- 0x4c, 0xbb, 0xc3, 0xdb, 0xb0, 0x12, 0xce, 0xf4, 0x2d, 0x85, 0xc0, 0x90, 0x46, 0x7b, 0x1f, 0xce,
- 0x0e, 0x34, 0x03, 0xd9, 0x85, 0xa2, 0xaf, 0x77, 0xd4, 0xa2, 0xb2, 0x3c, 0x72, 0x03, 0x6f, 0xea,
- 0x9d, 0x48, 0xe3, 0x06, 0x1f, 0x7b, 0x53, 0x67, 0x9a, 0x21, 0x93, 0xa0, 0xfd, 0x46, 0x11, 0x26,
- 0xae, 0xb5, 0x5a, 0x8d, 0x8d, 0x15, 0xf2, 0x12, 0xd4, 0xe4, 0x9e, 0xe0, 0xcd, 0xd0, 0x65, 0x1e,
- 0x6c, 0x09, 0xb7, 0x42, 0x14, 0x46, 0xe9, 0x98, 0x16, 0xeb, 0x52, 0xdd, 0xea, 0xca, 0x1e, 0x13,
- 0x2c, 0xa0, 0xc8, 0x80, 0x28, 0x70, 0x44, 0x87, 0x69, 0x66, 0xf5, 0xda, 0x7a, 0x97, 0x0a, 0x8b,
- 0x56, 0xf6, 0x9d, 0x63, 0xda, 0xbc, 0x7c, 0x96, 0xdd, 0x8a, 0x31, 0xc0, 0x04, 0x43, 0xf2, 0x0a,
- 0x54, 0xf4, 0xbe, 0xbf, 0xcb, 0x6d, 0x17, 0xd1, 0x41, 0x2e, 0xf1, 0x2d, 0x53, 0x09, 0x7b, 0x70,
- 0x58, 0x9f, 0xbc, 0x81, 0xcd, 0x97, 0xd4, 0x33, 0x06, 0xd4, 0xac, 0x72, 0xca, 0x8a, 0x96, 0x95,
- 0x2b, 0x9d, 0xb8, 0x72, 0x1b, 0x31, 0x06, 0x98, 0x60, 0x48, 0xde, 0x81, 0xc9, 0x3d, 0x7a, 0xe0,
- 0xeb, 0xdb, 0x52, 0xc0, 0xc4, 0x49, 0x04, 0x9c, 0x61, 0x9a, 0xef, 0x8d, 0x48, 0x71, 0x8c, 0x31,
- 0x23, 0x1e, 0x9c, 0xdf, 0xa3, 0xee, 0x36, 0x75, 0x1d, 0xb9, 0x01, 0x29, 0x85, 0x94, 0x4f, 0x22,
- 0x64, 0xf6, 0xe8, 0xb0, 0x7e, 0xfe, 0x46, 0x0a, 0x1b, 0x4c, 0x65, 0xae, 0xfd, 0xef, 0x3c, 0xcc,
- 0x5c, 0x13, 0x71, 0x2c, 0x8e, 0x2b, 0x96, 0x5f, 0xf2, 0x34, 0x14, 0xdc, 0x5e, 0x9f, 0xf7, 0x9c,
- 0x82, 0xf0, 0xb2, 0xe0, 0xc6, 0x16, 0x32, 0x18, 0x79, 0x1b, 0x2a, 0x2a, 0x8c, 0x44, 0xfa, 0x1d,
- 0x46, 0xf2, 0x27, 0xa9, 0x27, 0x0c, 0xb8, 0x31, 0x03, 0xa9, 0xeb, 0x75, 0x5a, 0xe6, 0x7b, 0x54,
- 0x9a, 0xe2, 0xdc, 0x40, 0x5a, 0x13, 0x20, 0x54, 0x38, 0xb6, 0xb4, 0xec, 0xd1, 0x03, 0x61, 0x88,
- 0x16, 0xc3, 0xa5, 0xe5, 0x86, 0x84, 0x61, 0x80, 0x25, 0x75, 0xb5, 0x61, 0xca, 0x7a, 0x41, 0x51,
- 0x38, 0xa8, 0x6e, 0x31, 0x80, 0xdc, 0x3b, 0x65, 0xf3, 0x86, 0xf4, 0x18, 0x4d, 0x8c, 0x3e, 0x6f,
- 0xc4, 0x3d, 0x4c, 0xe4, 0xb3, 0x50, 0xe5, 0xcc, 0x9b, 0x96, 0xb3, 0xcd, 0x3f, 0x5c, 0x55, 0xb8,
- 0x53, 0x6e, 0x29, 0x20, 0x86, 0x78, 0xed, 0x4f, 0xf3, 0x70, 0xe1, 0x1a, 0xf5, 0xc5, 0xd2, 0xbe,
- 0x44, 0x7b, 0x96, 0x73, 0xc0, 0x94, 0x4a, 0xa4, 0x77, 0xc9, 0x1b, 0x00, 0xa6, 0xb7, 0xdd, 0xda,
- 0x37, 0x36, 0x43, 0xe3, 0xf4, 0x8a, 0x1c, 0x92, 0xb0, 0xd2, 0x6a, 0x4a, 0xcc, 0x83, 0xd8, 0x13,
- 0x46, 0xca, 0x84, 0x56, 0x69, 0xfe, 0x21, 0x56, 0x69, 0x0b, 0xa0, 0x17, 0xaa, 0xa6, 0x05, 0x4e,
- 0xf9, 0x39, 0x25, 0xe6, 0x24, 0x5a, 0x69, 0x84, 0x4d, 0x16, 0x65, 0xd1, 0x86, 0x33, 0x6d, 0xba,
- 0xa3, 0xf7, 0x2d, 0x3f, 0x50, 0xa7, 0xe5, 0x20, 0x3e, 0xbe, 0x46, 0x1e, 0x04, 0x8c, 0x2c, 0x25,
- 0x38, 0xe1, 0x00, 0x6f, 0xed, 0x37, 0x0b, 0x70, 0xf1, 0x1a, 0xf5, 0x03, 0x67, 0x97, 0x9c, 0x1d,
- 0x5b, 0x3d, 0x6a, 0xb0, 0xaf, 0xf0, 0x41, 0x0e, 0x26, 0x2c, 0x7d, 0x9b, 0x5a, 0x6c, 0x0a, 0x67,
- 0x6f, 0xf3, 0xee, 0xc8, 0x53, 0xf8, 0x70, 0x29, 0x73, 0xab, 0x5c, 0x82, 0x88, 0x09, 0x9a, 0x96,
- 0x95, 0x9f, 0x10, 0x40, 0x94, 0xe2, 0xd9, 0xa4, 0x6e, 0x58, 0x7d, 0xcf, 0x17, 0xe6, 0x8d, 0x54,
- 0xaa, 0x82, 0x49, 0x7d, 0x31, 0x44, 0x61, 0x94, 0x8e, 0x2c, 0x00, 0x18, 0x96, 0x49, 0x6d, 0x9f,
- 0x97, 0x12, 0xe3, 0x8a, 0xa8, 0xef, 0xbb, 0x18, 0x60, 0x30, 0x42, 0xc5, 0x44, 0x75, 0x1d, 0xdb,
- 0xf4, 0x1d, 0x21, 0xaa, 0x18, 0x17, 0xb5, 0x16, 0xa2, 0x30, 0x4a, 0xc7, 0x8b, 0x51, 0xdf, 0x35,
- 0x0d, 0x8f, 0x17, 0x2b, 0x25, 0x8a, 0x85, 0x28, 0x8c, 0xd2, 0x5d, 0xfc, 0x22, 0xd4, 0x22, 0xef,
- 0x7f, 0xa2, 0xb8, 0x87, 0xbf, 0x5f, 0x85, 0xcb, 0xb1, 0x66, 0xf5, 0x75, 0x9f, 0xee, 0xf4, 0xad,
- 0x16, 0xf5, 0xd5, 0x07, 0x1c, 0x71, 0x2d, 0xfc, 0xab, 0xe1, 0x77, 0x17, 0xa1, 0x60, 0xc6, 0x78,
- 0xbe, 0xfb, 0x40, 0x05, 0x8f, 0xf5, 0xed, 0xe7, 0xa1, 0x6a, 0xeb, 0xbe, 0xc7, 0x07, 0xae, 0x1c,
- 0xa3, 0x81, 0x2e, 0x72, 0x53, 0x21, 0x30, 0xa4, 0x21, 0x1b, 0x70, 0x5e, 0x36, 0xf1, 0xd5, 0xfb,
- 0xcc, 0xf0, 0xa5, 0xae, 0x28, 0x2b, 0x97, 0x53, 0x59, 0xf6, 0xfc, 0x5a, 0x0a, 0x0d, 0xa6, 0x96,
- 0x24, 0x6b, 0x70, 0xce, 0x10, 0xe1, 0x31, 0xd4, 0x72, 0xf4, 0xb6, 0x62, 0x28, 0x7c, 0x8b, 0x81,
- 0x7d, 0xb0, 0x38, 0x48, 0x82, 0x69, 0xe5, 0x92, 0xbd, 0x79, 0x62, 0xa4, 0xde, 0x5c, 0x1e, 0xa5,
- 0x37, 0x57, 0x46, 0xeb, 0xcd, 0xd5, 0xe3, 0xf5, 0x66, 0xd6, 0xf2, 0x3c, 0x12, 0xc3, 0x65, 0xea,
- 0x89, 0x58, 0x61, 0x23, 0xd1, 0x57, 0x41, 0xcb, 0xb7, 0x52, 0x68, 0x30, 0xb5, 0x24, 0xd9, 0x86,
- 0x8b, 0x02, 0x7e, 0xd5, 0x36, 0xdc, 0x83, 0x9e, 0x8c, 0xdf, 0x54, 0x7c, 0x6b, 0x31, 0xe7, 0xee,
- 0xc5, 0xd6, 0x50, 0x4a, 0x7c, 0x08, 0x17, 0xf2, 0x2a, 0x4c, 0x89, 0xaf, 0xb4, 0xa6, 0xf7, 0x38,
- 0x5b, 0x11, 0x8b, 0xf5, 0xa4, 0x64, 0x3b, 0xb5, 0x18, 0x45, 0x62, 0x9c, 0x96, 0x34, 0x60, 0xa6,
- 0xb7, 0x6f, 0xb0, 0xbf, 0x2b, 0x3b, 0x37, 0x29, 0x6d, 0xd3, 0x36, 0xdf, 0xd1, 0xac, 0x36, 0x9f,
- 0x52, 0x2e, 0x8e, 0x8d, 0x38, 0x1a, 0x93, 0xf4, 0xe4, 0x15, 0x98, 0xf4, 0x7c, 0xdd, 0xf5, 0xa5,
- 0x37, 0x74, 0x76, 0x5a, 0xc4, 0xaa, 0x29, 0x67, 0x61, 0x2b, 0x82, 0xc3, 0x18, 0x65, 0xea, 0x7a,
- 0x31, 0xf3, 0xe8, 0xd6, 0x8b, 0x2c, 0xb3, 0xd5, 0x3f, 0xcf, 0xc3, 0x95, 0x6b, 0xd4, 0x5f, 0x73,
- 0x6c, 0xe9, 0x8f, 0x4e, 0x5b, 0xf6, 0x8f, 0xe5, 0x4a, 0x8e, 0x2f, 0xda, 0xf9, 0xb1, 0x2e, 0xda,
- 0x85, 0x31, 0x2d, 0xda, 0xc5, 0x47, 0xb8, 0x68, 0xff, 0x93, 0x3c, 0x3c, 0x15, 0x6b, 0xc9, 0x0d,
- 0xa7, 0xad, 0x26, 0xfc, 0x4f, 0x1a, 0xf0, 0x18, 0x0d, 0xf8, 0xfb, 0x05, 0x78, 0xe6, 0x1a, 0x15,
- 0x21, 0x99, 0x76, 0x67, 0xc3, 0xec, 0x51, 0xcb, 0xb4, 0x69, 0x84, 0x2d, 0xf9, 0xcb, 0x39, 0x98,
- 0x14, 0xba, 0xa4, 0x0c, 0xa6, 0xcc, 0xea, 0x57, 0x4a, 0xd9, 0xc4, 0x0c, 0x07, 0xb8, 0xd0, 0x60,
- 0xe5, 0xea, 0x11, 0x93, 0xfb, 0x89, 0x16, 0x7b, 0x9c, 0xef, 0xf9, 0x33, 0x05, 0x78, 0x9a, 0x7d,
- 0x4f, 0x15, 0x62, 0xf1, 0x89, 0x29, 0xf1, 0x11, 0x7c, 0x84, 0x5f, 0x2d, 0xc1, 0xb9, 0x6b, 0xd4,
- 0x1f, 0x98, 0x91, 0xfe, 0x3f, 0x6d, 0xfe, 0x35, 0x38, 0x17, 0x86, 0xfc, 0xb4, 0x7c, 0xc7, 0x15,
- 0x1a, 0x78, 0x42, 0x63, 0x6c, 0x0d, 0x92, 0x60, 0x5a, 0x39, 0xf2, 0x55, 0x78, 0xca, 0x13, 0xd3,
- 0x95, 0xf0, 0x51, 0x08, 0x85, 0x3a, 0x12, 0xdf, 0xaf, 0x76, 0x6e, 0x9f, 0x6a, 0xa5, 0x93, 0xe1,
- 0xb0, 0xf2, 0xe4, 0x9b, 0x30, 0xd9, 0x93, 0x53, 0x20, 0xfb, 0x66, 0x99, 0x77, 0xa4, 0x37, 0x22,
- 0xcc, 0xc2, 0x39, 0x2e, 0x0a, 0xc5, 0x98, 0xc0, 0xd4, 0x9e, 0x5a, 0x79, 0x84, 0x3d, 0xf5, 0x8f,
- 0xf3, 0x50, 0xbe, 0xe6, 0x3a, 0xfd, 0x5e, 0xf3, 0x80, 0x74, 0x60, 0xe2, 0x1e, 0xf7, 0xa2, 0xca,
- 0x19, 0x7e, 0xf4, 0xb0, 0x59, 0xe1, 0x8c, 0x0d, 0x8d, 0x18, 0xf1, 0x8c, 0x92, 0x3d, 0xeb, 0xc4,
- 0x7b, 0xf4, 0x80, 0xb6, 0xa5, 0x33, 0x35, 0xe8, 0xc4, 0x37, 0x18, 0x10, 0x05, 0x8e, 0x74, 0x61,
- 0x46, 0xb7, 0x2c, 0xe7, 0x1e, 0x6d, 0xaf, 0xea, 0x3e, 0xdf, 0x00, 0x91, 0xfe, 0xc5, 0x93, 0xba,
- 0x66, 0xf8, 0xae, 0x56, 0x23, 0xce, 0x0a, 0x93, 0xbc, 0xc9, 0x1d, 0x28, 0x7b, 0xbe, 0xe3, 0x2a,
- 0xd3, 0x28, 0x53, 0x48, 0x73, 0xf3, 0xad, 0x96, 0x60, 0x25, 0xfc, 0x56, 0xf2, 0x01, 0x95, 0x00,
- 0xed, 0x97, 0x72, 0x00, 0xd7, 0x37, 0x37, 0x37, 0xa4, 0x8b, 0xad, 0x0d, 0x45, 0xbd, 0x1f, 0x78,
- 0xac, 0x47, 0xf7, 0x0c, 0xc7, 0x22, 0xc8, 0x64, 0xbc, 0x40, 0xdf, 0xdf, 0x45, 0xce, 0x9d, 0x7c,
- 0x06, 0xca, 0xd2, 0xac, 0x95, 0xcd, 0x1e, 0x6c, 0xac, 0xc9, 0x95, 0x18, 0x15, 0x5e, 0xfb, 0xe5,
- 0x02, 0xc0, 0x4a, 0xdb, 0xa2, 0x2d, 0x15, 0xe9, 0x5c, 0xf5, 0x77, 0x5d, 0xea, 0xed, 0x3a, 0x56,
- 0x7b, 0x44, 0xb7, 0x3a, 0xf7, 0x7b, 0x6d, 0x2a, 0x26, 0x18, 0xf2, 0x23, 0x6d, 0xa6, 0xef, 0xd3,
- 0x9e, 0x0a, 0x2a, 0x1b, 0xd1, 0x91, 0x78, 0x46, 0xd8, 0x06, 0x21, 0x1f, 0x8c, 0x71, 0x25, 0x3a,
- 0xd4, 0x4c, 0xdb, 0x10, 0x03, 0xa4, 0x79, 0x30, 0x62, 0x47, 0xe2, 0x07, 0xf0, 0x56, 0x42, 0x36,
- 0x18, 0xe5, 0xc9, 0xfa, 0xab, 0x69, 0x9b, 0xbe, 0x68, 0xb3, 0x25, 0x6a, 0xe9, 0x07, 0x23, 0x86,
- 0xb2, 0xf1, 0xfe, 0xba, 0x12, 0x67, 0x85, 0x49, 0xde, 0xda, 0x5f, 0xc9, 0xc1, 0x0c, 0x7f, 0x3d,
- 0xf6, 0xd6, 0x42, 0xa3, 0x22, 0xf7, 0xa0, 0x66, 0x84, 0x31, 0x2a, 0xb2, 0x29, 0x97, 0x32, 0xec,
- 0x51, 0x05, 0xbc, 0xc4, 0xbb, 0x47, 0x00, 0x18, 0x95, 0xa4, 0xfd, 0x51, 0x1e, 0x2e, 0x24, 0x2a,
- 0x23, 0x3b, 0x15, 0xf9, 0x8b, 0x03, 0x87, 0xf7, 0xfe, 0xfc, 0xf1, 0xda, 0x43, 0x9c, 0xfd, 0x5a,
- 0xa3, 0xbe, 0x1e, 0xda, 0xf5, 0x21, 0x2c, 0x72, 0x62, 0xaf, 0x0f, 0x45, 0x8f, 0xcd, 0xd5, 0xe2,
- 0x75, 0x5b, 0x23, 0xbf, 0x6e, 0xfa, 0x0b, 0xf0, 0x99, 0x3b, 0xd8, 0x65, 0xe1, 0x33, 0x36, 0x17,
- 0x47, 0xde, 0x87, 0x09, 0xcf, 0xd7, 0xfd, 0xbe, 0x9a, 0x96, 0xb6, 0xc6, 0x2d, 0x98, 0x33, 0x0f,
- 0xe7, 0x50, 0xf1, 0x8c, 0x52, 0xa8, 0xf6, 0x47, 0x39, 0xb8, 0x98, 0x5e, 0x70, 0xd5, 0xf4, 0x7c,
- 0xf2, 0x17, 0x06, 0x9a, 0xfd, 0x98, 0xdd, 0x90, 0x95, 0xe6, 0x8d, 0x1e, 0x04, 0x2d, 0x2b, 0x48,
- 0xa4, 0xc9, 0x7d, 0x28, 0x99, 0x3e, 0xed, 0x2a, 0x8f, 0xd8, 0xfa, 0x98, 0x5f, 0x3d, 0xa2, 0xd6,
- 0x30, 0x29, 0x28, 0x84, 0x69, 0x7f, 0x7b, 0xe8, 0x2b, 0xf3, 0xa5, 0xf3, 0x2f, 0x0d, 0xc6, 0x41,
- 0xae, 0x67, 0x8f, 0x83, 0x4c, 0x54, 0x6c, 0x68, 0x38, 0xe4, 0x0f, 0x0b, 0x70, 0xe9, 0x61, 0x1f,
- 0x92, 0xad, 0xae, 0xb2, 0xbf, 0x64, 0x5d, 0x5d, 0x1f, 0xde, 0x33, 0xc8, 0x02, 0x94, 0x7a, 0xbb,
- 0xba, 0xa7, 0x54, 0xc4, 0x4b, 0x41, 0xf4, 0x0b, 0x03, 0x3e, 0x60, 0x53, 0x18, 0x57, 0x2d, 0xf9,
- 0x23, 0x0a, 0x52, 0xb6, 0x38, 0x74, 0xa9, 0xe7, 0x85, 0x4e, 0xc5, 0x60, 0x71, 0x58, 0x13, 0x60,
- 0x54, 0x78, 0xe2, 0xc3, 0x84, 0x70, 0xfa, 0xc8, 0xe9, 0x6d, 0xbc, 0x76, 0x60, 0xf0, 0x52, 0xd2,
- 0x02, 0x94, 0xb2, 0xc8, 0x9c, 0x0c, 0xcd, 0x2b, 0xc5, 0x0e, 0x41, 0x16, 0x53, 0xb4, 0x65, 0x4e,
- 0x47, 0xde, 0x04, 0xe2, 0x6c, 0x73, 0x37, 0x57, 0x5b, 0xee, 0x68, 0xb1, 0x19, 0x71, 0x82, 0xef,
- 0x62, 0x05, 0x47, 0x28, 0xd7, 0x07, 0x28, 0x30, 0xa5, 0x94, 0xf6, 0xaf, 0x2a, 0x70, 0x21, 0xbd,
- 0x3f, 0xb0, 0x76, 0xdb, 0xa7, 0x2e, 0x9f, 0x6d, 0x13, 0x67, 0xba, 0x6f, 0x09, 0x30, 0x2a, 0xfc,
- 0xc7, 0x3a, 0x0e, 0xe2, 0x57, 0x73, 0xf0, 0xb4, 0x2b, 0xbd, 0xb6, 0xa7, 0x11, 0x0b, 0xf1, 0xcc,
- 0xd1, 0x61, 0xfd, 0x69, 0x1c, 0x26, 0x10, 0x87, 0xd7, 0x85, 0xfc, 0x4a, 0x0e, 0x66, 0xa5, 0x13,
- 0x76, 0xf1, 0x14, 0x8e, 0x39, 0xf1, 0x10, 0xe1, 0xb5, 0x21, 0xf2, 0x70, 0x68, 0x4d, 0xc8, 0x37,
- 0xa1, 0xd6, 0x63, 0xfd, 0xc2, 0xf3, 0xa9, 0x6d, 0xa8, 0xb8, 0xa5, 0xd1, 0x47, 0xd2, 0x46, 0xc8,
- 0x2b, 0x38, 0xe6, 0xc0, 0x57, 0xec, 0x08, 0x02, 0xa3, 0x12, 0x1f, 0xf3, 0x73, 0x4d, 0xcf, 0x43,
- 0xc5, 0xa3, 0xbe, 0x6f, 0xda, 0x1d, 0x61, 0xfd, 0x54, 0xc5, 0x58, 0x69, 0x49, 0x18, 0x06, 0x58,
- 0xf2, 0x59, 0xa8, 0x72, 0x27, 0x70, 0xc3, 0xed, 0x78, 0xb3, 0x55, 0x1e, 0x28, 0x3b, 0x25, 0xe2,
- 0x32, 0x24, 0x10, 0x43, 0x3c, 0xf9, 0x3c, 0x4c, 0x6e, 0xf3, 0xe1, 0x2b, 0x1d, 0x59, 0xc2, 0x13,
- 0xcf, 0x75, 0xc7, 0x66, 0x04, 0x8e, 0x31, 0x2a, 0xb2, 0x00, 0x40, 0x03, 0x4f, 0xb9, 0x3c, 0xed,
- 0x1c, 0x68, 0x24, 0xa1, 0x0f, 0x1d, 0x23, 0x54, 0xe4, 0x19, 0x28, 0xf8, 0x96, 0xc7, 0x7d, 0xe7,
- 0x95, 0xd0, 0x20, 0xde, 0x5c, 0x6d, 0x21, 0x83, 0x6b, 0x7f, 0x9a, 0x83, 0x99, 0x44, 0xa4, 0x3d,
- 0x2b, 0xd2, 0x77, 0x2d, 0x39, 0x8d, 0x04, 0x45, 0xb6, 0x70, 0x15, 0x19, 0x9c, 0xbc, 0x2b, 0x8d,
- 0x84, 0x7c, 0xc6, 0x04, 0x08, 0x37, 0x75, 0xdf, 0x63, 0x56, 0xc1, 0x80, 0x7d, 0xc0, 0x1d, 0xef,
- 0x61, 0x7d, 0xe4, 0x3a, 0x10, 0x71, 0xbc, 0x87, 0x38, 0x8c, 0x51, 0xb2, 0x06, 0xf2, 0x2d, 0xef,
- 0xaa, 0xad, 0x6f, 0x5b, 0xb4, 0xcd, 0x67, 0x83, 0x48, 0x03, 0x6d, 0xae, 0xb6, 0x24, 0x06, 0x23,
- 0x54, 0xda, 0x6f, 0x15, 0x22, 0x2d, 0x20, 0xed, 0x8c, 0x0f, 0x69, 0x81, 0x4f, 0xb3, 0x05, 0x34,
- 0x58, 0xdc, 0xab, 0xd1, 0xf5, 0x8f, 0x2f, 0xc6, 0x12, 0x4b, 0x5e, 0x80, 0x8a, 0xe1, 0xd8, 0x5e,
- 0xbf, 0x4b, 0x5d, 0xf9, 0x12, 0x81, 0x2a, 0xb3, 0x28, 0xe1, 0x18, 0x50, 0x90, 0x2f, 0xc3, 0x74,
- 0x9b, 0x5a, 0xe6, 0x3e, 0x75, 0xdf, 0x95, 0x09, 0x2d, 0x8a, 0xf1, 0x0d, 0x8f, 0x25, 0x81, 0x95,
- 0x1e, 0x91, 0xa9, 0x76, 0xf4, 0x91, 0xbc, 0x0a, 0x33, 0x3b, 0xa6, 0xe5, 0x53, 0xf7, 0x5d, 0xaf,
- 0xcf, 0x75, 0x53, 0x91, 0xd3, 0xa0, 0x2a, 0x02, 0x48, 0x96, 0x39, 0xaa, 0x25, 0x31, 0x38, 0xbd,
- 0x13, 0x7b, 0x26, 0xb7, 0x45, 0x27, 0x99, 0xc8, 0x78, 0xc8, 0x73, 0x73, 0xb5, 0x25, 0x02, 0x33,
- 0x54, 0xf7, 0x0a, 0xfa, 0x4a, 0xf9, 0x11, 0xf5, 0x15, 0xed, 0x5f, 0x14, 0xa0, 0xf6, 0xa6, 0xb3,
- 0xfd, 0x31, 0x89, 0x40, 0x4c, 0x5f, 0x4f, 0xf3, 0x1f, 0xe1, 0x7a, 0xba, 0x05, 0x4f, 0xf9, 0xbe,
- 0x25, 0x73, 0xaf, 0x34, 0x76, 0x7c, 0xea, 0x2e, 0x9b, 0xb6, 0xe9, 0xed, 0xd2, 0xb6, 0xdc, 0x97,
- 0xff, 0xd4, 0xd1, 0x61, 0xfd, 0xa9, 0xcd, 0xcd, 0xd5, 0x34, 0x12, 0x1c, 0x56, 0x96, 0xcf, 0x6f,
- 0xe2, 0xac, 0x17, 0x3f, 0xdf, 0x20, 0xb7, 0xeb, 0xc5, 0xfc, 0x16, 0x81, 0x63, 0x8c, 0x4a, 0xfb,
- 0xf7, 0x79, 0xa8, 0x06, 0x67, 0xf0, 0xc9, 0x73, 0x50, 0xde, 0x76, 0x9d, 0x3d, 0xea, 0x8a, 0x30,
- 0x07, 0x79, 0x36, 0xa1, 0x29, 0x40, 0xa8, 0x70, 0xe4, 0x59, 0x28, 0xf9, 0x4e, 0xcf, 0x34, 0x92,
- 0x7e, 0xc8, 0x4d, 0x06, 0x44, 0x81, 0xe3, 0x23, 0x96, 0x47, 0x24, 0xf1, 0xb7, 0xaa, 0x44, 0x46,
- 0x2c, 0x87, 0xa2, 0xc4, 0xaa, 0x81, 0x50, 0x1c, 0xfb, 0x40, 0xf8, 0x74, 0xa0, 0xab, 0x96, 0xe2,
- 0x53, 0x46, 0x42, 0xbb, 0x7c, 0x07, 0x8a, 0x9e, 0xee, 0x59, 0x72, 0x28, 0x66, 0x38, 0xcb, 0xdd,
- 0x68, 0xad, 0xca, 0xb3, 0xdc, 0x8d, 0xd6, 0x2a, 0x72, 0xa6, 0xda, 0x3f, 0x2c, 0x40, 0x4d, 0xb4,
- 0xaf, 0x98, 0xe6, 0xc6, 0xd9, 0xc2, 0xaf, 0xf3, 0xdd, 0x5a, 0x3e, 0x93, 0x71, 0x2f, 0x9e, 0x9c,
- 0xf0, 0x82, 0x04, 0x27, 0x8b, 0x51, 0x64, 0xb0, 0x63, 0x1b, 0x82, 0xfe, 0x6c, 0x37, 0x3d, 0x5b,
- 0xd3, 0x78, 0x1e, 0x09, 0xa9, 0x8c, 0xcb, 0x20, 0xac, 0x60, 0x4d, 0xbb, 0x11, 0xc1, 0x61, 0x8c,
- 0x52, 0xfb, 0xef, 0x79, 0xa8, 0xae, 0x9a, 0x3b, 0xd4, 0x38, 0x30, 0x2c, 0x4a, 0xbe, 0x01, 0x17,
- 0xdb, 0xd4, 0xa2, 0x6c, 0x69, 0xbf, 0xe6, 0xea, 0x06, 0xdd, 0xa0, 0xae, 0xc9, 0xf3, 0xe0, 0xf0,
- 0x3c, 0x4b, 0x22, 0x36, 0xee, 0xf2, 0xd1, 0x61, 0xfd, 0xe2, 0xd2, 0x50, 0x2a, 0x7c, 0x08, 0x07,
- 0xb2, 0x02, 0x93, 0x6d, 0xea, 0x99, 0x2e, 0x6d, 0x6f, 0x44, 0x2c, 0xb7, 0xe7, 0x54, 0x3d, 0x97,
- 0x22, 0xb8, 0x07, 0x87, 0xf5, 0x29, 0xe5, 0x3f, 0x16, 0x26, 0x5c, 0xac, 0x28, 0x9b, 0x5a, 0x7a,
- 0x7a, 0xdf, 0xa3, 0x29, 0xf5, 0x2c, 0xf0, 0x7a, 0xf2, 0xa9, 0x65, 0x23, 0x9d, 0x04, 0x87, 0x95,
- 0x25, 0xdb, 0x30, 0xcb, 0xeb, 0x9f, 0xc6, 0xb7, 0xc8, 0xf9, 0x7e, 0xfa, 0xe8, 0xb0, 0xae, 0x2d,
- 0xd1, 0x9e, 0x4b, 0x0d, 0xdd, 0xa7, 0xed, 0xa5, 0x21, 0xd4, 0x38, 0x94, 0x8f, 0x56, 0x82, 0xc2,
- 0xaa, 0xd3, 0xd1, 0xbe, 0x5d, 0x80, 0x20, 0x31, 0x13, 0xf9, 0xf9, 0x1c, 0xd4, 0x74, 0xdb, 0x76,
- 0x7c, 0x99, 0xf4, 0x48, 0x84, 0x5e, 0x61, 0xe6, 0xfc, 0x4f, 0x73, 0x8d, 0x90, 0xa9, 0x88, 0xb8,
- 0x09, 0x02, 0x3a, 0x22, 0x18, 0x8c, 0xca, 0x26, 0xfd, 0x44, 0x20, 0xd0, 0x5a, 0xf6, 0x5a, 0x1c,
- 0x23, 0xe4, 0xe7, 0xe2, 0x57, 0xe0, 0x4c, 0xb2, 0xb2, 0x27, 0x09, 0x36, 0xc8, 0x12, 0xa7, 0xf0,
- 0xfd, 0x3c, 0x40, 0xb8, 0xb5, 0x7e, 0x0a, 0xbe, 0x3c, 0x33, 0xe6, 0xcb, 0x1b, 0xfd, 0xc8, 0x77,
- 0x58, 0xe9, 0xa1, 0xfe, 0xbb, 0xbb, 0x09, 0xff, 0xdd, 0xca, 0x38, 0x84, 0x3d, 0xdc, 0x67, 0xb7,
- 0x0d, 0xe7, 0x42, 0xda, 0x70, 0x76, 0xb9, 0x91, 0x18, 0xfd, 0x42, 0x01, 0xfe, 0x89, 0x21, 0xa3,
- 0x7f, 0x26, 0x12, 0xeb, 0x30, 0x38, 0xfe, 0xb5, 0xef, 0xe6, 0xe1, 0x4c, 0x54, 0x08, 0x3f, 0x07,
- 0xfa, 0x05, 0x98, 0x72, 0xa9, 0xde, 0x6e, 0xea, 0xbe, 0xb1, 0xcb, 0xa3, 0x6a, 0x73, 0x3c, 0x0c,
- 0x96, 0x9f, 0x36, 0xc1, 0x28, 0x02, 0xe3, 0x74, 0x44, 0x87, 0x1a, 0x03, 0xc8, 0xf3, 0xea, 0x23,
- 0x3a, 0xe7, 0xb9, 0x25, 0x8a, 0x21, 0x1b, 0x8c, 0xf2, 0x24, 0x0e, 0x54, 0x99, 0xc5, 0x2a, 0x34,
- 0x96, 0xac, 0x29, 0x7e, 0x50, 0x71, 0x12, 0x56, 0x60, 0xf0, 0x88, 0xa1, 0x0c, 0xed, 0x87, 0x39,
- 0x98, 0x8e, 0xb6, 0xd0, 0x23, 0xf7, 0x96, 0xee, 0xc6, 0xbd, 0xa5, 0x8b, 0x63, 0xe8, 0x68, 0x43,
- 0x3c, 0xa4, 0x7f, 0x58, 0x8b, 0xbe, 0x1a, 0xf7, 0x8a, 0x46, 0xdd, 0x4e, 0xb9, 0x87, 0xba, 0x9d,
- 0x3e, 0xc9, 0x9a, 0x33, 0x34, 0x6b, 0xce, 0x30, 0xfb, 0xa6, 0xf4, 0x18, 0xdb, 0x37, 0x13, 0x1f,
- 0xa1, 0x7d, 0x13, 0xc9, 0x4b, 0x53, 0xce, 0x90, 0x97, 0xa6, 0x1b, 0xe4, 0xa5, 0xa9, 0x8c, 0x6d,
- 0x8a, 0x3e, 0x4e, 0x6e, 0x9a, 0xea, 0xa9, 0xe6, 0xa6, 0x81, 0x47, 0x95, 0x9b, 0xa6, 0x96, 0x35,
- 0x37, 0xcd, 0xcf, 0xe6, 0x60, 0xba, 0x1d, 0x3b, 0x6b, 0xc8, 0x3d, 0x5a, 0x59, 0x16, 0xe6, 0xf8,
- 0xd1, 0x45, 0xe1, 0x26, 0x89, 0xc3, 0x30, 0x21, 0x32, 0x2d, 0x23, 0xcc, 0xd4, 0x47, 0x92, 0x11,
- 0x86, 0xbc, 0x0f, 0x55, 0x4b, 0xad, 0xda, 0x3c, 0x30, 0x35, 0xcb, 0xd8, 0x4f, 0xd1, 0x04, 0xc2,
- 0x50, 0xee, 0x00, 0x84, 0xa1, 0x44, 0xed, 0x7f, 0x95, 0xa3, 0x4b, 0xfb, 0x69, 0x6f, 0x2b, 0xbd,
- 0x1c, 0xdf, 0x56, 0xba, 0x92, 0xdc, 0x56, 0x1a, 0xd0, 0x4b, 0xe4, 0xd6, 0xd2, 0x0b, 0x91, 0x05,
- 0xa8, 0xc0, 0xd3, 0xc3, 0x04, 0x5d, 0x2e, 0x65, 0x11, 0x6a, 0xc0, 0x8c, 0x54, 0x67, 0x14, 0x92,
- 0x4f, 0xe7, 0x53, 0x61, 0x04, 0xf1, 0x52, 0x1c, 0x8d, 0x49, 0x7a, 0x26, 0xd0, 0x53, 0xc9, 0x5b,
- 0x4b, 0x71, 0xff, 0x5f, 0x90, 0x58, 0x35, 0xa0, 0x60, 0x76, 0xaa, 0x4b, 0x75, 0x4f, 0x6e, 0x0e,
- 0x45, 0xec, 0x54, 0xe4, 0x50, 0x94, 0xd8, 0xe8, 0x0e, 0x59, 0xf9, 0x43, 0x76, 0xc8, 0x74, 0xa8,
- 0x59, 0xba, 0xe7, 0x8b, 0xce, 0xd4, 0x96, 0x73, 0xd7, 0x9f, 0x3b, 0x9e, 0x42, 0xc1, 0xb4, 0xa2,
- 0xd0, 0x14, 0x59, 0x0d, 0xd9, 0x60, 0x94, 0x27, 0x69, 0xc3, 0x24, 0x7b, 0xe4, 0x33, 0x4b, 0xbb,
- 0xe1, 0xcb, 0x19, 0xeb, 0x24, 0x32, 0x02, 0x23, 0x78, 0x35, 0xc2, 0x07, 0x63, 0x5c, 0x87, 0x6c,
- 0xa2, 0xc1, 0x28, 0x9b, 0x68, 0xe4, 0x55, 0xa1, 0x82, 0x1e, 0x04, 0x9f, 0xb5, 0xc6, 0x3f, 0x6b,
- 0xe0, 0x66, 0xc5, 0x28, 0x12, 0xe3, 0xb4, 0xac, 0x57, 0xf4, 0x65, 0x33, 0xa8, 0xe2, 0x93, 0xf1,
- 0x5e, 0xb1, 0x15, 0x47, 0x63, 0x92, 0x9e, 0x6c, 0xc0, 0xf9, 0x00, 0x14, 0xad, 0xc6, 0x14, 0xe7,
- 0x13, 0x44, 0xe3, 0x6f, 0xa5, 0xd0, 0x60, 0x6a, 0x49, 0x7e, 0x70, 0xa1, 0xef, 0xba, 0xd4, 0xf6,
- 0xaf, 0xeb, 0xde, 0xae, 0x0c, 0x54, 0x0f, 0x0f, 0x2e, 0x84, 0x28, 0x8c, 0xd2, 0x91, 0x05, 0x00,
- 0xc1, 0x8e, 0x97, 0x9a, 0xe1, 0xa5, 0x02, 0xa3, 0x68, 0x2b, 0xc0, 0x60, 0x84, 0x4a, 0xfb, 0xbf,
- 0x39, 0xa8, 0x28, 0x67, 0x2c, 0x5b, 0xa6, 0xb6, 0x75, 0xcf, 0x34, 0xe4, 0x80, 0xcf, 0x90, 0x0f,
- 0x53, 0x65, 0x3f, 0x12, 0xe7, 0xe1, 0xf8, 0x23, 0x0a, 0xde, 0x61, 0xfe, 0xa9, 0x7c, 0xa6, 0xfc,
- 0x53, 0x64, 0x11, 0x8a, 0xf6, 0x1e, 0x3d, 0x38, 0xd9, 0xd1, 0x50, 0xae, 0xd7, 0xdd, 0xbc, 0x41,
- 0x0f, 0x90, 0x17, 0xd6, 0x7e, 0x3d, 0x0f, 0xc0, 0x5e, 0xff, 0x78, 0xfb, 0x04, 0x9f, 0x81, 0xb2,
- 0x74, 0xc6, 0xab, 0xc4, 0xd9, 0x41, 0xa0, 0x93, 0x00, 0xa3, 0xc2, 0x93, 0x67, 0xa1, 0x74, 0xb7,
- 0x4f, 0xfb, 0x6a, 0xd3, 0x3b, 0x58, 0xb1, 0xdf, 0x62, 0x40, 0x14, 0xb8, 0x47, 0xe7, 0x22, 0x53,
- 0x6e, 0xfa, 0xd2, 0xa3, 0x72, 0xd3, 0x57, 0xa1, 0x7c, 0xd3, 0xe1, 0x71, 0x93, 0xda, 0x7f, 0xcb,
- 0x03, 0x84, 0x71, 0x69, 0xe4, 0x97, 0x72, 0xf0, 0x64, 0xb0, 0x1d, 0xe8, 0x0b, 0xc5, 0x8b, 0xa7,
- 0xa0, 0xcd, 0xec, 0xb2, 0x4f, 0xdb, 0x8a, 0xe4, 0x47, 0xdb, 0x37, 0xd2, 0xc4, 0x61, 0x7a, 0x2d,
- 0x08, 0x42, 0x85, 0x76, 0x7b, 0xfe, 0xc1, 0x92, 0xe9, 0xca, 0x1e, 0x98, 0x1a, 0xfe, 0x78, 0x55,
- 0xd2, 0x88, 0xa2, 0xd2, 0xec, 0xe0, 0xf6, 0x8d, 0xc2, 0x60, 0xc0, 0x87, 0xec, 0x42, 0xc5, 0x76,
- 0xde, 0xf5, 0x58, 0x73, 0xc8, 0xee, 0x38, 0x7a, 0x56, 0x54, 0xd9, 0xac, 0xc2, 0x75, 0x2b, 0x1f,
- 0xb0, 0x6c, 0xcb, 0xc6, 0xfe, 0xc5, 0x3c, 0x9c, 0x4b, 0x69, 0x07, 0xf2, 0x06, 0x9c, 0x91, 0x21,
- 0x80, 0x61, 0x2e, 0xe6, 0x5c, 0x98, 0x8b, 0xb9, 0x95, 0xc0, 0xe1, 0x00, 0x35, 0x79, 0x17, 0x40,
- 0x37, 0x0c, 0xea, 0x79, 0x6b, 0x4e, 0x5b, 0xad, 0xc4, 0xaf, 0xb3, 0x89, 0xa3, 0x11, 0x40, 0x1f,
- 0x1c, 0xd6, 0x7f, 0x32, 0x2d, 0xaa, 0x37, 0xd1, 0xce, 0x61, 0x01, 0x8c, 0xb0, 0x24, 0xdf, 0x00,
- 0x10, 0xda, 0x77, 0x70, 0xf8, 0xf6, 0x43, 0x6c, 0xe1, 0x39, 0x95, 0xe0, 0x64, 0xee, 0xad, 0xbe,
- 0x6e, 0xfb, 0xa6, 0x7f, 0x20, 0x0e, 0xfc, 0xdf, 0x0a, 0xb8, 0x60, 0x84, 0xa3, 0xf6, 0xbb, 0x79,
- 0xa8, 0x28, 0xf7, 0xe5, 0x29, 0xf8, 0x93, 0x3a, 0x31, 0x7f, 0xd2, 0x98, 0xe2, 0x78, 0xd3, 0xbc,
- 0x49, 0x4e, 0xc2, 0x9b, 0x74, 0x2d, 0xbb, 0xa8, 0x87, 0xfb, 0x92, 0xfe, 0x5e, 0x01, 0xa6, 0x15,
- 0x69, 0x56, 0x2f, 0xcf, 0x6b, 0x30, 0x23, 0x76, 0xbc, 0xd7, 0xf4, 0xfb, 0x22, 0xf7, 0x01, 0x6f,
- 0xb0, 0xa2, 0x08, 0x45, 0x6c, 0xc6, 0x51, 0x98, 0xa4, 0x65, 0xdd, 0x5a, 0x80, 0xb6, 0x98, 0xfa,
- 0x13, 0x3a, 0x72, 0xa6, 0x44, 0xb7, 0x6e, 0x26, 0x70, 0x38, 0x40, 0x9d, 0x74, 0x33, 0x15, 0x1f,
- 0xb5, 0x9b, 0xa9, 0x74, 0x0a, 0x6e, 0xa6, 0x7f, 0x9d, 0x83, 0xc9, 0xf0, 0x03, 0x3d, 0x72, 0x27,
- 0xd3, 0x4e, 0xdc, 0xc9, 0xd4, 0xc8, 0xdc, 0xff, 0x86, 0xb8, 0x98, 0xbe, 0x53, 0x81, 0x58, 0xfc,
- 0x3a, 0xd9, 0x86, 0x8b, 0x66, 0x6a, 0xdc, 0x5b, 0x64, 0x7a, 0x0b, 0x0e, 0x25, 0xae, 0x0c, 0xa5,
- 0xc4, 0x87, 0x70, 0x21, 0x7d, 0xa8, 0xec, 0x53, 0xd7, 0x37, 0x0d, 0xaa, 0xde, 0xef, 0x5a, 0x66,
- 0x9f, 0x8b, 0x74, 0xa4, 0x05, 0x6d, 0x7a, 0x4b, 0x0a, 0xc0, 0x40, 0x14, 0xd9, 0x86, 0x12, 0x6d,
- 0x77, 0xa8, 0xba, 0x6a, 0x21, 0x63, 0x4a, 0xc3, 0xa0, 0x3d, 0xd9, 0x93, 0x87, 0x82, 0x35, 0xf1,
- 0xa2, 0x36, 0x65, 0x31, 0x63, 0xbf, 0x3c, 0xa6, 0x25, 0x49, 0xf6, 0x02, 0xc7, 0x4a, 0x69, 0x4c,
- 0xb3, 0xd5, 0x43, 0xdc, 0x2a, 0x1e, 0x54, 0xef, 0xe9, 0x3e, 0x75, 0xbb, 0xba, 0xbb, 0x27, 0xbd,
- 0x52, 0xa3, 0xbf, 0xe1, 0x6d, 0xc5, 0x29, 0x7c, 0xc3, 0x00, 0x84, 0xa1, 0x1c, 0x36, 0xdc, 0x7d,
- 0xe9, 0x40, 0x50, 0x99, 0xe3, 0x46, 0x17, 0xaa, 0x5c, 0x11, 0x9e, 0x8c, 0x63, 0x57, 0x8f, 0x18,
- 0xca, 0x20, 0xfb, 0xb1, 0xbc, 0xbc, 0x22, 0x1b, 0x73, 0x86, 0xc4, 0xee, 0x8a, 0x55, 0xb8, 0xbe,
- 0x0d, 0xc9, 0xef, 0xfb, 0x41, 0x0e, 0x66, 0x12, 0x23, 0x47, 0x5a, 0x83, 0xd7, 0xc7, 0x15, 0x95,
- 0xab, 0x22, 0xd2, 0x63, 0x40, 0x4c, 0x4a, 0xd5, 0xfe, 0x47, 0x29, 0x5c, 0x91, 0x4e, 0xdb, 0x39,
- 0xf1, 0xf9, 0xb8, 0x73, 0xe2, 0x72, 0xd2, 0x39, 0x91, 0xd8, 0x32, 0x3d, 0x79, 0xd4, 0x6b, 0xc2,
- 0xa6, 0x2f, 0x3e, 0x02, 0x9b, 0xfe, 0x45, 0xa8, 0xed, 0xf3, 0x39, 0x49, 0x24, 0x34, 0x29, 0xf1,
- 0x15, 0x94, 0x2f, 0x6a, 0xb7, 0x42, 0x30, 0x46, 0x69, 0xf8, 0x3d, 0x41, 0xe2, 0xfa, 0x88, 0x20,
- 0x19, 0xa7, 0x2c, 0xd2, 0x0a, 0xc1, 0x18, 0xa5, 0xe1, 0x01, 0x73, 0xa6, 0xbd, 0x27, 0x0a, 0x94,
- 0x79, 0x01, 0x11, 0x30, 0xa7, 0x80, 0x18, 0xe2, 0xc9, 0xf3, 0x50, 0xe9, 0xb7, 0x77, 0x04, 0x6d,
- 0x85, 0xd3, 0x72, 0xe5, 0x7a, 0x6b, 0x69, 0x59, 0x26, 0x58, 0x51, 0x58, 0x56, 0x93, 0xae, 0xde,
- 0x53, 0x08, 0xde, 0x03, 0x65, 0x4d, 0xd6, 0x42, 0x30, 0x46, 0x69, 0xc8, 0x97, 0x60, 0xda, 0xa5,
- 0xed, 0xbe, 0x41, 0x83, 0x52, 0xc0, 0x4b, 0xc9, 0xf4, 0x6b, 0x51, 0x0c, 0x26, 0x28, 0x87, 0x78,
- 0x26, 0x6a, 0x23, 0x79, 0x26, 0xbe, 0x02, 0xd3, 0x6d, 0x57, 0x37, 0x6d, 0xda, 0x5e, 0xb7, 0xf9,
- 0xbe, 0xb8, 0x0c, 0xdb, 0x0b, 0xbc, 0x82, 0x4b, 0x31, 0x2c, 0x26, 0xa8, 0xb5, 0x65, 0x10, 0x89,
- 0x05, 0x49, 0x1d, 0x4a, 0xbb, 0xbe, 0xdf, 0x53, 0xfb, 0x2c, 0xdc, 0x18, 0xe6, 0xc7, 0x7c, 0x50,
- 0xc0, 0xc9, 0x25, 0x28, 0xb2, 0x3f, 0x32, 0xfc, 0x97, 0x5b, 0x6b, 0x0c, 0x8f, 0x1c, 0xaa, 0xfd,
- 0x5e, 0x1e, 0x4a, 0x22, 0xb9, 0xdc, 0x0a, 0x9c, 0x33, 0x6d, 0xd3, 0x37, 0x75, 0x8b, 0x9f, 0xf5,
- 0x88, 0xc6, 0x19, 0x94, 0x9a, 0x4f, 0x1d, 0x1d, 0xd6, 0xcf, 0xad, 0x0c, 0xa2, 0x31, 0xad, 0x0c,
- 0x6b, 0x64, 0x99, 0x63, 0x5a, 0x71, 0x11, 0xc2, 0x45, 0x76, 0xd4, 0x18, 0x06, 0x13, 0x94, 0x4c,
- 0x9f, 0xec, 0x0d, 0x04, 0x10, 0x94, 0x84, 0x3e, 0x19, 0xdf, 0xd3, 0x8f, 0xd3, 0x71, 0x3b, 0xa7,
- 0xcf, 0x6d, 0x8a, 0xe0, 0xc8, 0x8f, 0x8c, 0x45, 0x12, 0x76, 0x4e, 0x02, 0x87, 0x03, 0xd4, 0x8c,
- 0xc3, 0x8e, 0x6e, 0x5a, 0x7d, 0x97, 0x86, 0x1c, 0x4a, 0x21, 0x87, 0xe5, 0x04, 0x0e, 0x07, 0xa8,
- 0xb5, 0xdf, 0xcb, 0x01, 0x88, 0xbb, 0x24, 0xb8, 0xd3, 0x64, 0x4c, 0xf9, 0xb4, 0x49, 0x1f, 0xaa,
- 0xdb, 0xca, 0x6d, 0x92, 0x39, 0xd9, 0xb2, 0xa8, 0x5f, 0xe8, 0x86, 0x11, 0xd7, 0x92, 0xa8, 0x47,
- 0x0c, 0x25, 0x69, 0xff, 0x28, 0x07, 0x33, 0x09, 0x6a, 0xb2, 0x0e, 0x15, 0x95, 0x2e, 0xeb, 0x64,
- 0x6f, 0x25, 0xc6, 0xb0, 0x2c, 0x8a, 0x01, 0x93, 0xf1, 0xa7, 0xaf, 0xfe, 0x99, 0xbc, 0xfa, 0x06,
- 0x3c, 0xb4, 0x6c, 0x01, 0x40, 0xa6, 0xb5, 0x68, 0xb7, 0x5d, 0xa9, 0x19, 0x86, 0xcb, 0x5b, 0x80,
- 0xc1, 0x08, 0xd5, 0xf1, 0xa2, 0xa0, 0x5e, 0x81, 0xc9, 0x9e, 0xeb, 0xb0, 0x09, 0xc2, 0xe5, 0x4a,
- 0x67, 0x22, 0x74, 0x75, 0x23, 0x82, 0xc3, 0x18, 0x25, 0xd1, 0xa5, 0x0b, 0x66, 0x62, 0x2c, 0xb7,
- 0x98, 0xa4, 0x3a, 0x61, 0xfe, 0x24, 0x0f, 0x93, 0xb2, 0x11, 0x84, 0xfb, 0xea, 0x51, 0x36, 0x83,
- 0x0a, 0xee, 0x4a, 0x6b, 0x86, 0xc5, 0x08, 0x0e, 0x63, 0x94, 0x64, 0x89, 0x0d, 0xd8, 0x6d, 0xcf,
- 0x70, 0x4d, 0x1e, 0xbe, 0xcc, 0x4b, 0x8b, 0x30, 0xd8, 0xe0, 0x2c, 0x69, 0x2b, 0x81, 0xc7, 0x81,
- 0x12, 0xe4, 0x05, 0xa8, 0x74, 0xf5, 0xfb, 0x5b, 0xb6, 0x6e, 0xec, 0xc9, 0xd5, 0x2b, 0x50, 0xae,
- 0xd7, 0x24, 0x1c, 0x03, 0x8a, 0xd3, 0x68, 0xfa, 0xef, 0x16, 0x21, 0xb4, 0xcd, 0xc8, 0xd3, 0x50,
- 0xe8, 0xea, 0xf7, 0xa5, 0x51, 0xcc, 0x3d, 0x71, 0x6b, 0xfa, 0x7d, 0x64, 0x30, 0x8e, 0x32, 0x6d,
- 0x69, 0xf4, 0x0a, 0x94, 0x69, 0x23, 0x83, 0x91, 0x3b, 0x30, 0xed, 0xea, 0xdd, 0xde, 0x56, 0x4f,
- 0xd9, 0x99, 0x23, 0x1e, 0x1e, 0x14, 0xab, 0x5a, 0x8c, 0x13, 0x26, 0x38, 0x93, 0x3e, 0x94, 0x84,
- 0x7b, 0xaa, 0x98, 0x71, 0xbb, 0x33, 0x78, 0x69, 0xa6, 0xa0, 0x39, 0x2e, 0x95, 0x77, 0x7d, 0x25,
- 0xa0, 0x28, 0xa4, 0x31, 0xb1, 0x5d, 0xa7, 0x1d, 0x1c, 0x89, 0x1f, 0x8b, 0xd8, 0x35, 0xc6, 0x70,
- 0x40, 0x2c, 0x87, 0xa2, 0x90, 0x26, 0xdc, 0x15, 0xac, 0x0f, 0xb6, 0x45, 0xb3, 0xf0, 0x9e, 0x50,
- 0x51, 0xee, 0x8a, 0x08, 0x02, 0xe3, 0x74, 0x64, 0x05, 0x0a, 0xbe, 0x6f, 0x49, 0xad, 0x7e, 0xa4,
- 0x8b, 0x02, 0x36, 0x37, 0x57, 0x91, 0xf1, 0xd0, 0xfe, 0x66, 0x1e, 0x48, 0xa4, 0x7e, 0xd7, 0x9c,
- 0xa6, 0x6e, 0xec, 0xdd, 0x64, 0x1f, 0xdd, 0x70, 0x1c, 0x6b, 0xc9, 0xb9, 0x67, 0x8b, 0x85, 0x6e,
- 0xc4, 0x63, 0xaf, 0xfc, 0xa3, 0x2f, 0xc6, 0x38, 0x61, 0x82, 0x33, 0x59, 0x06, 0xc2, 0xba, 0x81,
- 0x84, 0x18, 0xd4, 0xf6, 0xd5, 0xf1, 0xfe, 0xa9, 0xe6, 0x05, 0xa6, 0xc6, 0xe0, 0x00, 0x16, 0x53,
- 0x4a, 0x30, 0xa5, 0x21, 0x38, 0x55, 0x1b, 0x61, 0x24, 0x1c, 0x31, 0x5c, 0x69, 0xd8, 0x1c, 0x44,
- 0x63, 0x5a, 0x19, 0xed, 0x22, 0xcc, 0x46, 0x1a, 0x65, 0xc5, 0x5e, 0xa3, 0x5d, 0xc7, 0x3d, 0x10,
- 0xbe, 0xcd, 0x5f, 0x29, 0xc2, 0xc0, 0x17, 0x25, 0x3f, 0x97, 0x83, 0xaa, 0x67, 0xec, 0xd2, 0x76,
- 0xdf, 0xa2, 0x6a, 0xed, 0x58, 0x1b, 0x4b, 0xef, 0x55, 0x4c, 0x45, 0x2e, 0xc3, 0x34, 0x0c, 0x86,
- 0x92, 0xc9, 0xfb, 0x50, 0x76, 0xa9, 0xa5, 0xdf, 0xa7, 0xea, 0x83, 0xdd, 0x18, 0x47, 0x25, 0x50,
- 0xb0, 0x54, 0x5f, 0x23, 0x09, 0x47, 0x25, 0x93, 0xfc, 0x7c, 0x0e, 0xc0, 0xb1, 0xad, 0x83, 0x95,
- 0x9d, 0x2d, 0x4f, 0x86, 0x72, 0xd7, 0x16, 0x6e, 0x8e, 0xa3, 0x0a, 0xeb, 0x01, 0x57, 0xe1, 0x4c,
- 0x4f, 0x45, 0x61, 0x44, 0x38, 0x6b, 0x8a, 0x8e, 0xe8, 0xcd, 0x72, 0x36, 0x19, 0x4b, 0x53, 0xc8,
- 0x01, 0x32, 0xd0, 0x14, 0x12, 0x8e, 0x4a, 0xa6, 0xb6, 0x0d, 0xe9, 0x75, 0x1c, 0xd6, 0x4d, 0x73,
- 0x23, 0x74, 0xd3, 0xff, 0x9c, 0x8b, 0x09, 0x41, 0xda, 0x36, 0x45, 0x96, 0x08, 0x72, 0x05, 0x8a,
- 0x6c, 0x8e, 0x49, 0x26, 0xc4, 0xe5, 0xde, 0x6e, 0x8e, 0x61, 0x33, 0x7e, 0xdf, 0xb5, 0xe4, 0x72,
- 0x5a, 0x8e, 0xed, 0x1f, 0xed, 0x43, 0xc5, 0xa3, 0xb6, 0x6f, 0xda, 0xd4, 0x92, 0x9f, 0x70, 0xf4,
- 0xdd, 0x10, 0x51, 0x27, 0xc9, 0x4d, 0x1e, 0x71, 0x94, 0x47, 0x99, 0x04, 0x0c, 0x03, 0x59, 0xe4,
- 0x02, 0xe4, 0xdb, 0xdb, 0x52, 0x4f, 0x9e, 0x38, 0x3a, 0xac, 0xe7, 0x97, 0x9a, 0x98, 0x6f, 0x6f,
- 0x6b, 0xe7, 0x21, 0xa5, 0xd3, 0x69, 0x17, 0x20, 0x75, 0x34, 0x68, 0xbf, 0x91, 0x87, 0x81, 0x89,
- 0x9e, 0x77, 0x4c, 0x37, 0x68, 0x1e, 0x39, 0x36, 0x6e, 0x8e, 0x67, 0x6c, 0x28, 0xae, 0x03, 0x1d,
- 0x33, 0x44, 0x61, 0x44, 0x38, 0xf9, 0x5b, 0x39, 0x98, 0x32, 0xa3, 0x53, 0x8a, 0x9c, 0x2f, 0xde,
- 0x1a, 0x47, 0x75, 0x62, 0x73, 0x95, 0x38, 0x9d, 0x37, 0x0c, 0x8b, 0xf1, 0x5a, 0x68, 0xbf, 0x96,
- 0x83, 0x2a, 0xaf, 0xf2, 0xc7, 0x44, 0xb9, 0xfe, 0xcd, 0x22, 0x9c, 0x4b, 0xe9, 0x5e, 0x4c, 0xbd,
- 0xec, 0xea, 0x9e, 0x2f, 0x75, 0xc0, 0x84, 0x7a, 0xb9, 0x16, 0x60, 0x30, 0x42, 0x45, 0x3e, 0x0b,
- 0x55, 0x6a, 0xb7, 0x7b, 0x8e, 0x69, 0xfb, 0x9e, 0xbc, 0x92, 0x82, 0xdb, 0x22, 0x57, 0x15, 0x10,
- 0x43, 0x3c, 0xb9, 0x0f, 0x93, 0xaa, 0xcf, 0x72, 0x2b, 0x28, 0xab, 0xd3, 0x32, 0x68, 0x74, 0x99,
- 0xc5, 0x21, 0xc2, 0x1b, 0x63, 0x92, 0xb8, 0x0f, 0x5f, 0x11, 0x67, 0xf7, 0xe1, 0x07, 0x62, 0x85,
- 0x0f, 0x5f, 0x3d, 0x62, 0x28, 0x83, 0x38, 0x50, 0x53, 0x15, 0xd8, 0x5c, 0x6d, 0x8d, 0xe5, 0xa4,
- 0x96, 0xbc, 0xc5, 0x39, 0x60, 0x8a, 0x51, 0x09, 0x64, 0x07, 0x2a, 0x5c, 0x3a, 0x93, 0x56, 0x1e,
- 0x83, 0x34, 0x19, 0xeb, 0x29, 0x38, 0x62, 0xc0, 0x5b, 0xfb, 0xa7, 0x39, 0x98, 0x42, 0xea, 0xb3,
- 0xbe, 0x2f, 0xf7, 0x26, 0x3b, 0x50, 0x96, 0xa7, 0x82, 0x64, 0x7f, 0x7f, 0x23, 0x43, 0x5c, 0x01,
- 0xe7, 0x23, 0xcf, 0xb5, 0xe8, 0xc6, 0xde, 0xfa, 0xce, 0x0e, 0x2a, 0xee, 0xe4, 0x2a, 0x54, 0x1d,
- 0x5b, 0x1a, 0xf0, 0x72, 0xfe, 0xfd, 0x09, 0xf6, 0x01, 0xd6, 0x15, 0xf0, 0xc1, 0x61, 0xfd, 0x42,
- 0xf0, 0x10, 0xab, 0x24, 0x86, 0x25, 0xb5, 0x9f, 0x63, 0x93, 0xbf, 0x63, 0x59, 0xa6, 0xdd, 0x89,
- 0x47, 0x6d, 0x11, 0x0b, 0xa6, 0x85, 0x91, 0xb1, 0xaf, 0x9b, 0x96, 0xbe, 0x6d, 0xd1, 0x0f, 0xdd,
- 0x5b, 0xec, 0xfb, 0xa6, 0x35, 0x27, 0xee, 0xf1, 0x9e, 0x5b, 0xb1, 0xfd, 0x75, 0xb7, 0xe5, 0xbb,
- 0xa6, 0xdd, 0x11, 0xea, 0xdb, 0x5a, 0x8c, 0x17, 0x26, 0x78, 0x6b, 0xff, 0xae, 0x08, 0xfc, 0xc4,
- 0x09, 0xf9, 0x02, 0x54, 0xbb, 0xd4, 0xd8, 0xd5, 0x6d, 0xd3, 0x53, 0x99, 0xd8, 0xd9, 0x8c, 0x58,
- 0x5d, 0x53, 0xc0, 0x07, 0x6c, 0xda, 0x6f, 0xb4, 0x56, 0xf9, 0x29, 0xf5, 0x90, 0x96, 0x18, 0x30,
- 0xd1, 0xf1, 0x3c, 0xbd, 0x67, 0x66, 0x8e, 0xbb, 0x15, 0x49, 0xbf, 0x85, 0x13, 0x5e, 0xfc, 0x47,
- 0xc9, 0x9a, 0x18, 0x50, 0xea, 0x59, 0xba, 0x69, 0x67, 0x8e, 0xb0, 0x66, 0x6f, 0xb0, 0xc1, 0x38,
- 0x09, 0xe7, 0x08, 0xff, 0x8b, 0x82, 0x37, 0xe9, 0x43, 0xcd, 0x33, 0x5c, 0xbd, 0xeb, 0xed, 0xea,
- 0x0b, 0x2f, 0xbd, 0x9c, 0x79, 0x62, 0x08, 0x45, 0x89, 0x41, 0xb3, 0x88, 0x8d, 0xb5, 0xd6, 0xf5,
- 0xc6, 0xc2, 0x4b, 0x2f, 0x63, 0x54, 0x4e, 0x54, 0xec, 0x4b, 0x2f, 0x2e, 0x64, 0xbf, 0x54, 0x35,
- 0x5d, 0xec, 0x4b, 0x2f, 0x2e, 0x60, 0x54, 0x0e, 0x6b, 0x52, 0x27, 0x62, 0xc1, 0x66, 0x13, 0xb8,
- 0x1e, 0xc6, 0xe1, 0xf0, 0xbf, 0x28, 0x78, 0x6b, 0xff, 0x33, 0x07, 0xd5, 0x00, 0xcf, 0x16, 0x11,
- 0x91, 0xce, 0x74, 0x65, 0x69, 0x84, 0x55, 0x69, 0x51, 0x16, 0xc5, 0x80, 0x09, 0x79, 0x07, 0x26,
- 0xc5, 0x7f, 0x99, 0x5e, 0x3c, 0x7f, 0xe2, 0x1c, 0xe6, 0x8b, 0x91, 0xe2, 0x18, 0x63, 0x46, 0x5e,
- 0x85, 0x29, 0xee, 0x34, 0x53, 0xab, 0x88, 0x74, 0x48, 0x04, 0x21, 0x5f, 0x9b, 0x51, 0x24, 0xc6,
- 0x69, 0x83, 0x17, 0xe7, 0x5f, 0x82, 0x6c, 0x01, 0xb0, 0x95, 0x54, 0xd6, 0xf2, 0x44, 0xaf, 0xce,
- 0xa3, 0x11, 0xb6, 0x82, 0xc2, 0x18, 0x61, 0x94, 0x92, 0x25, 0x3e, 0x3f, 0xee, 0x2c, 0xf1, 0xf3,
- 0x50, 0xdd, 0xd5, 0xed, 0xb6, 0xb7, 0xab, 0xef, 0x51, 0x79, 0x0c, 0x32, 0xd8, 0xb9, 0xba, 0xae,
- 0x10, 0x18, 0xd2, 0x68, 0xbf, 0x33, 0x01, 0x22, 0x62, 0x98, 0xbc, 0x00, 0x95, 0xb6, 0xe9, 0x89,
- 0x53, 0xd5, 0x39, 0x5e, 0x32, 0xf0, 0xa7, 0x2c, 0x49, 0x38, 0x06, 0x14, 0x51, 0x1f, 0x46, 0x29,
- 0xe1, 0xc3, 0x90, 0x9e, 0x8f, 0x42, 0x04, 0xa5, 0x3c, 0x1f, 0xaf, 0xc1, 0x8c, 0xe5, 0x38, 0x7b,
- 0x6c, 0x72, 0x8e, 0x1e, 0xe7, 0x9a, 0x12, 0x7b, 0x3e, 0xab, 0x71, 0x14, 0x26, 0x69, 0xc9, 0x16,
- 0x3c, 0xf5, 0x1e, 0x75, 0x1d, 0x19, 0x13, 0xd7, 0xb2, 0x28, 0xed, 0x29, 0x36, 0xc2, 0x03, 0xc4,
- 0x4f, 0x9b, 0x7d, 0x2d, 0x9d, 0x04, 0x87, 0x95, 0xe5, 0xe7, 0x63, 0x75, 0xb7, 0x43, 0xfd, 0x0d,
- 0xd7, 0x31, 0xa8, 0xe7, 0x99, 0x76, 0x47, 0xb1, 0x9d, 0x08, 0xd9, 0x6e, 0xa6, 0x93, 0xe0, 0xb0,
- 0xb2, 0xe4, 0x6d, 0x98, 0x15, 0x28, 0xb1, 0x63, 0xd5, 0x10, 0x93, 0xb8, 0x69, 0xa9, 0x9b, 0xdd,
- 0xa7, 0x84, 0xc6, 0xb8, 0x39, 0x84, 0x06, 0x87, 0x96, 0x26, 0x6f, 0xc2, 0x19, 0x15, 0xc2, 0xba,
- 0xc1, 0xb4, 0x71, 0xdd, 0xa2, 0x72, 0xc3, 0x44, 0x1e, 0x0b, 0x54, 0xc7, 0xe2, 0x30, 0x41, 0x85,
- 0x03, 0xe5, 0x08, 0xc2, 0x05, 0x1e, 0x2a, 0xbe, 0xd5, 0x5b, 0x74, 0x1c, 0xab, 0xed, 0xdc, 0xb3,
- 0xd5, 0xbb, 0x8b, 0x5d, 0x15, 0x7e, 0xd9, 0x5a, 0x2b, 0x95, 0x02, 0x87, 0x94, 0x64, 0x6f, 0xce,
- 0x31, 0x4b, 0xce, 0x3d, 0x3b, 0xc9, 0x15, 0xc2, 0x37, 0x6f, 0x0d, 0xa1, 0xc1, 0xa1, 0xa5, 0xb9,
- 0xfb, 0x22, 0xf1, 0x06, 0x5b, 0x3d, 0x19, 0xdc, 0x29, 0xac, 0xc4, 0x01, 0x2c, 0xa6, 0x94, 0x20,
- 0xab, 0x70, 0x3e, 0x09, 0x65, 0xe2, 0x64, 0x9c, 0xa7, 0xb0, 0xfe, 0x53, 0xf0, 0x98, 0x5a, 0x4a,
- 0xab, 0x41, 0x35, 0xb8, 0x1b, 0x5b, 0xfb, 0xc3, 0x3c, 0xcc, 0x24, 0xf2, 0x9b, 0x9e, 0x42, 0xe8,
- 0x91, 0x1d, 0x0b, 0x3d, 0x5a, 0xcd, 0x74, 0xc7, 0x77, 0xa4, 0xe6, 0x43, 0x23, 0x90, 0xf6, 0x13,
- 0x11, 0x48, 0x37, 0xc7, 0x26, 0xf1, 0xe1, 0x81, 0x48, 0x47, 0x39, 0x38, 0x97, 0x28, 0x71, 0x0a,
- 0xe1, 0x2e, 0xdd, 0x78, 0xb8, 0xcb, 0xf5, 0x71, 0xbd, 0xec, 0x90, 0xa8, 0x97, 0xff, 0x33, 0xf8,
- 0x92, 0x2d, 0x11, 0xf6, 0x55, 0x96, 0xa9, 0x24, 0xe5, 0x3b, 0x2e, 0x65, 0xad, 0x08, 0xff, 0xbe,
- 0xf1, 0xd4, 0x7c, 0x76, 0x07, 0x95, 0x14, 0xe2, 0x41, 0x45, 0xe5, 0x8b, 0x1c, 0x6f, 0x50, 0x5b,
- 0xd0, 0xd8, 0x41, 0x0a, 0xe0, 0x40, 0x90, 0xf6, 0x9d, 0x02, 0x3c, 0x99, 0xda, 0x29, 0x4e, 0x6f,
- 0x83, 0xff, 0xd5, 0xf8, 0x06, 0xff, 0x73, 0xc9, 0x0d, 0xfe, 0xf3, 0x89, 0xfa, 0x3d, 0xc6, 0xfb,
- 0xfc, 0x63, 0xdc, 0xbb, 0xd6, 0x66, 0x60, 0x2a, 0x96, 0xe3, 0x54, 0xfb, 0x83, 0x09, 0xa8, 0x45,
- 0x7a, 0xd2, 0x63, 0x97, 0x5b, 0x92, 0xbc, 0xab, 0xae, 0xef, 0x2b, 0x64, 0xbd, 0x30, 0x8d, 0x71,
- 0x91, 0x46, 0x48, 0xe4, 0x5e, 0x3f, 0xf2, 0x25, 0x98, 0xee, 0x7a, 0x9d, 0x95, 0xa5, 0xeb, 0x54,
- 0x6f, 0x53, 0xf7, 0x06, 0x55, 0x09, 0x5d, 0x84, 0x31, 0x17, 0xc3, 0x60, 0x82, 0x92, 0xac, 0xc2,
- 0x93, 0x2e, 0xbd, 0xdb, 0xa7, 0x9e, 0x1f, 0xdf, 0x1a, 0x97, 0xca, 0x8c, 0x5c, 0xcf, 0x12, 0x04,
- 0x1e, 0xa6, 0x17, 0x62, 0x73, 0x94, 0xd8, 0xce, 0x99, 0xc8, 0x38, 0x50, 0xd5, 0x07, 0xe5, 0x4e,
- 0x2d, 0xe9, 0x24, 0x09, 0x21, 0x6a, 0x1b, 0x27, 0xfd, 0x18, 0x60, 0xf9, 0x23, 0x3c, 0x06, 0x18,
- 0x3d, 0x7b, 0x5a, 0x79, 0xe8, 0xd9, 0xd3, 0x61, 0x07, 0x2c, 0xab, 0x8f, 0xc3, 0x01, 0x4b, 0xed,
- 0x9b, 0x10, 0x6b, 0x70, 0xe2, 0x40, 0x35, 0x78, 0xd9, 0xcc, 0xa7, 0x30, 0xc2, 0xa3, 0x78, 0xdc,
- 0x0f, 0x15, 0x3c, 0x62, 0x28, 0x43, 0xdb, 0x61, 0xc3, 0x9c, 0xa7, 0xda, 0x7c, 0xb4, 0xd7, 0x90,
- 0xff, 0x9b, 0x3c, 0x54, 0x83, 0x38, 0x33, 0x72, 0x05, 0x8a, 0x76, 0xe8, 0x43, 0x0c, 0x74, 0x0e,
- 0xee, 0x3d, 0xe4, 0x98, 0x78, 0x43, 0xe4, 0x1f, 0x7d, 0x43, 0x44, 0x0f, 0x96, 0x16, 0x32, 0x1c,
- 0x2c, 0xed, 0x41, 0xd9, 0x77, 0xcd, 0x4e, 0x87, 0xba, 0x99, 0xb7, 0x5a, 0x83, 0xe6, 0xda, 0x14,
- 0x0c, 0x65, 0xcb, 0x8a, 0x07, 0x54, 0x62, 0xb4, 0x3b, 0x70, 0x26, 0x49, 0xc9, 0x0f, 0xaa, 0x49,
- 0xbf, 0xbd, 0x6c, 0xe3, 0xf0, 0xa0, 0x9a, 0x84, 0x63, 0x40, 0xc1, 0x06, 0x13, 0xfb, 0x4c, 0xef,
- 0x39, 0xb6, 0x5a, 0x04, 0xf9, 0x60, 0xda, 0x94, 0x30, 0x0c, 0xb0, 0xda, 0x7f, 0x2d, 0xc0, 0xd3,
- 0x61, 0xb4, 0xe0, 0x9a, 0x6e, 0xeb, 0x9d, 0xf8, 0x9d, 0x86, 0x9f, 0xe4, 0x6a, 0x1a, 0xcb, 0x1d,
- 0x90, 0x85, 0xc7, 0xe0, 0x0e, 0xc8, 0x3f, 0x2e, 0x00, 0x3f, 0x01, 0x4f, 0xbe, 0x09, 0x93, 0xaa,
- 0x3d, 0xd9, 0xb3, 0xfc, 0x9c, 0x57, 0x33, 0x7f, 0x4e, 0x7e, 0xd0, 0x3e, 0x88, 0x21, 0x89, 0x42,
- 0x31, 0x26, 0x90, 0x38, 0x50, 0xd9, 0xd1, 0x2d, 0x6b, 0x5b, 0x37, 0xf6, 0x32, 0x6b, 0xa6, 0x31,
- 0xe1, 0xbc, 0x9b, 0x2f, 0x4b, 0xd6, 0x18, 0x08, 0x21, 0x2e, 0x54, 0x1d, 0x5b, 0xc6, 0x92, 0xc9,
- 0x6f, 0x31, 0x26, 0x89, 0x53, 0xc2, 0x1f, 0x2d, 0x79, 0x63, 0x28, 0x86, 0xfc, 0x6c, 0x0e, 0xa6,
- 0xdc, 0xa8, 0x4b, 0x5a, 0xce, 0x1f, 0xcb, 0x19, 0xb6, 0x21, 0x22, 0xdc, 0xa2, 0xc7, 0x21, 0xa3,
- 0x7e, 0xef, 0xb8, 0x4c, 0xed, 0xbf, 0xe4, 0x60, 0xaa, 0x65, 0x99, 0x6d, 0xd3, 0xee, 0x3c, 0xc2,
- 0x6b, 0x2f, 0xd7, 0xa1, 0xe4, 0x59, 0x66, 0x9b, 0x8e, 0x98, 0xf5, 0x83, 0x6b, 0x66, 0xac, 0x96,
- 0x4c, 0x41, 0x61, 0x3f, 0xf1, 0x7b, 0x34, 0x0b, 0xc7, 0xb8, 0x47, 0xf3, 0x77, 0x2b, 0x20, 0xf3,
- 0x47, 0x90, 0x3e, 0x54, 0x3b, 0xea, 0x66, 0x42, 0xf9, 0x8e, 0xd7, 0x33, 0xdc, 0xc3, 0x15, 0xbb,
- 0xe3, 0x50, 0x7c, 0xef, 0x00, 0x88, 0xa1, 0x24, 0x42, 0xa1, 0xc4, 0xd3, 0x42, 0x65, 0xce, 0xa5,
- 0x1d, 0x49, 0x00, 0x26, 0x5a, 0x86, 0x03, 0x50, 0x70, 0x27, 0xba, 0x0c, 0x0c, 0x2d, 0x64, 0x8c,
- 0x85, 0x0a, 0x93, 0xca, 0x27, 0xa3, 0x4b, 0x99, 0x08, 0x5b, 0xf7, 0xbd, 0xcc, 0xc9, 0xed, 0xc3,
- 0x73, 0x98, 0xf2, 0x98, 0xa6, 0xee, 0x7b, 0xc8, 0x59, 0x93, 0x9f, 0x82, 0x9a, 0xef, 0xea, 0xb6,
- 0xb7, 0xe3, 0xb8, 0x5d, 0xea, 0x4a, 0x3f, 0xfc, 0x72, 0x86, 0x34, 0x1c, 0x9b, 0x21, 0x37, 0x11,
- 0x16, 0x14, 0x03, 0x61, 0x54, 0x1a, 0xd9, 0x83, 0x4a, 0xbf, 0x2d, 0x2a, 0x26, 0xf5, 0xed, 0x46,
- 0x06, 0xc9, 0xd1, 0xa3, 0x84, 0xea, 0x09, 0x03, 0x01, 0xac, 0x37, 0x86, 0xa9, 0xa6, 0xcb, 0x19,
- 0x7b, 0x63, 0x22, 0x0d, 0xe6, 0xf0, 0x1c, 0xd3, 0xa4, 0x1b, 0x7a, 0x1b, 0x2a, 0x19, 0x1b, 0x37,
- 0x66, 0x35, 0xca, 0x6b, 0x0a, 0x92, 0xbe, 0x06, 0x13, 0x26, 0x7a, 0x3c, 0xb8, 0x4e, 0xaa, 0xe1,
- 0x57, 0x33, 0xc6, 0xe8, 0x45, 0xd3, 0xc2, 0x08, 0x08, 0x4a, 0x01, 0xe4, 0xeb, 0x50, 0xf0, 0xee,
- 0x7a, 0xf2, 0xfa, 0xfa, 0x0c, 0x3b, 0x29, 0x77, 0x55, 0xdf, 0xe4, 0x5e, 0xee, 0xd6, 0x5d, 0x0f,
- 0x19, 0x5f, 0xed, 0xb7, 0xf2, 0x50, 0x66, 0x38, 0xb6, 0x4e, 0xcd, 0x43, 0x55, 0xbf, 0xe7, 0x21,
- 0xed, 0x84, 0x49, 0x9b, 0x83, 0x59, 0xa8, 0x71, 0xbb, 0x25, 0x10, 0x18, 0xd2, 0xb0, 0x02, 0xfc,
- 0x20, 0x30, 0xdf, 0x4f, 0xcf, 0xc7, 0x0b, 0xbc, 0xa5, 0x10, 0x18, 0xd2, 0x90, 0x5b, 0x70, 0x81,
- 0x3f, 0xac, 0xdf, 0xb3, 0xa9, 0xdb, 0xb8, 0xdd, 0x6a, 0x18, 0x86, 0xd3, 0xe7, 0x7b, 0x36, 0x85,
- 0xd8, 0xe9, 0x84, 0x0b, 0x6f, 0xa5, 0x52, 0xe1, 0x90, 0xd2, 0x64, 0x1f, 0x40, 0xf7, 0xbc, 0x7e,
- 0x97, 0xa2, 0x13, 0x9c, 0x15, 0xca, 0x60, 0xd1, 0xdf, 0x6e, 0x35, 0x02, 0x6e, 0x62, 0x97, 0x24,
- 0x7c, 0xc6, 0x88, 0x24, 0xed, 0xfb, 0x25, 0xa8, 0x06, 0x2d, 0xfb, 0x31, 0x6e, 0xbf, 0x45, 0x38,
- 0xbb, 0x6f, 0x7a, 0xa6, 0x70, 0xd9, 0x47, 0xcf, 0x1a, 0x96, 0x84, 0x3a, 0x78, 0x2b, 0x89, 0xc4,
- 0x41, 0x7a, 0xb2, 0x02, 0xe7, 0xba, 0xfa, 0xfd, 0x9b, 0xfd, 0xee, 0x36, 0x75, 0xd7, 0x77, 0xa4,
- 0xff, 0xc8, 0x93, 0xc1, 0xe9, 0x3c, 0x7e, 0x69, 0x6d, 0x10, 0x8d, 0x69, 0x65, 0xc8, 0x6b, 0x30,
- 0x73, 0x4f, 0x37, 0xb9, 0xd7, 0x20, 0xba, 0xbb, 0x51, 0x12, 0x7b, 0x2f, 0xb7, 0xe3, 0x28, 0x4c,
- 0xd2, 0x92, 0x17, 0xa1, 0xa6, 0x82, 0x32, 0xb6, 0x5c, 0x4b, 0x65, 0xa5, 0x38, 0x3a, 0xac, 0xd7,
- 0xd4, 0x26, 0xda, 0x16, 0xae, 0x62, 0x94, 0x86, 0x7c, 0x09, 0xa6, 0x75, 0xdf, 0x77, 0xcd, 0xed,
- 0xbe, 0xcf, 0x9b, 0x5a, 0x1c, 0x54, 0x92, 0xbe, 0x91, 0x46, 0x0c, 0x83, 0x09, 0x4a, 0xb2, 0x0e,
- 0x4f, 0x4a, 0x27, 0x59, 0x9c, 0x50, 0x66, 0x5d, 0xe6, 0xaa, 0xeb, 0x5a, 0x1a, 0x01, 0xa6, 0x97,
- 0x4b, 0x74, 0x67, 0x38, 0xb5, 0xee, 0xdc, 0x05, 0xe9, 0x5c, 0x24, 0x46, 0xec, 0xe6, 0x73, 0x91,
- 0x5a, 0x70, 0xfe, 0x78, 0x6a, 0x4e, 0x70, 0x05, 0x77, 0xe4, 0xd2, 0xc9, 0xd4, 0x2b, 0xce, 0xb5,
- 0x7f, 0x9b, 0x87, 0xc2, 0xe6, 0x6a, 0x8b, 0xbc, 0x09, 0xc4, 0xb4, 0x3d, 0x6a, 0xf4, 0x5d, 0xda,
- 0xda, 0x33, 0x7b, 0xb7, 0xa8, 0x6b, 0xee, 0x1c, 0xc8, 0x7d, 0xbd, 0xc0, 0xed, 0xb7, 0x32, 0x40,
- 0x81, 0x29, 0xa5, 0xf8, 0xb6, 0xad, 0xbe, 0x48, 0xdd, 0x0c, 0xdb, 0xb6, 0x8d, 0xb0, 0x38, 0xc6,
- 0x98, 0x91, 0x2d, 0x00, 0x23, 0x64, 0x5d, 0x38, 0xf1, 0x5e, 0x6b, 0x84, 0x71, 0x84, 0x11, 0x41,
- 0xa8, 0xee, 0x31, 0x52, 0xce, 0xb5, 0x78, 0x12, 0xae, 0x7c, 0x41, 0xbc, 0xa1, 0xca, 0x62, 0xc8,
- 0x46, 0xb3, 0x61, 0x2a, 0x76, 0x1d, 0x3a, 0xf9, 0x22, 0x54, 0x9c, 0x5e, 0x44, 0x4b, 0xac, 0xf2,
- 0x54, 0xf2, 0x95, 0x75, 0x09, 0x7b, 0x70, 0x58, 0x9f, 0x5a, 0x75, 0x3a, 0xa6, 0xa1, 0x00, 0x18,
- 0x90, 0x13, 0x0d, 0x26, 0x78, 0xe2, 0x43, 0x15, 0x00, 0xc5, 0x97, 0x29, 0x7e, 0x55, 0xb3, 0x87,
- 0x12, 0xa3, 0x7d, 0xab, 0x08, 0xe1, 0xe9, 0x3f, 0xe2, 0xc1, 0x84, 0x48, 0x55, 0x24, 0x15, 0xd2,
- 0x47, 0x9a, 0x15, 0x49, 0x8a, 0x22, 0x1d, 0x28, 0xdc, 0x71, 0xb6, 0x33, 0xeb, 0xa3, 0x91, 0xec,
- 0xcd, 0x62, 0xce, 0x88, 0x00, 0x90, 0x49, 0x20, 0xdf, 0xcd, 0xc1, 0x59, 0x2f, 0xe9, 0x45, 0x90,
- 0xdd, 0x01, 0xb3, 0xbb, 0x4b, 0x92, 0x7e, 0x09, 0x91, 0xf3, 0x7f, 0x28, 0x1a, 0x07, 0xeb, 0xc2,
- 0xda, 0x5f, 0x1c, 0x86, 0x93, 0xdd, 0x69, 0xf4, 0xf6, 0x17, 0x07, 0xec, 0xe2, 0xed, 0x1f, 0x87,
- 0xa1, 0x14, 0xa5, 0xfd, 0x87, 0x1c, 0x14, 0xb6, 0x96, 0x96, 0x4f, 0xdd, 0x07, 0x48, 0x3a, 0x50,
- 0xee, 0x88, 0x8b, 0xba, 0x32, 0x67, 0xaf, 0x90, 0x17, 0x7e, 0x09, 0xb5, 0x4f, 0x3e, 0xa0, 0xe2,
- 0xae, 0x1d, 0xc0, 0xc4, 0xd6, 0x92, 0x34, 0xe9, 0x4f, 0xd9, 0xcf, 0xf9, 0x53, 0x10, 0x68, 0xdb,
- 0xa7, 0x2f, 0xfc, 0x5b, 0x39, 0x88, 0x1b, 0x18, 0xa7, 0x5f, 0x85, 0x3f, 0xc8, 0x41, 0x22, 0x07,
- 0x19, 0x79, 0x59, 0x5e, 0x7c, 0x12, 0x3f, 0x48, 0xaf, 0x2e, 0x3e, 0x21, 0x71, 0xea, 0xc8, 0x05,
- 0x28, 0x1f, 0xe4, 0x60, 0xca, 0x8d, 0xc6, 0xc7, 0xc9, 0x29, 0x23, 0x43, 0xd4, 0x6f, 0x5a, 0xb4,
- 0x9d, 0x3c, 0xae, 0x11, 0x45, 0x61, 0x5c, 0xae, 0xf6, 0xcf, 0xf2, 0x30, 0x71, 0x6a, 0x09, 0x64,
- 0x69, 0x6c, 0xd7, 0x7d, 0x31, 0xe3, 0x8c, 0x30, 0x74, 0xb3, 0xbd, 0x9b, 0xd8, 0x6c, 0xbf, 0x9a,
- 0x55, 0xd0, 0xc3, 0xf7, 0xd8, 0xff, 0x65, 0x0e, 0xe4, 0x7c, 0xb4, 0x62, 0x7b, 0xbe, 0x6e, 0x1b,
- 0x94, 0x18, 0xc1, 0xe4, 0x97, 0x75, 0xe7, 0x55, 0x26, 0x42, 0x10, 0xeb, 0x1d, 0xff, 0xaf, 0x26,
- 0x3b, 0xf2, 0x02, 0x54, 0x76, 0x1d, 0xcf, 0xb7, 0x43, 0xcd, 0x3d, 0xf0, 0x50, 0x5f, 0x97, 0x70,
- 0x0c, 0x28, 0xc8, 0x67, 0xa0, 0x2c, 0x37, 0x74, 0x64, 0xa8, 0x51, 0xe0, 0x80, 0x97, 0x3b, 0x3e,
- 0xa8, 0xf0, 0xda, 0xd7, 0x60, 0x26, 0x99, 0x05, 0xf7, 0x5a, 0x6a, 0x16, 0xdc, 0x67, 0x87, 0x64,
- 0xc1, 0xad, 0x0d, 0xcf, 0x80, 0xfb, 0x77, 0x0b, 0x30, 0xf9, 0xb1, 0xc9, 0x7e, 0x9b, 0x92, 0x7a,
- 0xa5, 0x90, 0x31, 0xf5, 0x4a, 0xf1, 0x44, 0xa9, 0x57, 0x4e, 0x3d, 0x2f, 0xca, 0x0f, 0x72, 0x00,
- 0xa7, 0x96, 0x7a, 0xb7, 0x1d, 0x0f, 0x13, 0xc9, 0x3c, 0x48, 0xd2, 0xa3, 0x43, 0x7e, 0xa7, 0xac,
- 0x5e, 0x89, 0xef, 0xb9, 0x7f, 0x90, 0x83, 0x69, 0x3d, 0x96, 0x65, 0x24, 0xb3, 0x82, 0x98, 0x48,
- 0x5a, 0x12, 0x1c, 0x4d, 0x8f, 0xc3, 0x31, 0x21, 0x96, 0x1f, 0x8c, 0x95, 0x01, 0x11, 0x11, 0xeb,
- 0x7b, 0xe0, 0x1e, 0x52, 0x79, 0x30, 0x36, 0xf2, 0xf4, 0x21, 0x59, 0x5d, 0x0a, 0x63, 0xc9, 0xea,
- 0x12, 0xdd, 0x1e, 0x2e, 0x3e, 0x74, 0x7b, 0x78, 0x1f, 0xaa, 0x3b, 0xae, 0xd3, 0xe5, 0x89, 0x53,
- 0xf8, 0x05, 0x2b, 0x59, 0x66, 0xdc, 0x45, 0xa7, 0xbb, 0x6d, 0xda, 0xb4, 0xcd, 0x93, 0xb2, 0x04,
- 0x9e, 0x88, 0x65, 0xc5, 0x1f, 0x43, 0x51, 0x7c, 0x9f, 0xd0, 0x11, 0x52, 0x27, 0xc6, 0x29, 0x35,
- 0x98, 0x18, 0x37, 0x05, 0x77, 0x54, 0x62, 0xe2, 0xc9, 0x52, 0xca, 0xa7, 0x94, 0x2c, 0xe5, 0x20,
- 0x9a, 0x83, 0xa6, 0x92, 0xd1, 0x9d, 0x79, 0xa2, 0x9c, 0xa6, 0x8f, 0x51, 0xfa, 0x92, 0x5f, 0x28,
- 0xab, 0x65, 0xe3, 0xb1, 0xbb, 0xb0, 0xef, 0x93, 0xac, 0xaa, 0x1d, 0x3a, 0x90, 0xf2, 0xb4, 0x72,
- 0x8a, 0x29, 0x4f, 0xab, 0xe3, 0x49, 0x79, 0x0a, 0xd9, 0x52, 0x9e, 0xd6, 0xc6, 0x94, 0xf2, 0x74,
- 0x72, 0x5c, 0x29, 0x4f, 0xa7, 0x46, 0x4a, 0x79, 0x3a, 0x7d, 0xac, 0x94, 0xa7, 0x87, 0x05, 0x48,
- 0x98, 0xe0, 0x9f, 0x44, 0x2e, 0xfc, 0x99, 0x8a, 0x5c, 0xf8, 0x76, 0x1e, 0xc2, 0xd5, 0xe8, 0x84,
- 0x67, 0x1d, 0xde, 0xe6, 0x99, 0x26, 0xc4, 0x25, 0xcb, 0xa3, 0x69, 0xe5, 0x93, 0x32, 0x2b, 0x85,
- 0xb8, 0x5d, 0x39, 0xe0, 0x46, 0x3c, 0x00, 0x33, 0xb8, 0xf9, 0x3a, 0xf3, 0x7e, 0x6c, 0x78, 0x89,
- 0xb6, 0x70, 0x8d, 0x86, 0xcf, 0x18, 0x11, 0xa3, 0x7d, 0xbf, 0x00, 0xf2, 0x8a, 0x74, 0x42, 0xa1,
- 0xb4, 0x63, 0x86, 0xe7, 0xd7, 0x47, 0x77, 0xf0, 0x2d, 0x33, 0x2e, 0xf2, 0x1e, 0x76, 0xbe, 0xe1,
- 0xcc, 0x01, 0x28, 0xb8, 0xf3, 0x9d, 0x44, 0x11, 0x40, 0x20, 0xdb, 0x2f, 0xc3, 0x4e, 0x62, 0x34,
- 0x10, 0x41, 0xee, 0x24, 0x0a, 0x10, 0x2a, 0x19, 0x62, 0xe3, 0x52, 0x5c, 0x4a, 0x5d, 0xc8, 0xbc,
- 0x71, 0x19, 0x89, 0x83, 0x53, 0x1b, 0x97, 0xe2, 0x4a, 0x6a, 0x25, 0x83, 0xbc, 0x0f, 0x35, 0xdd,
- 0x30, 0xfa, 0xdd, 0xbe, 0xc5, 0x1d, 0xc1, 0x59, 0xef, 0x27, 0x6d, 0x84, 0xbc, 0xa4, 0x58, 0x6e,
- 0xd3, 0x45, 0xc0, 0x18, 0x95, 0xd7, 0xfc, 0xfa, 0xf7, 0x7e, 0x74, 0xf9, 0x89, 0x1f, 0xfc, 0xe8,
- 0xf2, 0x13, 0x3f, 0xfc, 0xd1, 0xe5, 0x27, 0xbe, 0x75, 0x74, 0x39, 0xf7, 0xbd, 0xa3, 0xcb, 0xb9,
- 0x1f, 0x1c, 0x5d, 0xce, 0xfd, 0xf0, 0xe8, 0x72, 0xee, 0x3f, 0x1e, 0x5d, 0xce, 0xfd, 0xf5, 0xff,
- 0x74, 0xf9, 0x89, 0xaf, 0x7d, 0x21, 0xac, 0xce, 0xbc, 0xaa, 0xce, 0xbc, 0x12, 0x3e, 0xdf, 0xdb,
- 0xeb, 0xcc, 0xb3, 0xea, 0x84, 0x10, 0x55, 0x9d, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x0b,
- 0x4b, 0xb8, 0x39, 0xb6, 0x00, 0x00,
+ // 9566 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x8c, 0x24, 0xc7,
+ 0x75, 0x98, 0xe6, 0x6b, 0x67, 0xe6, 0xcd, 0x7e, 0xdc, 0xd5, 0x1d, 0x8f, 0xcb, 0xd3, 0xe9, 0xf6,
+ 0xdc, 0x32, 0x25, 0x2a, 0xa2, 0x77, 0xc3, 0x93, 0x48, 0x51, 0xa2, 0x28, 0x72, 0x66, 0xf7, 0xf6,
+ 0x6e, 0x79, 0xbb, 0xb7, 0xcb, 0x37, 0xbb, 0x77, 0x94, 0x18, 0x89, 0xe9, 0xed, 0xae, 0x9d, 0x6d,
+ 0x6e, 0x4f, 0xf7, 0x5c, 0x77, 0xcf, 0xde, 0x2d, 0x1d, 0x42, 0xb2, 0x1d, 0x87, 0x72, 0x62, 0x20,
+ 0x41, 0x82, 0xc0, 0x46, 0x12, 0x47, 0x30, 0x60, 0xc0, 0x3f, 0x02, 0x21, 0x41, 0x12, 0xfb, 0x87,
+ 0x0d, 0x24, 0x71, 0x7e, 0x38, 0x42, 0x2c, 0x27, 0x82, 0x11, 0x20, 0x0a, 0x9c, 0x6c, 0xa2, 0x4d,
+ 0xf2, 0x23, 0xf9, 0xe5, 0x18, 0x48, 0xe2, 0x5c, 0x02, 0x38, 0xa8, 0xaf, 0xfe, 0x9a, 0x9e, 0xe3,
+ 0xee, 0xf4, 0xdc, 0xf2, 0x68, 0xf3, 0xd7, 0x4c, 0xbf, 0xf7, 0xea, 0xbd, 0xea, 0xea, 0x57, 0x55,
+ 0xaf, 0x5e, 0xbd, 0x7a, 0x05, 0xd7, 0x3b, 0x56, 0xb0, 0xdb, 0xdf, 0x9e, 0x37, 0xdc, 0xee, 0x82,
+ 0xd3, 0xef, 0xea, 0x3d, 0xcf, 0x7d, 0x9b, 0xff, 0xd9, 0xb1, 0xdd, 0x7b, 0x0b, 0xbd, 0xbd, 0xce,
+ 0x82, 0xde, 0xb3, 0xfc, 0x08, 0xb2, 0xff, 0x9c, 0x6e, 0xf7, 0x76, 0xf5, 0xe7, 0x16, 0x3a, 0xd4,
+ 0xa1, 0x9e, 0x1e, 0x50, 0x73, 0xbe, 0xe7, 0xb9, 0x81, 0x4b, 0xbe, 0x10, 0x31, 0x9a, 0x57, 0x8c,
+ 0xe6, 0x55, 0xb1, 0xf9, 0xde, 0x5e, 0x67, 0x9e, 0x31, 0x8a, 0x20, 0x8a, 0xd1, 0xc5, 0x9f, 0x88,
+ 0xd5, 0xa0, 0xe3, 0x76, 0xdc, 0x05, 0xce, 0x6f, 0xbb, 0xbf, 0xc3, 0x9f, 0xf8, 0x03, 0xff, 0x27,
+ 0xe4, 0x5c, 0xd4, 0xf6, 0x5e, 0xf4, 0xe7, 0x2d, 0x97, 0x55, 0x6b, 0xc1, 0x70, 0x3d, 0xba, 0xb0,
+ 0x3f, 0x50, 0x97, 0x8b, 0x9f, 0x8f, 0x68, 0xba, 0xba, 0xb1, 0x6b, 0x39, 0xd4, 0x3b, 0x50, 0xef,
+ 0xb2, 0xe0, 0x51, 0xdf, 0xed, 0x7b, 0x06, 0x3d, 0x51, 0x29, 0x7f, 0xa1, 0x4b, 0x03, 0x3d, 0x4b,
+ 0xd6, 0xc2, 0xb0, 0x52, 0x5e, 0xdf, 0x09, 0xac, 0xee, 0xa0, 0x98, 0x17, 0xde, 0xaf, 0x80, 0x6f,
+ 0xec, 0xd2, 0xae, 0x3e, 0x50, 0xee, 0x73, 0xc3, 0xca, 0xf5, 0x03, 0xcb, 0x5e, 0xb0, 0x9c, 0xc0,
+ 0x0f, 0xbc, 0x74, 0x21, 0xed, 0x1f, 0x14, 0x61, 0xaa, 0x79, 0xa7, 0xdd, 0xf4, 0xfd, 0x7e, 0x97,
+ 0xa2, 0x6b, 0x53, 0xf2, 0x19, 0xa8, 0x7a, 0xae, 0x4d, 0x9b, 0x9e, 0x33, 0x5b, 0xb8, 0x52, 0x78,
+ 0xa6, 0xde, 0x9a, 0xf9, 0xde, 0xe1, 0xdc, 0xc7, 0x8e, 0x0e, 0xe7, 0xaa, 0x0c, 0xdd, 0xc4, 0x5b,
+ 0xa8, 0xf0, 0xe4, 0x39, 0x68, 0xf8, 0xd4, 0xf7, 0x2d, 0xd7, 0xb9, 0xa5, 0x77, 0xe9, 0x6c, 0x51,
+ 0x90, 0x1f, 0x1d, 0xce, 0x35, 0xda, 0x11, 0x18, 0xe3, 0x34, 0xe4, 0x65, 0x98, 0x31, 0xfb, 0x9e,
+ 0x1e, 0x58, 0xae, 0xd3, 0xa6, 0x86, 0xeb, 0x98, 0xfe, 0x6c, 0xe9, 0x4a, 0xe1, 0x99, 0x4a, 0xeb,
+ 0xdc, 0xd1, 0xe1, 0xdc, 0xcc, 0x52, 0x12, 0x85, 0x69, 0x5a, 0x32, 0x0f, 0x40, 0xef, 0x07, 0xd4,
+ 0x73, 0x74, 0x7b, 0x65, 0x69, 0xb6, 0xcc, 0x05, 0x4e, 0x1f, 0x1d, 0xce, 0xc1, 0xb5, 0x10, 0x8a,
+ 0x31, 0x0a, 0xa2, 0xc1, 0x44, 0xcf, 0xb5, 0x2d, 0xe3, 0x60, 0xb6, 0xc2, 0x69, 0xe1, 0xe8, 0x70,
+ 0x6e, 0x62, 0x83, 0x43, 0x50, 0x62, 0x18, 0x4f, 0xf1, 0xaf, 0xe9, 0x39, 0xfe, 0xec, 0xc4, 0x95,
+ 0x92, 0xe2, 0x29, 0xe8, 0x9a, 0x78, 0xcb, 0xc7, 0x18, 0x85, 0xf6, 0x5b, 0x00, 0xe7, 0x9a, 0xdb,
+ 0x7e, 0xe0, 0xe9, 0x46, 0xb0, 0xe1, 0x9a, 0x9b, 0xb4, 0xdb, 0xb3, 0xf5, 0x80, 0x92, 0x3d, 0xa8,
+ 0x31, 0x1d, 0x30, 0xf5, 0x40, 0xe7, 0x2d, 0xd7, 0xb8, 0xda, 0x9c, 0x1f, 0x51, 0xe7, 0xe7, 0xd7,
+ 0x24, 0xa3, 0xd6, 0xe4, 0xd1, 0xe1, 0x5c, 0x4d, 0x3d, 0x61, 0x28, 0x80, 0xfc, 0x62, 0x01, 0x26,
+ 0x1d, 0xd7, 0xa4, 0x6d, 0x6a, 0x53, 0x23, 0x70, 0xbd, 0xd9, 0xe2, 0x95, 0xd2, 0x33, 0x8d, 0xab,
+ 0xdf, 0x18, 0x59, 0x62, 0xc6, 0x1b, 0xcd, 0xdf, 0x8a, 0x09, 0xb8, 0xe6, 0x04, 0xde, 0x41, 0xeb,
+ 0xbc, 0xd4, 0x85, 0xc9, 0x38, 0x0a, 0x13, 0x35, 0x21, 0x5b, 0xd0, 0x08, 0x5c, 0x9b, 0x8a, 0x0f,
+ 0xc7, 0x3e, 0x2f, 0xab, 0xd8, 0xe5, 0x79, 0xa1, 0x9d, 0x4c, 0xfc, 0x3c, 0xeb, 0x96, 0xf3, 0xfb,
+ 0xcf, 0xcd, 0x6f, 0x86, 0x64, 0xad, 0x73, 0x92, 0x71, 0x23, 0x82, 0xf9, 0x18, 0xe7, 0x43, 0x28,
+ 0xcc, 0xf8, 0xd4, 0xe8, 0x7b, 0x56, 0x70, 0xb0, 0xe8, 0x3a, 0x01, 0xbd, 0x1f, 0xf0, 0xef, 0xdf,
+ 0xb8, 0xfa, 0xa9, 0x2c, 0xd6, 0x1b, 0xae, 0xd9, 0x4e, 0x52, 0x0b, 0x0d, 0x4b, 0x01, 0x31, 0xcd,
+ 0x93, 0x38, 0x70, 0xc6, 0xea, 0xea, 0x1d, 0xba, 0xd1, 0xb7, 0xed, 0x36, 0x35, 0x3c, 0x1a, 0xf8,
+ 0xb3, 0x15, 0xfe, 0x0a, 0xcf, 0x64, 0xc9, 0x59, 0x75, 0x0d, 0xdd, 0x5e, 0xdf, 0x7e, 0x9b, 0x1a,
+ 0x01, 0xd2, 0x1d, 0xea, 0x51, 0xc7, 0xa0, 0xad, 0x59, 0xf9, 0x32, 0x67, 0x56, 0x52, 0x9c, 0x70,
+ 0x80, 0x37, 0xb9, 0x0e, 0x67, 0x7b, 0x9e, 0xe5, 0xf2, 0x2a, 0xd8, 0xba, 0xef, 0xf3, 0x9e, 0x34,
+ 0xc1, 0x95, 0xf5, 0x29, 0xc9, 0xe6, 0xec, 0x46, 0x9a, 0x00, 0x07, 0xcb, 0x90, 0x67, 0xa0, 0xa6,
+ 0x80, 0xb3, 0x55, 0xde, 0xa5, 0xb8, 0xee, 0xa8, 0xb2, 0x18, 0x62, 0xc9, 0x32, 0xd4, 0xf4, 0x9d,
+ 0x1d, 0xcb, 0x61, 0x94, 0x35, 0xde, 0x84, 0x97, 0xb2, 0x5e, 0xad, 0x29, 0x69, 0x04, 0x1f, 0xf5,
+ 0x84, 0x61, 0x59, 0xf2, 0x1a, 0x10, 0x9f, 0x7a, 0xfb, 0x96, 0x41, 0x9b, 0x86, 0xe1, 0xf6, 0x9d,
+ 0x80, 0xd7, 0xbd, 0xce, 0xeb, 0x7e, 0x51, 0xd6, 0x9d, 0xb4, 0x07, 0x28, 0x30, 0xa3, 0x14, 0x79,
+ 0x15, 0xce, 0xc8, 0xe1, 0x2d, 0x6a, 0x05, 0xe0, 0x9c, 0xce, 0xb3, 0x86, 0xc4, 0x14, 0x0e, 0x07,
+ 0xa8, 0x89, 0x09, 0x97, 0xf4, 0x7e, 0xe0, 0x76, 0x19, 0xcb, 0xa4, 0xd0, 0x4d, 0x77, 0x8f, 0x3a,
+ 0xb3, 0x8d, 0x2b, 0x85, 0x67, 0x6a, 0xad, 0x2b, 0x47, 0x87, 0x73, 0x97, 0x9a, 0x0f, 0xa1, 0xc3,
+ 0x87, 0x72, 0x21, 0xeb, 0x50, 0x37, 0x1d, 0x5f, 0x8c, 0x0c, 0xb3, 0x93, 0xbc, 0x82, 0xcf, 0xc9,
+ 0x57, 0xad, 0x2f, 0xdd, 0x6a, 0x0b, 0xc4, 0x83, 0xc3, 0xb9, 0x4b, 0x83, 0xb3, 0xd0, 0x7c, 0x88,
+ 0xc7, 0x88, 0x07, 0x59, 0xe3, 0x0c, 0x17, 0x5d, 0x67, 0xc7, 0xea, 0xcc, 0x4e, 0xf1, 0xaf, 0x71,
+ 0x65, 0x88, 0x42, 0x2f, 0xdd, 0x6a, 0x0b, 0xba, 0xd6, 0x94, 0x14, 0x27, 0x1e, 0x31, 0xe2, 0x40,
+ 0x4c, 0x98, 0x56, 0xf3, 0xd7, 0xa2, 0xad, 0x5b, 0x5d, 0x7f, 0x76, 0x9a, 0x2b, 0xef, 0x8f, 0x0f,
+ 0xe1, 0x89, 0x71, 0xe2, 0xd6, 0x05, 0xf9, 0x2a, 0xd3, 0x09, 0xb0, 0x8f, 0x29, 0x9e, 0x17, 0x5f,
+ 0x81, 0xb3, 0x03, 0x63, 0x03, 0x39, 0x03, 0xa5, 0x3d, 0x7a, 0x20, 0x26, 0x0d, 0x64, 0x7f, 0xc9,
+ 0x79, 0xa8, 0xec, 0xeb, 0x76, 0x5f, 0xce, 0x0c, 0x28, 0x1e, 0xbe, 0x54, 0x7c, 0xb1, 0xa0, 0xfd,
+ 0x6e, 0x05, 0x26, 0xd5, 0x88, 0xd3, 0xb6, 0x9c, 0x3d, 0x72, 0x07, 0x4a, 0xb6, 0xdb, 0x91, 0xe3,
+ 0xe6, 0x97, 0x47, 0x1e, 0xc5, 0x56, 0xdd, 0x4e, 0xab, 0x7a, 0x74, 0x38, 0x57, 0x5a, 0x75, 0x3b,
+ 0xc8, 0x38, 0x12, 0x03, 0x2a, 0x7b, 0xfa, 0xce, 0x9e, 0xce, 0xeb, 0xd0, 0xb8, 0xda, 0x1a, 0x99,
+ 0xf5, 0x4d, 0xc6, 0x85, 0xd5, 0xb5, 0x55, 0x3f, 0x3a, 0x9c, 0xab, 0xf0, 0x47, 0x14, 0xbc, 0x89,
+ 0x0b, 0xf5, 0x6d, 0x5b, 0x37, 0xf6, 0x76, 0x5d, 0x9b, 0xf2, 0xf9, 0x2c, 0x8f, 0xa0, 0x96, 0xe2,
+ 0x24, 0x3e, 0x73, 0xf8, 0x88, 0x91, 0x0c, 0x62, 0xc0, 0x44, 0xdf, 0xf4, 0x2d, 0x67, 0x4f, 0x8e,
+ 0x81, 0xaf, 0x8c, 0x2c, 0x6d, 0x6b, 0x89, 0xbf, 0x13, 0x9f, 0x18, 0xc5, 0x7f, 0x94, 0xac, 0x59,
+ 0xd3, 0xb1, 0x9e, 0x4a, 0xf9, 0xdc, 0x99, 0xe7, 0x8d, 0x58, 0x47, 0xa2, 0x51, 0xd3, 0xf1, 0x47,
+ 0x14, 0xbc, 0xc9, 0x9b, 0x50, 0xf2, 0xef, 0xfa, 0x7c, 0xc4, 0x6b, 0x5c, 0x7d, 0x75, 0x74, 0x11,
+ 0x77, 0x7d, 0x2e, 0x80, 0x7f, 0xfc, 0xf6, 0x5d, 0x1f, 0x19, 0x57, 0xd2, 0x81, 0x89, 0x5e, 0xdf,
+ 0xf6, 0x75, 0x8f, 0x8f, 0x88, 0x8d, 0xab, 0x8b, 0x23, 0xf3, 0xdf, 0xe0, 0x6c, 0xa2, 0xa6, 0x12,
+ 0xcf, 0x28, 0xd9, 0x6b, 0x7f, 0x34, 0x09, 0xd3, 0x4a, 0x9f, 0x6f, 0x53, 0x2f, 0xa0, 0xf7, 0xc9,
+ 0x15, 0x28, 0x3b, 0x6c, 0x14, 0x13, 0x46, 0xd4, 0xa4, 0xec, 0x59, 0x65, 0x3e, 0x7a, 0x71, 0x0c,
+ 0xfb, 0x88, 0xa2, 0x57, 0x49, 0xdd, 0x1c, 0xfd, 0x23, 0xb6, 0x39, 0x1b, 0x51, 0x33, 0xf1, 0x1f,
+ 0x25, 0x6b, 0xf2, 0x26, 0x94, 0xb9, 0x9e, 0x08, 0xad, 0x7c, 0x79, 0x74, 0x11, 0xec, 0xd5, 0x6b,
+ 0xec, 0x0d, 0xb8, 0x8e, 0x70, 0xa6, 0xac, 0xd7, 0xf6, 0xcd, 0x1d, 0xa9, 0x83, 0x5f, 0xce, 0xa1,
+ 0x83, 0xcb, 0xe2, 0xc3, 0x6d, 0x2d, 0x2d, 0x23, 0xe3, 0x48, 0xfe, 0x6a, 0x01, 0xce, 0x1a, 0xae,
+ 0x13, 0xe8, 0xcc, 0x8a, 0x55, 0xf6, 0x88, 0xd4, 0xc3, 0xd7, 0x46, 0x96, 0xb3, 0x98, 0xe6, 0xd8,
+ 0x7a, 0x82, 0x4d, 0xaf, 0x03, 0x60, 0x1c, 0x94, 0x4d, 0xfe, 0x76, 0x01, 0x9e, 0x60, 0xd3, 0xde,
+ 0x00, 0xb1, 0x54, 0xdd, 0x71, 0xd6, 0xea, 0xa9, 0xa3, 0xc3, 0xb9, 0x27, 0x56, 0xb2, 0x84, 0x61,
+ 0x76, 0x1d, 0x58, 0xed, 0xce, 0xe9, 0x83, 0x16, 0x9c, 0x54, 0xfb, 0xd5, 0x71, 0x5a, 0x85, 0xad,
+ 0x8f, 0x4b, 0x55, 0xce, 0x32, 0x82, 0x31, 0xab, 0x16, 0xe4, 0x1a, 0x54, 0xf7, 0x5d, 0xbb, 0xdf,
+ 0xa5, 0xfe, 0x6c, 0x8d, 0xcf, 0x46, 0x17, 0xb3, 0x66, 0xa3, 0xdb, 0x9c, 0x24, 0x5a, 0x6e, 0x88,
+ 0x67, 0x1f, 0x55, 0x59, 0x62, 0xc1, 0x84, 0x6d, 0x75, 0xad, 0xc0, 0xe7, 0x36, 0x46, 0xe3, 0xea,
+ 0xb5, 0x91, 0x5f, 0x4b, 0x74, 0xd1, 0x55, 0xce, 0x4c, 0xf4, 0x1a, 0xf1, 0x1f, 0xa5, 0x00, 0x3e,
+ 0xf4, 0x19, 0xba, 0x2d, 0x6c, 0x90, 0xc6, 0xd5, 0xaf, 0x8c, 0xde, 0x6d, 0x18, 0x97, 0xd6, 0x94,
+ 0x7c, 0xa7, 0x0a, 0x7f, 0x44, 0xc1, 0x9b, 0x7c, 0x1d, 0xa6, 0x13, 0x5f, 0xd3, 0x9f, 0x6d, 0xf0,
+ 0xd6, 0xf9, 0x44, 0x56, 0xeb, 0x84, 0x54, 0xd1, 0x24, 0x9d, 0xd0, 0x10, 0x1f, 0x53, 0xcc, 0xc8,
+ 0x4d, 0xa8, 0xf9, 0x96, 0x49, 0x0d, 0xdd, 0xf3, 0x67, 0x27, 0x8f, 0xc3, 0xf8, 0x8c, 0x64, 0x5c,
+ 0x6b, 0xcb, 0x62, 0x18, 0x32, 0xe0, 0x8b, 0x24, 0xdd, 0x0b, 0x2c, 0x61, 0xd3, 0x4f, 0x71, 0xfb,
+ 0x52, 0x2c, 0x92, 0x42, 0x28, 0xc6, 0x28, 0x18, 0x3d, 0x2b, 0xbb, 0xe2, 0xf4, 0xfa, 0x81, 0xb0,
+ 0x41, 0xe4, 0xa2, 0xaa, 0x1d, 0x42, 0x31, 0x46, 0x41, 0xbe, 0x5b, 0x80, 0x8f, 0x47, 0x8f, 0x83,
+ 0x9d, 0x6c, 0x66, 0xec, 0x9d, 0x6c, 0xee, 0xe8, 0x70, 0xee, 0xe3, 0xed, 0xe1, 0x22, 0xf1, 0x61,
+ 0xf5, 0x21, 0xef, 0x15, 0x60, 0xba, 0xdf, 0x33, 0xf5, 0x80, 0xb6, 0x03, 0xb6, 0x9e, 0xee, 0x1c,
+ 0xcc, 0x9e, 0xe1, 0x55, 0xbc, 0x3e, 0xfa, 0x28, 0x98, 0x60, 0x17, 0x7d, 0xe6, 0x24, 0x1c, 0x53,
+ 0x62, 0xb5, 0xb7, 0xe1, 0x6c, 0xd3, 0x30, 0xfa, 0xdd, 0xbe, 0xad, 0x07, 0xae, 0x77, 0xc7, 0x72,
+ 0x4c, 0xf7, 0x1e, 0xd9, 0x82, 0x2a, 0xb3, 0x8e, 0xdd, 0x7e, 0x20, 0x4d, 0xaa, 0xf9, 0xd8, 0xa7,
+ 0x0f, 0xbd, 0x03, 0x51, 0x6d, 0xd8, 0xba, 0x92, 0x29, 0x83, 0x5a, 0x80, 0xb7, 0x1a, 0xac, 0x07,
+ 0x6e, 0x0a, 0x16, 0xa8, 0x78, 0x69, 0x53, 0xd0, 0x68, 0x06, 0xab, 0x54, 0xf7, 0x83, 0x75, 0xc7,
+ 0xa0, 0xda, 0x1d, 0x98, 0x6a, 0xf6, 0x83, 0x5d, 0xd7, 0xb3, 0xde, 0xe1, 0xa5, 0xc8, 0x32, 0x54,
+ 0x02, 0x6e, 0x6c, 0x0b, 0xa1, 0x4f, 0x67, 0xe9, 0x9b, 0x58, 0xf8, 0xdc, 0xa4, 0x07, 0xca, 0x7a,
+ 0x14, 0x46, 0x81, 0x30, 0xbe, 0x45, 0x71, 0xed, 0x17, 0x8a, 0x50, 0x6d, 0xe9, 0xc6, 0x9e, 0xbb,
+ 0xb3, 0x43, 0xde, 0x80, 0x9a, 0xe5, 0x04, 0xd4, 0xdb, 0xd7, 0xed, 0x11, 0xdf, 0x85, 0xaf, 0x5f,
+ 0x56, 0x24, 0x0f, 0x0c, 0xb9, 0x91, 0x39, 0xa8, 0xf8, 0x01, 0xed, 0xf9, 0x7c, 0xfa, 0x9d, 0x92,
+ 0xb6, 0x09, 0x03, 0xa0, 0x80, 0x13, 0x0d, 0x26, 0x76, 0x74, 0xbe, 0xba, 0x66, 0xb3, 0x67, 0x41,
+ 0x8c, 0x14, 0xcb, 0x1c, 0x82, 0x12, 0x43, 0x56, 0xa0, 0x64, 0xe8, 0x3d, 0x39, 0x05, 0x9e, 0xb4,
+ 0x66, 0x7c, 0xd2, 0x5b, 0xd4, 0x7b, 0xc8, 0x78, 0x30, 0x71, 0x6f, 0x5b, 0x41, 0x40, 0x3d, 0x3e,
+ 0xd1, 0x49, 0x71, 0xaf, 0x71, 0x08, 0x4a, 0x8c, 0xf6, 0xcb, 0x05, 0xa8, 0xb7, 0x74, 0xdf, 0x32,
+ 0x58, 0xc3, 0x93, 0x45, 0x28, 0xf7, 0x7d, 0xea, 0x9d, 0xac, 0xb9, 0xf9, 0x24, 0xbe, 0xe5, 0x53,
+ 0x0f, 0x79, 0x61, 0xb2, 0x0e, 0xb5, 0x9e, 0xee, 0xfb, 0xf7, 0x5c, 0xcf, 0x94, 0x86, 0xc8, 0x31,
+ 0x19, 0x89, 0xf5, 0xa5, 0x2c, 0x8a, 0x21, 0x13, 0xad, 0x01, 0x91, 0xd1, 0xaa, 0xfd, 0x7c, 0x01,
+ 0xce, 0xb5, 0xfa, 0x3b, 0x3b, 0xd4, 0x93, 0xcb, 0x29, 0xb9, 0x50, 0xe9, 0x43, 0xfd, 0x6d, 0x1a,
+ 0xf8, 0x81, 0x47, 0xf5, 0xae, 0x14, 0x7b, 0x63, 0xe4, 0xae, 0xf3, 0x1a, 0x0d, 0xda, 0x9c, 0x53,
+ 0x7c, 0x7d, 0x14, 0x02, 0x31, 0x92, 0xa4, 0xfd, 0x56, 0x05, 0x26, 0x17, 0xdd, 0xee, 0xb6, 0xe5,
+ 0x50, 0xf3, 0x9a, 0xd9, 0xa1, 0xe4, 0x2d, 0x28, 0x53, 0xb3, 0x43, 0x65, 0x13, 0x8e, 0x6e, 0x1f,
+ 0x31, 0x66, 0x91, 0x95, 0xc7, 0x9e, 0x90, 0x33, 0x26, 0xab, 0x30, 0xbd, 0xe3, 0xb9, 0x5d, 0x31,
+ 0xe5, 0x6c, 0x1e, 0xf4, 0x94, 0x9f, 0xec, 0xc7, 0x55, 0xff, 0x5e, 0x4e, 0x60, 0x1f, 0x1c, 0xce,
+ 0x41, 0xf4, 0x84, 0xa9, 0xb2, 0xe4, 0x0d, 0x98, 0x8d, 0x20, 0xe1, 0xd8, 0xbb, 0xc8, 0x16, 0xa8,
+ 0xd2, 0x91, 0x76, 0xe9, 0xe8, 0x70, 0x6e, 0x76, 0x79, 0x08, 0x0d, 0x0e, 0x2d, 0xcd, 0x46, 0xb4,
+ 0x33, 0x11, 0x52, 0xcc, 0x87, 0x52, 0xad, 0xc7, 0x34, 0xd1, 0xf2, 0x95, 0xfc, 0x72, 0x4a, 0x04,
+ 0x0e, 0x08, 0x25, 0xcb, 0x30, 0x19, 0xb8, 0xb1, 0xf6, 0x12, 0xae, 0x3b, 0x4d, 0xb9, 0x9e, 0x36,
+ 0xdd, 0xa1, 0xad, 0x95, 0x28, 0x47, 0x10, 0x2e, 0xa8, 0xe7, 0x54, 0x4b, 0x4d, 0xf0, 0x96, 0xba,
+ 0x78, 0x74, 0x38, 0x77, 0x61, 0x33, 0x93, 0x02, 0x87, 0x94, 0x24, 0x3f, 0x55, 0x80, 0x69, 0x85,
+ 0x92, 0x6d, 0x54, 0x1d, 0x67, 0x1b, 0x11, 0xa6, 0x11, 0x9b, 0x09, 0x01, 0x98, 0x12, 0xa8, 0xb5,
+ 0xa0, 0xb1, 0xe8, 0x76, 0x7b, 0x9e, 0x70, 0xab, 0x92, 0xcf, 0x41, 0x39, 0x60, 0xcd, 0x24, 0x16,
+ 0x1a, 0x73, 0x4a, 0x05, 0x65, 0xf3, 0xcc, 0xc4, 0x48, 0x79, 0x1b, 0x71, 0x62, 0xed, 0xd7, 0xaa,
+ 0x50, 0x0f, 0x67, 0x35, 0xf2, 0x49, 0xa8, 0x70, 0xc7, 0x94, 0xe4, 0x11, 0x9a, 0x2b, 0xdc, 0x7f,
+ 0x85, 0x02, 0x47, 0x9e, 0x86, 0xaa, 0xe1, 0x76, 0xbb, 0xba, 0x63, 0x72, 0x67, 0x63, 0x5d, 0xcc,
+ 0x11, 0x8b, 0x02, 0x84, 0x0a, 0x47, 0x2e, 0x41, 0x59, 0xf7, 0x3a, 0xc2, 0xef, 0x57, 0x17, 0x83,
+ 0x4d, 0xd3, 0xeb, 0xf8, 0xc8, 0xa1, 0xe4, 0x8b, 0x50, 0xa2, 0xce, 0xfe, 0x6c, 0x79, 0xb8, 0x19,
+ 0x78, 0xcd, 0xd9, 0xbf, 0xad, 0x7b, 0xad, 0x86, 0xac, 0x43, 0xe9, 0x9a, 0xb3, 0x8f, 0xac, 0x0c,
+ 0x59, 0x85, 0x2a, 0x75, 0xf6, 0x99, 0xfe, 0x48, 0x87, 0xdc, 0x8f, 0x0d, 0x29, 0xce, 0x48, 0xe4,
+ 0x8a, 0x28, 0x34, 0x26, 0x25, 0x18, 0x15, 0x0b, 0xf2, 0x55, 0x98, 0x14, 0x76, 0xe5, 0x1a, 0xfb,
+ 0xae, 0xc2, 0xef, 0xdb, 0xb8, 0x3a, 0x37, 0xdc, 0x30, 0xe5, 0x74, 0x91, 0x03, 0x34, 0x06, 0xf4,
+ 0x31, 0xc1, 0x8a, 0x7c, 0x15, 0xea, 0xca, 0x5f, 0xa2, 0xb4, 0x23, 0xd3, 0x77, 0xa8, 0x9c, 0x2c,
+ 0x48, 0xef, 0xf6, 0x2d, 0x8f, 0x76, 0xa9, 0x13, 0xf8, 0xad, 0xb3, 0xca, 0x9b, 0xa4, 0xb0, 0x3e,
+ 0x46, 0xdc, 0xc8, 0xf6, 0xa0, 0x13, 0x54, 0x78, 0xf0, 0x3e, 0x39, 0x64, 0xc8, 0x1e, 0xc1, 0x03,
+ 0xfa, 0x0d, 0x98, 0x09, 0xbd, 0x94, 0xd2, 0xd1, 0x25, 0x7c, 0x7a, 0x9f, 0x67, 0xc5, 0x57, 0x92,
+ 0xa8, 0x07, 0x87, 0x73, 0x9f, 0xc8, 0x70, 0x75, 0x45, 0x04, 0x98, 0x66, 0x46, 0xde, 0x81, 0x69,
+ 0x8f, 0xea, 0xa6, 0xe5, 0x50, 0xdf, 0xdf, 0xf0, 0xdc, 0xed, 0xfc, 0x46, 0x36, 0xe7, 0x22, 0xba,
+ 0x0e, 0x26, 0x38, 0x63, 0x4a, 0x12, 0xb9, 0x07, 0x53, 0xb6, 0xb5, 0x4f, 0x23, 0xd1, 0x8d, 0xb1,
+ 0x88, 0x3e, 0x7b, 0x74, 0x38, 0x37, 0xb5, 0x1a, 0x67, 0x8c, 0x49, 0x39, 0xcc, 0x32, 0xea, 0xb9,
+ 0x5e, 0xa0, 0x2c, 0xf1, 0x1f, 0x7b, 0xa8, 0x25, 0xbe, 0xe1, 0x7a, 0x41, 0xd4, 0x09, 0xd9, 0x93,
+ 0x8f, 0xa2, 0xb8, 0xf6, 0x8f, 0x2b, 0x30, 0xb8, 0x5e, 0x4d, 0x6a, 0x5c, 0x61, 0xdc, 0x1a, 0x97,
+ 0xd6, 0x06, 0x31, 0x7f, 0xbd, 0x28, 0x8b, 0x8d, 0x41, 0x23, 0x32, 0xb4, 0xba, 0x34, 0x6e, 0xad,
+ 0x7e, 0x6c, 0x06, 0x9e, 0x41, 0xf5, 0x9f, 0xf8, 0xe0, 0xd4, 0xbf, 0x7a, 0x3a, 0xea, 0xaf, 0x7d,
+ 0xbb, 0x0c, 0xd3, 0x4b, 0x3a, 0xed, 0xba, 0xce, 0xfb, 0xba, 0x2c, 0x0a, 0x8f, 0x85, 0xcb, 0xe2,
+ 0x19, 0xa8, 0x79, 0xb4, 0x67, 0x5b, 0x86, 0x2e, 0x96, 0x07, 0x72, 0x37, 0x05, 0x25, 0x0c, 0x43,
+ 0xec, 0x10, 0x57, 0x55, 0xe9, 0xb1, 0x74, 0x55, 0x95, 0x3f, 0x78, 0x57, 0x95, 0xf6, 0xff, 0x0a,
+ 0x50, 0x5b, 0xa2, 0x4c, 0x3d, 0xbc, 0x03, 0x72, 0x0f, 0x1a, 0xf4, 0xbe, 0x6e, 0x04, 0xf6, 0x01,
+ 0x5b, 0x50, 0xca, 0x6f, 0xbf, 0x34, 0xba, 0x11, 0x1e, 0xf1, 0x12, 0xfb, 0xd0, 0x31, 0x00, 0xc6,
+ 0x25, 0x31, 0xc1, 0x7a, 0xb4, 0x92, 0x95, 0x0b, 0x90, 0xd1, 0x05, 0xc7, 0x56, 0xc5, 0x42, 0x70,
+ 0x0c, 0x80, 0x71, 0x49, 0xda, 0x4f, 0x15, 0x81, 0xaf, 0x0e, 0xc8, 0x15, 0x28, 0x33, 0xcb, 0x37,
+ 0xed, 0x1f, 0xe6, 0x83, 0x05, 0xc7, 0x90, 0x8b, 0x50, 0x0c, 0x5c, 0x39, 0xda, 0x82, 0xc4, 0x17,
+ 0x37, 0x5d, 0x2c, 0x06, 0x2e, 0x79, 0x07, 0xc0, 0x70, 0x1d, 0xd3, 0x52, 0x7b, 0xac, 0xf9, 0xbe,
+ 0xeb, 0xb2, 0xeb, 0xdd, 0xd3, 0x3d, 0x73, 0x31, 0xe4, 0x28, 0x7c, 0x35, 0xd1, 0x33, 0xc6, 0xa4,
+ 0x91, 0x57, 0x60, 0xc2, 0x75, 0x96, 0xfb, 0xb6, 0x2d, 0x37, 0xe0, 0x3f, 0xcd, 0xd6, 0xa9, 0xeb,
+ 0x1c, 0xf2, 0xe0, 0x70, 0xee, 0x29, 0xb1, 0xda, 0x63, 0x4f, 0x77, 0x3c, 0x2b, 0xb0, 0x9c, 0x4e,
+ 0xe8, 0xba, 0x90, 0xc5, 0xb4, 0xef, 0x16, 0x20, 0xfe, 0x65, 0xc8, 0x4b, 0x30, 0x65, 0xb8, 0x8e,
+ 0x6f, 0xf9, 0x01, 0x75, 0x82, 0xa6, 0xb1, 0xc7, 0xdb, 0xa4, 0xd6, 0x7a, 0x42, 0xbe, 0xf3, 0xd4,
+ 0x62, 0x1c, 0x89, 0x49, 0x5a, 0xa2, 0x43, 0xc3, 0xa4, 0x66, 0xbf, 0x27, 0x3c, 0x1f, 0xf2, 0x4b,
+ 0x9e, 0x74, 0x21, 0xce, 0xbf, 0xd9, 0x52, 0xc4, 0x06, 0xe3, 0x3c, 0xb5, 0xbf, 0x5e, 0x80, 0xc6,
+ 0xb2, 0x75, 0x9f, 0x9a, 0xd2, 0xbb, 0x82, 0x30, 0x61, 0x53, 0xa7, 0x13, 0xec, 0x8e, 0xe8, 0x90,
+ 0x10, 0x1e, 0x47, 0xce, 0x01, 0x25, 0x27, 0xb2, 0x00, 0x75, 0xb1, 0x44, 0xb5, 0x9c, 0x0e, 0x7f,
+ 0x89, 0x5a, 0x34, 0x31, 0xb7, 0x15, 0x02, 0x23, 0x1a, 0xed, 0x5d, 0x38, 0x3b, 0xf0, 0xd9, 0xc8,
+ 0x2e, 0x94, 0x03, 0xbd, 0xa3, 0x6c, 0x80, 0xe5, 0x91, 0x15, 0x62, 0x53, 0xef, 0xc4, 0x94, 0x21,
+ 0x54, 0xce, 0x4d, 0x9d, 0x19, 0xf2, 0x4c, 0x82, 0xf6, 0xeb, 0x65, 0x98, 0xb8, 0xde, 0x6e, 0x37,
+ 0x37, 0x56, 0xc8, 0xf3, 0xd0, 0x90, 0x3b, 0xba, 0xb7, 0xa2, 0x0d, 0x8f, 0x70, 0x43, 0xbf, 0x1d,
+ 0xa1, 0x30, 0x4e, 0xc7, 0x16, 0x1d, 0x1e, 0xd5, 0xed, 0xae, 0xd4, 0xf0, 0xd0, 0xde, 0x41, 0x06,
+ 0x44, 0x81, 0x23, 0x3a, 0x4c, 0xf7, 0x7d, 0xea, 0x39, 0x7a, 0x97, 0x0a, 0x07, 0x84, 0xd4, 0xf5,
+ 0x63, 0xba, 0x28, 0xf8, 0xa4, 0xb8, 0x95, 0x60, 0x80, 0x29, 0x86, 0xe4, 0x45, 0xa8, 0xe9, 0xfd,
+ 0x60, 0x97, 0x2f, 0x35, 0x85, 0x42, 0x5f, 0xe2, 0x1b, 0xde, 0x12, 0xf6, 0xe0, 0x70, 0x6e, 0xf2,
+ 0x26, 0xb6, 0x9e, 0x57, 0xcf, 0x18, 0x52, 0xb3, 0xca, 0x29, 0xa7, 0x87, 0xac, 0x5c, 0xe5, 0xc4,
+ 0x95, 0xdb, 0x48, 0x30, 0xc0, 0x14, 0x43, 0xf2, 0x26, 0x4c, 0xee, 0xd1, 0x83, 0x40, 0xdf, 0x96,
+ 0x02, 0x26, 0x4e, 0x22, 0xe0, 0x0c, 0x5b, 0xa8, 0xdc, 0x8c, 0x15, 0xc7, 0x04, 0x33, 0xe2, 0xc3,
+ 0xf9, 0x3d, 0xea, 0x6d, 0x53, 0xcf, 0x95, 0xdb, 0xc7, 0x52, 0x48, 0xf5, 0x24, 0x42, 0x66, 0x8f,
+ 0x0e, 0xe7, 0xce, 0xdf, 0xcc, 0x60, 0x83, 0x99, 0xcc, 0xb5, 0xff, 0x53, 0x84, 0x99, 0xeb, 0x22,
+ 0x0a, 0xc9, 0xf5, 0x84, 0xb5, 0x44, 0x9e, 0x82, 0x92, 0xd7, 0xeb, 0x73, 0xcd, 0x29, 0x09, 0xa7,
+ 0x18, 0x6e, 0x6c, 0x21, 0x83, 0x91, 0x37, 0xa0, 0xa6, 0x82, 0x80, 0x46, 0xec, 0xdb, 0x7c, 0xe2,
+ 0x56, 0x4f, 0x18, 0x72, 0x63, 0xeb, 0xd9, 0xae, 0xdf, 0x69, 0x5b, 0xef, 0x50, 0xe9, 0x39, 0xe1,
+ 0xeb, 0xd9, 0x35, 0x01, 0x42, 0x85, 0x63, 0x96, 0xc0, 0x1e, 0x3d, 0x10, 0x7e, 0x83, 0x72, 0x64,
+ 0x09, 0xdc, 0x94, 0x30, 0x0c, 0xb1, 0x64, 0x4e, 0x6d, 0x77, 0x33, 0x2d, 0x28, 0x0b, 0x7f, 0xe2,
+ 0x6d, 0x06, 0x90, 0x3b, 0xdf, 0x6c, 0xdc, 0x90, 0x0e, 0xbe, 0x89, 0xd1, 0xc7, 0x8d, 0xa4, 0x43,
+ 0x90, 0x7c, 0x16, 0xea, 0x9c, 0x79, 0xcb, 0x76, 0xb7, 0xf9, 0x87, 0xab, 0x0b, 0xef, 0xd7, 0x6d,
+ 0x05, 0xc4, 0x08, 0xaf, 0xfd, 0x71, 0x11, 0x2e, 0x5c, 0xa7, 0x81, 0xb0, 0xc4, 0x96, 0x68, 0xcf,
+ 0x76, 0x0f, 0xd8, 0x1a, 0x00, 0xe9, 0x5d, 0xf2, 0x2a, 0x80, 0xe5, 0x6f, 0xb7, 0xf7, 0x8d, 0xcd,
+ 0xc8, 0x97, 0x70, 0x45, 0x76, 0x49, 0x58, 0x69, 0xb7, 0x24, 0xe6, 0x41, 0xe2, 0x09, 0x63, 0x65,
+ 0x22, 0x27, 0x42, 0xf1, 0x21, 0x4e, 0x84, 0x36, 0x40, 0x2f, 0x5a, 0x49, 0x94, 0x38, 0xe5, 0xe7,
+ 0x94, 0x98, 0x93, 0x2c, 0x22, 0x62, 0x6c, 0xf2, 0xd8, 0xf6, 0x0e, 0x9c, 0x31, 0xe9, 0x8e, 0xde,
+ 0xb7, 0x83, 0x70, 0xf5, 0x23, 0x3b, 0xf1, 0xf1, 0x17, 0x50, 0x61, 0xb8, 0xcf, 0x52, 0x8a, 0x13,
+ 0x0e, 0xf0, 0xd6, 0x7e, 0xa3, 0x04, 0x17, 0xaf, 0xd3, 0x20, 0xf4, 0x4d, 0xca, 0xd1, 0xb1, 0xdd,
+ 0xa3, 0x06, 0xfb, 0x0a, 0xef, 0x15, 0x60, 0xc2, 0xd6, 0xb7, 0xa9, 0xcd, 0x86, 0x70, 0xf6, 0x36,
+ 0x6f, 0x8d, 0x3c, 0x84, 0x0f, 0x97, 0x32, 0xbf, 0xca, 0x25, 0x88, 0x88, 0xae, 0x69, 0x59, 0xf9,
+ 0x09, 0x01, 0x44, 0x29, 0x9e, 0x0d, 0xea, 0x86, 0xdd, 0xf7, 0x03, 0xb1, 0x1a, 0x95, 0x36, 0x70,
+ 0x38, 0xa8, 0x2f, 0x46, 0x28, 0x8c, 0xd3, 0x91, 0xab, 0x00, 0x86, 0x6d, 0x51, 0x27, 0xe0, 0xa5,
+ 0x44, 0xbf, 0x22, 0xea, 0xfb, 0x2e, 0x86, 0x18, 0x8c, 0x51, 0x31, 0x51, 0x5d, 0xd7, 0xb1, 0x02,
+ 0x57, 0x88, 0x2a, 0x27, 0x45, 0xad, 0x45, 0x28, 0x8c, 0xd3, 0xf1, 0x62, 0x34, 0xf0, 0x2c, 0xc3,
+ 0xe7, 0xc5, 0x2a, 0xa9, 0x62, 0x11, 0x0a, 0xe3, 0x74, 0x17, 0xbf, 0x08, 0x8d, 0xd8, 0xfb, 0x9f,
+ 0x28, 0x6a, 0xe5, 0xef, 0xd5, 0xe1, 0x72, 0xa2, 0x59, 0x03, 0x3d, 0xa0, 0x3b, 0x7d, 0xbb, 0x4d,
+ 0x03, 0xf5, 0x01, 0x47, 0x9c, 0x0b, 0xff, 0x4a, 0xf4, 0xdd, 0x45, 0x20, 0x9f, 0x31, 0x9e, 0xef,
+ 0x3e, 0x50, 0xc1, 0x63, 0x7d, 0xfb, 0x05, 0xa8, 0x3b, 0x7a, 0xe0, 0xf3, 0x8e, 0x2b, 0xfb, 0x68,
+ 0x68, 0x8b, 0xdc, 0x52, 0x08, 0x8c, 0x68, 0xc8, 0x06, 0x9c, 0x97, 0x4d, 0x7c, 0xed, 0x7e, 0xcf,
+ 0xf5, 0x02, 0xea, 0x89, 0xb2, 0x72, 0x3a, 0x95, 0x65, 0xcf, 0xaf, 0x65, 0xd0, 0x60, 0x66, 0x49,
+ 0xb2, 0x06, 0xe7, 0x0c, 0x11, 0xdc, 0x44, 0x6d, 0x57, 0x37, 0x15, 0x43, 0xe1, 0x0a, 0x0e, 0x97,
+ 0x73, 0x8b, 0x83, 0x24, 0x98, 0x55, 0x2e, 0xad, 0xcd, 0x13, 0x23, 0x69, 0x73, 0x75, 0x14, 0x6d,
+ 0xae, 0x8d, 0xa6, 0xcd, 0xf5, 0xe3, 0x69, 0x33, 0x6b, 0x79, 0x1e, 0x47, 0xe3, 0x31, 0xf3, 0x44,
+ 0xcc, 0xb0, 0xb1, 0xd8, 0xb9, 0xb0, 0xe5, 0xdb, 0x19, 0x34, 0x98, 0x59, 0x92, 0x6c, 0xc3, 0x45,
+ 0x01, 0xbf, 0xe6, 0x18, 0xde, 0x41, 0x4f, 0x46, 0xdf, 0x2a, 0xbe, 0x8d, 0x84, 0x2f, 0xfe, 0x62,
+ 0x7b, 0x28, 0x25, 0x3e, 0x84, 0x8b, 0x34, 0xf8, 0x77, 0xac, 0xce, 0x9a, 0xde, 0xe3, 0x6c, 0x45,
+ 0x24, 0x5d, 0xdc, 0xe0, 0x8f, 0x90, 0x98, 0xa4, 0x25, 0x4d, 0x98, 0xe9, 0xed, 0x1b, 0xec, 0xef,
+ 0xca, 0xce, 0x2d, 0x4a, 0x4d, 0x6a, 0xf2, 0xfd, 0xe8, 0x7a, 0xeb, 0x49, 0xe5, 0x91, 0xda, 0x48,
+ 0xa2, 0x31, 0x4d, 0x4f, 0x5e, 0x84, 0x49, 0x3f, 0xd0, 0xbd, 0x40, 0x3a, 0xaf, 0x67, 0xa7, 0x45,
+ 0xa4, 0xa1, 0xf2, 0xed, 0xb6, 0x63, 0x38, 0x4c, 0x50, 0x66, 0xce, 0x17, 0x33, 0x8f, 0x6e, 0xbe,
+ 0xc8, 0x33, 0x5a, 0xfd, 0x8b, 0x22, 0x5c, 0xb9, 0x4e, 0x83, 0x35, 0xd7, 0x91, 0xdb, 0x07, 0x59,
+ 0xd3, 0xfe, 0xb1, 0x3c, 0xff, 0xc9, 0x49, 0xbb, 0x38, 0xd6, 0x49, 0xbb, 0x34, 0xa6, 0x49, 0xbb,
+ 0xfc, 0x08, 0x27, 0xed, 0x7f, 0x52, 0x84, 0x27, 0x13, 0x2d, 0xb9, 0xe1, 0x9a, 0x6a, 0xc0, 0xff,
+ 0xa8, 0x01, 0x8f, 0xd1, 0x80, 0xbf, 0x5b, 0x82, 0x4f, 0x5c, 0xa7, 0x22, 0xa0, 0xd6, 0xe9, 0x6c,
+ 0x58, 0x3d, 0x6a, 0x5b, 0x0e, 0x8d, 0xb1, 0x25, 0x7f, 0xa9, 0x00, 0x93, 0xc2, 0x96, 0x94, 0xa1,
+ 0xb0, 0x79, 0xdd, 0x80, 0x19, 0x7b, 0xce, 0x51, 0x07, 0x17, 0x16, 0xac, 0x9c, 0x3d, 0x12, 0x72,
+ 0x3f, 0xb2, 0x62, 0x8f, 0xf3, 0x3d, 0x7f, 0xba, 0x04, 0x4f, 0xb1, 0xef, 0xa9, 0x02, 0x64, 0x3e,
+ 0x5a, 0x4a, 0x7c, 0x00, 0x1f, 0xe1, 0x57, 0x2b, 0x70, 0xee, 0x3a, 0x0d, 0x06, 0x46, 0xa4, 0x3f,
+ 0xa5, 0xcd, 0xbf, 0x06, 0xe7, 0xa2, 0x80, 0xad, 0x76, 0xe0, 0x7a, 0xc2, 0x02, 0x4f, 0x59, 0x8c,
+ 0xed, 0x41, 0x12, 0xcc, 0x2a, 0x47, 0xbe, 0x0a, 0x4f, 0xfa, 0x62, 0xb8, 0x12, 0x3e, 0x0a, 0x61,
+ 0x50, 0xc7, 0x4e, 0x67, 0xa8, 0x8d, 0xf6, 0x27, 0xdb, 0xd9, 0x64, 0x38, 0xac, 0x3c, 0xf9, 0x26,
+ 0x4c, 0xf6, 0xe4, 0x10, 0xc8, 0xbe, 0x59, 0xee, 0x00, 0x82, 0x8d, 0x18, 0xb3, 0x68, 0x8c, 0x8b,
+ 0x43, 0x31, 0x21, 0x30, 0x53, 0x53, 0x6b, 0x8f, 0x50, 0x53, 0xff, 0xb0, 0x08, 0xd5, 0xeb, 0x9e,
+ 0xdb, 0xef, 0xb5, 0x0e, 0x48, 0x07, 0x26, 0xee, 0x09, 0x4f, 0x6d, 0x21, 0x67, 0xd0, 0xb3, 0x70,
+ 0xc6, 0x46, 0x8b, 0x18, 0xe9, 0xb9, 0x95, 0xec, 0x99, 0x12, 0xef, 0xd1, 0x03, 0x6a, 0x4a, 0x67,
+ 0x6a, 0xa8, 0xc4, 0x37, 0x19, 0x10, 0x05, 0x8e, 0x74, 0x61, 0x46, 0xb7, 0x6d, 0xf7, 0x1e, 0x35,
+ 0x57, 0xf5, 0x80, 0xef, 0x57, 0x49, 0xff, 0xe2, 0x49, 0x5d, 0x33, 0x7c, 0x13, 0xb2, 0x99, 0x64,
+ 0x85, 0x69, 0xde, 0xe4, 0x6d, 0xa8, 0xfa, 0x81, 0xeb, 0xa9, 0xa5, 0x51, 0xae, 0x80, 0xf4, 0xd6,
+ 0xeb, 0x6d, 0xc1, 0x4a, 0xf8, 0xad, 0xe4, 0x03, 0x2a, 0x01, 0xda, 0x2f, 0x15, 0x00, 0x6e, 0x6c,
+ 0x6e, 0x6e, 0x48, 0x17, 0x9b, 0x09, 0x65, 0xbd, 0x1f, 0x7a, 0xac, 0x47, 0xf7, 0x0c, 0x27, 0x02,
+ 0xfe, 0x64, 0x78, 0x47, 0x3f, 0xd8, 0x45, 0xce, 0x9d, 0x7c, 0x06, 0xaa, 0x72, 0x59, 0x2b, 0x9b,
+ 0x3d, 0xdc, 0x07, 0x95, 0x33, 0x31, 0x2a, 0xbc, 0xf6, 0xcb, 0x25, 0x80, 0x15, 0xd3, 0xa6, 0x6d,
+ 0x15, 0xa7, 0x5e, 0x0f, 0x76, 0x3d, 0xea, 0xef, 0xba, 0xb6, 0x39, 0xa2, 0x5b, 0x9d, 0xfb, 0xbd,
+ 0x36, 0x15, 0x13, 0x8c, 0xf8, 0x11, 0x93, 0xd9, 0xfb, 0xb4, 0xa7, 0x62, 0x00, 0x47, 0x74, 0x24,
+ 0x9e, 0x11, 0x6b, 0x83, 0x88, 0x0f, 0x26, 0xb8, 0x12, 0x1d, 0x1a, 0x96, 0x63, 0x88, 0x0e, 0xd2,
+ 0x3a, 0x18, 0x51, 0x91, 0xf8, 0x4e, 0xc4, 0x4a, 0xc4, 0x06, 0xe3, 0x3c, 0x99, 0xbe, 0x5a, 0x8e,
+ 0x15, 0x88, 0x36, 0x5b, 0xa2, 0xb6, 0x7e, 0x30, 0x62, 0xe4, 0x21, 0xd7, 0xd7, 0x95, 0x24, 0x2b,
+ 0x4c, 0xf3, 0xd6, 0xfe, 0x72, 0x01, 0x66, 0xf8, 0xeb, 0xb1, 0xb7, 0x16, 0x16, 0x15, 0xb9, 0x07,
+ 0x0d, 0x23, 0x0a, 0x29, 0xca, 0xbd, 0x73, 0x16, 0x0b, 0x4f, 0x12, 0xef, 0x1e, 0x03, 0x60, 0x5c,
+ 0x92, 0xf6, 0x07, 0x45, 0xb8, 0x90, 0xaa, 0x8c, 0x54, 0x2a, 0xf2, 0xe7, 0x07, 0x8e, 0x5e, 0xfe,
+ 0xd9, 0xe3, 0xb5, 0x87, 0x38, 0xb9, 0xb7, 0x46, 0x03, 0x3d, 0x5a, 0xd7, 0x47, 0xb0, 0xd8, 0x79,
+ 0xcb, 0x3e, 0x94, 0x7d, 0x36, 0x56, 0x8b, 0xd7, 0x6d, 0x8f, 0xfc, 0xba, 0xd9, 0x2f, 0xc0, 0x47,
+ 0xee, 0x70, 0x97, 0x85, 0x8f, 0xd8, 0x5c, 0x1c, 0x79, 0x17, 0x26, 0xfc, 0x40, 0x0f, 0xfa, 0x6a,
+ 0x58, 0xda, 0x1a, 0xb7, 0x60, 0xce, 0x3c, 0x1a, 0x43, 0xc5, 0x33, 0x4a, 0xa1, 0xda, 0x1f, 0x14,
+ 0xe0, 0x62, 0x76, 0xc1, 0x55, 0xcb, 0x0f, 0xc8, 0x9f, 0x1b, 0x68, 0xf6, 0x63, 0xaa, 0x21, 0x2b,
+ 0xcd, 0x1b, 0x3d, 0x0c, 0x39, 0x57, 0x90, 0x58, 0x93, 0x07, 0x50, 0xb1, 0x02, 0xda, 0x55, 0x1e,
+ 0xb1, 0xf5, 0x31, 0xbf, 0x7a, 0xcc, 0xac, 0x61, 0x52, 0x50, 0x08, 0xd3, 0xfe, 0xd6, 0xd0, 0x57,
+ 0xe6, 0x53, 0xe7, 0x5f, 0x18, 0x0c, 0x5b, 0x5d, 0xcf, 0x1f, 0xb6, 0x9a, 0xaa, 0xd8, 0xd0, 0xe8,
+ 0xd5, 0x1f, 0x96, 0xe0, 0xd2, 0xc3, 0x3e, 0x24, 0x9b, 0x5d, 0xa5, 0xbe, 0xe4, 0x9d, 0x5d, 0x1f,
+ 0xae, 0x19, 0xe4, 0x2a, 0x54, 0x7a, 0xbb, 0xba, 0xaf, 0x4c, 0xc4, 0x4b, 0x61, 0xb0, 0x12, 0x03,
+ 0x3e, 0x60, 0x43, 0x18, 0x37, 0x2d, 0xf9, 0x23, 0x0a, 0x52, 0x36, 0x39, 0x74, 0xa9, 0xef, 0x47,
+ 0x4e, 0xc5, 0x70, 0x72, 0x58, 0x13, 0x60, 0x54, 0x78, 0x12, 0xc0, 0x84, 0x70, 0xfa, 0xc8, 0xe1,
+ 0x6d, 0xbc, 0xeb, 0xc0, 0xf0, 0xa5, 0xe4, 0x0a, 0x50, 0xca, 0x22, 0xf3, 0x32, 0x92, 0xb2, 0x92,
+ 0x38, 0xc2, 0x5a, 0xce, 0xb0, 0x96, 0x39, 0x1d, 0x79, 0x0d, 0x88, 0xbb, 0xcd, 0xdd, 0x5c, 0xa6,
+ 0xdc, 0xd1, 0x62, 0x23, 0xe2, 0x04, 0xdf, 0xc5, 0x0a, 0x0f, 0xc0, 0xae, 0x0f, 0x50, 0x60, 0x46,
+ 0x29, 0xed, 0x5f, 0xd7, 0xe0, 0x42, 0xb6, 0x3e, 0xb0, 0x76, 0xdb, 0xa7, 0x1e, 0x1f, 0x6d, 0x53,
+ 0x27, 0xf2, 0x6f, 0x0b, 0x30, 0x2a, 0xfc, 0x87, 0x3a, 0x6c, 0xe5, 0x57, 0x0b, 0xf0, 0x94, 0x27,
+ 0xbd, 0xb6, 0xa7, 0x11, 0xba, 0xf2, 0x89, 0xa3, 0xc3, 0xb9, 0xa7, 0x70, 0x98, 0x40, 0x1c, 0x5e,
+ 0x17, 0xf2, 0x2b, 0x05, 0x98, 0x95, 0x4e, 0xd8, 0xc5, 0x53, 0x38, 0xa4, 0xc6, 0x23, 0xba, 0xd7,
+ 0x86, 0xc8, 0xc3, 0xa1, 0x35, 0x21, 0xdf, 0x84, 0x46, 0x8f, 0xe9, 0x85, 0x1f, 0x50, 0xc7, 0x50,
+ 0x61, 0x66, 0xa3, 0xf7, 0xa4, 0x8d, 0x88, 0x57, 0x78, 0x48, 0x85, 0xcf, 0xd8, 0x31, 0x04, 0xc6,
+ 0x25, 0x3e, 0xe6, 0xa7, 0xd2, 0x9e, 0x81, 0x9a, 0x4f, 0x83, 0xc0, 0x72, 0x3a, 0x62, 0xf5, 0x53,
+ 0x17, 0x7d, 0xa5, 0x2d, 0x61, 0x18, 0x62, 0xc9, 0x67, 0xa1, 0xce, 0x9d, 0xc0, 0x4d, 0xaf, 0xe3,
+ 0xcf, 0xd6, 0x79, 0x5c, 0xf3, 0x94, 0x88, 0xcb, 0x90, 0x40, 0x8c, 0xf0, 0xe4, 0xf3, 0x30, 0xb9,
+ 0xcd, 0xbb, 0xaf, 0x74, 0x64, 0x09, 0x4f, 0x3c, 0xb7, 0x1d, 0x5b, 0x31, 0x38, 0x26, 0xa8, 0xc8,
+ 0x55, 0x00, 0x1a, 0x7a, 0xca, 0xe5, 0x59, 0xf5, 0xd0, 0x22, 0x89, 0x7c, 0xe8, 0x18, 0xa3, 0x22,
+ 0x9f, 0x80, 0x52, 0x60, 0xfb, 0xdc, 0x77, 0x5e, 0x8b, 0x16, 0xc4, 0x9b, 0xab, 0x6d, 0x64, 0x70,
+ 0xed, 0x8f, 0x0b, 0x30, 0x93, 0x3a, 0x18, 0xc1, 0x8a, 0xf4, 0x3d, 0x5b, 0x0e, 0x23, 0x61, 0x91,
+ 0x2d, 0x5c, 0x45, 0x06, 0x27, 0x6f, 0xc9, 0x45, 0x42, 0x31, 0x67, 0xfa, 0x8a, 0x5b, 0x7a, 0xe0,
+ 0xb3, 0x55, 0xc1, 0xc0, 0xfa, 0x80, 0x3b, 0xde, 0xa3, 0xfa, 0xc8, 0x79, 0x20, 0xe6, 0x78, 0x8f,
+ 0x70, 0x98, 0xa0, 0x64, 0x0d, 0x14, 0xd8, 0xfe, 0x35, 0x47, 0xdf, 0xb6, 0xa9, 0xc9, 0x47, 0x83,
+ 0x58, 0x03, 0x6d, 0xae, 0xb6, 0x25, 0x06, 0x63, 0x54, 0xda, 0x6f, 0x96, 0x62, 0x2d, 0x20, 0xd7,
+ 0x19, 0xef, 0xd3, 0x02, 0x9f, 0x62, 0x13, 0x68, 0x38, 0xb9, 0xd7, 0xe3, 0xf3, 0x1f, 0x9f, 0x8c,
+ 0x25, 0x96, 0x3c, 0x0b, 0x35, 0xc3, 0x75, 0xfc, 0x7e, 0x97, 0x7a, 0xf2, 0x25, 0x42, 0x53, 0x66,
+ 0x51, 0xc2, 0x31, 0xa4, 0x20, 0x5f, 0x86, 0x69, 0x53, 0x84, 0xbc, 0xbd, 0x25, 0xd3, 0x91, 0x94,
+ 0x93, 0x1b, 0x1e, 0x32, 0x20, 0x4e, 0x7a, 0x44, 0xa6, 0xcc, 0xf8, 0x23, 0x79, 0x09, 0x66, 0x76,
+ 0x2c, 0x3b, 0xa0, 0xde, 0x5b, 0x7e, 0x9f, 0xdb, 0xa6, 0x22, 0x23, 0x45, 0x5d, 0x04, 0x90, 0x2c,
+ 0x73, 0x54, 0x5b, 0x62, 0x70, 0x7a, 0x27, 0xf1, 0x4c, 0xee, 0x08, 0x25, 0x99, 0xc8, 0x79, 0x44,
+ 0x77, 0x73, 0xb5, 0x2d, 0x02, 0x33, 0x94, 0x7a, 0x85, 0xba, 0x52, 0x7d, 0x44, 0xba, 0xa2, 0xfd,
+ 0xcb, 0x12, 0x34, 0x5e, 0x73, 0xb7, 0x3f, 0x24, 0x01, 0xa3, 0xd9, 0xf3, 0x69, 0xf1, 0x03, 0x9c,
+ 0x4f, 0xb7, 0xe0, 0xc9, 0x20, 0xb0, 0x65, 0xe6, 0x9c, 0xe6, 0x4e, 0x40, 0xbd, 0x65, 0xcb, 0xb1,
+ 0xfc, 0x5d, 0x6a, 0xca, 0x7d, 0xf9, 0x8f, 0x1f, 0x1d, 0xce, 0x3d, 0xb9, 0xb9, 0xb9, 0x9a, 0x45,
+ 0x82, 0xc3, 0xca, 0xf2, 0xf1, 0x4d, 0x1c, 0xcd, 0xe3, 0xc7, 0x51, 0xe4, 0x76, 0xbd, 0x18, 0xdf,
+ 0x62, 0x70, 0x4c, 0x50, 0x69, 0xff, 0xa1, 0x08, 0xf5, 0x30, 0x83, 0x02, 0x79, 0x1a, 0xaa, 0xdb,
+ 0x9e, 0xbb, 0x47, 0x3d, 0x11, 0xe6, 0x20, 0x8f, 0x92, 0xb4, 0x04, 0x08, 0x15, 0x8e, 0x7c, 0x12,
+ 0x2a, 0x81, 0xdb, 0xb3, 0x8c, 0xb4, 0x1f, 0x72, 0x93, 0x01, 0x51, 0xe0, 0x78, 0x8f, 0xe5, 0x11,
+ 0x49, 0xfc, 0xad, 0x6a, 0xb1, 0x1e, 0xcb, 0xa1, 0x28, 0xb1, 0xaa, 0x23, 0x94, 0xc7, 0xde, 0x11,
+ 0x3e, 0x15, 0xda, 0xaa, 0x95, 0xe4, 0x90, 0x91, 0xb2, 0x2e, 0xdf, 0x84, 0xb2, 0xaf, 0xfb, 0xb6,
+ 0xec, 0x8a, 0x39, 0x4e, 0xe2, 0x37, 0xdb, 0xab, 0xf2, 0x24, 0x7e, 0xb3, 0xbd, 0x8a, 0x9c, 0xa9,
+ 0xf6, 0x0f, 0x4b, 0xd0, 0x10, 0xed, 0x2b, 0x86, 0xb9, 0x71, 0xb6, 0xf0, 0x2b, 0x22, 0x3c, 0x93,
+ 0x8d, 0x64, 0xdc, 0x8b, 0x27, 0x07, 0xbc, 0x30, 0x3d, 0xcd, 0x62, 0x1c, 0x19, 0xee, 0xd8, 0x46,
+ 0xa0, 0x3f, 0xd9, 0x4d, 0xcf, 0xe6, 0x34, 0x9e, 0x05, 0x44, 0x1a, 0xe3, 0x32, 0x08, 0x2b, 0x9c,
+ 0xd3, 0x6e, 0xc6, 0x70, 0x98, 0xa0, 0xd4, 0xfe, 0x47, 0x11, 0xea, 0xab, 0xd6, 0x0e, 0x35, 0x0e,
+ 0x0c, 0x9b, 0x92, 0x6f, 0xc0, 0x45, 0x93, 0xda, 0x94, 0x4d, 0xed, 0xd7, 0x3d, 0xdd, 0xa0, 0x1b,
+ 0xd4, 0xb3, 0x78, 0x16, 0x23, 0x9e, 0x25, 0x4b, 0xc4, 0xc6, 0x5d, 0x3e, 0x3a, 0x9c, 0xbb, 0xb8,
+ 0x34, 0x94, 0x0a, 0x1f, 0xc2, 0x81, 0xac, 0xc0, 0xa4, 0x49, 0x7d, 0xcb, 0xa3, 0xe6, 0x46, 0x6c,
+ 0xe5, 0xf6, 0xb4, 0xaa, 0xe7, 0x52, 0x0c, 0xf7, 0xe0, 0x70, 0x6e, 0x4a, 0xf9, 0x8f, 0xc5, 0x12,
+ 0x2e, 0x51, 0x94, 0x0d, 0x2d, 0x3d, 0xbd, 0xef, 0xd3, 0x8c, 0x7a, 0x96, 0x78, 0x3d, 0xf9, 0xd0,
+ 0xb2, 0x91, 0x4d, 0x82, 0xc3, 0xca, 0x92, 0x6d, 0x98, 0xe5, 0xf5, 0xcf, 0xe2, 0x5b, 0xe6, 0x7c,
+ 0x3f, 0x75, 0x74, 0x38, 0xa7, 0x2d, 0xd1, 0x9e, 0x47, 0x0d, 0x3d, 0xa0, 0xe6, 0xd2, 0x10, 0x6a,
+ 0x1c, 0xca, 0x47, 0xab, 0x40, 0x69, 0xd5, 0xed, 0x68, 0xdf, 0x2e, 0x41, 0x98, 0x56, 0x8b, 0xfc,
+ 0x5c, 0x01, 0x1a, 0xba, 0xe3, 0xb8, 0x81, 0x4c, 0x59, 0x25, 0x42, 0xaf, 0x30, 0x77, 0xf6, 0xae,
+ 0xf9, 0x66, 0xc4, 0x54, 0x44, 0xdc, 0x84, 0x01, 0x1d, 0x31, 0x0c, 0xc6, 0x65, 0x93, 0x7e, 0x2a,
+ 0x10, 0x68, 0x2d, 0x7f, 0x2d, 0x8e, 0x11, 0xf2, 0x73, 0xf1, 0x2b, 0x70, 0x26, 0x5d, 0xd9, 0x93,
+ 0x04, 0x1b, 0xe4, 0x89, 0x53, 0xf8, 0x7e, 0x11, 0x20, 0xda, 0x5a, 0x3f, 0x05, 0x5f, 0x9e, 0x95,
+ 0xf0, 0xe5, 0x8d, 0x7e, 0x60, 0x3f, 0xaa, 0xf4, 0x50, 0xff, 0xdd, 0xdd, 0x94, 0xff, 0x6e, 0x65,
+ 0x1c, 0xc2, 0x1e, 0xee, 0xb3, 0xdb, 0x86, 0x73, 0x11, 0x6d, 0x34, 0xba, 0xdc, 0x4c, 0xf5, 0x7e,
+ 0x61, 0x00, 0x7f, 0x7a, 0x48, 0xef, 0x9f, 0x89, 0xc5, 0x3a, 0x0c, 0xf6, 0x7f, 0xed, 0x3b, 0x45,
+ 0x38, 0x13, 0x17, 0xc2, 0x8f, 0xed, 0x7e, 0x01, 0xa6, 0x3c, 0xaa, 0x9b, 0x2d, 0x3d, 0x30, 0x76,
+ 0x79, 0x54, 0x6d, 0x81, 0x87, 0xc1, 0xf2, 0xc3, 0x41, 0x18, 0x47, 0x60, 0x92, 0x8e, 0xe8, 0xd0,
+ 0x60, 0x00, 0x99, 0x6d, 0x20, 0x4f, 0x04, 0x3f, 0x46, 0x6c, 0x30, 0xce, 0x93, 0xb8, 0x50, 0x67,
+ 0x2b, 0x56, 0x61, 0xb1, 0xe4, 0x4d, 0xd0, 0x84, 0x8a, 0x93, 0x58, 0x05, 0x86, 0x8f, 0x18, 0xc9,
+ 0xd0, 0x7e, 0x58, 0x80, 0xe9, 0x78, 0x0b, 0x3d, 0x72, 0x6f, 0xe9, 0x6e, 0xd2, 0x5b, 0xba, 0x38,
+ 0x06, 0x45, 0x1b, 0xe2, 0x21, 0xfd, 0xfd, 0x46, 0xfc, 0xd5, 0xb8, 0x57, 0x34, 0xee, 0x76, 0x2a,
+ 0x3c, 0xd4, 0xed, 0xf4, 0x51, 0xce, 0xa3, 0xa1, 0x39, 0x8f, 0x86, 0xad, 0x6f, 0x2a, 0x8f, 0xf1,
+ 0xfa, 0x66, 0xe2, 0x03, 0x5c, 0xdf, 0xc4, 0xb2, 0x0a, 0x55, 0x73, 0x64, 0x15, 0xea, 0x86, 0x59,
+ 0x85, 0x6a, 0x63, 0x1b, 0xa2, 0x8f, 0x93, 0x59, 0xa8, 0x7e, 0xaa, 0x99, 0x85, 0xe0, 0x51, 0x65,
+ 0x16, 0x6a, 0xe4, 0xcd, 0x2c, 0xf4, 0x33, 0x05, 0x98, 0x36, 0x13, 0x47, 0x43, 0xb9, 0x47, 0x2b,
+ 0xcf, 0xc4, 0x9c, 0x3c, 0x69, 0x2a, 0xdc, 0x24, 0x49, 0x18, 0xa6, 0x44, 0x66, 0xe5, 0xf3, 0x99,
+ 0xfa, 0x40, 0xf2, 0xf9, 0x90, 0x77, 0xa1, 0x6e, 0xab, 0x59, 0x9b, 0x07, 0xa6, 0xe6, 0xe9, 0xfb,
+ 0x19, 0x96, 0x40, 0x14, 0xca, 0x1d, 0x82, 0x30, 0x92, 0xa8, 0xfd, 0xef, 0x6a, 0x7c, 0x6a, 0x3f,
+ 0xed, 0x6d, 0xa5, 0x17, 0x92, 0xdb, 0x4a, 0x57, 0xd2, 0xdb, 0x4a, 0x03, 0x76, 0x89, 0xdc, 0x5a,
+ 0x7a, 0x36, 0x36, 0x01, 0x95, 0x78, 0x36, 0x9f, 0x50, 0xe5, 0x32, 0x26, 0xa1, 0x26, 0xcc, 0x48,
+ 0x73, 0x46, 0x21, 0xf9, 0x70, 0x3e, 0x15, 0x45, 0x10, 0x2f, 0x25, 0xd1, 0x98, 0xa6, 0x67, 0x02,
+ 0x7d, 0x95, 0x7a, 0xb7, 0x92, 0xf4, 0xff, 0x85, 0x69, 0x71, 0x43, 0x0a, 0xb6, 0x4e, 0xf5, 0xa8,
+ 0xee, 0xcb, 0xcd, 0xa1, 0xd8, 0x3a, 0x15, 0x39, 0x14, 0x25, 0x36, 0xbe, 0x43, 0x56, 0x7d, 0x9f,
+ 0x1d, 0x32, 0x1d, 0x1a, 0xb6, 0xee, 0x07, 0x42, 0x99, 0x4c, 0x39, 0x76, 0xfd, 0x99, 0xe3, 0x19,
+ 0x14, 0xcc, 0x2a, 0x8a, 0x96, 0x22, 0xab, 0x11, 0x1b, 0x8c, 0xf3, 0x24, 0x26, 0x4c, 0xb2, 0x47,
+ 0x3e, 0xb2, 0x98, 0xcd, 0x40, 0x8e, 0x58, 0x27, 0x91, 0x11, 0x2e, 0x82, 0x57, 0x63, 0x7c, 0x30,
+ 0xc1, 0x75, 0xc8, 0x26, 0x1a, 0x8c, 0xb2, 0x89, 0x46, 0x5e, 0x12, 0x26, 0xe8, 0x41, 0xf8, 0x59,
+ 0x1b, 0xfc, 0xb3, 0x86, 0x6e, 0x56, 0x8c, 0x23, 0x31, 0x49, 0xcb, 0xb4, 0xa2, 0x2f, 0x9b, 0x41,
+ 0x15, 0x9f, 0x4c, 0x6a, 0xc5, 0x56, 0x12, 0x8d, 0x69, 0x7a, 0xb2, 0x01, 0xe7, 0x43, 0x50, 0xbc,
+ 0x1a, 0x53, 0x9c, 0x4f, 0x18, 0x8d, 0xbf, 0x95, 0x41, 0x83, 0x99, 0x25, 0xf9, 0xc1, 0x85, 0xbe,
+ 0xe7, 0x51, 0x27, 0xb8, 0xa1, 0xfb, 0xbb, 0x32, 0x50, 0x3d, 0x3a, 0xb8, 0x10, 0xa1, 0x30, 0x4e,
+ 0x47, 0xae, 0x02, 0x08, 0x76, 0xbc, 0xd4, 0x0c, 0x2f, 0x15, 0x2e, 0x8a, 0xb6, 0x42, 0x0c, 0xc6,
+ 0xa8, 0xf8, 0xc1, 0x6c, 0xe5, 0x8c, 0x65, 0xd3, 0xd4, 0xb6, 0xee, 0x5b, 0x86, 0xec, 0xf0, 0x39,
+ 0xb2, 0x99, 0xaa, 0x64, 0x55, 0xe2, 0x3c, 0x1c, 0x7f, 0x44, 0xc1, 0x3b, 0x4a, 0x17, 0x56, 0xcc,
+ 0x95, 0x2e, 0x8c, 0x2c, 0x42, 0xd9, 0xd9, 0xa3, 0x07, 0x27, 0x3b, 0x1a, 0xca, 0xed, 0xba, 0x5b,
+ 0x37, 0xe9, 0x01, 0xf2, 0xc2, 0xda, 0xaf, 0x15, 0x01, 0xd8, 0xeb, 0x1f, 0x6f, 0x9f, 0xe0, 0x33,
+ 0x50, 0x95, 0xce, 0x78, 0x95, 0xf6, 0x3c, 0x0c, 0x74, 0x12, 0x60, 0x54, 0x78, 0xf2, 0x49, 0xa8,
+ 0xdc, 0xed, 0xd3, 0xbe, 0xda, 0xf4, 0x0e, 0x67, 0xec, 0xd7, 0x19, 0x10, 0x05, 0xee, 0xd1, 0xb9,
+ 0xc8, 0x94, 0x9b, 0xbe, 0xf2, 0xa8, 0xdc, 0xf4, 0x75, 0xa8, 0xde, 0x72, 0x79, 0xdc, 0xa4, 0xf6,
+ 0xdf, 0x8b, 0x00, 0x51, 0x5c, 0x1a, 0xf9, 0xa5, 0x02, 0x3c, 0x11, 0x6e, 0x07, 0x06, 0xc2, 0xf0,
+ 0xe2, 0x09, 0x84, 0x73, 0xbb, 0xec, 0xb3, 0xb6, 0x22, 0x79, 0x26, 0x82, 0x8d, 0x2c, 0x71, 0x98,
+ 0x5d, 0x0b, 0x82, 0x50, 0xa3, 0xdd, 0x5e, 0x70, 0xb0, 0x64, 0x79, 0x52, 0x03, 0x33, 0xc3, 0x1f,
+ 0xaf, 0x49, 0x1a, 0x51, 0x54, 0x2e, 0x3b, 0xf8, 0xfa, 0x46, 0x61, 0x30, 0xe4, 0x43, 0x76, 0xa1,
+ 0xe6, 0xb8, 0x6f, 0xf9, 0xac, 0x39, 0xa4, 0x3a, 0x8e, 0x9e, 0xd3, 0x56, 0x36, 0xab, 0x70, 0xdd,
+ 0xca, 0x07, 0xac, 0x3a, 0xb2, 0xb1, 0x7f, 0xb1, 0x08, 0xe7, 0x32, 0xda, 0x81, 0xbc, 0x0a, 0x67,
+ 0x64, 0x08, 0x60, 0x94, 0x49, 0xbb, 0x10, 0x65, 0xd2, 0x6e, 0xa7, 0x70, 0x38, 0x40, 0x4d, 0xde,
+ 0x02, 0xd0, 0x0d, 0x83, 0xfa, 0xfe, 0x9a, 0x6b, 0xaa, 0x99, 0xf8, 0x15, 0x36, 0x70, 0x34, 0x43,
+ 0xe8, 0x83, 0xc3, 0xb9, 0x9f, 0xc8, 0x8a, 0xea, 0x4d, 0xb5, 0x73, 0x54, 0x00, 0x63, 0x2c, 0xc9,
+ 0x37, 0x00, 0x84, 0xf5, 0x1d, 0x1e, 0xbe, 0x7d, 0x9f, 0xb5, 0xf0, 0xbc, 0xca, 0x47, 0x33, 0xff,
+ 0x7a, 0x5f, 0x77, 0x02, 0x2b, 0x38, 0x10, 0x09, 0x0a, 0x6e, 0x87, 0x5c, 0x30, 0xc6, 0x51, 0xfb,
+ 0xed, 0x22, 0xd4, 0x94, 0xfb, 0xf2, 0x14, 0xfc, 0x49, 0x9d, 0x84, 0x3f, 0x69, 0x4c, 0x71, 0xbc,
+ 0x59, 0xde, 0x24, 0x37, 0xe5, 0x4d, 0xba, 0x9e, 0x5f, 0xd4, 0xc3, 0x7d, 0x49, 0x7f, 0xb7, 0x04,
+ 0xd3, 0x8a, 0x34, 0xaf, 0x97, 0xe7, 0x65, 0x98, 0x11, 0x3b, 0xde, 0x6b, 0xfa, 0x7d, 0x91, 0xfb,
+ 0x80, 0x37, 0x58, 0x59, 0x84, 0x22, 0xb6, 0x92, 0x28, 0x4c, 0xd3, 0x32, 0xb5, 0x16, 0xa0, 0x2d,
+ 0x66, 0xfe, 0x44, 0x8e, 0x9c, 0x29, 0xa1, 0xd6, 0xad, 0x14, 0x0e, 0x07, 0xa8, 0xd3, 0x6e, 0xa6,
+ 0xf2, 0xa3, 0x76, 0x33, 0x55, 0x4e, 0xc1, 0xcd, 0xf4, 0x6f, 0x0a, 0x30, 0x19, 0x7d, 0xa0, 0x47,
+ 0xee, 0x64, 0xda, 0x49, 0x3a, 0x99, 0x9a, 0xb9, 0xf5, 0x6f, 0x88, 0x8b, 0xe9, 0x2f, 0xd6, 0x21,
+ 0x11, 0xbf, 0x4e, 0xb6, 0xe1, 0xa2, 0x95, 0x19, 0xf7, 0x16, 0x1b, 0xde, 0xc2, 0x43, 0x89, 0x2b,
+ 0x43, 0x29, 0xf1, 0x21, 0x5c, 0x48, 0x1f, 0x6a, 0xfb, 0xd4, 0x0b, 0x2c, 0x83, 0xaa, 0xf7, 0xbb,
+ 0x9e, 0xdb, 0xe7, 0x22, 0x1d, 0x69, 0x61, 0x9b, 0xde, 0x96, 0x02, 0x30, 0x14, 0x45, 0xb6, 0xa1,
+ 0x42, 0xcd, 0x0e, 0x55, 0x17, 0x65, 0xe4, 0xcc, 0x40, 0x19, 0xb6, 0x27, 0x7b, 0xf2, 0x51, 0xb0,
+ 0x26, 0x7e, 0x7c, 0x4d, 0x59, 0xce, 0xa9, 0x97, 0xc7, 0x5c, 0x49, 0x92, 0xbd, 0xd0, 0xb1, 0x52,
+ 0x19, 0xd3, 0x68, 0xf5, 0x10, 0xb7, 0x8a, 0x0f, 0xf5, 0x7b, 0x7a, 0x40, 0xbd, 0xae, 0xee, 0xed,
+ 0x49, 0xaf, 0xd4, 0xe8, 0x6f, 0x78, 0x47, 0x71, 0x8a, 0xde, 0x30, 0x04, 0x61, 0x24, 0x87, 0x75,
+ 0xf7, 0x40, 0x3a, 0x10, 0x54, 0xa2, 0xbf, 0xd1, 0x85, 0x2a, 0x57, 0x84, 0x2f, 0xe3, 0xd8, 0xd5,
+ 0x23, 0x46, 0x32, 0xc8, 0x7e, 0x22, 0xab, 0xb2, 0xc8, 0xa5, 0x9d, 0x23, 0x2d, 0xbf, 0x62, 0x15,
+ 0xcd, 0x6f, 0x43, 0xb2, 0x33, 0xbf, 0x57, 0x80, 0x99, 0x54, 0xcf, 0x91, 0xab, 0xc1, 0x1b, 0xe3,
+ 0x8a, 0xca, 0x55, 0x11, 0xe9, 0x09, 0x20, 0xa6, 0xa5, 0x92, 0x3d, 0xa8, 0xc9, 0xe0, 0x98, 0x03,
+ 0x99, 0x36, 0x70, 0xf4, 0x41, 0x48, 0x65, 0xa1, 0x92, 0x19, 0x42, 0xe4, 0x13, 0x86, 0x02, 0xb4,
+ 0xff, 0x59, 0x89, 0xa6, 0xbf, 0xd3, 0xf6, 0x84, 0x7c, 0x3e, 0xe9, 0x09, 0xb9, 0x9c, 0xf6, 0x84,
+ 0xa4, 0xf6, 0x67, 0x4f, 0x1e, 0x62, 0x9b, 0x72, 0x20, 0x94, 0x1f, 0x81, 0x03, 0xe1, 0x39, 0x68,
+ 0xec, 0xf3, 0x01, 0x50, 0x64, 0x4f, 0xa9, 0xf0, 0xe9, 0x9a, 0xcf, 0xa0, 0xb7, 0x23, 0x30, 0xc6,
+ 0x69, 0xf8, 0x95, 0x52, 0xe2, 0xa6, 0x91, 0x30, 0x51, 0xab, 0x2c, 0xd2, 0x8e, 0xc0, 0x18, 0xa7,
+ 0xe1, 0xd1, 0x79, 0x96, 0xb3, 0x27, 0x0a, 0x54, 0x79, 0x01, 0x11, 0x9d, 0xa7, 0x80, 0x18, 0xe1,
+ 0xc9, 0x33, 0x50, 0xeb, 0x9b, 0x3b, 0x82, 0xb6, 0xc6, 0x69, 0xf9, 0xc7, 0xdf, 0x5a, 0x5a, 0x96,
+ 0xd9, 0x5c, 0x14, 0x96, 0xd5, 0xa4, 0xab, 0xf7, 0x14, 0x82, 0xab, 0xbb, 0xac, 0xc9, 0x5a, 0x04,
+ 0xc6, 0x38, 0x0d, 0xf9, 0x12, 0x4c, 0x7b, 0xd4, 0xec, 0x1b, 0x34, 0x2c, 0x05, 0xbc, 0x94, 0x4c,
+ 0xcd, 0x17, 0xc7, 0x60, 0x8a, 0x72, 0x88, 0x1b, 0xa4, 0x31, 0x92, 0x1b, 0xe4, 0x2b, 0x30, 0x6d,
+ 0x7a, 0xba, 0xe5, 0x50, 0x73, 0xdd, 0xe1, 0x9b, 0xf0, 0x32, 0x46, 0x30, 0x74, 0x41, 0x2e, 0x25,
+ 0xb0, 0x98, 0xa2, 0xd6, 0x96, 0x41, 0x24, 0x9d, 0x24, 0x73, 0x50, 0xd9, 0x0d, 0x82, 0x9e, 0xda,
+ 0xd4, 0xe1, 0x2b, 0x6f, 0x7e, 0xa6, 0x08, 0x05, 0x9c, 0x5c, 0x82, 0x32, 0xfb, 0x23, 0x63, 0x8d,
+ 0xf9, 0xd2, 0x90, 0xe1, 0x91, 0x43, 0xb5, 0xdf, 0x29, 0x42, 0x45, 0x24, 0x1e, 0x5c, 0x81, 0x73,
+ 0x96, 0x63, 0x05, 0x96, 0x6e, 0xf3, 0x83, 0x25, 0xf1, 0xa0, 0x86, 0x4a, 0xeb, 0xc9, 0xa3, 0xc3,
+ 0xb9, 0x73, 0x2b, 0x83, 0x68, 0xcc, 0x2a, 0xc3, 0x1a, 0x59, 0xa6, 0x23, 0x57, 0x5c, 0x84, 0x70,
+ 0x91, 0x39, 0x37, 0x81, 0xc1, 0x14, 0x25, 0x33, 0x5e, 0x7b, 0x03, 0xd1, 0x0a, 0x15, 0x61, 0xbc,
+ 0x26, 0x03, 0x08, 0x92, 0x74, 0x7c, 0x51, 0xd5, 0xe7, 0x0b, 0x98, 0xf0, 0x7c, 0x91, 0x0c, 0x7c,
+ 0x12, 0x8b, 0xaa, 0x14, 0x0e, 0x07, 0xa8, 0x19, 0x87, 0x1d, 0xdd, 0xb2, 0xfb, 0x1e, 0x8d, 0x38,
+ 0x54, 0x22, 0x0e, 0xcb, 0x29, 0x1c, 0x0e, 0x50, 0x6b, 0xbf, 0x53, 0x00, 0x10, 0xd7, 0x8e, 0x70,
+ 0x0f, 0xcd, 0x98, 0x72, 0xad, 0x93, 0x3e, 0xd4, 0xb7, 0x95, 0x8f, 0x26, 0x77, 0x22, 0x6e, 0x51,
+ 0xbf, 0xc8, 0xe7, 0x23, 0x6e, 0xb0, 0x51, 0x8f, 0x18, 0x49, 0xd2, 0xfe, 0x51, 0x01, 0x66, 0x52,
+ 0xd4, 0x64, 0x1d, 0x6a, 0x2a, 0x37, 0xd7, 0xc9, 0xde, 0x4a, 0xf4, 0x61, 0x59, 0x14, 0x43, 0x26,
+ 0xe3, 0x4f, 0x6d, 0xfe, 0xd3, 0x45, 0xf5, 0x0d, 0x78, 0x1c, 0xdb, 0x55, 0x00, 0x99, 0x43, 0xc3,
+ 0x34, 0x3d, 0x69, 0x86, 0x46, 0x73, 0x69, 0x88, 0xc1, 0x18, 0xd5, 0xf1, 0x42, 0xae, 0x5e, 0x84,
+ 0xc9, 0x9e, 0xe7, 0xb2, 0x01, 0xc2, 0xe3, 0x16, 0x6e, 0x2a, 0x4e, 0x76, 0x23, 0x86, 0xc3, 0x04,
+ 0x25, 0xd1, 0xa5, 0xbf, 0x67, 0x62, 0x2c, 0x17, 0xde, 0x64, 0x7a, 0x7c, 0xfe, 0xa8, 0x08, 0x93,
+ 0xb2, 0x11, 0x84, 0xaf, 0xec, 0x51, 0x36, 0x83, 0x8a, 0x24, 0xcb, 0x6a, 0x86, 0xc5, 0x18, 0x0e,
+ 0x13, 0x94, 0x64, 0x89, 0x75, 0xd8, 0x6d, 0xdf, 0xf0, 0x2c, 0x1e, 0x2b, 0xcd, 0x4b, 0x8b, 0x98,
+ 0xdb, 0xf0, 0xe0, 0x6a, 0x3b, 0x85, 0xc7, 0x81, 0x12, 0xe4, 0x59, 0xa8, 0x75, 0xf5, 0xfb, 0x5b,
+ 0x8e, 0x6e, 0xec, 0xc9, 0xd9, 0x2b, 0xb4, 0xe4, 0xd7, 0x24, 0x1c, 0x43, 0x8a, 0xd3, 0x68, 0xfa,
+ 0xef, 0x94, 0x21, 0x5a, 0x08, 0x92, 0xa7, 0xa0, 0xd4, 0xd5, 0xef, 0xcb, 0x15, 0x38, 0x77, 0xfb,
+ 0xad, 0xe9, 0xf7, 0x91, 0xc1, 0x38, 0xca, 0x72, 0xe4, 0x0a, 0x5b, 0xa0, 0x2c, 0x07, 0x19, 0x8c,
+ 0xbc, 0x0d, 0xd3, 0x9e, 0xde, 0xed, 0x6d, 0xf5, 0xd4, 0xa2, 0x76, 0xc4, 0x93, 0x8a, 0x62, 0x56,
+ 0x4b, 0x70, 0xc2, 0x14, 0x67, 0xd2, 0x87, 0x8a, 0xf0, 0x85, 0x95, 0x73, 0xee, 0xad, 0x86, 0x2f,
+ 0xcd, 0xac, 0x41, 0xd7, 0xa3, 0xf2, 0x5a, 0xb8, 0x14, 0x14, 0x85, 0x34, 0x26, 0xb6, 0xeb, 0x9a,
+ 0xe1, 0xf9, 0xfb, 0xb1, 0x88, 0x5d, 0x63, 0x0c, 0x07, 0xc4, 0x72, 0x28, 0x0a, 0x69, 0xc2, 0x37,
+ 0xc2, 0x74, 0xd0, 0x14, 0xcd, 0xc2, 0x35, 0xa1, 0xa6, 0x7c, 0x23, 0x31, 0x04, 0x26, 0xe9, 0xc8,
+ 0x0a, 0x94, 0x82, 0xc0, 0x96, 0x4b, 0x88, 0x91, 0x2e, 0x91, 0xd8, 0xdc, 0x5c, 0x45, 0xc6, 0x43,
+ 0xfb, 0x1b, 0x45, 0x20, 0xb1, 0xfa, 0x5d, 0x77, 0x5b, 0xba, 0xb1, 0x77, 0x8b, 0x7d, 0x74, 0xc3,
+ 0x75, 0xed, 0x25, 0xf7, 0x9e, 0x23, 0x26, 0xba, 0x11, 0xcf, 0xd8, 0xf2, 0x8f, 0xbe, 0x98, 0xe0,
+ 0x84, 0x29, 0xce, 0x64, 0x19, 0x08, 0x53, 0x03, 0x09, 0x31, 0xa8, 0x13, 0xa8, 0x5c, 0x02, 0x53,
+ 0xad, 0x0b, 0xcc, 0x8c, 0xc1, 0x01, 0x2c, 0x66, 0x94, 0x60, 0x46, 0x43, 0x78, 0x84, 0x37, 0xc6,
+ 0x48, 0x78, 0x7d, 0xb8, 0xd1, 0xb0, 0x39, 0x88, 0xc6, 0xac, 0x32, 0xda, 0x45, 0x98, 0x8d, 0x35,
+ 0xca, 0x8a, 0xb3, 0x46, 0xbb, 0xae, 0x77, 0x20, 0x1c, 0xa9, 0xbf, 0x52, 0x86, 0x81, 0x2f, 0x4a,
+ 0x7e, 0xb6, 0x00, 0x75, 0xdf, 0xd8, 0xa5, 0x66, 0xdf, 0xa6, 0x6a, 0xee, 0x58, 0x1b, 0x8b, 0xf6,
+ 0x2a, 0xa6, 0x22, 0x71, 0x62, 0x16, 0x06, 0x23, 0xc9, 0xe4, 0x5d, 0xa8, 0x7a, 0xd4, 0xd6, 0xef,
+ 0x53, 0xf5, 0xc1, 0x6e, 0x8e, 0xa3, 0x12, 0x28, 0x58, 0xaa, 0xaf, 0x91, 0x86, 0xa3, 0x92, 0x49,
+ 0x7e, 0xae, 0x00, 0xe0, 0x3a, 0xf6, 0xc1, 0xca, 0xce, 0x96, 0x2f, 0xe3, 0xc6, 0x1b, 0x57, 0x6f,
+ 0x8d, 0xa3, 0x0a, 0xeb, 0x21, 0x57, 0xe1, 0xb9, 0xcf, 0x44, 0x61, 0x4c, 0x38, 0x6b, 0x8a, 0x8e,
+ 0xd0, 0x66, 0x39, 0x9a, 0x8c, 0xa5, 0x29, 0x64, 0x07, 0x19, 0x68, 0x0a, 0x09, 0x47, 0x25, 0x53,
+ 0xdb, 0x86, 0xec, 0x3a, 0x0e, 0x53, 0xd3, 0xc2, 0x08, 0x6a, 0xfa, 0x5f, 0x0a, 0x09, 0x21, 0x48,
+ 0x4d, 0x4b, 0xa4, 0xa4, 0x20, 0x57, 0xa0, 0xcc, 0xc6, 0x98, 0x74, 0xb6, 0x60, 0xee, 0x5a, 0xe7,
+ 0x18, 0x36, 0xe2, 0xf7, 0x3d, 0x5b, 0x4e, 0xa7, 0xd5, 0xc4, 0x66, 0xd5, 0x3e, 0xd4, 0x7c, 0xea,
+ 0x04, 0x96, 0x43, 0x6d, 0xf9, 0x09, 0x47, 0xdf, 0x7a, 0x11, 0x75, 0x92, 0xdc, 0xe4, 0x79, 0x4a,
+ 0x79, 0x6e, 0x4a, 0xc0, 0x30, 0x94, 0x45, 0x2e, 0x40, 0xd1, 0xdc, 0x96, 0x76, 0xf2, 0xc4, 0xd1,
+ 0xe1, 0x5c, 0x71, 0xa9, 0x85, 0x45, 0x73, 0x5b, 0x3b, 0x0f, 0x19, 0x4a, 0xa7, 0x5d, 0x80, 0xcc,
+ 0xde, 0xa0, 0xfd, 0x7a, 0x11, 0x06, 0x06, 0x7a, 0xae, 0x98, 0x5e, 0xd8, 0x3c, 0xb2, 0x6f, 0xdc,
+ 0x1a, 0x4f, 0xdf, 0x50, 0x5c, 0x07, 0x14, 0x33, 0x42, 0x61, 0x4c, 0x38, 0xf9, 0x9b, 0x05, 0x98,
+ 0xb2, 0xe2, 0x43, 0x8a, 0x1c, 0x2f, 0x5e, 0x1f, 0x47, 0x75, 0x12, 0x63, 0x95, 0x38, 0x0a, 0x38,
+ 0x0c, 0x8b, 0xc9, 0x5a, 0x68, 0xdf, 0x2d, 0x40, 0x9d, 0x57, 0xf9, 0x43, 0x62, 0x5c, 0xff, 0x46,
+ 0x19, 0xce, 0x65, 0xa8, 0x17, 0x33, 0x2f, 0xbb, 0xba, 0x1f, 0x48, 0x1b, 0x30, 0x65, 0x5e, 0xae,
+ 0x85, 0x18, 0x8c, 0x51, 0x91, 0xcf, 0x42, 0x9d, 0x3a, 0x66, 0xcf, 0xb5, 0x9c, 0xc0, 0x97, 0xd7,
+ 0x95, 0xf0, 0xb5, 0xc8, 0x35, 0x05, 0xc4, 0x08, 0x4f, 0xee, 0xc3, 0xa4, 0xd2, 0x59, 0xbe, 0x0a,
+ 0xca, 0xeb, 0x21, 0x0d, 0x1b, 0x5d, 0xa6, 0x8c, 0x88, 0xf1, 0xc6, 0x84, 0x24, 0xbe, 0x61, 0xa0,
+ 0x88, 0xf3, 0x6f, 0x18, 0x84, 0x62, 0xc5, 0x86, 0x81, 0x7a, 0xc4, 0x48, 0x06, 0x71, 0xa1, 0xa1,
+ 0x2a, 0xb0, 0xb9, 0xda, 0x1e, 0xcb, 0xb1, 0x30, 0x79, 0xe1, 0x77, 0xc8, 0x14, 0xe3, 0x12, 0xc8,
+ 0x0e, 0xd4, 0xb8, 0x74, 0x26, 0xad, 0x3a, 0x06, 0x69, 0x32, 0xb0, 0x54, 0x70, 0xc4, 0x90, 0xb7,
+ 0xf6, 0x4f, 0x0b, 0x30, 0x85, 0x34, 0x60, 0xba, 0x2f, 0x37, 0x42, 0x3b, 0x50, 0x95, 0x47, 0x90,
+ 0xa4, 0xbe, 0xbf, 0x9a, 0x23, 0x88, 0x81, 0xf3, 0x91, 0x87, 0x68, 0x74, 0x63, 0x6f, 0x7d, 0x67,
+ 0x07, 0x15, 0x77, 0x72, 0x0d, 0xea, 0xae, 0x23, 0x17, 0xf0, 0x72, 0xfc, 0xfd, 0x34, 0xfb, 0x00,
+ 0xeb, 0x0a, 0xf8, 0xe0, 0x70, 0xee, 0x42, 0xf8, 0x90, 0xa8, 0x24, 0x46, 0x25, 0xb5, 0x9f, 0x65,
+ 0x83, 0xbf, 0x6b, 0xdb, 0x96, 0xd3, 0x49, 0x86, 0x88, 0x11, 0x1b, 0xa6, 0xc5, 0x22, 0x63, 0x5f,
+ 0xb7, 0x6c, 0x7d, 0xdb, 0xa6, 0xef, 0xbb, 0x91, 0xd9, 0x0f, 0x2c, 0x7b, 0x5e, 0x5c, 0xf9, 0x3e,
+ 0xbf, 0xe2, 0x04, 0xeb, 0x5e, 0x3b, 0xf0, 0x2c, 0xa7, 0x23, 0xcc, 0xb7, 0xb5, 0x04, 0x2f, 0x4c,
+ 0xf1, 0xd6, 0xfe, 0x7d, 0x19, 0xf8, 0xf1, 0x16, 0xf2, 0x05, 0xa8, 0x77, 0xa9, 0xb1, 0xab, 0x3b,
+ 0x96, 0xaf, 0xd2, 0xd4, 0xb3, 0x11, 0xb1, 0xbe, 0xa6, 0x80, 0x0f, 0xd8, 0xb0, 0xdf, 0x6c, 0xaf,
+ 0xf2, 0x23, 0xf1, 0x11, 0x2d, 0x31, 0x60, 0xa2, 0xe3, 0xfb, 0x7a, 0xcf, 0xca, 0x1d, 0xe4, 0x2b,
+ 0x32, 0x8c, 0x0b, 0x8f, 0xbf, 0xf8, 0x8f, 0x92, 0x35, 0x31, 0xa0, 0xd2, 0xb3, 0x75, 0xcb, 0xc9,
+ 0x1d, 0xce, 0xcd, 0xde, 0x60, 0x83, 0x71, 0x12, 0xce, 0x11, 0xfe, 0x17, 0x05, 0x6f, 0xd2, 0x87,
+ 0x86, 0x6f, 0x78, 0x7a, 0xd7, 0xdf, 0xd5, 0xaf, 0x3e, 0xff, 0x42, 0xee, 0x81, 0x21, 0x12, 0x25,
+ 0x3a, 0xcd, 0x22, 0x36, 0xd7, 0xda, 0x37, 0x9a, 0x57, 0x9f, 0x7f, 0x01, 0xe3, 0x72, 0xe2, 0x62,
+ 0x9f, 0x7f, 0xee, 0x6a, 0xfe, 0xfb, 0x77, 0xb3, 0xc5, 0x3e, 0xff, 0xdc, 0x55, 0x8c, 0xcb, 0x61,
+ 0x4d, 0xea, 0xc6, 0x56, 0xb0, 0xf9, 0x04, 0xae, 0x47, 0x41, 0x3f, 0xfc, 0x2f, 0x0a, 0xde, 0xda,
+ 0xff, 0x2a, 0x40, 0x3d, 0xc4, 0xb3, 0x49, 0x44, 0xe4, 0x4e, 0x5d, 0x59, 0x1a, 0x61, 0x56, 0x5a,
+ 0x94, 0x45, 0x31, 0x64, 0x42, 0xde, 0x84, 0x49, 0xf1, 0x5f, 0xe6, 0x32, 0x2f, 0x9e, 0x38, 0x61,
+ 0xfa, 0x62, 0xac, 0x38, 0x26, 0x98, 0x91, 0x97, 0x60, 0x8a, 0x3b, 0xcd, 0xd4, 0x2c, 0x22, 0x1d,
+ 0x12, 0x61, 0x7c, 0xd9, 0x66, 0x1c, 0x89, 0x49, 0xda, 0xf0, 0xc5, 0xf9, 0x97, 0x20, 0x5b, 0x00,
+ 0x6c, 0x26, 0x95, 0xb5, 0x3c, 0xd1, 0xab, 0xf3, 0xd0, 0x87, 0xad, 0xb0, 0x30, 0xc6, 0x18, 0x65,
+ 0xa4, 0xa4, 0x2f, 0x8e, 0x3b, 0x25, 0xfd, 0x02, 0xd4, 0x77, 0x75, 0xc7, 0xf4, 0x77, 0xf5, 0x3d,
+ 0x2a, 0xcf, 0x5c, 0x86, 0xdb, 0x64, 0x37, 0x14, 0x02, 0x23, 0x1a, 0xed, 0x9f, 0x4f, 0x80, 0x08,
+ 0x4f, 0x26, 0xcf, 0x42, 0xcd, 0xb4, 0x7c, 0x71, 0x84, 0x5b, 0xdc, 0xf1, 0x10, 0xfa, 0x53, 0x96,
+ 0x24, 0x1c, 0x43, 0x8a, 0xb8, 0x0f, 0xa3, 0x92, 0xf2, 0x61, 0x48, 0xcf, 0x47, 0x29, 0x86, 0x52,
+ 0x9e, 0x8f, 0x97, 0x61, 0xc6, 0x76, 0xdd, 0x3d, 0x36, 0x38, 0xc7, 0xcf, 0x8e, 0x4d, 0x89, 0x0d,
+ 0xa6, 0xd5, 0x24, 0x0a, 0xd3, 0xb4, 0x64, 0x0b, 0x9e, 0x7c, 0x87, 0x7a, 0xae, 0x0c, 0xc0, 0x6b,
+ 0xdb, 0x94, 0xf6, 0x14, 0x1b, 0xe1, 0x01, 0xe2, 0x47, 0xdb, 0xbe, 0x96, 0x4d, 0x82, 0xc3, 0xca,
+ 0xf2, 0xc3, 0xb8, 0xba, 0xd7, 0xa1, 0xc1, 0x86, 0xe7, 0x1a, 0xd4, 0xf7, 0x2d, 0xa7, 0xa3, 0xd8,
+ 0x4e, 0x44, 0x6c, 0x37, 0xb3, 0x49, 0x70, 0x58, 0x59, 0xf2, 0x06, 0xcc, 0x0a, 0x94, 0xd8, 0x1e,
+ 0x6b, 0x8a, 0x41, 0xdc, 0xb2, 0xad, 0xe0, 0x40, 0x6e, 0x85, 0x70, 0x8b, 0x71, 0x73, 0x08, 0x0d,
+ 0x0e, 0x2d, 0x4d, 0x5e, 0x83, 0x33, 0x2a, 0x5e, 0x76, 0x83, 0x59, 0xe3, 0xba, 0x4d, 0xe5, 0x86,
+ 0x89, 0x3c, 0x83, 0xa8, 0xce, 0xe0, 0x61, 0x8a, 0x0a, 0x07, 0xca, 0x11, 0x84, 0x0b, 0x3c, 0x2e,
+ 0x7d, 0xab, 0xb7, 0xe8, 0xba, 0xb6, 0xe9, 0xde, 0x73, 0xd4, 0xbb, 0x8b, 0x5d, 0x15, 0x7e, 0x11,
+ 0x5f, 0x3b, 0x93, 0x02, 0x87, 0x94, 0x64, 0x6f, 0xce, 0x31, 0x4b, 0xee, 0x3d, 0x27, 0xcd, 0x15,
+ 0xa2, 0x37, 0x6f, 0x0f, 0xa1, 0xc1, 0xa1, 0xa5, 0xb9, 0xfb, 0x22, 0xf5, 0x06, 0x5b, 0x3d, 0x19,
+ 0x49, 0x2a, 0x56, 0x89, 0x03, 0x58, 0xcc, 0x28, 0x41, 0x56, 0xe1, 0x7c, 0x1a, 0xca, 0xc4, 0xc9,
+ 0xa0, 0x52, 0xb1, 0xfa, 0xcf, 0xc0, 0x63, 0x66, 0x29, 0xad, 0x01, 0xf5, 0xf0, 0x1a, 0x75, 0xed,
+ 0xf7, 0x8b, 0x30, 0x93, 0x4a, 0xa6, 0x7a, 0x0a, 0x71, 0x4e, 0x4e, 0x22, 0xce, 0x69, 0x35, 0xd7,
+ 0x75, 0xf0, 0xb1, 0x9a, 0x0f, 0x0d, 0x77, 0xda, 0x4f, 0x85, 0x3b, 0xdd, 0x1a, 0x9b, 0xc4, 0x87,
+ 0x47, 0x3d, 0x1d, 0x15, 0xe0, 0x5c, 0xaa, 0xc4, 0x29, 0xc4, 0xd6, 0x74, 0x93, 0xb1, 0x35, 0x37,
+ 0xc6, 0xf5, 0xb2, 0x43, 0x42, 0x6c, 0xfe, 0xef, 0xe0, 0x4b, 0xb6, 0x45, 0x8c, 0x59, 0x55, 0xe6,
+ 0xad, 0xcc, 0x7d, 0x1b, 0x93, 0x4a, 0x8c, 0xc9, 0xbe, 0x6f, 0x32, 0x0f, 0xa0, 0xd3, 0x41, 0x25,
+ 0x85, 0xf8, 0x50, 0x53, 0xc9, 0x29, 0xc7, 0x1b, 0x41, 0x17, 0x36, 0x76, 0x98, 0x6f, 0x38, 0x14,
+ 0xa4, 0xfd, 0x42, 0x09, 0x9e, 0xc8, 0x54, 0x8a, 0xd3, 0xdb, 0xe0, 0x7f, 0x29, 0xb9, 0xc1, 0xff,
+ 0x74, 0x7a, 0x83, 0xff, 0x7c, 0xaa, 0x7e, 0x8f, 0xf1, 0x3e, 0xff, 0x18, 0xf7, 0xae, 0xb5, 0x19,
+ 0x98, 0x4a, 0x24, 0x54, 0xd5, 0x7e, 0x6f, 0x02, 0x1a, 0x31, 0x4d, 0x7a, 0xec, 0x12, 0x59, 0x92,
+ 0xb7, 0xd4, 0xd5, 0x8e, 0xa5, 0xbc, 0x97, 0xe9, 0x31, 0x2e, 0x72, 0x11, 0x12, 0xbb, 0xf3, 0x91,
+ 0x7c, 0x09, 0xa6, 0xbb, 0x7e, 0x67, 0x65, 0xe9, 0x06, 0xd5, 0x4d, 0xea, 0xdd, 0xa4, 0x2a, 0x7b,
+ 0x8c, 0x58, 0xcc, 0x25, 0x30, 0x98, 0xa2, 0x24, 0xab, 0xf0, 0x84, 0x47, 0xef, 0xf6, 0xa9, 0x1f,
+ 0x24, 0xb7, 0xc6, 0xa5, 0x31, 0x23, 0xe7, 0xb3, 0x14, 0x81, 0x8f, 0xd9, 0x85, 0xd8, 0x18, 0x25,
+ 0xb6, 0x73, 0x26, 0x72, 0x76, 0x54, 0xf5, 0x41, 0xb9, 0x53, 0x4b, 0x3a, 0x49, 0x22, 0x88, 0xda,
+ 0xc6, 0xc9, 0x3e, 0x73, 0x58, 0xfd, 0x00, 0xcf, 0x1c, 0xc6, 0x0f, 0xba, 0xd6, 0x1e, 0x7a, 0xd0,
+ 0x75, 0xd8, 0x69, 0xce, 0xfa, 0xe3, 0x70, 0x9a, 0x53, 0xfb, 0x26, 0x24, 0x1a, 0x9c, 0xb8, 0x50,
+ 0x0f, 0x5f, 0x36, 0xf7, 0x91, 0x8f, 0xe8, 0xdc, 0x1f, 0xf7, 0x43, 0x85, 0x8f, 0x18, 0xc9, 0xd0,
+ 0x76, 0x58, 0x37, 0xe7, 0x79, 0x3d, 0x1f, 0xed, 0x8d, 0xf5, 0xff, 0xb6, 0x08, 0xf5, 0x30, 0xa8,
+ 0x8d, 0x5c, 0x81, 0xb2, 0x13, 0xf9, 0x10, 0x43, 0x9b, 0x83, 0x7b, 0x0f, 0x39, 0x26, 0xd9, 0x10,
+ 0xc5, 0x47, 0xdf, 0x10, 0xf1, 0x53, 0xac, 0xa5, 0x1c, 0xa7, 0x58, 0x7b, 0x50, 0x0d, 0x3c, 0xab,
+ 0xd3, 0xa1, 0x5e, 0xee, 0xad, 0xd6, 0xb0, 0xb9, 0x36, 0x05, 0x43, 0xd9, 0xb2, 0xe2, 0x01, 0x95,
+ 0x18, 0xed, 0x6d, 0x38, 0x93, 0xa6, 0xe4, 0xa7, 0xe2, 0xa4, 0xdf, 0x5e, 0xb6, 0x71, 0x74, 0x2a,
+ 0x4e, 0xc2, 0x31, 0xa4, 0x60, 0x9d, 0x89, 0x7d, 0xa6, 0x77, 0x5c, 0x47, 0x4d, 0x82, 0xbc, 0x33,
+ 0x6d, 0x4a, 0x18, 0x86, 0x58, 0xed, 0xbf, 0x95, 0xe0, 0xa9, 0x28, 0x34, 0x71, 0x4d, 0x77, 0xf4,
+ 0x4e, 0xf2, 0xbe, 0xcb, 0x8f, 0x12, 0x43, 0x8d, 0xe5, 0x7e, 0xd0, 0xd2, 0x63, 0x70, 0x3f, 0xe8,
+ 0x1f, 0x96, 0x80, 0x1f, 0xb7, 0x27, 0xdf, 0x84, 0x49, 0xd5, 0x9e, 0xec, 0x59, 0x7e, 0xce, 0x6b,
+ 0xb9, 0x3f, 0x27, 0x3f, 0xd5, 0x1f, 0xc6, 0x90, 0xc4, 0xa1, 0x98, 0x10, 0x48, 0x5c, 0xa8, 0xed,
+ 0xe8, 0xb6, 0xbd, 0xad, 0x1b, 0x7b, 0xb9, 0x2d, 0xd3, 0x84, 0x70, 0xae, 0xe6, 0xcb, 0x92, 0x35,
+ 0x86, 0x42, 0x88, 0x07, 0x75, 0xd7, 0x91, 0xb1, 0x64, 0xf2, 0x5b, 0x8c, 0x49, 0xe2, 0x94, 0xf0,
+ 0x47, 0x4b, 0xde, 0x18, 0x89, 0x21, 0x3f, 0x53, 0x80, 0x29, 0x2f, 0xee, 0x92, 0x96, 0xe3, 0xc7,
+ 0x72, 0x8e, 0x6d, 0x88, 0x18, 0xb7, 0xf8, 0xd9, 0xcb, 0xb8, 0xdf, 0x3b, 0x29, 0x53, 0xfb, 0xaf,
+ 0x05, 0x98, 0x6a, 0xdb, 0x96, 0x69, 0x39, 0x9d, 0x47, 0x78, 0xc7, 0xe6, 0x3a, 0x54, 0x7c, 0xdb,
+ 0x32, 0xe9, 0x88, 0x29, 0x46, 0xb8, 0x65, 0xc6, 0x6a, 0xc9, 0x0c, 0x14, 0xf6, 0x93, 0xbc, 0xb4,
+ 0xb3, 0x74, 0x8c, 0x4b, 0x3b, 0x7f, 0xbb, 0x06, 0x32, 0x59, 0x05, 0xe9, 0x43, 0xbd, 0xa3, 0xae,
+ 0x41, 0x94, 0xef, 0x78, 0x23, 0xc7, 0xa5, 0x5f, 0x89, 0x0b, 0x15, 0xc5, 0xf7, 0x0e, 0x81, 0x18,
+ 0x49, 0x22, 0x14, 0x2a, 0x3c, 0x07, 0x55, 0xee, 0xc4, 0xdd, 0xb1, 0x6c, 0x63, 0xa2, 0x65, 0x38,
+ 0x00, 0x05, 0x77, 0xa2, 0xcb, 0xc0, 0xd0, 0x52, 0xce, 0x58, 0xa8, 0x28, 0x83, 0x7d, 0x3a, 0xba,
+ 0x94, 0x89, 0x70, 0xf4, 0xc0, 0xcf, 0x9d, 0x49, 0x3f, 0x3a, 0xf4, 0x29, 0xcf, 0x84, 0xea, 0x81,
+ 0x8f, 0x9c, 0x35, 0xf9, 0x49, 0x68, 0x04, 0x9e, 0xee, 0xf8, 0x3b, 0xae, 0xd7, 0xa5, 0x9e, 0xf4,
+ 0xc3, 0x2f, 0xe7, 0xc8, 0xf9, 0xb1, 0x19, 0x71, 0x13, 0x61, 0x41, 0x09, 0x10, 0xc6, 0xa5, 0x91,
+ 0x3d, 0xa8, 0xf5, 0x4d, 0x51, 0x31, 0x69, 0x6f, 0x37, 0x73, 0x48, 0x8e, 0x9f, 0x5b, 0x54, 0x4f,
+ 0x18, 0x0a, 0x60, 0xda, 0x18, 0xe5, 0xb5, 0xae, 0xe6, 0xd4, 0xc6, 0x54, 0xce, 0xcd, 0xe1, 0x09,
+ 0xad, 0x49, 0x37, 0xf2, 0x36, 0xd4, 0x72, 0x36, 0x6e, 0x62, 0xd5, 0x28, 0xef, 0x44, 0x48, 0xfb,
+ 0x1a, 0x2c, 0x98, 0xe8, 0xf1, 0xe0, 0x3a, 0x69, 0x86, 0x5f, 0xcb, 0x19, 0xa3, 0x17, 0xcf, 0x41,
+ 0x23, 0x20, 0x28, 0x05, 0x90, 0xaf, 0x43, 0xc9, 0xbf, 0xeb, 0xcb, 0x33, 0x0a, 0x39, 0x76, 0x52,
+ 0xee, 0x2a, 0xdd, 0xe4, 0x5e, 0xee, 0xf6, 0x5d, 0x1f, 0x19, 0x5f, 0xed, 0x37, 0x8b, 0x50, 0x65,
+ 0x38, 0x36, 0x4f, 0x2d, 0x40, 0x5d, 0xbf, 0xe7, 0x23, 0xed, 0x44, 0x19, 0xa2, 0xc3, 0x51, 0xa8,
+ 0x79, 0xa7, 0x2d, 0x10, 0x18, 0xd1, 0xb0, 0x02, 0xfc, 0xd4, 0x31, 0xdf, 0x4f, 0x2f, 0x26, 0x0b,
+ 0xbc, 0xae, 0x10, 0x18, 0xd1, 0x90, 0xdb, 0x70, 0x81, 0x3f, 0xac, 0xdf, 0x73, 0xa8, 0xd7, 0xbc,
+ 0xd3, 0x6e, 0x1a, 0x86, 0xdb, 0xe7, 0x7b, 0x36, 0xa5, 0xc4, 0xe9, 0x84, 0x0b, 0xaf, 0x67, 0x52,
+ 0xe1, 0x90, 0xd2, 0x64, 0x1f, 0x40, 0xf7, 0xfd, 0x7e, 0x97, 0xa2, 0x1b, 0x1e, 0x4c, 0xca, 0xb1,
+ 0xa2, 0xbf, 0xd3, 0x6e, 0x86, 0xdc, 0xc4, 0x2e, 0x49, 0xf4, 0x8c, 0x31, 0x49, 0xda, 0xf7, 0x2b,
+ 0x50, 0x0f, 0x5b, 0xf6, 0x43, 0xdc, 0x7e, 0x8b, 0x70, 0x76, 0xdf, 0xf2, 0x2d, 0xe1, 0xb2, 0x8f,
+ 0x1f, 0x6c, 0xac, 0x08, 0x73, 0xf0, 0x76, 0x1a, 0x89, 0x83, 0xf4, 0x64, 0x05, 0xce, 0x75, 0xf5,
+ 0xfb, 0xb7, 0xfa, 0xdd, 0x6d, 0xea, 0xad, 0xef, 0x48, 0xff, 0x91, 0x2f, 0x83, 0xd3, 0x79, 0xfc,
+ 0xd2, 0xda, 0x20, 0x1a, 0xb3, 0xca, 0x90, 0x97, 0x61, 0xe6, 0x9e, 0x6e, 0x71, 0xaf, 0x41, 0x7c,
+ 0x77, 0xa3, 0x22, 0xf6, 0x5e, 0xee, 0x24, 0x51, 0x98, 0xa6, 0x25, 0xcf, 0x41, 0x43, 0x05, 0x65,
+ 0x6c, 0x79, 0xb6, 0x4a, 0x81, 0xc1, 0xef, 0x71, 0x57, 0x60, 0x5c, 0xc5, 0x38, 0x0d, 0xf9, 0x12,
+ 0x4c, 0xeb, 0x41, 0xe0, 0x59, 0xdb, 0xfd, 0x80, 0x37, 0xb5, 0x38, 0x15, 0x25, 0x7d, 0x23, 0xcd,
+ 0x04, 0x06, 0x53, 0x94, 0x64, 0x1d, 0x9e, 0x90, 0x4e, 0xb2, 0x24, 0xa1, 0x4c, 0xf1, 0xcc, 0x4d,
+ 0xd7, 0xb5, 0x2c, 0x02, 0xcc, 0x2e, 0x97, 0x52, 0x67, 0x38, 0x35, 0x75, 0xee, 0x82, 0x74, 0x2e,
+ 0x12, 0x23, 0x71, 0x2d, 0xbc, 0xc8, 0x63, 0xb8, 0x70, 0x3c, 0x33, 0x27, 0xbc, 0xef, 0x3b, 0x76,
+ 0xc3, 0x65, 0xe6, 0xfd, 0xef, 0xda, 0xbf, 0x2b, 0x42, 0x69, 0x73, 0xb5, 0x4d, 0x5e, 0x03, 0x62,
+ 0x39, 0x3e, 0x35, 0xfa, 0x1e, 0x6d, 0xef, 0x59, 0xbd, 0xdb, 0xd4, 0xb3, 0x76, 0x0e, 0xe4, 0xbe,
+ 0x5e, 0xe8, 0xf6, 0x5b, 0x19, 0xa0, 0xc0, 0x8c, 0x52, 0x7c, 0xdb, 0x56, 0x5f, 0xa4, 0x5e, 0x8e,
+ 0x6d, 0xdb, 0x66, 0x54, 0x1c, 0x13, 0xcc, 0xc8, 0x16, 0x80, 0x11, 0xb1, 0x2e, 0x9d, 0x78, 0xaf,
+ 0x35, 0xc6, 0x38, 0xc6, 0x88, 0x20, 0xd4, 0xf7, 0x18, 0x29, 0xe7, 0x5a, 0x3e, 0x09, 0x57, 0x3e,
+ 0x21, 0xde, 0x54, 0x65, 0x31, 0x62, 0xa3, 0x39, 0x30, 0x95, 0xb8, 0x7b, 0x9d, 0x7c, 0x11, 0x6a,
+ 0x6e, 0x2f, 0x66, 0x25, 0xd6, 0x79, 0xde, 0xfa, 0xda, 0xba, 0x84, 0x3d, 0x38, 0x9c, 0x9b, 0x5a,
+ 0x75, 0x3b, 0x96, 0xa1, 0x00, 0x18, 0x92, 0x13, 0x0d, 0x26, 0x78, 0x96, 0x45, 0x15, 0x00, 0xc5,
+ 0xa7, 0x29, 0x7e, 0x2f, 0xb4, 0x8f, 0x12, 0xa3, 0x7d, 0xab, 0x0c, 0xd1, 0x51, 0x43, 0xe2, 0xc3,
+ 0x84, 0xc8, 0x8b, 0x24, 0x0d, 0xd2, 0x47, 0x9a, 0x82, 0x49, 0x8a, 0x22, 0x1d, 0x28, 0xbd, 0xed,
+ 0x6e, 0xe7, 0xb6, 0x47, 0x63, 0xa9, 0xa2, 0xc5, 0x98, 0x11, 0x03, 0x20, 0x93, 0x40, 0xbe, 0x53,
+ 0x80, 0xb3, 0x7e, 0xda, 0x8b, 0x20, 0xd5, 0x01, 0xf3, 0xbb, 0x4b, 0xd2, 0x7e, 0x09, 0x71, 0xc1,
+ 0xc0, 0x50, 0x34, 0x0e, 0xd6, 0x85, 0xb5, 0xbf, 0x38, 0x0c, 0x27, 0xd5, 0x69, 0xf4, 0xf6, 0x17,
+ 0x07, 0xec, 0x92, 0xed, 0x9f, 0x84, 0xa1, 0x14, 0xa5, 0xfd, 0xc7, 0x02, 0x94, 0xb6, 0x96, 0x96,
+ 0x4f, 0xdd, 0x07, 0x48, 0x3a, 0x50, 0xed, 0x88, 0x5b, 0xc1, 0x72, 0xa7, 0xca, 0x90, 0xb7, 0x8b,
+ 0x09, 0xb3, 0x4f, 0x3e, 0xa0, 0xe2, 0xae, 0x1d, 0xc0, 0xc4, 0xd6, 0x92, 0x5c, 0xd2, 0x9f, 0xb2,
+ 0x9f, 0xf3, 0x27, 0x21, 0xb4, 0xb6, 0x4f, 0x5f, 0xf8, 0xb7, 0x0a, 0x90, 0x5c, 0x60, 0x9c, 0x7e,
+ 0x15, 0x7e, 0xaf, 0x00, 0xa9, 0x84, 0x67, 0xe4, 0x05, 0x79, 0xcb, 0x4a, 0xf2, 0xd4, 0xbe, 0xba,
+ 0x65, 0x85, 0x24, 0xa9, 0x63, 0xb7, 0xad, 0xbc, 0x57, 0x80, 0x29, 0x2f, 0x1e, 0x1f, 0x27, 0x87,
+ 0x8c, 0x1c, 0x51, 0xbf, 0x59, 0xd1, 0x76, 0xf2, 0xb8, 0x46, 0x1c, 0x85, 0x49, 0xb9, 0xda, 0x3f,
+ 0x2b, 0xc2, 0xc4, 0xa9, 0x65, 0xab, 0xa5, 0x89, 0x5d, 0xf7, 0xc5, 0x9c, 0x23, 0xc2, 0xd0, 0xcd,
+ 0xf6, 0x6e, 0x6a, 0xb3, 0xfd, 0x5a, 0x5e, 0x41, 0x0f, 0xdf, 0x63, 0xff, 0x57, 0x05, 0x90, 0xe3,
+ 0xd1, 0x8a, 0xe3, 0x07, 0xba, 0x63, 0x50, 0x62, 0x84, 0x83, 0x5f, 0xde, 0x9d, 0x57, 0x99, 0x75,
+ 0x41, 0xcc, 0x77, 0xfc, 0xbf, 0x1a, 0xec, 0xc8, 0xb3, 0x50, 0xdb, 0x75, 0xfd, 0xc0, 0x89, 0x2c,
+ 0xf7, 0xd0, 0x43, 0x7d, 0x43, 0xc2, 0x31, 0xa4, 0x20, 0x9f, 0x81, 0xaa, 0xdc, 0xd0, 0x91, 0xa1,
+ 0x46, 0xa1, 0x03, 0x5e, 0xee, 0xf8, 0xa0, 0xc2, 0x6b, 0x5f, 0x83, 0x99, 0x74, 0xca, 0xdd, 0xeb,
+ 0x99, 0x29, 0x77, 0x3f, 0x39, 0x24, 0xe5, 0x6e, 0x63, 0x78, 0xba, 0xdd, 0xbf, 0x53, 0x82, 0xc9,
+ 0x0f, 0x4d, 0xaa, 0xdd, 0x8c, 0x3c, 0x2f, 0xa5, 0x9c, 0x79, 0x5e, 0xca, 0x27, 0xca, 0xf3, 0x72,
+ 0xea, 0x49, 0x58, 0x7e, 0x50, 0x00, 0x38, 0xb5, 0x3c, 0xbf, 0x66, 0x32, 0x4c, 0x24, 0x77, 0x27,
+ 0xc9, 0x8e, 0x0e, 0xf9, 0xfb, 0x35, 0xf5, 0x4a, 0x7c, 0xcf, 0xfd, 0xbd, 0x02, 0x4c, 0xeb, 0x89,
+ 0x94, 0x26, 0xb9, 0x0d, 0xc4, 0x54, 0x86, 0x94, 0xf0, 0x68, 0x7a, 0x12, 0x8e, 0x29, 0xb1, 0xfc,
+ 0x60, 0xac, 0x0c, 0x88, 0x88, 0xad, 0xbe, 0x07, 0x2e, 0x3d, 0x95, 0x07, 0x63, 0x63, 0x4f, 0xef,
+ 0x93, 0x42, 0xa6, 0x34, 0x96, 0x14, 0x32, 0xf1, 0xed, 0xe1, 0xf2, 0x43, 0xb7, 0x87, 0xf7, 0xa1,
+ 0xbe, 0xe3, 0xb9, 0x5d, 0x9e, 0xa5, 0x85, 0xdf, 0xe6, 0x92, 0x67, 0xc4, 0x5d, 0x74, 0xbb, 0xdb,
+ 0x96, 0x43, 0x4d, 0x9e, 0x01, 0x26, 0xf4, 0x44, 0x2c, 0x2b, 0xfe, 0x18, 0x89, 0xe2, 0xfb, 0x84,
+ 0xae, 0x90, 0x3a, 0x31, 0x4e, 0xa9, 0xe1, 0xc0, 0xb8, 0x29, 0xb8, 0xa3, 0x12, 0x93, 0xcc, 0xcc,
+ 0x52, 0x3d, 0xa5, 0xcc, 0x2c, 0x07, 0xf1, 0x84, 0x37, 0xb5, 0x9c, 0xee, 0xcc, 0x13, 0x25, 0x50,
+ 0xfd, 0xd3, 0x9a, 0x2b, 0xe5, 0xe7, 0xab, 0x6a, 0x8e, 0x7a, 0xec, 0xae, 0x22, 0xfc, 0x28, 0x5f,
+ 0x6c, 0x87, 0x0e, 0x24, 0x73, 0xad, 0x9d, 0x62, 0x32, 0xd7, 0xfa, 0x78, 0x92, 0xb9, 0x42, 0xbe,
+ 0x64, 0xae, 0x8d, 0x31, 0x25, 0x73, 0x9d, 0x1c, 0x57, 0x32, 0xd7, 0xa9, 0x91, 0x92, 0xb9, 0x4e,
+ 0x1f, 0x2b, 0x99, 0xeb, 0x61, 0x09, 0x52, 0xeb, 0xfd, 0x8f, 0xc2, 0x24, 0xfe, 0x44, 0x85, 0x49,
+ 0x7c, 0xbb, 0x08, 0xd1, 0xd4, 0x77, 0xc2, 0x83, 0x15, 0x6f, 0xf0, 0xb4, 0x16, 0xe2, 0xfa, 0xe8,
+ 0xd1, 0x96, 0x00, 0x93, 0x32, 0x05, 0x86, 0xb8, 0x37, 0x3a, 0xe4, 0x46, 0x7c, 0x00, 0x2b, 0xbc,
+ 0xd3, 0x3b, 0xf7, 0xe6, 0x6f, 0x74, 0x3d, 0xb8, 0xf0, 0xc3, 0x46, 0xcf, 0x18, 0x13, 0xa3, 0x7d,
+ 0xbf, 0x04, 0xf2, 0xf2, 0x77, 0x42, 0xa1, 0xb2, 0x63, 0x45, 0x87, 0xe5, 0x47, 0xf7, 0x26, 0x2e,
+ 0x33, 0x2e, 0xf2, 0x86, 0x79, 0xbe, 0xbb, 0xcd, 0x01, 0x28, 0xb8, 0xf3, 0x6d, 0x4b, 0x11, 0xad,
+ 0x20, 0xdb, 0x2f, 0xc7, 0xb6, 0x65, 0x3c, 0xea, 0x41, 0x6e, 0x5b, 0x0a, 0x10, 0x2a, 0x19, 0x62,
+ 0x97, 0x54, 0x5c, 0xb7, 0x5d, 0xca, 0xbd, 0x4b, 0x1a, 0x0b, 0xba, 0x53, 0xbb, 0xa4, 0xe2, 0xb2,
+ 0x6d, 0x25, 0x83, 0xbc, 0x0b, 0x0d, 0xdd, 0x30, 0xfa, 0xdd, 0xbe, 0xcd, 0xbd, 0xce, 0x79, 0x6f,
+ 0x5e, 0x6d, 0x46, 0xbc, 0xa4, 0x58, 0xbe, 0x80, 0x8c, 0x81, 0x31, 0x2e, 0xaf, 0xf5, 0xf5, 0xef,
+ 0xfd, 0xe8, 0xf2, 0xc7, 0x7e, 0xf0, 0xa3, 0xcb, 0x1f, 0xfb, 0xe1, 0x8f, 0x2e, 0x7f, 0xec, 0x5b,
+ 0x47, 0x97, 0x0b, 0xdf, 0x3b, 0xba, 0x5c, 0xf8, 0xc1, 0xd1, 0xe5, 0xc2, 0x0f, 0x8f, 0x2e, 0x17,
+ 0xfe, 0xd3, 0xd1, 0xe5, 0xc2, 0x5f, 0xfb, 0xcf, 0x97, 0x3f, 0xf6, 0xb5, 0x2f, 0x44, 0xd5, 0x59,
+ 0x50, 0xd5, 0x59, 0x50, 0xc2, 0x17, 0x7a, 0x7b, 0x9d, 0x05, 0x56, 0x9d, 0x08, 0xa2, 0xaa, 0xf3,
+ 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x25, 0x81, 0xf2, 0xcd, 0xd1, 0xb8, 0x00, 0x00,
}
func (m *AWSAssumeRole) Marshal() (dAtA []byte, err error) {
@@ -4716,6 +4811,29 @@ func (m *AccumulatorWindow) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *AtLeastOnce) 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 *AtLeastOnce) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *AtLeastOnce) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ return len(dAtA) - i, nil
+}
+
func (m *Authorization) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -5344,6 +5462,53 @@ func (m *DaemonTemplate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *Delivery) 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 *Delivery) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *Delivery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.AtLeastOnce != nil {
+ {
+ size, err := m.AtLeastOnce.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ if m.ExactlyOnce != nil {
+ {
+ size, err := m.ExactlyOnce.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 *Edge) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -5396,6 +5561,49 @@ func (m *Edge) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *ExactlyOnce) 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 *ExactlyOnce) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ExactlyOnce) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.DedupWindow != nil {
+ {
+ size, err := m.DedupWindow.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x12
+ }
+ i--
+ if m.ConsistentAck {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x8
+ return len(dAtA) - i, nil
+}
+
func (m *FixedWindow) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -8102,6 +8310,18 @@ func (m *PipelineSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Delivery != nil {
+ {
+ size, err := m.Delivery.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x52
+ }
if m.InterStepBuffer != nil {
{
size, err := m.InterStepBuffer.MarshalToSizedBuffer(dAtA[:i])
@@ -11123,6 +11343,18 @@ func (m *VertexSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Delivery != nil {
+ {
+ size, err := m.Delivery.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x52
+ }
if m.InterStepBuffer != nil {
{
size, err := m.InterStepBuffer.MarshalToSizedBuffer(dAtA[:i])
@@ -11717,6 +11949,15 @@ func (m *AccumulatorWindow) Size() (n int) {
return n
}
+func (m *AtLeastOnce) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ return n
+}
+
func (m *Authorization) Size() (n int) {
if m == nil {
return 0
@@ -11959,6 +12200,23 @@ func (m *DaemonTemplate) Size() (n int) {
return n
}
+func (m *Delivery) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.ExactlyOnce != nil {
+ l = m.ExactlyOnce.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if m.AtLeastOnce != nil {
+ l = m.AtLeastOnce.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
func (m *Edge) Size() (n int) {
if m == nil {
return 0
@@ -11980,6 +12238,20 @@ func (m *Edge) Size() (n int) {
return n
}
+func (m *ExactlyOnce) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ n += 2
+ if m.DedupWindow != nil {
+ l = m.DedupWindow.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ return n
+}
+
func (m *FixedWindow) Size() (n int) {
if m == nil {
return 0
@@ -12994,6 +13266,10 @@ func (m *PipelineSpec) Size() (n int) {
l = m.InterStepBuffer.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Delivery != nil {
+ l = m.Delivery.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -14124,6 +14400,10 @@ func (m *VertexSpec) Size() (n int) {
l = m.InterStepBuffer.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.Delivery != nil {
+ l = m.Delivery.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -14355,6 +14635,15 @@ func (this *AccumulatorWindow) String() string {
}, "")
return s
}
+func (this *AtLeastOnce) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&AtLeastOnce{`,
+ `}`,
+ }, "")
+ return s
+}
func (this *Authorization) String() string {
if this == nil {
return "nil"
@@ -14515,6 +14804,17 @@ func (this *DaemonTemplate) String() string {
}, "")
return s
}
+func (this *Delivery) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&Delivery{`,
+ `ExactlyOnce:` + strings.Replace(this.ExactlyOnce.String(), "ExactlyOnce", "ExactlyOnce", 1) + `,`,
+ `AtLeastOnce:` + strings.Replace(this.AtLeastOnce.String(), "AtLeastOnce", "AtLeastOnce", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *Edge) String() string {
if this == nil {
return "nil"
@@ -14528,6 +14828,17 @@ func (this *Edge) String() string {
}, "")
return s
}
+func (this *ExactlyOnce) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ExactlyOnce{`,
+ `ConsistentAck:` + fmt.Sprintf("%v", this.ConsistentAck) + `,`,
+ `DedupWindow:` + strings.Replace(fmt.Sprintf("%v", this.DedupWindow), "Duration", "v11.Duration", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *FixedWindow) String() string {
if this == nil {
return "nil"
@@ -15243,6 +15554,7 @@ func (this *PipelineSpec) String() string {
`Templates:` + strings.Replace(this.Templates.String(), "Templates", "Templates", 1) + `,`,
`SideInputs:` + repeatedStringForSideInputs + `,`,
`InterStepBuffer:` + strings.Replace(this.InterStepBuffer.String(), "InterStepBuffer", "InterStepBuffer", 1) + `,`,
+ `Delivery:` + strings.Replace(this.Delivery.String(), "Delivery", "Delivery", 1) + `,`,
`}`,
}, "")
return s
@@ -15970,6 +16282,7 @@ func (this *VertexSpec) String() string {
`Watermark:` + strings.Replace(strings.Replace(this.Watermark.String(), "Watermark", "Watermark", 1), `&`, ``, 1) + `,`,
`Lifecycle:` + strings.Replace(strings.Replace(this.Lifecycle.String(), "VertexLifecycle", "VertexLifecycle", 1), `&`, ``, 1) + `,`,
`InterStepBuffer:` + strings.Replace(this.InterStepBuffer.String(), "InterStepBuffer", "InterStepBuffer", 1) + `,`,
+ `Delivery:` + strings.Replace(this.Delivery.String(), "Delivery", "Delivery", 1) + `,`,
`}`,
}, "")
return s
@@ -17843,6 +18156,56 @@ func (m *AccumulatorWindow) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *AtLeastOnce) 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: AtLeastOnce: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: AtLeastOnce: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ 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 *Authorization) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -19616,6 +19979,128 @@ func (m *DaemonTemplate) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *Delivery) 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: Delivery: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Delivery: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ExactlyOnce", 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.ExactlyOnce == nil {
+ m.ExactlyOnce = &ExactlyOnce{}
+ }
+ if err := m.ExactlyOnce.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AtLeastOnce", 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.AtLeastOnce == nil {
+ m.AtLeastOnce = &AtLeastOnce{}
+ }
+ if err := m.AtLeastOnce.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 *Edge) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -19799,6 +20284,112 @@ func (m *Edge) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *ExactlyOnce) 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: ExactlyOnce: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ExactlyOnce: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ConsistentAck", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ConsistentAck = bool(v != 0)
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DedupWindow", 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.DedupWindow == nil {
+ m.DedupWindow = &v11.Duration{}
+ }
+ if err := m.DedupWindow.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 *FixedWindow) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -28827,6 +29418,42 @@ func (m *PipelineSpec) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 10:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Delivery", 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.Delivery == nil {
+ m.Delivery = &Delivery{}
+ }
+ if err := m.Delivery.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -37552,6 +38179,42 @@ func (m *VertexSpec) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 10:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Delivery", 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.Delivery == nil {
+ m.Delivery = &Delivery{}
+ }
+ if err := m.Delivery.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/pkg/apis/numaflow/v1alpha1/generated.proto b/pkg/apis/numaflow/v1alpha1/generated.proto
index d8c5395619..b272baec41 100644
--- a/pkg/apis/numaflow/v1alpha1/generated.proto
+++ b/pkg/apis/numaflow/v1alpha1/generated.proto
@@ -271,6 +271,10 @@ message AccumulatorWindow {
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Duration timeout = 1;
}
+// AtLeastOnce is the at-least-once delivery settings (default behavior).
+message AtLeastOnce {
+}
+
message Authorization {
// A secret selector which contains bearer token
// To use this, the client needs to add "Authorization: Bearer " in the header
@@ -450,6 +454,17 @@ message DaemonTemplate {
optional ContainerTemplate initContainerTemplate = 4;
}
+// Delivery is the delivery semantics for the pipeline.
+message Delivery {
+ // ExactlyOnce enables exactly-once processing semantics.
+ // +optional
+ optional ExactlyOnce exactlyOnce = 1;
+
+ // AtLeastOnce enables at-least-once processing semantics (default behavior).
+ // +optional
+ optional AtLeastOnce atLeastOnce = 2;
+}
+
message Edge {
optional string from = 1;
@@ -467,6 +482,18 @@ message Edge {
optional string onFull = 4;
}
+// ExactlyOnce is the exactly-once delivery settings.
+message ExactlyOnce {
+ // ConsistentAck enables consistent acknowledgement of offsets to ISB throughout the pipeline.
+ // +kubebuilder:default=false
+ optional bool consistentAck = 1;
+
+ // DedupWindow is the duration for which the deduplication will be enabled.
+ // +optional
+ // +kubebuilder:default="2m"
+ optional .k8s.io.apimachinery.pkg.apis.meta.v1.Duration dedupWindow = 2;
+}
+
// FixedWindow describes a fixed window
message FixedWindow {
// Length is the duration of the fixed window.
@@ -1307,6 +1334,10 @@ message PipelineSpec {
// InterStepBuffer configuration specific to this pipeline.
// +optional
optional InterStepBuffer interStepBuffer = 9;
+
+ // Delivery is the delivery semantics for the pipeline.
+ // +optional
+ optional Delivery delivery = 10;
}
message PipelineStatus {
@@ -2241,6 +2272,10 @@ message VertexSpec {
// InterStepBuffer configuration specific to this pipeline.
// +optional
optional InterStepBuffer interStepBuffer = 9;
+
+ // Delivery indicates the delivery semantics for the vertex, it's populated from the pipeline delivery settings.
+ // +optional
+ optional Delivery delivery = 10;
}
message VertexStatus {
diff --git a/pkg/apis/numaflow/v1alpha1/pipeline_types.go b/pkg/apis/numaflow/v1alpha1/pipeline_types.go
index a1f6da0781..ef89b6ade9 100644
--- a/pkg/apis/numaflow/v1alpha1/pipeline_types.go
+++ b/pkg/apis/numaflow/v1alpha1/pipeline_types.go
@@ -113,7 +113,7 @@ func (p Pipeline) GetVertex(vertexName string) *AbstractVertex {
// ListAllEdges returns a copy of all the edges.
func (p Pipeline) ListAllEdges() []Edge {
- edges := []Edge{}
+ var edges []Edge
for _, e := range p.Spec.Edges {
edgeCopy := e.DeepCopy()
edges = append(edges, *edgeCopy)
@@ -511,6 +511,9 @@ type PipelineSpec struct {
// InterStepBuffer configuration specific to this pipeline.
// +optional
InterStepBuffer *InterStepBuffer `json:"interStepBuffer,omitempty" protobuf:"bytes,9,opt,name=interStepBuffer"`
+ // Delivery is the delivery semantics for the pipeline.
+ // +optional
+ Delivery *Delivery `json:"delivery,omitempty" protobuf:"bytes,10,opt,name=delivery"`
}
// InterStepBuffer configuration specifically for the pipeline.
@@ -520,6 +523,43 @@ type InterStepBuffer struct {
Compression *Compression `json:"compression,omitempty" protobuf:"bytes,2,opt,name=compression"`
}
+// Delivery is the delivery semantics for the pipeline.
+type Delivery struct {
+ // ExactlyOnce enables exactly-once processing semantics.
+ // +optional
+ ExactlyOnce *ExactlyOnce `json:"exactlyOnce,omitempty" protobuf:"bytes,1,opt,name=exactlyOnce"`
+ // AtLeastOnce enables at-least-once processing semantics (default behavior).
+ // +optional
+ AtLeastOnce *AtLeastOnce `json:"atLeastOnce,omitempty" protobuf:"bytes,2,opt,name=atLeastOnce"`
+}
+
+// IsExactlyOnce returns true if exactly-once delivery is enabled.
+func (d *Delivery) IsExactlyOnce() bool {
+ return d != nil && d.ExactlyOnce != nil
+}
+
+// GetDedupWindow returns the dedup window duration string, defaulting to "2m" if not set.
+func (d *Delivery) GetDedupWindow() string {
+ if d != nil && d.ExactlyOnce != nil && d.ExactlyOnce.DedupWindow != nil {
+ return d.ExactlyOnce.DedupWindow.Duration.String()
+ }
+ return "2m"
+}
+
+// ExactlyOnce is the exactly-once delivery settings.
+type ExactlyOnce struct {
+ // ConsistentAck enables consistent acknowledgement of offsets to ISB throughout the pipeline.
+ // +kubebuilder:default=false
+ ConsistentAck bool `json:"consistentAck,omitempty" protobuf:"bytes,1,opt,name=consistentAck"`
+ // DedupWindow is the duration for which the deduplication will be enabled.
+ // +optional
+ // +kubebuilder:default="2m"
+ DedupWindow *metav1.Duration `json:"dedupWindow,omitempty" protobuf:"bytes,2,opt,name=dedupWindow"`
+}
+
+// AtLeastOnce is the at-least-once delivery settings (default behavior).
+type AtLeastOnce struct{}
+
// Compression is the compression settings for the messages in the InterStepBuffer
type Compression struct {
// Type is the type of compression to be used
diff --git a/pkg/apis/numaflow/v1alpha1/vertex_types.go b/pkg/apis/numaflow/v1alpha1/vertex_types.go
index 70da0def52..c0dc454967 100644
--- a/pkg/apis/numaflow/v1alpha1/vertex_types.go
+++ b/pkg/apis/numaflow/v1alpha1/vertex_types.go
@@ -557,6 +557,9 @@ type VertexSpec struct {
// InterStepBuffer configuration specific to this pipeline.
// +optional
InterStepBuffer *InterStepBuffer `json:"interStepBuffer,omitempty" protobuf:"bytes,9,opt,name=interStepBuffer"`
+ // Delivery indicates the delivery semantics for the vertex, it's populated from the pipeline delivery settings.
+ // +optional
+ Delivery *Delivery `json:"delivery,omitempty" protobuf:"bytes,10,opt,name=delivery"`
}
type AbstractVertex struct {
diff --git a/pkg/apis/numaflow/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/numaflow/v1alpha1/zz_generated.deepcopy.go
index 766f4677af..0c458b07cb 100644
--- a/pkg/apis/numaflow/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/numaflow/v1alpha1/zz_generated.deepcopy.go
@@ -303,6 +303,22 @@ func (in *AccumulatorWindow) DeepCopy() *AccumulatorWindow {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AtLeastOnce) DeepCopyInto(out *AtLeastOnce) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AtLeastOnce.
+func (in *AtLeastOnce) DeepCopy() *AtLeastOnce {
+ if in == nil {
+ return nil
+ }
+ out := new(AtLeastOnce)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Authorization) DeepCopyInto(out *Authorization) {
*out = *in
@@ -632,6 +648,32 @@ func (in *DaemonTemplate) DeepCopy() *DaemonTemplate {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *Delivery) DeepCopyInto(out *Delivery) {
+ *out = *in
+ if in.ExactlyOnce != nil {
+ in, out := &in.ExactlyOnce, &out.ExactlyOnce
+ *out = new(ExactlyOnce)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.AtLeastOnce != nil {
+ in, out := &in.AtLeastOnce, &out.AtLeastOnce
+ *out = new(AtLeastOnce)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Delivery.
+func (in *Delivery) DeepCopy() *Delivery {
+ if in == nil {
+ return nil
+ }
+ out := new(Delivery)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Edge) DeepCopyInto(out *Edge) {
*out = *in
@@ -658,6 +700,27 @@ func (in *Edge) DeepCopy() *Edge {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ExactlyOnce) DeepCopyInto(out *ExactlyOnce) {
+ *out = *in
+ if in.DedupWindow != nil {
+ in, out := &in.DedupWindow, &out.DedupWindow
+ *out = new(metav1.Duration)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExactlyOnce.
+func (in *ExactlyOnce) DeepCopy() *ExactlyOnce {
+ if in == nil {
+ return nil
+ }
+ out := new(ExactlyOnce)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FixedWindow) DeepCopyInto(out *FixedWindow) {
*out = *in
@@ -1947,6 +2010,11 @@ func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec) {
*out = new(InterStepBuffer)
(*in).DeepCopyInto(*out)
}
+ if in.Delivery != nil {
+ in, out := &in.Delivery, &out.Delivery
+ *out = new(Delivery)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -3587,6 +3655,11 @@ func (in *VertexSpec) DeepCopyInto(out *VertexSpec) {
*out = new(InterStepBuffer)
(*in).DeepCopyInto(*out)
}
+ if in.Delivery != nil {
+ in, out := &in.Delivery, &out.Delivery
+ *out = new(Delivery)
+ (*in).DeepCopyInto(*out)
+ }
return
}
diff --git a/pkg/apis/numaflow/v1alpha1/zz_generated.openapi.go b/pkg/apis/numaflow/v1alpha1/zz_generated.openapi.go
index 26dc909721..aa27fdbbd4 100644
--- a/pkg/apis/numaflow/v1alpha1/zz_generated.openapi.go
+++ b/pkg/apis/numaflow/v1alpha1/zz_generated.openapi.go
@@ -33,6 +33,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AbstractSink": schema_pkg_apis_numaflow_v1alpha1_AbstractSink(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AbstractVertex": schema_pkg_apis_numaflow_v1alpha1_AbstractVertex(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AccumulatorWindow": schema_pkg_apis_numaflow_v1alpha1_AccumulatorWindow(ref),
+ "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AtLeastOnce": schema_pkg_apis_numaflow_v1alpha1_AtLeastOnce(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Authorization": schema_pkg_apis_numaflow_v1alpha1_Authorization(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Backoff": schema_pkg_apis_numaflow_v1alpha1_Backoff(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.BasicAuth": schema_pkg_apis_numaflow_v1alpha1_BasicAuth(ref),
@@ -43,7 +44,9 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Container": schema_pkg_apis_numaflow_v1alpha1_Container(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ContainerTemplate": schema_pkg_apis_numaflow_v1alpha1_ContainerTemplate(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.DaemonTemplate": schema_pkg_apis_numaflow_v1alpha1_DaemonTemplate(ref),
+ "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Delivery": schema_pkg_apis_numaflow_v1alpha1_Delivery(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Edge": schema_pkg_apis_numaflow_v1alpha1_Edge(ref),
+ "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ExactlyOnce": schema_pkg_apis_numaflow_v1alpha1_ExactlyOnce(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.FixedWindow": schema_pkg_apis_numaflow_v1alpha1_FixedWindow(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ForwardConditions": schema_pkg_apis_numaflow_v1alpha1_ForwardConditions(ref),
"github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.GSSAPI": schema_pkg_apis_numaflow_v1alpha1_GSSAPI(ref),
@@ -726,6 +729,17 @@ func schema_pkg_apis_numaflow_v1alpha1_AccumulatorWindow(ref common.ReferenceCal
}
}
+func schema_pkg_apis_numaflow_v1alpha1_AtLeastOnce(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "AtLeastOnce is the at-least-once delivery settings (default behavior).",
+ Type: []string{"object"},
+ },
+ },
+ }
+}
+
func schema_pkg_apis_numaflow_v1alpha1_Authorization(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
@@ -1329,6 +1343,33 @@ func schema_pkg_apis_numaflow_v1alpha1_DaemonTemplate(ref common.ReferenceCallba
}
}
+func schema_pkg_apis_numaflow_v1alpha1_Delivery(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "Delivery is the delivery semantics for the pipeline.",
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "exactlyOnce": {
+ SchemaProps: spec.SchemaProps{
+ Description: "ExactlyOnce enables exactly-once processing semantics.",
+ Ref: ref("github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ExactlyOnce"),
+ },
+ },
+ "atLeastOnce": {
+ SchemaProps: spec.SchemaProps{
+ Description: "AtLeastOnce enables at-least-once processing semantics (default behavior).",
+ Ref: ref("github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AtLeastOnce"),
+ },
+ },
+ },
+ },
+ },
+ Dependencies: []string{
+ "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AtLeastOnce", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ExactlyOnce"},
+ }
+}
+
func schema_pkg_apis_numaflow_v1alpha1_Edge(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
@@ -1371,6 +1412,34 @@ func schema_pkg_apis_numaflow_v1alpha1_Edge(ref common.ReferenceCallback) common
}
}
+func schema_pkg_apis_numaflow_v1alpha1_ExactlyOnce(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "ExactlyOnce is the exactly-once delivery settings.",
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "consistentAck": {
+ SchemaProps: spec.SchemaProps{
+ Description: "ConsistentAck enables consistent acknowledgement of offsets to ISB throughout the pipeline.",
+ Type: []string{"boolean"},
+ Format: "",
+ },
+ },
+ "dedupWindow": {
+ SchemaProps: spec.SchemaProps{
+ Description: "DedupWindow is the duration for which the deduplication will be enabled.",
+ Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
+ },
+ },
+ },
+ },
+ },
+ Dependencies: []string{
+ "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"},
+ }
+}
+
func schema_pkg_apis_numaflow_v1alpha1_FixedWindow(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
@@ -4024,11 +4093,17 @@ func schema_pkg_apis_numaflow_v1alpha1_PipelineSpec(ref common.ReferenceCallback
Ref: ref("github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.InterStepBuffer"),
},
},
+ "delivery": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Delivery is the delivery semantics for the pipeline.",
+ Ref: ref("github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Delivery"),
+ },
+ },
},
},
},
Dependencies: []string{
- "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AbstractVertex", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Edge", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.InterStepBuffer", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Lifecycle", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.PipelineLimits", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.SideInput", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Templates", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Watermark"},
+ "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.AbstractVertex", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Delivery", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Edge", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.InterStepBuffer", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Lifecycle", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.PipelineLimits", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.SideInput", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Templates", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Watermark"},
}
}
@@ -6757,12 +6832,18 @@ func schema_pkg_apis_numaflow_v1alpha1_VertexSpec(ref common.ReferenceCallback)
Ref: ref("github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.InterStepBuffer"),
},
},
+ "delivery": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Delivery indicates the delivery semantics for the vertex, it's populated from the pipeline delivery settings.",
+ Ref: ref("github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Delivery"),
+ },
+ },
},
Required: []string{"name", "pipelineName"},
},
},
Dependencies: []string{
- "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.CombinedEdge", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ContainerTemplate", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.InterStepBuffer", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Metadata", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Scale", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Sink", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Source", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.UDF", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.UpdateStrategy", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.VertexLifecycle", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.VertexLimits", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Watermark", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.Volume"},
+ "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.CombinedEdge", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.ContainerTemplate", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Delivery", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.InterStepBuffer", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Metadata", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Scale", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Sink", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Source", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.UDF", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.UpdateStrategy", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.VertexLifecycle", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.VertexLimits", "github.com/numaproj/numaflow/pkg/apis/numaflow/v1alpha1.Watermark", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.Volume"},
}
}
diff --git a/pkg/isbsvc/interface.go b/pkg/isbsvc/interface.go
index 1b58621318..b2ecbadf31 100644
--- a/pkg/isbsvc/interface.go
+++ b/pkg/isbsvc/interface.go
@@ -19,6 +19,7 @@ package isbsvc
import (
"context"
"fmt"
+ "time"
)
// ISBService is an interface used to do the operations on ISBSvc
@@ -37,6 +38,9 @@ type ISBService interface {
type createOptions struct {
// config is configuration for the to be created buffers and buckets
config string
+ // dedupWindow is the duration for deduplication window when exactly-once is enabled
+ // If nil, deduplication is disabled
+ dedupWindow *time.Duration
}
type CreateOption func(*createOptions) error
@@ -49,6 +53,14 @@ func WithConfig(conf string) CreateOption {
}
}
+// WithDedupWindow sets the deduplication window duration for exactly-once processing
+func WithDedupWindow(d time.Duration) CreateOption {
+ return func(o *createOptions) error {
+ o.dedupWindow = &d
+ return nil
+ }
+}
+
// BufferInfo wraps the buffer state information
type BufferInfo struct {
Name string
diff --git a/pkg/isbsvc/jetstream_service.go b/pkg/isbsvc/jetstream_service.go
index 3cc781c5ad..8b996cb3e2 100644
--- a/pkg/isbsvc/jetstream_service.go
+++ b/pkg/isbsvc/jetstream_service.go
@@ -175,18 +175,25 @@ func (jss *jetStreamSvc) CreateBuffersAndBuckets(ctx context.Context, buffers, b
discard = nats.DiscardOld
}
- if _, err := jss.js.AddStream(&nats.StreamConfig{
- Name: streamName,
- Subjects: []string{streamName}, // Use the stream name as the only subject
- Retention: retention,
- Discard: discard,
- MaxMsgs: v.GetInt64("stream.maxMsgs"),
- MaxAge: v.GetDuration("stream.maxAge"),
- MaxBytes: v.GetInt64("stream.maxBytes"),
- Storage: nats.StorageType(v.GetInt("stream.storage")),
- Replicas: v.GetInt("stream.replicas"),
- Duplicates: v.GetDuration("stream.duplicates"), // No duplication in this period
- }); err != nil {
+ streamConfig := &nats.StreamConfig{
+ Name: streamName,
+ Subjects: []string{streamName}, // Use the stream name as the only subject
+ Retention: retention,
+ Discard: discard,
+ MaxMsgs: v.GetInt64("stream.maxMsgs"),
+ MaxAge: v.GetDuration("stream.maxAge"),
+ MaxBytes: v.GetInt64("stream.maxBytes"),
+ Storage: nats.StorageType(v.GetInt("stream.storage")),
+ Replicas: v.GetInt("stream.replicas"),
+ }
+ // Only set Duplicates window when exactly-once is enabled
+ if creatOpts.dedupWindow != nil {
+ streamConfig.Duplicates = *creatOpts.dedupWindow
+ } else {
+ streamConfig.Duplicates = 0
+ }
+
+ if _, err := jss.js.AddStream(streamConfig); err != nil {
return fmt.Errorf("failed to create stream %q and buffers, %w", streamName, err)
}
log.Infow("Succeeded to create a stream", zap.String("stream", streamName))
diff --git a/pkg/reconciler/pipeline/controller.go b/pkg/reconciler/pipeline/controller.go
index 310b009e97..d63a6a54bb 100644
--- a/pkg/reconciler/pipeline/controller.go
+++ b/pkg/reconciler/pipeline/controller.go
@@ -329,6 +329,10 @@ func (r *pipelineReconciler) reconcileFixedResources(ctx context.Context, pl *df
}
args := []string{fmt.Sprintf("--buffers=%s", strings.Join(bfs, ",")), fmt.Sprintf("--buckets=%s", strings.Join(bks, ","))}
args = append(args, fmt.Sprintf("--side-inputs-store=%s", pl.GetSideInputsStoreName()))
+ // Add dedup window when exactly-once is enabled
+ if pl.Spec.Delivery.IsExactlyOnce() {
+ args = append(args, fmt.Sprintf("--dedup-window=%s", pl.Spec.Delivery.GetDedupWindow()))
+ }
batchJob := buildISBBatchJob(pl, r.image, isbSvc.Status.Config, "isbsvc-create", args, "cre")
if err := r.client.Create(ctx, batchJob); err != nil && !apierrors.IsAlreadyExists(err) {
r.recorder.Eventf(pl, corev1.EventTypeWarning, "CreateJobForISBCreationFailed", "Failed to create a Job: %w", err.Error())
@@ -685,6 +689,7 @@ func buildVertices(pl *dfv1.Pipeline) map[string]dfv1.Vertex {
DesiredPhase: dfv1.VertexPhase(pl.GetDesiredPhase()),
},
InterStepBuffer: pl.Spec.InterStepBuffer,
+ Delivery: pl.Spec.Delivery,
}
hash := sharedutil.MustHash(spec.DeepCopyWithoutReplicasAndLifecycle())
obj := dfv1.Vertex{
diff --git a/rust/numaflow-core/src/config/pipeline.rs b/rust/numaflow-core/src/config/pipeline.rs
index 85f964adce..11dffcbb24 100644
--- a/rust/numaflow-core/src/config/pipeline.rs
+++ b/rust/numaflow-core/src/config/pipeline.rs
@@ -634,8 +634,26 @@ impl PipelineConfig {
});
}
+ // Parse exactly_once from the delivery settings
+ // If delivery.exactly_once is Some, exactly-once is enabled
+ // double_ack is used only when exactly_once is set AND consistent_ack is true
+ let exactly_once = vertex_obj
+ .spec
+ .delivery
+ .as_ref()
+ .and_then(|d| d.exactly_once.as_ref())
+ .map(|eo| isb::ExactlyOnceConfig {
+ // Default to false if not specified
+ consistent_ack: eo.consistent_ack.unwrap_or(false),
+ });
+
let isb_config: Option = match vertex_obj.spec.inter_step_buffer.as_ref() {
- None => None,
+ None => Some(isb::ISBConfig {
+ compression: isb::Compression {
+ compress_type: isb::CompressionType::None,
+ },
+ exactly_once,
+ }),
Some(isb_spec) => {
let compress_type = match isb_spec.compression.as_ref() {
None => isb::CompressionType::None,
@@ -655,6 +673,7 @@ impl PipelineConfig {
};
Some(isb::ISBConfig {
compression: isb::Compression { compress_type },
+ exactly_once,
})
}
};
diff --git a/rust/numaflow-core/src/config/pipeline/isb.rs b/rust/numaflow-core/src/config/pipeline/isb.rs
index 380fb24037..71e137a117 100644
--- a/rust/numaflow-core/src/config/pipeline/isb.rs
+++ b/rust/numaflow-core/src/config/pipeline/isb.rs
@@ -198,6 +198,16 @@ mod tests {
#[derive(Debug, Clone, PartialEq)]
pub(crate) struct ISBConfig {
pub(crate) compression: Compression,
+ /// Exactly-once configuration. None means at-least-once delivery.
+ pub(crate) exactly_once: Option,
+}
+
+/// Configuration for exactly-once semantics.
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct ExactlyOnceConfig {
+ /// Whether consistent acknowledgement of offsets to ISB is enabled.
+ /// When true, double_ack is used; when false, simple ack is used.
+ pub(crate) consistent_ack: bool,
}
#[derive(Debug, Clone, PartialEq)]
diff --git a/rust/numaflow-core/src/mapper/map/user_defined.rs b/rust/numaflow-core/src/mapper/map/user_defined.rs
index c766103089..3a9a9e4397 100644
--- a/rust/numaflow-core/src/mapper/map/user_defined.rs
+++ b/rust/numaflow-core/src/mapper/map/user_defined.rs
@@ -520,9 +520,11 @@ impl UserDefinedStreamMap {
// only insert if we are able to send the message to the server
if let Err(e) = self.read_tx.send(message.into()).await {
error!(?e, "Failed to send message to server");
- let _ = respond_to.send(Err(Error::Mapper(format!(
- "failed to send message to stream map server: {e}"
- ))));
+ let _ = respond_to
+ .send(Err(Error::Mapper(format!(
+ "failed to send message to stream map server: {e}"
+ ))))
+ .await;
return;
}
diff --git a/rust/numaflow-core/src/pipeline/isb/jetstream/js_reader.rs b/rust/numaflow-core/src/pipeline/isb/jetstream/js_reader.rs
index 48e003d70e..70113a4904 100644
--- a/rust/numaflow-core/src/pipeline/isb/jetstream/js_reader.rs
+++ b/rust/numaflow-core/src/pipeline/isb/jetstream/js_reader.rs
@@ -17,7 +17,7 @@ use bytes::Bytes;
use prost::Message as ProtoMessage;
use serde_json::json;
use tokio_stream::StreamExt;
-use tracing::warn;
+use tracing::{info, warn};
/// JSWrappedMessage is a wrapper around the JetStream message that includes the
/// partition index and the vertex name.
@@ -108,6 +108,8 @@ pub(crate) struct JetStreamReader {
offset2jsmsg: Arc>>,
/// interval at which we should send wip ack to avoid redelivery.
wip_ack_interval: Duration,
+ /// whether to use double_ack (exactly-once with consistent_ack) or simple ack
+ use_double_ack: bool,
}
impl JetStreamReader {
@@ -127,13 +129,29 @@ impl JetStreamReader {
.map_err(|e| Error::ISB(format!("Failed to get consumer info {e}")))?;
let ack_wait_seconds = consumer_info.config.ack_wait.as_secs();
+ let (compression_type, use_double_ack) = match isb_config {
+ Some(config) => {
+ let compression = Some(config.compression.compress_type);
+ // Use double_ack only when exactly_once is set AND consistent_ack is true
+ let double_ack = config
+ .exactly_once
+ .map(|eo| eo.consistent_ack)
+ .unwrap_or(false);
+ if double_ack {
+ info!("Exactly-once with consistent_ack is enabled");
+ }
+ (compression, double_ack)
+ }
+ None => (None, false),
+ };
Ok(Self {
stream,
read_consumer: Arc::new(consumer.clone()),
js_context: Arc::new(js_ctx),
- compression_type: isb_config.map(|c| c.compression.compress_type),
+ compression_type,
offset2jsmsg: Arc::new(RwLock::new(HashMap::new())),
wip_ack_interval: Duration::from_secs(ack_wait_seconds / 3), // give 2 chances
+ use_double_ack,
})
}
@@ -203,15 +221,28 @@ impl JetStreamReader {
/// Mark message as in progress by sending work in progress ack.
pub(crate) async fn mark_wip(&self, offset: &Offset) -> Result<()> {
if let Some(msg) = self.get_js_message(offset, false) {
- let _ = msg.ack_with(AckKind::Progress).await;
+ msg.ack_with(AckKind::Progress).await.map_err(|e| {
+ Error::ISB(format!(
+ "Failed to send work in progress ack to JetStream: {e}"
+ ))
+ })?;
}
Ok(())
}
- /// Acknowledge the offset
+ /// Acknowledge the offset.
+ /// Uses double_ack when exactly_once with consistent_ack is enabled, otherwise uses simple ack.
pub(crate) async fn ack(&self, offset: &Offset) -> Result<()> {
if let Some(msg) = self.get_js_message(offset, true) {
- let _ = msg.double_ack().await;
+ if self.use_double_ack {
+ msg.double_ack()
+ .await
+ .map_err(|e| Error::ISB(format!("Failed to double ack message: {e}")))?;
+ } else {
+ msg.ack()
+ .await
+ .map_err(|e| Error::ISB(format!("Failed to ack message: {e}")))?;
+ }
}
Ok(())
}
@@ -219,7 +250,9 @@ impl JetStreamReader {
/// Negatively acknowledge the offset
pub(crate) async fn nack(&self, offset: &Offset) -> Result<()> {
if let Some(msg) = self.get_js_message(offset, true) {
- let _ = msg.ack_with(AckKind::Nak(None)).await;
+ msg.ack_with(AckKind::Nak(None))
+ .await
+ .map_err(|e| Error::ISB(format!("Failed to nack message: {e}")))?;
}
Ok(())
}
@@ -310,6 +343,7 @@ mod tests {
compression: Compression {
compress_type: CompressionType::Gzip,
},
+ exactly_once: None,
};
let mut js_reader = JetStreamReader::new(stream.clone(), context.clone(), Some(isb_config))
diff --git a/rust/numaflow-core/src/pipeline/isb/reader.rs b/rust/numaflow-core/src/pipeline/isb/reader.rs
index d79538e233..52a9929a2e 100644
--- a/rust/numaflow-core/src/pipeline/isb/reader.rs
+++ b/rust/numaflow-core/src/pipeline/isb/reader.rs
@@ -186,11 +186,7 @@ impl ISBReader {
let interval = fixed::Interval::from_millis(ACK_RETRY_INTERVAL).take(ACK_RETRY_ATTEMPTS);
let _ = Retry::new(
interval,
- async || {
- jsr.ack(offset)
- .await
- .map_err(|e| Error::ISB(format!("Failed to send Ack to JetStream: {e}")))
- },
+ async || jsr.ack(offset).await,
|e: &Error| {
if cancel.is_cancelled() {
error!(
@@ -212,14 +208,7 @@ impl ISBReader {
let interval = fixed::Interval::from_millis(ACK_RETRY_INTERVAL).take(ACK_RETRY_ATTEMPTS);
let _ = Retry::new(
interval,
- async || {
- let nack_result = jsr
- .nack(offset)
- .await
- .map_err(|e| Error::ISB(format!("Failed to send Nak to JetStream: {e}")));
- info!(?offset, "Nak sent for offset");
- nack_result
- },
+ async || jsr.nack(offset).await,
|e: &Error| {
if cancel.is_cancelled() {
error!(
@@ -234,6 +223,7 @@ impl ISBReader {
},
)
.await;
+ info!(?offset, "Nak sent for offset");
}
/// Creates and writes a WMB message for reduce vertex when it is idle.
@@ -886,6 +876,7 @@ mod tests {
compression: crate::config::pipeline::isb::Compression {
compress_type: CompressionType::Gzip,
},
+ exactly_once: None,
};
let buf_reader_config = BufferReaderConfig {
diff --git a/rust/numaflow-core/src/sinker/actor.rs b/rust/numaflow-core/src/sinker/actor.rs
index 423581c1b2..29eaae110f 100644
--- a/rust/numaflow-core/src/sinker/actor.rs
+++ b/rust/numaflow-core/src/sinker/actor.rs
@@ -242,37 +242,3 @@ where
}
}
}
-
-#[cfg(test)]
-mod tests {
- use std::collections::HashMap;
- use std::ops::Deref;
- use std::ops::DerefMut;
- use std::sync::Arc;
-
- #[derive(Debug, Clone)]
- struct Inner {
- value: usize,
- map: HashMap,
- }
-
- #[derive(Debug, Clone)]
- struct Outer {
- value: Arc,
- }
-
- #[test]
- fn test_metadata_clone() {
- let inner = Inner {
- value: 42,
- map: HashMap::new(),
- };
- let mut outer = Outer {
- value: Arc::new(inner),
- };
- let cloned = Inner {
- value: outer.value.value,
- map: Arc::make_mut(&mut outer.value).map.clone(),
- };
- }
-}
diff --git a/rust/numaflow-models/hack/swaggerfilter.py b/rust/numaflow-models/hack/swaggerfilter.py
index 9ab7881664..476dc5f8d9 100755
--- a/rust/numaflow-models/hack/swaggerfilter.py
+++ b/rust/numaflow-models/hack/swaggerfilter.py
@@ -40,6 +40,7 @@ def main():
"io.numaproj.numaflow.v1alpha1.RateLimiterInMemoryStore",
"io.numaproj.numaflow.v1alpha1.RateLimiterRelaxed",
"io.numaproj.numaflow.v1alpha1.RateLimiterScheduled",
+ "io.numaproj.numaflow.v1alpha1.AtLeastOnce",
]:
defs[k]["allOf"] = []
diff --git a/rust/numaflow-models/src/models/at_least_once.rs b/rust/numaflow-models/src/models/at_least_once.rs
new file mode 100644
index 0000000000..b4649c5ad2
--- /dev/null
+++ b/rust/numaflow-models/src/models/at_least_once.rs
@@ -0,0 +1,29 @@
+/*
+Copyright 2022 The Numaproj Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by Openapi Generator. DO NOT EDIT.
+
+/// AtLeastOnce : AtLeastOnce is the at-least-once delivery settings (default behavior).
+
+#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
+pub struct AtLeastOnce {}
+
+impl AtLeastOnce {
+ /// AtLeastOnce is the at-least-once delivery settings (default behavior).
+ pub fn new() -> AtLeastOnce {
+ AtLeastOnce {}
+ }
+}
diff --git a/rust/numaflow-models/src/models/delivery.rs b/rust/numaflow-models/src/models/delivery.rs
new file mode 100644
index 0000000000..84a308bae8
--- /dev/null
+++ b/rust/numaflow-models/src/models/delivery.rs
@@ -0,0 +1,37 @@
+/*
+Copyright 2022 The Numaproj Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by Openapi Generator. DO NOT EDIT.
+
+/// Delivery : Delivery is the delivery semantics for the pipeline.
+
+#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
+pub struct Delivery {
+ #[serde(rename = "atLeastOnce", skip_serializing_if = "Option::is_none")]
+ pub at_least_once: Option>,
+ #[serde(rename = "exactlyOnce", skip_serializing_if = "Option::is_none")]
+ pub exactly_once: Option>,
+}
+
+impl Delivery {
+ /// Delivery is the delivery semantics for the pipeline.
+ pub fn new() -> Delivery {
+ Delivery {
+ at_least_once: None,
+ exactly_once: None,
+ }
+ }
+}
diff --git a/rust/numaflow-models/src/models/exactly_once.rs b/rust/numaflow-models/src/models/exactly_once.rs
new file mode 100644
index 0000000000..03ee5b818b
--- /dev/null
+++ b/rust/numaflow-models/src/models/exactly_once.rs
@@ -0,0 +1,38 @@
+/*
+Copyright 2022 The Numaproj Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by Openapi Generator. DO NOT EDIT.
+
+/// ExactlyOnce : ExactlyOnce is the exactly-once delivery settings.
+
+#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
+pub struct ExactlyOnce {
+ /// ConsistentAck enables consistent acknowledgement of offsets to ISB throughout the pipeline.
+ #[serde(rename = "consistentAck", skip_serializing_if = "Option::is_none")]
+ pub consistent_ack: Option,
+ #[serde(rename = "dedupWindow", skip_serializing_if = "Option::is_none")]
+ pub dedup_window: Option,
+}
+
+impl ExactlyOnce {
+ /// ExactlyOnce is the exactly-once delivery settings.
+ pub fn new() -> ExactlyOnce {
+ ExactlyOnce {
+ consistent_ack: None,
+ dedup_window: None,
+ }
+ }
+}
diff --git a/rust/numaflow-models/src/models/mod.rs b/rust/numaflow-models/src/models/mod.rs
index 1a85098ae7..a9047a3bf7 100644
--- a/rust/numaflow-models/src/models/mod.rs
+++ b/rust/numaflow-models/src/models/mod.rs
@@ -6,6 +6,8 @@ pub mod abstract_vertex;
pub use self::abstract_vertex::AbstractVertex;
pub mod accumulator_window;
pub use self::accumulator_window::AccumulatorWindow;
+pub mod at_least_once;
+pub use self::at_least_once::AtLeastOnce;
pub mod authorization;
pub use self::authorization::Authorization;
pub mod aws_assume_role;
@@ -30,8 +32,12 @@ pub mod container_template;
pub use self::container_template::ContainerTemplate;
pub mod daemon_template;
pub use self::daemon_template::DaemonTemplate;
+pub mod delivery;
+pub use self::delivery::Delivery;
pub mod edge;
pub use self::edge::Edge;
+pub mod exactly_once;
+pub use self::exactly_once::ExactlyOnce;
pub mod fixed_window;
pub use self::fixed_window::FixedWindow;
pub mod forward_conditions;
diff --git a/rust/numaflow-models/src/models/pipeline_spec.rs b/rust/numaflow-models/src/models/pipeline_spec.rs
index 352972a64b..0fa77577d6 100644
--- a/rust/numaflow-models/src/models/pipeline_spec.rs
+++ b/rust/numaflow-models/src/models/pipeline_spec.rs
@@ -18,6 +18,8 @@ limitations under the License.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PipelineSpec {
+ #[serde(rename = "delivery", skip_serializing_if = "Option::is_none")]
+ pub delivery: Option>,
/// Edges define the relationships between vertices
#[serde(rename = "edges", skip_serializing_if = "Option::is_none")]
pub edges: Option>,
@@ -47,6 +49,7 @@ pub struct PipelineSpec {
impl PipelineSpec {
pub fn new() -> PipelineSpec {
PipelineSpec {
+ delivery: None,
edges: None,
inter_step_buffer: None,
inter_step_buffer_service_name: None,
diff --git a/rust/numaflow-models/src/models/vertex_spec.rs b/rust/numaflow-models/src/models/vertex_spec.rs
index 55efcd8af3..e8e505a0e7 100644
--- a/rust/numaflow-models/src/models/vertex_spec.rs
+++ b/rust/numaflow-models/src/models/vertex_spec.rs
@@ -28,6 +28,8 @@ pub struct VertexSpec {
pub automount_service_account_token: Option,
#[serde(rename = "containerTemplate", skip_serializing_if = "Option::is_none")]
pub container_template: Option>,
+ #[serde(rename = "delivery", skip_serializing_if = "Option::is_none")]
+ pub delivery: Option>,
#[serde(rename = "dnsConfig", skip_serializing_if = "Option::is_none")]
pub dns_config: Option,
/// Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.
@@ -126,6 +128,7 @@ impl VertexSpec {
affinity: None,
automount_service_account_token: None,
container_template: None,
+ delivery: None,
dns_config: None,
dns_policy: None,
from_edges: None,